Test results. Every step, on the live service.

A full user acceptance test run on the production service at app.evidencecanvas.co.uk with an invented family case: sign-up, uploads, AI drafts, red-team rounds, downloads and every case screen. Each AI document is then scored against the drafting standards a family court expects.

53Steps recorded
53Passed
0Failed
5/5Documents meeting the standards

Run date: 13 October 2026 · release 20261013T183906Z. Synthetic case: every person, address and document is invented.

A. Arrival and sign-up

Public website home page
001PASS

Public website home page

The public site at evidencecanvas.co.uk. It describes the product, says it is not a law firm and links to the portal.

Pricing page: free during launch
002PASS

Pricing page: free during launch

The pricing page leads with 'Free during launch': every feature is free, no card is needed, and paid plans are shown for reference only.

FAQ: AI use and no human review disclosed
003PASS

FAQ: AI use and no human review disclosed

The FAQ tells users that drafts come from AI language models, that names are replaced with placeholders before text leaves the UK server, and that nobody reviews drafts before release.

Cloudflare security check: email
004PASS

Cloudflare security check: email

Before the portal loads, Cloudflare asks for an email address and sends a one-time code. This is the edge security gate; anybody with an email can pass it.

Cloudflare security check: one-time code
005PASS

Cloudflare security check: one-time code

The six-digit code arrived in the test inbox within seconds and is entered here. The code itself is not stored in this report.

Portal sign-in screen
006PASS

Portal sign-in screen

After the security check the portal shows its sign-in screen with 'Create an account' and the Council PCN shortcut.

Create an account
007PASS

Create an account

The registration form asks for a name, email, password and age (18+ only; only the implied birth year is kept). The password is masked and not stored in this report.

Check your email
008PASS

Check your email

The account is created in 'waiting for confirmation' state. Nothing can be done until the email link is opened.

Confirmation email received
009PASS

Confirmation email received

The confirmation email arrived from "EvidenceCanvas" <noreply@evidencecanvas.co.uk>. The sign-in attempt made before confirming was refused (HTTP 401, LOGIN_FAILED), which proves confirmation is required before anyone can work.

Email confirmed, account active
010PASS

Email confirmed, account active

Opening the link activates the account and signs the user in. At the same moment the owner received a 'New EvidenceCanvas sign-up' email.

B. First case

Dashboard on first sign-in
011PASS

Dashboard on first sign-in

The dashboard greets the new user, shows the 'Getting started' checklist and the 'Free during launch · Hearing-Ready plan' chip.

Guided tour starts on first sign-in
012PASS

Guided tour starts on first sign-in

A seven-step guided tour explains the workspace. It can be skipped and reopened from the Guide button.

Start your case
013PASS

Start your case

A self-registered litigant names the case, picks the case type (here: family, domestic abuse / occupation order), and optionally adds the court and case number. This card was added during the UAT after the test found litigants had no way to open a non-parking case (defect D3, fixed and released the same evening).

New case opens on the Files tab
014PASS

New case opens on the Files tab

The case opens straight onto Files, ready for documents. The case is private to this account.

Eight documents uploading
015PASS

Eight documents uploading

Eight mixed files go in at once: two court-style PDFs, a police letter, a finance summary, a Word statement, a school email (.eml), a WhatsApp export and a phone photo of a handwritten note. Each is virus-scanned and its text extracted on the UK server.

Documents scanned and text extracted
016PASS

Documents scanned and text extracted

9 of 9 documents are stored in the case with their status shown.

C. AI drafting

Asking for a chronology in case chat
017PASS

Asking for a chronology in case chat

The user types a plain-English request. There is no form to fill: the request goes straight to the drafting queue, with no human approval step.

Three drafts requested and queued
018PASS

Three drafts requested and queued

Chronology, witness statement and position statement are queued at once. Each one runs on the next one-minute worker tick on GLM-5.3-Flash via z.ai, then gets one red-team pass and one fix before it is released.

Drafts released into case chat
019PASS

Drafts released into case chat

Drafts arrived automatically: chronology (25215 characters), witness-statement (19906 characters), position-statement (25691 characters).

Red-team before filing
029PASS

Red-team before filing

Under each released draft the user can start another red-team round. The owner rule: one automatic red-team and fix, then any further round is the user's choice.

Court-document actions for litigants
038PASS

Court-document actions for litigants

