core-hub/workplans/CORE-WP-0007-haskell-retirement.md
tegwick 3b399d2c94
All checks were successful
CI Smoke / host-smoke (push) Successful in 0s
CI Smoke / container-smoke (push) Successful in 5s
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.
2026-07-08 11:21:59 +02:00

7.3 KiB
Raw Blame History

id type title domain repo status owner topic_slug created updated state_hub_workstream_id
CORE-WP-0007 workplan Retire Haskell/IHP infrastructure after Core Hub cutover infotech core-hub active codex custodian 2026-06-27 2026-07-08 a8d66822-e435-4b1e-ad81-37a298d1795e

Retire Haskell/IHP infrastructure after Core Hub cutover

Remove the Haskell dependency from the production interaction framework after the replacement is proven.

CORE-WP-0005 finished 2026-07-03: hub.coulomb.social ingress now serves Core Hub; Inter-Hub compatibility, staging import, dual-run smokes, and production cutover gates are closed. Haskell retirement no longer waits on migration work — it waits on a short post-cutover stabilization window, operator approval to retire the Inter-Hub rollback deployment, and the four tasks below.

Retire Probe Repo

id: CORE-WP-0007-T01
status: done
priority: medium
state_hub_task_id: "d3a494a3-dc23-491f-af32-1d19120b3aae"

Rename or archive ihp-railiance-probe (coulomb/ihp-railiance-probe), preserving INTENT.md and DeploymentBlueprint.md notes about the failed IHP/GHC/Nix build path. IRP-WP-0001 is already done; this task is unblocked and can proceed independently of T02T04.

Rename Production Inter-Hub Repo

id: CORE-WP-0007-T02
status: wait
priority: high
state_hub_task_id: "16eb7ce3-b574-4667-a189-c14ff5d0502b"

Rename inter-hub to inter-hub-haskell after operator stabilization sign-off and approval to retire the Inter-Hub rollback path. Compatibility, migration, 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.

Decommission Haskell Build Lane

id: CORE-WP-0007-T03
status: wait
priority: medium
state_hub_task_id: "bea9943c-916f-402f-a6d9-7907bb48137c"

Retire or park haskelseed runner labels, the haskell-build VM profile, IHP/GHC/Nix/devenv docs, and build-machine workplans after T02 completes and no active repo still needs Haskell image builds. Primary touchpoints: railiance-forge runner substrate docs, sand-boxer profile.vm-haskell-build, and ops-bridge haskelseed tunnel notes.

Update Cross-Repo References

id: CORE-WP-0007-T04
status: wait
priority: medium
state_hub_task_id: "ed7f8e01-5305-465c-8bfc-04bc47bfdf40"

After T02, update docs and workplans in consuming repos so production Inter-Hub references point to Core Hub and historical Haskell context explicitly names inter-hub-haskell. Known stale surfaces: ops-hub INTENT/SCOPE/README and readiness docs; activity-core railiance probes and sink vocabulary; the-custodian service catalog and drain plans. Core Hub specs and migration fixtures already use inter-hub-haskell as the bundle source name.

Progress 2026-07-07 — upstream gate cleared

CORE-WP-0005 archived (260703-CORE-WP-0005-data-migration-and-cutover.md). Production cutover executed 2026-07-03: Core Hub serves hub.coulomb.social; post-flip reconcile import was idempotent (0 created / 28 updated / 0 errors); rollback remains one kubectl command while the Inter-Hub deployment stays running through stabilization.

Revised sequencing:

  1. T01 — unblocked; archive ihp-railiance-probe first (low risk).
  2. T02 — cutover prerequisites met; blocked on operator stabilization sign-off and approval to retire the Inter-Hub rollback deployment.
  3. T03 — blocked on T02 and confirmation that no repo still schedules Haskell builds through haskelseed.
  4. T04 — blocked on T02 so references use the final repo name.

Related finished workplans: CORE-WP-0004 (compatibility smokes), CORE-WP-0005 (migration/cutover), CORE-WP-0008 (deployed ops evidence).

Completion 2026-07-07 — T01 probe repo archived

ihp-railiance-probe retired in-repo:

  • README.md marks the repo archived and points to preserved docs
  • INTENT.md and SCOPE.md updated with retirement context
  • IRP-WP-0001 moved to workplans/archived/260707-IRP-WP-0001-pipeline-validation.md (status: archived)
  • Gitea/Forgejo CI workflows switched to workflow_dispatch only (no push triggers)

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 live on railiance01

Post-cutover stabilization checks for T02 operator sign-off are implemented and deployed. Runbook: docs/deployment/stabilization-signoff.md.

Window and schedule

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

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.