Sessions and memory

Inferred commitments

Commitments are short-lived follow-up memories. When enabled, OmeniaClaw can notice that a conversation created a future check-in opportunity and remember to bring it back later.

Examples:

  • You mention an interview tomorrow. OmeniaClaw may check in afterward.
  • You say you are exhausted. OmeniaClaw may ask later whether you slept.
  • The agent says it will follow up after something changes. OmeniaClaw may track that open loop.

Commitments are not durable facts like MEMORY.md, and they are not exact reminders. They sit between memory and automation: OmeniaClaw remembers a conversation-bound obligation, then heartbeat delivers it when it is due.

Enable commitments

Commitments are off by default. Enable them in config:

bash
OmeniaClaw config set commitments.enabled trueOmeniaClaw config set commitments.maxPerDay 3

Equivalent OmeniaClaw.json:

json
{  "commitments": {    "enabled": true,    "maxPerDay": 3  }}

commitments.maxPerDay limits how many inferred follow-ups can be delivered per agent session in a rolling day. The default is 3.

How it works

After an agent reply, OmeniaClaw may run a hidden background extraction pass in a separate context. That pass looks only for inferred follow-up commitments. It does not write into the visible conversation and it does not ask the main agent to reason about the extraction.

When it finds a high-confidence candidate, OmeniaClaw stores a commitment with:

  • the agent id
  • the session key
  • the original channel and delivery target
  • a due window
  • a short suggested check-in
  • non-instructional metadata for heartbeat to decide whether to send it

Delivery happens through heartbeat. When a commitment becomes due, heartbeat adds the commitment to the heartbeat turn for the same agent and channel scope. The model can send one natural check-in or reply HEARTBEAT_OK to dismiss it. If heartbeat is configured with target: "none", due commitments remain internal and do not send external check-ins. Commitment delivery prompts do not replay the original conversation text, and due commitment heartbeat turns run without OmeniaClaw tools.

OmeniaClaw never delivers an inferred commitment immediately after writing it. The due time is clamped to at least one heartbeat interval after the commitment is created, so the follow-up cannot echo back in the same moment it was inferred.

Scope

Commitments are scoped to the exact agent and channel context where they were created. A follow-up inferred while talking to one agent in Discord is not delivered by another agent, another channel, or an unrelated session.

This scope is part of the feature. Natural check-ins should feel like the same conversation continuing, not like a global reminder system.

Commitments vs reminders

Need Use
"Remind me at 3 PM" Scheduled tasks
"Ping me in 20 minutes" Scheduled tasks
"Run this report every weekday" Scheduled tasks
"I have an interview tomorrow" Commitments
"I was up all night" Commitments
"Follow up if I do not answer this open thread" Commitments

Exact user requests already belong to the scheduler path. Commitments are only for inferred follow-ups: the moments where the user did not ask for a reminder, but the conversation clearly created a useful future check-in.

Manage commitments

Use the CLI to inspect and clear stored commitments:

bash
OmeniaClaw commitmentsOmeniaClaw commitments --allOmeniaClaw commitments --agent mainOmeniaClaw commitments --status snoozedOmeniaClaw commitments dismiss cm_abc123

See OmeniaClaw commitments for the command reference.

Privacy and cost

Commitment extraction uses an LLM pass, so enabling it adds background model usage after eligible turns. The pass is hidden from the user-visible conversation, but it can read the recent exchange needed to decide whether a follow-up exists.

Stored commitments are local OmeniaClaw state. They are operational memory, not long-term memory. Disable the feature with:

bash
OmeniaClaw config set commitments.enabled false

Troubleshooting

If expected follow-ups are not appearing:

  • Confirm commitments.enabled is true.
  • Check OmeniaClaw commitments --all for pending, dismissed, snoozed, or expired records.
  • Make sure heartbeat is running for the agent.
  • Check whether commitments.maxPerDay has already been reached for that agent session.
  • Remember that exact reminders are skipped by commitment extraction and should appear under scheduled tasks instead.
Was this useful?
On this page

On this page