v0.6.0
Development release. Phase 1 feature-freeze closeout: OpenClaw plugin prerelease (Oracle daily-use verified) + Asymmetric Mitsein workflow surface (external MCP entwurf_send) shipped together ahead of the 2026-06-15 Anthropic third-party agent billing split. Phase 2/3 are refactor-only.
Added
-
entwurf_sendaccepts identity-enhanced sender envelopes from external MCP hosts (commit5217e6c). The pi-tools-bridge MCP surface previously required a pi session sender envelope from bothentwurf_selfandentwurf_send. The send path is now relaxed: when this MCP is wired into an external host (Claude Code, Codex, Gemini CLI),entwurf_senddelivers into live pi sessions withorigin="external-mcp"andreplyable=false. The receive (entwurf_self) path still requires a pi session sender envelope — fail-loud, no silent coerce.wants_reply=trueis rejected from external senders because there is no pi-session address to reply to. Receivers renderfrom: ... [external MCP]andsessionId: external-mcp (non-replyable). The asymmetry is by design: external hosts can push into pi, but receiving a reply requires being a pi session. See AGENTS.md "Entwurf Orchestration" and README "Entwurf" sections. -
OpenClaw plugin (prerelease) at
plugins/openclaw/. New monorepo-lite sibling package —pnpm-workspace.yamlpackages: ["plugins/*"]. Surfacespi-shell-acp/<model-id>as a first-class OpenClaw provider; five curated models route through Claude / Codex / Gemini ACP backends via the upstream pi-shell-acp bridge:pi-shell-acp/claude-sonnet-4-6,pi-shell-acp/claude-opus-4-7pi-shell-acp/gpt-5.4,pi-shell-acp/gpt-5.5pi-shell-acp/gemini-3.1-pro-preview
Phase 1.8/1.9 verification on Oracle Docker (2026-05-15):
glg-b-botdirect DM GREEN under both Sonnet and Opus, workspace/SOUL/USER/memory read, Telegram delivery (sendMessage ok), child pi clean exit/finalize. Manual install only —openclaw plugins install <path> --dangerously-force-unsafe-installuntil ClawHub registration. Not published to npm. Docker boundary, pi agent overlay (~/.pi) volume policies, Docker repro lab (examples/docker-lab/), and entwurf scope (--no-tools --no-session --offline) documented inplugins/openclaw/README.mdandAGENTS.md. Plugin npm name reserved:@junghan0611/openclaw-pi-shell-acp. -
Asymmetric Mitsein workflow pattern. Documented operating shape between pi GPT힣 (Mattering, slow context-rich) and Claude Code Opus (fast effort surface) ahead of the 2026-06-15 Anthropic third-party agent billing split. tmux / copy-paste is the egress (operating-system tool, repo-zero);
entwurf_sendis the ingress (already implemented). External MCP caller patterns landed in~/repos/gh/agent-config/home/AGENTS.md"External MCP caller patterns" section. See NEXT.md "Immediate Priority — 2026-05-17 sprint" for the SSOT.
Fixed
- Bumped
@agentclientprotocol/claude-agent-acpfrom0.32.0to0.33.1, picking up upstream origin-aware handling fortask-notificationfollowups so autonomous background-task results no longer bleed into the user-turn lifecycle. First fix candidate for issue #16's background-notification / human-turn boundary failure. - ACP
entwurf_sendmessage visibility regression (e31823c). Disabled the latecustomMessagepromotion on the ACP path — the post-stream box arrived after sync tool calls, making the message look like a fresh send. In-stream[tool:start]/[tool:done]notice carries the visibility instead. Native and tool-result paths preserve the receive-side renderer +ENTWURF_SENT_MESSAGE_TYPEcontext filter. Re-entry condition: when pi gains an in-stream passive UI append/update path, this is reconsidered (parked as issue #8).
Changed
- Bumped
@zed-industries/codex-acpfrom0.13.0to0.14.0, aligning the bridge with the current Codex ACP release and its Codex 0.129 / exec-output handling updates. - Reconfirmed the external
gemini-cli0.42.0path-resolution invariant used by the Gemini overlay; pi-shell-acp still treats Gemini as a PATH runtime rather than a package dependency. - README "External MCP wiring" split into two options: (A)
claude mcp addregistration (host-managed) vs (B)~/.mcp.jsondeclarative (operator-managed). Both surface the samepi-tools-bridgeentry.entwurf_selfrequires a pi session sender envelope;entwurf_senddelivers from explicitly wired external MCP hosts, replyable only for pi-session senders. - Root README gains an "Anthropic subscription billing" note framing the 2026-06-15 third-party agent billing split.
pi-shell-acprespects that distinction — no bypass, no emulation — and preserves capability dignity across all three backends (invariants #7, #9, #10). The recommended runtime mix leans toward paths outside Anthropic's Agent SDK metering (Codex / Gemini); Claude remains a strong coding worker invoked when its quality is worth the credit cost.
Plugin — plugins/openclaw/ development trail (prerelease history, 2026-05-14 ~ 2026-05-16)
Documented here for replay; not part of the public 0.6.0 surface beyond the README/AGENTS files inside plugins/openclaw/.
- TS migration:
src/index.js→src/index.ts(commit6cea5c3). Single-file TS stub; multi-file split (src/provider.ts,src/stream/*) is Phase 1.4 work. - Compiled runtime shipped at
dist/(commit1c73569). OpenClaw'sruntimeExtensionsslot consumesdist/index.js; source ships viaextensions: ["./src/index.ts"].dist/intentionally committed during prerelease (see.gitignoreSSOT comment); transitions toprepublishOnly: pnpm build+plugins/*/dist/ignore at Phase 2 npm/ClawHub publish gate. - Issue #17 outbound boundary hardening (
6cea5c3fix,918f5efci guard,1c73569dist,fa3b8f7two-layer): outbound message boundary normalize + final-role guard + abnormal-flag fan-out + outbound text-only. DIAG 7-field probe (finalRole,finalTextLen,finalTextHead,partialTextLen,partialOverridesFinal,abnormal,timeoutFired) for telemetry. 1-stage streaming-off validation GREEN at release; 2-stage streaming-on validation and[tool:trace]inline resolution remain open follow-ups. - Pre-install hardening (
340e58f), Docker repro lab (4e8237c), Telegram delivery bridge shim (98c8741+7071f4d+02c9c36), curated catalog expansion to includeclaude-opus-4-7andgpt-5.5(950e11b), Docker install layers + three-backend auth (169fa0b), entwurf scope under invariant #9 (635012b), host-adapter pointer + auth boundary invariant in root (b66e358), Docker auth boundary R1/R3/R5/R6/R7 closeout (61cfd4c), install model split (prerelease vs self-contained) + pi agent overlay boundary (8476104).
Docs
- AGENTS.md: "Entwurf Orchestration" section formalizes the sender envelope contract —
replyable=truerequires a pi sender envelope (PI_AGENT_ID/PI_SESSION_ID);external-mcpsender envelope is delivery-only. plugins/openclaw/README.md: Docker boundary section (in-container login default vs host passthrough advanced opt-in) + pi agent overlay (~/.pi) volume policies (4a persist runtime state vs 4b host overlay passthrough).- NEXT.md realigned 2026-05-17: Phase 1 = 0.6.0 dev release (OpenClaw verification ✅ Phase 1.8/1.9 + Asymmetric Mitsein sprint); Phase 2/3 = refactor-only. Open question — endpoint envelope beyond pi sessions — and Design archive — receiver wake path via MCP mailbox + Claude Code
asyncRewake— captured as design input for the operational-validation iteration.
Known limitations (post-release operational validation continues)
- Asymmetric Mitsein workflow validation (Immediate Priority sprint Step 3a) is a 1-month fast iteration in progress at release time. Real-use trigger phrases, friction patterns, and frequency data are being captured ahead of
./run.sh smoke-external-mcpautomation (Step 3b) and demo materials (Step 3c). Step 3 work is operational validation, not feature work — 0.6.0 is the feature freeze; Step 3 outputs flow into Phase 2 4-axis verification. - OpenClaw plugin remains manual-install-only; ClawHub registration is Phase 3.
- Plugin
mcpInjection,lockConflictPolicy,entwurfTargetsPathconfigSchema keys are reserved (not yet wired); they land in Phase 1.4 ts refactor. - Claude Code receiver wake path (MCP mailbox +
asyncRewake) is design archive only — no implementation in 0.6.0. Real demand measurement happens during Step 3a; implementation considered only if friction accumulates.