A litigant can now ask for a witness statement, a response to the other side, a position statement, a chronology, or another red-team round with one click (defect D11, fixed in release 8).

Red-team round and a reply to her statement requested
040PASS

Red-team round and a reply to her statement requested

The user starts a red-team round on the latest draft and, in plain English, asks for a paragraph-by-paragraph reply to the other side's statement.

Red-teamed draft released with its findings
049PASS

Red-teamed draft released with its findings

The user-triggered round re-checked the latest draft, fixed what it could and marked the rest ⟦TO RESOLVE⟧. Results: reply-to-statement 22943 characters, redteam-round 13683 characters.

Progress notice while drafts are written
051PASS

Progress notice while drafts are written

While requests are being worked on, case chat says so and gives the expected time (about 20–40 minutes), and that an email follows when the draft is ready.

Re-requested drafts after the fixes
052PASS

Re-requested drafts after the fixes

After the fixes found in this run, the drafts were requested again. Times from request to release: reply to statement 23 min, position statement (first version) 2 min, position statement (checked version) 27 min, red team round (user triggered) 23 min. Every released draft is listed with Word and PDF.

Quick first version, clearly marked unchecked
053PASS

Quick first version, clearly marked unchecked

A quick first version of the position statement arrived 2 minute(s) after the request, so the user can see the shape of the document at once. It is labelled "first version, not yet checked" and says not to file it; the checked version (deep reasoning and an adversarial red-team) follows and replaces it.

D. Case workspace

Case health
020PASS

Case health

A one-screen view of how ready the case is: documents in, dates set, drafts produced and gaps still open.

Case chat with released drafts
021PASS

Case chat with released drafts

Every request and every released draft sits in one thread. Each draft carries the 'check before filing' banner and the 'Red-team before filing' button.

12 rendered draft(s)

Files
022PASS

Files

All uploads with their type, size and filing status. Each can be opened, redacted, excluded from the court set or given an exhibit reference.

9 file rows

Dates and deadlines
024PASS

Dates and deadlines

Hearing dates and court deadlines, with a calendar (.ics) export.

1 suggested date(s)

Timeline
025PASS

Timeline

The events found in the documents, laid out in date order.

16 dated event(s) found in the documents

Evidence graph
026PASS

Evidence graph

The graph links the dates the user confirmed by the documents they come from: 6 confirmed fact(s) shown. Before the fix it stayed empty on self-serve cases because it only used practitioner-reviewed facts.

Family record
028PASS

Family record

For family cases: the children, the orders in force and the arrangements, kept in one record.

Case opens with no payment wall
037PASS

Case opens with no payment wall

During the free launch the case no longer shows 'Payment required' or a checkout button (defect D12, fixed in release 8).

Analysis
046PASS

Analysis

Facts, issues and how the documents relate. The ask-your-files box answers questions with the source document named.

Hearing rehearsal
047PASS

Hearing rehearsal

Practise the hearing: the rehearsal builds likely questions from the case papers so the user can prepare answers.

Timeline with contradictions
048PASS

Timeline with contradictions

After cataloguing, the timeline and contradiction explorer show where the two sides' accounts differ.

Dates confirmed by the user
050PASS

Dates confirmed by the user

The user opened the source of each suggested date and confirmed 6 of them. Confirmed dates feed case health, the contradiction check and the evidence graph; each stays subject to the user's or a practitioner's check.

E. Outputs

Documents
023PASS

Documents

Generated work products (Word and PDF) ready to download, plus the court bundle builder.

8 released draft(s) listed with Word/PDF

Download Word or PDF under each draft
039PASS

Download Word or PDF under each draft

Each released draft now has 'Download Word', 'Download PDF' and 'Red-team again' (defect D13, fixed in release 9). 6 files were downloaded for this report.

F. Preparation tools

Preparation tools
027PASS

Preparation tools

The specialist engines: hearing simulator, contradiction explorer, Form E, Scott schedule, SAR letters and more.

Engine documents in the Documents tab
045PASS

Engine documents in the Documents tab

15 of 15 engines built their document for a litigant on production. The Documents tab shows what the litigant can download.

G. Account and help

Plans and services: free during launch
030PASS

Plans and services: free during launch

Shows the plan the account behaves as (Hearing-Ready) and that nothing is charged until paid plans go live.

Family records
031PASS

Family records

A cross-case record of the family: children, orders and key dates.

Support
032PASS

