THE LINUX FOUNDATION PROJECTS

FOCUS Working Group / Release 1.5

What’s coming in FOCUS 1.5, and what’s still open

Where the FOCUS 1.5 release stands across the whole specification. Work already merged into the working draft ships in December. Work in review is expected once it clears Member review. Work that has started but is not yet certain is listed on its own, with what would settle it. Cards are sorted by how close the work is to shipping.

What 1.5 delivers, and what is still open

What 1.5 delivers

Merged into the working draft, or in review with a pull request moving through the release gates.

  • A published price catalog. A SKU Price dataset so rates can be compared across providers and estimated for things not yet bought, rather than reconstructed after the invoice. In review. #1057
  • AI cost becomes legible. Model identity is merged: which model was billed and who built it. Cached versus fresh token pricing and worked examples for token and generation billing are in review. #2018, #2099, #1941
  • Spend can name who drove it. A Principal ID column is merged; Requester Details and Credential ID are in Member review. A charge can be attributed to a person, service, or agent. #2358
  • Clearer pricing and allocation rules. Tighter list and contracted cost definitions, split cost allocation guidance with a column naming the receiving service, tag keys preserved as written, a Service Category that no longer assumes cloud, and a rubric for which columns are Mandatory or Conditional. #2492, #2315, #2325, #2377, #2335
  • Groundwork that keeps the spec verifiable. Column-presence conditions written into the spec, the 1.3-to-1.4 migration guide, and the Requirements Model kept current with 1.5.

Started, not yet certain

Real work with an open question over whether it lands in 1.5 or the next release.

  • A Recommendations dataset. Work has started on a normalized shape for the rightsizing, modernization, and commitment recommendations providers and tools emit today. Whether it ships in 1.5 is decided in the next two weeks. If you produce or consume recommendations, the draft is open for your input now. #975
  • Region scope on SKU price details. A property telling globally served pricing from region-pinned pricing. TF-2 sent it to the Open Forum of 18 September; it moves to 1.6 if it is not settled there. #2414

Both are listed because the work is real and input now shapes it, not because either is expected. Details and where to weigh in are in bucket 3.

Everything on this page assumes the work clears Task Force and Member review before the 3 December ratification. The review gates are on the timeline below; they are the working group’s own deadlines, not commitments to anyone outside it.

If you use FOCUS data today: nothing here changes published 1.4 data before December. The new columns (Principal ID, Credential ID, Requester Details, Allocated Service Name) and the SKU Price dataset are additions, and existing column names are unchanged. Two places where values can shift: the list and contracted cost definitions in review, if you compute effective savings rate, and the Compute subcategories, where bare metal now classifies apart from virtual machines. The 1.5 changelog will classify every change’s compatibility during the October consistency review.

Terms used here

Working draft
The live version of the specification between releases. Merged work sits there until 1.5 publishes in December.
Feature request (FR)
A proposal filed in the FOCUS repository for a change to the specification. The numbers on this page are GitHub issue and pull request numbers.
Supported feature
A documented use case in the specification, with the columns it depends on and example queries that show the data answering it.
Open Forum
The working group’s open session, held on Fridays, where any contributor can bring a topic for discussion.
Task Force review
The first review gate. The Task Force that owns a pull request reviews it; one approval on its latest commit lets it start Member review.
Member review
The second gate, where the full working group membership reviews a pull request after its Task Force has approved it. Member approval is what merges it into the working draft.
Operating model condition
A documented fact about how a data generator operates, such as whether it publishes unit prices, that decides whether a Conditional column or dataset must be present.
SKU
The specific thing being bought, at the granularity the provider prices it. A given model at a given rate is a SKU.
Feature Level
How strongly the spec requires a given column for a given dataset, from mandatory through recommended to optional.
Task Force
The subteam that owns an item. TF-1 covers pricing and the SKU Price dataset, TF-2 covers AI and allocation, TF-RM covers the Requirements Model, and F2 is the FinOps Foundation.
Token
The unit AI models bill on, roughly a fragment of a word. Input and output tokens are usually priced differently.

Release timeline

