Commit graph

512 commits

Author SHA1 Message Date
4541f1d6fc Test coverage for C-31 work-record sidetrack detector (CUST-WP-0060 review)
All checks were successful
CI Smoke / host-smoke (push) Successful in 0s
CI Smoke / container-smoke (push) Successful in 2s
16 tests: registry loading (env override, missing registry, unparseable
registry -> None, no crash), detector behavior against a synthetic
registry fixture (independent of the-custodian's live state, so stable
across canon changes) -- rogue ids flagged, all registered kinds incl.
grandfathered legacy patterns (AWQ-/DEC-/OH-/single-digit-task) pass,
template placeholders and .git/history dirs skipped, malformed yaml
doesn't crash the scan, dedup of repeated ids within a repo, no-op when
no registry is reachable.

Full consistency_check + consistency_sweep suite still green (128 tests,
no regressions from the C-31 addition).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-20 23:09:40 +02:00
59770145fd C-31 work-record sidetrack detector (CUST-WP-0060-T05)
All checks were successful
CI Smoke / host-smoke (push) Successful in 0s
CI Smoke / container-smoke (push) Successful in 2s
Warn on YAML-block ids matching no kind in the canon work-record type
registry (~/the-custodian/canon/standards/work-record-types.yaml, override
via WORK_RECORD_REGISTRY). Detection only; registration of non-workplan
kinds is a later stage. Skips template placeholders and repos without the
registry available.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-20 02:07:17 +02:00
814595c317 evidence: legacy-meter weekly reviews 2026-07-16..18 (STATE-WP-0070 automation)
All checks were successful
CI Smoke / host-smoke (push) Successful in 0s
CI Smoke / container-smoke (push) Successful in 1s
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-18 16:40:17 +02:00
451f02c1d5 feat(dashboard): expandable full text on decision cards
All checks were successful
CI Smoke / host-smoke (push) Successful in 0s
CI Smoke / container-smoke (push) Successful in 1s
Cards previously showed a hard 200-char snippet of description OR
rationale with no way to read the rest, and rationale was hidden
whenever a description existed. Long or dual-field cards now expand
in place (native <details>) to labeled full Description and Rationale
sections; short single-field cards render unchanged.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-17 19:26:12 +02:00
1906289997 docs(deploy): state-hub Forgejo image promote flow (CUST-WP-0059 T06)
All checks were successful
CI Smoke / host-smoke (push) Successful in 1s
CI Smoke / container-smoke (push) Successful in 2s
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-16 14:48:50 +02:00
custodian-sync
4d2898e2e2 chore(consistency): sync task status from DB [auto]
All checks were successful
CI Smoke / host-smoke (push) Successful in 0s
CI Smoke / container-smoke (push) Successful in 2s
Updated by fix-consistency on 2026-07-13:
  - update .custodian-brief.md for state-hub
2026-07-13 23:52:49 +00:00
92b23f2534 chore: archive finished STATE-WP-0070 (workplan terminology phase-2 retirement)
All checks were successful
CI Smoke / host-smoke (push) Successful in 1s
CI Smoke / container-smoke (push) Successful in 3s
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-14 00:27:57 +02:00
custodian-sync
739d76fb58 chore(consistency): sync task status from DB [auto]
All checks were successful
CI Smoke / host-smoke (push) Successful in 1s
CI Smoke / container-smoke (push) Successful in 56s
Updated by fix-consistency on 2026-07-14:
  - update .custodian-brief.md for state-hub
2026-07-14 00:27:13 +02:00
ac26bf2e66 STATE-WP-0070: closeout — T03/T04/T05 done, status finished
All checks were successful
CI Smoke / host-smoke (push) Successful in 1s
CI Smoke / container-smoke (push) Successful in 5s
Merge landed (df19c46), gate cleared, MCP restarted, suite green. Field-alias
+ flows/workstream.yaml retirement deferred to CUST-WP-0055 phase-3.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-14 00:21:53 +02:00
df19c464ff Merge STATE-WP-0070: retire legacy workstream MCP aliases + open_workstreams
All checks were successful
CI Smoke / host-smoke (push) Successful in 0s
CI Smoke / container-smoke (push) Successful in 2s
Build and Publish Multi-Context Image / build-and-push (push) Successful in 6m28s
Gate cleared: 10 consecutive 8h zero-usage meter windows (07-10 14:00 → 07-13 22:00).
Removes create/list/update_workstream(_status) MCP tools, state://workstreams
resource, and the open_workstreams summary mirror. workstream_id field alias and
flows/workstream.yaml remain (still have live callers).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-14 00:13:13 +02:00
custodian-sync
d15a9928b3 chore(consistency): sync task status from DB [auto]
All checks were successful
CI Smoke / host-smoke (push) Successful in 1s
CI Smoke / container-smoke (push) Successful in 3s
Updated by fix-consistency on 2026-07-13:
  - update .custodian-brief.md for state-hub
