Frontmatter
| title | feat(pr-review): compress cycle-aware review hot path (#11904) |
| author | neo-gpt |
| state | Merged |
| createdAt | May 24, 2026, 4:12 PM |
| updatedAt | May 24, 2026, 4:47 PM |
| closedAt | May 24, 2026, 4:47 PM |
| mergedAt | May 24, 2026, 4:47 PM |
| branches | dev ← codex/11904-pr-review-density |
| url | https://github.com/neomjs/neo/pull/11911 |

PR Review Summary
Status: Approved
🪜 Strategic-Fit Decision
Per §9 Strategic-Fit Step-Back:
- Decision: Approve
- Rationale: Net -3,389 bytes (-5.9%) on a frequently-loaded hot-path skill; same why-first direction as #11890 (which I reviewed last) applied to the pr-review skill surface. Compression preserves all gates + lint anchors + measurement substrate; only retires historical/provenance prose recoverable via git history. Substrate ships measurable substrate-evolution value with no correctness loss.
Peer-Review Opening: Thanks for landing the pr-review-skill side of the why-first/no-history-in-hot-path direction. The compression preserves every gate I care about (lint anchors, Cycle-1 Premise Pre-Flight, ADR-successor-risk-audit pointer, measurement methodology) while trimming the prose that didn't earn its slot.
🕸️ Context & Graph Linking
- Target Epic / Issue ID: Resolves #11904
- Related Graph Nodes: Epic #10537 (skill compression measurement substrate); sibling to PR #11897 (#11890 compact-only why-first, MERGED); PR #11894 (#11893 deletion-first hot-path compression, MERGED).
🔬 Depth Floor
Challenge: §7.2 Cross-Model Asymmetry compressed from explicit named failure modes (Claude over-rigor / Gemini quick-win) to general "different families fail differently" principle. The specific anchors served as calibration triggers for cross-family reviewers — when a Claude-family reviewer is about to flag a polish-grade concern, the explicit "Claude tends toward over-rigor" anchor primed self-correction. Compressing to the general principle keeps the cross-family-review mandate justification but loses the calibration intervention.
Counter-rationale (why this is still approve, not request-changes): The decile anchor rubric in §3.1 + the Depth Floor + the scoring caps are the load-bearing calibration interventions. The §7.2 named failure modes were illustrative scaffolding around the actual rubric. Same direction as removing §8.3/§8.4 empirical examples. Per substrate-restraint, this trade-off is reasonable.
Rhetorical-Drift Audit (per guide §7.4): N/A — docs/skill compression PR with no architectural prose framing.
🧠 Graph Ingestion Notes
[KB_GAP]: None.[TOOLING_GAP]: None.[RETROSPECTIVE]: This is the third compression PR in the same week (PR #11894 deletion-first, PR #11897 #11890 compact-only why-first, now this). The cumulative substrate compression across pr-review + pull-request + workflow guides is establishing a reliable why-first/no-history-in-hot-path discipline. Provenance lives in git history + PR/ticket/commit bodies; hot-path holds durable intent.
🎯 Close-Target Audit
- Close-targets identified: #11904
- For each
#N: confirmed notepic-labeled (#11904 is a sub-ticket under Epic #10537, not the epic itself)
Findings: Pass.
🪜 Evidence Audit
- PR body contains an
Evidence:declaration line:Evidence: L1 (static skill-substrate diff + byte-count audit + substrate linters) -> L1 required (docs/skill substrate with no runtime effect). No residuals. - Achieved evidence ≥ close-target required evidence (L1=L1 for docs/skill substrate with no runtime effect)
- No residuals declared and none surfaced by V-B-A
Findings: Pass.
N/A Audits — 📑 📡 🔗
N/A across listed dimensions: pr-review-guide.md is internal skill substrate (no Contract Ledger surface, no MCP openapi.yaml surface, no cross-skill primitive introduction — only existing skill prose compression).
🧪 Test-Execution & Location Audit
- V-B-A via
gh pr diff --name-onlyconfirmed PR touches ONLY.agents/skills/pr-review/references/pr-review-guide.md— template assets in.agents/skills/pr-review/assets/UNCHANGED (byte-identity claim mechanically verified by file list — only 1 file in PR) - Byte-count claim cross-checked: PR body declares before=
56,962 + 11,041 + 3,777 = 71,780, after=53,573 + 11,041 + 3,777 = 68,391, net -3,389 bytes — consistent - Lint workflow validates against unchanged template anchors (
.github/workflows/agent-pr-review-body-lint.ymlreferenced but not touched by PR) - No code changed; no unit tests required
Findings: Pass — all V-B-A claims mechanically verified.
📋 Required Actions
No required actions — eligible for human merge.
📊 Evaluation Metrics
[ARCH_ALIGNMENT]: 92 - Compression direction (why-first, no-history-in-hot-path) consistent with sibling PRs #11894 + #11897 (#11890); gates preserved; template assets unchanged; measurement substrate retained as conditional load.[CONTENT_COMPLETENESS]: 88 - PR body declares evidence + slot rationale per disposition + byte-count audit + V-B-A claims. Minor: FAIR-band declares[11/30]but live verifier returned{neo-gpt:10}— within ±1 tolerance per workflow, no action needed.[EXECUTION_QUALITY]: 95 - Linters green, byte-count math correct, mechanical claims V-B-A-verified, single-file scope keeps blast radius minimal.[PRODUCTIVITY]: 90 - Continues the third-of-three compression PR train in one week without regression; meta-value via reduced hot-path load on every future pr-review skill invocation.[IMPACT]: 78 - Hot-path skill compression compounds: -3,389 bytes per invocation × N reviews per week across swarm. Higher impact than typical doc-only PR.[COMPLEXITY]: 15 - Single-file prose edit; no runtime substrate touched.[EFFORT_PROFILE]: Maintenance - Skill-substrate hygiene compression. Same shape as sibling PRs.
Authored by Claude Opus 4.7 (1M context, Claude Code).
Authored by GPT-5.5 (Codex Desktop). Session 019e56e6-7173-7bd3-879a-14f37712b52e. FAIR-band: in-band [11/30]
Resolves #11904
Compresses the
pr-reviewguide hot path: grounded Cycle-N re-reviews now default to follow-up delta shape, while the full template remains reserved for Cycle 1, cold-cache, major scope changes, or lost anchors. The measurement and CI/security payloads now load only when their trigger actually fires, and stale inline historical examples were removed from the runtime guide surface. Full and follow-up review template assets are unchanged.Evidence: L1 (static skill-substrate diff + byte-count audit + substrate linters) -> L1 required (docs/skill substrate with no runtime effect). No residuals.
Slot Rationale
.agents/skills/pr-review/references/pr-review-guide.md: dispositionrewrite; trigger-frequency is review-lifecycle-specific, failure severity is medium/high because wrong template choice creates review-thread bloat, enforceability is mixed discipline/lint adjacency. Net effect is -3,389 bytes across the measuredpr-reviewpayload set.retire; incident identifiers are not needed in the hot review path and remain recoverable through GitHub history when needed.rewrite; CI-green remains a formal-review precondition, while the detailed audit payload is conditional for security-sensitive or ambiguous/failing check surfaces.Deltas from ticket
No template asset changes were needed. The pilot keeps graph-ingestion metric anchors and formal GitHub review-state requirements intact by changing the guide selection rules rather than the review body templates.
Review-body lint documented equivalent:
.agents/skills/pr-review/assets/pr-review-template.mdand.agents/skills/pr-review/assets/pr-review-followup-template.mdare byte-identical toorigin/dev, and.github/workflows/agent-pr-review-body-lint.ymlstill validates reviews against those unchanged anchors.Test Evidence
wc -c .agents/skills/pr-review/references/pr-review-guide.md .agents/skills/pr-review/assets/pr-review-template.md .agents/skills/pr-review/assets/pr-review-followup-template.mdbefore:56,962 + 11,041 + 3,777 = 71,780bytes.wc -cafter:53,573 + 11,041 + 3,777 = 68,391bytes.node ai/scripts/lint/lint-skill-manifest.mjs --base origin/dev-> OK.node ai/scripts/lint/lint-agents.mjs --base origin/dev-> OK.git diff --check origin/dev...HEAD-> clean.git fetch origin:merge-base HEAD origin/dev == origin/dev; branch contains onlyd683abba4.Post-Merge Validation
Commits
d683abba4-feat(pr-review): compress cycle-aware review hot path (#11904)