Skip to content

fix(site,docs): round-4 buyer-review defects#578

Merged
the-data-viking merged 1 commit into
mainfrom
fix/r4-site-docs
Jul 17, 2026
Merged

fix(site,docs): round-4 buyer-review defects#578
the-data-viking merged 1 commit into
mainfrom
fix/r4-site-docs

Conversation

@the-data-viking

Copy link
Copy Markdown
Collaborator

Fixes the defects surfaced by the round-4 outside buyer review. Every number was re-verified against the live leaderboard (https://synthbench.org/data/leaderboard.json, generated 2026-07-17) and the code in src/synth_panel/ before editing.

Findings → fixes

# Finding Fix
1 (HIGH) /docs served the homepage verbatim New site/docs/index.html (+ generated .md rendition): short intro, cards for /docs/panel-run, /mcp, /docs/calibration, /recommended-models, and explicit GitHub links to the canonical docs/ set (agent-quickstart, mcp, response-contract, structured-polling, production-operations, methodology, ensemble, reproducibility, model-packs, registry, migration-v1, synthbench-integration — all verified to exist). Added to sitemap.xml.
2 (HIGH) Blog dated 2026-04-15 but cites a 2026-07 leaderboard Kept the original publish date and added "Updated 2026-07-16" (header line, article:modified_time, JSON-LD dateModified, homepage Further-reading row, sitemap lastmod). Stale numbers refreshed (see #3).
3 (HIGH) SubPOP SPS drift (blog 0.879, homepage 0.831; live 0.858) All SPS figures in blog + homepage (+ README, which claimed "SPS 0.90") reconciled to the live board: opinionsqa 0.877, subpop 0.858, globalopinionqa 0.813, with the generation date quoted and the "numbers move as the board recomputes" hedge kept. Margins corrected (0.03–0.05 over best single model; 0.10–0.11 over random). Homepage Pew card re-pointed at the current re-blend run (subpop_ensemble_3blend_20260716_192413.json, verified on GitHub main): option gaps 20.3/16.0/4.3 pts, item JSD 0.035, run mean JSD 0.208.
4 (HIGH) README self-contradiction on panel_verdict Code truth: src/synth_panel/mcp/server.py attaches panel_verdict to the success envelope (build_panel_verdictresult["panel_verdict"]). The Agent Quick Start line saying "not yet emitted" now agrees with the v1.0.6 lede note.
5 (MED) Hero overstatement ("run a panel with no API key set") Hero + README lede scoped to what sampling mode actually covers: one-shot prompts and quick polls up to 3 personas; full panels/ensembles need a key.
6 (MED) Version soup (badge 1.5.7 vs README 1.0.6-newest note, Docker :0.11.0, calibration 0.11.1) Docker pin → :1.5.7 / floating :1.5 (matches docker.yml's major.minor floats); calibration example manifest → synthpanel_version: 1.5.7; README Versions table extended through the 1.5.x line (summarized from CHANGELOG — 1.5.x, 1.4.0, 1.3.0, 1.2.0, 1.1.0, 1.0.6, 1.0.0, 0.12.0; nothing fabricated).
7 (MED) Pew "synthetic within ±13.8 pts" read as an error bound; color-only labels Rephrased to per-option "gap: N pts" with a caption stating these are measured option-level gaps on one question, not an error bound. GSS chart legend now states in text which bar is which (top = humans, bottom = synthetic) in addition to color.
8 (LOW) --checkpoint-dir default contradiction on /docs/panel-run Verified against released synthpanel 1.5.7 --help in a fresh venv: omitting the flag runs without snapshots; ~/.synthpanel/checkpoints (or $SYNTHPANEL_CHECKPOINT_ROOT) only applies to --resume without the flag. Table + prose now say exactly that.
9 (LOW) Ensemble recipe drift Calibration example labeled "an example blend, not the leaderboard ensemble". Blog states the actual composition once, verified against the live run config: equal-weight Claude Haiku 4.5 + Gemini 2.5 Flash Lite + GPT-4o-mini ("SynthPanel Ensemble (3-model)").
10 (LOW) Credential-store path ambiguity One sentence on /mcp (Data storage section): keys live at ~/.config/synthpanel/credentials.json (mode 0600, per src/synth_panel/credentials.py); data lives under ~/.synthpanel/ — both stated explicitly.

Guardrails respected

  • src/ untouched; site/mcp/index.html edited surgically (one paragraph added in Data storage; no parameter listings touched).
  • site/index.html regenerated via scripts/render_site.py; all .md renditions regenerated via scripts/render_site_markdown.py; docs/blog/ authored markdown kept in sync.

Verification

  • scripts/check_site_cli_sync.py — OK (19 subcommands).
  • All tests/test_site_* pass (45 tests); full non-acceptance suite: 3430 passed, 7 failed — the same 7 fail on a clean main checkout (pre-existing, unrelated: test_mcp_stdio_sampling, test_seed, test_structured_output).

🤖 Generated with Claude Code

- /docs now serves a real documentation index (links to on-site docs +
  canonical GitHub docs) instead of falling back to the homepage
- Blog re-dated honestly (Updated 2026-07-16) and SPS figures reconciled
  to the live leaderboard (opinionsqa 0.877, subpop 0.858, globalopinionqa
  0.813; generated 2026-07-17)
- Homepage evidence section: subpop 0.831 -> 0.858, margins corrected,
  Pew card refreshed to the 2026-07-16 re-blend run (gaps 20.3/16.0/4.3,
  JSD 0.035, mean 0.208), gap phrasing no longer reads as an error bound,
  human/synthetic bars legible without color
- README: panel_verdict success-path contradiction resolved (it IS
  emitted, per src/synth_panel/mcp/server.py), sampling-mode claim
  tightened, Docker pin -> :1.5.7 / :1.5, Versions table extended
  through the 1.5.x line, SynthBench section de-staled (0.90 claim,
  github.io links)
- Hero copy: no-API-key claim scoped to run_prompt + <=3-persona polls
- Calibration doc: example manifest bumped to 1.5.7, 4-model mix labeled
  as an example blend (not the leaderboard ensemble)
- panel-run doc: --checkpoint-dir default matches actual CLI behavior
  (off unless passed; resume falls back to ~/.synthpanel/checkpoints)
- /mcp: credential store path (~/.config/synthpanel/credentials.json)
  vs data dir (~/.synthpanel/) stated explicitly
- sitemap: /docs added, blog lastmod bumped
- Markdown renditions regenerated (scripts/render_site_markdown.py)

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 064e609bec

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread README.md

| Version | Highlights |
|---------|-----------|
| 1.5.x *(current)* | `synthpanel mcp install --host auto` one-liner host registration; four canonical persona packs; deterministic `poll-summary` rollups; MCP auto-picks a fast model for ≥10-persona panels; `results list`/`results show` for the saved-results store; `python -m synthpanel` alias; fail-loud empty attachments and typed `response_schema` enforcement; synthesis routing follows the panel's provider; PyPI Trusted Publishing + auto-tag version-drift guard |

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Move the unreleased host-auto command out of the current row

For users installing the advertised current release, 1.5.7, synthpanel mcp install --host auto is not available: CHANGELOG.md lines 64–75 place the entire multi-host/--host auto feature under Unreleased, after the 1.5.7 release. Listing it as the first highlight of the current 1.5.x package therefore sends PyPI users to a command their installed CLI cannot parse; label this highlight as unreleased or omit it until the release containing it is published.

Useful? React with 👍 / 👎.

@the-data-viking
the-data-viking merged commit 759838b into main Jul 17, 2026
21 checks passed
@the-data-viking
the-data-viking deleted the fix/r4-site-docs branch July 17, 2026 05:06
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.

2 participants