From 940487387671a0cee338c74f7023b85908622186 Mon Sep 17 00:00:00 2001 From: Marcelo Ceccon Date: Wed, 15 Apr 2026 13:10:11 +0000 Subject: [PATCH] =?UTF-8?q?feat(roundtable):=20major=20demo=20uplift=20?= =?UTF-8?q?=E2=80=94=20Blind=20Jury=20engine,=20CVP=20reliability=20fixes,?= =?UTF-8?q?=20visible=20errors,=20cost=20tracking,=20and=20shareable=20run?= =?UTF-8?q?s?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Ships ten new user-facing capabilities plus two critical fixes: • New Blind Jury engine (parallel one-shot responses with zero cross-visibility + optional Judge synthesis) alongside the existing CVP. Toggleable from the Protocol panel. • CVP now defaults to blind Round 1 (no first-mover contamination) and randomised participant order in later rounds; both toggleable. Adds convergence-based early stopping and a non-voting Judge that preserves minority views. • Failed provider calls now show clear errors instead of a bare "…". All providers' OpenAI-compat shims now actually work (pinned to the real chat-completions endpoint). • Live cost meter (tokens + USD estimate) and per-participant confidence trajectory sparkline. • Disagreement panel that groups conflicts by round and lets you jump straight to the source messages. • Prompt library with eight curated presets (Strategy / Engineering / Ethics / Science). • One-click session export (Markdown/JSON) + permalink sharing via compressed #rt=… hash. Anyone opening the link gets a read-only replay with exit banner — no re-running calls. • Floating right-side panel on large screens (CostMeter + ConfidenceTrajectory + DisagreementPanel + MessageFlow) that stays visible; falls back to sidebar on smaller screens. • Full ConfigPanel for every new toggle plus judge model selection. All changes are live in the demo, with the README fully rewritten to reflect the new capabilities, engines, and sharing flow. --- README.md | 173 +++++--- app/api/consensus/route.ts | 107 ++++- app/page.tsx | 129 +++++- components/ConfidenceTrajectory.tsx | 144 +++++++ components/ConfigPanel.tsx | 225 +++++++++++ components/CostMeter.tsx | 52 +++ components/DisagreementPanel.tsx | 95 +++++ components/JudgeCard.tsx | 46 +++ components/MessageFlowDiagram.tsx | 128 +++--- components/PromptLibrary.tsx | 45 +++ components/ResultPanel.tsx | 71 +++- components/SessionMenu.tsx | 133 +++++++ lib/consensus-engine.ts | 587 +++++++++++++++++++++++---- lib/personas.ts | 37 +- lib/pricing.ts | 118 ++++++ lib/prompt-library.ts | 72 ++++ lib/session.ts | 219 ++++++++++ lib/store.ts | 231 +++++++++-- lib/types.ts | 133 ++++++- screenshots/newscreenshot.png | Bin 0 -> 2049671 bytes screenshots/screenshot1.png | Bin 1418634 -> 0 bytes screenshots/screenshot2.png | Bin 1493413 -> 0 bytes tests/api-consensus.test.ts | 177 ++++++++- tests/components-extended.test.tsx | 40 ++ tests/components.test.tsx | 4 +- tests/consensus-engine.test.ts | 593 ++++++++++++++++++++++++++-- tests/new-components.test.tsx | 463 ++++++++++++++++++++++ tests/page-consensus.test.tsx | 203 +++++++++- tests/page.test.tsx | 8 +- tests/pricing.test.ts | 64 +++ tests/providers.test.ts | 2 +- tests/session.test.ts | 227 +++++++++++ tests/store.test.ts | 127 +++++- 33 files changed, 4333 insertions(+), 320 deletions(-) create mode 100644 components/ConfidenceTrajectory.tsx create mode 100644 components/ConfigPanel.tsx create mode 100644 components/CostMeter.tsx create mode 100644 components/DisagreementPanel.tsx create mode 100644 components/JudgeCard.tsx create mode 100644 components/PromptLibrary.tsx create mode 100644 components/SessionMenu.tsx create mode 100644 lib/pricing.ts create mode 100644 lib/prompt-library.ts create mode 100644 lib/session.ts create mode 100644 screenshots/newscreenshot.png delete mode 100644 screenshots/screenshot1.png delete mode 100644 screenshots/screenshot2.png create mode 100644 tests/new-components.test.tsx create mode 100644 tests/pricing.test.ts create mode 100644 tests/session.test.ts diff --git a/README.md b/README.md index 91485fe..26e721b 100644 --- a/README.md +++ b/README.md @@ -8,7 +8,7 @@ **Put multiple AI models in a room. Give them personas. Watch them debate.** -RoundTable runs the Consensus Validation Protocol (CVP) across any combination of AI providers — Grok, Claude, GPT, Gemini, Mistral, and more — with configurable personas, real-time streaming, and a premium dark interface designed for long sessions. +RoundTable runs the **Consensus Validation Protocol (CVP)** and a **Blind Jury** engine across any combination of AI providers — Grok, Claude, GPT, Gemini, Mistral, and more — with configurable personas, a non-voting Judge synthesizer, a live confidence trajectory chart, a disagreement ledger, a cost meter, shareable permalinks, and a premium dark interface designed for long sessions. [![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)](LICENSE) [![Deploy with Vercel](https://img.shields.io/badge/Deploy-Vercel-black?logo=vercel)](https://vercel.com/new/clone?repository-url=https://github.com/entropyvortex/roundtable) @@ -44,11 +44,11 @@ The result is a scored collection of final perspectives, not a merged conclusion ### How It Works -CVP runs a fixed number of rounds (1–10, user-configured, default 5). Each round has a designated type that constrains what participants are asked to do. Participants are processed **sequentially within each round** — meaning later participants in a round see earlier participants' responses from that same round, in addition to all responses from prior rounds. +CVP runs up to a configured number of rounds (1–10, default 5). Each round has a designated type that constrains what participants are asked to do. From Round 2 onward, participants are processed **sequentially within each round** — later participants in a round see earlier participants' responses from that same round, in addition to all responses from prior rounds. Round 1 runs in **parallel with no cross-visibility** by default (toggleable via the "Blind Round 1" option) so the first wave of analysis is not contaminated by whoever happened to answer first. **Round phases:** -1. **Initial Analysis** (Round 1) — Each participant provides an independent analysis of the prompt, shaped by its assigned persona. No cross-visibility exists yet. Each response must end with a self-assessed confidence score (0–100). +1. **Initial Analysis** (Round 1) — Each participant provides an independent analysis of the prompt, shaped by its assigned persona. With "Blind Round 1" enabled (the default) every participant answers in parallel with no visibility into any other participant. Each response must end with a self-assessed confidence score (0–100). 2. **Counterarguments** (Round 2) — Each participant reviews all Round 1 responses and identifies weaknesses, challenges assumptions, and highlights logical gaps. Confidence scores are updated. @@ -56,6 +56,10 @@ CVP runs a fixed number of rounds (1–10, user-configured, default 5). Each rou 4. **Synthesis** (Rounds 4 through N) — Participants synthesize the discussion, acknowledge remaining uncertainties, and refine their positions. The final round is labeled "Final Synthesis" in the prompt, signaling participants to commit to a concluding position. +**Randomised order.** From Round 2 onward, participant order is shuffled per round by default to prevent the first-mover from disproportionately framing each round. Toggleable via the "Randomize order" option. + +**Early stopping.** When the consensus score delta between two consecutive rounds drops to ≤ 3 points, the engine emits an `early-stop` event and terminates the run before exhausting all configured rounds. This is on by default and saves cost on runs that converge quickly. Toggleable via the "Early stop" option. + **Persona injection:** Each participant's system prompt is prepended with a persona definition (e.g., "You are a Risk Analyst. Your role is to surface hidden dangers, tail risks, and second-order effects."). Personas are defined server-side in `lib/personas.ts` and cannot be modified by the client. **Confidence extraction:** Every response is expected to end with `CONFIDENCE: [0-100]`. A regex extracts this value. If absent, confidence defaults to 50. @@ -68,6 +72,14 @@ consensus_score = avg(confidence) - 0.5 * stddev(confidence) High average confidence with low variance yields a high score. Disagreement (high variance) penalizes the score even if individual confidences are high. +**Disagreement detection:** After each round the engine scans every pair of participants. Any pair whose confidence diverges by ≥ 20 points is recorded in the disagreement ledger and surfaced live in the UI. The detection is intentionally deterministic and cheap — no extra LLM calls — which makes it robust to rate limits and reproducible across runs. + +**Judge synthesis (optional):** When "Judge synthesis" is enabled, a dedicated non-voting model reads every participant's final-round response and produces a structured synthesis with four sections: **Majority Position**, **Minority Positions**, **Unresolved Disputes**, and **Synthesis Confidence**. The judge is forbidden from picking a winner or collapsing conditional minority views into the majority. Its output streams live to the UI and is included in all exports. + +**Cost meter.** Every call is attributed to a participant and priced against the client-side table in `lib/pricing.ts`. The live meter shows total tokens (in/out) and estimated USD; totals include the judge. When the Vercel AI SDK reports token usage, the meter uses it directly; otherwise it falls back to a 4-chars-per-token heuristic. + +**Provider error resilience.** When a participant's underlying provider call fails — wrong base URL, invalid API key, unknown model, upstream outage, 404 from a mismatched endpoint, you name it — the engine catches the error via the Vercel AI SDK's `onError` callback, formats it with the HTTP status code when available, logs the full error object server-side, and emits a `participant-end` event with an `error` field. The client renders that response as a red error card with the upstream message (not the usual content card), fires a toast identifying which provider/model broke, and **excludes the errored response from both the consensus score and the disagreement ledger**, so one broken provider can no longer tank the run. The remaining participants continue normally. + ### Protocol Diagram ```text @@ -121,6 +133,18 @@ User Prompt + Round Count + Participant Config └─────────────────────────────────────────────┘ ``` +### Blind Jury Engine (alternative) + +RoundTable also ships a **Blind Jury** engine alongside CVP. Where CVP is a multi-round debate, Blind Jury is a single-pass evaluation: + +1. Every participant answers the same prompt **in parallel**, with no cross-visibility into any other answer. +2. A judge model synthesizes majority, minority, and unresolved positions from the independent responses. +3. A disagreement ledger is computed from the pairwise confidence spread, exactly as in CVP. + +Blind Jury is the right engine when you want _independent_ signals rather than a negotiated consensus. Because there is no sequential visibility, it is immune to the anchoring bias that CVP needs randomized order and blind Round 1 to mitigate. It is also cheap: one API call per participant, plus one for the judge. + +Switch engines from the sidebar ("Protocol" section). The Blind Jury engine ignores the round count and the CVP-specific toggles. + ### Why This Is Better Than Majority Vote Majority vote asks N models the same question and picks the most common answer. CVP does something structurally different: @@ -141,15 +165,13 @@ Majority vote asks N models the same question and picks the most common answer. **Prompt bias propagation.** The user's prompt frames the debate. If the prompt contains a false premise, all participants may accept it. Personas like First-Principles Engineer and Scientific Skeptic are designed to push back, but their effectiveness depends on the model's ability to detect the bias. -**Sycophantic convergence.** Models tend to agree with prior responses, especially in later rounds. The sequential execution order means the last participant in each round sees the most prior context and may anchor to the emerging consensus rather than independently evaluating. This is the opposite of the intended effect. - -**No early stopping.** CVP always runs all N rounds. If participants converge in Round 2, Rounds 3–5 add latency and cost without new information. There is no convergence detection or early termination. +**Sycophantic convergence.** Models still tend to agree with prior responses, especially in later rounds. "Blind Round 1" and "Randomize order" reduce this bias but do not eliminate it — the last participant of any sequential round still sees the most prior context and may anchor to the emerging consensus rather than independently evaluating. Blind Jury avoids this failure mode entirely at the cost of giving up multi-round refinement. -**Persona dominance via ordering.** The first participant in each round sets the tone. Later participants respond to what exists rather than generating independently. The protocol does not randomize participant order between rounds. +**Cost scales linearly.** Each participant makes one API call per round. With 4 participants and 5 rounds, that is 20 API calls per consensus run, plus one for the judge if enabled. At 1,500 tokens per response, a single run can consume 30,000+ output tokens across providers. Early stopping and Blind Jury are the easiest levers to lower cost; the live cost meter in the floating run panel makes this concrete during a run. -**Cost scales linearly.** Each participant makes one API call per round. With 4 participants and 5 rounds, that is 20 API calls per consensus run. At 1,500 tokens per response, a single run can consume 30,000+ output tokens across providers. +**Confidence scores are self-reported.** Models assign their own confidence. There is no calibration, no ground truth, and no penalty for overconfidence. The consensus score is only as meaningful as the models' ability to self-assess — which is known to be unreliable. The judge synthesizer is deliberately _not_ a calibrator: it summarises what was said, it does not grade it. -**Confidence scores are self-reported.** Models assign their own confidence. There is no calibration, no ground truth, and no penalty for overconfidence. The consensus score is only as meaningful as the models' ability to self-assess — which is known to be unreliable. +**Disagreement heuristic is confidence-based.** The disagreement ledger flags pairs whose confidence diverges by ≥ 20 points. This catches substantive splits reliably but misses cases where two participants hold opposite positions with identical confidence. Treat the ledger as a lower bound on actual disagreement. ### Example Transcript @@ -187,19 +209,15 @@ _Final consensus score: 81 (avg=84, stddev=9.8)_ The human reader sees three final positions that largely converge but preserve the Futurist's conditional exception — something a majority vote would have discarded. -### Missing Pieces - -The following are not implemented in the current codebase but would make the protocol substantially more rigorous: +### Still Open -1. **Convergence detection and early stopping.** Compare confidence distributions between consecutive rounds. If the delta drops below a threshold, terminate early. This would save cost and avoid the sycophantic convergence problem in later rounds. +The following are deliberate non-goals for v1 but would further tighten the protocol: -2. **Randomized participant ordering.** Shuffle the participant sequence each round to prevent first-mover anchoring bias. The current fixed order means the first participant disproportionately frames each round. +1. **Confidence calibration or external validation.** Self-reported confidence is unreliable. A calibration step — comparing stated confidence to accuracy on known-answer questions — or a separate judge model that _grades_ argument quality (as opposed to the current faithfulness-only synthesizer) would add grounding. -3. **Explicit disagreement tracking.** Parse responses for areas of agreement and disagreement, maintain a structured disagreement ledger across rounds, and surface unresolved disputes in the final output rather than relying on the human to find them. +2. **Claim-level disagreement extraction.** The current disagreement ledger detects confidence splits, not semantic contradictions. A follow-up pass that extracts the actual claims participants make and flags direct contradictions would be more precise, at the cost of extra LLM calls. -4. **Confidence calibration or external validation.** Self-reported confidence is unreliable. A calibration step — comparing stated confidence to accuracy on known-answer questions — or a separate judge model that evaluates argument quality would add grounding. - -5. **Automated final synthesis.** A dedicated synthesis step where a separate model (or a designated participant) produces a single merged conclusion from all final-round responses, explicitly noting majority and minority positions. Currently, the human must do this manually. +3. **Pluggable engines beyond CVP and Blind Jury.** The engine interface is clean enough to support Delphi, Adversarial Red Team, Dialectical, and Ranked Choice variants. See the Roadmap table below. ## Security @@ -207,28 +225,36 @@ This is experimental, it has no authentication protection, if you publish this w --- -## Screenshots - -![Screenshot of Web Interface](screenshots/screenshot1.png) +## Screenshot -![Screenshot Consensus panel](screenshots/screenshot2.png) +![Screenshot of Web Interface](screenshots/newscreenshot.png) ## Features -| Feature | Description | -| --------------------------------- | -------------------------------------------------------------------------------------------------------------------------------- | -| **Multi-Provider** | Connect any OpenAI-compatible API — Grok, Claude, OpenAI, Mistral, Groq, Together, and more | -| **7 Built-in Personas** | Risk Analyst, First-Principles Engineer, VC Specialist, Scientific Skeptic, Optimistic Futurist, Devil's Advocate, Domain Expert | -| **Consensus Validation Protocol** | Structured multi-round debate: Analysis, Counterarguments, Evidence Assessment, Synthesis | -| **1-10 Configurable Rounds** | Control the depth of deliberation | -| **Real-time SSE Streaming** | Watch responses arrive token-by-token with live progress tracking | -| **Cascaded Model Selector** | Provider-first dropdown with persona assignment per participant | -| **Message Flow Sidebar** | UML-style sequence diagram of the entire debate, click to navigate | -| **Copy to Clipboard** | One-click raw markdown export per response | -| **Cancel Anytime** | Stop button + Escape key — abort signal propagates to the server and stops provider calls | -| **Premium Dark UI** | High-contrast, readable interface designed for extended analysis sessions | -| **Rate-Limited API** | In-memory per-IP rate limiting, server-side input validation, persona/model re-verification | -| **No External Services** | No database, no auth service, no persistence — Vercel-deployable in one click | +| Feature | Description | +| ------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| **Multi-Provider** | Connect any OpenAI-compatible API — Grok, Claude, OpenAI, Mistral, Groq, Together, and more | +| **7 Built-in Personas** | Risk Analyst, First-Principles Engineer, VC Specialist, Scientific Skeptic, Optimistic Futurist, Devil's Advocate, Domain Expert | +| **Two Engines** | **CVP** (multi-round debate) and **Blind Jury** (parallel independent responses + judge synthesis) — switch from the sidebar | +| **Blind Round 1** | CVP's first round runs in parallel with zero cross-visibility so the first wave of analysis is not contaminated by speaking order | +| **Randomized Order** | CVP shuffles participant order in rounds 2+ to kill first-mover anchoring bias | +| **Early Stopping** | CVP detects convergence between rounds and terminates early, saving latency and tokens | +| **Judge Synthesizer** | Optional non-voting model that produces a structured **Majority / Minority / Unresolved / Confidence** summary over the final-round answers | +| **Confidence Trajectory Chart** | Live sparkline with one line per participant, so you can _see_ drift, convergence, and sycophancy as the run unfolds | +| **Disagreement Ledger** | Deterministic confidence-spread detector grouping flagged pairs by round — click a row to jump to that round in the transcript | +| **Cost Meter** | Live total tokens and estimated USD per run, with a bundled pricing table for major frontier models | +| **Floating Run Panel** | On xl+ screens a pinned right-side container stacks the cost meter, confidence trajectory, disagreement ledger, and a collapsible UML-style message flow diagram, scrolling as a unit so all four stay in view throughout a long transcript. Below xl the same panels fall back into the left sidebar | +| **Provider Error Handling** | Errored participant calls render as red error cards with the upstream message + HTTP status, fire a per-participant toast, and are excluded from the consensus score and disagreement ledger so one broken provider can't tank a run | +| **Prompt Library** | 8 curated preset prompts surfaced under the textarea for first-time visitors to hit Run immediately | +| **Session Export & Share** | One-click download as Markdown or JSON, plus a permalink that encodes the full run into the URL hash (compressed when available) | +| **Shared View Mode** | Loading a `#rt=…` permalink rehydrates the run into a read-only viewer for review, embedding, or screenshots | +| **Real-time SSE Streaming** | Watch responses arrive token-by-token with live progress tracking | +| **Cascaded Model Selector** | Provider-first dropdown with persona assignment per participant | +| **Copy to Clipboard** | One-click raw markdown export per response | +| **Cancel Anytime** | Stop button + Escape key — abort signal propagates to the server and stops provider calls | +| **Premium Dark UI** | High-contrast, readable interface designed for extended analysis sessions | +| **Rate-Limited API** | In-memory per-IP rate limiting, server-side input validation, persona/model re-verification | +| **No External Services** | No database, no auth service, no persistence — Vercel-deployable in one click | --- @@ -252,7 +278,7 @@ Edit `.env.local` with your keys, then: pnpm dev ``` -Open [http://localhost:3000](http://localhost:3000). Add participants from the sidebar, type a prompt, and hit **Run Consensus**. +Open [http://localhost:3000](http://localhost:3000). Add participants from the left sidebar, pick an engine in the **Protocol** panel (CVP or Blind Jury), optionally enable judge synthesis, type a prompt (or click a preset), and hit **Run Consensus**. On xl+ screens the cost meter, confidence trajectory, disagreement ledger, and message-flow diagram live in a floating panel pinned to the right of the viewport — watch them populate in real time as the debate streams. Below xl those same panels fall back into the left sidebar. When the run finishes, click **Export** in the results panel to download the transcript as Markdown/JSON or copy a permalink that rehydrates the run on any browser. --- @@ -299,6 +325,23 @@ The `apiKey` field supports two formats: API keys are resolved server-side only and never exposed to the browser. All AI calls go through Next.js API routes. +### Endpoint compatibility + +All consensus calls go through the **OpenAI chat completions** endpoint (`POST /chat/completions`), not the newer OpenAI Responses API. This is deliberate: `/chat/completions` is the one endpoint every provider's OpenAI-compat shim actually implements. In code we pin this by using `provider.chat(modelId)` instead of the default `provider(modelId)` — the latter targets `/responses`, which is OpenAI-only. + +That means your `baseUrl` should be the provider's base that serves `/chat/completions`: + +| Provider | Base URL | Notes | +| ---------- | -------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| OpenAI | `https://api.openai.com/v1` | Native endpoint. | +| Anthropic | `https://api.anthropic.com/v1` | Requires Anthropic's [OpenAI-SDK compatibility layer](https://docs.anthropic.com/en/api/openai-sdk). Models include `claude-sonnet-4-20250514`, `claude-opus-4-1`, etc. | +| xAI (Grok) | `https://api.x.ai/v1` | Native OpenAI-compatible. | +| Groq | `https://api.groq.com/openai/v1` | Native OpenAI-compatible. | +| Together | `https://api.together.xyz/v1` | Native OpenAI-compatible. | +| Mistral | `https://api.mistral.ai/v1` | Native OpenAI-compatible. | + +If a provider only ships a dedicated SDK with no `/chat/completions` shim, it is not currently supported. + ### Adding a New Provider Any OpenAI-compatible API works. Add an entry to the `AI_PROVIDERS` array with the correct `baseUrl` and you're done. Examples: @@ -330,24 +373,34 @@ Any OpenAI-compatible API works. Add an entry to the `AI_PROVIDERS` array with t ``` app/ api/ - consensus/route.ts SSE streaming endpoint — runs the CVP engine - providers/route.ts Returns client-safe model list (no secrets) - page.tsx Main dashboard — sidebar, prompt, results - layout.tsx Root layout with Sonner toasts + consensus/route.ts SSE streaming endpoint — validates options & dispatches to the engine + providers/route.ts Returns client-safe model list (no secrets) + page.tsx Main dashboard — sidebar, prompt, results, SSE processor + layout.tsx Root layout with Sonner toasts components/ - AISelector.tsx Cascaded provider/model picker + persona selector - ResultPanel.tsx Live streaming results with markdown rendering - MessageFlowDiagram.tsx Floating UML-style sequence diagram - BackToTop.tsx Scroll navigation + AISelector.tsx Cascaded provider/model picker + persona selector + ConfigPanel.tsx Engine selector, CVP toggles, judge model picker + ResultPanel.tsx Live streaming results, error cards, markdown rendering + MessageFlowDiagram.tsx Floating right-side panel: cost + trajectory + ledger + UML flow + ConfidenceTrajectory.tsx SVG sparkline of per-participant confidence across rounds + DisagreementPanel.tsx Grouped disagreement ledger with click-to-scroll + CostMeter.tsx Live token/USD totals + JudgeCard.tsx Non-voting judge synthesis output + PromptLibrary.tsx Preset prompt chips under the textarea + SessionMenu.tsx Export (Markdown/JSON) + copy permalink dropdown + BackToTop.tsx Scroll navigation lib/ - consensus-engine.ts Multi-round CVP orchestration with SSE - providers.ts Server-side provider resolution (parses AI_PROVIDERS) - personas.ts 7 persona definitions — edit this one file to add more - store.ts Zustand global state with granular selectors - types.ts All TypeScript types + consensus-engine.ts CVP + Blind Jury orchestration, judge synthesizer, disagreement detection + providers.ts Server-side provider resolution (parses AI_PROVIDERS) + personas.ts 7 participant personas + JUDGE_PERSONA + pricing.ts Model pricing table + cost estimator + prompt-library.ts Preset prompts for the library UI + session.ts Snapshot ↔ Markdown / JSON / URL-hash serializer + store.ts Zustand global state, options bundle, snapshot load/save + types.ts All TypeScript types ``` -The consensus engine runs entirely server-side. Each round streams responses via Server-Sent Events. The client processes events through a single `processEvent` function that calls Zustand actions directly via `getState()` — no subscriptions, no re-renders from token events. +The consensus engine runs entirely server-side. Each round streams responses via Server-Sent Events. The client processes events through a single `processEvent` function that calls Zustand actions directly via `getState()` — no subscriptions, no re-renders from token events. The same event pipeline drives the confidence trajectory, the disagreement ledger, the cost meter, and the judge card — every panel reads from one coherent store. --- @@ -395,16 +448,16 @@ The new persona will appear in every selector automatically. ## Roadmap -RoundTable currently ships with the **Consensus Validation Protocol (CVP)** engine. The architecture is designed to support multiple consensus strategies — future releases will introduce additional engines: +RoundTable ships with two engines today. The architecture is designed to support more: -| Engine | Status | Description | -| --------------------------------------- | --------- | ---------------------------------------------------------------------------------------------------- | -| **CVP (Consensus Validation Protocol)** | Available | Multi-round structured debate: Analysis, Counterarguments, Evidence Assessment, Synthesis | -| **Delphi Method** | Planned | Anonymous multi-round forecasting with statistical aggregation between rounds | -| **Adversarial Red Team** | Planned | One model attacks, others defend — iterative stress-testing of ideas | -| **Ranked Choice Synthesis** | Planned | Each model proposes solutions, then ranks all proposals — converges via elimination | -| **Dialectical Engine** | Planned | Thesis / Antithesis / Synthesis structure with formal argument mapping | -| **Blind Jury** | Planned | Models respond independently with no visibility into each other's answers, then a synthesizer merges | +| Engine | Status | Description | +| --------------------------------------- | --------- | ---------------------------------------------------------------------------------------------- | +| **CVP (Consensus Validation Protocol)** | Available | Multi-round structured debate with blind Round 1, randomized order, early stop, optional judge | +| **Blind Jury** | Available | Parallel independent responses with no cross-visibility, followed by a judge synthesis | +| **Delphi Method** | Planned | Anonymous multi-round forecasting with statistical aggregation between rounds | +| **Adversarial Red Team** | Planned | One model attacks, others defend — iterative stress-testing of ideas | +| **Ranked Choice Synthesis** | Planned | Each model proposes solutions, then ranks all proposals — converges via elimination | +| **Dialectical Engine** | Planned | Thesis / Antithesis / Synthesis structure with formal argument mapping | The consensus engine is a single file (`lib/consensus-engine.ts`) with a clean interface — contributions for new engines are welcome. diff --git a/app/api/consensus/route.ts b/app/api/consensus/route.ts index 6da1bcc..39362c9 100644 --- a/app/api/consensus/route.ts +++ b/app/api/consensus/route.ts @@ -3,10 +3,11 @@ // Security hardening: // - Server-side limits on prompt size, participant count, round count // - Personas are server-rebuilt from persona IDs (client systemPrompts ignored) +// - Engine options are validated and clamped server-side // - Request abort signal is forwarded to the engine // - Basic rate limiting via in-memory sliding window -import type { ConsensusRequest, ConsensusEvent } from "@/lib/types"; +import type { ConsensusEvent, ConsensusOptions, EngineType, Participant } from "@/lib/types"; import { runConsensus } from "@/lib/consensus-engine"; import { getPersona } from "@/lib/personas"; import { findResolvedModel } from "@/lib/providers"; @@ -46,6 +47,46 @@ setInterval(() => { } }, RATE_WINDOW_MS); +// ── Options parsing & validation ─────────────────────────── + +interface LooseRequestBody { + prompt?: unknown; + participants?: unknown; + rounds?: unknown; // legacy + options?: unknown; +} + +function parseEngine(v: unknown): EngineType { + return v === "blind-jury" ? "blind-jury" : "cvp"; +} + +function parseBool(v: unknown, fallback: boolean): boolean { + return typeof v === "boolean" ? v : fallback; +} + +function parseOptions(body: LooseRequestBody): ConsensusOptions { + const raw = (body.options ?? {}) as Record; + const legacyRounds = typeof body.rounds === "number" ? body.rounds : undefined; + const requestedRounds = typeof raw.rounds === "number" ? raw.rounds : (legacyRounds ?? 5); + + const rounds = Math.min(Math.max(1, Math.floor(requestedRounds)), MAX_ROUNDS); + + const judgeModelId = + typeof raw.judgeModelId === "string" && raw.judgeModelId.length > 0 + ? (raw.judgeModelId as string) + : undefined; + + return { + engine: parseEngine(raw.engine), + rounds, + randomizeOrder: parseBool(raw.randomizeOrder, true), + blindFirstRound: parseBool(raw.blindFirstRound, true), + earlyStop: parseBool(raw.earlyStop, true), + judgeEnabled: parseBool(raw.judgeEnabled, false), + judgeModelId, + }; +} + // ── Route handler ────────────────────────────────────────── export async function POST(request: Request) { @@ -62,11 +103,22 @@ export async function POST(request: Request) { }); } - const body = (await request.json()) as ConsensusRequest; + const body = (await request.json()) as LooseRequestBody; // ── Validation ─────────────────────────────────────────── - if (!body.prompt || !body.participants?.length || !body.rounds) { + const hasRounds = + body.rounds !== undefined || + (typeof body.options === "object" && + body.options !== null && + "rounds" in (body.options as Record)); + + if ( + !body.prompt || + !Array.isArray(body.participants) || + body.participants.length === 0 || + !hasRounds + ) { return new Response(JSON.stringify({ error: "Missing required fields" }), { status: 400, headers: { "Content-Type": "application/json" }, @@ -80,40 +132,42 @@ export async function POST(request: Request) { ); } - if (!Array.isArray(body.participants) || body.participants.length > MAX_PARTICIPANTS) { + if (body.participants.length > MAX_PARTICIPANTS) { return new Response( JSON.stringify({ error: `Maximum ${MAX_PARTICIPANTS} participants allowed` }), { status: 400, headers: { "Content-Type": "application/json" } }, ); } - const rounds = Math.min(Math.max(1, Math.floor(body.rounds)), MAX_ROUNDS); + const options = parseOptions(body); // ── Rebuild participants server-side ───────────────────── // Never trust client-supplied systemPrompts or arbitrary model IDs. // Re-resolve models and personas from their IDs. - const validatedParticipants: Array<{ - id: string; - modelInfo: { id: string; providerId: string; providerName: string; modelId: string }; - persona: ReturnType; - }> = []; - for (const p of body.participants) { - const resolved = findResolvedModel(p.modelInfo?.id ?? ""); + const validatedParticipants: Participant[] = []; + for (const p of body.participants as Array<{ + id?: unknown; + modelInfo?: { id?: unknown }; + persona?: { id?: unknown }; + }>) { + const modelCompositeId = typeof p.modelInfo?.id === "string" ? p.modelInfo.id : ""; + const resolved = findResolvedModel(modelCompositeId); if (!resolved) { - return new Response(JSON.stringify({ error: `Model not available: ${p.modelInfo?.id}` }), { + return new Response(JSON.stringify({ error: `Model not available: ${modelCompositeId}` }), { status: 400, headers: { "Content-Type": "application/json" }, }); } // Rebuild persona from server-side definitions (ignore client systemPrompt) - const persona = getPersona(p.persona?.id ?? ""); + const personaId = typeof p.persona?.id === "string" ? p.persona.id : ""; + const persona = getPersona(personaId); validatedParticipants.push({ - id: p.id, + id: typeof p.id === "string" ? p.id : `p-${validatedParticipants.length + 1}`, modelInfo: { - id: p.modelInfo.id, + id: modelCompositeId, providerId: resolved.providerId, providerName: resolved.providerName, modelId: resolved.modelId, @@ -122,6 +176,23 @@ export async function POST(request: Request) { }); } + // Validate judge model, if requested + if (options.judgeEnabled) { + if (!options.judgeModelId) { + return new Response( + JSON.stringify({ error: "Judge enabled but no judgeModelId was supplied" }), + { status: 400, headers: { "Content-Type": "application/json" } }, + ); + } + const judgeResolved = findResolvedModel(options.judgeModelId); + if (!judgeResolved) { + return new Response( + JSON.stringify({ error: `Judge model not available: ${options.judgeModelId}` }), + { status: 400, headers: { "Content-Type": "application/json" } }, + ); + } + } + // ── Stream with abort support ──────────────────────────── const encoder = new TextEncoder(); @@ -139,9 +210,9 @@ export async function POST(request: Request) { try { await runConsensus( - body.prompt, + body.prompt as string, validatedParticipants, - rounds, + options, emit, request.signal, // forward abort signal ); diff --git a/app/page.tsx b/app/page.tsx index 42143c2..b3aa23c 100644 --- a/app/page.tsx +++ b/app/page.tsx @@ -1,7 +1,7 @@ "use client"; // ───────────────────────────────────────────────────────────── -// Consensus Arena — Main Page (Clean Dashboard) +// RoundTable — Main Page (Clean Dashboard) // ───────────────────────────────────────────────────────────── import { useEffect, useCallback, useState } from "react"; @@ -10,6 +10,11 @@ import AISelector from "@/components/AISelector"; import ResultPanel from "@/components/ResultPanel"; import MessageFlowDiagram from "@/components/MessageFlowDiagram"; import BackToTop from "@/components/BackToTop"; +import ConfidenceTrajectory from "@/components/ConfidenceTrajectory"; +import DisagreementPanel from "@/components/DisagreementPanel"; +import CostMeter from "@/components/CostMeter"; +import ConfigPanel from "@/components/ConfigPanel"; +import PromptLibrary from "@/components/PromptLibrary"; import { toast } from "sonner"; import { Play, @@ -22,17 +27,20 @@ import { Users, ArrowRight, Sparkles, + Eye, } from "lucide-react"; import type { ConsensusEvent, ConsensusRequest } from "@/lib/types"; +import { decodeSnapshotFromHash } from "@/lib/session"; export default function HomePage() { const participants = useArenaStore((s) => s.participants); - const roundCount = useArenaStore((s) => s.roundCount); const prompt = useArenaStore((s) => s.prompt); + const options = useArenaStore((s) => s.options); const isRunning = useArenaStore((s) => s.isRunning); const currentRound = useArenaStore((s) => s.currentRound); const progress = useArenaStore((s) => s.progress); const finalScore = useArenaStore((s) => s.finalScore); + const sharedView = useArenaStore((s) => s.sharedView); const setAvailableModels = useArenaStore((s) => s.setAvailableModels); const setModelsLoading = useArenaStore((s) => s.setModelsLoading); @@ -40,6 +48,7 @@ export default function HomePage() { const setPrompt = useArenaStore((s) => s.setPrompt); const cancelConsensus = useArenaStore((s) => s.cancelConsensus); const reset = useArenaStore((s) => s.reset); + const loadSnapshot = useArenaStore((s) => s.loadSnapshot); const [showOnboarding, setShowOnboarding] = useState(true); @@ -67,6 +76,18 @@ export default function HomePage() { }); }, [setAvailableModels, setModelsLoading]); + // Load a shared snapshot from the URL hash, if present + useEffect(() => { + if (typeof window === "undefined") return; + if (!window.location.hash) return; + decodeSnapshotFromHash(window.location.hash).then((snap) => { + if (!snap) return; + loadSnapshot(snap); + toast.info("Viewing shared session"); + setShowOnboarding(false); + }); + }, [loadSnapshot]); + useEffect(() => { const handler = (e: KeyboardEvent) => { if (e.key === "Escape" && useArenaStore.getState().isRunning) { @@ -88,6 +109,15 @@ export default function HomePage() { toast.error("Add at least 2 AI participants"); return; } + if (state.options.judgeEnabled && !state.options.judgeModelId) { + toast.error("Choose a judge model or disable judge synthesis"); + return; + } + + // Clear any URL hash from a previously loaded shared view + if (typeof window !== "undefined" && window.location.hash) { + history.replaceState(null, "", window.location.pathname); + } const controller = state.startConsensus(); toast.info("Consensus started — Esc to cancel"); @@ -95,7 +125,7 @@ export default function HomePage() { const body: ConsensusRequest = { prompt: state.prompt.trim(), participants: state.participants, - rounds: state.roundCount, + options: state.options, }; try { @@ -130,21 +160,44 @@ export default function HomePage() { if (err instanceof DOMException && err.name === "AbortError") return; const msg = err instanceof Error ? err.message : "Unknown error"; toast.error(`Consensus failed: ${msg}`); - useArenaStore.getState().completeConsensus(0, `Error: ${msg}`); + useArenaStore.getState().completeConsensus(0, `Error: ${msg}`, 0); } }, []); - const canRun = !isRunning && prompt.trim().length > 0 && participants.length >= 2; + const canRun = !isRunning && !sharedView && prompt.trim().length > 0 && participants.length >= 2; const handleCancel = useCallback(() => { cancelConsensus(); toast.info("Consensus cancelled"); }, [cancelConsensus]); + const handleLeaveSharedView = useCallback(() => { + if (typeof window !== "undefined" && window.location.hash) { + history.replaceState(null, "", window.location.pathname); + } + reset(); + }, [reset]); + return (
+ {/* Shared-view banner */} + {sharedView && ( +
+
+ + Viewing a shared session. Reset to start your own run. +
+ +
+ )} + {/* Onboarding */} - {showOnboarding && participants.length === 0 && ( + {showOnboarding && participants.length === 0 && !sharedView && (
setShowOnboarding(false)} @@ -211,18 +264,18 @@ export default function HomePage() {
- {roundCount} + {options.engine === "blind-jury" ? 1 : options.rounds}
+
+

+ Protocol +

+ +
+ + {/* On xl+ these panels move into the floating Message Flow + container on the right. Keep them in the sidebar below + that breakpoint so smaller screens still see them. */} +
+ + + +
+ {isRunning && (

- Round {currentRound} of {roundCount} + Round {currentRound} of {options.rounds}

+ ); +} + +export default function ConfigPanel() { + const options = useArenaStore((s) => s.options); + const setOption = useArenaStore((s) => s.setOption); + const availableModels = useArenaStore((s) => s.availableModels); + const isRunning = useArenaStore((s) => s.isRunning); + + const [judgeOpen, setJudgeOpen] = useState(false); + const judgeRef = useRef(null); + + useEffect(() => { + const onClick = (e: MouseEvent) => { + if (judgeRef.current && !judgeRef.current.contains(e.target as Node)) setJudgeOpen(false); + }; + document.addEventListener("mousedown", onClick); + return () => document.removeEventListener("mousedown", onClick); + }, []); + + const judgeModel = useMemo( + () => availableModels.find((m) => m.id === options.judgeModelId), + [availableModels, options.judgeModelId], + ); + + const isCvp = options.engine === "cvp"; + + return ( +
+
+

+ Engine +

+
+ {(["cvp", "blind-jury"] as const).map((eng) => { + const active = options.engine === eng; + return ( + + ); + })} +
+

+ {isCvp + ? "Multi-round structured debate with cross-visibility." + : "One-shot parallel responses + judge synthesis."} +

+
+ + {isCvp && ( +
+ } + checked={options.randomizeOrder} + onChange={(v) => setOption("randomizeOrder", v)} + disabled={isRunning} + /> + } + checked={options.blindFirstRound} + onChange={(v) => setOption("blindFirstRound", v)} + disabled={isRunning} + /> + } + checked={options.earlyStop} + onChange={(v) => setOption("earlyStop", v)} + disabled={isRunning} + /> +
+ )} + +
+ } + checked={options.judgeEnabled} + onChange={(v) => { + setOption("judgeEnabled", v); + if (v && !options.judgeModelId && availableModels[0]) { + setOption("judgeModelId", availableModels[0].id); + } + }} + disabled={isRunning} + /> + {options.judgeEnabled && ( +
+ + {judgeOpen && ( +
+ {availableModels.length === 0 && ( +

No models available.

+ )} + {availableModels.map((m) => { + const isSel = options.judgeModelId === m.id; + return ( + + ); + })} +
+ )} +
+ )} +
+
+ ); +} diff --git a/components/CostMeter.tsx b/components/CostMeter.tsx new file mode 100644 index 0000000..155f23a --- /dev/null +++ b/components/CostMeter.tsx @@ -0,0 +1,52 @@ +"use client"; + +// ───────────────────────────────────────────────────────────── +// Cost Meter — Live token usage & estimated cost +// ───────────────────────────────────────────────────────────── +// Shows running total tokens and estimated USD cost. Pricing is +// client-side and clearly flagged as an estimate in the label. + +import { useArenaStore } from "@/lib/store"; +import { DollarSign } from "lucide-react"; + +function formatCost(usd: number): string { + if (usd === 0) return "$0.00"; + if (usd < 0.01) return `$${usd.toFixed(4)}`; + return `$${usd.toFixed(2)}`; +} + +function formatTokens(n: number): string { + if (n < 1000) return n.toString(); + if (n < 1_000_000) return `${(n / 1000).toFixed(1)}K`; + return `${(n / 1_000_000).toFixed(2)}M`; +} + +export default function CostMeter() { + const total = useArenaStore((s) => s.tokenTotal); + const isRunning = useArenaStore((s) => s.isRunning); + + if (total.totalTokens === 0 && !isRunning) return null; + + return ( +
+
+ +

