Skip to content

Address post-merge Copilot review on #1079: pagination, commit statuses, raw-run route - #1082

Merged
d-morrison merged 1 commit into
mainfrom
fix/check-runs-review-followup
Aug 3, 2026
Merged

Address post-merge Copilot review on #1079: pagination, commit statuses, raw-run route#1082
d-morrison merged 1 commit into
mainfrom
fix/check-runs-review-followup

Conversation

@d-morrison

Copy link
Copy Markdown
Collaborator

Follow-up to #1079 (which closed #1074).

#1079 was merged at 2026-08-03T03:36:11Z. Copilot's review posted at 03:46:25Z, ten minutes later, carrying three inline findings plus two more inside a Suppressed comments (2) block. All five are correct. This PR addresses them against main.

Fittingly, that review is itself an instance of two things #1079 documents: gh pr checks 1079 returned 8 contexts while commits/<sha>/check-runs returned 9, the extra being copilot-pull-request-reviewer; and the findings sat in a collapsed suppression block that a body-summary read would have missed.

Findings addressed

1. --paginate is required (suppressed, fully-clean.md:102).
The command shipped without it. The endpoint returns 30 check runs per page by default, so on a head with more than 30 an unfinished run can sit on page 2 while the query returns nothing and reads as an all-clear -- reintroducing, one surface over, the exact incompleteness the block is about. Added --paginate and per_page=100, plus a paragraph and a Don't: bullet saying why it is load-bearing.

2. The endpoint covers check runs only, not legacy commit statuses (inline, :85).
Correct, and the criterion's own older text already says gh pr checks covers "check runs (plus legacy commit statuses)". So "read the endpoint instead" could hide a pending or failing status context. Added a paragraph, the commits/<sha>/status query, and a Do: bullet asking for both rather than either alone. Also recorded the trap that its combined state reads pending when a repo posts no statuses at all:

$ gh api repos/Morrison-Lab/ai-config/commits/<head>/status --jq '{state, n:(.statuses|length)}'
{"state":"pending","n":0}      # on both e9f7c84b and cbf39b64

3. "the raw-workflow-run cross-check finds nothing missing" is too categorical (inline, :92).
Verified, and Copilot's particular is right:

$ gh api repos/Morrison-Lab/ai-config/actions/runs/30781006647 --jq '{name,head_sha,event}'
{"name":"Running Copilot Code Review","head_sha":"cbf39b6452e3...","event":"dynamic"}
$ gh run list --commit cbf39b6452e3... | grep Copilot
30781006647 success Running Copilot Code Review

So the omitted check does have a backing Actions run, and a raw-run sweep surfaces it -- under the run's name rather than the check's. Reworded to call the raw-run route indirect and best-effort, carrying that paragraph's own unreliability caveats, rather than blind.

4. "An absent check run" reintroduces the corrected claim (inline, :695, recurring at :713).
Right, and this is the finding I most needed: the run is not absent, only omitted from the rollup, which is the very confusion #1079 exists to remove. Both occurrences now name the narrower surface, and the sentence at :693 was tightened the same way.

5. Semantic line breaks in the touched case-record paragraph (suppressed, :717).
Reflowed one clause per line. check-new-line-breaks had passed on it -- it flags multi-sentence lines and mid-line semicolons, not long single-sentence lines with several clauses -- so this was a real gap that CI does not gate.

Checks

sync-codex-skill-wrappers.py (no wrapper changes), validate-skills.py, check-links.py (953 links, 434 files), check-vendored-drift.py, check-memory-file-size.py, test_check_memory_file_size.py (13 passed), markdownlint-cli2@0.22.1 (456 files, 0 errors).

check-new-line-breaks.py run after committing against origin/main...HEAD: no lines missing semantic breaks.

Branch cut fresh from origin/main rather than continuing #1079's branch, since that PR squash-merged and its commits are no longer ancestors of main. Diff is 83 insertions / 26 deletions in one file.

#1079 merged at 03:36:11Z; Copilot's review posted at 03:46:25Z, ten
minutes later, carrying three inline findings and two suppressed ones.
All five verified against the API before addressing.

- Add --paginate and per_page=100 to the check-runs command. The
  endpoint returns 30 runs per page by default, so an unfinished run on
  page 2 yields the same empty result as a finished head, reintroducing
  the incompleteness the block is about.
