Add a compass wait-for-CI command

Table of Contents

This page is a capture in the inbox bucket of the product backlog — a pre-sprint idea, not yet pulled into a sprint as a story.

What

A compass pr wait (or compass ci wait) command that sleeps, polls all the CI checks on a PR, prints a status update, and sleeps again until done. Behaviour:

  • Polls all checks each round but the user can name the checks they are interested in (e.g. --only check,claude-review); the command finishes when the interested set is green, regardless of the rest.
  • All interested checks green: exit success. If only a subset was watched, say so explicitly — "watched checks green; merge will need compass pr merge --force while the others are pending".
  • Any interested check red: stop, fetch useful failure information from GitHub (failed job log, annotations) and copy it into the project tmp dir — suggested layout tmp/ci/<run-number>/ — then tell the user to investigate that directory.

Why

Today the post-push ritual is manual: repeatedly running compass pr checks, eyeballing the output, and digging through the GitHub UI when something goes red. An LLM session burns context doing this polling inline, and failure logs end up pasted piecemeal into the conversation. A single blocking command makes "wait for CI then merge" a one-liner for both humans and LLM sessions, and lands failure evidence in a predictable local place for investigation.

References

See also

Emacs 29.1 (Org mode 9.6.6)