diff --git a/astro-site/public/assets/doodles/zip-inventory.png b/astro-site/public/assets/doodles/zip-inventory.png new file mode 100644 index 00000000..0ac105a2 Binary files /dev/null and b/astro-site/public/assets/doodles/zip-inventory.png differ diff --git a/docs/research/2026-09-13-zip-post-review.md b/docs/research/2026-09-13-zip-post-review.md index b08e3be4..b88c7670 100644 --- a/docs/research/2026-09-13-zip-post-review.md +++ b/docs/research/2026-09-13-zip-post-review.md @@ -59,10 +59,36 @@ Future preview at `PUBLICATION_AS_OF=2026-09-28T00:00:00Z` built successfully. Root inspected full-page screenshots at1440px Latte and390px Dracula: readable native flow/table, no horizontal page overflow and no missing assets. Targeted axe WCAG2/2.1/2.2AA found zero violations in both views, with the repository's -existing syntax-highlighted-code contrast exclusion. The visual is a specific -mechanism diagram after the introduction; no decorative doodle is necessary. +existing syntax-highlighted-code contrast exclusion. The mechanism diagram remains after the introduction. The author subsequently +requested a zine illustration; the visual follow-up below records that addition. Design audits, Astro check and lint passed. The seven-stage coverage JSON binds the final file hash. Production build and required PR checks must pass before merge; today’s build must exclude the future post. No general archive-ready verdict is implied for the older scanning article merely because it is linked. + +## Zine illustration follow-up + +Resolved skill: `.agents/skills/blog-visuals/SKILL.md` in this checkout. Gemini +3.1 Pro via agy generated the requested illustration using its `generate_image` +tool in an isolated temporary directory. Root inspected the actual output before +processing it with `scripts/zine-art/ink-mask.py --width 480`. + +The open box contains a ball and a key; its inventory card depicts only the ball. +This is a metaphor for omitted entries, not an additional experimental result. +The caption, “The inventory forgot the key,” adds no technical or personal claim. +Root reviewed that caption for voice, attribution and claim scope; the existing +research, argument and artifact reviews remain applicable to unchanged content. + +Asset: `astro-site/public/assets/doodles/zip-inventory.png`, 480×502 pixels, +56,996 bytes, pure-black luminance with alpha spanning 0–255 and no metadata. +The markup uses existing theme-mask classes, the measured aspect ratio, a +responsive width and `aria-hidden` because the prose and accessible flow already +carry its meaning. No stylesheet or publication-date change was needed. + +Independent reviewer `music_pilot` inspected the actual mask, metaphor and markup +and found no blockers. Root inspected rendered screenshots at 1440px Latte and +390px Dracula: the image is visible, centered and recolored appropriately, with +no horizontal overflow. The PNG returned HTTP 200. Targeted axe WCAG 2/2.1/2.2 AA +reported zero violations in both views using the existing code-block contrast +exclusion. Future-preview build and all design audits passed again. diff --git a/docs/research/2026-09-13-zip-prepublish.json b/docs/research/2026-09-13-zip-prepublish.json index 43a93b97..9e681a73 100644 --- a/docs/research/2026-09-13-zip-prepublish.json +++ b/docs/research/2026-09-13-zip-prepublish.json @@ -1,6 +1,6 @@ { "post": "src/posts/2026-09-28-zip-index-stream-reader-disagreement.md", - "sha256": "2dd94a2ef667752063295a2b970115d755f600a701308b43438643bf70d2782c", + "sha256": "aef8ade14cf225425d9d49b9a63921908a69982d3a064d1e3dfe849fb08039e2", "reviewed_at": "2026-09-13", "stages": { "blog-overlap": { @@ -16,7 +16,8 @@ "verdict": "pass", "reviewer": "root and music_pilot", "evidence": [ - "Primary APPNOTE6.3.10\u00a74.3.2,Java21,Python3.12,USENIX2025\u00a7\u00a72/4; recomputed6fixtures18runs17success1rejection and marker/sequence distinctions; source chronology precedesSep28. Full claim ledger2026-09-13-zip-post-review.md." + "Primary APPNOTE6.3.10\u00a74.3.2,Java21,Python3.12,USENIX2025\u00a7\u00a72/4; recomputed6fixtures18runs17success1rejection and marker/sequence distinctions; source chronology precedesSep28. Full claim ledger2026-09-13-zip-post-review.md.", + "Root reviewed added inventory metaphor and caption: no new experimental or personal claim, concise voice, no attribution issue; research and article prose unchanged." ] }, "blog-llm-tells": { @@ -24,7 +25,8 @@ "verdict": "pass", "reviewer": "music_pilot and root", "evidence": [ - "Whole post reviewed against canonical voice; direct project introduction, scoped results, no forced humor/unsupported anecdote; no material prose findings. Nexus documentation expert also reviewed prose, its wrong Mermaid rule rejected." + "Whole post reviewed against canonical voice; direct project introduction, scoped results, no forced humor/unsupported anecdote; no material prose findings. Nexus documentation expert also reviewed prose, its wrong Mermaid rule rejected.", + "Root reviewed added inventory metaphor and caption: no new experimental or personal claim, concise voice, no attribution issue; research and article prose unchanged." ] }, "blog-nda-check": { @@ -32,7 +34,8 @@ "verdict": "pass", "reviewer": "music_pilot and root", "evidence": [ - "Whole frontmatter/prose/diagram/commands reviewed: synthetic public lab only; no employer incidents, agencies, identifying private systems or invented homelab experience." + "Whole frontmatter/prose/diagram/commands reviewed: synthetic public lab only; no employer incidents, agencies, identifying private systems or invented homelab experience.", + "Root reviewed added inventory metaphor and caption: no new experimental or personal claim, concise voice, no attribution issue; research and article prose unchanged." ] }, "blog-argument-shape": { @@ -46,9 +49,10 @@ "blog-visuals": { "coverage": "manual", "verdict": "pass", - "reviewer": "root", + "reviewer": "root and music_pilot", "evidence": [ - "Native flow plus comparison table reviewed against claimledger. Full-page1440Latte/390Dracula screenshot inspection; HTTP200 main/post, no horizontal overflow; targetedaxeAA zero violations bothviews. Futurepreview build and design audits passed." + "Native flow plus comparison table reviewed against claimledger. Full-page1440Latte/390Dracula screenshot inspection; HTTP200 main/post, no horizontal overflow; targetedaxeAA zero violations bothviews. Futurepreview build and design audits passed.", + "Zine follow-up: Gemini via agy generated box/inventory metaphor; actual 480x502 PNG inspected, 56996 bytes, pure-black luminance, alpha 0-255, no metadata. Independent image/markup review passed. Root rechecked 1440px Latte and 390px Dracula rendered masks, asset HTTP200, no overflow and zero targeted axe AA violations; future build and design audits passed. See zine follow-up in 2026-09-13-zip-post-review.md." ] }, "blog-artifact-check": { diff --git a/src/posts/2026-09-28-zip-index-stream-reader-disagreement.md b/src/posts/2026-09-28-zip-index-stream-reader-disagreement.md index e4d5ad30..357b512b 100644 --- a/src/posts/2026-09-28-zip-index-stream-reader-disagreement.md +++ b/src/posts/2026-09-28-zip-index-stream-reader-disagreement.md @@ -14,6 +14,9 @@ The [ZIP lab](https://github.com/williamzujkowski/research-labs/tree/68874f0a840 The bytes never change. The readers disagree about which records belong in their list of files. If a content check and a later consumer build those lists differently, hashing the original upload does not resolve that disagreement. The lab isolates that boundary without running a scanner or extracting anything to disk. + +

The inventory forgot the key.

+
Identical ZIP bytesOne indexed entry; an extra local entry