@cairnkeep/cli 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.
Files changed (38) hide show
  1. package/CHANGELOG.md +23 -0
  2. package/README.md +6 -3
  3. package/bin/cairn +5 -0
  4. package/containers/workspace-entrypoint.sh +4 -0
  5. package/docs/containers.md +8 -2
  6. package/docs/learning/PRODUCTION-PLAN.md +122 -0
  7. package/docs/learning/README.md +58 -0
  8. package/docs/learning/instructor-guide.md +60 -0
  9. package/docs/learning/lessons/L00-why-cairnkeep.md +87 -0
  10. package/docs/learning/lessons/L01-safe-trial.md +96 -0
  11. package/docs/learning/lessons/L02-installation.md +115 -0
  12. package/docs/learning/lessons/L03-first-project.md +116 -0
  13. package/docs/learning/lessons/L04-memory-fundamentals.md +44 -0
  14. package/docs/learning/lessons/L05-daily-workflow.md +43 -0
  15. package/docs/learning/lessons/L06-repository-quality.md +45 -0
  16. package/docs/learning/lessons/L07-privacy-and-storage.md +42 -0
  17. package/docs/learning/lessons/L08-multiple-machines.md +41 -0
  18. package/docs/learning/lessons/L09-domain-knowledge.md +42 -0
  19. package/docs/learning/lessons/L10-context-exploration.md +42 -0
  20. package/docs/learning/lessons/L11-containers.md +42 -0
  21. package/docs/learning/lessons/L12-managed-overlays.md +43 -0
  22. package/docs/learning/templates/lesson-template.md +61 -0
  23. package/docs/learning/templates/video-script-template.md +50 -0
  24. package/docs/learning/tracks/operator.md +14 -0
  25. package/docs/learning/tracks/practitioner.md +15 -0
  26. package/docs/learning/tracks/quickstart.md +14 -0
  27. package/docs/learning/video-scripts/L00-why-cairnkeep.md +76 -0
  28. package/docs/learning/video-scripts/L01-safe-trial.md +78 -0
  29. package/docs/learning/video-scripts/L02-installation.md +90 -0
  30. package/docs/learning/video-scripts/L03-first-project.md +96 -0
  31. package/docs/operating.md +14 -0
  32. package/package.json +1 -1
  33. package/scripts/cairn-container +2 -1
  34. package/scripts/completion.sh +80 -0
  35. package/scripts/test-completion.sh +24 -0
  36. package/scripts/test-container-runner.sh +4 -0
  37. package/scripts/test-container.sh +32 -1
  38. package/scripts/test-learning-docs.sh +78 -0
