railiance-apps/workplans/archived/260702-RAPPS-WP-0010-inter-hub-production-trigger-hardening.md
codex d03edc946c
All checks were successful
CI Smoke / host-smoke (push) Successful in 0s
CI Smoke / container-smoke (push) Successful in 1s
fix(workplans): migrate archived workplans off the retired RAILIANCE-WP prefix
Completes the migration begun on 2026-08-25, which covered active workplans
only. The archived copies kept their historical identifiers, and three
repositories shared one number space — so their task identifiers collided,
blocking task-level projection reset for those workplans.

Numbering continues each repository's active sequence rather than restarting,
so no identifier is reused. Projection UUIDs are re-derived from the new
canonical ids.

Refs CUST-WP-0068, STATE-WP-0083-T06

Assistant: claude-code
Assistant-Model: opus
Assistant-Process: 2583210@bnt-lap001
Assistant-Session: f2bff2d5-e9b2-4338-92ca-10282a927006
2026-08-26 08:05:43 +02:00

2.5 KiB

id type title domain repo status owner topic_slug created updated state_hub_workstream_id
RAPPS-WP-0010 workplan Inter-Hub production trigger hardening financials railiance-apps finished codex railiance 2026-06-15 2026-06-15 cf16e32c-c584-5147-b02f-9d4f81bdfb9f

Terminology note: Historical text in this archived workplan may use the legacy term "workstream". The fleet term is workplan (canon/standards/workplan-terminology-fleet_v0.1.md).

Inter-Hub production trigger hardening

Goal

Turn the local Inter-Hub deploy surface into a safe production trigger for Railiance01. The trigger must refuse missing images before Helm, use the current Inter-Hub v2 API smoke contract, and expose a manual workflow path that has the same gates as an attended local operator deploy.

Add OCI Image Preflight

id: RAPPS-WP-0010-T01
status: done
priority: high
state_hub_task_id: "445d134f-f3db-5f23-adcc-5a11f4f990e9"

Add a reusable image manifest preflight for gitea.coulomb.social/coulomb/inter-hub:<tag> and wire production deploys to fail before Helm when the requested tag is absent or inaccessible.

Split Baseline Render From Production Dry-Run

id: RAPPS-WP-0010-T02
status: done
priority: high
state_hub_task_id: "cd05ad19-70c9-5e97-8627-515b7b43de07"

Keep a baseline render target for chart validation with checked-in values, but make production-facing Inter-Hub dry-runs require an explicit INTER_HUB_IMAGE_TAG.

Update Inter-Hub Smoke Contract

id: RAPPS-WP-0010-T03
status: done
priority: high
state_hub_task_id: "6f0a6f89-32e3-5489-8801-6e554d8e27d3"

Update inter-hub-smoke to match the current public-read/authenticated-write contract: /api/v2/hubs returns public discovery, protected resources reject anonymous access, and OpenAPI is served from /api/v2/openapi.json.

Add Manual Production Deploy Workflow

id: RAPPS-WP-0010-T04
status: done
priority: high
state_hub_task_id: "ef8be640-c9c9-5984-a298-b8d3cfca5bef"

Add a workflow_dispatch Gitea Actions workflow that requires an immutable image tag and confirmation text, verifies the image manifest, runs Helm server-side dry-run, deploys, shows status, and runs smoke checks.

Update Runbook And Closure Evidence

id: RAPPS-WP-0010-T05
status: done
priority: medium
state_hub_task_id: "d38e52f8-195a-5df5-963b-e21a3a5c9e91"

Document the local and workflow production paths, failure classification for a missing image tag, current smoke expectations, and validation evidence for the implemented deploy surface.