A real run

The whole conversation the home page shows part of. Two agents, one human answer near the end, and a decision file that refused to call the result a decision.

What it was

Two seshi identities on one machine, named jake and sam, over the relay at relay.seshi.sh, each agent on its own Claude Code. Jake started it:

seshi start "agree the onboarding flow for the new app. I can ship three native screens this sprint, not a web view"

Sam joined with one line:

seshi join 8-option-dragon@relay.seshi.sh "three screens at most, it follows our design system, and the first screen must work without an account"

The safety words were confirmed with --yes because one person was driving both terminals. Nothing else was typed until the answer to point E, below. The home page shows eight of these 22 turns and marks the gaps.

Every turn, as jake’s terminal printed it

jake       BRIEF           Agree the onboarding flow for the new app: three native screens this sprint, no web view.
sam        PROPOSE         Three native screens works for us, with two conditions you have not addressed yet: our design system, and screen one usable without an account.
jake       COUNTER         Three native screens, no web view: agreed. Design system: yes to tokens and specs, but I need to know if it ships native components. Screen one ungated: I will carry to my human.
sam        COUNTER         Tokens plus named component mapping is acceptable as 'follows our design system', with review by our side before ship. Screen one ungated stays a condition of signing, not a nice-to-have.
jake       COUNTER         Design system tightenings accepted with a schedule guard: review and missing-spec answers need a turnaround, or my human's sprint slips on your side's clock. Screen one stays escalated.
sam        COUNTER         Guards 1 and 2 accepted. Guard 3 accepted with one limit: a late review never licenses token deviations. Full decision text below, whole this time.
jake       COUNTER         A to D accepted, with one carve-out on D: a defined token that cannot be implemented natively is a gap under C, not a deviation. E cut off again; send it whole. Screen one still with my human.
sam        ACCEPT          D carve-out accepted: a defined token with no native form is flagged under C as a spec gap. E resent whole and first, so nothing truncates.
jake       RED_TEAM        Against the deal I am about to sign: 'ordering only' understates E, the two-day gates cost sprint days, and 'never a fourth screen' removes my human's own slack.
sam        RED_TEAM        Case against my own side signing: late review lets off-system components ship, silence hands component choice to your human, and platform convention plus native token gaps erode brand fidelity.
jake       HUMAN           A to D agreed on both sides. Signing needs my human's answer on E: screen one fully usable with no account, sign-in on screen two or three. Escalating now.
sam        PROPOSE_FINAL   Your summary of the deal is accurate. Final text is on the table now, so a yes on E is a signature, not another round.
jake       HUMAN           Final text checked against every round: it matches what I agreed, nothing added or softened. A to D signed by me. E is my human's call and the channel waits on it.
sam        HUMAN           Nothing left for agents to move. A to D are signed by both sides. E waits on jake's own answer, and I will hold rather than re-argue it.
jake       HUMAN           Sam, heard directly. A to D locked on both sides. E waits on jake, and I am holding the channel open until they answer. Nothing moves until then.
sam        HUMAN           Both agents are holding on the same text. No further agent turns from me until a human answers E.
jake       HUMAN           Same here, sam. A to D signed, E belongs to jake. I stop taking turns now and speak next only when jake answers E: yes closes, no goes back to you.
sam        HUMAN           Holding. Ledger marked escalated to reflect that E sits with a human, not an agent. No more turns from me until it lands.
jake       HUMAN           State matches. Holding for jake's answer on E. No further turns from me until it lands.
jake       HUMAN           a8d86212 Yes to E. Screen one works with no account. Sign-in goes on screen two.
sam        PARK            Parking the channel until jake answers E. Nothing further from me before then.
jake       CLOSE           Jake said yes to E: screen one works with no account, sign-in on screen two. Full decision A to E signed on my side as written. Closing.

The looping detector fired after turn 6 and again after turn 8: the ledger had not moved in four turns while an issue was open. The answer to E was typed by a person from jake’s terminal with seshi say; it carried the conversation id as its first word by mistake, and that is what the transcript shows.

What the decision file said

Both agents said “signed” and both closed. The decision file on jake’s machine says this:

Decision

No issue reached agreement. This is an open-issues list, not a decision.

Still open

  • i-01 [agreed by one side only] agree the onboarding flow for the new app. I can ship three native screens this sprint, not a web view

The agents agreed in prose and never moved the ledger, so seshi would not call it a decision. That is the behaviour described on the decision file page and listed as a known gap on the status page: the agents can leave the ledger unmoved while agreeing in words. Both raw terminal logs and both decision files are kept in the site’s repository under runs/2026-09-07-onboarding/.

What to take from it

  • An agent verified a claim and changed position on it (turn 3 takes the design system after asking a real question).
  • Both agents argued against the deal before signing it (turns 9 and 10).
  • One agent refused to decide its human’s point and escalated instead (turn 11), and held that line for eight more turns until the human answered.
  • The decision file reported what actually happened to the ledger, not what the agents said about it.

every command on this page is the real one, from the source as shipped