- Note the endpoint covers check runs only. gh pr checks folds in legacy
  commit statuses, so swapping one for the other can hide a status
  context. Adds the commits/<sha>/status query and warns that its
  combined state reads pending with zero statuses; measured
  {"state":"pending","n":0} on both ai-config heads checked.
- Soften the raw-workflow-run claim, which was too categorical. Run
  30781006647, "Running Copilot Code Review", sits at #1056's head
  cbf39b6, and gh run list --commit does surface it, so the raw-run
  route is best-effort corroboration rather than blind.
- Name the narrower surface where the text read "an absent check run":
  the run exists and only the rollup omits it.
- Reflow the touched case-record paragraph one clause per line.

Follow-up to #1079, which closed #1074.
@claude

claude Bot commented Aug 3, 2026

Copy link
Copy Markdown
Contributor

Code review

Reviewed the diff to shared/workflow/fully-clean.md (single file, +48/-16, prose-only). This is a self-referential meta-documentation PR addressing a post-merge Copilot review on #1079, so I fact-checked the technical claims in addition to the usual bug/CLAUDE.md sweep.

Verified independently:

No issues found. Checked for bugs, CLAUDE.md/lab-manual compliance (prose style, ASCII punctuation, semantic line breaks), and hallucinated content.

Verdict

Ready for merge.

@github-actions

github-actions Bot commented Aug 3, 2026

Copy link
Copy Markdown
Contributor

Claude finished reviewView run


Review posted successfully to the PR.

Summary: PR #1082 makes prose-only changes to shared/workflow/fully-clean.md, addressing a post-merge Copilot review on #1079 (pagination on the check-runs endpoint, adding the combined-status endpoint, softening an overly categorical claim about the raw-run cross-check, and reflowing one paragraph for semantic line breaks). I independently verified the two technical claims against GitHub's REST API docs (both accurate), confirmed all cited PR numbers/SHAs/timestamps resolve correctly, checked for banned punctuation and multi-sentence lines in added content (none found), and checked for new duplication or internal inconsistency (none found). No issues found.

Verdict

Ready for merge.

@github-actions

github-actions Bot commented Aug 3, 2026

Copy link
Copy Markdown
Contributor

💰 Cost: $7.3478 (review) — run

@d-morrison

Copy link
Copy Markdown
Collaborator Author

Ready for merge, on claude-review's verdict alone. Naming which reviewer that rests on, per this file's own fifth-case rule.

Reviewers.
claude-review returned Ready for merge with no findings, having independently verified the per_page: 30 default and the combined-status pending-with-zero-statuses semantics against GitHub's REST docs rather than taking my measurements on trust.

Copilot was requested and never weighed in at this head. Its check run went success (03:52:42Z to 03:54:43Z), it posted no review, no inline comments, and it no longer appears in requested_reviewers --- so it considers itself done. That is the green-check-no-review case this very PR documents, arriving for a third time this session (#1079 first requested it at 03:26, and got a review only on the second request 20 minutes later; here neither produced one).

State, taken from the paginated check-runs endpoint rather than gh pr checks, which is fittingly the thing this PR is about:

check runs 9, all completed, all success
gh pr checks rollup 8 --- omits copilot-pull-request-reviewer, again
inline comments / unresolved threads 0 / 0
head 372a9f7

Behind main by 3 commits, and deliberately not synced. None of e31aa77, 80b50c6, or e72c410 touches shared/workflow/fully-clean.md, and git merge-tree reports no conflict. Per batch-merge-and-resolve, that is stale rather than defective, and staleness resolves once at merge time --- re-syncing now would spend a CI cycle and a review round on a state that expires within one merge interval.

The conflict sweep had controls, so the zero is not a detector that failed to run: a known-conflicting pair (this PR's superseded branch against main) returned 7 conflict markers, a ref against itself returned 0, and this pair returned 0. Three pairs examined.

@d-morrison
d-morrison merged commit 211ccc6 into main Aug 3, 2026
9 checks passed
@d-morrison
d-morrison deleted the fix/check-runs-review-followup branch August 3, 2026 04:15
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

gh pr checks omits the Copilot check run, so it reports 0 pending while a review is still in progress

1 participant