Changelog
What's new in Sound Suite. Every release, documented.
The MCP Surface, Split and Hardened
The tools an AI assistant can reach are now divided by what they cost you. Evidence tools that run entirely on your hardware are separated from tools that spend API credit, so you can connect an assistant to your corpus without wondering what a question will bill.
- Local and routed profiles — run the evidence-only surface with no outbound calls, or the routed surface when you want model-backed analysis. Each appears as its own server, so you always know which one answered
- Citable, bounded evidence — local results carry the citations needed to check them, and stay within explicit limits instead of returning whatever fits
- Pattern scan is a real regex — and reports honest exhaustion, so “no matches” means the corpus was actually searched to the end rather than quietly truncated
- Multi-case scoping fixed — searches spanning several cases keep correct citations, and validation fails loudly rather than passing silently when it cannot verify a case exists
Preset Housekeeping
Small but overdue: saved search presets can be deleted without hunting for the option.
- Always-visible delete on the selected preset, with a confirmation step so it is never a one-click accident
Claude Fable 5.1
Added to the model catalog with adaptive-effort support, so long analyses can spend more reasoning where a question warrants it and less where it does not.
- Adaptive effort — effort tier is matched to the question rather than fixed per model
Admin Accounts & Remote Access
Multi-user administration arrives, alongside the groundwork for reaching your instance from Claude Desktop without opening a port on your router.
- Users and Sessions tabs — cookie-based admin login, with active sessions visible and revocable
- Deep Search got dramatically faster — capping the rerank pool took a representative query from around 115 seconds to roughly 5
- Cloudflare Tunnel plumbing (preview) — an admin tab stores tunnel credentials with secrets masked and generates a locked-down config exposing only the MCP path. Shipped as scaffolding and not yet verified end-to-end against a live tunnel
Linking That Behaves
Connecting filings on the scope canvas stopped fighting back. Drags land where you aim them, and every writable relationship is visible even when empty.
- Target-first drags work on occupied slots — a dedicated link lane means an existing connection no longer blocks a new one
- Empty slots stay visible — you can see what a filing could be connected to, not just what it already is, with full motion names instead of truncated labels
- Aimed drags never write a different fact — a mis-registered drop can no longer record a relationship you did not intend
The Haystack Block View
The headline feature of the 1.3 line: a visual canvas where your corpus appears as connected blocks, and selecting a motion selects everything that argues about it. That selection becomes the scope every search runs inside.
- Cascading selection — select a case and get everything in it; select a motion and get its responses, replies, amendments and attachments. Deselect individually to carve out exceptions
- Search-scope override — an active selection takes precedence over the case dropdown and any saved preset, and survives a reload
- An editing workbench — filings that arrived without a parent show up as a worklist; connect them and the cascade starts walking real edges
- The whole block is a drop target — linking no longer requires hitting a seven-pixel socket
Presets, and Showing Its Work
Saved searches moved to the server, and Deep Search stopped being a black box — you can now watch the investigation as it runs.
- Server-persisted presets — saved searches survive a browser reset, with a one-time migration from local storage
- The Thoughts panel — Deep Search streams its reasoning trace into a collapsible panel as it works, and keeps it with the turn so you can re-read it later
- Answers stopped leaking their evidence — synthesis no longer spills raw retrieved passages into the response, and returns a clear error instead of a context dump when it produces nothing
- Prompt caching for deep search, and a per-model capability registry so each model is driven with the parameters it actually supports
Documents With Structure, Not Just Text
A substantial release. Sound Suite stopped treating a PDF page as a wall of characters and started reading its shape — headings, paragraphs, tables, figures, and the page furniture that should be ignored.
- Hybrid structured parsing — block extraction identifies headings, paragraphs, tables and figures, escalating to OCR only for the parts that need it. Tables come out as structured output rather than scrambled columns
- Reporter’s Record line numbers — transcript structure with per-line stamping, so a citation can point at the line a witness actually said it on
- Structure reaches search — block type, heading path, speakers and table content inform ranking, and results carry breadcrumbs showing where in a document a hit came from
- AI readiness scoring — per-page and per-chunk scores with blank-page classification, so you can see which documents are genuinely searchable before relying on an answer drawn from them
- Damaged PDFs recover — garbled text layers are detected and re-OCR’d at ingest, pages with broken embedded fonts render correctly, and repairs survive reprocessing
- Meta View inspector — see the parse itself: bounding boxes, speaker colouring, figure overlays and the chunks as stored
GPU Tuning for Self-Hosters
Operator controls for anyone running their own inference hardware, so memory can be divided between models deliberately instead of by default.
- Per-model GPU memory weight is admin-configurable, with the shipped reranker default raised for better throughput
- Tunable rerank timeout and pool size, with an explicit restart when container arguments change so settings actually take effect
Filter Chips Behave
Boolean operators stopped leaking out of filter chips into ordinary prose — the fix that made inline chips trustworthy enough to build on.
- Operators only apply inside chips — the words “and” and “or” in your natural-language question are treated as words again, not as boolean syntax
- Chat history keeps per-turn deletions, and Claude Fable 5 joined the model picker
Deep Search Reliability
Hardening for the Recursive Language Model (RLM) behind Deep Search, so long multi-document investigations finish cleanly and always return an answer.
- Deep Search always completes — the iterative evidence-gathering loop no longer exhausts its rounds without producing a report; gathered evidence always reaches the final synthesis
- Follows your chosen model — Deep Search synthesis uses the model you select instead of a hardcoded default
- More reliable serving — corrected model context window and a pinned inference engine for reproducible RLM and reranking
Structured Legal Intelligence — XETO & Haystack
Sound Suite now understands the structure of a case, not just its text. Cases, motions, filings, parties, and exhibits are modeled as typed, linked entities — so search and AI can reason over how a case actually fits together.
- XETO + Project Haystack data model — cases, motions, filings, persons (judge, movant, respondent, clerk, reporter), exhibits, and hearings are first-class typed entities with tag-based references
- Per-motion model assignment — assign the judge, parties, filing type, and amendment/supersession links to each motion through a structured tag panel; a single case can have a different judge on each motion, and references resolve to live entity records
- Graph-aware retrieval — traverse those relationships (amendment lineage, motions by judge or party) to answer “what connects X and Y” questions that semantic search alone misses
- Smarter search — adaptive query routing, hybrid keyword + vector retrieval with reciprocal-rank fusion and cross-encoder reranking, plus faster, more resilient reranking
- Recursive Language Model (RLM) — bounded, iterative evidence-gathering for deep multi-document questions
-
One-command Docker install — official container image plus
docker compose; a fresh database is created on first run, no data baked in - Faster foundation — Prisma 7 (native SQLite driver), Next.js 16.2 (Turbopack production builds), a much smaller Docker image, and automated versioned releases
Initial Release
- 14 MCP analysis tools for comprehensive legal document intelligence
- Draft editor with AI chat, auto-suggest, and track changes
- Automated PDF processing pipeline with OCR
- GPU Sidecar for local AI models via Docker
- Semantic vector search with LanceDB
- Multiple embedding providers (local, OpenAI, Anthropic, Ollama)
- Exhibit extraction and image gallery
- Admin panel with 15 configuration sections
- Word import/export, PDF export
Safe Upgrades & Docker MCP Catalog
The container image, docker compose install, and the automated semver release pipeline shipped in v1.0.1. Next: zero-data-loss upgrades and a slim MCP-only image for Docker Desktop’s MCP Toolkit.
-
Safe upgrade mechanics — automatic pre-migration backups, version handshake to prevent accidental downgrades, enforced
prisma migrate deployonly - MCP slim image — lightweight MCP-only container for Docker Desktop's MCP Toolkit, no manual config files needed
- Unified data directory — single volume for SQLite, LanceDB, exhibits, and backups with versioned layout for future-proof migrations
RunPod Cloud GPU Overflow
When your local GPU is fully loaded, automatically route excess work to RunPod cloud GPUs. Pay per-second, zero idle cost.
- Auto mode switching — orchestrator detects workload and switches between indexing and searching modes automatically
- RunPod integration — serverless endpoints for embedding/reranking, on-demand pods for completion/OCR with auto-shutdown on idle
- Cost controls — configurable hourly, daily, and monthly spend limits with automatic enforcement and 80% threshold alerts
- Admin settings page — configure API key, GPU preferences, per-role overflow toggles, and monitor active cloud instances with live cost tracking
PostgreSQL + pgvector (When Needed)
Currently deferred — SQLite + LanceDB serves single-user local deployments well. Migration planned only when the use case demands it.
- Triggers — multi-user access, remote server deployment, 10,000+ documents, or compliance requirements
- Quick wins now — centralize VectorStore access, add orphan detection, LanceDB compaction, and tunable busy_timeout
Get the Latest Version
Download Sound Suite and start processing your legal documents today.