fix: make Board port binding multi-instance friendly - #545
Conversation
Claude audit (merge-authority lane)Head SHA: Claude Audit: PASS Summary: Board serve now falls forward to a nearby free loopback port only when --port was not explicitly supplied, while an explicit --port stays strict and reports a friendly conflict, matching the updated docs. Port validation, loopback enforcement, and the port-selection logic are correct, and new tests cover default fallback, explicit-port conflict, equals-form flag detection, and out-of-range port rejection. No correctness, security, or data-loss issues found. Findings: none. |
Code Review ✅ Approved 2 resolved / 2 findingsEnables Board to auto-select a nearby free loopback port when the default port is busy, while keeping explicit port selection strict with a friendly conflict message and documenting local URL scope. Resolved abbreviated ✅ 2 resolved✅ Edge Case: Abbreviated --port flag defeats strict explicit-port contract
✅ Quality: Explicit-port conflict suggestions can exceed 65535
OptionsAuto-apply is off → Gitar will not commit updates to this branch. Comment with these commands to change the behavior for this request:
Was this helpful? React with 👍 / 👎 | Gitar |
Claude audit (merge-authority lane)Head SHA: Claude Audit: PASS Summary: Board port-binding changes correctly implement the documented behavior: default port auto-falls-forward through a 10-port range on EADDRINUSE while an explicit --port stays strict and fails with a clear conflict message. Port validation, argparse wiring (--port default None -> port_was_default flag), and TCPServer's built-in socket cleanup on bind failure all check out. Tests cover the fallback, explicit-conflict, invalid-port, and abbreviated-flag paths. Docs (README, quickstart, data contract) are consistent with the implementation. No P0/P1/P2 issues found. Findings:
|
Summary
Validation
Risk and rollback
Low. The change only affects local Board port binding. Roll back by reverting this PR; explicit ports remain deterministic.
Data and privacy
No cloud schema changes. Board remains loopback-only and local-first; docs keep the metadata-only/no source/diff/transcript boundary.
Closes #537. Part of #536.