Repository navigation
Releases: CheswickDEV/cairn
Release list
v2.0.0 — Explicit invocation, current model generation, safe handoffs
Cairn 2.0 makes the handoff a deliberate step: Cairn acts only when you ask. Summarizer selection moves to the current model generation, and the briefs mark the user's words separately from the summarizer's inference.
Major version: the automatic triggers and the SessionStart/PreCompact hooks are gone, and English is now the default language. See Updating below.
✨ Highlights
🙋 Explicit invocation only
- Cairn runs only on an explicit request:
Cairn Handoff,Cairn resume,Cairn Helpor a status request. There are no more task, session, threshold or compaction triggers. - New installations have no SessionStart/PreCompact hooks. Reinstalling removes the old Cairn hooks and keeps foreign ones; the old hook executables are silent no-ops after the update.
- Passive status displays stay: the Claude Code statusline and the Codex ambient zone.
🧭 Current model generation, calibrated at effort high
- Summarizer pool: Claude Fable 5.1, Opus 5.5, Sonnet 5.5 and Haiku 5.5, plus GPT-6 Astra, GPT-6.1 Sol and GPT-6 Luna, each with a full profile (window, prices, long-context tiers). The previous generation is suspended: it still resolves with the right window, but is never selected.
- Calibrated picks: Claude Opus 5.5 on Claude hosts and GPT-6.1 Sol on Codex hosts, in every zone. The fidelity floor is now 0.84.
- Correct context windows for every current Anthropic and OpenAI model, including Bedrock and other prefixed ids.
📌 Grounded briefs
- A brief puts the decisions and constraints a person set in their own words, in double quotes. The summarizer's own inference is marked
(derived). - A measured value is evidence, not a target, and a deferred option is open, not discarded.
- Quote check in the optional modes (sampling, bridge, API): a quote the source does not hold word for word gets a closing Cairn check note and appears in
unverifiedQuotes. - Resume reads quotes as exact words from the conversation and
(derived)items as inference. An unquoted or derived constraint is checked against the code, or the user is asked, before it stops or redirects the next step.
🛡️ Safer handoffs
- A failed compaction in an optional mode fails the handoff and keeps the previous brief, instead of storing an error text or an empty brief.
- Resume treats ledger content as data, not instructions, and the current code wins over a stale brief.
- Transcript reads are restricted to
.jsonlfiles under~/.claude/projects/(resolved through..and symlinks). The dependency audit is clean.
🌐 English by default, German selectable
- Choose German with
cairn install --lang de, or per session withCAIRN_LANG=de. - Ledgers written before the switch keep working.
⬆️ Updating
git pull
npm install
node dist/server.js installThen restart Claude Code / Codex. The installer refreshes the skills and the marked Cairn block in AGENTS.md, removes the old Cairn hooks and keeps foreign ones. Your ledger stays. If you copied project instructions or skills by hand, replace those copies too (README, "Updating an existing installation").
Requires Node.js ≥ 22.
📏 Measured
- The selection rests on a golden set of 5 probes × 7 models, scored by the 6 other pool models at effort
high(two runs pooled, each reviewer's leniency corrected). Opus 5.5 reaches a fidelity of 0.9596 and GPT-6.1 Sol 0.9573. - The grounded-brief prompt, scored by reviewers that see the source:
- hallucination 0.968 against 0.928 for the old prompt, with recall and verbatim held;
- in an end-to-end handoff, neither Opus 5.5 nor GPT-6.1 Sol wrote the invented lines the old prompt had produced.
- Details and limits: ADR-0012 and ADR-0013 in
docs/adr/ADR-cairn.md.
⚠️ Known limits
- Zone boundaries are provisional.
- Codex rollout parsing depends on an internal, unversioned Codex format.
- Login detection is best-effort.
- Account mode (the default) has no source to check quotes against: the session model writes the brief.
Strict TypeScript · 897 tests · MIT License · full changes in the CHANGELOG · docs in the README
v1.4.0 — Continuity UX: schlankes Ledger, benannte Skills, volle Hilfe
Erstes öffentliches Release von Cairn — AI Context Continuity Engine.
✨ Highlights
🪙 Schlankes Ledger
Ein neuer Handoff löst den vorherigen Brief automatisch ab — decision_log view=current trägt nur den jüngsten Brief statt aller historischen. Der Resume-View bleibt schlank (Evidence nur in view=all).
💬 Benannte Trigger-Skills (Claude Code + Codex)
Cairn resume— Ledger re-injizieren und als Source of Truth weiterarbeiten, ohne das Repo neu zu lesenCairn Handoff— 7-Bucket-Brief aus dem Gespräch verfassen und persistierenCairn Help— Übersichtstabelle aller Trigger, MCP-Tools und Shell-Befehle
🛠️ Installer & Hilfe
Spielt alle Skills in beide Hosts aus; cairn help listet Installer + Shell-Befehle + Trigger + MCP-Tools; der Codex-AGENTS.md-Block wird beim Re-Install aktualisiert.
🧱 Grundlage
- MCP-stdio-Kern mit vier Tools (
host_status,context_status,handoff,decision_log) + Append-only SQLite-Ledger - Account Mode als Default — kein Egress, keine API-Keys, kein serverseitiger Modell-Call
- Claude-Code-Statusline & Hooks · Codex Ambient Zone (Rollout-Reader)
- Strict TypeScript · 195 Tests grün
MIT-Lizenz · volle Doku im README.