LearnNewsExamplesServices
Frontmatter
id16925
titleThe review guide raised its own byte cap by 48% instead of extracting to the Atlas
stateClosed
labels
bugdocumentationaimodel-experience
assigneesneo-opus-vega
createdAtAug 10, 2026, 11:44 PM
updatedAtAug 11, 2026, 2:43 AM
githubUrlhttps://github.com/neomjs/neo/issues/16925
authorneo-opus-vega
commentsCount0
parentIssuenull
subIssues[]
subIssuesCompleted0
subIssuesTotal0
contentTrust
projected
quarantined0
signals[]
blockedBy[]
blocking[]
closedAtAug 11, 2026, 2:43 AM

The review guide raised its own byte cap by 48% instead of extracting to the Atlas

Closed Backlog/active-chunk-15 bugdocumentationaimodel-experience
neo-opus-vega
neo-opus-vega commented on Aug 10, 2026, 11:44 PM

Context

Measured while analysing why opus round-1 approval is 29% against GPT's 82% (Discussion #16923). The largest artifact in the review loop is the one reviewers load least, and the gate that should have prevented that was disarmed by a per-skill override rather than satisfied.

Debt paid before opening per the operator's resolve-before-open rule: nine tickets closed today, including #16910 and #16914.

Live latest-open sweep at 2026-08-10T21:45Z plus a keyword sweep for an existing extraction owner: none found.

The Problem

.agents/skills/skills.manifest.json sets a global perFilePayloadBudget of 25000. The pr-review skill overrides it to 37000:

skill cap vs global
pr-review 37000 +12000 (+48%)
pull-request 22000 −3000

pr-review-guide.md is 36884 bytes116 bytes under a ceiling that exists only to accommodate it, and 11884 over the global cap. pull-request moved the other way and tightened.

This is Map vs World Atlas satisfied by moving the goalpost. The lint's own failure message prescribes the real remedy — "Extract edge-case sections to sub-rule sibling files behind one-line trigger pointers" — and the override made that unnecessary. There is no sunset condition on it, so §self_evolving_systems's Substrate Accretion Defense is violated by the instrument meant to enforce it.

Why it costs review quality specifically, which is what makes this more than hygiene. The single largest section is §7 "Depth Floor — Preventing Rubber-Stamp Approvals" at 10694 bytes, and within it §7.7 Anti-Patterns at 3685. Measured reviewer behaviour over the latest 600 PRs: opus seats approve 64–79% of first formal reviews, GPT seats 14–24%. The guidance against rubber-stamping is the biggest thing in the book and therefore the least likely to be loaded at the moment of the verdict. Volume is not the same as reach.

The Architectural Reality

The Atlas already exists and is half-applied.agents/skills/pr-review/audits/ holds seven siblings, and §7.5.1, §7.5.2, §7.5.3, §7.6 and §7.8 already point at them. What remains is the subsections that were never extracted.

Measured byte census, top-level:

bytes section
10694 §7 Depth Floor
5245 §5 Required Actions & Cross-Linking
3860 §6 Review Template Selection
3181 §3 Structural Evaluation Metrics

Within §7:

bytes subsection shape
3685 §7.7 Anti-Patterns catalogue, consulted on demand
1444 §7.3 Provenance Audit per-review step
1324 §7.5 Test-Evidence & Location per-review step
1313 §7.1 Minimum-One-Challenge mandate
262 §7.2 Cross-Model Asymmetry context

Extraction targets are the on-demand lookups, not the per-review steps. §7.1 is a mandate and stays in the Map as a trigger; §7.7 is a catalogue a reviewer consults when a smell appears.

Section refs are matched as (TARGET\s+)?§REF with markdown links stripped, and a backticked filename silently breaks the match — so pointers are written bare: review-anti-patterns.md §1, never with backticks.

The Fix

Extract on-demand catalogues to audits/ siblings behind one-line triggers, then ratchet the override down by the bytes recovered so the reclaimed space cannot be refilled. Extraction without the ratchet is temporary.

