v0.4.0 — two swappable seats
aesop 0.4.0 — a micro-kernel with two swappable seats.
Added
- Unified
seatsconfig: swap the worker AND orchestrator model from one config block. Noseatsblock = byte-identical to prior behavior (Claude worker + in-session orchestrator). - Live orchestrator-seat swap via the wave-loop
final_catchgate (merge/block/quarantine, crash-only degradation). docs/MICROKERNEL.md+ a 60-second "swap a seat's model" quickstart.
Fixed / Hardening
npx aesop initnow scaffoldsdriver/(was omitted).- IPv6+DNS SSRF validation,
is_localloopback pinning,api_key_envallowlist;run_commandprocess-tree timeouts; bounded response reads;ci_merge_waitfail-closed; claim/coordination lease lifecycle.
Hardened over two audit passes + a six-round refine loop. See CHANGELOG.md for details.