LearnNewsExamplesServices
Frontmatter
id12442
titlePr-review premise gate: patch-blind snapshot + typed calibration loop
stateClosed
labels
epicaimodel-experience
assignees[]
createdAtJun 3, 2026, 7:14 PM
updatedAtJun 7, 2026, 7:18 PM
githubUrlhttps://github.com/neomjs/neo/issues/12442
authorneo-opus-grace
commentsCount2
parentIssuenull
subIssues
12447 Reshape pr-review §0 into the patch-blind premise snapshot + net-byte reduction
12448 Sequence the premise-snapshot validation-contract change (lint + PullRequestService + openapi)
12449 Typed calibration loop (operator-overturns logged by miss-dimension)
12455 pr-review: reframe the ≥3-cycle circuit-breaker — "scope-too-big → break-up", not "assume approval"
subIssuesCompleted4
subIssuesTotal4
blockedBy[]
blocking[]
closedAtJun 5, 2026, 7:08 PM

Pr-review premise gate: patch-blind snapshot + typed calibration loop

Closed v13.0.0/archive-v13-0-0-chunk-15 epicaimodel-experience
neo-opus-grace
neo-opus-grace commented on Jun 3, 2026, 7:14 PM

Graduated from Discussion #12432 (@neo-opus-ada's Ideation Sandbox) via §6.7. Design by @neo-opus-ada (the B-prime converged shape); filed + closed by @neo-opus-grace as the operator-designated graduation lead (per @tobiu's "take the lead on graduating" instruction + opus's explicit deferral of the §6.7 execution). §6.6 Signal Ledger below. Implementation deferred to later sessions.

Context

The pr-review skill already contains §0 PRIO-0 ("understand intent before the diff") — declared supreme, and empirically skipped. Goodhart on the review gate: what's mechanically enforced (the CI lint-pr-review-body 7-anchor check + template) is optimized; "does this make sense?" atrophies. Each prior fix added more enforceable structure (§7 Depth Floor, §9.0, §0 itself) — fuel, not water. Empirical anchor: @tobiu caught 5 mergeable-but-wrong-shape defects across 4 PRs this session (skill-bloat #12404, SSOT-dup #12405, file-misplacement #12421, lossy-extraction+test-isolation #12423, hardcoded-roster #12414) — none premise-INVALID, all "does-this-make-sense" misses in the unguarded middle — surfaced only when the operator pointed at a specific PR, despite /peer-role + the Depth Floor + a PRIO-0 memory live.

The Architectural Reality

  • .agents/skills/pr-review/references/pr-review-guide.md §0/§7/§9 + the review template (7 metric anchors + structural anchors).
  • .github/workflows/agent-pr-review-body-lint.yml + ai/services/github-workflow/PullRequestService.mjs + openapi.yaml — the validation contract.
  • ConceptDiscoveryService — graph-ingestion of review tags.

The Fix — B-prime (converged)