Support

How to get help, and the clear statement that this is not a law firm.

Help
033PASS

Help

Searchable help articles for every feature.

Training
034PASS

Training

Short courses on preparing for court as a litigant in person, free during launch.

Tutorials
035PASS

Tutorials

Step-by-step tutorials for the main tasks.

Security
036PASS

Security

Password change, active sessions and two-step sign-in.

H. Council parking ticket

Parking ticket workspace opens on the deadline calculator
041PASS

Parking ticket workspace opens on the deadline calculator

One click on 'Start my Council PCN case' creates a separate PCN workspace with only the PCN tools. It opens on the notice-dates calculator.

Every PCN deadline calculated
042PASS

Every PCN deadline calculated

From the notice dates the deterministic engine lists the 14-day discount window, the 28-day representation deadline and the later stages. No AI is used for dates.

Representation facts and grounds
043PASS

Representation facts and grounds

The motorist enters the ticket details as printed, ticks the statutory grounds that fit, and explains what happened in their own words. Everything is free during the launch.

Representation letter drafted
044PASS

Representation letter drafted

The AI drafts the representation letter against the chosen grounds. The motorist checks it and sends it to the council themselves; nothing is sent from EvidenceCanvas.

How long it takes. Measured, not estimated.

Each court draft is delivered in two stages. A quick first version arrives within minutes so you can see the document; it is marked "not yet checked". The checked version follows: drafted again with deep reasoning, attacked by an adversarial red-team, then fixed. Times below are from request to release on the live service.

DocumentMinutes
Reply to statement23
Position statement (first version)2
Position statement (checked version)27
Red team round (user triggered)23

Document standards. Scored, not claimed.

Each AI document from this run is checked by code against the drafting rules EvidenceCanvas enforces: the PD27A page and word limits, the prescribed statement of truth, the PD22A marking, first-person voice, no invented weekdays, no absolutes the evidence does not prove, every fact tied to a named document, and no internal workings shown to the user. These rules were distilled from statements actually filed in family proceedings.

Witness statement in response

PASS

1,002 words · about 3 page(s) · PDF 3 page(s) · 10 item(s) marked ⟦TO RESOLVE⟧ · 12/12 required checks

First page of the Witness statement in response
ResultStandardDetail
PASSStatus block tells the user what was checked, fixed and left
PASSLabelled: review by a solicitor or McKenzie friend is optional
PASSNo internal scaffolding (instruction IDs, 'NOT RELEASED', practitioner-only steps)
PASSEvidence cited by file name or exhibit, never by internal ID
PASSNo forbidden vocabulary, invented weekdays, file paths or submissions in evidence
ADVISORYNo unproven absolutes or motive stated as factabsolute_claim: "sole"
PASSWithin the PD27A limit (25 pages)about 3 page(s), 1,002 words
PASSStatement of truth in the prescribed words
PASSPD22A marking: party, witness, number of statement, exhibits
PASS'Date made' line
PASSNumbered single-issue paragraphs
PASSWritten in the witness's own first-person voice37 first-person references
PASSNo case law in a witness statement

Download: Word · PDF

Reply to the other side's statement

PASS

757 words · about 2 page(s) · 8 item(s) marked ⟦TO RESOLVE⟧ · 13/13 required checks

ResultStandardDetail
PASSStatus block tells the user what was checked, fixed and left
PASSLabelled: review by a solicitor or McKenzie friend is optional
PASSNo internal scaffolding (instruction IDs, 'NOT RELEASED', practitioner-only steps)
PASSEvidence cited by file name or exhibit, never by internal ID
PASSNo forbidden vocabulary, invented weekdays, file paths or submissions in evidence
PASSNo unproven absolutes or motive stated as fact
PASSWithin the PD27A limit (25 pages)about 2 page(s), 757 words
PASSStatement of truth in the prescribed words
PASSPD22A marking: party, witness, number of statement, exhibits
PASS'Date made' line
PASSAnswers the other side paragraph by paragraph on their numbering6 paragraph answers
PASSWritten in the witness's own first-person voice28 first-person references
PASSNo case law in a witness statement
PASSIt is the document asked for: a paragraph-by-paragraph reply, not a case summary

Position statement

PASS

1,191 words · about 3 page(s) · PDF 4 page(s) · 4 item(s) marked ⟦TO RESOLVE⟧ · 10/10 required checks

