Every functionality the product carries, grouped by what you do, each line with its real status — checked against the code, generated from the source, never the brochure. You make every call; nothing acts on its own.
We're pre-launch and we don't hide it. Roadmap items aren't listed here as if they were done — book a demo and you'll see exactly what runs.
SRA Code + LPP framing, solicitor's voice in 30s
N1, N9A, N225, N228, N244, N265, witness statement, Precedent H, Part 36 etc. — all parameterised
Every UK statute reference in a draft is verified against legislation.gov.uk before bytes leave the browser. If unverified citations found: amber warning banner with the offending list + "Cancel / Export anyway" buttons. Solicitor sees red-flag before filing; "Export anyway" is logged in the AI-disclosure audit trail (T1.11). Pure pass — green confirmation banner with verification count.
On-demand jurisdiction-native client matter-update letter/email — summarises key developments since last communication, outstanding items, next steps, billing-estimate update; tone matches solicitor's configured voice; client data stays inside the firm boundary (reconciler-gated + egress-gated). **Nobody else has this.**
Live MLR check at intake against UK consolidated list (HM Treasury OFSI)
One-click deep-link to `sra.org.uk/consumers/register/` for solicitor-status verification at intake (verify regulated, not struck off, no practising-cert conditions). SRA does NOT expose a public JSON API by design — the on-screen register IS the canonical source for the verification fields. Skill `lookup.sra-register` builds the URL with the firm/solicitor query pre-filled, audits the lookup, surfaces structured verification fields. Same shape as INT-08 (EKW), INT-06 (e-Doręczenia), INT-09 (QES) — manual-lookup helpers for sources without public APIs.
Search / profile / officers via same-origin proxy at `/api/registry/companies-house/`
Entity-suffix-normalised scan against firm's existing matters at intake gate
Paste raw client email/brief → 1-shot Claude extract → parties + jurisdiction + claim type + key dates
6-bucket urgency tiles + closest-3-to-expiry + drill-down. SRA Code 3.5 + Limitation Act 1980 + KC art. 117/442¹ anchored. Live event-driven — LimitationDashboardPanel listens for MATTER_FACTS_EDITED + MATTER_OPENED + MATTER_CREATED, debounces bursts in a 1s window, re-runs `scanWorkspaceLimitations`. Manual "Refresh" button surfaced as backup for the "I just edited and want it now" case.
Customer-facing 7-named-agent panel (OpponentScout / PrivilegeGuardian / IntakeAgent / CasePreparer / Scrutineer / ComplianceOfficer / agentRegistry). Buyer sees 7 named agents, not 1 chatbot.
Tags privileged docs at upload; static checklist gate before AI invocation
Gates the matter on first intake — extracts parties + jurisdiction + claim type + key dates from raw paste; runs conflict-check + sanctions-check + counterparty registry lookup before matter is created
Assembles draft pleadings + supporting docs from MATTER_FACTS + evidence index + workflow library; single-pass Claude call today, becomes case-graph-grounded post-P1
Pre-ship review of every draft before export — surface-level checks (form validity, party-name consistency, statute presence). Becomes the 13-lens CaseScrutineer at Q3 2026 (CI-09).
Reads the draft like opposing counsel would — runs attack-vector lenses against the freshly-generated draft markdown body specifically; returns prioritised "what they'll hit on" list sorted by severity. Distinct from CI-08 (matter-level Scrutineer) which scrutinises the WHOLE matter; CI-09 scrutinises the DRAFT.
Per-AI-decision append-only chain-signed record at `.brain/REASONING_LEDGER.jsonl`, one JSON line per AI call (timestamp + skill + agent + provider + model + tokens + cost-usd + input-fingerprint + output-excerpt + solicitor-action + chain-link SHA-256). Distinct from CM-07 audit hash chain (which signs at AUDIT.md row level; CI-10 signs at AI-decision level with richer per-call metadata). Verifier walks the chain + flags first-broken row. Solicitor-facing panel in Audit Trail view shows row count + chain-verified status + 4 buttons (Export PDF / MD / CSV / Re-verify). System Check carries `reasoning-chain` probe alongside `audit-chain`.
Composite per-matter risk score (0-10) aggregated from limitation clock + privilege-egress events + Scrutineer findings + red-flags register + sanctions hits. Live event-driven — RiskAggregator agent subscribes to 9 events (MATTER_OPENED / RECONCILER_RUN / CONTRADICTIONS_FOUND / PRIVILEGE_CLASSIFIED / PRIVILEGE_GATE_BLOCKED / RISKS_UPDATED / MATTER_FACTS_EDITED / EVIDENCE_ANALYSED / DRAFT_SAVED), debounces bursts in a 1.5s window, recomputes via `analysis.composite-risk` skill, caches to `.brain/COMPOSITE_RISK.json`, emits COMPOSITE_RISK_UPDATED. CompositeRiskCard on matter Overview listens for the event and re-renders without page reload. Manual "Compute now" / "Recompute" button surfaced as backup.
Identifies opposing solicitor from OPPONENT_DOSSIER.md, cross-references with growing per-matter pattern library, surfaces known filing patterns, preferred strategies, win/loss record in similar matter types, argument templates used; "Know how they'll fight before the first letter." Extends OpponentScout (already built). **Nobody has this.**
Specialised research mode — case-law + statute + regulatory-guidance synthesis with cited grounding. Different from CasePreparer (drafts) and Scrutineer (reviews) — this one ANSWERS legal-research questions with citations. Extends grounding stack (INT-03 + A-P2).
Ask the same questions across many matter documents at once and get an answer grid — one source-linked answer per document, with privileged files automatically withheld from the AI.
Bulk document review as a source-linked grid — review a stack of exhibits against the same questions in one pass, privilege-gated per document.
LBA / Part 36 / N225 / N228 / Witness Statement / N244 (6 sub-types) / N265 / Precedent H / CMC/CCMC/PTR / Mediation Brief / Part 8 / Freezing/Search/Bayer / new-matter-intake / cross-examine-opponent / prepare-for-trial / compliance-snapshot / close-matter
Extracts `[DO WERYFIKACJI …]` / `[VERIFY …]` / `[DO UZUPEŁNIENIA …]` / `[DRAFT …]` markers from AI-generated pleadings + supporting docs; per-marker verification progress; gates downloads/signing until solicitor ticks every citation
After matter closes with solicitor consent, approved pleadings stripped of client PII (CM-02 pipeline) and added to searchable firm-wide precedent library at `_precedents/pleadings/auto-*.md`; future matters auto-show top-3 closest precedents on Overview. Highest stickiness driver — bank grows more valuable every matter. **Nobody else has this.**
Solicitor calendar with 4 toggle-able colour layers — court dates / statutory deadlines / client meetings / internal deadlines. Month + week views (toggle in header). Click event → matter or task. Reads from existing matter dates + limitation dashboard + audit-log scheduled-actions.
Drag-card-to-flip Kanban across firm caseload — 4 columns matching actual `matter.status` enum (active / pending / settled / closed). Drag-and-drop via @dnd-kit (core + sortable + utilities present in package.json). Card shows matter title + opposing party + jurisdiction + days-old. Firm-dashboard level only per dogfood-scoping 2026-05-06.
Horizontal-axis events per matter — 6 layers (court filings / statutory deadlines / correspondence / chronology / internal action items / client meetings). Hand-rolled SVG (no vis-timeline dep — saves ~80KB bundle). Per dogfood-scoping 2026-05-06: 80% of Gantt without project-management baggage.
Auto-generated entity graph per matter — parties / witnesses / counsel / court / claim / dates / documents / evidence as nodes; opposes / represents / mentions / filed / received / cites as edges. 4 clusters with collapse toggles. Click node → highlights incident edges + detail panel. **Differentiator — no other legal-AI tool ships case-as-graph.**
AUDIT.log + APPROVALS.md + CHANGE_LOG per matter
Per-matter `AUDIT.hashchain.jsonl` — one SHA-256 chain link per AUDIT.md row (`{seq, prev_hash, content_hash, chain_hash}`). Daily HMAC-signed seal in `AUDIT.dailyseal.jsonl` per UTC day. Verifier walks chain + flags first-broken row + reason ("row edited / row removed / chain reordered"). Non-destructive — AUDIT.md unchanged for solicitors / auditors. SoC-grade tamper-evidence. Distinct from P4 Reasoning Ledger (lighter scope, ships now).
DRAFT → REVIEWED → APPROVED → SIGNED → FILED → SERVED with role-gated transitions + append-only audit trail in `.brain/APPROVALS.md`; one source of truth across every preview surface
3-figures form (bank / cash book / sum of client ledger) + live discrepancy classifier + 5-week mandate countdown + COFA PDF
Firm-wide unpaid-invoice tracker, 4 age buckets (current ≤30d / overdue 31-60 / 61-90 / severe >90)
Reads CASE_STRENGTH.json, derives strength tier, scans similar matters with definitive outcomes, surfaces "X of Y similar matters settled — Z%" with insufficient-cohort fallback
Per-fee-earner / per-firm analytics: matters worked this period, AI invocations used, estimated drafting time saved, utilisation rate vs target. Quantifies ROI for the renewal conversation ("your team saved X hours this {period}"); all data local, zero telemetry. **Nobody else has this.**
Solicitor downloads filled PDF → opens signing portal new tab → signs → attaches signed PDF back
33-statute lookup + anchor+walk-back parser + lookup-aware truncation + self-check probe
Solicitor drafts inside Word; AI agents (drafter / scrutineer / opponent-scout) callable from Word ribbon; matter context loads from SPA via iframe bridge; output writes back to selection.
Solicitor sees Avantwerk inside Outlook on read-message / compose-message / calendar-attendee / calendar-organiser surfaces. Match this email/event to a matter, save to correspondence, draft a matter-anchored reply.
The honest way to know what runs is to watch it. The populated demo takes a fictional matter through it in minutes. No card, no commitment.