---
id: JNY-PFM-LLM-001
title: A staff member reaches the monthly AI allowance
feature: FEAT-PFM-LLM-03
product_area: platform
module: llm
revision: 1
status: draft
product_intent: proposed
implementation_evidence: observed
supersedes: []
source_sha:
  services-platform: ad3f6a6582843008ed0f5a17b131878d15829af1
  react-console: baf6dae382d6f41dce976c7f848667ccc37e076f
actor: ACT-PFM-032
goal: Use AI to prepare queries and understand a refusal when monthly capacity runs out.
capabilities:
  - CAP-PFM-LLM-001
  - CAP-PFM-LLM-007
  - CAP-PFM-LLM-008
  - CAP-PFM-LLM-018
  - CAP-PFM-LLM-011
screens:
  - '/console/{tenantId}/queries/new'
  - '/hq/aiUsage/requests/{tenantId}/{invocationId}'
steps:
  - 'n': 1
    surface: '/console/{tenantId}/queries/new'
    action: Submit an AI request with allowance available.
    capability: CAP-PFM-LLM-001
    expected: The scripted request is charged and remains below the warning threshold.
    provenance: test
    source: >-
      services-platform:modules/llm/tests/e2e/allowance-warning.e2e.spec.js#says nothing while the first call
      leaves the organization under 80 %
  - 'n': 2
    surface: '/console/{tenantId}/queries/new'
    action: Make another request that crosses the warning threshold.
    capability: CAP-PFM-LLM-008
    expected: Both administrators receive a warning with usage and reset information.
    provenance: test
    source: >-
      services-platform:modules/llm/tests/e2e/allowance-warning.e2e.spec.js#tells each of the two
      administrators once when the second call passes 80 %
  - 'n': 3
    surface: '/console/{tenantId}/queries/new'
    action: Make a request that crosses the full allowance.
    capability: CAP-PFM-LLM-007
    expected: The admitted request finishes and is charged; administrators receive the pause notice.
    provenance: test
    source: >-
      services-platform:modules/llm/tests/e2e/allowance-warning.e2e.spec.js#tells both again, once, when the
      third call passes 100 %
  - 'n': 4
    surface: '/console/{tenantId}/queries/new'
    action: Try another AI request.
    capability: CAP-PFM-LLM-018
    expected: Admission stops before provider dispatch and returns the allowance explanation.
    provenance: test
    source: >-
      services-platform:modules/llm/tests/e2e/allowance-warning.e2e.spec.js#refuses the next call, because the
      allowance is used
  - 'n': 5
    surface: '/hq/aiUsage/requests/{tenantId}/{invocationId}'
    action: Ask Rhythm support to inspect the refusal.
    capability: CAP-PFM-LLM-011
    expected: The request directory provides the refusal reason and the admission figures.
    provenance: documented
    source: 'services-platform:docs/milestones/plans/PLAT-M1-plan.md#9. Acceptance scenarios'
alternates:
  - from_step: 4
    condition: Support grants temporary capacity.
    path: A request within the grant window can pass admission.
    outcome: The person resumes using AI before the monthly reset.
    provenance: test
    source: >-
      services-platform:modules/llm/tests/integration/services/overrides/allowance-overrides.integration.spec.js#lets
      the ledger admit a call the base alone would refuse
failures:
  - from_step: 2
    condition: The workspace has no administrator.
    path: The notice is marked complete without recipients.
    outcome: The organization receives no warning.
    provenance: test
    source: >-
      services-platform:modules/llm/tests/integration/services/notices/threshold-notice.integration.spec.js#stamps
      the crossing notified with zero recipients
  - from_step: 4
    condition: The next request needs more capacity than remains.
    path: Admission refuses it even though the usage summary is still warned.
    outcome: The distinction between remaining credits and affordable requests needs a product decision.
    provenance: documented
    source: >-
      services-platform:docs/milestones/plans/PLAT-M1-plan.md#D1. When is an organization's allowance "used
      up"?
rules_in_play:
  - BR-CAP-PFM-LLM-001-03
  - BR-CAP-PFM-LLM-007-02
  - BR-CAP-PFM-LLM-007-03
  - BR-CAP-PFM-LLM-007-07
  - BR-CAP-PFM-LLM-008-01
  - BR-CAP-PFM-LLM-008-03
  - BR-CAP-PFM-LLM-008-04
  - BR-CAP-PFM-LLM-018-01
  - BR-CAP-PFM-LLM-011-07
assertions:
  - id: AS-JNY-PFM-LLM-001-01
    statement: >-
      In the tested sequence, administrators receive warning and pause notices while other staff receive
      neither.
    provenance: test
    source: >-
      services-platform:modules/llm/tests/e2e/allowance-warning.e2e.spec.js#never tells a person who is not an
      administrator
  - id: AS-JNY-PFM-LLM-001-02
    statement: The request made after capacity runs out is refused with no charge.
    provenance: test
    source: >-
      services-platform:modules/llm/tests/e2e/allowance-warning.e2e.spec.js#refuses the next call, because the
      allowance is used
  - id: AS-JNY-PFM-LLM-001-03
    statement: The proposed support walkthrough includes locating the refusal and its reason.
    provenance: documented
    source: 'services-platform:docs/milestones/plans/PLAT-M1-plan.md#9. Acceptance scenarios'
e2e_policy: required
e2e_reason: >-
  A complete browser walkthrough must connect the query screen, delivered mail and support inspection. The
  available scripted test does not prove that whole path.
evidence:
  - >-
    services-platform at ad3f6a6582843008ed0f5a17b131878d15829af1:
    docs/milestones/PLAT-M1-ai-usage-metered-and-visible.md; plans/PLAT-M1-plan.md (§3, §9, §10, D1);
    modules/llm/tests/e2e/allowance-warning.e2e.spec.js.
  - >-
    react-console at baf6dae382d6f41dce976c7f848667ccc37e076f:
    app/(console)/console/[tenantId]/queries/new/page.tsx; lib/api/generate-query.ts (the refusal sentence);
    app/(console)/hq/aiUsage/requests/[tenantId]/[invocationId]/page.tsx.
proved_by: []
---

# A staff member reaches the monthly AI allowance

## Story

A staff member uses AI while preparing queries. The journey follows the admission, charging and notice capabilities as monthly capacity is consumed. After a refusal, the person reads an explanation and asks support to inspect the request. Scripted evidence establishes parts of this sequence; the full console and real-mail walkthrough remains proposed.
