docs(agents): record that the PR body is gated and where its contract lives - #114
Merged
Conversation
… lives Four consecutive PRs were blocked by the Review gate on the PR body rather than on code. The gate requires six exact strings, `gh pr create --body` bypasses the template that already contains them, and the failure surfaces late: unresolved threads are reported first, so a missing section only appears after every review comment has been resolved, by which point it reads as a code problem. Names the six strings, points at the script that owns the list rather than asking anyone to trust this file, and says to start from the template. Records the late-failure behaviour, because that is what made it cost four rounds instead of one. Verified in a clean worktree: 100 files / 1408 tests with vitest run alone, prettier, workflow preflight and git diff --check. Signed-off-by: Tapish Khandelwal <tapishkhandelwal13@gmail.com> Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
lamemustafa
marked this pull request as ready for review
August 1, 2026 09:35
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 6f855a64b1
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
…nale Three review findings, all correct, and the first is the one worth recording. The entry listed the six strings the gate requires — which makes it a second copy of a list owned by scripts/check-pr-review-gate.mjs, in a file whose main subject is that duplicated facts drift. It now points at `evaluatePullRequestBody` and says why the list is deliberately not repeated. The late-failure rationale was wrong. `bodyIssues` is computed unconditionally and printed in the same failure block as unresolved threads, so body problems do not wait for threads to clear. I had inferred the ordering from my own filtered log greps rather than from the code. Removed rather than reworded; an explanation that is not true is worse than no explanation. The template path was also wrong: `.github/PULL_REQUEST_TEMPLATE.md` is uppercase. It resolved locally only because macOS is case-insensitive, and would not have resolved on CI. Verified at this head: 100 files / 1408 tests with vitest run alone, prettier and git diff --check. Signed-off-by: Tapish Khandelwal <tapishkhandelwal13@gmail.com> Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Four consecutive PRs (#106, #110, #111, #113) were blocked by
Review gateon thePR body, not on code. This records the contract in
AGENTS.mdso it stopscosting a round each time.
Root cause
scripts/check-pr-review-gate.mjs:193..github/pull_request_template.mdalready contains every one of them, butgh pr create --bodybypasses the template silently, so any body written fromscratch fails.
missing section only surfaces once every review comment has been dispositioned
— at which point it reads as a code problem.
The entry names the six strings, points at the script that owns the list rather
than asking anyone to trust the prose, says to start from the template, and
records the late-failure behaviour, since that is what turned a one-line problem
into four rounds.
Scope
AGENTS.mdonly. No runtime, test, permission, storage, or public-claim change.Pack Workflow Preflight
pnpm workflow:preflightwas run before editing/push, or the skip reason is documented.Sanchika Adoption Gate
@sanchika/*packages or copied Sanchika guidance, sosanchika/docs/adoption-pack.mdand ComplyEaze and Axal completion evidence do not apply.../sanchika,sanchika/packages/*/src, or parent source paths.Privacy And Data-Flow Impact
Sensitive Surface Review
Verification
Clean worktree, dependencies installed and
wxt preparerun first:pnpm exec vitest runalone, never chained with a build: 100 files / 1408 tests passedpnpm exec prettier --check .pnpm workflow:preflightgit diff --checkPR Review Follow-Up
rejected with evidence, or accepted follow-up with a named issue.