@cairnkeep/cli 2.11.0 → 2.13.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/CHANGELOG.md +33 -1
- package/README.md +51 -7
- package/docs/building-an-overlay.md +1 -1
- package/docs/harness-compatibility.md +40 -1
- package/docs/learning/CURRICULUM-MAP.md +10 -7
- package/docs/learning/FEATURE-GUIDE.md +14 -5
- package/docs/learning/README.md +4 -3
- package/docs/learning/lessons/L00-why-cairnkeep.md +1 -1
- package/docs/learning/lessons/L01-safe-trial.md +3 -3
- package/docs/learning/lessons/L02-installation.md +16 -9
- package/docs/learning/lessons/L03-first-project.md +34 -15
- package/docs/learning/lessons/L13-session-evidence.md +48 -2
- package/docs/learning/lessons/L19-validated-skill-improvement.md +1 -1
- package/docs/learning/lessons/L20-mcp-tool-profiles.md +1 -1
- package/docs/learning/lessons/L21-context-packs.md +1 -1
- package/docs/learning/lessons/L22-native-windows.md +9 -9
- package/docs/learning/lessons/L23-guided-setup.md +6 -2
- package/docs/learning/tracks/evidence-and-evaluation.md +2 -1
- package/docs/learning/tracks/quickstart.md +5 -4
- package/docs/native-windows.md +23 -0
- package/docs/operating.md +69 -5
- package/docs/privacy-and-data-flow.md +44 -1
- package/docs/quickstart.md +91 -0
- package/docs/storage.md +26 -0
- package/docs/work-evidence.md +80 -0
- package/examples/eval/bundled-fake.json +1 -1
- package/mcp-memory-server/dist/artifact-cli.js +6 -2
- package/mcp-memory-server/dist/index.js +27 -0
- package/mcp-memory-server/dist/mcp-tool-catalog.js +2 -0
- package/mcp-memory-server/dist/trajectory-cli.js +9 -3
- package/mcp-memory-server/dist/work-evidence-cli.js +121 -0
- package/mcp-memory-server/dist/work-evidence-schema.js +121 -0
- package/mcp-memory-server/dist/work-evidence-store.js +516 -0
- package/mcp-memory-server/package.json +2 -1
- package/package.json +2 -1
- package/schemas/cairnkeep-setup-policy.schema.json +3 -3
- package/schemas/cairnkeep-setup.schema.json +2 -2
- package/scripts/bootstrap.sh +7 -15
- package/scripts/cairn-cli.mjs +2 -0
- package/scripts/completion.sh +19 -9
- package/scripts/doctor.sh +35 -5
- package/scripts/harness-registry.mjs +126 -0
- package/scripts/setup-core.mjs +4 -2
- package/scripts/setup-reconcile.mjs +3 -2
- package/scripts/setup.mjs +41 -5
- package/scripts/test-bootstrap-untracked.sh +2 -1
- package/scripts/test-cli-dispatch.sh +3 -1
- package/scripts/test-completion.sh +6 -0
- package/scripts/test-harness-registry.sh +94 -0
- package/scripts/test-package-install.sh +9 -0
- package/scripts/test-phase19-eval-lifecycle.sh +12 -2
- package/scripts/test-setup-compatibility.mjs +5 -4
- package/scripts/test-uninstall.sh +10 -0
- package/scripts/test-windows-native.mjs +27 -1
- package/scripts/test-work-evidence-cli.sh +89 -0
- package/scripts/uninstall.sh +7 -3
- package/scripts/verify-docs-parity.sh +36 -0
- package/scripts/windows-platform.mjs +28 -7
- package/templates/codex-config.toml.template +5 -0
- package/templates/env.example.template +10 -0
- package/templates/start-claude.sh.template +18 -0
- package/templates/start-codex.sh.template +48 -0
- package/templates/start-kimi.sh.template +17 -0
- package/templates/start-opencode.sh.template +17 -0
- package/templates/start-pi.sh.template +17 -0
- package/templates/start-qwen.sh.template +17 -0
package/CHANGELOG.md
CHANGED
|
@@ -5,6 +5,36 @@ All notable user-facing changes are documented here. This project follows
|
|
|
5
5
|
|
|
6
6
|
## [Unreleased]
|
|
7
7
|
|
|
8
|
+
## [2.13.0] - 2026-08-17
|
|
9
|
+
|
|
10
|
+
### Added
|
|
11
|
+
|
|
12
|
+
- Add opt-in, local Git-linked work evidence for all six generated harness
|
|
13
|
+
launchers and native Windows, with bounded start/end state, touched paths,
|
|
14
|
+
append-only trajectory/artifact/reviewed-memory links, lifecycle CLI and two
|
|
15
|
+
local read-only MCP observations.
|
|
16
|
+
- Add separately consented, redacted patch artifacts and document their
|
|
17
|
+
start-commit scope, pre-existing-dirty limitation and omitted untracked bodies.
|
|
18
|
+
|
|
19
|
+
## [2.12.0] - 2026-08-13
|
|
20
|
+
|
|
21
|
+
### Added
|
|
22
|
+
|
|
23
|
+
- Add one declarative harness registry for setup choices, project assets,
|
|
24
|
+
launcher generation, diagnostics, native Windows, and lifecycle tooling.
|
|
25
|
+
- Add first-class Codex CLI setup with a project-scoped local stdio MCP entry,
|
|
26
|
+
POSIX and native Windows launchers, explicit project-trust guidance, and a
|
|
27
|
+
memory-off path that creates no MCP configuration.
|
|
28
|
+
- Add a five-minute quickstart and Codex route to the public learning path.
|
|
29
|
+
|
|
30
|
+
### Changed
|
|
31
|
+
|
|
32
|
+
- Derive guided setup policy validation and required-asset diagnosis from the
|
|
33
|
+
shared harness catalog. Codex/Qwen-only setup now reports that no machine
|
|
34
|
+
sync is required instead of suggesting unrelated operating assets.
|
|
35
|
+
- Extend bootstrap contributor mode, backup-first uninstall, schema validation,
|
|
36
|
+
package checks, and native Windows coverage to Codex-owned project files.
|
|
37
|
+
|
|
8
38
|
## [2.11.0] - 2026-08-12
|
|
9
39
|
|
|
10
40
|
### Added
|
|
@@ -317,7 +347,9 @@ stored memories.
|
|
|
317
347
|
- Preserve executable permissions and Bash 3.2 portability on macOS.
|
|
318
348
|
- Add backup-first uninstall and SQLite-safe memory export/import guidance.
|
|
319
349
|
|
|
320
|
-
[Unreleased]: https://github.com/cairnkeep/cairnkeep/compare/v2.
|
|
350
|
+
[Unreleased]: https://github.com/cairnkeep/cairnkeep/compare/v2.13.0...HEAD
|
|
351
|
+
[2.13.0]: https://github.com/cairnkeep/cairnkeep/compare/v2.12.0...v2.13.0
|
|
352
|
+
[2.12.0]: https://github.com/cairnkeep/cairnkeep/compare/v2.11.0...v2.12.0
|
|
321
353
|
[2.11.0]: https://github.com/cairnkeep/cairnkeep/compare/v2.9.0...v2.11.0
|
|
322
354
|
[2.9.0]: https://github.com/cairnkeep/cairnkeep/compare/v2.8.0...v2.9.0
|
|
323
355
|
[2.8.0]: https://github.com/cairnkeep/cairnkeep/compare/v2.7.0...v2.8.0
|
package/README.md
CHANGED
|
@@ -9,13 +9,30 @@
|
|
|
9
9
|
A *cairn* is a stack of stones left as a trail marker for whoever follows; a
|
|
10
10
|
*keep* is where you store what matters. **Cairnkeep** is where coding agents
|
|
11
11
|
stack durable memory — decisions, pitfalls, patterns — and follow the trail
|
|
12
|
-
across sessions, projects, and harnesses (Claude Code,
|
|
13
|
-
Qwen Code, Pi, and other MCP clients).
|
|
12
|
+
across sessions, projects, and harnesses (Claude Code, Codex CLI, OpenCode,
|
|
13
|
+
Kimi Code, Qwen Code, Pi, and other MCP clients).
|
|
14
|
+
|
|
15
|
+
## Five-minute start
|
|
16
|
+
|
|
17
|
+
For Codex CLI, Cairnkeep can install the complete project-local memory wiring
|
|
18
|
+
in one command:
|
|
19
|
+
|
|
20
|
+
```bash
|
|
21
|
+
npm install --global @cairnkeep/cli
|
|
22
|
+
cairn setup /path/to/project --git init --harness codex --memory local --yes
|
|
23
|
+
cd /path/to/project
|
|
24
|
+
./.ai/start-codex.sh # Windows: .\.ai\start-codex.cmd
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
Review `.codex/config.toml` and accept Codex's project-trust prompt on first
|
|
28
|
+
use. No separate MCP registration or machine-level asset sync is needed. See
|
|
29
|
+
the **[quickstart](docs/quickstart.md)** for existing repositories, Claude Code,
|
|
30
|
+
verification, and the first remember/recall cycle.
|
|
14
31
|
|
|
15
32
|
## Status
|
|
16
33
|
|
|
17
34
|
Shipped: the memory server, the `cairn` CLI (`setup`, `bootstrap`, `memory-server`, `sync`, `sync-pi`, `sync-kimi`,
|
|
18
|
-
`doctor`, `trajectory`, `artifact`, `mcp-tools`, `pack`, `notes`, `memory`, `eval`, `audit-timer`, `completion`, `uninstall`) installable via
|
|
35
|
+
`doctor`, `trajectory`, `artifact`, `evidence`, `mcp-tools`, `pack`, `notes`, `memory`, `eval`, `audit-timer`, `completion`, `uninstall`) installable via
|
|
19
36
|
`npm i -g @cairnkeep/cli`, and the
|
|
20
37
|
operating layer (commands,
|
|
21
38
|
agents, hooks) installed on Claude Code and OpenCode, plus the native Pi
|
|
@@ -27,8 +44,10 @@ a thin routing seam (`route_check`), both of which delegate to
|
|
|
27
44
|
[token-miser](https://github.com/cairnkeep/token-miser), a public
|
|
28
45
|
cairnkeep-org sibling project.
|
|
29
46
|
|
|
30
|
-
Version 2.
|
|
31
|
-
|
|
47
|
+
Version 2.12 adds a declarative harness registry, first-class Codex project
|
|
48
|
+
setup, and a shorter path from installation to verified recall.
|
|
49
|
+
Version 2.13 adds opt-in local Git-linked work evidence around generated harness
|
|
50
|
+
launchers, including native Windows, without capturing prompts or replacing Git.
|
|
32
51
|
|
|
33
52
|
## Compatibility
|
|
34
53
|
|
|
@@ -43,7 +62,7 @@ and 20 are end-of-life upstream.
|
|
|
43
62
|
| Kimi Code on Linux/macOS | Memory MCP server, project launcher, and opt-in `/graphify` Skill |
|
|
44
63
|
| Qwen Code on Linux/macOS | Memory MCP server plus project launcher; no Cairnkeep operating-layer assets yet |
|
|
45
64
|
| Pi on Linux/macOS | Memory MCP through a maintained local stdio extension; native opt-in trajectory extension, launcher, and `/graphify` prompt; Pi 0.84.1 minimum for the bridge |
|
|
46
|
-
| Codex CLI |
|
|
65
|
+
| Codex CLI on Linux/macOS | Project-scoped memory MCP configuration and launcher; no Cairnkeep-specific commands or hooks |
|
|
47
66
|
| Other MCP clients | Memory plus optional domain-knowledge and context-pack MCP tools |
|
|
48
67
|
| Native Windows x64 | Node-native CLI, guided setup, memory server, bootstrap compatibility, PowerShell/Command Prompt launchers, sync, hooks, doctor, storage lifecycle, Task Scheduler, completion, and uninstall |
|
|
49
68
|
| Windows ARM64 | Supported through Windows x64 emulation only; a native database binding is not currently shipped |
|
|
@@ -60,7 +79,7 @@ installation, and clean Node 22/24/26 runtime checks are exercised in CI. See
|
|
|
60
79
|
ACL, scheduling, process-tree, and recovery details.
|
|
61
80
|
|
|
62
81
|
See [Harness compatibility](docs/harness-compatibility.md) for exact support
|
|
63
|
-
levels,
|
|
82
|
+
levels, trust boundaries, and candidates that are not yet runtime-tested.
|
|
64
83
|
|
|
65
84
|
## Try with Podman
|
|
66
85
|
|
|
@@ -140,6 +159,7 @@ operating layer installed into your harness, and a configured project. `cairn
|
|
|
140
159
|
setup` is the recommended guided entry point; `cairn bootstrap` remains the
|
|
141
160
|
deterministic compatibility primitive for established scripts. Project setup
|
|
142
161
|
reports but never performs machine-level sync. The full ordered walkthrough is
|
|
162
|
+
in **[the quickstart](docs/quickstart.md)**; the complete operator reference is
|
|
143
163
|
in **[docs/operating.md](docs/operating.md)**.
|
|
144
164
|
|
|
145
165
|
This setup is local by default: the registered stdio server stores memory on
|
|
@@ -179,6 +199,13 @@ patterns/transactional-migrations: Use transactional migrations for schema chang
|
|
|
179
199
|
The exact command rendering depends on the client. Any MCP client can call
|
|
180
200
|
`memory_write` and `memory_search` directly.
|
|
181
201
|
|
|
202
|
+
For Codex CLI, `cairn setup --harness codex --memory local` writes the
|
|
203
|
+
project-scoped `.codex/config.toml` entry and both POSIX and native Windows
|
|
204
|
+
launchers. Review the configuration and trust the project before launching.
|
|
205
|
+
Existing operator-owned `.codex/config.toml` files are never overwritten; a
|
|
206
|
+
reported `skipped` file must be merged by the operator and checked with
|
|
207
|
+
`cairn doctor`.
|
|
208
|
+
|
|
182
209
|
For Kimi Code, bootstrap supplies a launcher and Kimi reads the repository's
|
|
183
210
|
MCP configuration. A local stdio entry uses `cairn memory-server`. Remote Kimi
|
|
184
211
|
configuration requires a literal URL and supports a token reference through
|
|
@@ -304,6 +331,12 @@ search):
|
|
|
304
331
|
| `CAIRN_TRAJECTORY_RETENTION_DAYS` | Retain captured sessions for this many days (default `30`) |
|
|
305
332
|
| `CAIRN_TRAJECTORY_REDACTION_FILE` | Optional project-contained redaction config (default `.ai/trajectory-redaction.json` when present) |
|
|
306
333
|
| `CAIRN_REDACTION_FILE` | Optional project-contained redaction config shared by trajectories and artifacts (falls back to `CAIRN_TRAJECTORY_REDACTION_FILE`) |
|
|
334
|
+
| `CAIRN_WORK_EVIDENCE` | Capture bounded Git state around generated harness launches (off by default) |
|
|
335
|
+
| `CAIRN_WORK_EVIDENCE_PATCH` | Request an optional redacted patch artifact (off by default; also requires `CAIRN_ARTIFACT_STORE`) |
|
|
336
|
+
| `CAIRN_WORK_EVIDENCE_RETENTION_DAYS` | Work-evidence retention (default `30`; `0` disables age pruning) |
|
|
337
|
+
| `CAIRN_WORK_EVIDENCE_STORE_MAX_BYTES` | Project-local work-evidence metadata budget (default `67108864`, 64 MiB) |
|
|
338
|
+
| `CAIRN_WORK_EVIDENCE_MAX_TOUCHED_PATHS` | Maximum touched-path labels per record (default and hard maximum `4096`) |
|
|
339
|
+
| `CAIRN_WORK_EVIDENCE_PATCH_MAX_BYTES` | Maximum optional patch bytes (default `1048576`, 1 MiB; the artifact cap can lower it) |
|
|
307
340
|
| `CAIRN_COMPACTION_CAPTURE` | Opt in to local harness-produced compaction capture and fresh-session recovery (off by default) |
|
|
308
341
|
| `CAIRN_ARTIFACT_STORE` | Expose four local stdio artifact tools (off by default; independent of compaction capture) |
|
|
309
342
|
| `CAIRN_ARTIFACT_HTTP` | Separately consent to artifact tools over authenticated HTTP (off by default; also requires `CAIRN_ARTIFACT_STORE`) |
|
|
@@ -492,6 +525,17 @@ reject policy cannot overwrite; explicit supersede preserves typed history.
|
|
|
492
525
|
Note addresses require `scope: project` and logical keys, never filesystem
|
|
493
526
|
paths. See the [operating guide](docs/operating.md#typed-memory-nodes-and-note-address-spaces-opt-in).
|
|
494
527
|
|
|
528
|
+
### Git-linked work evidence (opt-in)
|
|
529
|
+
|
|
530
|
+
`CAIRN_WORK_EVIDENCE=1` makes generated Claude Code, OpenCode, Pi, Kimi, Qwen
|
|
531
|
+
and Codex launchers record bounded start/end Git state and links to exact local
|
|
532
|
+
trajectories, artifacts and reviewed-memory writes. It records no prompts,
|
|
533
|
+
keystrokes or reasoning, and harness launch remains fail-open when Git or
|
|
534
|
+
capture is unavailable. Inspect it with `cairn evidence list|show|delete|prune|doctor`.
|
|
535
|
+
Optional patch capture requires both `CAIRN_WORK_EVIDENCE_PATCH=1` and
|
|
536
|
+
`CAIRN_ARTIFACT_STORE=1`; Cairnkeep never applies or restores a patch. See the
|
|
537
|
+
[work-evidence guide](docs/work-evidence.md).
|
|
538
|
+
|
|
495
539
|
### Compaction continuity and artifacts (opt-in)
|
|
496
540
|
|
|
497
541
|
`CAIRN_COMPACTION_CAPTURE=1` captures only harness-produced compaction summaries
|
|
@@ -28,7 +28,7 @@ manifest, profile-lock, private-registry, and rollback contract.
|
|
|
28
28
|
## The launcher seams
|
|
29
29
|
|
|
30
30
|
The generic launchers (`.ai/start-claude.sh`, `.ai/start-opencode.sh`,
|
|
31
|
-
`.ai/start-kimi.sh`, `.ai/start-qwen.sh`, and `.ai/start-pi.sh`, scaffolded by `cairn bootstrap`) run
|
|
31
|
+
`.ai/start-kimi.sh`, `.ai/start-qwen.sh`, `.ai/start-codex.sh`, and `.ai/start-pi.sh`, scaffolded by `cairn bootstrap`) run
|
|
32
32
|
optional hooks, each a no-op when absent:
|
|
33
33
|
|
|
34
34
|
| Seam | When | Use it for |
|
|
@@ -4,6 +4,12 @@ Cairnkeep separates memory transport from harness-specific operating assets.
|
|
|
4
4
|
An MCP client can use the memory tools without also supporting Cairnkeep's
|
|
5
5
|
commands, hooks, plugins, or trajectory adapters.
|
|
6
6
|
|
|
7
|
+
All six generated launchers—Claude Code, OpenCode, Kimi, Qwen, Pi and Codex—
|
|
8
|
+
support the same opt-in Git-linked work-evidence wrapper. The wrapper is local,
|
|
9
|
+
requires `CAIRN_WORK_EVIDENCE=1`, and fails open so optional capture cannot
|
|
10
|
+
prevent a harness from launching. It does not imply that the harness supports
|
|
11
|
+
Cairnkeep commands, hooks or native trajectory capture.
|
|
12
|
+
|
|
7
13
|
## Support levels
|
|
8
14
|
|
|
9
15
|
| Harness | Supported surface | Runtime status |
|
|
@@ -13,13 +19,15 @@ commands, hooks, plugins, or trajectory adapters.
|
|
|
13
19
|
| Kimi Code | Memory MCP, `AGENTS.md`, launcher, opt-in graph Skill | Launcher tested; remote MCP tested with Kimi Code 0.30.0; graph Skill contract-tested |
|
|
14
20
|
| Qwen Code | Memory MCP, launcher | Launcher tested; stdio and remote MCP tested with Qwen Code 0.21.1 |
|
|
15
21
|
| Pi | Memory MCP through maintained local stdio extension, native opt-in trajectory extension, launcher, and graph prompt | Pi 0.84.1 validated minimum; deterministic and real bridge/lifecycle tests |
|
|
16
|
-
| Codex CLI |
|
|
22
|
+
| Codex CLI | Project-scoped memory MCP and launcher | Setup and launcher contract-tested on POSIX and simulated native Windows; project trust remains operator-controlled |
|
|
17
23
|
| Other MCP clients | Memory plus optional domain-knowledge and context-pack tools | Protocol-compatible; not automatically runtime-tested |
|
|
18
24
|
|
|
19
25
|
Only Claude Code and OpenCode currently receive the complete operating layer.
|
|
20
26
|
Kimi receives one narrow graph Skill, while Pi receives one narrow graph prompt;
|
|
21
27
|
neither is equivalent to the full commands, agents, hooks, and plugins surface.
|
|
22
28
|
Qwen skills and hooks still require harness-specific adaptation and validation.
|
|
29
|
+
Codex receives a project-local MCP entry and launcher, but not Cairnkeep-specific
|
|
30
|
+
commands, hooks, agents, or automatic skill activation.
|
|
23
31
|
|
|
24
32
|
Every MCP client receives complete tool annotations and may use a Cairnkeep
|
|
25
33
|
least-authority profile independent of harness assets. Context-pack tools are
|
|
@@ -200,6 +208,37 @@ Git, and leave secret values as environment references.
|
|
|
200
208
|
Qwen MCP configuration is documented at
|
|
201
209
|
[Qwen Code MCP](https://qwenlm.github.io/qwen-code-docs/en/users/features/mcp/).
|
|
202
210
|
|
|
211
|
+
## Codex CLI
|
|
212
|
+
|
|
213
|
+
Select Codex during setup to create a project-scoped local stdio entry and
|
|
214
|
+
launcher:
|
|
215
|
+
|
|
216
|
+
```bash
|
|
217
|
+
cairn setup /path/to/project --git init --harness codex --memory local --yes
|
|
218
|
+
cd /path/to/project
|
|
219
|
+
./.ai/start-codex.sh
|
|
220
|
+
```
|
|
221
|
+
|
|
222
|
+
Native Windows uses `.\.ai\start-codex.cmd`. The generated
|
|
223
|
+
`.codex/config.toml` contains only:
|
|
224
|
+
|
|
225
|
+
```toml
|
|
226
|
+
[mcp_servers.cairn-memory]
|
|
227
|
+
command = "cairn"
|
|
228
|
+
args = ["memory-server"]
|
|
229
|
+
```
|
|
230
|
+
|
|
231
|
+
Review this file before accepting Codex's project-trust prompt. Cairnkeep does
|
|
232
|
+
not grant trust, edit the user-wide Codex configuration, or start Codex during
|
|
233
|
+
setup. If an operator-owned `.codex/config.toml` already differs, setup reports
|
|
234
|
+
`skipped` and leaves it unchanged; merge the table manually and run `cairn
|
|
235
|
+
doctor` to verify the effective entry. Uninstall never removes an
|
|
236
|
+
operator-owned configuration file.
|
|
237
|
+
|
|
238
|
+
The launcher loads `.ai/.env`, runs optional pre/post hooks, changes to the
|
|
239
|
+
project root, and passes all arguments to `codex`. It does not install native
|
|
240
|
+
Codex Skills or instructions and does not activate approved context-pack skills.
|
|
241
|
+
|
|
203
242
|
## Candidate memory clients
|
|
204
243
|
|
|
205
244
|
The following clients have documented MCP support and are reasonable adapter
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
# Curriculum Coverage Map
|
|
2
2
|
|
|
3
|
-
**Baseline:** Cairnkeep 2.
|
|
4
|
-
**Last reviewed:** 2026-08-
|
|
3
|
+
**Baseline:** Cairnkeep 2.13.0
|
|
4
|
+
**Last reviewed:** 2026-08-13
|
|
5
5
|
|
|
6
6
|
This map prevents the course from drifting behind the product. It assigns each
|
|
7
7
|
user-facing surface to a lesson and records whether the lesson is complete or
|
|
@@ -14,7 +14,8 @@ been rehearsed.
|
|
|
14
14
|
| Product surface | Introduced | Practised or operated | Learning status |
|
|
15
15
|
|---|---|---|---|
|
|
16
16
|
| Local stdio memory and MCP registration | L00-L02 | L03-L04 | L00-L03 Ready; L04 Brief |
|
|
17
|
-
|
|
|
17
|
+
| Guided project setup, launchers, and bootstrap compatibility/contributor mode | L02-L03 | L05 and L23 | L02-L03 and L23 Ready; L05 Brief |
|
|
18
|
+
| Declarative harness registry and Codex project-scoped MCP setup | L03 | L03 and L23 | Ready; project trust remains explicit |
|
|
18
19
|
| Memory scopes, keys, search, supersession, and history | L04 | L04-L05 | Brief |
|
|
19
20
|
| Wiki, alignment, and repository quality workflows | L05-L06 | L05-L06 | Brief |
|
|
20
21
|
| Optional local code graph, graph inspection, and harness delegates | L18 | L18 | Brief; default off |
|
|
@@ -26,6 +27,7 @@ been rehearsed.
|
|
|
26
27
|
| Structured trajectories and Pi capture adapter | L13 | L13 | Brief; default off |
|
|
27
28
|
| Hindsight-note distillation, lookup, enrichment, and promotion | L13 | L13-L14 | Brief; default off |
|
|
28
29
|
| Compaction continuity and immutable artifacts | L13 | L13 | Brief; default off |
|
|
30
|
+
| Git-linked work evidence | L13 | L13 | Lab + recording outline; default off |
|
|
29
31
|
| Typed memory nodes, filters, address spaces, and structured import | L14 | L14 | Brief; default off |
|
|
30
32
|
| Managed eight-capability contract and payload-free callbacks | L15 | L15-L16 | Brief; default off |
|
|
31
33
|
| Deterministic two-pass evaluation and one-capability ablation | L16 | L16 | Brief; default off |
|
|
@@ -35,7 +37,7 @@ been rehearsed.
|
|
|
35
37
|
| Complete MCP annotations and least-authority tool profiles | L20 | L20 | Ready; default profile remains full |
|
|
36
38
|
| Immutable context packs and exact-digest skill approval | L21 | L21 | Ready; default off |
|
|
37
39
|
| Native Windows x64 CLI, hooks, ACLs, scheduling, and recovery | L22 | L22 | Ready; PowerShell-native |
|
|
38
|
-
| Guided project setup, selected harness state, and Git-less limitations |
|
|
40
|
+
| Guided project setup, selected harness state, and Git-less limitations | L03 | L03 and L23 | Ready |
|
|
39
41
|
| Pi local stdio memory bridge, trusted annotation details, and explicit lifecycle | L23 | L23 | Ready; Pi 0.84.1 validated minimum |
|
|
40
42
|
|
|
41
43
|
## Release Review
|
|
@@ -58,7 +60,7 @@ repository remains the canonical source for explanations and scripts.
|
|
|
58
60
|
| Checkpoint | Lessons | Purpose |
|
|
59
61
|
|---|---|---|
|
|
60
62
|
| `course-00-app` | L00-L02 | Plain synthetic application before Cairnkeep |
|
|
61
|
-
| `course-01-bootstrap` | L03 |
|
|
63
|
+
| `course-01-bootstrap` | L03 | Guided local setup, Codex project configuration, and isolated environment |
|
|
62
64
|
| `course-02-memory` | L04-L05 | Memory lifecycle and derived knowledge |
|
|
63
65
|
| `course-03-quality` | L06 | Repository review and deliberately vulnerable fixture |
|
|
64
66
|
| `course-04-operation` | L07-L12 | Storage, routing, integrations, containers, overlays |
|
|
@@ -78,8 +80,8 @@ against `cairn help` so a new command cannot bypass a curriculum decision.
|
|
|
78
80
|
|
|
79
81
|
| Command | Primary lesson |
|
|
80
82
|
|---|---|
|
|
81
|
-
| `cairn bootstrap` | L03 |
|
|
82
|
-
| `cairn setup` | L23 |
|
|
83
|
+
| `cairn bootstrap` | L03 compatibility challenge |
|
|
84
|
+
| `cairn setup` | L03 for Claude/Codex; advanced Pi lifecycle in L23 |
|
|
83
85
|
| `cairn memory-server` | L02 |
|
|
84
86
|
| `cairn sync` | L02 |
|
|
85
87
|
| `cairn sync-pi` | L13 and L23 |
|
|
@@ -87,6 +89,7 @@ against `cairn help` so a new command cannot bypass a curriculum decision.
|
|
|
87
89
|
| `cairn doctor` | L03; advanced repair in L13-L14 |
|
|
88
90
|
| `cairn trajectory` | L13 |
|
|
89
91
|
| `cairn artifact` | L13 |
|
|
92
|
+
| `cairn evidence` | L13 |
|
|
90
93
|
| `cairn capabilities` | L15 |
|
|
91
94
|
| `cairn mcp-tools` | L20 |
|
|
92
95
|
| `cairn pack` | L21 |
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Cairnkeep feature guide
|
|
2
2
|
|
|
3
|
-
**Baseline:** Cairnkeep 2.
|
|
3
|
+
**Baseline:** Cairnkeep 2.13.0
|
|
4
4
|
|
|
5
5
|
This is the step-back map for choosing and operating Cairnkeep features. The
|
|
6
6
|
[course labs](https://github.com/cairnkeep/cairnkeep-course-labs) provide one
|
|
@@ -8,8 +8,13 @@ synthetic Trail Ledger project with tagged states from a plain application to
|
|
|
8
8
|
offline evaluation. Detailed contracts remain in the linked operating,
|
|
9
9
|
storage, privacy, and lesson documents.
|
|
10
10
|
|
|
11
|
-
Guided setup and the maintained Pi memory extension
|
|
12
|
-
|
|
11
|
+
Guided setup and the maintained Pi memory extension shipped in v2.11. The v2.12
|
|
12
|
+
harness registry adds first-class Codex project setup without granting project
|
|
13
|
+
trust. See [L03](lessons/L03-first-project.md) and
|
|
14
|
+
[L23](lessons/L23-guided-setup.md) for the tested boundaries.
|
|
15
|
+
Version 2.13 adds local Git-linked work evidence around all generated harness
|
|
16
|
+
launchers; [L13](lessons/L13-session-evidence.md) covers its privacy and
|
|
17
|
+
retention contract.
|
|
13
18
|
|
|
14
19
|
## The three-layer model
|
|
15
20
|
|
|
@@ -33,7 +38,7 @@ Run setup in that order, then confirm `cairn doctor`, `cairn sync --check`, and
|
|
|
33
38
|
| 2 | Wiki, alignment, graph, repository/security review | Tracked derived knowledge and quality workflows are sufficient |
|
|
34
39
|
| 3 | Backup, migration, multiple-machine routing | Storage placement and recovery are predictable |
|
|
35
40
|
| 4 | Document RAG or context exploration | An optional external corpus or faster repository exploration is justified |
|
|
36
|
-
| 5 | Trajectories, notes, compaction, artifacts | Local session evidence has an explicit retention purpose |
|
|
41
|
+
| 5 | Trajectories, notes, compaction, artifacts, Git work evidence | Local session evidence has an explicit retention purpose |
|
|
37
42
|
| 6 | Typed nodes and capability governance | Filtering and centrally inspectable feature state are needed |
|
|
38
43
|
| 7 | Evaluation and ablation | A concrete change needs bounded measurement |
|
|
39
44
|
| 8 | Validated skill improvement | Repeated resolved hindsight warrants a measured skill change |
|
|
@@ -52,7 +57,8 @@ prerequisites for ordinary memory.
|
|
|
52
57
|
| Wiki and alignment | `/wiki-ingest`, `/wiki-query`, `/wiki-lint`, alignment files | Written only when invoked; reviewable `.planning/` artifacts | Re-run lint, inspect source citations, revert tracked changes normally | `course-02-memory` |
|
|
53
58
|
| Local code graph | `cairn graph build|query|status|diff|explain|path`; `/graphify` delegates | Default off; optional isolated `graphify` executable; incremental work under `graphify-out/`, published view under `.planning/graphs/` | Ignore both derived locations; check status and source before trusting a result; use `--force` only after intentional deletion; uninstall adapters separately | `course-08-graph` |
|
|
54
59
|
| Repository quality | `/repo-review`, `/security-audit` | On-demand workflow; findings are hypotheses until reproduced | Require file/line evidence and regression tests | `course-03-quality` |
|
|
55
|
-
| Guided project setup | `cairn setup PATH --git init\|existing\|none --harness LIST --memory local\|none --yes` | Reconciles only selected project assets; private `.ai/cairnkeep.json`; machine sync is never automatic | Repeat deterministically, run doctor, or replay its recovery command; Git-less mode remains limited | `course-12-guided-setup` |
|
|
60
|
+
| Guided project setup | `cairn setup PATH --git init\|existing\|none --harness LIST --memory local\|none --yes` | Reconciles only selected project assets from one harness registry; private `.ai/cairnkeep.json`; machine sync is never automatic | Repeat deterministically, run doctor, or replay its recovery command; Git-less mode remains limited | `course-12-guided-setup` |
|
|
61
|
+
| Codex project memory | Select `--harness codex --memory local` | Writes `.codex/config.toml` plus POSIX/native Windows launchers; local stdio; user-wide configuration and trust remain untouched | Review the MCP table, accept Codex project trust, run doctor, and relaunch; uninstall is backup-first | `course-01-bootstrap` |
|
|
56
62
|
|
|
57
63
|
## Storage and optional topology
|
|
58
64
|
|
|
@@ -78,6 +84,7 @@ prerequisites for ordinary memory.
|
|
|
78
84
|
| Note enrichment | Distillation plus separate enrichment flag, endpoint, key, and model | No server restart for the offline job | Failure leaves deterministic note usable; unset enrichment flag | `course-05-evidence` |
|
|
79
85
|
| Compaction continuity | `CAIRN_COMPACTION_CAPTURE=1` | Sync assets and relaunch harness | Inspect provenance/age; remove retained local artifacts explicitly | `course-05-evidence` |
|
|
80
86
|
| Artifact tools | `CAIRN_ARTIFACT_STORE=1`; HTTP needs a second flag and existing HTTP auth | Restart MCP server when tool exposure changes | `cairn artifact list|show|delete|prune` with dry runs | `course-05-evidence` |
|
|
87
|
+
| Git-linked work evidence | `CAIRN_WORK_EVIDENCE=1`; optional patch also needs `CAIRN_WORK_EVIDENCE_PATCH=1` and the artifact store | Relaunch through a generated harness launcher | `cairn evidence list|show|delete|prune|doctor`; local only, no restore/apply | `course-05-evidence` |
|
|
81
88
|
| Typed nodes/import | `CAIRN_TYPED_MEMORY_NODES=1` | Restart MCP server; tool schema changes | Hard-filter search; dry-run, replay-safe import; `cairn doctor --repair` only for derived state | `course-05-evidence` |
|
|
82
89
|
| Capability contract | `CAIRN_CAPABILITY_CONTRACT=1` | MCP changes require restart; operating changes apply next invocation | `cairn capabilities list|status|enable|disable|reset|logging`; digest identifies state only | `course-06-governance` |
|
|
83
90
|
| Evaluation | `CAIRN_EVAL=1` for the coordinator process | No harness chosen by Cairnkeep | `validate` before `run`; inspect report, missingness and evidence scope; dry-run prune/delete | `course-07-evaluation` |
|
|
@@ -88,6 +95,8 @@ prerequisites for ordinary memory.
|
|
|
88
95
|
## Harness and maintenance checks
|
|
89
96
|
|
|
90
97
|
- Use a generated launcher so project environment and hooks are repeatable.
|
|
98
|
+
- For Codex, review `.codex/config.toml` and accept project trust; no machine
|
|
99
|
+
sync is required for the memory-only integration.
|
|
91
100
|
- Run `cairn sync --check` after every core upgrade; apply only reported drift.
|
|
92
101
|
- Run `cairn sync-pi --check` when the Pi memory/trajectory/graph assets are installed.
|
|
93
102
|
- Run `cairn sync-kimi --check` when the optional Kimi graph Skill is installed.
|
package/docs/learning/README.md
CHANGED
|
@@ -8,7 +8,8 @@ publication material.
|
|
|
8
8
|
|
|
9
9
|
Choose the shortest track that matches your goal:
|
|
10
10
|
|
|
11
|
-
- [Quickstart](tracks/quickstart.md) - prove the core value
|
|
11
|
+
- [Quickstart](tracks/quickstart.md) - prove the core value, including the
|
|
12
|
+
one-command Codex project path and the explicit Pi lifecycle, in about 110 minutes.
|
|
12
13
|
- [Practitioner](tracks/practitioner.md) - adopt Cairnkeep in daily project work.
|
|
13
14
|
- [Evidence and evaluation](tracks/evidence-and-evaluation.md) - inspect optional
|
|
14
15
|
session evidence, govern capabilities, and measure changes without overstating
|
|
@@ -33,7 +34,7 @@ expanded only after their labs are executable.
|
|
|
33
34
|
| L00 | [Why Cairnkeep?](lessons/L00-why-cairnkeep.md) | Ready | 10 min |
|
|
34
35
|
| L01 | [Try it safely](lessons/L01-safe-trial.md) | Ready | 15 min |
|
|
35
36
|
| L02 | [Install the local workflow](lessons/L02-installation.md) | Ready | 25 min |
|
|
36
|
-
| L03 | [
|
|
37
|
+
| L03 | [Set up the first project](lessons/L03-first-project.md) | Ready | 25 min |
|
|
37
38
|
| L04 | [Memory fundamentals](lessons/L04-memory-fundamentals.md) | Brief | 35 min |
|
|
38
39
|
| L05 | [The daily workflow](lessons/L05-daily-workflow.md) | Brief | 40 min |
|
|
39
40
|
| L06 | [Repository review and security](lessons/L06-repository-quality.md) | Brief | 45 min |
|
|
@@ -43,7 +44,7 @@ expanded only after their labs are executable.
|
|
|
43
44
|
| L10 | [Faster context exploration](lessons/L10-context-exploration.md) | Brief | 30 min |
|
|
44
45
|
| L11 | [Containers and isolation](lessons/L11-containers.md) | Brief | 40 min |
|
|
45
46
|
| L12 | [Managed overlays](lessons/L12-managed-overlays.md) | Brief | 45 min |
|
|
46
|
-
| L13 | [Session evidence and hindsight](lessons/L13-session-evidence.md) | Brief |
|
|
47
|
+
| L13 | [Session evidence and hindsight](lessons/L13-session-evidence.md) | Brief | 60 min |
|
|
47
48
|
| L14 | [Typed memory and controlled import](lessons/L14-typed-memory.md) | Brief | 40 min |
|
|
48
49
|
| L15 | [Capability governance](lessons/L15-capability-governance.md) | Brief | 35 min |
|
|
49
50
|
| L16 | [Evaluation and ablation](lessons/L16-evaluation.md) | Brief | 50 min |
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
**Status:** Ready
|
|
4
4
|
**Track:** Quickstart
|
|
5
5
|
**Time:** 15 minutes
|
|
6
|
-
**Tested with:** Cairnkeep 2.
|
|
6
|
+
**Tested with:** Cairnkeep 2.13.0
|
|
7
7
|
|
|
8
8
|
## Outcome
|
|
9
9
|
|
|
@@ -26,7 +26,7 @@ ephemeral; the named course volume is persistent.
|
|
|
26
26
|
1. Pull the public image:
|
|
27
27
|
|
|
28
28
|
```bash
|
|
29
|
-
podman pull ghcr.io/cairnkeep/cairnkeep:2.
|
|
29
|
+
podman pull ghcr.io/cairnkeep/cairnkeep:2.13.0
|
|
30
30
|
```
|
|
31
31
|
|
|
32
32
|
2. Start the stdio server with a read-only root filesystem and no Linux
|
|
@@ -38,7 +38,7 @@ ephemeral; the named course volume is persistent.
|
|
|
38
38
|
--read-only --cap-drop=all --security-opt=no-new-privileges \
|
|
39
39
|
--tmpfs=/tmp:rw,noexec,nosuid,size=64m,mode=1777 \
|
|
40
40
|
--volume cairnkeep-course-data:/data:Z,U \
|
|
41
|
-
ghcr.io/cairnkeep/cairnkeep:2.
|
|
41
|
+
ghcr.io/cairnkeep/cairnkeep:2.13.0 stdio
|
|
42
42
|
```
|
|
43
43
|
|
|
44
44
|
3. The process waits quietly for MCP input. Press `Ctrl-C` after confirming it
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
**Status:** Ready
|
|
4
4
|
**Track:** Quickstart
|
|
5
5
|
**Time:** 25 minutes
|
|
6
|
-
**Tested with:** Cairnkeep 2.
|
|
6
|
+
**Tested with:** Cairnkeep 2.13.0 and Node.js 22 or newer
|
|
7
7
|
|
|
8
8
|
## Outcome
|
|
9
9
|
|
|
@@ -13,7 +13,8 @@ layer, and distinguish a complete installation from a partial one.
|
|
|
13
13
|
## Prerequisites
|
|
14
14
|
|
|
15
15
|
- Node.js 22 or newer and npm.
|
|
16
|
-
- Claude Code installed for the commands below.
|
|
16
|
+
- Claude Code installed for the full operating-layer commands below. Codex CLI
|
|
17
|
+
users can take the project-scoped path in L03. OpenCode, Kimi Code, and Qwen Code users
|
|
17
18
|
should follow the equivalent setup in
|
|
18
19
|
[the operating guide](../../operating.md).
|
|
19
20
|
- Permission to install an npm package globally for your user.
|
|
@@ -26,8 +27,13 @@ A complete setup has three independent parts:
|
|
|
26
27
|
2. the MCP registration used by the harness;
|
|
27
28
|
3. the operating layer containing commands, agents, hooks, and templates.
|
|
28
29
|
|
|
29
|
-
`cairn
|
|
30
|
-
machine-level steps.
|
|
30
|
+
`cairn setup` configures a project later; it does not perform the first two
|
|
31
|
+
machine-level steps. `cairn bootstrap` remains the compatibility primitive for
|
|
32
|
+
scripts and overlays that already own their setup policy.
|
|
33
|
+
|
|
34
|
+
Codex is the simpler memory-only exception: L03 writes its project-scoped MCP
|
|
35
|
+
entry and launcher, so it needs no user-wide MCP registration or machine-level
|
|
36
|
+
sync. Codex project trust remains an explicit operator decision.
|
|
31
37
|
|
|
32
38
|
## Exercise
|
|
33
39
|
|
|
@@ -41,7 +47,7 @@ machine-level steps.
|
|
|
41
47
|
2. Install Cairnkeep:
|
|
42
48
|
|
|
43
49
|
```bash
|
|
44
|
-
npm install --global @cairnkeep/cli@2.
|
|
50
|
+
npm install --global @cairnkeep/cli@2.13.0
|
|
45
51
|
cairn --version
|
|
46
52
|
```
|
|
47
53
|
|
|
@@ -78,7 +84,7 @@ machine-level steps.
|
|
|
78
84
|
Invoke-Expression (& cairn completion powershell | Out-String)
|
|
79
85
|
```
|
|
80
86
|
|
|
81
|
-
|
|
87
|
+
Project setup emits `.cmd` launchers on Windows; use
|
|
82
88
|
`.\.ai\start-claude.cmd` instead of the Unix `.sh` launcher.
|
|
83
89
|
|
|
84
90
|
## Verify
|
|
@@ -108,8 +114,9 @@ installation.
|
|
|
108
114
|
This registration starts `cairn memory-server` locally as a stdio child. It
|
|
109
115
|
does not discover a server, send memory to a remote host, configure embeddings,
|
|
110
116
|
enable session capture, or enable an optional document-RAG integration. Pi uses
|
|
111
|
-
the separate `cairn sync-pi`
|
|
112
|
-
|
|
117
|
+
the separate, explicit `cairn sync-pi --apply` command to install Cairnkeep's
|
|
118
|
+
maintained local stdio memory extension, trajectory extension, and graph prompt.
|
|
119
|
+
Project setup records the Pi selection but never changes machine-level Pi assets.
|
|
113
120
|
|
|
114
121
|
Kimi Code can use the same memory server through its generated
|
|
115
122
|
`.ai/start-kimi.sh` launcher, but its HTTP MCP configuration requires a literal
|
|
@@ -145,4 +152,4 @@ Do not delete memory stores as part of a course cleanup.
|
|
|
145
152
|
- `sync --check` is the non-writing drift check.
|
|
146
153
|
- Default stdio memory is local.
|
|
147
154
|
|
|
148
|
-
Next: [L03 -
|
|
155
|
+
Next: [L03 - Set up the first project](L03-first-project.md).
|
|
@@ -1,14 +1,15 @@
|
|
|
1
|
-
# L03 -
|
|
1
|
+
# L03 - Set up the first project
|
|
2
2
|
|
|
3
3
|
**Status:** Ready
|
|
4
4
|
**Track:** Quickstart
|
|
5
5
|
**Time:** 25 minutes
|
|
6
|
-
**Tested with:** Cairnkeep 2.
|
|
6
|
+
**Tested with:** Cairnkeep 2.13.0
|
|
7
7
|
|
|
8
8
|
## Outcome
|
|
9
9
|
|
|
10
|
-
You can
|
|
11
|
-
|
|
10
|
+
You can use the guided setup contract on an empty directory, choose Claude Code
|
|
11
|
+
or Codex CLI, verify its Git and harness wiring, store one accepted fact, and
|
|
12
|
+
recall it from a new session.
|
|
12
13
|
|
|
13
14
|
## Prerequisites
|
|
14
15
|
|
|
@@ -18,22 +19,32 @@ fact, and recall it from a new harness session.
|
|
|
18
19
|
|
|
19
20
|
## Exercise
|
|
20
21
|
|
|
21
|
-
1. Create
|
|
22
|
+
1. Create an empty disposable project directory:
|
|
22
23
|
|
|
23
24
|
```bash
|
|
24
25
|
mkdir -p "$HOME/cairnkeep-course/first-project"
|
|
25
26
|
cd "$HOME/cairnkeep-course/first-project"
|
|
26
|
-
git init
|
|
27
|
-
printf '# Cairnkeep course project\n' > README.md
|
|
28
27
|
```
|
|
29
28
|
|
|
30
|
-
2.
|
|
29
|
+
2. Choose one harness and run the deterministic form of guided setup. The
|
|
30
|
+
explicit flags make the
|
|
31
|
+
exercise reproducible while exercising the same preflight as interactive
|
|
32
|
+
`cairn setup`:
|
|
31
33
|
|
|
32
34
|
```bash
|
|
33
|
-
|
|
35
|
+
# Full operating-layer route from L02:
|
|
36
|
+
cairn setup "$PWD" --git init --harness claude --memory local --yes
|
|
37
|
+
|
|
38
|
+
# Or the self-contained Codex memory route:
|
|
39
|
+
# cairn setup "$PWD" --git init --harness codex --memory local --yes
|
|
34
40
|
cp .ai/env.example .ai/.env
|
|
35
41
|
```
|
|
36
42
|
|
|
43
|
+
Setup must create the Git repository, generate only the selected harness
|
|
44
|
+
assets, and write the private `.ai/cairnkeep.json` setup record. Codex also
|
|
45
|
+
receives `.codex/config.toml`; review it and accept Codex's project-trust
|
|
46
|
+
prompt before launching.
|
|
47
|
+
|
|
37
48
|
3. Keep optional endpoint and model values unset for this local exercise. Run
|
|
38
49
|
diagnostics:
|
|
39
50
|
|
|
@@ -45,10 +56,11 @@ fact, and recall it from a new harness session.
|
|
|
45
56
|
and evaluation flags unset. The quickstart proves core memory without
|
|
46
57
|
silently changing the amount of retained data.
|
|
47
58
|
|
|
48
|
-
4. Launch
|
|
59
|
+
4. Launch the selected harness through its generated project launcher:
|
|
49
60
|
|
|
50
61
|
```bash
|
|
51
62
|
./.ai/start-claude.sh
|
|
63
|
+
# Codex route: ./.ai/start-codex.sh
|
|
52
64
|
```
|
|
53
65
|
|
|
54
66
|
5. In the harness, store a deliberately synthetic convention:
|
|
@@ -79,9 +91,11 @@ The lesson is complete only if:
|
|
|
79
91
|
|
|
80
92
|
| Symptom | Cause | Recovery |
|
|
81
93
|
|---|---|---|
|
|
82
|
-
|
|
|
94
|
+
| Setup refuses the target | The directory is non-empty or its Git state conflicts with `--git init` | Preserve the directory, inspect it, then select `--git existing` or use a genuinely empty disposable path |
|
|
95
|
+
| Launcher is missing | A different directory was configured or Claude was not selected | Run `pwd`, inspect `.ai/cairnkeep.json`, then replay the recovery command from `cairn doctor` |
|
|
83
96
|
| `.ai/.env` is missing | Only the example is generated | Copy `.ai/env.example` to `.ai/.env` |
|
|
84
|
-
| `cairn-memory` is unavailable | L02 MCP registration is absent or stale | Run `claude mcp get cairn-memory`, repair it, then restart Claude Code |
|
|
97
|
+
| `cairn-memory` is unavailable in Claude | L02 MCP registration is absent or stale | Run `claude mcp get cairn-memory`, repair it, then restart Claude Code |
|
|
98
|
+
| `cairn-memory` is unavailable in Codex | Project configuration was skipped or the project is not trusted | Review/merge `.codex/config.toml`, rerun setup, then accept project trust and relaunch |
|
|
85
99
|
| Slash commands are unknown | Operating assets were not loaded | Run `cairn sync --check`, apply if needed, then restart the harness |
|
|
86
100
|
| Recall works only in the first session | Sessions used different storage routing | Compare launchers and environment, then inspect `cairn memory path` |
|
|
87
101
|
|
|
@@ -105,13 +119,18 @@ synthetic memory through the normal memory review/delete workflow if required.
|
|
|
105
119
|
|
|
106
120
|
## Optional challenge
|
|
107
121
|
|
|
108
|
-
|
|
109
|
-
|
|
122
|
+
Create another disposable Git repository and run `cairn bootstrap --untracked`
|
|
123
|
+
there. Inspect `.git/info/exclude` to see how the compatibility primitive keeps
|
|
124
|
+
contributor-mode scaffolding out of shared changes.
|
|
110
125
|
|
|
111
126
|
## Recap
|
|
112
127
|
|
|
113
|
-
-
|
|
128
|
+
- Guided setup owns target preflight, Git choice, harness selection, and a
|
|
129
|
+
private reconciliation record.
|
|
130
|
+
- Bootstrap remains available for compatibility and contributor workflows.
|
|
114
131
|
- The generated launcher establishes a repeatable project environment.
|
|
132
|
+
- Codex memory setup is project-scoped and does not silently grant trust or
|
|
133
|
+
modify the user-wide Codex configuration.
|
|
115
134
|
- Persistence is proven only after a new session recalls the accepted fact.
|
|
116
135
|
|
|
117
136
|
Next: [L04 - Memory fundamentals](L04-memory-fundamentals.md).
|