---
id: 11260
title: 'Substrate-relocation: move Sandman Handoff Pre-Flight body from AGENTS.md §22 to new `/sandman-handoff-pre-flight` skill'
state: CLOSED
labels:
  - documentation
  - enhancement
  - ai
  - architecture
  - model-experience
assignees:
  - neo-opus-ada
createdAt: '2026-05-12T11:11:43Z'
updatedAt: '2026-06-07T17:10:53Z'
githubUrl: 'https://github.com/neomjs/neo/issues/11260'
author: neo-opus-ada
commentsCount: 3
parentIssue: null
subIssues: []
subIssuesCompleted: 0
subIssuesTotal: 0
blockedBy: []
blocking: []
closedAt: '2026-05-23T04:01:37Z'
---
# Substrate-relocation: move Sandman Handoff Pre-Flight body from AGENTS.md §22 to new `/sandman-handoff-pre-flight` skill

## Context

@tobiu V-B-A 2026-05-12: PR #11257 (Boot-Time Pre-Flight Guard for Ticket #11179, closed as superseded) added 9 lines of substantial substrate-text to AGENTS.md §22 — fail-open/fail-closed semantics, hard-refusal predicate, scope boundary, operator-notification mandate. This is exactly the substrate-bloat pattern Discussion #11259 + Epic #11256 are codifying to prevent.

Direct operator quote: *"agents.md bloat. is this not the exact item we are trying to counter?"*

Authored by Claude Opus 4.7 (Claude Code). Session `c2912891-b459-4a03-b2af-154d5e264df1`.

## The Problem

**PR #11257 violated `/turn-memory-pre-flight` decision-tree** (which had merged minutes earlier via PR #11255, Epic #11256 AC1). Applying the skill's decision-tree to PR #11257's substrate-addition retrospectively:

- **Step 1** (Universal rule?): The TRIGGER ("read sandman_handoff.md on boot") = yes, applies to every session. Implementation details = no.
- **Step 2** (Skill lifecycle event?): Session-boot IS a lifecycle phase → **dedicated skill placement**, not full body in AGENTS.md.

**My review failure (the 5th same-session Flattening-Bias anchor):** My PR #11257 Cycle 1 review's RA1 said *"apply `/turn-memory-pre-flight` discipline to this PR's substrate-mutation"* — caught the substrate-NAME ("cross-skill integration missing") but **did NOT carry through to the substrate-EFFECT placement-conclusion** ("would the discipline conclude 'in AGENTS.md' or 'in dedicated skill'?"). Cycle 2 APPROVE rolled forward with the bloat unchallenged.

This is Flattening-Bias on the reviewer side — caught half the signal, missed the load-bearing half.

## The Architectural Reality

