Quality gates / quality (push) Successful in 16m30s
A leftover checkout answering on 127.0.0.1:4173 satisfied the readiness probe, so every acceptance flow and the recorded demo described another tree while the build reported green. The builder now fails closed if the port already has a listener, re-checks the spawned server after readiness, and verifies the served app.js and src/domain.js bytes match the clone under test before the first gate. Verified against a real stale tree: the occupied-port guard aborts, the foreign-bytes guard aborts, and the matching tree still passes.