---
id: FAS-PFM-LLM-03
title: Monthly AI Allowance and Notices acceptance
feature: FEAT-PFM-LLM-03
product_area: platform
module: llm
revision: 1
status: proposed
product_intent: proposed
source_sha:
  services-platform: ad3f6a6582843008ed0f5a17b131878d15829af1
  react-console: baf6dae382d6f41dce976c7f848667ccc37e076f
  rhythm-v2-docs: 9b95399181c8ec6670ce3d12d700e59643668692
capabilities:
  - CAP-PFM-LLM-007
  - CAP-PFM-LLM-008
  - CAP-PFM-LLM-009
scenarios:
  - id: FAS-PFM-LLM-03-01
    title: Allowance consumption progresses to refusal
    kind: behaviour
    exercises:
      - CAP-PFM-LLM-007
      - CAP-PFM-LLM-008
      - CAP-PFM-LLM-009
    relies_on:
      - ATS-PFM-LLM-007-03
      - ATS-PFM-LLM-008-03
      - ATS-PFM-LLM-009-02
    preconditions: A small allowance has two active administrators and other staff.
    steps: >-
      Run scripted requests across both charged thresholds, submit one more request and perform recovery
      within the live window.
    expected: >-
      Administrator notices reflect each crossing, the last request is refused without spending and recent
      work is not recovered.
    negative: false
    data_needs: >-
      An isolated workspace with stated usage, callers, clock instants and a separate workspace for scope
      checks.
    bound_to: []
    provenance: proposed
    source:
      - >-
        rhythm-v2-docs:specs/platform/llm/planning/capabilities/CAP-PFM-LLM-007-hold-each-organization-to-its-monthly-ai-allowance.md
      - >-
        rhythm-v2-docs:specs/platform/llm/planning/capabilities/CAP-PFM-LLM-008-warn-an-organization-s-administrators-at-80-and-100.md
      - >-
        rhythm-v2-docs:specs/platform/llm/planning/capabilities/CAP-PFM-LLM-009-recover-what-an-interrupted-ai-request-left-behind.md
  - id: FAS-PFM-LLM-03-02
    title: Recovered work can leave an owed notice
    kind: interaction
    exercises:
      - CAP-PFM-LLM-007
      - CAP-PFM-LLM-008
      - CAP-PFM-LLM-009
    relies_on:
      - ATS-PFM-LLM-009-01
      - ATS-PFM-LLM-008-06
    preconditions: Stale held work is eligible for estimated recovery and an enclosing transaction defers delivery.
    steps: 'Recover the request, commit and run the owed-notice retry.'
    expected: >-
      The recorded hold is released, estimated charge remains visible and the committed crossing can be
      delivered afterward.
    negative: false
    data_needs: >-
      An isolated workspace with stated usage, callers, clock instants and a separate workspace for scope
      checks.
    bound_to: []
    provenance: proposed
    source:
      - >-
        rhythm-v2-docs:specs/platform/llm/planning/capabilities/CAP-PFM-LLM-007-hold-each-organization-to-its-monthly-ai-allowance.md
      - >-
        rhythm-v2-docs:specs/platform/llm/planning/capabilities/CAP-PFM-LLM-008-warn-an-organization-s-administrators-at-80-and-100.md
      - >-
        rhythm-v2-docs:specs/platform/llm/planning/capabilities/CAP-PFM-LLM-009-recover-what-an-interrupted-ai-request-left-behind.md
  - id: FAS-PFM-LLM-03-03
    title: Local month renewal opens a separate account
    kind: lifecycle
    exercises:
      - CAP-PFM-LLM-007
      - CAP-PFM-LLM-008
      - CAP-PFM-LLM-009
    relies_on:
      - ATS-PFM-LLM-007-01
      - ATS-PFM-LLM-009-02
    preconditions: A used local month has retained crossings and the next local month has no account yet.
    steps: 'Advance past local month start and request admission, then inspect both months.'
    expected: >-
      The new account starts independently; prior charges and notice history remain in the earlier month and
      fresh work is not swept.
    negative: false
    data_needs: >-
      An isolated workspace with stated usage, callers, clock instants and a separate workspace for scope
      checks.
    bound_to: []
    provenance: proposed
    source:
      - >-
        rhythm-v2-docs:specs/platform/llm/planning/capabilities/CAP-PFM-LLM-007-hold-each-organization-to-its-monthly-ai-allowance.md
      - >-
        rhythm-v2-docs:specs/platform/llm/planning/capabilities/CAP-PFM-LLM-008-warn-an-organization-s-administrators-at-80-and-100.md
      - >-
        rhythm-v2-docs:specs/platform/llm/planning/capabilities/CAP-PFM-LLM-009-recover-what-an-interrupted-ai-request-left-behind.md
  - id: FAS-PFM-LLM-03-04
    title: Notice recipients follow local administrator eligibility
    kind: permission
    exercises:
      - CAP-PFM-LLM-007
      - CAP-PFM-LLM-008
    relies_on:
      - ATS-PFM-LLM-008-03
      - ATS-PFM-LLM-007-03
    preconditions: >-
      Eligible local administrators, a suspended administrator, another role and a foreign administrator
      exist.
    steps: Settle through a charged threshold and inspect recipients and refused-request effects.
    expected: >-
      Only active local administrators receive the crossing message and a later refusal produces no additional
      mail.
    negative: true
    data_needs: >-
      An isolated workspace with stated usage, callers, clock instants and a separate workspace for scope
      checks.
    bound_to: []
    provenance: proposed
    source:
      - >-
        rhythm-v2-docs:specs/platform/llm/planning/capabilities/CAP-PFM-LLM-007-hold-each-organization-to-its-monthly-ai-allowance.md
      - >-
        rhythm-v2-docs:specs/platform/llm/planning/capabilities/CAP-PFM-LLM-008-warn-an-organization-s-administrators-at-80-and-100.md
  - id: FAS-PFM-LLM-03-05
    title: Repeated recovery neither charges nor alerts twice
    kind: regression
    exercises:
      - CAP-PFM-LLM-007
      - CAP-PFM-LLM-008
      - CAP-PFM-LLM-009
    relies_on:
      - ATS-PFM-LLM-009-03
      - ATS-PFM-LLM-008-05
    preconditions: An eligible stale request and one retryable threshold notice exist.
    steps: 'Repeat successful reconciliation and inspect period charge, alerts and crossing delivery.'
    expected: The request receives one recovery charge and one alert; an already completed crossing is not sent again.
    negative: true
    data_needs: >-
      An isolated workspace with stated usage, callers, clock instants and a separate workspace for scope
      checks.
    bound_to: []
    provenance: proposed
    source:
      - >-
        rhythm-v2-docs:specs/platform/llm/planning/capabilities/CAP-PFM-LLM-007-hold-each-organization-to-its-monthly-ai-allowance.md
      - >-
        rhythm-v2-docs:specs/platform/llm/planning/capabilities/CAP-PFM-LLM-008-warn-an-organization-s-administrators-at-80-and-100.md
      - >-
        rhythm-v2-docs:specs/platform/llm/planning/capabilities/CAP-PFM-LLM-009-recover-what-an-interrupted-ai-request-left-behind.md
