Task · TSO-0090

just verify-deploy reports unreachable when any unrelated gcx context is broken

Description

scripts/verify_deployment.py runs gcx config check, which reports on EVERY configured context, and treats a non-zero exit as “gcx cannot reach Grafana (not logged in, or offline)” — exit code 2, unreachable. Observed 2026-08-30: the m7kni context was online (Grafana 13.3.0) and had just accepted a 126-resource rule push, but two sibling contexts hold keychain-locked credentials, so config check exited non-zero and verify-deploy declared the whole stack unreachable. The repo drift gate therefore returns “unreachable” on a healthy stack whenever an unrelated context is stale, which is the normal state on a machine with several stacks configured. Scope the reachability check to the context the push actually targets.

Acceptance Criteria

Definition of Done

Implementation Plan

Lane K scopes verify-deploy reachability to the selected target context and negative-tests that a broken sibling context cannot change the healthy target exit.

Implementation Notes

Lane K scoped reachability to gcx config check –context . The red-first negative test proves an unscoped broken sibling cannot affect a healthy selected context; Python tests passed and a live read-only scoped check reported the selected target online.

Required CodeRabbit pre-commit review attempted on the integrated staged diff after just check passed; the service failed before analysis with recoverable and emitted no line. Treated as a failed review, not a clean result. Root manually reviewed the full staged diff and found no blocking issue; this is an overnight review-service deviation.

Correction to the preceding note: the exact recoverable error was WebSocket closed, and the review emitted no complete status line.

Final Summary

Scoped verify-deploy reachability to the selected gcx context and added the negative broken-sibling test; a live read-only target-context check reported online. Implementation SHA d3af40f. Final integrated just check passed at 5b55617; exact-head CI run 33354208183 completed success.

View the source file on GitHub