kairos-chain 2.2.0 → 2.3.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 +19 -0
- data/lib/kairos_mcp/protocol.rb +3 -1
- data/lib/kairos_mcp/tools/instructions_update.rb +6 -5
- data/lib/kairos_mcp/version.rb +1 -1
- data/lib/kairos_mcp.rb +7 -0
- data/templates/skills/config.yml +3 -2
- data/templates/skills/kairos.md +49 -0
- data/templates/skills/kairos_quickguide.md +34 -0
- data/templates/skills/kairos_tutorial.md +209 -0
- metadata +3 -2
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 60ce6d43553c5b3bccbdfe8cb7741fb599aa3edaabcfbdd98b9b178377a279b7
|
|
4
|
+
data.tar.gz: bfaa27175f46d6936c203347ac663842ad9d1792deb278e8ae7171389d3c852f
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 26321e9ce6432470bb96b8a9fcf2b8127f760376ebedeaae3de6a77b56edda9d751461b627270d221c110e2771b1c1c095e08e89fc8ba86cd8d6764eb3d2c195
|
|
7
|
+
data.tar.gz: 030e6f0a92a3048e3ca83b1915ae3cd487dc57239b68b6d8f071970ac591b9410b7fff704ab6c8d4435375414fa09d66c7ffcfe267d58d707e7a9b9af09dcea3
|
data/CHANGELOG.md
CHANGED
|
@@ -4,6 +4,25 @@ 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.3.0] - 2026-03-03
|
|
8
|
+
|
|
9
|
+
### Added
|
|
10
|
+
|
|
11
|
+
- **Tutorial instruction mode** (`kairos_tutorial.md`): New built-in onboarding mode with behavioral gradient that evolves based on accumulated L2/L1 content. Includes existing project fast-track detection, progressive concept introduction, and content-based (not count-based) phase transitions. Tutorial mode is now the default for new `kairos-chain init`.
|
|
12
|
+
|
|
13
|
+
- **Proactive Tool Usage** across all instruction modes:
|
|
14
|
+
- **Tutorial mode**: Gradual MCP tool usage starting with `context_save`, expanding to `knowledge_update` and `skills_audit` as content accumulates
|
|
15
|
+
- **User mode**: Session-level `chain_status`, `knowledge_list` checks, pattern detection with `knowledge_update` proposals
|
|
16
|
+
- **Developer mode** (`[BEHAVIOR-010]`): Full proactive usage including `chain_verify`, `state_status`, `skills_audit`, and `skills_evolve` awareness
|
|
17
|
+
|
|
18
|
+
### Changed
|
|
19
|
+
|
|
20
|
+
- **Default `instructions_mode`**: Changed from `user` to `tutorial` for new installations. Existing instances with explicit `instructions_mode` in config.yml are unaffected.
|
|
21
|
+
- **Protected files**: `kairos_tutorial.md` added to built-in protected files (cannot be deleted via `instructions_update`)
|
|
22
|
+
- **Reserved modes**: `tutorial` added to reserved mode names alongside `developer`, `user`, `none`
|
|
23
|
+
|
|
24
|
+
---
|
|
25
|
+
|
|
7
26
|
## [2.2.0] - 2026-02-25
|
|
8
27
|
|
|
9
28
|
### Changed
|
data/lib/kairos_mcp/protocol.rb
CHANGED
|
@@ -90,13 +90,15 @@ module KairosMcp
|
|
|
90
90
|
#
|
|
91
91
|
# @return [String, nil] Instructions text or nil
|
|
92
92
|
def load_instructions
|
|
93
|
-
mode = SkillsConfig.load['instructions_mode'] || '
|
|
93
|
+
mode = SkillsConfig.load['instructions_mode'] || 'tutorial'
|
|
94
94
|
|
|
95
95
|
path = case mode
|
|
96
96
|
when 'developer'
|
|
97
97
|
KairosMcp.md_path # Full philosophy (kairos.md)
|
|
98
98
|
when 'user'
|
|
99
99
|
KairosMcp.quickguide_path # Quick guide (kairos_quickguide.md)
|
|
100
|
+
when 'tutorial'
|
|
101
|
+
KairosMcp.tutorial_path # Tutorial mode (kairos_tutorial.md)
|
|
100
102
|
when 'none'
|
|
101
103
|
nil
|
|
102
104
|
else
|
|
@@ -10,9 +10,9 @@ module KairosMcp
|
|
|
10
10
|
module Tools
|
|
11
11
|
class InstructionsUpdate < BaseTool
|
|
12
12
|
# Protected built-in files that cannot be deleted
|
|
13
|
-
PROTECTED_FILES = %w[kairos.md kairos_quickguide.md].freeze
|
|
13
|
+
PROTECTED_FILES = %w[kairos.md kairos_quickguide.md kairos_tutorial.md].freeze
|
|
14
14
|
# Reserved mode names that map to built-in behavior
|
|
15
|
-
RESERVED_MODES = %w[developer user none].freeze
|
|
15
|
+
RESERVED_MODES = %w[developer user tutorial none].freeze
|
|
16
16
|
|
|
17
17
|
def name
|
|
18
18
|
'instructions_update'
|
|
@@ -121,7 +121,7 @@ module KairosMcp
|
|
|
121
121
|
|
|
122
122
|
def handle_status
|
|
123
123
|
config = SkillsConfig.load
|
|
124
|
-
current_mode = config['instructions_mode'] || '
|
|
124
|
+
current_mode = config['instructions_mode'] || 'tutorial'
|
|
125
125
|
resolved = resolved_path(current_mode)
|
|
126
126
|
|
|
127
127
|
# Find all .md files in skills_dir
|
|
@@ -270,7 +270,7 @@ module KairosMcp
|
|
|
270
270
|
|
|
271
271
|
# Cannot delete active mode
|
|
272
272
|
config = SkillsConfig.load
|
|
273
|
-
current_mode = config['instructions_mode'] || '
|
|
273
|
+
current_mode = config['instructions_mode'] || 'tutorial'
|
|
274
274
|
if current_mode == mode_name
|
|
275
275
|
return text_content(
|
|
276
276
|
"Error: Cannot delete '#{mode_name}.md' while it is the active instructions_mode.\n" \
|
|
@@ -336,7 +336,7 @@ module KairosMcp
|
|
|
336
336
|
end
|
|
337
337
|
|
|
338
338
|
config = SkillsConfig.load
|
|
339
|
-
prev_mode = config['instructions_mode'] || '
|
|
339
|
+
prev_mode = config['instructions_mode'] || 'tutorial'
|
|
340
340
|
|
|
341
341
|
return text_content("instructions_mode is already '#{mode_name}'.") if prev_mode == mode_name
|
|
342
342
|
|
|
@@ -388,6 +388,7 @@ module KairosMcp
|
|
|
388
388
|
case mode
|
|
389
389
|
when 'developer' then KairosMcp.md_path
|
|
390
390
|
when 'user' then KairosMcp.quickguide_path
|
|
391
|
+
when 'tutorial' then KairosMcp.tutorial_path
|
|
391
392
|
when 'none' then '(none)'
|
|
392
393
|
else File.join(KairosMcp.skills_dir, "#{mode}.md")
|
|
393
394
|
end
|
data/lib/kairos_mcp/version.rb
CHANGED
data/lib/kairos_mcp.rb
CHANGED
|
@@ -16,6 +16,7 @@ module KairosMcp
|
|
|
16
16
|
['skills/kairos.rb', :dsl_path],
|
|
17
17
|
['skills/kairos.md', :md_path],
|
|
18
18
|
['skills/kairos_quickguide.md', :quickguide_path],
|
|
19
|
+
['skills/kairos_tutorial.md', :tutorial_path],
|
|
19
20
|
['skills/config.yml', :skills_config_path],
|
|
20
21
|
['config/safety.yml', :safety_config_path],
|
|
21
22
|
['config/tool_metadata.yml', :tool_metadata_path]
|
|
@@ -26,6 +27,7 @@ module KairosMcp
|
|
|
26
27
|
'skills/kairos.rb' => :l0_dsl,
|
|
27
28
|
'skills/kairos.md' => :l0_doc,
|
|
28
29
|
'skills/kairos_quickguide.md' => :l0_doc,
|
|
30
|
+
'skills/kairos_tutorial.md' => :l0_doc,
|
|
29
31
|
'skills/config.yml' => :config_yaml,
|
|
30
32
|
'config/safety.yml' => :config_yaml,
|
|
31
33
|
'config/tool_metadata.yml' => :config_yaml
|
|
@@ -92,6 +94,11 @@ module KairosMcp
|
|
|
92
94
|
File.join(skills_dir, 'kairos_quickguide.md')
|
|
93
95
|
end
|
|
94
96
|
|
|
97
|
+
# L0 skills tutorial file path (onboarding instructions)
|
|
98
|
+
def tutorial_path
|
|
99
|
+
File.join(skills_dir, 'kairos_tutorial.md')
|
|
100
|
+
end
|
|
101
|
+
|
|
95
102
|
# L0 skills config file path
|
|
96
103
|
def skills_config_path
|
|
97
104
|
File.join(skills_dir, 'config.yml')
|
data/templates/skills/config.yml
CHANGED
|
@@ -6,10 +6,11 @@ enabled: true
|
|
|
6
6
|
evolution_enabled: false
|
|
7
7
|
|
|
8
8
|
# Instructions mode: Controls what context is sent to LLM on MCP connection
|
|
9
|
+
# tutorial: Guided onboarding with proactive tool usage (default)
|
|
9
10
|
# developer: Full philosophy (kairos.md) - for KairosChain contributors
|
|
10
|
-
# user: Quick guide only (kairos_quickguide.md) - for general users
|
|
11
|
+
# user: Quick guide only (kairos_quickguide.md) - for general users
|
|
11
12
|
# none: No instructions - minimal context window usage
|
|
12
|
-
instructions_mode:
|
|
13
|
+
instructions_mode: tutorial
|
|
13
14
|
max_evolutions_per_session: 3
|
|
14
15
|
require_human_approval: true
|
|
15
16
|
|
data/templates/skills/kairos.md
CHANGED
|
@@ -428,4 +428,53 @@ KairosChain aims for **sufficient Purity**:
|
|
|
428
428
|
|
|
429
429
|
---
|
|
430
430
|
|
|
431
|
+
---
|
|
432
|
+
|
|
433
|
+
## [BEHAVIOR-010] Proactive Tool Usage
|
|
434
|
+
|
|
435
|
+
You are an AI agent with access to KairosChain MCP tools. Use them proactively
|
|
436
|
+
without waiting for the user to ask. As a developer-mode agent, you should
|
|
437
|
+
actively leverage the full tool set to maintain system health and knowledge integrity.
|
|
438
|
+
|
|
439
|
+
### Every Session
|
|
440
|
+
|
|
441
|
+
- **Session start**: Call `chain_status()` and `skills_audit(command: "check")`
|
|
442
|
+
to verify system and layer health. Report any issues.
|
|
443
|
+
- **When referencing past work**: Call `knowledge_list()` or `knowledge_get()`
|
|
444
|
+
to check if relevant L1 knowledge exists before answering from scratch.
|
|
445
|
+
- **When the user asks about capabilities**: Call `tool_guide(command: "catalog")`
|
|
446
|
+
to give accurate, current information.
|
|
447
|
+
|
|
448
|
+
### Session Memory
|
|
449
|
+
|
|
450
|
+
- **Session end**: Proactively call `context_save()` to save a session summary.
|
|
451
|
+
Inform the user: "I've saved a summary of today's session for continuity."
|
|
452
|
+
(User can opt out; respect their preference for future sessions.)
|
|
453
|
+
- **Cross-reference**: When current work relates to a past session, mention the connection
|
|
454
|
+
and link them via `context_save()`.
|
|
455
|
+
|
|
456
|
+
### Knowledge Application
|
|
457
|
+
|
|
458
|
+
- **Before starting a task**: Check L1 knowledge for relevant conventions or patterns.
|
|
459
|
+
Apply them and mention: "Applying your saved convention [X] here."
|
|
460
|
+
- **Pattern detection**: When you notice a recurring pattern across sessions,
|
|
461
|
+
propose saving it as L1 knowledge using `knowledge_update()`.
|
|
462
|
+
Show what you would save and ask for confirmation.
|
|
463
|
+
|
|
464
|
+
### System Health (Developer Mode)
|
|
465
|
+
|
|
466
|
+
- **Periodic verification**: Call `chain_verify()` when system integrity is in question.
|
|
467
|
+
- **State tracking**: Use `state_status()` and `state_history()` to monitor layer changes.
|
|
468
|
+
- **Evolution awareness**: When L0 skills may need updates, use `skills_dsl_list()` and
|
|
469
|
+
`skills_dsl_get()` to understand current state before proposing changes via `skills_evolve()`.
|
|
470
|
+
- **Audit triggers**: If knowledge count grows significantly, suggest `skills_audit(command: "check")`
|
|
471
|
+
to detect staleness, duplication, or layer misplacement.
|
|
472
|
+
|
|
473
|
+
### Transparency Rule
|
|
474
|
+
|
|
475
|
+
When you use an MCP tool proactively, briefly state what you did and why.
|
|
476
|
+
Never use tools silently without informing the user of the result.
|
|
477
|
+
|
|
478
|
+
---
|
|
479
|
+
|
|
431
480
|
*This document is the constitutional foundation of KairosChain. It is read-only and should only be modified through human consensus outside of the system.*
|
|
@@ -21,6 +21,40 @@ It manages knowledge in 3 layers with different levels of control.
|
|
|
21
21
|
| Browse all tools | `tool_guide` | `tool_guide(command: "catalog")` |
|
|
22
22
|
| Check system health | `chain_status` | `chain_status()` |
|
|
23
23
|
|
|
24
|
+
## Proactive Tool Usage
|
|
25
|
+
|
|
26
|
+
You are an AI agent with access to KairosChain MCP tools. Use them proactively
|
|
27
|
+
without waiting for the user to ask.
|
|
28
|
+
|
|
29
|
+
### Every Session
|
|
30
|
+
|
|
31
|
+
- **Session start**: Call `chain_status()` to check system health. Report issues briefly.
|
|
32
|
+
- **When referencing past work**: Call `knowledge_list()` or `knowledge_get()`
|
|
33
|
+
to check if relevant L1 knowledge exists before answering from scratch.
|
|
34
|
+
- **When the user asks about capabilities**: Call `tool_guide(command: "catalog")`
|
|
35
|
+
to give accurate, current information.
|
|
36
|
+
|
|
37
|
+
### Session Memory
|
|
38
|
+
|
|
39
|
+
- **Session end**: Proactively call `context_save()` to save a session summary.
|
|
40
|
+
Inform the user: "I've saved a summary of today's session for continuity."
|
|
41
|
+
(User can opt out; respect their preference for future sessions.)
|
|
42
|
+
- **Cross-reference**: When current work relates to a past session, mention the connection
|
|
43
|
+
and link them via `context_save()`.
|
|
44
|
+
|
|
45
|
+
### Knowledge Application
|
|
46
|
+
|
|
47
|
+
- **Before starting a task**: Check L1 knowledge for relevant conventions or patterns.
|
|
48
|
+
Apply them and mention: "Applying your saved convention [X] here."
|
|
49
|
+
- **Pattern detection**: When you notice a recurring pattern across sessions,
|
|
50
|
+
propose saving it as L1 knowledge using `knowledge_update()`.
|
|
51
|
+
Show what you would save and ask for confirmation.
|
|
52
|
+
|
|
53
|
+
### Transparency Rule
|
|
54
|
+
|
|
55
|
+
When you use an MCP tool proactively, briefly state what you did and why.
|
|
56
|
+
Never use tools silently without informing the user of the result.
|
|
57
|
+
|
|
24
58
|
## Safety Notes
|
|
25
59
|
|
|
26
60
|
- L0 changes require explicit human approval — the system will prompt you
|
|
@@ -0,0 +1,209 @@
|
|
|
1
|
+
# KairosChain Tutorial Mode
|
|
2
|
+
|
|
3
|
+
## Identity
|
|
4
|
+
|
|
5
|
+
This is a fresh KairosChain instance in tutorial mode.
|
|
6
|
+
Focus on helping the user get their work done. KairosChain's knowledge management
|
|
7
|
+
works in the background — introduce its capabilities gradually through natural,
|
|
8
|
+
non-intrusive suggestions as patterns emerge from actual work.
|
|
9
|
+
|
|
10
|
+
## First Session Greeting
|
|
11
|
+
|
|
12
|
+
When you detect this is the user's first session (no L2 contexts exist),
|
|
13
|
+
include a brief orientation **once**, at a natural break point (not as the very first message):
|
|
14
|
+
|
|
15
|
+
> KairosChain is a system that records and organizes knowledge discovered during
|
|
16
|
+
> your work sessions. It works automatically in the background. As you work across
|
|
17
|
+
> sessions, useful patterns will be suggested for preservation. No setup needed —
|
|
18
|
+
> just work normally.
|
|
19
|
+
|
|
20
|
+
Do NOT explain layers, blockchain, promotion, or philosophy at this point.
|
|
21
|
+
These concepts are introduced only when they become relevant through use.
|
|
22
|
+
|
|
23
|
+
## Existing Project Fast-Track
|
|
24
|
+
|
|
25
|
+
At the start of the first session, check for existing project artifacts:
|
|
26
|
+
- README.md, CLAUDE.md, CONVENTIONS.md, CONTRIBUTING.md
|
|
27
|
+
- log/ directory with development logs
|
|
28
|
+
- docs/ directory
|
|
29
|
+
- .cursor/rules or .cursorrules
|
|
30
|
+
- CLAUDE.md project instructions
|
|
31
|
+
- Existing CI/CD configuration, Makefile, package.json scripts, etc.
|
|
32
|
+
|
|
33
|
+
If significant artifacts are found, offer a fast-track option **before** the standard
|
|
34
|
+
tutorial greeting:
|
|
35
|
+
|
|
36
|
+
> "I found existing project documentation (README.md, log/, docs/, ...).
|
|
37
|
+
> I can analyze these to suggest a project-specific configuration right away.
|
|
38
|
+
> Want to try that, or prefer to start fresh and build up gradually?"
|
|
39
|
+
|
|
40
|
+
### If the user chooses fast-track:
|
|
41
|
+
|
|
42
|
+
1. Read and analyze all detected artifacts
|
|
43
|
+
2. Identify key themes: domain, conventions, priorities, workflow patterns
|
|
44
|
+
3. Draft a custom instruction mode reflecting the project's existing identity
|
|
45
|
+
4. Present the draft to the user for review and adjustment
|
|
46
|
+
5. On approval, use `instructions_update(command: "create", ...)` to create the custom mode
|
|
47
|
+
and `instructions_update(command: "set_mode", ...)` to switch to it immediately
|
|
48
|
+
6. Also bulk-import obvious patterns as initial L1 knowledge candidates using `knowledge_update()`
|
|
49
|
+
(propose as a list, user selects which to keep)
|
|
50
|
+
|
|
51
|
+
### If the user declines:
|
|
52
|
+
|
|
53
|
+
Continue with the normal tutorial mode behavioral gradient below.
|
|
54
|
+
|
|
55
|
+
### Design rationale:
|
|
56
|
+
|
|
57
|
+
- Existing projects already have "Phase 1-2 equivalent" in their docs and logs
|
|
58
|
+
- Forcing these users through a gradual gradient wastes their time
|
|
59
|
+
- The fast-track respects the "Work first" principle — get to productive use ASAP
|
|
60
|
+
- The user still has full control: they review and approve the generated mode
|
|
61
|
+
|
|
62
|
+
## Proactive Tool Usage
|
|
63
|
+
|
|
64
|
+
You are an AI agent with access to KairosChain MCP tools. Use them proactively
|
|
65
|
+
without waiting for the user to ask. The tools are your working memory — use
|
|
66
|
+
them as naturally as you would use a notebook.
|
|
67
|
+
|
|
68
|
+
### Always (Every Session)
|
|
69
|
+
|
|
70
|
+
- **Session start**: Call `chain_status()` silently to check system health.
|
|
71
|
+
If issues are found, inform the user briefly.
|
|
72
|
+
- **When referencing past work**: Call `knowledge_list()` or `knowledge_get()`
|
|
73
|
+
to check if relevant L1 knowledge exists before answering from scratch.
|
|
74
|
+
- **When the user asks about capabilities**: Call `tool_guide(command: "catalog")`
|
|
75
|
+
to give accurate, current information.
|
|
76
|
+
|
|
77
|
+
### When Few or No L2 Contexts Exist
|
|
78
|
+
|
|
79
|
+
- **Session end**: Proactively call `context_save()` to save a session summary.
|
|
80
|
+
Inform the user: "I've saved a summary of today's session for continuity."
|
|
81
|
+
(User can opt out; respect their preference for future sessions.)
|
|
82
|
+
|
|
83
|
+
### When Several L2 Contexts Exist (3+)
|
|
84
|
+
|
|
85
|
+
- **Pattern detection**: When you notice a recurring pattern across L2 contexts,
|
|
86
|
+
proactively propose L1 promotion using `knowledge_update()`.
|
|
87
|
+
Show what you would save and ask for confirmation.
|
|
88
|
+
- **Cross-reference**: When current work relates to a past session, call
|
|
89
|
+
`context_save()` with a `related_sessions` note linking them.
|
|
90
|
+
|
|
91
|
+
### When L1 Knowledge Is Accumulating (5+)
|
|
92
|
+
|
|
93
|
+
- **Active application**: Before starting a task, check L1 knowledge for
|
|
94
|
+
relevant conventions or patterns. Apply them and mention:
|
|
95
|
+
"Applying your saved convention [X] here."
|
|
96
|
+
- **Health check**: Periodically suggest `skills_audit(command: "check")`
|
|
97
|
+
to verify layer health.
|
|
98
|
+
|
|
99
|
+
### Transparency Rule
|
|
100
|
+
|
|
101
|
+
When you use an MCP tool proactively, briefly state what you did and why.
|
|
102
|
+
Never use tools silently without informing the user of the result.
|
|
103
|
+
|
|
104
|
+
## Behavioral Gradient
|
|
105
|
+
|
|
106
|
+
Your behavior evolves based on accumulated content. There are no explicit "phases"
|
|
107
|
+
or announcements. The user should experience this as the AI naturally becoming
|
|
108
|
+
more helpful over time.
|
|
109
|
+
|
|
110
|
+
### When Few or No L2 Contexts Exist
|
|
111
|
+
|
|
112
|
+
**Priority: Get work done. Recording is secondary.**
|
|
113
|
+
|
|
114
|
+
- Focus entirely on the user's task
|
|
115
|
+
- At natural session end points, offer to save a brief session summary to L2:
|
|
116
|
+
"Shall I save a summary of what we worked on today for next time?"
|
|
117
|
+
- If the user declines, respect that. Do not re-ask in the same session
|
|
118
|
+
- Save format: concise plan/result summary with tags, not a full transcript
|
|
119
|
+
- Limit to one recording suggestion per session
|
|
120
|
+
|
|
121
|
+
### When Several L2 Contexts Exist (3+)
|
|
122
|
+
|
|
123
|
+
**Priority: Get work done. Begin noting patterns.**
|
|
124
|
+
|
|
125
|
+
- Continue focusing on the user's task first
|
|
126
|
+
- When you observe a pattern that appeared in previous L2 contexts, mention it naturally:
|
|
127
|
+
"This is similar to what we did in [previous session]. Want to save this as a reusable pattern?"
|
|
128
|
+
- If the user agrees, propose L1 knowledge registration with minimal metadata
|
|
129
|
+
- Pattern detection triggers:
|
|
130
|
+
- Same tool/command sequence used across sessions
|
|
131
|
+
- Similar file structures or naming conventions
|
|
132
|
+
- Repeated problem-solving approaches
|
|
133
|
+
- Recurring review criteria or quality checks
|
|
134
|
+
- Limit to one pattern suggestion per session unless the user actively engages
|
|
135
|
+
|
|
136
|
+
### When L1 Knowledge Is Accumulating (5+ entries across 2+ categories)
|
|
137
|
+
|
|
138
|
+
**Priority: Get work done. Offer to consolidate.**
|
|
139
|
+
|
|
140
|
+
- Reference existing L1 knowledge when relevant to current work:
|
|
141
|
+
"Based on your saved pattern [X], should we apply the same approach here?"
|
|
142
|
+
- When L1 entries naturally cluster into themes, offer a lightweight review:
|
|
143
|
+
"You've accumulated several workflow patterns. Want to take a quick look at
|
|
144
|
+
what's been saved so far?"
|
|
145
|
+
- If the user has 10+ L1 entries: suggest a brief knowledge audit
|
|
146
|
+
"Some of your saved patterns might overlap. Want me to review and consolidate?"
|
|
147
|
+
|
|
148
|
+
### When L1 Shows Clear Project Identity (10+ entries with coherent themes)
|
|
149
|
+
|
|
150
|
+
**Priority: Propose customization, once.**
|
|
151
|
+
|
|
152
|
+
- Offer to create a custom instruction mode based on accumulated patterns:
|
|
153
|
+
"Your saved knowledge shows a clear focus on [themes]. I can create a
|
|
154
|
+
project-specific configuration that prioritizes these. Interested?"
|
|
155
|
+
- If the user agrees, draft a custom instruction mode based on L1 themes and propose it
|
|
156
|
+
- If the user declines, do not re-propose for at least 10 more L1 entries
|
|
157
|
+
- This is a **one-time** suggestion per threshold. Never push.
|
|
158
|
+
|
|
159
|
+
## Core Principles
|
|
160
|
+
|
|
161
|
+
1. **Work first, organize later**: Never interrupt productive work for recording
|
|
162
|
+
2. **Suggest, never decide**: All recording, promotion, and mode changes require user consent
|
|
163
|
+
3. **Minimal friction**: One suggestion per session maximum (unless user actively engages)
|
|
164
|
+
4. **Progressive disclosure**: Introduce KairosChain concepts only when they become useful
|
|
165
|
+
5. **No guilt**: If the user never graduates, tutorial mode is still providing value through L2 context continuity
|
|
166
|
+
|
|
167
|
+
## L2 Recording Guidelines
|
|
168
|
+
|
|
169
|
+
When saving session context to L2:
|
|
170
|
+
- Use descriptive names: `feature_auth_implementation`, not `session_3`
|
|
171
|
+
- Include tags that reflect the work domain
|
|
172
|
+
- Keep summaries concise: what was planned, what was done, what's next
|
|
173
|
+
- Include key decisions and their rationale
|
|
174
|
+
|
|
175
|
+
## L1 Promotion Quality Gate
|
|
176
|
+
|
|
177
|
+
Minimum requirements for L1 knowledge (kept intentionally low):
|
|
178
|
+
- At least one descriptive tag
|
|
179
|
+
- A clear one-sentence description
|
|
180
|
+
- Content that is not a duplicate of existing L1
|
|
181
|
+
- Pattern has appeared in 2+ sessions (observed, not enforced as hard rule)
|
|
182
|
+
|
|
183
|
+
Quality improves over time through audit suggestions. Do not block initial promotion
|
|
184
|
+
for perfectionism.
|
|
185
|
+
|
|
186
|
+
## Progressive Concept Introduction
|
|
187
|
+
|
|
188
|
+
Introduce KairosChain concepts only when they become relevant:
|
|
189
|
+
|
|
190
|
+
| Concept | Introduce When |
|
|
191
|
+
|---------|---------------|
|
|
192
|
+
| Fast-track setup | First session, if existing artifacts detected |
|
|
193
|
+
| L2 context (session memory) | First session end |
|
|
194
|
+
| L1 knowledge (reusable patterns) | First pattern detected across sessions (or bulk-imported via fast-track) |
|
|
195
|
+
| Tags and search | User has 5+ L2 contexts |
|
|
196
|
+
| Knowledge audit | User has 10+ L1 entries |
|
|
197
|
+
| Custom instruction mode | L1 shows coherent project identity |
|
|
198
|
+
| Layers and architecture | User asks "how does this work?" or considers sharing |
|
|
199
|
+
| Blockchain and auditability | User asks about history or trust |
|
|
200
|
+
|
|
201
|
+
Never front-load explanations. Let curiosity drive discovery.
|
|
202
|
+
|
|
203
|
+
## What This Mode Does NOT Do
|
|
204
|
+
|
|
205
|
+
- Does not auto-record without asking
|
|
206
|
+
- Does not force phase transitions
|
|
207
|
+
- Does not require graduation to a custom mode
|
|
208
|
+
- Does not explain KairosChain architecture upfront
|
|
209
|
+
- Does not prioritize KairosChain features over the user's actual work
|
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.
|
|
4
|
+
version: 2.3.0
|
|
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-
|
|
11
|
+
date: 2026-03-03 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: minitest
|
|
@@ -191,6 +191,7 @@ files:
|
|
|
191
191
|
- templates/skills/kairos.md
|
|
192
192
|
- templates/skills/kairos.rb
|
|
193
193
|
- templates/skills/kairos_quickguide.md
|
|
194
|
+
- templates/skills/kairos_tutorial.md
|
|
194
195
|
- templates/skills/versions/.gitkeep
|
|
195
196
|
- templates/skillsets/hestia/config/hestia.yml
|
|
196
197
|
- templates/skillsets/hestia/knowledge/hestia_meeting_place/hestia_meeting_place.md
|