core-hub/workplans/CORE-WP-0007-haskell-retirement.md
tegwick e3f01a46e7
All checks were successful
CI Smoke / host-smoke (push) Successful in 0s
CI Smoke / container-smoke (push) Successful in 2s
Build and Publish Container Image / build-and-push (push) Successful in 18s
Schedule Core Hub stabilization checks for T02 sign-off
Add daily and closeout ActivityDefinitions, a manual stabilization script,
runbook, and workplan notes for the 2026-07-03 to 2026-07-10 window.
2026-07-08 00:27:13 +02:00

139 lines
No EOL
5.2 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: CORE-WP-0007
type: workplan
title: "Retire Haskell/IHP infrastructure after Core Hub cutover"
domain: infotech
repo: core-hub
status: active
owner: codex
topic_slug: custodian
created: "2026-06-27"
updated: "2026-07-07"
state_hub_workstream_id: "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
```task
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
```task
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`).
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
```task
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
```task
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 scheduled
Post-cutover stabilization checks for T02 operator sign-off:
- `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`
Requires activity-core image rebuild + k8s ConfigMap apply on railiance01 before
the schedule is live.