I0841 — Cache equivalence proved by property-shaped cases
For every read-only command in the registry, run it with the cache cold, warm, and disabled, on this repository and on a synthetic one, and assert byte-identical output and exit code; then mutate one file and assert the changed output is served.
BLOCKED wave 2 · 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 I0821 is done. The status is derived from that, not declared.
Objective
For every read-only command in the registry, run it with the cache cold, warm, and disabled, on this repository and on a synthetic one, and assert byte-identical output and exit code; then mutate one file and assert the changed output is served.
Why
A cache that changes a result is worse than no cache; the proof has to cover every reader, not the one that was tested.
Current state
No cache exists yet.
Desired state
One case iterating the registry's read-only commands, so a command added later is covered by existing.
Scope
- test/cases/86_cache_equivalence.sh
- share/commands.yaml
Dependencies
What waits on this
Acceptance criteria
- The case reads the registry for the command list and fails if it is empty
- Every read-only command is byte-identical across modes
- A mutated file changes the output and the counters show a miss
Validation
- bash test/run.sh 86_cache_equivalence
Evidence required
- flatten_cache
Evidence
None recorded. Every token above needs a command or an artifact behind it before this issue can be completed; narrative is refused.
Risk
Commands whose output carries a timestamp (context) are compared after the timestamp line is dropped, and the case says which line.
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/I0841.yaml. Read it back with majordomus plan show I0841.