Order, largest-yield first: §7.7 Anti-Patterns (3685), §6 Review Template Selection (3860), the template blocks inside §5 (5245 total). That reaches the 11884 needed for the global cap.

Contract Ledger Matrix

Target Surface Source of Authority Proposed Behavior Fallback Docs Evidence
pr-review-guide.md §7.7 this ticket content moves to audits/review-anti-patterns.md; a one-line bare-path trigger remains none — the trigger is mandatory, the payload is on-demand the trigger line guide byte count drops by ≥3600
skills.manifest.json pr-review.perFilePayloadBudget this ticket ratcheted down by at least the bytes recovered, each step permanent never raised again without a sunset condition the manifest value ai:lint-skill-manifest -- --base origin/dev green at the lower cap
.agents/skills/pr-review/audits/ existing convention (#11319 / #11320) gains siblings; the seven existing files are the precedent n/a the sibling files the five already-extracted subsections

Decision Record impact

none. Applies the existing Map vs World Atlas convention and the Substrate Accretion Defense; amends no ADR.

Acceptance Criteria

  • §7.7 Anti-Patterns content lives in audits/review-anti-patterns.md, reachable from a one-line trigger in the guide. No content is deleted — extraction preserves every rule.
  • The trigger pointer uses a bare path with no backticks, and ai:lint-skill-manifest reports no dangling section ref.
  • pr-review.perFilePayloadBudget is lowered by at least the bytes recovered, measured and stated in the PR.
  • ai:lint-skill-manifest -- --base origin/dev is green — the invocation CI uses, since a bare run prints byte-delta gates skipped.
  • A reviewer following only the Map still reaches every extracted rule: each extracted block leaves a trigger naming when to open the sibling.
  • The override carries a stated retirement target of the global 25000, so the next extraction has a named finish line.

Out of Scope

  • Deleting any guidance. Map vs World Atlas relocates behind a trigger; it does not remove rules. A PR that drops a rule fails the first AC.
  • §5 and §6 extraction. Named above as the follow-on order with measured bytes; this leaf delivers §7.7 and the ratchet so the pattern and the finish line are established.
  • The other two oversizedWorkflowMaps entries. post-review-pickup-workflow.md is 8143 and needs nothing; pull-request-workflow.md is already tightened to 22000.
  • Any change to review policy. This moves bytes; it does not alter what a reviewer must do.
  • The reviewer-rigor gate itself — that is #13144, where the falsifier field is proposed.

Avoided Traps

  • Reading "compress" as "delete". The lint message says extract; the operator's framing is explicit that optional items move to their own files behind short meaningful triggers. Deleting rules to hit a number would trade review quality for a green gate.
  • Extracting without ratcheting the cap. Reclaimed bytes get refilled; the override is what made 36884 possible.
  • Extracting a per-review step. §7.1 is a mandate — moving it behind a trigger would make the floor optional. Only on-demand lookups move.
  • Backticked pointers. They silently break section-ref validation, producing an unvalidated ref that reads as checked.
  • Raising the cap again "temporarily." The +12000 was presumably temporary too, and it has no sunset.

Related

Discussion #16923 (the measurement that surfaced this). #13144 (reviewer-rigor gate). #11319 / #11320 (the Map vs World Atlas convention).

Origin Session ID: 83ee6112-e066-42b4-a1b5-d064d0f9c276

Retrieval Hint: "pr-review-guide perFilePayloadBudget override 37000 extract Atlas"; grep oversizedWorkflowMaps ai/scripts/lint/lint-skill-manifest.mjs.

tobiu referenced in commit d33bb3c - "docs(skills): extract the anti-pattern catalogue to the Atlas and ratchet the cap (#16925) [skill-growth-justified: always-loaded Map -3271 bytes; the +1353 corpus delta is a conditionally-loaded Atlas file carrying its trigger and a one-way cap ratchet toward the global 25000] (#16938) on Aug 11, 2026, 2:43 AM
tobiu closed this issue on Aug 11, 2026, 2:43 AM