Skip to content
THE LINUX FOUNDATION PROJECTS

FOCUS Working Group / Release 1.5

What 1.5 does for AI cost, and what it does not

Every AI-related item in the FOCUS 1.5 release, sorted by how likely it is to ship. Buckets 1 and 2 are the release story. Bucket 3 is decided on August 13. Bucket 4 is the answer to "why isn't X in there."

What we expect to land

Already merged, or owned and scheduled with a named person against it.

  • Cost data names the model. Which model ran, who built it, and which version, recorded the same way regardless of which vendor sent the bill. Merged
  • Worked examples for AI billing. Published, downloadable examples showing how to turn a token or generation bill from any AI vendor into FOCUS, including capacity bought up front and drawn down over time.
  • Cost rows name who spent it. The person, service, or automated agent behind a charge, so AI spend can be attributed to a team rather than landing in one pool.
  • Prices become comparable before purchase. A published price catalog, so model rates can be compared across vendors ahead of a commitment rather than reconstructed after the invoice.
  • Prepaid tokens and credits are handled consistently. Bundles and platform credits stop falling out of cost reporting or double counting against the cash that bought them.
  • A FinOps Foundation paper on FOCUS for AI. The narrative case, written for people who will not read column definitions.

Within reach, decided 13 August

Two lower-effort items that attach to the same structure the merged model-identity work already uses, so they extend a shipped pattern rather than introducing new plumbing.

  • Cache economics become visible. Tokens served from cache separate from tokens processed fresh, so a rising bill from a falling cache hit rate is distinguishable from one driven by more traffic.
  • Global and region-pinned serving separate. The one AI cost dimension that is a rate question and a data residency question at the same time.

Detail in bucket 3: FR 2099 and FR 2414. The remaining eight items in bucket 3 are larger pieces of work and are likelier to move to 1.6.

Both columns assume the work clears the review stages below. The left column is the release story as it stands today. The right column is a decision, not a forecast, and it resolves on 13 August.

Terms used here

Token
The unit AI models bill on, roughly a fragment of a word. Input tokens are what you send the model, output tokens are what it sends back, and they are usually priced differently.
SKU
The specific thing being bought, at the granularity the vendor prices it. A given model at a given rate is a SKU.
SKU price detail
A set of attributes describing what a priced item actually is. Model name, family, and version live here, which is why they arrived in 1.5 without adding new columns.
Meter
What is being counted on a charge line, such as input tokens or output tokens. It is how a bill distinguishes two charges for the same model.
Drawdown
Capacity bought up front and consumed over time. The purchase and the usage land on different lines, which is why it needs explicit treatment.
Working draft
The live version of the specification between releases. Merged work sits there until 1.5 publishes in December.

Gate schedule

Development resumed
Jun 15
passed
Out of draft
Aug 27
30 days
Task Force review
Sep 10
44 days
Member review
Sep 24
58 days
Member approval
Oct 8
72 days
Consistency review done
Oct 29
93 days
Today

The August 13 gate is the one that matters for this list. Anything not drafted by that date does not make 1.5, regardless of merit.

No items match that filter.

1

Complete

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

Merged 20 Jul FR 2018 Detail +Detail −

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

owner Matt Cowsert 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 this is additive for every data generator.

It also lands a worked appendix example with two scenarios and backing CSV data: a model purchased directly from its developer, and the same model resold by a cloud provider as a first-party service. The second scenario is the one practitioners get wrong today, because the service provider and the model developer are different companies.

A deliberate omission

The input versus output token split is carried structurally, as separate SKUs distinguished by SkuMeter, rather than through a dedicated token-type property. That decision is revisitable and is tracked in bucket 4.

Why it matters

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

Merged 23 Jul Enabler Action Item 2378 Detail +Detail −

Service category definitions no longer assume cloud, so AI, SaaS, and on-premises spend classify cleanly.

owner Shawn Alpay

What it changes

Rewrites the ServiceCategory descriptions that referred to "cloud" so they apply equally to hybrid, SaaS, and on-premises environments, and moves Multicloud into alphabetical position. Strictly backward compatible: no allowed values added, removed, or renamed.

Context for AI

An "AI and Machine Learning" service category already exists, with subcategories for AI Platforms, Bots, Generative AI, Machine Learning, Natural Language Processing, and Other. This work removes the cloud-only framing around it, which mattered because a large share of AI spend now arrives from vendors that are not cloud providers.

2

In flight

Owned, scheduled, and expected to merge before the development phase closes on 8 October. Each has a named owner and dated next step.

FR 1941 Detail +Detail −

Published examples showing how to map token and generation billing from any AI vendor into FOCUS.

