Lineage. OpenClaw is the fourth harness in this atlas descended from pi, and it is explicit about it: THIRD_PARTY_NOTICES.md records that portions were adapted from Pi / pi-mono, and package.json declares @earendil-works/pi-tui at 0.82.1 for terminal rendering. Where prime-agent froze a fork of pi at 0.7.3 and never renamed it, OpenClaw consumes current upstream as a library and grew a gateway, 151 extensions and five native app targets around it. Its own history runs Warelay → Clawdbot → Moltbot → OpenClaw.
The boundary is the inbox, not the OS. A real container sandbox exists — src/agents/sandbox.ts, validate-sandbox-security.ts, Docker setup scripts — but src/config/types.sandbox.ts declares enabled?: boolean with no default, and agent-tools.ts:379 reads options?.sandbox?.enabled ? options.sandbox : undefined, so tools run on the host unless you switch it on. What is on by default is inbound-trust machinery: pairing for DM-capable channels, src/security/external-content.ts, a 1,512-line audit log, a 2,029-line operator-approval store that can route a risky command to a human over the chat itself, plus packages/net-policy and a proxy-capture module.
State is a database, not a log file. Where the other harnesses keep JSONL or an event log, OpenClaw keeps two SQLite databases defined in 3,278 lines of hand-written SQL — 134 tables and 130 indexes in openclaw-state-schema.sql, 35 more tables in openclaw-agent-schema.sql — with schema-repair, additive-migration and legacy-backfill modules to move them forward in place. Around that sit 33,218 lines of cron, plus tasks, boards and a fleet registry, because an assistant that acts unprompted needs durable queues rather than a transcript.
Extension is a marketplace with a security gate. src/plugins/ is 113,212 lines across 526 files — discovery, a hook bus, a manifest registry, ClawHub and an install-time security scan — and it is the only harness here that scans a plugin before letting it run. Two further seams are unusual: src/agents/harness/native-hook-relay*.ts carries lifecycle hooks across a process boundary into Swift clients, and extensions/ contains working bridges to three other harnesses in this atlas (codex, opencode, opencode-go) plus migrate-hermes, which imports Hermes's own state.db, memories, skills and secrets. The subjects of this survey are not independent of each other.