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