Make PR descriptions human-first - #377
Conversation
|
You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard. |
WalkthroughThe PR defines a Human-First PR Description Contract, centralizes agent evidence under ChangesPR description contract and validation
Estimated code review effort: 3 (Moderate) | ~25 minutes Possibly related PRs
Sequence Diagram(s)sequenceDiagram
participant AuditReceipt
participant Coordinator
participant PRDescription
AuditReceipt->>Coordinator: Generate managed audit section
Coordinator->>PRDescription: Merge under Agent details / Audit receipts
PRDescription-->>Coordinator: Return updated description
Coordinator->>PRDescription: Read back synchronized description
🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
✨ Finishing Touches 💡 1📝 Generate docstrings 💡
🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Review SummaryThis PR reshapes the repo's PR-description contract so the human-visible summary ( What's solid
Minor issues / suggestions
Security / performanceNo security or performance implications — this is a pure documentation/prompt-contract change plus a one-line heading-level tweak in a markdown-emitting helper. No user input handling, no new executable logic paths. Overall: well-scoped, internally consistent, and the new contract test meaningfully guards against future drift. The two nits above are cosmetic/documentation polish, not correctness issues. |
|
Addressed the actionable terminology suggestion from the Claude review in commit |
Review summaryThis PR (docs/prompt-engineering repo, not application code) reworks the PR-description contract so reviewer-facing content stays visible and agent telemetry collapses into a single Two things worth a look, both left as inline comments:
No security or performance concerns — this PR only touches markdown workflow/skill docs and Ruby test/helper scripts with no runtime behavior beyond string formatting in a PR-description generator. |
|
Review Overview Overall this is a well-scoped, self-consistent documentation/process change, and it dogfoods itself well (this PR body follows the new contract). Issue: stale duplicate text left out of sync This is the old wording. The near-identical bullet in Before this PR these two bullets were verbatim identical; this PR updated one copy and missed the other, so an agent reading The file already has a precedent for this problem a few lines above ( Other notes
Suggested fix |
|
Addressed the final Claude review note from #377 (comment) in c4b6c8b: the remaining pr-batch decision-note instruction now explicitly targets the PR description’s single Agent details disclosure, with a regression assertion covering that wording. |
Review summaryReviewed the human-first PR description contract change (workflow docs + the new Overall this is a well-scoped documentation/contract change with good self-verification (the new contract test asserts the template's structure, heading set, and single- One consistency nit (left as an inline comment on No security or performance concerns — this PR touches only markdown prompt content, a heading string in a comment-formatting helper, and Ruby test assertions over that content. |
Review summaryReviewed the full diff (base Findings:
Nothing here blocks merge from a code-quality/correctness/security standpoint. |
There was a problem hiding this comment.
Caution
Some comments are outside the diff and can’t be posted inline due to platform limitations.
⚠️ Outside diff range comments (1)
skills/pr-batch/SKILL.md (1)
881-881: 🗄️ Data Integrity & Integration | 🟡 Minor | ⚡ Quick winAdd the PR description retry/readback contract enforcement.
completed-batch-audit-receiptposts the durable receipt and reads back the comment, but itspr_description_summaryonly produces PR summary text and does not describe an actual PR-description edit/merge/readback flow. Thepublish/replayinstruction requires a separately retriable description update afterpublishorreplay; keep that out of the receipt helper or align it there.🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@skills/pr-batch/SKILL.md` at line 881, Update the PR-anchor flow around completed-batch-audit-receipt and pr_description_summary so it performs a separate, retriable canonical PR-description edit: after publish or replay, read the latest description, merge the emitted “Completed-batch audit” section under Agent details → Audit receipts in one update, then read back and verify the result. Keep this description-sync retry flow outside the receipt helper, and never rerun publish to retry it.
🧹 Nitpick comments (1)
skills/pr-batch/SKILL.md (1)
584-584: 🗄️ Data Integrity & Integration | 🔵 Trivial | ⚡ Quick winPlace non-blocking decisions under the canonical heading.
The instruction names the
Agent detailsdisclosure but not its canonical### Decision logsubsection. If an agent places the note elsewhere in the disclosure, the post-merge audit can miss it. Name the heading explicitly.Proposed wording
-- add a clearly formatted decision note inside the PR description's `Agent details` disclosure +- add a clearly formatted decision note inside the PR description's `Agent details` disclosure under `### Decision log`🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@skills/pr-batch/SKILL.md` at line 584, Update the non-blocking decision instruction to require placing the clearly formatted decision note under the canonical “### Decision log” subsection within the PR description’s “Agent details” disclosure, preserving the existing guidance to continue work when merge risk is not increased.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Outside diff comments:
In `@skills/pr-batch/SKILL.md`:
- Line 881: Update the PR-anchor flow around completed-batch-audit-receipt and
pr_description_summary so it performs a separate, retriable canonical
PR-description edit: after publish or replay, read the latest description, merge
the emitted “Completed-batch audit” section under Agent details → Audit receipts
in one update, then read back and verify the result. Keep this description-sync
retry flow outside the receipt helper, and never rerun publish to retry it.
---
Nitpick comments:
In `@skills/pr-batch/SKILL.md`:
- Line 584: Update the non-blocking decision instruction to require placing the
clearly formatted decision note under the canonical “### Decision log”
subsection within the PR description’s “Agent details” disclosure, preserving
the existing guidance to continue work when merge risk is not increased.
ℹ️ Review info
⚙️ Run configuration
Configuration used: Organization UI
Review profile: CHILL
Plan: Pro Plus
Run ID: 156c5967-c77f-42d5-afec-59b7f707c0bf
📒 Files selected for processing (4)
skills/post-merge-audit/bin/post-merge-audit-policy-test.rbskills/pr-batch/SKILL.mdskills/pr-batch/bin/pr-body-human-first-contract-test.rbworkflows/pr-processing.md
🚧 Files skipped from review as they are similar to previous changes (3)
- skills/post-merge-audit/bin/post-merge-audit-policy-test.rb
- skills/pr-batch/bin/pr-body-human-first-contract-test.rb
- workflows/pr-processing.md
Address-review summaryScan scope: full history via Mattered
Optional
Skipped
Next default scan starts after this comment. Say |
|
head_sha: 9fae792
|
|
Completed-batch audit: replay evidence follows. |
…-adapter * origin/main: Make PR descriptions human-first (#377)
…/pr291-redesign-implementation * commit '6239fd0afa5bb7d87cd3fb09cc22ae30bcf1e369': Fix locale-dependent test, surface policy-only CLAUDE.md follow-ups, add read-only seam-drift audit (#337) Add PR #377 changelog entry (#382) Make PR descriptions human-first (#377) Remove unsupported signed-launch enforcement (#374) Emit coordination telemetry and provenance at workflow checkpoints (#290) Add explicit multi-language lint CI (#313) Reconcile later-completed audit targets (#315) Report source lines in security preflight findings (#311) Gate completed-batch publication on terminal scope and QA (#308) Add guarded merge submission seam (#304) Fix exact-head readiness when status rows omit SHA (#307) fix: allow YAML timestamps in action scanner (#305) Pin workflow dependencies and define release trust boundary (#295) Support direct merges without merge queues (#297)
…8-batch-docs-status-skill * origin/main: Default merge submission to direct (#407) Fix <PROJECT> digit ambiguity, anchor section extraction, ship coordination gate (#339) Enforce requested-versus-observed model route provenance (#348) Fix locale-dependent test, surface policy-only CLAUDE.md follow-ups, add read-only seam-drift audit (#337) Add PR #377 changelog entry (#382) Make PR descriptions human-first (#377) Remove unsupported signed-launch enforcement (#374) # Conflicts: # bin/validate
Why
Agent-generated PR descriptions have become hard for maintainers to scan. The change itself gets buried under commands, SHAs, coordination state, QA markers, and review telemetry.
This makes the reviewer-facing summary short and useful while preserving complete machine-readable evidence for agents and audits.
What changed
Why,What changed, andHow to review and verifystay visible.<details><summary>Agent details</summary>section with stable machine-oriented headings.How to review and verify
workflows/pr-processing.md; the visible portion should read like a concise maintainer summary.Agent details
Commands and results
bin/validate— passed, including RuboCop across 118 files.validate,Lint,claude-review, and CodeRabbit checks — passed.ruby skills/pr-batch/bin/pr-body-human-first-contract-test.rb— 1 run, 68 assertions, 0 failures.ruby skills/pr-batch/bin/goal-completion-contract-test.rb— 76 runs, 1102 assertions, 0 failures.ruby skills/post-merge-audit/bin/completed-batch-audit-receipt-test.rb— 70 runs, 572 assertions, 0 failures.ruby skills/post-merge-audit/bin/post-merge-audit-policy-test.rb— 17 runs, 409 assertions, 0 failures.rubocop skills/pr-batch/bin/pr-body-human-first-contract-test.rb— 1 file inspected, no offenses.closeout-evidence-replay --expected-head-sha 9fae79296d23706cabff314f3d2b0a27418a11a2—NOT_APPLICABLE, with no missing fields or errors.git diff --check— passed.Exact-head and replay evidence
4d93a01ec4abfeef6bb7f67caaff2f05aab04a1d9fae79296d23706cabff314f3d2b0a27418a11a2bin/validate, focused contract tests, RuboCop, independent review, and all hosted checks passed on the exact content committed at this head.QA Evidence
9fae79296d23706cabff314f3d2b0a27418a11a2bin/validate, focused contract/receipt/policy tests, and exact-head RuboCopCoordination and reviewer telemetry
n/afor this repository.codex-worker-pr-body-contract; checker/closeout owner:codex-root-coordinator.Decision log
Merge confidence
Audit receipts
Completed-batch audit
Status: Follow-ups remain — see the durable receipt. Durable receipt.