Files
cleveragents-core/features/plan_execution_hierarchical.feature
T
CoreRasurae 8548644819
CI / push-validation (pull_request) Successful in 1m1s
CI / helm (pull_request) Successful in 1m12s
CI / lint (pull_request) Successful in 2m22s
CI / build (pull_request) Successful in 2m17s
CI / typecheck (pull_request) Successful in 3m2s
CI / security (pull_request) Successful in 3m1s
CI / quality (pull_request) Successful in 57s
CI / integration_tests (pull_request) Successful in 5m0s
CI / unit_tests (pull_request) Successful in 6m8s
CI / docker (pull_request) Successful in 1m30s
CI / coverage (pull_request) Successful in 11m51s
CI / status-check (pull_request) Successful in 6s
CI / push-validation (push) Successful in 31s
CI / helm (push) Successful in 37s
CI / build (push) Successful in 1m7s
CI / lint (push) Successful in 1m28s
CI / quality (push) Successful in 1m30s
CI / typecheck (push) Successful in 1m44s
CI / security (push) Successful in 1m49s
CI / benchmark-regression (push) Failing after 40s
CI / e2e_tests (push) Successful in 54s
CI / integration_tests (push) Successful in 3m33s
CI / unit_tests (push) Successful in 5m21s
CI / docker (push) Successful in 1m29s
CI / coverage (push) Successful in 11m6s
CI / status-check (push) Successful in 3s
CI / benchmark-publish (push) Successful in 1h39m32s
fix(cli): wire SubplanExecutionService in _get_plan_executor() to enable child plan execution
Wire subplan_service from the DI container into _get_plan_executor() so
PlanExecutor can spawn child plans during the Execute phase.  When
SubplanService is available but SubplanExecutionService is not explicitly
injected, _execute_subplans() now lazily creates a SubplanExecutionService
on-the-fly using the parent plan's subplan_config and the new
_execute_child_plan callback.

- _get_plan_executor(): retrieve subplan_service from container, pass to
  PlanExecutor constructor
- _execute_subplans(): lazily build SubplanExecutionService when only
  SubplanService is wired (Forgejo #10268)
- _execute_child_plan(): new PlanExecutor method that runs a child plan's
  strategize + execute phases, registered as executor_fn callback

ISSUES CLOSED: #10268
2026-05-19 19:28:35 +01:00

29 lines
1.6 KiB
Gherkin

@mock_only @subplan @plan_executor @tdd_issue @tdd_issue_10268
Feature: PlanExecutor hierarchical execution wiring
As a system executing hierarchical plans via the production CLI
I want SubplanExecutionService to be available when SubplanService is wired
So that child plan execution works without a pre-configured execution service
# ------------------------------------------------------------------
# SubplanExecutionService lazy creation (Forgejo #10268)
# ------------------------------------------------------------------
Scenario: PlanExecutor lazily creates SubplanExecutionService when SubplanService is present
Given a PlanExecutor with SubplanService but no SubplanExecutionService
And a parent plan in Execute phase with a subplan_spawn decision
When I call run_execute on the parent plan
Then SubplanService.get_spawn_decisions should have been called
And SubplanService.spawn should have been called with the spawn entries
And SubplanExecutionService.execute_all should have been called via lazy creation
# ------------------------------------------------------------------
# _execute_child_plan callback (Forgejo #10268)
# ------------------------------------------------------------------
Scenario: _execute_child_plan callback invokes strategize for a child plan
Given a PlanExecutor with SubplanService but no SubplanExecutionService
And a parent plan in Execute phase with a subplan_spawn decision
And a child plan ready for execution in the lifecycle service
When I call run_execute on the parent plan
Then SubplanExecutionService.execute_all should have been called via lazy creation