the-custodian/activity-definitions/daily-todo-md-stale-review.md
codex 90477f3f0d
All checks were successful
CI Smoke / host-smoke (push) Successful in 0s
CI Smoke / container-smoke (push) Successful in 2s
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 <noreply@anthropic.com>
2026-07-20 23:52:54 +02:00

3.1 KiB
Raw Permalink Blame History

id name type version enabled owner governance status created updated trigger context_sources report_sinks
b8e4f1a2-3c6d-4e9f-a1b2-7d8e9f0a1b2c Daily TODO.md Stale Review activity-definition 1.1 false custodian custodian paused 2026-07-08 2026-07-20
type cron_expression timezone misfire_policy
cron 30 8 * * * Europe/Berlin skip
type query required params bind_to
state-hub todo_md_staleness true
stale_days
6
context.todo_staleness
type event_type author
state-hub-progress todo_md_stale_review activity-core

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.

Policy: TODO.md is a pragmatic interruption buffer only. Stale files should be reviewed — archive done items, delete noise, or promote durable work into a workplan via ADR-001.

id: flag-stale-todo-md
for_each: context.todo_staleness.repos
bind_as: repo
condition: 'context.repo.age_days >= 6'
action:
  task_template: 'Review stale TODO.md — {context.repo.repo_slug}'
  description: >-
    TODO.md unchanged for {context.repo.age_days} days (mtime {context.repo.mtime}).
    Review open items: archive done work, delete noise, or promote valuable
    topics to a workplan file and run statehub fix-consistency.
  target_repo: context.repo.repo_slug
  priority: low
  labels: ["todo-md", "stale-review", "automated"]