Skip to content

CAP-PFM-LLM-005Publish AI operation definitions and historical prices

Markdown

CAP-PFM-LLM-005

Publish AI operation definitions and historical prices

Markdown
  • DocumentDraft
  • Product intentProposed
  • ImplementationObserved

KindCapabilityProduct areaPlatformModuleAI Requests, Usage and the Jazz AI TeammateRevision1

Read atservices-platform ad3f6a65react-console baf6dae3

The Formal Contract

The narrative above explains; the sections below are authoritative — the rules, scenarios and tests this document binds.

Outcomes
Published declarations connect operations with priced models.Routing and price changes append historical versions.HQ readers can inspect current and earlier catalog versions.
Surfaces
jobapiconsole
Postconditions
Published versions reflect the deployed catalog declarations.

Controls

36 controls apply, from the corpus control catalogue.

TC-AI-001 TC-AI-002 TC-AI-003 TC-AI-004 TC-AI-006 TC-AI-007 TC-AVL-005 TC-AZ-001 TC-AZ-002 TC-AZ-003 TC-AZ-004 TC-AZ-005 TC-AZ-006 TC-CHG-001 TC-CHG-002 TC-CHG-003 TC-CHG-004 TC-CHG-005 TC-CHG-006 TC-DAT-001 TC-DAT-002 TC-DAT-003 TC-DAT-004 TC-IAM-003 TC-LOG-001 TC-LOG-005 TC-MON-001 TC-PI-001 TC-PI-003 TC-PI-005 TC-TEN-001 TC-TEN-002 TC-TEN-003 TC-VEN-001 TC-VEN-002 TC-VEN-003

Permissions

KeyChecked atScope
hq.llm-usage.readapiglobal

Business Rules

10 rules, 7 to be proved before approval. A rule's product intent is derived from its origin: 0 confirmed by a product decision, the rest inheriting this capability's proposed.

IdRuleKindEnforced atProvenance
01must prove
Proposed
The reservation is the rounded per-turn estimate multiplied by permitted turns and limited to the operation’s declared credit ceiling.
calculationserviceobserved
02must prove
Proposed
Publication rejects the whole catalog for unpriced routing, inconsistent timeouts, duplicate operations or rates, unknown applications, empty features, zero estimates or invalid prices, writing no versions.
validationserviceobserved
03must prove
Proposed
An unchanged declaration adds no version, a changed declaration appends one, and reverting appends another version with the earlier content digest.
lifecycleservice, databaseobserved
04must prove
Proposed
Published routing and rate versions reject updates and deletions by both application and publishing roles.
invariantdatabasetest
services-platform:modules/llm/tests/integration/db/llm-catalog-tables.integration.spec.js#refuses an update by the owner, who publishes the versions, so no deploy can rewrite one
05must prove
Proposed
A request retains its original rate version when prices change; only subsequent requests resolve the newer version.
calculationservice, databasetest
services-platform:modules/llm/tests/integration/services/persistence/rate-versions.integration.spec.js#leaves the old version at the old price, because an invocation settled under it still names it
06must prove
Proposed
Usage costs are summed at per-million rates before one division, with credits rounded upward and cents rounded to nearest.
calculationserviceobserved
07
Proposed
One credit represents one hundredth of a cent, and model input, output, cache-read and cache-write units have declared credit and cent prices per million.
calculationservicedocumented
08must prove
Proposed
Unpriced usage dimensions contribute no charge and remain visible under their provider names for later pricing decisions.
calculationservicetest
09
Proposed
Engineers choose and deploy model prices; Rhythm does not reconcile those declarations with the provider’s actual bill.
policyservicedocumented
services-platform:docs/llm.md#What is declared, and what is published
10
Proposed
The HQ catalog and rates show each key’s current version and up to nineteen preceding versions.
policyapiobserved

Scenarios

IdGivenWhenThenProvenance
01An engineer changes an operation’s prompt version.Catalog publication runs.A new routing version becomes current without a new unchanged price version.test
02A declaration names an unpriced model.Publication validates the catalog.Validation reports the operation and issue without changing the active catalog.test
services-platform:modules/llm/tests/integration/services/catalog/materialize-catalog.integration.spec.js#names the issue and the operation, so the failed deploy says what to fix

The Markdown files under specs/ in rhythmsoftware/rhythm-v2-docs are the canonical source of truth. This reader is a generated, read-only projection of them.