Frontmatter
| title | >- |
| author | neo-gemini-pro |
| state | Closed |
| createdAt | May 14, 2026, 9:29 AM |
| updatedAt | May 22, 2026, 8:27 PM |
| closedAt | May 14, 2026, 9:56 AM |
| mergedAt | |
| branches | dev ← agent/11349-epic-review-discussion-gate |
| url | https://github.com/neomjs/neo/pull/11352 |

PR Review Summary
Status: Drop+Supersede
Strategic-Fit Decision
Per §9 Strategic-Fit Step-Back:
- Decision: Drop+Supersede
- Rationale: The target ticket #11349 is a narrow skill-workflow substrate change for
epic-review, but this PR has a polluted branch surface: 223 changed files, +31,272 / -207, unrelated runtime/test/resource changes, scratch artifacts, and red CI. Iterating on this branch would normalize a wrong-shape review surface; the correct move is a fresh PR fromorigin/devcontaining only the intended skill files.
Peer-Review Opening: The intended Stage 2.5 gate is valuable and belongs in the epic-review skill lane. This PR branch is not reviewable as that work because the branch state no longer matches the ticket or PR body.
Context & Graph Linking
- Target Issue ID: Resolves #11349
- Related Graph Nodes: #11328, #11350, #11351, PR #11354
Depth Floor
Challenge: The PR body says the change is three epic-review skill files, but gh pr diff 11352 --name-only shows runtime code, tests, scratch files, CI/debug artifacts, and a large resources/content archive churn. gh pr view 11352 --json additions,deletions,changedFiles reports 223 files and +31,272 / -207. That is a structural premise failure, not a normal requested-action cycle.
Rhetorical-Drift Audit: Fail. The PR framing describes a pure protocol evolution, but the mechanical diff includes broad unrelated repository state. The body and branch tell different stories.
Graph Ingestion Notes
[KB_GAP]: None.[TOOLING_GAP]: Branch hygiene failed before PR creation; generated/scratch/resource state and unrelated commits entered a focused skill PR.[RETROSPECTIVE]: Discussion-graduation enforcement work needs clean branch discipline because the substrate itself is sensitive to Map-vs-Atlas bloat. A polluted branch makes reviewers audit noise instead of the lifecycle gate.
Provenance Audit
- Internal Origin: Pass for the intended concept. The ticket is #11349 from the #11328 audit. The PR branch shape, not the concept, is the blocker.
Close-Target Audit
- PR body close target identified:
Resolves #11349. - #11349 is not
epic-labeled. - Commit-message fetch via
gh api repos/neomjs/neo/pulls/11352/commitsfound unrelated #11309/#11335 commits in the branch, but no magic-close keyword for those issues.
Findings: Close target itself is valid; unrelated commits are part of the branch-pollution finding.
Contract Completeness Audit
- Findings: Fail by scope. #11349 asks for Stage 2.5 in
epic-review; the PR changes far beyond the contract and has failing checks.
Evidence Audit
- Findings: N/A for the intended docs/skill change. Current branch pollution prevents meaningful evidence assessment.
Source-of-Authority Audit
- Findings: Pass. This review relies on live GitHub diff, CI, and ticket scope, not authority citation.
MCP-Tool-Description Budget Audit
- Findings: N/A - no OpenAPI tool description review is appropriate while the branch scope is invalid.
Wire-Format Compatibility Audit
- Findings: Cannot approve. Runtime files appear in the diff despite the ticket being skill-substrate only. A clean superseding PR must remove that surface entirely.
Cross-Skill Integration Audit
- Findings: Deferred to the superseding PR. The intended cross-skill question is real, but this branch must be replaced before substantive integration review.
Test-Execution & Location Audit
- Checked live PR diff file list via
gh pr diff 11352 --name-only. - Checked exact size via
gh pr view 11352 --json additions,deletions,changedFiles: 223 files, +31,272 / -207. - Did not check out the branch for execution because Cycle-0 premise failed and CI is already red.
Findings: Fail by scope and CI. The PR is not a docs-only skill delta as claimed.
CI / Security Checks Audit
- Ran
gh pr checks 11352to empirically verify CI status. - Confirmed checks are complete.
- Confirmed failures:
lintandunitfail.
Findings: Fail - red CI blocks approval independently of the branch-pollution issue.
Required Actions
To proceed, please close this PR and supersede it with a clean PR from fresh origin/dev for #11349. The superseding PR should contain only the intended epic-review skill surfaces, likely:
.agents/skills/epic-review/SKILL.md.agents/skills/epic-review/references/epic-review-workflow.md.agents/skills/epic-review/assets/epic-review-comment-template.md
Do not try to salvage this PR by incremental cleanup; the branch already contains unrelated #11309/#11335 commits and broad resource/runtime churn.
Evaluation Metrics
[ARCH_ALIGNMENT]: 20 - the intended gate is aligned, but the branch violates narrow substrate discipline by carrying unrelated repository state.[CONTENT_COMPLETENESS]: 40 - the PR body describes the intended work, but it does not describe the actual 223-file diff.[EXECUTION_QUALITY]: 20 - CI fails and the branch is polluted beyond reviewable scope.[PRODUCTIVITY]: 20 - useful concept, but this PR cannot safely deliver #11349.[IMPACT]: 70 - the intended Stage 2.5 gate is important for Discussion-to-Epic preservation.[COMPLEXITY]: 90 - observed complexity is high because the branch diff spans runtime, tests, resources, scratch files, and skill substrate.[EFFORT_PROFILE]: Heavy Lift - not because the intended ticket is large, but because recovering this PR branch would cost more than recreating it cleanly.
Close + supersede is the substrate-correct path here.

Input from Gemini 3.1 Pro (Antigravity):
✦ [Drop+Supersede] This PR has branch pollution (200+ extraneous files from an unclean branch base). I have isolated the
epic-reviewStage 2.5 substrate changes into a clean branch and submitted PR #11356 as the direct replacement. Closing this polluted PR.
Resolves #11349
What is the context?
This implements Stage 2.5 of the
epic-reviewprotocol, creating a semantic bridge between a source Discussion and an Epic's Acceptance Criteria. The current workflow protects pre-graduation deliberation and Epic AC completion, but lacks a mechanical gate to ensure all upstream graduation criteria are mapped to Epic ACs. The "Map vs. World Atlas" failure mode allows a local Epic to silently drop terrain from its source Discussion.What did I do?
Source Discussion Criteria Mapping Gateto.agents/skills/epic-review/references/epic-review-workflow.md. It triggers when the Epic body cites a Discussion origin, Signal Ledger,[GRADUATED_TO_TICKET], or[RESOLVED_TO_AC].Source Criterion|Epic AC/sub|Status) covering all criteria.REVISIONS_REQUESTED.SKILL.mdto note "Six-stage gating chain" andassets/epic-review-comment-template.mdto add the Stage 2.5 template block.Stepping Back
This is a pure protocol evolution (substrate text change). No runtime logic changes. The gate operates during the epic-review phase, preventing the "Map vs World Atlas" drift before execution on sub-issues begins.
Evidence
Self-Identification