Class: KairosMcp::DslAst::VerificationReport

Inherits:
Struct
  • Object
show all
Defined in:
lib/kairos_mcp/dsl_ast/ast_engine.rb

Overview

Result of verifying all definition nodes for a skill

Instance Attribute Summary collapse

Instance Method Summary collapse

Instance Attribute Details

#resultsObject

Returns the value of attribute results

Returns:

  • (Object)

    the current value of results



11
12
13
# File 'lib/kairos_mcp/dsl_ast/ast_engine.rb', line 11

def results
  @results
end

#skill_idObject

Returns the value of attribute skill_id

Returns:

  • (Object)

    the current value of skill_id



11
12
13
# File 'lib/kairos_mcp/dsl_ast/ast_engine.rb', line 11

def skill_id
  @skill_id
end

#timestampObject

Returns the value of attribute timestamp

Returns:

  • (Object)

    the current value of timestamp



11
12
13
# File 'lib/kairos_mcp/dsl_ast/ast_engine.rb', line 11

def timestamp
  @timestamp
end

Instance Method Details

#all_deterministic_passed?Boolean

All deterministic (evaluable) nodes passed?

Returns:

  • (Boolean)


13
14
15
# File 'lib/kairos_mcp/dsl_ast/ast_engine.rb', line 13

def all_deterministic_passed?
  results.select(&:evaluable).all? { |r| r.satisfied == true }
end

#human_requiredObject

Nodes that require human judgment



18
19
20
# File 'lib/kairos_mcp/dsl_ast/ast_engine.rb', line 18

def human_required
  results.reject(&:evaluable)
end

#summaryObject

Summary counts



23
24
25
26
27
28
29
30
# File 'lib/kairos_mcp/dsl_ast/ast_engine.rb', line 23

def summary
  total = results.size
  passed = results.count { |r| r.evaluable && r.satisfied == true }
  failed = results.count { |r| r.evaluable && r.satisfied == false }
  unknown = results.count { |r| r.evaluable && r.satisfied == :unknown }
  non_evaluable = results.count { |r| !r.evaluable }
  { total: total, passed: passed, failed: failed, unknown: unknown, human_required: non_evaluable }
end