Cairn Documentation

Version History

Release notes and feature updates. Cairn follows semantic versioning: MAJOR.MINOR.PATCH.

1.6.0-betaJune 2026

Responsive Pipeline — AI runs that stream live and stop on demand

AI generations now stream in as the model writes them, so you can tell an actively-working run from one still waiting — and a Cancel button stops any run mid-flight, halting the request instead of letting it finish and be thrown away.

Live streaming
  • Specialist responses stream in as they generate — the run indicator shows a live “receiving response” state with a growing character count, not a static spinner.
  • Works on both paths — your own API key (direct) and the managed service — with usage metered accurately even if you navigate away mid-stream.
Cancel any run
  • A Cancel button ends a run in flight and actually aborts the underlying request — no wasted tokens, and the app returns cleanly to idle rather than surfacing an error.
1.5.0-betaMay 2026

Native Change Intelligence — your model's history, legible in place

The History tool is now a two-pane workspace: a filterable timeline of every change drives a five-tab detail view. This is model history — not a chat log, not a code diff. Changes read as engineering edits, and you can roll the model back to any earlier point without losing the record of how you got there.

Timeline & detail
  • A newest-first timeline filters by All / AI / User / Partial / Undone, with a specialist badge, summary, and an applied-versus-proposed count on every entry.
  • Selecting an entry opens five tabs — Summary, Diff, Files, Impact, Provenance — each a view of data Cairn already stores. Nothing new is persisted.
Reads like engineering, not text
  • Diffs are semantic — requirement priority must → should, interface gained signal CAN_RX — field-level, not red/green line noise.
  • Provenance is thin-but-true: who or what proposed a change, what was applied versus dropped, and why. Manual edits show no fabricated model, tokens, or cost.
Restore without erasing
  • Restore to this point reverses every later change in one pass and records the restore itself — nothing is erased, so the restore is undoable too.
  • A preview shows exactly what will be removed, reverted, or restored — and what is never touched (asset blobs, usage ledger, project name, prior cloud snapshots) — before you confirm.
1.4.0-betaMay 2026

Artifact Review — see exactly what leaves or enters your workspace

Every full-project export and every .cairn.zip import from the sidebar now opens a review modal first. You see what is about to leave — or land in — your workspace, and confirm it explicitly. No silent reads, no silent writes.

Export review
  • Before a download fires, review a scorecard, the full file tree with inline previews, the asset list with per-file inclusion status, the applied change history, and any warnings.
  • Toggle between the structured backup and a flat single-file backup without losing your place.
Import review
  • Imports preview the incoming project before anything is written — tabs for the file tree, assets, change history, and warnings.
  • Choose to create a new project or replace an existing one. Replacing requires typing the target project's name to confirm.
  • Multi-project backups show a per-project list up front and a succeeded / skipped / failed summary after import.
Safe by default
  • Importing a project that shares an ID with an existing one no longer overwrites it — IDs are detected and rewritten so both projects survive.
  • Replacing a project happens in a single transaction: if any part fails, nothing changes.
  • Unrecognized or corrupt archives explain what was checked and why the import is blocked, instead of failing silently.
1.3.0-betaMay 2026

The Depth Release — cross-lens navigation, validator warnings, and lens deepening

The Depth Release came out of a systematic audit of all 12 lenses, and acted on what that audit surfaced: the lenses learned to link to one another, several gained genuinely new capability, the AI pipeline got a validator pass that flags structural mistakes in Change Review, and a documentation sweep brought every described capability back in line with what the product actually does.

Cross-lens navigation
  • The Brief and Narrative lenses now cross-link from the Inspector — when a node has both, each offers a one-click jump to the other.
  • Architecture and Dendritic link bidirectionally: jump from a node's children to its pruned design alternatives and back.
  • The Completeness lens gained a fourth axis — Verification — alongside Entities, Processes, and Relationships.
  • When Completeness flags a gap, the weakest axis now links straight to the lens that owns it — "this node is thin" becomes one click to the fix.
New capabilities
  • Dendritic lens: filter alternatives by decision type (physics, engineering, mission, and so on). The filter bar appears whenever a subtree carries more than one type.
  • Narrative lens: export the systemigram diagram as a PNG image.
  • Verification lens: toggle coverage between this node alone and the full subtree, so tree-level gaps are visible at a glance.
  • Operational lens: a dedicated AI specialist now generates use cases — focused operational scenarios with actors, preconditions, postconditions, and ordered steps — in place of the general-purpose fallback.
