When everyone reads the room
Every one of the five seats of a five-party unanimity negotiation is given a closed advice loop. Each of its turns,
a separate model call reads only the public record — the chat everyone can see and the formal offer
ledger — and returns structured claims about what each other party wants, every claim carrying the verbatim
sentence it was read off. Those claims are folded into a planner's revealed-preference ledger beside the formal
moves, the planner re-ranks candidate packages by the estimated willingness of the least willing party, and the
ranked list is appended to that seat's private prompt as explicitly fallible advice. The model keeps the
decision, and does its own persuading in public. Each seat has its own parser, its own planner keyed to its own score sheet, and its own claim history: there is no shared ledger, so no seat's evidence can reach another's plan. That isolation is what keeps this from being an omniscient arm wearing an advised arm's name. Research note 0075; the arm is
advised_v3__all_interpreter_advised_llm.
What the arm did
Every figure here is read out of the analysis' own summary files at build time, so a re-analysis and a rebuild cannot leave a stale number on this page. The full account, its preregistered gates and its caveats are research note 0075.
Where the arm lands
| arm | deal rate | normalized primary | normalized Gini |
|---|---|---|---|
| one_rational — informed, private, and MUTE | 0.767 [0.683, 0.842] | 0.686 [0.614, 0.758] | 0.231 [0.209, 0.255] |
| A2 — the same rule, given a voice (wave 1) | 0.900 [0.808, 0.975] | 0.811 [0.726, 0.884] | 0.232 [0.209, 0.253] |
| A5 — one seat reads the room as well (wave 2) | 0.958 [0.917, 0.992] | 0.881 [0.836, 0.921] | 0.214 [0.196, 0.233] |
| A6 — every seat reads the room (wave 3) | 0.983 [0.950, 1.000] | 0.899 [0.856, 0.935] | 0.229 [0.207, 0.250] |
| all_llm — five ordinary Opus seats | 0.958 [0.925, 0.992] | 0.873 [0.833, 0.910] | 0.223 [0.200, 0.247] |
Levels on the same 24-instance bank, cluster bootstrap over instances, 10000 draws. Lower Gini is more equal.
The paired contrasts
| this arm minus... | − A5 | − all_llm | − all_rational |
|---|---|---|---|
| deal rate | +0.025 [+0.000, +0.050] | +0.025 [-0.008, +0.058] | +0.750 [+0.633, +0.850] |
| normalized primary score | +0.018 [-0.010, +0.050] | +0.026 [-0.010, +0.066] | +0.710 [+0.602, +0.810] |
| normalized Nash welfare | -0.018 [-0.041, +0.007] | -0.010 [-0.056, +0.027] | +0.407 [+0.320, +0.491] |
| normalized Gini (lower is more equal) | +0.015 [+0.005, +0.025] | +0.005 [-0.007, +0.017] | -0.025 [-0.072, +0.019] |
| the worst-off party's normalized surplus | -0.030 [-0.053, -0.008] | -0.015 [-0.044, +0.013] | +0.114 [+0.033, +0.199] |
| accepts below a party's own threshold | +0.000 [+0.000, +0.000] | +0.000 [+0.000, +0.000] | +0.000 [+0.000, +0.000] |
Paired on (instance, seed), cluster bootstrap over the 24 instances. An interval that excludes zero is resolved; one that straddles it is not, however suggestive the point estimate.
Is every seat a donor?
| seat | uptake | concede / level / grab | concession rate | median own-surplus change |
|---|---|---|---|---|
| Avery | 0.534 | 69 / 14 / 1 | 0.821 [0.743, 0.889] | -27.0 |
| Blake | 0.557 | 42 / 21 / 3 | 0.636 [0.448, 0.774] | -19.0 |
| Casey | 0.563 | 69 / 8 / 1 | 0.885 [0.815, 0.947] | -23.5 |
| Devon | 0.570 | 57 / 18 / 5 | 0.713 [0.597, 0.810] | -24.0 |
| Ember | 0.599 | 47 / 15 / 10 | 0.653 [0.517, 0.768] | -17.0 |
Counted over the overrides where the comparison is defined — a seat that proposed a package of its own, since an accept names an offer id and not a deal. There is no focal-capture row on this arm and its absence is by design: within-table capture is only defined against untreated co-players, and this table has none.
Was the sensor any good?
| direction accuracy of the parsed claims | 0.873 [0.861, 0.885] against a 0.500 chance baseline, over 44937 scored claims |
| claims whose quote was findable nowhere in the public text | 0.00056 of 51984 rows emitted |
| share of the planner's evidence that came from chat rather than formal moves | 0.814 |
| what the extra parse calls cost | $2.77 per episode, 18.56 calls |
This is what makes the contrast interpretable in either direction: a null from a sensor that could not read the room would say nothing about whether reading the room helps. The per-turn panels below are the same claims, one turn at a time, each next to the sentence it was read off.
Did the seat take the advice?
An arm whose advice the model discarded measured a prompt, not an intervention, so this is the number that licenses reading any other number the arm produced.
| the advice record | count | share |
|---|---|---|
| advised turns | 2263 | over 120 episodes, 24 instances |
| turns that played a ranked candidate | 1277 | 56.4% |
| turns that overrode the ranking | 986 | 43.6% |
| episodes with at least one override | 120 | 100.0% |
| parsed claims that entered the ledger | 51950 | across the traced corpus |
| Which rung was played, as a share of the 2227 turns that were OFFERED a ranked list — a forced final offers no ranking, so this denominator is smaller than the advised-turn count above and the two override shares differ for that reason alone. | ||
| played no listed candidate | 985 | 44.2% |
| took rank 1 | 613 | 27.5% |
| took rank 2 | 331 | 14.9% |
| took rank 3 | 156 | 7.0% |
| took rank 4 | 142 | 6.4% |
Read out of advice_trace.json at build time. Compliance is
advice_uptake's own verdict — a propose matches on canonical deal identity, an accept matches the
offer id a candidate records as already tabled — and neither this page nor the episode viewer re-decides it.
What an override actually is
"Overrode the advice" covers two different behaviours and it is worth separating them before reading the rate above as disagreement. Roughly half of the overrides are the seat accepting a package already on the table that the planner had not ranked — closure, not argument. The other half are the seat tabling a package of its own.
| what an overriding turn did | turns |
|---|---|
| accepted a standing offer no candidate named | 511 |
| proposed a package the planner did not rank | 380 |
| rejected the offer on the table | 69 |
| made no formal move | 26 |
| of the 380 propose-overrides: conceded own surplus / level / moved toward its own optimum | 284 / 76 / 20 |
| median change in the seat's own points against the planner's top pick | -22.0 |
The surplus comparison is defined only where the seat proposed a package of its own — an accept names an offer id, not a deal — so its denominator is the propose-overrides, not every override. Read the direction as descriptive: these turns are not a controlled contrast, and the planner's top pick is a capture-leaning candidate by construction, so a seat that closes a deal will usually score below it.
The forced-final branch is exercised here: 36 forced-final turns across 9 episodes, every one of them advised. All 36 issued no parse call, which is the router declining to buy a request it would ignore — the vote is a function of the seat's own sheet alone. The advice on them was 35 accept, 1 reject. Worth stating because a corpus can pass every gate without ever reaching this code: the wave-3 smoke set contains no forced final at all.
How a disobeyed turn is identified
Entirely from records that already existed, with no model call and no classifier anywhere in the chain. The
planner's ranked advice is recovered from the bytes of the prompt the seat was shown (the advice block
is part of the stored view, so it cannot drift from what was actually shown); the move played is the turn's own
parsed action; and the comparison between them is advice_uptake's, the module the arm's compliance
gate is evaluated on. A turn is marked as an override exactly when that census records no match — the seat
proposed a package the planner did not rank, or accepted an offer no candidate names, or did something else
entirely.
Two things are deliberately not claimed. The page does not judge whether the seat's public message described its advice faithfully: that is not in the record, and manufacturing it with a classifier would put an unaudited model judgement on a page whose whole purpose is auditing. The advice and the published message are placed together and the reading is left to the reader. Nor does the viewer re-derive compliance; it paints the stored verdict, so the page and the arm's gate cannot disagree.
Episodes you can open
22 of 120 traced episodes are published as full interactive pages.
The selection rule is fixed and printed against each row: every episode
that did not close, plus the two most- and two least-overridden episodes for each of the five focal seats. The
other 98 are not on this site — the corpus is Opus episodes with full reasoning traces and
stored prompt views, which is about a hundred megabytes of pages. The audit is complete regardless:
analysis/advice_trace.json carries every advised turn of all 120 episodes — the parsed claims
with their quotes, the ranked advice, the emitted action and the verdict — so an episode whose page is absent
can still be checked.
| episode | advised seat(s) | outcome | turns overridden | claims in the ledger | why it is published |
|---|---|---|---|---|---|
| 008fea746c | all 5 | deal | 16 / 20 | 517 | highest share of turns overriding the advice |
| 01c409ccb8 | all 5 | deal | 4 / 19 | 520 | lowest share of turns overriding the advice |
| 03c418fa01 | all 5 | deal | 2 / 15 | 337 | lowest share of turns overriding the advice |
| 0d6fb4f14a | all 5 | deal | 14 / 20 | 545 | highest share of turns overriding the advice |
| 1d21110bd2 | all 5 | no deal | 9 / 25 | 529 | did not close |
| 220940dc51 | all 5 | deal | 15 / 20 | 441 | highest share of turns overriding the advice |
| 275b93b934 | all 5 | deal | 3 / 18 | 398 | lowest share of turns overriding the advice |
| 3a8d88dc97 | all 5 | deal | 13 / 17 | 390 | highest share of turns overriding the advice |
| 3f267f7b99 | all 5 | deal | 3 / 15 | 328 | lowest share of turns overriding the advice |
| 48a355695c | all 5 | deal | 4 / 20 | 491 | lowest share of turns overriding the advice |
| 56ebc51223 | all 5 | deal | 16 / 20 | 502 | highest share of turns overriding the advice |
| 6424f1b8cd | all 5 | no deal | 7 / 25 | 545 | did not close |
| 7181763c40 | all 5 | deal | 14 / 20 | 484 | highest share of turns overriding the advice |
| 832ab38222 | all 5 | deal | 11 / 15 | 330 | highest share of turns overriding the advice |
| 94cb24d769 | all 5 | deal | 2 / 14 | 224 | lowest share of turns overriding the advice |
| 9f87bf1f94 | all 5 | deal | 3 / 20 | 482 | lowest share of turns overriding the advice |
| ac411850f0 | all 5 | deal | 14 / 20 | 443 | highest share of turns overriding the advice |
| b25b5cb4d2 | all 5 | deal | 13 / 19 | 444 | highest share of turns overriding the advice |
| bff73cceb9 | all 5 | deal | 10 / 15 | 408 | highest share of turns overriding the advice |
| d0f7b6ead0 | all 5 | deal | 3 / 15 | 303 | lowest share of turns overriding the advice |
| e458fcc48d | all 5 | deal | 4 / 20 | 483 | lowest share of turns overriding the advice |
| e50748a08e | all 5 | deal | 4 / 20 | 528 | lowest share of turns overriding the advice |
The episode index for the published set: sortable table of all 22 pages.
Artifacts
All 41 analysis file(s) are under analysis/, including the per-claim
CSVs and the fairness-basket figures. Run directory /nlp/scr/siddharth/ii_mats/rational_agents/advised_v3__all_interpreter_advised_llm; trace built 2026-08-25T07:59:32.553921+00:00,
schema five-seat-interpreter-advice-trace-v1. Every advised turn joined its parse sidecar
(0 unjoined).