2026-07-13 13:22:05 +00:00
b59cff508a chore(wp-0070): daily legacy-meter evidence captures (07-12, 07-13)
All checks were successful
CI Smoke / host-smoke (push) Successful in 0s
CI Smoke / container-smoke (push) Successful in 2s
8h zero-usage window snapshots for the STATE-WP-0070 retirement gate.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-13 10:53:31 +02:00
bd1fa2a289 STATE-WP-0070: record staged T03/T04 removals + merge gate in workplan
Documents the unmerged state-wp-0070-legacy-retirement branch (T03 full,
T04 low-risk half), the deferred field-alias + flows/workstream.yaml, and
the 7th-zero-window merge gate. Task statuses unchanged until merge.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-13 10:08:38 +02:00
6d3de59436 STATE-WP-0070 T04 (partial): drop open_workstreams from /state/summary
Removes the redundant open_workstreams mirror field from StateSummary (schema,
router, MCP get_domain_summary reader, dashboard consumers + empty-state stub,
and tests). Consumers already preferred open_workplans, so this is the
low-risk half of T04.

Deferred (still have live callers — not yet retirement-ready):
- workstream_id query/body field alias on preferred routes — external
  session-close curls/scripts fleet-wide still send it.
- flows/workstream.yaml — /flows/workstream/{id} routes are still served and
  exercised by tests; retire only once no callers remain.

Staged on branch state-wp-0070-legacy-retirement — do not merge until the 7th
documented zero-usage window is captured.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-13 10:04:38 +02:00
ef62cb3872 STATE-WP-0070 T03: remove legacy workstream MCP aliases
Meter-gated removal (7 consecutive zero-usage windows reached). Deletes:
- MCP tools: create_workstream, list_workstreams, update_workstream,
  update_workstream_status
- MCP resource: state://workstreams/{topic_slug}
- Dead helpers: _LEGACY_MCP_* maps, _legacy_mcp_deprecation,
  _meter_legacy_mcp, _attach_legacy_deprecation, _update_workplan_legacy_impl

TOOLS.md keeps a retired→preferred migration map (per backlog). Removed the
now-dead STATEHUB_MCP_LEGACY_METER guard in conftest. Retargeted the
create_workplan error-skip test to the preferred tool; dropped alias-only tests.

Staged on branch state-wp-0070-legacy-retirement — do not merge until the 7th
documented zero-usage window is captured.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-13 09:29:12 +02:00
1acad4c02c chore(wp-0070): dashboard metering header + 8h zero-window evidence
Some checks failed
CI Smoke / host-smoke (push) Successful in 2s
CI Smoke / container-smoke (push) Failing after 12m58s
apiFetch sends X-StateHub-Component for legacy-meter attribution.
Captured legacy-meter-weekly-review-20260712.json (0 calls / 8h).
2026-07-12 01:09:43 +02:00
34016ee9ac docs: workstream caller status evidence; STATE-WP-0070 T04 progress
All checks were successful
CI Smoke / host-smoke (push) Successful in 0s
CI Smoke / container-smoke (push) Successful in 1s
2026-07-12 00:21:06 +02:00
90447b4258 docs(ecosystem): boundary alignment and route audit (STATE-WP-0074)
All checks were successful
CI Smoke / host-smoke (push) Successful in 0s
CI Smoke / container-smoke (push) Successful in 3s
Build and Publish Multi-Context Image / build-and-push (push) Successful in 1m53s
Add ecosystem position to INTENT/SCOPE/README, publish hub-ecosystem-route-audit,
update workstream-coordinate capability relations, and record legacy-meter
weekly review evidence.
2026-07-11 01:26:53 +02:00
54577cd847 fix(legacy-meter): guard MCP alias metering off in tests
Alias tests monkeypatch _get/_post but _meter_legacy_mcp uses _client()
directly, so every pytest run recorded real usage and reset zero-window
retirement streaks. STATEHUB_MCP_LEGACY_METER=off skips metering; set in
tests/conftest.py. Verified meter counts flat across the alias suite.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-10 21:47:46 +02:00
custodian-sync
a18fa13682 chore(consistency): sync task status from DB [auto]
All checks were successful
CI Smoke / host-smoke (push) Successful in 0s
CI Smoke / container-smoke (push) Successful in 6s
Updated by fix-consistency on 2026-07-10:
  - update .custodian-brief.md for state-hub
