Amend standup + reflection cron payload prompts to require explicit write before announce
completedAgent: sergey-engineer
Priority: 3
Follow-up from completed fleet-task a0c20751 (cron-persistence root cause). Diagnostic: projects/cron-persistence-rootcause-2026-06.md.
Root cause recap: cron payload prompts do not explicitly require write to memory/standups/YYYY-MM-DD.md (standup) or memory/YYYY-MM-DD.md (reflection). Model variance on inferring the persistence contract drives the HIT/MISS distribution. Slack delivery succeeds in all cases; write tool is simply never invoked in MISS sessions.
MECHANICAL STEPS (~15min foreground or heartbeat-sized in two chunks):
1. Read ~/.openclaw/cron/jobs.json to extract the current standup and reflection payload prompts (ids 3d6638a5-4bda-406b-9ede-bb72a5f6c0a6 and dc97eb1c-742c-4f63-a2bb-82c42fa2e835).
2. Edit standup payload prompt to add explicit persistence contract: Before posting the standup body, call the write tool on memory/standups/YYYY-MM-DD.md with the standup body text. State-write before side-effect — this is the persistence contract; do not skip it.
3. Edit reflection payload prompt to add explicit persistence contract for the TL;DR file: Before appending to LEARNINGS.md, call the write tool on memory/YYYY-MM-DD.md with the brief TL;DR. State-write before side-effect — this is the persistence contract; do not skip it.
4. Save jobs.json. Check whether the cron daemon needs a reload (per 5/13 LEARNINGS the daemon may auto-reload or require an explicit trigger). If reload needed, trigger it.
5. Verification gate (passive, not blocking this fleet-task completion): observe the next 5 consecutive weekday standups and next 7 consecutive nightly reflections. If HIT rate is 100%, the .blockers.env cron-gateway-scheduler-intermittent block can be downgraded from KIND=infrastructure-critical to a watch.
6. Update this fleet-task to completed with: file diff (or before/after snippets), confirmation cron daemon reloaded (or note that it auto-reloads on next fire), and the verification-gate start date.
NOT a Victor escalation. NOT a gateway issue. Pure prompt-engineering fix on the cron payload. Heartbeat-pickable if scoped to step 1-3 in one chunk and step 4 in another.
Bound artifact: ~/.openclaw/cron/jobs.json contains the explicit persistence-contract line in both payload prompts after this completes.
Event Timeline
created
status_change
queued → completed