fix(acms): implement real retrieval logic in all 6 spec-required context strategies
CI / lint (pull_request) Successful in 32s
CI / quality (pull_request) Successful in 32s
CI / typecheck (pull_request) Successful in 46s
CI / build (pull_request) Successful in 31s
CI / helm (pull_request) Successful in 35s
CI / security (pull_request) Successful in 1m19s
CI / unit_tests (pull_request) Failing after 6m45s
CI / docker (pull_request) Has been skipped
CI / e2e_tests (pull_request) Successful in 15m36s
CI / coverage (pull_request) Successful in 10m43s
CI / integration_tests (pull_request) Failing after 23m29s
CI / status-check (pull_request) Failing after 3s
CI / benchmark-publish (pull_request) Has been skipped
CI / benchmark-regression (pull_request) Successful in 56m58s

This commit is contained in:
2026-04-05 20:56:32 +00:00
parent bd5238f705
commit af9db5ea28
6 changed files with 1101 additions and 17 deletions
+60 -2
View File
@@ -175,11 +175,11 @@ Feature: Context Strategy Registry
Then "plan-decision-context" can_handle should return 0.7
# ---------------------------------------------------------------------------
# Stub assemble (no-op)
# Strategy assemble — empty backends return empty fragment lists
# ---------------------------------------------------------------------------
@strategy_assemble
Scenario: Stub strategies return empty fragment lists
Scenario: Strategies return empty fragment lists when backends return no data
Given all built-in strategies are instantiated
And a BackendSet with all backends
And a default ContextRequest
@@ -187,6 +187,64 @@ Feature: Context Strategy Registry
When each strategy assembles with budget 1000
Then every strategy should return an empty fragment list
# ---------------------------------------------------------------------------
# Strategy assemble — populated backends return non-empty fragment lists
# ---------------------------------------------------------------------------
@strategy_assemble @real_retrieval
Scenario: SimpleKeywordStrategy returns fragments from text backend
Given all built-in strategies are instantiated
And a BackendSet with a populated text backend
And a ContextRequest with query "authentication"
And a default PlanContext
When the "simple-keyword" strategy assembles with budget 10000
Then the "simple-keyword" strategy should return at least 1 fragment
@strategy_assemble @real_retrieval
Scenario: SemanticEmbeddingStrategy returns fragments from vector backend
Given all built-in strategies are instantiated
And a BackendSet with a populated vector backend
And a ContextRequest with query "authentication"
And a default PlanContext
When the "semantic-embedding" strategy assembles with budget 10000
Then the "semantic-embedding" strategy should return at least 1 fragment
@strategy_assemble @real_retrieval
Scenario: BreadthDepthNavigatorStrategy returns fragments from graph backend
Given all built-in strategies are instantiated
And a BackendSet with a populated graph backend
And a ContextRequest with focus "uko:class/AuthManager"
And a default PlanContext
When the "breadth-depth-navigator" strategy assembles with budget 10000
Then the "breadth-depth-navigator" strategy should return at least 1 fragment
@strategy_assemble @real_retrieval
Scenario: ARCEStrategy returns fragments from all backends
Given all built-in strategies are instantiated
And a BackendSet with all populated backends
And a ContextRequest with query "authentication"
And a default PlanContext
When the "arce" strategy assembles with budget 10000
Then the "arce" strategy should return at least 1 fragment
@strategy_assemble @real_retrieval
Scenario: TemporalArchaeologyStrategy returns fragments from temporal backend
Given all built-in strategies are instantiated
And a BackendSet with populated graph and temporal backends
And a default ContextRequest
And a default PlanContext
When the "temporal-archaeology" strategy assembles with budget 10000
Then the "temporal-archaeology" strategy should return at least 1 fragment
@strategy_assemble @real_retrieval
Scenario: PlanDecisionContextStrategy returns fragments from temporal backend
Given all built-in strategies are instantiated
And a BackendSet with a populated temporal backend
And a default ContextRequest
And a default PlanContext
When the "plan-decision-context" strategy assembles with budget 10000
Then the "plan-decision-context" strategy should return at least 1 fragment
# ---------------------------------------------------------------------------
# ContextStrategyResult deterministic ordering
# ---------------------------------------------------------------------------