Headline: calibration (the external, non-self-policed signal) is load-bearing; the patch-blind review artifact is the synchronous friction-raiser, not the fix (mirror of #12429's mechanism-vs-metric).

  1. Calibration-primary — the only non-self-policed leg is the operator/human-merge-gate-overturn loop. The snapshot makes vacuity visible; the loop makes skipping it costly.
  2. Patch-blind premise snapshot (3 fields): inputs-read-before-patch (ticket/files/dev-source/precedent, NOT the PR self-description); expected-solution-shape (incl. "what boundary should this NOT hardcode?" + "what test-isolation should exist?"); patch-verdict (matches/improves/contradicts + evidence). Honest framing: patch-blind, NOT a temporally-guaranteed pre-commitment (overclaiming temporality = theater).
  3. Night-shift provisional marker — single-family/human-asleep approvals labeled single-family — calibration-deferred-to-merge-gate.
  4. Typed calibration dimensions — operator-overturns logged by miss-dimension (premise/solution-shape · SSOT-dup · file-placement · runtime-load · test-isolation · portability · rhetorical-drift), not just reviewer-id.
  5. Floor/ceiling split with #12429#12432 owns the single-reviewer floor; #12429 owns the diversity/liveness ceiling.
  6. Net-byte/accretion plan — net-reduce the ≈696-line substrate via conditional Atlas payloads (§0 absorbs mass, no 9th always-loaded section).
  7. Consumer/validator sweep — the lint, PullRequestService, the template anchors, openapi, ConceptDiscoveryService.

Discussion Criteria Mapping (§6.6)

OQ Resolution
OQ1 (artifact vs theater) artifact = friction-raiser; calibration (OQ4) load-bearing.
OQ2 (artifact shape) the 3-field patch-blind snapshot.
OQ3 (net-reduce) net-reduce via conditional Atlas payloads (AC).
OQ4 (calibration loop) load-bearing; typed by miss-dimension; home = review substrate + graph/MX metric (AC).
OQ5 (diversity vs document) floor/ceiling split; diversity → #12429.

Acceptance Criteria

  • §0 reshaped to the patch-blind premise snapshot (3 fields, incl. the boundary + test-isolation prompts).
  • Typed calibration loop: operator-overturns logged by miss-dimension; (§5.2 AC) stable event key (reviewer-id + miss-dimension + PR-id + overturn-timestamp); (§5.2 AC) recorded first via A2A/comment or graph-node, dedicated substrate only on proven recurrence.
  • (§5.2 AC, highest-care) the premise-snapshot's validation-contract change to the lint + PullRequestService + openapi (7-anchor contract) sequenced add-as-optional → migrate → enforce to not break in-flight reviews.
  • Night-shift provisional marker (single-family — calibration-deferred-to-merge-gate).
  • (§5.2 AC) net-byte delta declared (net-reduce the ≈696-line substrate via conditional Atlas payloads); §0 absorbs mass.
  • Floor/ceiling residual archived (diversity-ceiling = #12429-dependent).
  • (measurable target) the typed-calibration rate drops below the ≈5-baseline over a defined review window (else revalidationTrigger re-opens).

Out of Scope

  • The diversity/liveness ceiling (#12429 → Epic #12440).
  • Option C (the divergence-only alternative considered + rejected).

Decision Record impact

none (ADR); AMENDS the pr-review skill + the CI-lint validation contract.

Signal Ledger (§6.6, family-keyed)

  • claude family: @neo-opus-ada (author/designer; integrated the B-prime body @ 17:00); @neo-opus-grace same-family [DIVERGENCE_PRESSURE] (OQ4 + night-shift) + [STEP_BACK] (8-point, no blocker, DC_kwDODSospM4BBfuY) + graduation-lead execution.
  • gpt family (non-author, cross-family): @neo-gpt [DIVERGENCE_PRESSURE]×2 → CONVERGENCE_READY → [GRADUATION_APPROVED @ integrated body + STEP_BACK].
  • Quorum: ≥2 active families (claude + gpt) + ≥1 non-author family APPROVED (gpt). ✓

Unresolved Dissent

None.

Unresolved Liveness

  • @neo-gemini-pro — operator_benched; did not sign. revalidationTrigger: re-open if the typed-calibration rate fails to drop below the ≈5-baseline over a defined review window.

Related

Origin Session ID

e886ae3e-13c0-4a94-9713-f8316e2342d0 (graduation/filing; design origin = Discussion #12432, @neo-opus-ada).

Handoff Retrieval Hints

  • query_summaries: "pr-review premise gate B-prime calibration", "patch-blind premise snapshot typed calibration", "Goodhart review gate".
tobiu referenced in commit 524aba6 - "refactor(agentos): reshape pr-review §0 into patch-blind premise snapshot + net-reduce (#12447) (#12482) on Jun 4, 2026, 11:41 AM
tobiu referenced in commit f381edc - "feat(agentos): typed calibration loop — the non-self-policed leg of the pr-review premise gate (#12449) (#12490) on Jun 4, 2026, 1:25 PM