Skip to content

Costs() column reference has drifted from the deployed schema since hubs v12 #2329

Description

🐛 Problem

The Costs() table in src/queries/finops-hub-database-guide.md has drifted from the deployed schema. The guide is read by the GenAI plugins and agents that build queries against a hub, so a column that is absent from the table is effectively a column the agent will not use, and a name the table still lists is one the agent will write into a query that then fails.

Checked against two unrelated hubs, which both return 155 columns from Costs():

  • 27 columns the table does not list at all — including the FOCUS 1.2 additions ServiceSubcategory, SkuMeter, SkuPriceDetails, CapacityReservationId, CapacityReservationStatus, CommitmentDiscountQuantity, CommitmentDiscountUnit, PricingCurrency and InvoiceId.
  • 3 columns listed under names that hubs v12 renamed away from — x_InvoiceId, x_PricingCurrency, x_SkuMeterName. Neither hub has them; both have the new names.
  • 1 type mismatch — x_SkuLicenseQuantity is documented as long; the deployed schema has int. (docs-mslearn/toolkit/hubs/data-model.md says String for the same column, so that file needs a look too.)

The renames are the ones announced in announce/2025/2025-08_non-breaking-changes-in-hubs-12.md:

Renamed x_InvoiceId       -> InvoiceId
Renamed x_PricingCurrency -> PricingCurrency
Renamed x_SkuMeterName    -> SkuMeter
Added   ServiceSubcategory
Added   SkuPriceDetails

So this is v12 drift rather than a disagreement about what the schema should be.

👣 Repro steps

Costs() | getschema | project ColumnName, ColumnType | order by ColumnName asc

Compare the result with the Costs() table in the guide.

🤔 Expected

The table reference matches what Costs() returns. Its own introduction says it "lists the columns produced in the All available columns query", and that query is Costs() plus a set of extend steps, so every Costs() column belongs in it.

🔧 Environment

  • Affected file: src/queries/finops-hub-database-guide.md on dev
  • FinOps hub version: v12 and later

ℹ️ Additional context

Descriptions for the missing columns already exist elsewhere in this repo — docs-mslearn/toolkit/help/data-dictionary.md for the FOCUS columns, and the Copilot Studio template's schema reference for the x_ ones — so filling the gaps needs no new definitions.

Two of them intersect existing issues and are worth a closer look during review: x_CommitmentDiscountSpendEligibility and x_CommitmentDiscountUsageEligibility, see #2279 and #2287.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions