Class: Aidp::Harness::GeneratedFilterStrategy

Inherits:
FilterStrategy show all
Defined in:
lib/aidp/harness/generated_filter_strategy.rb

Overview

Deterministic filter strategy using AI-generated patterns

This strategy applies a FilterDefinition at runtime without any AI calls. The patterns were generated by AIFilterFactory during configuration.

Examples:

Usage

definition = FilterDefinition.from_hash(config[:filter_definitions][:pytest])
strategy = GeneratedFilterStrategy.new(definition)
filtered = strategy.filter(raw_output, filter_instance)

See Also:

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(definition) ⇒ GeneratedFilterStrategy

Initialize with a filter definition

Parameters:



26
27
28
# File 'lib/aidp/harness/generated_filter_strategy.rb', line 26

def initialize(definition)
  @definition = definition
end

Instance Attribute Details

#definitionObject (readonly)

Returns the value of attribute definition.



21
22
23
# File 'lib/aidp/harness/generated_filter_strategy.rb', line 21

def definition
  @definition
end

Instance Method Details

#filter(output, filter_instance) ⇒ String

Filter output using the definition’s patterns

Parameters:

  • output (String)

    Raw output to filter

  • filter_instance (OutputFilter)

    Filter instance with mode and config

Returns:

  • (String)

    Filtered output



35
36
37
38
39
40
41
42
43
44
45
46
# File 'lib/aidp/harness/generated_filter_strategy.rb', line 35

def filter(output, filter_instance)
  return output if output.nil? || output.empty?

  case filter_instance.mode
  when :failures_only
    extract_failures_only(output)
  when :minimal
    extract_minimal(output)
  else
    output
  end
end