17 Sep
FOCUS 1.4
Published
current release
Start TF review
Sep 10
passed
Member approval
Oct 8
PRs approved
Consistency review
Oct 29
then IP rights review
Ratified
Dec 3
WG and SC vote
Announced
Dec
Virtual Summit

FOCUS 1.4 is the current published version. The 1.5 working draft is in its review gates now: pull requests had to start Task Force review by 10 September, must start Member review by 24 September, and must complete Member approval by 8 October. A three-week consistency review follows, then a 30-day intellectual property review. The working group approves and the Steering Committee ratifies on 3 December, and the public announcement is planned for the December Virtual Summit, with the publication date confirmed in December.

Every item in scope

How to read the buckets. They are sorted by release confidence, not by importance. An item in bucket 3 may matter more to FinOps Practitioners than one in bucket 1; it simply has less certainty of shipping in this release.

No items match that filter.

1. In the working draft

Merged. These ship in 1.5 unless something is pulled during the consistency review, which is rare.

MergedFR 2018Detail +Detail −

Cost data can now say which model was billed and who built it.

group TF-2

What it adds

Four FOCUS-defined properties on SkuPriceDetails: ModelDeveloper, ModelFamily, ModelId, and ModelVersion. No new columns, and no change to the existing SkuPriceDetails requirements, so it is additive for every data generator. A worked appendix example ships alongside it, including the case practitioners get wrong today: a model resold by a cloud provider, where the service provider and the model developer are different companies. The cached-token properties in review (FR 2099) sit beside these, and the SKU Price dataset in review carries the same properties.

Why it matters

This is the piece that makes multi-provider AI spend comparable. Without it, an organization can say what it spent on models last quarter but cannot break that down by model without provider-specific parsing.

MergedFR 2358Detail +Detail −

Cost rows can identify the principal that drove the spend.

group TF-2

What it adds

A PrincipalId column on Cost and Usage, identifying the principal: the user, service account, or other entity in an identity and access management model that was granted access to the resource or service. It preserves a principal-level audit trail across PaaS, SaaS, and generative AI billing. Merged on 10 September. The actor columns are delivered incrementally: Requester Details and Credential ID follow in Member review (bucket 2). A Consumer ID column (PR 2495) is postponed and not part of 1.5.

Why it belongs in the AI story

As spend shifts from provisioned infrastructure to per-call model invocations, the question changes from “which account owns this instance” to “which developer, team, or autonomous agent burned these tokens.” This is what makes that answerable inside billing data rather than by joining to observability.

MergedFR 2315Detail +Detail −

Clearer guidance for splitting shared cost, with a column naming the receiving service.

group TF-2

What it adds

A new AllocatedServiceName column naming the service a split charge is allocated to, updated split cost allocation supported features, and a field mapping for data generators. All three parts merged between 12 and 27 August. One refinement of the column’s normative requirements (PR 2655) is approved and finishing Task Force review; it settles what the column carries on the unallocated-portion row when one origin charge splits across more than one service.

Why it matters

Shared platform and container costs have to be divided among the teams that used them. Without consistent allocation guidance, two providers split the same shared cost differently and the numbers stop reconciling.

MergedFR 2377Detail +Detail −

Service Category descriptions that no longer assume everything is cloud.

group TF-1

What it adds

The ServiceCategory descriptions rewritten to be technology-agnostic (merged in July), then the Compute category revised to acknowledge physical compute and the Virtual Machines subcategory split into Bare Metal and Virtual Machines (merged 10 September). The feature request closed as complete on 17 September. A broader expansion of the allowed values for on-premises, SaaS, and physical infrastructure (PR 2518) remains a draft and is not part of 1.5.

Why it matters

Service category is the first cut most analyses make. A taxonomy that assumes everything is cloud misclassifies the growing share of spend that arrives from vendors who are not cloud providers.

MergedFR 1676Detail +Detail −

The rules for when a column must appear now live in the spec itself.

group TF-RM

What it adds

