6

Modules under src/ that no other src/ module imports, measured by
scripts/check-dead-code.sh. A ratchet: this number may fall, never rise.

6 files / 3,543 lines as of 2026-09-03, down from 9 / 4,807 because
CE-MCP wrap-up (#1669, #1670, #1671) retired three dead modules:

  prompt-execution.ts              455  Retired: zero src/ consumers since
                                        Batches 2-7 (#1631-#1636). #1669
  ai-executor.ts                   456  Retired: only consumer was
                                        prompt-execution.ts. #1670
  prompt-catalog.ts                353  Retired: only consumer was the
                                        loadPrompt handler removed in #1673. #1671

The six that remain are held for a named reason:

  root-manager.ts                  175  Only consumers were the removed listRoots,
                                        readFile, readDirectory, writeFile, and
                                        listDirectory handlers plus setProjectPath
                                        (which only wrote to it, never read).
                                        Candidate for retirement via retirement.py.
  memory-migration-manager.ts     1016  owner's call: possible scaffolding
  sandbox-executor.ts              800  exercised by the CE-MCP suites (m5, #1416)
  memory-rollback-manager.ts       744  owner's call: possible scaffolding
  adr-planning-task-integration.ts 658  ADR-020 Phase 5 -- "Wrap 7-phase planning
                                        workflow as a Task" -- is unchecked and
                                        standing. Deleting a partial implementation
                                        of a live commitment is implementing around
                                        an accepted decision. Superseding that item
                                        is a ratification act, not a retirement.
  aggregator-endpoint-map.ts       150  .github/workflows/aggregator-integration.yml
                                        runs its two suites against a live service

Lower this number only by deleting a module through retirement.py with its own
admission, or by wiring one up; never by editing this file alone.
