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