Skip to content

ATS-PFM-LLM-011Inspect an organization’s AI account and request history: Capability Test Specification

Markdown

ATS-PFM-LLM-011

Inspect an organization’s AI account and request history: Capability Test Specification

Markdown
  • DocumentProposed

KindAcceptance test setProduct areaPlatformModuleAI Requests, Usage and the Jazz AI TeammateRevision2

Read atservices-platform ad3f6a65react-console baf6dae3

Coverage

  • Rule gap: FND-PFM-LLM-070
  • Transition gap: FND-PFM-LLM-070
  • Validation covered
  • Permission covered
  • Edge gap: FND-PFM-LLM-070
  • Failure covered
  • Boundary covered
  • Concurrency gap: FND-PFM-LLM-070
  • Invariant gap: FND-PFM-LLM-070
  • Interaction covered

Test Scenarios

18 scenarios proving CAP-PFM-LLM-011; 14 bound to an existing test.

01 Customer administrators cannot use the HQ overviewpermissionapinegativetest
Proves
BR-CAP-PFM-LLM-011-01
Preconditions
A customer administrator has authority in their own organization.
Steps
Request the HQ AI account view.
Expected
Access is denied.
Data
Fixtures representing a customer administrator has authority in their own organization.
Bound to
Source
services-platform:modules/llm/tests/e2e/llm-usage.e2e.spec.js#refuses a customer’s administrator a tenant’s usage even in their own tenant
02 Foreign and absent records are not foundboundaryapinegativetest
Proves
BR-CAP-PFM-LLM-011-02
Preconditions
Two organizations hold requests and executions, with an additional nonexistent organization reference.
Steps
Read foreign records under the first organization and request the missing organization.
Expected
Each returns not found within the appropriate organization boundary.
Data
Fixtures representing two organizations hold requests and executions, with an additional nonexistent organization reference.
Bound to
Source
services-platform:modules/llm/tests/e2e/llm-usage.e2e.spec.js#answers 404 for a tenant that does not exist
03 Overview sections fail independentlyfailureapitest
Proves
BR-CAP-PFM-LLM-011-03 INV-DOM-PFM-LLM-004-07
Preconditions
One organization is warned, another stopped, and a report subsection is unreadable.
Steps
Read each overview.
Expected
Available sections retain correct state and figures while unavailable sections disclose their own failure.
Data
Fixtures representing one organization is warned, another stopped, and a report subsection is unreadable.
Bound to
Source
services-platform:modules/llm/tests/integration/services/usage-reports/tenant-usage.integration.spec.js#answers the current period against its allowance: committed, utilisation and a warned status
04 Historical capacity uses the relevant instantruleapitest
Proves
BR-CAP-PFM-LLM-011-04
Preconditions
Grants cover a prior month-end, now, expiry and revocation.
Steps
Read monthly histories.
Expected
Prior periods use month-end capacity and the current period uses active capacity now, excluding expired and revoked grants.
Data
Fixtures representing grants cover a prior month-end, now, expiry and revocation.
Bound to
Source
services-platform:modules/llm/tests/integration/services/usage-reports/tenant-usage.integration.spec.js#reads each recent period’s credits at the instant that decided it: now for this month, its last instant for last
05 Filters and cursors have bounded resultsvalidationapinegativetest
Proves
BR-CAP-PFM-LLM-011-05
Preconditions
The organization has several request outcomes.
Steps
Filter and paginate requests, then submit invalid status and cursor values.
Expected
Matching rows appear newest-first without repetition and invalid inputs are rejected.
Data
Fixtures representing the organization has several request outcomes.
Bound to
Source
services-platform:modules/llm/tests/e2e/llm-usage.e2e.spec.js#answers the invocations newest first, narrowed by a filter, as pairs of money
06 Routine request reads keep content privateinvariantbrowsertest
Proves
BR-CAP-PFM-LLM-011-06 INV-DOM-PFM-LLM-004-05
Preconditions
Requests have retained evidence bodies.
Steps
Read lists and details through service and console surfaces.
Expected
Capture statuses appear without body text or storage references.
Data
Fixtures representing requests have retained evidence bodies.
Bound to
Source
services-platform:modules/llm/tests/e2e/llm-usage.e2e.spec.js#answers the capture status of a request’s bodies and never a storage key
07 Grant lists derive current window statetransitionapitest
Proves
BR-CAP-PFM-LLM-011-09
Preconditions
Scheduled, active, expired and revoked grants exist.
Steps
Read all grants and the active-only list.
Expected
States reflect read time and newest-start order, with active-only returning eligible grants.
Data
Fixtures representing scheduled, active, expired and revoked grants exist.
Bound to
Source
services-platform:modules/llm/tests/integration/services/overrides/allowance-overrides.integration.spec.js#answers each override with the state it has now, newest start first
08 Console role controls remain distinctpermissionbrowsertest
Proves
BR-CAP-PFM-LLM-011-12
Preconditions
Support and administrator staff sessions are available.
Steps
Open the organization usage card as each.
Expected
Support has no action menu and the administrator has the management menu.
Data
Fixtures representing support and administrator staff sessions are available.
Bound to
Source
react-console:e2e/mock/hq-ai-usage.mock.spec.ts#a Support Representative reads the card but has no action menu and no write controls
09 Refusal detail joins history to explanationinteractionbrowserproposed
Proves
BR-CAP-PFM-LLM-011-06 BR-CAP-PFM-LLM-012-02
Preconditions
An organization’s directory includes a refused request with retained decision figures.
Steps
Open the request detail and its explanation from the directory.
Expected
The detail and explanation name the same outcome and separate original figures from present admission without exposing captured text.
Data
An isolated workspace with the records, clock instants and caller authority stated in the preconditions.
Source
services-platform:modules/llm/aws/api/llm-usage-api-mapper.ts,services-platform:modules/llm/services/explain/explain-invocation.ts
10 A saved limit appears in account inspectioninteractionapiproposed
Proves
BR-CAP-PFM-LLM-011-03 BR-CAP-PFM-LLM-013-06
Preconditions
A manager inspects current limits and the current period has usage.
Steps
Change the base allowance at the inspected version and read overview and audit.
Expected
Current base and configuration version change together with the reasoned audit while charges and holds remain intact.
Data
An isolated workspace with the records, clock instants and caller authority stated in the preconditions.
Source
services-platform:modules/llm/services/usage-reports/tenant-usage.ts,services-platform:modules/llm/services/limits/tenant-limits.ts
11 Grant inspection follows revocationinteractionapitest
Proves
BR-CAP-PFM-LLM-011-09 BR-CAP-PFM-LLM-014-07
Preconditions
An organization has scheduled and active grants.
Steps
Read all and active-only lists, revoke the active grant and read again.
Expected
Revocation preserves original grant values and its reason while removing that grant from active capacity.
Data
An isolated workspace with the records, clock instants and caller authority stated in the preconditions.
Bound to
Source
services-platform:modules/llm/tests/integration/services/overrides/allowance-overrides.integration.spec.js#answers only those in force when asked for the active ones,services-platform:modules/llm/tests/integration/services/overrides/allowance-overrides.integration.spec.js#leaves the grant’s own fields as they were: an override is revoked, never edited,services-platform:modules/llm/tests/integration/services/overrides/allowance-overrides.integration.spec.js#stops the override applying to the next call
12 Correction appears in account and audit historyinteractionapiproposed
Proves
BR-CAP-PFM-LLM-011-11 BR-CAP-PFM-LLM-015-06
Preconditions
A manager applies a valid signed correction for an existing month.
Steps
Read the month, correction history and AI audit history.
Expected
The changed balance agrees with the recorded correction and one attributed audit event; request settlements remain unchanged.
Data
An isolated workspace with the records, clock instants and caller authority stated in the preconditions.
Source
services-platform:modules/llm/services/usage-reports/tenant-usage.ts,services-platform:modules/llm/services/adjustments/adjust-allowance.ts
13 Routine metadata never opens captured contentinteractionapinegativeproposed
Proves
BR-CAP-PFM-LLM-011-06 BR-CAP-PFM-LLM-016-01
Preconditions
Captured bodies exist and a support reader can inspect the account but lacks sensitive content authority.
Steps
Open request metadata and attempt a dedicated body read.
Expected
Metadata shows only capture state; the dedicated read refuses without revealing body or storage reference.
Data
An isolated workspace with the records, clock instants and caller authority stated in the preconditions.
Source
services-platform:modules/llm/aws/api/llm-usage-api-mapper.ts,services-platform:modules/llm/services/evidence/evidence-access.ts
14 Deployed HQ reads reach request detailboundarybrowsertest
Proves
BR-CAP-PFM-LLM-011-03
Preconditions
The suite owns isolated fixtures representing the valid control and the contrasting case described by its steps.
Steps
Sign in as the seeded Rhythm administrator; open reporting, the organization card, its directory and one request.
Expected
The summary and overview return successfully, the directory has linked rows and request identity and capture-state sections render.
Data
Existing seeded development data and Rhythm administrator credentials; the suite reads only.
Bound to
Source
react-console:e2e/dev/hq-ai-usage.dev.spec.ts#the page, an organization's card and the request directory read Platform
15 Task reads do not cross workspace scopeboundaryapitest
Proves
BR-CAP-PFM-LLM-011-02
Preconditions
The suite owns isolated fixtures representing the valid control and the contrasting case described by its steps.
Steps
Read the seeded task through its own and another workspace context.
Expected
The owner receives the mapped task while the foreign context receives no task.
Data
Suite-owned fixtures, with a fixed clock where dates or grant windows matter.
Bound to
Source
services-platform:modules/llm/tests/integration/services/persistence/executions.queries.integration.spec.js#does not answer to another tenant, whose row-level security hides it
16 Request windows use half-open boundsboundaryapitest
Proves
BR-CAP-PFM-LLM-011-05
Preconditions
The suite owns isolated fixtures representing the valid control and the contrasting case described by its steps.
Steps
List a request window containing records at its start and end instants.
Expected
The start record appears and the end record does not.
Data
Suite-owned fixtures, with a fixed clock where dates or grant windows matter.
Bound to
Source
services-platform:modules/llm/tests/integration/services/persistence/invocations.queries.integration.spec.js#answers a call at the very start of the window but not one at its end
17 Request paging rejects foreign cursor shapesvalidationunitnegativetest
Proves
BR-CAP-PFM-LLM-011-05
Preconditions
The suite owns isolated fixtures representing the valid control and the contrasting case described by its steps.
Steps
Submit a valid paging cursor and a cursor made for another list.
Expected
Only the matching list cursor is accepted.
Data
Suite-owned fixtures, with a fixed clock where dates or grant windows matter.
Bound to
Source
services-platform:modules/llm/tests/unit/aws/api/llm-usage-api-mapper.spec.ts#refuses a cursor from another list
18 Console mapping preserves unavailable sectionsfailureunitnegativetest
Proves
BR-CAP-PFM-LLM-011-03
Preconditions
The suite owns isolated fixtures representing the valid control and the contrasting case described by its steps.
Steps
Unwrap available and unavailable usage sections through the console mapper.
Expected
The available value is retained and the unavailable section raises its dedicated failure.
Data
Suite-owned fixtures, with a fixed clock where dates or grant windows matter.
Bound to
Source
react-console:lib/hq/ai-usage.test.ts#unwraps an available section and refuses an unavailable one

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.