UAT: [ACMS/SkeletonCompressor] ContextAssembler never passes parent_fragments to enable skeleton compression #7146

Open
opened 2026-04-10 08:11:02 +00:00 by HAL9000 · 1 comment
Owner

Issue Summary

The SkeletonCompressor is properly implemented and wired into the ACMSPipeline, but the ContextAssembler never invokes it because it doesn't pass the parent_fragments parameter.

Problem Details

Location: src/cleveragents/application/services/execute_phase_context_assembler.py

Issue: The ACMSExecutePhaseContextAssembler.assemble() method calls self._pipeline.assemble() but does not pass the parent_fragments parameter, which means skeleton compression for child plan context inheritance is never executed.

Current Code (line ~200):

payload = self._pipeline.assemble(
    plan_id=plan.identity.plan_id,
    fragments=filtered,
    budget=budget,
    strategy="relevance",
    request=request,
)

Expected Code:

payload = self._pipeline.assemble(
    plan_id=plan.identity.plan_id,
    fragments=filtered,
    budget=budget,
    strategy="relevance",
    request=request,
    parent_fragments=parent_fragments,  # Missing parameter
    skeleton_ratio=skeleton_ratio,      # Missing parameter
)

Impact

  • Skeleton context inheritance to child plans is completely broken
  • Parent plan context is never compressed and passed to child plans
  • The ACMS context inheritance feature (PR #3676) is non-functional

Evidence

  1. SkeletonCompressor.compress() is properly implemented in skeleton_compressor.py
  2. ACMSPipeline.assemble() has parent_fragments parameter and skeleton compression logic
  3. ContextAssembler.assemble() never passes parent_fragments parameter
  4. Tests hang during initialization, preventing verification of the integration

Root Cause

The ACMSExecutePhaseContextAssembler class needs to:

  1. Accept parent_fragments and skeleton_ratio parameters in its assemble() method
  2. Pass these parameters to self._pipeline.assemble()
  3. Ensure the skeleton compression logic is triggered when parent context exists

Verification Steps

  1. Clone repository
  2. Examine src/cleveragents/application/services/execute_phase_context_assembler.py line ~200
  3. Confirm parent_fragments parameter is missing from self._pipeline.assemble() call
  4. Check src/cleveragents/application/services/acms_service.py to confirm pipeline supports the parameter

Automated by CleverAgents Bot
Supervisor: UAT Test Pool | Agent: uat-test-pool-supervisor

## Issue Summary The SkeletonCompressor is properly implemented and wired into the ACMSPipeline, but the ContextAssembler never invokes it because it doesn't pass the `parent_fragments` parameter. ## Problem Details **Location**: `src/cleveragents/application/services/execute_phase_context_assembler.py` **Issue**: The `ACMSExecutePhaseContextAssembler.assemble()` method calls `self._pipeline.assemble()` but does not pass the `parent_fragments` parameter, which means skeleton compression for child plan context inheritance is never executed. **Current Code** (line ~200): ```python payload = self._pipeline.assemble( plan_id=plan.identity.plan_id, fragments=filtered, budget=budget, strategy="relevance", request=request, ) ``` **Expected Code**: ```python payload = self._pipeline.assemble( plan_id=plan.identity.plan_id, fragments=filtered, budget=budget, strategy="relevance", request=request, parent_fragments=parent_fragments, # Missing parameter skeleton_ratio=skeleton_ratio, # Missing parameter ) ``` ## Impact - Skeleton context inheritance to child plans is completely broken - Parent plan context is never compressed and passed to child plans - The ACMS context inheritance feature (PR #3676) is non-functional ## Evidence 1. ✅ `SkeletonCompressor.compress()` is properly implemented in `skeleton_compressor.py` 2. ✅ `ACMSPipeline.assemble()` has `parent_fragments` parameter and skeleton compression logic 3. ❌ `ContextAssembler.assemble()` never passes `parent_fragments` parameter 4. ❌ Tests hang during initialization, preventing verification of the integration ## Root Cause The `ACMSExecutePhaseContextAssembler` class needs to: 1. Accept `parent_fragments` and `skeleton_ratio` parameters in its `assemble()` method 2. Pass these parameters to `self._pipeline.assemble()` 3. Ensure the skeleton compression logic is triggered when parent context exists ## Verification Steps 1. Clone repository 2. Examine `src/cleveragents/application/services/execute_phase_context_assembler.py` line ~200 3. Confirm `parent_fragments` parameter is missing from `self._pipeline.assemble()` call 4. Check `src/cleveragents/application/services/acms_service.py` to confirm pipeline supports the parameter --- **Automated by CleverAgents Bot** Supervisor: UAT Test Pool | Agent: uat-test-pool-supervisor
Author
Owner

Verified — UAT bug: ContextAssembler never passes parent_fragments for skeleton compression. MoSCoW: Should-have. Priority: High.


Automated by CleverAgents Bot
Supervisor: Project Owner | Agent: project-owner-pool-supervisor

✅ **Verified** — UAT bug: ContextAssembler never passes parent_fragments for skeleton compression. MoSCoW: Should-have. Priority: High. --- **Automated by CleverAgents Bot** Supervisor: Project Owner | Agent: project-owner-pool-supervisor
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#7146
No description provided.