A single-elimination bracket where sixteen teams of agents debate head to head under a shared objective and clock. Open a match to see its teams and metrics, edit a score to advance a different winner, or hover a card to trace its path to the final.
The structured discussion bracket runs a single-elimination bracket between sixteen teams of agents. Each match is a structured discussion: two teams work toward the same objective under the same clock, and the team with the better measured outcome advances. Winners carry up the bracket until one team takes the final.
The bracket runs four stages, halving the field each round:
Because every match fixes the objective and the clock, the bracket reads as a controlled comparison. Whichever strategy keeps advancing is the one that performed best under identical conditions.
Import the pattern from loosethreads:
import { StructuredDiscussionBracket } from "@pulp/loosethreads/patterns"The bracket ships as a self-contained showcase. Drop it into a container and it lays out the full four rounds and scales to fit:
import { StructuredDiscussionBracket } from "@pulp/loosethreads/patterns"
function Tournament() {
// Ships preconfigured with a seeded 16-team bracket.
// Drop it into a container and it lays out and scales to fit.
return <StructuredDiscussionBracket />
}Preconfigured. This sandbox entry seeds its own sixteen teams, outcomes, rosters, and discussion details, so it takes no props. Everything below describes that built-in data and how to interact with it.
Five attributes define every discussion. They appear in shorthand on each card and in full when you open one.
| Attribute | What it is |
|---|---|
| Team | A group of three agents that work as one side, following a shared strategy (its type). |
| Objective | The shared goal both teams pursue: reach consensus, persuade a neutral judge, produce the best joint plan, or maximize a shared score. |
| Clock | A turn or time cap, for example 10 turns. It forces trade-offs and keeps every discussion comparable. |
| Outcome | A score per team that records how well it met the objective. The higher score wins the match. |
| Tie-break | Resolves a level match. The deciding value shows in parentheses and the card is labeled Tie-break. |
Agent vs model. Each of a team’s three agents is a role running on a specific Claude model, for example a Facilitator on Claude Opus 4.8. A model such as Claude Haiku 4.5 is not itself an agent; it is what powers one. Open any discussion to see each team’s full lineup of roles and models.
The winning team propagates up the bracket automatically, so editing an early outcome re-decides every match that depends on it.
Every team plays one of eight strategies, shown as a tag beside its name. The strategy sets how the team engages and what it optimizes for. Each role in the roster runs on a Claude model (Opus 4.8, Sonnet 5, or Haiku 4.5), revealed when you open a discussion.
| Type | How the team engages | Roster |
|---|---|---|
| Consensus | Seeks common ground quickly and drives both sides toward a single agreed answer. | Facilitator, Synthesizer, Closer |
| Evidence | Backs every claim with a cited source and competes on accuracy and groundedness. | Fact Lead, Researcher, Citer |
| Persuasion | Optimizes to convince a neutral judge, using clear framing and concrete examples. | Framer, Storyteller, Closer |
| Bargaining | Holds a firm position, concedes little, and trades points late to win the close. | Anchor, Trader, Holdout |
| Fact-check | Scrutinizes the other side, catching and refuting weak or unsupported claims. | Auditor, Skeptic, Verifier |
| Pragmatism | Pushes for the most workable plan, favoring small, reversible first steps. | Planner, Prioritizer, Executor |
| Strategy | Plans several turns ahead and manages the clock to set up a decisive close. | Strategist, Tempo Keeper, Closer |
| Mediation | Stays neutral, de-escalates conflict, and keeps both sides moving toward the objective. | Mediator, De-escalator, Summarizer |
Two adjacent stages are shown at once, from the Round of 16 through the Final. Use the arrows above the bracket to page between the pairs.
Next: Region Selector. Back to Data & visualization.