prj-state-hub-retirement/architecture/retirement-gates_v0.1.md
tegwick a00d8c1e19 docs(SHR-WP-0001): complete T06 gates and finish foundation workplan
Add baseline evidence (2026-08-09) and executable retirement gates mapped to
GOAL.md. Mark all foundation tasks done and workplan finished; next work is
child implementation streams.
2026-08-09 21:46:54 +02:00

196 lines
8.8 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

---
id: SHR-ARCH-GATES-0001
type: architecture
title: "Migration and retirement acceptance gates v0.1"
status: active
version: "0.1"
created: "2026-08-09"
updated: "2026-08-09"
workplan_task: SHR-WP-0001-T06
baseline: evidence/baseline-2026-08-09.yaml
related:
- GOAL.md
- architecture/child-workplan-map_v0.1.md
- inventory/state-hub-disposition.yaml
- architecture/information-model_v0.1.md
- architecture/hub-extension-architecture_v0.1.md
---
# Migration and retirement acceptance gates v0.1
## Purpose
Turn `GOAL.md` success and project-retirement clauses into **executable or
evidence-backed gates**. Each gate has: id, statement, measurable evidence,
owner stream(s), and status.
Baseline snapshot: [`evidence/baseline-2026-08-09.yaml`](../evidence/baseline-2026-08-09.yaml)
(`SHR-EVID-BASELINE-0001`).
**Status vocabulary:** `open` | `in_progress` | `met` | `waived` (with rationale).
---
## A. Project success gates (from GOAL.md)
### G-IA — Canonical information model
| | |
| --- | --- |
| **Statement** | Entities, relations, and kinds (events, signals, messages, conversations, requests, work, decisions, knowledge, telemetry) are defined with authority and correlation rules. |
| **Evidence** | `architecture/information-model_v0.1.md` + `.yaml` (SHR-ARCH-IA-0001); human review optional for canon promotion. |
| **Owner** | SHR-WP-0001-T03 |
| **Status** | **met** (draft-reviewable; promotion residual) |
### G-EXT — Hub / domain-extension contract
| | |
| --- | --- |
| **Statement** | Versioned hub-core + domain-extension contract implements OA-relevant concepts and has a conformance suite. |
| **Evidence** | Architecture + contract outline **met** at Tier 0 (`hub-extension-architecture_v0.1.md`, `helixforge.hub-extension` YAML). **Conformance suite (Tier 13)** still required. |
| **Owner** | SHR-WP-0001-T04; suite → **HUB-WP-0004** |
| **Status** | **in_progress** (docs met; automated suite open) |
### G-HUB-RUNTIME — Hub-core production runtime
| | |
| --- | --- |
| **Statement** | Hub-core contains production runtime, contracts, SDK, extension registry, and compatibility surface required by active consumers. |
| **Evidence** | Deployed hub-core image serving registry/messaging/events/projections; consumer smokes green; contract artefacts published. |
| **Owner** | **HUB-WP-0004** |
| **Status** | **open** |
### G-CORE-ABSORB — core-hub traffic absorbed
| | |
| --- | --- |
| **Statement** | Production traffic formerly served by core-hub runs from consolidated hub-core; core-hub repository archived. |
| **Evidence** | Dual-run report; cutover progress event; ops-hub + activity-core smokes on new host; forge archive flag; completion record with revisions. |
| **Owner** | **CORE-WP-0010** (depends HUB-WP-0004) |
| **Status** | **open** |
### G-RMGR — Repo Manager end-to-end
| | |
| --- | --- |
| **Statement** | Repo Manager represents repositories end to end: file-backed work records, consistency, agent roles, change events, governed mutations. |
| **Evidence** | RMGR-WP-0001 acceptance: contracts versioned; one repo vertical slice with Git evidence + rebuilt projection; extraction dispositions for State Hub repo/work surfaces. |
| **Owner** | **RMGR-WP-0001** |
| **Status** | **open** |
### G-DISP — Full disposition inventory
| | |
| --- | --- |
| **Statement** | Every State Hub route, model, dataset, job, MCP tool, dashboard view, and known consumer has keep/move/replace/retire disposition. |
| **Evidence** | `inventory/state-hub-disposition.yaml` (425 items, v0.1.1). Re-validate on material surface change before freeze. |
| **Owner** | SHR-WP-0001-T02; maintenance → **STATE-WP-0079** |
| **Status** | **met** (initial complete; refresh before freeze) |
### G-HANDOFF — Capabilities on new owners
| | |
| --- | --- |
| **Statement** | All retained capabilities operate through new owners with compatibility, data-count, provenance, authorization, and failure-mode tests. |
| **Evidence** | Per-slice: (1) owner API/port green tests; (2) row-count or content-hash compare vs pre-slice dump; (3) provenance fields present; (4) auth deny/allow cases; (5) failure-mode notes. Inventory `move`/`replace` items checked off. |
| **Owner** | **STATE-WP-0079** + RMGR / HUB / OPS / FIN / ACTIVITY streams |
| **Status** | **open** |
### G-FREEZE — Stabilization window
| | |
| --- | --- |
| **Statement** | State Hub receives no normal reads or writes during an agreed stabilization window. |
| **Evidence** | Window dates recorded in progress event; access logs / meter show only health/admin; agents and automation pointed at successors; exception log empty or residual-owned. |
| **Owner** | **STATE-WP-0079-T06** + operator |
| **Status** | **open** |
| **Suggested window** | ≥ 7 consecutive days after last normal consumer cutover (operator may extend). |
### G-BACKUP — Backup / restore / rollback / history
| | |
| --- | --- |
| **Statement** | Backup, restore, rollback, and historical-query evidence accepted. |
| **Evidence** | (1) Final `pg_dump` (or CNPG backup) of State Hub DB with checksum; (2) restore drill into isolated DB with count compare vs baseline/final; (3) documented rollback procedure exercised once in dual-run; (4) historical work queryable from Git files + archived dump for projections. |
| **Owner** | **STATE-WP-0079** + ops; baseline recovery paths in `evidence/baseline-2026-08-09.yaml` |
| **Status** | **open** |
| **Note** | Cluster scheduled backups not yet configured — manual dump is current path (`state-hub/docs/cluster-operating-model.md`). |
### G-STOP — State Hub stopped and archived
| | |
| --- | --- |
| **Statement** | State Hub stopped; repository and final data archived read-only. |
| **Evidence** | Deployment scaled to zero / removed; forge repo archived; final dump stored with location recorded; INTENT marks retired; no scheduled jobs targeting SH API. |
| **Owner** | **STATE-WP-0079** + ops |
| **Status** | **open** |
---
## B. Project repository retirement gates (from GOAL.md)
| Gate | Statement | Evidence | Status |
| --- | --- | --- | --- |
| **P1** | Every success gate above has accepted evidence | Checklist in final report | **open** (A-section) |
| **P2** | Residuals have live owners outside this repo | Intake/WP ids with `origin: residual` | **open** |
| **P3** | Decisions/architecture promoted to durable homes | Paths in hub-core / custodian canon / child INTENT | **open** (partial: project-repo flavor already in custodian) |
| **P4** | Child workplans finished, cancelled, or handed off | Map statuses all terminal | **open** |
| **P5** | Final project report (revisions, migrations, archives, obligations, rollback expiry) | `history/YYYY-MM-DD-completion.md` | **open** |
| **P6** | This repo completed + read-only after consistency/link check | `project_status: archived` in GOAL.md; forge archive | **open** |
---
## C. Cross-cutting evidence rules
1. **Re-baseline before each major cutover** — copy `evidence/baseline-*.yaml` pattern with new date; never overwrite without rename.
2. **Counts** — for data moves, capture pre/post totals for affected tables; ±0 unexplained rows fails the slice.
3. **Callers** — known callers in baseline must be re-pointed or explicitly retired before G-FREEZE.
4. **Secrets** — never in evidence files; dump storage location may be referenced, not contents.
5. **Correlation** — cutover progress events include `correlation_id` linking slice id, dump checksum, and PR links.
6. **Waiver** — only with human progress note citing residual work-record id.
---
## D. Baseline summary (2026-08-09)
| Metric | Value |
| --- | ---: |
| Topics | 14 |
| Workplans | 887 |
| Tasks | 5222 |
| Decisions | 89 |
| Domains | 14 |
| Managed repos | 105 |
| OpenAPI paths (live) | 135 |
| Inventory items | 425 |
| Disposition move / replace / keep / retire | 269 / 66 / 48 / 42 |
Availability: private tunnel only (`127.0.0.1:8000`). Recovery: manual CNPG dump + WSL2 fallback path.
---
## E. Gate ownership matrix
| Gate | Primary child WP |
| --- | --- |
| G-IA, G-DISP (initial) | SHR-WP-0001 (done) |
| G-EXT suite, G-HUB-RUNTIME | HUB-WP-0004 |
| G-CORE-ABSORB | CORE-WP-0010 |
| G-RMGR | RMGR-WP-0001 |
| G-HANDOFF, G-FREEZE, G-BACKUP, G-STOP | STATE-WP-0079 (+ owners) |
| Domain hub conformance | OPS-WP-0003, FIN-WP-0003 |
| Automation retarget | ACTIVITY-WP-0029 |
| P1P6 project archive | this repo after children terminal |
---
## F. Acceptance for T06
- [x] Baseline counts, callers, availability, recovery paths recorded
- [x] GOAL.md success clauses mapped to measurable gates
- [x] Project retirement clauses mapped (P1P6)
- [x] Owners linked to child workplan map
- [ ] Gates **met** (implementation — out of scope for foundation WP)
Foundation workplan SHR-WP-0001 delivers the **gate definitions and baseline**;
closing the gates is the implementation program (S1S7 + evidence).