I0921 — Size is measured first and budgeted second
Measure the binary, the assets, the image and the build context, declare budgets with headroom over the measured baseline, and gate unexplained growth.
BLOCKED wave 5 · p1 · implementation profile · parallel safe
Blocked. This issue cannot start until I0910, I0911 are done. The status is derived from that, not declared.
Objective
Measure the binary, the assets, the image and the build context, declare budgets with headroom over the measured baseline, and gate unexplained growth.
Why
A budget invented before a measurement is a number somebody will disable. A budget derived from a measured baseline with stated headroom is a regression detector.
Current state
Nothing is measured because nothing is built.
Desired state
The baselines live where the benchmark infrastructure already keeps such things, the budgets are policy data, the gate fails on unexplained growth, and the documentation and UI can show both numbers without either being retyped.
Scope
- .ai/repo/benchmarks/rust
- .ai/repo/policy.yaml
Out of scope
- An arbitrary size target chosen before the first build
- A second place where a size number is written by hand
Dependencies
- I0910BLOCKED The release profile is chosen by measurement, not by folklore
- I0911BLOCKED A source change does not rebuild the world, and the context stays small
What waits on this
Acceptance criteria
- Binary bytes, generated asset bytes, image size, compressed size where obtainable and the layer breakdown are all measured and recorded
- The budgets are declared with stated headroom over the measured baseline and live as policy data
- CI fails on growth beyond the budget and names what grew
- The documentation and the UI read the baseline and the budget from the recorded data rather than from prose
Validation
- majordomus bench --check
- bash test/run.sh
Evidence required
- sizes_measured
- budget_declared
- ci_gate
Evidence
None recorded. Every token above needs a command or an artifact behind it before this issue can be completed; narrative is refused.
Risk
A budget with no headroom fails on an unrelated dependency bump and trains everybody to raise it without looking.
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/I0921.yaml. Read it back with majordomus plan show I0921.