feat(plan): add multi-project subplan support #535

Merged
freemo merged 1 commit from feature/m5-multi-project into master 2026-03-03 20:10:04 +00:00
Owner

Summary

Add domain models, application service, CLI integration, and full test coverage for multi-project subplan orchestration.

New components

  • MultiProjectMetadata, ProjectScope, ProjectDependency domain models (src/cleveragents/domain/models/core/multi_project.py)
  • MultiProjectService for creating/managing multi-project plans (src/cleveragents/application/services/multi_project_service.py)
  • CLI display of multi-project metadata in plan commands (src/cleveragents/cli/commands/plan.py)
  • Container registration and module exports

Tests & quality

  • 20 Behave BDD scenarios (features/multi_project_subplan.feature)
  • Robot Framework integration tests (robot/multi_project_subplan.robot)
  • ASV benchmarks: MultiProjectSmallSuite, MultiProjectMediumSuite, MultiProjectLargeSuite (benchmarks/multi_project_bench.py)
  • Reference documentation (docs/reference/multi_project_plans.md)
  • All nox quality gates pass: lint, typecheck (0 errors), unit_tests (7940 scenarios), integration_tests (1097/1097), security_scan, dead_code, coverage (97%)

Pre-existing test fixes

  • features/cli_core.feature, robot/cli_core.robot: Relaxed server_mode assertions to avoid environment leakage from ~/.cleveragents/config.toml
  • robot/helper_server_stubs.py: Use clean temp HOME directory in server_mode()
  • robot/cli_plan_context_commands.robot: Fix TEST_DIR path containing spaces
  • robot/core_cli_commands.robot: Add unique dir names for parallel-safe execution

ISSUES CLOSED: #199

## Summary Add domain models, application service, CLI integration, and full test coverage for multi-project subplan orchestration. ### New components - **`MultiProjectMetadata`**, **`ProjectScope`**, **`ProjectDependency`** domain models (`src/cleveragents/domain/models/core/multi_project.py`) - **`MultiProjectService`** for creating/managing multi-project plans (`src/cleveragents/application/services/multi_project_service.py`) - CLI display of multi-project metadata in plan commands (`src/cleveragents/cli/commands/plan.py`) - Container registration and module exports ### Tests & quality - 20 Behave BDD scenarios (`features/multi_project_subplan.feature`) - Robot Framework integration tests (`robot/multi_project_subplan.robot`) - ASV benchmarks: `MultiProjectSmallSuite`, `MultiProjectMediumSuite`, `MultiProjectLargeSuite` (`benchmarks/multi_project_bench.py`) - Reference documentation (`docs/reference/multi_project_plans.md`) - All nox quality gates pass: lint, typecheck (0 errors), unit_tests (7940 scenarios), integration_tests (1097/1097), security_scan, dead_code, coverage (97%) ### Pre-existing test fixes - `features/cli_core.feature`, `robot/cli_core.robot`: Relaxed `server_mode` assertions to avoid environment leakage from `~/.cleveragents/config.toml` - `robot/helper_server_stubs.py`: Use clean temp HOME directory in `server_mode()` - `robot/cli_plan_context_commands.robot`: Fix `TEST_DIR` path containing spaces - `robot/core_cli_commands.robot`: Add unique dir names for parallel-safe execution ISSUES CLOSED: #199
freemo force-pushed feature/m5-multi-project from 9ca17cb056
Some checks failed
CI / benchmark-publish (pull_request) Has been skipped
CI / lint (pull_request) Successful in 19s
CI / quality (pull_request) Successful in 23s
CI / build (pull_request) Successful in 23s
CI / typecheck (pull_request) Successful in 37s
CI / security (pull_request) Successful in 49s
CI / unit_tests (pull_request) Failing after 2m20s
CI / docker (pull_request) Has been skipped
CI / integration_tests (pull_request) Successful in 3m8s
CI / coverage (pull_request) Successful in 4m13s
CI / benchmark-regression (pull_request) Has been cancelled
to 738c3b5eda
All checks were successful
CI / lint (pull_request) Successful in 15s
CI / benchmark-publish (pull_request) Has been skipped
CI / quality (pull_request) Successful in 32s
CI / security (pull_request) Successful in 33s
CI / typecheck (pull_request) Successful in 35s
CI / build (pull_request) Successful in 14s
CI / unit_tests (pull_request) Successful in 2m30s
CI / docker (pull_request) Successful in 39s
CI / integration_tests (pull_request) Successful in 3m0s
CI / coverage (pull_request) Successful in 4m47s
CI / lint (push) Successful in 13s
CI / build (push) Successful in 17s
CI / quality (push) Successful in 17s
CI / security (push) Successful in 32s
CI / typecheck (push) Successful in 34s
CI / benchmark-regression (push) Has been skipped
CI / unit_tests (push) Successful in 2m11s
CI / docker (push) Successful in 40s
CI / integration_tests (push) Successful in 2m55s
CI / coverage (push) Successful in 4m47s
CI / benchmark-regression (pull_request) Successful in 25m3s
CI / benchmark-publish (push) Successful in 14m7s
2026-03-03 19:56:20 +00:00
Compare
freemo merged commit 738c3b5eda into master 2026-03-03 20:10:04 +00:00
freemo deleted branch feature/m5-multi-project 2026-03-03 20:10:05 +00:00
Sign in to join this conversation.
No reviewers
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
cleveragents/cleveragents-core!535
No description provided.