v0.1.94
π Release Highlights β v0.1.94 (2026-06-05)
v0.1.94 β Parallelism Hardening (Engineering Health) β strengthens the orchestrator's parallel execution. It moves the snapshot copy off the event loop so agents keep streaming concurrently, backs it with immutable versioned snapshots that keep the off-loop copy safe, and closes latent concurrency races. No per-backend functionality changes (parity principle).
β‘ Snapshot Copy Off the Event Loop
FilesystemManager.copy_snapshots_to_temp_workspacenow runs its blockingrmtree/copytree/scrub on a worker thread viaasyncio.to_thread- One agent's snapshot copy no longer stalls every other agent's streaming
π Immutable, Versioned Snapshots
- Each agent's snapshot path
<base>/<agent_id>is now a symlink to an immutable<base>/.versions/<agent_id>/v<N>directory save_snapshot(and the interrupted-turn partial save) publish a fresh version and atomically repoint the symlink instead of rewriting in place- The peer-context copy
acquires (refcounts) the current version for the duration of its copy; GC never deletes a pinned or in-flight version - Eliminates the read-during-write race the off-loop copy would otherwise expose β coordinated by the new
SnapshotVersionStore
π§΅ Concurrency Correctness Fixes
- R1 β lost peer-answer revision across the injection
awaitwindow (counts now captured at selection time) - R2/R3 β lost background-subagent result from a blind queue
pop(consume only the consumed ids) - R4 β leaked background trace-analyzer tasks on cleanup (cancelled before the flush)
- R5 β cancel-without-await teardown (
cancel_all_subagentsnow awaits cancellations against the live registry) - D2 β worktree-isolation degradation never surfaced because
emit_statuswas called with an invalidstatus=kwarg whoseTypeErrorwas swallowed - D3 β changedoc enrichment made non-fatal
π§© Unified Mid-Stream Injection
- The two ~150-line per-backend
get_injection_contentclosures collapsed into onebuild_midstream_injection(..., native=), preserving theupdate_context β refresh_checklistside-effect order on both paths - The triplicated background-wait interrupt provider consolidated into one helper
π§ͺ Tests
- New race/regression suites driven under TDD with cost-free simulation:
test_concurrency_race_fixes.py,test_snapshot_version_store.py,test_snapshot_versioned_save.py,test_snapshot_copy_offload.py,test_midstream_injection_unified.py,test_wait_interrupt_provider.py
π Install
pip install massgen==0.1.94What's Changed
- feat: v0.1.94 by @ncrispino in #1113
Full Changelog: v0.1.93...v0.1.94