lex-agentic-integration 0.1.0 → 0.1.2

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 7932995a4925fd067cb3f9c308ef3c3d78f3b1b231d62b15c4e9fc5963a970ec
4
- data.tar.gz: 78a023175248ee9054ca4fbaa56c95de34b49915a64818f97b713cf914fbfc77
3
+ metadata.gz: c6396da751c19705470877d9d3d37405e1ef620df8f5fe0562c20fb624498154
4
+ data.tar.gz: 0ddae2402179c41cd2ae129936bf47375a8907942d6d99ea52b54c3848422933
5
5
  SHA512:
6
- metadata.gz: c346f01d4ede05e6e4ceab65e58807bbba6387c0b506485fdfa276a47b28db309e6dcf2f6cafd9a5a005efe2b37c64f1bd5070ed53a7407bdb79b4fec125ee64
7
- data.tar.gz: ab2124216a9a6d73473ef334853efc82a9873e6747bff7a16f8e5312b07addd905897c88a8bfddc567057c163c4d38c1ff7b823c259f4b05b9d11fe9850c6cdc
6
+ metadata.gz: c0e38be83f4050befbd94bc943c6bd3035357957ed459954455283014fddda24999b238231cbe29845fbe5696625b73bab83c60db5658d7d867ef27f94821866
7
+ data.tar.gz: 269df806ec858a0836897f66012058dc90948bc9038d0eb14ed63447e482e3aa33f9b020fc40956cc335515cc0d0d5f1f750dc826db1012f75b12ab4282b6aff
data/CHANGELOG.md CHANGED
@@ -2,6 +2,18 @@
2
2
 
3
3
  ## [Unreleased]
4
4
 
5
+ ## [0.1.2] - 2026-03-22
6
+
7
+ ### Changed
8
+ - Add 7 runtime sub-gem dependencies to gemspec (legion-cache, legion-crypt, legion-data, legion-json, legion-logging, legion-settings, legion-transport)
9
+ - Update spec_helper to use real sub-gem helpers (legion/logging, legion/settings, legion/cache/helper, legion/crypt/helper, legion/data/helper, legion/json/helper, legion/transport/helper) and properly compose Helpers::Lex with all helper modules
10
+
11
+ ## [0.1.1] - 2026-03-18
12
+
13
+ ### Changed
14
+ - Enforce STREAM_TYPES validation in PhenomenalBinding::BindingEngine#register_stream (returns nil for invalid types)
15
+ - Enforce BINDING_TYPES validation in PhenomenalBinding::BindingEngine#create_binding (returns nil for invalid types)
16
+
5
17
  ## [0.1.0] - 2026-03-18
6
18
 
7
19
  ### Added
data/README.md CHANGED
@@ -1,13 +1,55 @@
1
1
  # lex-agentic-integration
2
2
 
3
- LEX agentic integration domain: cross-domain binding and synthesis
3
+ Domain consolidation gem for global integration theories and cross-domain synthesis. Bundles 17 source extensions into one loadable unit under `Legion::Extensions::Agentic::Integration`.
4
4
 
5
- ## Sub-modules
5
+ ## Overview
6
6
 
