Skip to content

I3380 — A task's spend is the usage attributed to it, as reported tokens with their class, and money stays not observed until it is a separate field

Fill spend from the usage-by-task reading I3293 provides: reported input, output, cache-read and cache-write tokens, the models reported and the measurement class, with the usage event ids. Never re-join or estimate; a task with no received usage reads not_observed with the receiver's reason; any money amount stays not_observed until I3292's fields exist.

BLOCKED wave 3 · p1 · implementation profile · parallel safe

Part of every-task-states-its-delivery-economics — Every task states its delivery economics: wall time, typed human interventions, CI reruns, spend and acceptance, each from a named record or said not observed.

Blocked. This issue cannot start until I3376, I3293 are done. The status is derived from that, not declared.

Objective

Fill spend from the usage-by-task reading I3293 provides: reported input, output, cache-read and cache-write tokens, the models reported and the measurement class, with the usage event ids. Never re-join or estimate; a task with no received usage reads not_observed with the receiver's reason; any money amount stays not_observed until I3292's fields exist.

Why

T3 of the owner's report of 2026-10-19 asks for spend per task. every-sessions-usage-is-observed owns receiving and attributing usage and forbids an estimate shown as spend, so depending on I3293 keeps one account of usage.

Current state

apps/majordomus-cli/src/economics/usage.rs:106-134 normalises benchmark harness usage only; I3288 and I3293 are BLOCKED and not on master; docs/ECONOMICS.md:139-140 says cost is the harness's projection, not a bill.

Desired state

Every record shows reported tokens with class and event ids, or not_observed with a reason.

Scope

  • apps/majordomus-cli/src/economics
  • apps/majordomus-cli/tests/economics.rs
  • docs/ECONOMICS.md

Out of scope

  • Receiving or attributing usage (I3288, I3293)
  • Pricing (I3292)
  • Any saving figure

Dependencies

Acceptance criteria

  • A fixture task shows each token category with class and event ids
  • A task with no received usage reads not_observed with I3293's reason
  • No money amount appears
  • spend equals I3293's reading for the same task on the same fixture

Validation

  • cargo test --manifest-path apps/majordomus-cli/Cargo.toml --test economics
  • bash test/run.sh 431_economics_claims_gated

Evidence required

  • test_task_spend_is_attributed_usage

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/I3380.yaml. Read it back with majordomus plan show I3380.

Searches the titles and descriptions of every page this site publishes.