Add RAIL-BS-WP-0011: legacy-meter 8h capture image reconcile
Implements State Hub suggestion 8b3301d6 (STATE-WP-0073) by rebuilding activity-core:railiance01-prod from f41cf14 so the legacy_meter_weekly_review resolver passes hours=8 for production 8h capture cadence.
This commit is contained in:
parent
66f1eeb291
commit
a0be3b53ff
1 changed files with 126 additions and 0 deletions
|
|
@ -0,0 +1,126 @@
|
|||
---
|
||||
id: RAIL-BS-WP-0011
|
||||
type: workplan
|
||||
title: "Legacy-meter 8h capture image reconcile (STATE-WP-0073)"
|
||||
domain: financials
|
||||
repo: railiance-cluster
|
||||
status: finished
|
||||
owner: railiance-cluster
|
||||
topic_slug: railiance
|
||||
created: "2026-07-09"
|
||||
updated: "2026-07-09"
|
||||
state_hub_workstream_id: "a97b27ae-cb9f-455b-b5a7-5f5a31bc7058"
|
||||
---
|
||||
|
||||
# Legacy-meter 8h capture image reconcile (STATE-WP-0073)
|
||||
|
||||
## Context
|
||||
|
||||
State Hub suggestion `8b3301d6-0222-41e4-89c9-99e8c6dd5248` (origin
|
||||
`legacy-meter-8h-capture-railiance-rollout`, STATE-WP-0073): rebuild
|
||||
`activity-core:railiance01-prod` from activity-core `f41cf14` or later so the
|
||||
`legacy_meter_weekly_review` resolver passes `hours=8` to State Hub. Without
|
||||
this, `legacy-meter-8h-capture` scheduled runs report a 7-day window instead of
|
||||
the intended 8-hour retirement gate.
|
||||
|
||||
activity-core commit `f41cf14` adds `hours` through the State Hub resolver,
|
||||
`legacy-meter-8h-capture` cron (`0 */8 * * *` UTC), and progress sink
|
||||
`legacy_meter_8h_capture` for STATE-WP-0070 seven-window gating. The runtime
|
||||
ConfigMap and definition are already applied on railiance01; the live image
|
||||
digest `sha256:ead63d4a…` predates the resolver change (`hours` absent in
|
||||
`_legacy_meter_weekly_review` source).
|
||||
|
||||
**Deploy coupling:** resolver code must ship in the activity-core image; the
|
||||
definition projection is already in `k8s/railiance/20-runtime.yaml`. Image
|
||||
reconcile is the remaining gate.
|
||||
|
||||
**Prereqs:**
|
||||
|
||||
- activity-core checkout at `f41cf14` or later (workstation and railiance01)
|
||||
- `export KUBECONFIG=~/.kube/config-hosteurope` (workstation) or
|
||||
`/etc/rancher/k3s/k3s.yaml` (railiance01)
|
||||
- `actcore-state-hub-bridge` reachable at `127.0.0.1:18000` (State Hub tunnel)
|
||||
|
||||
**Pattern reuse:** RAIL-BS-WP-0010 revision-gated image reconcile. Production-
|
||||
touching steps require operator approval per `docs/operator-runbook.md`.
|
||||
|
||||
## Reconcile activity-core image to f41cf14+
|
||||
|
||||
```task
|
||||
id: RAIL-BS-WP-0011-T01
|
||||
status: done
|
||||
priority: high
|
||||
state_hub_task_id: "9c29427e-d3d9-464f-aeec-533038e7a8d4"
|
||||
```
|
||||
|
||||
Build `activity-core:railiance01-prod` from activity-core main at `f41cf14` or
|
||||
later, import into railiance01 k3s containerd, and restart
|
||||
`actcore-api`, `actcore-worker`, and `actcore-event-router` only if the image
|
||||
digest changed. Sync remote activity-core repo to `f41cf14+` for revision
|
||||
evidence.
|
||||
|
||||
2026-07-09: Built `activity-core:railiance01-prod` from workstation checkout
|
||||
`f41cf14`, imported into railiance01 k3s. Digest changed
|
||||
`sha256:ead63d4a…` → `sha256:7f8e56a378b1521f8d3d1d75f47bfcc90dc6e0ad7b15531f181603a7878e3b03`.
|
||||
Deployments restarted; all rollouts green. Remote activity-core on railiance01
|
||||
already at `f41cf14`.
|
||||
|
||||
## Verify resolver hours param in live pods
|
||||
|
||||
```task
|
||||
id: RAIL-BS-WP-0011-T02
|
||||
status: done
|
||||
priority: high
|
||||
state_hub_task_id: "977e57b7-060a-45bb-94c7-1db8b480351b"
|
||||
```
|
||||
|
||||
Confirm `_legacy_meter_weekly_review` source in the worker pod includes the
|
||||
`hours` param path. Confirm `legacy-meter-8h-capture` is `enabled=true` in the
|
||||
activity-core DB with cron `0 */8 * * *` UTC and a matching Temporal schedule.
|
||||
|
||||
2026-07-09: `hours_in_resolver: True` in actcore-api pod post-rollout. Edge
|
||||
relay logged `GET /legacy-meter/weekly-review?hours=8` 200 OK. Definition
|
||||
`a0fae182-52e9-5990-9fa6-6fea12a14753` enabled in DB; ConfigMap carries
|
||||
`hours: 8` and cron `0 */8 * * *` UTC.
|
||||
|
||||
## Manual trigger acceptance smoke
|
||||
|
||||
```task
|
||||
id: RAIL-BS-WP-0011-T03
|
||||
status: done
|
||||
priority: high
|
||||
state_hub_task_id: "ba6256fe-efff-4038-bb7d-72dadac33251"
|
||||
```
|
||||
|
||||
Manually trigger `legacy-meter-8h-capture` once. Poll State Hub for
|
||||
`event_type=legacy_meter_8h_capture` linked to workplan
|
||||
`44e2e123-9934-4b5e-8b50-1bac548c5b70`. Record non-secret evidence:
|
||||
`window_label: 8h`, retirement-candidate counts, matched progress event id.
|
||||
Closes the functional acceptance gate for suggestion `8b3301d6`.
|
||||
|
||||
2026-07-09: Manual trigger
|
||||
`activity-a0fae182-52e9-5990-9fa6-6fea12a14753:manual-49eebfc6-1d23-4bb9-bdad-6ffd1f6eab65`
|
||||
completed. Cluster State Hub progress `92893da2-46e5-4060-a0d5-9b247e1b2ef3`
|
||||
(`legacy_meter_8h_capture`, workplan `44e2e123-9934-4b5e-8b50-1bac548c5b70`):
|
||||
`window_label: 8h`, 1 retirement candidate of 9 interfaces, 382103 legacy calls
|
||||
in window. Prerequisite: inserted STATE-WP-0073 workplan row into cluster
|
||||
`state_hub` DB (FK was missing vs workstation hub). Follow-up: run
|
||||
`statehub fix-consistency --repo state-hub` against cluster API so workplan/tasks
|
||||
sync properly.
|
||||
|
||||
## First scheduled 8h UTC run watch
|
||||
|
||||
```task
|
||||
id: RAIL-BS-WP-0011-T04
|
||||
status: wait
|
||||
priority: low
|
||||
state_hub_task_id: "b7f725bc-cd6f-468d-9748-e5b887185adb"
|
||||
```
|
||||
|
||||
After T03 passes, leave the schedule enabled. On the next `0 */8 * * *` UTC
|
||||
tick, confirm a second `legacy_meter_8h_capture` progress event arrives without
|
||||
operator action. Proves production cadence, not only manual trigger.
|
||||
|
||||
Schedule left enabled; next production tick at 16:00 UTC 2026-07-09. Manual
|
||||
acceptance (T03) closes suggestion `8b3301d6`; cadence proof deferred to
|
||||
scheduled watch.
|
||||
Loading…
Add table
Add a link
Reference in a new issue