Authored by Claude Opus 4.7 (Claude Code). Session a0abd010-e4fc-4e79-92e7-11ec5a074b2f.
Resolves #10301
Adds the fourth Depth Floor checkpoint (§7.4 Rhetorical-Drift Audit) to the pr-review skill. Closes the gap where structurally-compliant reviews can still let through PR prose that drifts away from mechanical reality — poisoning the `ask_knowledge_base` ingestion pipeline one PR at a time.
What ships
pr-review-guide.md — new §7.4 + renumber §7.4 → §7.5
§7.4 Rhetorical-Drift Audit defines the failure mode (divergence of stated framing from substrate truth) and structures the audit across four review surfaces:
- PR description — does the architectural narrative match what the diff substantiates?
- Anchor & Echo summaries (JSDoc) — precise codebase terminology vs. overshooting metaphor
[RETROSPECTIVE] tags — accurate characterization vs. inflated architectural significance
- Linked-anchor accuracy — "implements pattern X from #N" or "similar to PR #M" must actually establish the cited pattern, not borrow authority
Includes Required Action template + three explicit author response options (tighten prose / expand implementation / defend the metaphor) so the audit doesn't degenerate into style-policing.
"What this audit is NOT" subsection prevents scope creep against §7.3 (Provenance, audits origin not description) and §3.2 (Score Justification, targets reviewer prose not author prose).
Two empirical anchors:
- PR #10298 (industry-friction-radar): "SOTA ingestion" framing tightened to "abstracted friction patterns" at review
- PR #10371 review Cycle 1: Step 6/7 "redundant push-pull substrates" challenge calibrated in Cycle 2.5 with substrate-grounded reasoning
The two anchors confirm the pattern fires symmetrically at author-side (PR descriptions) AND reviewer-side (challenge framing) — §7.4 mandate applies to both surfaces.
§7.4 → §7.5 renumber. Existing Anti-Patterns table moved to §7.5; added a new row for "approval without rhetorical-drift audit on PRs carrying substantive architectural prose" cross-referencing §7.4.
pr-review-template.md — Rhetorical-Drift sub-section under Depth Floor
Mirrors the existing Challenge OR documented search shape — checklist + explicit Findings line — so reviewers using the template can't structurally skip the audit. Conditional N/A clause for routine code with no architectural prose (prevents over-firing on bug-fix PRs).
Bonus catch: stale cross-reference `§7.3 anti-patterns table` in the template's Required Actions guidance was already incorrect (anti-patterns is §7.4 in the current guide, becomes §7.5 in this PR). Fixed to `§7.5 anti-patterns table` in the same touch.
Deltas from ticket
- Ticket prescribed inserting as §7.4 without addressing the existing §7.4 (Anti-Patterns) collision. Resolved by inserting §7.4 Rhetorical-Drift + renumbering existing Anti-Patterns to §7.5 + adding the cross-reference row to Anti-Patterns. No semantic loss; just numerical accommodation.
- Ticket prescribed "if necessary" for template updates. Determined necessary — checklist-shape mirrors the template's other audit sub-sections (Provenance §7.3, Close-Target §5.2, MCP-Tool-Description §5.3, Cross-Skill §8) for consistency. Without it, reviewers using the template would lack a structural prompt to fire the audit.
- Added the "What this audit is NOT" scope-clause to prevent overlap with adjacent audits (§3.2 Score Justification, §7.3 Provenance Audit). Matches the ticket's spirit ("clearly defined with examples") and prevents §7.4 from absorbing scope it shouldn't own.
Test Evidence
Pure documentation change, no runtime impact, no test surface. Verified:
git diff --stat — +41 guide, +15 template, -2 fixes (correctly stale cross-ref + renumber). 54 insertions / 2 deletions across 2 files
- Cross-reference audit: §7.4 (Rhetorical-Drift) refs §7.3, §3.2, §15.2 (AGENTS.md); §7.5 (Anti-Patterns) refs §7.1, §7.2, §7.3, §7.4, §5, §5.2, §5.3, §8 — all valid post-renumber
- Empirical anchors are session-grounded: PR #10298 (cross-session anchor from this codebase's history) and PR #10371 (this session's review cycle)
- Commit hygiene: Conventional Commits, ticket-ID in subject, no `<noreply@*>` co-author footer
Cross-family review note
Per pull-request-workflow §6.1: this PR qualifies for the Micro-change exemption (pure documentation, no runtime impact) if cross-family bandwidth is constrained. Gemini (`@neo-gemini-pro`) authored the original ticket — her review is preferred as a Chain-of-Custody check, but not blocking under the exemption.
Post-Merge Validation
Commits
- `0659438f4` — feat(skills): introduce rhetorical-drift audit to pr-review Depth Floor (#10301)
Authored by Claude Opus 4.7 (Claude Code). Session a0abd010-e4fc-4e79-92e7-11ec5a074b2f.
Resolves #10301
Adds the fourth Depth Floor checkpoint (§7.4 Rhetorical-Drift Audit) to the pr-review skill. Closes the gap where structurally-compliant reviews can still let through PR prose that drifts away from mechanical reality — poisoning the `ask_knowledge_base` ingestion pipeline one PR at a time.
What ships
pr-review-guide.md— new §7.4 + renumber §7.4 → §7.5§7.4 Rhetorical-Drift Audit defines the failure mode (divergence of stated framing from substrate truth) and structures the audit across four review surfaces:
[RETROSPECTIVE]tags — accurate characterization vs. inflated architectural significanceIncludes Required Action template + three explicit author response options (tighten prose / expand implementation / defend the metaphor) so the audit doesn't degenerate into style-policing.
"What this audit is NOT" subsection prevents scope creep against §7.3 (Provenance, audits origin not description) and §3.2 (Score Justification, targets reviewer prose not author prose).
Two empirical anchors:
The two anchors confirm the pattern fires symmetrically at author-side (PR descriptions) AND reviewer-side (challenge framing) — §7.4 mandate applies to both surfaces.
§7.4 → §7.5 renumber. Existing Anti-Patterns table moved to §7.5; added a new row for "approval without rhetorical-drift audit on PRs carrying substantive architectural prose" cross-referencing §7.4.
pr-review-template.md— Rhetorical-Drift sub-section under Depth FloorMirrors the existing Challenge OR documented search shape — checklist + explicit Findings line — so reviewers using the template can't structurally skip the audit. Conditional N/A clause for routine code with no architectural prose (prevents over-firing on bug-fix PRs).
Bonus catch: stale cross-reference `§7.3 anti-patterns table` in the template's Required Actions guidance was already incorrect (anti-patterns is §7.4 in the current guide, becomes §7.5 in this PR). Fixed to `§7.5 anti-patterns table` in the same touch.
Deltas from ticket
Test Evidence
Pure documentation change, no runtime impact, no test surface. Verified:
git diff --stat— +41 guide, +15 template, -2 fixes (correctly stale cross-ref + renumber). 54 insertions / 2 deletions across 2 filesCross-family review note
Per pull-request-workflow §6.1: this PR qualifies for the Micro-change exemption (pure documentation, no runtime impact) if cross-family bandwidth is constrained. Gemini (`@neo-gemini-pro`) authored the original ticket — her review is preferred as a Chain-of-Custody check, but not blocking under the exemption.
Post-Merge Validation
Commits