---
id: 11599
title: Substrate-wide `## §semantic_concept_name` heading form for all agent content
state: OPEN
labels:
  - documentation
  - enhancement
  - ai
  - architecture
  - model-experience
assignees:
  - neo-opus-ada
createdAt: '2026-05-18T22:10:07Z'
updatedAt: '2026-06-01T08:56:18Z'
githubUrl: 'https://github.com/neomjs/neo/issues/11599'
author: neo-opus-ada
commentsCount: 2
parentIssue: null
subIssues: []
subIssuesCompleted: 0
subIssuesTotal: 0
blockedBy: []
blocking: []
---
# Substrate-wide `## §semantic_concept_name` heading form for all agent content

## Context

Operator-direction 2026-05-18 ~22:00Z (paraphrase): *"AGENTS.md heading anchors (## §mailbox_check_protocol) — operator-explicit, twice. limiting it to agents md would be stupid. anchor format for all agent content."*

This ticket implements the substrate-wide convention — semantic-concept-named pure-anchor headings across ALL agent content. Trivial mechanical change; substrate-correct downstream-enabling: stable cross-substrate references, KB ingestion uniformity, graph node-naming uniformity, cross-document drops in tickets/PRs/discussions all resolve consistently.

Subsumes the ADR-amendment scope of [#11591](https://github.com/neomjs/neo/issues/11591) (terminology restoration); this ticket is the broader **substrate-wide convention + application** that #11591 was scoped within.

## The Problem

Current heading form across agent content is positional (`## 21. The Mailbox Check Protocol (Pre-Flight at Turn Start)`). Symptoms:

- Cross-substrate references rely on position; "swiss-cheese decay" under compaction (the original #11558 framing)
- KB ingestion can't reliably index by concept (positional anchors aren't semantic)
- Graph node names lose stability across substrate evolution
- Document-drops in tickets/PRs/discussions can't reliably link to specific concepts
- Byte budget bloated by heading prose duplication (`## 21. The Mailbox Check Protocol` ~30 bytes overhead vs `## §mailbox_check_protocol` ~6 bytes overhead per heading)

Empirical anchor: [Discussion #11577](https://github.com/orgs/neomjs/discussions/11577) graduated the corrected reference form (semantic `§<ref>` text-token, no HTML `<a id>` scaffolding). The graduated decision targeted REFERENCE form only — the heading form was implicit but unrealized. This ticket completes the convention.

## The Architectural Reality

Pure-anchor heading form: `## §semantic_concept_name`. Properties:

- **Self-documenting**: anchor IS the heading; no positional-tracking overhead
- **Byte-cheapest**: ~5-6 chars per heading vs ~30-60 chars current
- **Cross-substrate stable**: same identifier in AGENTS.md / skills / Atlas / ADRs / CLAUDE.md
- **KB ingestion friendly**: anchor names are concept-bearing tokens (LLM-extractable + graph-indexable)
- **Cross-document drop friendly**: `§mailbox_check_protocol` resolves consistently regardless of which agent-content file references it
- **Lint-compatible**: my own [PR #11586](https://github.com/neomjs/neo/pull/11586) `lint-agents.mjs:ANCHOR_TAG_PATTERN` blocks HTML `<a id>` insertions but permits `§<kebab>` semantic text-refs. No regression.

Section descriptive prose lives in the section BODY (first paragraph), not in the heading. The heading is the anchor; the body is the explanation.

## The Fix

**Substrate-wide convention** defined in amended ADR 0011 (currently scoped under [#11591](https://github.com/neomjs/neo/issues/11591); this ticket subsumes that scope):

```markdown
## §semantic_concept_name

[Section body explaining the concept...]
```

**In-substrate cross-references** use `§semantic_concept_name` (matches the heading form):

```markdown
See §mailbox_check_protocol for the protocol details.
```

**Application phases** (operator-decision on sequencing; ticket carries all phases):

- **Phase 1 (proof-of-concept)**: ADR 0011 amendment + AGENTS.md conversion + direct-consumer cross-reference updates (`.claude/CLAUDE.md`, `learn/agentos/measurements/cognitive-load-baseline-2026-05.md` line 134/184)
- **Phase 2**: AGENTS_ATLAS.md + AGENTS_STARTUP.md (turn-loaded Map substrate)
- **Phase 3**: `.agents/skills/**/*.md` (SKILL.md + references payloads — also enables Map-vs-World-Atlas compaction per ADR 0007)
- **Phase 4**: `learn/agentos/**/*.md` (ADRs, guides, measurements, decisions)
- **Phase 5**: cross-content references in `learn/`, code JSDoc references to AGENTS.md/skill substrate

## Acceptance Criteria

- [ ] **AC1 (Phase 1 / convention land)**: ADR 0011 amended to define `## §semantic_concept_name` substrate-wide heading form. AGENTS.md converted. Direct consumer cross-references updated.
- [ ] **AC2 (Phase 2)**: AGENTS_ATLAS.md + AGENTS_STARTUP.md converted.
- [ ] **AC3 (Phase 3)**: All `.agents/skills/**/*.md` converted (SKILL.md headings + references-payload headings).
- [ ] **AC4 (Phase 4)**: All `learn/agentos/**/*.md` converted (ADRs, guides, measurements).
- [ ] **AC5 (Phase 5)**: Code JSDoc + cross-content references updated to use `§semantic_concept_name` form.
- [ ] **AC6**: Cross-family review on each phase per `pull-request-workflow.md §6.1`.
- [ ] **AC7**: Each phase PR uses `Refs #N` (non-magic, partial-lane discipline) until the FINAL phase PR which uses `Resolves #N`.

## Contract Ledger Matrix

| Target Surface | Source of Authority | Proposed Behavior | Fallback | Docs | Evidence |
|---|---|---|---|---|---|
| `## §semantic_concept_name` heading form | This ticket + Discussion #11577 graduation + operator-direction 2026-05-18 | All agent content uses pure-anchor heading form; section descriptive prose lives in section body | None — convention is substrate-decided | Amended ADR 0011 §2.x | Empirical conversion: convert AGENTS.md, run `lint-agents.mjs` + `check-substrate-size.mjs` + visual diff |
| Cross-substrate `§<ref>` text references | Same | All references to substrate use `§semantic_concept_name` matching heading form | None | ADR 0011 §2.x | grep `§<positional-N>` returns historical/archaeology refs only post-conversion |

## Out of Scope

- HTML `<a id>` anchor-tag insertion — explicitly REJECTED per [Discussion #11577](https://github.com/orgs/neomjs/discussions/11577) graduation + operator forward-rule (any new `<a>` tags in PRs → operator closes). [PR #11586](https://github.com/neomjs/neo/pull/11586) `lint-agents.mjs` mechanically enforces this.
- Migrating historical/archaeology positional `§N` references (kept per [ADR 0011](https://github.com/neomjs/neo/blob/dev/learn/agentos/decisions/0011-substrate-numbering-convention.md) §2.3 historical-classification carve-out).
- Skill bloat audit (separate concern — covered by [#11598](https://github.com/orgs/neomjs/discussions/11598) OQ4 future ticket).

## Avoided Traps

- **Limiting to AGENTS.md only** — REJECTED per operator-direction (this turn). Two-tier system (one form for AGENTS.md, another for skills) would defeat cross-substrate reference stability.
- **Hybrid form `## §21. The Mailbox Check Protocol`** — REJECTED. Retains positional number → re-introduces swiss-cheese decay risk. Pure anchor form is byte-cheapest + position-independent.
- **Author all 5 phases in ONE PR** — REJECTED per partial-lane discipline + operator's "step by step" framing. Phase 1 ships first as proof-of-concept; subsequent phases follow.
- **File separate tickets per phase** — REJECTED. ONE ticket carries all phases; phase PRs reference `Refs #N` until final phase uses `Resolves #N`. Avoids ticket-fanout (the META operator named in [#11598](https://github.com/orgs/neomjs/discussions/11598)).

## Related

- **Operator direction**: in-session 2026-05-18 ~22:00Z (this turn)
- **Source META Discussion**: [#11598](https://github.com/orgs/neomjs/discussions/11598) OQ2 (operator-broadened scope this turn)
- **Reference-form authority**: [Discussion #11577](https://github.com/orgs/neomjs/discussions/11577) graduation comment [`DC_kwDODSospM4BAt-P`](https://github.com/neomjs/neo/discussions/11577#discussioncomment-16965519)
- **ADR to amend**: [ADR 0011](https://github.com/neomjs/neo/blob/dev/learn/agentos/decisions/0011-substrate-numbering-convention.md) — adds substrate-wide heading-form to §2.x
- **Subsumes**: [#11591](https://github.com/neomjs/neo/issues/11591) (ADR 0011 terminology restore scope) — work happens here under broader scope
- **Lint enforcement (already shipped)**: [PR #11586](https://github.com/neomjs/neo/pull/11586) `lint-agents.mjs` blocks HTML `<a>` tag regressions; permits semantic `§<kebab>` form
- **Substrate-cap mechanism**: `ai/scripts/check-substrate-size.mjs` (24,576 byte cap — heading conversion reclaims ~400-800 bytes of AGENTS.md headroom)

Origin Session ID: `1b7a3403-06f3-4862-be80-479e129656de`
Retrieval Hint: `query_raw_memories("substrate-wide heading anchor §semantic_concept_name agent content all files AGENTS.md AGENTS_ATLAS skills learn/agentos KB ingestion graph cross-substrate")`

## Timeline

- 2026-05-18T22:10:08Z @neo-opus-ada assigned to @neo-opus-ada
- 2026-05-18T22:10:09Z @neo-opus-ada added the `documentation` label
- 2026-05-18T22:10:09Z @neo-opus-ada added the `enhancement` label
- 2026-05-18T22:10:09Z @neo-opus-ada added the `ai` label
- 2026-05-18T22:10:09Z @neo-opus-ada added the `architecture` label
- 2026-05-18T22:10:09Z @neo-opus-ada added the `model-experience` label
- 2026-05-18T22:22:11Z @neo-opus-ada cross-referenced by PR #11600
- 2026-05-18T22:35:24Z @neo-opus-ada referenced in commit `ec3fb01` - "fix(agentos): two stale reference-form misses on PR #11600 (#11599)

GPT cross-family review CHANGES_REQUESTED caught two reference-form misses inside the Phase 1 conversion surface:

1. AGENTS.md §swarm_topology_anchor (line 128): `§Core-Values at file top` → `§core_values at file top` (kebab+title-case → underscore semantic form).
2. ADR 0011 §1 Context (line 26): `§mailbox-check-protocol` → `§mailbox_check_protocol` (kebab → underscore; aligns with §2.1/§2.3 reconciliation already in Phase 1 commit d7aa8a15f).

Both edits are byte-neutral (same char count); AGENTS.md remains at 20,963 bytes well under 24,576 cap.

Gates re-verified: lint-agents OK / check-substrate-size PASS / check-whitespace PASS / git --check PASS."
- 2026-05-18T23:00:22Z @neo-opus-ada cross-referenced by PR #11606
- 2026-05-18T23:23:03Z @neo-opus-ada referenced in commit `69e63af` - "fix(agentos): preserve dropped framing labels in body per operator V-B-A (#11599)

Operator V-B-A challenge on PR #11600 heading conversion: 12 dropped parentheticals → 9 cleanly preserved in body, 3 with mild context loss. Two of the three mild-loss cases are load-bearing cross-substrate labels:

1. `(The "Append Gap")` for §file_editing_tool_selection — origin #9473, reused across PR #9863 retrospective; names the agent-tooling concept of "no dedicated append_file tool, use replace instead." Body rules captured the WHAT; the WHY-framing label was dropped.

2. `(Category-Drift Defense)` for §neo_identity_anchor — cross-referenced across PR #10741 / #10744 / #11040 retrospectives; identifies the substrate-pattern shared between §15.5 (identity drift) and §15.6 (swarm topology drift). Body mandate had "nullify category drifts" but the explicit framing label was dropped.

Body-side enrichment (substrate-correct per ADR 0011 §2.5 design intent — "heading IS the anchor; descriptive prose lives in the section body"):

- §file_editing_tool_selection: added leading sentence explaining the Append Gap (no append_file tool → replace substitute, bash redirection ban rationale, #9473 origin)
- §neo_identity_anchor: renamed "Mandate:" to "Category-Drift Defense Mandate:" — single-word label addition preserves the cross-substrate framing identifier

Third mild-loss case (`(Core Value: Equal Peer + Maintainer Agency)` → §swarm_topology_anchor) NOT amended — body already says "Equal-peer-with-maintainer-agency is the third core value" + "Neo's swarm operates **Flat Peer-Team**" in bold. Both elements are in body prose; the heading-level salience loss is acceptable per ADR §2.5 design intent.

Gates: lint-agents OK / size 21,187<24,576 / whitespace PASS / git --check PASS. AGENTS.md +224 bytes (still 86% of cap headroom)."
- 2026-05-18T23:39:28Z @neo-opus-ada referenced in commit `f170f1d` - "fix(agentos): compact AGENTS_ATLAS refs to text-token form + drop redundant in-bullet mentions (#11599)

Substrate-correctness fix per ADR 0011 §2.4 ("markdown-link references as an exception for rendered-consumer needs, not the live-substrate default"). Operator V-B-A flagged 16 AGENTS_ATLAS occurrences (12 lines, 4 lines with duplicate-path markdown-link pattern violating §2.4).

Two compactions:

1. Convert 4 markdown-link refs → text-token form per ADR 0011 §2.1:
   - Line 12: `[`learn/agentos/AGENTS_ATLAS.md`](learn/agentos/AGENTS_ATLAS.md) §2` → `AGENTS_ATLAS.md §2`
   - Line 46: `[`learn/agentos/AGENTS_ATLAS.md` §0.2 Cross-Family Cascade Clause](learn/agentos/AGENTS_ATLAS.md)` → `AGENTS_ATLAS.md §0.2 Cross-Family Cascade Clause`
   - Line 66 / 97: same pattern → `AGENTS_ATLAS.md §2`

2. Compact §edge_case_triggers redundant in-bullet `read AGENTS_ATLAS.md` mentions where preamble already routes (`*(Sections mapped to learn/agentos/AGENTS_ATLAS.md)*`):
   - Knowledge Base bullet: drop "in `AGENTS_ATLAS.md`" filler
   - Testing & Validation: restructure from "If X, read ATLAS" → declarative form
   - Visual Verification: same
   - File Reading Efficiently: same
   - V-B-A bullet: drop AGENTS_ATLAS.md prefix, keep `§2` semantic anchor (load-bearing)

Results:
- AGENTS_ATLAS occurrences: 16 → 7
- AGENTS.md size: 21,247 → 20,902 bytes (-345)
- Markdown-link-with-duplicate-path violations: 4 → 0

Net for Phase 1 PR overall: AGENTS.md 21,106 (origin/dev) → 20,902 (-204 bytes) while adding 15 §semantic_concept_name heading conversions + 27 cross-ref conversions + 2 body-side framing-label enrichments (Append Gap, Category-Drift Defense) + this compaction.

Gates: lint-agents OK / size 20,902<24,576 / whitespace PASS / git --check PASS."
- 2026-05-18T23:47:12Z @neo-opus-ada cross-referenced by #11608
- 2026-05-19T00:11:33Z @neo-opus-ada cross-referenced by PR #11612
- 2026-05-19T00:58:47Z @tobiu referenced in commit `0c0edb6` - "feat(agentos): Phase 1 substrate-wide §semantic_concept_name heading form (#11599) (#11600)

* feat(agentos): Phase 1 substrate-wide §semantic_concept_name heading form (#11599)

ADR 0011 §2.5 adds substrate-wide heading-form convention; AGENTS.md Phase 1
adopts. Replaces positional headings (## 21. The Mailbox Check Protocol ...)
with pure-anchor semantic identifiers (## §mailbox_check_protocol).

Changes:
- ADR 0011 §2.5: defines substrate-wide convention + scope (AGENTS.md /
  AGENTS_ATLAS.md / AGENTS_STARTUP.md / .agents/ANTIGRAVITY_RULES.md /
  .agents/skills/**/*.md / learn/agentos/**/*.md)
- ADR 0011 §2.1 / §2.3: reconciles example form from kebab-case to
  underscore_separated per operator-direction 2026-05-18
- AGENTS.md: 15 positional headings converted to pure-anchor form
- AGENTS.md: internal §N cross-references converted to §semantic form
  (§3.5 → §verify_before_assert, §13.2 → §friction_to_gold, §15.6 →
  §swarm_topology_anchor, §15.5 → §neo_identity_anchor, §13.1 →
  §contributions_over_commits, §0 → §critical_gates, §13 → §self_evolving_systems)

Properties:
- Self-documenting: anchor IS heading; cross-substrate refs resolve directly
- Byte-cheapest: 20,963 bytes (down from 21,106 — saved 143 bytes)
- Compaction-immune: section reordering doesn't invalidate references
- KB ingestion friendly: anchor names are concept-bearing tokens
- Cross-document drop friendly: tickets/PRs/discussions drop
  §mailbox_check_protocol and resolve consistently

Phase 1 scope = ADR 0011 amendment + AGENTS.md (proof of concept).
Phases 2-5 cascade through AGENTS_ATLAS.md, AGENTS_STARTUP.md, skills,
learn/agentos, code JSDoc — operator-decision on sequencing.

External cross-references (§2, §10, §5.1, §0.2, etc. pointing to skills /
AGENTS_ATLAS / workflows) intentionally LEFT in Phase 1 — convert in
respective phase.

Verified:
- lint-agents.mjs OK (no <a id> tag insertions)
- check-substrate-size.mjs OK (AGENTS.md 20,963 / 24,576 cap)
- check-whitespace.mjs OK

* fix(agentos): two stale reference-form misses on PR #11600 (#11599)

GPT cross-family review CHANGES_REQUESTED caught two reference-form misses inside the Phase 1 conversion surface:

1. AGENTS.md §swarm_topology_anchor (line 128): `§Core-Values at file top` → `§core_values at file top` (kebab+title-case → underscore semantic form).
2. ADR 0011 §1 Context (line 26): `§mailbox-check-protocol` → `§mailbox_check_protocol` (kebab → underscore; aligns with §2.1/§2.3 reconciliation already in Phase 1 commit d7aa8a15f).

Both edits are byte-neutral (same char count); AGENTS.md remains at 20,963 bytes well under 24,576 cap.

Gates re-verified: lint-agents OK / check-substrate-size PASS / check-whitespace PASS / git --check PASS.

* fix(agentos): preserve dropped framing labels in body per operator V-B-A (#11599)

Operator V-B-A challenge on PR #11600 heading conversion: 12 dropped parentheticals → 9 cleanly preserved in body, 3 with mild context loss. Two of the three mild-loss cases are load-bearing cross-substrate labels:

1. `(The "Append Gap")` for §file_editing_tool_selection — origin #9473, reused across PR #9863 retrospective; names the agent-tooling concept of "no dedicated append_file tool, use replace instead." Body rules captured the WHAT; the WHY-framing label was dropped.

2. `(Category-Drift Defense)` for §neo_identity_anchor — cross-referenced across PR #10741 / #10744 / #11040 retrospectives; identifies the substrate-pattern shared between §15.5 (identity drift) and §15.6 (swarm topology drift). Body mandate had "nullify category drifts" but the explicit framing label was dropped.

Body-side enrichment (substrate-correct per ADR 0011 §2.5 design intent — "heading IS the anchor; descriptive prose lives in the section body"):

- §file_editing_tool_selection: added leading sentence explaining the Append Gap (no append_file tool → replace substitute, bash redirection ban rationale, #9473 origin)
- §neo_identity_anchor: renamed "Mandate:" to "Category-Drift Defense Mandate:" — single-word label addition preserves the cross-substrate framing identifier

Third mild-loss case (`(Core Value: Equal Peer + Maintainer Agency)` → §swarm_topology_anchor) NOT amended — body already says "Equal-peer-with-maintainer-agency is the third core value" + "Neo's swarm operates **Flat Peer-Team**" in bold. Both elements are in body prose; the heading-level salience loss is acceptable per ADR §2.5 design intent.

Gates: lint-agents OK / size 21,187<24,576 / whitespace PASS / git --check PASS. AGENTS.md +224 bytes (still 86% of cap headroom).

* fix(agentos): compact AGENTS_ATLAS refs to text-token form + drop redundant in-bullet mentions (#11599)

Substrate-correctness fix per ADR 0011 §2.4 ("markdown-link references as an exception for rendered-consumer needs, not the live-substrate default"). Operator V-B-A flagged 16 AGENTS_ATLAS occurrences (12 lines, 4 lines with duplicate-path markdown-link pattern violating §2.4).

Two compactions:

1. Convert 4 markdown-link refs → text-token form per ADR 0011 §2.1:
   - Line 12: `[`learn/agentos/AGENTS_ATLAS.md`](learn/agentos/AGENTS_ATLAS.md) §2` → `AGENTS_ATLAS.md §2`
   - Line 46: `[`learn/agentos/AGENTS_ATLAS.md` §0.2 Cross-Family Cascade Clause](learn/agentos/AGENTS_ATLAS.md)` → `AGENTS_ATLAS.md §0.2 Cross-Family Cascade Clause`
   - Line 66 / 97: same pattern → `AGENTS_ATLAS.md §2`

2. Compact §edge_case_triggers redundant in-bullet `read AGENTS_ATLAS.md` mentions where preamble already routes (`*(Sections mapped to learn/agentos/AGENTS_ATLAS.md)*`):
   - Knowledge Base bullet: drop "in `AGENTS_ATLAS.md`" filler
   - Testing & Validation: restructure from "If X, read ATLAS" → declarative form
   - Visual Verification: same
   - File Reading Efficiently: same
   - V-B-A bullet: drop AGENTS_ATLAS.md prefix, keep `§2` semantic anchor (load-bearing)

Results:
- AGENTS_ATLAS occurrences: 16 → 7
- AGENTS.md size: 21,247 → 20,902 bytes (-345)
- Markdown-link-with-duplicate-path violations: 4 → 0

Net for Phase 1 PR overall: AGENTS.md 21,106 (origin/dev) → 20,902 (-204 bytes) while adding 15 §semantic_concept_name heading conversions + 27 cross-ref conversions + 2 body-side framing-label enrichments (Append Gap, Category-Drift Defense) + this compaction.

Gates: lint-agents OK / size 20,902<24,576 / whitespace PASS / git --check PASS."
- 2026-05-19T02:54:18Z @neo-opus-ada cross-referenced by PR #11614
- 2026-05-19T06:34:07Z @tobiu referenced in commit `c830ade` - "feat(agentos): Phase 2 substrate-wide §semantic_concept_name heading form in AGENTS_ATLAS.md (#11608) (#11614)

Continues Phase 1 (#11600 / 0c0edb681) substrate-wide ADR 0011 §2.5 heading-form
convention into AGENTS_ATLAS.md, AGENTS.md cross-refs, and AGENTS_STARTUP.md cross-refs.

Changes:

- 23 AGENTS_ATLAS.md headings converted from positional `## N. Title [TAG]` →
  semantic `## §<semantic> [TAG]`. Preserves [DISCIPLINE-ONLY] /
  [MACHINE-ENFORCEABLE-CANDIDATE] tags. Disambiguating suffixes applied where
  ATLAS section elaborates an AGENTS.md concept:
  - ATLAS §13.1 → §contributions_over_commits_heuristics (AGENTS.md has §contributions_over_commits)
  - ATLAS §13.3 → §pr_diff_equals_pr_body_anchor (AGENTS.md has §pr_diff_equals_pr_body)
- ATLAS internal cross-refs updated to AGENTS.md §semantic targets (V-B-A
  §verify_before_assert, friction → gold §friction_to_gold, §critical_gates
  invariants, §contributions_over_commits, §neo_identity_anchor,
  §swarm_topology_anchor, §self_evolving_systems substrate-accretion).
- AGENTS.md cross-refs to ATLAS sections simplified (drop `AGENTS_ATLAS.md`
  filename prefix where §anchor is substrate-wide). 4 atlas_detail / §2 refs
  + §edge_case_triggers positional §N refs converted to §<semantic>.
- AGENTS_STARTUP.md cross-refs to ATLAS sections similarly simplified (Inv 1
  mirror + Strategic Workflows §15.3 ref).

Pre-existing trailing whitespace at AGENTS_STARTUP.md:25 and AGENTS_ATLAS.md:144
(originally line 144, line continuity from pre-Phase-2) cleaned up incidentally
to clear husky pre-commit gate.

Substrate authority: ADR 0011 §2.5 (substrate-wide heading-form convention).

Verification:
- node ai/scripts/lint-agents.mjs --base origin/dev → OK
- node ai/scripts/check-substrate-size.mjs → AGENTS.md 20997 / 24576 bytes (PASS)
- node buildScripts/util/check-whitespace.mjs → PASS
- git diff --check → PASS

Out of scope (deferred per #11599 epic phases):
- AGENTS_STARTUP.md heading conversion — positional §N self-headings remain;
  external skill refs to AGENTS_STARTUP.md §3.3 / §6 are already stale and
  warrant a separate substrate-correction pass
- .agents/skills/**/*.md (Phase 3)
- learn/agentos/**/*.md non-ATLAS files (Phase 4)
- Code JSDoc cross-references (Phase 5)

Co-authored-by: tobiu <tobiasuhlig78@gmail.com>"
### @neo-opus-ada - 2026-06-01T08:53:06Z

Closing to cut backlog churn (operator direction, 2026-06-01). This is low-priority meta/codification substrate work — not v13-blocking — that accumulated faster than it was resolved. v13 convergence is the priority; resolve-over-create. Reopen only if a concrete, v13-relevant need surfaces.

- 2026-06-01T08:53:08Z @neo-opus-ada closed this issue
### @neo-opus-ada - 2026-06-01T08:56:17Z

Reopened — closing this was my error. Low-priority is NOT a close reason: per operator (2026-06-01), tickets close ONLY when superseded / no-longer-needed / wrong-decision — otherwise closing loses knowledge. This carries substrate knowledge worth keeping. The correct move to reduce the active v13 backlog is to DEFER (off the active board), not close. My mistake — I conflated 'reduce the active backlog' with 'close tickets'.

- 2026-06-01T08:56:18Z @neo-opus-ada reopened this issue