2026-07-10 15:22:51 +02:00
4603482efc chore(workplans): STATE-WP-0070 T03/T04 to progress
Some checks failed
CI Smoke / host-smoke (push) Successful in 1s
CI Smoke / container-smoke (push) Has been cancelled
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-10 15:22:07 +02:00
b2640a1591 feat(legacy-meter): meter MCP aliases and fix brief workstream_id label (STATE-WP-0070 T03/T04)
T03: MCP alias retirement gate was unstartable — deprecation notices existed
but no mcp:* interfaces were ever registered or metered. Add
_meter_legacy_mcp() posting /legacy-meter/usage (kind mcp_tool, component
state-hub.mcp) from create_workstream, list_workstreams, update_workstream,
update_workstream_status, and state://workstreams/{topic_slug}; register all
five phase-3 backlog keys so zero-window streaks accrue from today.

T04: trace residual POST /progress/ workstream_id (3 calls/8h, unknown) to
.custodian-brief.md labelling workplans "workstream_id:"; brief generator now
prints "workplan_id:". Briefs refresh on each repo's next fix-consistency run.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-10 15:21:49 +02:00
2943251c03 chore(workplans): register STATE-WP-0075 hub IDs from fix-consistency
All checks were successful
CI Smoke / host-smoke (push) Successful in 0s
CI Smoke / container-smoke (push) Successful in 4s
2026-07-10 13:33:37 +02:00
custodian-sync
c53d8333e0 chore(consistency): sync task status from DB [auto]
Some checks are pending
CI Smoke / host-smoke (push) Waiting to run
CI Smoke / container-smoke (push) Waiting to run
Updated by fix-consistency on 2026-07-10:
  - update .custodian-brief.md for state-hub
2026-07-10 13:33:20 +02:00
7036e2aa6b feat(api): retire phase-1/2 /workstreams REST aliases with 410 stranglers
Some checks failed
CI Smoke / host-smoke (push) Successful in 0s
CI Smoke / container-smoke (push) Has been cancelled
Build and Publish Multi-Context Image / build-and-push (push) Successful in 2m18s
Add retire_legacy_route() helper and convert CRUD, dependency, and
execution intent legacy routes to 410 Gone while preserving final-call
legacy-meter attribution. Update tests, retirement backlog, and close
STATE-WP-0075 with handoff to STATE-WP-0070 T02 and STATE-WP-0073 T04.
2026-07-10 13:31:57 +02:00
c4ac853e35 STATE-WP-0070/0073: 20260710 meter capture and streak progress notes
8h window shows zero phase-1 /workstreams REST calls; ~2/7 consecutive zero
windows toward 410 retirement gate.
2026-07-10 13:31:54 +02:00
custodian-sync
a0ce785529 chore(consistency): sync task status from DB [auto]
All checks were successful
CI Smoke / host-smoke (push) Successful in 0s
CI Smoke / container-smoke (push) Successful in 3s
Updated by fix-consistency on 2026-07-09:
  - update .custodian-brief.md for state-hub
2026-07-09 12:36:12 +00:00
custodian-sync
4e3ef53174 chore(consistency): sync task status from DB [auto]
All checks were successful
CI Smoke / host-smoke (push) Successful in 0s
CI Smoke / container-smoke (push) Successful in 10s
Updated by fix-consistency on 2026-07-09:
  - update .custodian-brief.md for state-hub
