Skip to content

feat(context-compression): add missing integration points for Focus Agent, SideQuest, and SWE-Pruner #1904

@bug-ops

Description

@bug-ops

Context

PR #1900 (feat(core): context compression — Focus Agent, SWE-Pruner/COMI, SideQuest) deferred the following integration points. These were explicitly acknowledged as missing by the implementation review.

Missing integration points

1. CLI flags in src/main.rs

  • --focus / --no-focus — enable/disable Focus Agent at startup (overrides [agent.focus] enabled)
  • --sidequest / --no-sidequest — enable/disable SideQuest eviction at startup (overrides [memory.sidequest] enabled)
  • --pruning-strategy <reactive|task_aware|mig|task_aware_mig> — override [memory.compression] pruning_strategy

2. --init wizard steps

  • Add a Context Compression section to the interactive config wizard:
    • "Enable Focus Agent?" (default: no) → [agent.focus] enabled
    • "Focus compression interval (turns)?" → [agent.focus] compression_interval
    • "Enable SideQuest eviction?" (default: no) → [memory.sidequest] enabled
    • "SideQuest eviction interval (turns)?" → [memory.sidequest] interval_turns
    • "Pruning strategy?" (reactive / task_aware / mig / task_aware_mig) → [memory.compression] pruning_strategy

3. Debug dump output

When --debug-dump is enabled, emit structured files for:

  • {n}-pruning-scores.json — per-block relevance/redundancy/MIG scores from score_blocks_task_aware / score_blocks_mig
  • {n}-focus-knowledge.txt — current contents of the Knowledge block after each complete_focus
  • {n}-sidequest-eviction.json — SideQuest prompt + LLM response + applied cursor indices for each eviction pass

4. TUI spinners for background operations

Per TUI rules: any background or implicit operation must be accompanied by a visible system status indicator with a spinner.

  • Spinner during extract_task_goal() LLM call: Extracting task goal…
  • Spinner during SideQuest background LLM call (spawned via tokio::spawn): SideQuest: scoring tool outputs…
  • Status update after SideQuest eviction applies: SideQuest evicted N tokens

Acceptance criteria

  • --focus / --sidequest / --pruning-strategy CLI flags in src/main.rs
  • --init wizard section for context compression options
  • --debug-dump emits pruning-scores, focus-knowledge, and sidequest-eviction files
  • TUI spinners for goal extraction and SideQuest background LLM calls
  • All four points covered by appropriate tests or manual verification

References

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions