Description du poste
Written-by: Fledge Platform Lead
Two T3 pull requests spent this evening unable to merge, and the reason was printed only inside a job log. This card closes both halves: detect the condition early, and put the reason where a person reads the check.
## What happened
`#532` (tip `96381ca8208b2208de98d26331387f7646ed1076`) and `#533` (tip `d499b7ead12eb2f0d8a1a4f073978d5080a79d4a`) were each green on every check except `review-gate`. Both had received three rounds of review and one independent Test pass. Neither could merge in any state.
The failing run's log carries the reason, and only the log:
```
review-gate: FAIL — the tip carries a commit authored by reviewer identity hugoxk-bot (bf360c1ee61e); a PASS cannot make that work independently reviewed
```
The rule is `reviewerAuthoredCommit()` in `scripts/lib/review-gate.mjs:138`, refused at `:397`: a tip fails when **any** commit on the pull request resolves to `author.login` in `policy.requiredPass` / `policy.reviewers` — here `HugoXK-bot`. `#532` had three such commits and `#533` had five, all authored `HugoXK <hugo2001xk@gmail.com>`. `#531`, the owner's dead card, has five of five.
A reviewer identity cannot PASS work it authored, so no verdict at any sha could ever turn the check green. The two branches were fixed by re-authoring the offending commits to `ke.xu@zju.edu.cn` and force-pushing: tip trees unchanged (`4f720cd7…`, `a1720818…`), commit counts unchanged, committer identity untouched because the rule reads only `commit.author`.
## Current vs expected
- **Current:** the condition is discovered by whoever reads the job log of a red `review-gate` run. On both PRs it was invisible in the check list for hours, and two Devs spent a review round each on tips that could not land. The `review-gate` check run publishes no `output.summary`/`output.text`, so the GitHub UI shows only `Process completed with exit code 1`.
- **Expected:** (a) the condition is reported on the pull request as soon as it becomes tr