diff --git a/workplans/STATE-WP-0079-retirement-strangler.md b/workplans/STATE-WP-0079-retirement-strangler.md index a2352ff..222a068 100644 --- a/workplans/STATE-WP-0079-retirement-strangler.md +++ b/workplans/STATE-WP-0079-retirement-strangler.md @@ -160,6 +160,30 @@ it changes how live task writes flow. Net: of 425 inventory items, roughly **6 can move today**. The retirement is gated almost entirely on owner-side capability in `repo-manager` and `hub-core`. +**A2a executed (2026-08-20) — first live cutover slice.** Dual-run is on for the +pilot repo: + +- `~/.repo-manager/dual-run.yaml` installed from + `repo-manager/config/dual-run.pilot.example.yaml` — `writeback: true`, + `reconcile: true`, `writeback_push: false`, `pilot_repos: [repo-manager]` +- State Hub API reloaded via its own `--reload` watcher (no service restart, the + operator's foreground `make api` was left alone) +- `statehub fix-consistency --repo repo-manager` reported + `RM dual-run reconcile ok: index=/home/worsch/repo-manager/.repo-manager/index.json` +- mutation meter grew 23 → 24 with + `{"kind": "reconcile", "repo_slug": "repo-manager", "workplan_count": 8, "task_count": 53, "record_count": 61}` + +**Divergence check:** rmgr's index holds 8 workplans; the hub has +`rmgr-wp-0001`–`0007` registered. The single-item delta is `RMGR-WP-0008`, whose +C-06 registration was skipped because this instance is not the identifier +registrar (ADR-007 interim). That is a known registrar limitation, **not** +dual-run divergence — rmgr correctly indexed the file that exists on disk. + +Slice state: **A2a is `dual`, not `owner`** — the hub remains authoritative and +rmgr executes checkout mutation alongside it. Promotion to `owner` needs a full +consistency-sweep cycle at `dual` with zero divergence, per this plan's adapter +rules. Rollback is `rm ~/.repo-manager/dual-run.yaml`. + **Inherited (2026-08-19) from `STATE-WP-0080-T04`:** this slice now also owns deletion of the templating path in `statehub_register.py` — `INTENT.md` generation, the `AGENTS.md` / `CLAUDE.md` / `.custodian-brief.md` templates,