2026-07-09 09:26:21 +02:00
|
|
|
|
---
|
|
|
|
|
|
id: STATE-WP-0073
|
|
|
|
|
|
type: workplan
|
|
|
|
|
|
title: "Legacy-meter decline monitoring and remote caller audit"
|
|
|
|
|
|
domain: infotech
|
|
|
|
|
|
repo: state-hub
|
2026-07-10 13:31:57 +02:00
|
|
|
|
status: finished
|
2026-07-09 09:26:21 +02:00
|
|
|
|
owner: codex
|
|
|
|
|
|
topic_slug: custodian
|
|
|
|
|
|
planning_priority: high
|
|
|
|
|
|
planning_order: 73
|
|
|
|
|
|
created: "2026-07-09"
|
2026-07-10 13:31:57 +02:00
|
|
|
|
updated: "2026-07-10"
|
2026-07-09 09:26:21 +02:00
|
|
|
|
state_hub_workstream_id: "44e2e123-9934-4b5e-8b50-1bac548c5b70"
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
|
|
|
|
# STATE-WP-0073 — Legacy-meter decline monitoring and remote caller audit
|
|
|
|
|
|
|
|
|
|
|
|
**Parent:** `STATE-WP-0070` T02 (phase-2 legacy retirement).
|
|
|
|
|
|
|
|
|
|
|
|
**Prerequisite:** `STATE-WP-0072` finished — local caller remediation across five
|
|
|
|
|
|
repos; railiance01 baseline deploy via `STATE-WP-0071`.
|
|
|
|
|
|
|
|
|
|
|
|
**Baseline evidence:** `docs/evidence/legacy-meter-weekly-review-20260709.json`
|
|
|
|
|
|
(8h window ending 2026-07-08T23:48Z).
|
|
|
|
|
|
|
|
|
|
|
|
## Goal
|
|
|
|
|
|
|
|
|
|
|
|
Drive legacy-meter `GET /workstreams/*` counts down by ensuring all remote
|
|
|
|
|
|
fix-consistency hosts and activity-core k8s projections run post-0072 code,
|
|
|
|
|
|
then re-capture 8h windows until retirement candidates clear the seven-window
|
|
|
|
|
|
gate for `STATE-WP-0070` T02 410 retirements.
|
|
|
|
|
|
|
|
|
|
|
|
## Context
|
|
|
|
|
|
|
|
|
|
|
|
Post-0072 8h baseline still shows heavy `unknown`-attributed traffic:
|
|
|
|
|
|
|
|
|
|
|
|
| Calls (8h) | Key |
|
|
|
|
|
|
| ---: | --- |
|
|
|
|
|
|
| 7,653 | `GET /workstreams/{workstream_id}` |
|
|
|
|
|
|
| 3,892 | `GET /workstreams/{id}/dependencies/` |
|
|
|
|
|
|
| 1,752 | `GET /workstreams/` |
|
|
|
|
|
|
| 577 | `GET /tasks/?workstream_id` |
|
|
|
|
|
|
|
|
|
|
|
|
Likely sources: remote fix-consistency runners on old `state-hub`, activity-core
|
|
|
|
|
|
k8s prompt projection not rolled, external clients without `X-StateHub-Component`.
|
|
|
|
|
|
|
|
|
|
|
|
Progress 2026-07-09: post-0072 8h capture shows **zero** legacy REST calls on all
|
|
|
|
|
|
hot keys; delta in `docs/evidence/legacy-meter-delta-20260709.md`. Remote sweep
|
|
|
|
|
|
exit 0; k8s ConfigMap updated on railiance01. **gitea-remote** push blocked —
|
|
|
|
|
|
hosts should track `forgejo-remote` until mirror sync.
|
|
|
|
|
|
|
2026-07-09 09:29:41 +02:00
|
|
|
|
Scheduled `legacy-meter-8h-capture` on railiance01 (`0 */8 * * *` UTC) via
|
|
|
|
|
|
activity-core; posts `legacy_meter_8h_capture` progress for seven-window gate.
|
2026-07-10 10:42:02 +02:00
|
|
|
|
WSL crontab mirrors git evidence capture. **Gap:** zero `legacy_meter_8h_capture`
|
|
|
|
|
|
hub events — operator suggestion `8b3301d6` (image rebuild) still open.
|
|
|
|
|
|
|
|
|
|
|
|
Progress 2026-07-10: evidence `legacy-meter-weekly-review-20260710.json`; phase-1
|
|
|
|
|
|
`/workstreams/*` keys at 0 calls (candidates). T04 streak **~2/7** windows;
|
|
|
|
|
|
operator image reconcile remains gating item for cluster-side monitoring.
|
2026-07-09 09:29:41 +02:00
|
|
|
|
|
2026-07-09 09:26:21 +02:00
|
|
|
|
## Task: Fresh meter baseline and monitoring cadence
|
|
|
|
|
|
|
|
|
|
|
|
```task
|
|
|
|
|
|
id: STATE-WP-0073-T01
|
|
|
|
|
|
status: done
|
|
|
|
|
|
priority: high
|
|
|
|
|
|
state_hub_task_id: "6893c8aa-cc7e-4adc-bef6-cf644f2c2f66"
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
1. Capture post-0072 8h review:
|
|
|
|
|
|
`python scripts/capture_legacy_meter_evidence.py`
|
|
|
|
|
|
2. Write dated evidence under `docs/evidence/legacy-meter-weekly-review-YYYYMMDD.json`.
|
|
|
|
|
|
3. Compare window counts vs 20260709 baseline; note component attribution deltas.
|
|
|
|
|
|
4. Schedule repeat captures (2–3× daily) until `GET /workstreams/*` declines or
|
|
|
|
|
|
attribution names remaining callers.
|
|
|
|
|
|
|
|
|
|
|
|
Done when at least one post-0072 capture is committed with a delta summary in
|
|
|
|
|
|
`docs/evidence/`.
|
|
|
|
|
|
|
|
|
|
|
|
## Task: Remote fix-consistency host audit
|
|
|
|
|
|
|
|
|
|
|
|
```task
|
|
|
|
|
|
id: STATE-WP-0073-T02
|
|
|
|
|
|
status: done
|
|
|
|
|
|
priority: high
|
|
|
|
|
|
state_hub_task_id: "2f53ce3f-3229-454f-ac54-42b0165d8b04"
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
1. `bridge status` — tunnels connected (`state-hub-railiance01`, MCP paths).
|
|
|
|
|
|
2. WSL `state-hub` ≥ `f120c04`; hub API healthy.
|
|
|
|
|
|
3. Run `statehub fix-consistency --all --remote --api-base http://127.0.0.1:8000`
|
|
|
|
|
|
(or `POST /consistency/sweep/remote-all`).
|
|
|
|
|
|
4. Record per-host `state-hub` / `activity-core` SHAs and sweep exit codes.
|
|
|
|
|
|
5. Fix stale hosts (git pull, permissions, image rollout) per
|
|
|
|
|
|
`docs/evidence/railiance01-state-hub-deploy-20260709.md`.
|
|
|
|
|
|
|
|
|
|
|
|
Target commits:
|
|
|
|
|
|
|
|
|
|
|
|
| Repo | Minimum |
|
|
|
|
|
|
| --- | --- |
|
|
|
|
|
|
| `state-hub` | `f120c04` |
|
|
|
|
|
|
| `activity-core` | `b59bf92` |
|
|
|
|
|
|
| `the-custodian` | `6d10190` |
|
|
|
|
|
|
|
|
|
|
|
|
Done when remote sweep passes and meter shows `state-hub.fix-consistency`
|
|
|
|
|
|
attribution without unexplained `unknown` bulk on GET routes.
|
|
|
|
|
|
|
|
|
|
|
|
## Task: activity-core k8s prompt rollout
|
|
|
|
|
|
|
|
|
|
|
|
```task
|
|
|
|
|
|
id: STATE-WP-0073-T03
|
|
|
|
|
|
status: done
|
|
|
|
|
|
priority: high
|
|
|
|
|
|
state_hub_task_id: "8ede25cd-c393-449d-98a6-1cd9456c8a12"
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
Roll `activity-core/k8s/railiance/21-custodian-runtime.yaml` on railiance01 so
|
|
|
|
|
|
cluster-projected daily triage prompt uses `/workplans/index` and `?workplan_id=`
|
|
|
|
|
|
(not legacy `/workstreams/workplan-index`).
|
|
|
|
|
|
|
|
|
|
|
|
1. Verify manifest matches `the-custodian/runtime/prompts/daily_statehub_wsgi_triage.md`.
|
|
|
|
|
|
2. Apply k8s rollout on railiance01; confirm pod restart healthy.
|
|
|
|
|
|
3. Capture evidence (pod age, image tag, prompt checksum).
|
|
|
|
|
|
|
|
|
|
|
|
Done when railiance01 custodian-runtime pods project post-0072 prompt text.
|
|
|
|
|
|
|
|
|
|
|
|
## Task: Retire next meter-cleared REST key (T02 handoff)
|
|
|
|
|
|
|
|
|
|
|
|
```task
|
|
|
|
|
|
id: STATE-WP-0073-T04
|
2026-07-10 13:31:57 +02:00
|
|
|
|
status: done
|
2026-07-09 09:26:21 +02:00
|
|
|
|
priority: medium
|
|
|
|
|
|
state_hub_task_id: "0a8effe8-3ac6-42d5-97ca-7cd830d2d555"
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
When `POST /workstreams/{workstream_id}/dependencies/` shows **seven consecutive**
|
|
|
|
|
|
8h zero-usage windows:
|
|
|
|
|
|
|
|
|
|
|
|
1. Return **410 Gone** (match `workplan-index` / `DELETE` pattern).
|
|
|
|
|
|
2. Update tests and backlog checklist.
|
|
|
|
|
|
3. Capture via `--retire-keys` on evidence script.
|
|
|
|
|
|
|
2026-07-10 13:31:57 +02:00
|
|
|
|
Done 2026-07-10 via `STATE-WP-0075`: phase-1 and phase-2 REST stranglers return
|
|
|
|
|
|
410 Gone with legacy-meter on final call. Unblocked `STATE-WP-0070` T02 REST
|
|
|
|
|
|
retirement batch.
|
2026-07-09 09:26:21 +02:00
|
|
|
|
|
|
|
|
|
|
## Task: Attribution sprint if meter flat
|
|
|
|
|
|
|
|
|
|
|
|
```task
|
|
|
|
|
|
id: STATE-WP-0073-T05
|
|
|
|
|
|
status: cancel
|
|
|
|
|
|
priority: medium
|
|
|
|
|
|
state_hub_task_id: "c8a80ffa-5076-484d-b86a-9bffc09889f7"
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
Cancelled 2026-07-09: meter declined to zero on hot keys — attribution sprint not
|
|
|
|
|
|
needed. Reopen if a later capture shows flat/high counts.
|
|
|
|
|
|
|
|
|
|
|
|
If post-audit 8h captures show no meaningful decline:
|
|
|
|
|
|
|
|
|
|
|
|
1. Fleet `rg` for `/workstreams` runtime callers (exclude workplans/tests).
|
|
|
|
|
|
2. Add `X-StateHub-Component` to stragglers.
|
|
|
|
|
|
3. Append findings to `research/YYYYMMDD-workstream-caller-sweep.md`.
|
|
|
|
|
|
|
|
|
|
|
|
Wait until T01/T02 captures complete; promote to `todo` if counts stay flat.
|