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 +4 -4
- data/CHANGELOG.md +6 -0
- data/CLAUDE.md +43 -4
- data/README.md +25 -5
- data/legionio.gemspec +2 -2
- data/lib/legion/version.rb +1 -1
- metadata +5 -5
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 1b3541eb1b73c73f13747ab36c76e033c98fe187dffd9ae39c872a69b63164d5
|
|
4
|
+
data.tar.gz: 54c03dfd42a4dab7d2eb0e68e336dced9a5e756903e0cf8b52d4fb4570a92894
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
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.
|
|
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
|
-
│ └── (
|
|
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.
|
|
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.
|
|
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 ·
|
|
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.
|
|
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) |
|
|
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 |
|
|
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
|
-
**
|
|
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.
|
|
61
|
+
spec.add_dependency 'legion-transport', '>= 1.3.11'
|
|
62
62
|
|
|
63
|
-
spec.add_dependency 'legion-tty', '>= 0.4.
|
|
63
|
+
spec.add_dependency 'legion-tty', '>= 0.4.34'
|
|
64
64
|
spec.add_dependency 'lex-node'
|
|
65
65
|
end
|
data/lib/legion/version.rb
CHANGED
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
333
|
+
version: 0.4.34
|
|
334
334
|
- !ruby/object:Gem::Dependency
|
|
335
335
|
name: lex-node
|
|
336
336
|
requirement: !ruby/object:Gem::Requirement
|