A shared component importing a runtime API proves nothing about that
runtime; the runtime's own entrypoint must mount the path. Trace
top-down before claiming a bug or fix is user-visible in a runtime —
VS Code's layout mounts only a subset of the shared surfaces and bites
reviews constantly.
Either the manual check guards an irreversible path and the verdict
reads 'MERGE — after you verify X', or the verdict is a plain MERGE
with no checklist: residual cosmetic risk is absorbed by the verdict
(users surface it, a revert costs one commit). Post-merge homework
lists were the reviewer offloading uncertainty onto the maintainer.
A manual check either guards an irreversible path (data loss, upgrade
and restart flows, auth) and gates the merge, or it is low-risk visual
polish where merging first is fine and skipping the check is stated as
accepted risk — never a ritual list padded to feel thorough.
- PRs/issues with human thread activity run in pickup mode across all
three skills: the output opens with thread state (asked / answered /
resolved at HEAD / remaining) and continues the conversation instead
of restarting review — the sweep remembers the maintainer's own
comments for them
- every PR/issue reference in maintainer-facing output is a clickable
markdown link, never a bare number
- report entries are calibrated: 2-4 sentences each (what, why this
verdict, main risk), needs-your-hands lives inside the entry rather
than a number-repeating section
triage-issues gains a silently-fixed detection ladder, strongest
evidence first: mechanism-anchor (git log -L on the root-cause:found
file:line since the issue date), repro re-run against current main, and
symptom search over commits/CHANGELOG/merged PR titles. CLOSE-FIXED
always names its evidence; an unverified hunch only asks the reporter
to retry.
pr-review's merge verdicts now search open issues for the symptom a bug
fix resolves and propose Closes #N, so fixes stop landing unlinked.