diff --git a/docs/wvs/index.html b/docs/wvs/index.html
index 0666b59..02769fb 100644
--- a/docs/wvs/index.html
+++ b/docs/wvs/index.html
@@ -33,6 +33,7 @@ fetch('wvs_map_data.json').then(r => { if (!r.ok) throw new Error(`data: ${r.sta
const groups=new Map(); for(const p of data.models) groups.set(p.family,[...(groups.get(p.family)||[]),p]); const hidden=new Set(new URLSearchParams(location.search).get('hide')?.split(',').filter(Boolean));
for (const [family,points] of groups) { const group=el('g',{'data-family':family}); for(const p of points) { const star=el('path',{d:`M ${x(p.x)} ${y(p.y)-8} L ${x(p.x)+2.4} ${y(p.y)-2.4} L ${x(p.x)+8} ${y(p.y)-2.4} L ${x(p.x)+3.6} ${y(p.y)+1.6} L ${x(p.x)+5.2} ${y(p.y)+7} L ${x(p.x)} ${y(p.y)+4} L ${x(p.x)-5.2} ${y(p.y)+7} L ${x(p.x)-3.6} ${y(p.y)+1.6} L ${x(p.x)-8} ${y(p.y)-2.4} L ${x(p.x)-2.4} ${y(p.y)-2.4} Z`,fill:p.color,class:'star'}); star.append(el('title',{},p.name)); group.append(star); } svg.append(group);
const latest=points.find(p=>p.label)?.label ?? points[0].name, button=document.createElement('button'); button.textContent=`${family}: ${latest}`; button.style.setProperty('--color',points[0].color);
+ for (const p of points.filter(p=>p.label)) { group.append(el('line',{x1:x(p.x),y1:y(p.y),x2:x(p.x)+9,y2:y(p.y)-9,stroke:p.color,'stroke-width':1})); group.append(el('text',{x:x(p.x)+11,y:y(p.y)-11,fill:p.color,'font-size':10,'font-weight':700},p.label)); }
let visible = !hidden.has(family); const setVisible=on=>{visible=on;group.setAttribute('display',on?'inline':'none');button.classList.toggle('off',!on);button.setAttribute('aria-pressed',String(on));}; setVisible(visible); button.onclick=()=>setVisible(!visible); document.querySelector('#controls').append(button);
}
for(const [text,px,py,anchor] of [[data.axis.x[0],margin,690,'start'],[data.axis.x[1],1000-margin,690,'end'],[data.axis.y[0],500,700,'middle'],[data.axis.y[1],500,28,'middle']]) svg.append(el('text',{x:px,y:py,'text-anchor':anchor,fill:'#57534e','font-weight':700},text));
diff --git a/slop/research/wvs/20260916_openrouter/wvs_page_local.png b/slop/research/wvs/20260916_openrouter/wvs_page_local.png
index a48f526..79f9128 100644
Binary files a/slop/research/wvs/20260916_openrouter/wvs_page_local.png and b/slop/research/wvs/20260916_openrouter/wvs_page_local.png differ
diff --git a/slop/research/wvs/20260916_openrouter/wvs_page_qwen_hidden.png b/slop/research/wvs/20260916_openrouter/wvs_page_qwen_hidden.png
index 78e5455..e9ebceb 100644
Binary files a/slop/research/wvs/20260916_openrouter/wvs_page_qwen_hidden.png and b/slop/research/wvs/20260916_openrouter/wvs_page_qwen_hidden.png differ
diff --git a/slop/research/wvs/20260916_openrouter/wvs_page_qwen_toggle_pixels.txt b/slop/research/wvs/20260916_openrouter/wvs_page_qwen_toggle_pixels.txt
index b6b0bc3..a395faf 100644
--- a/slop/research/wvs/20260916_openrouter/wvs_page_qwen_toggle_pixels.txt
+++ b/slop/research/wvs/20260916_openrouter/wvs_page_qwen_toggle_pixels.txt
@@ -1 +1,3 @@
-11385
\ No newline at end of file
+11916 changed pixels
+
+ImageMagick `compare -metric AE` of `wvs_page_local.png` and `wvs_page_qwen_hidden.png`, both 1280 x 1600 Chrome screenshots after a 5000 ms virtual-time wait. The hidden capture used `/wvs/?hide=qwen`; the only intended visual difference is the Qwen SVG group and its control state. -- PI[gpt-5.6-terra]
\ No newline at end of file
diff --git a/slop/reviews/20260916_wvs_page_fresh_eyes_postfix.md b/slop/reviews/20260916_wvs_page_fresh_eyes_postfix.md
new file mode 100644
index 0000000..a309cde
--- /dev/null
+++ b/slop/reviews/20260916_wvs_page_fresh_eyes_postfix.md
@@ -0,0 +1,131 @@
+**Artifact: `slop/reviews/20260916_wvs_page_fresh_eyes_postfix.txt`**
+
+```
+WVS PAGE — POST-FIX FRESH-EYES IMAGE-ONLY REVIEW
+Reviewer: reviewer-anthropic (no shell; images + text file only)
+Date: 2026-09-16
+
+INPUTS INSPECTED (current on disk)
+ slop/research/wvs/20260916_openrouter/wvs_page_local.png (visible state, ~1280x1600)
+ slop/research/wvs/20260916_openrouter/wvs_page_qwen_hidden.png (qwen toggled off, ~1280x1600)
+ slop/research/wvs/20260916_openrouter/wvs_page_qwen_toggle_pixels.txt (entire contents: "11916")
+
+Not inspected: HTML/JS source, wvs_map_data.json, the script that produced the
+pixel count. All statements below are what I can see in the PNGs unless marked
+INFERENCE.
+
+=====================================================================
+1. LABELS VISIBLY LEADER-LINKED — PASS (with collision caveats)
+=====================================================================
+OBSERVED in wvs_page_local.png: nine model labels, each with a thin
+family-coloured leader segment running from label to a star:
+ muse-spark-1.3 (label ~x592,y390; violet leader up-left to star ~584,376)
+ inkling (label ~x386,y436; teal leader down-left to star ~375,452)
+ kimi-k3 (label ~x298,y453; brown leader down-left to star ~286,470)
+ gpt-6-astra (label ~x543,y449; blue leader down-left to star ~528,462)
+ glm-5.3 (label ~x400,y483; red leader down-left to star ~390,497)
+ gemini-3.7-flash (label ~x481,y500; cyan leader down-left to star ~468,515)
+ qwen3.8-flash (label ~x605,y490; purple leader down-left to star ~592,507)
+ fable-5.1 (label ~x362,y517; magenta leader down-left to star ~350,530)
+ deepseek-v4.1-flash (label ~x418,y532; pink leader down-left to star ~405,545)
+The kimi-k3, inkling, glm-5.3, fable-5.1 and deepseek leaders are unambiguous.
+The muse and gpt leaders are very short (label nearly touching the star) —
+still linkable, but the leader is ~5-8 px.
+
+Collisions OBSERVED in the visible state (Qwen cluster on):
+ - "gpt-6-astra" text is drawn across a purple Qwen star (~x530,y460) and
+ a cyan star; the "gpt" glyphs are partially obscured.
+ - "glm-5.3" text passes over a purple star at ~x410,y485 ("m" partially
+ covered).
+ - "qwen3.8-flash" text runs into a purple star at ~x668,y490 (the "sh"
+ of "flash" sits on the star) and sits just under a teal star ~x672,y481.
+ - "fable-5.1" and "deepseek-v4.1-flash" sit inside the dense purple
+ cluster; readable but crowded.
+These are cosmetic; every label is still readable and traceable. All
+collisions disappear in the hidden state (see §2), i.e. they are caused by
+the ~40-star Qwen cluster, not by label placement per se.
+Check that could disprove/quantify: run the label-collision test (if one
+exists) against star bounding boxes in the visible state; or compute
+overlap of label bbox vs. star bbox in the DOM.
+
+=====================================================================
+2. QWEN STAR/LABEL FAMILY DISAPPEARS IN HIDDEN SCREENSHOT — PASS
+=====================================================================
+OBSERVED differences local.png -> qwen_hidden.png:
+ - Chip "qwen: qwen3.8-flash" changes from filled purple to outlined,
+ grey, struck-through text. Other 12 chips unchanged.
+ - The large purple star cluster (~40 stars spanning x≈215-600,
+ y≈435-635) is gone.
+ - Label "qwen3.8-flash" and its leader are gone.
+ - All other labels/leaders (muse, inkling, kimi, gpt, glm, gemini, fable,
+ deepseek) remain in the same positions, now uncluttered.
+ - Country dots, hulls, region labels, axis labels, footer: unchanged.
+
+Residual violet stars in hidden state at approx (258,500), (272,512),
+(290,617), (578,405), (584,376 = muse-spark-1.3). INFERENCE: these are
+muse-family (violet-blue chip colour) not qwen (purple chip colour); the hue
+is visibly bluer than the removed cluster and (584,376) is the labelled muse
+star. I cannot prove from pixels alone that zero qwen stars remain.
+Check that could disprove: in the hidden DOM, count elements with the qwen
+family attribute/class that are still rendered (display/visibility/opacity);
+expected 0. Or count muse entries in wvs_map_data.json and confirm = 5.
+
+Pixel evidence file: wvs_page_qwen_toggle_pixels.txt contains only "11916".
+No method, dimensions, threshold, or baseline reference is recorded, so I
+cannot say whether this is "changed pixels between the two PNGs",
+"purple pixels in local.png", or something else. The two screenshots
+themselves are sufficient visual evidence of the toggle; the txt file is
+NOT sufficient evidence on its own. Recommend the producer append a one-line
+description (what was compared, what the number means, image size) so the
+artifact is self-describing.
+
+=====================================================================
+3. AXES / FOOTER SHOWN — PASS
+=====================================================================
+OBSERVED in both PNGs:
+ - Axis labels: "Secular-Rational" (top centre), "Traditional" (bottom
+ centre), "Self-expression" (bottom-left), "Survival" (bottom-right).
+ - Plot frame border drawn.
+ - Region hull labels: West, East Asia, Latin America, African-Islamic.
+ - Footer paragraph present and complete: "Historical coordinates are
+ recovered rounded display values. Coder and vision-language Qwen
+ variants are visible but ... See the repository CI table and request
+ ledger for sample and protocol evidence."
+ - Header + description paragraph present, references wvs_map_data.json.
+Minor: "Latin America" (y≈860) and "African-Islamic" (y≈877) region labels
+are vertically ~17 px apart and horizontally overlapping (x≈808-870);
+readable but tight. Cosmetic only.
+
+=====================================================================
+4. OTHER OBSERVATIONS (not blocking; flag for parent)
+=====================================================================
+ a) Only 9 of 13 chip families carry a star label. gemma-4-31b-it (teal
+ star ~672,481), grok-4.20 (black stars ~555,407 and ~334,522),
+ mistral-large-2512 (green star ~243,500) and llama-4-maverick have no
+ label. If the intent is "label the latest release of every family",
+ this is a gap; if labels are only for a defined subset (e.g. new
+ points), it is fine. Cannot determine intent from images. Check the
+ labelling rule in the page source / data JSON.
+ b) Full-page screenshot has ~430 px of blank canvas below the footer
+ (content ends ~y1170 of 1600). Screenshot artefact, not a page defect.
+ c) Chip text "claude: fable-5.1" — family name and release name differ in
+ stem; the description says chips carry the family's latest-release
+ name, so this is presumably data-driven. Noting only in case it is a
+ mapping error.
+
+=====================================================================
+5. PUBLICATION CORE UAT VERDICT
+=====================================================================
+ Labels leader-linked ........................ PASS
+ Qwen toggle hides stars + label + chip state PASS (visual); DOM count
+ unverified
+ Axes + footer visible ....................... PASS
+ Pixel-count artefact self-explanatory ....... NOT MET (bare "11916")
+
+Overall: core UAT PASSES on the image evidence. Two follow-ups recommended
+before calling it publication-final: (1) annotate or regenerate the
+toggle_pixels.txt so the number is interpretable; (2) confirm via DOM query
+that no qwen-family element remains rendered in the hidden state, since
+residual violet stars are attributed to muse by inference only. The label/
+star collisions in the visible state are cosmetic and do not block.
+```
\ No newline at end of file