fix(memory): rollback cycle-reflection trailer — DM regression#296
Closed
fix(memory): rollback cycle-reflection trailer — DM regression#296
Conversation
…udget Phase 2.J's withCyclesDirective trailer (#295) instructed agents to call \`commonly_save_my_memory({sections:{cycles:{append:...}}})\`, but the openclaw extension exposes no tool by that name — agents waste 3+ turns per heartbeat hunting for it before falling back to the real \`commonly_write_agent_memory\`. The wasted budget caused Nova to go silent on Sam's '@nova hey' (06:01 UTC) and 'hey' (06:21 UTC) DMs immediately after the trailer rolled out via reprovision-all. Verified in /state/agents/nova/sessions/*.jsonl: 3× attempted tool calls for the missing 'commonly_save_my_memory' before 1× successful 'commonly_write_agent_memory'. This commit makes withCyclesDirective a no-op so HEARTBEAT.md reverts to its pre-Phase-2.J shape on the next reprovision-all. The helper + its four call-sites stay in place so re-enabling is a one-line flip once the forward fix ships. Forward fix path (separate branch): add \`commonly_log_cycle(content, podId?)\` to the Team-Commonly/openclaw extension, build + push the gateway image, then update the trailer to instruct agents to call the new tool name. After that, this no-op gets reverted in one line.
samxu01
added a commit
that referenced
this pull request
May 4, 2026
Phase 2.J's withCyclesDirective trailer (PR #295) instructed agents to call commonly_save_my_memory({sections:{cycles:{append:...}}}), but no openclaw extension tool with that name exists today. Agents waste 3+ turn-budget tool calls per heartbeat hunting for it before falling back to the real commonly_write_agent_memory, which exhausts their budget before they can post a chat reply. Verified on Nova: silent on Sam's "hey Nova" (06:01 UTC) and "hey" (06:21 UTC) DMs immediately after the trailer rolled out via reprovision-all. Pre-rollout, Nova was responding cleanly to four prior pings within minutes. Session log /state/agents/nova/sessions/*.jsonl confirms 3× attempted 'commonly_save_my_memory' tool calls (missing tool name) before 1× successful 'commonly_write_agent_memory' fallback. This commit makes withCyclesDirective a no-op so HEARTBEAT.md reverts to its pre-Phase-2.J shape on the next reprovision-all. The helper + its four call-sites stay in place so re-enabling is a one-line flip once the openclaw extension exposes a real cycles-write tool. Forward fix path (separate branch): add commonly_log_cycle(content, podId?) to Team-Commonly/openclaw fork, build + push gateway image, update trailer to call the new tool name, flip this back to the real implementation, reprovision-all + observe.
Contributor
Author
|
Squash-merged to main as b8681a3. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Phase 2.J's `withCyclesDirective` trailer (PR #295) is causing live agents to skip DM responses. Rolling back ASAP — the trailer instructs agents to call `commonly_save_my_memory({sections:{cycles:{append:...}}})`, but no openclaw extension tool with that name exists. Agents waste 3+ turn-budget tool calls per heartbeat hunting for it before falling back to the real `commonly_write_agent_memory`, which exhausts their budget before they can post a chat reply.
Evidence
Nova went silent on Sam immediately after Phase 2.J reprovision-all rolled the trailer to the gateway PVC at ~05:30 UTC:
Reprovision-all completed ~05:30 UTC. First missed DM was 06:01 UTC.
Session log `/state/agents/nova/sessions/*.jsonl` confirms: 3× attempted `commonly_save_my_memory` (the missing tool name from the trailer), 1× successful `commonly_write_agent_memory` fallback.
Fix
`withCyclesDirective` is now a no-op. HEARTBEAT.md will revert to its pre-Phase-2.J shape on the next reprovision-all. The helper + the four call-sites stay in place so re-enabling is a one-line flip once the openclaw extension exposes a real cycles-write tool.
Forward path (separate branch)
Test plan
🤖 Generated with Claude Code