I2403 — Pull requests, checks and deploys reach the stream when GitHub is reachable
Add a GitHub source (pull requests opened, merged and closed, required check verdicts, deploy and release workflow outcomes) through the existing pull-request reader, cached and time-bounded.
DONE wave 1 · p2 · implementation profile · runs alone
Objective
Add a GitHub source (pull requests opened, merged and closed, required check verdicts, deploy and release workflow outcomes) through the existing pull-request reader, cached and time-bounded.
Why
Merges, red checks and deploys are what a worker waits for most, and today it polls gh itself.
Current state
GitHub is read only by prs.
Desired state
The monitor carries GitHub signals within a budget and reports the source absent with its reason when gh is missing or unreachable.
Scope
- apps/majordomus-cli/src/monitor
- test/cases/1052_an_absent_source_is_reported.sh
Dependencies
Acceptance criteria
- A merged pull request appears once as a signal
- An absent gh is a source state with a reason, never an empty answer
- No network in tests: a fixture drives the reader
Validation
- MJ_TEST_JOBS=4 bash test/run.sh 1052
Evidence required
- monitor_github_source
Evidence
| covers | type | command | result | at commit |
|---|---|---|---|---|
| monitor_github_source | ci | validate run 39438896504 at master 9a5a9b77520: suite shards 1-4 (jobs 118683336189 118683338077 118683336157 118683336457) run every case, incl. 1052_an_absent_source_is_reported; and validate run 39438896504 at master 9a5a9b77520: rust (1-3) jobs 118683336143 118683336062 118683336401 run cargo test, incl. monitor::github::tests::a_missing_gh_is_absent_and_a_failing_one_is_an_error (bf08180a4d1) | success (the run's only red job is pages, which runs no test) | a81b1e3 |
Timeline
- started
- 2026-10-20T16:17:32Z
- verified
- —
- completed
- 2026-10-20T16:32:22Z
Those three fields, the evidence above and the state of the dependencies are all the status is made of. There is no status field to disagree with them.
Canonical record: .ai/repo/project/issues/I2403.yaml. Read it back with majordomus plan show I2403.