Skip to content

Supra AI 1.0.0

Choose a tag to compare

@cadespivey cadespivey released this 19 Jun 16:36
· 53 commits to main since this release

Supra AI is a local, MLX-powered macOS research and drafting assistant for legal work. It runs large language models entirely on-device and pairs them with source-grounded legal research and a document-intelligence pipeline — with citation verification built in so the model never presents unverified authority as settled law.

⚖️ Not legal advice. Every citation, quotation, and proposition must be independently verified by a qualified attorney before any reliance.

✨ Highlights

  • Fully local generation — models load and run in a sandboxed MLX XPC service; no prompt, document, or query leaves the device for generation.
  • Source-grounded legal research/research and /legal retrieve authority from CourtListener, rank it (jurisdiction, court level, recency, precedential status), and constrain the model to the retrieved packet. Fabricated or unsupported citations are flagged and quarantined behind a "do not rely" banner instead of being shown as good law.
  • Document intelligence — import PDF/DOCX/XLSX/RTF/EML/images with OCR, chunking, on-device embeddings, hybrid retrieval, source-cited Q&A, fact chronologies, and exportable structured outputs, all scoped per matter.
  • Matter workspace — organize chats, research sessions, authorities, documents, and outputs by matter, with an audit trail.
  • Privacy by default — privileged query terms are redacted to stable fingerprints in logs and diagnostics unless explicitly enabled; the CourtListener token is Keychain-stored and device-bound.

🔒 Pre-publish hardening

This release went through four rounds of adversarial security/correctness review (converged to zero findings), hardening legal-citation safety, path-traversal and zip-bomb handling in document import, XPC parameter validation, generation concurrency, and data-integrity on delete. 242 package tests pass and the full app scheme builds.

📋 Requirements

macOS 15+ on Apple Silicon · Xcode 16+ (Swift 6) · local MLX model weights · optional free CourtListener API token for research.

See the README for setup and configuration.


What's Changed

  • Milestone 1: model selection, persisted chat, cross-process file access, validation runner by @cadespivey in #1
  • App shell: model downloader, Settings, sidebar fix; remove Tasks by @cadespivey in #2
  • Matters: folders that group chats by @cadespivey in #3
  • Surface load-failure detail; guard downloads by model_type by @cadespivey in #4
  • Fix XPC runtime service registration (missing XPCService Info.plist key) by @cadespivey in #5
  • Handle reasoning-model output: suppress + strip chain-of-thought by @cadespivey in #6
  • Validation run reliability: fail-fast on service drop + reconcile stranded runs by @cadespivey in #7
  • Make the generation preset actually affect sampling by @cadespivey in #8
  • Milestone 2: legal research layer (checkpoint — WO 19–24) by @cadespivey in #9
  • Milestone 2 polish: close out all caveats / minor items by @cadespivey in #10
  • Silence unused-try? warning (zero-warning build) by @cadespivey in #11
  • Add Milestone 3 plan (Matter Document Intelligence) by @cadespivey in #12
  • Silence unused-try? warning in ModelDownloadController by @cadespivey in #13
  • Milestone 3: Matter Document Intelligence by @cadespivey in #14
  • UI/UX quick wins: tab order, All Documents, chat list, import-failure banner by @cadespivey in #17
  • App shell overhaul: sidebar restructure, runtime reconcile, drop Limited Mode, toolbar by @cadespivey in #18
  • Explain Structured Outputs + clarify Context (#10, explainer half) by @cadespivey in #19
  • Fix M3 validation OCR scenario (decodable fixture image) by @cadespivey in #16
  • Seeded 3-matter test corpus + validation suite (incl. live CourtListener) by @cadespivey in #15
  • Research/Authorities XCUITest: target, a11y IDs, seeding hook (#4) by @cadespivey in #20
  • Ground Structured Outputs in chosen documents (#10 follow-up) by @cadespivey in #21
  • Unify matter tab layouts (shared MatterTabScaffold) by @cadespivey in #22
  • Model load state: real Loaded vs Default + auto-load selected model on startup by @cadespivey in #23
  • Remove in-app Milestone 1/3 validation triggers by @cadespivey in #24
  • App logo, launch splash, and "See Supra" brand (§) by @cadespivey in #25
  • Show CourtListener API token status in Settings by @cadespivey in #26
  • Chat status bar: model/processing state + generation settings switcher by @cadespivey in #27
  • Global chat attachments: files/images/screenshots into context (OCR-to-text, ≤10) by @cadespivey in #28
  • Add Assistant Profile ("soul document") in Settings by @cadespivey in #29
  • Adversarial code audit: fixes for bugs, dead code, and abandoned branches by @cadespivey in #30
  • Audit follow-ups: fix/remove remaining identified issues by @cadespivey in #31
  • Pin ad-hoc signing to keep the sandbox container (and its data) stable by @cadespivey in #33
  • Collapsible reasoning view in chat by @cadespivey in #32

New Contributors

Full Changelog: https://github.com/cadespivey/Supra-AI/commits/v1.0.0