All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
0.5.1 (2026-06-03)
Bug Fixes
- inject the signed-in operator as host_user_id, not a hardcoded id (dce852a)
- inject the signed-in operator as host_user_id, not a hardcoded id (72891f5)
0.5.0 (2026-06-03)
Features
- automation: swappable draft-generator seam + Anthropic adapter (6632b4e)
- automation: swappable draft-generator seam + Anthropic adapter (ea9bf96)
0.4.0 (2026-06-03)
Features
- ui: add Cockpit Home + persistent nav shell (IA orientation layer) (fa24f9d)
- ui: design-system + IA elevation for the operator UI (ebed003)
- ui: finish Conversation Workspace rail on the design system (Pass 6) (d680ca4)
- ui: rebuild Audit Log on the design system (Pass 3, screen 2) (517da98)
- ui: rebuild Conversation Workspace on the design system (Pass 3) (8b4c362)
- ui: rebuild Settings on the design system (Pass 3, screen 1) (71ad202)
- ui: rebuild the Knowledge Base cluster on the design system (Pass 3) (f543de4)
- ui: rebuild the operator Inbox on the design system (Pass 3) (e40dc55)
- ui: ship cairnloop.css design system + shared component library (0c96516)
Bug Fixes
- ui: green the integration gate — restore bare brand tokens (eb73bb2)
0.3.0 (2026-05-30)
Features
- add mix cairnloop.doctor wiring diagnostic (24e71f9)
- installer: print router/auditor/doctor next steps after install (bcacf69)
- mix cairnloop.doctor + validated router opts + installer next-steps (Tier 2 DX) (7f559c2)
- router: validated, self-documenting macro options + live_session name (5524e82)
0.2.3 (2026-05-30)
Bug Fixes
- router: cairnloop_dashboard/2 compile break + verify-before-publish hardening (21699d5)
- router: cairnloop_dashboard/2 failed to compile for adopters (dc0784f)
0.2.2 (2026-05-30)
Bug Fixes
- governance: preserve approver as decided_by through execute co-commit (607eaa5)
- integration: green the DB-backed integration CI suite (9d4fedd)
- web: humanize audit-log action-filter options — no raw atom leak (a6eb451)
0.2.1 (2026-05-30)
Bug Fixes
- 0.2.1: repair AUDIT-01 audit log + OPS endpoints; adopt release-please (bb74b1a)
- 0.2.1: repair AUDIT-01 audit log + OPS health/metrics mounting (62b7989)
Unreleased
0.2.0 - 2026-05-29
Added
- Security domain closure:
Cairnloop.KnowledgeAutomationstrictly rejects spoofed, already-published, and caller-supplied-grounding inputs — suggestions reuse only non-published targets, gap-candidate grounding derives exclusively from hydrated evidence, and stale-gate inputs load only from repo-backedGapEventrows (Phase 33, SEC-01/02/03) - Operator Settings Surface:
SettingsLivegains real MCP token management (CRUD, masking, validation), Notifier and retrieval health indicators, and a persisted dark-mode toggle (Phase 34, SET-01/02/03/04) - Audit & operations support: operator Audit Log view and governed-actions rail pagination (Phase 35, AUDIT-01, TECH-01)
- HTTP
/healthand/metricsendpoints viaCairnloop.Web.HealthPlugandCairnloop.Web.MetricsPlug(Phase 35, OPS-01, OPS-02) - Documentation:
guides/05-mcp-clients.md,guides/06-extending.md, rootCONTRIBUTING.md, anddocs/architecture.md(Phase 36, DOC-01/02/03/04) - Realistic demo fixtures: 12–16 seeded conversations spanning all JTBD states, 5 KB articles with revisions, 3 GapCandidates, 1 ArticleSuggestion ready for review (Phase 27)
- Customer
/chatwidget wired to real ingress viaCairnloop.Channels.WidgetSocket+WidgetChannel; two-tab demo (Phase 28) - Brand-token CSS extraction:
prompts/cairnloop.css:rootblock in example app;var(--cl-token)without hex fallback; negative-grep gate (Phase 29, D-10 closure) - KB editorial polish: shared nav shell across 4 KB routes, "Create new article" affordance, gap-evidence sidebar in Editor, calm copy on SuggestionReview handoff (Phase 30)
- T-10-09 and T-10-11 closure:
EditorHandoffdouble-layer gate (DBmanual_edit_opened_attimestamp + signed token assertion) prevents preloadingproposed_markdownwithout deliberate handoff (Phase 30) - Golden-path JTBD smoke test in CI:
golden_path_test.exs(E2E-01) +widget_channel_test.exs(E2E-02) undermix test.integration(Phase 31) - README rewritten as an Igniter-first front door; four ExDoc guides (quickstart, JTBD walkthrough, host integration, troubleshooting) published to HexDocs (Phase 32)
0.1.0 - 2026-05-25
Added
- Host-owned hybrid retrieval corpus (pgvector + PG full-text) via
Cairnloop.Retrieval - Operator search with trust, recency, and citation cues
- Citation-backed grounded drafting with clarification and escalation states
- Durable gap-event storage and ranked KB gaps dashboard
- AI-prepared KB draft/revision suggestions with stale-revision gating and citation validation
- Review-gated KB update workflow: approve, reject, defer, publish — with append-only task event history
- In-thread quick-fix KB maintenance launched from live support conversations
- Host-owned governed-action contract: compile-time
use Cairnloop.Toolwith risk tiers and deny-by-defaultauthorize/2 - Durable
ToolProposal+ToolActionEventrecords with Stripe-style idempotency - Approval state machine with Oban-backed resume, expiry, and deferral paths
- Three-layer at-most-once execution: Oban unique + terminal guard + SHA-256 per-attempt run key
- Bounded
[:cairnloop, :retrieval, …]andCairnloop.Governance.Telemetryevent namespaces - Read-only MCP seam (
tools/list,initialize) via optionalCairnloop.Web.MCP.RouterPlug