@debian777/kairos-mcp 3.3.3 → 3.4.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.
- package/README.md +179 -105
- package/dist/.tsbuildinfo +1 -1
- package/dist/cli/commands/mint.d.ts.map +1 -1
- package/dist/cli/commands/mint.js +9 -1
- package/dist/cli/commands/mint.js.map +1 -1
- package/dist/embed-docs/mem/00000000-0000-0000-0000-000000002001.md +124 -162
- package/dist/embed-docs/mem/00000000-0000-0000-0000-000000002002.md +36 -34
- package/dist/embed-docs/mem/00000000-0000-0000-0000-000000002003.md +195 -0
- package/dist/embed-docs/mem/00000000-0000-0000-0000-000000002004.md +240 -0
- package/dist/embed-docs/mem/README.md +24 -0
- package/dist/resources/docs-resources.d.ts.map +1 -1
- package/dist/resources/docs-resources.js +9 -1
- package/dist/resources/docs-resources.js.map +1 -1
- package/dist/resources/embedded-mcp-resources.d.ts +14 -0
- package/dist/resources/embedded-mcp-resources.d.ts.map +1 -1
- package/dist/resources/embedded-mcp-resources.js +33 -9
- package/dist/resources/embedded-mcp-resources.js.map +1 -1
- package/dist/resources/mem-resources-boot.d.ts.map +1 -1
- package/dist/resources/mem-resources-boot.js +11 -3
- package/dist/resources/mem-resources-boot.js.map +1 -1
- package/dist/services/chain-step-count.d.ts +23 -0
- package/dist/services/chain-step-count.d.ts.map +1 -0
- package/dist/services/chain-step-count.js +23 -0
- package/dist/services/chain-step-count.js.map +1 -0
- package/dist/services/chain-utils.d.ts.map +1 -1
- package/dist/services/chain-utils.js +14 -9
- package/dist/services/chain-utils.js.map +1 -1
- package/dist/services/memory/store-methods.d.ts.map +1 -1
- package/dist/services/memory/store-methods.js +20 -12
- package/dist/services/memory/store-methods.js.map +1 -1
- package/dist/services/qdrant/memory-retrieval.d.ts +6 -1
- package/dist/services/qdrant/memory-retrieval.d.ts.map +1 -1
- package/dist/services/qdrant/memory-retrieval.js +21 -3
- package/dist/services/qdrant/memory-retrieval.js.map +1 -1
- package/dist/services/qdrant/service.d.ts +1 -1
- package/dist/services/qdrant/service.d.ts.map +1 -1
- package/dist/services/qdrant/service.js +2 -2
- package/dist/services/qdrant/service.js.map +1 -1
- package/dist/tools/kairos-challenge-display.d.ts.map +1 -1
- package/dist/tools/kairos-challenge-display.js +32 -2
- package/dist/tools/kairos-challenge-display.js.map +1 -1
- package/dist/tools/kairos_begin.d.ts +5 -0
- package/dist/tools/kairos_begin.d.ts.map +1 -1
- package/dist/tools/kairos_begin.js +8 -8
- package/dist/tools/kairos_begin.js.map +1 -1
- package/dist/tools/kairos_begin_schema.d.ts +5 -0
- package/dist/tools/kairos_begin_schema.d.ts.map +1 -1
- package/dist/tools/kairos_begin_schema.js +6 -1
- package/dist/tools/kairos_begin_schema.js.map +1 -1
- package/dist/tools/kairos_dump.js +1 -1
- package/dist/tools/kairos_dump.js.map +1 -1
- package/dist/tools/kairos_next-previous-step.d.ts.map +1 -1
- package/dist/tools/kairos_next-previous-step.js +11 -3
- package/dist/tools/kairos_next-previous-step.js.map +1 -1
- package/dist/tools/kairos_next_schema.d.ts +5 -0
- package/dist/tools/kairos_next_schema.d.ts.map +1 -1
- package/dist/tools/kairos_next_schema.js +7 -1
- package/dist/tools/kairos_next_schema.js.map +1 -1
- package/dist/tools/shell-challenge-invocation.d.ts +32 -0
- package/dist/tools/shell-challenge-invocation.d.ts.map +1 -0
- package/dist/tools/shell-challenge-invocation.js +113 -0
- package/dist/tools/shell-challenge-invocation.js.map +1 -0
- package/dist/types/memory.d.ts +10 -0
- package/dist/types/memory.d.ts.map +1 -1
- package/dist/ui/assets/{AccountPage-kxmPtqQP.js → AccountPage-BL4GHk9f.js} +1 -1
- package/dist/ui/assets/{ErrorAlert-ME7tEJ6X.js → ErrorAlert-KEgeKl22.js} +1 -1
- package/dist/ui/assets/{HomePage-DxiAsvs-.js → HomePage-DWAvtfBC.js} +1 -1
- package/dist/ui/assets/KairosPage-DZpZ35yd.js +1 -0
- package/dist/ui/assets/NotFoundPage-BrPNDuhe.js +1 -0
- package/dist/ui/assets/{ProtocolDetailPage-DKaSVepL.js → ProtocolDetailPage-R0XlRsIa.js} +1 -1
- package/dist/ui/assets/ProtocolEditPage-CzAnruE6.js +5 -0
- package/dist/ui/assets/{RenderedMarkdown-DjbuQlBl.js → RenderedMarkdown-CMavJdAJ.js} +1 -1
- package/dist/ui/assets/RunGuidedPage-Cm68aCC7.js +1 -0
- package/dist/ui/assets/{RunsPage-ctnsEF2U.js → RunsPage-DcDoMCq1.js} +1 -1
- package/dist/ui/assets/{SkillBundlePage-CaWW5oGq.js → SkillBundlePage-LuYOnVDQ.js} +1 -1
- package/dist/ui/assets/index-0G3wloMr.css +2 -0
- package/dist/ui/assets/index-S4_XWO39.js +8 -0
- package/dist/ui/assets/{tiptap-kMFBDujG.js → tiptap-CzV8H9Mb.js} +22 -22
- package/dist/ui/assets/useProtocol-C3ClZHlN.js +4 -0
- package/dist/ui/assets/{useSpaces-BV6eUjY3.js → useSpaces-DQEfGh8E.js} +1 -1
- package/dist/ui/assets/{vendor-GiUVcjs7.js → vendor-CVpIjmrD.js} +1 -1
- package/dist/ui/index.html +4 -4
- package/dist/utils/space-filter.d.ts +8 -0
- package/dist/utils/space-filter.d.ts.map +1 -1
- package/dist/utils/space-filter.js +18 -0
- package/dist/utils/space-filter.js.map +1 -1
- package/package.json +2 -1
- package/dist/ui/assets/KairosPage-BkqYs3-_.js +0 -1
- package/dist/ui/assets/NotFoundPage-DyfbQ-6G.js +0 -1
- package/dist/ui/assets/ProtocolEditPage-D-aTavvx.js +0 -1
- package/dist/ui/assets/RunGuidedPage-BUD0MaGh.js +0 -1
- package/dist/ui/assets/index-Duu55PkQ.css +0 -2
- package/dist/ui/assets/index-bQSxsGMU.js +0 -8
- package/dist/ui/assets/useProtocol-BruWpIzq.js +0 -4
|
@@ -0,0 +1,195 @@
|
|
|
1
|
+
---
|
|
2
|
+
version: "3.4.0"
|
|
3
|
+
slug: create-new-protocol-review
|
|
4
|
+
title: Review and Publish New KAIROS Protocol
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Review and Publish New KAIROS Protocol
|
|
8
|
+
|
|
9
|
+
Validate a drafted KAIROS protocol through format review, stranger review, user approval, and mint. Invoked by Chain 1 (`create-new-protocol`) or directly to re-review an existing draft.
|
|
10
|
+
|
|
11
|
+
## Natural Language Triggers
|
|
12
|
+
|
|
13
|
+
**Typically invoked by:** Chain 1's chain link step via `kairos_begin(key: "create-new-protocol-review")`.
|
|
14
|
+
|
|
15
|
+
**Can be invoked directly when user says:**
|
|
16
|
+
|
|
17
|
+
- "review my protocol draft" / "validate this protocol"
|
|
18
|
+
- "re-run format review on my draft"
|
|
19
|
+
- "mint my protocol" (when a draft already exists)
|
|
20
|
+
|
|
21
|
+
**Trigger pattern:** **review** / **validate** / **mint** + (protocol / draft).
|
|
22
|
+
|
|
23
|
+
**Must Never:**
|
|
24
|
+
- Run without `$KAIROS_WORK_DIR` set and containing `draft-protocol.md`.
|
|
25
|
+
- Skip format or stranger review steps.
|
|
26
|
+
|
|
27
|
+
**Must Always:**
|
|
28
|
+
- Verify `$KAIROS_WORK_DIR` and draft file exist before proceeding.
|
|
29
|
+
- Require both reviews to pass before presenting to user.
|
|
30
|
+
- Freeze the draft checksum after reviews pass and verify it before minting.
|
|
31
|
+
- Clean up `$KAIROS_WORK_DIR` after minting (or on cancellation).
|
|
32
|
+
|
|
33
|
+
**Good trigger examples:**
|
|
34
|
+
- Chained from `create-new-protocol` → run this protocol
|
|
35
|
+
- "Review and mint my protocol draft" → run this protocol
|
|
36
|
+
|
|
37
|
+
**Bad trigger examples:**
|
|
38
|
+
- "Create a new protocol" → use `create-new-protocol`, not this
|
|
39
|
+
- "Search for a protocol" → use `kairos_search`, not this
|
|
40
|
+
|
|
41
|
+
---
|
|
42
|
+
|
|
43
|
+
## Prerequisites
|
|
44
|
+
|
|
45
|
+
This protocol requires `$KAIROS_WORK_DIR` from Chain 1 (engine-provided, persists across chained protocols):
|
|
46
|
+
|
|
47
|
+
- `$KAIROS_WORK_DIR/draft-protocol.md` — the drafted protocol file
|
|
48
|
+
- `$KAIROS_WORK_DIR/requirements.md` — requirements summary (optional, for context)
|
|
49
|
+
|
|
50
|
+
**If invoked directly** (no Chain 1), the engine creates `$KAIROS_WORK_DIR` at `kairos_begin`. Copy the draft file there before proceeding.
|
|
51
|
+
|
|
52
|
+
**Security:** Do NOT write credentials, tokens, or secrets into any file in `$KAIROS_WORK_DIR`.
|
|
53
|
+
|
|
54
|
+
---
|
|
55
|
+
|
|
56
|
+
## Format Review [SUBAGENT]
|
|
57
|
+
|
|
58
|
+
Delegate format verification to a subagent. The subagent writes its verdict to `$KAIROS_WORK_DIR/format-review.md`.
|
|
59
|
+
|
|
60
|
+
**Input:** `$KAIROS_WORK_DIR/draft-protocol.md`.
|
|
61
|
+
|
|
62
|
+
**Subagent task:**
|
|
63
|
+
|
|
64
|
+
1. Read `$KAIROS_WORK_DIR/draft-protocol.md`.
|
|
65
|
+
2. Verify protocol structure compliance:
|
|
66
|
+
- H1 present (exactly one)
|
|
67
|
+
- First H2 is Natural Language Triggers (with all 6 subsections: trigger phrases, trigger pattern, Must Never, Must Always, good examples, bad examples)
|
|
68
|
+
- Last H2 is Completion Rule
|
|
69
|
+
- Every middle H2 has a challenge block
|
|
70
|
+
- No duplicate H2 headings
|
|
71
|
+
3. Verify subagent eligibility per step:
|
|
72
|
+
- Every H2 step has `[SUBAGENT]` tag
|
|
73
|
+
- Every step has explicit `**Input:**`, `**Actions:**`, `**Output:**`
|
|
74
|
+
- Actions are numbered and imperative
|
|
75
|
+
4. Verify challenge type selection (per `kairos_begin(key: "challenge-type-guide")`):
|
|
76
|
+
- No `comment` challenges on steps that produce files, call tools, or check system state
|
|
77
|
+
- `shell` challenges use compound `&&` chains (not `;`)
|
|
78
|
+
- `shell` challenges include `timeout_seconds`
|
|
79
|
+
5. Verify interpreter selection:
|
|
80
|
+
- Flag bash challenges containing `while read`, `grep | awk`, or escaped quotes deeper than one level — suggest Perl rewrite
|
|
81
|
+
- Multi-line regex validation MUST use `perl -0777` (not bash `grep`)
|
|
82
|
+
- JSON block validation MUST use `perl -MJSON` or `python3 -c 'import json'` (not bash pattern matching)
|
|
83
|
+
- Simple file tests (`test -f`, `which`, `git status`) stay bash
|
|
84
|
+
6. Verify DRY compliance:
|
|
85
|
+
- No duplicated content across files (if Router pattern)
|
|
86
|
+
- No boilerplate sections — shared content extracted or inlined
|
|
87
|
+
7. Verify 350-line limit:
|
|
88
|
+
- Count lines. If over 350, list which sections to split or extract.
|
|
89
|
+
8. Verify slug convention:
|
|
90
|
+
- Slug present in frontmatter
|
|
91
|
+
- Follows naming rules (lowercase, hyphenated, 2–4 segments)
|
|
92
|
+
- If Router: children expand parent slug by one segment
|
|
93
|
+
9. Write verdict to `$KAIROS_WORK_DIR/format-review.md`. First line MUST be `PASS` or `FAIL`. Remaining lines: list of specific fixes if FAIL.
|
|
94
|
+
|
|
95
|
+
**Output:** `$KAIROS_WORK_DIR/format-review.md` with verdict on first line.
|
|
96
|
+
|
|
97
|
+
**If fail:** Main agent applies fixes to the draft and re-runs this step until pass.
|
|
98
|
+
|
|
99
|
+
```json
|
|
100
|
+
{"challenge":{"type":"shell","shell":{"cmd":"test -f \"$KAIROS_WORK_DIR/format-review.md\" && head -1 \"$KAIROS_WORK_DIR/format-review.md\" | grep -qi 'pass'","timeout_seconds":5},"required":true}}
|
|
101
|
+
```
|
|
102
|
+
|
|
103
|
+
## Stranger Review [SUBAGENT]
|
|
104
|
+
|
|
105
|
+
Delegate executability review to a subagent with junior AI agent persona. The subagent writes its verdict to `$KAIROS_WORK_DIR/stranger-review.md`.
|
|
106
|
+
|
|
107
|
+
**Input:** `$KAIROS_WORK_DIR/draft-protocol.md` (post format-review fixes).
|
|
108
|
+
|
|
109
|
+
**Subagent task:**
|
|
110
|
+
|
|
111
|
+
1. Assume persona: Junior AI agent, first time encountering KAIROS protocols.
|
|
112
|
+
2. **Mocked dry-run (most important):** Walk through every step in order and produce a mocked but **structurally correct** challenge response. If a mock is wrong, the protocol is ambiguous.
|
|
113
|
+
- **`mcp` challenges:** Return valid MCP tool-call JSON with correct `tool_name`, plausible `arguments`, and realistic `result` envelope. No placeholder strings.
|
|
114
|
+
- **`shell` challenges:** Write the exact command. If non-destructive, show expected stdout/stderr and exit code. Destructive: show command only.
|
|
115
|
+
- **`user_input` challenges:** Write a realistic user response matching all constraints. If choice implied, pick one and justify.
|
|
116
|
+
- **`comment` challenges:** Write a realistic agent comment meeting `min_length`, covering the step's stated output, no filler.
|
|
117
|
+
3. **Clarity checks** (alongside dry-run):
|
|
118
|
+
- **Executability test:** Can I follow step-by-step without guessing? (yes/no + explanation)
|
|
119
|
+
- **Ambiguity check:** Vague terms like "appropriate", "reasonable", "as needed"? (list every instance)
|
|
120
|
+
- **Missing context:** Steps referencing undefined variables or concepts? (list them)
|
|
121
|
+
- **Missing examples:** Complex rules without examples? (list them)
|
|
122
|
+
4. Write verdict to `$KAIROS_WORK_DIR/stranger-review.md`. First line MUST be `PASS` or `FAIL`. Remaining lines: mocked dry-run responses and clarity check results. If FAIL, include specific gaps with the failing mock inline.
|
|
123
|
+
|
|
124
|
+
**Output:** `$KAIROS_WORK_DIR/stranger-review.md` with verdict on first line and full dry-run.
|
|
125
|
+
|
|
126
|
+
**If fail:** Main agent revises draft — replace vague terms, add examples, define missing variables, fix steps whose mock drifted from intent. Re-run until pass.
|
|
127
|
+
|
|
128
|
+
```json
|
|
129
|
+
{"challenge":{"type":"shell","shell":{"cmd":"test -f \"$KAIROS_WORK_DIR/stranger-review.md\" && head -1 \"$KAIROS_WORK_DIR/stranger-review.md\" | grep -qi 'pass'","timeout_seconds":5},"required":true}}
|
|
130
|
+
```
|
|
131
|
+
|
|
132
|
+
## Checksum Freeze [SUBAGENT]
|
|
133
|
+
|
|
134
|
+
Freeze the draft after both reviews pass. Prevents accidental edits between "reviews passed" and "user approved".
|
|
135
|
+
|
|
136
|
+
**Input:** `$KAIROS_WORK_DIR/draft-protocol.md` (post both reviews).
|
|
137
|
+
|
|
138
|
+
**Actions:**
|
|
139
|
+
1. Compute md5 checksum of the draft file.
|
|
140
|
+
2. Write checksum to `$KAIROS_WORK_DIR/draft-protocol.md.md5`.
|
|
141
|
+
|
|
142
|
+
**Output:** `$KAIROS_WORK_DIR/draft-protocol.md.md5` containing the frozen checksum.
|
|
143
|
+
|
|
144
|
+
```json
|
|
145
|
+
{"challenge":{"type":"shell","shell":{"cmd":"md5 -q \"$KAIROS_WORK_DIR/draft-protocol.md\" > \"$KAIROS_WORK_DIR/draft-protocol.md.md5\" && test -s \"$KAIROS_WORK_DIR/draft-protocol.md.md5\"","timeout_seconds":5},"required":true}}
|
|
146
|
+
```
|
|
147
|
+
|
|
148
|
+
## User Review [SUBAGENT]
|
|
149
|
+
|
|
150
|
+
Present the drafted and reviewed protocol to the user for final approval.
|
|
151
|
+
|
|
152
|
+
**Input:** `$KAIROS_WORK_DIR/draft-protocol.md`, `$KAIROS_WORK_DIR/format-review.md`, `$KAIROS_WORK_DIR/stranger-review.md`.
|
|
153
|
+
|
|
154
|
+
**Actions:**
|
|
155
|
+
1. Present full protocol markdown (or all files if Router pattern).
|
|
156
|
+
2. Summarize: pattern used, step count, challenge types, slug(s), both review verdicts.
|
|
157
|
+
3. Ask: "Type 'approved' to mint, describe what needs adjustment, or 'cancel'."
|
|
158
|
+
|
|
159
|
+
**Output:** User approval, change requests, or cancellation.
|
|
160
|
+
|
|
161
|
+
```json
|
|
162
|
+
{"challenge":{"type":"user_input","user_input":{"prompt":"Review the protocol draft above. Type 'approved' to mint, describe adjustments, or 'cancel'."},"required":true}}
|
|
163
|
+
```
|
|
164
|
+
|
|
165
|
+
## Mint Protocol [SUBAGENT]
|
|
166
|
+
|
|
167
|
+
Verify the draft is unchanged since checksum freeze, then call `kairos_mint`.
|
|
168
|
+
|
|
169
|
+
**Input:** Approved `$KAIROS_WORK_DIR/draft-protocol.md`, slug from frontmatter.
|
|
170
|
+
|
|
171
|
+
**Actions:**
|
|
172
|
+
1. Verify draft unchanged: `md5 -q "$KAIROS_WORK_DIR/draft-protocol.md" | diff - "$KAIROS_WORK_DIR/draft-protocol.md.md5"`. If diff fails, warn user and abort.
|
|
173
|
+
2. Call `kairos_mint` with `force_update: false` (unless user explicitly asked to overwrite).
|
|
174
|
+
3. If Router pattern: mint the router first, then each extension in order.
|
|
175
|
+
4. Verify each mint succeeded by checking the returned URI.
|
|
176
|
+
5. Report the chain head URI(s) back to the user with clickable links.
|
|
177
|
+
|
|
178
|
+
**Output:** Confirmation with minted URI(s) and slug(s).
|
|
179
|
+
|
|
180
|
+
```json
|
|
181
|
+
{"challenge":{"type":"mcp","mcp":{"tool_name":"kairos_mint"},"required":true}}
|
|
182
|
+
```
|
|
183
|
+
|
|
184
|
+
## Completion Rule
|
|
185
|
+
|
|
186
|
+
Only reachable after all prior steps are solved.
|
|
187
|
+
|
|
188
|
+
**Cleanup:** `$KAIROS_WORK_DIR` is cleaned up by the engine at `kairos_attest`.
|
|
189
|
+
|
|
190
|
+
The user now has a minted KAIROS protocol that:
|
|
191
|
+
1. Passed Format Review — structure, DRY, 350-line limit, slug convention, challenge type selection.
|
|
192
|
+
2. Passed Stranger Review — mocked dry-run with structurally correct challenge responses, unambiguous, executable by a junior AI agent.
|
|
193
|
+
3. Checksum verified — draft unchanged between review pass and mint.
|
|
194
|
+
4. User approved the final draft.
|
|
195
|
+
5. Successfully minted to KAIROS and discoverable via `kairos_search`.
|
|
@@ -0,0 +1,240 @@
|
|
|
1
|
+
---
|
|
2
|
+
version: "3.4.0"
|
|
3
|
+
slug: challenge-type-guide
|
|
4
|
+
title: Challenge Type Selection Guide
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Challenge Type Selection Guide
|
|
8
|
+
|
|
9
|
+
Decision rules, JSON formats, interpreter selection, and anti-patterns for choosing KAIROS challenge types. Loaded by protocol-authoring agents during drafting and review.
|
|
10
|
+
|
|
11
|
+
## Natural Language Triggers
|
|
12
|
+
|
|
13
|
+
**Typically invoked by:** `create-new-protocol` (Chain 1) Draft Markdown step and `create-new-protocol-review` (Chain 2) Format Review step via `kairos_begin(key: "challenge-type-guide")`.
|
|
14
|
+
|
|
15
|
+
**Can be invoked directly when agent needs:**
|
|
16
|
+
|
|
17
|
+
- "challenge type reference" / "which challenge type to use"
|
|
18
|
+
- "how to write shell challenges" / "challenge format"
|
|
19
|
+
- "interpreter selection for challenges"
|
|
20
|
+
|
|
21
|
+
**Trigger pattern:** **challenge** + (type | format | selection | guide).
|
|
22
|
+
|
|
23
|
+
**Must Never:**
|
|
24
|
+
- Be used as an execution protocol — this is a reference policy, not a workflow.
|
|
25
|
+
|
|
26
|
+
**Must Always:**
|
|
27
|
+
- Be consulted before assigning challenge types to protocol steps.
|
|
28
|
+
|
|
29
|
+
**Good trigger examples:**
|
|
30
|
+
- Drafting a new protocol and need challenge types → load this
|
|
31
|
+
- Reviewing challenge type selection in a draft → load this
|
|
32
|
+
|
|
33
|
+
**Bad trigger examples:**
|
|
34
|
+
- "Create a new protocol" → use `create-new-protocol`
|
|
35
|
+
- "Review my protocol draft" → use `create-new-protocol-review`
|
|
36
|
+
|
|
37
|
+
---
|
|
38
|
+
|
|
39
|
+
## Core Rules
|
|
40
|
+
|
|
41
|
+
`comment` is the challenge type of **last resort**. If a step produces any observable artifact — a file, a git state change, an API response, a process exit code — use `shell` or `mcp` instead.
|
|
42
|
+
|
|
43
|
+
### Decision Tree
|
|
44
|
+
|
|
45
|
+
```
|
|
46
|
+
Does the step call an MCP tool?
|
|
47
|
+
├─ YES → "mcp" with tool_name
|
|
48
|
+
└─ NO → Does the step produce or modify a file?
|
|
49
|
+
├─ YES → "shell" to verify the file
|
|
50
|
+
└─ NO → Does the step require human approval or choice?
|
|
51
|
+
├─ YES → "user_input" with a specific prompt
|
|
52
|
+
└─ NO → Does the step run a command or check system state?
|
|
53
|
+
├─ YES → "shell"
|
|
54
|
+
└─ NO → "comment" (pure reasoning, no artifact)
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
### Challenge JSON Formats
|
|
58
|
+
|
|
59
|
+
**shell** — engine runs command, checks exit code 0:
|
|
60
|
+
|
|
61
|
+
Example: ```json
|
|
62
|
+
{"challenge":{"type":"shell","shell":{"cmd":"<command>","timeout_seconds":30},"required":true}}
|
|
63
|
+
```
|
|
64
|
+
|
|
65
|
+
**mcp** — engine confirms named MCP tool was invoked:
|
|
66
|
+
|
|
67
|
+
Example: ```json
|
|
68
|
+
{"challenge":{"type":"mcp","mcp":{"tool_name":"<tool>"},"required":true}}
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
With pinned arguments:
|
|
72
|
+
|
|
73
|
+
Example: ```json
|
|
74
|
+
{"challenge":{"type":"mcp","mcp":{"tool_name":"kairos_begin","arguments":{"key":"some-slug"}},"required":true}}
|
|
75
|
+
```
|
|
76
|
+
|
|
77
|
+
**user_input** — engine confirms user provided non-empty response:
|
|
78
|
+
|
|
79
|
+
Example: ```json
|
|
80
|
+
{"challenge":{"type":"user_input","user_input":{"prompt":"<specific question>"},"required":true}}
|
|
81
|
+
```
|
|
82
|
+
|
|
83
|
+
**comment** — engine checks min_length only (last resort):
|
|
84
|
+
|
|
85
|
+
Example: ```json
|
|
86
|
+
{"challenge":{"type":"comment","comment":{"min_length":50},"required":true}}
|
|
87
|
+
```
|
|
88
|
+
|
|
89
|
+
### Shell Challenge Rules
|
|
90
|
+
|
|
91
|
+
- Chain checks with `&&` (not `;`) — first failure short-circuits.
|
|
92
|
+
- Always set `timeout_seconds`: 5s for local checks, 30–120s for network/build.
|
|
93
|
+
- All file paths MUST use `$KAIROS_WORK_DIR/` prefix (never hardcoded `/tmp/`).
|
|
94
|
+
- Use `test -f` for existence, `grep -q` for content, `wc -l | awk` for line counts.
|
|
95
|
+
|
|
96
|
+
```json
|
|
97
|
+
{"challenge":{"type":"comment","comment":{"min_length":30},"required":true}}
|
|
98
|
+
```
|
|
99
|
+
|
|
100
|
+
---
|
|
101
|
+
|
|
102
|
+
## Interpreter Selection
|
|
103
|
+
|
|
104
|
+
For text validation, regex, and structural checks, **Perl is often shorter, clearer, and more correct** than bash.
|
|
105
|
+
|
|
106
|
+
| Task | Use bash | Use perl | Use python3 |
|
|
107
|
+
|---|---|---|---|
|
|
108
|
+
| File exists, tool installed, git state | `test -f`, `which`, `git status` | -- | -- |
|
|
109
|
+
| Simple content grep | `grep -q 'pattern' file` | -- | -- |
|
|
110
|
+
| Multi-line regex | -- | `perl -0777 -ne '/pat/ms or die'` | -- |
|
|
111
|
+
| Count + assert (headings, sections) | `grep -c \| awk` (fragile) | `perl -0777 -ne '@m=/pat/g; die if @m<N'` | -- |
|
|
112
|
+
| Paragraph processing (commits, blocks) | `while read` loop (messy) | `perl -00 -ne '...'` | -- |
|
|
113
|
+
| JSON validation | `python3 -m json.tool` | `perl -MJSON -e 'decode_json(do{local$/;<>})'` | `python3 -c 'import json; ...'` |
|
|
114
|
+
| YAML validation | -- | -- | `python3 -c 'import yaml; ...'` |
|
|
115
|
+
| Complex data structure checks | -- | -- | `python3 -c 'import json; d=json.load(...); assert ...'` |
|
|
116
|
+
|
|
117
|
+
**Rule of thumb:** If you're writing `grep | awk`, `while read`, nested escaping, or multi-line patterns in bash — rewrite in Perl. If you need `import` for a data format (YAML, TOML) — use Python.
|
|
118
|
+
|
|
119
|
+
### Perl Flags Cheat Sheet
|
|
120
|
+
|
|
121
|
+
| Flag | Effect | Use case |
|
|
122
|
+
|---|---|---|
|
|
123
|
+
| `-e '...'` | Execute code | Every Perl challenge |
|
|
124
|
+
| `-n` | Implicit `while(<>)` loop, no auto-print | Process lines, filter |
|
|
125
|
+
| `-p` | Like `-n` but auto-prints `$_` | Transform-and-verify |
|
|
126
|
+
| `-l` | Auto-chomp + auto-newline | Clean line processing |
|
|
127
|
+
| `-a` | Auto-split into `@F` (like awk) | Field extraction |
|
|
128
|
+
| `-0777` | Slurp entire file as one string | Multi-line regex |
|
|
129
|
+
| `-00` | Paragraph mode (split on blank lines) | Commit messages, markdown blocks |
|
|
130
|
+
| `-MJSON` | Load core JSON module | JSON validation without Python |
|
|
131
|
+
|
|
132
|
+
### Bash vs Perl Examples
|
|
133
|
+
|
|
134
|
+
**Count H2 headings and verify required sections:**
|
|
135
|
+
|
|
136
|
+
bash (fragile):
|
|
137
|
+
|
|
138
|
+
Example: ```bash
|
|
139
|
+
grep -c '^## ' "$D" | awk '$1 >= 3' && grep -q '^## Natural Language Triggers' "$D" && grep -q '^## Completion Rule' "$D"
|
|
140
|
+
```
|
|
141
|
+
|
|
142
|
+
perl (one pass, clear logic):
|
|
143
|
+
|
|
144
|
+
Example: ```bash
|
|
145
|
+
perl -0777 -ne '@h=/^## (.+)/mg; die "Need >=3 H2s" if @h<3; grep(/^Natural Language Triggers$/,@h) or die "Missing NLT"; grep(/^Completion Rule$/,@h) or die "Missing CR"' "$D"
|
|
146
|
+
```
|
|
147
|
+
|
|
148
|
+
**Validate JSON challenge blocks:**
|
|
149
|
+
|
|
150
|
+
perl (core JSON module):
|
|
151
|
+
|
|
152
|
+
Example: ```bash
|
|
153
|
+
perl -MJSON -0777 -ne '@b=/```json\s*\n(\{.*?\})\s*\n```/gs; die "No blocks" unless @b; eval{decode_json($_)} or die "Bad JSON: $@" for @b; print scalar(@b)." valid\n"' "$D"
|
|
154
|
+
```
|
|
155
|
+
|
|
156
|
+
```json
|
|
157
|
+
{"challenge":{"type":"comment","comment":{"min_length":30},"required":true}}
|
|
158
|
+
```
|
|
159
|
+
|
|
160
|
+
---
|
|
161
|
+
|
|
162
|
+
## Anti-Patterns
|
|
163
|
+
|
|
164
|
+
| Anti-Pattern | Why It Fails | Fix |
|
|
165
|
+
|---|---|---|
|
|
166
|
+
| `comment` with `min_length: 20` | Trivially satisfiable with filler | Raise to 50+, or switch to `shell` if artifact exists |
|
|
167
|
+
| `comment` for steps that run commands | Says "run X" but only checks agent wrote words | Use `shell` with the actual command |
|
|
168
|
+
| `comment` for steps that call MCP tools | Says "call tool Y" but only checks text output | Use `mcp` with `tool_name` |
|
|
169
|
+
| `shell` without `timeout_seconds` | May hang indefinitely | Always set timeout |
|
|
170
|
+
| `user_input` with generic prompt "Confirm" | User doesn't know what they're confirming | Write a specific question |
|
|
171
|
+
| `shell` with `echo 'placeholder'` | Always passes, proves nothing | Replace with real verification command |
|
|
172
|
+
| Checks chained with `;` instead of `&&` | Later checks run even if earlier ones fail | Use `&&` for short-circuit |
|
|
173
|
+
| Hardcoded `/tmp/` paths | Concurrent runs collide; world-readable on Linux | Use `$KAIROS_WORK_DIR` |
|
|
174
|
+
| bash `while read \| grep \| awk` chains | Fragile, escaping nightmare, non-portable | Rewrite in Perl |
|
|
175
|
+
|
|
176
|
+
```json
|
|
177
|
+
{"challenge":{"type":"comment","comment":{"min_length":30},"required":true}}
|
|
178
|
+
```
|
|
179
|
+
|
|
180
|
+
---
|
|
181
|
+
|
|
182
|
+
## Security and Concurrency
|
|
183
|
+
|
|
184
|
+
### Session-Scoped Working Directory
|
|
185
|
+
|
|
186
|
+
Never use hardcoded `/tmp/` paths. Use a session-scoped, user-private working directory:
|
|
187
|
+
|
|
188
|
+
Example: ```bash
|
|
189
|
+
export KAIROS_WORK_DIR=$(mktemp -d "${XDG_RUNTIME_DIR:-${TMPDIR:-/tmp}}/kairos-XXXXXX")
|
|
190
|
+
chmod 700 "$KAIROS_WORK_DIR"
|
|
191
|
+
```
|
|
192
|
+
|
|
193
|
+
**Priority chain:** `XDG_RUNTIME_DIR` (preferred, per-user, `0700` by spec) → `TMPDIR` (macOS fallback) → `/tmp` (last resort, `chmod 700`).
|
|
194
|
+
|
|
195
|
+
**Why:** Concurrent chat sessions running the same protocol would collide on hardcoded paths. `mktemp -d` guarantees isolation. Completion Rule MUST `rm -rf "$KAIROS_WORK_DIR"`.
|
|
196
|
+
|
|
197
|
+
**Rules:** All file paths in shell challenges use `$KAIROS_WORK_DIR/` prefix. Prerequisites section creates it. Completion Rule cleans it up. Never write credentials or secrets to files.
|
|
198
|
+
|
|
199
|
+
```json
|
|
200
|
+
{"challenge":{"type":"comment","comment":{"min_length":30},"required":true}}
|
|
201
|
+
```
|
|
202
|
+
|
|
203
|
+
---
|
|
204
|
+
|
|
205
|
+
## Composition Patterns
|
|
206
|
+
|
|
207
|
+
**Multi-check compound command** — chain with `&&`, first failure short-circuits:
|
|
208
|
+
|
|
209
|
+
Example: ```bash
|
|
210
|
+
test -f <file> && grep -q '<required>' <file> && wc -l < <file> | awk '$1 <= 350'
|
|
211
|
+
```
|
|
212
|
+
|
|
213
|
+
**Freeze-then-verify** — two consecutive steps:
|
|
214
|
+
- Step N (after review): `md5 -q <file> > "$KAIROS_WORK_DIR/<file>.md5"`
|
|
215
|
+
- Step N+1 (before publish): `md5 -q <file> | diff - "$KAIROS_WORK_DIR/<file>.md5"`
|
|
216
|
+
|
|
217
|
+
**Write-then-grep** — subagent delegation:
|
|
218
|
+
- Subagent instruction: "Write verdict to `$KAIROS_WORK_DIR/<name>.md`. First line: `PASS` or `FAIL`."
|
|
219
|
+
- Main agent challenge: `head -1 "$KAIROS_WORK_DIR/<name>.md" | grep -qi 'pass'`
|
|
220
|
+
|
|
221
|
+
**Dry-run before execution** — three steps:
|
|
222
|
+
- Step N: `<tool> --dry-run` (shell challenge)
|
|
223
|
+
- Step N+1: `user_input` (human reviews output)
|
|
224
|
+
- Step N+2: `<tool> --yes` (shell challenge)
|
|
225
|
+
|
|
226
|
+
```json
|
|
227
|
+
{"challenge":{"type":"comment","comment":{"min_length":30},"required":true}}
|
|
228
|
+
```
|
|
229
|
+
|
|
230
|
+
## Completion Rule
|
|
231
|
+
|
|
232
|
+
Only reachable after all prior steps are solved.
|
|
233
|
+
|
|
234
|
+
The agent has loaded the challenge type selection guide and can now:
|
|
235
|
+
1. Pick the correct challenge type for each protocol step using the decision tree.
|
|
236
|
+
2. Write valid challenge JSON in the correct format.
|
|
237
|
+
3. Choose the right interpreter (bash / perl / python3) for shell challenges.
|
|
238
|
+
4. Avoid all listed anti-patterns.
|
|
239
|
+
5. Apply security and concurrency rules (`$KAIROS_WORK_DIR`).
|
|
240
|
+
6. Use composition patterns for multi-check, freeze-verify, and subagent delegation.
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
# Bundled meta-protocols
|
|
2
|
+
|
|
3
|
+
This directory contains the bundled KAIROS-internal protocol chains and policy
|
|
4
|
+
documents that are injected into the Kairos app space at boot.
|
|
5
|
+
|
|
6
|
+
## Protocols
|
|
7
|
+
|
|
8
|
+
| UUID | Slug | Purpose |
|
|
9
|
+
|------|------|---------|
|
|
10
|
+
| [2001](00000000-0000-0000-0000-000000002001.md) | `create-new-protocol` | Chain 1: Author — gather requirements, draft protocol markdown |
|
|
11
|
+
| [2003](00000000-0000-0000-0000-000000002003.md) | `create-new-protocol-review` | Chain 2: Review & Publish — format review, stranger review, approval, mint |
|
|
12
|
+
| [2002](00000000-0000-0000-0000-000000002002.md) | `refine-search` | Refine search — improve a failed kairos_search query |
|
|
13
|
+
|
|
14
|
+
### Chained authoring flow
|
|
15
|
+
|
|
16
|
+
```
|
|
17
|
+
2001 (Author) → kairos_begin(key: "create-new-protocol-review") → 2003 (Review & Publish)
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
## Reference Documents
|
|
21
|
+
|
|
22
|
+
| UUID | Slug | Purpose |
|
|
23
|
+
|------|------|---------|
|
|
24
|
+
| [2004](00000000-0000-0000-0000-000000002004.md) | `challenge-type-guide` | Decision tree, JSON formats, interpreter selection, anti-patterns for challenge types. Loaded as policy target by 2001 and 2003. |
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"docs-resources.d.ts","sourceRoot":"","sources":["../../src/resources/docs-resources.ts"],"names":[],"mappings":"AASA,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,GAAG,
|
|
1
|
+
{"version":3,"file":"docs-resources.d.ts","sourceRoot":"","sources":["../../src/resources/docs-resources.ts"],"names":[],"mappings":"AASA,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,GAAG,QAkEhD"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { getResource, getResources } from './embedded-mcp-resources.js';
|
|
1
|
+
import { getMeta, getResource, getResources } from './embedded-mcp-resources.js';
|
|
2
2
|
import { logger } from '../utils/structured-logger.js';
|
|
3
3
|
function mdOrFallback(uri, text, notFound = 'Document not found') {
|
|
4
4
|
return {
|
|
@@ -42,6 +42,14 @@ export function registerDocsResources(server) {
|
|
|
42
42
|
}
|
|
43
43
|
}
|
|
44
44
|
}
|
|
45
|
+
const meta = getMeta();
|
|
46
|
+
for (const [slug, content] of Object.entries(meta)) {
|
|
47
|
+
if (typeof content !== 'string')
|
|
48
|
+
continue;
|
|
49
|
+
const uri = `kairos://meta/${slug}`;
|
|
50
|
+
const name = `Meta: ${slug.replace(/-/g, ' ')}`;
|
|
51
|
+
server.registerResource(`meta-${slug.replace(/[^a-zA-Z0-9_-]/g, '_')}`, uri, { name, description: `Bundled protocol or policy (${slug})`, mimeType: 'text/markdown' }, (uriObj) => mdOrFallback(uriObj, content));
|
|
52
|
+
}
|
|
45
53
|
// Tools docs are not registered as resources to keep resources/list lean.
|
|
46
54
|
}
|
|
47
55
|
//# sourceMappingURL=docs-resources.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"docs-resources.js","sourceRoot":"","sources":["../../src/resources/docs-resources.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;
|
|
1
|
+
{"version":3,"file":"docs-resources.js","sourceRoot":"","sources":["../../src/resources/docs-resources.ts"],"names":[],"mappings":"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"}
|
|
@@ -29,6 +29,12 @@ export declare const mcpResources: {
|
|
|
29
29
|
kairos_update: string;
|
|
30
30
|
};
|
|
31
31
|
mem: {};
|
|
32
|
+
meta: {
|
|
33
|
+
"create-new-protocol": string;
|
|
34
|
+
"refine-search": string;
|
|
35
|
+
"create-new-protocol-review": string;
|
|
36
|
+
"challenge-type-guide": string;
|
|
37
|
+
};
|
|
32
38
|
};
|
|
33
39
|
/**
|
|
34
40
|
* Get prompts object
|
|
@@ -50,6 +56,10 @@ export declare function getTools(): Record<string, any>;
|
|
|
50
56
|
* Get mem object
|
|
51
57
|
*/
|
|
52
58
|
export declare function getMem(): Record<string, any>;
|
|
59
|
+
/**
|
|
60
|
+
* Get meta object
|
|
61
|
+
*/
|
|
62
|
+
export declare function getMeta(): Record<string, any>;
|
|
53
63
|
/**
|
|
54
64
|
* Get a prompt by key (e.g. 'contextual-prompt')
|
|
55
65
|
*/
|
|
@@ -58,6 +68,10 @@ export declare function getPrompt(key: string): string | undefined;
|
|
|
58
68
|
* Get a resource by key (e.g. 'TEST', 'doc.TEST', 'mem.<uuid>')
|
|
59
69
|
*/
|
|
60
70
|
export declare function getResource(key: string): string | any | undefined;
|
|
71
|
+
/**
|
|
72
|
+
* Meta protocol / policy markdown by slug (from frontmatter).
|
|
73
|
+
*/
|
|
74
|
+
export declare function getMetaDoc(slug: string): string | undefined;
|
|
61
75
|
/**
|
|
62
76
|
* Get a template by key (e.g. 'kairos-memory')
|
|
63
77
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"embedded-mcp-resources.d.ts","sourceRoot":"","sources":["../../src/resources/embedded-mcp-resources.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,eAAO,MAAM,YAAY
|
|
1
|
+
{"version":3,"file":"embedded-mcp-resources.d.ts","sourceRoot":"","sources":["../../src/resources/embedded-mcp-resources.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA4BxB,CAAC;AAEF;;GAEG;AACH,wBAAgB,UAAU,IAAI,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAEhD;AAED;;GAEG;AACH,wBAAgB,YAAY,IAAI,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAElD;AAED;;GAEG;AACH,wBAAgB,YAAY,IAAI,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAElD;AAED;;GAEG;AACH,wBAAgB,QAAQ,IAAI,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAE9C;AAED;;GAEG;AACH,wBAAgB,MAAM,IAAI,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAE5C;AAED;;GAEG;AACH,wBAAgB,OAAO,IAAI,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAE7C;AAED;;GAEG;AACH,wBAAgB,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAGzD;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,GAAG,GAAG,SAAS,CAgBjE;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAG3D;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAG3D;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAG1D;AAED;;GAEG;AACH,wBAAgB,gBAAgB,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAmB3D"}
|