delivery-economics-are-measured-over-declared-windows — Delivery economics are measured on corpus runs and on real work over a window registered before it opens, and published with their denominators and losses
Corpus runs answer the economics.tasks shape; a delivery window registered in the proof plan before it opens is measured at its close into a committed T3 record that the scorecard reads.
BLOCKED 0 of 3 issues done
- ready
- 0
- blocked
- 3
- active
- 0
- verify
- 0
- done
- 0
- cancelled
- 0
Problem
An instrument without a measurement does not answer T3 of the owner's report of 2026-10-19: real figures must be read over work chosen before it happened, beside denominators, with the work that was not accepted listed and the ledgers that could not be read named. Benchmark runs record session durations and hidden-test checks in a shape no task record shares.
Outcome
Corpus runs answer the economics.tasks shape; a delivery window registered in the proof plan before it opens is measured at its close into a committed T3 record that the scorecard reads.
Current state
apps/majordomus-cli/src/economics/model.rs:687 records duration_ms per session and :701 reported_cost_microusd; no reading combines them per run. No window is declared anywhere. git ls-files .ai/repo/sessions counts 91 tracked session records, which can cross-check a window's task count.
Desired state
economics tasks --runs answers the run shape; the T3 protocol is registered; the T3 record of the first window is committed and its row reads a computed status.
Scope
- apps/majordomus-cli/src/economics
- apps/majordomus-cli/tests/economics.rs
- .ai/repo/benchmarks
- docs/ECONOMICS.md
- docs/generated/economics.json
- docs/generated/economics.md
- docs/generated/economics.yaml
- site/data/generated/economics.json
Out of scope
- Comparing arms (T2, T4)
- Changing what start, finish or capture write
- A money figure before I3292's separate estimate and billed fields exist
Acceptance criteria
- Every committed benchmark run answers the economics.tasks shape
- The T3 window is registered before it opens and its record is committed at its close
- The T3 row names the unread checkouts and every field's not-observed share
Validation
- majordomus plan validate
Risks
- If I3202 and I3293 have not landed when the window closes, ci_reruns and spend read not observed and the row fails its coverage bound, which is published as such
- A window that admits only bound work may miss maintenance tasks; the protocol states what it admits
Issues
Each one is an execution contract with its own acceptance criteria, validation command and required evidence. The wave column is the layer of the dependency graph it sits in.
| issue | status | wave | depends on | title |
|---|---|---|---|---|
| I3382 | BLOCKED | 1 | I3376 | Every recorded benchmark run answers the same delivery-economics shape as a task |
| I3383 | BLOCKED | 2 | I3352, I3373 | The T3 delivery window is registered before it opens: its period, the work it admits, the definition of accepted and a bound on each field's not-observed share |
| I3384 | BLOCKED | 5 | I3383, I3377, I3378, I3381, I3354, I3356 | The first delivery window is measured at its close and published with its denominators, the work not accepted and the checkouts it could not read |
The graph
flowchart LR
I3382["I3382<br/>Every recorded benchmark run answers the same delivery-economics shape as a task"]:::blocked
I3383["I3383<br/>The T3 delivery window is registered before it opens: its period, the work it admits, the definition of accepted and a bound on each field's not-observed share"]:::blocked
I3384["I3384<br/>The first delivery window is measured at its close and published with its denominators, the work not accepted and the checkouts it could not read"]:::blocked
I3383 --> I3384
classDef done stroke:#16a34a,fill:#dcfce7,color:#14532d,stroke-width:2px
classDef active stroke:#2563eb,fill:#eff6ff,color:#1e3a8a,stroke-width:2px
classDef verify stroke:#7c3aed,fill:#f5f3ff,color:#4c1d95,stroke-width:2px
classDef ready stroke:#0891b2,fill:#ecfeff,color:#164e63,stroke-width:2px
classDef planned stroke:#0891b2,fill:#ecfeff,color:#164e63,stroke-width:2px
classDef blocked stroke:#b45309,fill:#fffbeb,color:#78350f,stroke-width:2px
classDef cancelled stroke:#6b7280,fill:#f9fafb,color:#374151,stroke-width:2px
classDef superseded stroke:#6b7280,fill:#f9fafb,color:#374151,stroke-width:2pxLinked from this diagram (3)
- I3382 Every recorded benchmark run answers the same delivery-economics shape as a task
- I3383 The T3 delivery window is registered before it opens: its period, the work it admits, the definition of accepted and a bound on each field's not-observed share
- I3384 The first delivery window is measured at its close and published with its denominators, the work not accepted and the checkouts it could not read
Canonical record: .ai/repo/project/milestones/delivery-economics-are-measured-over-declared-windows.yaml. Read it back with majordomus plan show delivery-economics-are-measured-over-declared-windows.