lex-agentic-memory 0.1.8 → 0.1.9

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.
Files changed (29) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +6 -1
  3. data/lib/legion/extensions/agentic/memory/archaeology/actors/decay.rb +22 -0
  4. data/lib/legion/extensions/agentic/memory/archaeology/runners/cognitive_archaeology.rb +6 -0
  5. data/lib/legion/extensions/agentic/memory/compression/actors/maintenance.rb +22 -0
  6. data/lib/legion/extensions/agentic/memory/echo/actors/decay.rb +22 -0
  7. data/lib/legion/extensions/agentic/memory/echo_chamber/actors/decay.rb +22 -0
  8. data/lib/legion/extensions/agentic/memory/echo_chamber/runners/cognitive_echo_chamber.rb +6 -0
  9. data/lib/legion/extensions/agentic/memory/immune_memory/actors/decay.rb +22 -0
  10. data/lib/legion/extensions/agentic/memory/nostalgia/actors/maintenance.rb +22 -0
  11. data/lib/legion/extensions/agentic/memory/palimpsest/actors/decay.rb +22 -0
  12. data/lib/legion/extensions/agentic/memory/reserve/actors/maintenance.rb +22 -0
  13. data/lib/legion/extensions/agentic/memory/semantic_priming/actors/decay.rb +22 -0
  14. data/lib/legion/extensions/agentic/memory/semantic_satiation/actors/recovery.rb +22 -0
  15. data/lib/legion/extensions/agentic/memory/trace/actors/quota.rb +22 -0
  16. data/lib/legion/extensions/agentic/memory/trace/runners/consolidation.rb +7 -0
  17. data/lib/legion/extensions/agentic/memory/version.rb +1 -1
  18. data/spec/legion/extensions/agentic/memory/archaeology/actors/decay_spec.rb +24 -0
  19. data/spec/legion/extensions/agentic/memory/compression/actors/maintenance_spec.rb +24 -0
  20. data/spec/legion/extensions/agentic/memory/echo/actors/decay_spec.rb +24 -0
  21. data/spec/legion/extensions/agentic/memory/echo_chamber/actors/decay_spec.rb +24 -0
  22. data/spec/legion/extensions/agentic/memory/immune_memory/actors/decay_spec.rb +24 -0
  23. data/spec/legion/extensions/agentic/memory/nostalgia/actors/maintenance_spec.rb +24 -0
  24. data/spec/legion/extensions/agentic/memory/palimpsest/actors/decay_spec.rb +24 -0
  25. data/spec/legion/extensions/agentic/memory/reserve/actors/maintenance_spec.rb +24 -0
  26. data/spec/legion/extensions/agentic/memory/semantic_priming/actors/decay_spec.rb +24 -0
  27. data/spec/legion/extensions/agentic/memory/semantic_satiation/actors/recovery_spec.rb +24 -0
  28. data/spec/legion/extensions/agentic/memory/trace/actors/quota_spec.rb +24 -0
  29. metadata +23 -1
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 9df4d40acddf847a91c9b778461c54d9ce0353a071f54d232e12a249df899b01
4
- data.tar.gz: a41a803969657a0029fae7262f8889ecd2641483aed0dc628d3482990aa3c067
3
+ metadata.gz: 9e7d4306cac20ea6106de6c5961c23651a3a891d1891ae986869904141e8374c
4
+ data.tar.gz: 77a5a10d16f09dd6c9f3057219435c676909529740e2d6d429932f542d601e46
5
5
  SHA512:
6
- metadata.gz: c8e84baa2ab49fa7b8c79e6c0b572c5ab1f051b69ead4220435492e46a851b4052f67dd19b40ed3a0097c18895d9349212b34e9b50e3e66be00e6980d243b20a
7
- data.tar.gz: 66c47eb11ed41a51e284681d82c6f5936a88771fd218cc74ffeec913605ff9b07507af8522d490fa6eeeb4edb316d97c9f1bb157019bcca1801632e4f575c227
6
+ metadata.gz: d1d4ad0cb84988d8d76965f45017429caa2d3e77d6bf184673d4353fc249547d61da10853c297891c496c56862d93fa010130f53c28fbd054b61cff91bfb6c0f
7
+ data.tar.gz: 86ff6e678ebc1d9f3690966cbef2a3e6f90fb1635eaa78b0911734cf2a3dd230b63672365c9c1e87cf4a3081513cd05d4e2cf74258b969978f9d8512a4347bc2
data/CHANGELOG.md CHANGED
@@ -1,6 +1,11 @@
1
1
  # Changelog
2
2
 
