{"schema_version":"1","site":"https://decosa.ai","id":"deposition","num":"18","name":"Deposition and hearing digest","tool_name":"Digest a deposition","short":"Depositions","blurb":"A page:line digest of deposition or hearing transcripts. Every sentence cites its lines and is checked against them; with two or more transcripts it finds testimony that conflicts, with both cites.","status":"live","labels":{"industry":["legal"],"job":["review","draft"],"input":["text","files"],"deploy":["selfhost"],"status":"live","output":["text","record"],"data":["privileged","pii"],"hardware":"gpu-96","licence":"permissive"},"industries":["legal"],"runs_in":["selfhost","crp-legal-matter"],"part_of":[],"built_from":["grounding","signed-record"],"models":"Qwen3.8-27B","where":"Self-host (transcripts stay with the matter)","hardware":"1× RTX PRO 6000 (96 GB); no GPU for the parser, flags and export","final_artifact":"A checked digest with page:line cites, exported to Word or Markdown, and a signed record.","self_host_first":true,"verification":{"receipt_coverage":"full","summary":"Every cite checked; receipted calls; signed record","manual_qa":{"hosted":{"date":"2026-09-30","result":"pass","p50_ms":40081,"p95_ms":44103,"runs":5,"receipts_per_run":48,"cost_per_run_usd":0.013804},"selfhost":{"date":"2026-09-25","result":"pass","method":"fresh clone, api image built, the prompt's .env and compose used as written, sample against local model servers","notes":"The step 5 smoke passed as written in 23 s: every lane, 54 attested receipts, the 2:15 pm / 11:30 am conflict marked INCONSISTENT, the record verified and the Word export opened. A PDF transcript parsed as numbered (4:1-6:14), and with the diarize service /deposition/rough returned an uncertified rough transcript. Verified on 2026-09-25: images build, services start, sample passes end to end against local model servers equivalent to the documented ones; model-server startup itself not re-verified."},"known_limits":["Hosted numbers are the production smoke check of the sample, run 5 times in a row on 30 Sep 2026 (all passed); with 5 runs the slowest-1-in-20 figure is simply the slowest run.","The claim check shows each sentence is supported by the lines it cites; it does not show the digest covers everything important.","Hosted is for public-record and fictional transcripts only."],"nightly_covers":null},"nightly":"https://api.decosa.ai/verify/status"},"eval_summary":{"metrics":[{"name":"Contradiction finder: planted conflicts found (held-out set)","value":"9 / 9 in both runs","unit":null,"n":9,"split":"test","note":null},{"name":"Contradiction finder: false-positive flags, run 1 / run 2","value":"2 / 1 (precision 0.82 / 0.90)","unit":null,"n":5,"split":"test","note":"All false flags were planted traps; 15 flags over 2 runs, very small"},{"name":"Digest sentences fully supported by their cited lines (hand-checked)","value":"33 / 40","unit":null,"n":40,"split":"dev","note":"7 partly supported (mostly a dropped hedge), 0 not supported; one annotator, not a lawyer"},{"name":"Cite checker: wrong cite flagged","value":"59 (100%)","unit":null,"n":59,"split":"synthetic","note":null},{"name":"Cite checker: changed fact flagged","value":"49 (91%)","unit":null,"n":54,"split":"synthetic","note":"Unchanged sentences flagged on a second check: 3 of 60 (5%)"}],"dataset":"Two public-domain congressional hearing excerpts (govinfo), a fictional two-witness demo pair used while writing the prompts, and a held-out fictional contradiction set (3 matters, 9 planted conflicts, 5 traps, 1 ambiguous pair).","held_out":true,"caveats":["The held-out set was written by the same agent that wrote the prompts, before the eval ran.","Nothing was checked by a lawyer, and no real deposition was used.","Coverage (does the digest include everything important) is not measured; a 300-page deposition is not measured.","The audio path is tested only with a fake diarizer; its accuracy on deposition audio is unknown.","A number guard added after seeing the misses (51/54) is measured on the set it was designed from, so it is not held out."],"date":"2026-09-24","doc_url":"https://decosa.ai/metrics/evals/deposition"},"stack":{"summary":"For litigation associates, paralegals and litigation-support teams. Give it one to four transcripts with page:line numbering (text or PDF). It writes a topic digest where every sentence cites the page:line range it relies on, and a second model call checks each sentence against exactly those lines; unsupported sentences are struck through and held back from the Word or Markdown export. It lists non-answers and exhibits, and with two or more transcripts it pairs up testimony from different witnesses and flags answers that cannot both be true, with both cites. Transcripts are often privileged or under a protective order, so the real product runs on your own GPU; the hosted demo takes public-domain and fictional transcripts only.","tagline":"A page:line digest where every sentence is checked against the lines it cites, plus the places where witnesses contradict each other.","deployment":"self-host-first","regulatory_note":"Not a certified transcript and not legal advice; the digest is a work aid and a lawyer still reads the transcript. The check shows each sentence is supported by the lines it cites; it does not show the digest covers everything important. ABA Formal Opinion 512 (29 Jul 2024): lawyers must understand how a generative AI tool uses client information, get informed consent before putting it into a self-learning tool (boilerplate in an engagement letter is not enough), and bill only for time actually spent. United States v. Heppner (S.D.N.Y., ruled 10 Feb 2026, opinion 17 Feb 2026) held a defendant's exchanges with a consumer AI service not privileged, partly because the provider was a third party whose terms allowed disclosure; a self-hosted tool used at counsel's direction avoids that third-party problem but does not by itself make anything privileged. Check any protective order before hosted use. The audio path gives an uncertified rough transcript only; whether AI-assisted transcripts of recorded depositions are admissible is being litigated (In re Hughey, Tex., pending as of Sep 2026).","components":[{"id":"llm","role":"Digest writer, cite checker and contradiction judge","name":"Qwen3.8-27B (NVIDIA NVFP4)","hf_repo":"nvidia/Qwen3.8-27B-NVFP4","license":"Apache-2.0","params":"27.8B","quant":"NVFP4 (MLP) + FP8 (attention/GDN), FP8 KV cache, MTP speculative decoding k=3","vram_gb":57,"memory_gb_estimate":null,"engine":"vLLM 0.29.0","receipt_coverage":"strong","in_hosted_demo":true,"tiers":["standard"],"alternative_to":null},{"id":"llm-lite","role":"Lite tier: digest, check and pairs on a 48 GB card","name":"Gemma 4 26B A4B (instruction-tuned)","hf_repo":"google/gemma-4-26B-A4B-it","license":"Apache-2.0 (model card also links the Gemma 4 licence page)","params":"25.2B","quant":"BF16 weights; FP8 at load time (vLLM --quantization fp8) to fit a 48 GB card","vram_gb":null,"memory_gb_estimate":null,"engine":"vLLM 0.29.0 (Gemma4ForConditionalGeneration is in its model registry)","receipt_coverage":"none","in_hosted_demo":false,"tiers":["lite"],"alternative_to":null},{"id":"llm-best","role":"Best tier: digest writer and checker for many-witness matters","name":"DeepSeek-V4-Flash (NVIDIA NVFP4)","hf_repo":"nvidia/DeepSeek-V4-Flash-NVFP4","license":"MIT","params":"284B","quant":"NVFP4 experts + FP8 (about 159–176 GB of weights)","vram_gb":192,"memory_gb_estimate":null,"engine":"vLLM B12X community build, TP2 on 2× RTX PRO 6000, MTP draft fixed by the kit's patches","receipt_coverage":"none","in_hosted_demo":false,"tiers":["best"],"alternative_to":null},{"id":"llm-network-glm","role":"Multi-witness matters, on your own bigger box (wanted)","name":"GLM-5.3-Flash","hf_repo":"zai-org/GLM-5.3-Flash","license":"MIT","params":null,"quant":null,"vram_gb":null,"memory_gb_estimate":170,"engine":null,"receipt_coverage":"none","in_hosted_demo":null,"tiers":["wanted"],"alternative_to":null},{"id":"asr-rough","role":"Self-host only: a recording to an uncertified rough transcript (POST /deposition/rough)","name":"MOSS-Transcribe-Diarize 0.9B","hf_repo":"OpenMOSS-Team/MOSS-Transcribe-Diarize","license":"Apache-2.0","params":"0.9B","quant":"BF16","vram_gb":null,"memory_gb_estimate":null,"engine":"transformers (trust_remote_code) + moss_transcribe_diarize package (decosa-api services/diarize)","receipt_coverage":"none","in_hosted_demo":false,"tiers":["standard","best"],"alternative_to":null}],"tiers":[{"id":"lite","label":"Lite · one 48 GB card","summary":"The same pipeline on a smaller mixture-of-experts model. Faster and cheaper; digest and check quality unknown.","components":["llm-lite"],"hardware":"1x L40S or RTX 6000 Ada 48 GB (not measured)","quality_evidence":[{"metric":"cite-check accuracy on transcripts","value":"not measured yet","source":null}],"latency_note":"not measured yet","in_hosted_demo":false,"receipt_coverage":"partial","receipt_note":"Direct route: calls are attested by the box's key; no gateway receipts.","hosting":null},{"id":"standard","label":"Standard · the hosted demo, one 96 GB card","summary":"Qwen3.8-27B writes the digest, checks every cite and judges contradiction pairs; every call receipted.","components":["llm","asr-rough"],"hardware":"1x RTX PRO 6000 Blackwell 96 GB","quality_evidence":[{"metric":"hand check: sentences fully supported by their cited lines","value":"33/40","source":"decosa-api docs/evals/deposition.md, measured on our server 2026-09-24, gateway route; checked by the building agent, not a lawyer"},{"metric":"cite checker: wrong cites / changed facts flagged","value":"59/59 / 49 of 54","source":"decosa-api docs/evals/deposition.md, measured on our server 2026-09-24, gateway route"},{"metric":"contradictions, held-out fictional set: recall / precision","value":"9/9 / 0.82-0.90 (two runs)","source":"decosa-api docs/evals/deposition.md, measured on our server 2026-09-24, gateway route"},{"metric":"cite check on real deposition transcripts (by a lawyer)","value":"not measured yet","source":null}],"latency_note":"measured on our server: under a minute to over a minute for a two-transcript sample, depending on length","in_hosted_demo":true,"receipt_coverage":"strong","receipt_note":"Hosted: gateway-signed receipt per model call. Self-hosted: attested by the box's key.","hosting":null},{"id":"best","label":"Best · DeepSeek-V4-Flash on two more cards","summary":"A larger writer and checker for many-witness matters.","components":["llm-best","asr-rough"],"hardware":"2x RTX PRO 6000 96 GB","quality_evidence":[{"metric":"digest and check quality","value":"not measured yet","source":null}],"latency_note":"not measured yet","in_hosted_demo":false,"receipt_coverage":"partial","receipt_note":"Not a hosted model: calls are attested by the box's key only.","hosting":null},{"id":"wanted","label":"Wanted · GLM-5.3-Flash on your own hardware","summary":"A larger model from a different family for the cross-witness contradiction search and long records. Transcripts are privileged, so it runs on your hardware, never on community providers. Not served yet.","components":["llm-network-glm","asr-rough"],"hardware":"Your own hardware: 2x 96 GB cards (NVFP4, about 170-186 GB, unconfirmed) or a Mac with 192 GB or more (MLX 4-bit, 165 GB). Estimate; GLM's SGLang SM120 build hung on our server.","quality_evidence":[{"metric":"digest quality","value":"not measured yet","source":null}],"latency_note":"not measured yet","in_hosted_demo":false,"receipt_coverage":"none","receipt_note":"On your own hardware its calls are attested by the box's key only: not a hosted model there, so no gateway receipts. Never sent to community providers.","hosting":"own-hardware"}],"alternates":[],"services":[{"name":"decosa-api","port":8445,"image":"${DECOSA_REGISTRY}/decosa-api:0.1.0","purpose":"Parser, digest pipeline, exports and HTTP API (/deposition/*). No GPU. Binds 127.0.0.1 by default."},{"name":"decosa-llm","port":8000,"image":"${DECOSA_REGISTRY}/decosa-llm:0.1.0","purpose":"vLLM OpenAI endpoint for Qwen3.8-27B. Internal to the compose network."},{"name":"decosa-diarize","port":8092,"image":null,"purpose":"Optional, self-host only: MOSS-Transcribe-Diarize for rough transcripts from recordings. No published image yet; built from services/diarize."}],"tools":[{"name":"poppler pdftotext","url":"https://poppler.freedesktop.org/","license":"GPL-2.0-or-later (run as a separate program)","purpose":"PDF to text with -layout, one printed line per text line, so page:line cites match the PDF."},{"name":"pypdf","url":"https://pypi.org/project/pypdf/","license":"BSD-3-Clause","purpose":"PDF fallback when pdftotext is missing; can join two printed lines, so it adds a warning."},{"name":"govinfo (U.S. GPO)","url":"https://www.govinfo.gov/app/collection/chrg","license":"U.S. Government works, public domain (17 U.S.C. 105)","purpose":"Source of the public-domain hearing transcripts in the demo (S. Hrg. 118-216; House Financial Services Serial No. 118-12)."},{"name":"cryptography (Python)","url":"https://cryptography.io/","license":"Apache-2.0 OR BSD-3-Clause","purpose":"Ed25519 signature on the digest's hash-chain record."}],"hardware":[{"tier":"1x RTX PRO 6000 Blackwell 96 GB","fits":true,"notes":"Measured: the hosted demo's Qwen3.8-27B runs on one of these cards on our server."},{"tier":"1x L40S / RTX 6000 Ada 48 GB","fits":null,"notes":"Not measured. FP8 Qwen3.8-27B with a shorter context, or Gemma 4 26B A4B (lite)."},{"tier":"CPU only","fits":true,"notes":"Parsing, the non-answer and exhibit patterns, the number guard and the exports need no GPU; the digest itself needs the model."}],"latency":[{"lane":"first digest topics, two-transcript sample","typical_ms":9300,"source":"decosa-api docs/evals/deposition.md, measured on our server 2026-09-24, gateway route"},{"lane":"whole run, fictional deposition pair (117 lines, 37-38 sentences, 12 pairs)","typical_ms":34000,"source":"decosa-api docs/evals/deposition.md, measured on our server 2026-09-24, gateway route; 33.9 s and 76.0 s in two runs, depending on load"},{"lane":"whole run, two hearing excerpts (429 lines, 34-43 sentences, 12 pairs)","typical_ms":55000,"source":"decosa-api docs/evals/deposition.md, measured on our server 2026-09-24, gateway route; 54.6 s and 73.5 s"},{"lane":"300-page deposition","typical_ms":null,"source":"not measured yet"}],"benchmark":null,"notes":[]},"buyer_facts":[{"label":"Measured latency","value":"Hosted p50 is the whole digest of the fictional two-deposition pair (117 lines), over 3 runs on 2026-09-25, gateway route."},{"label":"Typical run cost","value":"A few cents or less for the fictional pair (a few dozen model calls) at the gateway list price. Each run shows its own measured cost."},{"label":"Data retention","value":"Transcripts and digests live in server memory for one hour (for export) and are never written to disk or logs."},{"label":"What leaves the box (self-host)","value":"Nothing: keep DECOSA_LLM_ROUTE=direct."},{"label":"Input","value":"Text or PDF transcripts with page:line numbers (numbered, condensed or plain); up to 4 transcripts and 4,000 lines per digest (8,000 in the self-host compose)."}],"data_handling":{"page":"/data#deposition","self_host":{"level":"confidential","leaves":"nothing","summary":"Runs on your machine; nothing is sent to Decosa or a third party by default."},"hosted":{"level":"operator-processed","demo_only":true,"summary":"Hosted demo on sample or public data only; self-host for real data.","gpus":"operator-contracted","third_parties":[],"retention":"Transcripts and digests live in server memory for one hour (for export) and are never written to disk or logs.","used_for_training":false,"encrypted_while_processed":false},"sealed_tier":{"applies":false,"note":"The sealed tier (raw chat only, never use-case pipelines) is paused at launch (/docs/sealed-tier)."},"external_calls":[]},"console":{"href":"/legal/deposition","input":"transcripts","lanes":[{"id":"transcript","title":"Transcripts","kind":"markdown"},{"id":"digest","title":"Digest (page:line)","kind":"markdown"},{"id":"verifier","title":"Cite check","kind":"markdown"},{"id":"flags","title":"Non-answers and exhibits","kind":"list"},{"id":"contradictions","title":"Contradictions","kind":"markdown"},{"id":"record","title":"Signed record","kind":"json"}],"samples":[{"n":1,"id":"fictional-fall","title":"Fictional fall","deep_link":"/legal/deposition?sample=1&autorun=0"},{"n":2,"id":"svb-hearings","title":"Svb hearings","deep_link":"/legal/deposition?sample=2&autorun=0"}],"deep_link_params":{"sample":"1-based index into samples, or a sample id","autorun":"1 = start the run once the sample is loaded; 0 (default) = only preselect","reduce-motion":"1 = turn off animations"}},"api":{"base":"https://api.decosa.ai","contract":"/api/contract.json","contract_markdown":"/api/contract.md","reference":"/docs/api","keys":"/account/keys"},"prompts":{"hosted":"/prompts/deposition-hosted.md","selfhost":"/prompts/deposition-selfhost.md","assemble":"/prompts/deposition-assemble.md","mac":"/prompts/deposition-mac.md"},"rehearsal":{"bundle":"/samples/deposition.zip","bundle_url":"https://decosa.ai/samples/deposition.zip","folder":"/samples/deposition/","expected":"/samples/deposition/expected.json","files":["/samples/deposition/expected.json","/samples/deposition/inputs/fictional-okafor.txt","/samples/deposition/inputs/fictional-pruitt.txt"],"bytes":3930,"checks":["the transcript parses into 3 pages of numbered page:line lines","the parser recognises the numbered deposition layout","the digest finishes without errors","the digest has every lane: transcript, flags, digest, verifier, contradictions, record","the time-of-fall contradiction (2:15 against 11:30) is found","the Markdown export cites the depositions by page and line","the signed record verifies","a record with one entry edited no longer verifies","every model call has a signed receipt"],"licence":"Fictional: written for Decosa, no real case or people. CC0.","about":"Two short fictional deposition transcripts (page:line layout) from the same fictional case. The witnesses disagree about when the fall happened (2:15 pm against 11:30 am). The digest must cite page:line, find that contradiction, export to Markdown and end in a signed record that verifies.","run":{"containers":"docker compose exec api python scripts/rehearse.py deposition","checkout":"python scripts/rehearse.py deposition --bundle deposition.zip --base-url http://127.0.0.1:8445","mac":".venv/bin/python scripts/rehearse.py deposition"},"guidance":"Set up with a coding agent (we recommend Claude Code with Claude Opus 5.5; any capable coding agent works) on mock data only, run the rehearsal until every check passes, then run your own data locally yourself. Never give the agent real data during setup."},"hardware_fit":{"check":"/self-host/hardware?use=deposition","data":"/api/hardware.json","tiers":[{"id":"lite","gpu_gb":40,"basis":"estimate","unknown":[]},{"id":"standard","gpu_gb":61.6,"basis":"estimate","unknown":[]},{"id":"best","gpu_gb":196,"basis":"estimate","unknown":[]},{"id":"wanted","gpu_gb":196,"basis":"estimate","unknown":[]}],"mac":{"fit":"full","memory_gb":32}},"links":{"page":"/legal/deposition","json":"/use-cases/deposition.json","metrics":"/metrics/deposition","console":"/legal/deposition","console_sample":"/legal/deposition?sample=1&autorun=0","stack":"/legal/deposition#stack","try_live":"/legal/deposition","watch":"/legal/deposition","build":"/legal/deposition#build","self_host":"/legal/deposition#self-host","prompts":{"hosted":"/prompts/deposition-hosted.md","selfhost":"/prompts/deposition-selfhost.md","assemble":"/prompts/deposition-assemble.md","mac":"/prompts/deposition-mac.md"}}}