2026-07-09 13:47:40 +02:00
custodian-sync
784b0e8c00 chore(consistency): sync task status from DB [auto]
All checks were successful
CI Smoke / host-smoke (push) Successful in 0s
CI Smoke / container-smoke (push) Successful in 2s
Updated by fix-consistency on 2026-07-09:
  - update .custodian-brief.md for state-hub
2026-07-09 10:35:35 +00:00
e0f0b6d3c6 Migrate state-hub image and clone refs to Forgejo (RAIL-HO-WP-0006)
All checks were successful
CI Smoke / host-smoke (push) Successful in 0s
CI Smoke / container-smoke (push) Successful in 4s
2026-07-09 11:59:08 +02:00
custodian-sync
d9217c238d chore(consistency): sync task status from DB [auto]
All checks were successful
CI Smoke / host-smoke (push) Successful in 1s
CI Smoke / container-smoke (push) Successful in 2s
Updated by fix-consistency on 2026-07-09:
  - update .custodian-brief.md for state-hub
2026-07-09 08:21:02 +00:00
18cabc2bd8 STATE-WP-0073: document 8h legacy-meter capture schedule
All checks were successful
CI Smoke / host-smoke (push) Successful in 0s
CI Smoke / container-smoke (push) Successful in 3s
2026-07-09 09:29:41 +02:00
custodian-sync
1bba097211 chore(consistency): sync task status from DB [auto]
All checks were successful
CI Smoke / host-smoke (push) Successful in 0s
CI Smoke / container-smoke (push) Successful in 3s
Updated by fix-consistency on 2026-07-09:
  - update .custodian-brief.md for state-hub
2026-07-09 09:27:10 +02:00
a46d5aa2f5 STATE-WP-0073: meter delta zero, remote audit, k8s prompt rollout evidence
All checks were successful
CI Smoke / host-smoke (push) Successful in 0s
CI Smoke / container-smoke (push) Successful in 3s
Post-0072 8h capture shows zero legacy REST calls on hot keys. Document remote
sweep, railiance01 ConfigMap rollout, and gitea-remote sync blocker.
2026-07-09 09:26:21 +02:00
custodian-sync
8b6b28f220 chore(consistency): sync task status from DB [auto]
All checks were successful
CI Smoke / host-smoke (push) Successful in 0s
CI Smoke / container-smoke (push) Successful in 4s
Updated by fix-consistency on 2026-07-09:
  - update .custodian-brief.md for state-hub
2026-07-09 09:20:41 +02:00
custodian-sync
3e263cad10 chore(consistency): sync task status from DB [auto]
All checks were successful
CI Smoke / host-smoke (push) Successful in 0s
CI Smoke / container-smoke (push) Successful in 2s
Updated by fix-consistency on 2026-07-09:
  - update .custodian-brief.md for state-hub
2026-07-09 00:35:12 +00:00
f120c044d5 STATE-WP-0072: write hub workplan and task IDs from fix-consistency
All checks were successful
CI Smoke / host-smoke (push) Successful in 0s
CI Smoke / container-smoke (push) Successful in 1s
2026-07-09 02:06:35 +02:00
ef51b99ff5 STATE-WP-0072: remediate remaining workstream HTTP callers
All checks were successful
CI Smoke / host-smoke (push) Successful in 0s
CI Smoke / container-smoke (push) Successful in 5s
Research sweep captured in research/20260709-workstream-caller-sweep.md.
Migrate dashboard detail tasks query, custodian_cli POST bodies, and
onboarding curl to workplan-first paths; re-capture 8h legacy-meter evidence.
2026-07-09 01:48:53 +02:00
custodian-sync
3f1eac7bab chore(consistency): sync task status from DB [auto]
All checks were successful
CI Smoke / host-smoke (push) Successful in 0s
CI Smoke / container-smoke (push) Successful in 3s
Updated by fix-consistency on 2026-07-09:
  - update .custodian-brief.md for state-hub
