The Atlas
Donna's documentation, bound to its code
Journeys
First hour with Donna
Orientation: what Donna is, the one architectural idea everything follows from, and where to go next. Four short reads plus the docs map.
5 stops →The BFF trust boundary
How auth actually works, prose bound to the server code: the global guard, the httpOnly cookie session, and the authed client that refreshes on 401.
5 stops →How a feature ships here
The superpowers build loop, with a real shipped feature as evidence: brainstorm → spec → plan → TDD → review → merge-commit PR.
5 stops →The lq-ai contract & upstream loop
Donna implements no legal-AI logic — it consumes a contract. This is what happens when the contract isn't enough: file an ask, relay it, bump the pin.
5 stops →Getting Started
The front door for a new contributor. README is run-it-now (Docker + Compose, Node 22, the shifted ports, the admin fixture); CLAUDE.md is the engineering guide that explains the whole project model — the BFF, the cardinal rules, the superpowers build loop, and how to pick up the roadmap. Read README to stand it up, CLAUDE.md before your first change.
- CLAUDE.md — engineering guide for Donna Before your first change — the map of how to build in Donna well.
- Donna Your first stop: cloning the repo and standing the stack up.
Product
What Donna is and why, independent of the code. PRODUCT.md is the vision — a reading-first, transparency-first frontend that makes the LQ.AI legal-AI backend usable and controllable without implementing any legal-AI logic itself. The docs index points at everything else and reminds you the richest, most current guide lives in-app at /about.
- Donna — `docs/` index When you need to find which doc covers a topic.
- Donna — Product Overview First, to understand what Donna is and the scope it deliberately holds.
Architecture
How Donna is actually built, verified against the tree. ARCHITECTURE-ANALYSIS walks the BFF trust boundary, the streaming chat pipeline, the citation→doc- panel flow, the Automations state machine, and the real tech stack — with honest shipped/partial/deferred status. The repository-explorer README documents the sibling static docs site this Atlas complements.
- Donna — Architecture & Technology Analysis Before building on a subsystem — the canonical, code-verified structure.
- Donna — Repository Explorer To regenerate or understand the static repository-explorer site.
Contributing & Releases
How the project is run and what protects it. CONTRIBUTING is the short contributor path into CLAUDE.md plus the quality bar; BRANCHING explains the Altien-fork two-branch model (altien-main is dev, main mirrors upstream); CHANGELOG records the v0.1.0 first public release. Two rules recur everywhere: never edit vendor/lq-ai, always merge (never squash).
- Branching policy — Altien fork Before creating a branch in the Altien fork, or pulling upstream.
- Changelog To see exactly what shipped in the first public release.
- Contributing to Donna Before opening a PR — the workflow and quality gates in brief.
Decisions
The durable record of the one decision that changes what backend you are on: which lq-ai commit the vendored submodule is pinned to. lq-ai-pin.md is the running bump log — read its top entry to know the current pin and what each bump unblocked.
- Decision: lq-ai backend pin When bumping the pin, or to check whether a capability is already upstream.
Upstream Requests
The Donna→lq-ai contract negotiation. When the published API can't do what a feature needs, the gap is written here as a proposed contract (endpoint, field names, why) rather than patched into the submodule — then relayed upstream and pinned when it merges. A mix of resolved asks (the four P1 baseline asks, anonymization-in-receipts, per-message file attach) and open ones.
- LQ-AI ask — document-grade artifacts from autonomous runs (in ADDITION to findings) When rendering downloadable artifacts on an automation receipt.
- LQ-AI ask — expose an autonomous run's findings (work-product) for display When surfacing autonomous findings or memories on a run receipt.
- lq-ai ask: initialise the skill registry in the arq-worker (scheduled `skill_ref` runs always fail) When debugging scheduled skill-sourced runs that fail at startup.
- LQ_AI ask — expose `deletion_scheduled_at` on `GET /users/me` When building the Data & Privacy settings deletion banner.
- LQ_AI backend — asks for Donna (relay index) The starting point for the upstream workflow and the baseline-ask record.
- Upstream bug for lq-ai: streamed turns never persist `inference_routing_log` When shipping streaming chat, or debugging missing receipts/routing logs.
- Upstream contract gap for lq-ai: `/v1/models` returns undocumented alias fields, and the documented `routed_inference_tier` rule is stale When working on the model picker or regenerating API types.
- Upstream request (lq-ai): per-message file attachment on chat turns When building or reviewing per-message chat file attachment.
- Upstream request to lq-ai: expose `anonymization_applied` (and `message_id`) in the receipts inference event When implementing the anonymization transparency indicator in receipts.
- Upstream request — `PATCH /api/v1/users/me` to edit profile (display_name / email) When building the Settings profile editor.
- Upstream request — make `skill_inputs` reach the model for non-templated skills When building skill-input forms, or wondering why inputs don't reach the model.
- Upstream request: honor `ensemble_verification` on tabular columns When implementing per-column tabular verification and confidence.
- Upstream request: navigable provenance on tabular cell citations When wiring document-panel navigation from tabular grid cells.
- Upstream request: runtime provider API-key management (BYOK) When building in-app provider-key (BYOK) management in Settings.
Roadmap
What's deferred and why, with the context to pick it up. The future roadmap sorts remaining work into upstream-blocked vs buildable-now; the autonomous- workflows scope is the original (now-shipped) Automations analysis, preserved as the template for how a backend-driven segment gets scoped before code.
- Autonomous workflows — implementation scoping (Donna) As the model for scoping a new backend-driven segment before coding.
- Donna — future roadmap When deciding what to build next, or when an upstream change lands.
Research
The design research behind the reading-first interface: a full scope and a screen-by-screen UX reconstruction of MikeOSS, written to guide a frontend that adopts its document-forward visual language on top of LQ.AI's verified- citation, anonymization and tier-enforcement engine.
- Mike-LQ Frontend Scope When building the reskinned frontend, as the implementation contract.
- MikeOSS UX Breakdown — Reference for the Mike-LQ Frontend Build When implementing a visual surface, alongside the scope doc.
Design Archive
The superpowers design + execution archive: a spec and a task-by-task plan for every shipped phase, plus point-in-time session handoffs and notes. Indexed for full-text search and readable in full, but not curated or drift-checked — these are historical records that go stale by design. Read the closest analog before building something new.
- About Page (Slice 2a) Implementation Plan
- About page (slice 2a) — Design Spec
- About Refresh (docs-polish PR 1) Implementation Plan
- About-refresh fact-check audit — 2026-06-06
- Applied-Skills Confirmation Implementation Plan
- Automations Document-Grade Artifacts Implementation Plan
- Automations Slice D — Memory Review Implementation Plan
- Automations Slice E — Precedents + Proposals Implementation Plan
- Automations slices D + E — Review (memory · precedents · proposals) design
- Automations — document-grade run artifacts: the "Documents" block (design)
- Automations — editable matter on schedules + watches (design)
- Automations — Editable Matter on Schedules + Watches Implementation Plan
- Automations — Run Output Surfacing ("Results" Section) Implementation Plan
- Automations — run output surfacing: the "Results" section (design)
- Automations — Run-now + opt-in (Slice C)
- Automations — Run-now + Opt-in (Slice C) Implementation Plan
- Automations — Sessions + Receipt and Notifications (Slices A + B)
- Automations — Sessions + Receipt and Notifications (Slices A+B) Implementation Plan
- Automations — Slice F: Schedules (cron-triggered runs)
- Automations — Slice F: Schedules — Implementation Plan
- Automations — Slice G: Watches (KB-arrival-triggered runs)
- Automations — Slice G: Watches — Implementation Plan
- BYOK — Provider-Keys Card Implementation Plan
- BYOK — provider-keys management card on /settings/models (design)
- Chat file-attach (P1.2)
- Chat File-Attach Implementation Plan
- Composer skill-input form (P1.1)
- Composer Skill-Input Form Implementation Plan
- Docs-polish milestone — design
- Donna Foundation + Auth + Landing (P0+P1) Implementation Plan
- Donna P2a — Core Streaming Chat Design
- Donna P2a — Core Streaming Chat Implementation Plan
- Donna P2b — Verified Citation Pills (design)
- Donna P2c (Slice A) — Provenance: Receipts drawer + anonymization indicator (design)
- Donna P3 — Document panel + citation highlighting (design)
- Donna P3-1 — Document panel shell + PDF rendering Implementation Plan
- Donna P3-2 — Citation highlight + pill-interaction rework (design)
- Donna P3-2 — Citation highlight + pill-interaction rework Implementation Plan
- Donna P4-2 — Privilege & tier-floor (design)
- Donna P4-2 — Privilege & tier-floor: Implementation Plan
- Donna P4-3a — Matter docs / skills / context / KB linking (design)
- Donna P4-3a — Matter docs / skills / context / KB linking: Implementation Plan
- Donna P4-3b — KB creation + KB management (design)
- Donna P4-3b — KB creation + KB management: Implementation Plan
- Donna — Foundation + Auth + Assistant Landing (P0 + P1) Design
- Donna — Handoff for the next session
- Donna — Handoff for the next session (build: skill-inputs application)
- Donna — Handoff for the next session (continue P4: P4-2 privilege/tier, then P4-3 documents)
- Donna — Handoff for the next session (continue P4: P4-3b KB upload + KB creation)
- Donna — Handoff for the next session (start P2b)
- Donna — Handoff for the next session (start P2c Slice B: composer power)
- Donna — Handoff for the next session (start P3-3: multi-tab strip + non-PDF fallback)
- Donna — Handoff for the next session (start P3: Document panel + highlighting)
- Donna — Handoff for the next session (start P5: P5-1 skills authoring)
- Donna — Handoff: finish Playbooks Easy-Gen wizard (P5-2 slice C)
- Donna — P2c Slice B1: Model / inference-tier picker
- Donna — P2c Slice B2: Skill-attach (composer)
- Donna — P2c Slice B3: Enhance Prompt (composer)
- Donna — Playbooks apply + results (P5-2 slice B)
- Donna — Playbooks browse + detail (P5-2 slice A, read-only)
- Donna — Playbooks Easy-Gen wizard (P5-2 slice C)
- Donna — Playbooks Manual Authoring + Full Position Editor (P5-2 slice D) — design
- Donna — Saved Prompts (P5-3) — design
- Donna — Skill-inputs slice v1: applied-skills confirmation + upstream request
- Enhance-on-landing Implementation Plan
- Enhance-on-landing — Design Spec
- Follow-up: Document panel — auto-scroll to the highlighted citation on open
- Landing Skill-Attach Implementation Plan
- Model & Inference Settings Design
- Model & Inference Settings Implementation Plan
- Model-settings polish (slice 3) — Spec + Plan
- P2b — Verified Citation Pills Implementation Plan
- P2c Slice A — Provenance (Receipts drawer + anonymization indicator) Implementation Plan
- P2c-B1 Model / Tier Picker Implementation Plan
- P2c-B2 Skill-Attach Implementation Plan
- P2c-B3 Enhance-Prompt Implementation Plan
- P3-3 Multi-tab strip + non-PDF fallback card — Implementation Plan
- P3-3 — Multi-tab strip + non-PDF fallback card (design)
- P4-1 Matters core + chat scoping — Implementation Plan
- P4-1 — Matters core + chat scoping (design)
- P5-1 — Skills Authoring (design spec)
- P6 Tabular Reviews — Slice A Design
- P6 Tabular Reviews — Slice A Implementation Plan
- P6 Tabular Reviews — Slice B Design
- P6 Tabular Reviews — Slice C Design
- P7-1 — Settings shell + Account & Security Implementation Plan
- P7-1 — Settings shell + Account & Security — design spec
- P7-2 Data & privacy Implementation Plan
- P7-2 follow-up — conditional "Pending deletion" banner
- P7-2 — Data & privacy (Settings slice 2 of 4)
- P7-3 Preferences + Ambient Trust Pills Implementation Plan
- P7-3 — Preferences + ambient trust pills (Settings slice 3 of 4)
- P7-4 Trust Page Implementation Plan
- P7-4 — Trust (Settings slice 4 of 4 — completes P7)
- P8 — Consolidated Redline Document Pane Implementation Plan
- P8 — Consolidated redline document pane — design spec
- Pending Deletion Banner Implementation Plan
- Playbooks Apply + Results Implementation Plan
- Playbooks Browse + Detail Implementation Plan
- Playbooks Easy-Gen Wizard Implementation Plan
- Playbooks Manual Authoring + Full Position Editor Implementation Plan
- Powered by LQ-AI "How It Works" (slice 2b-i) Implementation Plan
- Powered by LQ-AI "How to Build" (slice 2b-ii) Implementation Plan
- Powered by LQ-AI: "How It Works" (slice 2b-i) — Design Spec
- Powered by LQ-AI: "How to Build" (slice 2b-ii) — Design Spec
- Profile Edit — Editable Display Name Implementation Plan
- Profile editing (P1.3) — editable display name
- Receipt spike — captured values (Task 0)
- Repo Presentation (docs-polish PR 2) Implementation Plan
- Saved Prompts Implementation Plan
- Skill-attach on the landing composer (design spec)
- Skills Authoring (P5-1) Implementation Plan
- Tabular ensemble verification (P6-C.1) Implementation Plan
- Tabular ensemble verification (P6-C.1) — Design Spec
- Tabular Reviews — Slice B Implementation Plan
- Tabular Reviews — Slice C Implementation Plan
- Unified Workflows IA Implementation Plan
- Unified Workflows IA — design spec
- Upstream lq-ai drift — schedule `max_cost_usd` missing from OpenAPI sketch