---
id: ADR-PFM-LLM-007
title: Evaluate Temporary Grants at Request Time
product_area: platform
module: llm
revision: 1
status: proposed
design_intent: proposed
source_sha:
  services-platform: ad3f6a6582843008ed0f5a17b131878d15829af1
  react-console: baf6dae382d6f41dce976c7f848667ccc37e076f
decision: >-
  Represent temporary credits or operation exemptions as separate half-open-window records, and preserve
  original values when ending capacity by expiry or revocation.
constrains:
  - DOM-PFM-LLM-003
  - STATE-PFM-LLM-007
  - WF-PFM-LLM-008
  - SVC-PFM-LLM-llm
origin: >-
  Ceilings (one million credits per grant, ten million effective, ninety-two days) by D-3
  (services-platform:docs/proposals/llm-observability/11-decisions.md#Decision record); the revoke-never-edit,
  half-open window and read-time state shape is reported as settled by inspection, not asked
  (services-platform:docs/proposals/llm-observability/11-decisions.md#11.1 Settled by inspection (reported)).
alternatives:
  - option: Temporarily overwrite recurring allowance
    why_not: It requires a later reset and loses a separate grant decision unless more history is added.
  - option: Schedule activation and expiry writes
    why_not: Read-time eligibility already supplies those boundaries without depending on another job.
  - option: Edit existing grants in place
    why_not: It obscures the original decision and its approved window.
consequences:
  - Requests evaluate capacity within the grant’s inclusive-start and exclusive-end window.
  - Display state is derived from time and revocation.
  - Exemptions bypass an operation switch but not disabled organization-wide AI.
  - The customer feature list currently omits those exemptions.
supersedes: []
evidence:
  - >-
    services-platform at ad3f6a6: modules/llm/services/overrides/allowance-overrides.ts;
    services/persistence/overrides.ts, allowance-periods.ts; db/llm-allowance-overrides.table.ts;
    docs/licensing.md (the override precedent).
---

# Evaluate Temporary Grants at Request Time

## Context

Staff need temporary capacity whose reason and lifetime remain visible after it ends.

## Decision

Represent temporary credits or operation exemptions as separate half-open-window records, and preserve original values when ending capacity by expiry or revocation.

## Alternatives Considered

Temporarily overwrite recurring allowance: It requires a later reset and loses a separate grant decision unless more history is added.

Schedule activation and expiry writes: Read-time eligibility already supplies those boundaries without depending on another job.

Edit existing grants in place: It obscures the original decision and its approved window.

## Consequences

Requests evaluate capacity within the grant’s inclusive-start and exclusive-end window. Display state is derived from time and revocation. Exemptions bypass an operation switch but not disabled organization-wide AI. The customer feature list currently omits those exemptions.