2026-07-09 01:38:15 +02:00
e302ca9f59 Add 8-hour default window for legacy-meter deploy monitoring
Some checks failed
CI Smoke / host-smoke (push) Successful in 0s
CI Smoke / container-smoke (push) Successful in 5s
Build and Publish Multi-Context Image / build-and-push (push) Failing after 1m15s
Expose hours query param on /legacy-meter/summary and weekly-review;
capture_legacy_meter_evidence.py defaults to --hours 8 (--days 7 for
weekly retirement gate). Re-capture post-deploy evidence with tighter window.
2026-07-09 01:36:02 +02:00
custodian-sync
674479dcc7 chore(consistency): sync task status from DB [auto]
All checks were successful
CI Smoke / host-smoke (push) Successful in 0s
CI Smoke / container-smoke (push) Successful in 2s
Updated by fix-consistency on 2026-07-08:
  - update .custodian-brief.md for state-hub
2026-07-08 23:21:15 +00:00
custodian-sync
cd4cbb66c2 chore(consistency): sync task status from DB [auto]
All checks were successful
CI Smoke / host-smoke (push) Successful in 0s
CI Smoke / container-smoke (push) Successful in 2s
Updated by fix-consistency on 2026-07-09:
  - update .custodian-brief.md for state-hub
2026-07-09 01:10:00 +02:00
9343981c6a deploy: pin railiance helm image to main-1cf949b (edge read cache)
Some checks failed
CI Smoke / host-smoke (push) Successful in 1s
CI Smoke / container-smoke (push) Has been cancelled
2026-07-09 01:09:41 +02:00
35c996416b Complete STATE-WP-0071 railiance01 caller migration deploy
All checks were successful
CI Smoke / host-smoke (push) Successful in 4s
CI Smoke / container-smoke (push) Successful in 40s
Deploy activity-core:railiance01-prod (1a06368), repair railiance01 git
checkouts, roll k8s runtime, run consistency sweep canary, and capture
legacy-meter evidence with fix-consistency attribution. Mark STATE-WP-0070
T01 done; finish STATE-WP-0071.
2026-07-09 01:08:45 +02:00
custodian-sync
0562ef4b46 chore(consistency): sync task status from DB [auto]
All checks were successful
CI Smoke / host-smoke (push) Successful in 6s
CI Smoke / container-smoke (push) Successful in 9s
Updated by fix-consistency on 2026-07-09:
  - update .custodian-brief.md for state-hub
2026-07-09 01:08:01 +02:00
1cf949bda4 feat(edge): add offline read cache for allowlisted State Hub GET routes
All checks were successful
CI Smoke / host-smoke (push) Successful in 0s
CI Smoke / container-smoke (push) Successful in 2s
Build and Publish Multi-Context Image / build-and-push (push) Successful in 51s
The edge relay now persists successful GET responses and serves them with
stale markers when upstream is unreachable. Extend Forgejo image workflow
path filters so api changes trigger registry publishes.
2026-07-09 01:04:15 +02:00
138299293d Activate STATE-WP-0071 for railiance01 deploy execution
All checks were successful
CI Smoke / host-smoke (push) Successful in 0s
CI Smoke / container-smoke (push) Successful in 3s
Register workplan and tasks in hub (cf7199a1); set status active after
operator review so Ralph loop can drive T01–T06 automatically.
2026-07-09 00:56:19 +02:00
custodian-sync
c91e46777a chore(consistency): sync task status from DB [auto]
All checks were successful
CI Smoke / host-smoke (push) Successful in 1s
CI Smoke / container-smoke (push) Successful in 4s
Updated by fix-consistency on 2026-07-09:
  - update .custodian-brief.md for state-hub
2026-07-09 00:56:00 +02:00
custodian-sync
0cc350d452 chore(consistency): sync task status from DB [auto]
All checks were successful
CI Smoke / host-smoke (push) Successful in 0s
CI Smoke / container-smoke (push) Successful in 2s
Updated by fix-consistency on 2026-07-08:
  - update .custodian-brief.md for state-hub
2026-07-08 22:51:19 +00:00
3dd6ef87dd Add STATE-WP-0071 workplan for railiance01 caller migration deploy
All checks were successful
CI Smoke / host-smoke (push) Successful in 1s
CI Smoke / container-smoke (push) Successful in 5s
Operational deploy plan for WSL baseline, ops-bridge tunnels, railiance01 git
repair, activity-core k8s rollout, and legacy-meter verification. Links from
STATE-WP-0070 T01; status proposed pending operator review.
2026-07-09 00:50:24 +02:00