legionio 1.4.61 → 1.4.62

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: 6c7e2aaea33b6be8c15f2059d61621a70e9e431957e4e574b8ff574d33d40045
4
- data.tar.gz: 07ea8f95f7b2c5132f8fe7992ccb247d5cec1fe909f3ba927f42bf172fff22ec
3
+ metadata.gz: 1c95080366554474379f7f8ad23dac75cc86125bfbd1081494f9c7a7d9bdde02
4
+ data.tar.gz: 8e47342c47b50b7040456f83d46a0ba1fdd4bbe4d28315e3ea16acb5649c7a34
5
5
  SHA512:
6
- metadata.gz: a5648ed88592cb9eaaac03a285f3862812ff9dbd93ea3a0f8a2bd1ff400e7b2084c3d59e5b2b5fbbf0016ff05f4897291f25f59b62c543ef86b9806aeba6a377
7
- data.tar.gz: 73b80071c84f14627df14ceca94a9f7201143ca47149244838d649387d82430cfffaf3a1998fcb92f91d6aecc73abc9a8ce151eb6ea626c8237b738554ca9965
6
+ metadata.gz: f29c940730a19e2119b343da7022511b08691d752af0663669880ad0b1cfcd8d3f5606abe14a215e7222d5cb4cc8bb7fd905c19b7035dfda275beae38bc55aa1
7
+ data.tar.gz: 064c2b10a5d6c94b54e70fcb54275bf49026aea5b678087dc387d54613703c3cd473d51ce62671d1340d7c41b9e471eaee49a317965693eb5c1b47d086237c64
data/CHANGELOG.md CHANGED
@@ -1,5 +1,17 @@
1
1
  # Legion Changelog
2
2
 
3
+ ## [1.4.62] - 2026-03-18
4
+
5
+ ### Added
6
+ - `legionio` binary for daemon and operational CLI
7
+ - `Legion::CLI::Interactive` Thor class for dev-workflow commands (chat, commit, pr, review, memory, plan, init, tty)
8
+ - `legion-tty` as runtime dependency
9
+ - Shell completions for both `legion` and `legionio` binaries
10
+
11
+ ### Changed
12
+ - `exe/legion` now routes bare invocation to TTY shell, args to Interactive CLI
13
+ - `exe/legionio` handles all daemon and operational commands
14
+
3
15
  ## [1.4.61] - 2026-03-18
4
16
 
5
17
  ### Added
data/CLAUDE.md CHANGED
@@ -14,6 +14,16 @@ The primary gem for the LegionIO framework. An extensible async job engine for s
14
14
  **Docker**: `legionio/legion`
15
15
  **Ruby**: >= 3.4
16
16
 
17
+ ## Binary Split
18
+
19
+ | Binary | Purpose |
20
+ |--------|---------|
21
+ | `legion` | Interactive TTY shell + dev-workflow commands (chat, commit, review, plan, memory, init) |
22
+ | `legionio` | Daemon lifecycle + all operational commands (start, stop, lex, task, config, mcp, etc.) |
23
+
24
+ `legion` with no args launches the TTY interactive shell. With args, it routes to dev-workflow subcommands.
25
+ `legionio` is the full operational CLI — all 40+ subcommands.
26
+
17
27
  ## Architecture
18
28
 
19
29
  ### Boot Sequence (exe/legion)
data/Gemfile CHANGED
@@ -38,255 +38,28 @@ unless ENV['CI']
38
38
  gem 'lex-microsoft_teams', path: '../extensions/lex-microsoft_teams'
39
39
  gem 'lex-tfe', path: '../extensions/lex-tfe'
40
40
 
41
+ # Core framework
42
+ gem 'legion-tty', path: '../legion-tty'
43
+
41
44
  # AI extensions
42
45
  gem 'lex-claude', path: '../extensions-ai/lex-claude'
43
46
  gem 'lex-gemini', path: '../extensions-ai/lex-gemini'
44
47
  gem 'lex-openai', path: '../extensions-ai/lex-openai'
45
48
 