@@ -0,0 +1,116 @@
1
+ # L03 - Bootstrap the first project
2
+
3
+ **Status:** Ready
4
+ **Track:** Quickstart
5
+ **Time:** 25 minutes
6
+ **Tested with:** Cairnkeep 2.3.0
7
+
8
+ ## Outcome
9
+
10
+ You can bootstrap a disposable project, verify its wiring, store one accepted
11
+ fact, and recall it from a new harness session.
12
+
13
+ ## Prerequisites
14
+
15
+ - Completed [L02](L02-installation.md).
16
+ - Git and a supported harness.
17
+ - A disposable directory that contains no real project or confidential data.
18
+
19
+ ## Exercise
20
+
21
+ 1. Create a disposable repository:
22
+
23
+ ```bash
24
+ mkdir -p "$HOME/cairnkeep-course/first-project"
25
+ cd "$HOME/cairnkeep-course/first-project"
26
+ git init
27
+ printf '# Cairnkeep course project\n' > README.md
28
+ ```
29
+
30
+ 2. Bootstrap the project:
31
+
32
+ ```bash
33
+ cairn bootstrap "$PWD"
34
+ cp .ai/env.example .ai/.env
35
+ ```
36
+
37
+ 3. Keep optional endpoint and model values unset for this local exercise. Run
38
+ diagnostics:
39
+
40
+ ```bash
41
+ cairn doctor
42
+ ```
43
+
44
+ 4. Launch Claude Code through the generated project launcher:
45
+
46
+ ```bash
47
+ ./.ai/start-claude.sh
48
+ ```
49
+
50
+ 5. In the harness, store a deliberately synthetic convention:
51
+
52
+ ```text
53
+ /remember Course convention: examples use UTC timestamps.
54
+ ```
55
+
56
+ 6. Retrieve it:
57
+
58
+ ```text
59
+ /recall UTC timestamps
60
+ ```
61
+
62
+ 7. Exit the harness, start it again with the same launcher, and repeat the
63
+ recall. This second session is the persistence proof.
64
+
65
+ ## Verify
66
+
67
+ The lesson is complete only if:
68
+
69
+ - `cairn doctor` reports no configured dependency failures;
70
+ - `/remember` confirms a durable key;
71
+ - `/recall` finds the fact after the first session has exited;
72
+ - `cairn memory path` points to local storage on this machine.
73
+
74
+ ## Common failures
75
+
76
+ | Symptom | Cause | Recovery |
77
+ |---|---|---|
78
+ | Launcher is missing | A different directory was bootstrapped | Run `pwd`, then bootstrap that exact path |
79
+ | `.ai/.env` is missing | Only the example is generated | Copy `.ai/env.example` to `.ai/.env` |
80
+ | `cairn-memory` is unavailable | L02 MCP registration is absent or stale | Run `claude mcp get cairn-memory`, repair it, then restart Claude Code |
81
+ | Slash commands are unknown | Operating assets were not loaded | Run `cairn sync --check`, apply if needed, then restart the harness |
82
+ | Recall works only in the first session | Sessions used different storage routing | Compare launchers and environment, then inspect `cairn memory path` |
83
+
84
+ ## Privacy and trust boundary
85
+
86
+ Use synthetic memory in the course. The local stdio server writes to local
87
+ AgentFS/SQLite storage. Project wiki and planning files are derived artifacts;
88
+ the repository remains canonical.
89
+
90
+ ## Clean up
91
+
92
+ Exit the harness before removing the disposable project:
93
+
94
+ ```bash
95
+ rm -rf "$HOME/cairnkeep-course/first-project"
96
+ ```
97
+
98
+ This removes project scaffolding but not the global memory store. Remove the
99
+ synthetic memory through the normal memory review/delete workflow if required.
100
+
101
+ ## Optional challenge
102
+
103
+ Repeat bootstrap with `--untracked` in another disposable Git repository, then
104
+ inspect `.git/info/exclude` to see how contributor mode avoids shared changes.
105
+
106
+ ## Recap
107
+
108
+ - Bootstrap is project-specific and follows machine setup.
109
+ - The generated launcher establishes a repeatable project environment.
110
+ - Persistence is proven only after a new session recalls the accepted fact.
111
+
112
+ Next: [L04 - Memory fundamentals](L04-memory-fundamentals.md).
113
+
114
+ ## Video
115
+
116
+ Use [the L03 presenter script](../video-scripts/L03-first-project.md).
@@ -0,0 +1,44 @@
1
+ # L04 - Memory fundamentals
2
+
3
+ **Status:** Brief
4
+ **Track:** Practitioner
5
+ **Planned time:** 35 minutes
6
+
7
+ ## Outcome
8
+
9
+ Choose an appropriate scope and key, search by meaning, inspect history, and
10
+ review extracted candidates before they become durable memory.
11
+
12
+ ## Planned lesson
13
+
14
+ - Identity, project, and global scopes.
15
+ - Key families: `decisions/`, `pitfalls/`, `patterns/`, `bugs/`,
16
+ `constraints/`, and `conventions/`.
17
+ - Exact read versus semantic search and substring fallback.
18
+ - Superseding a fact without losing history.
19
+ - Session-end candidate extraction and `/memory-review` as the acceptance gate.
20
+ - Deleting synthetic course memory safely.
21
+
22
+ ## Hands-on lab
23
+
24
+ Store three synthetic facts in different categories, retrieve them by an
25
+ imprecise query, supersede one, inspect its history, and reject one staged
26
+ candidate.
27
+
28
+ ## Acceptance criteria
29
+
30
+ - The learner can justify the scope and category for each fact.
31
+ - Search finds a fact without requiring its exact key.
32
+ - Superseding preserves the prior value in history.
33
+ - No extracted candidate becomes durable without an explicit review action.
34
+
35
+ ## Planned video
36
+
37
+ Open with two contradictory memories, demonstrate search and superseding, then
38
+ finish with the review queue. Target 12-15 minutes. Write the complete script in
39
+ Wave 2 after the lab fixture is executable.
40
+
41
+ ## Source material
42
+
43
+ - [Operating guide](../../operating.md#the-workflow)
44
+ - [Storage and deployment](../../storage.md)
@@ -0,0 +1,43 @@
1
+ # L05 - The daily workflow
2
+
3
+ **Status:** Brief
4
+ **Track:** Practitioner
5
+ **Planned time:** 40 minutes
6
+
7
+ ## Outcome
8
+
9
+ Use memory, the cited wiki, alignment artifacts, and automatic hooks without
10
+ confusing derived knowledge with canonical project sources.
11
+
12
+ ## Planned lesson
13
+
14
+ - SessionStart recall, pre-edit recall, and SessionEnd candidate staging.
15
+ - `/wiki-ingest`, `/wiki-query`, and `/wiki-lint`.
16
+ - Sparse, citation-heavy wiki pages rather than copied documentation.
17
+ - Alignment gaps, contradictions, and project planning artifacts.
18
+ - `/memory-sync` for configured git-provider state.
19
+ - A start-of-task and end-of-task checklist.
20
+
21
+ ## Hands-on lab
22
+
23
+ Ingest one synthetic ADR, query it with citations, change the canonical ADR,
24
+ observe staleness, refresh the derived page, and review the session candidate
25
+ queue before exiting.
26
+
27
+ ## Acceptance criteria
28
+
29
+ - Every derived claim links to a canonical source.
30
+ - A stale or contradictory page is detected rather than silently trusted.
31
+ - Automatic hooks are observable and do not bypass human memory review.
32
+ - The learner can describe what to do at session start, before editing, and at
33
+ session end.
34
+
35
+ ## Planned video
36
+
37
+ Follow one small feature from session start to reviewed handoff. Target 15
38
+ minutes and split wiki maintenance into a second video if rehearsal runs long.
39
+
40
+ ## Source material
41
+
42
+ - [Operating guide](../../operating.md#the-workflow)
43
+ - [Git provider configuration](../../git-providers.md)
@@ -0,0 +1,45 @@
1
+ # L06 - Repository review and security
2
+
3
+ **Status:** Brief
4
+ **Track:** Practitioner
5
+ **Planned time:** 45 minutes
6
+
7
+ ## Outcome
8
+
9
+ Run `/repo-review` and `/security-audit` against a bounded target, validate
10
+ findings, and keep generated reports separate from automatic code changes.
11
+
12
+ ## Planned lesson
13
+
14
+ - When to use repository review versus a security audit.
15
+ - Target selection, repository boundaries, and safe local-only policy.
16
+ - Investigator and validator roles.
17
+ - Severity, evidence, reproduction, false positives, and remediation ordering.
18
+ - Reviewing `REVIEW.md` and `.planning/security/` before acting.
19
+ - Why a report is not permission to modify unrelated code.
20
+
21
+ ## Hands-on lab
22
+
23
+ Use a deliberately vulnerable toy service containing a correctness defect, an
24
+ authorization defect, and one tempting false positive. Run both workflows,
25
+ reproduce valid findings, reject the false positive, and apply fixes on a
26
+ solution branch.
27
+
28
+ ## Acceptance criteria
29
+
30
+ - The learner finds both real defects and does not report the planted false
31
+ positive as confirmed.
32
+ - Every accepted finding contains evidence and a reproduction path.
33
+ - No scan reaches outside the disposable repository or its local processes.
34
+ - The lab passes after remediation and fails in its tagged starter state.
35
+
36
+ ## Planned video
37
+
38
+ This is the flagship value demonstration. Show one serious synthetic defect
39
+ from discovery through validation and fix. Target 15 minutes; publish the full
40
+ 45-minute exercise as a workshop.
41
+
42
+ ## Source material
43
+
44
+ - [Operating guide](../../operating.md#the-workflow)
45
+ - Course-labs repository to be created in Wave 2
@@ -0,0 +1,42 @@
1
+ # L07 - Privacy and storage
2
+
3
+ **Status:** Brief
4
+ **Track:** Practitioner
5
+ **Planned time:** 30 minutes
6
+
7
+ ## Outcome
8
+
9
+ Predict where memory, project artifacts, credentials, and optional model data
10
+ will go before starting a session.
11
+
12
+ ## Planned lesson
13
+
14
+ - The placement rule: the server process owns the store it opens.
15
+ - Local stdio versus explicitly configured remote HTTP.
16
+ - AgentFS/SQLite data at rest and project-derived artifacts.
17
+ - Credential boundaries and environment-variable precedence.
18
+ - Embedding/extraction endpoints and what content they receive.
19
+ - `cairn memory path` and a preflight data-flow checklist.
20
+
21
+ ## Hands-on lab
22
+
23
+ Draw the data flow for a default local setup and for a disposable loopback HTTP
24
+ setup. Verify the local store path, inspect only file permissions and database
25
+ names, and prove that no remote destination was discovered.
26
+
27
+ ## Acceptance criteria
28
+
29
+ - The learner predicts the correct storage host for both topologies.
30
+ - Secrets are never printed, committed, or included in screenshots.
31
+ - Optional model and RAG flows are identified separately from memory storage.
32
+ - The learner can stop when an effective destination is ambiguous.
33
+
34
+ ## Planned video
35
+
36
+ Use two simple diagrams and one terminal preflight. Target 10 minutes. Do not
37
+ demonstrate real endpoints or credentials.
38
+
39
+ ## Source material
40
+
41
+ - [Privacy and data flow](../../privacy-and-data-flow.md)
42
+ - [Storage and deployment](../../storage.md)
@@ -0,0 +1,41 @@
1
+ # L08 - Multiple machines
2
+
3
+ **Status:** Brief
4
+ **Track:** Practitioner
5
+ **Planned time:** 40 minutes
6
+
7
+ ## Outcome
8
+
9
+ Choose between independent local stores, export/import migration, and a trusted
10
+ remote service, then execute a backup-first migration without data loss.
11
+
12
+ ## Planned lesson
13
+
14
+ - Independent local memory versus intentional centralization.
15
+ - WAL-safe `cairn memory export` and backup-first import.
16
+ - Trusted-client automation with private configuration.
17
+ - Authenticated HTTP routing and one-server/one-trust-domain limitations.
18
+ - Migration ordering, rollback, and old-client compatibility.
19
+ - Verifying source and destination before decommissioning anything.
20
+
21
+ ## Hands-on lab
22
+
23
+ Create a disposable store, write two synthetic facts, export it, import into a
24
+ second isolated base directory, verify both facts, and demonstrate rollback to
25
+ the pre-import backup.
26
+
27
+ ## Acceptance criteria
28
+
29
+ - Source data remains intact throughout the exercise.
30
+ - The destination is backed up automatically before import.
31
+ - The learner verifies counts and exact synthetic values on both sides.
32
+ - No remote service is introduced merely to complete the migration lab.
33
+
34
+ ## Planned video
35
+
36
+ Record the backup, migration, verification, and rollback without cuts that hide
37
+ state transitions. Target 12 minutes.
38
+
39
+ ## Source material
40
+
41
+ - [Storage and deployment](../../storage.md#inspecting-and-moving-memory)
@@ -0,0 +1,42 @@
1
+ # L09 - Domain knowledge with RAG
2
+
3
+ **Status:** Brief
4
+ **Track:** Operator
5
+ **Planned time:** 35 minutes
6
+
7
+ ## Outcome
8
+
9
+ Connect an optional document-RAG workspace, query it, and disable it again
10
+ without affecting core Cairnkeep memory.
11
+
12
+ ## Planned lesson
13
+
14
+ - Memory versus document RAG responsibilities.
15
+ - Workspace selection and project configuration.
16
+ - Query-only setup before document synchronization.
17
+ - Incremental, full, and replacement synchronization boundaries.
18
+ - Endpoint, credential, and document-selection safety.
19
+ - Diagnosing an unavailable RAG service with `cairn doctor`.
20
+
21
+ ## Hands-on lab
22
+
23
+ Index a synthetic three-document corpus into a disposable workspace, ask a
24
+ question requiring citations to two documents, update one document, resync, and
25
+ verify the new answer. Then unset the integration and prove memory still works.
26
+
27
+ ## Acceptance criteria
28
+
29
+ - Only allowlisted synthetic documents are uploaded.
30
+ - The learner can identify the selected workspace and endpoint without printing
31
+ its credential.
32
+ - Updated content replaces stale retrieval results.
33
+ - Disabling RAG leaves `/remember` and `/recall` healthy.
34
+
35
+ ## Planned video
36
+
37
+ Lead with “optional, not required”, show query then sync, and finish by disabling
38
+ the integration. Target 12 minutes.
39
+
40
+ ## Source material
41
+
42
+ - [Domain knowledge](../../domain-knowledge.md)
@@ -0,0 +1,42 @@
1
+ # L10 - Faster context exploration
2
+
3
+ **Status:** Brief
4
+ **Track:** Operator
5
+ **Planned time:** 30 minutes
6
+
7
+ ## Outcome
8
+
9
+ Use optional token-miser/FastContext exploration with compact citations and
10
+ understand caching, routing, and fallback behavior.
11
+
12
+ ## Planned lesson
13
+
14
+ - `context_explore` as a thin delegate rather than a second memory store.
15
+ - Repository root, query, citations, and cache keys.
16
+ - Cross-referencing citations with memory and the wiki.
17
+ - Optional pre-task invocation and its privacy implication.
18
+ - `route_check` health versus model-selection policy.
19
+ - Failure behavior when the optional subprocess is absent.
20
+
21
+ ## Hands-on lab
22
+
23
+ Explore a synthetic repository, verify every returned path and line range,
24
+ repeat the query to observe caching, modify the repository, and confirm cache
25
+ invalidation. Disable the binary and verify standalone Cairnkeep remains usable.
26
+
27
+ ## Acceptance criteria
28
+
29
+ - Every reported citation resolves to current repository content.
30
+ - Dirty-state or HEAD changes prevent stale cache reuse.
31
+ - The learner distinguishes exploration output from durable memory.
32
+ - An unavailable explorer fails locally without breaking memory operations.
33
+
34
+ ## Planned video
35
+
36
+ Compare a broad manual search with one cited exploration result. Target 10
37
+ minutes and keep routing as a separate optional chapter.
38
+
39
+ ## Source material
40
+
41
+ - [Operating guide](../../operating.md#exploration-cache-context_explore-on-by-default)
42
+ - [token-miser](https://github.com/cairnkeep/token-miser)
@@ -0,0 +1,42 @@
1
+ # L11 - Containers and isolation
2
+
3
+ **Status:** Brief
4
+ **Track:** Operator
5
+ **Planned time:** 40 minutes
6
+
7
+ ## Outcome
8
+
9
+ Select and operate local stdio, authenticated HTTP, persistent service, or
10
+ isolated workspace container modes while preserving data deliberately.
11
+
12
+ ## Planned lesson
13
+
14
+ - Minimal server image versus workspace base image.
15
+ - Rootless execution, read-only filesystems, volumes, and secret mounts.
16
+ - Loopback HTTP, TLS/rebinding boundaries, and trust domains.
17
+ - Podman Compose and Quadlet persistence.
18
+ - Sandbox-copy versus shared-host workspace modes.
19
+ - Backup and rollback before image replacement.
20
+
21
+ ## Hands-on lab
22
+
23
+ Start a loopback authenticated server with a disposable token file and volume,
24
+ probe health and memory persistence across container replacement, then remove
25
+ only the course resources.
26
+
27
+ ## Acceptance criteria
28
+
29
+ - No credential appears in the image, command line, or repository.
30
+ - The service binds only to the documented interface.
31
+ - Memory survives container replacement and disappears only when the course
32
+ volume is deliberately removed.
33
+ - The learner can enumerate every mount and network boundary.
34
+
35
+ ## Planned video
36
+
37
+ Use a diagram first, then replace a running container while retaining its
38
+ volume. Target 15 minutes.
39
+
40
+ ## Source material
41
+
42
+ - [Containers](../../containers.md)
@@ -0,0 +1,43 @@
1
+ # L12 - Managed overlays
2
+
3
+ **Status:** Brief
4
+ **Track:** Operator
5
+ **Planned time:** 45 minutes
6
+
7
+ ## Outcome
8
+
9
+ Design a private managed distribution that pins the public core, injects policy
10
+ through supported seams, delivers no secrets, and upgrades fleets safely.
11
+
12
+ ## Planned lesson
13
+
14
+ - Why an overlay is a distribution, not a fork of core behavior.
15
+ - Manifest, core pin, launcher seams, and project profile lock.
16
+ - Private registry and derived container image options.
17
+ - Machine-private configuration versus distributable defaults.
18
+ - Bootstrap, diagnostics, fleet status/update, release gates, and rollback.
19
+ - Compatibility guarantees for existing clients and stored memory.
20
+
21
+ ## Hands-on lab
22
+
23
+ Build a generic example overlay that adds a harmless pre-launch environment
24
+ marker, packages it to a local registry, bootstraps two disposable projects,
25
+ upgrades the pin, verifies fleet status, and rolls one project back.
26
+
27
+ ## Acceptance criteria
28
+
29
+ - The public core remains provider-neutral and unmodified.
30
+ - The package and image contain no credential or machine-private configuration.
31
+ - Effective storage and service destinations are explainable before launch.
32
+ - Upgrade and rollback preserve the disposable memory store.
33
+
34
+ ## Planned video
35
+
36
+ Show the same project under public core and a generic managed overlay, then
37
+ explain the small delta. Target 15 minutes; keep registry administration in the
38
+ written operator lab.
39
+
40
+ ## Source material
41
+
42
+ - [Building a private overlay](../../building-an-overlay.md)
43
+ - [Managed distributions](../../overlay-distributions.md)
@@ -0,0 +1,61 @@
1
+ # LXX - Lesson title
2
+
3
+ **Status:** Draft
4
+ **Track:** Quickstart | Practitioner | Operator
5
+ **Time:** NN minutes
6
+ **Tested with:** Cairnkeep X.Y.Z
7
+
8
+ ## Outcome
9
+
10
+ State one observable capability the learner will have at the end.
11
+
12
+ ## Why this matters
13
+
14
+ Describe the practical problem in no more than three paragraphs.
15
+
16
+ ## Prerequisites
17
+
18
+ - Required prior lesson.
19
+ - Required software and supported versions.
20
+ - Starting repository and state.
21
+
22
+ ## Mental model
23
+
24
+ Explain only the concepts required for this exercise.
25
+
26
+ ## Exercise
27
+
28
+ Number each action. Put commands in copyable code blocks and explain the effect
29
+ before the command.
30
+
31
+ ## Verify
32
+
33
+ Provide a command or observation that distinguishes complete, partial, and
34
+ failed setup.
35
+
36
+ ## Common failures
37
+
38
+ | Symptom | Cause | Recovery |
39
+ |---|---|---|
40
+ | Example | Explain without guessing | Exact safe recovery |
41
+
42
+ ## Privacy and trust boundary
43
+
44
+ State where data and credentials go, what leaves the machine, and what remains
45
+ derived rather than canonical.
46
+
47
+ ## Clean up
48
+
49
+ Provide reversible cleanup for every resource created by the lesson.
50
+
51
+ ## Optional challenge
52
+
53
+ Offer one bounded extension that is not required for the next lesson.
54
+
55
+ ## Recap
56
+
57
+ List three facts and link the next lesson.
58
+
59
+ ## Video
60
+
61
+ Link to `../video-scripts/LXX-title.md` only after the script is verified.
@@ -0,0 +1,50 @@
1
+ # LXX Video Script - Title
2
+
3
+ **Target duration:** NN minutes
4
+ **Companion lesson:** link
5
+
6
+ ## Recording setup
7
+
8
+ - Screen and terminal state.
9
+ - Files or browser tabs prepared in advance.
10
+ - Sensitive information that must be hidden.
11
+
12
+ ## 00:00 - Hook
13
+
14
+ **Say:** Presenter wording.
15
+
16
+ **Show:** Exact visual or terminal state.
17
+
18
+ ## 00:30 - Outcome
19
+
20
+ **Say:** What the learner will prove.
21
+
22
+ **Show:** Final result briefly, without teaching it yet.
23
+
24
+ ## 01:00 - Mental model
25
+
26
+ **Say:** Minimum required explanation.
27
+
28
+ **Show:** Diagram, slide, or command help.
29
+
30
+ ## 02:00 - Demonstration
31
+
32
+ For every step include:
33
+
34
+ - **Say:** intent before action;
35
+ - **Do:** command or interaction;
36
+ - **Point out:** the one important result.
37
+
38
+ ## NN:NN - Boundary and recovery
39
+
40
+ Explain storage/privacy implications and demonstrate one common recovery.
41
+
42
+ ## NN:NN - Recap
43
+
44
+ Restate the verified outcome and name the next lesson by ID.
45
+
46
+ ## Editing notes
47
+
48
+ - Chapters and on-screen captions.
49
+ - Sections safe to re-record independently.
50
+ - Links for the description.
@@ -0,0 +1,14 @@
1
+ # Operator Track
2
+
3
+ **Audience:** advanced users and platform maintainers
4
+ **Prerequisite:** Practitioner track
5
+ **Total time:** about 3 hours
6
+
7
+ 1. [L09 - Domain knowledge with RAG](../lessons/L09-domain-knowledge.md)
8
+ 2. [L10 - Faster context exploration](../lessons/L10-context-exploration.md)
9
+ 3. [L11 - Containers and isolation](../lessons/L11-containers.md)
10
+ 4. [L12 - Managed overlays](../lessons/L12-managed-overlays.md)
11
+
12
+ All modules are optional. The track is complete when the operator can add and
13
+ remove each integration without breaking the standalone local workflow and can
14
+ explain its storage, network, credential, and rollback boundaries.
@@ -0,0 +1,15 @@
1
+ # Practitioner Track
2
+
3
+ **Audience:** developers adopting Cairnkeep in daily work
4
+ **Prerequisite:** Quickstart track
5
+ **Total time:** about 3.5 hours
6
+
7
+ 1. [L04 - Memory fundamentals](../lessons/L04-memory-fundamentals.md)
8
+ 2. [L05 - The daily workflow](../lessons/L05-daily-workflow.md)
9
+ 3. [L06 - Repository review and security](../lessons/L06-repository-quality.md)
10
+ 4. [L07 - Privacy and storage](../lessons/L07-privacy-and-storage.md)
11
+ 5. [L08 - Multiple machines](../lessons/L08-multiple-machines.md)
12
+
13
+ The track is complete when the learner can decide what should become memory,
14
+ review derived knowledge, run governed repository checks, locate the store, and
15
+ perform a reversible backup or migration.
@@ -0,0 +1,14 @@
1
+ # Quickstart Track
2
+
3
+ **Audience:** developers evaluating Cairnkeep
4
+ **Total time:** about 75 minutes
5
+ **Infrastructure:** local machine; Podman is optional
6
+
7
+ 1. [L00 - Why Cairnkeep?](../lessons/L00-why-cairnkeep.md)
8
+ 2. [L01 - Try it safely](../lessons/L01-safe-trial.md)
9
+ 3. [L02 - Install the local workflow](../lessons/L02-installation.md)
10
+ 4. [L03 - Bootstrap the first project](../lessons/L03-first-project.md)
11
+
12
+ The track is complete when a learner can start a new harness session, retrieve
13
+ a previously accepted fact, and explain that default stdio memory is stored on
14
+ the local machine rather than a discovered remote service.