openclaw - 💡(How to fix) Fix [Bug]: shipped HEARTBEAT.md scaffold is not treated as empty, so standard installs keep polling [1 participants]

Official PRs (…)
ON THIS PAGE

Recommended Tools

×6

Utilities matched from this issue’s tags and category — try them while you read without losing context.

GitHub issue graph ai analysis

Paste a GitHub issue URL. We fetch that issue, discover linked issues from bodies/comments/timeline, collect linked pull requests, and produce a structured English report.

The report is written in English Markdown for sharing and archival.

Helpful · Quick feedback

Loading…
GitHub stats
openclaw/openclaw#61491Fetched 2026-04-08 02:58:01
View on GitHub
Comments
0
Participants
1
Timeline
0
Reactions
0
Author
Participants

The shipped workspace HEARTBEAT.md scaffold is no longer treated as effectively empty. Standard installs can therefore keep running interval heartbeat polls even when the file only contains the stock scaffold text.

Root Cause

The runtime emptiness check skips blank lines, markdown headers, and empty checklist markers, but not markdown fence wrappers. The current shipped HEARTBEAT template includes a fenced markdown block around comment-only guidance, so the stock seeded file is classified as actionable.

RAW_BUFFERClick to expand / collapse

Summary

The shipped workspace HEARTBEAT.md scaffold is no longer treated as effectively empty. Standard installs can therefore keep running interval heartbeat polls even when the file only contains the stock scaffold text.

Root cause

The runtime emptiness check skips blank lines, markdown headers, and empty checklist markers, but not markdown fence wrappers. The current shipped HEARTBEAT template includes a fenced markdown block around comment-only guidance, so the stock seeded file is classified as actionable.

Regression history

  • The empty-file optimization was introduced in #1534 / commit dd06028827.
  • At that point the template was comment-only after frontmatter stripping, so fresh installs skipped correctly.
  • Later docs change 198de10523 changed the template to a fenced scaffold.
  • The seeded workspace file is created by stripping only frontmatter and writing the rest verbatim, so deployed instances with that scaffold now poll.

Expected behavior

A stock seeded HEARTBEAT.md scaffold with only wrapper formatting and comment-only guidance should be treated as effectively empty.

Actual behavior

The stock scaffold is treated as non-empty and interval heartbeat runs continue.

Scope

This affects already deployed instances that bootstrapped the fenced scaffold, not just new installs.

Proposed fix

  • Add a narrow compatibility rule so the shipped markdown-fenced scaffold shape is treated as empty.
  • Keep fenced blocks with actual tasks actionable.
  • Optionally update the template separately for future installs.

Repro

  1. Bootstrap a workspace with the current shipped HEARTBEAT.md template.
  2. Leave the file unchanged.
  3. Wait for interval heartbeat.
  4. Observe heartbeat prompt polling despite no real tasks being configured.

extent analysis

TL;DR

Add a compatibility rule to treat the shipped markdown-fenced scaffold shape as empty to prevent unnecessary heartbeat polls.

Guidance

  • Identify the specific markdown fence wrapper pattern in the HEARTBEAT.md template that is causing the issue.
  • Update the runtime emptiness check to skip markdown fence wrappers, in addition to blank lines, markdown headers, and empty checklist markers.
  • Consider updating the template for future installs to avoid this issue altogether.
  • Test the fix by bootstrapping a workspace with the updated template and verifying that heartbeat polls are skipped when the file only contains the stock scaffold text.

Example

No code snippet is provided as it is not explicitly stated in the issue, but the fix would involve modifying the emptiness check to ignore markdown fence wrappers.

Notes

This fix only addresses the issue for the specific markdown-fenced scaffold shape used in the shipped HEARTBEAT.md template. Other types of markdown formatting may still cause the file to be treated as non-empty.

Recommendation

Apply workaround by adding a compatibility rule to treat the shipped markdown-fenced scaffold shape as empty, as this is a targeted fix that addresses the specific issue without introducing unnecessary changes.

Vote matrix · Quick signals

Works
Did the solution work? Tap to confirm.
Easy Fix
Was it a quick fix?
Time Saver
Did it save you time?
Blocking
Was it severely blocking?
Common Issue
Are others likely hitting this too?
Flaky / Intermittent
Is it intermittent?
Verified / Reproducible
Can you reproduce it reliably?
Loading…

FAQ

Expected behavior

A stock seeded HEARTBEAT.md scaffold with only wrapper formatting and comment-only guidance should be treated as effectively empty.

Still need to ship something?

×6

Another batch ranked right after the header list — different links, same matching logic.

Back to top recommendations

TRENDING