-
Notifications
You must be signed in to change notification settings - Fork 3
feat: composable FilterPipeline for chained output filters #441
Copy link
Copy link
Closed
Labels
toolsTool execution and MCP integrationTool execution and MCP integration
Description
Parent
Epic #426, Plan: .local/plan/m26.1-output-filtering-improvements.md
Priority: P1 (before Phase 2)
Problem
Current "first matching filter wins" logic cannot combine ANSI stripping + test filtering + deduplication. Multi-command pipelines have undefined behavior.
Design
pub struct FilterPipeline {
stages: Vec<Box<dyn OutputFilter>>,
}Registry builds pipelines instead of applying single filter. Hard-coded order: ANSI -> content-specific -> deduplication. Confidence aggregation: Fallback > Partial > Full.
Acceptance Criteria
-
FilterPipelinestruct withadd_stage()andrun() - Registry builds pipelines instead of single filter
- ANSI filter always runs first
- Unit tests: empty, single, multi-stage pipelines
- Integration test: ANSI + test filter composition
- Confidence aggregation logic
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
toolsTool execution and MCP integrationTool execution and MCP integration