I0834 — The test runner reports per-case time and the suite budget
Print each case's wall time in test/run.sh, sort the slowest at the end, and record the suite's total in the benchmark history as a system target.
BLOCKED wave 4 · p0 · implementation profile · runs alone
Part of M004 — Performance is executable evidence, and the hot path does no canonical work twice.
Blocked. This issue cannot start until I0828 is done. The status is derived from that, not declared.
Objective
Print each case's wall time in test/run.sh, sort the slowest at the end, and record the suite's total in the benchmark history as a system target.
Why
A single case costs 29 s because it runs doctor several times; the suite's half hour is the same cost multiplied.
Current state
run.sh prints ok or FAIL and nothing about time.
Desired state
Per-case times printed, the suite under ten minutes on this repository after the doctor fixes, the total recorded.
Scope
- test/run.sh
- lib/bench.sh
Out of scope
- Parallel test execution
Dependencies
Acceptance criteria
- run.sh prints a time per case and a ranked tail
- The suite total appears in bench --list as a system target
Validation
- bash test/run.sh 01_init
Evidence required
- doctor_under_budget
Evidence
None recorded. Every token above needs a command or an artifact behind it before this issue can be completed; narrative is refused.
Risk
Times in the runner output must not be asserted by any case.
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/I0834.yaml. Read it back with majordomus plan show I0834.