Daily triage stuff

This commit is contained in:
2026-06-05 13:11:41 +02:00
parent 5ceb771a8f
commit 9a03677475
8 changed files with 356 additions and 39 deletions

View File

@@ -4,13 +4,13 @@ type: workplan
title: "Daily State Hub WSJF Triage"
domain: custodian
repo: the-custodian
status: active
status: finished
owner: custodian
topic_slug: custodian
planning_priority: high
planning_order: 44
created: "2026-05-17"
updated: "2026-05-17"
updated: "2026-06-04"
state_hub_workstream_id: "99993845-be6a-401d-be98-f8107014abed"
---
@@ -249,7 +249,7 @@ governance boundaries.
```task
id: CUST-WP-0044-T06
status: todo
status: done
priority: medium
depends_on: [CUST-WP-0044-T02, CUST-WP-0044-T03, CUST-WP-0044-T04, CUST-WP-0044-T05]
state_hub_task_id: "46c48fde-bb5f-4fe5-98cc-9cf788c98fc5"
@@ -269,6 +269,23 @@ Calibrate:
Done when the daily review is useful enough to continue as a standing
Custodian habit.
**2026-06-04:** T06 complete after reviewing three consecutive activity-core
daily triage notes:
- `memory/working/daily-triage-2026-06-02-f9b97749.md`
- `memory/working/daily-triage-2026-06-03-6d2737e3.md`
- `memory/working/daily-triage-2026-06-04-65e273bf.md`
The recommendations were stable and useful: `CUST-WP-0044` and `CUST-WP-0045`
were repeatedly ranked as high-confidence `work-next`, human-gated work stayed
clearly marked, and `CUST-WP-0046` remained visible as a revisit/unblock item.
Calibration notes live in
`docs/daily-statehub-wsjf-calibration-2026-06-04.md`. The main adjustment is
that future executable JSON reports must include rank plus WSJF component
scores; the schema, prompt, and ActivityDefinition were updated accordingly.
The daily review is useful enough to continue as a standing Custodian habit,
so `CUST-WP-0044` is finished.
## Acceptance Criteria
- The Custodian has a daily review path for the State Hub situation.
@@ -282,7 +299,7 @@ Custodian habit.
## Implementation Notes - 2026-05-17
The daily triage loop now has two explicit layers:
The daily triage loop initially had two explicit layers:
- Active runner: Codex app automation `daily-state-hub-wsjf-triage`.
- Durable target substrate: activity-core ActivityDefinition draft at
@@ -292,12 +309,13 @@ The reusable prompt, report template, WSJF procedure, loose-end detectors, and
recommendation gates live in
`runtime/prompts/daily_statehub_wsgi_triage.md`.
The activity-core definition is intentionally disabled while the Codex
automation is the active runner. It exists so the schedule and context contract
are reviewable in the same Markdown-as-definition style activity-core already
uses. When activity-core can run a Custodian agent/report action directly, this
definition should be enabled and the Codex app automation disabled, keeping a
single daily runner.
As of 2026-05-17, the activity-core definition was intentionally disabled while
the Codex automation was the active runner. It existed so the schedule and
context contract were reviewable in the same Markdown-as-definition style
activity-core already uses. The intended target was to enable that definition
and disable the Codex app automation once activity-core could run the
Custodian report action directly.
T06 remains open because it requires three actual daily runs and calibration
against follow-up work.
This changed after the activity-core cutover in `CUST-WP-0045`; the
ActivityDefinition is now the active runner and the three-run calibration is
complete.

View File

@@ -4,13 +4,13 @@ type: workplan
title: "Activity-Core Daily Triage Runner Cutover"
domain: custodian
repo: the-custodian
status: active
status: finished
owner: custodian
topic_slug: custodian
planning_priority: high
planning_order: 45
created: "2026-05-19"
updated: "2026-06-02"
updated: "2026-06-04"
state_hub_workstream_id: "d9d9a3ec-f736-4041-beac-bb92c7ad314e"
---
@@ -264,7 +264,7 @@ has completed successfully.
```task
id: CUST-WP-0045-T07
status: todo
status: done
priority: medium
depends_on: [CUST-WP-0045-T06]
state_hub_task_id: "b977c721-cadc-461f-8ffb-715d438e4c31"
@@ -288,7 +288,7 @@ without inspecting Codex Desktop session internals.
```task
id: CUST-WP-0045-T08
status: todo
status: done
priority: medium
depends_on: [CUST-WP-0045-T06, CUST-WP-0045-T07]
state_hub_task_id: "f4a985fd-8cce-4175-983e-cf3b437e19a5"
@@ -650,6 +650,51 @@ activity-core schedule stays paused.
surfaces, identical run_id across all four (file, progress event,
ActivityRun row, Temporal result)
## Implementation Notes - 2026-06-04
T07 is done by reusing the State Hub WSJF Triage review page from
`STATE-WP-0053` instead of adding another Custodian-local status surface.
Evidence:
- `STATE-WP-0053` is `finished`; its dashboard page is reachable from
Workstreams -> WSJF Triage and implemented in the State Hub dashboard at
`dashboard/src/wsjf-triage.md`.
- The page reads `/progress/?event_type=daily_triage&limit=14` and
`/workstreams/workplan-index`, shows live/last-updated state, recent reports,
report detail, linked recommendations, a 14-day pattern view, and run
metadata.
- The detail metadata includes `scheduled_for`, `activity_core_run_id`,
`activity_id`, `instruction_id`, and the working-memory note path, which is
enough for the operator to answer "did it run today?" from owned
State Hub/activity-core telemetry without inspecting Codex Desktop session
internals.
- The deeper command-level diagnostics remain in
`workplans/CUST-WP-0045-cutover-runbook.md`, including Temporal schedule /
workflow and ActivityRun checks.
- The schedule and missed-run policy remain documented in
`activity-definitions/daily-statehub-wsjf-triage.md`: daily at 07:20
Europe/Berlin with `misfire_policy: skip`. The chosen behavior is no
catch-up; if the activity-core host is offline at 07:20, the absence is
visible as no new report/event for that date.
T08 is done by the same 2026-06-04 calibration pass that closes
`CUST-WP-0044-T06`. Evidence:
- `memory/working/daily-triage-2026-06-02-f9b97749.md`
- `memory/working/daily-triage-2026-06-03-6d2737e3.md`
- `memory/working/daily-triage-2026-06-04-65e273bf.md`
- `docs/daily-statehub-wsjf-calibration-2026-06-04.md`
The three reports were produced by activity-core and were compared against the
actual follow-up work. The loop correctly kept `CUST-WP-0044` and
`CUST-WP-0045` at the top until this closeout, kept human-gated work separate,
and surfaced `CUST-WP-0046` as a blocked/revisit candidate instead of asking
for unsafe fallback retirement. Calibration tightened the executable report
schema so future runs include explicit WSJF ranks and component scores. With
T06, T07, and T08 complete, the activity-core daily triage runner cutover is
finished.
## Acceptance Criteria
- The daily State Hub WSJF triage runs from activity-core, not Codex app cron.

View File

@@ -4,13 +4,13 @@ type: workplan
title: "Activity-Core Hourly RecentlyOnScope Reports"
domain: custodian
repo: the-custodian
status: blocked
status: finished
owner: codex
topic_slug: custodian
planning_priority: high
planning_order: 46
created: "2026-05-22"
updated: "2026-05-23"
updated: "2026-06-04"
state_hub_workstream_id: "671153ff-55bc-4ace-aa97-f322ca76ab3c"
---
@@ -245,11 +245,10 @@ Done when both manual and scheduled canaries leave complete evidence.
```task
id: CUST-WP-0046-T06
status: blocked
status: done
priority: high
depends_on: [CUST-WP-0046-T05]
state_hub_task_id: "2a46a6c8-4d3e-4064-a935-c90ca0c76a6d"
blocking_reason: "Manual and scheduled hourly RecentlyOnScope canaries passed, but daily-state-hub-wsjf-triage is the CUST-WP-0045 daily WSJF fallback. Do not pause or delete it under CUST-WP-0046 until the daily WSJF activity-core definition has its own canary and cutover decision."
```
Remove the Codex app automation fallback from the operating path.
@@ -380,6 +379,29 @@ Remaining gate:
Codex app automation here would remove daily WSJF coverage before
`CUST-WP-0045` has its own canary.
This gate cleared on 2026-06-04 after `CUST-WP-0045` finished its activity-core
daily WSJF cutover and `CUST-WP-0044` finished the three-run calibration.
## Implementation Evidence - 2026-06-04
T06 is done.
- Decision: keep the old Codex Desktop automation
`daily-state-hub-wsjf-triage` paused rather than deleting it immediately.
This preserves a recoverable fallback without allowing it to run as a second
routine scheduler.
- Evidence: local Codex automation metadata shows
`daily-state-hub-wsjf-triage` with `status = "PAUSED"`.
- `activity-definitions/daily-statehub-wsjf-triage.md` is `enabled: true` and
now names activity-core as the active owned runner.
- `CUST-WP-0045` is finished; its T08 calibration used the June 2-4
activity-core daily triage notes.
- The 2026-06-04 calibration also updated the daily triage prompt/schema so
future reports include explicit WSJF ranks and component scores.
- Result: routine Custodian reporting no longer depends on an active Codex app
automation fallback. Daily WSJF and hourly RecentlyOnScope now both have
owned activity-core paths, so `CUST-WP-0046` is finished.
## Acceptance Criteria
- Hourly RecentlyOnScope reports are generated by activity-core, not Codex app