The docs say "OpenClaw remembers things by writing plain Markdown files." We're exploring using the HEARTBEAT.md YAML tasks: block to write narrative content instead of binary checks that produce near-zero durable output.
Our setup:
• 4 Supabase-scanned task sections, each on their own 2h interval, single-line prompts
• Each writes formatted entries to memory/operations_log.md
• Playbook below YAML block (appended as heartbeat context)
• isolatedSession: true, lightContext: true, deepseek-v4-flash
• Heartbeat timeout 300s, bootstrap 40K chars
We verified isolated sessions have tool access. Source says isTaskDue(undefined) returns true — HEARTBEAT.md is read from disk every tick. But the YAML dispatcher never fires, and the agent gets the default prompt instead. We can see why it should work but can't find the edge case.
System: OpenClaw 2026.5.5
• exec: ask=on-miss, security=full, safeBins: grep/sort/jq
• Memory: lossless-claw + memory-lancedb (plugins.allow empty, no memory-core)
• Heartbeat directPolicy: allow
Two questions:
-
Is YAML tasks designed for write-oriented work (query → format → write file), or read-only checks only? Any edge cases with ~300+ char single-line prompts?
-
Could exec on-miss interfere when tasks only use read/write/SQL tools? Does lossless-claw + lancedb (no memory-core) affect heartbeat dispatch?
If YAML tasks aren't the right tool, would openclaw cron add --kind agentTurn be the correct alternative? Isolated sessions have tools — just need a reliable trigger.
Thanks in advance.