3
- ## [Unreleased]
3
+ ## [0.1.9] - 2026-03-25
4
+
5
+ ### Added
6
+ - Periodic actors for 10 sub-modules: Archaeology (decay), Compression (maintenance), Echo (decay), EchoChamber (decay), ImmuneMemory (decay), Nostalgia (maintenance), Palimpsest (decay), Reserve (maintenance), SemanticPriming (decay), SemanticSatiation (recovery) (closes #1)
7
+ - Quota enforcement actor for Trace (runs every 300s, calls enforce_quota) (closes #2)
8
+ - Runner methods: `decay_all` for Archaeology and EchoChamber, `enforce_quota` for Trace::Consolidation
4
9
 
5
10
  ### Fixed
6
11
  - Add Mutex synchronization to trace Store and CacheStore for thread safety during concurrent tick cycles
@@ -0,0 +1,22 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Legion
4
+ module Extensions
5
+ module Agentic
6
+ module Memory
7
+ module Archaeology
8
+ module Actors
9
+ class Decay < Legion::Extensions::Actors::Every
10
+ def runner_class = Runners::CognitiveArchaeology
11
+ def runner_function = 'decay_all'
12
+ def time = 120
13
+ def use_runner? = false
14
+ def check_subtask? = false
15
+ def generate_task? = false
16
+ end
17
+ end
18
+ end
19
+ end
20
+ end
21
+ end
22
+ end
@@ -53,6 +53,12 @@ module Legion
53
53
  count: results.size }
54
54
  end
55
55
 
56
+ def decay_all(rate: Helpers::Constants::PRESERVATION_DECAY, engine: nil, **)
57
+ eng = resolve_engine(engine)
58
+ eng.decay_all!(rate: rate)
59
+ { success: true, remaining: eng.all_artifacts.size }
60
+ end
61
+
56
62
  def archaeology_status(engine: nil, **)
57
63
  eng = resolve_engine(engine)
58
64
  { success: true, report: eng.archaeology_report }
@@ -0,0 +1,22 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Legion
4
+ module Extensions
5
+ module Agentic
6
+ module Memory
7
+ module Compression
8
+ module Actors
9
+ class Maintenance < Legion::Extensions::Actors::Every
10
+ def runner_class = Runners::CognitiveCompression
11
+ def runner_function = 'compress_all'
12
+ def time = 300
13
+ def use_runner? = false
14
+ def check_subtask? = false
15
+ def generate_task? = false
16
+ end
17
+ end
18
+ end
19
+ end
20
+ end
21
+ end
22
+ end
@@ -0,0 +1,22 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Legion
4
+ module Extensions
5
+ module Agentic
6
+ module Memory
7
+ module Echo
8
+ module Actors
9
+ class Decay < Legion::Extensions::Actors::Every
10
+ def runner_class = Runners::CognitiveEcho
11
+ def runner_function = 'decay_all'
12
+ def time = 60
13
+ def use_runner? = false
14
+ def check_subtask? = false
15
+ def generate_task? = false
16
+ end
17
+ end
18
+ end
19
+ end
20
+ end
21
+ end
22
+ end
@@ -0,0 +1,22 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Legion
4
+ module Extensions
5
+ module Agentic
6
+ module Memory
7
+ module EchoChamber
8
+ module Actors
9
+ class Decay < Legion::Extensions::Actors::Every
10
+ def runner_class = Runners::CognitiveEchoChamber
11
+ def runner_function = 'decay_all'
12
+ def time = 60
13
+ def use_runner? = false
14
+ def check_subtask? = false
15
+ def generate_task? = false
16
+ end
17
+ end
18
+ end
19
+ end
20
+ end
21
+ end
22
+ end
@@ -65,6 +65,12 @@ module Legion
65
65
  { success: true, echoes: echoes.map(&:to_h), count: echoes.size }
66
66
  end
67
67
 
68
+ def decay_all(engine: nil, **)
69
+ eng = engine || default_engine
70
+ eng.decay_all!
71
+ { success: true, **eng.echo_report }
72
+ end
73
+
68
74
  def chamber_status(engine: nil, **)
69
75
  eng = engine || default_engine
70
76
  { success: true, **eng.echo_report }
@@ -0,0 +1,22 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Legion
4
+ module Extensions
5
+ module Agentic
6
+ module Memory
7
+ module ImmuneMemory
8
+ module Actors
9
+ class Decay < Legion::Extensions::Actors::Every
10
+ def runner_class = Runners::CognitiveImmuneMemory
11
+ def runner_function = 'decay_all'
12
+ def time = 60
13
+ def use_runner? = false
14
+ def check_subtask? = false
15
+ def generate_task? = false
16
+ end
17
+ end
18
+ end
19
+ end
20
+ end
21
+ end
22
+ end
@@ -0,0 +1,22 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Legion
4
+ module Extensions
5
+ module Agentic
6
+ module Memory
7
+ module Nostalgia
8
+ module Actors
9
+ class Maintenance < Legion::Extensions::Actors::Every
10
+ def runner_class = Runners::Recall
11
+ def runner_function = 'age_memories'
12
+ def time = 120
13
+ def use_runner? = false
14
+ def check_subtask? = false
15
+ def generate_task? = false
16
+ end
17
+ end
18
+ end
19
+ end
20
+ end
21
+ end
22
+ end
@@ -0,0 +1,22 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Legion
4
+ module Extensions
5
+ module Agentic
6
+ module Memory
7
+ module Palimpsest
8
+ module Actors
9
+ class Decay < Legion::Extensions::Actors::Every
10
+ def runner_class = Runners::CognitivePalimpsest
11
+ def runner_function = 'decay_all_ghosts'
12
+ def time = 60
13
+ def use_runner? = false
14
+ def check_subtask? = false
15
+ def generate_task? = false
16
+ end
17
+ end
18
+ end
19
+ end
20
+ end
21
+ end
22
+ end
@@ -0,0 +1,22 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Legion
4
+ module Extensions
5
+ module Agentic
6
+ module Memory
7
+ module Reserve
8
+ module Actors
9
+ class Maintenance < Legion::Extensions::Actors::Every
10
+ def runner_class = Runners::CognitiveReserve
11
+ def runner_function = 'update_cognitive_reserve'
12
+ def time = 60
13
+ def use_runner? = false
14
+ def check_subtask? = false
15
+ def generate_task? = false
16
+ end
17
+ end
18
+ end
19
+ end
20
+ end
21
+ end
22
+ end
@@ -0,0 +1,22 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Legion
4
+ module Extensions
5
+ module Agentic
6
+ module Memory
7
+ module SemanticPriming
8
+ module Actors
9
+ class Decay < Legion::Extensions::Actors::Every
10
+ def runner_class = Runners::SemanticPriming
11
+ def runner_function = 'decay'
12
+ def time = 30
13
+ def use_runner? = false
14
+ def check_subtask? = false
15
+ def generate_task? = false
16
+ end
17
+ end
18
+ end
19
+ end
20
+ end
21
+ end
22
+ end
@@ -0,0 +1,22 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Legion
4
+ module Extensions
5
+ module Agentic
6
+ module Memory
7
+ module SemanticSatiation
8
+ module Actors
9
+ class Recovery < Legion::Extensions::Actors::Every
10
+ def runner_class = Runners::SemanticSatiation
11
+ def runner_function = 'recover'
12
+ def time = 60
13
+ def use_runner? = false
14
+ def check_subtask? = false
15
+ def generate_task? = false
16
+ end
17
+ end
18
+ end
19
+ end
20
+ end
21
+ end
22
+ end
@@ -0,0 +1,22 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Legion
4
+ module Extensions
5
+ module Agentic
6
+ module Memory
7
+ module Trace
8
+ module Actor
9
+ class Quota < Legion::Extensions::Actors::Every
10
+ def runner_class = Runners::Consolidation
11
+ def runner_function = 'enforce_quota'
12
+ def time = 300
13
+ def use_runner? = false
14
+ def check_subtask? = false
15
+ def generate_task? = false
16
+ end
17
+ end
18
+ end
19
+ end
20
+ end
21
+ end
22
+ end
@@ -86,6 +86,13 @@ module Legion
86
86
  { linked: true }
87
87
  end
88
88
 
89
+ def enforce_quota(store: nil, **)
90
+ store ||= default_store
91
+ quota = Quota.new
92
+ quota.enforce!(store)
93
+ { success: true, within_limits: quota.within_limits?(store) }
94
+ end
95
+
89
96
  def erase_by_type(type:, store: nil, **)
90
97
  store ||= default_store
91
98
  type = type.to_sym
@@ -4,7 +4,7 @@ module Legion
4
4
  module Extensions
5
5
  module Agentic
6
6
  module Memory
7
- VERSION = '0.1.8'
7
+ VERSION = '0.1.9'
8
8
  end
9
9
  end
10
10
  end
@@ -0,0 +1,24 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Legion
4
+ module Extensions
5
+ module Actors
6
+ class Every # rubocop:disable Lint/EmptyClass
7
+ end
8
+ end
9
+ end
10
+ end
11
+ $LOADED_FEATURES << 'legion/extensions/actors/every'
12
+
13
+ require 'legion/extensions/agentic/memory/archaeology/actors/decay'
14
+
15
+ RSpec.describe Legion::Extensions::Agentic::Memory::Archaeology::Actors::Decay do
16
+ subject(:actor) { described_class.new }
17
+
18
+ it { expect(actor.runner_class).to eq(Legion::Extensions::Agentic::Memory::Archaeology::Runners::CognitiveArchaeology) }
19
+ it { expect(actor.runner_function).to eq('decay_all') }
20
+ it { expect(actor.time).to eq(120) }
21
+ it { expect(actor.use_runner?).to be false }
22
+ it { expect(actor.check_subtask?).to be false }
23
+ it { expect(actor.generate_task?).to be false }
24
+ end
@@ -0,0 +1,24 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Legion
4
+ module Extensions
5
+ module Actors
6
+ class Every # rubocop:disable Lint/EmptyClass
7
+ end
8
+ end
9
+ end
10
+ end
11
+ $LOADED_FEATURES << 'legion/extensions/actors/every'
12
+
13
+ require 'legion/extensions/agentic/memory/compression/actors/maintenance'
14
+
15
+ RSpec.describe Legion::Extensions::Agentic::Memory::Compression::Actors::Maintenance do
16
+ subject(:actor) { described_class.new }
17
+
18
+ it { expect(actor.runner_class).to eq(Legion::Extensions::Agentic::Memory::Compression::Runners::CognitiveCompression) }
19
+ it { expect(actor.runner_function).to eq('compress_all') }
20
+ it { expect(actor.time).to eq(300) }
21
+ it { expect(actor.use_runner?).to be false }
22
+ it { expect(actor.check_subtask?).to be false }
23
+ it { expect(actor.generate_task?).to be false }
24
+ end
@@ -0,0 +1,24 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Legion
4
+ module Extensions
5
+ module Actors
6
+ class Every # rubocop:disable Lint/EmptyClass
7
+ end
8
+ end
9
+ end
10
+ end
11
+ $LOADED_FEATURES << 'legion/extensions/actors/every'
12
+
13
+ require 'legion/extensions/agentic/memory/echo/actors/decay'
14
+
15
+ RSpec.describe Legion::Extensions::Agentic::Memory::Echo::Actors::Decay do
16
+ subject(:actor) { described_class.new }
17
+
18
+ it { expect(actor.runner_class).to eq(Legion::Extensions::Agentic::Memory::Echo::Runners::CognitiveEcho) }
19
+ it { expect(actor.runner_function).to eq('decay_all') }
20
+ it { expect(actor.time).to eq(60) }
21
+ it { expect(actor.use_runner?).to be false }
22
+ it { expect(actor.check_subtask?).to be false }
23
+ it { expect(actor.generate_task?).to be false }
24
+ end
@@ -0,0 +1,24 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Legion
4
+ module Extensions
5
+ module Actors
6
+ class Every # rubocop:disable Lint/EmptyClass
7
+ end
8
+ end
9
+ end
10
+ end
11
+ $LOADED_FEATURES << 'legion/extensions/actors/every'
12
+
13
+ require 'legion/extensions/agentic/memory/echo_chamber/actors/decay'
14
+
15
+ RSpec.describe Legion::Extensions::Agentic::Memory::EchoChamber::Actors::Decay do
16
+ subject(:actor) { described_class.new }
17
+
18
+ it { expect(actor.runner_class).to eq(Legion::Extensions::Agentic::Memory::EchoChamber::Runners::CognitiveEchoChamber) }
19
+ it { expect(actor.runner_function).to eq('decay_all') }
20
+ it { expect(actor.time).to eq(60) }
21
+ it { expect(actor.use_runner?).to be false }
22
+ it { expect(actor.check_subtask?).to be false }
23
+ it { expect(actor.generate_task?).to be false }
24
+ end
@@ -0,0 +1,24 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Legion
4
+ module Extensions
5
+ module Actors
6
+ class Every # rubocop:disable Lint/EmptyClass
7
+ end
8
+ end
9
+ end
10
+ end
11
+ $LOADED_FEATURES << 'legion/extensions/actors/every'
12
+
13
+ require 'legion/extensions/agentic/memory/immune_memory/actors/decay'
14
+
15
+ RSpec.describe Legion::Extensions::Agentic::Memory::ImmuneMemory::Actors::Decay do
16
+ subject(:actor) { described_class.new }
17
+
18
+ it { expect(actor.runner_class).to eq(Legion::Extensions::Agentic::Memory::ImmuneMemory::Runners::CognitiveImmuneMemory) }
19
+ it { expect(actor.runner_function).to eq('decay_all') }
20
+ it { expect(actor.time).to eq(60) }
21
+ it { expect(actor.use_runner?).to be false }
22
+ it { expect(actor.check_subtask?).to be false }
23
+ it { expect(actor.generate_task?).to be false }
24
+ end
@@ -0,0 +1,24 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Legion
4
+ module Extensions
5
+ module Actors
6
+ class Every # rubocop:disable Lint/EmptyClass
7
+ end
8
+ end
9
+ end
10
+ end
11
+ $LOADED_FEATURES << 'legion/extensions/actors/every'
12
+
13
+ require 'legion/extensions/agentic/memory/nostalgia/actors/maintenance'
14
+
15
+ RSpec.describe Legion::Extensions::Agentic::Memory::Nostalgia::Actors::Maintenance do
16
+ subject(:actor) { described_class.new }
17
+
18
+ it { expect(actor.runner_class).to eq(Legion::Extensions::Agentic::Memory::Nostalgia::Runners::Recall) }
19
+ it { expect(actor.runner_function).to eq('age_memories') }
20
+ it { expect(actor.time).to eq(120) }
21
+ it { expect(actor.use_runner?).to be false }
22
+ it { expect(actor.check_subtask?).to be false }
23
+ it { expect(actor.generate_task?).to be false }
24
+ end
@@ -0,0 +1,24 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Legion
4
+ module Extensions
5
+ module Actors
6
+ class Every # rubocop:disable Lint/EmptyClass
7
+ end
8
+ end
9
+ end
10
+ end
11
+ $LOADED_FEATURES << 'legion/extensions/actors/every'
12
+
13
+ require 'legion/extensions/agentic/memory/palimpsest/actors/decay'
14
+
15
+ RSpec.describe Legion::Extensions::Agentic::Memory::Palimpsest::Actors::Decay do
16
+ subject(:actor) { described_class.new }
17
+
18
+ it { expect(actor.runner_class).to eq(Legion::Extensions::Agentic::Memory::Palimpsest::Runners::CognitivePalimpsest) }
19
+ it { expect(actor.runner_function).to eq('decay_all_ghosts') }
20
+ it { expect(actor.time).to eq(60) }
21
+ it { expect(actor.use_runner?).to be false }
22
+ it { expect(actor.check_subtask?).to be false }
23
+ it { expect(actor.generate_task?).to be false }
24
+ end
@@ -0,0 +1,24 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Legion
4
+ module Extensions
5
+ module Actors
6
+ class Every # rubocop:disable Lint/EmptyClass
7
+ end
8
+ end
9
+ end
10
+ end
11
+ $LOADED_FEATURES << 'legion/extensions/actors/every'
12
+
13
+ require 'legion/extensions/agentic/memory/reserve/actors/maintenance'
14
+
15
+ RSpec.describe Legion::Extensions::Agentic::Memory::Reserve::Actors::Maintenance do
16
+ subject(:actor) { described_class.new }
17
+
18
+ it { expect(actor.runner_class).to eq(Legion::Extensions::Agentic::Memory::Reserve::Runners::CognitiveReserve) }
19
+ it { expect(actor.runner_function).to eq('update_cognitive_reserve') }
20
+ it { expect(actor.time).to eq(60) }
21
+ it { expect(actor.use_runner?).to be false }
22
+ it { expect(actor.check_subtask?).to be false }
23
+ it { expect(actor.generate_task?).to be false }
24
+ end
@@ -0,0 +1,24 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Legion
4
+ module Extensions
5
+ module Actors
6
+ class Every # rubocop:disable Lint/EmptyClass
7
+ end
8
+ end
9
+ end
10
+ end
11
+ $LOADED_FEATURES << 'legion/extensions/actors/every'
12
+
13
+ require 'legion/extensions/agentic/memory/semantic_priming/actors/decay'
14
+
15
+ RSpec.describe Legion::Extensions::Agentic::Memory::SemanticPriming::Actors::Decay do
16
+ subject(:actor) { described_class.new }
17
+
18
+ it { expect(actor.runner_class).to eq(Legion::Extensions::Agentic::Memory::SemanticPriming::Runners::SemanticPriming) }
19
+ it { expect(actor.runner_function).to eq('decay') }
20
+ it { expect(actor.time).to eq(30) }
21
+ it { expect(actor.use_runner?).to be false }
22
+ it { expect(actor.check_subtask?).to be false }
23
+ it { expect(actor.generate_task?).to be false }
24
+ end
@@ -0,0 +1,24 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Legion
4
+ module Extensions
5
+ module Actors
6
+ class Every # rubocop:disable Lint/EmptyClass
7
+ end
8
+ end
9
+ end
10
+ end
11
+ $LOADED_FEATURES << 'legion/extensions/actors/every'
12
+
13
+ require 'legion/extensions/agentic/memory/semantic_satiation/actors/recovery'
14
+
15
+ RSpec.describe Legion::Extensions::Agentic::Memory::SemanticSatiation::Actors::Recovery do
16
+ subject(:actor) { described_class.new }
17
+
18
+ it { expect(actor.runner_class).to eq(Legion::Extensions::Agentic::Memory::SemanticSatiation::Runners::SemanticSatiation) }
19
+ it { expect(actor.runner_function).to eq('recover') }
20
+ it { expect(actor.time).to eq(60) }
21
+ it { expect(actor.use_runner?).to be false }
22
+ it { expect(actor.check_subtask?).to be false }
23
+ it { expect(actor.generate_task?).to be false }
24
+ end
@@ -0,0 +1,24 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Legion
4
+ module Extensions
5
+ module Actors
6
+ class Every # rubocop:disable Lint/EmptyClass
7
+ end
8
+ end
9
+ end
10
+ end
11
+ $LOADED_FEATURES << 'legion/extensions/actors/every'
12
+
13
+ require 'legion/extensions/agentic/memory/trace/actors/quota'
14
+
15
+ RSpec.describe Legion::Extensions::Agentic::Memory::Trace::Actor::Quota do
16
+ subject(:actor) { described_class.new }
17
+
18
+ it { expect(actor.runner_class).to eq(Legion::Extensions::Agentic::Memory::Trace::Runners::Consolidation) }
19
+ it { expect(actor.runner_function).to eq('enforce_quota') }
20
+ it { expect(actor.time).to eq(300) }
21
+ it { expect(actor.use_runner?).to be false }
22
+ it { expect(actor.check_subtask?).to be false }
23
+ it { expect(actor.generate_task?).to be false }
24
+ 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.8
4
+ version: 0.1.9
5
5
  platform: ruby
6
6
  authors:
7
7
  - Esity
@@ -177,6 +177,7 @@ files:
177
177
  - lex-agentic-memory.gemspec
178
178
  - lib/legion/extensions/agentic/memory.rb
179
179
  - lib/legion/extensions/agentic/memory/archaeology.rb
180
+ - lib/legion/extensions/agentic/memory/archaeology/actors/decay.rb
180
181
  - lib/legion/extensions/agentic/memory/archaeology/client.rb
181
182
  - lib/legion/extensions/agentic/memory/archaeology/helpers/archaeology_engine.rb
182
183
  - lib/legion/extensions/agentic/memory/archaeology/helpers/artifact.rb
@@ -185,6 +186,7 @@ files:
185
186
  - lib/legion/extensions/agentic/memory/archaeology/runners/cognitive_archaeology.rb
186
187
  - lib/legion/extensions/agentic/memory/archaeology/version.rb
187
188
  - lib/legion/extensions/agentic/memory/compression.rb
189
+ - lib/legion/extensions/agentic/memory/compression/actors/maintenance.rb
188
190
  - lib/legion/extensions/agentic/memory/compression/client.rb
189
191
  - lib/legion/extensions/agentic/memory/compression/helpers/compression_engine.rb
190
192
  - lib/legion/extensions/agentic/memory/compression/helpers/constants.rb
@@ -192,6 +194,7 @@ files:
192
194
  - lib/legion/extensions/agentic/memory/compression/runners/cognitive_compression.rb
193
195
  - lib/legion/extensions/agentic/memory/compression/version.rb
194
196
  - lib/legion/extensions/agentic/memory/echo.rb
197
+ - lib/legion/extensions/agentic/memory/echo/actors/decay.rb
195
198
  - lib/legion/extensions/agentic/memory/echo/client.rb
196
199
  - lib/legion/extensions/agentic/memory/echo/helpers/constants.rb
197
200
  - lib/legion/extensions/agentic/memory/echo/helpers/echo.rb
@@ -199,6 +202,7 @@ files:
199
202
  - lib/legion/extensions/agentic/memory/echo/runners/cognitive_echo.rb
200
203
  - lib/legion/extensions/agentic/memory/echo/version.rb
201
204
  - lib/legion/extensions/agentic/memory/echo_chamber.rb
205
+ - lib/legion/extensions/agentic/memory/echo_chamber/actors/decay.rb
202
206
  - lib/legion/extensions/agentic/memory/echo_chamber/client.rb
203
207
  - lib/legion/extensions/agentic/memory/echo_chamber/helpers/chamber.rb
204
208
  - lib/legion/extensions/agentic/memory/echo_chamber/helpers/chamber_engine.rb
@@ -224,6 +228,7 @@ files:
224
228
  - lib/legion/extensions/agentic/memory/hologram/runners/cognitive_hologram.rb
225
229
  - lib/legion/extensions/agentic/memory/hologram/version.rb
226
230
  - lib/legion/extensions/agentic/memory/immune_memory.rb
231
+ - lib/legion/extensions/agentic/memory/immune_memory/actors/decay.rb
227
232
  - lib/legion/extensions/agentic/memory/immune_memory/client.rb
228
233
  - lib/legion/extensions/agentic/memory/immune_memory/helpers/constants.rb
229
234
  - lib/legion/extensions/agentic/memory/immune_memory/helpers/encounter.rb
@@ -232,6 +237,7 @@ files:
232
237
  - lib/legion/extensions/agentic/memory/immune_memory/runners/cognitive_immune_memory.rb
233
238
  - lib/legion/extensions/agentic/memory/immune_memory/version.rb
234
239
  - lib/legion/extensions/agentic/memory/nostalgia.rb
240
+ - lib/legion/extensions/agentic/memory/nostalgia/actors/maintenance.rb
235
241
  - lib/legion/extensions/agentic/memory/nostalgia/client.rb
236
242
  - lib/legion/extensions/agentic/memory/nostalgia/helpers/constants.rb
237
243
  - lib/legion/extensions/agentic/memory/nostalgia/helpers/nostalgia_engine.rb
@@ -257,6 +263,7 @@ files:
257
263
  - lib/legion/extensions/agentic/memory/paleontology/runners/cognitive_paleontology.rb
258
264
  - lib/legion/extensions/agentic/memory/paleontology/version.rb
259
265
  - lib/legion/extensions/agentic/memory/palimpsest.rb
266
+ - lib/legion/extensions/agentic/memory/palimpsest/actors/decay.rb
260
267
  - lib/legion/extensions/agentic/memory/palimpsest/client.rb
261
268
  - lib/legion/extensions/agentic/memory/palimpsest/helpers/belief_layer.rb
262
269
  - lib/legion/extensions/agentic/memory/palimpsest/helpers/constants.rb
@@ -265,6 +272,7 @@ files:
265
272
  - lib/legion/extensions/agentic/memory/palimpsest/runners/cognitive_palimpsest.rb
266
273
  - lib/legion/extensions/agentic/memory/palimpsest/version.rb
267
274
  - lib/legion/extensions/agentic/memory/reserve.rb
275
+ - lib/legion/extensions/agentic/memory/reserve/actors/maintenance.rb
268
276
  - lib/legion/extensions/agentic/memory/reserve/client.rb
269
277
  - lib/legion/extensions/agentic/memory/reserve/helpers/constants.rb
270
278
  - lib/legion/extensions/agentic/memory/reserve/helpers/pathway.rb
@@ -280,6 +288,7 @@ files:
280
288
  - lib/legion/extensions/agentic/memory/semantic/runners/semantic_memory.rb
281
289
  - lib/legion/extensions/agentic/memory/semantic/version.rb
282
290
  - lib/legion/extensions/agentic/memory/semantic_priming.rb
291
+ - lib/legion/extensions/agentic/memory/semantic_priming/actors/decay.rb
283
292
  - lib/legion/extensions/agentic/memory/semantic_priming/client.rb
284
293
  - lib/legion/extensions/agentic/memory/semantic_priming/helpers/connection.rb
285
294
  - lib/legion/extensions/agentic/memory/semantic_priming/helpers/constants.rb
@@ -288,6 +297,7 @@ files:
288
297
  - lib/legion/extensions/agentic/memory/semantic_priming/runners/semantic_priming.rb
289
298
  - lib/legion/extensions/agentic/memory/semantic_priming/version.rb
290
299
  - lib/legion/extensions/agentic/memory/semantic_satiation.rb
300
+ - lib/legion/extensions/agentic/memory/semantic_satiation/actors/recovery.rb
291
301
  - lib/legion/extensions/agentic/memory/semantic_satiation/client.rb
292
302
  - lib/legion/extensions/agentic/memory/semantic_satiation/helpers/concept.rb
293
303
  - lib/legion/extensions/agentic/memory/semantic_satiation/helpers/constants.rb
@@ -304,6 +314,7 @@ files:
304
314
  - lib/legion/extensions/agentic/memory/source_monitoring/version.rb
305
315
  - lib/legion/extensions/agentic/memory/trace.rb
306
316
  - lib/legion/extensions/agentic/memory/trace/actors/decay.rb
317
+ - lib/legion/extensions/agentic/memory/trace/actors/quota.rb
307
318
  - lib/legion/extensions/agentic/memory/trace/actors/tier_migration.rb
308
319
  - lib/legion/extensions/agentic/memory/trace/batch_decay.rb
309
320
  - lib/legion/extensions/agentic/memory/trace/client.rb
@@ -328,6 +339,7 @@ files:
328
339
  - lib/legion/extensions/agentic/memory/transfer/runners/transfer_learning.rb
329
340
  - lib/legion/extensions/agentic/memory/transfer/version.rb
330
341
  - lib/legion/extensions/agentic/memory/version.rb
342
+ - spec/legion/extensions/agentic/memory/archaeology/actors/decay_spec.rb
331
343
  - spec/legion/extensions/agentic/memory/archaeology/client_spec.rb
332
344
  - spec/legion/extensions/agentic/memory/archaeology/cognitive_archaeology_spec.rb
333
345
  - spec/legion/extensions/agentic/memory/archaeology/helpers/archaeology_engine_spec.rb
@@ -335,15 +347,18 @@ files:
335
347
  - spec/legion/extensions/agentic/memory/archaeology/helpers/constants_spec.rb
336
348
  - spec/legion/extensions/agentic/memory/archaeology/helpers/excavation_site_spec.rb
337
349
  - spec/legion/extensions/agentic/memory/archaeology/runners/cognitive_archaeology_spec.rb
350
+ - spec/legion/extensions/agentic/memory/compression/actors/maintenance_spec.rb
338
351
  - spec/legion/extensions/agentic/memory/compression/helpers/compression_engine_spec.rb
339
352
  - spec/legion/extensions/agentic/memory/compression/helpers/constants_spec.rb
340
353
  - spec/legion/extensions/agentic/memory/compression/helpers/information_chunk_spec.rb
341
354
  - spec/legion/extensions/agentic/memory/compression/runners/cognitive_compression_spec.rb
355
+ - spec/legion/extensions/agentic/memory/echo/actors/decay_spec.rb
342
356
  - spec/legion/extensions/agentic/memory/echo/client_spec.rb
343
357
  - spec/legion/extensions/agentic/memory/echo/cognitive_echo_spec.rb
344
358
  - spec/legion/extensions/agentic/memory/echo/helpers/echo_engine_spec.rb
345
359
  - spec/legion/extensions/agentic/memory/echo/helpers/echo_spec.rb
346
360
  - spec/legion/extensions/agentic/memory/echo/runners_spec.rb
361
+ - spec/legion/extensions/agentic/memory/echo_chamber/actors/decay_spec.rb
347
362
  - spec/legion/extensions/agentic/memory/echo_chamber/client_spec.rb
348
363
  - spec/legion/extensions/agentic/memory/echo_chamber/helpers/chamber_engine_spec.rb
349
364
  - spec/legion/extensions/agentic/memory/echo_chamber/helpers/chamber_spec.rb
@@ -365,12 +380,14 @@ files:
365
380
  - spec/legion/extensions/agentic/memory/hologram/helpers/hologram_spec.rb
366
381
  - spec/legion/extensions/agentic/memory/hologram/helpers/holographic_fragment_spec.rb
367
382
  - spec/legion/extensions/agentic/memory/hologram/runners/cognitive_hologram_spec.rb
383
+ - spec/legion/extensions/agentic/memory/immune_memory/actors/decay_spec.rb
368
384
  - spec/legion/extensions/agentic/memory/immune_memory/client_spec.rb
369
385
  - spec/legion/extensions/agentic/memory/immune_memory/cognitive_immune_memory_spec.rb
370
386
  - spec/legion/extensions/agentic/memory/immune_memory/helpers/encounter_spec.rb
371
387
  - spec/legion/extensions/agentic/memory/immune_memory/helpers/immune_memory_engine_spec.rb
372
388
  - spec/legion/extensions/agentic/memory/immune_memory/helpers/memory_cell_spec.rb
373
389
  - spec/legion/extensions/agentic/memory/immune_memory/runners_spec.rb
390
+ - spec/legion/extensions/agentic/memory/nostalgia/actors/maintenance_spec.rb
374
391
  - spec/legion/extensions/agentic/memory/nostalgia/client_spec.rb
375
392
  - spec/legion/extensions/agentic/memory/nostalgia/helpers/constants_spec.rb
376
393
  - spec/legion/extensions/agentic/memory/nostalgia/helpers/nostalgia_engine_spec.rb
@@ -391,12 +408,14 @@ files:
391
408
  - spec/legion/extensions/agentic/memory/paleontology/helpers/fossil_spec.rb
392
409
  - spec/legion/extensions/agentic/memory/paleontology/helpers/paleontology_engine_spec.rb
393
410
  - spec/legion/extensions/agentic/memory/paleontology/runners/cognitive_paleontology_spec.rb
411
+ - spec/legion/extensions/agentic/memory/palimpsest/actors/decay_spec.rb
394
412
  - spec/legion/extensions/agentic/memory/palimpsest/client_spec.rb
395
413
  - spec/legion/extensions/agentic/memory/palimpsest/helpers/belief_layer_spec.rb
396
414
  - spec/legion/extensions/agentic/memory/palimpsest/helpers/constants_spec.rb
397
415
  - spec/legion/extensions/agentic/memory/palimpsest/helpers/palimpsest_engine_spec.rb
398
416
  - spec/legion/extensions/agentic/memory/palimpsest/helpers/palimpsest_spec.rb
399
417
  - spec/legion/extensions/agentic/memory/palimpsest/runners/cognitive_palimpsest_spec.rb
418
+ - spec/legion/extensions/agentic/memory/reserve/actors/maintenance_spec.rb
400
419
  - spec/legion/extensions/agentic/memory/reserve/client_spec.rb
401
420
  - spec/legion/extensions/agentic/memory/reserve/helpers/pathway_spec.rb
402
421
  - spec/legion/extensions/agentic/memory/reserve/helpers/reserve_engine_spec.rb
@@ -405,10 +424,12 @@ files:
405
424
  - spec/legion/extensions/agentic/memory/semantic/helpers/concept_spec.rb
406
425
  - spec/legion/extensions/agentic/memory/semantic/helpers/knowledge_store_spec.rb
407
426
  - spec/legion/extensions/agentic/memory/semantic/runners/semantic_memory_spec.rb
427
+ - spec/legion/extensions/agentic/memory/semantic_priming/actors/decay_spec.rb
408
428
  - spec/legion/extensions/agentic/memory/semantic_priming/helpers/connection_spec.rb
409
429
  - spec/legion/extensions/agentic/memory/semantic_priming/helpers/priming_network_spec.rb
410
430
  - spec/legion/extensions/agentic/memory/semantic_priming/helpers/semantic_node_spec.rb
411
431
  - spec/legion/extensions/agentic/memory/semantic_priming/semantic_priming_spec.rb
432
+ - spec/legion/extensions/agentic/memory/semantic_satiation/actors/recovery_spec.rb
412
433
  - spec/legion/extensions/agentic/memory/semantic_satiation/client_spec.rb
413
434
  - spec/legion/extensions/agentic/memory/semantic_satiation/helpers/concept_spec.rb
414
435
  - spec/legion/extensions/agentic/memory/semantic_satiation/helpers/constants_spec.rb
@@ -419,6 +440,7 @@ files:
419
440
  - spec/legion/extensions/agentic/memory/source_monitoring/helpers/source_tracker_spec.rb
420
441
  - spec/legion/extensions/agentic/memory/source_monitoring/runners/source_monitoring_spec.rb
421
442
  - spec/legion/extensions/agentic/memory/trace/actors/decay_spec.rb
443
+ - spec/legion/extensions/agentic/memory/trace/actors/quota_spec.rb
422
444
  - spec/legion/extensions/agentic/memory/trace/actors/tier_migration_spec.rb
423
445
  - spec/legion/extensions/agentic/memory/trace/batch_decay_spec.rb
424
446
  - spec/legion/extensions/agentic/memory/trace/client_spec.rb