Skip to content

Unify live + history into one consensus report (with executive summary)#21

Merged
msitarzewski merged 1 commit into
mainfrom
feat/unify-consensus-report
Jun 22, 2026
Merged

Unify live + history into one consensus report (with executive summary)#21
msitarzewski merged 1 commit into
mainfrom
feat/unify-consensus-report

Conversation

@msitarzewski

Copy link
Copy Markdown
Owner

Two displays for the same thing — and the history view couldn't show the executive summary at all because the thread-detail API never returned it. This merges them into one shared component and fixes the missing overview.

Backend

  • ThreadDetailResponse now returns overview, sourced from the thread's stored summary (already eager-loaded by get_thread). That's the data the history view was missing.

Frontend

  • New shared ConsensusReport component: confidence/rigor meters, Copy/Export at the top, the executive overview leading with the full decision tucked into a "Full Decision" disclosure, and dissent.
  • ConsensusComplete (live) and ThreadDetail (history) both delegate to it — identical rendering. Export stays per-view via an exportSlot (store-based dropdown for live, shared ExportMenu for stored), since the live view doesn't yet have a ThreadDetail object.

Result

  • History now shows the same executive-summary-first report as the live view.
  • Verified against the real dev DB: a stored thread's overview now surfaces.

Testing

1677 Python tests pass (2 new for the overview field), 204 Vitest pass, mypy clean (63 files), ruff clean, build clean.

🤖 Generated with Claude Code

https://claude.ai/code/session_01EkrekgzMAQko92UkjnXhHL

The live view and the stored-thread view rendered the decision differently,
and the history view couldn't show the executive summary at all (the
thread-detail API never returned it). Now both render through a single
shared ConsensusReport component and both lead with the executive overview.

- threads API: ThreadDetailResponse returns `overview` (from the thread's
  stored summary, already eager-loaded)
- new ConsensusReport component: meters, Copy/Export at top, executive
  overview leading with the full decision in a disclosure, dissent
- ConsensusComplete and ThreadDetail both delegate to it (export stays
  per-view via an exportSlot: store-based dropdown live, ExportMenu stored)

Verified against the real dev DB: history now surfaces the overview.
1677 Python tests pass (2 new), 204 Vitest pass, mypy + ruff clean, build clean.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01EkrekgzMAQko92UkjnXhHL
@msitarzewski msitarzewski merged commit f78124c into main Jun 22, 2026
3 checks passed
@msitarzewski msitarzewski deleted the feat/unify-consensus-report branch June 22, 2026 06:16
msitarzewski added a commit that referenced this pull request Jun 22, 2026
docs: capture this session's work in the memory bank (PRs #16-#21)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant