Worked example
kootano.com
6 September 2026
Sixty seconds
Write a goal in a sentence. Watch a real browser go after it. Then argue with what it found.
Every capture below is the console itself, testing a live public site. Kootano is a Persian platform of fifteen minute book summaries, so the run also exercises right to left layout and Persian text. Nothing here is a mockup.



04The action log. Each line is what the worker chose and why, recorded before the click happened.
What the worker actually did
Three clicks and a verdict, each with its reason on the record.
- step-000 Click the search link in the header
- step-001 Type عادت into the search box
- step-002 Open the summary عادت شجاعت from the results
- step-003 Finish: goal reached
Seven calls to Claude Opus 5 at medium effort, 96,591 input and 5,105 output tokens, an estimated 1.09 US dollars at published list prices. The run used a subscription, so nothing was billed per call. The estimate exists to compare runs with each other.
05Browser evidence for the fourth observation, captured beside the action that produced it.
Evidence
A screenshot is not evidence on its own. The measurements beside it are.

Recorded on the summary page, step-003.
| Largest contentful paint | 3724 ms |
|---|---|
| Cumulative layout shift | 0.707 |
| Interaction | 16 ms |
| Time to first byte | 438 ms |
| Requests | 250 |
| Long tasks | 0 |
The console labels the interaction figure itself: "Maximum observed interaction duration in this lab visit; not a field percentile." A measurement the browser did not expose is written as unavailable and never as zero, because a zero would quietly read as a perfect score.
The worker is a language model with no hands. These are the reasons it stays that way.
Bounded by design
The AI chooses the next click. It cannot do anything else.
- Safe mode, empty tool set. The Claude client starts with an empty tool set, an empty MCP configuration, no session persistence and a short task-only system prompt. Codex starts ephemeral, ignoring user config, in a read-only sandbox with its shell tool disabled.
- Schema-validated actions. The worker answers with one structured action or one evaluation. Anything else is refused, and two refused or malformed answers in a row end the run.
- Restricted keyboard. Only navigation keys, plus Enter inside a live search box. Any other key is refused rather than risking an unintended form submission.
- Read-only network. POST, PUT, PATCH and DELETE are blocked by default so no account or payment can change. This run had eight requests blocked, and the count is reported so a resulting failure is never blamed on the product.
- Domain allow list. The run is confined to the domains the mission names. Everything else is refused at the browser.
- No credentials typed. Public browsing only unless a reviewed test persona is imported deliberately.
Evidence stays on this machine. The worker receives selected observations, not your filesystem. Runs are replayable, so a claim made in September can be re-measured in October under the same conditions.
07The same mission, replayed, compared against the first run.
Run it again
One run is an anecdote. The second run is where the argument starts.
Replaying the mission took 134.62 seconds and produced two findings the first run had never seen, thirteen that persisted, and none that disappeared. The interesting one is a measurement, not an opinion.

New in the replay. Severity P2, performance, evidence step-001.
Very slow server response measured when loading the search page.
A second model reviewed this finding against the raw observation and marked it probable, not confirmed, for two stated reasons: the homepage comparison figure was not in the evidence it was given, and a single sample cannot rule out a cold start. A finding a critic has not confirmed costs half as many points. The console shows you the disagreement instead of resolving it silently.
08A deterministic audit of the home page. No AI calls, 17.78 seconds.
Not scored is not zero
The gap in the report is the honest part.
The same site, audited without an AI worker. Four pillars have deterministic checks and get a number. Conversion has none, so the console writes the reason instead of inventing a figure.
| Pillar | Audit | Journey |
|---|---|---|
| Functionality | 85 | 85 |
| CRO | Not scored | 95 |
| SEO / AEO | 95 | 72 |
| UX / Accessibility | 100 | 95 |
| Performance / Video | 85 | 0 |
| Overall | 91 of 100 · 4 of 5 | 69 of 100 · 5 of 5 |
Reason recorded against the blank: "CRO needs an AI review; this run completed none." Performance scored a real zero in the journey run, from six confirmed P2 findings on slow paint and layout shift. The two look nothing alike in the console, and that is the point.

How a score is computed. Printed beside every score in the console.
Each selected pillar starts at 100 and loses points for its open, non-rejected findings (P0 and P1 cost 40, P2 costs 15, P3 costs 5; a finding an AI critic has not confirmed costs half). A journey that did not reach its goal costs Functionality 30. A pillar that was not evaluated is not scored, which is different from scoring zero. This rates the findings recorded in this run. It is not a field measurement or an industry benchmark.
Runs at 127.0.0.1:8741. Local access only.