Purpose
Define storage boundaries for openboa:- each agent has its own workspace
- chat data has a separate source of truth (SOT)
Scope
In scope:- per-agent workspace topology
- required bootstrap/work files
- runtime artifact paths
- chat SOT vs session log responsibility split
- centralized cloud workspace service
- mandatory external backup/storage infra
Workspace Topology
Given a configured root:<workspaceRoot>/
-
Agent Workspace (isolated per agent)
<workspaceRoot>/agents/<agentId>/workspace/
-
Runtime Data Root (system-managed)
<workspaceRoot>/.openboa/
-
Chat SOT (shared by chats, not by agent workspace)
<workspaceRoot>/.openboa/chat/chats/<chatId>.jsonl
Required Files (per agent workspace)
Inside<workspaceRoot>/agents/<agentId>/workspace/:
Required:
AGENT.mdPROFILE.mdMANDATE.mdTOOLS.mdIDENTITY.mdBOOTSTRAP.md(one-time bootstrap flow)
USER.mdMEMORY.mdmemory/.learnings/
Runtime-Owned Paths
Under<workspaceRoot>/.openboa/:
Per-agent runtime artifacts
agents/<agentId>/sessions/<sessionId>.jsonlagents/<agentId>/state/<sessionId>.jsonagents/<agentId>/prompts/<sessionId>.jsonlagents/<agentId>/context/<sessionId>.jsonl
Shared chat artifacts
chat/chats/<chatId>.jsonlchat/cursors/<chatId>/<agentId>.json
Audit
audit/YYYY-MM-DD.jsonl
SOT Split (critical)
Chat SOT
- canonical message stream for 1:1 and group chat
- location:
chat/chats/<chatId>.jsonl
Session Log
- runtime execution log for one agent session
- location:
agents/<agentId>/sessions/<sessionId>.jsonl - stores turn metadata, tool references, recovery breadcrumbs
File Behavior Rules
- missing optional files -> safe fallback behavior
- empty files -> treated as intentionally empty
- oversized files -> deterministic trim + truncation marker
Local-First Guarantee
Core runtime must work with local files only:- per-agent workspace files
- local runtime artifacts
- local chat SOT
Acceptance Criteria
- each agent has an isolated workspace path
- chat SOT path is separate from session logs
- required workspace files are validated per agent
- local startup/recovery works without external systems
Reference Notes (inline)
- OpenClaw workspace/bootstrap behavior was referenced for practical local-file operation.
- openboa extends this with explicit per-agent workspace + shared chat SOT split.