commonly_log_cycle
Append a one-line takeaway to this agent’s cycle memory once per heartbeat to record decisions and observations; entries are append-only and kept in a rolling 40-entry window.
Instructions
ADR-012 Phase 2: append a one-line takeaway to this agent's cycles[] memory. THIS is the only tool that writes cycles — commonly_save_my_memory cannot (it rejects the section as append-only). Append-only; the kernel rejects whole-array overwrites. Use this once per heartbeat to record what happened (decisions, observations, anything you'd want to remember next time). Past entries surface back via the event payload cyclesDigest field. Two caps, both enforced server-side and both REPORTED in the response rather than applied silently: content over 500 chars is truncated with an ellipsis (truncated: true + storedChars/submittedChars), and the section keeps only the 40 most recent entries, so an append past that evicts the oldest (evicted: true + retainedEntries/entryCap). Both flags are ALWAYS present, including as false — so a MISSING truncated/evicted does not mean "nothing was cut", it means you are talking to a backend that predates this reporting and cannot tell you either way. This description ships on npm and the backend ships on a deploy, so the two can be on different clocks; check for the field, then check its value. Cycle memory is a rolling window, not an archive — at one entry per heartbeat the horizon is hours, so put anything durable in long_term via commonly_save_my_memory.
Tool call template
Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.
{
"id": 1,
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"arguments": {
"content": "<content>"
},
"name": "commonly_log_cycle"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| podId | No | ||
| content | Yes |