v0.49.2
Summary
- Release 0.49.2 (stable)
- Built from v0.49.1...v0.49.2
- Published intentionally from main via tag promotion
- State snapshot: overdeck-state ff2533d
Highlights
Features
- Raise focus ceiling 500 -> 10000 chars, allow multi-line focus (PAN-3737)
- Deacon patrol reconciles terminal-issue parked residue (PAN-3727)
- CloseOut() acks open trips and clears operator gates (PAN-3727)
- Add clearAgentOperatorGatesForIssueSync door (PAN-3727)
- Extract acknowledgeAllOpenRecoveryTrips door (PAN-3727)
- Broadsheet color, surface, elevation and texture tokens (PAN-3706)
- Gate-aware CLI and deploy-script restart clients (PAN-3729)
- Server gate domain, read-model exposure, approval banner (PAN-3729)
- Toggle conversation recency ordering (PAN-3704)
- Add conversation recency comparator (PAN-3704)
- Wire conversation ordering preference (PAN-3704)
- Notify foremen of stalled slots (PAN-3680)
- Restore missing swarm foremen (PAN-3680)
- Add swarm reclaim recovery (PAN-3680)
- Keep swarm foreman resident (PAN-3680)
- Persist swarm completion observations (PAN-3680)
- Add swarm status JSON and wait (PAN-3680)
- Add gated swarm merge command (PAN-3680)
- Add gated swarm dispatch command (PAN-3680)
- Add durable swarm holds (PAN-3680)
- Add conversation failure heal command (PAN-3671)
- Add conversation failure repair door (PAN-3671)
- Append operator-owned config.extra.yaml to generated config
- Make resume message optional
- Add pan-gauntlet-loop — domain-agnostic builder/critic quality loop
- Add gated ste-writing rule and reconcile writing-style
- Consolidate issue session tabs
- Add drawer session view selector
- Extract shared view toggle
- Show CI on project rows
- Add project CI chip component
- Refresh project CI on boot
- Seed project CI from GitHub runs
- Observe default-branch CI suites
- Expose domain event append door
- Add project CI event contracts
Fixes
- Add restart-gate routes to the G3 no-loss matrix (PAN-3731 gap)
- Link blocked Linear-auth conversations by canonical /conv/
- Capture mcp.linear.app authorize URLs; link blocked conversations in banner
- Drainable dedup-keyed busy mail + distinguishable delivered backups (PAN-3738)
- Honest post-spawn status — fallback badge downgrades when healthy, busy-agent queue message says alive (PAN-3736)
- Desaturate the Broadsheet corner wash (PAN-3706)
- Address review findings (PAN-3727)
- Resolve lint drift picked up from main during rebase (PAN-3727)
- Resolver checks record-first terminality before any tracker call (PAN-3727)
- Drop stale record mergeStatus='merged' on reopen (PAN-3727)
- Restart-gate banner shows approved, restarting, and dead-requester states (PAN-3731)
- Harness-aware heuristic fallback summary (PAN-3730)
- Register a real codex transcript adapter (PAN-3730)
- Carry claimed-env on the UI restart spawn instead of --now (PAN-3729)
- Safely archive blocked attempts (PAN-3724)
- Archive blocked attempts before slot reuse (PAN-3724)
- Skip workspace Docker teardown while sibling agents are live (PAN-3728)
- Skip stopped agents and disable non-git workspace targets (PAN-3725)
- Use durable completion in polyrepo swarm test (PAN-3680)
- Keep swarm record within size ratchet (PAN-3724)
- Release safely blocked swarm slots (PAN-3724)
- Align polyrepo swarm test with live-slot safety (PAN-3680)
- Reject stale completion after slot vanishes (PAN-3722)
- Live slot session ignores stale terminal runtime resolution (PAN-3720) (#3721)
- Reset survives root-owned container artifacts in slot dirs (PAN-3717)
- Reset tolerates already-unregistered nested worktrees (PAN-3713) (#3715)
- Mint dashboard sessions on both workspace hosts (PAN-3711) (#3714)
- Propagate branch containment evidence (PAN-3702) (#3707)
- Clarify swarm lifecycle ownership (PAN-3680)
- Address swarm review findings (PAN-3680)
- Preserve manual coordinator boundaries
- Integrate unmerged nested slot branches before slot GC (PAN-3695)
- Allow swarm foreman recovery with live slots (PAN-3680)
- Reset clears superseded high-water and ignores archive dirs (PAN-3694) (#3696)
- Require explicit completion signals (PAN-3691)
- Bind swarm completions to assigned items (PAN-3690)
- Ignore stopped swarm agents for occupancy (PAN-3689)
- Reuse merged orphan slot indexes (PAN-3689)
- Make polyrepo swarm cleanup atomic (PAN-3686)
- Make polyrepo swarm slot GC atomic-in-intent (PAN-3686)
- Merge polyrepo swarm GC repair (PAN-3686)
- Harden PAN-3686 nested-GC safety checks
- Detach nested polyrepo worktrees before slot GC (PAN-3686)
- Merge stale swarm slot ownership repair (PAN-3685)
- Consume completion when merged slot is freed (PAN-3685)
- Merge PAN-3682 migrated slot completion repair
- Satisfy done command size ratchet
- Keep slot normalization within file-size ratchet
- Normalize bare slot ids in pan done (PAN-3682)
- Never join an expired verification worker; kill it and start fresh (PAN-3674)
- Retire completed stale slot ownership
- Prevent completed swarm slot resurrection (PAN-3679)
- Refresh membership on PR state changes (PAN-3663) (#3678)
- Merge PAN-3679 slot reconciliation repair
- Merge PAN-3677 planning wedge repair
- Require slot merge-door completion evidence
- Prevent false swarm slot merges
- Detect and remediate planning sessions wedged after background children go terminal (PAN-3677)
- Break review-status↔review-agent import cycle via specialists-registry leaf (PAN-3674)
- Break stranded redispatch cycle
- Heal stale conversation failures (PAN-3671)
- Degrade missing supervisor safely (PAN-3671)
- Report supervisor timeout accurately (PAN-3671)
- Export home in local launchers (PAN-3671)
- Pin canonical shared-server home (PAN-3671)
- Busy_timeout on every connection + failure-isolated activity writes (PAN-3674)
- Force re-review available on stranded-pending reviews, honest failure display (PAN-3675)
- Failed review dispatches persist as failed and stranded pending reviews self-heal (PAN-3674)
- Pin HOME/OVERDECK_HOME via -e on every spawn and isolate non-default-home sockets (PAN-3673)
- Verify fork injection against composer, not scrollback (PAN-3672)
- Decouple fork telemetry from request harness (PAN-1828)
- Omit implicit fork harness telemetry (PAN-1828)
- Preserve skill helper permissions
- Avoid skill-creator harness collision
- Merge provider-resolved fork harness (PAN-1828)
- Resolve fork harness from provider (PAN-1828)
- Fold pan-gauntlet-loop description into YAML block scalar
- Include pan-gauntlet-loop in synced skills fixture (PAN-3664) (#3665)
- Honor provider harness for new conversations
- Backfill issues aged out of the tracker sync window (PAN-3659)
- Clear stale conversation route on explicit project pick (PAN-3660)
- Refresh snapshots after CLI close-out (#3648)
- Rebase-and-retry overdeck-state pushes on non-fast-forward
- Resolve bare issue numbers through the project prefix
- Serve indexed subagent transcripts on message read paths
- Preserve delayed review feedback delivery (#3644)
- Preserve active review convoys (#3643)
- Cross resume summary gate (#3638)
- Reuse closed issue snapshot
- Wait for CI projection readiness
- Harden project CI projection
Plus 69 internal changes (refactors, tests, tooling).
Breaking changes
- None explicitly called out in commit subjects. Review the full changelog before upgrading across versions.
Install
npm install -g @overdeck/core@0.49.2