owner Larry Advey group TF-2 next step 5 Aug

The problem it answers

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

every single one has a different data formatBecky Canterbury, Shutterstock, on working with 20-plus AI vendors

Requested by NatWest, SLB, UK Government Digital Service, Shutterstock, Syngenta, Anglepoint, AWS, and the FinOps Foundation.

What it delivers

Non-normative worked examples with backing datasets, scoped deliberately to already-defined FOCUS columns and properties. A scenario needing an undefined concept becomes a separate proposal rather than inventing something inside an example. Five scenarios carry through, with deliberate variety in SkuMeter so the set does not read as prescriptive.

Open work

  • Draft the example set. Due 5 Aug, and the item everything else here waits on.
  • Add a prepayment drawdown example. Due 13 Aug. The Task Force found the current set misses the most common real pattern: capacity bought up front, drawn down by usage, so billed cost is zero on usage rows and effective cost reflects amortized consumption.
  • Add Kimi on Fireworks AI and further vendor examples. Due 29 Jul.
Enabler FR 2358 Detail +Detail −

Cost rows can identify the person or agent that drove the spend.

owner Matt Cowsert group TF-2

What it adds

A PrincipalId column on the Cost and Usage dataset, identifying the actor behind a charge.

Why it belongs in the AI story

This is the attribution primitive behind per-user and per-agent cost. 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." PrincipalId is what makes that answerable inside billing data rather than by joining to observability.

Live decision

A companion IdentityDetails column, carrying attributes such as name and email, is a separate open question for 1.5. It appears in bucket 3.

Enabler FR 1057 Detail +Detail −

A published price catalog, which is where model identity actually lives.

owner Shawn Alpay

What it adds

A new SKU Price dataset, carrying prices independently of consumption. Column naming is being settled in parallel, replacing ContractCommitmentDurationType and ContractCommitmentPaymentModel with PurchaseDurationType and PurchasePaymentModel.

The connection to AI

The model-identity properties delivered in bucket 1 describe a SKU price, not a usage row. The SKU Price dataset is what lets an organization compare model rates across vendors before committing spend, rather than discovering the comparison after the invoice arrives. It is the difference between reporting on AI cost and negotiating it.

Due 7 Aug Enabler Action Item 2550 Detail +Detail −

How prepaid tokens and vendor credits get treated as currency.

group TF-1

What it covers

A review of how tokens, credits, and crypto are handled as virtual currency in the CurrencyFormat attribute.

Why it matters for AI

A large share of AI spend is transacted in something other than a national currency. Buyers purchase token bundles or platform credits up front and draw them down. If FOCUS treats those units inconsistently, prepaid AI spend either disappears from cost reporting or double counts against the cash that bought it. This work and the prepayment drawdown example in FR 1941 address two halves of the same problem.

Due 4 Aug Enabler Action Item 1857 Detail +Detail −

A FinOps Foundation paper on FOCUS for AI, sitting outside the specification itself.

group F2 state In progress

What it is

Supporting content rather than a specification change. It is the narrative piece that explains the position to an audience that will not read column definitions.

Worth flagging separately because it is the only item on this page a board audience would read end to end, and it is due before the August 13 gate.

3

Under consideration

Filed, understood, and technically achievable inside the remaining runway, but not yet drafted. Each needs drafted content by 13 August to stay in 1.5. Seven of these describe dimensions of the same object, the price of a model call, so the Task Force view is that a single extension to SkuPriceDetails could carry several at once, on the order of four to five use cases from one piece of work.

Slots into SKU price FR 2099 Detail +Detail −

Separate tokens served from cache from tokens processed fresh.

owner Matt Cowsert

Cached and uncached tokens can differ in price by an order of magnitude at the same vendor. 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.

FR 2487 Detail +Detail −

Represent reasoning tokens, which are billed but never appear in the response.

owner Matt Cowsert

Reasoning models charge for intermediate tokens the customer never sees. Finance teams reconciling an invoice against application logs find output token counts that do not match the bill, with no standard field explaining the gap.

FR 2488 Detail +Detail −

Represent the standing charge for keeping a context cache warm.

owner Matt Cowsert

Context caching bills on two axes: the tokens processed, and the storage held over time. The second behaves like a storage charge rather than a usage charge, and it accrues whether or not the cache is read.

FR 2489 Detail +Detail −

Distinguish text, image, audio, and video inputs, which price very differently.

owner Matt Cowsert

Adds input modality classification along with recommended SkuMeter values. Multimodal traffic is billed per token, per image, per second of audio, and per frame, depending on vendor and input type. Without a modality dimension, those units collapse into an aggregate that cannot be compared or forecast.

