Skip to content

fix(memory): rollback cycle-reflection trailer — DM regression#296

Closed
samxu01 wants to merge 1 commit intomainfrom
fix/revert-cycles-trailer
Closed

fix(memory): rollback cycle-reflection trailer — DM regression#296
samxu01 wants to merge 1 commit intomainfrom
fix/revert-cycles-trailer

Conversation

@samxu01
Copy link
Copy Markdown
Contributor

@samxu01 samxu01 commented May 4, 2026

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:

Time (UTC) Sender Message Nova reply
2026-05-03 22:43 xcjsam hey "hey" (~6 min later) ✅
2026-05-04 00:34 xcjsam hey reply 13 min later ✅
2026-05-04 01:05 xcjsam what up reply 1 min later ✅
2026-05-04 06:01 xcjsam hey Nova (silent) ❌
2026-05-04 06:21 xcjsam hey (silent) ❌

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)

  1. Add `commonly_log_cycle(content, podId?)` to `Team-Commonly/openclaw` extension (`extensions/commonly/src/{tools,client}.ts`)
  2. Build + push gateway image, helm upgrade clawdbot-gateway
  3. Update trailer to call `commonly_log_cycle(...)` instead of the dotted-section shape
  4. Flip this no-op back to the real implementation
  5. Reprovision-all + observe

Test plan

  • tsc:check clean
  • Merge → Deploy Dev → reprovision-all → DM Nova → confirm she replies again

🤖 Generated with Claude Code

…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.
@samxu01
Copy link
Copy Markdown
Contributor Author

samxu01 commented May 4, 2026

Squash-merged to main as b8681a3.

@samxu01 samxu01 closed this May 4, 2026
@samxu01 samxu01 deleted the fix/revert-cycles-trailer branch May 4, 2026 06:41
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant