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

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

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