Skip to content

docs(agents): record that the PR body is gated and where its contract lives - #114

Merged
lamemustafa merged 2 commits into
masterfrom
claude/pr-body-contract
Aug 1, 2026
Merged

docs(agents): record that the PR body is gated and where its contract lives#114
lamemustafa merged 2 commits into
masterfrom
claude/pr-body-contract

Conversation

@lamemustafa

Copy link
Copy Markdown
Owner

Summary

Four consecutive PRs (#106, #110, #111, #113) were blocked by Review gate on the
PR body, not on code. This records the contract in AGENTS.md so it stops
costing a round each time.

Root cause

  • The gate requires six exact strings, owned by scripts/check-pr-review-gate.mjs:193.
  • .github/pull_request_template.md already contains every one of them, but
    gh pr create --body bypasses the template silently, so any body written from
    scratch fails.
  • It fails late: the gate reports unresolved review threads first, so a
    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.md only. No runtime, test, permission, storage, or public-claim change.

Pack Workflow Preflight

  • pnpm workflow:preflight was run before editing/push, or the skip reason is documented.
  • This PR was opened from a Pack branch, not master.
  • I checked latest master Pack AGENTS guidance or recorded the stale-guidance warning.
  • PR body keeps the required Pack privacy/review/verification checklist visible.

Sanchika Adoption Gate

  • This PR consumes no @sanchika/* packages or copied Sanchika guidance, so
    sanchika/docs/adoption-pack.md and ComplyEaze and Axal completion evidence do not apply.
  • This PR does not import ../sanchika, sanchika/packages/*/src, or parent source paths.

Privacy And Data-Flow Impact

  • No new browser permissions.
  • No new host permissions.
  • No new network calls.
  • No analytics, telemetry, ads, or session replay.
  • No credential, OTP, CAPTCHA, cookie, or session-token handling.
  • No persisted field added, so no disclosure change is required.

Sensitive Surface Review

  • No manifest, content-script, or downloads-API surface was touched.
  • No runtime behaviour changed; this is a governance note.
  • No portal URLs, filenames, local paths, GSTIN/PAN, taxpayer names or ARNs appear in the diff.

Verification

Clean worktree, dependencies installed and wxt prepare run first:

  • pnpm exec vitest run alone, never chained with a build: 100 files / 1408 tests passed
  • pnpm exec prettier --check .
  • pnpm workflow:preflight
  • git diff --check

PR Review Follow-Up

  • Current-head GitHub Actions and automated review.
  • Every review thread dispositioned: fixed with evidence, stale with evidence,
    rejected with evidence, or accepted follow-up with a named issue.

… 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
lamemustafa marked this pull request as ready for review August 1, 2026 09:35

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 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".

Comment thread AGENTS.md Outdated
Comment thread AGENTS.md Outdated
Comment thread AGENTS.md Outdated
…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>
@lamemustafa
lamemustafa merged commit ff95027 into master Aug 1, 2026
13 checks passed
@lamemustafa
lamemustafa deleted the claude/pr-body-contract branch August 1, 2026 10:24
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.

1 participant