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:
@@ -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.",
|
||||
"",
|
||||
|
||||
Reference in New Issue
Block a user