--- id: ACTIVITY-WP-0015 type: workplan title: "Adopt State Hub Beachhead Endpoint" domain: infotech repo: activity-core status: finished owner: claude topic_slug: activity-core created: "2026-06-24" updated: "2026-07-09" state_hub_workstream_id: "bbc07f9e-9323-4b2b-b556-c33b37d0b228" --- # Adopt State Hub Beachhead Endpoint Carries the **blocked remainder** of [[ACTIVITY-WP-0014]] T05. The in-repo half (idempotency-keyed State Hub writes) shipped in WP-0014; this workplan adopts the state-hub-owned **edge relay** (write outbox v1) for the railiance01 runtime. **Scope note (2026-07-09):** Path B — beachhead v1 shipped with write outbox and read cache for allowlisted `GET` routes. Deployed on railiance01 via Forgejo CI image `forgejo.coulomb.social/coulomb/state-hub:main-1cf949b` (commit `1cf949b`). ## Point STATE_HUB_URL at the beachhead ```task id: ACTIVITY-WP-0015-T01 status: done priority: medium state_hub_task_id: "76b6132d-394a-4a67-bef6-73bb9d1e277e" ``` `actcore-runtime-config` now sets `STATE_HUB_URL` to `http://actcore-statehub-edge-relay:8000`. The relay runs the state-hub edge relay image with upstream `state-hub.state-hub.svc.cluster.local:8000` and a PVC for the SQLite outbox. activity-core sinks accept HTTP 202 queued receipts as successful delivery pending replay (`parse_state_hub_write_response`). **Deployed (2026-07-09):** `actcore-statehub-edge-relay` 1/1 Ready; `GET /edge/health` reports `upstream_reachable: true`; warm-up showed `read_cache.entry_count: 1` and `X-StateHub-Edge-Cache: hit` on `/state/summary`. Optional outage drill (stale GET + queued write + outbox replay) and overnight triage proof remain open stabilization checks. ## Retire the bespoke actcore-state-hub-bridge proxy ```task id: ACTIVITY-WP-0015-T02 status: done priority: medium state_hub_task_id: "526c2129-cbf7-4531-a319-aebfc75cc6a3" ``` Removed `actcore-state-hub-bridge` Deployment/Service from `k8s/railiance/20-runtime.yaml`. Ops inventory and tests now reference `actcore-statehub-edge-relay`. **Deployed (2026-07-09):** legacy `actcore-state-hub-bridge` Deployment/Service deleted on railiance01. Overnight `daily-statehub-wsjf-triage` proof (original failure condition) is the remaining stabilization check.