AI quality — validator warnings
  • AI-generated ChangeSets now surface warnings in Change Review when they violate a specialist's declared invariants — state-count caps, naming conventions, reachability, create limits, and similar structural rules. The warnings are advisory: they never block an apply, they just make it visible when the AI strays from its own rules.
  • Invariant checks run for seven specialists — Architect, Requirements, Behavior, Verification, Brief, Dendritic, and the Operational specialist introduced in this release.
Bug fixes
  • Three lens empty-state buttons that looked clickable but weren't — in the Architecture, Behavior, and Verification lenses — now actually open the command palette.
  • Causality analysis no longer evaporates when you switch away from the lens and back.
  • The Verification and Operational lenses refresh immediately after an AI ChangeSet is applied, instead of needing a manual nudge.
  • Fixed a routing bug where the word "narrative" sent requests to the Brief specialist instead of the Narrative one.
  • Fixed 3D mesh property wiring in the Visuals lens.
Housekeeping
  • Removed roughly 20 dead fields the type definitions still carried but nothing read.
  • Swept the documentation across all 12 lenses so every capability the docs describe matches what the product actually does.
  • All 12 lenses are now covered in the in-app help system.
1.2.2-betaMay 2026

Polish bundle — confirm dialogs, export labels, Inspector edits, pipeline tests

A bundle of accumulated polish and hardening. The remaining twowindow.confirm dialogs are gone, asset delete now warns about referrers instead of asking twice, and the two confusingly-similar Export buttons finally tell you which one keeps your history. State and Transition Inspectors finish their click-to-edit story (type, durations, guard, action, timing). Under the hood, the AI pipeline gets its first 12 tests, the asset URL cache moves to its own module so storage auto-invalidates on overwrite, and the MVP-fallback router stage no longer looks like missing data in the trace.

Confirm dialogs
  • The "Leave the interview?" prompt during inception is now a Cairn-styled modal instead of a native browser dialog. Same goes for the asset delete — one click opens a danger-styled confirm that surfaces how many visuals, mesh scripts, or simulation scripts reference the asset, so you know what you're about to leave dangling.
  • Removed dead onboarding code (an old WelcomeScreen surface that was no longer wired up).
Export labels
  • Settings → Export is now labeled "Model Export (no history or assets)" with a pointer to the sidebar's Export Full Projectfor lossless backups. The sidebar button is renamed to make the.cairn.zip distinction visible (with a hover tooltip spelling out what's included). No payload changes — this is purely about making the choice obvious.
Pipeline tests
  • First tests for the AI orchestrator dispatch (every specialist route + the default-fallback contract), the user-message envelope shape that prompt caching depends on, and the context-serialization tag order. 384 / 384 vitest passes (was 372).
Inspector polish
  • State and Transition Inspectors are now fully click-to-edit. State type, typicalDuration, anddurationUnit; Transition guard,action, and the full timing block (typicalDuration / durationUnit /minDuration / maxDuration /dutyCycle) all open inline on click. Closes the promise the Behavior right-click Edit item had been making.
Under the hood
  • Asset URL cache extracted into its own module so the storage primitive auto-invalidates on overwrite. Removes a class of stale-image bugs from future code paths.
  • When the AI router falls back to the in-code MVP plan, the pipeline trace now labels that stagemvp-fallback instead of leaving the model field blank with 0 / 0 tokens — small clarity win during dogfood metering checks.
1.2.1-betaMay 2026

AI provenance, History polish & palette cleanup

A focused follow-up to 1.2.0-beta's cherry-pick. Three findings from the post-release dogfood landed together: AI rationale that used to vanish on Apply now persists on every changeset; History values that looked truncated-to-data-loss now hover for the full text (or click to expand for very long ones); and the command palette no longer hangs in a stale state after Apply. Plus the same tooltip pattern lands in cascade-confirm dialogs and the Dendritic lens.

AI reasoning + review notes survive Apply
  • Every applied AI changeset now carries the reasoning and the typed issue list (errors / review / auto-fixed / info) you saw in the Change Review modal at apply time. Three weeks later you can still ask the History panel "why did the AI add REQ-029?" and get an answer.
  • History detail panel renders AI reasoning(collapsed-by-default italic block) and AI review notes (collapsed-by-default four-bucket list) whenever the data is present. User-authored changesets render neither — there's nothing to surface.
  • Cloud sync threads the same data through to a new ai_review column on the changesets table, so audit trail stays consistent across local and cloud surfaces.
Truncated values are honest about what's hidden
  • Long create-field and update-diff values in the History detail panel render with the usual AND now surface their full content via a hover tooltip. Non-truncated values get no tooltip — visible text isn't echoed.
  • Click-to-expand for very long content. When the full text exceeds the readable range of a native browser tooltip (~280 characters), the value swaps from hover to a click-to-expand button. Click expands inline with paragraph structure preserved; click again to collapse. Keyboard accessible via the focusable button.
  • The same hover-for-full-text affordance lands on long entity names in the cascade-confirm and cherry-pick-confirm dialogs, and on Dendritic lens node descriptions.
Command palette stops ghosting after Apply
  • Apply (in any of its three forms — full accept, Apply Valid Only, cherry-pick partial) now closes the command palette and resets pipeline state. Reopening the palette no longer shows stale progress from the just-applied run.
  • The What's next? follow-up flow is unchanged — it still closes and reopens the palette with your queued prompt after a brief delay.
Coming next
  • Filter History by AI flags — "show me only changesets where the AI flagged something". The data is now persisted; the filter UI is on the backlog.
  • Settings export / sidebar export alignment. Two exports with the same surface name produce different shapes today — clarifying that lands naturally in the .cairn.zip v2 directory-tree refactor.
1.2.0-betaMay 2026

Cherry-pick in the Change Review modal

Until now, the Change Review modal was all-or-nothing — accept the full proposal, force-apply with errors, or reject. Beta users kept asking for one in-between path: "most of this is right, but drop these two ops." This release ships that path. Each operation gets its own checkbox; the modal handles the integrity mechanics so deselecting one op doesn't leave another with a dangling reference.

Per-operation cherry-pick
  • Each operation in the Change Review modal carries a checkbox. The footer button reads "Apply N of M" when you've selected a subset; reverts to "Apply Changes" when everything is checked or nothing is. Disabled when nothing is selected.
  • Errors are unchecked by default. The footer button stays green as long as no errors remain in your selection.
  • Per-section bulk-select chip in each section header: Select all / Deselect all, with a mixed state when only some ops in the section are selected. Right-pane toolbar carries a global cycle: All → None → Errors off → All. Keyboard s advances the cycle.
  • Park-and-reopen preserves your selection. Click the × on the modal to set a review aside; reopen via the indicator chip and your checkboxes are exactly where you left them.
Cascade-aware confirmation
  • When deselecting an operation would invalidate other ops in the same ChangeSet (e.g. you uncheck a new node that another op references), the modal computes the cascade and opens a confirmation dialog listing each auto-dropped op with its specific reason: "Depends on NOD-X, which you unchecked" or "Updates REQ-007, whose create you unchecked."
  • Cancel preserves your selection; confirm applies the trimmed ChangeSet with full audit metadata. Edge case: if the cascade would auto-drop everything you selected, the modal toasts and cancels rather than silently writing an empty change to history.
Discard prompt before fresh runs
  • Starting a new pipeline while a parked review carries unreviewed selections fires a discard prompt: "Your in-progress cherry-pick selections will be lost." Cancel keeps the review intact; confirm proceeds with the new run. The prompt only fires when you've actually modified the selection — accepting the default "all selected" layout doesn't prompt.
History entries reflect partial accepts
  • Timeline cards for partial-accept ChangeSets show a secondary line: "Applied 7 of 10 operations (2 auto-dropped)." Hover the auto-dropped suffix to see the per-op rationale that fired during cascade.
  • Cloud sync and analytics record the same metadata so the audit trail stays consistent across both paths.
Apply Valid Only — now consistent with cherry-pick
  • The Force Apply overlay's Apply Valid Only shortcut now records the same partial-accept metadata that cherry-pick does. History rendering, cloud sync, and analytics all see a uniform shape across the two paths.
  • The shortcut still applies all non-error ops in one click — useful when you trust the validator's error verdict and don't want to manually pick. Cherry-pick is the surgical option from the main modal; Apply Valid Only stays as the fast lane.
Coming next
  • Live cascade revalidation — surface auto-drop status inline as you toggle checkboxes, instead of waiting until apply time. Phase B of the cherry-pick rollout; deferred to a future release for dogfood feedback.
  • Pipeline cancellation from the palette — still pending the design pass on partial-work disposition + Anthropic billing.
1.1.2-betaMay 2026

Change Review Severity Refactor

A focused fix to a UX bug dogfooding flagged: warnings-only changesets used to turn the Apply button amber and read "Apply with Warnings", even when every warning was a benign auto-fixed note. Beta users were hesitating on changesets that were entirely safe. This release introduces a typed severity model so the modal can tell real errors apart from FYI notes — and the Apply button stops crying wolf.

