Highlights
Hardening for v1.3.0 progressive accept.
lane-mode-check (anti join-wait)
Multi-task runs refuse MODE=full (exit 2 β STATUS: refused_full_on_multi_task). Implementers call it in preflight so parallel Agents cannot poll-until-done and reintroduce join-wait on the slowest task.
- OK:
MODE=start/MODE=finish, or single-taskMODE=full - Emergency override (tests only):
LANE_ALLOW_FULL=1
Detached heartbeats
lane-exec --heartbeat path now writes heartbeat.json on real activity (stdout/CPU, throttled). After MODE=start the Claude supervisor is gone β stall-check still sees liveness. Idle kill is unchanged (no timer-only heartbeat).
Tests
tests/test_progressive_accept.sh β mode-check refuse, accept task A while B runs, heartbeat write.
Upgrade
cd claude-lane-stack && git pull && git checkout v1.3.1
./install.sh
# fresh PM session
claude --agent dev-orchestratorFull notes: CHANGELOG.md