feat(FN-5633): reviewer also grades the commit message (retry-to-fix)

Add a 4th reviewer axis: the squash commit subject must concisely and
accurately summarize the actual changes. A poor/inaccurate message is an
ADVISORY-severity concern, so it drives a corrective re-merge (which rewrites
the message) up to maxReviewPasses, then lands — it never hard-blocks the merge
over a message nit. Structural correctness (task-id prefix + Fusion-Task-Id /
lineage trailers) remains deterministically guaranteed by
ensureCommitTaskMetadata regardless.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
gsxdsm
2026-05-28 20:21:06 -07:00
parent 7f536eb619
commit c21b907211

View File

@@ -280,12 +280,17 @@ export function buildReviewSystemPrompt(): string {
"merged into the integration branch and decide whether it is safe to land.",
"",
"Investigate with read-only commands (git show, git diff, git log, cat, grep).",
"Judge on three axes:",
"Judge on four axes:",
" 1. Completeness — does the squash contain ALL of the task branch's intended",
" changes? Flag any hunk silently dropped during conflict resolution.",
" 2. No collateral — does it touch only files within the task's footprint?",
" 3. Conflict soundness — were conflicts resolved coherently (both sides'",
" intent preserved), not by blindly discarding one side?",
" 4. Commit message — read `git show`'s message: the subject must concisely",
" and ACCURATELY summarize the actual changes (not vague, not a mere",
" restatement of the task title, not misleading). A poor/inaccurate",
" message is an ADVISORY concern (it should be rewritten on retry, but",
" must not block the merge).",
"",
"Bias toward rejection when uncertain.",
"",