legionio 1.5.22 → 1.5.23

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: dc118d8800708d94fc279455bd379cda4f159cc535b6af290997aacf311765bb
4
- data.tar.gz: b144e6d8fa85659d6a929f427c611ddd5e5288bfce404eeb11b41bfe1f85d82f
3
+ metadata.gz: 17deabb2b4dbb36f8f31d6e14d7a63f8f91974de927136695f578ec76754d9c5
4
+ data.tar.gz: cfe7c8e815606a027c4fd0fcf93ecc09af5020d2e90fee69e77f3d623496db7a
5
5
  SHA512:
6
- metadata.gz: ba5b7bfc06588c0a8f3e6e5d123e481a847e72614e76bb312b3dbf78bec3f55d56c539fd501db189a6827ab81a36716377084c8419a11548c5a1463fa4fe5dc8
7
- data.tar.gz: 35580f0a9895e93c225fe596a02379f57a21669e67b2485805beb37ec9082c4098302b6dfb465ec5f21f06d9265e0bc103dd882ec68377e8f4e4ce2d891c3d59
6
+ metadata.gz: c5bf157c87db6916ffd800abfa0e84597f26dd4357ef64e7ce6072fdb20afeba4bf4d78260049107e67923d2aa872e44d58356cdb89ad3b599a8e92db3279a3e
7
+ data.tar.gz: 7d030a421b8bcb8f2ffae48d564339a7241b7febd6cd5142a8473dd6e67c4f00b661a571ff80ce0107b3cd69adf268427ad035368eaa1ed4e336afc85bbd5976
data/CHANGELOG.md CHANGED
@@ -1,7 +1,15 @@
1
1
  # Legion Changelog
2
2
 
3
+ ## [1.5.23] - 2026-03-26
4
+
5
+ ### Changed
6
+ - Remove all lex-memory references from service.rb, API coldstart, and OpenAPI docs; use lex-agentic-memory namespace everywhere
7
+
3
8
  ## [1.5.22] - 2026-03-26
4
9
 
10
+ ### Fixed
11
+ - `coldstart ingest` no longer crashes when lex-memory is absent; uses lex-agentic-memory trace store instead
12
+
5
13
  ### Changed
6
14
  - Consolidate 48 root CLI commands into 7 groups + 19 root commands
7
15
  - New groups: `ai`, `git`, `pipeline`, `ops`, `serve`, `admin`, `dev`
@@ -19,12 +19,13 @@ module Legion
19
19
  halt 503, json_error('coldstart_unavailable', 'lex-coldstart is not loaded', status_code: 503)
20
20
  end
21
21
 
22
- unless defined?(Legion::Extensions::Memory)
23
- Legion::Logging.warn 'API POST /api/coldstart/ingest returned 503: lex-memory is not loaded'
24
- halt 503, json_error('memory_unavailable', 'lex-memory is not loaded', status_code: 503)
22
+ unless defined?(Legion::Extensions::Agentic::Memory::Trace)
23
+ Legion::Logging.warn 'API POST /api/coldstart/ingest returned 503: lex-agentic-memory is not loaded'
24
+ halt 503, json_error('memory_unavailable', 'lex-agentic-memory is not loaded', status_code: 503)
25
25
  end
26
26
 
27
27
  runner = Object.new.extend(Legion::Extensions::Coldstart::Runners::Ingest)
28
+ runner.define_singleton_method(:log) { Legion::Logging } unless runner.respond_to?(:log)
28
29
 
29
30
  result = if File.file?(path)
30
31
  runner.ingest_file(file_path: File.expand_path(path))
@@ -128,7 +128,7 @@ module Legion
128
128
  { name: 'Lex', description: 'Auto-registered LEX runner routes' },
129
129
  { name: 'Workers', description: 'Digital worker lifecycle management' },
130
130
  { name: 'Teams', description: 'Team-level worker and cost views' },
131
- { name: 'Coldstart', description: 'Cold-start memory ingestion (requires lex-coldstart + lex-memory)' },
131
+ { name: 'Coldstart', description: 'Cold-start memory ingestion (requires lex-coldstart + lex-agentic-memory)' },
132
132
  { name: 'Gaia', description: 'Gaia cognitive layer status' },
133
133
  { name: 'Apollo', description: 'Apollo knowledge graph (requires lex-apollo + legion-data)' },
134
134
  { name: 'OpenAPI', description: 'OpenAPI spec endpoint' }
