kairos-chain 2.0.2 → 2.0.3
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 +12 -0
- data/bin/kairos-chain +5 -0
- data/lib/kairos_mcp/anthropic_skill_parser.rb +1 -1
- data/lib/kairos_mcp/tools/skills_promote.rb +5 -4
- data/lib/kairos_mcp/version.rb +1 -1
- data/templates/skills/kairos.rb +2 -2
- metadata +2 -2
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: adf8ce37ef7cfcd174f3800a5434e0c0be92629d4201262d0639075a2958a06c
|
|
4
|
+
data.tar.gz: 1ffb3dcd1c70f3d7e069c9e360af5bb797d966fb96bc9f5fdd9f1b975c2a00c9
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: ad2aa01dcf5a4819217eccac652b9afd188e171cce54a39b1a826071862fbb5f56a714a34508a51e6ed0cb6c1113beb0e81cabd60229aed0250e9a0084327e53
|
|
7
|
+
data.tar.gz: b47f7fb61751282c2a3e4456b405b39a35999c9c7ae599aedeefcdfef6aef5571231a4251086981321c59933e3797b8a3aca40e041427bdb2c0334132e93b8ea
|
data/CHANGELOG.md
CHANGED
|
@@ -4,6 +4,17 @@ All notable changes to the `kairos-chain` gem will be documented in this file.
|
|
|
4
4
|
|
|
5
5
|
This project follows [Semantic Versioning](https://semver.org/).
|
|
6
6
|
|
|
7
|
+
## [2.0.3] - 2026-02-24
|
|
8
|
+
|
|
9
|
+
### Fixed
|
|
10
|
+
|
|
11
|
+
- **Bug#1**: `SafeEvolver::DSL_PATH` undefined constant in `approval_workflow` skill behavior — changed to `KairosMcp.dsl_path` (L0 evolution was completely broken)
|
|
12
|
+
- **Bug#3a**: `ContextManager#get` undefined method in `skills_promote` — corrected to `get_context` (L2→L1 promotion was broken)
|
|
13
|
+
- **Bug#3b**: `SkillEntry#raw_content` undefined attribute in `skills_promote` — replaced with `File.read(context.md_file_path)` for L2 content loading
|
|
14
|
+
- **Bug#3c**: UTF-8 encoding errors on non-UTF-8 locales — added `Encoding.default_external/internal` in `bin/kairos-chain` and explicit `encoding: 'UTF-8'` to `File.read` calls in `anthropic_skill_parser.rb` and `skills_promote.rb`
|
|
15
|
+
|
|
16
|
+
---
|
|
17
|
+
|
|
7
18
|
## [2.0.2] - 2026-02-23
|
|
8
19
|
|
|
9
20
|
### Added
|
|
@@ -167,6 +178,7 @@ This project follows [Semantic Versioning](https://semver.org/).
|
|
|
167
178
|
- Skill promotion with Persona Assembly
|
|
168
179
|
- Tool guide and metadata system
|
|
169
180
|
|
|
181
|
+
[2.0.3]: https://github.com/masaomi/KairosChain_2026/compare/v2.0.2...v2.0.3
|
|
170
182
|
[2.0.2]: https://github.com/masaomi/KairosChain_2026/compare/v2.0.1...v2.0.2
|
|
171
183
|
[2.0.1]: https://github.com/masaomi/KairosChain_2026/compare/v2.0.0...v2.0.1
|
|
172
184
|
[2.0.0]: https://github.com/masaomi/KairosChain_2026/compare/v1.2.0...v2.0.0
|
data/bin/kairos-chain
CHANGED
|
@@ -1,5 +1,10 @@
|
|
|
1
1
|
#!/usr/bin/env ruby
|
|
2
2
|
# frozen_string_literal: true
|
|
3
|
+
# encoding: utf-8
|
|
4
|
+
|
|
5
|
+
# Ensure UTF-8 encoding for all file I/O
|
|
6
|
+
Encoding.default_external = Encoding::UTF_8
|
|
7
|
+
Encoding.default_internal = Encoding::UTF_8
|
|
3
8
|
|
|
4
9
|
# KairosChain - Memory-driven agent framework
|
|
5
10
|
#
|
|
@@ -68,7 +68,7 @@ module KairosMcp
|
|
|
68
68
|
md_file = find_md_file(skill_dir)
|
|
69
69
|
return nil unless md_file
|
|
70
70
|
|
|
71
|
-
content = File.read(md_file)
|
|
71
|
+
content = File.read(md_file, encoding: 'UTF-8')
|
|
72
72
|
frontmatter, body = extract_frontmatter(content)
|
|
73
73
|
|
|
74
74
|
skill_name = File.basename(skill_dir)
|
|
@@ -255,14 +255,15 @@ module KairosMcp
|
|
|
255
255
|
when 'L2'
|
|
256
256
|
session_id = args['session_id']
|
|
257
257
|
manager = ContextManager.new
|
|
258
|
-
context = manager.
|
|
258
|
+
context = manager.get_context(session_id, source_name)
|
|
259
259
|
return { error: "Context '#{source_name}' not found in session '#{session_id}'" } unless context
|
|
260
|
-
|
|
260
|
+
content = File.read(context.md_file_path, encoding: 'UTF-8')
|
|
261
|
+
{ content: content, metadata: context.to_h }
|
|
261
262
|
when 'L1'
|
|
262
263
|
provider = KnowledgeProvider.new
|
|
263
264
|
knowledge = provider.get(source_name)
|
|
264
265
|
return { error: "Knowledge '#{source_name}' not found" } unless knowledge
|
|
265
|
-
content = File.read(knowledge.md_file_path)
|
|
266
|
+
content = File.read(knowledge.md_file_path, encoding: 'UTF-8')
|
|
266
267
|
{ content: content, metadata: knowledge.to_h }
|
|
267
268
|
else
|
|
268
269
|
{ error: "Unknown source layer: #{from_layer}" }
|
|
@@ -280,7 +281,7 @@ module KairosMcp
|
|
|
280
281
|
}
|
|
281
282
|
end
|
|
282
283
|
|
|
283
|
-
content = File.read(knowledge.md_file_path)
|
|
284
|
+
content = File.read(knowledge.md_file_path, encoding: 'UTF-8')
|
|
284
285
|
{ definitions: content }
|
|
285
286
|
rescue StandardError => e
|
|
286
287
|
{
|
data/lib/kairos_mcp/version.rb
CHANGED
data/templates/skills/kairos.rb
CHANGED
|
@@ -340,8 +340,8 @@ skill :approval_workflow do
|
|
|
340
340
|
# === 3. SCOPE CHECKS (Mechanical) ===
|
|
341
341
|
|
|
342
342
|
# 3.1 Rollback possible (versions directory exists)
|
|
343
|
-
# Derive path from
|
|
344
|
-
dsl_dir = File.dirname(KairosMcp
|
|
343
|
+
# Derive path from KairosMcp.dsl_path which points to skills/kairos.rb
|
|
344
|
+
dsl_dir = File.dirname(KairosMcp.dsl_path)
|
|
345
345
|
versions_dir = File.join(dsl_dir, 'versions')
|
|
346
346
|
rollback_possible = Dir.exist?(versions_dir)
|
|
347
347
|
checks << {
|
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: kairos-chain
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 2.0.
|
|
4
|
+
version: 2.0.3
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Masa Hatakeyama
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2026-02-
|
|
11
|
+
date: 2026-02-24 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: minitest
|