legionio 1.4.197 → 1.4.198

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: 547bcf88727783f2d13346201194840fac26054686d646f4c357bbd366302187
4
- data.tar.gz: 90801baaf55c27542bee67621c343ef5aacb0801f245ba78291e19dc6c867c92
3
+ metadata.gz: 1b3541eb1b73c73f13747ab36c76e033c98fe187dffd9ae39c872a69b63164d5
4
+ data.tar.gz: 54c03dfd42a4dab7d2eb0e68e336dced9a5e756903e0cf8b52d4fb4570a92894
5
5
  SHA512:
6
- metadata.gz: 19a98825568321c1dc9fd1c78aa6d1b621aab3eb8d0e17e5fe7073192508a0e8f892276f82e7d7c45a7c952f07f645a8bfa670f9d4f3d3b0f0760fee2955c0fe
7
- data.tar.gz: 3a9dd4466bf92e96b860f6b38e0976e1c5a48526b4bded1150847449e96745207baa452de506fb44dedda93eaac1f6bee9120ad3aa015a8a99bbc0db70cb9af1
6
+ metadata.gz: f0a8efa9f38c32aa0e7b1d81229dbafab7ed7a5a24e9b58b9c59eb69f2e41e36965bdee6cca9fafa699c76cd3e72f5ebd32b1559753317844876bc8d5e20f781
7
+ data.tar.gz: c41f3347ab6d6c5639c617176090650234ca4b0fc4bbbda7709ae9d2f7fb91eca20543d26fb4921eb1417e3054f680c7b18f61e5c071c346203cf7cce5a382fb
data/CHANGELOG.md CHANGED
@@ -1,5 +1,11 @@
1
1
  # Legion Changelog
2
2
 
3
+ ## [1.4.198] - 2026-03-24
4
+
5
+ ### Changed
6
+ - Bump gemspec minimum: legion-transport >= 1.3.11 (InProcess adapter, shutdown hang fix, Helper mixin)
7
+ - Bump gemspec minimum: legion-tty >= 0.4.34 (latest fixes)
8
+
3
9
  ## [1.4.197] - 2026-03-24
4
10
 
5
11
  ### Changed
data/CLAUDE.md CHANGED
@@ -9,7 +9,7 @@ The primary gem for the LegionIO framework. An extensible async job engine for s
9
9
 
10
10
  **GitHub**: https://github.com/LegionIO/LegionIO
11
11
  **Gem**: `legionio`
12
- **Version**: 1.4.186
12
+ **Version**: 1.4.197
13
13
  **License**: Apache-2.0
14
14
  **Docker**: `legionio/legion`
15
15
  **Ruby**: >= 3.4
@@ -150,7 +150,7 @@ Legion (lib/legion.rb)
150
150
  │ # Populated by Builders::Routes during autobuild
151
151
 
152
152
  ├── MCP (legion-mcp gem) # Extracted to standalone gem — see legion-mcp/CLAUDE.md
153
- │ └── (35 tools, 2 resources, TierRouter, PatternStore, ContextGuard, Observer, EmbeddingIndex)
153
+ │ └── (41 tools, 2 resources, TierRouter, PatternStore, ContextGuard, Observer, EmbeddingIndex)
154
154
 
155
155
  ├── DigitalWorker # Digital worker platform (AI-as-labor governance)
156
156
  │ ├── Lifecycle # Worker state machine (active/paused/retired/terminated)
@@ -480,12 +480,51 @@ legion
480
480
 
481
481
  ### MCP Design
482
482
 
483
- Extracted to the `legion-mcp` gem (v0.4.1). See `legion-mcp/CLAUDE.md` for full architecture.
483
+ Extracted to the `legion-mcp` gem (v0.5.5). See `legion-mcp/CLAUDE.md` for full architecture.
484
484
 
485
485
  - `Legion::MCP.server` is memoized singleton — call `Legion::MCP.reset!` in tests
486
486
  - Tool naming: `legion.snake_case_name` (dot namespace, not slash)
487
487
  - Tier 0 routing: PatternStore + TierRouter + ContextGuard for LLM-free cached responses
488
488
 
489
+ ### Lite Mode
490
+
491
+ `LEGION_MODE=lite` (or `--lite` CLI flag, or `:lite` ProcessRole) launches LegionIO without RabbitMQ, Redis, or Memcached:
492
+
493
+ - `legion-transport` activates the `InProcess` adapter (stub Session/Channel/Exchange/Queue/Consumer that delegate to `Transport::Local` in-memory pub/sub)
494
+ - `legion-cache` activates the `Memory` adapter (pure in-memory cache with TTL expiry and Mutex synchronization)
495
+ - Useful for single-machine development, CI, and testing without infrastructure dependencies
496
+ - Detection: `Connection.lite_mode?` checks `TYPE == 'local'`; cache checks `LEGION_MODE=lite` env var
497
+
498
+ ### `legion do`
499
+
500
+ Natural-language intent router at the CLI level:
501
+
502
+ ```bash
503
+ legion do "list all running tasks"
504
+ legion do "start the email extension"
505
+ ```
506
+
507
+ Resolves free-text intent to Capability Registry entries. If the daemon is running, delegates to the MCP `legion.do` tool (Tier 0 fast path). If no daemon, runs in-process. Returns the runner's response.
508
+
509
+ ### `legion mind-growth`
510
+
511
+ CLI for the autonomous cognitive architecture expansion system (`lex-mind-growth`). 10 subcommands:
512
+
513
+ ```bash
514
+ legion mind-growth status # current growth cycle state
515
+ legion mind-growth analyze # gap analysis against 5 reference models
516
+ legion mind-growth propose # propose a new concept
517
+ legion mind-growth evaluate <id> # evaluate a proposal
518
+ legion mind-growth build <id> # run staged build pipeline
519
+ legion mind-growth list # list proposals
520
+ legion mind-growth approve <id> # manually approve
521
+ legion mind-growth reject <id> # manually reject
522
+ legion mind-growth profile # cognitive profile across all models
523
+ legion mind-growth health # extension fitness validation
524
+ ```
525
+
526
+ Requires `lex-mind-growth` to be loaded. Also exposes 6 MCP tools in the `legion.mind_growth_*` namespace via `legion-mcp`.
527
+
489
528
  ## Dependencies
490
529
 
491
530
  ### Runtime Gems
@@ -504,7 +543,7 @@ Extracted to the `legion-mcp` gem (v0.4.1). See `legion-mcp/CLAUDE.md` for full
504
543
  | `oj` (>= 3.16) | Fast JSON (C extension) |
505
544
  | `puma` (>= 6.0) | HTTP server for API |
506
545
  | `rackup` (>= 2.0) | Rack server launcher for MCP HTTP transport |
507
- | `legion-mcp` (>= 0.4) | MCP server + Tier 0 routing (extracted gem) |
546
+ | `legion-mcp` (>= 0.5) | MCP server + Tier 0 routing (extracted gem) |
508
547
  | `reline` (>= 0.5) | Interactive line editing for chat REPL |
509
548
  | `rouge` (>= 4.0) | Syntax highlighting for chat markdown rendering |
510
549
  | `tty-spinner` (~> 0.9) | Spinner animation for CLI loading states |
data/README.md CHANGED
@@ -8,13 +8,13 @@ Schedule tasks, chain services into dependency graphs, run them concurrently via
8
8
  ╭──────────────────────────────────────╮
9
9
  │ L E G I O N I O │
10
10
  │ │
11
- │ 280+ extensions · 35 MCP tools │
11
+ │ 280+ extensions · 41 MCP tools │
12
12
  │ AI chat CLI · REST API · HA │
13
13
  │ cognitive architecture · Vault │
14
14
  ╰──────────────────────────────────────╯
15
15
  ```
16
16
 
17
- **Ruby >= 3.4** | **v1.4.114** | **Apache-2.0** | [@Esity](https://github.com/Esity)
17
+ **Ruby >= 3.4** | **v1.4.197** | **Apache-2.0** | [@Esity](https://github.com/Esity)
18
18
 
19
19
  ---
20
20
 
@@ -85,13 +85,33 @@ gem 'legionio'
85
85
  | `legion-crypt` | Vault integration, encryption, JWT auth |
86
86
  | `legion-tty` | TTY UI components (spinners, tables, prompts) |
87
87
 
88
+ ## Zero-Infrastructure Mode (Lite)
89
+
90
+ Run LegionIO without RabbitMQ, Redis, or Memcached:
91
+
92
+ ```bash
93
+ LEGION_MODE=lite legion start # environment variable
94
+ legion start --lite # CLI flag
95
+ ```
96
+
97
+ In lite mode, `legion-transport` uses an in-process pub/sub adapter (no RabbitMQ required) and `legion-cache` uses a pure in-memory store with TTL (no Redis/Memcached required). All extensions and features work normally. Useful for single-machine development, CI, and trying LegionIO with no infrastructure.
98
+
99
+ ## Natural Language Intent Router
100
+
101
+ ```bash
102
+ legion do "list all running tasks"
103
+ legion do "start the email extension"
104
+ ```
105
+
106
+ `legion do` routes free-text to the Capability Registry. Routes through the running daemon (MCP Tier 0 fast path) when available, or runs in-process otherwise.
107
+
88
108
  ## Infrastructure
89
109
 
90
110
  | Component | Role | Required? |
91
111
  |-----------|------|-----------|
92
- | **RabbitMQ** | Task distribution (AMQP 0.9.1) | Yes |
112
+ | **RabbitMQ** | Task distribution (AMQP 0.9.1) | No (lite mode replaces with InProcess adapter) |
93
113
  | **SQLite/PostgreSQL/MySQL** | Persistence (tasks, scheduling, chains) | Optional |
94
- | **Redis/Memcached** | Extension caching | Optional |
114
+ | **Redis/Memcached** | Extension caching | No (lite mode replaces with Memory adapter) |
95
115
  | **HashiCorp Vault** | Secrets, PKI, encrypted settings | Optional |
96
116
 
97
117
  ## The CLI
@@ -306,7 +326,7 @@ legion mcp http # streamable HTTP on localhost:9393
306
326
  legion mcp http --port 8080 --host 0.0.0.0
307
327
  ```
308
328
 
309
- **35 tools** in the `legion.*` namespace:
329
+ **41 tools** in the `legion.*` namespace:
310
330
 
311
331
  | Category | Tools |
312
332
  |----------|-------|
data/legionio.gemspec CHANGED
@@ -58,8 +58,8 @@ Gem::Specification.new do |spec|
58
58
  spec.add_dependency 'legion-json', '>= 1.2.1'
59
59
  spec.add_dependency 'legion-logging', '>= 1.3.2'
60
60
  spec.add_dependency 'legion-settings', '>= 1.3.14'
61
- spec.add_dependency 'legion-transport', '>= 1.3.9'
61
+ spec.add_dependency 'legion-transport', '>= 1.3.11'
62
62
 
63
- spec.add_dependency 'legion-tty', '>= 0.4.30'
63
+ spec.add_dependency 'legion-tty', '>= 0.4.34'
64
64
  spec.add_dependency 'lex-node'
65
65
  end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Legion
4
- VERSION = '1.4.197'
4
+ VERSION = '1.4.198'
5
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: legionio
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.4.197
4
+ version: 1.4.198
5
5
  platform: ruby
6
6
  authors:
7
7
  - Esity
@@ -309,28 +309,28 @@ dependencies:
309
309
  requirements:
310
310
  - - ">="
311
311
  - !ruby/object:Gem::Version
312
- version: 1.3.9
312
+ version: 1.3.11
313
313
  type: :runtime
314
314
  prerelease: false
315
315
  version_requirements: !ruby/object:Gem::Requirement
316
316
  requirements:
317
317
  - - ">="
318
318
  - !ruby/object:Gem::Version
319
- version: 1.3.9
319
+ version: 1.3.11
320
320
  - !ruby/object:Gem::Dependency
321
321
  name: legion-tty
322
322
  requirement: !ruby/object:Gem::Requirement
323
323
  requirements:
324
324
  - - ">="
325
325
  - !ruby/object:Gem::Version
326
- version: 0.4.30
326
+ version: 0.4.34
327
327
  type: :runtime
328
328
  prerelease: false
329
329
  version_requirements: !ruby/object:Gem::Requirement
330
330
  requirements:
331
331
  - - ">="
332
332
  - !ruby/object:Gem::Version
333
- version: 0.4.30
333
+ version: 0.4.34
334
334
  - !ruby/object:Gem::Dependency
335
335
  name: lex-node
336
336
  requirement: !ruby/object:Gem::Requirement