Part of #179. Depends on slice 1.
path-index.ts (paths from tool-call args, fileEntry entries, write/edit results; no fingerprints), protect.ts, policies/structural.ts with rules in order: stale_after_mutation, superseded_read, failure_resolved, listing_consumed, thinking_turn_closed, age_horizon (last rung, newest-safe-first, batched to target). replay/ over Clio ledgers only: loader, reference graph (file_reread, file_discovery, file_rewrite), oracle and random controls, metrics (retention, eviction_precision, tokens_evicted, churn), JSON + markdown report. CLI clio-coder context replay --sessions <dir>.
Acceptance
- Frozen fixture under
tests/fixtures/context-replay/ produces the same contextEviction sequence through the replay runner and the live engine.
- On local Clio ledgers,
structural-v1 retention >= age-horizon and eviction precision >= random; table committed under benchmarks/results/context-replay/.
- Only then: default
policy flips to structural-v1.
- Supersession is range-aware (a range read supersedes only an identical or containing range).
Part of #179. Depends on slice 1.
path-index.ts(paths from tool-call args,fileEntryentries, write/edit results; no fingerprints),protect.ts,policies/structural.tswith rules in order:stale_after_mutation,superseded_read,failure_resolved,listing_consumed,thinking_turn_closed,age_horizon(last rung, newest-safe-first, batched totarget).replay/over Clio ledgers only: loader, reference graph (file_reread,file_discovery,file_rewrite), oracle and random controls, metrics (retention,eviction_precision,tokens_evicted,churn), JSON + markdown report. CLIclio-coder context replay --sessions <dir>.Acceptance
tests/fixtures/context-replay/produces the samecontextEvictionsequence through the replay runner and the live engine.structural-v1retention >=age-horizonand eviction precision >=random; table committed underbenchmarks/results/context-replay/.policyflips tostructural-v1.