7
- *(populated as extensions are consolidated)*
7
+ **Gem**: `lex-agentic-integration`
8
+ **Version**: 0.1.1
9
+ **Namespace**: `Legion::Extensions::Agentic::Integration`
10
+
11
+ ## Sub-Modules
12
+
13
+ | Sub-Module | Source Gem | Purpose |
14
+ |---|---|---|
15
+ | `Integration::Integration` | `lex-cognitive-integration` | Cross-domain integration of cognitive signals |
16
+ | `Integration::Synthesis` | `lex-cognitive-synthesis` | Active synthesis of disparate cognitive streams |
17
+ | `Integration::Tapestry` | `lex-cognitive-tapestry` | Weaving threads and tapestries — thread lifecycle, loom engine |
18
+ | `Integration::Mosaic` | `lex-cognitive-mosaic` | Mosaic pattern assembly from fragments |
19
+ | `Integration::Tessellation` | `lex-cognitive-tessellation` | Tessellating cognitive patterns without gaps |
20
+ | `Integration::Mycelium` | `lex-cognitive-mycelium` | Fungal network knowledge propagation |
21
+ | `Integration::Zeitgeist` | `lex-cognitive-zeitgeist` | Emergent cultural/contextual cognitive patterns |
22
+ | `Integration::Map` | `lex-cognitive-map` | Spatial cognitive map — location graph, Dijkstra pathfinding |
23
+ | `Integration::Labyrinth` | `lex-cognitive-labyrinth` | Maze-like navigation of complex conceptual spaces |
24
+ | `Integration::GlobalWorkspace` | `lex-global-workspace` | Baars/Dehaene GWT — capacity-1 workspace, broadcast to all processors |
25
+ | `Integration::PhenomenalBinding` | `lex-phenomenal-binding` | Binding of phenomenal consciousness elements |
26
+ | `Integration::Gestalt` | `lex-gestalt` | Holistic pattern perception — the whole exceeds the parts |
27
+ | `Integration::DistributedCognition` | `lex-distributed-cognition` | Hutchins — cognition spread across agent, tools, environment |
28
+ | `Integration::Qualia` | `lex-qualia` | Subjective experience representation |
29
+ | `Integration::Context` | `lex-context` | Context-dependent cognition |
30
+ | `Integration::SituationModel` | `lex-situation-model` | Zwaan/Radvansky situation model for text comprehension |
31
+ | `Integration::Boundary` | `lex-cognitive-boundary` | Cognitive domain boundary management |
32
+
33
+ ## Actors
34
+
35
+ - `Integration::GlobalWorkspace::Actors::Competition` — interval actor, runs workspace competition cycle
36
+ - `Integration::Labyrinth::Actors::ThreadWalker` — interval actor, advances labyrinth thread walker
37
+ - `Integration::Map::Actors::Decay` — interval actor, decays cognitive map node strength
8
38
 
9
39
  ## Installation
10
40
 
11
41
  ```ruby
12
42
  gem 'lex-agentic-integration'
13
43
  ```
44
+
45
+ ## Development
46
+
47
+ ```bash
48
+ bundle install
49
+ bundle exec rspec # 1450 examples, 0 failures
50
+ bundle exec rubocop # 0 offenses
51
+ ```
52
+
53
+ ## License
54
+
55
+ MIT
@@ -24,6 +24,14 @@ Gem::Specification.new do |spec|
24
24
  end
25
25
  spec.require_paths = ['lib']
26
26
 
27
+ spec.add_dependency 'legion-cache', '>= 1.3.11'
28
+ spec.add_dependency 'legion-crypt', '>= 1.4.9'
29
+ spec.add_dependency 'legion-data', '>= 1.4.17'
30
+ spec.add_dependency 'legion-json', '>= 1.2.1'
31
+ spec.add_dependency 'legion-logging', '>= 1.3.2'
32
+ spec.add_dependency 'legion-settings', '>= 1.3.14'
33
+ spec.add_dependency 'legion-transport', '>= 1.3.9'
34
+
27
35
  spec.add_development_dependency 'rspec', '~> 3.13'
28
36
  spec.add_development_dependency 'rubocop', '~> 1.60'
29
37
  spec.add_development_dependency 'rubocop-rspec', '~> 2.26'
@@ -15,6 +15,8 @@ module Legion
15
15
  end
16
16
 
17
17
  def register_stream(stream_type:, content:, salience: DEFAULT_SALIENCE, domain: nil)
18
+ return nil unless STREAM_TYPES.include?(stream_type)
19
+
18
20
  prune_streams_if_full
