Behavioral verification · Kane CLI

Changesonething.Provesnothingelsemoved.

Kane CLI records what a known-good app does in a real browser. When a coding agent edits it, LENS replays the neighboring flows — and blocks the stop if something nobody asked to touch moved anyway.

The real failure mode

Everyoneaskswhetherthenewfeatureworks.

LENSanswersthescarierone.

What happens when the agent is up but wrong — and it changed a behavior you never asked it to? Seat counts. Billing math. A neighboring flow that still looks fine in the UI. Even a capable model still does this. LENS is the layer that catches it before the agent is allowed to finish.

Feature tests

Assertions keep the new behavior working.

Table stakes — every suite sells it.

Fail-safe verification

LENS keeps the agent from shipping the unauthorized thing.

The differentiator — and the part that matters.

The verification layer

Resilienceateverylayer.

Six controls that turn a capable coding agent into one you can let finish — Kane for browser truth, LENS for everything you did not mean to change.

Kane CLI

Kane is the truth engine

A real Chrome replays committed browser contracts. LENS does not mock the browser, screenshot-diff the UI, or trust the coding agent to mark itself done.

store-as

Semantic observations

Kane stores what the page actually showed — active members, billable seats, monthly total — not selectors or pixels. That is the state LENS compares.

Flow map

Behavioral blast radius

git diff is mapped onto business flows. A change in shared money math is not a billing-only change — neighboring flows get replayed too.

Comparator

Protected vs expected

SAME stays green. EXPECTED_CHANGE is the feature you asked for. UNEXPECTED_CHANGE is everything else — and it blocks the agent.

Claude Code

Stop hook is the gate

When Claude Code tries to finish, LENS runs. Red means the agent cannot stop. The Kane evidence is the message it has to act on.

Receipts

Evidence, not vibes

Every unexpected delta links back to the Kane run that produced it. Flow, observable, known-good, candidate — checkable in a real browser.

End-to-end flow

Everystoprunsthroughthebrowser.

The failure handling is the product. A real Chrome decides whether protected behavior still matches the trusted build — not the coding agent that just edited it.

01

Baseline

On a known-good build, Kane replays the committed browser contracts and stores semantic observations. That file is the trusted behavior.

02

Change

A coding agent edits the app. LENS reads git diff, maps changed files onto business flows, and decides what has to be replayed.

03

Verify

Kane replays those flows in real Chrome. LENS compares each protected observable to the baseline: SAME, EXPECTED_CHANGE, or UNEXPECTED_CHANGE.

04

Block or ship

An unexpected delta blocks the Stop hook and feeds Kane evidence back to the agent. Zero unexpected deltas — and only then — is SAFE TO SHIP.

The demo

Samerequest.Oneagentchangestwothings.

We ask for annual billing with a 10% discount. The feature works. Then Kane replays member removal — and LENS finds billable_seats 4 → 5.

Naive agent

Feature tests only. Ship it.

  • Annual discount works. The requested feature is green.
  • Removing Maya still hides her. The UI looks fine.
  • Billing still counts the removed seat. Nobody asserted that number.
LENS

Kane replayed the neighboring flow too.

  • Annual billing is an expected change. That is allowed.
  • Member-removal billable seats moved 4 → 5. Unexpected.
  • The Stop hook blocks. Claude has to fix the seat math.

Read the code. Watch the gate.

Seatline is a small billing app. LENS is the verification layer around it. The failure and the recovery are real Kane runs in Chrome — no theater.

Built for the brief

Kane provides the browser truth. LENS protects everything you did not mean to change. The agent does not get to mark itself done.

LENS

AI changes one thing. LENS proves nothing else moved. Behavioral verification for AI-written software, with Kane CLI as the browser truth engine.

© 2026 LENS. Built to prove the neighboring behavior still holds.

Kane decides when it is safe to ship