+ Cost (estimated) +

+
+
+ + {formatCost(total.estimatedCostUSD)} + + + {formatTokens(total.totalTokens)} tokens + +
+
+ in {formatTokens(total.inputTokens)} + out {formatTokens(total.outputTokens)} +
+
+ ); +} diff --git a/components/DisagreementPanel.tsx b/components/DisagreementPanel.tsx new file mode 100644 index 0000000..ec9fee0 --- /dev/null +++ b/components/DisagreementPanel.tsx @@ -0,0 +1,95 @@ +"use client"; + +// ───────────────────────────────────────────────────────────── +// Disagreement Panel — Live disagreement ledger +// ───────────────────────────────────────────────────────────── +// Renders the list of disagreements detected during the run. +// Groups by round, links each row to the round heading, and +// shows severity as a small bar. Reads straight from the store. + +import { useArenaStore } from "@/lib/store"; +import { useMemo } from "react"; +import { AlertTriangle } from "lucide-react"; + +export default function DisagreementPanel() { + const disagreements = useArenaStore((s) => s.disagreements); + const participants = useArenaStore((s) => s.participants); + + const grouped = useMemo(() => { + const out = new Map(); + for (const d of disagreements) { + const list = out.get(d.round) ?? []; + list.push(d); + out.set(d.round, list); + } + return [...out.entries()].sort((a, b) => a[0] - b[0]); + }, [disagreements]); + + if (disagreements.length === 0) return null; + + const lookup = (id: string) => participants.find((p) => p.id === id); + + const scrollToRound = (round: number) => { + const el = document.getElementById(`round-${round}`); + if (el) el.scrollIntoView({ behavior: "smooth", block: "start" }); + }; + + return ( +
+
+ +

+ Disagreement Ledger +

+ + {disagreements.length} + +
+
+ {grouped.map(([round, items]) => ( +
+ + {items.map((d) => { + const a = lookup(d.participantAId); + const b = lookup(d.participantBId); + return ( + + ); + })} +
+ ))} +
+
+ ); +} diff --git a/components/JudgeCard.tsx b/components/JudgeCard.tsx new file mode 100644 index 0000000..485f272 --- /dev/null +++ b/components/JudgeCard.tsx @@ -0,0 +1,46 @@ +"use client"; + +// ───────────────────────────────────────────────────────────── +// Judge Card — Non-voting synthesizer output +// ───────────────────────────────────────────────────────────── +// Renders the live judge stream (if running) or the final +// synthesis (if complete). Does nothing if the judge was never +// enabled for the run. + +import { useArenaStore } from "@/lib/store"; +import ReactMarkdown from "react-markdown"; +import remarkGfm from "remark-gfm"; +import { Gavel, Loader2 } from "lucide-react"; + +const remarkPlugins = [remarkGfm]; + +export default function JudgeCard() { + const judge = useArenaStore((s) => s.judge); + const stream = useArenaStore((s) => s.judgeStream); + const running = useArenaStore((s) => s.judgeRunning); + + if (!judge && !running) return null; + + const content = running ? stream : (judge?.content ?? ""); + const displayContent = content.replace(/\nJUDGE_CONFIDENCE:\s*\d+\s*$/i, "").trim(); + + return ( +
+
+ +
+

