77 lines
3.5 KiB
Gherkin
77 lines
3.5 KiB
Gherkin
Feature: Plan Execution ACMS Integration
|
|
As a developer
|
|
I want the plan execution engine to use ACMS-assembled context for LLM calls
|
|
So that LLM calls receive properly assembled context instead of raw file dumps
|
|
|
|
Background:
|
|
Given I have a plan execution ACMS integration
|
|
|
|
Scenario: Prepare LLM context without policy configuration
|
|
Given I have no policy configuration
|
|
When I prepare LLM context with raw context data
|
|
Then the LLM context should be the same as the raw context
|
|
|
|
Scenario: Prepare LLM context with policy configuration
|
|
Given I have a policy configuration with 1 policy
|
|
When I prepare LLM context with raw context data
|
|
Then the LLM context should be assembled using ACMS policies
|
|
|
|
Scenario: Load policy configuration from file
|
|
Given I have a policy configuration file
|
|
When I load the policy configuration from the file
|
|
Then the integration should have the policy configuration loaded
|
|
|
|
Scenario: Load policy configuration from YAML string
|
|
Given I have a YAML policy configuration string
|
|
When I load the policy configuration from the YAML string
|
|
Then the integration should have the policy configuration loaded
|
|
|
|
Scenario: Load policy configuration from TOML string
|
|
Given I have a TOML policy configuration string
|
|
When I load the policy configuration from the TOML string
|
|
Then the integration should have the policy configuration loaded
|
|
|
|
Scenario: End-to-end: Plan execution with ACMS context
|
|
Given I have a plan execution ACMS integration
|
|
And I have a policy configuration with scope rules
|
|
And I have raw context data from file analysis
|
|
When I prepare LLM context for plan execution
|
|
Then the LLM context should include applied policies
|
|
And the LLM context should include assembled data
|
|
And the LLM context should have the correct view name
|
|
|
|
Scenario: ACMS context assembly respects priority weights
|
|
Given I have a policy configuration with multiple policies
|
|
And policy1 has priority_weight 1.0
|
|
And policy2 has priority_weight 2.0
|
|
When I prepare LLM context
|
|
Then policy2 should be applied before policy1 in the assembled context
|
|
|
|
Scenario: ACMS context assembly applies budget overrides
|
|
Given I have a policy configuration with 1 policy
|
|
And the policy has budget_override 500
|
|
When I prepare LLM context
|
|
Then the assembled context should have budget 500
|
|
|
|
Scenario: ACMS context assembly filters by scope
|
|
Given I have a policy configuration with scope rules
|
|
And the scope rule is file_type equals python
|
|
When I prepare LLM context with file_type "python"
|
|
Then the policy should be applied
|
|
When I prepare LLM context with file_type "javascript"
|
|
Then the policy should not be applied to the LLM context
|
|
|
|
Scenario: PlanExecutor accepts ACMS integration via dependency injection
|
|
Given I have a plan execution ACMS integration with a policy configuration
|
|
When I wire the ACMS integration into a PlanExecutor
|
|
Then the PlanExecutor should have the ACMS integration configured
|
|
|
|
Scenario: RuntimeExecuteActor uses ACMS integration for context assembly
|
|
Given I have a RuntimeExecuteActor with ACMS integration
|
|
When I execute decisions through the RuntimeExecuteActor
|
|
Then the ACMS integration should have been used for context assembly
|
|
|
|
Scenario: ACMS context assembler rejects missing policy configuration
|
|
When I create an ACMS context assembler without policy configuration
|
|
Then I should get an ACMS integration validation error "policy_config must not be None"
|