46
- # Agentic extensions (all required by legion-gaia)
47
- gem 'lex-abductive-reasoning', path: '../extensions-agentic/lex-abductive-reasoning'
48
- gem 'lex-affordance', path: '../extensions-agentic/lex-affordance'
49
- gem 'lex-agency', path: '../extensions-agentic/lex-agency'
50
- gem 'lex-analogical-reasoning', path: '../extensions-agentic/lex-analogical-reasoning'
51
- gem 'lex-anchoring', path: '../extensions-agentic/lex-anchoring'
52
- gem 'lex-anosognosia', path: '../extensions-agentic/lex-anosognosia'
53
- gem 'lex-apollo', path: '../extensions-agentic/lex-apollo'
54
- gem 'lex-appraisal', path: '../extensions-agentic/lex-appraisal'
55
- gem 'lex-argument-mapping', path: '../extensions-agentic/lex-argument-mapping'
56
- gem 'lex-arousal', path: '../extensions-agentic/lex-arousal'
57
- gem 'lex-attention', path: '../extensions-agentic/lex-attention'
58
- gem 'lex-attentional-blink', path: '../extensions-agentic/lex-attentional-blink'
59
- gem 'lex-attention-economy', path: '../extensions-agentic/lex-attention-economy'
60
- gem 'lex-attention-regulation', path: '../extensions-agentic/lex-attention-regulation'
61
- gem 'lex-attention-schema', path: '../extensions-agentic/lex-attention-schema'
62
- gem 'lex-attention-spotlight', path: '../extensions-agentic/lex-attention-spotlight'
63
- gem 'lex-attention-switching', path: '../extensions-agentic/lex-attention-switching'
64
- gem 'lex-bayesian-belief', path: '../extensions-agentic/lex-bayesian-belief'
65
- gem 'lex-belief-revision', path: '../extensions-agentic/lex-belief-revision'
66
- gem 'lex-bias', path: '../extensions-agentic/lex-bias'
67
- gem 'lex-causal-attribution', path: '../extensions-agentic/lex-causal-attribution'
68
- gem 'lex-causal-reasoning', path: '../extensions-agentic/lex-causal-reasoning'
69
- gem 'lex-cognitive-alchemy', path: '../extensions-agentic/lex-cognitive-alchemy'
70
- gem 'lex-cognitive-anchor', path: '../extensions-agentic/lex-cognitive-anchor'
71
- gem 'lex-cognitive-apprenticeship', path: '../extensions-agentic/lex-cognitive-apprenticeship'
72
- gem 'lex-cognitive-archaeology', path: '../extensions-agentic/lex-cognitive-archaeology'
73
- gem 'lex-cognitive-architecture', path: '../extensions-agentic/lex-cognitive-architecture'
74
- gem 'lex-cognitive-aurora', path: '../extensions-agentic/lex-cognitive-aurora'
75
- gem 'lex-cognitive-autopilot', path: '../extensions-agentic/lex-cognitive-autopilot'
76
- gem 'lex-cognitive-avalanche', path: '../extensions-agentic/lex-cognitive-avalanche'
77
- gem 'lex-cognitive-blindspot', path: '../extensions-agentic/lex-cognitive-blindspot'
78
- gem 'lex-cognitive-boundary', path: '../extensions-agentic/lex-cognitive-boundary'
79
- gem 'lex-cognitive-catalyst', path: '../extensions-agentic/lex-cognitive-catalyst'
80
- gem 'lex-cognitive-chrysalis', path: '../extensions-agentic/lex-cognitive-chrysalis'
81
- gem 'lex-cognitive-chunking', path: '../extensions-agentic/lex-cognitive-chunking'
82
- gem 'lex-cognitive-cocoon', path: '../extensions-agentic/lex-cognitive-cocoon'
83
- gem 'lex-cognitive-coherence', path: '../extensions-agentic/lex-cognitive-coherence'
84
- gem 'lex-cognitive-compass', path: '../extensions-agentic/lex-cognitive-compass'
85
- gem 'lex-cognitive-compression', path: '../extensions-agentic/lex-cognitive-compression'
86
- gem 'lex-cognitive-constellation', path: '../extensions-agentic/lex-cognitive-constellation'
87
- gem 'lex-cognitive-contagion', path: '../extensions-agentic/lex-cognitive-contagion'
88
- gem 'lex-cognitive-control', path: '../extensions-agentic/lex-cognitive-control'
89
- gem 'lex-cognitive-debt', path: '../extensions-agentic/lex-cognitive-debt'
90
- gem 'lex-cognitive-debugging', path: '../extensions-agentic/lex-cognitive-debugging'
91
- gem 'lex-cognitive-defusion', path: '../extensions-agentic/lex-cognitive-defusion'
92
- gem 'lex-cognitive-disengagement', path: '../extensions-agentic/lex-cognitive-disengagement'
93
- gem 'lex-cognitive-dissonance-resolution', path: '../extensions-agentic/lex-cognitive-dissonance-resolution'
94
- gem 'lex-cognitive-dwell', path: '../extensions-agentic/lex-cognitive-dwell'
95
- gem 'lex-cognitive-echo', path: '../extensions-agentic/lex-cognitive-echo'
96
- gem 'lex-cognitive-echo-chamber', path: '../extensions-agentic/lex-cognitive-echo-chamber'
97
- gem 'lex-cognitive-empathy', path: '../extensions-agentic/lex-cognitive-empathy'
98
- gem 'lex-cognitive-entrainment', path: '../extensions-agentic/lex-cognitive-entrainment'
99
- gem 'lex-cognitive-erosion', path: '../extensions-agentic/lex-cognitive-erosion'
100
- gem 'lex-cognitive-fatigue-model', path: '../extensions-agentic/lex-cognitive-fatigue-model'
101
- gem 'lex-cognitive-fermentation', path: '../extensions-agentic/lex-cognitive-fermentation'
102
- gem 'lex-cognitive-fingerprint', path: '../extensions-agentic/lex-cognitive-fingerprint'
103
- gem 'lex-cognitive-flexibility', path: '../extensions-agentic/lex-cognitive-flexibility'
104
- gem 'lex-cognitive-flexibility-training', path: '../extensions-agentic/lex-cognitive-flexibility-training'
105
- gem 'lex-cognitive-fossil-fuel', path: '../extensions-agentic/lex-cognitive-fossil-fuel'
106
- gem 'lex-cognitive-friction', path: '../extensions-agentic/lex-cognitive-friction'
107
- gem 'lex-cognitive-furnace', path: '../extensions-agentic/lex-cognitive-furnace'
108
- gem 'lex-cognitive-garden', path: '../extensions-agentic/lex-cognitive-garden'
109
- gem 'lex-cognitive-genesis', path: '../extensions-agentic/lex-cognitive-genesis'
110
- gem 'lex-cognitive-grammar', path: '../extensions-agentic/lex-cognitive-grammar'
111
- gem 'lex-cognitive-gravity', path: '../extensions-agentic/lex-cognitive-gravity'
112
- gem 'lex-cognitive-greenhouse', path: '../extensions-agentic/lex-cognitive-greenhouse'
113
- gem 'lex-cognitive-hologram', path: '../extensions-agentic/lex-cognitive-hologram'
114
- gem 'lex-cognitive-homeostasis', path: '../extensions-agentic/lex-cognitive-homeostasis'
115
- gem 'lex-cognitive-horizon', path: '../extensions-agentic/lex-cognitive-horizon'
116
- gem 'lex-cognitive-hourglass', path: '../extensions-agentic/lex-cognitive-hourglass'
117
- gem 'lex-cognitive-immune-memory', path: '../extensions-agentic/lex-cognitive-immune-memory'
118
- gem 'lex-cognitive-immune-response', path: '../extensions-agentic/lex-cognitive-immune-response'
119
- gem 'lex-cognitive-immunology', path: '../extensions-agentic/lex-cognitive-immunology'
120
- gem 'lex-cognitive-inertia', path: '../extensions-agentic/lex-cognitive-inertia'
121
- gem 'lex-cognitive-integration', path: '../extensions-agentic/lex-cognitive-integration'
122
- gem 'lex-cognitive-kaleidoscope', path: '../extensions-agentic/lex-cognitive-kaleidoscope'
123
- gem 'lex-cognitive-labyrinth', path: '../extensions-agentic/lex-cognitive-labyrinth'
124
- gem 'lex-cognitive-lens', path: '../extensions-agentic/lex-cognitive-lens'
125
- gem 'lex-cognitive-lighthouse', path: '../extensions-agentic/lex-cognitive-lighthouse'
126
- gem 'lex-cognitive-liminal', path: '../extensions-agentic/lex-cognitive-liminal'
127
- gem 'lex-cognitive-load', path: '../extensions-agentic/lex-cognitive-load'
128
- gem 'lex-cognitive-load-balancing', path: '../extensions-agentic/lex-cognitive-load-balancing'
129
- gem 'lex-cognitive-lucidity', path: '../extensions-agentic/lex-cognitive-lucidity'
130
- gem 'lex-cognitive-magnet', path: '../extensions-agentic/lex-cognitive-magnet'
131
- gem 'lex-cognitive-map', path: '../extensions-agentic/lex-cognitive-map'
132
- gem 'lex-cognitive-metabolism', path: '../extensions-agentic/lex-cognitive-metabolism'
133
- gem 'lex-cognitive-mirror', path: '../extensions-agentic/lex-cognitive-mirror'
134
- gem 'lex-cognitive-momentum', path: '../extensions-agentic/lex-cognitive-momentum'
135
- gem 'lex-cognitive-mosaic', path: '../extensions-agentic/lex-cognitive-mosaic'
136
- gem 'lex-cognitive-mycelium', path: '../extensions-agentic/lex-cognitive-mycelium'
137
- gem 'lex-cognitive-narrative-arc', path: '../extensions-agentic/lex-cognitive-narrative-arc'
138
- gem 'lex-cognitive-nostalgia', path: '../extensions-agentic/lex-cognitive-nostalgia'
139
- gem 'lex-cognitive-offloading', path: '../extensions-agentic/lex-cognitive-offloading'
140
- gem 'lex-cognitive-origami', path: '../extensions-agentic/lex-cognitive-origami'
141
- gem 'lex-cognitive-paleontology', path: '../extensions-agentic/lex-cognitive-paleontology'
142
- gem 'lex-cognitive-palimpsest', path: '../extensions-agentic/lex-cognitive-palimpsest'
143
- gem 'lex-cognitive-pendulum', path: '../extensions-agentic/lex-cognitive-pendulum'
144
- gem 'lex-cognitive-phantom', path: '../extensions-agentic/lex-cognitive-phantom'
145
- gem 'lex-cognitive-plasticity', path: '../extensions-agentic/lex-cognitive-plasticity'
146
- gem 'lex-cognitive-prism', path: '../extensions-agentic/lex-cognitive-prism'
147
- gem 'lex-cognitive-quicksand', path: '../extensions-agentic/lex-cognitive-quicksand'
148
- gem 'lex-cognitive-quicksilver', path: '../extensions-agentic/lex-cognitive-quicksilver'
149
- gem 'lex-cognitive-reappraisal', path: '../extensions-agentic/lex-cognitive-reappraisal'
150
- gem 'lex-cognitive-reserve', path: '../extensions-agentic/lex-cognitive-reserve'
151
- gem 'lex-cognitive-resonance', path: '../extensions-agentic/lex-cognitive-resonance'
152
- gem 'lex-cognitive-rhythm', path: '../extensions-agentic/lex-cognitive-rhythm'
153
- gem 'lex-cognitive-scaffolding', path: '../extensions-agentic/lex-cognitive-scaffolding'
154
- gem 'lex-cognitive-surplus', path: '../extensions-agentic/lex-cognitive-surplus'
155
- gem 'lex-cognitive-symbiosis', path: '../extensions-agentic/lex-cognitive-symbiosis'
156
- gem 'lex-cognitive-synesthesia', path: '../extensions-agentic/lex-cognitive-synesthesia'
157
- gem 'lex-cognitive-synthesis', path: '../extensions-agentic/lex-cognitive-synthesis'
158
- gem 'lex-cognitive-tapestry', path: '../extensions-agentic/lex-cognitive-tapestry'
159
- gem 'lex-cognitive-tectonics', path: '../extensions-agentic/lex-cognitive-tectonics'
160
- gem 'lex-cognitive-telescope', path: '../extensions-agentic/lex-cognitive-telescope'
161
- gem 'lex-cognitive-tempo', path: '../extensions-agentic/lex-cognitive-tempo'
162
- gem 'lex-cognitive-tessellation', path: '../extensions-agentic/lex-cognitive-tessellation'
163
- gem 'lex-cognitive-tide', path: '../extensions-agentic/lex-cognitive-tide'
164
- gem 'lex-cognitive-triage', path: '../extensions-agentic/lex-cognitive-triage'
165
- gem 'lex-cognitive-volcano', path: '../extensions-agentic/lex-cognitive-volcano'
166
- gem 'lex-cognitive-weather', path: '../extensions-agentic/lex-cognitive-weather'
167
- gem 'lex-cognitive-weathering', path: '../extensions-agentic/lex-cognitive-weathering'
168
- gem 'lex-cognitive-whirlpool', path: '../extensions-agentic/lex-cognitive-whirlpool'
169
- gem 'lex-cognitive-zeitgeist', path: '../extensions-agentic/lex-cognitive-zeitgeist'
170
- gem 'lex-coldstart', path: '../extensions-agentic/lex-coldstart'
171
- gem 'lex-conceptual-blending', path: '../extensions-agentic/lex-conceptual-blending'
172
- gem 'lex-conceptual-metaphor', path: '../extensions-agentic/lex-conceptual-metaphor'
173
- gem 'lex-confabulation', path: '../extensions-agentic/lex-confabulation'
174
- gem 'lex-conflict', path: '../extensions-agentic/lex-conflict'
175
- gem 'lex-conscience', path: '../extensions-agentic/lex-conscience'
176
- gem 'lex-consent', path: '../extensions-agentic/lex-consent'
177
- gem 'lex-context', path: '../extensions-agentic/lex-context'
178
- gem 'lex-cortex', path: '../extensions-agentic/lex-cortex'
179
- gem 'lex-counterfactual', path: '../extensions-agentic/lex-counterfactual'
180
- gem 'lex-creativity', path: '../extensions-agentic/lex-creativity'
181
- gem 'lex-curiosity', path: '../extensions-agentic/lex-curiosity'
182
- gem 'lex-decision-fatigue', path: '../extensions-agentic/lex-decision-fatigue'
183
- gem 'lex-default-mode-network', path: '../extensions-agentic/lex-default-mode-network'
184
- gem 'lex-dissonance', path: '../extensions-agentic/lex-dissonance'
185
- gem 'lex-distributed-cognition', path: '../extensions-agentic/lex-distributed-cognition'
186
- gem 'lex-dream', path: '../extensions-agentic/lex-dream'
187
- gem 'lex-dual-process', path: '../extensions-agentic/lex-dual-process'
188
- gem 'lex-embodied-simulation', path: '../extensions-agentic/lex-embodied-simulation'
189
- gem 'lex-emotion', path: '../extensions-agentic/lex-emotion'
190
- gem 'lex-emotional-regulation', path: '../extensions-agentic/lex-emotional-regulation'
191
- gem 'lex-empathy', path: '../extensions-agentic/lex-empathy'
192
- gem 'lex-enactive-cognition', path: '../extensions-agentic/lex-enactive-cognition'
193
- gem 'lex-episodic-buffer', path: '../extensions-agentic/lex-episodic-buffer'
194
- gem 'lex-epistemic-curiosity', path: '../extensions-agentic/lex-epistemic-curiosity'
195
- gem 'lex-epistemic-vigilance', path: '../extensions-agentic/lex-epistemic-vigilance'
196
- gem 'lex-error-monitoring', path: '../extensions-agentic/lex-error-monitoring'
197
- gem 'lex-executive-function', path: '../extensions-agentic/lex-executive-function'
198
- gem 'lex-expectation-violation', path: '../extensions-agentic/lex-expectation-violation'
199
- gem 'lex-extinction', path: '../extensions-agentic/lex-extinction'
200
- gem 'lex-fatigue', path: '../extensions-agentic/lex-fatigue'
201
- gem 'lex-feature-binding', path: '../extensions-agentic/lex-feature-binding'
202
- gem 'lex-flow', path: '../extensions-agentic/lex-flow'
203
- gem 'lex-frame-semantics', path: '../extensions-agentic/lex-frame-semantics'
204
- gem 'lex-free-energy', path: '../extensions-agentic/lex-free-energy'
205
- gem 'lex-gestalt', path: '../extensions-agentic/lex-gestalt'
206
- gem 'lex-global-workspace', path: '../extensions-agentic/lex-global-workspace'
207
- gem 'lex-goal-management', path: '../extensions-agentic/lex-goal-management'
208
- gem 'lex-governance', path: '../extensions-agentic/lex-governance'
209
- gem 'lex-habit', path: '../extensions-agentic/lex-habit'
210
- gem 'lex-hebbian-assembly', path: '../extensions-agentic/lex-hebbian-assembly'
211
- gem 'lex-homeostasis', path: '../extensions-agentic/lex-homeostasis'
212
- gem 'lex-hypothesis-testing', path: '../extensions-agentic/lex-hypothesis-testing'
213
- gem 'lex-identity', path: '../extensions-agentic/lex-identity'
214
- gem 'lex-imagination', path: '../extensions-agentic/lex-imagination'
215
- gem 'lex-inhibition', path: '../extensions-agentic/lex-inhibition'
216
- gem 'lex-inner-speech', path: '../extensions-agentic/lex-inner-speech'
217
- gem 'lex-interoception', path: '../extensions-agentic/lex-interoception'
218
- gem 'lex-intuition', path: '../extensions-agentic/lex-intuition'
219
- gem 'lex-joint-attention', path: '../extensions-agentic/lex-joint-attention'
220
- gem 'lex-language', path: '../extensions-agentic/lex-language'
221
- gem 'lex-latent-inhibition', path: '../extensions-agentic/lex-latent-inhibition'
222
- gem 'lex-learning-rate', path: '../extensions-agentic/lex-learning-rate'
223
- gem 'lex-memory', path: '../extensions-agentic/lex-memory'
224
- gem 'lex-mentalizing', path: '../extensions-agentic/lex-mentalizing'
225
- gem 'lex-mental-simulation', path: '../extensions-agentic/lex-mental-simulation'
226
- gem 'lex-mental-time-travel', path: '../extensions-agentic/lex-mental-time-travel'
227
- gem 'lex-mesh', path: '../extensions-agentic/lex-mesh'
228
- gem 'lex-metacognition', path: '../extensions-agentic/lex-metacognition'
229
- gem 'lex-metacognitive-monitoring', path: '../extensions-agentic/lex-metacognitive-monitoring'
230
- gem 'lex-meta-learning', path: '../extensions-agentic/lex-meta-learning'
231
- gem 'lex-mind-growth', path: '../extensions-agentic/lex-mind-growth'
232
- gem 'lex-mirror', path: '../extensions-agentic/lex-mirror'
233
- gem 'lex-mood', path: '../extensions-agentic/lex-mood'
234
- gem 'lex-moral-reasoning', path: '../extensions-agentic/lex-moral-reasoning'
235
- gem 'lex-motivation', path: '../extensions-agentic/lex-motivation'
236
- gem 'lex-narrative-identity', path: '../extensions-agentic/lex-narrative-identity'
237
- gem 'lex-narrative-reasoning', path: '../extensions-agentic/lex-narrative-reasoning'
238
- gem 'lex-narrative-self', path: '../extensions-agentic/lex-narrative-self'
239
- gem 'lex-narrator', path: '../extensions-agentic/lex-narrator'
240
- gem 'lex-neural-oscillation', path: '../extensions-agentic/lex-neural-oscillation'
241
- gem 'lex-neuromodulation', path: '../extensions-agentic/lex-neuromodulation'
242
- gem 'lex-perceptual-inference', path: '../extensions-agentic/lex-perceptual-inference'
243
- gem 'lex-personality', path: '../extensions-agentic/lex-personality'
244
- gem 'lex-perspective-shifting', path: '../extensions-agentic/lex-perspective-shifting'
245
- gem 'lex-phenomenal-binding', path: '../extensions-agentic/lex-phenomenal-binding'
246
- gem 'lex-planning', path: '../extensions-agentic/lex-planning'
247
- gem 'lex-pragmatic-inference', path: '../extensions-agentic/lex-pragmatic-inference'
248
- gem 'lex-prediction', path: '../extensions-agentic/lex-prediction'
249
- gem 'lex-predictive-coding', path: '../extensions-agentic/lex-predictive-coding'
250
- gem 'lex-predictive-processing', path: '../extensions-agentic/lex-predictive-processing'
251
- gem 'lex-preference-learning', path: '../extensions-agentic/lex-preference-learning'
252
- gem 'lex-priming', path: '../extensions-agentic/lex-priming'
253
- gem 'lex-privatecore', path: '../extensions-agentic/lex-privatecore'
254
- gem 'lex-procedural-learning', path: '../extensions-agentic/lex-procedural-learning'
255
- gem 'lex-prospection', path: '../extensions-agentic/lex-prospection'
256
- gem 'lex-prospective-memory', path: '../extensions-agentic/lex-prospective-memory'
257
- gem 'lex-qualia', path: '../extensions-agentic/lex-qualia'
258
- gem 'lex-reality-testing', path: '../extensions-agentic/lex-reality-testing'
259
- gem 'lex-reflection', path: '../extensions-agentic/lex-reflection'
260
- gem 'lex-relevance-theory', path: '../extensions-agentic/lex-relevance-theory'
261
- gem 'lex-resilience', path: '../extensions-agentic/lex-resilience'
262
- gem 'lex-reward', path: '../extensions-agentic/lex-reward'
263
- gem 'lex-salience', path: '../extensions-agentic/lex-salience'
264
- gem 'lex-schema', path: '../extensions-agentic/lex-schema'
265
- gem 'lex-self-model', path: '../extensions-agentic/lex-self-model'
266
- gem 'lex-self-talk', path: '../extensions-agentic/lex-self-talk'
267
- gem 'lex-semantic-memory', path: '../extensions-agentic/lex-semantic-memory'
268
- gem 'lex-semantic-priming', path: '../extensions-agentic/lex-semantic-priming'
269
- gem 'lex-semantic-satiation', path: '../extensions-agentic/lex-semantic-satiation'
270
- gem 'lex-sensory-gating', path: '../extensions-agentic/lex-sensory-gating'
271
- gem 'lex-signal-detection', path: '../extensions-agentic/lex-signal-detection'
272
- gem 'lex-situation-model', path: '../extensions-agentic/lex-situation-model'
273
- gem 'lex-social', path: '../extensions-agentic/lex-social'
274
- gem 'lex-social-learning', path: '../extensions-agentic/lex-social-learning'
275
- gem 'lex-somatic-marker', path: '../extensions-agentic/lex-somatic-marker'
276
- gem 'lex-source-monitoring', path: '../extensions-agentic/lex-source-monitoring'
277
- gem 'lex-subliminal', path: '../extensions-agentic/lex-subliminal'
278
- gem 'lex-surprise', path: '../extensions-agentic/lex-surprise'
279
- gem 'lex-swarm', path: '../extensions-agentic/lex-swarm'
280
- gem 'lex-swarm-github', path: '../extensions-agentic/lex-swarm-github'
281
- gem 'lex-temporal', path: '../extensions-agentic/lex-temporal'
282
- gem 'lex-temporal-discounting', path: '../extensions-agentic/lex-temporal-discounting'
283
- gem 'lex-theory-of-mind', path: '../extensions-agentic/lex-theory-of-mind'
284
- gem 'lex-tick', path: '../extensions-agentic/lex-tick'
285
- gem 'lex-transfer-learning', path: '../extensions-agentic/lex-transfer-learning'
286
- gem 'lex-trust', path: '../extensions-agentic/lex-trust'
287
- gem 'lex-uncertainty-tolerance', path: '../extensions-agentic/lex-uncertainty-tolerance'
288
- gem 'lex-volition', path: '../extensions-agentic/lex-volition'
289
- gem 'lex-working-memory', path: '../extensions-agentic/lex-working-memory'
49
+ # Agentic extensions — domain gems (consolidated from 232 individual source gems)
50
+ gem 'lex-agentic-affect', path: '../extensions-agentic/lex-agentic-affect'
51
+ gem 'lex-agentic-attention', path: '../extensions-agentic/lex-agentic-attention'
52
+ gem 'lex-agentic-defense', path: '../extensions-agentic/lex-agentic-defense'
53
+ gem 'lex-agentic-executive', path: '../extensions-agentic/lex-agentic-executive'
54
+ gem 'lex-agentic-homeostasis', path: '../extensions-agentic/lex-agentic-homeostasis'
55
+ gem 'lex-agentic-imagination', path: '../extensions-agentic/lex-agentic-imagination'
56
+ gem 'lex-agentic-inference', path: '../extensions-agentic/lex-agentic-inference'
57
+ gem 'lex-agentic-integration', path: '../extensions-agentic/lex-agentic-integration'
58
+ gem 'lex-agentic-language', path: '../extensions-agentic/lex-agentic-language'
59
+ gem 'lex-agentic-learning', path: '../extensions-agentic/lex-agentic-learning'
60
+ gem 'lex-agentic-memory', path: '../extensions-agentic/lex-agentic-memory'
61
+ gem 'lex-agentic-self', path: '../extensions-agentic/lex-agentic-self'
62
+ gem 'lex-agentic-social', path: '../extensions-agentic/lex-agentic-social'
290
63
  end
