Skip to content

fix: surface auto-picked warehouse in finops_* tool output #840

@anandgupta42

Description

@anandgupta42

Summary: finops_* tools auto-pick a warehouse when warehouse= is omitted (v0.7.3, #828) but the result output gives no indication that an auto-pick happened. On a host with prod_wh + dev_wh configured, calling finops_analyze_credits without warehouse= silently queries prod-load-order — the user has no signal which one they just hit.

What's missing:

  • The resolver returns autoPicked: true in its tagged-union result (warehouse-resolver.ts:118).
  • That signal does NOT flow through the 6 native handler results into the 6 tool wrapper outputs.

Recommended fix:

  1. Add matched_warehouse?: string + auto_picked?: boolean to result types in altimate/native/types.ts for all 6 finops result types.
  2. Plumb the resolver's autoPicked flag through each handler at the assignment site.
  3. In each tool wrapper formatter, prefix output with Auto-selected warehouse: <name> (pass warehouse= to override) when auto_picked === true.

Acceptance:

  • Both metadata.matched_warehouse and metadata.auto_picked surface in tool result metadata.
  • Output prefix appears only when auto-picked, not when explicitly requested.
  • All 6 tools: finops_analyze_credits, finops_expensive_queries, finops_query_history, finops_role_*, finops_unused_resources, finops_warehouse_advice.

Origin: Deferred from v0.7.3 release review (End User persona, P1).

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions