legionio 1.9.23 → 1.9.29
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/.rspec +2 -0
- data/CHANGELOG.md +46 -0
- data/CLAUDE.md +62 -769
- data/Gemfile +2 -0
- data/lib/legion/api/identity_audit.rb +6 -6
- data/lib/legion/api/llm.rb +15 -5
- data/lib/legion/cli/setup_command.rb +38 -1
- data/lib/legion/extensions/actors/subscription.rb +14 -1
- data/lib/legion/extensions/catalog/available.rb +0 -7
- data/lib/legion/extensions/transport.rb +9 -0
- data/lib/legion/identity/broker.rb +5 -11
- data/lib/legion/identity/lease_renewer.rb +5 -4
- data/lib/legion/identity/middleware.rb +28 -10
- data/lib/legion/identity/resolver.rb +125 -75
- data/lib/legion/task_outcome_observer.rb +16 -2
- data/lib/legion/version.rb +1 -1
- metadata +2 -1
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 952eb59489faed844f57a13d5fb71a10d4f6e737b3af38f96cc9ab7beec5a9da
|
|
4
|
+
data.tar.gz: e8af435fd6f5caa5324f678c45a38d7c8bde94a801a80c8380032f43d9721fbf
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 1cd3acf9f4e8af3da0db483123afbeb5b9c8b69430dbaf538474523a3d5fb02aa8e5fd9ac262244a61ed1f9a0ed7add934bdc59ecdd239a3cd8621ddbdec02e4
|
|
7
|
+
data.tar.gz: dc7a8cc98adcd63d75419cc29d88f025539185fc2c9254d9c9a1b8abdeaeadc1ff7e3e1481de1352e398a63826c74e41975f8c13708e462a6dcebb35fd97ef4b
|
data/.rspec
ADDED
data/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,52 @@
|
|
|
2
2
|
|
|
3
3
|
## [Unreleased]
|
|
4
4
|
|
|
5
|
+
## [1.9.29] - 2026-05-11
|
|
6
|
+
|
|
7
|
+
### Fixed
|
|
8
|
+
- `Subscription#activate` now checks `channel.open?` before calling `subscribe_with`; if closed, it re-prepares once and retries, preventing silent activation failures when a channel is closed between prepare and activate.
|
|
9
|
+
- `Transport` mixin now guards `auto_create_dlx_exchange` and `auto_create_dlx_queue` with a `remote_invocable?` check — non-remote extensions no longer attempt to create dead-letter exchanges and queues they never use.
|
|
10
|
+
- DLX exchange type corrected from `fanout` to `topic` for consistency with the rest of the exchange topology.
|
|
11
|
+
- Identity resolver DB persistence now uses Sequel models (`Identity::Provider`, `Identity::Principal`, `Identity::Identity`, `Identity::AuditLog`) instead of raw `Legion::Data.db` dataset calls that didn't exist on the module.
|
|
12
|
+
- Identity audit API endpoint now references correct column names (`detail_payload`, `node_ref`, `session_ref`) matching the schema.
|
|
13
|
+
- Fixed `LeaseRenewer#log_renewal_failure` to fall back to `$stderr` when `Legion::Logging` is not yet loaded, matching the original contract.
|
|
14
|
+
- Fixed `Legion::Service#log_privacy_mode_status`, `#shutdown_component`, and TLS-fallback logging specs to assert against `emit_tagged` (the actual dispatch path used by `Legion::Logging::Helper`) rather than `Legion::Logging.warn/info` directly.
|
|
15
|
+
- Fixed `Cluster::Leader` boot integration spec to stub `Legion::Settings[:logging]` so `log` helper initialization does not raise on unexpectedly-received arguments.
|
|
16
|
+
|
|
17
|
+
### Changed
|
|
18
|
+
- Added `remote_invocable_extension?` helper to the `Transport` module; returns `lex_class.remote_invocable?` when available, `true` otherwise.
|
|
19
|
+
- Refactored `Identity::Resolver#persist_to_db` into extracted helpers (`upsert_providers`, `upsert_principal`, `upsert_identities`, `upsert_single_identity`) to reduce method complexity and improve readability.
|
|
20
|
+
- Replaced hand-rolled `log_warn`/`log_debug` methods in `Identity::Resolver`, `Identity::Broker`, and `Identity::LeaseRenewer` with `include Legion::Logging::Helper` and standard `log.debug`/`log.warn` calls.
|
|
21
|
+
- Added debug logging throughout `Identity::Resolver` for registration, resolution, auth racing, binding, and DB persistence.
|
|
22
|
+
- LLM inference API now passes `instance` and `tier` routing hints from request body through to `Legion::LLM::Inference::Request`.
|
|
23
|
+
|
|
24
|
+
## [1.9.28] - 2026-05-08
|
|
25
|
+
|
|
26
|
+
### Fixed
|
|
27
|
+
- Task outcome observation now ignores internal runner completions without task ids, preventing periodic mesh gossip ticks from feeding meta-learning and Apollo ingestion.
|
|
28
|
+
- Identity resolver database persistence now targets the current identity provider, principal, identity, and audit log schema.
|
|
29
|
+
|
|
30
|
+
## [1.9.27] - 2026-05-08
|
|
31
|
+
|
|
32
|
+
### Fixed
|
|
33
|
+
- Preserve omitted `/api/llm/inference` client tool definitions as absent instead of `tools: []`, allowing legion-llm registry and trigger-based tool injection to run for normal API requests.
|
|
34
|
+
- Added an opt-in live daemon integration spec suite that uses explicit Faraday test dependencies and its own isolated RSpec helper.
|
|
35
|
+
|
|
36
|
+
## [1.9.26] - 2026-05-07
|
|
37
|
+
|
|
38
|
+
### Fixed
|
|
39
|
+
- Use the local `Legion::Identity::Process` identity for unauthenticated loopback API principals even when the process is only fallback-bound, avoiding generic `system:system` attribution in downstream LLM audit flows.
|
|
40
|
+
|
|
41
|
+
## [1.9.25] - 2026-05-07
|
|
42
|
+
|
|
43
|
+
### Fixed
|
|
44
|
+
- Updated identity model references in `identity_audit.rb` and `identity/broker.rb` to use the portable namespace (`Identity::AuditLog`, `Identity::Principal`, `Identity::GroupMembership`) after legacy top-level identity models were removed from legion-data.
|
|
45
|
+
|
|
46
|
+
## [1.9.24] - 2026-05-07
|
|
47
|
+
|
|
48
|
+
### Changed
|
|
49
|
+
- Removed deprecated direct AI provider extensions (`lex-azure-ai`, `lex-bedrock`, `lex-claude`, `lex-foundry`, `lex-gemini`, `lex-ollama`, `lex-openai`) from the extension catalog; use their `lex-llm-*` counterparts instead.
|
|
50
|
+
|
|
5
51
|
## [1.9.23] - 2026-05-07
|
|
6
52
|
|
|
7
53
|
### Fixed
|