Column-presence applicability criteria written directly into the specification, rather than only in the downstream Requirements Model. Follow-through merged in September: the criteria are now called operating model conditions, every Conditional column’s Content Constraints table names the condition that governs it, and the dataset overview tables use one convention for columns whose presence depends on more than one condition, which closed FR 2441.

Why it matters

When the rule for whether a column is required lives only in tooling, the spec and the validator can drift. Putting the criteria in the spec makes them authoritative and discoverable in the one place implementers already read.

MergedFR 2325Detail +Detail −

User-defined tag keys are preserved as written in the Tags column.

group TF-2

What it adds

Restores the requirement that a user-defined tag key is carried into the Tags column unchanged, as the customer set it, without provider-side normalization that would silently rename it.

Why it matters

Tag keys are how organizations attribute spend to teams and cost centers. If a provider rewrites the key, the customer’s allocation queries stop matching their own taxonomy.

MergedFR 1597Detail +Detail −

A documented path from FOCUS 1.3 to 1.4 for anyone upgrading.

group TF-1

What it adds

A migration guide covering the breaking changes between 1.3 and 1.4, the order in which to apply them, and phasing guidance for data generators who cannot move everything at once.

Why it matters

Version migration is where adoption stalls. A generator that cannot see, in one place, what changed and in what order tends to defer the upgrade. This removes that reason to wait.

Merged in partFR 2237Detail +Detail −

The contributor guidelines refactored for consistency.

group TF-RM

What it adds

A unified markdown style and clarified rules across the guidelines directory (merged in June), and the refactored normative requirements guidelines (merged in August), replacing rules that had drifted apart over successive releases. A restructuring of the repository’s instructions for AI coding assistants (PR 2652) is still in review and a related pull request (PR 2514) is moving to 1.6; neither changes the specification text.

Why it matters

Inconsistent guidelines produce inconsistent contributions, and lately hallucinated rules from AI coding assistants working off contradictory source. A single coherent set reduces both.

MergedFR 2363Detail +Detail −

A wider set of recommended unit formats, so quantities read consistently.

group TF-2

What it adds

Expands the list of recommended UnitFormat values, giving data generators a common vocabulary for how quantities and units are expressed.

Why it matters

When two providers describe the same unit differently, practitioners normalize by hand. A shared recommended set narrows that variance without forcing a hard requirement.

MergedSmaller fixesDetail +Detail −

Smaller corrections and build improvements already in the working draft.

None of these is a feature a reader would evaluate on its own, but each is in 1.5:

  • A duplicative cost-formula requirement removed from PricingQuantity(FR 2130, PR 2579).
  • The duration format bullet in ContractCommitmentDurationType split so the compound rule reads as two (PR 2549).
  • Feature Level value lists completed in the overview and guidelines (PR 2506, merged 17 September).
  • Spec components and anchor links validated during the build, and the PDF build now delineates blockquotes (PR 2510, PR 2534).
  • Requirements Model housekeeping: the 1.5 model’s folder structure and condition entity, a circular dependency corrected in the 1.2 through 1.5 models, and the 1.4 fixes backported to 1.3 and 1.2 (PR 2462, PR 2472, PR 2609, PR 2622).
  • ModelMesh added to the fictitious data generator reference used by examples (PR 2594).

2. In review

Open pull requests in Task Force or Member review. Expected in 1.5, and each card says what is left, including whether the approvals sit on the current commit. The next gate is 24 September, when a pull request needs one approval on its latest commit to start Member review.

Task Force reviewFR 1057Detail +Detail −

A published price catalog, carried independently of what was consumed.

group TF-1

The problem it answers

Today a rate can only be reconstructed after an invoice arrives. There is no standard way to publish what a SKU costs before anyone buys it, or to compare that rate across providers.

What it adds

A new SKU Price dataset that carries prices on their own. It is what lets an organization estimate the cost of something it has not consumed yet, and compare model or service rates across vendors before committing spend. The model-identity properties already merged describe a SKU price, so this is the dataset they were built for.

Where it stands