Consensus Judge

+ {judge && ( +

+ {judge.providerName} · {judge.modelId} +

+ )} +
+ {running && } +
+
+ {displayContent || "..."} +
+
+ ); +} diff --git a/components/MessageFlowDiagram.tsx b/components/MessageFlowDiagram.tsx index 0f0df8f..983fa87 100644 --- a/components/MessageFlowDiagram.tsx +++ b/components/MessageFlowDiagram.tsx @@ -1,8 +1,14 @@ "use client"; // ───────────────────────────────────────────────────────────── -// Message Flow Diagram — High-contrast floating sidebar +// Message Flow Diagram — Floating right-side summary panel // ───────────────────────────────────────────────────────────── +// Stacks the cost meter, confidence trajectory, disagreement +// ledger and the UML-style message flow diagram into a single +// scrollable floating container pinned to the right edge of the +// viewport on xl+ screens. Each card returns null on its own +// when it has nothing to show, so the stack collapses naturally +// as the run starts filling in data. import { useArenaStore } from "@/lib/store"; import { useMemo, useState, memo, useCallback } from "react"; @@ -15,6 +21,9 @@ import { CheckCircle2, Loader2, } from "lucide-react"; +import CostMeter from "./CostMeter"; +import ConfidenceTrajectory from "./ConfidenceTrajectory"; +import DisagreementPanel from "./DisagreementPanel"; function scrollToResponse(responseId: string) { const el = document.getElementById(responseId); @@ -33,6 +42,33 @@ function scrollToRound(roundNumber: number) { } export default function MessageFlowDiagram() { + const rounds = useArenaStore((s) => s.rounds); + const isRunning = useArenaStore((s) => s.isRunning); + const tokenTotal = useArenaStore((s) => s.tokenTotal); + const disagreements = useArenaStore((s) => s.disagreements); + + const hasRounds = rounds.length > 0; + const hasCost = tokenTotal.totalTokens > 0 || isRunning; + const hasDisagreements = disagreements.length > 0; + + // Hide the entire floating container when there's nothing to show. + if (!hasRounds && !hasCost && !hasDisagreements) return null; + + return ( +
+
+ + + + +
+
+ ); +} + +// ── Message Flow card — the collapsible sequence diagram ── + +function MessageFlowCard() { const rounds = useArenaStore((s) => s.rounds); const participants = useArenaStore((s) => s.participants); const currentRound = useArenaStore((s) => s.currentRound); @@ -75,56 +111,54 @@ export default function MessageFlowDiagram() { if (rounds.length === 0) return null; return ( -
-
- +
+ - {!collapsed && ( -
- {/* Participant badges */} -
- {participants.map((p) => ( + {!collapsed && ( +
+ {/* Participant badges */} +
+ {participants.map((p) => ( +
-
- {p.modelInfo.modelId} -
- ))} -
- - {flowEvents.map((event, i) => ( - - ))} - - {isRunning && ( -
- - Round {currentRound}... + className="w-1.5 h-1.5 rounded-full" + style={{ backgroundColor: p.persona.color }} + /> + {p.modelInfo.modelId}
- )} + ))}
- )} -
+ + {flowEvents.map((event, i) => ( + + ))} + + {isRunning && ( +
+ + Round {currentRound}... +
+ )} +
+ )}
); } diff --git a/components/PromptLibrary.tsx b/components/PromptLibrary.tsx new file mode 100644 index 0000000..9a5dc01 --- /dev/null +++ b/components/PromptLibrary.tsx @@ -0,0 +1,45 @@ +"use client"; + +// ───────────────────────────────────────────────────────────── +// Prompt Library — Preset chips under the prompt textarea +// ───────────────────────────────────────────────────────────── + +import { PROMPT_LIBRARY } from "@/lib/prompt-library"; +import { useArenaStore } from "@/lib/store"; +import { Sparkles } from "lucide-react"; + +export default function PromptLibrary() { + const setPrompt = useArenaStore((s) => s.setPrompt); + const isRunning = useArenaStore((s) => s.isRunning); + const prompt = useArenaStore((s) => s.prompt); + + if (isRunning) return null; + if (prompt.trim().length > 0) return null; + + return ( +
+

+ + Try a preset +

