{
  "generated_note": "Hand-maintained out-of-spine classification for the 144.1 exhaustive-coverage gate. Every live command + skill + agent that is NOT in data/connector-registry.json MUST appear here with a one-line reason. A surface is wired XOR allow-listed, never both. See .planning/research/LARRYREACH-CONNECTOR-AUDIT.md Section 4 + Phase 144.1-05 SUMMARY for the reason buckets. No em-dashes.",
  "categories": {
    "out_of_spine": "Genuinely out-of-spine per audit Section 4 (routing / read-only / output / system / HOW-layer skill / deprecated).",
    "wired_other_phase": "Tier A critical surface whose connector is owned by Phase 143.3 or Phase 144, not 144.1. Classified, not 144.1-claimed.",
    "out_of_spine_agent": "Out-of-spine agent per the Phase 144.1-05 SUMMARY agent reasons."
  },
  "allowlist": {
    "/mos:mos": "Routing surface (no reach); reads decide() per Phase 144, declares no connector.",
    "/mos:pipeline": "Routing surface (no reach); reads decide() per Phase 144, declares no connector.",
    "/mos:suggest-next": "Routing surface; engine-ranked sequence connector owned by Phase 144, not 144.1.",
    "/mos:act": "Routing surface; engine-selected plan connector owned by Phase 144, not 144.1.",
    "/mos:status": "Read-only observability surface; renders LOCAL state, fires no reach.",
    "/mos:graph": "Read-only observability surface; navigates the local graph, fires no reach.",
    "/mos:memory": "Read-only observability surface; reads the memory log, fires no reach.",
    "/mos:speakers": "Read-only observability surface; lists speakers, fires no reach.",
    "/mos:room": "Read-only observability surface; reads room state, fires no reach.",
    "/mos:explain-decision": "Read-only observability surface; the 146 verdict witness reading routing_source, fires no reach.",
    "/mos:feynman-timeline-refresh": "Read-only observability surface; regenerates the FEYNMAN.md timeline section, fires no reach.",
    "/mos:dashboard": "Read-only observability surface; renders the De Stijl dashboard, fires no reach.",
    "/mos:wiki": "Read-only observability surface; renders the room wiki, fires no reach.",
    "/mos:present": "Output / export surface; produces a presentation, fires no reach.",
    "/mos:publish": "Output / export surface; publishes an artifact, fires no reach.",
    "/mos:export": "Output / export surface; exports the room, fires no reach.",
    "/mos:snapshot": "Output / export surface; produces a snapshot, fires no reach.",
    "/mos:vault": "Output / export surface; exports to an Obsidian vault, fires no reach.",
    "/mos:splash": "Output / export surface; renders the splash, fires no reach.",
    "/mos:models": "System / admin / config surface; lists models, fires no reach.",
    "/mos:setup": "System / admin / config surface; runs setup (graph / brain), fires no reach.",
    "/mos:doctor": "System / admin / config surface; the install-state and acceptance gate host, fires no reach.",
    "/mos:onboard": "System / admin / config surface; runs onboarding, fires no reach.",
    "/mos:rooms": "System / admin / config surface; manages the multi-room registry, fires no reach.",
    "/mos:update": "System / admin / config surface; runs the plugin update, fires no reach.",
    "/mos:admin": "System / admin / config surface; admin operations, fires no reach.",
    "/mos:help": "System / admin / config surface; renders help, fires no reach.",
    "/mos:radar": "System / admin / config surface; capability radar, fires no reach.",
    "/mos:dogfood-flush": "System / admin / config surface; flushes dogfood state, fires no reach.",
    "/mos:scheduled-tasks": "System / admin / config surface; manages scheduled tasks, fires no reach.",
    "/mos:organize": "Deprecated stub; removal v1.14.0, no work.",
    "/mos:heal": "Deprecated stub; removal v1.14.0, no work.",
    "/mos:query": "Deprecated stub; removal v1.14.0, no work.",
    "/mos:visualize": "Deprecated stub; removal v1.14.0, no work.",
    "/mos:hmi-status": "Deprecated stub; removal v1.14.0, no work.",
    "/mos:rs-fetch": "Connector owned by Phase 143.3 Tier A (reverse-salient fetch), not 144.1.",
    "/mos:rs-experts": "Connector owned by Phase 143.3 Tier A (reverse-salient experts), not 144.1.",
    "/mos:rs-explain": "Connector owned by Phase 143.3 Tier A (reverse-salient explain), not 144.1.",
    "/mos:rs-thesis": "Connector owned by Phase 143.3 Tier A (reverse-salient thesis read-back), not 144.1.",
    "/mos:causal": "Connector owned by Phase 143.3 Tier A (causal claim), not 144.1.",
    "/mos:persona": "Connector owned by Phase 143.3 Tier A (persona / team), not 144.1.",
    "/mos:hat-briefing": "Connector owned by Phase 143.3 Tier A (hats producer-to-consumer close), not 144.1.",
    "/mos:diagnostics": "Connector owned by Phase 143.3 Tier A (Wave-1 algorithmic fingerprint), not 144.1.",
    "/mos:file-meeting": "Connector owned by Phase 144 (SENS-06 filing + contradiction), not 144.1.",
    "/mos:brain-derive": "Connector owned by Phase 144 (refresh-signal BRAIN.md derivation), not 144.1.",
    "/mos:diagnose": "Connector owned by Phase 144 (feeds decide), not 144.1.",
    "skill:brain-connector": "HOW-layer substrate skill; owns the brain_consult reach mechanics, declares no connector.",
    "skill:context-engine": "HOW-layer substrate skill; owns the context_block budget, declares no connector.",
    "skill:room-passive": "HOW-layer substrate skill; owns the SENS-06 filing write, declares no connector.",
    "skill:room-proactive": "HOW-layer substrate skill; owns the contradiction surface, declares no connector.",
    "skill:ui-system": "HOW-layer substrate skill; the surface F.x resolver for every connector, declares no connector.",
    "skill:pws-methodology": "HOW-layer substrate skill; keeps framework-to-command resolution single-sourced, declares no connector.",
    "skill:conversation-mode": "HOW-layer substrate skill; the Shape F.1 lane-picker mapped to DIKW, declares no connector.",
    "skill:mva-pipeline": "HOW-layer substrate skill; the MVA relay, declares no connector.",
    "skill:mullins-scaffold": "HOW-layer substrate skill; Brain-driven cross-framework scaffold, declares no connector.",
    "skill:client-discovery-interview": "HOW-layer substrate skill; the discovery-interview substrate consumed by /mos:discover, declares no connector.",
    "skill:intelligence-orchestrator": "HOW-layer substrate skill; the orchestrator that READS the registry to dispatch, is not itself a wired connector.",
    "skill:larry-personality": "HOW-layer substrate skill; the frozen reach + posture vocabulary source, declares no connector.",
    "skill:mos-deck-engine": "Output / export skill; renders plain-language deck messaging, fires no reach. Renamed from skill:MOSDeckEngine in Phase 234-04 (Agent Skills spec lowercase-hyphen charset); the legacy alias handle MOSDeckEngine in data/deck-aliases.json is a routing handle, not a surface id, and stays as it was.",
    "agent:framework-runner": "Out-of-spine agent (Phase 144.1-05); the act-to-file-to-cascade filing executor, dispatched by other connectors, declares no connector of its own.",
    "agent:larry-extended": "Out-of-spine agent (Phase 144.1-05); the loop-entry turn-1 conversational agent with frozen frontmatter, mints no reach of its own."
  }
}