Two decisions landed in September. The dataset is Conditional, gated on IncludesUnitPricing, the same operating model condition as the four Cost and Usage columns that point into it (SkuId, SkuMeter, SkuPriceId, SkuPriceDetails), settled on 15 September. And the two unit price columns collapse into one, so a list price and a contracted price each get their own row, confirmed by TF-1 the same day. That reshape is being applied now; because it changes structure, the pull request needs fresh approval on the new head before it can start Member review. Three companion pull requests move with it: the two SKU Price supported features, catalog discovery and price estimation and rate optimization and contract evaluation (PR 2595, approved); reconciled identifiers in the commitment discount example data (PR 2640, approved and moving to Member review); and the consumption currency scoping of CurrencyFormat (PR 2617, one change request outstanding).

Why it is the headline

This is the largest single piece of 1.5 and the difference between reporting on cost and negotiating it.

Member reviewFR 2358Detail +Detail −

Requester Details and Credential ID complete the actor columns.

group TF-2

What it adds

Two more Cost and Usage columns beside the merged PrincipalId: CredentialId, identifying the credential used to make the request, and RequesterDetails, a JSON array of key-value entries carrying the principal and credential detail a provider can supply. An entry names a principal only when PrincipalId is populated, and a credential only when CredentialId is. Approved by four reviewers, two of them on the current commit, and in Member review since 17 September.

What is not in it

A Consumer ID column (PR 2495) is postponed and not part of 1.5. Scoped detail configuration, which would let practitioners choose how much actor detail a dataset carries, moved to 1.6 on 16 September (bucket 4). The wider JsonObjectFormat change that arrays call for becomes a 1.6 feature request (Action Item 2700).

Member reviewFR 2099Detail +Detail −

Separate tokens served from cache from tokens processed fresh.

group TF-2

The problem it answers

Cached and uncached tokens can differ in price by an order of magnitude at the same provider. Without the distinction, a rise in token cost cannot be separated from a fall in cache hit rate, so the single most actionable AI optimization lever is invisible in cost data.

What it adds

Two FOCUS-defined properties on SkuPriceDetails, each with allowed values: TokenCacheAction, how a request’s tokens interacted with the cache, and TokenDirection, request or response tokens. They replace the single TokenType property drafted earlier, and worked examples and example queries ship with them. It moved to Member review on 17 September, with an approval on its current commit and two on earlier ones.

What is left

The two property descriptions are being rewritten, and whether “Uncached” becomes “None” is open. A cache cost efficiency query drafted for the Cost Comparison supported feature came out before Member review, to return once the SKU Price dataset and these properties have been tested together.

Task Force reviewFR 1941Detail +Detail −

Worked examples for mapping AI billing into FOCUS.

group TF-2

The problem it answers

The gap is not the schema. FOCUS already has the columns to carry token consumption. The gap is that practitioners cannot tell how those columns apply to AI billing, so every provider gets normalized differently.

“every single one has a different data format”

Becky Canterbury, Shutterstock, on working with 20-plus AI vendors

What it delivers

Non-normative worked examples with backing datasets, scoped to already-defined FOCUS columns, plus a supported feature. The scenarios cover per-token API billing, the prepayment drawdown pattern where capacity is bought up front and drawn down over time, a first-party model served by a cloud provider, and a multi-model marketplace invoice. Requested by NatWest, SLB, UK Government Digital Service, Shutterstock, Syngenta, Anglepoint, AWS, and the FinOps Foundation.

Where it stands

TF-2 confirmed on 16 September that it stays in 1.5. Dave Moreau and Graham Murphy joined the author on it, and the work is due to finish over the following three weeks. Six findings posted in that session on the newest scenarios are being fixed, and the examples may keep improving during Member review as long as the data shape holds.

Toward Member reviewFR 2492Detail +Detail −

Tighter specifications for list and contracted pricing columns.

group TF-1

What it adds

Revised definitions for ListCost, ListUnitPrice, ContractedCost, and ContractedUnitPrice that decouple the cost definitions from unit price, formalize tiering and contracted defaults, and align aggregation guidance with covering and covered charge terminology. The IncludesUnitPricing condition stays in 1.5, decided by the Maintainers on 14 September; the version retaining it merged into this branch on 17 September, which left its four approvals on earlier commits, so it needs a fresh one on the new head to enter Member review. Removing the condition is a 1.6 feature request.

Why it matters

These columns feed effective savings rate and rate-optimization analysis. When their definitions leave room for interpretation, two conformant datasets can report different savings for the same purchase.

Task Force reviewFR 2335Detail +Detail −

A rubric for which columns are Mandatory or Conditional, so feature levels hold up globally.

group TF-1

What it adds

A feature-level rubric for Mandatory and Conditional columns, so the requirements hold up across regions and billing models rather than reflecting a narrower set of providers. Three approvals on earlier commits; the latest push, from 10 September, is awaiting re-approval. The completed Feature Level value lists that accompany it merged on 17 September.

Not assured

The column-level changes that would apply the rubric have been parked since May and now conflict with the base: upgrading three Cost and Usage columns, downgrading eight, and adding Data Originator Name and Data Provider Name (PR 2375, PR 2374, PR 2430). Treat those as open, not expected.

Why it matters

Feature levels are what a conformance claim is measured against. If they encode assumptions that do not hold globally, providers outside those assumptions cannot conform without distorting their data.

Task Force reviewFR 1974Detail +Detail −

Spec examples checked against the FOCUS Validator, starting with the flexibility examples.

group TF-2

What it adds

An adjusted validation path so the flexibility example datasets can be run through the Validator, with a validation script and a contributor guideline. Approved by one reviewer and mergeable; the owner is answering five open review threads, one of them about columns the specification no longer defines, before the 24 September gate. Two sibling pull requests, SaaS validation and the commitment discount scenario datasets, are out of the 1.5 cycle.

Why it matters

Examples that fail the validator teach implementers the wrong thing. Examples that pass become reference implementations rather than sources of validation friction.

Task Force reviewPR 2600Detail +Detail −

One canonical way to write a contract commitment duration.

group TF-1

What it adds

Requires ContractCommitmentDurationType to be expressed in the largest whole unit that fits, so the same term is not written several ways across providers. Targeted at 1.5 by TF-1 on 15 September; the author is closing the remaining review threads.

In progressEnablementDetail +Detail −

The Requirements Model and release enablement that carries 1.5.

groups TF-RM, F2, Members

What it covers

The behind-the-scenes workstreams that a specification release depends on, grouped here because none is a spec change a reader would evaluate on its own:

  • Requirements Model updates so the machine-readable validation rules stay current with 1.5 normative changes (FR 1935). The 1.5 model’s structure is merged, and an automated extraction workflow that pulls the rules from the specification in GitHub Actions is in review, with its approvals on earlier commits (PR 2670). The 1.5 rule additions follow the spec pull requests they describe.
  • Enablement artifacts for the 1.2 and 1.3 models, at Member review (FR 1627, FR 1911).
  • FOCUS enablement artifacts and the Sandbox, refreshed for the 1.5 cycle so implementers have current reference material (FR 1685, FR 1687, FR 2445).
  • Editorial and procedural cadence, the release’s own process tracking (items 2180, 2238, 2370).

Why it matters

Validation tooling and enablement material are how a normative change reaches practitioners as something usable rather than as prose. If they lag the spec, conformance testing tests the wrong version.

3. Started, not yet certain

Work has begun on these, and whether they land in 1.5 is still open. Input now shapes what eventually ships.

Decision by 24 SepFR 975Detail +Detail −

A standard shape for optimization recommendations across providers.

group TF-2

The problem it answers

Every provider emits rightsizing, modernization, and commitment-purchase recommendations in its own format. A practitioner consuming them from more than one cloud has no common structure to build against.

What has started

A draft Recommendation dataset (PR 2444), opened in June as a wireframe for the group to react to, and a draft supported feature (PR 2583). Since then the working group has put roughly a hundred review threads into it, renamed the provider column to RecommendationProviderName, and proposed FOCUS-defined properties for RecommendationDetails. The design question underneath is which columns a first release needs and which are additions.

Where it stands

