2.2 KiB
2.2 KiB
OpenClaw -> AtoCore Integration Proposal
One-way pull is the right pattern.
Stable surface to pull
- Durable files in the OpenClaw workspace:
SOUL.mdUSER.mdMODEL-ROUTING.mdMEMORY.mdmemory/YYYY-MM-DD.mdmemory/heartbeat-state.jsonHEARTBEAT.mdonly as operational state, not long-term truth
- These are explicitly documented in
t420-openclaw/AGENTS.mdas the continuity layer OpenClaw reads every session.
Volatile vs durable
- Durable:
SOUL.md,USER.md,MODEL-ROUTING.md,MEMORY.md- dated memory notes under
memory/ - explicit JSON state like
memory/heartbeat-state.json
- Volatile:
- in-session context
- ephemeral heartbeat work
- transient orchestration state
- platform response buffers
- Semi-durable:
HEARTBEAT.mdand operational notes; useful for importer hints, but not canonical identity/memory truth
Formats
- Mostly Markdown
- Some JSON (
heartbeat-state.json) - No stable OpenClaw-local DB or API surface is visible in this snapshot
How pull should work
- Start with cron-based filesystem reads, not an OpenClaw HTTP API.
- Read the durable files on a schedule, hash them, and import only deltas.
- Map them by type:
SOUL.md/USER.md-> identity/preferences review candidatesMEMORY.md-> curated long-term memory candidatesmemory/YYYY-MM-DD.md-> interaction/episodic import streamheartbeat-state.json-> low-priority ops metadata only if useful
Discord
- I do not see a documented durable Discord message store in the OpenClaw workspace snapshot.
AGENTS.mdreferences Discord behavior, but not a canonical local log/database.- Treat Discord as transient unless OpenClaw exposes an explicit export/log file later.
Biggest risk
- Importing raw OpenClaw files as truth will blur curated memory and noisy session chatter.
- Mitigation: importer should classify by source tier, preserve provenance, and default to candidate/episodic ingestion rather than active memory promotion.
Recommendation
- Do not build two-way sync.
- Do not require OpenClaw to change architecture.
- Build one importer against the file continuity layer first.
- Add a formal export surface later only if the importer becomes too heuristic.