sessiontwin
Live — and you can check it yourself

Close your laptop.
Your agent keeps working.

The work keeps running after you walk away. And when the agent says it is done, a different process checks — one the agent cannot reach.

Step 01 — the agent's claim
youFix the tax rounding in billing. It rounds per line, not at the total.
agentRead invoice.ts and tax.ts.
agentRounding happens per line, then totals.
agentWrote 6 lines.
agentDone.
5 steps·1 claim·0 evidence
Checked by a different process
Contract
Verdict
Ledger
Step 02 — the verdict
verifyRejected. 1 of 2 checks failed.
The verifier · a separate process
  • ✗ rounds-at-the-boundary — got 0, expected 0.01
  • ± sent back with what failed
  • ✓ 2 of 2 passed on the retry
agentVerified, signed, and written to the ledger. You were asleep.
2 attempts·0 self-graded

Proof

Don't take our word for it. Break it.

Every step is signed and hashed into a tamper-evident log. The buttons below attack that log with the most powerful write the platform allows. Every attack gets caught — and your browser does the checking, not our server.

Mission · 9f2c1a4

"The agent said done.
The verifier said no."

2/2
checks passed
Attempts
2 · first rejected
Checked by
A separate process
Ledger root
sha256 4b1c…9ef
Signed by the runtime, not the agent sessiontwin

The Twin

It learns how you decide, so it stops asking.

Nothing is stored and nothing is trained. It re-reads your past answers every time, shows you which ones it used, and unlearns the moment you delete one.

🧬 Twin · not a model
#0421

Your Twin

From 37 answers you gave · re-read every time

Precedent · unanimous 3 of 3
Answers used3
Given by you3
Answered the other way0
Stored anywhere0
What it learnsHow you decide
When it answers aloneOnly if you never disagreed
To correct itDelete the answer
What it will answer

delete <n> generated files under <path> → approve

You answered "approve" the last 3 times, and never otherwise.

See the answers it used →
Precedent · 01
Pattern
delete <n> generated files under <path>
You said
approve, approve, approve
Now
It answers, and shows you the three.
Precedent · 02
Pattern
force-push <path>
You said
deny twice, then approve once
Now
Still asks. You have answered it both ways.
Precedent · 03
Pattern
run the migration against production
You said
nothing — this is the first time
Now
It stops. This is what it wakes you for.
Precedent · 04
Pattern
publish the release notes
You said
approve × 3 — then you deleted one
Now
Back to asking. Deleting un-teaches it.

Contracts

"Done" is defined before the work starts.

A contract lists the checks that must pass. It is written before the agent sees the job, and nobody can lower it afterwards — not the agent, not us.

Contract

The frozen bar

Written first, then the author leaves.

Must pass

  • rounds-at-the-boundary
  • empty-invoice-is-zero

Cannot happen

  • The agent editing the bar
  • A check quietly leaving it
Contract

The check only a person can meet

Where no automated evidence exists.

Must pass

  • A named person signs it off
  • Until then it is unmet

Cannot happen

  • Passing by default
  • Disappearing in silence
Contract

The check that refuses

Where the runtime cannot run it.

Must pass

  • It refuses instead of failing
  • The mission waits

Cannot happen

  • "Rejected" against correct work
  • A missing tool read as a bug
mission-9f2c1a4 · contract
// frozen before the agent sees the job

CONTRACT                          update: false
- rounds-at-the-boundary   roundTax([.004,.004,.004]) → 0.01
- empty-invoice-is-zero    total([]) → 0

AGENT                               tools: none
- gets the inputs, never the answers
- has no tool that calls the verifier

VERDICT     a different function, a different isolate
LEDGER      append-only · create/update/delete: false

Start a mission. Close the laptop.

It runs without you, and stops only when there is no rule and no precedent to follow.

Not true yet: the scheduler. A mission needing a second round waits for something to restart it. The rest →