+
+ {PROMPT_LIBRARY.map((preset) => ( + + ))} +
+
+ ); +} diff --git a/components/ResultPanel.tsx b/components/ResultPanel.tsx index 6ca2d12..772cc4d 100644 --- a/components/ResultPanel.tsx +++ b/components/ResultPanel.tsx @@ -8,6 +8,8 @@ import { useArenaStore } from "@/lib/store"; import ReactMarkdown from "react-markdown"; import remarkGfm from "remark-gfm"; import { useEffect, useRef, memo, useCallback, useState } from "react"; +import JudgeCard from "./JudgeCard"; +import SessionMenu from "./SessionMenu"; import { CheckCircle, Circle, @@ -18,6 +20,8 @@ import { ChevronUp, Copy, Check, + ZapOff, + AlertCircle, } from "lucide-react"; const remarkPlugins = [remarkGfm]; @@ -31,7 +35,10 @@ export default function ResultPanel() { const finalSummary = useArenaStore((s) => s.finalSummary); const progress = useArenaStore((s) => s.progress); const cancelConsensus = useArenaStore((s) => s.cancelConsensus); - const roundCount = useArenaStore((s) => s.roundCount); + const roundCount = useArenaStore((s) => s.options.rounds); + const earlyStopped = useArenaStore((s) => s.earlyStopped); + const judge = useArenaStore((s) => s.judge); + const judgeRunning = useArenaStore((s) => s.judgeRunning); const bottomRef = useRef(null); const scrollTimerRef = useRef | null>(null); @@ -57,7 +64,7 @@ export default function ResultPanel() { window.scrollTo({ top: 0, behavior: "smooth" }); }, []); - if (rounds.length === 0 && !isRunning) return null; + if (rounds.length === 0 && !isRunning && !judge && !judgeRunning) return null; return (
@@ -137,6 +144,7 @@ export default function ResultPanel() { personaEmoji={participant.persona.emoji} confidence={response.confidence} content={response.content} + error={response.error} /> ); })} @@ -148,6 +156,22 @@ export default function ResultPanel() {
))} + {/* Early stop notice */} + {earlyStopped && ( +
+ +
+

+ Stopped early after round {earlyStopped.round} +

+

{earlyStopped.reason}

+
+
+ )} + + {/* Judge synthesis */} + + {/* Final consensus */} {finalScore !== null && (
@@ -159,6 +183,7 @@ export default function ResultPanel() { {finalScore}% +
{finalSummary && (

{finalSummary}

@@ -231,6 +256,7 @@ const CompletedResponseCard = memo(function CompletedResponseCard({ personaEmoji, confidence, content, + error, }: { responseId: string; modelName: string; @@ -240,6 +266,7 @@ const CompletedResponseCard = memo(function CompletedResponseCard({ personaEmoji: string; confidence: number; content: string; + error?: string; }) { const displayContent = content.replace(/\nCONFIDENCE:\s*\d+\s*$/i, "").trim(); const [copied, setCopied] = useState(false); @@ -251,6 +278,37 @@ const CompletedResponseCard = memo(function CompletedResponseCard({ }); }, [displayContent]); + if (error) { + return ( +
+
+
+ +
+

Provider error

+

{error}

+

+ Check your provider base URL, API key, and that the model ID exists at the upstream + endpoint. This participant's response is excluded from the consensus score. +

+
+
+
+ ); + } + return (
@@ -357,7 +417,12 @@ const Header = memo(function Header({
{streaming && } - {confidence != null && ( + {errored && ( + + ERROR + + )} + {!errored && confidence != null && ( s.getSnapshot); + const finalScore = useArenaStore((s) => s.finalScore); + const [open, setOpen] = useState(false); + const [copied, setCopied] = useState(false); + const ref = useRef(null); + + useEffect(() => { + const onClick = (e: MouseEvent) => { + if (ref.current && !ref.current.contains(e.target as Node)) setOpen(false); + }; + document.addEventListener("mousedown", onClick); + return () => document.removeEventListener("mousedown", onClick); + }, []); + + const handleMarkdown = useCallback(() => { + const snap = getSnapshot(); + downloadBlob(snapshotFilename(snap, "md"), snapshotToMarkdown(snap), "text/markdown"); + toast.success("Markdown downloaded"); + setOpen(false); + }, [getSnapshot]); + + const handleJSON = useCallback(() => { + const snap = getSnapshot(); + downloadBlob(snapshotFilename(snap, "json"), snapshotToJSON(snap), "application/json"); + toast.success("JSON downloaded"); + setOpen(false); + }, [getSnapshot]); + + const handleLink = useCallback(async () => { + const snap = getSnapshot(); + try { + const encoded = await encodeSnapshotToHash(snap); + const url = `${window.location.origin}${window.location.pathname}#${encoded}`; + await navigator.clipboard.writeText(url); + setCopied(true); + toast.success("Permalink copied to clipboard"); + setTimeout(() => setCopied(false), 2000); + } catch { + toast.error("Failed to build permalink"); + } + setOpen(false); + }, [getSnapshot]); + + if (finalScore === null) return null; + + return ( +
+ + {open && ( +
+ + +
+ +
+ )} +
+ ); +} + +/** Stand-alone icon button for the "Download" UX without a menu */ +export function DownloadIconButton() { + const getSnapshot = useArenaStore((s) => s.getSnapshot); + const finalScore = useArenaStore((s) => s.finalScore); + + const handleClick = useCallback(() => { + const snap = getSnapshot(); + downloadBlob(snapshotFilename(snap, "md"), snapshotToMarkdown(snap), "text/markdown"); + toast.success("Markdown downloaded"); + }, [getSnapshot]); + + if (finalScore === null) return null; + + return ( + + ); +} diff --git a/lib/consensus-engine.ts b/lib/consensus-engine.ts index 5ab2696..475986b 100644 --- a/lib/consensus-engine.ts +++ b/lib/consensus-engine.ts @@ -1,16 +1,38 @@ // ───────────────────────────────────────────────────────────── // RoundTable — Consensus Engine (Server-side) // ───────────────────────────────────────────────────────────── -// Orchestrates multi-round, multi-AI consensus using SSE streaming. -// Accepts an optional AbortSignal to stop processing when the -// client disconnects. +// Orchestrates multi-round, multi-AI consensus using SSE +// streaming. Dispatches between engines and wires in the +// optional Judge synthesizer and cost meter. +// +// Engines: +// cvp — Consensus Validation Protocol (multi-round debate) +// blind-jury — Parallel independent responses + judge synthesis +// +// All engines accept an optional AbortSignal and forward it to +// every provider call. import { createOpenAI } from "@ai-sdk/openai"; import { streamText } from "ai"; -import type { Participant, RoundType, ConsensusEvent, RoundResponse } from "./types"; +import type { + Participant, + RoundType, + ConsensusEvent, + RoundResponse, + ConsensusOptions, + Disagreement, + JudgeResult, + TokenUsage, +} from "./types"; import { findResolvedModel } from "./providers"; +import { JUDGE_PERSONA } from "./personas"; +import { addUsage, estimateCost, estimateUsageFromText, ZERO_USAGE } from "./pricing"; + +const MAX_OUTPUT_TOKENS = 1500; +const EARLY_STOP_DELTA_THRESHOLD = 3; // consensus score delta below this = converged + +// ── Round definitions ────────────────────────────────────── -/** Round definitions per the CVP spec */ function getRoundMeta( roundNumber: number, totalRounds: number, @@ -27,7 +49,8 @@ function getRoundMeta( }; } -/** Build the system prompt for a specific round */ +// ── Prompt building ──────────────────────────────────────── + function buildRoundSystemPrompt( persona: string, roundType: RoundType, @@ -63,34 +86,285 @@ IMPORTANT: End your response with a line in exactly this format: CONFIDENCE: [number 0-100]`; } -/** Extract confidence score from response text */ +function buildBlindJurorSystemPrompt(persona: string): string { + return `${persona} + +You are participating in a BLIND JURY. Every juror is answering the prompt independently and simultaneously. You have no visibility into other jurors' responses. Give your most complete, considered analysis now — there is no second round. + +IMPORTANT: End your response with a line in exactly this format: +CONFIDENCE: [number 0-100]`; +} + +function buildJudgeContext(finalResponses: RoundResponse[], participants: Participant[]): string { + const blocks = finalResponses.map((r) => { + const p = participants.find((x) => x.id === r.participantId); + const label = p + ? `${p.persona.name} (${p.modelInfo.providerName}/${p.modelInfo.modelId})` + : r.participantId; + const body = r.content.replace(/\nCONFIDENCE:\s*\d+\s*$/i, "").trim(); + return `### ${label} — self-reported confidence ${r.confidence}%\n${body}`; + }); + return `Below are the final-round responses from every participant. Synthesize them per your instructions.\n\n${blocks.join("\n\n---\n\n")}`; +} + +// ── Extraction helpers ───────────────────────────────────── + +/** Extract confidence score from response text (0-100, defaults to 50) */ function extractConfidence(text: string): number { const match = text.match(/CONFIDENCE:\s*(\d+)/i); if (match) return Math.min(100, Math.max(0, parseInt(match[1], 10))); return 50; } -/** Calculate consensus score from participant confidences */ +function extractJudgeSection(text: string, heading: string): string { + const pattern = new RegExp(`##\\s*${heading}\\s*\\n([\\s\\S]*?)(?=\\n##\\s|$)`, "i"); + const m = text.match(pattern); + return m ? m[1].trim() : ""; +} + +// ── Scoring ──────────────────────────────────────────────── + function calculateConsensusScore(responses: RoundResponse[]): number { - if (responses.length === 0) return 0; - const avg = responses.reduce((sum, r) => sum + r.confidence, 0) / responses.length; + const valid = responses.filter((r) => !r.error); + if (valid.length === 0) return 0; + const avg = valid.reduce((sum, r) => sum + r.confidence, 0) / valid.length; const variance = - responses.reduce((sum, r) => sum + Math.pow(r.confidence - avg, 2), 0) / responses.length; + valid.reduce((sum, r) => sum + Math.pow(r.confidence - avg, 2), 0) / valid.length; const stdDev = Math.sqrt(variance); return Math.round(Math.max(0, Math.min(100, avg - stdDev * 0.5))); } -/** Stream a single AI participant's response */ +// ── Randomization ────────────────────────────────────────── + +/** Fisher–Yates shuffle. Non-mutating. */ +export function shuffle(arr: readonly T[], rng: () => number = Math.random): T[] { + const out = arr.slice(); + for (let i = out.length - 1; i > 0; i--) { + const j = Math.floor(rng() * (i + 1)); + [out[i], out[j]] = [out[j], out[i]]; + } + return out; +} + +// ── Disagreement detection ───────────────────────────────── + +/** + * Detect disagreements in a round using a deterministic, text-free + * heuristic: pairs of participants whose confidence scores diverge + * by >= 20 points. This avoids fragile regex claim-extraction and + * extra LLM calls, while still giving a meaningful signal. + */ +export function detectDisagreements( + round: number, + responses: RoundResponse[], + participants: Participant[], +): Disagreement[] { + const out: Disagreement[] = []; + for (let i = 0; i < responses.length; i++) { + for (let j = i + 1; j < responses.length; j++) { + const a = responses[i]; + const b = responses[j]; + if (a.error || b.error) continue; + const delta = Math.abs(a.confidence - b.confidence); + if (delta < 20) continue; + const pa = participants.find((p) => p.id === a.participantId); + const pb = participants.find((p) => p.id === b.participantId); + const label = pa && pb ? `${pa.persona.name} vs ${pb.persona.name}` : "Confidence split"; + out.push({ + id: `r${round}-${a.participantId}-${b.participantId}`, + round, + participantAId: a.participantId, + participantBId: b.participantId, + severity: delta, + label, + }); + } + } + return out; +} + +// ── Streaming a single participant ───────────────────────── + +/** Safely extract token usage from a streamText result */ +async function extractUsage( + result: { usage?: unknown } | undefined, +): Promise<{ inputTokens: number; outputTokens: number } | null> { + if (!result || !result.usage) return null; + try { + const u = (await (result.usage as Promise)) as Record | undefined; + if (!u || typeof u !== "object") return null; + const input = (u.inputTokens ?? u.promptTokens ?? 0) as number; + const output = (u.outputTokens ?? u.completionTokens ?? 0) as number; + if (typeof input !== "number" || typeof output !== "number") return null; + return { inputTokens: input, outputTokens: output }; + } catch { + return null; + } +} + +/** + * Format a provider error for display. Pulls out the common fields + * that the Vercel AI SDK attaches to `AI_APICallError` (statusCode, + * url, responseBody) and falls back to the message when they are + * absent. + */ +function formatProviderError(err: unknown): string { + if (!(err instanceof Error)) return typeof err === "string" ? err : "Unknown provider error"; + const msg = err.message || err.name || "Unknown provider error"; + const info = err as unknown as { + statusCode?: number; + responseBody?: unknown; + url?: string; + }; + const parts: string[] = [msg]; + if (typeof info.statusCode === "number") parts.push(`HTTP ${info.statusCode}`); + return parts.join(" — "); +} + async function streamParticipant( participant: Participant, systemPrompt: string, userPrompt: string, + round: number, emit: (event: ConsensusEvent) => void, signal?: AbortSignal, ): Promise { + emit({ type: "participant-start", participantId: participant.id, round }); + + const started = Date.now(); + let fullContent = ""; + let usage: TokenUsage | undefined; + let errorMessage: string | undefined; + const resolved = findResolvedModel(participant.modelInfo.id); + + if (!resolved) { + errorMessage = `Model not available: ${participant.modelInfo.id}`; + fullContent = `[Error from ${participant.modelInfo.providerName} / ${participant.modelInfo.modelId}: ${errorMessage}]`; + emit({ type: "token", participantId: participant.id, round, token: fullContent }); + console.error(`[RoundTable] Model resolution failed for ${participant.modelInfo.id}`); + } else { + try { + const provider = createOpenAI({ + baseURL: resolved.baseUrl, + apiKey: resolved.apiKey, + }); + + // Vercel AI SDK v6 surfaces provider errors via the `onError` + // callback rather than throwing from `textStream`. We capture + // them here and re-throw after the iteration so the outer + // try/catch handles them uniformly. + let capturedError: unknown = null; + + // Use `.chat()` — the OpenAI chat-completions endpoint + // (`/v1/chat/completions`) is the only one every provider's + // OpenAI-compat shim implements (Anthropic, xAI, Mistral, + // Groq, Together, …). The default `provider(modelId)` call + // would target `/v1/responses`, which is OpenAI-only. + const result = streamText({ + model: provider.chat(resolved.modelId), + system: systemPrompt, + prompt: userPrompt, + maxOutputTokens: MAX_OUTPUT_TOKENS, + temperature: 0.7, + abortSignal: signal, + onError: ({ error }: { error: unknown }) => { + capturedError = error; + }, + } as Parameters[0]); + + const awaited = await result; + for await (const chunk of awaited.textStream) { + if (signal?.aborted) throw new DOMException("Aborted", "AbortError"); + fullContent += chunk; + emit({ type: "token", participantId: participant.id, round, token: chunk }); + } + + if (capturedError) throw capturedError; + + const rawUsage = await extractUsage(awaited as { usage?: unknown }); + if (rawUsage) { + usage = { + inputTokens: rawUsage.inputTokens, + outputTokens: rawUsage.outputTokens, + totalTokens: rawUsage.inputTokens + rawUsage.outputTokens, + estimatedCostUSD: estimateCost( + resolved.modelId, + rawUsage.inputTokens, + rawUsage.outputTokens, + ), + }; + } else { + usage = estimateUsageFromText(resolved.modelId, systemPrompt + userPrompt, fullContent); + } + } catch (err) { + if (err instanceof DOMException && err.name === "AbortError") throw err; + + errorMessage = formatProviderError(err); + + console.error( + `[RoundTable] Provider error from ${participant.modelInfo.providerName}/${participant.modelInfo.modelId}:`, + err, + ); + + // If nothing was streamed, emit a synthetic token so the UI + // never renders an empty card. If something WAS streamed, + // append the error to what was already shown. + if (fullContent.length === 0) { + fullContent = `[Error from ${participant.modelInfo.providerName} / ${participant.modelInfo.modelId}: ${errorMessage}]`; + emit({ type: "token", participantId: participant.id, round, token: fullContent }); + } else { + const tail = `\n\n[Error from ${participant.modelInfo.providerName} / ${participant.modelInfo.modelId}: ${errorMessage}]`; + fullContent += tail; + emit({ type: "token", participantId: participant.id, round, token: tail }); + } + } + } + + // Errored responses have no meaningful self-reported confidence. + // Using 0 keeps them out of the consensus score (which filters + // `r.error`) and makes the UI render an explicit error badge. + const confidence = errorMessage ? 0 : extractConfidence(fullContent); + const durationMs = Date.now() - started; + + const response: RoundResponse = { + participantId: participant.id, + roundNumber: round, + content: fullContent, + confidence, + timestamp: Date.now(), + durationMs, + usage, + error: errorMessage, + }; + + emit({ + type: "participant-end", + participantId: participant.id, + round, + confidence, + fullContent, + usage, + durationMs, + error: errorMessage, + }); + + return response; +} + +// ── Judge synthesizer ────────────────────────────────────── + +async function runJudge( + judgeModelId: string, + finalResponses: RoundResponse[], + participants: Participant[], + userPrompt: string, + emit: (event: ConsensusEvent) => void, + signal?: AbortSignal, +): Promise { + const resolved = findResolvedModel(judgeModelId); if (!resolved) { - throw new Error(`Model not found: ${participant.modelInfo.id}`); + throw new Error(`Judge model not found: ${judgeModelId}`); } const provider = createOpenAI({ @@ -98,52 +372,97 @@ async function streamParticipant( apiKey: resolved.apiKey, }); - emit({ type: "participant-start", participantId: participant.id, round: 0 }); + emit({ type: "judge-start", modelId: resolved.modelId, providerName: resolved.providerName }); - let fullContent = ""; + const context = buildJudgeContext(finalResponses, participants); + const system = `${JUDGE_PERSONA.systemPrompt} + +The original prompt that was debated was: +""" +${userPrompt} +"""`; + + let content = ""; + let usage: TokenUsage | undefined; try { + let capturedError: unknown = null; + + // See streamParticipant for why we use `.chat()` here. const result = streamText({ - model: provider(resolved.modelId), - system: systemPrompt, - prompt: userPrompt, - maxOutputTokens: 1500, - temperature: 0.7, + model: provider.chat(resolved.modelId), + system, + prompt: context, + maxOutputTokens: MAX_OUTPUT_TOKENS, + temperature: 0.3, abortSignal: signal, - }); + onError: ({ error }: { error: unknown }) => { + capturedError = error; + }, + } as Parameters[0]); - for await (const chunk of (await result).textStream) { + const awaited = await result; + for await (const chunk of awaited.textStream) { if (signal?.aborted) throw new DOMException("Aborted", "AbortError"); - fullContent += chunk; - emit({ type: "token", participantId: participant.id, round: 0, token: chunk }); + content += chunk; + emit({ type: "judge-token", token: chunk }); + } + + if (capturedError) throw capturedError; + + const rawUsage = await extractUsage(awaited as { usage?: unknown }); + if (rawUsage) { + usage = { + inputTokens: rawUsage.inputTokens, + outputTokens: rawUsage.outputTokens, + totalTokens: rawUsage.inputTokens + rawUsage.outputTokens, + estimatedCostUSD: estimateCost( + resolved.modelId, + rawUsage.inputTokens, + rawUsage.outputTokens, + ), + }; + } else { + usage = estimateUsageFromText(resolved.modelId, system + context, content); } } catch (err) { if (err instanceof DOMException && err.name === "AbortError") throw err; - const errorMsg = err instanceof Error ? err.message : "Unknown error"; - fullContent = `[Error from ${participant.modelInfo.providerName}/${participant.modelInfo.modelId}: ${errorMsg}]`; - emit({ type: "token", participantId: participant.id, round: 0, token: fullContent }); + const msg = formatProviderError(err); + console.error( + `[RoundTable] Judge error from ${resolved.providerName}/${resolved.modelId}:`, + err, + ); + const tail = content.length === 0 ? `[Judge error: ${msg}]` : `\n\n[Judge error: ${msg}]`; + content += tail; + emit({ type: "judge-token", token: tail }); } - const confidence = extractConfidence(fullContent); - - return { - participantId: participant.id, - roundNumber: 0, - content: fullContent, - confidence, - timestamp: Date.now(), + const result: JudgeResult = { + modelId: resolved.modelId, + providerName: resolved.providerName, + content, + majorityPosition: extractJudgeSection(content, "Majority Position"), + minorityPositions: extractJudgeSection(content, "Minority Positions"), + unresolvedDisputes: extractJudgeSection(content, "Unresolved Disputes"), + usage, }; + emit({ type: "judge-end", result }); + return result; } -/** Run the full consensus process, emitting SSE events */ -export async function runConsensus( +// ── CVP Engine ───────────────────────────────────────────── + +async function runCVPConsensus( prompt: string, participants: Participant[], - totalRounds: number, + options: ConsensusOptions, emit: (event: ConsensusEvent) => void, signal?: AbortSignal, -): Promise { +): Promise { + const totalRounds = options.rounds; const allResponses: RoundResponse[] = []; + const roundScores: number[] = []; + let roundsCompleted = 0; for (let round = 1; round <= totalRounds; round++) { if (signal?.aborted) throw new DOMException("Aborted", "AbortError"); @@ -153,56 +472,178 @@ export async function runConsensus( const previousResponses = allResponses.filter((r) => r.roundNumber < round); - const roundResponses: RoundResponse[] = []; + // Determine speaking order for this round + const order = + options.randomizeOrder && round > 1 ? shuffle(participants) : participants.slice(); - for (const participant of participants) { - if (signal?.aborted) throw new DOMException("Aborted", "AbortError"); + const roundResponses: RoundResponse[] = []; - const systemPrompt = buildRoundSystemPrompt( - participant.persona.systemPrompt, - type, - round, - totalRounds, - previousResponses, - ); + if (round === 1 && options.blindFirstRound) { + // Parallel, no cross-visibility — each participant only sees an empty previous-context. + const promises = order.map((participant) => { + const systemPrompt = buildRoundSystemPrompt( + participant.persona.systemPrompt, + type, + round, + totalRounds, + [], + ); + return streamParticipant(participant, systemPrompt, prompt, round, emit, signal); + }); + const results = await Promise.all(promises); + roundResponses.push(...results); + } else { + // Sequential — later participants see earlier ones from this round + for (const participant of order) { + if (signal?.aborted) throw new DOMException("Aborted", "AbortError"); - const response = await streamParticipant( - participant, - systemPrompt, - prompt, - (event) => { - if ("round" in event) { - emit({ ...event, round } as ConsensusEvent); - } else { - emit(event); - } - }, - signal, - ); + const visibleContext = [ + ...previousResponses, + ...roundResponses, // what earlier participants said in THIS round + ]; - response.roundNumber = round; - roundResponses.push(response); + const systemPrompt = buildRoundSystemPrompt( + participant.persona.systemPrompt, + type, + round, + totalRounds, + visibleContext, + ); - emit({ - type: "participant-end", - participantId: participant.id, - round, - confidence: response.confidence, - fullContent: response.content, - }); + const response = await streamParticipant( + participant, + systemPrompt, + prompt, + round, + emit, + signal, + ); + roundResponses.push(response); + } } allResponses.push(...roundResponses); const consensusScore = calculateConsensusScore(roundResponses); + roundScores.push(consensusScore); emit({ type: "round-end", round, consensusScore }); + + const disagreements = detectDisagreements(round, roundResponses, participants); + if (disagreements.length > 0) { + emit({ type: "disagreements", round, disagreements }); + } + + roundsCompleted = round; + + // Convergence check — requires at least round 2 before we can look at a delta + if (options.earlyStop && round >= 2 && round < totalRounds) { + const delta = Math.abs(consensusScore - roundScores[round - 2]); + if (delta <= EARLY_STOP_DELTA_THRESHOLD) { + const reason = `Consensus score delta ${delta.toFixed(1)} between rounds ${round - 1} and ${round} is at or below the convergence threshold (${EARLY_STOP_DELTA_THRESHOLD}).`; + emit({ type: "early-stop", round, delta, reason }); + break; + } + } } - const lastRoundResponses = allResponses.filter((r) => r.roundNumber === totalRounds); + const lastRoundNumber = roundsCompleted; + const lastRoundResponses = allResponses.filter((r) => r.roundNumber === lastRoundNumber); const finalScore = calculateConsensusScore(lastRoundResponses); + if (options.judgeEnabled && options.judgeModelId) { + await runJudge(options.judgeModelId, lastRoundResponses, participants, prompt, emit, signal); + } + emit({ type: "consensus-complete", finalScore, - summary: `Consensus reached after ${totalRounds} rounds with ${participants.length} participants. Final consensus score: ${finalScore}%.`, + summary: `CVP completed ${roundsCompleted} round${roundsCompleted !== 1 ? "s" : ""} with ${participants.length} participants. Final consensus score: ${finalScore}%.`, + roundsCompleted, + }); + + return finalScore; +} + +// ── Blind Jury Engine ────────────────────────────────────── + +async function runBlindJuryConsensus( + prompt: string, + participants: Participant[], + options: ConsensusOptions, + emit: (event: ConsensusEvent) => void, + signal?: AbortSignal, +): Promise { + // One and only round — parallel, no cross-visibility. + emit({ + type: "round-start", + round: 1, + roundType: "initial-analysis", + label: "Blind Jury Deliberation", + }); + + const results = await Promise.all( + participants.map((p) => + streamParticipant( + p, + buildBlindJurorSystemPrompt(p.persona.systemPrompt), + prompt, + 1, + emit, + signal, + ), + ), + ); + + const consensusScore = calculateConsensusScore(results); + emit({ type: "round-end", round: 1, consensusScore }); + + const disagreements = detectDisagreements(1, results, participants); + if (disagreements.length > 0) { + emit({ type: "disagreements", round: 1, disagreements }); + } + + // Blind Jury always runs the judge if a model is available. + if (options.judgeEnabled && options.judgeModelId) { + await runJudge(options.judgeModelId, results, participants, prompt, emit, signal); + } + + emit({ + type: "consensus-complete", + finalScore: consensusScore, + summary: `Blind Jury reached a consensus score of ${consensusScore}% across ${participants.length} independent jurors.`, + roundsCompleted: 1, }); + + return consensusScore; +} + +// ── Public entrypoint ────────────────────────────────────── + +export async function runConsensus( + prompt: string, + participants: Participant[], + options: ConsensusOptions, + emit: (event: ConsensusEvent) => void, + signal?: AbortSignal, +): Promise { + if (options.engine === "blind-jury") { + await runBlindJuryConsensus(prompt, participants, options, emit, signal); + } else { + await runCVPConsensus(prompt, participants, options, emit, signal); + } } + +// ── Exports for tests ────────────────────────────────────── + +export const __testing = { + calculateConsensusScore, + detectDisagreements, + extractConfidence, + extractJudgeSection, + getRoundMeta, + shuffle, + buildRoundSystemPrompt, + buildBlindJurorSystemPrompt, + buildJudgeContext, + ZERO_USAGE, + addUsage, +}; diff --git a/lib/personas.ts b/lib/personas.ts index f18713d..7b774ae 100644 --- a/lib/personas.ts +++ b/lib/personas.ts @@ -1,9 +1,12 @@ // ───────────────────────────────────────────────────────────── -// Consensus Arena — Persona Definitions +// RoundTable — Persona Definitions // ───────────────────────────────────────────────────────────── // Add new personas by appending to the PERSONAS array below. // Each persona needs: id, name, emoji, color, description, systemPrompt. // The systemPrompt shapes how the AI responds during consensus rounds. +// +// JUDGE_PERSONA is separate: it is only used by the non-voting +// Judge synthesizer and never appears in the participant selector. import type { Persona } from "./types"; @@ -71,3 +74,35 @@ export const PERSONAS: Persona[] = [ export function getPersona(id: string): Persona { return PERSONAS.find((p) => p.id === id) ?? PERSONAS[0]; } + +/** + * The Judge persona — used by the non-voting synthesizer. + * Not exposed via the participant selector. + */ +export const JUDGE_PERSONA: Persona = { + id: "judge", + name: "Consensus Judge", + emoji: "🪶", + color: "#eab308", + description: "Non-voting synthesizer that summarises majority and minority positions", + systemPrompt: `You are the Consensus Judge. You do NOT participate in the debate and you do NOT vote. Your only job is to read the final-round responses from every participant and produce a faithful synthesis. + +Produce your output in exactly this shape, with those headings: + +## Majority Position +One paragraph describing the position held by the largest coherent group, with the participants who held it. + +## Minority Positions +One short paragraph per dissenting view. Always preserve conditional exceptions — do not collapse them into the majority. + +## Unresolved Disputes +Bullet list of specific disagreements that remained open at the end of the debate. If none, say "None". + +## Synthesis Confidence +A single integer 0-100 reflecting how confident you are that the above synthesis is faithful to what was actually said. End with a line in exactly this format: \`JUDGE_CONFIDENCE: [0-100]\`. + +Rules: +- Do not invent claims. Quote or paraphrase what participants actually said. +- Do not pick a winner. Your job is faithfulness, not victory. +- Do not collapse a minority view with a conditional exception into the majority.`, +}; diff --git a/lib/pricing.ts b/lib/pricing.ts new file mode 100644 index 0000000..d036cb0 --- /dev/null +++ b/lib/pricing.ts @@ -0,0 +1,118 @@ +// ───────────────────────────────────────────────────────────── +// RoundTable — Model Pricing Table (USD per 1M tokens) +// ───────────────────────────────────────────────────────────── +// Used only for the live cost meter. Figures are best-effort +// public list prices and are clearly surfaced as *estimates* in +// the UI. Unknown models fall back to zero — the meter simply +// reports what it can price. +// +// To add a model, append an entry below. Fuzzy matching picks +// the longest prefix match, so `claude-sonnet-4` covers every +// dated revision of that family. + +import type { TokenUsage } from "./types"; + +export interface ModelPricing { + /** USD per 1,000,000 input tokens */ + input: number; + /** USD per 1,000,000 output tokens */ + output: number; +} + +/** + * Keys are matched against modelId using a case-insensitive + * longest-prefix lookup. Order does not matter. + */ +export const PRICING_TABLE: Record = { + // OpenAI + "gpt-4o-mini": { input: 0.15, output: 0.6 }, + "gpt-4o": { input: 2.5, output: 10 }, + "gpt-4.1-mini": { input: 0.4, output: 1.6 }, + "gpt-4.1": { input: 2, output: 8 }, + "gpt-5-mini": { input: 0.25, output: 2 }, + "gpt-5": { input: 1.25, output: 10 }, + "o1-mini": { input: 3, output: 12 }, + o1: { input: 15, output: 60 }, + + // Anthropic + "claude-haiku": { input: 0.8, output: 4 }, + "claude-sonnet-3-5": { input: 3, output: 15 }, + "claude-sonnet-4": { input: 3, output: 15 }, + "claude-opus-4": { input: 15, output: 75 }, + + // xAI + "grok-3-mini": { input: 0.3, output: 0.5 }, + "grok-3": { input: 3, output: 15 }, + "grok-4": { input: 5, output: 15 }, + + // Google + "gemini-1.5-flash": { input: 0.075, output: 0.3 }, + "gemini-1.5-pro": { input: 1.25, output: 5 }, + "gemini-2.0-flash": { input: 0.1, output: 0.4 }, + "gemini-2.5-pro": { input: 1.25, output: 10 }, + + // Mistral + "mistral-small": { input: 0.2, output: 0.6 }, + "mistral-large": { input: 2, output: 6 }, + + // Groq-hosted open models + "llama-3.3-70b": { input: 0.59, output: 0.79 }, + "llama-3.1-8b": { input: 0.05, output: 0.08 }, +}; + +/** Zero pricing used when a model has no pricing entry. */ +export const ZERO_PRICING: ModelPricing = { input: 0, output: 0 }; + +/** + * Look up pricing for a model id using case-insensitive + * longest-prefix matching, e.g. `claude-sonnet-4-20250514` + * resolves to the `claude-sonnet-4` entry. + */ +export function getModelPricing(modelId: string): ModelPricing { + const normalized = modelId.toLowerCase(); + let best: { key: string; price: ModelPricing } | null = null; + for (const [key, price] of Object.entries(PRICING_TABLE)) { + if (!normalized.includes(key)) continue; + if (!best || key.length > best.key.length) best = { key, price }; + } + return best?.price ?? ZERO_PRICING; +} + +/** Estimate USD cost of a single call from raw token counts. */ +export function estimateCost(modelId: string, inputTokens: number, outputTokens: number): number { + const p = getModelPricing(modelId); + return (inputTokens * p.input + outputTokens * p.output) / 1_000_000; +} + +/** Sum token usages without mutating either argument. */ +export function addUsage(a: TokenUsage, b: TokenUsage): TokenUsage { + return { + inputTokens: a.inputTokens + b.inputTokens, + outputTokens: a.outputTokens + b.outputTokens, + totalTokens: a.totalTokens + b.totalTokens, + estimatedCostUSD: a.estimatedCostUSD + b.estimatedCostUSD, + }; +} + +export const ZERO_USAGE: TokenUsage = { + inputTokens: 0, + outputTokens: 0, + totalTokens: 0, + estimatedCostUSD: 0, +}; + +/** Heuristic fallback when the SDK does not report usage: ~4 chars per token. */ +export function estimateUsageFromText( + modelId: string, + inputText: string, + outputText: string, +): TokenUsage { + const inputTokens = Math.max(0, Math.round(inputText.length / 4)); + const outputTokens = Math.max(0, Math.round(outputText.length / 4)); + return { + inputTokens, + outputTokens, + totalTokens: inputTokens + outputTokens, + estimatedCostUSD: estimateCost(modelId, inputTokens, outputTokens), + }; +} diff --git a/lib/prompt-library.ts b/lib/prompt-library.ts new file mode 100644 index 0000000..d23c838 --- /dev/null +++ b/lib/prompt-library.ts @@ -0,0 +1,72 @@ +// ───────────────────────────────────────────────────────────── +// RoundTable — Prompt Library +// ───────────────────────────────────────────────────────────── +// A small curated set of demo prompts. Shown as chips under the +// textarea when it is empty so first-time visitors have a +// one-click entry point into the consensus flow. + +export interface PromptPreset { + id: string; + label: string; + category: "Strategy" | "Engineering" | "Ethics" | "Science"; + prompt: string; +} + +export const PROMPT_LIBRARY: PromptPreset[] = [ + { + id: "microservices-day-one", + label: "Microservices from day one?", + category: "Engineering", + prompt: + "Should an early-stage startup use a microservices architecture from day one, or begin with a modular monolith and decompose later? Consider team size, operational complexity, and product-market-fit risk.", + }, + { + id: "ai-coding-assistants", + label: "AI coding assistants: net positive?", + category: "Strategy", + prompt: + "Are AI coding assistants (Copilot, Cursor, Claude Code, etc.) a net productivity gain for experienced engineers, or do they introduce subtle quality and dependency risks that outweigh the speedup?", + }, + { + id: "remote-vs-office", + label: "Full remote vs hybrid office", + category: "Strategy", + prompt: + "For a 50-person engineering org building a consumer SaaS product, is full remote or a 3-day hybrid model more likely to produce durable high-quality output over a 3-year horizon?", + }, + { + id: "rust-vs-go", + label: "Rust vs Go for a new backend", + category: "Engineering", + prompt: + "A team of five backend engineers (3 Go, 2 Python) is starting a new latency-sensitive service. Should they pick Rust or Go? Weigh ecosystem maturity, hiring, performance ceiling, and onboarding cost.", + }, + { + id: "llm-dataset-licensing", + label: "LLM training on licensed data", + category: "Ethics", + prompt: + "Should commercial LLM providers be legally required to train exclusively on explicitly licensed data, even if it means losing access to most of the public web? Consider innovation, creator rights, and competitive dynamics.", + }, + { + id: "carbon-capture", + label: "Direct air capture viability", + category: "Science", + prompt: + "Given current cost curves and energy requirements, is direct-air carbon capture a credible climate solution by 2040, or is it a distraction from faster mitigation pathways? Evaluate the evidence.", + }, + { + id: "universal-basic-income", + label: "UBI under AI automation", + category: "Ethics", + prompt: + "If AI automates 30% of knowledge-work tasks by 2035, is a universal basic income the correct policy response, or would narrower interventions (retraining, wage insurance, job guarantees) be more effective?", + }, + { + id: "nuclear-renaissance", + label: "Should we bet on nuclear?", + category: "Science", + prompt: + "Should industrialised nations aggressively restart nuclear fission build-out (SMRs and conventional) as a primary pillar of decarbonisation, or continue prioritising wind, solar, and storage?", + }, +]; diff --git a/lib/session.ts b/lib/session.ts new file mode 100644 index 0000000..e2a7cac --- /dev/null +++ b/lib/session.ts @@ -0,0 +1,219 @@ +// ───────────────────────────────────────────────────────────── +// RoundTable — Session Export / Import / Share +// ───────────────────────────────────────────────────────────── +// Serialises a completed run to Markdown, JSON, or a URL-hash +// permalink. The permalink is reversible — loading a URL with +// `#rt=` rehydrates the store in read-only view mode. + +import type { SessionSnapshot } from "./types"; + +const HASH_KEY = "rt"; + +// ── Snapshot → Markdown ──────────────────────────────────── + +export function snapshotToMarkdown(snapshot: SessionSnapshot): string { + const date = new Date(snapshot.createdAt).toISOString(); + const engineName = snapshot.engine === "blind-jury" ? "Blind Jury" : "CVP"; + + const lines: string[] = []; + lines.push("# RoundTable Session"); + lines.push(""); + lines.push(`**Prompt**: ${snapshot.prompt}`); + lines.push(`**Engine**: ${engineName}`); + lines.push(`**Date**: ${date}`); + if (snapshot.finalScore !== null) { + lines.push(`**Final consensus score**: ${snapshot.finalScore}%`); + } + if (snapshot.tokenTotal && snapshot.tokenTotal.totalTokens > 0) { + lines.push( + `**Total cost**: $${snapshot.tokenTotal.estimatedCostUSD.toFixed(4)} (${snapshot.tokenTotal.totalTokens.toLocaleString()} tokens)`, + ); + } + lines.push(""); + + lines.push("## Participants"); + for (const p of snapshot.participants) { + lines.push(`- **${p.persona.name}** — ${p.modelInfo.providerName} / ${p.modelInfo.modelId}`); + } + lines.push(""); + + for (const round of snapshot.rounds) { + lines.push(`## Round ${round.number} — ${round.label}`); + lines.push(`_Consensus score: ${round.consensusScore}%_`); + lines.push(""); + for (const r of round.responses) { + const p = snapshot.participants.find((x) => x.id === r.participantId); + const heading = p + ? `${p.persona.name} (${p.modelInfo.providerName}/${p.modelInfo.modelId})` + : r.participantId; + lines.push(`### ${heading} — confidence ${r.confidence}%`); + lines.push(r.content.replace(/\nCONFIDENCE:\s*\d+\s*$/i, "").trim()); + lines.push(""); + } + } + + if (snapshot.disagreements.length > 0) { + lines.push("## Disagreements"); + for (const d of snapshot.disagreements) { + lines.push(`- Round ${d.round}: ${d.label} (severity ${d.severity})`); + } + lines.push(""); + } + + if (snapshot.judge) { + lines.push(`## Judge Synthesis — ${snapshot.judge.providerName} / ${snapshot.judge.modelId}`); + lines.push(snapshot.judge.content); + lines.push(""); + } + + return lines.join("\n"); +} + +// ── Snapshot → JSON ──────────────────────────────────────── + +export function snapshotToJSON(snapshot: SessionSnapshot): string { + return JSON.stringify(snapshot, null, 2); +} + +// ── Snapshot ↔ URL hash ──────────────────────────────────── + +/** + * Encode to a base64url payload. Uses `CompressionStream` when + * available to keep the URL short, falls back to plain base64 + * otherwise. + */ +export async function encodeSnapshotToHash(snapshot: SessionSnapshot): Promise { + const json = JSON.stringify(snapshot); + const bytes = new TextEncoder().encode(json); + + // Attempt compression + const gz = await maybeCompress(bytes); + const payload = gz ?? bytes; + const marker = gz ? "c" : "r"; + const base64 = bytesToBase64Url(payload); + return `${HASH_KEY}=${marker}${base64}`; +} + +/** Reverse of encodeSnapshotToHash. Returns null on any failure. */ +export async function decodeSnapshotFromHash(hash: string): Promise { + try { + const trimmed = hash.replace(/^#/, ""); + const params = new URLSearchParams(trimmed); + const value = params.get(HASH_KEY); + if (!value) return null; + const marker = value[0]; + const encoded = value.slice(1); + const bytes = base64UrlToBytes(encoded); + let raw: Uint8Array; + if (marker === "c") { + const decompressed = await maybeDecompress(bytes); + if (!decompressed) return null; + raw = decompressed; + } else { + raw = bytes; + } + const json = new TextDecoder().decode(raw); + const parsed = JSON.parse(json) as SessionSnapshot; + if (parsed.v !== 1 || !Array.isArray(parsed.rounds)) return null; + return parsed; + } catch { + return null; + } +} + +// ── Compression helpers ──────────────────────────────────── + +type CompressionStreamCtor = new (format: string) => { + readable: ReadableStream; + writable: WritableStream; +}; +type DecompressionStreamCtor = new (format: string) => { + readable: ReadableStream; + writable: WritableStream; +}; + +function getCompressionCtor(): CompressionStreamCtor | null { + const g = globalThis as unknown as { CompressionStream?: CompressionStreamCtor }; + return typeof g.CompressionStream === "function" ? g.CompressionStream : null; +} + +function getDecompressionCtor(): DecompressionStreamCtor | null { + const g = globalThis as unknown as { DecompressionStream?: DecompressionStreamCtor }; + return typeof g.DecompressionStream === "function" ? g.DecompressionStream : null; +} + +async function maybeCompress(bytes: Uint8Array): Promise { + const Ctor = getCompressionCtor(); + if (!Ctor) return null; + try { + const cs = new Ctor("deflate-raw"); + const writer = cs.writable.getWriter(); + writer.write(bytes); + writer.close(); + const out = await new Response(cs.readable).arrayBuffer(); + return new Uint8Array(out); + } catch { + return null; + } +} + +async function maybeDecompress(bytes: Uint8Array): Promise { + const Ctor = getDecompressionCtor(); + if (!Ctor) return null; + try { + const ds = new Ctor("deflate-raw"); + const writer = ds.writable.getWriter(); + writer.write(bytes); + writer.close(); + const out = await new Response(ds.readable).arrayBuffer(); + return new Uint8Array(out); + } catch { + return null; + } +} + +// ── base64url ────────────────────────────────────────────── + +function bytesToBase64Url(bytes: Uint8Array): string { + let binary = ""; + for (let i = 0; i < bytes.byteLength; i++) binary += String.fromCharCode(bytes[i]); + // `btoa` is available in both browser and Node 18+ + const base64 = + typeof btoa === "function" ? btoa(binary) : Buffer.from(binary, "binary").toString("base64"); + return base64.replace(/\+/g, "-").replace(/\//g, "_").replace(/=+$/, ""); +} + +function base64UrlToBytes(b64: string): Uint8Array { + const padded = b64.replace(/-/g, "+").replace(/_/g, "/") + "===".slice((b64.length + 3) % 4); + const binary = + typeof atob === "function" ? atob(padded) : Buffer.from(padded, "base64").toString("binary"); + const out = new Uint8Array(binary.length); + for (let i = 0; i < binary.length; i++) out[i] = binary.charCodeAt(i); + return out; +} + +// ── Browser file download ────────────────────────────────── + +export function downloadBlob(filename: string, data: string, mime: string): void { + if (typeof document === "undefined") return; + const blob = new Blob([data], { type: mime }); + const url = URL.createObjectURL(blob); + const a = document.createElement("a"); + a.href = url; + a.download = filename; + document.body.appendChild(a); + a.click(); + document.body.removeChild(a); + URL.revokeObjectURL(url); +} + +export function snapshotFilename(snapshot: SessionSnapshot, ext: string): string { + const stamp = new Date(snapshot.createdAt).toISOString().replace(/[:.]/g, "-").slice(0, 19); + const slug = + snapshot.prompt + .slice(0, 40) + .toLowerCase() + .replace(/[^a-z0-9]+/g, "-") + .replace(/^-+|-+$/g, "") || "session"; + return `roundtable-${slug}-${stamp}.${ext}`; +} diff --git a/lib/store.ts b/lib/store.ts index 5a63d18..f8ab08a 100644 --- a/lib/store.ts +++ b/lib/store.ts @@ -3,24 +3,63 @@ // ───────────────────────────────────────────────────────────── import { create } from "zustand"; -import type { ArenaState, ModelInfo, Persona, RoundType } from "./types"; +import type { + ArenaState, + ConsensusOptions, + Disagreement, + JudgeResult, + ModelInfo, + Persona, + RoundType, + SessionSnapshot, + TokenUsage, +} from "./types"; +import { addUsage, ZERO_USAGE } from "./pricing"; let participantCounter = 0; -export const useArenaStore = create((set) => ({ +export const DEFAULT_OPTIONS: ConsensusOptions = { + engine: "cvp", + rounds: 5, + randomizeOrder: true, + blindFirstRound: true, + earlyStop: true, + judgeEnabled: false, + judgeModelId: undefined, +}; + +const freshUsageState = () => ({ + tokenTotal: { ...ZERO_USAGE } as TokenUsage, + usageByParticipant: {} as Record, +}); + +export const useArenaStore = create((set, get) => ({ availableModels: [], modelsLoading: true, participants: [], - roundCount: 5, prompt: "", + options: { ...DEFAULT_OPTIONS }, + isRunning: false, currentRound: 0, rounds: [], activeStreams: {}, finalScore: null, finalSummary: null, - abortController: null, progress: 0, + roundsCompleted: 0, + + disagreements: [], + judge: null, + judgeStream: "", + judgeRunning: false, + earlyStopped: null, + ...freshUsageState(), + + sharedView: false, + abortController: null, + + // ── Configuration ────────────────────────────────────────── setAvailableModels: (models) => set({ availableModels: models }), setModelsLoading: (loading) => set({ modelsLoading: loading }), @@ -44,9 +83,20 @@ export const useArenaStore = create((set) => ({ participants: s.participants.map((p) => (p.id === id ? { ...p, modelInfo: model } : p)), })), - setRoundCount: (count) => set({ roundCount: Math.max(1, Math.min(10, count)) }), setPrompt: (prompt) => set({ prompt }), + setRoundCount: (count) => + set((s) => ({ + options: { ...s.options, rounds: Math.max(1, Math.min(10, count)) }, + })), + + setOption: (key, value) => + set((s) => ({ + options: { ...s.options, [key]: value }, + })), + + // ── Lifecycle ────────────────────────────────────────────── + startConsensus: () => { const controller = new AbortController(); set({ @@ -57,6 +107,14 @@ export const useArenaStore = create((set) => ({ finalScore: null, finalSummary: null, progress: 0, + roundsCompleted: 0, + disagreements: [], + judge: null, + judgeStream: "", + judgeRunning: false, + earlyStopped: null, + ...freshUsageState(), + sharedView: false, abortController: controller, }); return controller; @@ -65,7 +123,7 @@ export const useArenaStore = create((set) => ({ cancelConsensus: () => set((s) => { s.abortController?.abort(); - return { isRunning: false, abortController: null }; + return { isRunning: false, judgeRunning: false, abortController: null }; }), appendToken: (participantId, _round, token) => @@ -80,44 +138,101 @@ export const useArenaStore = create((set) => ({ set((s) => ({ currentRound: round, activeStreams: {}, - progress: (round - 1) / s.roundCount, + progress: (round - 1) / Math.max(1, s.options.rounds), rounds: [...s.rounds, { number: round, type, label, responses: [], consensusScore: 0 }], })), - completeParticipantRound: (participantId, roundNumber, confidence, fullContent) => - set((s) => ({ - activeStreams: { ...s.activeStreams, [participantId]: "" }, - rounds: s.rounds.map((r) => - r.number === roundNumber - ? { - ...r, - responses: [ - ...r.responses, - { - participantId, - roundNumber, - content: fullContent, - confidence, - timestamp: Date.now(), - }, - ], - } - : r, - ), - })), + completeParticipantRound: ( + participantId, + roundNumber, + confidence, + fullContent, + usage, + durationMs, + error, + ) => + set((s) => { + const nextUsageByParticipant = { ...s.usageByParticipant }; + let nextTotal = s.tokenTotal; + if (usage) { + const prev = nextUsageByParticipant[participantId] ?? ZERO_USAGE; + nextUsageByParticipant[participantId] = addUsage(prev, usage); + nextTotal = addUsage(nextTotal, usage); + } + return { + activeStreams: { ...s.activeStreams, [participantId]: "" }, + rounds: s.rounds.map((r) => + r.number === roundNumber + ? { + ...r, + responses: [ + ...r.responses, + { + participantId, + roundNumber, + content: fullContent, + confidence, + timestamp: Date.now(), + durationMs, + usage, + error, + }, + ], + } + : r, + ), + tokenTotal: nextTotal, + usageByParticipant: nextUsageByParticipant, + }; + }), endRound: (round, consensusScore) => set((s) => ({ rounds: s.rounds.map((r) => (r.number === round ? { ...r, consensusScore } : r)), - progress: round / s.roundCount, + progress: round / Math.max(1, s.options.rounds), + })), + + addDisagreements: (_round, items: Disagreement[]) => + set((s) => ({ + disagreements: [...s.disagreements, ...items], })), - completeConsensus: (finalScore, summary) => + setEarlyStopped: (info) => set({ earlyStopped: info }), + + startJudge: (modelId, providerName) => + set({ + judgeRunning: true, + judgeStream: "", + judge: { + modelId, + providerName, + content: "", + majorityPosition: "", + minorityPositions: "", + unresolvedDisputes: "", + }, + }), + + appendJudgeToken: (token) => set((s) => ({ judgeStream: s.judgeStream + token })), + + completeJudge: (result: JudgeResult) => + set((s) => { + const nextTotal = result.usage ? addUsage(s.tokenTotal, result.usage) : s.tokenTotal; + return { + judgeRunning: false, + judgeStream: "", + judge: result, + tokenTotal: nextTotal, + }; + }), + + completeConsensus: (finalScore, summary, roundsCompleted) => set({ isRunning: false, finalScore, finalSummary: summary, progress: 1, + roundsCompleted, abortController: null, }), @@ -132,7 +247,63 @@ export const useArenaStore = create((set) => ({ finalScore: null, finalSummary: null, progress: 0, + roundsCompleted: 0, + disagreements: [], + judge: null, + judgeStream: "", + judgeRunning: false, + earlyStopped: null, + ...freshUsageState(), + sharedView: false, abortController: null, }; }), + + // ── Snapshot / share ─────────────────────────────────────── + + loadSnapshot: (snapshot: SessionSnapshot) => { + // Abort anything running and replace visible state with the snapshot. + const s = get(); + s.abortController?.abort(); + set({ + prompt: snapshot.prompt, + participants: snapshot.participants, + options: snapshot.options, + rounds: snapshot.rounds, + finalScore: snapshot.finalScore, + finalSummary: snapshot.finalSummary, + judge: snapshot.judge, + judgeStream: "", + judgeRunning: false, + disagreements: snapshot.disagreements, + earlyStopped: null, + tokenTotal: snapshot.tokenTotal ?? { ...ZERO_USAGE }, + usageByParticipant: {}, + roundsCompleted: snapshot.rounds.length, + progress: 1, + activeStreams: {}, + currentRound: snapshot.rounds.length, + isRunning: false, + sharedView: true, + abortController: null, + }); + }, + + getSnapshot: (): SessionSnapshot => { + const s = get(); + return { + v: 1, + prompt: s.prompt, + engine: s.options.engine, + options: s.options, + participants: s.participants, + rounds: s.rounds, + finalScore: s.finalScore, + finalSummary: s.finalSummary, + judge: s.judge, + disagreements: s.disagreements, + tokenTotal: s.tokenTotal, + createdAt: Date.now(), + }; + }, })); diff --git a/lib/types.ts b/lib/types.ts index 39f8e11..c539180 100644 --- a/lib/types.ts +++ b/lib/types.ts @@ -46,6 +46,15 @@ export interface Participant { persona: Persona; } +/** Token usage for a single AI call */ +export interface TokenUsage { + inputTokens: number; + outputTokens: number; + totalTokens: number; + /** Estimated cost in USD, based on the pricing table in lib/pricing.ts */ + estimatedCostUSD: number; +} + /** A single round's response from one AI */ export interface RoundResponse { participantId: string; @@ -53,6 +62,10 @@ export interface RoundResponse { content: string; confidence: number; // 0-100 timestamp: number; + durationMs?: number; + usage?: TokenUsage; + /** If the provider call failed, a short human-readable error (e.g. `Not Found (HTTP 404)`). */ + error?: string; } /** Consensus round metadata */ @@ -70,6 +83,52 @@ export type RoundType = | "evidence-assessment" | "synthesis"; +/** Which engine to run */ +export type EngineType = "cvp" | "blind-jury"; + +/** A detected disagreement between participants in a round */ +export interface Disagreement { + id: string; // stable: `r--` + round: number; + participantAId: string; + participantBId: string; + /** Confidence delta that flagged the divergence (0-100) */ + severity: number; + /** Short label summarising the nature of the split */ + label: string; +} + +/** Judge synthesis output (non-voting final summariser) */ +export interface JudgeResult { + modelId: string; + providerName: string; + content: string; + majorityPosition: string; + minorityPositions: string; + unresolvedDisputes: string; + usage?: TokenUsage; +} + +/** + * User-configurable options for a consensus run. + * Every field is optional on the wire — defaults are applied server-side. + */ +export interface ConsensusOptions { + engine: EngineType; + /** Only used when engine === "cvp" */ + rounds: number; + /** Shuffle participant order each round (CVP only) */ + randomizeOrder: boolean; + /** Run Round 1 in parallel with no cross-visibility (CVP only) */ + blindFirstRound: boolean; + /** Stop early if the consensus delta between rounds falls below threshold (CVP only) */ + earlyStop: boolean; + /** Run a non-voting judge synthesizer at the end of the run */ + judgeEnabled: boolean; + /** Composite model id (provider:model) to use for the judge */ + judgeModelId?: string; +} + /** SSE event types streamed from /api/consensus */ export type ConsensusEvent = | { type: "round-start"; round: number; roundType: RoundType; label: string } @@ -81,16 +140,50 @@ export type ConsensusEvent = round: number; confidence: number; fullContent: string; + usage?: TokenUsage; + durationMs: number; + error?: string; } | { type: "round-end"; round: number; consensusScore: number } - | { type: "consensus-complete"; finalScore: number; summary: string } + | { type: "disagreements"; round: number; disagreements: Disagreement[] } + | { + type: "early-stop"; + round: number; + delta: number; + reason: string; + } + | { type: "judge-start"; modelId: string; providerName: string } + | { type: "judge-token"; token: string } + | { type: "judge-end"; result: JudgeResult } + | { + type: "consensus-complete"; + finalScore: number; + summary: string; + roundsCompleted: number; + } | { type: "error"; message: string }; /** Request body for /api/consensus */ export interface ConsensusRequest { prompt: string; participants: Participant[]; - rounds: number; + options: ConsensusOptions; +} + +/** A frozen snapshot of a completed run — used for export + share links */ +export interface SessionSnapshot { + v: 1; + prompt: string; + engine: EngineType; + options: ConsensusOptions; + participants: Participant[]; + rounds: ConsensusRound[]; + finalScore: number | null; + finalSummary: string | null; + judge: JudgeResult | null; + disagreements: Disagreement[]; + tokenTotal: TokenUsage | null; + createdAt: number; } /** Global app state managed by Zustand */ @@ -101,8 +194,8 @@ export interface ArenaState { // Configuration participants: Participant[]; - roundCount: number; prompt: string; + options: ConsensusOptions; // Consensus execution state isRunning: boolean; @@ -112,19 +205,35 @@ export interface ArenaState { finalScore: number | null; finalSummary: string | null; progress: number; // 0-1 + roundsCompleted: number; + + // New — Judge, disagreements, cost meter + disagreements: Disagreement[]; + judge: JudgeResult | null; + judgeStream: string; + judgeRunning: boolean; + earlyStopped: { round: number; delta: number; reason: string } | null; + tokenTotal: TokenUsage; + usageByParticipant: Record; + + // Shared-session replay flag + sharedView: boolean; // Cancellation abortController: AbortController | null; - // Actions + // Actions — configuration setAvailableModels: (models: ModelInfo[]) => void; setModelsLoading: (loading: boolean) => void; addParticipant: (model: ModelInfo, persona: Persona) => void; removeParticipant: (id: string) => void; updateParticipantPersona: (id: string, persona: Persona) => void; updateParticipantModel: (id: string, model: ModelInfo) => void; - setRoundCount: (count: number) => void; setPrompt: (prompt: string) => void; + setRoundCount: (count: number) => void; + setOption: (key: K, value: ConsensusOptions[K]) => void; + + // Actions — lifecycle startConsensus: () => AbortController; cancelConsensus: () => void; appendToken: (participantId: string, round: number, token: string) => void; @@ -133,9 +242,21 @@ export interface ArenaState { round: number, confidence: number, fullContent: string, + usage?: TokenUsage, + durationMs?: number, + error?: string, ) => void; startRound: (round: number, type: RoundType, label: string) => void; endRound: (round: number, consensusScore: number) => void; - completeConsensus: (finalScore: number, summary: string) => void; + addDisagreements: (round: number, items: Disagreement[]) => void; + setEarlyStopped: (info: { round: number; delta: number; reason: string }) => void; + startJudge: (modelId: string, providerName: string) => void; + appendJudgeToken: (token: string) => void; + completeJudge: (result: JudgeResult) => void; + completeConsensus: (finalScore: number, summary: string, roundsCompleted: number) => void; reset: () => void; + + // Snapshot / replay + loadSnapshot: (snapshot: SessionSnapshot) => void; + getSnapshot: () => SessionSnapshot; } diff --git a/screenshots/newscreenshot.png b/screenshots/newscreenshot.png new file mode 100644 index 0000000000000000000000000000000000000000..66ffd86c7915406d31c47eaf88b0b5f50967a377 GIT binary patch literal 2049671 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 KAvH-bucwc`(Y6p1@3-}-(cJDz@Msc94n;0 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

YgF@df^Jns6;~AC=)>5Es`Rw%}Zg>1S0} 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�CHMieAI*t&1>P11gef!IaEMZ9J&0LL*d}dSZ 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