Not decided. On 16 September TF-2 set the test: the pull request starts Member review in 1.5 only if it is a clean pull request with an approval by the following week; otherwise it moves to 1.6. The author is trimming it to a smaller scope the group will not dispute, with the contested right-sizing configuration columns proposed as 1.6 targets. The position recorded from the 16 September session: the dataset is a question of when, not if.

Input wanted

If you produce recommendations, as a cloud provider, a FinOps platform, or an optimization tool, or consume them from more than one source, the draft is open for review now. Two questions on the pull request shape the first release: which recommendation types it needs to carry, and which identifiers link a recommendation back to the resource, SKU, or commitment it targets.

Open Forum 18 SepFR 2414Detail +Detail −

Distinguish globally served models from region-pinned ones.

group TF-2

The problem it answers

Global and regional serving carry different rates and different data residency characteristics. This is one of the few AI cost dimensions that is simultaneously a finance question and a compliance question, which makes it awkward to leave undeclared in billing data.

Where it stands

A SkuPriceDetails property carrying the pricing region scope. PR 2613 introduces it as ServingScope and holds two approvals; PR 2667, stacked on it, renames it to RegionScope, the name the working group’s research recommended, adopted on 17 September. TF-2 sent the property to the Open Forum of 18 September; if it is not sufficiently complete after that, it moves to 1.6. Consistency with the SKU Price columns being introduced is the other check.

4. Not in 1.5

Three groups live here. Work moved to the next cycle by a decision made during this one. Work ruled out or deferred on the merits, with reasons on the record. And prioritized candidates that never entered the 1.5 window, which fall out on timing alone.

Moved to 1.6 during the cycle

1.6Detail +Detail −

Decisions made in September that push work to the next release.

  • Scoped detail configuration, an extension of the Dataset Configuration attribute letting practitioners select optional, higher-cardinality detail for documented areas of a dataset. Moved to 1.6 by TF-2 on 16 September; a simplified draft will be reposted for that cycle (PR 2473, under FR 2358).
  • Removing the IncludesUnitPricing condition. The SKU Price dataset and the four Cost and Usage columns that reference it stay gated on it in 1.5; a 1.6 feature request carries the analysis. Decided by the Maintainers on 14 September (AI 2691).
  • Tiered pricing glossary terms, deferred by TF-1 on 15 September so quantity-based and spend-based tiering can be scoped together (PR 2564).
  • JsonObjectFormat support for arrays beyond what Requester Details needs: the attribute name, key uniqueness for array entries, and nesting rules become a 1.6 feature request (TF-2, 16 September).
  • SaaS validation and the commitment discount scenario datasets, out of the cycle per the Maintainers on 14 September (PR 2661, PR 2662).
  • Broader Service Category allowed values for on-premises, SaaS, and physical infrastructure, which stays in draft (PR 2518).

Ruled out or deferred on the merits

ClosedFR 1835Detail +Detail −

Clarifying included vs. excluded discounts in contracted cost.

Closed as not planned. The intent, resolving a known divergence in which discounts are reflected in contracted cost, is partly picked up by the list and contracted pricing revisit now in Member review (FR 2492), which is a cleaner home for it.

AI backlogDetail +Detail −

Four AI price-detail requests filed but not carried into 1.5.

These are filed and understood, but were not taken up as 1.5 work, so they sit in the backlog. Each is a plausible 1.6 item.

  • Reasoning tokens, billed but never returned in the response, which leave finance teams with output counts that do not match the invoice (FR 2487).
  • Context-cache storage, the standing charge for keeping a cache warm, which behaves like a storage cost rather than a usage cost (FR 2488).
  • Input modality, distinguishing text, image, audio, and video inputs, which are priced on different units and rates (FR 2489).
  • Inference tier, distinguishing priority, standard, and batch processing, which commonly differ by half or more (FR 2437).
Out of scopeDetail +Detail −

Observability-side identifiers, and token type as a first-class column.

from the AI model-identity work, TF-2

