Framework Focus: Concurrency, Approvals, Memory, Ops
This section breaks key mechanisms into “replicable modules” that make OpenClaw reliable and controllable.
If you haven’t verified an observable baseline yet, do this first:
Suggested reading order
- Terminology
- Roadmap
- Gateway control plane
- Agent execution (run/attempt/fallback)
- Session concurrency (sessionKey/lane/queue)
- Tool policy + exec approvals
- Lifecycle + ops
Advanced modules (optional)
- The 5-piece kit
- Context engineering
- Model fallback + robustness
- Memory system
- Hooks + plugins governance
- Subagents + skills snapshots
Implementation guides
These pages are more “build order + acceptance checks” for replicating the same mechanics:
- Context management (implementation)
- Agent execution (implementation)
- Tools + approvals (implementation)
- Memory (implementation)
- Hooks + plugins (implementation)
- Lanes + queues (implementation)
1) Concurrency + isolation (lanes + global limits)
See:
Code entry points (optional):
src/process/command-queue.ts(lane + queue)src/gateway/server-lanes.ts(gateway-level concurrency)src/config/sessions/session-key.ts(stable session keys)
2) Tool safety layers (sandbox / tool policy / approvals)
See:
Code entry points (optional):
src/agents/tool-policy-pipeline.ts(policy pipeline)src/infra/exec-approvals.ts,src/gateway/exec-approval-manager.ts(exec approvals state machine)
3) Memory + compaction (sustainable long conversations)
See:
4) Extensibility (hooks + plugins)
See:
5) Ops and reliability (logging, health, remote, repairs)
See:
Acceptance checks (make it verifiable)
If you want a minimal set of “hard checks” to validate your understanding:
- Explain why
chat.sendACKs fast and results stream via events (see Control UI). - Explain why a single
sessionKeystays ordered while different sessions can run concurrently (see Queue + lanes). - Explain the three safety layers (sandbox / policy / approvals) and what each layer owns (see Sandbox vs tool policy vs elevated).
- Use logs to trace a run from
runIdto tools and final output (see Logging).