Apply button stops going amber on warnings-only changesets
  • Warnings-only changesets keep the green "Apply Changes" button. The amber "Apply with Warnings" middle state is gone — only real errors flip the button to red Force Apply, which keeps its existing confirmation overlay.
  • Force Apply behavior is unchanged. The same overlay lists each error verbatim and offers Apply Despite Errors / Apply Valid Only / Cancel.
Four-bucket Change Review left pane
  • The single "Warnings" section is replaced by up to four severity-keyed buckets: Errors, Warnings, Auto-fixed, Info. Empty buckets render nothing.
  • Errors and Warnings open by default — they need attention. Auto-fixed and Info default collapsed — they're trust signals and FYI noise, not attention grabs. Click the section head to toggle, or use the "Expand all" toolbar button.
  • Auto-fixed bucket shows what the validator quietly fixed for you (auto-renamed duplicate IDs, stamped missing timestamps, set default sort order). Trust signal — visually unobtrusive.
  • Info bucket surfaces low-priority notes that previously got dropped on the floor. Now visible if you want to see them, hidden by default.
Compound action partial-failure handling
  • When a compound (multi-specialist) action has a subtask fail mid-run, the failure now surfaces as an Error rather than a Warning. The Apply button reads Force Apply — you have to consciously acknowledge the partial run rather than slide past it on the amber path. Follow-up retry from a clearer prompt is usually the right move.
Coming next
  • Pick & choose individual operation acceptance in the Change Review modal — the typed severity model laid in this release is what cherry-pick uses to derive its "default = errors unchecked" rule cleanly.
  • Pipeline cancellation from the palette — still pending the design pass on partial-work disposition + Anthropic billing.
1.1.1-betaApril 2026

Lens & UI Polish

A focused polish pass on three surfaces dogfooding flagged as friction points after the Editability Release: the Behavior lens, the Change Review modal, and the command palette. Nothing here changes the underlying data model or the AI pipeline contract — only how you interact with them.

Behavior lens right-click parity
  • State nodes, the Behavior canvas, and transition table rows now expose the same right-click menus the Architecture lens has had since v1.1.0-beta. State menu: Edit · Add transition from/to here · Delete (with cascade preview) · Delete with AI review. Final states omit "Add transition from here". Canvas: Add state. Transition row: Edit · Delete · Delete with AI review.
  • Keyboard Delete / Backspace on a selected state triggers the same cascade-aware delete. Parity with Architecture canvas.
  • AI-driven menu items disable while a behavior simulation is active — same disable pattern Architecture uses while a pipeline is in flight. Manual items (Edit, Delete) stay enabled.
Change Review modal redesign
  • Two-pane layout: warnings + AI reasoning on the left, operations + What's Next on the right. Both panes scroll independently. Below an 880px viewport the panes collapse to a single column.
  • Per-section "Expand all descriptions" chip in section headers, plus per-row click-to-expand on long descriptions (default two-line clamp). Items with attached warnings render expanded automatically.
  • Item-ID references inside warnings are now clickable. Click jumps the right pane to that operation, opens its section if collapsed, expands its description, and briefly flashes the row.
  • Bottom scroll-progress fill tracks position in the right pane. Keyboard e cycles all right-pane sections expanded ↔ collapsed.
Command palette polish
  • Auto-growing textarea — long prefilled prompts from "What's Next?" pills are fully readable now (capped at ~6 lines, scrolls beyond). The single-line input was hiding everything past the first ~80 characters.
  • "Prefilled from review modal" caption beneath the input when the prompt was injected from a follow-up pill, so users know where the text came from and can edit before submitting.
  • Pipeline progress shows a specialist-specific duration hint ("typically 30–60s for decomposition work") so the user has a sense of "still working, not stuck."
  • Clarification questions render as horizontal chip buttons instead of native radio/checkbox controls, with a banner explaining what's happening, the original prompt visible above the questions, and a "{n} of {m} answered" progress footer.
  • Preserved: closing the palette while a pipeline is running keeps the run alive. Re-open via the status indicator chip and you're back where you left off.