First page of the Position statement
ResultStandardDetail
PASSStatus block tells the user what was checked, fixed and left
PASSLabelled: review by a solicitor or McKenzie friend is optional
PASSNo internal scaffolding (instruction IDs, 'NOT RELEASED', practitioner-only steps)
PASSEvidence cited by file name or exhibit, never by internal ID
PASSNo forbidden vocabulary, invented weekdays, file paths or submissions in evidence
ADVISORYNo unproven absolutes or motive stated as factabsolute_claim: "sole"; absolute_claim: "solely"
PASSWithin the PD27A limit (3 pages)about 3 page(s), 1,191 words
PASSWithin the 1,200-word ceiling1191 words
PASSStates the orders sought
PASSStates the legal test: s.33 Family Law Act 1996 and the balance-of-harm question
PASSIntroduces no new exhibits

Download: Word · PDF

Chronology

PASS

946 words · about 3 page(s) · PDF 2 page(s) · 5 item(s) marked ⟦TO RESOLVE⟧ · 8/8 required checks

First page of the Chronology
ResultStandardDetail
PASSStatus block tells the user what was checked, fixed and left
PASSLabelled: review by a solicitor or McKenzie friend is optional
PASSNo internal scaffolding (instruction IDs, 'NOT RELEASED', practitioner-only steps)
PASSEvidence cited by file name or exhibit, never by internal ID
PASSNo forbidden vocabulary, invented weekdays, file paths or submissions in evidence
ADVISORYNo unproven absolutes or motive stated as factabsolute_claim: "sole"
PASSWithin the PD27A limit (10 pages)about 3 page(s), 946 words
PASSEntries in strict date order14 dated entries
PASSEvery entry names its source17 rows

Download: Word · PDF

User-triggered red-team round

PASS

1,175 words · about 3 page(s) · 8 item(s) marked ⟦TO RESOLVE⟧ · 10/10 required checks

ResultStandardDetail
PASSStatus block tells the user what was checked, fixed and left
PASSLabelled: review by a solicitor or McKenzie friend is optional
PASSNo internal scaffolding (instruction IDs, 'NOT RELEASED', practitioner-only steps)
PASSEvidence cited by file name or exhibit, never by internal ID
PASSNo forbidden vocabulary, invented weekdays, file paths or submissions in evidence
ADVISORYNo unproven absolutes or motive stated as factabsolute_claim: "complete"; absolute_claim: "sole"
PASSWithin the PD27A limit (3 pages)about 3 page(s), 1,175 words
PASSWithin the 1,200-word ceiling1175 words
PASSStates the orders sought
PASSStates the legal test: s.33 Family Law Act 1996 and the balance-of-harm question
PASSIntroduces no new exhibits

How this was tested.

Live, not staged

Run against the production service through the real Cloudflare email-code check, real email confirmation and the real AI drafting queue. Nothing was mocked.

Invented case

The case, people and documents are synthetic. No real person's papers were uploaded. Names are pseudonymised before any AI processing in any case.

Honest results

A step is marked PASS only if the screen showed the expected result when it was taken. Failures are listed with their defect number and status.

Defects found. 0 open.

