The #78 split moved dispatch tables into per-domain files, but two functions still account for ~43% of programa.swift: the commandDescriptors data literal (~1,300 lines) and the subcommandUsage help switch (~1,300 lines, absorbed by the command-catalog issue). Domain types and detailed help text stayed behind; ClaudeHookSessionStore (210 lines, Hooks-only) never moved to CLI+Hooks.swift.
Also: struct CMUXCLI naming is tracked by plans/rebrand-cmux-to-programa.md; do the rename when this file is already being reorganized.
From the 2026-07-09 nuclear review (10 module reviewers + Codex cross-model pass, disprove-first). Line refs are against the reductive-audit branch (PR #81).
The #78 split moved dispatch tables into per-domain files, but two functions still account for ~43% of programa.swift: the commandDescriptors data literal (~1,300 lines) and the subcommandUsage help switch (~1,300 lines, absorbed by the command-catalog issue). Domain types and detailed help text stayed behind; ClaudeHookSessionStore (210 lines, Hooks-only) never moved to CLI+Hooks.swift.
Also:
struct CMUXCLInaming is tracked by plans/rebrand-cmux-to-programa.md; do the rename when this file is already being reorganized.From the 2026-07-09 nuclear review (10 module reviewers + Codex cross-model pass, disprove-first). Line refs are against the
reductive-auditbranch (PR #81).