From 90477f3f0d7338d9333bcbfe3dc06bc12847558c Mon Sep 17 00:00:00 2001 From: codex Date: Mon, 20 Jul 2026 23:52:54 +0200 Subject: [PATCH] Pause daily-todo-md-stale-review: sole source of the 5 closed Forgejo issues Traced the origin of the-custodian issues #1-5 (opened 2026-07-08, all reviewed and closed 2026-07-20): this ActivityDefinition's matched rule always produces a TaskSpec (rules/actions.py::_task_spec_for_rule), and RunActivityWorkflow unconditionally routes TaskSpecs through emit_tasks -> the deployment-wide IssueSink (ISSUE_SINK_TYPE=rest -> issue-core -> Forgejo). It is the fleet's only consumer of the task_template rule action -- confirmed via grep across activity-definitions/. Per current policy (Forgejo issue tracking is not the fleet coordination mechanism), paused rather than left to recreate the same sidetrack daily: enabled: false, status: paused, re-enable path documented in the file (needs a new activity-core report-sink authoring a kind: intake work record instead of an IssueSink task spec). Added as item 6 to CUST-WP-0060's stage-3 successor seed, including the reminder to grep the fleet for any other task_template consumer before stage 3 ships. This is the ADR-001 file-level fix; the live activity-core DB row and Temporal schedule pick it up on the next Railiance-deployed 'make sync-activity-definitions' run -- not something I have credentials or standing to trigger directly from this session. Co-Authored-By: Claude Fable 5 --- .../daily-todo-md-stale-review.md | 33 +++++++++++++++++-- .../CUST-WP-0060-work-record-canonization.md | 12 +++++++ 2 files changed, 42 insertions(+), 3 deletions(-) diff --git a/activity-definitions/daily-todo-md-stale-review.md b/activity-definitions/daily-todo-md-stale-review.md index 4ff5c7e..e20d735 100644 --- a/activity-definitions/daily-todo-md-stale-review.md +++ b/activity-definitions/daily-todo-md-stale-review.md @@ -2,12 +2,13 @@ id: "b8e4f1a2-3c6d-4e9f-a1b2-7d8e9f0a1b2c" name: "Daily TODO.md Stale Review" type: activity-definition -version: "1.0" -enabled: true +version: "1.1" +enabled: false owner: custodian governance: custodian -status: active +status: paused created: "2026-07-08" +updated: "2026-07-20" trigger: type: cron cron_expression: "30 8 * * *" @@ -28,6 +29,32 @@ report_sinks: # Daily TODO.md Stale Review +> **Paused 2026-07-20.** The matched rule below always produces a +> `TaskSpec` (`rules/actions.py::_task_spec_for_rule`), which +> `RunActivityWorkflow` unconditionally routes through `emit_tasks` → +> the deployment-wide `IssueSink` (`ISSUE_SINK_TYPE`, default `rest` → +> issue-core → Forgejo). There is no per-activity sink override in the +> current schema, and this activity is the fleet's *only* consumer of +> `task_template` — it was the sole source of 5 stale-review Forgejo +> issues (`the-custodian` #1–#5, opened 2026-07-08, all reviewed and +> closed 2026-07-20). Per current policy, Forgejo issue tracking is not +> the fleet coordination mechanism (binky-control housekeeping session, +> 2026-07-20) — so this activity is disabled (`enabled: false`) rather +> than left to recreate the same sidetrack daily. +> +> **Re-enable path:** redirect the rule's output onto the work-record +> backbone (`work-record-types_v0.1.md`, `kind: intake` — "a stale TODO.md +> is exactly a finding/directive") instead of `IssueSink`. This needs +> either a new report-sink type in activity-core (file-based intake-item +> authoring in the target repo, mirroring `state-hub-progress`) or routing +> through the stage-3 promotion tooling seeded in `CUST-WP-0060`'s closure +> review (item 6, added 2026-07-20). Do not re-enable with `enabled: true` +> alone; that only restores the Forgejo-issue behavior. +> +> This file change is the ADR-001 source of truth; the live activity-core +> DB row picks it up on the next `make sync-activity-definitions` run +> (Railiance-deployed, not run from this edit). + Runs daily at 08:30 Europe/Berlin (after WSJF triage at 07:20). Scans registered workstation repos for `TODO.md` files that have not changed in 6+ days and emits a review task per stale repo. diff --git a/workplans/CUST-WP-0060-work-record-canonization.md b/workplans/CUST-WP-0060-work-record-canonization.md index 5763773..eb20aa8 100644 --- a/workplans/CUST-WP-0060-work-record-canonization.md +++ b/workplans/CUST-WP-0060-work-record-canonization.md @@ -181,3 +181,15 @@ with green proof runs. generate *around* them. 5. Suggestion-table close-out (read-only legacy) once the intake entity is live. +6. **New report-sink for activity-core** (added 2026-07-20, Forgejo-issue + housekeeping session): `daily-todo-md-stale-review` was found still + routing through the deployment-wide `IssueSink` (`ISSUE_SINK_TYPE=rest` + → issue-core → Forgejo) — the only fleet consumer of the `task_template` + rule action, and the source of 5 stale-review issues nobody was meant + to see (Forgejo issue tracking is not the fleet coordination mechanism). + Paused (`enabled: false`) rather than left running; re-enable requires + a new activity-core report-sink type that authors a `kind: intake` work + record in the target repo (per this workplan's stage-3 promotion + design) instead of an `IssueSink` task spec. Any other `ActivityDefinition` + that later adds a `rule.action.task_template` inherits the same trap — + worth a fleet-wide grep before stage 3 ships.