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
- #1 verify-deploy’s reachability check considers only the context it is verifying against, not every configured gcx context
- #2 A broken sibling context is proven not to change the exit code (negative test: break a sibling, confirm exit stays 0 on a healthy target)
Definition of Done
- #1 just check passes (the full gate; it is what CI enforces)
- #2 just gen leaves no diff (only if a generated artifact’s inputs changed)
- #3 just –fmt –check passes and every new recipe has a # doc comment and a [group(…)]
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
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.