Skip to content

CAP-PFM-LLM-010Monitor AI usage across organizations

Markdown

CAP-PFM-LLM-010

Monitor AI usage across organizations

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
Usage reports compare activity and charges across reporting windows.Organization status highlights capacity concerns.Daily aggregates retain organization and usage dimensions.
Surfaces
consoleapijob
Constraints
Reporting uses UTC days while allowance periods follow the organization’s calendar.
Intent sources
services-platform:docs/proposals/llm-observability/11-decisions.md#D-7services-platform:docs/milestones/plans/PLAT-M1-plan.md#4. Assumptions

Controls

21 controls apply, from the corpus control catalogue.

TC-AVL-001 TC-AZ-001 TC-AZ-002 TC-AZ-003 TC-AZ-004 TC-AZ-005 TC-IAM-003 TC-LOG-001 TC-LOG-004 TC-LOG-005 TC-MON-001 TC-MON-002 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
hq.llm-usage.readconsoleglobal

Business Rules

12 rules, 8 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
Only staff with the HQ AI usage read key can read system-wide usage; customer-scoped authority and unrelated HQ keys cannot authorize it.
permissionapitest
services-platform:modules/llm/tests/e2e/llm-usage.e2e.spec.js#refuses a customer’s administrator, whatever they hold at their customer’s scope
02must prove
Proposed
Reporting accepts month to date or thirty or ninety UTC days including today and compares with the immediately preceding equal-length period; unknown windows are rejected.
calculationapi, serviceobserved
03must prove
Proposed
Live status is disabled for an inactive organization or disabled AI, otherwise stopped when committed usage reaches allowance, warned from 80%, and within below that; later capacity can improve status.
calculationserviceobserved
04must prove
Proposed
Utilisation divides charged plus held credits by base plus active capacity, rounds to one decimal, may exceed 100% and has no percentage for a zero allowance.
calculationserviceobserved
05must prove
Proposed
Trends can group by organization, application, model, provider or operation, retain ten largest series and aggregate the remainder exactly as Other, omitting empty dates.
calculationserviceobserved
06
Proposed
Organization rows combine spend, requests, refusals, failures, utilisation, allowance, capacity and status, with cost, utilisation or refusal sorting and stable pagination.
policyapi, serviceobserved
07
Proposed
Breakdowns provide group cost, activity, average latency and failure rate; cross-organization execution leaders identify expensive closed tasks and organizations whose reads failed.
calculationserviceobserved
08must prove
Proposed
Hourly rebuilding replaces each affected organization’s UTC-day totals, assigns requests to their start day, excludes running work, and retains refused, failed, released and settled classifications with their applicable charges.
calculationservice, databaseobserved
09must prove
Proposed
Rollup progress trails the run start by five minutes and stops at the earliest unfinished change on error or exhausted time without moving backward; delay beyond two hours alarms.
invariantservice, databaseobserved
10must prove
Proposed
HQ presents list-price dollars with the equivalent credits alongside.
policyconsoletest
react-console:lib/hq/ai-usage-format.test.ts#shows cents as dollars beside the credits
11
Proposed
An unavailable report section shows its failure state independently of successfully read sections.
policyservice, consoleobserved
12
Proposed
HQ query recipes cover organizational, daily and model spend and organizational refusals; the HQ reporting reader can query daily rollups without gaining access to organization request records.
permissiondatabasedocumented

Scenarios

IdGivenWhenThenProvenance
01Two organizations have requests across a UTC day boundary.The aggregate rebuild runs.Each request contributes to its own organization and start day.test
services-platform:modules/llm/tests/integration/services/reconciliation/rollup-settled-invocations.integration.spec.js#keeps the other organization's calls in its own cell, with the four token sums as reported
02A support reader opens the HQ usage overview.Its mocked reads complete.The page renders metrics, trends, organization states and breakdowns.test
react-console:e2e/mock/hq-ai-usage.mock.spec.ts#shows the tiles, the trend, who needs attention and the organizations with their states

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.