Skip to content

refactor: remove v1 multi-agent domain cluster (#599 PR1/3)#602

Merged
frankbria merged 2 commits into
mainfrom
refactor/issue-599-v1-domain-cluster
May 29, 2026
Merged

refactor: remove v1 multi-agent domain cluster (#599 PR1/3)#602
frankbria merged 2 commits into
mainfrom
refactor/issue-599-v1-domain-cluster

Conversation

@frankbria

@frankbria frankbria commented May 29, 2026

Copy link
Copy Markdown
Owner

Summary

PR 1 of 3 for #599 (remove remaining v1 infrastructure). This PR removes the legacy multi-agent domain cluster and the import "reachability threads" that kept it alive. Net: 174 files changed, ~+15 / −62k, almost entirely deletions of dead code.

Reachability threads cut (live files — surgery, not deletion):

  • codeframe/__init__.py & core/__init__.py — dropped Project/LeadAgent/WorkerAgent re-exports. The top-level package __init__ ran on every import, so these kept the entire dead cluster reachable.
  • cli/__init__.py — emptied to a docstring (the real entry point is cli/app.py per pyproject scripts; the old __init__ was a shadow v1 CLI dragging in v1 command modules).
  • agents/__init__.py — trimmed to dependency_resolver (kept; used by live cf scheduling).
  • ui/shared.py — removed SharedState/start_agent/running_agents/review_cache (kept the live ConnectionManager/SessionChatManager used by the v2 server + WS).
  • Deleted the shadowed dead module codeframe/cli.py (the cli/ package always wins on import).

Deleted: multi-agent classes (lead_agent, worker_agent, factory, agent_pool_manager, definition_loader, backend/frontend/hybrid/test/review workers, simple_assignment, tactical_patterns, definitions/); v1 cli/*_commands; core/{project,session_manager,port_utils}.py; deployment/ discovery/ indexing/ providers/ testing/; dead lib/* (checkpoint_manager, context_manager, lint_utils, quality_gate*, task_classifier, token_counter); config/{security,quality_gates_config}.py; planning/task_decomposer.py; ui/websocket_broadcasts.py; a dead migration script; 90 dead test files + 2 dead examples/ scripts.

Acceptance Criteria (PR1 subset of #599)

  • No legacy multi-agent classes remain under codeframe/agents/ (only dependency_resolver)
  • codeframe/core/project.py and the confirmed-dead top-level dirs (deployment/ discovery/ indexing/ providers/ testing/) removed
  • Plan engine decision documented: --engine plan is LIVE (engine_registry.resolve_engineBuiltinPlanAdaptercore.agent.Agent), so core/{agent,planner,executor}.py are KEPT
  • codeframe serve boots (TestClient lifespan /health → 200)
  • pytest --collect-only clean; uv run pytest -m v2 green
  • cf --help + golden-path (cf status) work; ruff + mypy clean

Deferred to later PRs (see Known Limitations): Database slim, enforcement/ + v1 repos removal (PR2); persistence/platform_store/ rename + CLAUDE.md (PR3).

Test Plan

  • pytest --collect-only clean (3863 collected, 0 errors)
  • uv run pytest -m v2 green (2824 passed, 0 failed)
  • App boots: TestClient /health → 200
  • cf --help + cf status work
  • ruff check codeframe/ clean; mypy codeframe/ clean (204 files)
  • Repo-wide check: zero tracked .py files reference any deleted module
  • Internal code review (advisory) completed
  • Cross-family review: codex (gpt-5.4) — found 3 incomplete-cleanup items (collect-ignored / scratch / example files still referencing deleted code); all fixed in this PR
  • Test mutation sanity (Phase 7d): N/A — this PR adds no new tests; it only deletes tests for deleted code

Known Limitations / Intentionally Deferred

  • Database slim + enforcement/ + 16 v1 persistence repos → PR2. enforcement/ is reachable only via task_repository, which is reachable only because database.py imports the whole repo package — so its removal is coupled to the Database slim and is intentionally out of scope here. These remain present and tested in this PR.
  • persistence/platform_store/ rename + CLAUDE.md repo-structure update → PR3.
  • Pre-existing collect_ignore entries for refactor: remove orphaned v1 web layer (routers + services) #597-era v1 web-layer tests (e.g. api/test_api_metrics.py, auth/test_dual_auth.py) are left untouched — not part of the multi-agent cluster.

Implementation Notes

  • Deviation from the literal issue plan (anticipated by the issue): the thread-cutting is broader than "Step 2" — the top-level codeframe/__init__.py was the dominant thread holder, not just cli/__init__.py/agents/__init__.py.
  • The plan engine was confirmed live and kept, satisfying the "document the --engine plan decision" criterion.

Part of #599 (does not close it — PR2/PR3 follow).

Summary by CodeRabbit

  • Deprecations
    • Removed legacy CLI commands and agent-based automation features (LeadAgent, WorkerAgent, agent pool management).
    • Removed project initialization and lifecycle management (Project class, start/pause/resume operations).
    • Removed automated discovery, code review, and indexing systems.
    • Removed checkpoint and context management utilities.
    • Removed quality gates and task classification features.

Review Change Stack

Test User added 2 commits May 29, 2026 09:31
Cut the reachability threads that kept the legacy multi-agent stack alive, then
delete it. The plan engine (--engine plan -> core/agent.py via BuiltinPlanAdapter)
is verified LIVE and kept.

Threads cut (live files, surgery not deletion):
- codeframe/__init__.py, core/__init__.py: drop Project/LeadAgent/WorkerAgent
  (the top-level package __init__ ran on every import, keeping the cluster alive)
- cli/__init__.py: emptied (real entry point is cli/app.py per pyproject scripts)
- agents/__init__.py: trimmed to dependency_resolver (kept; used by cf scheduling)
- ui/shared.py: removed SharedState/start_agent/running_agents/review_cache
  (kept ConnectionManager + SessionChatManager, used by live v2 server/WS)
- deleted shadowed dead module codeframe/cli.py (the cli/ package always wins)

Deleted: multi-agent classes (lead/worker/factory/pool/definitions/...), v1 cli
*_commands, core/{project,session_manager,port_utils}, deployment/ discovery/
indexing/ providers/ testing/, dead lib/* (checkpoint_manager,context_manager,
lint_utils,quality_gate*,task_classifier,token_counter), config/{security,
quality_gates_config}, planning/task_decomposer, ui/websocket_broadcasts,
a dead migration script, and 86 dead test files.

Deferred (coupled): enforcement/ + the v1 persistence repos + Database slim -> PR2;
persistence/ -> platform_store/ rename + CLAUDE.md -> PR3.

Verified: pytest --collect-only clean (3866 collected, 0 errors);
pytest -m v2 green (2824 passed); TestClient /health -> 200;
cf --help + cf status work; ruff + mypy clean.
Address codex cross-family review: the initial cleanup left checked-in
consumers of now-deleted modules behind (collect-ignored or skip-marked, so
they did not break CI but referenced deleted code). Remove them and the
matching collect_ignore entries so the tree is genuinely v2-only:

- tests/test_review_api.py (imported ui.shared.review_cache)
- tests/api/test_discovery_endpoints.py, test_api_discovery_progress.py
  (imported agents.lead_agent.LeadAgent)
- tests/cli/test_cli_session.py (skip-marked; tested v1 clear-session/start +
  core.session_manager, none of which exist in the v2 CLI)
- tests/context/test_context_stats.py (used deleted lib.context_manager/token_counter)
- examples/agent_factory_usage.py, examples/agent_definition_usage.py
  (imported AgentFactory / definition_loader / WorkerAgent)
- test_mock_check.py, test_standalone.py (root scratch scripts using deleted agents)

Verified: git ls-files '*.py' shows zero references to any PR1-deleted module;
pytest --collect-only clean (3863).
@coderabbitai

coderabbitai Bot commented May 29, 2026

Copy link
Copy Markdown
Contributor

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: 1584a680-5562-40eb-a53c-14e0841bd37c

📥 Commits

Reviewing files that changed from the base of the PR and between 12009da and f40b629.

📒 Files selected for processing (175)
  • codeframe/__init__.py
  • codeframe/agents/QUICKSTART.md
  • codeframe/agents/__init__.py
  • codeframe/agents/agent_pool_manager.py
  • codeframe/agents/backend_worker_agent.py
  • codeframe/agents/definition_loader.py
  • codeframe/agents/definitions/.gitkeep
  • codeframe/agents/definitions/README.md
  • codeframe/agents/definitions/backend-architect.yaml
  • codeframe/agents/definitions/backend-worker.yaml
  • codeframe/agents/definitions/backend.yaml
  • codeframe/agents/definitions/code-reviewer.yaml
  • codeframe/agents/definitions/custom/.gitkeep
  • codeframe/agents/definitions/frontend-specialist.yaml
  • codeframe/agents/definitions/frontend.yaml
  • codeframe/agents/definitions/test-engineer.yaml
  • codeframe/agents/definitions/test.yaml
  • codeframe/agents/factory.py
  • codeframe/agents/frontend_worker_agent.py
  • codeframe/agents/hybrid_worker.py
  • codeframe/agents/lead_agent.py
  • codeframe/agents/review_agent.py
  • codeframe/agents/review_worker_agent.py
  • codeframe/agents/simple_assignment.py
  • codeframe/agents/tactical_patterns.py
  • codeframe/agents/test_worker_agent.py
  • codeframe/agents/worker_agent.py
  • codeframe/cli.py
  • codeframe/cli/__init__.py
  • codeframe/cli/agents_commands.py
  • codeframe/cli/blocker_commands.py
  • codeframe/cli/checkpoint_commands.py
  • codeframe/cli/context_commands.py
  • codeframe/cli/discovery_commands.py
  • codeframe/cli/metrics_commands.py
  • codeframe/cli/project_commands.py
  • codeframe/cli/quality_gates_commands.py
  • codeframe/cli/review_commands.py
  • codeframe/cli/session_commands.py
  • codeframe/cli/tasks_commands.py
  • codeframe/config/quality_gates_config.py
  • codeframe/config/security.py
  • codeframe/core/__init__.py
  • codeframe/core/port_utils.py
  • codeframe/core/project.py
  • codeframe/core/session_manager.py
  • codeframe/deployment/__init__.py
  • codeframe/deployment/deployer.py
  • codeframe/discovery/__init__.py
  • codeframe/discovery/answers.py
  • codeframe/discovery/questions.py
  • codeframe/indexing/__init__.py
  • codeframe/indexing/codebase_index.py
  • codeframe/indexing/models.py
  • codeframe/indexing/parsers/__init__.py
  • codeframe/indexing/parsers/python_parser.py
  • codeframe/indexing/parsers/typescript_parser.py
  • codeframe/lib/checkpoint_manager.py
  • codeframe/lib/context_manager.py
  • codeframe/lib/lint_utils.py
  • codeframe/lib/quality_gate_rules.py
  • codeframe/lib/quality_gates.py
  • codeframe/lib/task_classifier.py
  • codeframe/lib/token_counter.py
  • codeframe/persistence/migrations/migrate_to_accounts_table.py
  • codeframe/planning/task_decomposer.py
  • codeframe/providers/__init__.py
  • codeframe/providers/anthropic.py
  • codeframe/providers/sdk_client.py
  • codeframe/testing/FRONTEND_INTEGRATION.md
  • codeframe/testing/IMPLEMENTATION_SUMMARY.md
  • codeframe/testing/INTEGRATION.md
  • codeframe/testing/__init__.py
  • codeframe/testing/lint_runner.py
  • codeframe/testing/models.py
  • codeframe/testing/test_runner.py
  • codeframe/ui/shared.py
  • codeframe/ui/websocket_broadcasts.py
  • examples/agent_definition_usage.py
  • examples/agent_factory_usage.py
  • test_mock_check.py
  • test_standalone.py
  • tests/agents/test_agent_factory.py
  • tests/agents/test_agent_pool_manager.py
  • tests/agents/test_backend_worker_agent.py
  • tests/agents/test_backend_worker_auto_commit.py
  • tests/agents/test_backend_worker_intervention.py
  • tests/agents/test_bottleneck_detection.py
  • tests/agents/test_frontend_worker_agent.py
  • tests/agents/test_frontend_worker_auto_commit.py
  • tests/agents/test_hybrid_worker.py
  • tests/agents/test_lead_agent.py
  • tests/agents/test_lead_agent_blocker_handling.py
  • tests/agents/test_lead_agent_debug.py
  • tests/agents/test_lead_agent_git_integration.py
  • tests/agents/test_lead_agent_session.py
  • tests/agents/test_lead_agent_socratic_discovery.py
  • tests/agents/test_multi_agent_integration.py
  • tests/agents/test_review_agent.py
  • tests/agents/test_review_worker_agent.py
  • tests/agents/test_tactical_patterns.py
  • tests/agents/test_test_worker_agent.py
  • tests/agents/test_test_worker_auto_commit.py
  • tests/agents/test_worker_agent.py
  • tests/agents/test_worker_agent_provider.py
  • tests/agents/test_worker_task_dict_interface.py
  • tests/api/test_api_discovery_progress.py
  • tests/api/test_discovery_endpoints.py
  • tests/blockers/test_blocker_answer_injection.py
  • tests/blockers/test_blocker_type_validation.py
  • tests/blockers/test_wait_for_blocker_resolution.py
  • tests/cli/test_agents_commands.py
  • tests/cli/test_blocker_commands.py
  • tests/cli/test_checkpoint_commands.py
  • tests/cli/test_cli_session.py
  • tests/cli/test_context_commands.py
  • tests/cli/test_discovery_commands.py
  • tests/cli/test_metrics_commands.py
  • tests/cli/test_project_commands.py
  • tests/cli/test_quality_gates_commands.py
  • tests/cli/test_review_commands.py
  • tests/cli/test_session_commands.py
  • tests/cli/test_tasks_commands.py
  • tests/config/test_quality_gates_config.py
  • tests/conftest.py
  • tests/context/test_context_manager.py
  • tests/context/test_context_stats.py
  • tests/context/test_flash_save.py
  • tests/context/test_token_counting.py
  • tests/core/test_port_utils.py
  • tests/core/test_project_pause.py
  • tests/core/test_project_start.py
  • tests/debug/test_async_debug.py
  • tests/debug/test_simple_assignment.py
  • tests/deployment/test_deployer.py
  • tests/discovery/test_discovery_answers.py
  • tests/discovery/test_discovery_integration.py
  • tests/discovery/test_discovery_questions.py
  • tests/indexing/test_codebase_index.py
  • tests/indexing/test_definition_loader.py
  • tests/indexing/test_indexing_models.py
  • tests/integration/test_agent_maturity.py
  • tests/integration/test_auto_commit_workflow.py
  • tests/integration/test_backend_worker_agent_integration.py
  • tests/integration/test_checkpoint_restore.py
  • tests/integration/test_evidence_integration.py
  • tests/integration/test_flash_save_workflow.py
  • tests/integration/test_lint_workflow.py
  • tests/integration/test_multi_agent_execution.py
  • tests/integration/test_quality_gates_integration.py
  • tests/integration/test_quality_tracker_integration.py
  • tests/integration/test_review_workflow.py
  • tests/integration/test_score_recalculation.py
  • tests/integration/test_session_lifecycle.py
  • tests/integration/test_worker_agent_execution.py
  • tests/integration/test_worker_agent_integration.py
  • tests/integration/test_worker_context_storage.py
  • tests/lib/test_checkpoint_manager.py
  • tests/lib/test_quality_gate_rules.py
  • tests/lib/test_quality_gates.py
  • tests/lib/test_task_classifier.py
  • tests/lib/test_token_counter.py
  • tests/parsers/test_python_parser.py
  • tests/parsers/test_typescript_parser.py
  • tests/planning/test_prd_generation.py
  • tests/planning/test_task_decomposer.py
  • tests/planning/test_task_decomposer_effort.py
  • tests/providers/test_anthropic_provider.py
  • tests/test_review_api.py
  • tests/testing/test_correction_attempt.py
  • tests/testing/test_lint_runner.py
  • tests/testing/test_self_correction_integration.py
  • tests/testing/test_test_runner.py
  • tests/ui/conftest.py
  • tests/ui/test_websocket_broadcasts.py
💤 Files with no reviewable changes (61)
  • codeframe/agents/QUICKSTART.md
  • codeframe/agents/definitions/code-reviewer.yaml
  • codeframe/agents/definitions/test.yaml
  • codeframe/agents/definitions/backend.yaml
  • codeframe/agents/definitions/README.md
  • codeframe/agents/definitions/.gitkeep
  • codeframe/agents/definitions/frontend.yaml
  • codeframe/cli/metrics_commands.py
  • codeframe/agents/definitions/frontend-specialist.yaml
  • codeframe/lib/quality_gates.py
  • codeframe/agents/definitions/test-engineer.yaml
  • codeframe/discovery/answers.py
  • codeframe/agents/definitions/backend-architect.yaml
  • codeframe/agents/definitions/backend-worker.yaml
  • codeframe/indexing/models.py
  • codeframe/lib/token_counter.py
  • codeframe/deployment/init.py
  • codeframe/cli/tasks_commands.py
  • codeframe/persistence/migrations/migrate_to_accounts_table.py
  • codeframe/lib/task_classifier.py
  • codeframe/agents/factory.py
  • codeframe/deployment/deployer.py
  • codeframe/cli/blocker_commands.py
  • codeframe/cli/review_commands.py
  • codeframe/discovery/questions.py
  • codeframe/config/quality_gates_config.py
  • codeframe/agents/agent_pool_manager.py
  • codeframe/indexing/codebase_index.py
  • codeframe/cli/discovery_commands.py
  • codeframe/cli/session_commands.py
  • codeframe/agents/simple_assignment.py
  • codeframe/agents/hybrid_worker.py
  • codeframe/agents/worker_agent.py
  • codeframe/discovery/init.py
  • codeframe/config/security.py
  • codeframe/agents/frontend_worker_agent.py
  • codeframe/core/init.py
  • codeframe/cli/checkpoint_commands.py
  • codeframe/agents/review_worker_agent.py
  • codeframe/cli/project_commands.py
  • codeframe/core/session_manager.py
  • codeframe/indexing/parsers/init.py
  • codeframe/lib/checkpoint_manager.py
  • codeframe/cli/quality_gates_commands.py
  • codeframe/lib/lint_utils.py
  • codeframe/indexing/parsers/typescript_parser.py
  • codeframe/indexing/init.py
  • codeframe/indexing/parsers/python_parser.py
  • codeframe/cli.py
  • codeframe/agents/definition_loader.py
  • codeframe/agents/definitions/custom/.gitkeep
  • codeframe/agents/test_worker_agent.py
  • codeframe/lib/quality_gate_rules.py
  • codeframe/agents/tactical_patterns.py
  • codeframe/core/project.py
  • codeframe/agents/backend_worker_agent.py
  • codeframe/agents/review_agent.py
  • codeframe/lib/context_manager.py
  • codeframe/cli/agents_commands.py
  • codeframe/core/port_utils.py
  • codeframe/cli/context_commands.py

Walkthrough

This pull request performs a comprehensive removal of v1 codeframe legacy infrastructure, including all agent orchestration systems, CLI commands, project lifecycle management, discovery workflows, indexing, and supporting utilities. Package-level exports are updated to reflect the new minimal scope, retaining only version and author metadata at the root level.

Changes

v1 Legacy Code Removal

Layer / File(s) Summary
Package export cleanup
codeframe/__init__.py, codeframe/agents/__init__.py, codeframe/core/__init__.py, codeframe/cli/__init__.py
Root and subpackage __init__.py files updated to remove v1 exports (Project, LeadAgent, WorkerAgent, AgentDefinition, etc.) and update documentation; codeframe/__init__.py now exports only __version__ and __author__.
v1 Agent system deletion
codeframe/agents/*, codeframe/agents/definitions/*, codeframe/agents/factory.py, codeframe/agents/agent_pool_manager.py
Removal of all worker agents (BackendWorkerAgent, FrontendWorkerAgent, TestWorkerAgent, ReviewWorkerAgent), review agent, agent pool management, definition loader, and YAML-based agent definition files.
v1 CLI removal
codeframe/cli.py, codeframe/cli/*_commands.py
Deletion of main CLI app and all command modules (project, task, agent, blocker, checkpoint, context, discovery, metrics, review, quality-gates, session commands).
v1 Project and lifecycle removal
codeframe/core/project.py, codeframe/core/session_manager.py
Removal of Project class with lifecycle operations (create, start, pause, resume) and SessionManager for session state persistence.
v1 Supporting systems removal
codeframe/lib/*, codeframe/config/*, codeframe/discovery/*, codeframe/indexing/*, codeframe/deployment/*, codeframe/persistence/migrations/*, codeframe/core/port_utils.py
Deletion of quality gates, context management, checkpoints, discovery framework, codebase indexing/parsing, deployment automation, configuration systems, and port utilities.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

Possibly related issues

  • frankbria/codeframe#599: Directly related—both changes remove the same v1 domain cluster and associated modules including agent infrastructure, project lifecycle, and persistence migrations.

Possibly related PRs

  • frankbria/codeframe#160: This PR deletes codeframe/persistence/migrations/migrate_to_accounts_table.py, the migration script that #160 introduced for BetterAuth integration.
  • frankbria/codeframe#190: This PR removes the CLI entrypoint and all CLI command modules that #190 added (e.g., codeframe/cli.py and various codeframe/cli/*_commands.py groups).
  • frankbria/codeframe#599: Related v1 cleanup PR that removes overlapping v1 legacy components.

Poem

🐰 The v1 dreams fade into dust,
Agent orchestras fall silent, their work done.
CLI commands bid farewell to the shell,
Projects and sessions dissolve like morning dew—
A fresh start beckons, v2 awaits.
Thump thump! 🌱

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The PR title clearly describes the main refactoring objective: removing the v1 multi-agent domain cluster, which directly matches the extensive deletions documented in the file summaries.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch refactor/issue-599-v1-domain-cluster

Comment @coderabbitai help to get the list of available commands and usage tips.

@claude

claude Bot commented May 29, 2026

Copy link
Copy Markdown

Code Review — PR 1/3: Remove v1 Multi-Agent Domain Cluster

This is a large, well-scoped cleanup PR. The overall approach is sound — cutting "reachability threads" in 5 surgical file edits before deleting the bulk of dead code is the right strategy for this kind of cleanup.


Modified Files

codeframe/__init__.py
Clean. Drops the v1 re-exports; retains only version metadata. The package __all__ is now tightly scoped.

codeframe/cli/__init__.py
Correctly emptied to a docstring that explains why (real entry point is cli/app.py via pyproject.toml). This ends the side-effect import chain.

codeframe/core/__init__.py
The 2-line removal is correct. Remaining exports (Config, Task, TaskStatus, etc.) are all live.

codeframe/agents/__init__.py
Emptied to a docstring-only module. The docstring correctly documents what was removed and how to reach the one remaining module (dependency_resolver). The choice not to re-export from __init__ is intentional and avoids the same drag-in problem that prompted this PR.

codeframe/ui/shared.py ✅ (with minor notes)
The retained classes — ConnectionManager, SessionChatManager, WebSocketSubscriptionManager — are the live v2 WS layer. The code is well-structured with proper asyncio locking.

One pre-existing minor concern (not introduced by this PR): in broadcast(), asyncio.gather(*tasks, return_exceptions=True) is used, but _send_to_connection already catches all exceptions internally and never raises. If a task were ever externally cancelled, the resulting CancelledError exception object would pass the if result is not None check and be passed to await self.disconnect(result), causing a TypeError. Low risk; worth noting for a future cleanup pass.


Tests

90 deleted test files all corresponded to deleted source modules — correct. The remaining tests/agents/ directory correctly retains only test_dependency_resolver_critical_path.py.


Minor Items

tests/conftest.py — stale fixture (low priority):
The sample_project_config fixture references lead_agent/backend_agent/frontend_agent provider keys that mirror v1 multi-agent patterns. If no remaining v2 test uses this fixture, it can be removed in PR3.

collect_ignore stale entries: Acknowledged as intentionally pre-existing. Fine to leave — pytest silently skips missing paths.


Summary

Approved with minor notes. This PR does exactly what it says: cuts the import reachability threads cleanly, then deletes the dead cluster. The deferral of coupled changes (Database slim, enforcement/, persistence/ rename) to PR2/PR3 is correct and well-documented. The follow-up items are low-priority cleanup tasks appropriate for the later PRs in this series.

@frankbria

Copy link
Copy Markdown
Owner Author

Final Triage Summary (PR #602)

Cutoff: 2026-05-29T16:56:17Z (last push). CI: all checks green.

Review passes

  • codex (gpt-5.4, cross-family — primary): 3 findings, all FIXED in commit f40b629 (dead collect-ignored v1 tests + broken example scripts + root scratch scripts still referencing deleted modules).
  • CodeRabbit (cross-family bot): "No actionable comments were generated 🎉" — 0 findings.
  • claude-review (same-family bot, advisory): Approved with minor notes.

New findings since cutoff: 2 (both advisory/low-priority)

Skipped (with justification)

  • [claude-bot] ui/shared.py broadcast() could mishandle an externally-injected CancelledError from asyncio.gather(return_exceptions=True)skipped: pre-existing code NOT modified by this PR (the edit only removed SharedState/start_agent; broadcast()/_send_to_connection are untouched). Out of scope for a deletion PR; low risk.
  • [claude-bot] tests/conftest.py sample_project_config fixture has stale v1 provider-key strings — skipped: deferred to a later PR per the bot's own suggestion; it is test data that references no deleted module (verified: zero deleted-module imports in conftest).

Outcome

No unresolved Critical/Major findings. Demo: all 10 acceptance criteria mapped to outcome evidence. Ready to merge.

@frankbria frankbria merged commit b336ce2 into main May 29, 2026
11 checks passed
@frankbria frankbria deleted the refactor/issue-599-v1-domain-cluster branch May 29, 2026 17:05
frankbria added a commit that referenced this pull request May 29, 2026
## Summary
Final PR (3 of 3) for #599. Renames the slim control-plane store to its real
role, refreshes CLAUDE.md, and removes the last v1 stragglers.

- git mv codeframe/persistence -> codeframe/platform_store; updated all 31
  imports across codeframe/, tests/, scripts/, plus CI yaml + active docs
  (CONTRIBUTING.md, PRD.md, TESTING.md) and the embedded Python in
  tests/e2e/global-setup.ts (caught by codex).
- CLAUDE.md: dropped stale codeframe/server/ references (Legacy rule + repo-
  structure tree line); refreshed tests/agents/ note now that only
  dependency_resolver remains.
- Stragglers: removed orphan sample_project_config fixture, deleted the 5
  remaining #597-era v1 tests, un-ignored and fixed tests/api/test_health_endpoint.py
  (live /health coverage restored), emptied root collect_ignore.
- Pre-existing PR2 leftovers caught by CodeRabbit: deleted
  tests/blockers/test_blocker_expiration_simple.py and
  tests/lib/test_metrics_tracker.py (both referenced removed Database methods
  / dropped tables; both deselected by -m v2, so prior CI green was misleading).

## Validation
- Tests: pytest -m v2 green (2824 passed); Backend + Frontend CI green
- Lint/Type: ruff + mypy clean (181 files); CI Code Quality green
- Collect: pytest --collect-only clean (3424); zero active references to
  codeframe.persistence remain
- Boot: TestClient /health -> 200
- Cross-family review: codex (1 P2 fixed) + CodeRabbit (2 inline Major fixed)
- claude-bot advisory: 4 minor (3 fixed, 1 partly rebutted -- the
  flagged "dead" Database guard in tests/ui/conftest.py is actually used by
  the running_server fixture; simplified to a direct import)
- Demo: all 12 PR3 + 9 cumulative #599 acceptance criteria verified

## Cumulative -- #599 fully complete across PRs #602 + #603 + #604
- [x] No legacy multi-agent classes remain (PR1)
- [x] core/project.py + dead dirs removed (PR1)
- [x] Database exposes only control-plane methods (PR2)
- [x] persistence -> platform_store rename + CLAUDE.md (PR3)
- [x] codeframe serve boots (every PR)
- [x] pytest --collect-only clean; pytest -m v2 green (every PR)
- [x] cf --help + golden path; ruff + mypy clean (every PR)
- [x] Plan engine kept (verified live via engine_registry -> BuiltinPlanAdapter)

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant