feat(cache): add rebuild and provenance safeguards

Assistant: codex
Assistant-Model: gpt-5.6-sol
Assistant-Session: 01a023c0-a0a3-7c03-b395-5a0d2757214d
This commit is contained in:
tegwick 2026-08-21 23:23:03 +02:00
parent bf3f416b82
commit 5dc2f3cdf6
11 changed files with 2809 additions and 4 deletions

View file

@ -378,7 +378,7 @@ byte-identical writeback, and neither creates a duplicate record.
```task
id: RMGR-WP-0005-T07
status: wait
status: progress
priority: high
state_hub_task_id: "70f83359-0b61-4dc0-83b0-33f289b64e83"
```
@ -396,6 +396,24 @@ Measured 2026-08-17: 955 workplans locally against 649 on the primary, 320
local-only, of which **288 are backed by files that all exist on disk**. That
portion of the divergence is redundant and needs no merge — only a rebuild.
**Progress (2026-08-21):** `rmgr cache status|rebuild` now makes the local
repository projection explicitly advisory and reports canonical observation
time, age, source fingerprint, current/indexed Git revision, and concrete stale
reasons. The fingerprint covers the authoritative record/classification/intent
bytes, including uncommitted changes. A live drill correctly rejected the
legacy index as stale, rebuilt 73 records from repository files, and immediately
reported a fresh cache.
The 217 closed unbound rows are preserved in a minimized, integrity-sealed
export at
`docs/evidence/RMGR-WP-0005-closed-provenance-2026-08-21.json`; live unbound
rows remain zero. `docs/cache-rebuild_v1.md` gates any database replacement on
an isolated projection rebuild and proof that hub-native records reached their
one central owner. Remaining before `done`: compare against an isolated rebuilt
State Hub database and verify hub-native centralization. The documented remote
tunnel at `127.0.0.1:18000` was not running during this pass, so no central
comparison was inferred.
## Separate file-derived from hub-native data
```task