kairos-chain 3.65.0 → 3.67.0
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 +27 -0
- data/lib/kairos_mcp/version.rb +1 -1
- data/templates/skillsets/kairos_hook_projector/mode_hooks/_EXAMPLE.json +1 -0
- data/templates/skillsets/kairos_hook_projector/plugin/SKILL.md +34 -5
- data/templates/skillsets/kairos_hook_projector/skillset.json +4 -2
- data/templates/skillsets/kairos_hook_projector/test/test_mode_hooks_add.rb +541 -0
- data/templates/skillsets/kairos_hook_projector/test/test_mode_hooks_validate.rb +132 -0
- data/templates/skillsets/kairos_hook_projector/tools/mode_hooks_add.rb +443 -0
- data/templates/skillsets/kairos_hook_projector/tools/mode_hooks_validate.rb +45 -0
- data/templates/skillsets/minimum_nomic/README.md +150 -0
- data/templates/skillsets/minimum_nomic/bin/audit_scores.rb +217 -0
- data/templates/skillsets/minimum_nomic/bin/check_gm.rb +270 -0
- data/templates/skillsets/minimum_nomic/bin/cross_model.rb +126 -0
- data/templates/skillsets/minimum_nomic/bin/reanalyse.rb +147 -0
- data/templates/skillsets/minimum_nomic/bin/rules_initial.json +73 -0
- data/templates/skillsets/minimum_nomic/bin/run_gm.rb +978 -0
- data/templates/skillsets/minimum_nomic/skillset.json +13 -0
- metadata +11 -1
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 0506a7cc642b812cabab1bb2840d928e1a9f550bf2486466741a54b6d71ee74f
|
|
4
|
+
data.tar.gz: bf1ff56bf44cf13d78c01dedd26d0bdc6188453dea18ca1975027f2b3a6c7f8d
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 7c4ef69fda47be727f4ba9da5f44ee95d6cf63f5cff559bb3b3b2cc7dfc8df67022f47086d6468b6dc332f41b95908745557e294d2bc8d1e4dec70a763ec208a
|
|
7
|
+
data.tar.gz: 1838ad363f5bc95a8e5abdb1ca07c7be7891a0ab5410cbdc22456b5187bc4297f193d57f2a93b57578582704702b788eb2e5e78d5c4ff7c0f978bcc58c8cd4c5
|
data/CHANGELOG.md
CHANGED
|
@@ -4,6 +4,33 @@ 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
|
+
## [3.67.0] - 2026-08-15
|
|
8
|
+
|
|
9
|
+
### Added
|
|
10
|
+
|
|
11
|
+
- **The Minimum Nomic bench ships.** Three language models play a self-amending
|
|
12
|
+
game with nine changeable rules, no goal and no termination condition, while a
|
|
13
|
+
fourth decides only who speaks next. It lived at `bench/minimum_nomic/` in the
|
|
14
|
+
development checkout, which the gemspec never walked, so nobody outside this
|
|
15
|
+
repository could reproduce a run. It is now the `minimum_nomic` SkillSet under
|
|
16
|
+
`templates/skillsets/`, with the five scripts in `bin/`.
|
|
17
|
+
|
|
18
|
+
The single thing that kept it out was a hard-coded `../../.kairos/` path to the
|
|
19
|
+
`llm_client` adapters, which resolved only in the development checkout.
|
|
20
|
+
`llm_client` is now resolved as a **sibling SkillSet**
|
|
21
|
+
(`../../llm_client/lib/llm_client`), the same relative path in the gem's
|
|
22
|
+
templates and in a projected instance. When it is absent the run aborts naming
|
|
23
|
+
both directories it searched, rather than failing inside a `require`.
|
|
24
|
+
|
|
25
|
+
`bin/cross_model.rb` is new: it analyses a stored game with one named model at
|
|
26
|
+
one named reasoning effort, instead of the panel recorded in the game's own
|
|
27
|
+
line-up. Without it, a comparison between model generations reuses both stored
|
|
28
|
+
panels and confounds generation with effort — the stored games ran
|
|
29
|
+
`claude-opus-4-6` at medium and `claude-opus-5` at high.
|
|
30
|
+
|
|
31
|
+
Not yet demonstrated: no game has been played from an installed gem. Until one
|
|
32
|
+
has, treat distribution as untested.
|
|
33
|
+
|
|
7
34
|
## [3.65.0] - 2026-08-13
|
|
8
35
|
|
|
9
36
|
### Changed
|
data/lib/kairos_mcp/version.rb
CHANGED
|
@@ -50,6 +50,7 @@
|
|
|
50
50
|
"Stop": [
|
|
51
51
|
{
|
|
52
52
|
"gate": "readable_gate",
|
|
53
|
+
"_description": "Measures the turn's last message against declared readability limits — length, headings, tables, undefined shorthand, a missing diagram — and reports to its log, or blocks the turn once blocking is true.",
|
|
53
54
|
"section": "§ Readable output",
|
|
54
55
|
|
|
55
56
|
"_blocking_note": "false on purpose in the example. The vocabulary rule below is the one thing here that cannot be got right by reading: whether a shape is coined shorthand or an ordinary technical word depends on what you write about. Start in report-only mode, read your log for a week, then set this to true. Shipping the example with true meant a consumer who copied it as instructed was blocked on the first message mentioning a character encoding.",
|
|
@@ -20,16 +20,42 @@ under `.kairos/hook_configs/`.
|
|
|
20
20
|
Not auto-installed (not a core SkillSet): install it by name first —
|
|
21
21
|
`system_upgrade command="apply" approved=true names=["kairos_hook_projector"]`.
|
|
22
22
|
|
|
23
|
-
1.
|
|
24
|
-
`<mode>.mode_hooks.json`
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
23
|
+
1. `mode_hooks_add mode="<mode>" gate="readable_gate"` writes
|
|
24
|
+
`<mode>.mode_hooks.json` beside the mode body — creating it, or appending
|
|
25
|
+
to it; an entry with the same gate already on the event is refused, never
|
|
26
|
+
overwritten. Omitting `mode` targets the active mode, and on a stock init
|
|
27
|
+
that is `tutorial` — a gem-shipped template body carrying no
|
|
28
|
+
readable-output norm — so name your mode. The entry comes from the
|
|
29
|
+
catalogue (`mode_hooks/_EXAMPLE.json`): event, section, blocking, and
|
|
30
|
+
starting params. Tune the numbers in the written file afterwards, they are
|
|
31
|
+
the mode's own — and edit `section` to a heading your mode body actually
|
|
32
|
+
contains: it is copied from the catalogue, it is a claim about your own
|
|
33
|
+
text, and the gate quotes it verbatim in every block reason. Called
|
|
34
|
+
without `gate` it lists the catalogue and writes nothing. It stops at the
|
|
35
|
+
declaration and never touches `.claude/settings.json`.
|
|
36
|
+
2. Or by hand, for someone who wants to write the numbers themselves: copy
|
|
37
|
+
`mode_hooks/_EXAMPLE.json` beside your mode body as
|
|
38
|
+
`<mode>.mode_hooks.json` (e.g. `.kairos/skills/masa.mode_hooks.json`),
|
|
39
|
+
then edit `mode_name` inside it to `<mode>` — filename and field must
|
|
40
|
+
agree — edit `section` to a heading your mode body actually contains (the
|
|
41
|
+
gate quotes it verbatim in every block reason), and replace the example
|
|
42
|
+
numbers with your own.
|
|
43
|
+
3. `mode_hooks_validate` reports what the declaration still needs.
|
|
28
44
|
4. `mode_hooks_project` proposes by default and writes nothing; to install,
|
|
29
45
|
call again with `apply=true` and the `confirm_sha256` from the proposal.
|
|
30
46
|
5. `mode_hooks_validate`, run again, answers whether the gate is installed:
|
|
31
47
|
its `installed` check compares declaration and `.claude/settings.json`.
|
|
32
48
|
|
|
49
|
+
The catalogue is gem-shipped and is not an extension point on the instance:
|
|
50
|
+
`system_upgrade` overwrites `mode_hooks/_EXAMPLE.json` on any reinstall — at
|
|
51
|
+
the same version, with no warning, without naming the file — so an edit to
|
|
52
|
+
the installed copy does not survive. Adding a gate kind is a core release
|
|
53
|
+
act: the catalogue entry, the kind in the compiler's known-gate table (until
|
|
54
|
+
then every call refuses it as `unknown_gate`), and the gate implementation
|
|
55
|
+
itself. Your declaration lives beside the mode body, outside the SkillSet,
|
|
56
|
+
for the same reason — the tool refuses to write declarations inside the
|
|
57
|
+
SkillSet directory because an upgrade would undo them.
|
|
58
|
+
|
|
33
59
|
## Removing a mode's hooks
|
|
34
60
|
|
|
35
61
|
Two routes, and either works: empty the declaration's `hooks` object
|
|
@@ -54,6 +80,9 @@ installed command names them; delete them by hand if you want them gone.
|
|
|
54
80
|
|
|
55
81
|
## Tools
|
|
56
82
|
|
|
83
|
+
- `mode_hooks_add` — write or extend a mode's declaration from the catalogue
|
|
84
|
+
(`mode_hooks/_EXAMPLE.json`); append-only, stops at the declaration, never
|
|
85
|
+
touches `.claude/settings.json`. Without `gate`, lists the catalogue.
|
|
57
86
|
- `mode_hooks_validate` (read-only) — mode body vs declaration drift, compile
|
|
58
87
|
resolvability, and declared-vs-installed divergence in both directions.
|
|
59
88
|
- `mode_hooks_project` — compile and install; touches only entries it placed
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "kairos_hook_projector",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.5.0",
|
|
4
4
|
"description": "Projects an instruction mode's declared hooks into the harness configuration. Stage 1 compiles a mode_hooks declaration to a hook artifact plus a compile record. Stage 2 installs it: mode_hooks_project proposes by default and writes nothing, applying only when the caller echoes back the artifact hash from the proposal, and rewriting only hook groups carrying this SkillSet's marker for that mode — hand-added hooks and other modes' hooks are counted and left alone. Ships the generic readable_gate implementation; a mode supplies its own thresholds, the core supplies none.",
|
|
5
5
|
"author": "Masaomi Hatakeyama",
|
|
6
6
|
"layer": "L1",
|
|
@@ -15,12 +15,14 @@
|
|
|
15
15
|
"hooks_status_readonly",
|
|
16
16
|
"mode_hooks_validation",
|
|
17
17
|
"mode_hooks_projection",
|
|
18
|
+
"mode_hooks_declaration",
|
|
18
19
|
"readable_gate"
|
|
19
20
|
],
|
|
20
21
|
"tool_classes": [
|
|
21
22
|
"KairosMcp::SkillSets::KairosHookProjector::Tools::HooksStatus",
|
|
22
23
|
"KairosMcp::SkillSets::KairosHookProjector::Tools::ModeHooksValidate",
|
|
23
|
-
"KairosMcp::SkillSets::KairosHookProjector::Tools::ModeHooksProject"
|
|
24
|
+
"KairosMcp::SkillSets::KairosHookProjector::Tools::ModeHooksProject",
|
|
25
|
+
"KairosMcp::SkillSets::KairosHookProjector::Tools::ModeHooksAdd"
|
|
24
26
|
],
|
|
25
27
|
"config_files": [],
|
|
26
28
|
"knowledge_dirs": [],
|