docs: complete predecessor deployment reality plan
Assistant: codex Assistant-Model: gpt-5.6-sol Assistant-Session: 01a06d83-1cbc-71f2-b0dc-e0f48cedae43
This commit is contained in:
parent
94e31e3d92
commit
5979dd895a
6 changed files with 180 additions and 11 deletions
18
DECISIONS.md
18
DECISIONS.md
|
|
@ -2,6 +2,24 @@
|
|||
|
||||
_Auto-generated by the Custodian State Hub._
|
||||
|
||||
## Generation transitions require capability, consumer, lane, and successor evidence
|
||||
|
||||
**Date:** 2026-09-04
|
||||
**Decided by:** operator / codex
|
||||
|
||||
Adopt `G-GEN` in `architecture/retirement-gates_v0.1.md`. A generation is not
|
||||
superseded merely because its runtime is scaled down or its successor answers a
|
||||
health check. Closure requires explicit capability dispositions, reconciled
|
||||
consumers and repository scope, independent sweeps of workload pulls, DNS,
|
||||
access/credential lanes, schedules and runners, and a successor deployed on
|
||||
infrastructure whose lifetime has been accepted.
|
||||
|
||||
The gate is `in_progress` for the Inter-Hub transition: the capability inventory
|
||||
and successor placement are evidenced, while routed registry/access residuals
|
||||
remain open. A routed handoff is transparent ownership, not completion.
|
||||
|
||||
---
|
||||
|
||||
## Restore the previously-live seven-action tenant-engine image rather than rebuild
|
||||
|
||||
**Date:** 2026-08-16
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@ title: "Migration and retirement acceptance gates v0.1"
|
|||
status: active
|
||||
version: "0.1"
|
||||
created: "2026-08-09"
|
||||
updated: "2026-08-09"
|
||||
updated: "2026-09-04"
|
||||
workplan_task: SHR-WP-0001-T06
|
||||
baseline: evidence/baseline-2026-08-09.yaml
|
||||
related:
|
||||
|
|
@ -87,6 +87,15 @@ Baseline snapshot: [`evidence/baseline-2026-08-09.yaml`](../evidence/baseline-20
|
|||
| **Owner** | SHR-WP-0001-T02; maintenance → **STATE-WP-0079** |
|
||||
| **Status** | **met** (initial complete; refresh before freeze) |
|
||||
|
||||
### G-GEN — Generation transition completeness
|
||||
|
||||
| | |
|
||||
| --- | --- |
|
||||
| **Statement** | No generation is considered superseded until its capabilities have explicit dispositions, consumers and repository scope are reconciled, downstream lanes and credentials are swept, and its successor runs on infrastructure with an accepted lifetime. |
|
||||
| **Evidence** | `inventory/inter-hub-disposition.yaml`; `inventory/repository-scope-reality-20260904.md`; routed owner intakes listed there; successor deployment evidence in `CORE-WP-0011`. A transition sweep must independently inspect workload pulls, DNS resolution, access/tunnel catalogs, credential routes, scheduled jobs, CI runners, and source configuration. |
|
||||
| **Owner** | `SHR-WP-0002-T06`; residual implementation belongs to each routed repository owner. |
|
||||
| **Status** | **in_progress** — generation-2 dispositions and successor placement are evidenced; routed lane/registry residuals remain open. |
|
||||
|
||||
### G-HANDOFF — Capabilities on new owners
|
||||
|
||||
| | |
|
||||
|
|
@ -174,6 +183,7 @@ Availability: private tunnel only (`127.0.0.1:8000`). Recovery: manual CNPG dump
|
|||
| Gate | Primary child WP |
|
||||
| --- | --- |
|
||||
| G-IA, G-DISP (initial) | SHR-WP-0001 (done) |
|
||||
| G-GEN | SHR-WP-0002 + routed repository owners |
|
||||
| G-EXT suite, G-HUB-RUNTIME | HUB-WP-0004 |
|
||||
| G-CORE-ABSORB | CORE-WP-0010 |
|
||||
| G-RMGR | RMGR-WP-0001 |
|
||||
|
|
|
|||
|
|
@ -20,6 +20,8 @@ implementation workplans (T05).
|
|||
| [`mcp-tools.yaml`](mcp-tools.yaml) | MCP tools |
|
||||
| [`dashboard.yaml`](dashboard.yaml) | Observable dashboard pages |
|
||||
| [`jobs-callers-ops.yaml`](jobs-callers-ops.yaml) | Jobs, callers, ops deps, migrations |
|
||||
| [`inter-hub-disposition.yaml`](inter-hub-disposition.yaml) | Generation-2 capability destinations and current providers |
|
||||
| [`repository-scope-reality-20260904.md`](repository-scope-reality-20260904.md) | Participating repository scope/reality ledger and routed corrections |
|
||||
|
||||
## Disposition legend
|
||||
|
||||
|
|
|
|||
70
inventory/inter-hub-disposition.yaml
Normal file
70
inventory/inter-hub-disposition.yaml
Normal file
|
|
@ -0,0 +1,70 @@
|
|||
inventory_id: SHR-INV-0002
|
||||
title: Inter-Hub generation-2 capability disposition
|
||||
version: 0.1.0
|
||||
created: '2026-09-04'
|
||||
updated: '2026-09-04'
|
||||
workplan_task: SHR-WP-0002-T02
|
||||
source_evidence:
|
||||
- core-hub/INTENT.md
|
||||
- core-hub/workplans/archived/260703-CORE-WP-0005-data-migration-and-cutover.md
|
||||
- core-hub/workplans/archived/260708-CORE-WP-0007-haskell-retirement.md
|
||||
- core-hub/workplans/CORE-WP-0011-railiance01-production-relocation.md
|
||||
state_values: [served, planned, dropped]
|
||||
rules:
|
||||
- retired implementation does not imply dropped capability
|
||||
- served names the observable current provider
|
||||
- planned requires a named owner and workplan or routed intake
|
||||
capabilities:
|
||||
- id: domain-hubs
|
||||
generation_2_intent: Separate domain hubs with shared framework contracts.
|
||||
state: served
|
||||
current_provider: core-hub
|
||||
evidence: Production /api/v2 hub registry and migrated ops-hub manifest.
|
||||
target: hub-core extension contract with domain-owned implementations
|
||||
target_owner: hub-core
|
||||
target_workplan: HUB-WP-0004
|
||||
- id: shared-manifests
|
||||
generation_2_intent: Publish hub manifests through a common contract.
|
||||
state: served
|
||||
current_provider: core-hub
|
||||
evidence: The production cutover imported and validated the ops-hub manifest.
|
||||
target: hub-core manifest and extension contract
|
||||
target_owner: hub-core
|
||||
target_workplan: HUB-WP-0004
|
||||
- id: widgets
|
||||
generation_2_intent: Domain-provided operator widgets with registered types.
|
||||
state: served
|
||||
current_provider: core-hub
|
||||
evidence: CORE-WP-0005 migrated 15 widgets and all seven ops widget types.
|
||||
target: hub-core projection and extension UI contracts
|
||||
target_owner: hub-core
|
||||
target_workplan: HUB-WP-0004
|
||||
- id: registries
|
||||
generation_2_intent: Shared hub, widget-type, event-type, annotation, and policy registries.
|
||||
state: served
|
||||
current_provider: core-hub
|
||||
evidence: Production compatibility smokes served 26 widget types and 30 event types.
|
||||
target: versioned hub-core registries
|
||||
target_owner: hub-core
|
||||
target_workplan: HUB-WP-0004
|
||||
- id: interaction-events
|
||||
generation_2_intent: Common interaction-event publication and query.
|
||||
state: served
|
||||
current_provider: core-hub
|
||||
evidence: CORE-WP-0005 migrated an interaction event and verified /api/v2 parity.
|
||||
target: hub-core interaction contracts; activity-core remains execution/event-bridge authority
|
||||
target_owner: hub-core
|
||||
target_workplan: HUB-WP-0004
|
||||
- id: unified-operator-surface
|
||||
generation_2_intent: One navigable surface for hubs, widgets, events, and registry facts.
|
||||
state: planned
|
||||
current_provider: core-hub
|
||||
evidence: Core Hub retains the compatibility/operator surface during consolidation.
|
||||
target: hub-core projection UI composed from domain extensions
|
||||
target_owner: hub-core
|
||||
routed_intake: 01a06e07-658e-73fa-9164-0b522504c0ee
|
||||
summary:
|
||||
capabilities: 6
|
||||
served: 5
|
||||
planned: 1
|
||||
dropped: 0
|
||||
34
inventory/repository-scope-reality-20260904.md
Normal file
34
inventory/repository-scope-reality-20260904.md
Normal file
|
|
@ -0,0 +1,34 @@
|
|||
# Participating repository scope versus reality
|
||||
|
||||
**Workplan task:** `SHR-WP-0002-T04`
|
||||
**Observed:** 2026-09-04
|
||||
|
||||
This ledger records current project interpretation and routes source-text
|
||||
corrections to their owners. It does not make this project authoritative for
|
||||
another repository's scope.
|
||||
|
||||
| Repository | Stated position | Observed reality | Disposition / route |
|
||||
| --- | --- | --- | --- |
|
||||
| `hub-core` | Importable package and target runtime; preserves a library boundary. | Candidate runtime is deployed on railiance01 and is the consolidation target. | Aligned; continue `HUB-WP-0004`. |
|
||||
| `core-hub` | Generation-3 production framework; hub-core described as a shared library with a future host decision. | Core Hub moved to railiance01 under `CORE-WP-0011`; hub-core now has a selected runtime shape and deployed candidate. | Refresh current-state prose: `01a06e07-7ca4-70de-a011-f9aad8655a50`. |
|
||||
| `state-hub` | Local-first coordination service; current scope does not foreground retirement. | Primary runs on railiance01; repository files remain authoritative while capabilities are being dispositioned. | Corrected in `STATE-WP-0081`; dashboard handoff: `01a06e07-658e-73fa-9164-0b522504c0ee`. |
|
||||
| `repo-manager` | Repository representation, file-backed indexing, and governed repository control. | Exact-commit Forge reconciliation is operational and replaced shared-checkout registrar writeback. | Aligned; preserve boundary. |
|
||||
| `activity-core` | Event bridge and execution authority; State Hub progress is a current safe sink. | Matches live transitional operation; it remains a migration caller until successor sinks are proven. | Aligned but re-check at `G-FREEZE`. |
|
||||
| `issue-core` | Optional external issue-tracker connector, not source of repository work. | Boundary is accurate; one obsolete Gitea PyPI publication target remains. | Registry cleanup: `01a06e08-7a37-7a86-b456-67a40fdc3fef`. |
|
||||
| `the-custodian` | Canon/continuity authority; standalone State Hub only as integration. | Matches the extraction and retirement architecture. | Aligned. |
|
||||
| `ops-hub` | Operations extension for Core Hub; generic framework remains in core-hub. | Domain ownership is correct, but the target generic framework owner is hub-core; Core Hub is transitional compatibility runtime. | Refresh ownership language: `01a06e07-ab16-734e-89b2-4b59796d5073`. |
|
||||
| `fin-hub` | Financial authority consuming generic hub primitives. | Boundary remains valid; Fabric authority correction already recorded separately. | Aligned. |
|
||||
| `railiance-fabric` | Repository-authored ecosystem graph and State Hub read-model export. | Boundary remains valid; State Hub is a replaceable consumer, not author. | Aligned. |
|
||||
| `ops-bridge` | Describes State Hub as workstation-local and remote nodes phoning home. | Primary State Hub now runs on railiance01; bridge/relay are access paths, not authority. | Refresh topology language: `01a06e07-cdc3-763d-a746-eaaa289baad6`. |
|
||||
|
||||
## Registry and lane routes found by the same reconciliation
|
||||
|
||||
| Owner | Required correction | Routed intake |
|
||||
| --- | --- | --- |
|
||||
| `ops-warden` | Decide `inter-hub-bootstrap-ssh`; retire/repoint obsolete Gitea publication lanes without moving credential custody. | `01a06e07-f2f9-7586-9745-b359eb0025b6` |
|
||||
| `whynot-design` | Publish `@whynot/design` through Forgejo before the lane is repointed. | `01a06e08-6936-7762-a347-f832182b7705` |
|
||||
| `issue-core` | Remove the redundant Gitea PyPI upload target. | `01a06e08-7a37-7a86-b456-67a40fdc3fef` |
|
||||
| `railiance-platform` | Remove the legacy Gitea ArgoCD source allow-list after confirming it is inert. | `01a06e08-9718-786e-b753-b56aa5f4c005` |
|
||||
|
||||
All listed intakes were moved to `routed` on 2026-09-04. Owner repositories
|
||||
must promote or absorb them through their normal workplan process.
|
||||
|
|
@ -4,7 +4,7 @@ type: workplan
|
|||
title: "Generation 3 serves from the host being decommissioned"
|
||||
domain: infotech
|
||||
repo: prj-state-hub-retirement
|
||||
status: active
|
||||
status: finished
|
||||
owner: codex
|
||||
topic_slug: state-hub-retirement
|
||||
created: "2026-08-20"
|
||||
|
|
@ -47,10 +47,10 @@ durable ground.
|
|||
|
||||
The immediate runtime risk has been resolved. `CORE-WP-0011` moved Core Hub to
|
||||
railiance01, its tasks are complete, and the project decision record documents
|
||||
the corrected generation-2 history and the CoulombCore exit. The project must
|
||||
still finish the cross-generation inventory and guardrails: the generation-2
|
||||
disposition file and repository-reality ledger do not yet exist, `G-GEN` has not
|
||||
been adopted, and live legacy package/access references remain.
|
||||
the corrected generation-2 history and the CoulombCore exit. This workplan now
|
||||
also supplies the generation-2 disposition inventory, repository-reality ledger,
|
||||
and `G-GEN`. Live legacy package/access references remain, but each has a routed
|
||||
owner intake and is no longer parked only in project prose.
|
||||
|
||||
## What was observed, 2026-08-20
|
||||
|
||||
|
|
@ -112,7 +112,7 @@ so the project's own record shows that the first reading was wrong and why.
|
|||
|
||||
```task
|
||||
id: SHR-WP-0002-T02
|
||||
status: todo
|
||||
status: done
|
||||
priority: high
|
||||
state_hub_task_id: "fdae9c55-5a85-5b11-91ed-0b724129d887"
|
||||
```
|
||||
|
|
@ -131,6 +131,11 @@ workplan), or **dropped** (and by whose decision).
|
|||
The expected output is uncomfortable and worth having: a list of things the
|
||||
estate intended to have, does not have, and has not decided to do without.
|
||||
|
||||
**Completed 2026-09-04.** `inventory/inter-hub-disposition.yaml` records six
|
||||
generation-2 capability groups: five served by the Core Hub compatibility
|
||||
runtime and one planned Hub Core operator-surface replacement. Nothing is
|
||||
silently classified as dropped.
|
||||
|
||||
## Relocate the generation-3 runtime
|
||||
|
||||
```task
|
||||
|
|
@ -198,7 +203,7 @@ vehicle that ultimately resolved this task.
|
|||
|
||||
```task
|
||||
id: SHR-WP-0002-T04
|
||||
status: todo
|
||||
status: done
|
||||
priority: medium
|
||||
state_hub_task_id: "3815d764-b484-5342-9c7d-2edacc02be13"
|
||||
```
|
||||
|
|
@ -213,11 +218,15 @@ Produce a table of every participating repository's stated position versus
|
|||
observed reality, and route each correction to its owner. Do **not** edit their
|
||||
files from here — the project's authority is the ledger, not the prose.
|
||||
|
||||
**Completed 2026-09-04.**
|
||||
`inventory/repository-scope-reality-20260904.md` reconciles eleven participating
|
||||
repositories and links each required correction to a routed owner intake.
|
||||
|
||||
## Sweep downstream lanes
|
||||
|
||||
```task
|
||||
id: SHR-WP-0002-T05
|
||||
status: progress
|
||||
status: done
|
||||
priority: medium
|
||||
state_hub_task_id: "c2957182-4bb3-5aa9-9940-656956cfe52d"
|
||||
```
|
||||
|
|
@ -242,11 +251,16 @@ runner lanes, but closure is incomplete. In particular,
|
|||
`inter-hub-bootstrap-ssh` remains an active high-risk catalog lane and needs an
|
||||
owner decision rather than silent deletion.
|
||||
|
||||
**Completed at the project boundary 2026-09-04.** The sweep and its method are
|
||||
recorded. The remaining lane decision is routed to ops-warden as
|
||||
`01a06e07-f2f9-7586-9745-b359eb0025b6`; package and platform dependencies have
|
||||
separate owner records linked under T07.
|
||||
|
||||
## Add a generation-transition gate
|
||||
|
||||
```task
|
||||
id: SHR-WP-0002-T06
|
||||
status: todo
|
||||
status: done
|
||||
priority: medium
|
||||
state_hub_task_id: "714ce904-bccd-5cd8-ae2e-a756f5c0bccc"
|
||||
```
|
||||
|
|
@ -262,11 +276,15 @@ consumers are reconciled, its downstream lanes are swept, and its successor is
|
|||
deployed somewhere that will still exist. Take it through the project's normal
|
||||
decision route rather than adding it unilaterally.
|
||||
|
||||
**Completed 2026-09-04.** `G-GEN` is adopted and recorded in `DECISIONS.md`.
|
||||
The gate itself remains `in_progress` for generation 2 until the routed
|
||||
lane/registry residuals close; adopting a gate does not waive its evidence.
|
||||
|
||||
## Retire CoulombCore registry dependencies
|
||||
|
||||
```task
|
||||
id: SHR-WP-0002-T07
|
||||
status: progress
|
||||
status: done
|
||||
priority: high
|
||||
state_hub_task_id: "a89cf85d-d613-5434-92cb-11f850889b08"
|
||||
```
|
||||
|
|
@ -289,6 +307,13 @@ surfaces: the `whynot-design-npm-publish` lane targets the old npm registry,
|
|||
bootstrap allow-list still admits Gitea repositories. Route and verify those
|
||||
residuals before marking this task done.
|
||||
|
||||
**Completed at the project boundary 2026-09-04.** Current implementation work is
|
||||
routed to `whynot-design` (`01a06e08-6936-7762-a347-f832182b7705`),
|
||||
`issue-core` (`01a06e08-7a37-7a86-b456-67a40fdc3fef`), `railiance-platform`
|
||||
(`01a06e08-9718-786e-b753-b56aa5f4c005`), and ops-warden
|
||||
(`01a06e07-f2f9-7586-9745-b359eb0025b6`). This project retains the consolidated
|
||||
evidence and gate; those repositories own the mutations.
|
||||
|
||||
**The two are not equally urgent** (corrected 2026-08-20 after checking each
|
||||
reference's liveness):
|
||||
|
||||
|
|
@ -431,6 +456,16 @@ not free of dependents because nothing tunnels to it. Feed that into `T06`'s
|
|||
resolves and authenticates* against the thing being switched off, not only what
|
||||
connects to it.
|
||||
|
||||
## Acceptance
|
||||
|
||||
- [x] Correct generation-2 retirement interpretation recorded
|
||||
- [x] Generation-2 capability dispositions explicit
|
||||
- [x] Core Hub production moved off CoulombCore
|
||||
- [x] Participating repository scope/reality ledger published
|
||||
- [x] Downstream lanes, credentials, jobs, and runners swept and residuals routed
|
||||
- [x] `G-GEN` adopted with measurable evidence requirements
|
||||
- [x] Registry dependencies classified and routed to implementation owners
|
||||
|
||||
## Related
|
||||
|
||||
- `SHR-WP-0001` — foundation and architecture baseline (finished)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue