Skip to content

Remove ~30 dead CLI subcommands #1349

Description

@osilkin98

Context

The factory CLI currently exposes ~70 top-level subcommands. After removing dead modes (#1346) and dead infrastructure modules (#1348), ~30 subcommands have no remaining backing implementation.

CLI subcommands to remove

Experiment lifecycle (improve/research-only)

  • begin, finalize — experiment lifecycle
  • history, diff, explain — experiment analysis (read .factory/results.tsv)

Research/meta-only

  • baseline — eval baseline for improve/research score-delta flow
  • adversarial-state — GAN-style adversarial loop inspection
  • insights, report-update — cross-project reporting
  • eval — not invoked by design/create
  • leakage-check, validate-research — research-mode ground-truth isolation checks

Backlog/refinement (improve-only)

  • backlog-add, backlog-list, backlog-remove — backlog management
  • refine-status, refine-begin, refine-complete — refinement loop
  • message — CEO messaging

Reporting/analysis

  • status, summary, export — reporting/analysis
  • research (citation index)
  • review — structured PR review for keep/revert loop
  • clean-pr — Clean PR Mode (keep module per Akash, but evaluate if CLI verb is needed)

Infrastructure management

  • registry-list — cross-project registry listing
  • dead-code — zero documentation, unclear purpose
  • plugins — generic plugin discovery listing
  • runners — runner management (only claude left)
  • usage — per-agent token breakdown across runners
  • self-update — CLI self-upgrade
  • home — trivial, prints install root
  • profile — user profile management

Migration/one-time tools

  • backfill-citations, backfill-archive — migration tools

Consider keeping as internal (not user-facing)

  • log, emit — keep as internal functions, remove CLI verbs
  • checkpoint, resume — keep module per Akash, remove CLI verbs if not needed by design/create

Implementation

  • Remove subcommand registrations from factory/cli/_main.py handler dispatch table
  • Remove parser definitions from factory/cli/_parser_groups.py
  • Remove cmd_* functions from factory/cli/ modules where they exist solely for removed commands
  • Keep all modules that Akash's PR Dead-code pruning report — comprehensive analysis of ~7,800 removable lines #1302 marks as "actively used" — only remove the CLI verb, not the underlying module

Related

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementImproves existing feature/functionality or code quality, does not change behavior of codebasestale

    Projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions