Parent: #45
Blocked by: P7 above
Hard flag-day cutover in one commit, behind a major version bump and a distinct alpha server name. v1 deleted in one commit at cutover, so a working fallback exists the whole time up to that point. Must ship: a clear version-mismatch error — today mesh-store.ts:239 degrades to "Running without mesh" on EADDRINUSE, close but must name the actual mismatch. Sessions still on v1 keep talking to each other until they restart — correct behaviour, not a failure.
Done (2026-09-16, PR #146). The hard flag-day cutover itself was already complete before this session touched it: no v1 code exists anywhere in the repo, the package is already several major versions into v2 (currently 2.28.0), and the README's own "Breaking change (v2)" section documents it as a shipped, no-migration-path cutover. The one concrete, still-open item -- the coordinator-port error message naming the actual mismatch rather than a generic "Running without mesh" -- is fixed: init()'s EADDRINUSE-degrade path now states explicitly that something already holds the port without ever answering as a reachable coordinator (a stale process, or an incompatible agent-comms version), keeping the underlying error message for full diagnostic detail.
#53 is closed.
Parent: #45
Blocked by: P7 above
Hard flag-day cutover in one commit, behind a major version bump and a distinct alpha server name. v1 deleted in one commit at cutover, so a working fallback exists the whole time up to that point. Must ship: a clear version-mismatch error — today mesh-store.ts:239 degrades to "Running without mesh" on EADDRINUSE, close but must name the actual mismatch. Sessions still on v1 keep talking to each other until they restart — correct behaviour, not a failure.
Done (2026-09-16, PR #146). The hard flag-day cutover itself was already complete before this session touched it: no v1 code exists anywhere in the repo, the package is already several major versions into v2 (currently 2.28.0), and the README's own "Breaking change (v2)" section documents it as a shipped, no-migration-path cutover. The one concrete, still-open item -- the coordinator-port error message naming the actual mismatch rather than a generic "Running without mesh" -- is fixed:
init()'s EADDRINUSE-degrade path now states explicitly that something already holds the port without ever answering as a reachable coordinator (a stale process, or an incompatible agent-comms version), keeping the underlying error message for full diagnostic detail.#53 is closed.