Skip to content

feat(pr-review): require durable smoke value evidence for example-only PRs - #3134

Merged
huangruiteng merged 2 commits into
mainfrom
codex/pr-review-quality-gate
Aug 12, 2026
Merged

feat(pr-review): require durable smoke value evidence for example-only PRs#3134
huangruiteng merged 2 commits into
mainfrom
codex/pr-review-quality-gate

Conversation

@huangruiteng

Copy link
Copy Markdown
Owner

What

Example/walkthrough/smoke-only PRs (e.g. examples/*.py walkthrough smokes) were approved on mechanics alone — the script runs, is deterministic, and is public-safe — without proving real, durable value to the repository or product. This change makes that value explicit in the generic pull-request-review capability and the loopx-pr-review skill.

Changes

  • loopx/capabilities/pr_review_queue/review_contract.py: new durable_smoke_value evidence requirement (required when smoke_or_example_only), plus applicability flags smoke_or_example_only, durable_smoke_value_required, duplication_scan_required, batch_pattern_scan_required on example/smoke-only review plans.
  • skills/loopx-pr-review/SKILL.md: documents the gate — name the guarded shipped behavior/boundary/maintenance cost, scan existing coverage, scan the same-author batch, apply the thin/durable smoke policy, and use REQUEST_CHANGES for duplicative/oversized/value-less scaffolding.
  • tests/capabilities/test_pr_review_contract.py: smoke-only plan requires the new evidence; runtime plans do not.
  • examples/pr-review-command-smoke.py: contract smoke updated for the new evidence id and rule wording.

Validation

  • python -m pytest -q tests/capabilities/test_pr_review_contract.py tests/capabilities/test_pr_review_queue.py tests/test_pr_review_github_scan.py: 26 passed.
  • python examples/pr-review-command-smoke.py: passed (skill line budget <=180 kept).
  • loopx check --scan-path ... on the three changed surfaces: public boundary scan clean.
  • No runtime behavior, benchmark scoring, permission, or evidence-policy changes.

Why this coverage is enough

The behavior is a pure contract-shape change in one capability module with two focused unit tests (positive smoke-only and negative runtime cases), one end-to-end contract smoke, and a public-boundary scan. The skill change is documentation with a line-budget smoke already enforced by the existing smoke.

…y PRs

Example/walkthrough/smoke-only PRs were approved on mechanics alone
(runs, deterministic, public-safe) without proving real value to the
repository or product. Add a durable_smoke_value evidence requirement
to the pull-request-review execution contract, mark smoke-or-example
applicability with duplication and batch scans, and document the gate
in the loopx-pr-review skill.
…restriction

If the same author submits low-value same-shape example/smoke PRs after a
REQUEST_CHANGES warning, the review must name the consequence: the owner
blocks that account from further PR submissions. Adds repeat_offender_
escalation to the durable_smoke_value evidence and documents the policy in
the loopx-pr-review skill.
@huangruiteng
huangruiteng merged commit 179fd63 into main Aug 12, 2026
4 of 5 checks passed
@huangruiteng
huangruiteng deleted the codex/pr-review-quality-gate branch August 12, 2026 11:47
huangruiteng added a commit that referenced this pull request Aug 12, 2026
Security hardening release: fixes GHSA-2225/GHSA-c42j/GHSA-hfmf/
GHSA-vx2m/GHSA-p7c9 via #3137-#3140, caller-approved completion
validation (#3142), and the durable-smoke review gate (#3134).
huangruiteng added a commit that referenced this pull request Aug 12, 2026
#3147)

Mark the fresh-project onboarding fixture done (GH-C87, #3093/#3103), bump release docs slices to v0.4.5, and add security-boundary (GH-C90) plus obligation-bound replan/evidence-read (GH-C91) fixtures. Reflect merged security fixes #3137-#3140, PR-review lenses #3123/#3134, replan evidence-log hardening #3100-#3106/#3112/#3135/#3144, and the landed React homepage #3098.
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