RefDefectSeverityStatus
D1Confusing error when the Cloudflare email and the registration email differminorfixed (13 Oct release): plain wording naming the security-code email
D2Sign-in text still promises human reviewmajorfixed (release 4)
D3Self-registered users could not start a family or civil casecriticalfixed (release 5)
D4Worker failed every minute, so no drafts were produced for anyonecriticalfixed (release 6)
D5Drafts waited for the next six-hour worker slotmajorfixed (release 6)
D6Getting-started checklist is written for practitioner-managed casesminorfixed (release 8)
D7PCN card quotes credit costs during the free launchminorfixed (release 8)
D8Released draft includes internal practitioner scaffoldingmajorfixed (13 Oct release): released drafts show only the status block, the draft and next steps — verified live
D9Phone photo of a handwritten note could not be readmajorfixed (13 Oct release): photos are read on the server (Tesseract 5.3.4) — verified live, the handwritten note is readable
D10Two entries out of date order and evidence cited by internal IDminorfixed (13 Oct release): chronology sorted by date; file names instead of IDs — verified live (8/8 standards)
D11Plain-English drafting requests skipped the red-team and fix passcriticalfixed (release 7)
D12'Payment required' and a checkout button on every case during the free launchcriticalfixed (release 8)
D13No way to download a released draftmajorfixed (release 9)
D14Litigants had no 'Red-team before filing' or court-document buttonsmajorfixed (release 8)
D15No dates or deadlines extracted from the sealed ordermajorfixed (releases 14–15)
D16Nine automatic 'Review and catalogue' messages appear as if the user wrote themminorfixed (13 Oct release): automatic catalogue requests collapse into one system line
D17Drafts are shown as raw Markdownminorfixed (13 Oct release): drafts render as formatted text (headings, tables, to-resolve marks)
D18Every red-teamed draft failed and waited for the six-hour slotcriticalfixed (release 11)
D19Litigants could not download documents they had just built with an enginecriticalfixed (release 12)
D20Missing engine inputs crashed with a server errormajorfixed (release 12)
D21PCN AI letters never run: the privacy gateway blocks the promptcriticalfixed (release 13, by the PCN session)
D22A release waits for in-flight AI jobsminorfixed (13 Oct release): the release says it waits for AI jobs and caps the wait at 5 minutes
D23Ask-your-files crashed when the model was busymajorfixed (release 13); re-checked 13 Oct: the user now gets a truthful 'AI unavailable' answer instead of a crash
D24Case search from the screen always returned nothingmajorfixed (release 13)
D25z.ai rate limits (HTTP 429) on both keys during burstsmajorfixed (13 Oct release): short back-off and retry on HTTP 429, then the next provider
D26Cataloguing produces no dated facts, so timeline, contradictions and readiness stay emptymajorfixed (13 Oct release): confirmed dates feed case health, contradictions and the evidence graph
D27A request for a paragraph-by-paragraph reply came back as a case summarymajorfixed (13 Oct release): the 12 Oct result was mislabelled by the test script; routing tightened and the heading checked — verified live
D28z.ai Coding Plan quota exhausted after one evening of testing; all AI features stopcriticalfixed (13 Oct release): OpenRouter fallback now actually serves when both z.ai keys are rate-limited — verified live (ask-your-files answered in 8 s; PCN AI letter drafted)
D29Live-update listener warning in the portal logminorfixed (13 Oct release): one live-update listener; streams removed when they close
D30'AI unavailable' answer contradicts itself and mentions an operatorminorfixed (13 Oct release): "The AI is busy right now. Try again in a few minutes. You have not been charged." and 0 credits — verified live
D31Uploads waited up to six hours to be readcriticalfixed (13 Oct release): uploads are read on the next one-minute tick — verified live (all nine readable within a minute)
D32OpenRouter fallback never served: pinned tasks were z.ai only, and the OpenRouter key was not readcriticalfixed (13 Oct releases): z.ai pins keep the OpenRouter rung; the key is read from the environment — verified live
D33Position statement released over the 1,200-word ceilingmajorfixed and retested (14 Oct release 20261014T090830Z): the fix-up step has a 1,080-word budget and over-length drafts are shortened paragraph by paragraph; retest position statement 1,195 words (10/10 standards), red-team round 10/10
D34Statement of truth not in the prescribed wordsmajorfixed (13 Oct release): exact words pinned in the prompts and checked mechanically — awaiting retest
D35Witness statement downloaded as "TO-RESOLVE-statement-number…docx"minorfixed (13 Oct release): the file name uses the document title
D36Evidence graph empty on self-serve casesmajorfixed (13 Oct release): the graph links dates the user confirmed — verified live
D37Red-teamed drafts took 20–55 minutes with no expectation setmajorfixed and retested: two-stage delivery, a quick first version in 2 minutes then the checked version in 27 minutes (max-reasoning draft and red-team, low-effort fixes); user-triggered red-team round 23 minutes; a "draft is ready" email is sent
D38"Ask your files" response returns the full grounding prompt to the browserminorfixed (13 Oct release): the browser gets the passages, not the internal prompt
D39After a release, browsers kept the previous front end for up to an hourmajorfixed (13 Oct release): code and styles revalidate on every load with a content ETag
D40Length cut silently rejected every shortened draftmajorfixed and retested (14 Oct): markers counted inside the draft only; paragraph-by-paragraph cut with quotations and markers protected; the step logs word counts
D41A red-team round removed the s.33 legal test as 'unverified'majorfixed and retested (14 Oct): the statutory tests the platform supplies are exempt and never removed; retest red-team round states the s.33 test