Context
Discussion #11341 (AGENTS.md after mechanical guards: rule cards, demotion, and cognitive load) reached the high-blast Ideation Sandbox graduation gate after Cycle 2 body repair and 3x explicit post-body approvals.
This ticket is the bounded pilot implementation from that Discussion: demote the verbose cross-family cascade detail currently embedded in AGENTS.md section 0 Invariant 1 into learn/agentos/AGENTS_ATLAS.md, while keeping the always-loaded human-only merge prohibition salient.
V-B-A evidence before filing:
- Duplicate sweep via GitHub issue search returned no existing issue for
INV1 cascade, Discussion #11341, or AGENTS.md rule-card.
- Knowledge Base ticket sweep found no equivalent INV1 / #11341 duplicate.
- Local resource sweep found no existing issue/discussion resource with
11341, INV1 cascade, or Markdown Form.
- Live Discussion #11341 body contains Cycle 2 resolutions and the accepted pilot shape.
Signal Ledger
- @neo-gemini-3-1-pro: APPROVED @ DC_kwDODSospM4BAgoq (
https://github.com/neomjs/neo/discussions/11341#discussioncomment-16910890)
- @neo-opus-4-7: APPROVED @ DC_kwDODSospM4BAgor (
https://github.com/neomjs/neo/discussions/11341#discussioncomment-16910891)
- @neo-gpt: APPROVED @ DC_kwDODSospM4BAgpY (
https://github.com/neomjs/neo/discussions/11341#discussioncomment-16910936)
Body anchor: Discussion #11341 updatedAt 2026-05-13T22:54:59Z.
Unresolved Dissent
Empty. All three named peers posted explicit post-body approvals.
Unresolved Liveness
Empty. No missing peer signal remains.
The Problem
AGENTS.md was compacted in the #10732/#10735 lineage, but later incident-driven rules caused renewed always-loaded byte growth. Discussion #11341 measured the post-compaction accretion: the post-#10735 low-water mark was roughly 8.5KB, while the active branch was roughly 28KB.
INV1 is the right pilot because its current long-form prose contains two different layers:
- Map-level invariant: agents must not execute
gh pr merge; merge execution is human-only.
- Atlas-level rationale/detail: cross-family approval cascade semantics, loophole explanation, and why approval means eligibility rather than authority.
The map-level invariant must remain always loaded. The cascade detail can move to Atlas if the resulting loaded-byte delta is >=30% and no behavioral salience regression appears during the pilot window.
The Architectural Reality
Current surfaces:
AGENTS.md section 0 Invariant 1 is the canonical per-turn map rule.
AGENTS_STARTUP.md section 3.1 mirrors section 0 for cold-cache resilience and must stay synchronized with AGENTS.md.
learn/agentos/AGENTS_ATLAS.md is the correct home for expanded rule detail.
- Discussion #11341 defines the demotion contract: Markdown Form, not Serialization Format; raw byte counts now,
lintTurnLoadedSubstrate() from Discussion #11330 when available.
This is a turn-memory substrate mutation. Implementation must use /turn-memory-pre-flight before editing AGENTS.md, AGENTS_STARTUP.md, or AGENTS_ATLAS.md.
The Fix
Convert INV1 into a compact Markdown Form rule card in the always-loaded surfaces, then move the long cross-family cascade explanation into a new Atlas subsection.
Expected shape:
**RULE INV1** - Human-only merge execution
- **trigger:** agent considers executing a PR merge
- **must:** hand off to human operator
- **forbid:** `gh pr merge` by any agent
- **atlas_detail:** `learn/agentos/AGENTS_ATLAS.md` <merge-cascade-detail>
- **mechanical_guard:** none; discipline-only until a guard exists
The exact wording can change if the byte/salience measurement demands it, but the implementation must preserve the human-only merge prohibition and the cross-family approval cascade semantics.
Contract Ledger Matrix
| Target Surface |
Source of Authority |
Proposed Behavior |
Fallback |
Docs |
Evidence |
AGENTS.md section 0 INV1 |
Discussion #11341 + existing AGENTS.md |
Keep the merge prohibition always loaded in compact Markdown Form |
Revert to current prose if >=30% reduction fails or salience weakens |
Inline pointer to Atlas |
Before/after raw bytes |
AGENTS_STARTUP.md section 3.1 INV1 mirror |
AGENTS_STARTUP.md mirror contract |
Match the compact INV1 surface so cold-cache boot remains aligned |
Keep mirror prose if exact sync would lose salience |
Pointer to AGENTS.md / Atlas |
Diff review |
learn/agentos/AGENTS_ATLAS.md |
Discussion #11341 accepted pilot |
Host the extracted cascade clause and examples |
Keep detail in AGENTS.md if Atlas offload under-specifies the rule |
New merge-cascade-detail section |
Peer review + PR body |
| PR body |
Pull-request workflow |
Report byte delta, Discussion #11341 signal ledger, and pilot measurement boundary |
Block merge-readiness if evidence missing |
PR description |
Reviewable metrics |
Acceptance Criteria
Out of Scope
- Implementing Discussion #11330
lintTurnLoadedSubstrate() or any mechanical byte-budget linter.
- Rewriting all of section 0.
- Changing merge policy or allowing any agent-side
gh pr merge path.
- Closing or modifying PR #11335, #11339, or #11340.
- Creating a new
.mjs file.
Avoided Traps / Gold Standards Rejected
- No YAML/XML/schema conversion. Discussion #10732 rejected cargo-cult serialization; #11341 accepted Markdown Form specifically because it remains documentation-shaped.
- No deletion of pre-action salience. CI catches late; INV1 has no mechanical guard and remains discipline-critical.
- No blanket rule-card migration. Discussion #11341 showed INV5 would increase bytes under rule-card form, so this ticket is intentionally single-invariant.
Related
- Discussion #11341 - graduated source Discussion.
- Discussion #11330 - complementary future measurement substrate (
lintTurnLoadedSubstrate()).
- Discussion #10732 / Epic #10733 / Sub #10735 - predecessor AGENTS.md compaction lineage.
- Issue #11337 / PR #11339 - Layer 1 prose for PR base-main incident.
- Issue #11336 / PR #11340 - Layer 4 PR base guard.
Origin Session ID: d6d89930-f408-42a0-b60e-ec4487a8cc46
Handoff Retrieval Hints:
- Query:
Discussion 11341 INV1 cascade detail rule card Markdown Form.
- Query:
AGENTS.md post compaction accretion INV1 30 percent byte reduction.
- Search GitHub Discussion comments:
DC_kwDODSospM4BAgoq, DC_kwDODSospM4BAgor, DC_kwDODSospM4BAgpY.
Context
Discussion #11341 (
AGENTS.md after mechanical guards: rule cards, demotion, and cognitive load) reached the high-blast Ideation Sandbox graduation gate after Cycle 2 body repair and 3x explicit post-body approvals.This ticket is the bounded pilot implementation from that Discussion: demote the verbose cross-family cascade detail currently embedded in
AGENTS.mdsection 0 Invariant 1 intolearn/agentos/AGENTS_ATLAS.md, while keeping the always-loaded human-only merge prohibition salient.V-B-A evidence before filing:
INV1 cascade,Discussion #11341, orAGENTS.md rule-card.11341,INV1 cascade, orMarkdown Form.Signal Ledger
https://github.com/neomjs/neo/discussions/11341#discussioncomment-16910890)https://github.com/neomjs/neo/discussions/11341#discussioncomment-16910891)https://github.com/neomjs/neo/discussions/11341#discussioncomment-16910936)Body anchor: Discussion #11341
updatedAt 2026-05-13T22:54:59Z.Unresolved Dissent
Empty. All three named peers posted explicit post-body approvals.
Unresolved Liveness
Empty. No missing peer signal remains.
The Problem
AGENTS.mdwas compacted in the #10732/#10735 lineage, but later incident-driven rules caused renewed always-loaded byte growth. Discussion #11341 measured the post-compaction accretion: the post-#10735 low-water mark was roughly 8.5KB, while the active branch was roughly 28KB.INV1 is the right pilot because its current long-form prose contains two different layers:
gh pr merge; merge execution is human-only.The map-level invariant must remain always loaded. The cascade detail can move to Atlas if the resulting loaded-byte delta is >=30% and no behavioral salience regression appears during the pilot window.
The Architectural Reality
Current surfaces:
AGENTS.mdsection 0 Invariant 1 is the canonical per-turn map rule.AGENTS_STARTUP.mdsection 3.1 mirrors section 0 for cold-cache resilience and must stay synchronized withAGENTS.md.learn/agentos/AGENTS_ATLAS.mdis the correct home for expanded rule detail.lintTurnLoadedSubstrate()from Discussion #11330 when available.This is a turn-memory substrate mutation. Implementation must use
/turn-memory-pre-flightbefore editingAGENTS.md,AGENTS_STARTUP.md, orAGENTS_ATLAS.md.The Fix
Convert INV1 into a compact Markdown Form rule card in the always-loaded surfaces, then move the long cross-family cascade explanation into a new Atlas subsection.
Expected shape:
**RULE INV1** - Human-only merge execution - **trigger:** agent considers executing a PR merge - **must:** hand off to human operator - **forbid:** `gh pr merge` by any agent - **atlas_detail:** `learn/agentos/AGENTS_ATLAS.md` <merge-cascade-detail> - **mechanical_guard:** none; discipline-only until a guard existsThe exact wording can change if the byte/salience measurement demands it, but the implementation must preserve the human-only merge prohibition and the cross-family approval cascade semantics.
Contract Ledger Matrix
AGENTS.mdsection 0 INV1AGENTS.mdAGENTS_STARTUP.mdsection 3.1 INV1 mirrorAGENTS_STARTUP.mdmirror contractAGENTS.md/ Atlaslearn/agentos/AGENTS_ATLAS.mdAGENTS.mdif Atlas offload under-specifies the ruleAcceptance Criteria
AGENTS.mdINV1 is rewritten into compact Markdown Form while preserving the human-only merge prohibition.learn/agentos/AGENTS_ATLAS.mdunder a discoverable merge-cascade detail section.AGENTS_STARTUP.mdINV1 mirror is synchronized with the compactAGENTS.mdwording and the same Atlas pointer.git diff --checkpasses.Out of Scope
lintTurnLoadedSubstrate()or any mechanical byte-budget linter.gh pr mergepath..mjsfile.Avoided Traps / Gold Standards Rejected
Related
lintTurnLoadedSubstrate()).Origin Session ID: d6d89930-f408-42a0-b60e-ec4487a8cc46
Handoff Retrieval Hints:
Discussion 11341 INV1 cascade detail rule card Markdown Form.AGENTS.md post compaction accretion INV1 30 percent byte reduction.DC_kwDODSospM4BAgoq,DC_kwDODSospM4BAgor,DC_kwDODSospM4BAgpY.