291
64
 
292
65
  gem 'mysql2'
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 · 30 MCP tools │
11
+ │ 280+ extensions · 35 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.13** | **Apache-2.0** | [@Esity](https://github.com/Esity)
17
+ **Ruby >= 3.4** | **v1.4.61** | **Apache-2.0** | [@Esity](https://github.com/Esity)
18
18
 
19
19
  ---
20
20
 
@@ -33,7 +33,7 @@ When A completes, B runs. B triggers C, D, and E in parallel. Conditions gate ex
33
33
  But that's just the foundation. LegionIO is also:
34
34
 
35
35
  - **An AI coding assistant** — interactive chat with tools, code review, commit messages, PR generation, and multi-agent workflows
36
- - **An MCP server** — 30 tools that let any AI agent run tasks, manage extensions, and query your infrastructure
36
+ - **An MCP server** — 35 tools that let any AI agent run tasks, manage extensions, and query your infrastructure
37
37
  - **A cognitive computing platform** — 242 brain-modeled extensions across 18 cognitive domains
38
38
  - **A digital worker platform** — AI-as-labor with governance, risk tiers, and cost tracking
39
39
 
@@ -41,18 +41,28 @@ But that's just the foundation. LegionIO is also:
41
41
 
42
42
  ```bash
43
43
  gem install legionio
44
- legion check # verify subsystem connections
45
- legion start # start the daemon
44
+ legionio check # verify subsystem connections
45
+ legionio start # start the daemon
46
46
  ```
47
47
 
48
48
  For the AI features:
49
49
 
50
50
  ```bash
51
+ legion # launch the interactive TTY shell
51
52
  legion chat # interactive AI REPL with 10 built-in tools
52
53
  legion commit # AI-generated commit message from staged changes
53
54
  legion review # AI code review of your code
54
55
  ```
55
56
 
57
+ ### Two Binaries
58
+
59
+ | Binary | Purpose |
60
+ |--------|---------|
61
+ | `legion` | Interactive TTY shell + dev-workflow commands (`chat`, `commit`, `review`, `plan`, `memory`, `init`) |
62
+ | `legionio` | Daemon lifecycle + all operational commands (`start`, `stop`, `lex`, `task`, `config`, `mcp`, and 40+ more) |
63
+
64
+ `legion` with no args drops into the interactive TTY shell. `legionio` is the full operational CLI.
65
+
56
66
  ## Installation
57
67
 
58
68
  ```bash
@@ -85,19 +95,19 @@ gem 'legionio'
85
95
 
86
96
  ## The CLI
87
97
 
88
- Everything runs through `legion`:
98
+ Operational commands run through `legionio`. Dev-workflow and AI commands run through `legion`.
89
99
 
90
100
  ### Daemon & Health
91
101
 
92
102
  ```bash
93
- legion start # foreground
94
- legion start -d # daemonize
95
- legion start --http-port 8080 # custom API port
96
- legion status # service status
97
- legion stop # graceful shutdown
98
- legion check # smoke-test all connections
99
- legion check --extensions # also verify extensions
100
- legion check --full # full boot including API
103
+ legionio start # foreground
104
+ legionio start -d # daemonize
105
+ legionio start --http-port 8080 # custom API port
106
+ legionio status # service status
107
+ legionio stop # graceful shutdown
108
+ legionio check # smoke-test all connections
109
+ legionio check --extensions # also verify extensions
110
+ legionio check --full # full boot including API
101
111
  ```
102
112
 
103
113
  ### Extensions (LEX)
@@ -211,7 +221,26 @@ legion config scaffold # generate starter config files (auto-detects en
211
221
 
212
222
  `config scaffold` auto-detects environment variables (`ANTHROPIC_API_KEY`, `AWS_BEARER_TOKEN_BEDROCK`, `OPENAI_API_KEY`, `GEMINI_API_KEY`, `VAULT_TOKEN`, `RABBITMQ_USER`/`PASSWORD`) and a running Ollama instance, enabling providers and setting `env://` references automatically.
213
223
 
214
- Settings load from the first directory found: `/etc/legionio/` → `~/legionio/` → `./settings/`
224
+ Settings load from the first directory found: `/etc/legionio/` → `~/.legionio/settings/` → `~/legionio/` → `./settings/`
225
+
226
+ ### Observability
227
+
228
+ ```bash
229
+ legion dashboard # TUI operational dashboard with auto-refresh
230
+ legion cost summary # cost overview (today/week/month)
231
+ legion cost worker <id> # per-worker cost breakdown
232
+ legion trace search "failed tasks last hour" # natural language trace search
233
+ legion graph show --format mermaid # task relationship graph
234
+ ```
235
+
236
+ ### Audit & RBAC
237
+
238
+ ```bash
239
+ legion audit list # query audit log
240
+ legion audit export --format csv
241
+ legion rbac roles # list roles
242
+ legion rbac check <identity> <resource> <action>
243
+ ```
215
244
 
216
245
  ### Diagnostics
217
246
 
@@ -250,6 +279,13 @@ The daemon exposes a REST API on port 4567 (configurable):
250
279
  | `GET /api/transport` | RabbitMQ connection status |
251
280
  | `GET /api/events` | SSE event stream |
252
281
  | `GET/POST/PUT/DELETE /api/workers` | Digital worker lifecycle |
282
+ | `GET /api/capacity` | Workforce capacity and forecasting |
283
+ | `GET /api/tenants` | Multi-tenant management |
284
+ | `GET /api/audit` | Audit log query and export |
285
+ | `GET /api/rbac/*` | Role-based access control |
286
+ | `GET /api/webhooks` | Webhook subscription management |
287
+ | `GET /api/openapi.json` | OpenAPI 3.1.0 specification |
288
+ | `GET /metrics` | Prometheus metrics |
253
289
  | `POST /api/coldstart/ingest` | Context ingestion |
254
290
 
255
291
  ```json
@@ -269,7 +305,7 @@ legion mcp http # streamable HTTP on localhost:9393
269
305
  legion mcp http --port 8080 --host 0.0.0.0
270
306
  ```
271
307
 
272
- **30 tools** in the `legion.*` namespace:
308
+ **35 tools** in the `legion.*` namespace:
273
309
 
274
310
  | Category | Tools |
275
311
  |----------|-------|
@@ -281,6 +317,7 @@ legion mcp http --port 8080 --host 0.0.0.0
281
317
  | **Schedules** | `list_schedules`, `create_schedule`, `update_schedule`, `delete_schedule` |
282
318
  | **System** | `get_status`, `get_config` |
283
319
  | **Workers** | `list_workers`, `show_worker`, `worker_lifecycle`, `worker_costs`, `team_summary` |
320
+ | **RBAC** | `rbac_assignments`, `rbac_check`, `rbac_grants` |
284
321
  | **Analytics** | `routing_stats` |
285
322
 
286
323
  **Resources**: `legion://runners` (full runner catalog), `legion://extensions/{name}` (extension detail)
@@ -314,9 +351,9 @@ Access Vault secrets inline: `<%= Legion::Crypt.read('pushover/token') %>`
314
351
 
315
352
  Browse: [LegionIO GitHub](https://github.com/LegionIO) | [legionio topic](https://github.com/topics/legionio?l=ruby)
316
353
 
317
- ### Core (13 operational extensions)
354
+ ### Core (16 operational extensions)
318
355
 
319
- `lex-node` `lex-tasker` `lex-conditioner` `lex-transformer` `lex-scheduler` `lex-health` `lex-log` `lex-ping` `lex-exec` `lex-lex` `lex-codegen` `lex-metering` `lex-coldstart`
356
+ `lex-node` `lex-tasker` `lex-conditioner` `lex-transformer` `lex-synapse` `lex-scheduler` `lex-health` `lex-log` `lex-ping` `lex-exec` `lex-lex` `lex-codegen` `lex-metering` `lex-telemetry` `lex-audit` `task_pruner`
320
357
 
321
358
  ### Agentic (242 cognitive extensions)
322
359
 
@@ -340,7 +377,7 @@ Powered by [legion-llm](https://github.com/LegionIO/legion-llm) with three-tier
340
377
 
341
378
  ### Service Integrations (8 common + 15 additional)
342
379
 
343
- **Common**: `lex-http` `lex-redis` `lex-s3` `lex-github` `lex-consul` `lex-nomad` `lex-vault` `lex-microsoft_teams`
380
+ **Common**: `lex-http` `lex-redis` `lex-s3` `lex-github` `lex-consul` `lex-tfe` `lex-vault` `lex-kerberos` `lex-microsoft_teams`
344
381
 
345
382
  **Additional**: `lex-ssh` `lex-slack` `lex-smtp` `lex-influxdb` `lex-pagerduty` `lex-elasticsearch` `lex-chef` `lex-pushover` `lex-twilio` `lex-todoist` `lex-pushbullet` `lex-sleepiq` `lex-elastic_app_search` `lex-memcached` `lex-sonos`
346
383
 
@@ -389,6 +426,10 @@ No paid tiers. No feature gates. Full HA out of the box.
389
426
  - **Cluster secret**: Generated at first startup, distributed via Vault or in-memory
390
427
  - **JWT auth**: Bearer token authentication on the REST API
391
428
  - **API key support**: `X-API-Key` header authentication
429
+ - **RBAC**: Role-based access control with Vault-style flat policies
430
+ - **Rate limiting**: Sliding-window per-IP/agent/tenant rate limiting
431
+ - **API versioning**: `/api/v1/` prefix with deprecation headers
432
+ - **Kerberos**: SPNEGO/GSSAPI authentication with LDAP group resolution
392
433
 
393
434
  ## Docker
394
435
 
@@ -446,7 +487,7 @@ Each phase registers with `Legion::Readiness`. All phases are individually toggl
446
487
  git clone https://github.com/LegionIO/LegionIO.git
447
488
  cd LegionIO
448
489
  bundle install
449
- bundle exec rspec # 880 examples, 0 failures
490
+ bundle exec rspec # 1379 examples, 0 failures
450
491
  bundle exec rubocop # 0 offenses
451
492
  ```
452
493
 
data/completions/_legion CHANGED
@@ -1,5 +1,5 @@
1
1
  #compdef legion
2
- # zsh completion for the legion CLI
2
+ # zsh completion for the legion CLI (interactive / dev-workflow commands)
3
3
  # Generated by LegionIO
4
4
  #
5
5
  # Installation:
@@ -13,6 +13,9 @@
13
13
  # legion completion zsh > ~/.oh-my-zsh/completions/_legion
14
14
  #
15
15
  # Then reload: exec zsh
16
+ #
17
+ # Note: `legion` is the interactive TTY shell + dev-workflow binary.
18
+ # Use `legionio` for daemon lifecycle and all operational commands.
16
19
 
17
20
  _legion() {
18
21
  local state line
@@ -36,28 +39,12 @@ _legion() {
36
39
  case $state in
37
40
  subcmd)
38
41
  case $words[1] in
39
- lex) _legion_lex ;;
40
- task) _legion_task ;;
41
- chain) _legion_chain ;;
42
- config) _legion_config ;;
43
- generate|g) _legion_generate ;;
44
- mcp) _legion_mcp ;;
45
- worker) _legion_worker ;;
46
- coldstart) _legion_coldstart ;;
47
42
  chat) _legion_chat ;;
48
43
  memory) _legion_memory ;;
49
44
  plan) _legion_plan ;;
50
- swarm) _legion_swarm ;;
51
45
  commit) _legion_commit ;;
52
46
  pr) _legion_pr ;;
53
47
  review) _legion_review ;;
54
- gaia) _legion_gaia ;;
55
- schedule) _legion_schedule ;;
56
- completion) _legion_completion ;;
57
- start) _legion_start ;;
58
- stop) _legion_stop ;;
59
- check) _legion_check ;;
60
- dream) _arguments '--wait[Wait for dream cycle]' $global_opts ;;
61
48
  esac
62
49
  ;;
63
50
  esac
@@ -66,32 +53,17 @@ _legion() {
66
53
  _legion_commands() {
67
54
  local -a commands
68
55
  commands=(
69
- 'start:Start the Legion daemon'
70
- 'stop:Stop a running Legion daemon'
71
- 'status:Show running service status'
72
- 'check:Verify Legion can start successfully'
73
- 'version:Show version information'
74
- 'lex:Manage Legion extensions (LEXs)'
75
- 'task:Manage tasks'
76
- 'chain:Manage task chains'
77
- 'config:View and validate configuration'
78
- 'generate:Code generators for LEX components'
79
- 'mcp:Start MCP server for AI agent integration'
80
- 'worker:Manage digital workers'
81
- 'coldstart:Cold start bootstrap and Claude memory ingestion'
82
56
  'chat:Interactive AI conversation'
83
- 'memory:Persistent project memory across sessions'
84
- 'plan:Start plan mode (read-only exploration)'
85
- 'swarm:Multi-agent swarm orchestration'
86
57
  'commit:Generate AI commit message from staged changes'
87
58
  'pr:Create pull request with AI-generated title and description'
88
59
  'review:AI code review of changes'
89
- 'gaia:GAIA cognitive coordination'
90
- 'schedule:Manage schedules'
91
- 'completion:Shell tab completion scripts'
92
- 'tree:Print a tree of all available commands'
60
+ 'memory:Persistent project memory across sessions'
61
+ 'plan:Start plan mode (read-only exploration)'
62
+ 'init:Interactive project setup wizard'
63
+ 'tty:Launch interactive TTY shell'
93
64
  'ask:Quick AI prompt (shortcut for chat prompt)'
94
- 'dream:Trigger a dream cycle on the running daemon'
65
+ 'version:Show version information'
66
+ 'help:Show help'
95
67
  )
96
68
  _describe 'command' commands
97
69
  }