Module: Legion::Extensions::Agentic::Self::Fingerprint::Runners::CognitiveFingerprint
- Includes:
- Helpers::Lex
- Included in:
- Client
- Defined in:
- lib/legion/extensions/agentic/self/fingerprint/runners/cognitive_fingerprint.rb
Instance Method Summary collapse
- #anomaly_check(category:, value:) ⇒ Object
- #fingerprint_hash ⇒ Object
- #fingerprint_report ⇒ Object
- #fingerprint_status ⇒ Object
- #identity_confidence ⇒ Object
- #record_observation(category:, value:) ⇒ Object
- #strongest_traits(top_n: 3) ⇒ Object
- #trait_profile ⇒ Object
- #verify_identity(observations:) ⇒ Object
- #weakest_traits(top_n: 3) ⇒ Object
Instance Method Details
#anomaly_check(category:, value:) ⇒ Object
31 32 33 34 35 36 37 38 |
# File 'lib/legion/extensions/agentic/self/fingerprint/runners/cognitive_fingerprint.rb', line 31 def anomaly_check(category:, value:, **) result = fingerprint_engine.anomaly_check(category: category.to_sym, value: value.to_f) if result[:anomaly] log.warn "[cognitive_fingerprint] anomaly category=#{category} " \ "deviation=#{result[:deviation]&.round(4)}" end result end |
#fingerprint_hash ⇒ Object
59 60 61 |
# File 'lib/legion/extensions/agentic/self/fingerprint/runners/cognitive_fingerprint.rb', line 59 def fingerprint_hash(**) { fingerprint_hash: fingerprint_engine.fingerprint_hash } end |
#fingerprint_report ⇒ Object
63 64 65 |
# File 'lib/legion/extensions/agentic/self/fingerprint/runners/cognitive_fingerprint.rb', line 63 def fingerprint_report(**) fingerprint_engine.fingerprint_report end |
#fingerprint_status ⇒ Object
67 68 69 70 71 72 73 |
# File 'lib/legion/extensions/agentic/self/fingerprint/runners/cognitive_fingerprint.rb', line 67 def fingerprint_status(**) { trait_count: fingerprint_engine.trait_count, sample_count: fingerprint_engine.sample_count, label: fingerprint_engine.identity_label } end |
#identity_confidence ⇒ Object
52 53 54 55 56 57 |
# File 'lib/legion/extensions/agentic/self/fingerprint/runners/cognitive_fingerprint.rb', line 52 def identity_confidence(**) confidence = fingerprint_engine.identity_confidence label = fingerprint_engine.identity_label log.debug "[cognitive_fingerprint] confidence=#{confidence.round(4)} label=#{label}" { confidence: confidence, label: label } end |
#record_observation(category:, value:) ⇒ Object
13 14 15 16 17 18 19 |
# File 'lib/legion/extensions/agentic/self/fingerprint/runners/cognitive_fingerprint.rb', line 13 def record_observation(category:, value:, **) category = category.to_sym result = fingerprint_engine.record_observation(category: category, value: value.to_f) log.debug "[cognitive_fingerprint] record category=#{category} " \ "baseline=#{result[:baseline]&.round(4)} samples=#{result[:samples]}" result end |
#strongest_traits(top_n: 3) ⇒ Object
44 45 46 |
# File 'lib/legion/extensions/agentic/self/fingerprint/runners/cognitive_fingerprint.rb', line 44 def strongest_traits(top_n: 3, **) { traits: fingerprint_engine.strongest_traits(top_n.to_i) } end |
#trait_profile ⇒ Object
40 41 42 |
# File 'lib/legion/extensions/agentic/self/fingerprint/runners/cognitive_fingerprint.rb', line 40 def trait_profile(**) { profile: fingerprint_engine.trait_profile } end |
#verify_identity(observations:) ⇒ Object
21 22 23 24 25 26 27 28 29 |
# File 'lib/legion/extensions/agentic/self/fingerprint/runners/cognitive_fingerprint.rb', line 21 def verify_identity(observations:, **) parsed = Array(observations).map do |obs| { category: obs[:category].to_sym, value: obs[:value].to_f } end result = fingerprint_engine.verify_identity(observations: parsed) log.info "[cognitive_fingerprint] verify score=#{result[:match_score]&.round(4)} " \ "verdict=#{result[:verdict]}" result end |
#weakest_traits(top_n: 3) ⇒ Object
48 49 50 |
# File 'lib/legion/extensions/agentic/self/fingerprint/runners/cognitive_fingerprint.rb', line 48 def weakest_traits(top_n: 3, **) { traits: fingerprint_engine.weakest_traits(top_n.to_i) } end |