feat(acms): add strategy coordinator and fusion engine #671

Merged
freemo merged 1 commit from feature/m6-acms-fusion-engine into master 2026-03-10 15:15:32 +00:00
Owner

Summary

  • Add StrategyCoordinator facade over Phase 1 pipeline components (ConfidenceWeightedSelector, ProportionalBudgetAllocator, ParallelStrategyExecutor) with per-strategy max cap enforcement and circuit-breaker error handling
  • Add FusionEngine facade over Phase 2 pipeline components (ContentHashDeduplicator, MaxDepthResolver, WeightedCompositeScorer, GreedyKnapsackPacker) with budget overage guard
  • Add BDD tests (15 scenarios, all passing), Robot integration tests (9 tests, all passing), ASV benchmarks, and reference documentation

Key Changes

  • StrategyCoordinator.coordinate() — single API for strategy selection, proportional budget allocation, and parallel execution
  • FusionEngine.fuse() — single API for dedup by UKO URI + content hash, max-depth conflict resolution, weighted composite scoring, greedy knapsack packing with deterministic tie-breakers
  • Budget overage guard drops lowest-relevance fragments when total exceeds budget
  • Per-strategy max caps clamp allocations and redistribute excess
  • Coverage: 98.5% (threshold: 97%)

Files

File Purpose
src/.../strategy_coordinator.py StrategyCoordinator facade
src/.../fusion_engine.py FusionEngine facade
features/acms_fusion.feature BDD scenarios
features/steps/acms_fusion_steps.py Step definitions
robot/acms_fusion.robot Robot integration tests
robot/helper_acms_fusion.py Robot helper
benchmarks/acms_fusion_bench.py ASV benchmarks
docs/reference/acms_fusion.md Reference documentation

ISSUES CLOSED: #192

## Summary - Add **StrategyCoordinator** facade over Phase 1 pipeline components (ConfidenceWeightedSelector, ProportionalBudgetAllocator, ParallelStrategyExecutor) with per-strategy max cap enforcement and circuit-breaker error handling - Add **FusionEngine** facade over Phase 2 pipeline components (ContentHashDeduplicator, MaxDepthResolver, WeightedCompositeScorer, GreedyKnapsackPacker) with budget overage guard - Add BDD tests (15 scenarios, all passing), Robot integration tests (9 tests, all passing), ASV benchmarks, and reference documentation ## Key Changes - `StrategyCoordinator.coordinate()` — single API for strategy selection, proportional budget allocation, and parallel execution - `FusionEngine.fuse()` — single API for dedup by UKO URI + content hash, max-depth conflict resolution, weighted composite scoring, greedy knapsack packing with deterministic tie-breakers - Budget overage guard drops lowest-relevance fragments when total exceeds budget - Per-strategy max caps clamp allocations and redistribute excess - Coverage: 98.5% (threshold: 97%) ## Files | File | Purpose | |---|---| | `src/.../strategy_coordinator.py` | StrategyCoordinator facade | | `src/.../fusion_engine.py` | FusionEngine facade | | `features/acms_fusion.feature` | BDD scenarios | | `features/steps/acms_fusion_steps.py` | Step definitions | | `robot/acms_fusion.robot` | Robot integration tests | | `robot/helper_acms_fusion.py` | Robot helper | | `benchmarks/acms_fusion_bench.py` | ASV benchmarks | | `docs/reference/acms_fusion.md` | Reference documentation | ISSUES CLOSED: #192
freemo added this to the v3.4.0 milestone 2026-03-10 07:42:31 +00:00
freemo force-pushed feature/m6-acms-fusion-engine from 0a8c85ceb4
All checks were successful
CI / benchmark-publish (pull_request) Has been skipped
CI / lint (pull_request) Successful in 15s
CI / build (pull_request) Successful in 16s
CI / quality (pull_request) Successful in 20s
CI / security (pull_request) Successful in 34s
CI / typecheck (pull_request) Successful in 37s
CI / unit_tests (pull_request) Successful in 2m37s
CI / docker (pull_request) Successful in 39s
CI / integration_tests (pull_request) Successful in 3m20s
CI / coverage (pull_request) Successful in 4m55s
CI / benchmark-regression (pull_request) Successful in 31m5s
to a41fc02f11
All checks were successful
CI / benchmark-publish (pull_request) Has been skipped
CI / lint (pull_request) Successful in 14s
CI / build (pull_request) Successful in 17s
CI / quality (pull_request) Successful in 18s
CI / security (pull_request) Successful in 35s
CI / typecheck (pull_request) Successful in 41s
CI / unit_tests (pull_request) Successful in 2m30s
CI / integration_tests (pull_request) Successful in 3m7s
CI / docker (pull_request) Successful in 54s
CI / coverage (pull_request) Successful in 5m42s
CI / lint (push) Successful in 12s
CI / build (push) Successful in 16s
CI / quality (push) Successful in 18s
CI / security (push) Successful in 33s
CI / typecheck (push) Successful in 36s
CI / benchmark-regression (push) Has been skipped
CI / unit_tests (push) Successful in 2m45s
CI / integration_tests (push) Successful in 3m11s
CI / docker (push) Successful in 46s
CI / coverage (push) Successful in 5m52s
CI / benchmark-publish (push) Successful in 17m26s
CI / benchmark-regression (pull_request) Successful in 31m25s
2026-03-10 15:09:04 +00:00
Compare
freemo scheduled this pull request to auto merge when all checks succeed 2026-03-10 15:09:20 +00:00
freemo merged commit a41fc02f11 into master 2026-03-10 15:15:32 +00:00
freemo deleted branch feature/m6-acms-fusion-engine 2026-03-10 15:15:33 +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!671
No description provided.