feat(acms): implement core ACMS pipeline components — StrategySelector, BudgetAllocator, FragmentScorer, BudgetPacker, and FragmentOrderer #10015

Open
opened 2026-04-16 12:49:50 +00:00 by HAL9000 · 1 comment
Owner

Metadata

  • Commit message: feat(acms): implement core ACMS pipeline components (StrategySelector, BudgetAllocator, FragmentScorer, BudgetPacker, FragmentOrderer)
  • Branch name: feat/acms-core-pipeline-components

Background and Context

Epic #935 requires all 10 ACMS pipeline components to be implemented. The five components in this issue form the core assembly logic: selecting strategies, allocating budget, scoring fragments by relevance, packing fragments within budget constraints, and ordering the final context. Without these, the pipeline cannot produce usable context views.

Expected Behavior

All five core ACMS pipeline components are implemented with default implementations, are independently testable and overridable, and together produce a functional context assembly pipeline.

Acceptance Criteria

  • StrategySelector implemented — selects context strategies based on actor type and plan phase
  • BudgetAllocator implemented — computes per-strategy token budgets using the spec formula
  • FragmentScorer implemented — scores context fragments by relevance, recency, and priority
  • BudgetPacker implemented — knapsack algorithm packs fragments within token budget, respecting max_file_size and max_total_size
  • FragmentOrderer implemented — orders packed fragments for optimal LLM consumption
  • Unit tests pass for all components with edge cases (empty input, budget=0, single fragment)
  • Coverage >= 97% via nox -s coverage_report

Subtasks

  • Implement StrategySelector — selects context strategies based on actor type and plan phase
  • Implement BudgetAllocator — computes per-strategy token budgets using the spec formula
  • Implement FragmentScorer — scores context fragments by relevance, recency, and priority
  • Implement BudgetPacker — implements knapsack algorithm to pack fragments within token budget
  • Implement FragmentOrderer — orders packed fragments for optimal LLM consumption
  • Write unit tests for each component with edge cases (empty input, budget=0, single fragment)
  • Verify coverage >= 97% via nox -s coverage_report

Definition of Done

  • All five pipeline components implemented with default implementations
  • Each component is independently testable and overridable
  • BudgetPacker correctly respects max_file_size and max_total_size constraints
  • FragmentScorer produces deterministic scores for identical inputs
  • Unit tests pass for all components
  • Coverage >= 97%
  • PR reviewed and merged

Dependencies

Blocks: #935
Depends on: (none)


Automated by CleverAgents Bot
Agent: new-issue-creator

## Metadata - **Commit message**: `feat(acms): implement core ACMS pipeline components (StrategySelector, BudgetAllocator, FragmentScorer, BudgetPacker, FragmentOrderer)` - **Branch name**: `feat/acms-core-pipeline-components` ## Background and Context Epic #935 requires all 10 ACMS pipeline components to be implemented. The five components in this issue form the core assembly logic: selecting strategies, allocating budget, scoring fragments by relevance, packing fragments within budget constraints, and ordering the final context. Without these, the pipeline cannot produce usable context views. ## Expected Behavior All five core ACMS pipeline components are implemented with default implementations, are independently testable and overridable, and together produce a functional context assembly pipeline. ## Acceptance Criteria - [ ] `StrategySelector` implemented — selects context strategies based on actor type and plan phase - [ ] `BudgetAllocator` implemented — computes per-strategy token budgets using the spec formula - [ ] `FragmentScorer` implemented — scores context fragments by relevance, recency, and priority - [ ] `BudgetPacker` implemented — knapsack algorithm packs fragments within token budget, respecting `max_file_size` and `max_total_size` - [ ] `FragmentOrderer` implemented — orders packed fragments for optimal LLM consumption - [ ] Unit tests pass for all components with edge cases (empty input, budget=0, single fragment) - [ ] Coverage >= 97% via `nox -s coverage_report` ## Subtasks - [ ] Implement `StrategySelector` — selects context strategies based on actor type and plan phase - [ ] Implement `BudgetAllocator` — computes per-strategy token budgets using the spec formula - [ ] Implement `FragmentScorer` — scores context fragments by relevance, recency, and priority - [ ] Implement `BudgetPacker` — implements knapsack algorithm to pack fragments within token budget - [ ] Implement `FragmentOrderer` — orders packed fragments for optimal LLM consumption - [ ] Write unit tests for each component with edge cases (empty input, budget=0, single fragment) - [ ] Verify coverage >= 97% via `nox -s coverage_report` ## Definition of Done - [ ] All five pipeline components implemented with default implementations - [ ] Each component is independently testable and overridable - [ ] BudgetPacker correctly respects `max_file_size` and `max_total_size` constraints - [ ] FragmentScorer produces deterministic scores for identical inputs - [ ] Unit tests pass for all components - [ ] Coverage >= 97% - [ ] PR reviewed and merged ## Dependencies **Blocks**: #935 **Depends on**: (none) --- **Automated by CleverAgents Bot** Agent: new-issue-creator
Author
Owner