Coming next
  • State and Transition Inspector field editing — today the state name and transition trigger are the only click-to-edit fields; description, type, timing annotations, guard, and action become editable in the next release.
  • Pipeline cancellation — there's no path today to abort an in-flight AI call from the palette. The disposition of partial work and Anthropic billing implications need a small design pass before this lands.
  • Manual creation forms for transitions and states — the Behavior lens right-click items currently route through ⌘K rather than opening inline forms (Architecture got the inline form for Connect; Behavior's equivalents are next).
  • "Pick & choose" individual operation acceptance in the Change Review modal — the two-pane layout accommodates it; the selection mechanic ships separately.
1.1.0-betaApril 2026

Editability Release

1.0.0-beta required ⌘K and the AI to change the model. 1.1.0-beta makes every artifact in the model directly editable, and gives every action a deterministic right-click or Inspector path alongside the existing ⌘K command palette.

Direct editing
  • Click-to-edit on every Inspector field — node names, descriptions, requirement priorities, interface protocols, state timing, signal metadata, and so on. Edits commit immediately.
  • Verification records gained a short Title field, populated by AI on creation and editable in the Inspector.
Right-click menus
  • Tree right-click menu: Add child, Rename, Decompose with AI, Delete (with cascade preview), Delete with AI review.
  • Architecture canvas right-click menu: Add child, Decompose with AI, Connect to… (manual), Connect with AI, Delete (with cascade preview), Delete with AI review.
Cascade previews
  • Every delete that has downstream dependents — node, requirement, interface, state, transition, and verification — now shows what else will go before you confirm. Trace links, child nodes, dependent verifications, and orphaned signals all surface in the preview.
  • Signals use a lighter two-click arm-then-confirm pattern instead, since they have no cross-entity dependents.
Interfaces and signals
  • Manual interface creation via canvas right-click → Connect to… (manual), or via the parent node's Inspector → + New Interface.
  • Signals are inline-editable inside an interface: a collapsed row per signal, click the chevron to expand the full editing grid (data type, direction, rate, simulation metadata).
  • Two-click Remove on signals — first click arms, second click within three seconds removes; protects against stray clicks.
AI pipeline visibility
  • Pipeline status chip in the toolbar shows running / error / clarification-needed / ready states.
  • When the Router's confidence is low, it now emits structured clarification questions (text, single-choice, or multi-choice) directly in the palette. Answering re-runs the same prompt with your answers appended.
Coming next
  • Refactor the .cairn.zip export so it round-trips cleanly through GitHub (file structure, JSON formatting, asset directory layout).
  • Manual creation forms for states and transitions — Requirements and Verification lenses already have inline + Add buttons; the Behavior lens does not yet.
  • Right-click parity on the Behavior lens — states and transitions don't yet expose a context menu on the canvas.
  • Curated unit dropdowns on signal metadata (currently free-text), cross-referenced against the project's unit catalog.
1.0.0-betaApril 2026

Initial Release

Cairn's first public release. The items below represent the primary feature set at launch — see the Roadmap section for what's coming next.

Features
  • 12 analytical lenses: Overview, Brief, Visuals, Requirements, Architecture, Causality, Completeness, Narrative, Dendritic, Behavior, Verification, Operational
  • Hierarchical system modeling with five node types: system, subsystem, assembly, part, external
  • Requirements management with six types: functional, performance, interface, safety, environmental, constraint
  • Interface and signal definitions with protocol and rate metadata
  • State machine editor with states, transitions, guards, actions, and timing annotations
  • Engineering properties catalog with budget rollups (mass, power, cost) and TRL tracking
  • AI property suggestions with per-item accept/dismiss workflow
  • Verification records with test, analysis, demonstration, and inspection methods
  • Traceability tool with satisfies, verifies, derives, depends_on, and implements link types
  • AI decomposition and generation via ⌘K command palette
  • 17 AI specialists routed through a 5-stage pipeline (Router → Context → Specialist → Validator → Review)
  • ChangeSet governance: AI proposes, user reviews operation-by-operation before applying
  • 2D concept renders via Gemini image generation with 6 style kits
  • 3D mesh generation via AI-authored Three.js code with MeshBuilder
  • Monte Carlo simulation via in-browser Pyodide (Python) with AI-generated scripts
  • Export: JSON, Markdown, CSV, full ZIP with assets
  • AI-powered export: PPTX presentations and DOCX reports via Claude Skills API
  • Local-first architecture: all model data stored in browser via IndexedDB/Dexie
  • Quality linter with 16+ automated rules across nodes, requirements, interfaces, and traces
  • Supabase authentication with magic link sign-in
Methodology
  • Four Questions framework for systematic model interrogation (Causality, Completeness, Narrative, Dendritic)
  • Harney's Pyramid of Causality for technology dependency and maturity analysis
  • Dendritic decision tracking with pruned alternatives as first-class model entities
  • Systemigram narrative visualization with mainstay identification (Boardman/McDermott)
  • Three-axis completeness scoring based on Pace/Loper simulation fidelity dimensions
Roadmap
  • Cloud sync for multi-device workflows
  • Real-time collaboration
  • GitHub export with ChangeSet-to-commit mapping
  • AI-assisted trade study tool with Pugh/AHP methodology