Skip to content

ADR-021: Simplify Post-Discussion to Stand/Change (replaces Stand/Revise/Delegate)

Status: Accepted Date: 2026-04-09 Supersedes: Partially supersedes ADR-016 (Delegation as a first-class game action) - the three-action model is replaced with two actions, but the trust signal capture is preserved.

Context

ADR-016 introduced three post-discussion actions: Stand (keep answer), Revise (change answer), and Delegate (give vote to a peer). In practice, across multiple multiplayer sessions (April 2-7, 2026), the distinction between Revise and Delegate was artificial. When James shared his rationale and Jonathan changed his mind, the experience was simultaneously "I'm revising because of new information" AND "I trust James's judgment here." Forcing players to pick one or the other created confusion and friction.

From the April 7 session:

"If I'm delegating, if I give up my vote and give it to someone else, it's because I'm revising, like I'm changing my mind. So they seem the same."

Decision

Collapse the three-action model into two:

1. Stand - "I'm keeping my answer"

Unchanged from ADR-016. The player heard others' rationales and remains convinced.

2. Change - "I'm switching"

Combines Revise and Delegate into a single natural flow: 1. Pick your new option (required) 2. Who influenced you? (optional - tap a player's name) 3. Why did you change? (optional text)

This one action captures everything the three-action model captured: - The new choice (for profile updates) - The influencer (for the trust/delegation graph) - The rationale (for understanding what persuades the player)

Rationale

The three-way distinction was a taxonomy, not an experience

Players don't think "am I revising or delegating?" They think "James made a good point, I'd go with his answer." The mental model is one action, not two.

The trust signal is preserved

When a player changes their answer and attributes it to someone, that's captured in delegated_to_user_id on the post_discussion_actions table. The finalize route records this as a trust edge in delegation_preferences, keyed by scenario triggers. The delegation graph still gets built - players just don't have to think about whether they're "delegating" or "revising."

The profile weighting is preserved

  • Stand: 1.3x weight (survived challenge)
  • Change: original at 0.3x, new choice at 1.0x (same as old Revise)
  • Influenced-by attribution records a 4.0 trust signal (strong but not max, since the player still made the call themselves)

Visibility improves group dynamics

After submission, all players see a live feed of who stood and who changed, including what they changed to and who influenced them. This creates natural follow-up conversation: "Oh, 08 changed - what convinced you?"

Alternatives Considered

  • Keep three actions but improve labels/descriptions: Rejected because the conceptual distinction itself was the problem, not the labels.
  • Remove delegation tracking entirely: Rejected because the influenced-by signal is genuinely valuable for the trust graph. We just capture it as part of the change flow rather than as a separate action.
  • Auto-detect delegation from matching answers: If you change to match exactly what James picked, infer delegation. Rejected because inference is less reliable than direct attribution, and a player might change to a different option that was merely inspired by the discussion.

Discussion

The key insight: in the Cesar Hidalgo model that ADR-016 references, delegation is about routing authority. But in practice, the multiplayer debrief naturally blends revision and delegation into one moment. Rather than forcing the distinction at input time, we can derive it from the data: if a player consistently changes their answer after hearing one specific person's rationale, that's a strong delegation pattern regardless of whether they clicked "revise" or "delegate."

The influenced-by attribution (optional but encouraged) gives us this signal directly. Over time, we can compute: - Stand rate per player - high = confident/firm, low = persuadable - Influence graph - who changes because of whom, across sessions - Conviction-change correlation - do low-conviction players change more? (validates ADR-015) - Context-specific influence - does Amin influence Jonathan more on resource-allocation than governance?

These analytics are derivable from the existing data without any additional tracking.

Consequences

  • The multiplayer post-discussion phase is simpler - two buttons instead of three
  • Players no longer need to understand the revise/delegate distinction
  • The post_discussion_actions table still stores action_type = 'revise' for changes (backward compatible with existing data)
  • The delegated_to_user_id column now serves as "influenced by" rather than "delegated to"
  • The finalize route now records trust edges on revise actions with a delegated_to_user_id, not just on delegate actions (which no longer exist in the UI)
  • Trust strength for influenced-by is 4.0 (strong) vs the old delegation's 5.0 (max), reflecting that the player still owned the decision
  • The DB constraint CHECK (action_type IN ('stand', 'revise', 'delegate')) still accepts all three values for backward compat, but only 'stand' and 'revise' are produced by the current UI

Key files: - src/app/play/[sessionId]/page.tsx - Stand/Change UI, live feed of choices - src/app/api/sessions/finalize/route.ts - Profile weighting and trust edge logic - src/components/ui/InfoTip.tsx - Tooltip explainers on all toggles