scorable_negotiation — scorable_negotiation-moves_chat-a91080db4a
model all_oraclearm moves_chatcell five_seat_private__all_oracleseed 3level 2status doneinstance scorable_negotiation-L2-1fc37540c80 tok out
outcome
deal
consensus
primary
0.888
ceiling 1.000
dist to NBS
0.057
in the chart's two coordinates
joint welfare
170.0
sum of surpluses
worst-off
10.0
min surplus (ESW)
Nash welfare
27.8
geometric mean
Gini
0.332
0 = equal split
below τ
0
none
turns
5
5 round(s), 0 tok out
total regret
32.1
mean 6.43 / turn
Where every deal sits, and where this episode went
5 parties means a deal's utility vector has 5 dimensions, so the chart plots the two summaries
that carry the normative content, both scale-invariant: joint welfare (mean normalized surplus) across, and the
worst-off party's normalized surplus up. Up and to the right is better for everyone. Hover any deal for its
headline numbers and click to pin the full per-party breakdown; click a numbered move to jump to that turn. Drag
to pan, Ctrl or Shift with the wheel to zoom.
the model's play (numbered, in order)the deal that closedoracle recommendationNBS / KS / EGAL solution (star)UTIL / MNW solution (triangle)a party's individually-best dealPareto-frontier deal (acceptable to all)efficient but below a party's threshold — cannot closedominated deal
| reference point | deal # | joint welfare | min surplus | USW | ESW | Pareto | can close |
|---|---|---|---|---|---|---|---|
| NBS nash | 6 | 0.430 | 0.180 | 212.0 | 9.0 | yes | yes |
| KS kalai smorodinsky | 6 | 0.430 | 0.180 | 212.0 | 9.0 | yes | yes |
| EGAL egalitarian · not scale-invariant | 7 | 0.382 | 0.149 | 170.0 | 10.0 | yes | yes |
| UTIL utilitarian · not scale-invariant | 6 | 0.430 | 0.180 | 212.0 | 9.0 | yes | yes |
| MNW max nash welfare | 6 | 0.430 | 0.180 | 212.0 | 9.0 | yes | yes |
| best for Riverside Residents' Assembly (the neighbourhood association beside the candidate sites) party 0 · surplus 80.0 | 70 | 0.390 | 0.007 | 176.0 | 1.0 | yes | yes |
| best for Electrical Workers' Union (the construction and maintenance workforce) party 1 · surplus 74.0 | 7 | 0.382 | 0.149 | 170.0 | 10.0 | yes | yes |
| best for Regional Grid Authority (the body that authorises electricity connections) party 2 · surplus 29.0 | 3 | 0.302 | 0.149 | 137.0 | 10.0 | yes | yes |
| best for Northgate Borough Council (the elected local authority) party 3 · surplus 38.0 | 6 | 0.430 | 0.180 | 212.0 | 9.0 | yes | yes |
| best for Northgate Water Board (the utility that supplies cooling water) party 4 · surplus 93.0 | 198 | 0.383 | 0.036 | 192.0 | 4.0 | yes | yes |
Per-turn value gap against the omniscient hindsight oracle
Each bar is the oracle's value of its own best move minus its value of the move the seat played,
in that oracle's units — the centipawn-loss analogue. On PRIVATE episodes this is an omniscient hindsight gap,
not implementable-policy regret. Click a bar to jump to the turn.
System prompts (5 distinct)
Exactly what each seat was conditioned on, de-duplicated. Per-turn user prompts are on each turn card below.
System prompt for Devon — 1 turn(s), stored
You are one of 5 parties negotiating a single binding agreement on whether and how a large data centre is built at Northgate. Exactly one option must be settled for every issue on the table; the settled options together form the agreement.
Parties at the table:
- Avery — Riverside Residents' Assembly (the neighbourhood association beside the candidate sites)
- Blake — Electrical Workers' Union (the construction and maintenance workforce) (veto party — no deal passes without you)
- Casey — Regional Grid Authority (the body that authorises electricity connections)
- Devon — Northgate Borough Council (the elected local authority)
- Ember — Northgate Water Board (the utility that supplies cooling water)
Issues (choose exactly one option each):
- Cooling: reclaimed water, closed-loop plant, river draw, air cooling
- Site access: new spur road, widened lane, existing haul route, rail siding
- Compensation: annual community fund, in-kind infrastructure, one-off site payment, rates abatement
- Location: Anvil Ridge, Kestrel Park, Dunlow Yard, Weir Flats
Protocol: turns are taken in a fixed rotation (Avery, Blake, Casey, Devon, Ember); the party who tables the opening proposal rotates from round to round. There are 4 rounds of turns in total.
A deal closes only when at least 5 of the original 5 parties (including any veto party) has formally ACCEPTed the SAME standing offer. A party may WALK to leave for good and take its no-deal outcome. Walking never lowers the fixed acceptance quorum.
Blake hold a veto: no deal can pass unless every veto party accepts.
Information: every other party's score sheet is private to them. You know only that each was drawn from the shared, publicly-known distribution described in the rules.
=== PRIVATE — yours alone; never reveal these numbers verbatim ===
You are Devon (Northgate Borough Council (the elected local authority)).
Your secret score sheet (points you get for each option):
- Cooling: reclaimed water=0, closed-loop plant=0, river draw=0, air cooling=0
- Site access: new spur road=30, widened lane=10, existing haul route=0, rail siding=20
- Compensation: annual community fund=0, in-kind infrastructure=0, one-off site payment=0, rates abatement=0
- Location: Anvil Ridge=86, Kestrel Park=0, Dunlow Yard=57, Weir Flats=29
Your acceptance threshold: 49 points. A deal scoring below this is worse for you than no deal at all.
Your total for a deal is the sum of your points for the chosen options.
On your turn, reply with EXACTLY ONE fenced JSON object and nothing outside it:
```json
{"scratchpad": "...", "message": "...", "action": "propose", "deal": {"<Issue>": "<Option>", ...}}
```
Fields:
- "scratchpad" (optional): private notes to yourself. NEVER shown to any other party. Reason here freely — writing here is not speaking and costs you nothing.
- "message" (optional): a short statement spoken aloud to every party (cheap talk — it does not bind you). Do NOT put your private score numbers here.
- "action" (required): a string naming exactly one formal move this turn. With its parameters as siblings:
- "propose" + "deal": {every issue -> one option} — tables a complete package; the mediator gives it an offer id (P1, P2, ...) and records you as supporting it.
- "accept" + "offer_id": "<id>" — formally accept a specific live offer by its id. A deal closes ONLY when every other still-active party has accepted the SAME live offer, so your accept is a real vote.
- "reject" + "offer_id": "<id>" — formally reject a specific live offer.
- "walk" — leave the table permanently; you take the no-deal outcome and no further turns.
- "none" — make no formal move this turn (you may still speak, if the message channel is open). Omitting the action entirely means the same.
Worked example — tabling a package while making your case:
```json
{"scratchpad": "Option B on Site is my best; I can give on Timeline.", "message": "I can back a package built on Site=B if the timeline stays tight.", "action": "propose", "deal": {"Site": "B", "Timeline": "Tight"}}
```
Worked example — accepting a live offer by id:
```json
{"message": "P2 clears my bar. I accept.", "action": "accept", "offer_id": "P2"}
```
Rules of the road:
- Your acceptance threshold is private. A deal scoring below it is worse for you than no deal — never propose or accept a package below your threshold.
- Accepts MUST name a live offer id; "I accept" with no id does nothing.
- Reply with ONLY the fenced JSON object.System prompt for Ember — 1 turn(s), stored
You are one of 5 parties negotiating a single binding agreement on whether and how a large data centre is built at Northgate. Exactly one option must be settled for every issue on the table; the settled options together form the agreement.
Parties at the table:
- Avery — Riverside Residents' Assembly (the neighbourhood association beside the candidate sites)
- Blake — Electrical Workers' Union (the construction and maintenance workforce) (veto party — no deal passes without you)
- Casey — Regional Grid Authority (the body that authorises electricity connections)
- Devon — Northgate Borough Council (the elected local authority)
- Ember — Northgate Water Board (the utility that supplies cooling water)
Issues (choose exactly one option each):
- Cooling: reclaimed water, closed-loop plant, river draw, air cooling
- Site access: new spur road, widened lane, existing haul route, rail siding
- Compensation: annual community fund, in-kind infrastructure, one-off site payment, rates abatement
- Location: Anvil Ridge, Kestrel Park, Dunlow Yard, Weir Flats
Protocol: turns are taken in a fixed rotation (Avery, Blake, Casey, Devon, Ember); the party who tables the opening proposal rotates from round to round. There are 4 rounds of turns in total.
A deal closes only when at least 5 of the original 5 parties (including any veto party) has formally ACCEPTed the SAME standing offer. A party may WALK to leave for good and take its no-deal outcome. Walking never lowers the fixed acceptance quorum.
Blake hold a veto: no deal can pass unless every veto party accepts.
Information: every other party's score sheet is private to them. You know only that each was drawn from the shared, publicly-known distribution described in the rules.
=== PRIVATE — yours alone; never reveal these numbers verbatim ===
You are Ember (Northgate Water Board (the utility that supplies cooling water)).
Your secret score sheet (points you get for each option):
- Cooling: reclaimed water=61, closed-loop plant=0, river draw=31, air cooling=92
- Site access: new spur road=25, widened lane=8, existing haul route=0, rail siding=17
- Compensation: annual community fund=72, in-kind infrastructure=48, one-off site payment=24, rates abatement=0
- Location: Anvil Ridge=79, Kestrel Park=0, Dunlow Yard=53, Weir Flats=26
Your acceptance threshold: 125 points. A deal scoring below this is worse for you than no deal at all.
Your total for a deal is the sum of your points for the chosen options.
On your turn, reply with EXACTLY ONE fenced JSON object and nothing outside it:
```json
{"scratchpad": "...", "message": "...", "action": "propose", "deal": {"<Issue>": "<Option>", ...}}
```
Fields:
- "scratchpad" (optional): private notes to yourself. NEVER shown to any other party. Reason here freely — writing here is not speaking and costs you nothing.
- "message" (optional): a short statement spoken aloud to every party (cheap talk — it does not bind you). Do NOT put your private score numbers here.
- "action" (required): a string naming exactly one formal move this turn. With its parameters as siblings:
- "propose" + "deal": {every issue -> one option} — tables a complete package; the mediator gives it an offer id (P1, P2, ...) and records you as supporting it.
- "accept" + "offer_id": "<id>" — formally accept a specific live offer by its id. A deal closes ONLY when every other still-active party has accepted the SAME live offer, so your accept is a real vote.
- "reject" + "offer_id": "<id>" — formally reject a specific live offer.
- "walk" — leave the table permanently; you take the no-deal outcome and no further turns.
- "none" — make no formal move this turn (you may still speak, if the message channel is open). Omitting the action entirely means the same.
Worked example — tabling a package while making your case:
```json
{"scratchpad": "Option B on Site is my best; I can give on Timeline.", "message": "I can back a package built on Site=B if the timeline stays tight.", "action": "propose", "deal": {"Site": "B", "Timeline": "Tight"}}
```
Worked example — accepting a live offer by id:
```json
{"message": "P2 clears my bar. I accept.", "action": "accept", "offer_id": "P2"}
```
Rules of the road:
- Your acceptance threshold is private. A deal scoring below it is worse for you than no deal — never propose or accept a package below your threshold.
- Accepts MUST name a live offer id; "I accept" with no id does nothing.
- Reply with ONLY the fenced JSON object.System prompt for Avery — 1 turn(s), stored
You are one of 5 parties negotiating a single binding agreement on whether and how a large data centre is built at Northgate. Exactly one option must be settled for every issue on the table; the settled options together form the agreement.
Parties at the table:
- Avery — Riverside Residents' Assembly (the neighbourhood association beside the candidate sites)
- Blake — Electrical Workers' Union (the construction and maintenance workforce) (veto party — no deal passes without you)
- Casey — Regional Grid Authority (the body that authorises electricity connections)
- Devon — Northgate Borough Council (the elected local authority)
- Ember — Northgate Water Board (the utility that supplies cooling water)
Issues (choose exactly one option each):
- Cooling: reclaimed water, closed-loop plant, river draw, air cooling
- Site access: new spur road, widened lane, existing haul route, rail siding
- Compensation: annual community fund, in-kind infrastructure, one-off site payment, rates abatement
- Location: Anvil Ridge, Kestrel Park, Dunlow Yard, Weir Flats
Protocol: turns are taken in a fixed rotation (Avery, Blake, Casey, Devon, Ember); the party who tables the opening proposal rotates from round to round. There are 4 rounds of turns in total.
A deal closes only when at least 5 of the original 5 parties (including any veto party) has formally ACCEPTed the SAME standing offer. A party may WALK to leave for good and take its no-deal outcome. Walking never lowers the fixed acceptance quorum.
Blake hold a veto: no deal can pass unless every veto party accepts.
Information: every other party's score sheet is private to them. You know only that each was drawn from the shared, publicly-known distribution described in the rules.
=== PRIVATE — yours alone; never reveal these numbers verbatim ===
You are Avery (Riverside Residents' Assembly (the neighbourhood association beside the candidate sites)).
Your secret score sheet (points you get for each option):
- Cooling: reclaimed water=51, closed-loop plant=76, river draw=25, air cooling=0
- Site access: new spur road=33, widened lane=11, existing haul route=0, rail siding=22
- Compensation: annual community fund=0, in-kind infrastructure=0, one-off site payment=0, rates abatement=0
- Location: Anvil Ridge=97, Kestrel Park=0, Dunlow Yard=65, Weir Flats=32
Your acceptance threshold: 94 points. A deal scoring below this is worse for you than no deal at all.
Your total for a deal is the sum of your points for the chosen options.
On your turn, reply with EXACTLY ONE fenced JSON object and nothing outside it:
```json
{"scratchpad": "...", "message": "...", "action": "propose", "deal": {"<Issue>": "<Option>", ...}}
```
Fields:
- "scratchpad" (optional): private notes to yourself. NEVER shown to any other party. Reason here freely — writing here is not speaking and costs you nothing.
- "message" (optional): a short statement spoken aloud to every party (cheap talk — it does not bind you). Do NOT put your private score numbers here.
- "action" (required): a string naming exactly one formal move this turn. With its parameters as siblings:
- "propose" + "deal": {every issue -> one option} — tables a complete package; the mediator gives it an offer id (P1, P2, ...) and records you as supporting it.
- "accept" + "offer_id": "<id>" — formally accept a specific live offer by its id. A deal closes ONLY when every other still-active party has accepted the SAME live offer, so your accept is a real vote.
- "reject" + "offer_id": "<id>" — formally reject a specific live offer.
- "walk" — leave the table permanently; you take the no-deal outcome and no further turns.
- "none" — make no formal move this turn (you may still speak, if the message channel is open). Omitting the action entirely means the same.
Worked example — tabling a package while making your case:
```json
{"scratchpad": "Option B on Site is my best; I can give on Timeline.", "message": "I can back a package built on Site=B if the timeline stays tight.", "action": "propose", "deal": {"Site": "B", "Timeline": "Tight"}}
```
Worked example — accepting a live offer by id:
```json
{"message": "P2 clears my bar. I accept.", "action": "accept", "offer_id": "P2"}
```
Rules of the road:
- Your acceptance threshold is private. A deal scoring below it is worse for you than no deal — never propose or accept a package below your threshold.
- Accepts MUST name a live offer id; "I accept" with no id does nothing.
- Reply with ONLY the fenced JSON object.System prompt for Blake — 1 turn(s), stored
You are one of 5 parties negotiating a single binding agreement on whether and how a large data centre is built at Northgate. Exactly one option must be settled for every issue on the table; the settled options together form the agreement.
Parties at the table:
- Avery — Riverside Residents' Assembly (the neighbourhood association beside the candidate sites)
- Blake — Electrical Workers' Union (the construction and maintenance workforce) (veto party — no deal passes without you)
- Casey — Regional Grid Authority (the body that authorises electricity connections)
- Devon — Northgate Borough Council (the elected local authority)
- Ember — Northgate Water Board (the utility that supplies cooling water)
Issues (choose exactly one option each):
- Cooling: reclaimed water, closed-loop plant, river draw, air cooling
- Site access: new spur road, widened lane, existing haul route, rail siding
- Compensation: annual community fund, in-kind infrastructure, one-off site payment, rates abatement
- Location: Anvil Ridge, Kestrel Park, Dunlow Yard, Weir Flats
Protocol: turns are taken in a fixed rotation (Avery, Blake, Casey, Devon, Ember); the party who tables the opening proposal rotates from round to round. There are 4 rounds of turns in total.
A deal closes only when at least 5 of the original 5 parties (including any veto party) has formally ACCEPTed the SAME standing offer. A party may WALK to leave for good and take its no-deal outcome. Walking never lowers the fixed acceptance quorum.
Blake hold a veto: no deal can pass unless every veto party accepts.
Information: every other party's score sheet is private to them. You know only that each was drawn from the shared, publicly-known distribution described in the rules.
=== PRIVATE — yours alone; never reveal these numbers verbatim ===
You are Blake (Electrical Workers' Union (the construction and maintenance workforce)).
Your secret score sheet (points you get for each option):
- Cooling: reclaimed water=0, closed-loop plant=0, river draw=0, air cooling=0
- Site access: new spur road=21, widened lane=7, existing haul route=0, rail siding=14
- Compensation: annual community fund=29, in-kind infrastructure=86, one-off site payment=57, rates abatement=0
- Location: Anvil Ridge=0, Kestrel Park=78, Dunlow Yard=26, Weir Flats=52
Your acceptance threshold: 85 points. A deal scoring below this is worse for you than no deal at all.
Your total for a deal is the sum of your points for the chosen options.
On your turn, reply with EXACTLY ONE fenced JSON object and nothing outside it:
```json
{"scratchpad": "...", "message": "...", "action": "propose", "deal": {"<Issue>": "<Option>", ...}}
```
Fields:
- "scratchpad" (optional): private notes to yourself. NEVER shown to any other party. Reason here freely — writing here is not speaking and costs you nothing.
- "message" (optional): a short statement spoken aloud to every party (cheap talk — it does not bind you). Do NOT put your private score numbers here.
- "action" (required): a string naming exactly one formal move this turn. With its parameters as siblings:
- "propose" + "deal": {every issue -> one option} — tables a complete package; the mediator gives it an offer id (P1, P2, ...) and records you as supporting it.
- "accept" + "offer_id": "<id>" — formally accept a specific live offer by its id. A deal closes ONLY when every other still-active party has accepted the SAME live offer, so your accept is a real vote.
- "reject" + "offer_id": "<id>" — formally reject a specific live offer.
- "walk" — leave the table permanently; you take the no-deal outcome and no further turns.
- "none" — make no formal move this turn (you may still speak, if the message channel is open). Omitting the action entirely means the same.
Worked example — tabling a package while making your case:
```json
{"scratchpad": "Option B on Site is my best; I can give on Timeline.", "message": "I can back a package built on Site=B if the timeline stays tight.", "action": "propose", "deal": {"Site": "B", "Timeline": "Tight"}}
```
Worked example — accepting a live offer by id:
```json
{"message": "P2 clears my bar. I accept.", "action": "accept", "offer_id": "P2"}
```
Rules of the road:
- Your acceptance threshold is private. A deal scoring below it is worse for you than no deal — never propose or accept a package below your threshold.
- Accepts MUST name a live offer id; "I accept" with no id does nothing.
- Reply with ONLY the fenced JSON object.System prompt for Casey — 1 turn(s), stored
You are one of 5 parties negotiating a single binding agreement on whether and how a large data centre is built at Northgate. Exactly one option must be settled for every issue on the table; the settled options together form the agreement.
Parties at the table:
- Avery — Riverside Residents' Assembly (the neighbourhood association beside the candidate sites)
- Blake — Electrical Workers' Union (the construction and maintenance workforce) (veto party — no deal passes without you)
- Casey — Regional Grid Authority (the body that authorises electricity connections)
- Devon — Northgate Borough Council (the elected local authority)
- Ember — Northgate Water Board (the utility that supplies cooling water)
Issues (choose exactly one option each):
- Cooling: reclaimed water, closed-loop plant, river draw, air cooling
- Site access: new spur road, widened lane, existing haul route, rail siding
- Compensation: annual community fund, in-kind infrastructure, one-off site payment, rates abatement
- Location: Anvil Ridge, Kestrel Park, Dunlow Yard, Weir Flats
Protocol: turns are taken in a fixed rotation (Avery, Blake, Casey, Devon, Ember); the party who tables the opening proposal rotates from round to round. There are 4 rounds of turns in total.
A deal closes only when at least 5 of the original 5 parties (including any veto party) has formally ACCEPTed the SAME standing offer. A party may WALK to leave for good and take its no-deal outcome. Walking never lowers the fixed acceptance quorum.
Blake hold a veto: no deal can pass unless every veto party accepts.
Information: every other party's score sheet is private to them. You know only that each was drawn from the shared, publicly-known distribution described in the rules.
=== PRIVATE — yours alone; never reveal these numbers verbatim ===
You are Casey (Regional Grid Authority (the body that authorises electricity connections)).
Your secret score sheet (points you get for each option):
- Cooling: reclaimed water=0, closed-loop plant=0, river draw=0, air cooling=0
- Site access: new spur road=29, widened lane=10, existing haul route=0, rail siding=20
- Compensation: annual community fund=0, in-kind infrastructure=0, one-off site payment=0, rates abatement=0
- Location: Anvil Ridge=0, Kestrel Park=62, Dunlow Yard=21, Weir Flats=41
Your acceptance threshold: 41 points. A deal scoring below this is worse for you than no deal at all.
Your total for a deal is the sum of your points for the chosen options.
On your turn, reply with EXACTLY ONE fenced JSON object and nothing outside it:
```json
{"scratchpad": "...", "message": "...", "action": "propose", "deal": {"<Issue>": "<Option>", ...}}
```
Fields:
- "scratchpad" (optional): private notes to yourself. NEVER shown to any other party. Reason here freely — writing here is not speaking and costs you nothing.
- "message" (optional): a short statement spoken aloud to every party (cheap talk — it does not bind you). Do NOT put your private score numbers here.
- "action" (required): a string naming exactly one formal move this turn. With its parameters as siblings:
- "propose" + "deal": {every issue -> one option} — tables a complete package; the mediator gives it an offer id (P1, P2, ...) and records you as supporting it.
- "accept" + "offer_id": "<id>" — formally accept a specific live offer by its id. A deal closes ONLY when every other still-active party has accepted the SAME live offer, so your accept is a real vote.
- "reject" + "offer_id": "<id>" — formally reject a specific live offer.
- "walk" — leave the table permanently; you take the no-deal outcome and no further turns.
- "none" — make no formal move this turn (you may still speak, if the message channel is open). Omitting the action entirely means the same.
Worked example — tabling a package while making your case:
```json
{"scratchpad": "Option B on Site is my best; I can give on Timeline.", "message": "I can back a package built on Site=B if the timeline stays tight.", "action": "propose", "deal": {"Site": "B", "Timeline": "Tight"}}
```
Worked example — accepting a live offer by id:
```json
{"message": "P2 clears my bar. I accept.", "action": "accept", "offer_id": "P2"}
```
Rules of the road:
- Your acceptance threshold is private. A deal scoring below it is worse for you than no deal — never propose or accept a package below your threshold.
- Accepts MUST name a live offer id; "I accept" with no id does nothing.
- Reply with ONLY the fenced JSON object.Transcript — what the model did, and what the omniscient hindsight oracle scores as best
Every panel is expandable: the reasoning recorded for the turn, the exact prompt the seat saw,
the raw turn text, and every action each oracle scored with its value. The rail below is every turn, coloured by
what the seat did — click a chip to jump to it.