This is a larger piece of work than the other price-detail items in this bucket. The modality classification and the recommended meter values are two jobs rather than one, which puts it outside the set that could realistically be picked up before 13 August.

FR 2521 Detail +Detail −

Distinguish model costs that vary by context window size.

owner unassigned group unassigned

Several vendors price the same model differently above a context length threshold. The rate change is invisible in cost data today, so a cost increase driven by longer prompts is indistinguishable from one driven by more calls.

The only item in this bucket with neither an owner nor a task force assigned.

FR 2437 Detail +Detail −

Distinguish priority, standard, and batch inference, which carry different rates.

owner Matt Cowsert

Batch and off-peak processing tiers are commonly discounted by half or more against real-time inference. Making the tier visible turns "move this workload to batch" from an intuition into a measurable saving, and lets an organization verify it actually happened.

Slots into SKU price FR 2414 Detail +Detail −

Distinguish globally served models from region-pinned ones.

owner Matt Cowsert

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.

FR 2371 Detail +Detail −

Represent committed AI capacity the way other commitment discounts are represented.

owner Matt Cowsert

Provisioned throughput is a commitment purchase, structurally similar to a reserved instance or savings plan. FOCUS already has a mature commitment discount model. The question is whether provisioned AI capacity maps onto it cleanly or needs its own treatment.

Of everything in this bucket, this is the one most likely to matter at the level of a board conversation, because it is where committed AI dollars sit and where utilization against those commitments gets measured.

FR 1943 Detail +Detail −

Deeper AI service subcategories, so AI spend can be analyzed in layers.

Extends the existing AI and Machine Learning subcategories to support layered analysis, separating the infrastructure an AI workload runs on from the model serving it from the application consuming it. Today those three layers can all land in one bucket, which is the reason "what did AI cost us" is hard to answer consistently across organizations.

Live decision Enabler PR 2553 Detail +Detail −

Whether identity attributes ship alongside PrincipalId in 1.5, or wait.

owner Matt Cowsert group TF-2 state decision open

The decision

Does an IdentityDetails column draft against the August 13 gate in 1.5, or does 1.5 ship PrincipalId alone with identity attributes carried into 1.6 as a straw man?

The case for waiting

PrincipalId alone is enough to join identity attributes in from elsewhere. Shipping it first lets community feedback tell us whether name and email are actually wanted in cost and usage data before personally identifiable fields are published into it. A privacy review on the question is outstanding.

4

Relevant, but not 1.5

Two different things live here, and the distinction is worth keeping. The first group was ruled out on the merits, with reasons on the record. The second group falls out on timing alone.

Ruled out on the merits

Out of scope Detail +Detail −

Per-request maximum token limits alongside cost.

from FR 2018, third use case

Request-level configuration sits closer to observability than to billing, consistent with the feature request's own exclusion of telemetry. It was not routed to any of the parallel AI feature requests, so it is a deliberate stop rather than a deferral.

Out of scope Detail +Detail −

Tool or harness identity, meaning which tool produced the tokens.

decided TF-2, 8 Jul 2026

Ruled out of the first example pass. This is the one most likely to come back, because agentic tooling is exactly where attribution questions are heading. It is a sequencing call, not a rejection of the concept.

Out of scope Detail +Detail −

Session and event identifiers.

decided TF-2, 8 Jul 2026

These are observability-side join signals with no FOCUS-defined home. Billing data does not carry them, and inventing a place for them inside FOCUS would put the specification in the business of describing application telemetry.

Deferred Detail +Detail −

Token type, input versus output, as a first-class column.

deferred TF-2, 15 Jul 2026

Open rather than closed. Today the split is carried structurally, through separate SKUs distinguished by SkuMeter, which is what shipped in bucket 1. Whether it should instead become a first-class column or defined property is explicitly deferred, not settled. Worth knowing if anyone asks why token type is not a column.

Falls to 1.6 on timing

1.6 candidate Detail +Detail −

Any bucket 3 item not drafted by 13 August.

resolves 13 Aug 2026

The gate is mechanical, and it is what keeps a release predictable. Ten items sit in bucket 3 today. How many move here is known in 16 days, and the 1.6 scoping window opens 29 October.

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

A terminology note. Inside the FOCUS repository, an issue prefixed "AI" is an Action Item, a unit of working-group work. It has nothing to do with artificial intelligence. Every such reference on this page is spelled out as "Action Item" to avoid the collision.

Sources. The FOCUS 1.5 milestone, the working-group project board, merged commits on the working draft, and the maintainers agenda of 27 July 2026. Status is live and moves weekly; this page reflects 28 July 2026. Nothing here is a commitment on behalf of the working group.