special edition #3 · openclaw operator's field manual · the daily archive · 2026-04-18
████ routing ████ sessions ████ memory ████ cron ████ subagents ████ fallback ████ audit ████
fritz@daily:~$ The strongest insight from this April window is that OpenClaw is no longer mainly about adding tools. It is clarifying ownership: the Gateway owns routing, sessions own continuity, cron owns delivery, subagents own bounded delegation, and memory is being split into short-term, searchable, and promotable layers. Systems get calmer when those borders are respected, and noisy when they are blurred.
01Orchestration topography
Cron, sessions, agents and subagents are not interchangeable. OpenClaw increasingly treats them as different operating surfaces.
Routing model
One Gateway, many brains, strict borders
The multi-agent docs are explicit: an agent is not just a persona file but a full scope with its own workspace, agentDir, auth profiles and session store. That matters in practice. Alfred and Fritz are not two moods of the same bot, they are two operational domains. The local setup gets this right: shared model default, separate workspace for Daily, and a dedicated redakteur agent in config.
Cron semantics
Cron is a scheduler plus delivery layer, not a generic chat loop
The cron CLI docs now read more like a runbook than a timer reference. Isolated jobs default to announce delivery, own the final send path, and suppress stale acknowledgement-only replies. In other words: cron should launch bounded work and deliver a result, not become a surrogate for open-ended conversation. The nine-job local registry fits that pattern well.
Subagent role
Subagents are best when delegation is sharp and disposable
Recent releases added more guards around replay, session restore and unknown-tool loops. That makes a lot of sense if OpenClaw expects subagents to be used for narrow tasks with controlled state. The system is drifting away from “spawn agents freely and hope context survives” toward “delegate bounded work, preserve the parent as the narrative owner.”
Operator reading
The cleanest stack is layered: main conversation, persistent named sessions, isolated jobs
OpenClaw's own docs separate direct shared main sessions, explicit session keys, and isolated runs. The productive pattern is becoming clear: keep human conversation in stable sessions, use named persistent sessions for durable workstreams, and reserve isolated cron or spawned work for outputs that should not poison the main thread with noise.
Best practice that emerges from docs plus local setup: use cron for scheduled emergence, sessions for continuity, and subagents for bounded complexity. Most operator pain comes from using one of these as a substitute for another.
02Session physics
OpenClaw's real unit of continuity is not the agent, but the session and its pinned routing state.
| Surface | What it preserves | Why it matters |
| Direct main session |
Shared conversation thread, model selection state, auth-profile preference |
Useful for personal assistants, dangerous if every task is dumped into it. High convenience, high drift risk. |
| Named persistent session |
Stable thread identity for a workstream |
Best fit for long-lived operational jobs, repeated reviews, or ACP thread work where continuity matters more than freshness. |
| Isolated run |
Minimal durable residue, explicit output contract |
Ideal for cron and one-shot work. Lets the runner own delivery and reduces contamination of human chat history. |
| Fallback state |
Only model-selection fields, not the whole session |
The model-failover docs show OpenClaw has learned a subtle lesson: rolling back a failed run should not overwrite unrelated session mutations. |
Auth stickiness
Warm caches beat theoretical fairness
Model-failover docs note that OpenClaw pins the chosen auth profile per session and only rotates on reset, compaction or cooldown. That is a pragmatic design choice. It privileges cache warmth and behavioral stability over perfect distribution. For a personal system, that is exactly right.
Failure lesson
Session corruption usually starts as convenience
When every cron job, approval flow, fallback retry and side task shares one conversational lane, the system becomes legible only to the operator who already knows its history. OpenClaw's newer persistence rules push against that. They are a quiet argument for smaller, cleaner session boundaries.
03Memory layering, finally made explicit
Builtin memory, QMD, Active Memory and Dreaming are no longer one fuzzy concept called “memory”. They are distinct strata.
QMD
Search sidecar for recall, not biography
The QMD docs frame it as a local search sidecar with BM25, vectors, reranking, extra paths and session transcripts. In this setup it is correctly treated as infrastructure. It gives recall breadth, not judgment.
Active Memory
Pre-reply retrieval as a first-class move
The April release window formalized automatic memory recall before the main reply. That is important because it shifts memory from a manual habit to a runtime policy. It is probably strongest for Alfred and less obviously useful for Fritz, whose editorial work benefits from tighter determinism.
Dreaming
Promotion and reflection now live in separate lanes
The Dreaming docs split light, REM and deep phases, and the recent storage change moves phase output out of daily memory files by default. That is a big maturation step. Searchable notes, reflective diary output and promoted long-term memory should never have been one pile.
Local fit
This machine already has the right memory spine
The local config uses QMD with session indexing and a deliberate includeDefaultMemory workaround. That means recall is already treated as a system feature, not a novelty toggle. What is still missing is a policy decision: where should automatic recall help, and where should it stay out of the way?
Operator caution
More memory is not always more coherence
v2026.4.15's bounded memory_get excerpts and trimmed startup budgets point to a deeper truth: memory systems fail just as often by overfeeding context as by forgetting. OpenClaw is moving toward thinner, more inspectable memory passes. That feels like the right instinct.
A useful mental model: QMD recalls, Active Memory preloads, Dreaming promotes, MEMORY.md curates. Once those roles are separated, the system becomes easier to debug and easier to trust.
04Operator patterns and failure modes
Where GPT-5.4 is strong, where it needs guardrails, and what practical habits make an OpenClaw install age well.
Model-role fit
GPT-5.4 looks best as the house generalist, not the sole answer to everything
The local config correctly keeps openai-codex/gpt-5.4 as primary. Release notes show OpenClaw is investing in its native transport, auth visibility and failover behavior. But the absence of an explicit fallback chain still leaves one obvious weakness: when the house model coughs, the whole house notices.
Known failure mode
Tool loops and stale state are the boring failures that matter most
Several April fixes target replay-invalid sessions, unknown-tool loops, stale plugin snapshots and HTML error-page misclassification. None of that is glamorous. All of it is operator gold. Mature systems fail through edge-state confusion more often than through dramatic crashes.
Best setup pattern
The right degree of specialization is moderate, not maximal
OpenClaw supports strong isolation, but the docs also reveal a preference for clear defaults and minimal hidden magic. The healthiest pattern is probably one strong main agent, a few clearly bounded specialist agents like Fritz, and named sessions for durable workflows. Too many agents become theater.
What to do next
Three improvements matter more than ten experiments
- Add an explicit model fallback chain.
- Decide whether Active Memory belongs in Alfred only.
- Re-audit permissive browser/private-network assumptions after the recent SSRF and routing fixes.
| Question | Best current answer |
| When should cron be used? | When the task has a schedule, bounded output and a delivery contract. |
| When should a persistent session be used? | When continuity itself is part of the job, for example a standing workstream or ACP thread. |
| When should a subagent be used? | When the parent needs delegated work without surrendering narrative control. |
| Where is GPT-5.4 strongest here? | General orchestration, tool use and day-to-day house-model work. |
| Where are the sharp edges? | Fallback gaps, stale session state, prompt bloat, and overly broad trust settings that once solved a bug and then stayed forever. |