Back to work

AI LEGAL DOCUMENT REVIEW · INDEPENDENT

Lumens AI

Designing the agent-to-lawyer handoff as an independent working build.

Killed three features that were costing trust without earning it.

Type
Independent AI product
Scope
Product design, build, writing
Status
Working build, fixed legal scenario

TL;DR

I built the agent-to-lawyer handoff as an independent working build. The problem I set myself: trust collapses when you ask lawyers to grade AI outputs instead of designing for the cognitive shift between AI work and human judgment.

Try it

Stage three, in your hands.

Three flagged clauses from a fictional matter. Notice what the interface refuses to let you do: accept a finding whose evidence you haven't looked at.

Lumens
Ashworth Health / Matter 2026-0412 / Ashworth MSA
RK
0 of 3 findings resolved
Findings 3

Ashworth Health, Matter 2026-0412

Master services agreement

ASH-MSA-04, Under review, 0 of 3 resolved

1 Definitions

“Confidential Information” means non-public information disclosed by either party that is marked confidential or that a reasonable person would understand to be confidential from its nature. “Services” means the contract-review software and implementation work described in Schedule A. “Data Security Incident” means unauthorized access to, or disclosure of, Client data processed under this Agreement.

2 Services

Vendor shall provide the Services in accordance with the specifications in Schedule A and the service levels in Schedule B. Vendor shall notify Client promptly of any change that would materially reduce the Services' functionality.

3 Fees

Client shall pay the fees set out in Schedule C on a monthly basis, net 30 from the invoice date. Fees are exclusive of applicable taxes, which Client shall bear in addition to the amounts stated, and unpaid balances accrue interest at 1.5% per month.

4 Term

This Agreement commences on the Effective Date and continues for 36 months, renewing automatically for successive 12-month periods unless either party gives 90 days' written notice of non-renewal.

5 Confidentiality

Each party shall protect the other's Confidential Information using at least the same degree of care it applies to its own, and in no case less than reasonable care. This obligation survives termination for five years.

6 Intellectual property

Vendor retains all rights in the Services and underlying software. Client owns its own data and grants Vendor a limited license to process that data solely to provide the Services.

7 Data Security

Each party shall maintain reasonable safeguards for data handled under this Agreement.

9 Limitation of Liability

The limits, exclusions, and allocation of risk in this Section govern the parties' claims.

9.1 Cap

Except as provided in Section 9.3, neither party's aggregate liability under this Agreement, including claims arising under Section 7 (Data Security), shall exceed the fees paid or payable in the twelve (12) six (6) months preceding the claim.

Lumens 09:38

9.2 Exclusions

These limits do not apply to indemnification under Section 11, or to gross negligence.

9.3 Carve-outs

Claims arising under Section 7 (Data Security) are subject to the separate cap set out in the Term Sheet.

9.4 Survival

The limitations and exclusions in this Section 9 survive termination or expiry of this Agreement.

9.5 Aggregate application

Where more than one claim arises from a single course of conduct, those claims shall be treated as one claim for the purpose of the cap.

11 Indemnification

Each party's indemnification obligations under Section 11 remain outside the cap in Section 9.1.

Lumens 09:38

12 Assignment

Neither party may assign this Agreement without the prior written consent of the other party, subject to the change-of-control language in Section 12.3.

Lumens 09:38
Page 14 of 62, Ashworth MSA, Confidential
Saved 09:41Ashworth v2 playbook, 17 rules, 3 flaggedp. 14 / 62100%Playbook Ashworth v2, last run 09:38
Fixed legal scenario, evidence before commitment.

Review minutes vs. findings, by agent confidence

0.90 and up
34
12
0.75 to 0.90
21
18
0.60 to 0.75
11
26
under 0.60
6
31

Findings pile up where confidence is high. Minutes should pile up where it is low. The design's job is to make that inversion the path of least resistance.

Fig. 02. Target distribution for a live pilot, per matter. The shape this design commits to, and the first thing its instrumentation would test.
THE WORKING BRIEFThe one-page framing that scoped the build
page 1 of 1

The AI and the lawyer are not doing the same job. The AI is doing fast, comprehensive, lower-confidence retrieval and synthesis. The lawyer is doing slow, narrow, high-confidence judgment.

The reframe that scoped the build

Where the seams are.

The demo runs on written data behind real gates. The chat is where a live model call happens. Attention is the scarce resource underneath all of it: the confidence score is not decoration on a card, it is the routing signal that decides where a lawyer's minutes go.

What runs, and what was written

THIS DEMOClause dataScore routingSources readApproval gateSigned recordTHE CHAT ON THIS SITEYour questionClaude HaikuAnswer on screen

