Justis AIJ
Justis AI

Justis AI — What changed this week (1 to 6 September 2026)

Sumit
SumitFounder

Today, 5 and 6 September

Scanned documents are read correctly. A two-page handwritten FIR that the agent had called "garbled" for weeks turned out to be a cache problem: its broken text layer was cached in August, before the quality gate existed, and the cache was never re-read, so OCR never ran. Cached text that reads as mojibake is now treated as a miss and re-extracted, unreadable scans are never cached, and the agent is told plainly when a file could not be read instead of being handed garbage. A purge script found and cleared two such rows.

OCR engine order flipped to Doc AI first. Testing the fix exposed a worse problem: the vision model, reading handwriting, invented a district, a police station and several accused names and ages, confidently enough to pass the quality gate. Three reads of the same FIR gave three different answers. Sarvam Doc AI matched the physical form. Scanned pages now go to Doc AI at ₹0.50 a page, with the vision model used only for pages Doc AI returns empty. The live agent, re-run on the same document, listed the complainant and seven accused correctly and flagged the illegible entries instead of filling them in.

Mixed scanned PDFs OCR only the pages that need it. A file with typed pages and scanned pages between them used to pass the whole-document gate on the typed pages and index the scanned ones as blanks. OCR is now decided per page and the results are merged back with page numbers intact. Escalated pages are grouped into multi-page Doc AI jobs, and a document that mostly fails the first vision batch skips straight to Doc AI rather than being read twice.

Long PDFs get citations. The two retrieval tools the agent uses first on a long document returned passages with no citation handle, so long-document answers had nothing to cite. Every match and section now carries a handle anchored to its page and character offset, with the text kept for quote verification, the same as a full document read.

"Connection dropped mid-answer" fixed at three layers. A slow website timing out inside a tool was treated as the user leaving and killed the whole turn. Tool timeouts are now recoverable unless the turn itself was cancelled. Model calls use a 15-minute socket timeout instead of Node's 5-minute default, which a long prefill could exceed. And the chat retries a transient failure once on its own, showing "reconnecting…", before the Retry card appears.

Case-page highlights match Hindi and repeated phrases. The PDF highlighter kept only ASCII letters, so a Hindi quote could never match, and it took the first occurrence of a 48-character key, which landed on the headnote's copy of a holding rather than the paragraph. It now normalises Unicode, folds ligatures, scores every page and picks the best occurrence, and prefers a paragraph number that starts a line.

Phones stop going black. The PDF viewer capped canvases at 3× pixel ratio and kept 40 pages resident, which on a 3× Android screen exhausted the GPU canvas budget and blanked the tab. Phones now get a 1.5× cap, 8 resident pages, 3 eager pages and a 24 MB byte cache. Source collection in the chat is memoised per message so streaming stops rescanning the whole transcript on every tick.

Agent behaviour. A turn with a selected passage routes as document work regardless of wording, and the prompt now says a document question asked mid-draft is answered from the document, with citations, not from memory of what such documents usually say. The "N paragraphs have no source" line under answers is removed.

Marketing site. All SOC 2, HIPAA and DPDP compliance claims removed from the footer, landing page, pricing and marketing FAQs, privacy policy, metadata, llms.txt, README and internal docs. A new "Built for" section above the testimonials with three role cards, each opening its own page at /for/litigators, /for/in-house and /for/law-firms: split hero with the role's photograph and an example prompt, "Where it breaks" at three scale points, six features, a quote, sourced numbers and a role FAQ. Generated photographs are in place. Every image on the site is now WebP, cutting photo weight by half or more. The Compare table lost its horizontal rules. Fifty-two Razorpay-sourced template stubs that only linked to Google Docs were removed, along with the Drive preview code that existed for them.

Product surface. The canvas Download menu gained "Open in Google Docs" with a Google Docs glyph, backed by a 15-minute public link to a generated DOCX. Onboarding lost its step pill and helper text, gained "Other" with free text for role and forums, and aligns with the video panel. The project switcher no longer shows the C.M. number.

Written down for later. A voice PRD covering dictation and a 1:1 voice agent via ElevenLabs, with your decisions, quotas, costs and open questions, linked from a new Roadmap section in the README. Nothing voice-related is built.

Earlier this week, 3 and 4 September

Project-first architecture. Agent, Files, Tabular Review and Playbook now live inside a project at /app/p/[projectId]/…, with a project switcher, scoped document access, sessions, reviews and runs, and skills, workflows and playbooks that are either global or pinned to one project. Legacy URLs forward.

Streaming resilience. A model-level middleware re-runs a call that fails before output on the 1M-context model and closes a stream that fails after output cleanly instead of erroring. Tool-call arguments cut off mid-stream are repaired.

Staged document pipeline. Uploads process in three background stages, extract, OCR and index, each with its own retries and lease, so a 200-page scan no longer holds a worker for ten Word files and a failed index never re-runs OCR. Batched, resilient uploads with per-file retry.

Playbook review in four stages. Mapping, parallel per-rule review, reconciliation of overlapping edits and contradictory findings, then a summary that names the points to read together.

Memory suggestions. Facts the agent picks up in conversation are held as suggestions for the user to accept or dismiss rather than saved silently.

Billing. One credit equals one rupee and the user pays real cost. Free is a 7-day trial of 100 credits, Pro ₹999 with 500, Ultra ₹3,999 with 2,000. Plan storage caps enforced on new uploads.

Sign-in and mobile. Google-only sign-in in production behind a toggle. On phones the product is the chat plus settings; other sections redirect to the agent.

Case page. Three views, Indian law, Judgements and Orders, with a 22,000-document Acts library and an Order.law fallback when our index has no match.

Benchmark harness. Harvey's Legal Agent Benchmark run against the live product over HTTP, judged with the published rubric.

bug fixnew featuresecurity updateannouncement

Sumit
Published by Sumit