Module: Legion::Extensions::Agentic::Memory::Palimpsest::Runners::CognitivePalimpsest
- Includes:
- Helpers::Constants, Helpers::Lex
- Included in:
- Client
- Defined in:
- lib/legion/extensions/agentic/memory/palimpsest/runners/cognitive_palimpsest.rb
Constant Summary
Helpers::Constants::CONFIDENCE_LABELS, Helpers::Constants::DEFAULT_CONFIDENCE, Helpers::Constants::DRIFT_LABELS, Helpers::Constants::EROSION_RATE, Helpers::Constants::GHOST_DECAY, Helpers::Constants::GHOST_LABELS, Helpers::Constants::GHOST_THRESHOLD, Helpers::Constants::LAYER_DOMAINS, Helpers::Constants::MAX_LAYERS_PER_TOPIC, Helpers::Constants::MAX_PALIMPSESTS
Instance Method Summary
collapse
-
#all_ghost_layers(engine: nil) ⇒ Object
-
#belief_drift(topic:, engine: nil) ⇒ Object
-
#create_palimpsest(topic:, domain: :unknown, engine: nil) ⇒ Object
-
#decay_all_ghosts(ghost_rate: GHOST_DECAY, engine: nil) ⇒ Object
-
#domain_archaeology(domain:, engine: nil) ⇒ Object
-
#erode_belief(topic:, rate: EROSION_RATE, engine: nil) ⇒ Object
-
#ghost_layers(topic:, engine: nil) ⇒ Object
-
#most_rewritten(limit: 10, engine: nil) ⇒ Object
-
#overwrite_belief(topic:, content:, confidence: DEFAULT_CONFIDENCE, author: :system, engine: nil) ⇒ Object
-
#overwrite_frequency(topic:, engine: nil) ⇒ Object
-
#palimpsest_report(engine: nil) ⇒ Object
-
#peek_through_belief(topic:, depth: 1, engine: nil) ⇒ Object
label_for
Instance Method Details
#all_ghost_layers(engine: nil) ⇒ Object
51
52
53
54
|
# File 'lib/legion/extensions/agentic/memory/palimpsest/runners/cognitive_palimpsest.rb', line 51
def all_ghost_layers(engine: nil, **)
layers = resolve_engine(engine).all_ghost_layers
{ success: true, layers: layers, count: layers.size }
end
|
#belief_drift(topic:, engine: nil) ⇒ Object
61
62
63
64
65
66
|
# File 'lib/legion/extensions/agentic/memory/palimpsest/runners/cognitive_palimpsest.rb', line 61
def belief_drift(topic:, engine: nil, **)
result = resolve_engine(engine).belief_drift(topic: topic)
return { success: false, reason: :not_found } unless result
{ success: true }.merge(result)
end
|
#create_palimpsest(topic:, domain: :unknown, engine: nil) ⇒ Object
13
14
15
16
17
18
|
# File 'lib/legion/extensions/agentic/memory/palimpsest/runners/cognitive_palimpsest.rb', line 13
def create_palimpsest(topic:, domain: :unknown, engine: nil, **)
p = resolve_engine(engine).create(topic: topic, domain: domain)
return { success: false, reason: :limit_or_duplicate } unless p
{ success: true, id: p.id, topic: p.topic, domain: p.domain }
end
|
#decay_all_ghosts(ghost_rate: GHOST_DECAY, engine: nil) ⇒ Object
80
81
82
83
|
# File 'lib/legion/extensions/agentic/memory/palimpsest/runners/cognitive_palimpsest.rb', line 80
def decay_all_ghosts(ghost_rate: GHOST_DECAY, engine: nil, **)
resolve_engine(engine).decay_all!(ghost_rate: ghost_rate)
{ success: true }
end
|
#domain_archaeology(domain:, engine: nil) ⇒ Object
56
57
58
59
|
# File 'lib/legion/extensions/agentic/memory/palimpsest/runners/cognitive_palimpsest.rb', line 56
def domain_archaeology(domain:, engine: nil, **)
layers = resolve_engine(engine).domain_archaeology(domain: domain)
{ success: true, layers: layers, count: layers.size }
end
|
#erode_belief(topic:, rate: EROSION_RATE, engine: nil) ⇒ Object
39
40
41
42
43
44
|
# File 'lib/legion/extensions/agentic/memory/palimpsest/runners/cognitive_palimpsest.rb', line 39
def erode_belief(topic:, rate: EROSION_RATE, engine: nil, **)
result = resolve_engine(engine).erode(topic: topic, rate: rate)
return { success: false, reason: :not_found } if result.nil?
{ success: true, topic: topic, confidence: result.round(4) }
end
|
#ghost_layers(topic:, engine: nil) ⇒ Object
46
47
48
49
|
# File 'lib/legion/extensions/agentic/memory/palimpsest/runners/cognitive_palimpsest.rb', line 46
def ghost_layers(topic:, engine: nil, **)
layers = resolve_engine(engine).ghost_layers_for(topic: topic)
{ success: true, layers: layers, count: layers.size }
end
|
#most_rewritten(limit: 10, engine: nil) ⇒ Object
75
76
77
78
|
# File 'lib/legion/extensions/agentic/memory/palimpsest/runners/cognitive_palimpsest.rb', line 75
def most_rewritten(limit: 10, engine: nil, **)
palimpsests = resolve_engine(engine).most_rewritten(limit: limit)
{ success: true, palimpsests: palimpsests, count: palimpsests.size }
end
|
#overwrite_belief(topic:, content:, confidence: DEFAULT_CONFIDENCE, author: :system, engine: nil) ⇒ Object
20
21
22
23
24
25
26
27
28
29
30
31
32
|
# File 'lib/legion/extensions/agentic/memory/palimpsest/runners/cognitive_palimpsest.rb', line 20
def overwrite_belief(topic:, content:, confidence: DEFAULT_CONFIDENCE,
author: :system, engine: nil, **)
layer = resolve_engine(engine).overwrite(
topic: topic,
content: content,
confidence: confidence,
author: author
)
return { success: false, reason: :limit_reached } unless layer
{ success: true, layer_id: layer.id, version: layer.version,
confidence: layer.confidence.round(4) }
end
|
#overwrite_frequency(topic:, engine: nil) ⇒ Object
68
69
70
71
72
73
|
# File 'lib/legion/extensions/agentic/memory/palimpsest/runners/cognitive_palimpsest.rb', line 68
def overwrite_frequency(topic:, engine: nil, **)
count = resolve_engine(engine).overwrite_frequency(topic: topic)
return { success: false, reason: :not_found } if count.nil?
{ success: true, topic: topic, overwrite_count: count }
end
|
#palimpsest_report(engine: nil) ⇒ Object
85
86
87
88
|
# File 'lib/legion/extensions/agentic/memory/palimpsest/runners/cognitive_palimpsest.rb', line 85
def palimpsest_report(engine: nil, **)
report = resolve_engine(engine).palimpsest_report
{ success: true }.merge(report)
end
|
#peek_through_belief(topic:, depth: 1, engine: nil) ⇒ Object
34
35
36
37
|
# File 'lib/legion/extensions/agentic/memory/palimpsest/runners/cognitive_palimpsest.rb', line 34
def peek_through_belief(topic:, depth: 1, engine: nil, **)
layers = resolve_engine(engine).peek_through(topic: topic, depth: depth)
{ success: true, layers: layers, count: layers.size }
end
|