@@ -1384,8 +1384,8 @@ module Legion
1384
1384
  '/api/coldstart/ingest' => {
1385
1385
  post: {
1386
1386
  tags: ['Coldstart'],
1387
- summary: 'Ingest a file or directory into lex-memory',
1388
- description: 'Requires lex-coldstart and lex-memory to be loaded.',
1387
+ summary: 'Ingest a file or directory into agentic memory',
1388
+ description: 'Requires lex-coldstart and lex-agentic-memory to be loaded.',
1389
1389
  operationId: 'coldstartIngest',
1390
1390
  requestBody: {
1391
1391
  required: true,
@@ -1404,7 +1404,7 @@ module Legion
1404
1404
  '401' => UNAUTH_RESPONSE,
1405
1405
  '404' => NOT_FOUND_RESPONSE,
1406
1406
  '422' => UNPROCESSABLE_RESPONSE,
1407
- '503' => { description: 'lex-coldstart or lex-memory not loaded' }
1407
+ '503' => { description: 'lex-coldstart or lex-agentic-memory not loaded' }
1408
1408
  }
1409
1409
  }
1410
1410
  }
@@ -11,10 +11,10 @@ module Legion
11
11
  class_option :no_color, type: :boolean, default: false, desc: 'Disable color output'
12
12
  class_option :verbose, type: :boolean, default: false, aliases: ['-V'], desc: 'Verbose logging'
13
13
 
14
- desc 'ingest [PATH...]', 'Ingest Claude memory/CLAUDE.md files into lex-memory traces'
14
+ desc 'ingest [PATH...]', 'Ingest Claude memory/CLAUDE.md files into agentic memory traces'
15
15
  long_desc <<~DESC
16
16
  Parse Claude Code MEMORY.md or CLAUDE.md files and convert them into
17
- lex-memory traces for cold start bootstrapping.
17
+ agentic memory traces for cold start bootstrapping.
18
18
 
19
19
  Accepts any number of file or directory paths. When given a directory,
20
20
  all CLAUDE.md and MEMORY.md files are discovered recursively.
@@ -59,7 +59,7 @@ module Legion
59
59
  require_coldstart!
60
60
  paths = [Dir.pwd] if paths.empty?
61
61
 
62
- runner = Object.new.extend(Legion::Extensions::Coldstart::Runners::Ingest)
62
+ runner = build_runner(Legion::Extensions::Coldstart::Runners::Ingest)
63
63
 
64
64
  paths.each do |path|
65
65
  if File.file?(path)
@@ -83,7 +83,7 @@ module Legion
83
83
  out = formatter
84
84
  require_coldstart!
85
85
 
86
- runner = Object.new.extend(Legion::Extensions::Coldstart::Runners::Coldstart)
86
+ runner = build_runner(Legion::Extensions::Coldstart::Runners::Coldstart)
87
87
  progress = runner.coldstart_progress
88
88
 
89
89
  if options[:json]
@@ -111,7 +111,7 @@ module Legion
111
111
  end
112
112
 
113
113
  def run_local_ingest(out, path, dry_run:)
114
- runner = Object.new.extend(Legion::Extensions::Coldstart::Runners::Ingest)
114
+ runner = build_runner(Legion::Extensions::Coldstart::Runners::Ingest)
115
115
 
116
116
  if File.file?(path)
117
117
  result = dry_run ? runner.preview_ingest(file_path: File.expand_path(path)) : runner.ingest_file(file_path: File.expand_path(path))
@@ -152,10 +152,23 @@ module Legion
152
152
  4567
153
153
  end
154
154
 
155
+ def build_runner(mod)
156
+ obj = Object.new
157
+ obj.extend(mod)
158
+ obj.define_singleton_method(:log) { Legion::Logging } unless obj.respond_to?(:log)
159
+ obj
160
+ end
161
+
155
162
  def require_coldstart!
156
163
  require 'legion/logging'
157
164
  Legion::Logging.setup(level: options[:verbose] ? 'debug' : 'warn') unless Legion::Logging.instance_variable_get(:@log)
158
- require 'legion/extensions/memory'
165
+
166
+ begin
167
+ require 'legion/extensions/agentic/memory/trace'
168
+ rescue LoadError
169
+ Legion::Logging.debug('lex-agentic-memory not available, traces will be parsed but not stored') if defined?(Legion::Logging)
170
+ end
171
+
159
172
  require 'legion/extensions/coldstart'
160
173
  rescue LoadError => e
161
174
  formatter.error("lex-coldstart not available: #{e.message}")
@@ -130,7 +130,7 @@ module Legion
130
130
 
131
131
  Legion::Gaia.registry&.rediscover if gaia && defined?(Legion::Gaia) && Legion::Gaia.started?
132
132
 
133
- Legion::Extensions::Memory::Helpers::ErrorTracer.setup if defined?(Legion::Extensions::Memory::Helpers::ErrorTracer)
133
+ Legion::Extensions::Agentic::Memory::Trace::Helpers::ErrorTracer.setup if defined?(Legion::Extensions::Agentic::Memory::Trace::Helpers::ErrorTracer)
134
134
 
135
135
  Legion::Crypt.cs if crypt
136
136
 
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Legion
4
- VERSION = '1.5.22'
4
+ VERSION = '1.5.23'
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.5.22
4
+ version: 1.5.23
5
5
  platform: ruby
6
6
  authors:
7
7
  - Esity