lex-agentic-learning 0.1.9 → 0.1.10

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: 8f2bd98de70d5e11f07c18043483a22d4325508c7e2601fd2d1c3a3bdb9726bd
4
- data.tar.gz: e1f9d5d06972b5fe01b932d973050d701aa82663bca6ff76709769df476ea80b
3
+ metadata.gz: a4da6d50340dafa221b40f6c63e1af34678d45c2729be6d3b2e67701ea6ee19a
4
+ data.tar.gz: f485edff0dacee93438320daf14fb9171b5685a51afeba146e4c70f1fe10e0cb
5
5
  SHA512:
6
- metadata.gz: d5858c88e16679558b7bf3d2433f3d88810a85f5a41cb7cf37991ccc22195569f65fffad058dbeb2aeaf359b89855dd3ac3330759da49e36c18c489afc08b713
7
- data.tar.gz: 55abe2021cd74cbd3885d75a2ff321febe189d369e802ea910eced3d86ac9398adf807414880f006ab23b0a5b869f81a304093fdc10a05da8dedc6352136611a
6
+ metadata.gz: c5cc7fb0ac840ea9b1f3f0914f26c395a36ca2a6f8cbc3e03dbc33ab13c0140bd5b5dba73e22fb7879e7fe7f5b6f82c4d2202c594cbcd781c1a6a292ea1f0fe1
7
+ data.tar.gz: fb6446f01f7d2b0659b98e51971248c2f2d913df1c952cc0e4aa083973e3302aa205e0e5132e1ac47f6cc7723db6db76b55720f2a6e1a0e0d6bea36cc3075e74
data/CHANGELOG.md CHANGED
@@ -1,5 +1,9 @@
1
1
  # Changelog
2
2
 
3
+ ## [0.1.10] - 2026-04-28
4
+ ### Fixed
5
+ - Curiosity self-inquiry now prefers the current `Legion::LLM.ask` router before legacy helper fallbacks, preventing old `lex(:llm, :complete)` failures from hiding native LLM availability.
6
+
3
7
  ## [0.1.9] - 2026-04-28
4
8
  ### Fixed
5
9
  - Curiosity self-inquiry now uses the current `Legion::LLM.ask` API before falling back to legacy `Legion::LLM.complete`, preserving compatibility with the LLM routing uplift.
data/README.md CHANGED
@@ -5,7 +5,7 @@ Domain consolidation gem for learning, adaptation, and knowledge acquisition. Bu
5
5
  ## Overview
6
6
 
7
7
  **Gem**: `lex-agentic-learning`
8
- **Version**: 0.1.9
8
+ **Version**: 0.1.10
9
9
  **Namespace**: `Legion::Extensions::Agentic::Learning`
10
10
 
11
11
  ## Sub-Modules
@@ -136,19 +136,19 @@ module Legion
136
136
  def query_llm_for_wonder(question, domain)
137
137
  prompt = build_self_inquiry_prompt(question, domain)
138
138
 
139
- # Try via Lex helper (primary path inside Legion runtime)
140
- if respond_to?(:lex, true)
141
- result = lex(:llm, :complete, prompt: prompt, max_tokens: 300)
139
+ # Prefer the current legion-llm router; legacy helper paths are fallbacks only.
140
+ if defined?(Legion::LLM) && Legion::LLM.respond_to?(:ask)
141
+ result = Legion::LLM.ask(message: prompt) # rubocop:disable Legion/HelperMigration/DirectLlm
142
142
  text = extract_llm_text(result)
143
143
  return text if text && !text.empty?
144
144
  end
145
145
 
146
- # Direct LLM fallback for current legion-llm; complete is kept for older installs.
147
- if defined?(Legion::LLM) && Legion::LLM.respond_to?(:ask)
148
- result = Legion::LLM.ask(message: prompt) # rubocop:disable Legion/HelperMigration/DirectLlm
149
- text = extract_llm_text(result)
146
+ if respond_to?(:lex, true)
147
+ text = query_legacy_lex_llm(prompt)
150
148
  return text if text && !text.empty?
151
- elsif defined?(Legion::LLM) && Legion::LLM.respond_to?(:complete)
149
+ end
150
+
151
+ if defined?(Legion::LLM) && Legion::LLM.respond_to?(:complete)
152
152
  result = Legion::LLM.complete(prompt: prompt, max_tokens: 300)
153
153
  text = extract_llm_text(result)
154
154
  return text if text && !text.empty?
@@ -160,6 +160,14 @@ module Legion
160
160
  nil
161
161
  end
162
162
 
163
+ def query_legacy_lex_llm(prompt)
164
+ result = lex(:llm, :complete, prompt: prompt, max_tokens: 300)
165
+ extract_llm_text(result)
166
+ rescue StandardError => e
167
+ log.warn "[curiosity:self_inquiry] legacy lex LLM query failed: #{e.class}: #{e.message}"
168
+ nil
169
+ end
170
+
163
171
  def extract_llm_text(result)
164
172
  return result.strip if result.is_a?(String)
165
173
  return nil unless result.is_a?(Hash)
@@ -4,7 +4,7 @@ module Legion
4
4
  module Extensions
5
5
  module Agentic
6
6
  module Learning
7
- VERSION = '0.1.9'
7
+ VERSION = '0.1.10'
8
8
  end
9
9
  end
10
10
  end
@@ -176,6 +176,22 @@ RSpec.describe Legion::Extensions::Agentic::Learning::Curiosity::Runners::Curios
176
176
  expect(client.send(:query_llm_for_wonder, 'why?', :curiosity)).to eq('useful insight')
177
177
  end
178
178
 
179
+ it 'does not let legacy lex complete failures hide current Legion::LLM.ask' do
180
+ allow(client).to receive(:respond_to?).with(:lex, true).and_return(true)
181
+ allow(client).to receive(:lex).and_raise(StandardError, 'legacy unavailable')
182
+
183
+ llm = Module.new do
184
+ def self.ask(message:)
185
+ raise 'missing prompt' if message.to_s.empty?
186
+
187
+ { response: 'ask survived' }
188
+ end
189
+ end
190
+ stub_const('Legion::LLM', llm)
191
+
192
+ expect(client.send(:query_llm_for_wonder, 'why?', :curiosity)).to eq('ask survived')
193
+ end
194
+
179
195
  it 'keeps legacy Legion::LLM.complete fallback for older installs' do
180
196
  llm = Module.new do
181
197
  def self.complete(prompt:, max_tokens:)
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: lex-agentic-learning
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.9
4
+ version: 0.1.10
5
5
  platform: ruby
6
6
  authors:
7
7
  - Esity