One box is written by hand. The rest of the demo's chain is real logic, and the site's only live model call sits in the lane below.

One box is written by hand. The rest of the demo's chain is real logic, and the site's only live model call sits in the lane below.

Fig. 03. The demo you just used, traced end to end.

The decision trail

Three states of the review surface.

  1. First pass

    Accept stays disabled until every cited source has been opened.

    • The verification gate went in as a working demo rather than a description of one.
    • Two panes only. A flagged-clause queue beside the clause text and the agent's read.
    The first review surface: a flagged-clause list beside clause text, the agent's read, two citation pins, and a disabled Accept button.
  2. Mid iteration

    Confidence becomes a coded signal, on a color world that belongs to the product rather than the site.

    • The window became a credible app. Traffic lights, centered identity, a matter toolbar.
    • Confidence stopped being a ghost numeral and became a dot, a tinted meter, and a word.
    The same surface in counsel dark, inside application chrome, with confidence shown as a dot, a value, and a band.
  3. Current prototype

    Clause and finding each get their own titled panel, and the review opens to full size.

    • Titled document and finding panels replaced the floating italic labels.
    • The full view opens the way a real window would, over its own desktop.
    The current surface: clause and agent finding in separate titled panels, clause references in mono, and a labelled Open full view control on the band above the window.

The handoff

One job per stage.

One job per stage, so the pattern never asks the lawyer to do two things at once. The product's record of truth is the lawyer's signature, never the model's output.

Retrieval had to surface its own scoring and the draft state its own confidence, so the design and the retrieval logic were built together, not handed off.

1

Retrieves

User sees a soft progress state with documents being scanned in real time.

2

Proposes

Agent surfaces a draft answer with citations linked inline. Distinctive draft treatment so the user knows it has not yet been reviewed.

3

Reviews

User reads the draft, clicks any citation to verify, and either accepts, edits, or rejects with a one-line reason.

4

Publishes

Reviewed answer becomes canonical. Record of truth is the human signature.

Fig. 01Distinct visual treatment per stage prevents the cognitive-mode collision that broke v0.

Decisions made

The calls that shaped the build.

Every project has a handful of decisions that determined the outcome. These are mine, with the trade-offs I accepted.

No batch approve. Publishing an answer takes a review, one at a time.

It is the easiest feature to ask for and the easiest to abuse, because it lets a reviewer approve without reading. The Quick/Detailed toggle and the confidence slider went for the same reason: each let a lawyer skip the reading that makes an acceptance mean something.

Throughput looks slower on paper. If the friction just moves elsewhere, the design lost.

Every rejection carries a one-line reason.

A rejection with a reason is feedback instead of a dead end. It keeps what the lawyer changed, and why, on the record.

Every rejection costs a few seconds. The completion rate on that field says whether the cost was too high.

Exhibits

Two artifacts that carry the argument.

Exhibit 01A draft must look like one

Draft, not yet reviewedModerate confidence

The non-solicitation clause survives termination for 18 months under section 11.2…

Reviewed and signed by E. Okafor

The non-solicitation clause survives termination for 18 months under section 11.2, amended per the March rider.

Same answer, two states. Dashed and tagged until a named person signs it; only the signed one can be cited.

Exhibit 02A rejection becomes structured signal

  1. Reject

    One click, but never the last one.

  2. Wrong survival period…

    One required line of why.

  3. Routed to eval set

    The reason becomes structured signal.

The completion rate on that reason field is this design's KPI.

The problem

The trust gap.

The premise Lumens starts from: a legal-AI product with a strong model and a large corpus can return accurate, cited answers and still go unused, because nothing tells the lawyer what to trust.

01Reading

Skim, pattern-match. Low-stakes attention.

02Reviewing

Verify, weigh, second-guess. Senior judgment.

03Deciding

Sign off, attach reputation.

Every AI output landed in the same visual treatment as a finished answer, so every output felt like a homework assignment that needed to be graded.

What I'd measure

There are no outcomes yet. Here is the scorecard.

If Lumens were live, this is the scorecard I would put my name to. If those numbers did not move, the pattern is wrong and I would want to know.

  • 01Daily active use of the review surface against the pre-redesign baseline.
  • 02The share of rejections that carry a written reason.
  • 03Time from proposal to published answer.
  • 04A failure-mode taxonomy for the draft state, because a draft that reads as finished is this design's most dangerous defect.

What I'd do differently

In retrospect.

  1. Instrument from day oneBuild the rejection-reason capture into Stage 3 from the start, not as a later add-on.
  2. Eval before flowDesign the eval for the draft-state failure mode before building the review flow, so that what 'reads as finished but isn't' shapes the visual language instead of following it.