**Current state (PR #11257 was closed as superseded, so no §22 bulk on dev):**

```
AGENTS.md §22:
  ## Turn Start & Session Boot Pre-Flights
  
  **Session Boot Pre-Flight (The Sandman Handoff):**
  At the very beginning of a newly booted session... [9 lines of bulk]
  
  **The Mailbox Check Protocol (Turn Start):**
  At every turn start... [1 line]
```

**Substrate-correct shape (Map + Atlas via `/turn-memory-pre-flight` decision-tree):**

```
AGENTS.md §21 (Workflow Skills routing table):
  | `sandman-handoff-pre-flight` | At session-boot, before any workflow skill, to read sandman_handoff.md and enforce hard-refusal on blocking lane-state |

AGENTS.md §22:
  ## Turn Start Pre-Flights (minimal umbrella)
  
  **Mailbox Check** — `list_messages({status: 'unread'})` → state observed count.
  **Sandman Handoff Pre-Flight** — see `/sandman-handoff-pre-flight` skill (§21 row).

.agents/skills/sandman-handoff-pre-flight/SKILL.md:
  [Map; 1-line trigger pointing at atlas]

.agents/skills/sandman-handoff-pre-flight/references/sandman-handoff-pre-flight-workflow.md:
  [Atlas; full body: fail-open/fail-closed semantics, hard-refusal predicate, scope boundary, operator-notification]
```

## The Fix

Atomic substrate-relocation PR:

1. **Create new skill directory** `.agents/skills/sandman-handoff-pre-flight/`
   - `SKILL.md` (Map; ≤12 lines per `/create-skill` empirical floor)
   - `references/sandman-handoff-pre-flight-workflow.md` (Atlas; relocated body from AGENTS.md §22)
2. **Add AGENTS.md §21 trigger row** for `/sandman-handoff-pre-flight`
3. **Update AGENTS.md §22** — keep minimal umbrella and 1-line pointer to skill (no bulk lines to trim since PR #11257 didn't merge)
4. **Cross-skill references** — link `/sandman-handoff-pre-flight` to `/pull-request §1.0 Sandman Handoff Pre-Flight Guard` + `/ticket-intake §1 Sandman Handoff Pre-Flight Guard` (existing PR #11257 substrate stays but references the canonical skill instead of inlining)

## Acceptance Criteria

- [ ] **AC1**: New skill directory created with SKILL.md (Map) + references/workflow.md (Atlas). SKILL.md ≤12 lines.
- [ ] **AC2**: AGENTS.md §22 contains minimal umbrella (Mailbox 1-line + Sandman pointer 1-line); no bulk lines to relocate since PR #11257 is closed.
- [ ] **AC3**: AGENTS.md §21 trigger row added for `/sandman-handoff-pre-flight`.
- [ ] **AC4**: Cross-skill references — `/pull-request §1.0` + `/ticket-intake §1` link to new skill (instead of inlining the predicate text).
- [ ] **AC5**: Net byte delta — AGENTS.md increases minimally (+1 trigger row, +1 pointer row); total substrate roughly net-zero vs the superseded PR #11257 approach. Empirical: AGENTS.md should only gain the necessary §21 trigger and §22 pointer lines.
- [ ] **AC6**: Substrate-Mutation Pre-Flight (§1.1 in PR body) — apply `/turn-memory-pre-flight` decision-tree explicitly + cite this ticket as fresh empirical anchor for the skill's substrate-rollout-discovery gap.

## Substrate-Evolution Empirical Anchors

This ticket is itself **substrate-evolution material**:

1. **5th same-session Flattening-Bias anchor** for Discussion #11259 sub-mode validation:
   - (1) PR #11250 wrong-skill placement (my author framing)
   - (2) Discussion #11252 Cycle 1 GPT rename-pressure (substrate-placement scope expansion)
   - (3) Discussion #11252 Cycle 1 Gemini signal-extension on flattened name
   - (4) Discussion #11259 Cycle 1.7 my top-of-body-annotation-only "absorption" (GPT Cycle 2 caught)
   - (5) **THIS** — PR #11257 my Cycle 1+2 review caught cross-skill-integration miss but didn't carry through to placement-conclusion

2. **Substrate-rollout-discovery gap (Epic #11256 AC4 family candidate sub-AC):** newly-merged skill (PR #11255 `/turn-memory-pre-flight` at 09:08Z) did NOT auto-apply to next consumer-candidate (PR #11257 at 09:38Z). 30-minute gap; same author (Gemini); same session. **The skill exists but agents don't auto-pattern-match next substrate-mutation against newly-merged disciplines.** Worth codifying as anti-pattern + corrective discipline (e.g., post-skill-merge announcement + checklist).

## Out of Scope

- Reverting PR #11257 entirely — substrate functionality is correct; only placement is wrong-skill.
- Changing the Sandman Handoff Pre-Flight semantics — fail-open/fail-closed + scope boundary stay; just relocate to atlas.
- Expanding to other AGENTS.md sections — this ticket is scoped to §22 §1.0 §1 relocations only; broader AGENTS.md audit is Discussion #11259 territory.
- Re-litigating the substrate-content of PR #11257 — accepts the substrate as written; only re-places it.

## Avoided Traps

- **Trap: revert PR #11257 entirely** → rejected; the substrate is correct, only placement is wrong-skill.
- **Trap: leave AGENTS.md §22 as-is** → rejected per operator-V-B-A; bloat ships into every future session's turn-loaded memory; net cost compounds.
- **Trap: file as Discussion** → rejected; the corrective shape is mechanical-substrate-relocation, not architectural-ambiguity. Discussion-grade would inflate to Epic; bounded ticket is right.
- **Trap: fold into Discussion #11259 graduation Epic** → rejected; Discussion #11259 is substrate-emphasis discipline (XML tag wrappers); this is substrate-placement-correction. Different axes; better tracked separately.

## Related

- **PR #11257** (CLOSED) — the bloat anchor; this ticket implements the corrected placement
- **PR #11255** (MERGED) — `/turn-memory-pre-flight` skill substrate (Epic #11256 AC1)
- **Epic #11256** — `/turn-memory-pre-flight` + `/architecture-pre-flight` umbrella; this ticket is a downstream-consumer demonstration of substrate-rollout-discovery gap
- **Discussion #11259** (OPEN, Cycle 1.8 1/3 APPROVED) — XML-tag-wrapper substrate for anti-drift anchors; this ticket adds fresh 5th-empirical-anchor for Flattening-Bias sub-mode validation
- **Ticket #11179** (CLOSED by PR #11257) — original Sandman Handoff Pre-Flight Guard ticket; this ticket is substrate-correction not AC re-scoping

## Origin Session ID

`c2912891-b459-4a03-b2af-154d5e264df1` (Claude Opus 4.7 / Claude Code 1M context, 2026-05-12 session; operator-surfaced V-B-A on PR #11257's substrate-shape as bloat anchor; PR #11257 closed without merging)

## Handoff Retrieval Hints

- `query_raw_memories(query="sandman-handoff substrate-relocation AGENTS.md §22 bloat Flattening-Bias placement-conclusion")`
- `ask_knowledge_base(query="Sandman Handoff Pre-Flight skill placement turn-memory decision-tree")`
- File anchors: AGENTS.md §22 + .agents/skills/sandman-handoff-pre-flight/ (to-be-created) + AGENTS.md §21
- Empirical anchor stack: PR #11257 (bloat), PR #11255 (skill substrate), Epic #11256 (umbrella), Discussion #11259 (Flattening-Bias codification)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

## Timeline

- 2026-05-12T11:11:44Z @neo-opus-ada assigned to @neo-opus-ada
- 2026-05-12T11:11:45Z @neo-opus-ada added the `documentation` label
- 2026-05-12T11:11:45Z @neo-opus-ada added the `enhancement` label
- 2026-05-12T11:11:45Z @neo-opus-ada added the `ai` label
- 2026-05-12T11:11:45Z @neo-opus-ada added the `architecture` label
- 2026-05-12T11:11:46Z @neo-opus-ada added the `model-experience` label
- 2026-05-12T11:12:22Z @neo-opus-ada cross-referenced by #11256
- 2026-05-12T11:13:24Z @neo-gemini-pro assigned to @neo-gemini-pro
- 2026-05-12T11:13:33Z @neo-gemini-pro unassigned from @neo-opus-ada
- 2026-05-12T11:17:02Z @neo-opus-ada referenced in commit `8703ca0` - "fix(pr-review): trim §7.7 row + relocate body to audits/loading-runtime-effect.md per §7.6 audits-doc pattern (#11256)

Operator V-B-A 2026-05-12 ~11:14Z surfaced PR #11258's §7.7 row as substrate-bloat: ~600 chars
vs existing §7.7 rows 47-271 chars (2-3× longest). The full anti-pattern body was inlined into
the single table row, violating the §7.6 audits-doc-pattern precedent for detailed audit content
in dedicated file.

Substrate-correct shape (matching §7.6 → audits/ci-security-audit.md convention):
- §7.7 row: brief anti-pattern name + view_file pointer to audit doc (~150 chars)
- audits/loading-runtime-effect.md: full body (DIMENSION-vs-ENGAGEMENT framing, PR #11244
  6-cycle empirical anchor with 3-reviewer/4-missed-cycle attribution, reviewer mechanical
  pre-flight commands, substrate-loop completion narrative, Helpful-Assistant 4-sub-mode
  context per Discussion #11259, cross-skill references)

This is the 6th same-session Flattening-Bias instance:
1. PR #11250 wrong-skill placement (originating)
2. Discussion #11252 Cycle 1 GPT rename-pressure
3. Discussion #11252 Cycle 1 Gemini signal-extension on flattened name
4. Discussion #11259 Cycle 1.7 top-of-body-annotation-only "absorption"
5. PR #11257 my Cycle 1+2 review missed placement-conclusion (AGENTS.md bloat)
6. THIS PR — row-content-bloat violating §7.6 audits-doc pattern

The substrate-loop completion narrative is preserved: PR #11255 proactive
/turn-memory-pre-flight + PR #11257 (now ticket #11260 corrective in flight)
boot-time + this PR reactive §7.7 anti-pattern + audits/loading-runtime-effect.md
detailed audit doc.

Authored by Claude Opus 4.7 (Claude Code). Session
\`c2912891-b459-4a03-b2af-154d5e264df1\`.

Co-Authored-By: Claude Opus 4.7 <neo-opus-4-7@neomjs.com>"
- 2026-05-12T11:17:26Z @neo-opus-ada cross-referenced by PR #11258
- 2026-05-12T11:34:51Z @neo-gemini-pro cross-referenced by PR #11261
- 2026-05-12T11:39:33Z @neo-opus-ada cross-referenced by #11262
- 2026-05-12T12:05:08Z @neo-opus-ada unassigned from @neo-gemini-pro
- 2026-05-12T12:05:15Z @neo-opus-ada assigned to @neo-opus-ada
- 2026-05-12T12:09:11Z @neo-opus-ada cross-referenced by PR #11257
- 2026-05-12T12:11:53Z @neo-opus-ada cross-referenced by PR #11264
- 2026-05-12T12:23:40Z @neo-gemini-pro cross-referenced by PR #11266
### @neo-opus-ada - 2026-05-12T12:32:45Z

## V-B-A Self-Correction: Stale Claims About PR #11257 + AGENTS.md §22

**By @neo-opus-4-7 (this ticket's author).** Surfaced via GPT's PR #11264 Cycle 1 review (RA3: "correct #11260 before closing it").

### What was wrong

The original ticket body (filed 2026-05-12 by @neo-opus-4-7) contained two stale empirical claims that no longer hold:

1. **"PR #11257 merged as `7d06d60b0`"** — PR #11257 was **CLOSED without merging**. `7d06d60b0` is the head commit of the closed PR, not a merge commit on `dev`. V-B-A: `git log origin/dev` shows no PR #11257 merge artifact.

2. **"Current state (post-PR-#11257-merge): AGENTS.md §22 [bulk body]"** — the 9-line bulk body PR #11257 proposed **never landed on `dev`**. The "current state" diff block in the ticket body describes the never-shipped PR #11257 diff, not the actual repository state.

These propagated downstream into:
- AC2 ("trim AGENTS.md §22 — remove 8 of 9 bulk-body lines") — no bulk-body exists on `dev` to trim
- AC5 ("AGENTS.md §22 was +9 lines via PR #11257") — never shipped
- "Related" section ("PR #11257 MERGED 2026-05-12") — closed, not merged

### Substrate-correctness of the ticket's intent

The ticket's **intent** (substrate-relocation of Sandman Handoff Pre-Flight body from `AGENTS.md §22` to a dedicated `/sandman-handoff-pre-flight` skill) **stands on technical merits**. PR #11264 delivers exactly that substrate-relocation shape (Map/Atlas split + `AGENTS.md §21` trigger row + no `AGENTS.md §22` bulk-body). The closing argument is unchanged: PR #11264 implements the substrate-correct shape that PR #11257 + PR #11261 attempted.

### Corrections being applied to the body

The ticket body will be edited in-place with surgical corrections:
- "merged as `7d06d60b0`" → "closed without merging at commit `7d06d60b0`"
- "Current state (post-PR-#11257-merge)" → "Originally-proposed PR #11257 shape (closed without merging)"
- AC2 reframed: "AGENTS.md §22 substrate-budget compliance (no bulk-body added; PR #11257's proposed body never landed on `dev`)"
- AC5 net byte delta language reframed against the never-shipped PR #11257 baseline
- "Related" section corrected from "MERGED" → "CLOSED without merging"

### Empirical anchor

This is the **same-session Flattening-Bias** pattern: the ticket was filed minutes after PR #11257 was closed, and the body framing carried forward the "merged" assumption from prior session-context without V-B-A on `git log origin/dev`. GPT caught it in PR #11264 Cycle 1 review (RA3 + RA4). Adding to the substrate-correction trail for the Flattening-Bias multi-anchor stack.

Authored by Claude Opus 4.7 (Claude Code). Session `c2912891-b459-4a03-b2af-154d5e264df1`.

🤖 Generated with [Claude Code](https://claude.com/claude-code)


- 2026-05-12T12:34:56Z @neo-opus-ada referenced in commit `324d4c0` - "chore(agentos): wire /sandman-handoff-pre-flight router metadata + consumer surfaces (#11260)

Substrate-corrections from GPT's PR #11264 Cycle 1 Required Actions (RA1+RA2):

RA1 — fix skill router exposure:
- Add required `triggers:` YAML frontmatter field to SKILL.md per /create-skill
  authoring convention
- Add `.claude/skills/sandman-handoff-pre-flight` symlink to expose the new skill
  to the Claude Code harness (without this, Claude is blind to the skill at boot)

RA2 — wire the actual consumers:
- AGENTS_STARTUP.md Step 6 boot-sequence: replace direct `view_file` instruction
  on `resources/content/sandman_handoff.md` with delegation to the
  `/sandman-handoff-pre-flight` skill (so the boot path goes through the skill
  rather than running a parallel direct-parse path)
- pull-request-workflow.md: add new §1.0 "Sandman Handoff Pre-Flight Gate"
  before §1.1 Substrate-Mutation gate (per #11260 AC4 — verifies pre-flight
  passed before new-PR creation)
- ticket-intake-workflow.md: add boot-time pre-flight halt-block at top of §1
  Validation Sweep (per #11260 AC4 — verifies pre-flight passed before new-
  ticket intake)

All four consumer surfaces now route through the canonical skill atlas at
`.agents/skills/sandman-handoff-pre-flight/references/sandman-handoff-pre-flight-workflow.md`
instead of inlining the predicate text or maintaining parallel direct-parse paths.

Closes #11260 AC4. Substrate-corrections to address GPT's PR #11264 Cycle 1
Required Actions land in this commit; RA3 (#11260 body backfill) handled via
`gh issue edit` + corrective comment; RA4 (PR body refresh) follows in PR-body
edit. No runtime behavior change; substrate-text only.

Authored by Claude Opus 4.7 (Claude Code). Session c2912891-b459-4a03-b2af-154d5e264df1."
- 2026-05-12T12:50:00Z @neo-opus-ada referenced in commit `fe10e68` - "feat(agentos): introduce /sandman-handoff-pre-flight skill substrate (#11260)

Resolves #11260. Closes-as-superseded #11257 + #11261.

Substrate-correct shape per Discussion #11259 Cycle 2.2 substrate-budget AC + Epic #11256
/turn-memory-pre-flight decision-tree:

- New skill `.agents/skills/sandman-handoff-pre-flight/SKILL.md` (8 lines; lightweight Map
  router per /create-skill convention) + `references/sandman-handoff-pre-flight-workflow.md`
  (51 lines; Atlas with full Execution Protocol body)
- AGENTS.md §21: +1 trigger row pointing at the skill
- No bulk-body added to AGENTS.md universal-load substrate

Substrate-budget AC compliance:

- The implementation PR MUST be loaded-context neutral or reducing unless it creates mechanical enforcement
- AGENTS.md loaded-byte delta: +1 line (trigger row only; minimum substrate for skill
  discoverability). Per substrate-budget AC bullet 4 net-expansion justification: the +1
  trigger row cannot be expressed as a mechanical check / review rule / Atlas trigger —
  agents must KNOW the skill exists at session-boot to invoke it; the §21 routing table
  IS the canonical discoverability primitive. Alternative was bulk-body in §22 (PR #11257
  approach) which violated substrate-budget AC.
- Prefer wrapping, relocating, or replacing existing loaded prose over adding new prose;
  this PR relocates substrate-effect from "would-be PR #11257 §22 bulk body" (8 lines
  universal-load) to "new skill substrate at conditionally-loaded path" (59 lines
  skill-load). Net universal-load = +1 line vs would-have-been +9; relocation-shaped
  net reduction of 8 lines universal-load relative to PR #11257 baseline.
- No duplicated prose in .codex, .agents/ANTIGRAVITY_RULES.md, or skill payloads; pointers only.
- PR body must include an AGENTS.md loaded-byte delta + named relocated text.

Cross-family corrective-authorship rotation per @tobiu chief-architect direction
2026-05-12 ~11:50Z (Path A: substrate-corruption recovery). PR #11257 + PR #11261
substantively-correct content but wrong-placement; substrate-content preserved in
their commit histories + this skill's atlas captures full Execution Protocol.

Authored by Claude Opus 4.7 (Claude Code). Session
\`c2912891-b459-4a03-b2af-154d5e264df1\`.

Co-Authored-By: Claude Opus 4.7 <neo-opus-4-7@neomjs.com>"
- 2026-05-12T12:50:00Z @neo-opus-ada referenced in commit `a529b32` - "chore(agentos): wire /sandman-handoff-pre-flight router metadata + consumer surfaces (#11260)

Substrate-corrections from GPT's PR #11264 Cycle 1 Required Actions (RA1+RA2):

RA1 — fix skill router exposure:
- Add required `triggers:` YAML frontmatter field to SKILL.md per /create-skill
  authoring convention
- Add `.claude/skills/sandman-handoff-pre-flight` symlink to expose the new skill
  to the Claude Code harness (without this, Claude is blind to the skill at boot)

RA2 — wire the actual consumers:
- AGENTS_STARTUP.md Step 6 boot-sequence: replace direct `view_file` instruction
  on `resources/content/sandman_handoff.md` with delegation to the
  `/sandman-handoff-pre-flight` skill (so the boot path goes through the skill
  rather than running a parallel direct-parse path)
- pull-request-workflow.md: add new §1.0 "Sandman Handoff Pre-Flight Gate"
  before §1.1 Substrate-Mutation gate (per #11260 AC4 — verifies pre-flight
  passed before new-PR creation)
- ticket-intake-workflow.md: add boot-time pre-flight halt-block at top of §1
  Validation Sweep (per #11260 AC4 — verifies pre-flight passed before new-
  ticket intake)

All four consumer surfaces now route through the canonical skill atlas at
`.agents/skills/sandman-handoff-pre-flight/references/sandman-handoff-pre-flight-workflow.md`
instead of inlining the predicate text or maintaining parallel direct-parse paths.

Closes #11260 AC4. Substrate-corrections to address GPT's PR #11264 Cycle 1
Required Actions land in this commit; RA3 (#11260 body backfill) handled via
`gh issue edit` + corrective comment; RA4 (PR body refresh) follows in PR-body
edit. No runtime behavior change; substrate-text only.

Authored by Claude Opus 4.7 (Claude Code). Session c2912891-b459-4a03-b2af-154d5e264df1."
- 2026-05-12T12:50:00Z @neo-opus-ada referenced in commit `ae33098` - "docs(agentos): rename AGENTS.md §22 to "Turn Start & Session Boot Pre-Flights" umbrella + add Sandman pointer (#11260)

Addresses #11260 AC2 (per @neo-gpt PR #11264 Cycle 2 RA): the live ticket
prescribes §22 as "Turn Start & Session Boot Pre-Flights (minimal umbrella)"
containing both Mailbox Check (turn-start) and Sandman Handoff Pre-Flight
(session-boot) as 1-line pointers. PR #11264 originally shipped only the §21
routing table row + AGENTS_STARTUP.md Step 6 boot delegation, leaving the §22
umbrella-shape unrealized.

Changes:
- Rename §22 header from "The Mailbox Check Protocol (Pre-Flight at Turn
  Start)" to "Turn Start & Session Boot Pre-Flights (minimal umbrella)"
- Add Session Boot Pre-Flight (Sandman Handoff) 1-line pointer referencing
  the /sandman-handoff-pre-flight skill (§21 row)
- Preserve existing Mailbox Check substrate verbatim as the Turn-Start
  pre-flight sub-item under the umbrella

Substrate-budget delta:
- AGENTS.md vs origin/dev: +6 / -2 lines (net +4 lines / +425 bytes)
- Net-additive but minimum substrate to realize the umbrella shape #11260 AC2
  prescribes; both pre-flights are 1-line pointers (Mailbox preserved,
  Sandman added) — no bulk-body addition

Cross-substrate consistency:
- AGENTS_STARTUP.md Step 6 (session-boot delegation; commit 324d4c0e4)
- AGENTS.md §21 trigger row (skill discoverability; commit f6af27a3e/rebased)
- AGENTS.md §22 umbrella (this commit; realizes #11260 AC2 umbrella shape)
- /pull-request §1.0 + /ticket-intake §1 (per-skill consumer gates)

Note on close-target syntax: the prior commit (324d4c0e4) used "Closes #11260
AC4" prose which GitHub partially-parses as a close-keyword. The PR's
authoritative close-target is "Resolves #11260" in the PR body; commit-body
references should NOT use close-keyword syntax for partial-AC framing.
Going forward, this convention will be: "Addresses AC<N> of #<ID>" in commit
bodies; "Resolves #<ID>" in PR body only.

Authored by Claude Opus 4.7 (Claude Code). Session c2912891-b459-4a03-b2af-154d5e264df1."
- 2026-05-17T20:22:47Z @neo-gpt cross-referenced by #11548
### @neo-opus-ada - 2026-05-23T04:01:20Z

**Input from Neo Opus 4.7 (Claude Code):**

> ❋ ## Self-triage: ticket premise stale per AGENTS.md restructure — recommending close
> 
> V-B-A'd this ticket against current `dev` HEAD substrate:
> 
> | Cited target | Current state | Status |
> |---|---|---|
> | AGENTS.md §22 "Sandman Handoff" bulk to extract | No §22 numbering exists anymore. AGENTS.md restructured to `§<concept-name>` semantic-anchor form (`§core_values`, `§identity_prompt_firewall`, `§mailbox_check_protocol`, `§edge_case_triggers`, etc.) | **Bulk already gone** (PR #11257 was closed as superseded, never re-added) |
> | AGENTS.md §21 Workflow Skills routing table | No §21 — current substrate uses `§edge_case_triggers` for the equivalent edge-case → skill routing | **Section moot** |
> | New `/sandman-handoff-pre-flight` skill | Does not exist | **Not needed** — no bulk to relocate |
> | `learn/agentos/sandman-handoff-format.md` | Exists as Atlas-style reference (the format spec, not Pre-Flight discipline) | **Already substrate-correct shape** |
> | Session-boot Pre-Flight discipline pointer | Lives in `§edge_case_triggers` → "Sunset Protocol (§a2a_contextual_bridge_protocol)" pointing to `.agents/skills/session-sunset/SKILL.md` | **Already routed via correct conditional-load skill** |
> 
> **Conclusion:** the originating concern (PR #11257's substrate-bloat into AGENTS.md §22) was resolved by the broader AGENTS.md restructure that landed later (cutting §22 entirely as part of the semantic-anchor restructure). The substrate-relocation goal (extract heavy session-boot content from always-loaded AGENTS.md → conditionally-loaded skill) is satisfied because the heavy content never re-landed in always-loaded substrate post-supersede.
> 
> **Disposition recommendation: close as `stale-per-substrate-restructure`** — the originating §22-bulk problem doesn't exist on current `dev`, and the proposed solution path (new `/sandman-handoff-pre-flight` skill with §21 routing table entry) no longer maps to current substrate structure.
> 
> If a fresh need arises for a dedicated session-boot Pre-Flight skill (separate from `/session-sunset`), file a new ticket with current-substrate hooks (semantic-anchor section names, `§edge_case_triggers` integration, etc.) — this ticket's body is built on outdated section-anchor assumptions.
> 
> Closing per `feedback_substrate_triage_facepalm_avoidance` + `feedback_close_as_completed_authority` discipline: V-B-A'd against current state, architecturally-significant concept preserved (substrate-relocation pattern), specific cited path no longer applicable.

### @neo-opus-ada - 2026-05-23T04:01:36Z

Closed per self-triage comment [IC_kwDODSospM4BDag5Pw](https://github.com/neomjs/neo/issues/11260#issuecomment-4524095807): substrate target (AGENTS.md §22 + §21) no longer exists post-restructure to semantic-anchor form; originating bulk-bloat concern already resolved by PR #11257 supersede + later restructure. See referenced comment for full V-B-A.

- 2026-05-23T04:01:37Z @neo-opus-ada closed this issue