Implementation Attempt — Tier 1: Haiku — Success

Implemented the five core ACMS pipeline components in src/cleveragents/application/services/acms_core_pipeline.py:

  1. ActorPhaseStrategySelector — selects context strategies based on actor type and plan phase with configurable confidence boosts (planner, executor, reviewer, analyst, corrector actor types; strategize, execute, apply, review, correct plan phases)
  2. SpecBudgetAllocator — computes per-strategy token budgets using the spec formula (confidence × quality_score proportional allocation) with largest-remainder rounding; handles edge cases (empty, single candidate, zero weight, min_useful_budget filtering)
  3. RelevanceRecencyPriorityScorer — scores fragments by weighted composite of relevance, recency (normalized timestamps), and priority (from metadata); deterministic for identical inputs; preserves original scores in metadata
  4. ConstrainedKnapsackPacker — greedy knapsack packing respecting max_file_size and max_total_size byte-size constraints from ContextView; constructor parameters take precedence over ContextView
  5. PriorityCoherenceOrderer — groups related fragments by UKO node prefix and orders by priority then relevance for optimal LLM consumption

Added 44 BDD scenarios in features/acms_core_pipeline_components.feature covering all components, edge cases (empty input, budget=0, single fragment), and pipeline integration.

All quality gates passing: lint ✓, typecheck ✓, unit_tests ✓ (44/44 scenarios)

PR: #10769


Automated by CleverAgents Bot
Supervisor: Implementation Pool | Agent: implementation-worker

**Implementation Attempt** — Tier 1: Haiku — Success Implemented the five core ACMS pipeline components in `src/cleveragents/application/services/acms_core_pipeline.py`: 1. **ActorPhaseStrategySelector** — selects context strategies based on actor type and plan phase with configurable confidence boosts (planner, executor, reviewer, analyst, corrector actor types; strategize, execute, apply, review, correct plan phases) 2. **SpecBudgetAllocator** — computes per-strategy token budgets using the spec formula (confidence × quality_score proportional allocation) with largest-remainder rounding; handles edge cases (empty, single candidate, zero weight, min_useful_budget filtering) 3. **RelevanceRecencyPriorityScorer** — scores fragments by weighted composite of relevance, recency (normalized timestamps), and priority (from metadata); deterministic for identical inputs; preserves original scores in metadata 4. **ConstrainedKnapsackPacker** — greedy knapsack packing respecting max_file_size and max_total_size byte-size constraints from ContextView; constructor parameters take precedence over ContextView 5. **PriorityCoherenceOrderer** — groups related fragments by UKO node prefix and orders by priority then relevance for optimal LLM consumption Added 44 BDD scenarios in `features/acms_core_pipeline_components.feature` covering all components, edge cases (empty input, budget=0, single fragment), and pipeline integration. All quality gates passing: lint ✓, typecheck ✓, unit_tests ✓ (44/44 scenarios) PR: https://git.cleverthis.com/cleveragents/cleveragents-core/pulls/10769 --- **Automated by CleverAgents Bot** Supervisor: Implementation Pool | Agent: implementation-worker
Sign in to join this conversation.
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#10015
No description provided.