A few finer-grained ideas were considered alongside model identity and set aside:

  • Tool or harness identity and session or event identifiers are observability-side join signals with no FOCUS-defined home. Inventing a place for them would put the spec in the business of describing application telemetry. Tool identity is the one most likely to return, as agentic tooling is where attribution questions are heading.
  • Token type (input vs. output) as a first-class column was deferred. The split has since returned in the cached-token work in review, as the TokenDirection defined property on SkuPriceDetails rather than as a column.

Candidates that did not enter the 1.5 window

Prioritized feature requests that were available for a contributor to take up in 1.5 and did not get a pull request before the window closed. They carry into 1.6 scoping on timing, not merit, and are the natural starting point for it. Grouped by theme.

1.6 candidatesDetail +Detail −

AI pricing dimensions.

  • Represent committed AI capacity the way other commitment discounts are. Provisioned throughput is a commitment purchase, structurally similar to a reserved instance or savings plan; the open question is whether it maps onto the existing commitment discount model cleanly (FR 2371).
  • Distinguish model costs that vary by context window size. Several providers price the same model differently above a context-length threshold, and the rate change is invisible in cost data today (FR 2521).
  • Add deeper AI service subcategories, including Agentic AI. Extends the AI and Machine Learning subcategories so AI spend can be analyzed in layers, and renames “Bots” to “Agentic AI” (FR 1943).
1.6 candidatesDetail +Detail −

New datasets and extensions.

  • A SKU Properties dataset for normalized attributes such as vCPU, memory, and region across providers, without parsing provider-specific JSON (FR 1045).
  • Contract Commitment dataset, phase 2. The remaining columns deferred from 1.4, covering balance tracking, commitment intervals, and true-up status (FR 1938).
  • Invoice detail enhancements for reconciliation: payment lifecycle tracking and additional invoice detail deferred from 1.4 (FR 1936).
  • A companion Utilization dataset for decomposing usage against cost, filed in August with no Task Force home yet (FR 2654).
1.6 candidatesDetail +Detail −

Pricing and discount clarity.

  • Allow ListCost to be null for negotiated-only pricing, so “call us” pricing does not emit a misleading zero (FR 1523).
  • Defaulting rules for list cost and list unit price when a generator does not publish prices exclusive of discounts (FR 1832).
  • Tier handling in list unit price, removing the savings inflation that occurs when providers default to the highest tier (FR 1625).
  • Pricing categories for SaaS contractual commitments such as annual spend and term agreements (FR 1933).
  • A Charge Subcategory to split usage types and credit types within a single ChargeCategory(FR 1934).
  • Payment currency support for reconciling against payments in a local currency (FR 1997).
  • Normative requirements for what content belongs in each column, beyond type, presence, and null handling (FR 1890).
1.6 candidatesDetail +Detail −

Classification and defaults.

  • Service-model classification, IaaS / PaaS / SaaS. A normalized column for segmenting spend by delivery model across providers (FR 959).
  • Default behavior for null name columns, so querying by resource or account name behaves predictably instead of varying by source (FR 1039).
1.6 candidatesDetail +Detail −

Worked examples and spec quality.

  • Line-item examples for adjustment scenarios: discounts, credits, refunds, and true-ups as complete FOCUS rows (FR 1489).
  • Pricing unit conversion examples for when the consumed unit differs from the pricing unit (FR 1490).
  • Automated internal link validation in CI, partly covered already by the build-time validation merged in July (FR 2012).

How to read this page

Scope is broader than this page. A number of smaller editorial and build fixes have also merged; the most visible are grouped in one card in bucket 1. This page tracks the release story, not the full changelog.

A terminology note. Inside the FOCUS repository, an issue prefixed “AI” is an Action Item, a unit of working-group work, and has nothing to do with artificial intelligence. Bare issue numbers on this page are feature requests unless labeled otherwise.

Sources. This page is drawn from the FOCUS working group’s public records: the v1.5 board, the v1.5 milestone, merged commits on the working draft, and the 1.5 release plan. Those are the live sources; follow them for day-to-day movement. Status here is as of 17 September 2026 and supersedes the 18 August edition. Nothing here is a commitment on behalf of the working group.v1.5 boardv1.5 milestone1.5 release plan