I3295 — A task declared over its token budget is told so, and refused only where policy says refuse
Declare per-profile token and cost budgets as data in policy, have finish and the brief compare a task's attributed usage with them, and say which figure (reported or estimated) the judgement read.
BLOCKED wave 3 · p3 · implementation profile · parallel safe
Blocked. This issue cannot start until I3292, I3293, I0402 are done. The status is derived from that, not declared.
Objective
Declare per-profile token and cost budgets as data in policy, have finish and the brief compare a task's attributed usage with them, and say which figure (reported or estimated) the judgement read.
Why
The owner asked that coordination never out-spend implementation; a budget is only honest once usage is observed and attributed. It extends milestone cost-per-accepted-outcome. Proposed in ADR 0213 (Usage is observed through each provider's official telemetry into one provider-neutral record, and reported, estimated and billed amounts are never merged) (proposed; it carries no authority until the owner accepts it). Sources: chatgpt-majordomus:c198#11, chatgpt-majordomus:c236#4, chatgpt-majordomus:c082#8.
Current state
No budget exists; rule every-wait-is-bounded bounds time, not tokens.
Desired state
A budget warns by default; a repository may declare refuse; an exemption is recorded.
Scope
- .ai/repo/policy.yaml
- apps/majordomus-cli/src/economics
Dependencies
- I3292BLOCKED Reported tokens, a price-list estimate and a billed amount are three fields, and the billing mode says which account paid
- I3293BLOCKED Usage is attributed to the session, task and issue it was spent on, from records the repository already keeps
- I0402BLOCKED Report cost only where measurement and acceptance both exist
What waits on this
Acceptance criteria
- A fixture task over budget gets a warning naming the budget, the figure and its class
- With refuse declared, finish refuses and names the exemption command
Validation
- cargo test --manifest-path apps/majordomus-cli/Cargo.toml --test economics
- majordomus plan validate
Evidence required
- case_a_task_has_a_token_budget
Evidence
None recorded. Every token above needs a command or an artifact behind it before this issue can be completed; narrative is refused.
Timeline
- started
- —
- verified
- —
- completed
- —
Those three fields, the evidence above and the state of the dependencies are all the status is made of. There is no status field to disagree with them.
Canonical record: .ai/repo/project/issues/I3295.yaml. Read it back with majordomus plan show I3295.