evidence:
  - artifact: CAP-PFM-LLM-007
    provenance: documented
    source: >-
      specs/platform/llm/planning/capabilities/CAP-PFM-LLM-007-hold-each-organization-to-its-monthly-ai-allowance.md
  - artifact: CAP-PFM-LLM-008
    provenance: documented
    source: >-
      specs/platform/llm/planning/capabilities/CAP-PFM-LLM-008-warn-an-organization-s-administrators-at-80-and-100.md
  - artifact: CAP-PFM-LLM-009
    provenance: documented
    source: >-
      specs/platform/llm/planning/capabilities/CAP-PFM-LLM-009-recover-what-an-interrupted-ai-request-left-behind.md
  - provenance: documented
    source: 'rhythm-v2-docs:specs/CONVENTIONS.md#5.3 Feature Acceptance Suite'
execution_gap: FND-PFM-LLM-081
---

# Monthly AI Allowance and Notices acceptance

## What the Feature Must Do as a Whole

A small allowance has two active administrators and other staff. Run scripted requests across both charged thresholds, submit one more request and perform recovery within the live window. The suite compares the feature outcome with its capability prerequisites and keeps partial proof visible.

## Interactions Between Capabilities

Stale held work is eligible for estimated recovery and an enclosing transaction defers delivery. Recover the request, commit and run the owed-notice retry. The interaction scenario checks what changes across that shared boundary. Lifecycle, permission and regression scenarios preserve the wider feature obligations.

## Regression Record

| Revision | Change | Scenario | Why |
|---|---|---|---|
| 1 | initial | all | Establish cumulative feature acceptance from the pinned capability and design baseline. |
