daily-fix: Monitor keys on exit/mtime not existence
Highlight text on any card (body, plan, or an event) to anchor a comment, or leave a whole-task comment here. Mention @claude to summon a reply.
No comments yet.
Overview / Motivation
Auto-filed by the /daily 2026-07-15 problem sweep (route 2 — behavior/logic change, independent review required).
Goal
One-line addition to CLAUDE.md § Monitoring: when re-running a script whose output path already exists, the monitor condition keys on process exit or a fresh mtime, never bare file existence.
Workflow gap
- Bug observed: a Monitor fired "done" instantly on a stale pre-existing v1 JSON instead of waiting for the v2 re-run (8b076180, #779, 05:50Z) — the stale-EXISTING-file sibling of the #825 empty-dir false-DONE already covered by the ownership-check bullet.
- Why it is a workflow gap: the monitoring rules (§ Monitoring; the ownership-check bullet's verify-first trigger) cover the empty-dir false-DONE but nothing bans existence-keyed monitor conditions on RE-RUNS, so a stale prior-version output satisfies the condition immediately.
- Severity: medium
- verified-at-filing:
grep -n '## Monitoring' CLAUDE.md→ L460 (target section exists);grep -n 'mtime' CLAUDE.md→ 1 hit (L172, the unrelated non-canonical-cache recency gate) — no monitor-condition mtime/exit rule anywhere in CLAUDE.md (absence confirmed) (2026-07-16 UTC).
Proposed change (refine in planning)
Append one bullet to CLAUDE.md § Monitoring (L460): "When re-running a script whose output path already exists, key the Monitor/until-loop condition on process exit or a fresh output mtime (newer than the launch timestamp), never bare file existence — a stale prior-version artifact satisfies an existence check instantly (#779, 2026-07-15; sibling of the #825 empty-dir false-DONE)."
Scope / surfaces
- Primary target:
CLAUDE.md(§ Monitoring, L460)
Constraints / invariants
- Workflow-surface only — never experiment code,
configs/, ortasks/. scripts/workflow_lint.py --check-askspasses; ruff on touched files passes.- This session runs under
EPM_WORKFLOW_FIX_SESSION=1and carries aworkflow_fix_target:Provenance line — it MUST NOT auto-route its own subagents' workflow-fix candidates (recursion guard).
Provenance
-
fingerprint: c599fb5f7120
-
workflow_fix_target: CLAUDE.md
Mined from 2026-07-15 session transcripts by the /daily problem sweep. Evidence: 8b076180 (#779) 05:50Z (batch 06 P7).