19
21
  stream = Stream.new(
20
22
  stream_type: stream_type,
@@ -27,6 +29,8 @@ module Legion
27
29
  end
28
30
 
29
31
  def create_binding(stream_ids:, binding_type:, attention_weight: 0.5)
32
+ return nil unless BINDING_TYPES.include?(binding_type)
33
+
30
34
  prune_bindings_if_full
31
35
  valid_ids = stream_ids.select { |id| @streams.key?(id) }
32
36
  coherence = compute_initial_coherence(valid_ids)
@@ -5,7 +5,7 @@ module Legion
5
5
  module Agentic
6
6
  module Integration
7
7
  module PhenomenalBinding
8
- VERSION = '0.1.0'
8
+ VERSION = '0.1.1'
9
9
  end
10
10
  end
11
11
  end
@@ -4,7 +4,7 @@ module Legion
4
4
  module Extensions
5
5
  module Agentic
6
6
  module Integration
7
- VERSION = '0.1.0'
7
+ VERSION = '0.1.2'
8
8
  end
9
9
  end
10
10
  end
@@ -38,6 +38,18 @@ RSpec.describe Legion::Extensions::Agentic::Integration::PhenomenalBinding::Help
38
38
  101.times { |i| engine.register_stream(stream_type: :perception, content: "s#{i}") }
39
39
  expect(engine.to_h[:stream_count]).to eq(100)
40
40
  end
41
+
42
+ it 'rejects invalid stream_type' do
43
+ expect(engine.register_stream(stream_type: :telepathy, content: 'x')).to be_nil
44
+ end
45
+
46
+ it 'accepts all valid STREAM_TYPES' do
47
+ constants = Legion::Extensions::Agentic::Integration::PhenomenalBinding::Helpers::Constants
48
+ constants::STREAM_TYPES.each do |stype|
49
+ result = engine.register_stream(stream_type: stype, content: "stream_#{stype}")
50
+ expect(result).not_to be_nil
51
+ end
52
+ end
41
53
  end
42
54
 
43
55
  describe '#create_binding' do
@@ -77,6 +89,20 @@ RSpec.describe Legion::Extensions::Agentic::Integration::PhenomenalBinding::Help
77
89
  201.times { engine.create_binding(stream_ids: [s.id], binding_type: :perceptual) }
78
90
  expect(engine.to_h[:binding_count]).to eq(200)
79
91
  end
92
+
93
+ it 'rejects invalid binding_type' do
94
+ s = engine.register_stream(stream_type: :perception, content: 'x')
95
+ expect(engine.create_binding(stream_ids: [s.id], binding_type: :psychic)).to be_nil
96
+ end
97
+
98
+ it 'accepts all valid BINDING_TYPES' do
99
+ constants = Legion::Extensions::Agentic::Integration::PhenomenalBinding::Helpers::Constants
100
+ s = engine.register_stream(stream_type: :perception, content: 'base')
101
+ constants::BINDING_TYPES.each do |btype|
102
+ result = engine.create_binding(stream_ids: [s.id], binding_type: btype)
103
+ expect(result).not_to be_nil
104
+ end
105
+ end
80
106
  end
81
107
 
82
108
  describe '#reinforce_binding' do
data/spec/spec_helper.rb CHANGED
@@ -1,41 +1,39 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  require 'bundler/setup'
4
+ require 'legion/logging'
5
+ require 'legion/settings'
6
+ require 'legion/cache/helper'
7
+ require 'legion/crypt/helper'
8
+ require 'legion/data/helper'
9
+ require 'legion/json/helper'
10
+ require 'legion/transport/helper'
4
11
 
5
12
  module Legion
6
- module Logging
7
- def self.debug(_msg); end
8
- def self.info(_msg); end
9
- def self.warn(_msg); end
10
- def self.error(_msg); end
11
- def self.fatal(_msg); end
12
- end
13
-
14
13
  module Extensions
15
- module Core
16
- def self.extended(_base); end
17
- end
18
-
19
14
  module Helpers
20
15
  module Lex
21
- def self.included(_base); end
16
+ include Legion::Logging::Helper
17
+ include Legion::Settings::Helper
18
+ include Legion::Cache::Helper
19
+ include Legion::Crypt::Helper
20
+ include Legion::Data::Helper
21
+ include Legion::JSON::Helper
22
+ include Legion::Transport::Helper
22
23
  end
23
24
  end
24
- end
25
- end
26
25
 
27
- # rubocop:disable Lint/EmptyClass, Style/OneClassPerFile
28
- module Legion
29
- module Extensions
30
26
  module Actors
31
- class Every; end
32
- class Once; end
27
+ class Every
28
+ include Helpers::Lex
29
+ end
30
+
31
+ class Once
32
+ include Helpers::Lex
33
+ end
33
34
  end
34
35
  end
35
36
  end
36
- $LOADED_FEATURES << 'legion/extensions/actors/every'
37
- $LOADED_FEATURES << 'legion/extensions/actors/once'
38
- # rubocop:enable Lint/EmptyClass, Style/OneClassPerFile
39
37
 
40
38
  require 'legion/extensions/agentic/integration'
41
39
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: lex-agentic-integration
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.1.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Esity
@@ -9,6 +9,104 @@ bindir: bin
9
9
  cert_chain: []
10
10
  date: 1980-01-02 00:00:00.000000000 Z
11
11
  dependencies:
12
+ - !ruby/object:Gem::Dependency
13
+ name: legion-cache
14
+ requirement: !ruby/object:Gem::Requirement
15
+ requirements:
16
+ - - ">="
17
+ - !ruby/object:Gem::Version
18
+ version: 1.3.11
19
+ type: :runtime
20
+ prerelease: false
21
+ version_requirements: !ruby/object:Gem::Requirement
22
+ requirements:
23
+ - - ">="
24
+ - !ruby/object:Gem::Version
25
+ version: 1.3.11
26
+ - !ruby/object:Gem::Dependency
27
+ name: legion-crypt
28
+ requirement: !ruby/object:Gem::Requirement
29
+ requirements:
30
+ - - ">="
31
+ - !ruby/object:Gem::Version
32
+ version: 1.4.9
33
+ type: :runtime
34
+ prerelease: false
35
+ version_requirements: !ruby/object:Gem::Requirement
36
+ requirements:
37
+ - - ">="
38
+ - !ruby/object:Gem::Version
39
+ version: 1.4.9
40
+ - !ruby/object:Gem::Dependency
41
+ name: legion-data
42
+ requirement: !ruby/object:Gem::Requirement
43
+ requirements:
44
+ - - ">="
45
+ - !ruby/object:Gem::Version
46
+ version: 1.4.17
47
+ type: :runtime
48
+ prerelease: false
49
+ version_requirements: !ruby/object:Gem::Requirement
50
+ requirements:
51
+ - - ">="
52
+ - !ruby/object:Gem::Version
53
+ version: 1.4.17
54
+ - !ruby/object:Gem::Dependency
55
+ name: legion-json
56
+ requirement: !ruby/object:Gem::Requirement
57
+ requirements:
58
+ - - ">="
59
+ - !ruby/object:Gem::Version
60
+ version: 1.2.1
61
+ type: :runtime
62
+ prerelease: false
63
+ version_requirements: !ruby/object:Gem::Requirement
64
+ requirements:
65
+ - - ">="
66
+ - !ruby/object:Gem::Version
67
+ version: 1.2.1
68
+ - !ruby/object:Gem::Dependency
69
+ name: legion-logging
70
+ requirement: !ruby/object:Gem::Requirement
71
+ requirements:
72
+ - - ">="
73
+ - !ruby/object:Gem::Version
74
+ version: 1.3.2
75
+ type: :runtime
76
+ prerelease: false
77
+ version_requirements: !ruby/object:Gem::Requirement
78
+ requirements:
79
+ - - ">="
80
+ - !ruby/object:Gem::Version
81
+ version: 1.3.2
82
+ - !ruby/object:Gem::Dependency
83
+ name: legion-settings
84
+ requirement: !ruby/object:Gem::Requirement
85
+ requirements:
86
+ - - ">="
87
+ - !ruby/object:Gem::Version
88
+ version: 1.3.14
89
+ type: :runtime
90
+ prerelease: false
91
+ version_requirements: !ruby/object:Gem::Requirement
92
+ requirements:
93
+ - - ">="
94
+ - !ruby/object:Gem::Version
95
+ version: 1.3.14
96
+ - !ruby/object:Gem::Dependency
97
+ name: legion-transport
98
+ requirement: !ruby/object:Gem::Requirement
99
+ requirements:
100
+ - - ">="
101
+ - !ruby/object:Gem::Version
102
+ version: 1.3.9
103
+ type: :runtime
104
+ prerelease: false
105
+ version_requirements: !ruby/object:Gem::Requirement
106
+ requirements:
107
+ - - ">="
108
+ - !ruby/object:Gem::Version
109
+ version: 1.3.9
12
110
  - !ruby/object:Gem::Dependency
13
111
  name: rspec
14
112
  requirement: !ruby/object:Gem::Requirement