diff --git a/workplans/ACTIVITY-WP-0015-adopt-statehub-beachhead-endpoint.md b/workplans/ACTIVITY-WP-0015-adopt-statehub-beachhead-endpoint.md index b49998b..e5d2082 100644 --- a/workplans/ACTIVITY-WP-0015-adopt-statehub-beachhead-endpoint.md +++ b/workplans/ACTIVITY-WP-0015-adopt-statehub-beachhead-endpoint.md @@ -18,11 +18,9 @@ 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. -**2026-07-09 update:** state-hub edge relay read cache landed for allowlisted -`GET` routes; activity-core consumes stale cache transparently. Operator deploy -of a state-hub image containing the read-cache code is still required on -railiance01. +**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 @@ -39,11 +37,11 @@ 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`). -**Operator verification still required on railiance01:** apply the manifest with a -state-hub image that includes edge read cache, confirm `GET /edge/health` shows -`upstream_reachable: true` and `read_cache.entry_count > 0` after warm-up, -simulate upstream outage to confirm stale `GET /state/summary` and queued progress -writes, then replay with `statehub outbox replay`. +**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 @@ -58,6 +56,6 @@ Removed `actcore-state-hub-bridge` Deployment/Service from `k8s/railiance/20-runtime.yaml`. Ops inventory and tests now reference `actcore-statehub-edge-relay`. -**Operator verification still required:** one overnight `daily-statehub-wsjf-triage` -run after deploy (original failure condition). If upstream was briefly down, -check the relay outbox and replay before closing the stabilization window. \ No newline at end of file +**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. \ No newline at end of file