Proof: this judge panel already judged the L-Methylfolate page
Everything below is read straight from the files on the server. Nothing is retyped from memory.
1. The runner
brands/clean-health-lab/research/seed-clone-2026-10-01/judge_run.py, saved 2026-10-01 06:10 UTC. Its own description:
"""Blind judge runner. One call = one fresh, context-isolated judge over a freshly shuffled, anonymised pool.
usage: judge_run.py <run-name> <seed> <slug> [<slug> ...]
- gives every page a random 3-character ID (new shuffle and new IDs per run), copies its sheets as <ID>-NN.jpg
into <scratchpad>/judge/<run-name>/ (the judge's working directory), writes the ID key to
runs/<run-name>/key.json (never inside the judge's directory), starts `claude -p` on Sonnet 5.5 from that directory.
- isolation: separate process, neutral cwd, Read tool only, no project instructions (CLAUDE_CODE_DISABLE_CLAUDE_MDS),
no auto-memory, no MCP, no skills, no user settings. Only the sheets and judge-prompt.md text reach it.
"""
import json, os, random, shutil, subprocess, sys, string
2. Three runs on the L-Methylfolate page (the flat page)
Launched by run-saf-vs-lm.sh (saved 2026-10-14 05:08 UTC). Its header quotes you from 2026-10-14:
# Saffron landers vs L-Methylfolate landers, same rules as the r59/r60 pools (operator 2026-10-14: "compare or judge it against our l # methylfolate one.. same rules"): each of our pages alone in a pool with the same 9 competitor PDPs, 3 fresh blind Sonnet 5.5 judges per pool. cd "$(dirname "$0")"
sv-lm-flat-1
Finished 2026-10-14 05:12 UTC. Judge model: claude-sonnet-5-5. Cost $0.36. File: runs/sv-lm-flat-1/raw-output.json
Pages in this pool (10): seeking-lmf, hum-bigchill, cymbiotika-mag, lm-flat, pendulum-akk, ritual-synbiotic, thorne-methylguard, momentous-sleep, ritual-essential, seed-ds01. The judge saw them only as random codes; the L-Methylfolate page was VP8.
What the judge scored the L-Methylfolate page: trust 8, conversion 8, aesthetics 8, clarity 8, mobile ease 8, overall 8.
Strongest: The 'Your first 60 days' section and the study chart, with the lot-specific certificate of analysis, make claims checkable.
Weakest: The antidepressant framing is a medically loaded hook, and a free-bottle subscription may feel like a trap to a skeptic.
sv-lm-flat-2
Finished 2026-10-14 05:12 UTC. Judge model: claude-sonnet-5-5. Cost $0.38. File: runs/sv-lm-flat-2/raw-output.json
Pages in this pool (10): lm-flat, momentous-sleep, thorne-methylguard, ritual-synbiotic, seed-ds01, pendulum-akk, seeking-lmf, ritual-essential, hum-bigchill, cymbiotika-mag. The judge saw them only as random codes; the L-Methylfolate page was LZ9.
What the judge scored the L-Methylfolate page: trust 8, conversion 8, aesthetics 8, clarity 8, mobile ease 8, overall 8.
Strongest: The 'Your first 60 days' section, with the 32% vs 15% study chart, the named trial and the Day 1 / Day 30 / Day 60 timeline, makes the offer and the evidence concrete.
Weakest: Medical-adjacent framing ('Doctors add this to an antidepressant') plus 'first bottle free' could set off a skeptic's hype alarm. A sticky bar repeats on every screen.
sv-lm-flat-3
Finished 2026-10-14 05:12 UTC. Judge model: claude-sonnet-5-5. Cost $0.38. File: runs/sv-lm-flat-3/raw-output.json
Pages in this pool (10): hum-bigchill, lm-flat, seed-ds01, ritual-synbiotic, cymbiotika-mag, ritual-essential, seeking-lmf, pendulum-akk, momentous-sleep, thorne-methylguard. The judge saw them only as random codes; the L-Methylfolate page was FO6.
What the judge scored the L-Methylfolate page: trust 7, conversion 9, aesthetics 8, clarity 8, mobile ease 8, overall 8.
Strongest: The 'Doctors add this to an antidepressant' section pairs a 32% vs 15% study chart with a named trial and a link, then offers a free 60-day first bottle.
Weakest: The hook 'Your antidepressant takes the edge off. You still feel flat.' makes a strong claim aimed at people on medication, which may read as risky or pushy to a sceptic.
3. The exact instructions each judge was given
runs/sv-lm-flat-1/prompt-as-sent.txt, verbatim:
You are an independent judge of e-commerce product pages as a phone visitor sees them. You know nothing about who made any page, who owns it, or why it is being judged, and you must not try to find out. Do not use what you may know about any brand's reputation, size or fame. Judge only what is on the screen.
FILES. Your working directory holds the screenshots, and nothing else matters. For each page there are several sheets named <ID>-01.jpg, <ID>-02.jpg and so on. Each sheet shows 4 consecutive phone screens side by side, read left to right, then continue with the next sheet. Together the sheets are the whole page, top to bottom, scrolled the way a visitor scrolls. Sticky bars may repeat on every screen. Cookie banners and email pop-ups were removed from every page on purpose, so do not score their absence. Do not open any file other than the sheets listed below, and do not search the filesystem or the web.
SCENARIO. The shopper is an adult aged 40 to 70 who is skeptical of supplement marketing. They tapped a Facebook ad for a daily supplement and landed on this page cold, on their phone. They have never heard of the brand. They do not know the product category in advance, so judge each page on how well it does its own job, not on whether its product suits them.
PAGES: SN9 (2 sheets: SN9-01.jpg to SN9-02.jpg); MJ9 (3 sheets: MJ9-01.jpg to MJ9-03.jpg); XC5 (4 sheets: XC5-01.jpg to XC5-04.jpg); VP8 (5 sheets: VP8-01.jpg to VP8-05.jpg); BI8 (4 sheets: BI8-01.jpg to BI8-04.jpg); RX2 (4 sheets: RX2-01.jpg to RX2-04.jpg); FS4 (3 sheets: FS4-01.jpg to FS4-03.jpg); SZ6 (3 sheets: SZ6-01.jpg to SZ6-03.jpg); RR8 (3 sheets: RR8-01.jpg to RR8-03.jpg); VA7 (4 sheets: VA7-01.jpg to VA7-04.jpg)
SCORE every page from 1 to 10 on each of these, using the whole range (5 = an ordinary competent store page, 8 = clearly better than most you have seen, 10 = as good as this kind of page gets). Be blunt and use different scores for different pages:
- trust: would this skeptical shopper believe it? Proof, authority, honesty, transparency, real people, credible claims, no hype tells.
- conversion: how likely the page is to turn this shopper into a buyer. Clarity of the offer and price, the path to buy, friction, objection handling, decision support, risk reversal.
- aesthetics: visual craft, photography, typography, hierarchy, polish, premium feel, consistency.
- clarity: within the first 5 seconds, does the shopper know what it is, what it does for them and what to do next?
- mobile_ease: readability and ease on a phone for a 40 to 70 year old: type size, contrast, tap targets, density, scroll length, no clutter.
- overall: your overall verdict on the page.
SECTIONS. For every page, also score each section that exists, from 1 to 10, with one line saying why. Use only these section names: first_screen, buy_box (plan, price, offer, buy button), proof (reviews, ratings, testimonials, press, creators), authority (doctors, scientists, studies, certifications, testing), mechanism (how it works, why this formulation), ingredients (formula transparency), comparison (versus alternatives), guarantee (risk reversal, shipping, subscription terms), faq_support, footer. Leave out a section the page does not have.
THEN, for every page: strongest_element and weakest_element (one line each, concrete: say what you see and where), and borrowable_idea (the single idea another store would be smart to borrow from this page, or "none").
THEN, across all pages: ranking (best to worst by overall, ties broken by conversion), and three or four lines on what the top pages have in common and what the bottom pages share.
Reply with ONLY one JSON object, no prose before or after, shaped exactly like this:
{"pages": {"<ID>": {"trust": n, "conversion": n, "aesthetics": n, "clarity": n, "mobile_ease": n, "overall": n, "sections": {"first_screen": {"score": n, "note": "..."}}, "strongest_element": "...", "weakest_element": "...", "borrowable_idea": "..."}}, "ranking": ["<ID>", ...], "patterns": ["...", "..."]}
Your working directory is /home/ubuntu/.cache/pagejudge/sv-lm-flat-1. Read the sheets there with the Read tool.
4. Other L-Methylfolate runs with the same runner
Five judges on L-Methylfolate page version r49 (2026-10-05): runs/pl49-1 to pl49-5. Desktop pair and desktop vs Seed judges on r48 and r49 (2026-10-05): runs/dpair-1..5, runs/dseed-1..5 (judge_pair_desk.py).
5. What I ran earlier today on the new pages
On 2026-10-28 I ran this same runner on the new NAD+ and Saffron pages in a 12-page pool that included the L-Methylfolate flat page (runs/np1 to np6). Today I captured the new versions but have not started any judge.
6. A second October panel exists: the homepage panel (not the product page)
Run 2026-10-22 to 2026-10-28 on the HOMEPAGE (the A and N versions), in research/homepage-2026-10-11/judge/. It scores looks, homepage, would-buy and overall, in solo pools with the same 8 competitors, seeds 81 and 82. Your notes file records it:
- 2026-10-23 A58 + A59 BLIND SCORES (operator: 'go ahead and score those last two'). judge/run-a58-a59.sh, solo pools seeds 81/82, 36/36 reads. Looks/homepage/would-buy/overall: A58 8.30/8.53/8.28/8.88 (bento lost 0.7 on looks vs A42, as he said); A59 9.01/7.81/8.19/8.87 (looks back at the ceiling, homepage down because the six Backorder cards now sit straight under the hero: every judge fix names the backorders). A42 for reference 9.00/8.66/8.05/8.89. Lesson: on real stock the shop rail must not be the first thing under the hero.
research/homepage-2026-10-11/judge/run-a58-a59.shsaved 2026-10-23 11:10 UTCresearch/homepage-2026-10-11/judge/run-n42-81.logsaved 2026-10-28 12:17 UTCresearch/homepage-2026-10-11/judge/solo_anchored.shsaved 2026-10-24 23:41 UTCresearch/homepage-2026-10-11/judge/solo.shsaved 2026-10-11 08:04 UTC
I have not started any judges on the new pages. Which panel do you mean: the product-page panel in sections 1 to 5, or this homepage panel?
7. You were right: it was not only Sonnet. Codex (GPT-6 Astra) was in the October panel
Straight from README.md in the same folder (2026-10-05):
`copy-audit/nutrafol-drill/`: (A) the Wonder copy-chief drill (prompt from wholesale-botanics/research/pdp-copy-judge-2026-10-02, plus a sounds-human score) on our four pages and on Nutrafol Women's Balance; (B) blind line read with Nutrafol's copy as the control page. Readers: Sonnet 4.6, Sonnet 5.5, GPT-6 Astra high. 27 reads round 1: ours beat Nutrafol on every one (line read 4-8 vs 2-5; copy-chief human 5-6 vs 3-5; overall 4.5-7 vs 4-5). Third copy pass (copy_pass EXTRA, EXTRA_PAGE): the non-hook lines all three flagged. Round 2 line reads on r53 (12): ours mean 6.8 vs Nutrafol 3, every read. Staged (RELEASE.
Operator: "I really hate that we got away from the 'no fillers, no stearates' etc as that was the core of our brand before... the MAIN pain point is the one on the ads and the secondary is the fillers." Four blind judges (Sonnet 4.6, Sonnet 5.5, Opus 5.5, GPT-6 Astra; packet + answers in `copy-audit/clean-judges/`) agreed: keep it out of every hero; main home under "It has just two ingredients."; a comparison-table row; an FAQ; one small buy-box line; no new section or banner. Built in `mock/copy_pass.py` (CLEAN bl
And the buy-box pools, from runs/bbox-pool13/run.sh (saved 2026-10-06 09:43 UTC). Line 2 and the Codex line:
# blind 24-page buy-box pool: 3x Sonnet 5.5, 1x Opus 5.5, 1x GPT-6 Astra, all in parallel; waits for all timeout 2400 codex exec -m gpt-6-astra -c model_reasoning_effort=high --skip-git-repo-check --sandbox read-only $IMGS -o $R/out-astra.txt - < $R/prompt-astra.txt > $R/log-astra.txt 2>&1 &
Rubric 1-10: calm, clarity, hierarchy, button, trust, craft, overall + ranking + why the top three win. Judges blind, random IDs: 3x Sonnet 5.5, Opus 5.5, GPT-6 Astra (`runs/bbox-pool*/`).
Astra answer files from the 2026-10-05 L-Methylfolate copy reads (first 8 of 24): A-adhd.astra.txt, A-flat.astra.txt, A-fog.astra.txt, A-night.astra.txt, A-nutrafol.astra.txt, B-adhd.astra.txt, B-flat.astra.txt, B-fog.astra.txt in copy-audit/nutrafol-drill/, saved 2026-10-05 06:13 UTC.
8. What I am running now on the NAD+ and Saffron pages
The full set: 5 whole-page Sonnet 5.5 judges (same 12-page pool), and on each page the copy-chief drill and the blind line read vs Nutrafol with Sonnet 4.6, Sonnet 5.5 and GPT-6 Astra (through Codex). 17 runs. Results go to you as soon as they finish.