Module: Legion::Extensions::Agentic::Inference::RealityTesting::Runners::RealityTesting

Includes:
Helpers::Lex
Included in:
Client
Defined in:
lib/legion/extensions/agentic/inference/reality_testing/runners/reality_testing.rb

Instance Method Summary collapse

Instance Method Details

#beliefs_by_domain(domain:) ⇒ Object



49
50
51
52
# File 'lib/legion/extensions/agentic/inference/reality_testing/runners/reality_testing.rb', line 49

def beliefs_by_domain(domain:, **)
  beliefs = reality_engine.beliefs_by_domain(domain: domain.to_sym)
  { domain: domain, count: beliefs.size, beliefs: beliefs.map(&:to_h) }
end

#beliefs_needing_testingObject



33
34
35
36
37
# File 'lib/legion/extensions/agentic/inference/reality_testing/runners/reality_testing.rb', line 33

def beliefs_needing_testing(**)
  beliefs = reality_engine.beliefs_needing_testing
  log.debug "[reality_testing] needs_testing count=#{beliefs.size}"
  { count: beliefs.size, beliefs: beliefs.map(&:to_h) }
end

#create_belief(claim:, domain: :general, confidence: nil) ⇒ Object



13
14
15
16
17
18
# File 'lib/legion/extensions/agentic/inference/reality_testing/runners/reality_testing.rb', line 13

def create_belief(claim:, domain: :general, confidence: nil, **)
  conf   = confidence || Helpers::Constants::DEFAULT_CONFIDENCE
  result = reality_engine.create_belief(claim: claim, domain: domain, confidence: conf)
  log.info "[reality_testing] create_belief claim=#{claim[0, 60]} domain=#{domain}"
  result
end

#decay_beliefsObject



60
61
62
63
64
# File 'lib/legion/extensions/agentic/inference/reality_testing/runners/reality_testing.rb', line 60

def decay_beliefs(**)
  count = reality_engine.decay_all
  log.debug "[reality_testing] decay_all count=#{count}"
  { decayed: count }
end

#get_belief(belief_id:) ⇒ Object



25
26
27
28
29
30
31
# File 'lib/legion/extensions/agentic/inference/reality_testing/runners/reality_testing.rb', line 25

def get_belief(belief_id:, **)
  engine = reality_engine
  belief = engine.instance_variable_get(:@beliefs)[belief_id]
  return { found: false, belief_id: belief_id } unless belief

  { found: true, belief: belief.to_h }
end

#overall_coherenceObject



54
55
56
57
58
# File 'lib/legion/extensions/agentic/inference/reality_testing/runners/reality_testing.rb', line 54

def overall_coherence(**)
  coherence = reality_engine.overall_reality_coherence
  log.debug "[reality_testing] coherence=#{coherence.round(3)}"
  { coherence: coherence.round(3) }
end

#prune_rejected_beliefsObject



66
67
68
69
# File 'lib/legion/extensions/agentic/inference/reality_testing/runners/reality_testing.rb', line 66

def prune_rejected_beliefs(**)
  pruned = reality_engine.prune_rejected
  { pruned: pruned }
end

#reality_reportObject



71
72
73
# File 'lib/legion/extensions/agentic/inference/reality_testing/runners/reality_testing.rb', line 71

def reality_report(**)
  reality_engine.reality_report
end

#reality_statusObject



75
76
77
78
79
80
81
# File 'lib/legion/extensions/agentic/inference/reality_testing/runners/reality_testing.rb', line 75

def reality_status(**)
  {
    total_beliefs:   reality_engine.size,
    coherence:       reality_engine.overall_reality_coherence.round(3),
    needing_testing: reality_engine.beliefs_needing_testing.size
  }
end

#strongest_beliefs(limit: 10) ⇒ Object



39
40
41
42
# File 'lib/legion/extensions/agentic/inference/reality_testing/runners/reality_testing.rb', line 39

def strongest_beliefs(limit: 10, **)
  beliefs = reality_engine.strongest_beliefs(limit: limit)
  { count: beliefs.size, beliefs: beliefs.map(&:to_h) }
end

#test_belief(belief_id:, evidence_type:, weight: 0.1) ⇒ Object



20
21
22
23
# File 'lib/legion/extensions/agentic/inference/reality_testing/runners/reality_testing.rb', line 20

def test_belief(belief_id:, evidence_type:, weight: 0.1, **)
  etype = evidence_type.to_sym
  reality_engine.test_belief(belief_id: belief_id, evidence_type: etype, weight: weight)
end

#weakest_beliefs(limit: 10) ⇒ Object



44
45
46
47
# File 'lib/legion/extensions/agentic/inference/reality_testing/runners/reality_testing.rb', line 44

def weakest_beliefs(limit: 10, **)
  beliefs = reality_engine.weakest_beliefs(limit: limit)
  { count: beliefs.size, beliefs: beliefs.map(&:to_h) }
end