lex-agentic-memory 0.1.16 → 0.1.18
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/CHANGELOG.md +10 -0
- data/lex-agentic-memory.gemspec +1 -0
- data/lib/legion/extensions/agentic/memory/archaeology/actors/decay.rb +1 -1
- data/lib/legion/extensions/agentic/memory/compression/actors/maintenance.rb +1 -1
- data/lib/legion/extensions/agentic/memory/echo/actors/decay.rb +1 -1
- data/lib/legion/extensions/agentic/memory/echo_chamber/actors/decay.rb +1 -1
- data/lib/legion/extensions/agentic/memory/echo_chamber/runners/cognitive_echo_chamber.rb +4 -4
- data/lib/legion/extensions/agentic/memory/episodic/runners/episodic_buffer.rb +11 -11
- data/lib/legion/extensions/agentic/memory/hologram/runners/cognitive_hologram.rb +18 -18
- data/lib/legion/extensions/agentic/memory/immune_memory/actors/decay.rb +1 -1
- data/lib/legion/extensions/agentic/memory/nostalgia/actors/maintenance.rb +1 -1
- data/lib/legion/extensions/agentic/memory/nostalgia/helpers/nostalgia_engine.rb +2 -2
- data/lib/legion/extensions/agentic/memory/nostalgia/runners/analysis.rb +7 -7
- data/lib/legion/extensions/agentic/memory/nostalgia/runners/recall.rb +6 -6
- data/lib/legion/extensions/agentic/memory/offloading/runners/cognitive_offloading.rb +13 -13
- data/lib/legion/extensions/agentic/memory/palimpsest/actors/decay.rb +1 -1
- data/lib/legion/extensions/agentic/memory/reserve/actors/maintenance.rb +1 -1
- data/lib/legion/extensions/agentic/memory/semantic/runners/semantic_memory.rb +13 -13
- data/lib/legion/extensions/agentic/memory/semantic_priming/actors/decay.rb +1 -1
- data/lib/legion/extensions/agentic/memory/semantic_satiation/actors/recovery.rb +1 -1
- data/lib/legion/extensions/agentic/memory/semantic_satiation/runners/semantic_satiation.rb +16 -16
- data/lib/legion/extensions/agentic/memory/source_monitoring/actors/decay.rb +1 -1
- data/lib/legion/extensions/agentic/memory/source_monitoring/runners/source_monitoring.rb +9 -9
- data/lib/legion/extensions/agentic/memory/trace/batch_decay.rb +1 -1
- data/lib/legion/extensions/agentic/memory/trace/helpers/cache_store.rb +14 -14
- data/lib/legion/extensions/agentic/memory/trace/helpers/error_tracer.rb +1 -1
- data/lib/legion/extensions/agentic/memory/trace/helpers/hot_tier.rb +1 -1
- data/lib/legion/extensions/agentic/memory/trace/helpers/postgres_store.rb +5 -5
- data/lib/legion/extensions/agentic/memory/trace/helpers/snapshot.rb +1 -1
- data/lib/legion/extensions/agentic/memory/trace/helpers/store.rb +5 -5
- data/lib/legion/extensions/agentic/memory/trace/persistent_store.rb +3 -3
- data/lib/legion/extensions/agentic/memory/trace/runners/consolidation.rb +6 -6
- data/lib/legion/extensions/agentic/memory/trace/runners/traces.rb +8 -8
- data/lib/legion/extensions/agentic/memory/trace.rb +3 -3
- data/lib/legion/extensions/agentic/memory/transfer/runners/transfer_learning.rb +11 -11
- data/lib/legion/extensions/agentic/memory/version.rb +1 -1
- data/lib/legion/extensions/agentic/memory.rb +1 -1
- data/spec/legion/extensions/agentic/memory/archaeology/actors/decay_spec.rb +1 -1
- data/spec/legion/extensions/agentic/memory/compression/actors/maintenance_spec.rb +1 -1
- data/spec/legion/extensions/agentic/memory/echo/actors/decay_spec.rb +1 -1
- data/spec/legion/extensions/agentic/memory/echo_chamber/actors/decay_spec.rb +1 -1
- data/spec/legion/extensions/agentic/memory/immune_memory/actors/decay_spec.rb +1 -1
- data/spec/legion/extensions/agentic/memory/nostalgia/actors/maintenance_spec.rb +1 -1
- data/spec/legion/extensions/agentic/memory/palimpsest/actors/decay_spec.rb +1 -1
- data/spec/legion/extensions/agentic/memory/reserve/actors/maintenance_spec.rb +1 -1
- data/spec/legion/extensions/agentic/memory/semantic_priming/actors/decay_spec.rb +1 -1
- data/spec/legion/extensions/agentic/memory/semantic_satiation/actors/recovery_spec.rb +1 -1
- data/spec/legion/extensions/agentic/memory/trace/helpers/error_tracer_spec.rb +46 -0
- metadata +16 -1
|
@@ -7,58 +7,58 @@ module Legion
|
|
|
7
7
|
module Transfer
|
|
8
8
|
module Runners
|
|
9
9
|
module TransferLearning
|
|
10
|
-
include Legion::Extensions::Helpers::Lex if Legion::Extensions.const_defined?(:Helpers) &&
|
|
11
|
-
Legion::Extensions::Helpers.const_defined?(:Lex)
|
|
10
|
+
include Legion::Extensions::Helpers::Lex if Legion::Extensions.const_defined?(:Helpers, false) &&
|
|
11
|
+
Legion::Extensions::Helpers.const_defined?(:Lex, false)
|
|
12
12
|
|
|
13
13
|
def learn_domain(domain:, amount:, **)
|
|
14
14
|
result = transfer_engine.learn_domain(domain: domain, amount: amount)
|
|
15
|
-
|
|
15
|
+
log.info("[transfer_learning] learn: domain=#{domain} amount=#{amount} proficiency=#{result[:proficiency]}")
|
|
16
16
|
result
|
|
17
17
|
end
|
|
18
18
|
|
|
19
19
|
def attempt_transfer(from_domain:, to_domain:, **)
|
|
20
20
|
result = transfer_engine.attempt_transfer(from_domain: from_domain, to_domain: to_domain)
|
|
21
|
-
|
|
21
|
+
log.info("[transfer_learning] transfer: from=#{from_domain} to=#{to_domain} type=#{result[:type]} effect=#{result[:effect]}")
|
|
22
22
|
result
|
|
23
23
|
end
|
|
24
24
|
|
|
25
25
|
def set_similarity(domain_a:, domain_b:, similarity:, **)
|
|
26
26
|
sim = transfer_engine.set_similarity(domain_a: domain_a, domain_b: domain_b, similarity: similarity)
|
|
27
|
-
|
|
27
|
+
log.debug("[transfer_learning] similarity set: #{domain_a}<->#{domain_b} similarity=#{sim}")
|
|
28
28
|
{ domain_a: domain_a, domain_b: domain_b, similarity: sim }
|
|
29
29
|
end
|
|
30
30
|
|
|
31
31
|
def transfer_effectiveness(from_domain:, to_domain:, **)
|
|
32
32
|
result = transfer_engine.transfer_effectiveness(from_domain: from_domain, to_domain: to_domain)
|
|
33
|
-
|
|
33
|
+
log.debug("[transfer_learning] effectiveness: from=#{from_domain} to=#{to_domain} type=#{result[:type]}")
|
|
34
34
|
result
|
|
35
35
|
end
|
|
36
36
|
|
|
37
37
|
def most_transferable(target_domain:, limit: 5, **)
|
|
38
38
|
candidates = transfer_engine.most_transferable(target_domain: target_domain, limit: limit)
|
|
39
|
-
|
|
39
|
+
log.debug("[transfer_learning] most_transferable: target=#{target_domain} found=#{candidates.size}")
|
|
40
40
|
{ target_domain: target_domain, candidates: candidates, count: candidates.size }
|
|
41
41
|
end
|
|
42
42
|
|
|
43
43
|
def interference_risks(target_domain:, **)
|
|
44
44
|
risks = transfer_engine.interference_risks(target_domain: target_domain)
|
|
45
|
-
|
|
45
|
+
log.debug("[transfer_learning] interference_risks: target=#{target_domain} risks=#{risks.size}")
|
|
46
46
|
{ target_domain: target_domain, risks: risks, count: risks.size }
|
|
47
47
|
end
|
|
48
48
|
|
|
49
49
|
def transfer_report(**)
|
|
50
50
|
report = transfer_engine.transfer_report
|
|
51
|
-
|
|
51
|
+
log.debug("[transfer_learning] report: domains=#{report[:domain_count]} transfers=#{report[:total_transfers]}")
|
|
52
52
|
report
|
|
53
53
|
end
|
|
54
54
|
|
|
55
55
|
def get_domain(domain:, **)
|
|
56
56
|
entry = transfer_engine.domains[domain]
|
|
57
57
|
if entry
|
|
58
|
-
|
|
58
|
+
log.debug("[transfer_learning] get_domain: domain=#{domain} proficiency=#{entry.proficiency}")
|
|
59
59
|
{ found: true, domain: entry.to_h }
|
|
60
60
|
else
|
|
61
|
-
|
|
61
|
+
log.debug("[transfer_learning] get_domain: domain=#{domain} not found")
|
|
62
62
|
{ found: false, domain: domain }
|
|
63
63
|
end
|
|
64
64
|
end
|
|
@@ -24,7 +24,7 @@ module Legion
|
|
|
24
24
|
module Extensions
|
|
25
25
|
module Agentic
|
|
26
26
|
module Memory
|
|
27
|
-
extend Legion::Extensions::Core if Legion::Extensions.const_defined? :Core
|
|
27
|
+
extend Legion::Extensions::Core if Legion::Extensions.const_defined? :Core, false
|
|
28
28
|
|
|
29
29
|
def self.remote_invocable?
|
|
30
30
|
false
|
|
@@ -12,7 +12,7 @@ $LOADED_FEATURES << 'legion/extensions/actors/every'
|
|
|
12
12
|
|
|
13
13
|
require 'legion/extensions/agentic/memory/archaeology/actors/decay'
|
|
14
14
|
|
|
15
|
-
RSpec.describe Legion::Extensions::Agentic::Memory::Archaeology::
|
|
15
|
+
RSpec.describe Legion::Extensions::Agentic::Memory::Archaeology::Actor::Decay do
|
|
16
16
|
subject(:actor) { described_class.new }
|
|
17
17
|
|
|
18
18
|
it { expect(actor.runner_class).to eq(Legion::Extensions::Agentic::Memory::Archaeology::Runners::CognitiveArchaeology) }
|
|
@@ -12,7 +12,7 @@ $LOADED_FEATURES << 'legion/extensions/actors/every'
|
|
|
12
12
|
|
|
13
13
|
require 'legion/extensions/agentic/memory/compression/actors/maintenance'
|
|
14
14
|
|
|
15
|
-
RSpec.describe Legion::Extensions::Agentic::Memory::Compression::
|
|
15
|
+
RSpec.describe Legion::Extensions::Agentic::Memory::Compression::Actor::Maintenance do
|
|
16
16
|
subject(:actor) { described_class.new }
|
|
17
17
|
|
|
18
18
|
it { expect(actor.runner_class).to eq(Legion::Extensions::Agentic::Memory::Compression::Runners::CognitiveCompression) }
|
|
@@ -12,7 +12,7 @@ $LOADED_FEATURES << 'legion/extensions/actors/every'
|
|
|
12
12
|
|
|
13
13
|
require 'legion/extensions/agentic/memory/echo/actors/decay'
|
|
14
14
|
|
|
15
|
-
RSpec.describe Legion::Extensions::Agentic::Memory::Echo::
|
|
15
|
+
RSpec.describe Legion::Extensions::Agentic::Memory::Echo::Actor::Decay do
|
|
16
16
|
subject(:actor) { described_class.new }
|
|
17
17
|
|
|
18
18
|
it { expect(actor.runner_class).to eq(Legion::Extensions::Agentic::Memory::Echo::Runners::CognitiveEcho) }
|
|
@@ -12,7 +12,7 @@ $LOADED_FEATURES << 'legion/extensions/actors/every'
|
|
|
12
12
|
|
|
13
13
|
require 'legion/extensions/agentic/memory/echo_chamber/actors/decay'
|
|
14
14
|
|
|
15
|
-
RSpec.describe Legion::Extensions::Agentic::Memory::EchoChamber::
|
|
15
|
+
RSpec.describe Legion::Extensions::Agentic::Memory::EchoChamber::Actor::Decay do
|
|
16
16
|
subject(:actor) { described_class.new }
|
|
17
17
|
|
|
18
18
|
it { expect(actor.runner_class).to eq(Legion::Extensions::Agentic::Memory::EchoChamber::Runners::CognitiveEchoChamber) }
|
|
@@ -12,7 +12,7 @@ $LOADED_FEATURES << 'legion/extensions/actors/every'
|
|
|
12
12
|
|
|
13
13
|
require 'legion/extensions/agentic/memory/immune_memory/actors/decay'
|
|
14
14
|
|
|
15
|
-
RSpec.describe Legion::Extensions::Agentic::Memory::ImmuneMemory::
|
|
15
|
+
RSpec.describe Legion::Extensions::Agentic::Memory::ImmuneMemory::Actor::Decay do
|
|
16
16
|
subject(:actor) { described_class.new }
|
|
17
17
|
|
|
18
18
|
it { expect(actor.runner_class).to eq(Legion::Extensions::Agentic::Memory::ImmuneMemory::Runners::CognitiveImmuneMemory) }
|
|
@@ -12,7 +12,7 @@ $LOADED_FEATURES << 'legion/extensions/actors/every'
|
|
|
12
12
|
|
|
13
13
|
require 'legion/extensions/agentic/memory/nostalgia/actors/maintenance'
|
|
14
14
|
|
|
15
|
-
RSpec.describe Legion::Extensions::Agentic::Memory::Nostalgia::
|
|
15
|
+
RSpec.describe Legion::Extensions::Agentic::Memory::Nostalgia::Actor::Maintenance do
|
|
16
16
|
subject(:actor) { described_class.new }
|
|
17
17
|
|
|
18
18
|
it { expect(actor.runner_class).to eq(Legion::Extensions::Agentic::Memory::Nostalgia::Runners::Recall) }
|
|
@@ -12,7 +12,7 @@ $LOADED_FEATURES << 'legion/extensions/actors/every'
|
|
|
12
12
|
|
|
13
13
|
require 'legion/extensions/agentic/memory/palimpsest/actors/decay'
|
|
14
14
|
|
|
15
|
-
RSpec.describe Legion::Extensions::Agentic::Memory::Palimpsest::
|
|
15
|
+
RSpec.describe Legion::Extensions::Agentic::Memory::Palimpsest::Actor::Decay do
|
|
16
16
|
subject(:actor) { described_class.new }
|
|
17
17
|
|
|
18
18
|
it { expect(actor.runner_class).to eq(Legion::Extensions::Agentic::Memory::Palimpsest::Runners::CognitivePalimpsest) }
|
|
@@ -12,7 +12,7 @@ $LOADED_FEATURES << 'legion/extensions/actors/every'
|
|
|
12
12
|
|
|
13
13
|
require 'legion/extensions/agentic/memory/reserve/actors/maintenance'
|
|
14
14
|
|
|
15
|
-
RSpec.describe Legion::Extensions::Agentic::Memory::Reserve::
|
|
15
|
+
RSpec.describe Legion::Extensions::Agentic::Memory::Reserve::Actor::Maintenance do
|
|
16
16
|
subject(:actor) { described_class.new }
|
|
17
17
|
|
|
18
18
|
it { expect(actor.runner_class).to eq(Legion::Extensions::Agentic::Memory::Reserve::Runners::CognitiveReserve) }
|
|
@@ -12,7 +12,7 @@ $LOADED_FEATURES << 'legion/extensions/actors/every'
|
|
|
12
12
|
|
|
13
13
|
require 'legion/extensions/agentic/memory/semantic_priming/actors/decay'
|
|
14
14
|
|
|
15
|
-
RSpec.describe Legion::Extensions::Agentic::Memory::SemanticPriming::
|
|
15
|
+
RSpec.describe Legion::Extensions::Agentic::Memory::SemanticPriming::Actor::Decay do
|
|
16
16
|
subject(:actor) { described_class.new }
|
|
17
17
|
|
|
18
18
|
it { expect(actor.runner_class).to eq(Legion::Extensions::Agentic::Memory::SemanticPriming::Runners::SemanticPriming) }
|
|
@@ -12,7 +12,7 @@ $LOADED_FEATURES << 'legion/extensions/actors/every'
|
|
|
12
12
|
|
|
13
13
|
require 'legion/extensions/agentic/memory/semantic_satiation/actors/recovery'
|
|
14
14
|
|
|
15
|
-
RSpec.describe Legion::Extensions::Agentic::Memory::SemanticSatiation::
|
|
15
|
+
RSpec.describe Legion::Extensions::Agentic::Memory::SemanticSatiation::Actor::Recovery do
|
|
16
16
|
subject(:actor) { described_class.new }
|
|
17
17
|
|
|
18
18
|
it { expect(actor.runner_class).to eq(Legion::Extensions::Agentic::Memory::SemanticSatiation::Runners::SemanticSatiation) }
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
require 'spec_helper'
|
|
4
|
+
|
|
5
|
+
RSpec.describe Legion::Extensions::Agentic::Memory::Trace::Helpers::ErrorTracer do
|
|
6
|
+
# Capture originals before any example runs so we can restore after each
|
|
7
|
+
original_error = Legion::Logging.method(:error)
|
|
8
|
+
original_fatal = Legion::Logging.method(:fatal)
|
|
9
|
+
|
|
10
|
+
before do
|
|
11
|
+
# Reset state between examples
|
|
12
|
+
described_class.instance_variable_set(:@active, nil)
|
|
13
|
+
described_class.instance_variable_set(:@recent, nil)
|
|
14
|
+
described_class.instance_variable_set(:@runner, nil)
|
|
15
|
+
end
|
|
16
|
+
|
|
17
|
+
after do
|
|
18
|
+
# Restore logging singleton methods to prevent cross-test side effects
|
|
19
|
+
Legion::Logging.define_singleton_method(:error, &original_error)
|
|
20
|
+
Legion::Logging.define_singleton_method(:fatal, &original_fatal)
|
|
21
|
+
end
|
|
22
|
+
|
|
23
|
+
describe '.setup' do
|
|
24
|
+
it 'activates without raising' do
|
|
25
|
+
expect { described_class.setup }.not_to raise_error
|
|
26
|
+
expect(described_class.active?).to be true
|
|
27
|
+
end
|
|
28
|
+
|
|
29
|
+
it 'is idempotent' do
|
|
30
|
+
described_class.setup
|
|
31
|
+
described_class.setup
|
|
32
|
+
expect(described_class.active?).to be true
|
|
33
|
+
end
|
|
34
|
+
end
|
|
35
|
+
|
|
36
|
+
describe '.active?' do
|
|
37
|
+
it 'returns false before setup' do
|
|
38
|
+
expect(described_class.active?).to be false
|
|
39
|
+
end
|
|
40
|
+
|
|
41
|
+
it 'returns true after setup' do
|
|
42
|
+
described_class.setup
|
|
43
|
+
expect(described_class.active?).to be true
|
|
44
|
+
end
|
|
45
|
+
end
|
|
46
|
+
end
|
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: lex-agentic-memory
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.1.
|
|
4
|
+
version: 0.1.18
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Esity
|
|
@@ -149,6 +149,20 @@ dependencies:
|
|
|
149
149
|
- - "~>"
|
|
150
150
|
- !ruby/object:Gem::Version
|
|
151
151
|
version: '1.60'
|
|
152
|
+
- !ruby/object:Gem::Dependency
|
|
153
|
+
name: rubocop-legion
|
|
154
|
+
requirement: !ruby/object:Gem::Requirement
|
|
155
|
+
requirements:
|
|
156
|
+
- - "~>"
|
|
157
|
+
- !ruby/object:Gem::Version
|
|
158
|
+
version: '0.1'
|
|
159
|
+
type: :development
|
|
160
|
+
prerelease: false
|
|
161
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
162
|
+
requirements:
|
|
163
|
+
- - "~>"
|
|
164
|
+
- !ruby/object:Gem::Version
|
|
165
|
+
version: '0.1'
|
|
152
166
|
- !ruby/object:Gem::Dependency
|
|
153
167
|
name: rubocop-rspec
|
|
154
168
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -447,6 +461,7 @@ files:
|
|
|
447
461
|
- spec/legion/extensions/agentic/memory/trace/batch_decay_spec.rb
|
|
448
462
|
- spec/legion/extensions/agentic/memory/trace/client_spec.rb
|
|
449
463
|
- spec/legion/extensions/agentic/memory/trace/helpers/decay_spec.rb
|
|
464
|
+
- spec/legion/extensions/agentic/memory/trace/helpers/error_tracer_spec.rb
|
|
450
465
|
- spec/legion/extensions/agentic/memory/trace/helpers/hot_tier_spec.rb
|
|
451
466
|
- spec/legion/extensions/agentic/memory/trace/helpers/postgres_store_spec.rb
|
|
452
467
|
- spec/legion/extensions/agentic/memory/trace/helpers/snapshot_spec.rb
|