Skip to content

Delete dead runners (bob/codex/opencode) and runner infrastructure cleanup #1345

Description

@osilkin98

Context

Only the Claude runner is supported going forward. Three runner implementations have zero production call sites (confirmed by PR #1302).

What to delete

Implementation files (888 lines)

  • factory/runners/bob.py (316 lines)
  • factory/runners/codex.py (219 lines)
  • factory/runners/opencode.py (353 lines)
  • factory/runners/usage.py (179 lines) — all callers are dead runners

Dead test files (~2,600 lines)

  • tests/test_codex_runner.py (612 lines)
  • tests/test_opencode_runner.py (646 lines)
  • Bob/OpenCode test classes in tests/test_runners.py (~570 lines across 7 classes)
  • Codex test classes in tests/test_plugin_agents.py (~112 lines across 3 classes)
  • Bob tests in tests/test_session_resume.py (~20 lines)

Infrastructure cleanup (modify, don't delete)

  • factory/runners/__init__.py — remove imports, _RUNNERS dict entries, __all__ exports for dead runners
  • factory/cli/_parser_groups.py — remove codex from --runner choices
  • factory/user_config.py — remove bob/codex example profiles and env var mappings
  • factory/ceo_completion.py — remove BobRunner comment
  • tests/conftest.py — remove FACTORY_BOB_DRY_RUN=1 setup
  • factory/agents/plugin.py — remove codex TOML generation functions (~60 lines)
  • factory/cli/admin.py — remove codex import and --runner codex branch (~30 lines)
  • scripts/sync_agents.py — remove codex imports and sync logic (~40 lines)

Dead documentation

  • docs/codex-mcp.md (78 lines)
  • docs/runner-v2-spec.md (202 lines)

Dead environment variables

  • FACTORY_BOB_DRY_RUN, FACTORY_BOB_MAX_INVOCATIONS_PER_CYCLE, BOBSHELL_API_KEY
  • FACTORY_CODEX_DRY_RUN, CODEX_API_KEY
  • FACTORY_OPENCODE_DRY_RUN, FACTORY_OPENCODE_MAX_INVOCATIONS_PER_CYCLE

Verification

All verified to have zero production call sites outside the runner subsystem itself. See PR #1302 Section 2 for full evidence.

Related

Metadata

Metadata

Assignees

No one assigned

    Labels

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

    Projects

    Status
    Todo

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions