feat(memory): re-enable ADR-012 cycle-reflection trailer via commonly_log_cycle#307
Closed
feat(memory): re-enable ADR-012 cycle-reflection trailer via commonly_log_cycle#307
Conversation
…cycle tool
Pairs with the trailer re-enable in the next commit. The bumped openclaw
extension exposes commonly_log_cycle({content, podId?}) — a dedicated,
append-only writer for AgentMemory.cycles[] per ADR-012 Phase 2.
Team-Commonly/openclaw PR #7 (squash-merged as a67f0df6).
…y_log_cycle Phase 2.J's withCyclesDirective trailer was rolled back in e4b1dd9 / PR #296 because it instructed agents to call: commonly_save_my_memory({sections:{cycles:{append:...}}}) That tool neither accepts the `cycles` section nor the nested `{sections:{...}}` envelope — agents wasted 3+ tool-call turns per heartbeat hunting for the missing surface before falling back to commonly_write_agent_memory, exhausting their turn budget and dropping DM responses (Nova on 2026-05-04). Forward fix shipped in Team-Commonly/openclaw#7 (a67f0df6, submodule bumped in the previous commit): adds a dedicated commonly_log_cycle({content, podId?}) tool that maps directly onto the kernel's {cycles:{append:{content,podId?}}} contract via /memory/sync. This commit: - Rewrites CYCLES_REFLECTION_TRAILER to call commonly_log_cycle directly, no nested envelope, no missing surface. - Restores withCyclesDirective from no-op to template + trailer. - Replaces the rollback comment block with a re-enable note that preserves the failure-mode archaeology for future readers. After Deploy Dev + reprovision-all, dev agents should produce cycles[] writes inside the next heartbeat window — closing the empirical gap from the original Phase 2 observation (0 agent-authored cycle entries across 25 deployed agents in the +10min window).
samxu01
added a commit
that referenced
this pull request
May 9, 2026
…_log_cycle (#307) Phase 2.J's withCyclesDirective trailer was rolled back in e4b1dd9 / PR #296 because it instructed agents to call: commonly_save_my_memory({sections:{cycles:{append:...}}}) That tool neither accepts the `cycles` section nor the nested `{sections:{...}}` envelope — agents wasted 3+ tool-call turns per heartbeat hunting for the missing surface before falling back to commonly_write_agent_memory, exhausting their turn budget and dropping DM responses (Nova on 2026-05-04). Forward fix: - Bumps `_external/clawdbot` to a67f0df6 (Team-Commonly/openclaw#7) — adds a dedicated `commonly_log_cycle({content, podId?})` tool that maps directly onto the kernel's {cycles:{append:{content,podId?}}} contract via /memory/sync, mode: 'patch'. Append-only by construction. - Rewrites CYCLES_REFLECTION_TRAILER to call commonly_log_cycle directly, no nested envelope, no missing surface. - Restores withCyclesDirective from no-op to template + trailer. - Replaces the rollback comment block with a re-enable note that preserves the failure-mode archaeology for future readers. After Deploy Dev + reprovision-all, dev agents should produce cycles[] writes inside the next heartbeat window — closing the empirical gap from the original Phase 2 observation (0 agent-authored cycle entries across 25 deployed agents in the +10min window). Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Contributor
Author
|
Squash-merged via local push as f4b7a48 per repo merge convention. |
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
_external/clawdbottoa67f0df6(feat(commonly): commonly_log_cycle tool — ADR-012 Phase 2 append-only cycles writer openclaw#7) — adds the dedicatedcommonly_log_cycle({content, podId?})tool to the commonly extension.withCyclesDirective(no-op since rollback in e4b1dd9 / fix(memory): rollback cycle-reflection trailer — DM regression #296) to append the trailer to every heartbeat template.CYCLES_REFLECTION_TRAILERto call the new tool directly, no nested envelope.Why
Phase 2.J (#295) instructed agents to call
commonly_save_my_memory({sections:{cycles:{append:...}}}), but that tool accepts neither thecyclessection nor the nested{sections:{...}}shape. Agents burned 3+ tool-call turns per heartbeat hunting for a missing surface and dropped DM responses (Nova on 2026-05-04). PR #296 reverted the trailer to a no-op while a forward fix was built.The forward fix is a one-call surface that maps directly onto the kernel's contract (
{cycles:{append:{content,podId?}}}via/memory/sync,mode: 'patch'). Append-only by construction at the tool boundary.After merge
gh workflow run deploy-dev.yml --ref main— rebuilds gateway + backend with the bumped submodulereprovision-all— pushes new HEARTBEAT.md to all dev agentscycles[]writes from at least one dev agent (Nova/Pixel/Aria). Original Phase 2 observation logged 0 agent-authored cycle entries across 25 agents in +10min.Test plan
commonly_log_cyclein their next heartbeat session logGET /api/agents/runtime/memoryfor that agent shows the newcycles[]entry@<agent> heyping within the heartbeat window🤖 Generated with Claude Code