morningman opened a new pull request, #12:
URL: https://github.com/apache/doris-skills/pull/12

   ## Why
   
   The 2026-09-13 local review of apache/doris#67900 (head `5181cba`) found 
that the refactor had dropped the per-attempt reset of the Flight 
result-location flag, wrote it up correctly (F-02), and rated it **Minor** 
because the trigger was narrow ("Flight + replan + a failing retry") and the 
fix was one line. The verdict stayed APPROVE, a PASS receipt was posted with 
that regression as its first note, and the fix threshold downstream ("only 
Blocker/Major") dropped it. The next reviewer sent the same issue back on head 
`d60a614` as a must-fix.
   
   The finding was not missed — its severity was, and the pipeline had no rule 
that made the mis-classification impossible. This PR adds that rule and 
enforces it mechanically.
   
   ## What changes
   
   - **Mandatory regression flag per finding.** Every finding now carries `- 
**Regression**: yes | no` (ZH `- **回归**:是 | 否`) right after its severity: does 
HEAD behave differently from the base in a way the PR body does not declare as 
intended? `verify-review-docs.py` rejects a finding without the line, rejects 
EN/ZH documents whose flags disagree, and reports `regressions` in its JSON 
result.
   - **Severity floor.** A regression in a correctness / concurrency / 
lifecycle / compatibility / config / data category is at least `Major`; the 
verifier rejects a regression rated `Minor` or `Nit`. For a PR presented as 
behaviour-preserving (`[refactor]`, "Behavior changed: No", …) every undeclared 
differing cell of the D1 differential table is such a regression. Severity is 
the consequence when it triggers, never its probability or the size of the fix 
(`references/doc-templates.md`, new "Regression flag and severity floors" 
section).
   - **Downgrades need a rationale and a challenge.** Rating a candidate below 
what a subagent proposed, or dismissing a correctness / lifecycle candidate, 
now requires a written *Severity rationale* and one severity-challenge subagent 
(`references/prompts.md` section E) before it is final (`SKILL.md` step 6). The 
ledger skeletons written by `prepare-review-context.sh` carry the new fields.
   - **Poster gate.** `post-pass-comment.sh` additionally refuses to post when 
the verified result carries any regression finding, so a PASS receipt can never 
sit on top of a known behaviour change even if the two scripts ever disagree. 
The `doris-repo-review/v1` comment schema is unchanged.
   - **Tests.** `verify/repo-review` covers the new rules: 9 new contract tests 
(regression rated Minor/Nit rejected, count reported, parenthetical notes 
accepted, missing line rejected, EN/ZH disagreement rejected, unparseable value 
rejected, poster refusals). Full suite: 47 PASS.
   
   ```
   ./verify/repo-review/run.sh
   ```
   
   Also validated against real review documents (apache/doris#67916): docs with 
`Regression: no` verify as before; flipping one Minor finding to `Regression: 
yes` is rejected with `finding F-01 is marked as a regression but rated Minor; 
a regression against the base is at least Major`.
   
   ## Compatibility
   
   Documents produced by the previous template fail verification until the 
`Regression` line is added to each finding — that is intended: the line is the 
judgment this change forces the reviewer to make explicitly.
   
   🤖 Generated with [Claude Code](https://claude.com/claude-code)
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to