RELEASE-PLAN-CLONE-START: https://github.com/cameronraysmith/vanixiets.git #3270 186d6f4bf6d8f289c79f9528e594e210f12f60e2 RELEASE-PACKAGES-ACTION: plan (#3270 at 186d6f4bf6d8f289c79f9528e594e210f12f60e2 onto main at ab98a627df1800cf904862a1076036d11f497283) packages discovered: [{"name":"docs","path":"packages/docs"}] RELEASE-PACKAGE-ITERATION: packages/docs running semantic-release in packages/docs... [8:46:19 PM] [[secure]] › ℹ Running [secure] version 25.0.9 [8:46:20 PM] [[secure]] › ✔ Loaded plugin "verifyConditions" from "@[secure]/changelog" [8:46:20 PM] [[secure]] › ✔ Loaded plugin "verifyConditions" from "@[secure]/github" [8:46:20 PM] [[secure]] › ✔ Loaded plugin "prepare" from "@[secure]/changelog" [8:46:20 PM] [[secure]] › ✔ Loaded plugin "publish" from "@[secure]/github" [8:46:20 PM] [[secure]] › ✔ Loaded plugin "addChannel" from "@[secure]/github" [8:46:20 PM] [[secure]] › ✔ Loaded plugin "success" from "@[secure]/github" [8:46:20 PM] [[secure]] › ✔ Loaded plugin "success" from "[secure]-major-tag" [8:46:20 PM] [[secure]] › ⚠ Run automated release from branch main on repository https://github.com/cameronraysmith/vanixiets.git in dry-run mode [8:46:20 PM] [[secure]] › ✔ Allowed to push to the Git repository [8:46:20 PM] [[secure]] › ℹ Start step "verifyConditions" of plugin "@[secure]/changelog" [8:46:20 PM] [[secure]] › ✔ Completed step "verifyConditions" of plugin "@[secure]/changelog" [8:46:20 PM] [[secure]] › ℹ Start step "verifyConditions" of plugin "@[secure]/github" [8:46:20 PM] [[secure]] [@[secure]/github] › ℹ Verify GitHub authentication [8:46:21 PM] [[secure]] › ✔ Completed step "verifyConditions" of plugin "@[secure]/github" [8:46:21 PM] [[secure]] › ℹ Found git tag @vanixiets/docs-v0.10.0 associated with version 0.10.0 on branch main [8:46:21 PM] [[secure]] › ℹ Found 6 commits since last release [8:46:21 PM] [[secure]] › ℹ Start step "analyzeCommits" of plugin "[Function: [secure]-monorepo]" [8:46:21 PM] [[secure]] [[Function: [secure]-monorepo]] › ℹ Start step "analyzeCommits" of plugin "@[secure]/commit-analyzer" [8:46:21 PM] [[secure]] [[Function: [secure]-monorepo]] › ℹ Found 4 commits for package @vanixiets/docs since last release [8:46:21 PM] [[secure]] [[Function: [secure]-monorepo]] › ℹ Analyzing commit: fix(docs): keep WebKit failure screenshots in Darwin build reports On aarch64-darwin, Nix build users have no LaunchServices database, so WebKit's image encoder returns an empty data URL and Playwright writes a 0-byte failure screenshot without raising an error. The report validator rightly rejects empty attachments, so a WebKit product failure on Darwin kept no report. A shared test fixture now replaces a 0-byte WebKit screenshot with the latest screencast frame, or fails the attempt as infrastructure if none exists. e2e-webkit-negative-control proves that a WebKit failure keeps a real PNG. Change-Id: I01c2ad58cb950529278fb87dda109414ead21c09 [8:46:21 PM] [[secure]] [[Function: [secure]-monorepo]] › ℹ The release type for the commit is patch [8:46:21 PM] [[secure]] [[Function: [secure]-monorepo]] › ℹ Analyzing commit: fix(docs): give each browser report build its own preview ports Darwin Nix builds are unsandboxed and share the host network, so report derivations built at once all served on localhost:4321 and raced for the workerd inspector port from 9229; one build's server broke another's tests. The report build now picks a free loopback port and passes it to Playwright as DOCS_PREVIEW_PORT, and sets DOCS_DISABLE_WORKER_INSPECTOR so astro preview opens no inspector. Local runs keep 4321 and the inspector. Change-Id: Ia0c3192bbfed2940fbd062e68105432e6a6a6964 [8:46:21 PM] [[secure]] [[Function: [secure]-monorepo]] › ℹ The release type for the commit is patch [8:46:21 PM] [[secure]] [[Function: [secure]-monorepo]] › ℹ Analyzing commit: fix(docs): keep the homepage hero within narrow viewports The homepage hero uses raw markup inside Starlight's .hero-html wrapper, which Starlight sizes but does not constrain. On phones the image overflowed and widened the layout viewport past the device, cutting off the logo and header search. The mobile scenario now requires no horizontal overflow and a hero image inside the viewport; it failed on all three engines before the CSS fix and passes after it. Change-Id: Id64a1dfa32e0a68946327dba89fc8362f7f62473 [8:46:21 PM] [[secure]] [[Function: [secure]-monorepo]] › ℹ The release type for the commit is patch [8:46:21 PM] [[secure]] [[Function: [secure]-monorepo]] › ℹ Analyzing commit: feat(docs): publish validated browser evidence from finished builds publish-evidence is the trusted build_finished sidecar. It finds the docs report check through nixbot's build API, validates it with its own copy of validate-report.mjs, and copies run.json, completion.json and the referenced PNG screenshots beside a deterministic receipt. Unsafe paths, symlinks, non-PNG data and identity mismatches are rejected; missing outputs are reported, never rebuilt. No effect runs it yet: storage, access and retention are undecided, so publication ends at a local --out directory. publish-evidence-rehearsal covers each case against a loopback API and a chroot store. Change-Id: I9adcceeed84b3fe7e7c86c572fdc8f5b5a0d7b02 [8:46:21 PM] [[secure]] [[Function: [secure]-monorepo]] › ℹ The release type for the commit is minor [8:46:21 PM] [[secure]] [[Function: [secure]-monorepo]] › ℹ Analysis of 4 commits complete: minor release [8:46:21 PM] [[secure]] [[Function: [secure]-monorepo]] › ℹ Completed step "analyzeCommits" of plugin "@[secure]/commit-analyzer" [8:46:21 PM] [[secure]] › ✔ Completed step "analyzeCommits" of plugin "[Function: [secure]-monorepo]" [8:46:21 PM] [[secure]] › ℹ Start step "analyzeCommits" of plugin "[Function: [secure]-monorepo]" [8:46:21 PM] [[secure]] [[Function: [secure]-monorepo]] › ℹ Plugin "@[secure]/release-notes-generator" does not provide step "analyzeCommits" [8:46:21 PM] [[secure]] › ✔ Completed step "analyzeCommits" of plugin "[Function: [secure]-monorepo]" [8:46:21 PM] [[secure]] › ℹ Start step "analyzeCommits" of plugin "[Function: [secure]-monorepo]" [8:46:21 PM] [[secure]] [[Function: [secure]-monorepo]] › ℹ Plugin "@[secure]/changelog" does not provide step "analyzeCommits" [8:46:21 PM] [[secure]] › ✔ Completed step "analyzeCommits" of plugin "[Function: [secure]-monorepo]" [8:46:21 PM] [[secure]] › ℹ Start step "analyzeCommits" of plugin "[Function: [secure]-monorepo]" [8:46:21 PM] [[secure]] [[Function: [secure]-monorepo]] › ℹ Plugin "@[secure]/github" does not provide step "analyzeCommits" [8:46:21 PM] [[secure]] › ✔ Completed step "analyzeCommits" of plugin "[Function: [secure]-monorepo]" [8:46:21 PM] [[secure]] › ℹ Start step "analyzeCommits" of plugin "[Function: [secure]-monorepo]" [8:46:21 PM] [[secure]] [[Function: [secure]-monorepo]] › ℹ Plugin "[secure]-major-tag" does not provide step "analyzeCommits" [8:46:21 PM] [[secure]] › ✔ Completed step "analyzeCommits" of plugin "[Function: [secure]-monorepo]" [8:46:21 PM] [[secure]] › ℹ Start step "analyzeCommits" of plugin "[Function: [secure]-monorepo]" [8:46:21 PM] [[secure]] [[Function: [secure]-monorepo]] › ℹ No more plugins [8:46:21 PM] [[secure]] › ✔ Completed step "analyzeCommits" of plugin "[Function: [secure]-monorepo]" [8:46:21 PM] [[secure]] › ℹ Start step "analyzeCommits" of plugin "[Function: [secure]-monorepo]" [8:46:21 PM] [[secure]] [[Function: [secure]-monorepo]] › ℹ No more plugins [8:46:21 PM] [[secure]] › ✔ Completed step "analyzeCommits" of plugin "[Function: [secure]-monorepo]" [8:46:21 PM] [[secure]] › ℹ Start step "analyzeCommits" of plugin "[Function: [secure]-monorepo]" [8:46:21 PM] [[secure]] [[Function: [secure]-monorepo]] › ℹ No more plugins [8:46:21 PM] [[secure]] › ✔ Completed step "analyzeCommits" of plugin "[Function: [secure]-monorepo]" [8:46:21 PM] [[secure]] › ℹ Start step "analyzeCommits" of plugin "[Function: [secure]-monorepo]" [8:46:21 PM] [[secure]] [[Function: [secure]-monorepo]] › ℹ No more plugins [8:46:21 PM] [[secure]] › ✔ Completed step "analyzeCommits" of plugin "[Function: [secure]-monorepo]" [8:46:21 PM] [[secure]] › ℹ Start step "analyzeCommits" of plugin "[Function: [secure]-monorepo]" [8:46:21 PM] [[secure]] [[Function: [secure]-monorepo]] › ℹ No more plugins [8:46:21 PM] [[secure]] › ✔ Completed step "analyzeCommits" of plugin "[Function: [secure]-monorepo]" [8:46:22 PM] [[secure]] › ℹ The next release version is 0.11.0 [8:46:22 PM] [[secure]] › ℹ Start step "generateNotes" of plugin "[Function: [secure]-monorepo]" [8:46:22 PM] [[secure]] [[Function: [secure]-monorepo]] › ℹ Plugin "@[secure]/commit-analyzer" does not provide step "generateNotes" [8:46:22 PM] [[secure]] › ✔ Completed step "generateNotes" of plugin "[Function: [secure]-monorepo]" [8:46:22 PM] [[secure]] › ℹ Start step "generateNotes" of plugin "[Function: [secure]-monorepo]" [8:46:22 PM] [[secure]] [[Function: [secure]-monorepo]] › ℹ Start step "generateNotes" of plugin "@[secure]/release-notes-generator" [8:46:22 PM] [[secure]] [[Function: [secure]-monorepo]] › ℹ Found 4 commits for package @vanixiets/docs since last release [8:46:22 PM] [[secure]] [[Function: [secure]-monorepo]] › ℹ Completed step "generateNotes" of plugin "@[secure]/release-notes-generator" [8:46:22 PM] [[secure]] › ✔ Completed step "generateNotes" of plugin "[Function: [secure]-monorepo]" [8:46:22 PM] [[secure]] › ℹ Start step "generateNotes" of plugin "[Function: [secure]-monorepo]" [8:46:22 PM] [[secure]] [[Function: [secure]-monorepo]] › ℹ Plugin "@[secure]/changelog" does not provide step "generateNotes" [8:46:22 PM] [[secure]] › ✔ Completed step "generateNotes" of plugin "[Function: [secure]-monorepo]" [8:46:22 PM] [[secure]] › ℹ Start step "generateNotes" of plugin "[Function: [secure]-monorepo]" [8:46:22 PM] [[secure]] [[Function: [secure]-monorepo]] › ℹ Plugin "@[secure]/github" does not provide step "generateNotes" [8:46:22 PM] [[secure]] › ✔ Completed step "generateNotes" of plugin "[Function: [secure]-monorepo]" [8:46:22 PM] [[secure]] › ℹ Start step "generateNotes" of plugin "[Function: [secure]-monorepo]" [8:46:22 PM] [[secure]] [[Function: [secure]-monorepo]] › ℹ Plugin "[secure]-major-tag" does not provide step "generateNotes" [8:46:22 PM] [[secure]] › ✔ Completed step "generateNotes" of plugin "[Function: [secure]-monorepo]" [8:46:22 PM] [[secure]] › ℹ Start step "generateNotes" of plugin "[Function: [secure]-monorepo]" [8:46:22 PM] [[secure]] [[Function: [secure]-monorepo]] › ℹ No more plugins [8:46:22 PM] [[secure]] › ✔ Completed step "generateNotes" of plugin "[Function: [secure]-monorepo]" [8:46:22 PM] [[secure]] › ℹ Start step "generateNotes" of plugin "[Function: [secure]-monorepo]" [8:46:22 PM] [[secure]] [[Function: [secure]-monorepo]] › ℹ No more plugins [8:46:22 PM] [[secure]] › ✔ Completed step "generateNotes" of plugin "[Function: [secure]-monorepo]" [8:46:22 PM] [[secure]] › ℹ Start step "generateNotes" of plugin "[Function: [secure]-monorepo]" [8:46:22 PM] [[secure]] [[Function: [secure]-monorepo]] › ℹ No more plugins [8:46:22 PM] [[secure]] › ✔ Completed step "generateNotes" of plugin "[Function: [secure]-monorepo]" [8:46:22 PM] [[secure]] › ℹ Start step "generateNotes" of plugin "[Function: [secure]-monorepo]" [8:46:22 PM] [[secure]] [[Function: [secure]-monorepo]] › ℹ No more plugins [8:46:22 PM] [[secure]] › ✔ Completed step "generateNotes" of plugin "[Function: [secure]-monorepo]" [8:46:22 PM] [[secure]] › ℹ Start step "generateNotes" of plugin "[Function: [secure]-monorepo]" [8:46:22 PM] [[secure]] [[Function: [secure]-monorepo]] › ℹ No more plugins [8:46:22 PM] [[secure]] › ✔ Completed step "generateNotes" of plugin "[Function: [secure]-monorepo]" [8:46:22 PM] [[secure]] › ⚠ Skip step "prepare" of plugin "@[secure]/changelog" in dry-run mode [8:46:22 PM] [[secure]] › ⚠ Skip @vanixiets/docs-v0.11.0 tag creation in dry-run mode [8:46:22 PM] [[secure]] › ⚠ Skip step "publish" of plugin "@[secure]/github" in dry-run mode [8:46:22 PM] [[secure]] › ⚠ Skip step "success" of plugin "@[secure]/github" in dry-run mode [8:46:22 PM] [[secure]] › ⚠ Skip step "success" of plugin "[secure]-major-tag" in dry-run mode [8:46:22 PM] [[secure]] › ✔ Published release 0.11.0 on default channel [8:46:22 PM] [[secure]] › ℹ Release note for version 0.11.0: ## @vanixiets/docs-v0.11.0 (https://github.com/cameronraysmith/vanixiets/compare/@vanixiets/docs-v0.10.0...@vanixiets/docs-v0.11.0) (2026-10-01) ### Features * **docs:** publish validated browser evidence from finished builds ([0b00bf4](https://github.com/cameronraysmith/vanixiets/commit/0b00bf47232d182356d9c1831c42eef1ac20960a)) ### Bug Fixes * **docs:** give each browser report build its own preview ports ([f9764c3](https://github.com/cameronraysmith/vanixiets/commit/f9764c3b0fb201e8accedea2b50403853baad6d8)) * **docs:** keep the homepage hero within narrow viewports ([540eb07](https://github.com/cameronraysmith/vanixiets/commit/540eb07b43ff098fbef7cb59ebf63255a71a73d6)) * **docs:** keep WebKit failure screenshots in Darwin build reports ([186d6f4](https://github.com/cameronraysmith/vanixiets/commit/186d6f4bf6d8f289c79f9528e594e210f12f60e2)) RELEASE-PLAN: docs 0.10.0 -> 0.11.0