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
- #beliefs_by_domain(domain:) ⇒ Object
- #beliefs_needing_testing ⇒ Object
- #create_belief(claim:, domain: :general, confidence: nil) ⇒ Object
- #decay_beliefs ⇒ Object
- #get_belief(belief_id:) ⇒ Object
- #overall_coherence ⇒ Object
- #prune_rejected_beliefs ⇒ Object
- #reality_report ⇒ Object
- #reality_status ⇒ Object
- #strongest_beliefs(limit: 10) ⇒ Object
- #test_belief(belief_id:, evidence_type:, weight: 0.1) ⇒ Object
- #weakest_beliefs(limit: 10) ⇒ Object
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_testing ⇒ Object
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_beliefs ⇒ Object
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_coherence ⇒ Object
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_beliefs ⇒ Object
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_report ⇒ Object
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_status ⇒ Object
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 |