From 3b399d2c94ac8b6f07d612e2ce2beb62e8be3e3e Mon Sep 17 00:00:00 2001 From: tegwick Date: Wed, 8 Jul 2026 11:21:59 +0200 Subject: [PATCH] CORE-WP-0007: document stabilization job deployment details Expand T02 and progress notes with schedule, probes, ActivityDefinition ids, railiance01 deployment evidence, and cluster State Hub event routing. --- workplans/CORE-WP-0007-haskell-retirement.md | 78 +++++++++++++++++--- 1 file changed, 67 insertions(+), 11 deletions(-) diff --git a/workplans/CORE-WP-0007-haskell-retirement.md b/workplans/CORE-WP-0007-haskell-retirement.md index 6350c13..4152b3a 100644 --- a/workplans/CORE-WP-0007-haskell-retirement.md +++ b/workplans/CORE-WP-0007-haskell-retirement.md @@ -8,7 +8,7 @@ status: active owner: codex topic_slug: custodian created: "2026-06-27" -updated: "2026-07-07" +updated: "2026-07-08" state_hub_workstream_id: "a8d66822-e435-4b1e-ad81-37a298d1795e" --- @@ -51,6 +51,12 @@ and production cutover gates from `CORE-WP-0005` are satisfied; the Inter-Hub k8s deployment in namespace `inter-hub` still runs as rollback-only (ingress already moved — see `k8s/railiance-production/README.md`). +Stabilization evidence is collected automatically through 2026-07-10 by the +scheduled `core_hub_stabilization_check` / `core_hub_stabilization_closeout` +jobs (see runbook `docs/deployment/stabilization-signoff.md`). T02 unblocks +when the closeout passes (`operator_signoff_needed=true`) and the operator +records retirement approval in State Hub. + Scope when unblocked: Forgejo repo rename, registry/Helm/CI path updates in `railiance-apps` and `railiance-forge`, and eventual scale-down of the rollback deployment after the stabilization window closes. @@ -124,16 +130,66 @@ Forgejo repo archived on `gitea.coulomb.social` (2026-07-07); git history and diagnostic docs remain available read-only. -## Progress 2026-07-07 — stabilization job scheduled +## Progress 2026-07-07 — stabilization job live on railiance01 -Post-cutover stabilization checks for T02 operator sign-off: +Post-cutover stabilization checks for T02 operator sign-off are implemented and +deployed. Runbook: `docs/deployment/stabilization-signoff.md`. -- `activity-core` `core-hub` context resolver: `stabilization_check` -- Activity definitions: `activity-definitions/core-hub-stabilization-{daily,closeout}.md` -- Manual script: `scripts/core_hub_stabilization_check.sh` (`make stabilization-check`) -- Runbook: `docs/deployment/stabilization-signoff.md` -- Window: 2026-07-03 → 2026-07-10 (daily 09:00 Europe/Berlin; closeout 2026-07-10T17:35Z) -- State Hub events: `core_hub_stabilization_check`, `core_hub_stabilization_closeout` +### Window and schedule -Requires activity-core image rebuild + k8s ConfigMap apply on railiance01 before -the schedule is live. \ No newline at end of file +| Item | Value | +| --- | --- | +| Window start | 2026-07-03 (production cutover) | +| Window end | 2026-07-10T17:35:00Z | +| Daily check | 09:00 Europe/Berlin | +| Closeout | one-shot at window end | + +Runs outside the window record `skipped` with `reason=outside_stabilization_window`. + +### Automated checks (`core-hub` / `stabilization_check`) + +| Probe | Expected | +| --- | --- | +| `GET /healthz` | 200 | +| `GET /readyz` | 200 | +| `GET /api/v2/widget-types` | 200, count ≥ 26 | +| `GET /api/v2/hubs` (unauthenticated) | 401 | + +Closeout sets `operator_signoff_needed=true` when `overall_pass=true`. + +### Activity definitions (canonical in core-hub) + +| Job | ActivityDefinition id | State Hub `event_type` | +| --- | --- | --- | +| Daily | `b4c8e2f1-6a3d-4e5b-9f0c-2d7e8a1b3c4d` | `core_hub_stabilization_check` | +| Closeout | `c5d9f3a2-7b4e-5f6c-0a1d-3e8f9b2c4d5e` | `core_hub_stabilization_closeout` | + +Files: `activity-definitions/core-hub-stabilization-{daily,closeout}.md`, projected +into `activity-core/k8s/railiance/20-runtime.yaml`. Progress events bind to +workstream `a8d66822…` / task `16eb7ce3…` (T02). + +### Manual companion + +```bash +make stabilization-check # scripts/core_hub_stabilization_check.sh +``` + +Optional: `make deployed-smoke` with `CORE_HUB_OPERATOR_TOKEN_FILE` for full +bootstrap evidence; `ops-hub` `make interhub-gate` against `hub.coulomb.social`. + +### activity-core deployment (railiance01) + +- Image: `activity-core:railiance01-prod` rebuilt and imported into k3s +- Resolver: `activity-core` `core-hub` context adapter (`stabilization_check`) +- Evidence sink fix: `core-hub` sources now post State Hub progress + (`activity-core` `726da05`) +- Deployed: `actcore-api`, `actcore-worker`, `actcore-event-router` rolled out; + `actcore-sync` registered both schedules on Temporal +- First live event (cluster State Hub + `http://state-hub.state-hub.svc.cluster.local:8000`, 2026-07-07T22:43:55Z): + `Core Hub stabilization daily: pass; base=https://hub.coulomb.social; + widget_types=26/26` + +Note: activity-core posts to the **cluster** State Hub on railiance01, not the +workstation fallback at `127.0.0.1:8000`. Query via `state-hub-primary` tunnel or +from inside the `activity-core` pod when reviewing evidence. \ No newline at end of file