Pause daily-todo-md-stale-review: sole source of the 5 closed Forgejo issues
All checks were successful
CI Smoke / host-smoke (push) Successful in 0s
CI Smoke / container-smoke (push) Successful in 2s

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 <noreply@anthropic.com>
This commit is contained in:
codex 2026-07-20 23:52:54 +02:00
parent 36f0336ca6
commit 90477f3f0d
2 changed files with 42 additions and 3 deletions

View file

@ -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.

View file

@ -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.