legion-llm 0.7.0 → 0.7.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 +4 -4
- data/CHANGELOG.md +12 -0
- data/lib/legion/llm/audit.rb +2 -3
- data/lib/legion/llm/fleet/dispatcher.rb +2 -3
- data/lib/legion/llm/hooks/metering.rb +2 -3
- data/lib/legion/llm/hooks/reflection.rb +2 -3
- data/lib/legion/llm/metering.rb +2 -3
- data/lib/legion/llm/pipeline/profile.rb +4 -4
- data/lib/legion/llm/skills/settings.rb +2 -7
- data/lib/legion/llm/version.rb +1 -1
- data/lib/legion/llm.rb +1 -3
- metadata +1 -1
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 8b45bd6da77e9f1bfa54bbe8cef0330984d726a4be291b5da8c2611e5fd1f4c6
|
|
4
|
+
data.tar.gz: 1d2f431ae0acea79e69d1b713e88be7a9ed3ceafad7d6137216205a61c0581e8
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: '048b7301876dd85767d05d721a144220a98ec6712fb69b70268cef6d1aafbd25e392cb9e5735734e30edf2790c3f038936c0c2db194cc4710c55b2afb94442b3'
|
|
7
|
+
data.tar.gz: d0e5196c17d049bbee9a14d4a1546b716da5c0781d3e8bba8faae4cc4fa63462ee95fd94acd68b9cd18d30ef2acc6fc1e8d772152d6beca7c1fa25ea96e2cd41
|
data/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,18 @@
|
|
|
2
2
|
|
|
3
3
|
## [Unreleased]
|
|
4
4
|
|
|
5
|
+
## [0.7.2] - 2026-04-13
|
|
6
|
+
|
|
7
|
+
### Fixed
|
|
8
|
+
- `transport_connected?` checks in audit, metering, fleet dispatcher, hooks/metering, and hooks/reflection all used `Legion::Transport.connected?` which does not exist at the module level — always returned `false`, silently dropping all AMQP publishes; replaced with canonical `Legion::Settings[:transport][:connected]` check (#61)
|
|
9
|
+
|
|
10
|
+
## [0.7.1] - 2026-04-13
|
|
11
|
+
|
|
12
|
+
### Fixed
|
|
13
|
+
- `Skills::Settings.apply` called undefined `[]=` on `Legion::Settings` module, raising `NoMethodError` that killed `LLM.start` before `@started` was set — caused all `/api/llm/inference` requests to 503 and all `llm_required?` extensions to be skipped (#60)
|
|
14
|
+
- Removed dead `defined?(Legion::Settings)` guard — `legion-settings` is a hard dependency
|
|
15
|
+
- Spec no longer relies on test-stub-only `[]=` that masked the production bug
|
|
16
|
+
|
|
5
17
|
## [0.7.0] - 2026-04-12
|
|
6
18
|
|
|
7
19
|
### Added
|
data/lib/legion/llm/audit.rb
CHANGED
|
@@ -59,9 +59,8 @@ module Legion
|
|
|
59
59
|
end
|
|
60
60
|
|
|
61
61
|
def transport_connected?
|
|
62
|
-
!!(defined?(Legion::
|
|
63
|
-
Legion::
|
|
64
|
-
Legion::Transport.connected?)
|
|
62
|
+
!!(defined?(Legion::Settings) &&
|
|
63
|
+
Legion::Settings[:transport][:connected] == true)
|
|
65
64
|
end
|
|
66
65
|
end
|
|
67
66
|
end
|
|
@@ -74,9 +74,8 @@ module Legion
|
|
|
74
74
|
end
|
|
75
75
|
|
|
76
76
|
def transport_ready?
|
|
77
|
-
!!(defined?(Legion::
|
|
78
|
-
Legion::
|
|
79
|
-
Legion::Transport.connected?)
|
|
77
|
+
!!(defined?(Legion::Settings) &&
|
|
78
|
+
Legion::Settings[:transport][:connected] == true)
|
|
80
79
|
end
|
|
81
80
|
|
|
82
81
|
def fleet_enabled?
|
|
@@ -77,9 +77,8 @@ module Legion
|
|
|
77
77
|
end
|
|
78
78
|
|
|
79
79
|
def transport_metering?
|
|
80
|
-
defined?(Legion::
|
|
81
|
-
Legion::
|
|
82
|
-
Legion::Transport.connected?
|
|
80
|
+
defined?(Legion::Settings) &&
|
|
81
|
+
Legion::Settings[:transport][:connected] == true
|
|
83
82
|
rescue StandardError => e
|
|
84
83
|
handle_exception(e, level: :debug)
|
|
85
84
|
false
|
|
@@ -222,9 +222,8 @@ module Legion
|
|
|
222
222
|
private_class_method :truncate
|
|
223
223
|
|
|
224
224
|
def apollo_transport?
|
|
225
|
-
defined?(Legion::
|
|
226
|
-
Legion::
|
|
227
|
-
Legion::Transport.connected?
|
|
225
|
+
defined?(Legion::Settings) &&
|
|
226
|
+
Legion::Settings[:transport][:connected] == true
|
|
228
227
|
rescue StandardError => e
|
|
229
228
|
handle_exception(e, level: :debug, operation: 'llm.hooks.reflection.apollo_transport')
|
|
230
229
|
false
|
data/lib/legion/llm/metering.rb
CHANGED
|
@@ -45,9 +45,8 @@ module Legion
|
|
|
45
45
|
end
|
|
46
46
|
|
|
47
47
|
def transport_connected?
|
|
48
|
-
!!(defined?(Legion::
|
|
49
|
-
Legion::
|
|
50
|
-
Legion::Transport.connected?)
|
|
48
|
+
!!(defined?(Legion::Settings) &&
|
|
49
|
+
Legion::Settings[:transport][:connected] == true)
|
|
51
50
|
end
|
|
52
51
|
|
|
53
52
|
def spool_available?
|
|
@@ -6,18 +6,18 @@ module Legion
|
|
|
6
6
|
module Profile
|
|
7
7
|
GAIA_SKIP = %i[
|
|
8
8
|
idempotency conversation_uuid context_load rbac classification
|
|
9
|
-
billing gaia_advisory trigger_match tool_discovery context_store post_response
|
|
9
|
+
billing gaia_advisory trigger_match skill_injector tool_discovery context_store post_response
|
|
10
10
|
].freeze
|
|
11
11
|
|
|
12
12
|
SYSTEM_SKIP = %i[
|
|
13
13
|
idempotency conversation_uuid context_load rbac classification
|
|
14
|
-
billing gaia_advisory rag_context trigger_match tool_discovery context_store
|
|
14
|
+
billing gaia_advisory rag_context trigger_match skill_injector tool_discovery context_store
|
|
15
15
|
post_response
|
|
16
16
|
].freeze
|
|
17
17
|
|
|
18
18
|
QUICK_REPLY_SKIP = %i[
|
|
19
19
|
idempotency conversation_uuid context_load classification
|
|
20
|
-
gaia_advisory rag_context trigger_match tool_discovery confidence_scoring
|
|
20
|
+
gaia_advisory rag_context trigger_match skill_injector tool_discovery confidence_scoring
|
|
21
21
|
tool_calls context_store post_response knowledge_capture
|
|
22
22
|
].freeze
|
|
23
23
|
|
|
@@ -25,7 +25,7 @@ module Legion
|
|
|
25
25
|
|
|
26
26
|
SERVICE_SKIP = %i[
|
|
27
27
|
conversation_uuid context_load gaia_advisory
|
|
28
|
-
rag_context trigger_match tool_discovery confidence_scoring
|
|
28
|
+
rag_context trigger_match skill_injector tool_discovery confidence_scoring
|
|
29
29
|
tool_calls context_store knowledge_capture
|
|
30
30
|
].freeze
|
|
31
31
|
|
|
@@ -18,13 +18,8 @@ module Legion
|
|
|
18
18
|
module_function
|
|
19
19
|
|
|
20
20
|
def apply
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
llm_settings = (Legion::Settings[:llm] || {}).dup
|
|
24
|
-
current = llm_settings[:skills] || {}
|
|
25
|
-
merged = deep_merge(DEFAULTS, current)
|
|
26
|
-
llm_settings[:skills] = merged
|
|
27
|
-
Legion::Settings[:llm] = llm_settings
|
|
21
|
+
current = Legion::Settings[:llm][:skills] || {}
|
|
22
|
+
Legion::Settings[:llm][:skills] = deep_merge(DEFAULTS, current)
|
|
28
23
|
end
|
|
29
24
|
|
|
30
25
|
def deep_merge(base, override)
|
data/lib/legion/llm/version.rb
CHANGED
data/lib/legion/llm.rb
CHANGED
|
@@ -823,9 +823,7 @@ module Legion
|
|
|
823
823
|
|
|
824
824
|
log.info("Escalation event: #{final_outcome}, #{history.size} attempts")
|
|
825
825
|
|
|
826
|
-
if defined?(Legion::
|
|
827
|
-
Transport::Messages::EscalationEvent.new(payload).publish
|
|
828
|
-
end
|
|
826
|
+
Transport::Messages::EscalationEvent.new(payload).publish if defined?(Legion::Settings) && Legion::Settings[:transport][:connected] == true
|
|
829
827
|
rescue StandardError => e
|
|
830
828
|
handle_exception(e, level: :warn, operation: 'llm.publish_escalation_event', outcome: final_outcome)
|
|
831
829
|
nil
|