3.7 KiB
| id | type | title | domain | repo | status | owner | topic_slug | created | updated | parent_project | parent_workplan | related | state_hub_workstream_id | ||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| STATE-WP-0079 | workplan | State Hub retirement strangler and disposition execution | infotech | state-hub | proposed | codex | infotech | 2026-08-09 | 2026-08-19 | prj-state-hub-retirement | SHR-WP-0001 |
|
749beac6-3c62-4284-aab5-9ed7fce900c2 |
State Hub retirement strangler and disposition execution
Goal
Execute the keep/move/replace/retire dispositions from
prj-state-hub-retirement/inventory via strangler adapters and owner handoffs,
without adding new permanent authorities here. End state: freeze window with no
normal traffic, then archive.
Dual-run handoff (RMGR-WP-0002)
Repo Manager Stage B dual-run is available:
- Flags:
RM_WRITEBACK,RM_RECONCILE,RM_PILOT_REPOS(seerepo-manager/docs/dual-run.md) - SH adapter:
api/services/repo_manager_dual_run.py(PATCH/tasks+ C-15 writeback + reconcile proxy) - Evidence:
repo-manager/docs/evidence/wp0002-completion.md
Expand pilot list here as cutover progresses; do not add new checkout mutators in State Hub.
Freeze policy for new scope
id: STATE-WP-0079-T01
status: todo
priority: high
state_hub_task_id: "375c0b66-98b0-4d5b-98dd-4ad2883a4051"
Document and enforce: changes during retirement must preserve compatibility, enable extraction, reduce scope, or fix operational risk — not establish new permanent ownership (INTENT retirement status).
Capability strangler plan
id: STATE-WP-0079-T02
status: todo
priority: high
state_hub_task_id: "595c3936-20b6-453f-92b5-84f86798054a"
Group SHR-INV-0001 items into cutover slices (repo/work → repo-manager; messages/progress/projections → hub-core; catalogs → owners; retire aliases). Per slice: adapter flag, owner API, rollback.
Register CLI and GOAL.md support
id: STATE-WP-0079-T03
status: done
priority: medium
state_hub_task_id: "55716f12-fb12-4a1e-a770-076c490db111"
Adapt statehub register / scaffolding so prj- repos with GOAL.md and
repo_flavor: project are valid without inventing durable-product INTENT.md
(residual from SHR-WP-0001-T01).
Result (2026-08-19): Implemented by STATE-WP-0080-T01/T02. Project
flavor is detected from classification, GOAL.md, or the prj- slug; a repo
with an existing GOAL.md is registered without durable scaffolding, while a
fresh project delegates scaffolding to rmgr scaffold. The focused State Hub
registration suite passes (20 passed).
Execute move/replace slices
id: STATE-WP-0079-T04
status: todo
priority: high
state_hub_task_id: "db5291f2-3801-40fa-abf2-ceb0e77687c9"
Implement strangler handoffs coordinated with RMGR-WP-0001 and HUB-WP-0004. Compatibility tests for each dispositioned route family.
Retire legacy surfaces
id: STATE-WP-0079-T05
status: todo
priority: medium
state_hub_task_id: "02e508ed-3cde-4487-907e-d324a8a877d6"
Complete retirement of suggestions, workstream aliases, and other retire
inventory items once meters/callers allow. Keep historical rows archive-readable.
Stabilization window and archive prep
id: STATE-WP-0079-T06
status: todo
priority: high
state_hub_task_id: "d52c95c6-af3f-4b2c-804e-e07763c9a8ab"
With T06 gates: zero normal read/write window, final dump, backup/restore evidence, stop service, archive repo read-only. Residuals → live owners.
Acceptance
- Freeze policy documented
- Strangler plan covers all inventory capabilities
- prj-/GOAL.md register path works
- Move/replace slices evidenced with tests/counts
- Retire list closed or residual-owned
- Stabilization + archive prep ready for project retirement