Skip to content

rc.12 additions: default-export API handler, dev script split, pinned URL fix, dependency updates - #141

Closed
collin-thomas wants to merge 18 commits into
mainfrom
claude/dreamy-brown-fgnfek
Closed

collin-thomas wants to merge 18 commits into
mainfrom
claude/dreamy-brown-fgnfek

Conversation

@collin-thomas

@collin-thomas collin-thomas commented Nov 11, 2026 •

Copy link
Copy Markdown
Collaborator

What and why

Everything that ships in 1.0.0-rc.12 beyond #139, in one pull request so it is tested once. rc.12 is not published yet, so these changes are folded into its release notes (there is no [Unreleased] section).

Features and fixes

  1. API routes: export default handles every method. A route's default export is the handler for each of the seven supported methods the file has no named export for. Order: named export, then HEAD derived from a named GET, then the default. OPTIONS and HEAD reach the default (so it can answer a CORS preflight); methods outside the seven still get 405. The change is in the shared dispatch (pkg/src/lib/request-execution.ts), so the dev server, bascik --server and both adapters behave the same. The language server's missing-method-handler accepts a default-only route. Docs: One Handler for Every Method.
    • Behavior change: a route that already had a default export beside its method exports now sends other methods to it instead of answering 405.
  2. dev stays the Bascik dev server in the Cloudflare and Netlify templates. dev is bascik in every template; the host runtime moves to dev:cloudflare / dev:netlify (bascik --target ...). The generated AGENTS.md and the bascik and bascik-config skills tell agents never to point dev at wrangler dev or netlify dev. The shop follows the same split.
  3. The pinned dev server URL stays clickable when a wrapped log line sits under it in VS Code's terminal (xterm.js joined the two rows; the banner now ends with a written space). Reproduced and tested against headless xterm.js, not in a real VS Code window.
  4. bascik-config skill: a "Tune build and server performance" table (pipeline.workers, assets.symlink, http.precompress, http.cacheControl).
  5. Releases page: each version's "Added / Changed / Fixed" headings get their own anchors, so the docs build no longer warns about duplicate ids.

Dependencies (replaces #140, #142, #143)

  • Merges the three Dependabot branches: GitHub Actions (4 updates), production dependencies (6), dev dependencies (22).
  • Not taken: @types/node 26 and @types/vscode 1.145. The types stay at the supported floors (Node 24.21, engines.vscode ^1.91.0), and dependabot.yml now ignores those two bumps.
  • Lighthouse 13.6 (run by lhci 0.16) dropped the classic dom-size audit, so the 4,000 element budget reads dom-size-insight.
  • Dependabot alerts 107 (glob) and 113 (minimatch): resolutions move the glob 13 and minimatch 10 copies under the Netlify CLI to 14.0.3 and 11.0.3. The expired age-gate exemptions in .yarnrc.yml are removed.
  • Alert 112 (deepmerge 4.3.1, under @netlify/config) has no patched release and stays open.

Checklist

  • A test fails without this change and passes with it
  • yarn check:format and yarn check:spelling pass
  • Docs under docs/content/ are updated when behavior changed
  • CHANGELOG.md is updated (under 1.0.0-rc.12, which is unpublished)

Validation

A full local run (typechecks, checks, unit, integration, linear-time, every e2e lane, Lighthouse, extension e2e) is in progress on the combined head; results will be added here.

Known red check: the shop deploy-preview job ends without running a step on this branch (likely the shop-preview environment's branch rule); see the comment below.

🤖 Generated with Claude Code

dependabot Bot and others added 4 commits November 11, 2026 19:46
Bumps the actions group with 4 updates: [actions/checkout](https://github.com/actions/checkout), [actions/setup-node](https://github.com/actions/setup-node), [actions/upload-artifact](https://github.com/actions/upload-artifact) and [actions/download-artifact](https://github.com/actions/download-artifact).


Updates `actions/checkout` from 5 to 7
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](actions/checkout@v5...v7)

Updates `actions/setup-node` from 5 to 7
- [Release notes](https://github.com/actions/setup-node/releases)
- [Commits](actions/setup-node@v5...v7)

Updates `actions/upload-artifact` from 4 to 7
- [Release notes](https://github.com/actions/upload-artifact/releases)
- [Commits](actions/upload-artifact@v4...v7)

Updates `actions/download-artifact` from 4 to 8
- [Release notes](https://github.com/actions/download-artifact/releases)
- [Commits](actions/download-artifact@v4...v8)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-version: '7'
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: actions
- dependency-name: actions/setup-node
  dependency-version: '7'
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: actions
- dependency-name: actions/upload-artifact
  dependency-version: '7'
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: actions
- dependency-name: actions/download-artifact
  dependency-version: '8'
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: actions
...

Signed-off-by: dependabot[bot] <support@github.com>
xterm.js (VS Code's terminal) marks a row as the continuation of the row
above it, and the mark scrolls with the row. When a long log line wrapped
and its first row scrolled out of the scroll region, the leftover row sat
directly under the pinned banner still marked as a continuation, so link
detection read both rows as one line and glued the log text onto the URL.

The banner now ends with one written space, which the terminal keeps in
that line, so the URL ends where it should. A test drives a headless
xterm.js to reproduce the wrapped row and check the detected URL.

Co-Authored-By: Claude Fable 5.2 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01TrqBCJcZJWYNKVPcdoDDpt
Bumps the dev-dependencies group with 22 updates:

| Package | From | To |
| --- | --- | --- |
| [@mdn/browser-compat-data](https://github.com/mdn/browser-compat-data) | `8.1.4` | `8.1.8` |
| [@playwright/test](https://github.com/microsoft/playwright) | `1.63.0` | `1.64.1` |
| [@swc/core](https://github.com/swc-project/swc/tree/HEAD/packages/core) | `1.16.13` | `1.16.21` |
| [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) | `24.19.1` | `26.6.6` |
| [@vitest/coverage-v8](https://github.com/vitest-dev/vitest/tree/HEAD/packages/coverage-v8) | `5.0.3` | `5.1.0` |
| [@webref/css](https://github.com/w3c/webref) | `8.7.5` | `8.7.8` |
| [@webref/elements](https://github.com/w3c/webref) | `2.9.0` | `2.9.2` |
| [@webref/idl](https://github.com/w3c/webref) | `3.85.0` | `3.86.0` |
| [autoprefixer](https://github.com/postcss/autoprefixer) | `10.6.1` | `10.6.2` |
| [dependency-cruiser](https://github.com/sverweij/dependency-cruiser) | `18.5.0` | `18.7.2` |
| [postcss](https://github.com/postcss/postcss) | `8.5.28` | `8.5.32` |
| [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite) | `8.3.4` | `8.3.5` |
| [vitest](https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest) | `5.0.3` | `5.1.0` |
| [web-features](https://github.com/web-platform-dx/web-features/tree/HEAD/packages/web-features) | `3.40.1` | `3.45.0` |
| [@lhci/cli](https://github.com/GoogleChrome/lighthouse-ci) | `0.15.1` | `0.16.0` |
| [axe-core](https://github.com/dequelabs/axe-core) | `4.13.0` | `4.14.0` |
| [lighthouse](https://github.com/GoogleChrome/lighthouse) | `13.5.0` | `13.6.0` |
| [wrangler](https://github.com/cloudflare/workers-sdk/tree/HEAD/packages/wrangler) | `4.152.0` | `4.157.0` |
| [@cloudflare/workers-types](https://github.com/cloudflare/workerd) | `5.20261030.1` | `5.20261104.1` |
| [@types/vscode](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/vscode) | `1.140.0` | `1.145.0` |
| [vscode-languageclient](https://github.com/Microsoft/vscode-languageserver-node/tree/HEAD/client) | `10.1.2` | `11.0.0` |
| [@netlify/functions](https://github.com/netlify/primitives/tree/HEAD/packages/functions/prod) | `5.3.0` | `6.1.0` |


Updates `@mdn/browser-compat-data` from 8.1.4 to 8.1.8
- [Release notes](https://github.com/mdn/browser-compat-data/releases)
- [Changelog](https://github.com/mdn/browser-compat-data/blob/main/RELEASE_NOTES.md)
- [Commits](mdn/browser-compat-data@v8.1.4...v8.1.8)

Updates `@playwright/test` from 1.63.0 to 1.64.1
- [Release notes](https://github.com/microsoft/playwright/releases)
- [Commits](microsoft/playwright@v1.63.0...v1.64.1)

Updates `@swc/core` from 1.16.13 to 1.16.21
- [Release notes](https://github.com/swc-project/swc/releases)
- [Changelog](https://github.com/swc-project/swc/blob/main/CHANGELOG.md)
- [Commits](https://github.com/swc-project/swc/commits/v1.16.21/packages/core)

Updates `@types/node` from 24.19.1 to 26.6.6
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node)

Updates `@vitest/coverage-v8` from 5.0.3 to 5.1.0
- [Release notes](https://github.com/vitest-dev/vitest/releases)
- [Changelog](https://github.com/vitest-dev/vitest/blob/main/docs/releases.md)
- [Commits](https://github.com/vitest-dev/vitest/commits/v5.1.0/packages/coverage-v8)

Updates `@webref/css` from 8.7.5 to 8.7.8
- [Commits](https://github.com/w3c/webref/compare/@webref/css@8.7.5...@webref/css@8.7.8)

Updates `@webref/elements` from 2.9.0 to 2.9.2
- [Commits](https://github.com/w3c/webref/compare/@webref/elements@2.9.0...@webref/elements@2.9.2)

Updates `@webref/idl` from 3.85.0 to 3.86.0
- [Commits](https://github.com/w3c/webref/compare/@webref/idl@3.85.0...@webref/idl@3.86.0)

Updates `autoprefixer` from 10.6.1 to 10.6.2
- [Release notes](https://github.com/postcss/autoprefixer/releases)
- [Changelog](https://github.com/postcss/autoprefixer/blob/main/CHANGELOG.md)
- [Commits](postcss/autoprefixer@10.6.1...10.6.2)

Updates `dependency-cruiser` from 18.5.0 to 18.7.2
- [Release notes](https://github.com/sverweij/dependency-cruiser/releases)
- [Changelog](https://github.com/sverweij/dependency-cruiser/blob/main/CHANGELOG.md)
- [Commits](sverweij/dependency-cruiser@v18.5.0...v18.7.2)

Updates `postcss` from 8.5.28 to 8.5.32
- [Release notes](https://github.com/postcss/postcss/releases)
- [Changelog](https://github.com/postcss/postcss/blob/main/CHANGELOG.md)
- [Commits](postcss/postcss@8.5.28...8.5.32)

Updates `vite` from 8.3.4 to 8.3.5
- [Release notes](https://github.com/vitejs/vite/releases)
- [Changelog](https://github.com/vitejs/vite/blob/main/packages/vite/CHANGELOG.md)
- [Commits](https://github.com/vitejs/vite/commits/v8.3.5/packages/vite)

Updates `vitest` from 5.0.3 to 5.1.0
- [Release notes](https://github.com/vitest-dev/vitest/releases)
- [Changelog](https://github.com/vitest-dev/vitest/blob/main/docs/releases.md)
- [Commits](https://github.com/vitest-dev/vitest/commits/v5.1.0/packages/vitest)

Updates `web-features` from 3.40.1 to 3.45.0
- [Release notes](https://github.com/web-platform-dx/web-features/releases)
- [Commits](https://github.com/web-platform-dx/web-features/commits/v3.45.0/packages/web-features)

Updates `@lhci/cli` from 0.15.1 to 0.16.0
- [Release notes](https://github.com/GoogleChrome/lighthouse-ci/releases)
- [Commits](GoogleChrome/lighthouse-ci@v0.15.1...v0.16.0)

Updates `axe-core` from 4.13.0 to 4.14.0
- [Release notes](https://github.com/dequelabs/axe-core/releases)
- [Changelog](https://github.com/dequelabs/axe-core/blob/develop/CHANGELOG.md)
- [Commits](dequelabs/axe-core@v4.13.0...v4.14.0)

Updates `lighthouse` from 13.5.0 to 13.6.0
- [Release notes](https://github.com/GoogleChrome/lighthouse/releases)
- [Changelog](https://github.com/GoogleChrome/lighthouse/blob/main/changelog.md)
- [Commits](GoogleChrome/lighthouse@v13.5.0...v13.6.0)

Updates `wrangler` from 4.152.0 to 4.157.0
- [Release notes](https://github.com/cloudflare/workers-sdk/releases)
- [Commits](https://github.com/cloudflare/workers-sdk/commits/wrangler@4.157.0/packages/wrangler)

Updates `@cloudflare/workers-types` from 5.20261030.1 to 5.20261104.1
- [Release notes](https://github.com/cloudflare/workerd/releases)
- [Changelog](https://github.com/cloudflare/workerd/blob/main/RELEASE.md)
- [Commits](https://github.com/cloudflare/workerd/commits)

Updates `@types/vscode` from 1.140.0 to 1.145.0
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/vscode)

Updates `vscode-languageclient` from 10.1.2 to 11.0.0
- [Release notes](https://github.com/Microsoft/vscode-languageserver-node/releases)
- [Commits](https://github.com/Microsoft/vscode-languageserver-node/commits/release/client/11.0.0/client)

Updates `@netlify/functions` from 5.3.0 to 6.1.0
- [Release notes](https://github.com/netlify/primitives/releases)
- [Changelog](https://github.com/netlify/primitives/blob/main/packages/functions/prod/CHANGELOG.md)
- [Commits](https://github.com/netlify/primitives/commits/dev-utils-v6.1.0/packages/functions/prod)

---
updated-dependencies:
- dependency-name: "@mdn/browser-compat-data"
  dependency-version: 8.1.8
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: dev-dependencies
- dependency-name: "@playwright/test"
  dependency-version: 1.64.1
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: dev-dependencies
- dependency-name: "@swc/core"
  dependency-version: 1.16.21
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: dev-dependencies
- dependency-name: "@types/node"
  dependency-version: 26.6.6
  dependency-type: direct:development
  update-type: version-update:semver-major
  dependency-group: dev-dependencies
- dependency-name: "@vitest/coverage-v8"
  dependency-version: 5.1.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: dev-dependencies
- dependency-name: "@webref/css"
  dependency-version: 8.7.8
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: dev-dependencies
- dependency-name: "@webref/elements"
  dependency-version: 2.9.2
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: dev-dependencies
- dependency-name: "@webref/idl"
  dependency-version: 3.86.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: dev-dependencies
- dependency-name: autoprefixer
  dependency-version: 10.6.2
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: dev-dependencies
- dependency-name: dependency-cruiser
  dependency-version: 18.7.2
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: dev-dependencies
- dependency-name: postcss
  dependency-version: 8.5.32
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: dev-dependencies
- dependency-name: vite
  dependency-version: 8.3.5
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: dev-dependencies
- dependency-name: vitest
  dependency-version: 5.1.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: dev-dependencies
- dependency-name: web-features
  dependency-version: 3.45.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: dev-dependencies
- dependency-name: "@lhci/cli"
  dependency-version: 0.16.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: dev-dependencies
- dependency-name: axe-core
  dependency-version: 4.14.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: dev-dependencies
- dependency-name: lighthouse
  dependency-version: 13.6.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: dev-dependencies
- dependency-name: wrangler
  dependency-version: 4.157.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: dev-dependencies
- dependency-name: "@cloudflare/workers-types"
  dependency-version: 5.20261104.1
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: dev-dependencies
- dependency-name: "@types/vscode"
  dependency-version: 1.145.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: dev-dependencies
- dependency-name: vscode-languageclient
  dependency-version: 11.0.0
  dependency-type: direct:development
  update-type: version-update:semver-major
  dependency-group: dev-dependencies
- dependency-name: "@netlify/functions"
  dependency-version: 6.1.0
  dependency-type: direct:development
  update-type: version-update:semver-major
  dependency-group: dev-dependencies
...

Signed-off-by: dependabot[bot] <support@github.com>
Bumps the production-dependencies group with 6 updates:

| Package | From | To |
| --- | --- | --- |
| [parse5](https://github.com/inikulin/parse5) | `8.0.1` | `8.1.0` |
| [ejs](https://github.com/mde/ejs) | `6.0.1` | `7.0.2` |
| [marked](https://github.com/markedjs/marked) | `18.0.14` | `18.1.3` |
| [smol-toml](https://github.com/squirrelchat/smol-toml) | `1.9.0` | `1.9.1` |
| [vscode-languageserver](https://github.com/Microsoft/vscode-languageserver-node/tree/HEAD/server) | `10.1.2` | `11.0.0` |
| [vscode-languageserver-textdocument](https://github.com/Microsoft/vscode-languageserver-node/tree/HEAD/textDocument) | `1.0.15` | `1.0.16` |


Updates `parse5` from 8.0.1 to 8.1.0
- [Release notes](https://github.com/inikulin/parse5/releases)
- [Commits](inikulin/parse5@v8.0.1...v8.1.0)

Updates `ejs` from 6.0.1 to 7.0.2
- [Release notes](https://github.com/mde/ejs/releases)
- [Commits](mde/ejs@v6.0.1...v7.0.2)

Updates `marked` from 18.0.14 to 18.1.3
- [Release notes](https://github.com/markedjs/marked/releases)
- [Commits](markedjs/marked@v18.0.14...v18.1.3)

Updates `smol-toml` from 1.9.0 to 1.9.1
- [Release notes](https://github.com/squirrelchat/smol-toml/releases)
- [Commits](squirrelchat/smol-toml@v1.9.0...v1.9.1)

Updates `vscode-languageserver` from 10.1.2 to 11.0.0
- [Release notes](https://github.com/Microsoft/vscode-languageserver-node/releases)
- [Commits](https://github.com/Microsoft/vscode-languageserver-node/commits/release/client/11.0.0/server)

Updates `vscode-languageserver-textdocument` from 1.0.15 to 1.0.16
- [Release notes](https://github.com/Microsoft/vscode-languageserver-node/releases)
- [Commits](https://github.com/Microsoft/vscode-languageserver-node/commits/release/textDocument/1.0.16/textDocument)

---
updated-dependencies:
- dependency-name: parse5
  dependency-version: 8.1.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: production-dependencies
- dependency-name: ejs
  dependency-version: 7.0.2
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: production-dependencies
- dependency-name: marked
  dependency-version: 18.1.3
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: production-dependencies
- dependency-name: smol-toml
  dependency-version: 1.9.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: production-dependencies
- dependency-name: vscode-languageserver
  dependency-version: 11.0.0
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: production-dependencies
- dependency-name: vscode-languageserver-textdocument
  dependency-version: 1.0.16
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: production-dependencies
...

Signed-off-by: dependabot[bot] <support@github.com>
The Cloudflare and Netlify templates set `dev` to `bascik --target ...`,
and agents following the skills went further and pointed `dev` at
`wrangler dev`, which neither watches source nor reloads the browser.

`dev` is now `bascik` in every template. The host's local runtime gets
its own script, `dev:cloudflare` or `dev:netlify`, which runs
`bascik --target ...` with watching and live reload. The generated
AGENTS.md, the bascik and bascik-config skills, and the deployment docs
say to leave `dev` alone and never set it to the platform CLI. The shop
follows the same split.

Co-Authored-By: Claude Fable 5.2 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01TrqBCJcZJWYNKVPcdoDDpt
@collin-thomas collin-thomas changed the title Keep the pinned dev server URL clickable under a wrapped log line Dev experience fixes: clickable pinned URL, and dev stays the Bascik dev server in hosted templates Nov 11, 2026
Says when to turn on pipeline.workers, assets.symlink, http.precompress
and http.cacheControl, each tied to a sign an agent can observe, and
notes which HTTP options do nothing on Cloudflare and Netlify.

Co-Authored-By: Claude Fable 5.2 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01TrqBCJcZJWYNKVPcdoDDpt
The changelog repeats "Added", "Changed" and "Fixed" under every
version, so the second one of each shared an id with the first and the
docs build warned about it as soon as an [Unreleased] section sat above
1.0.0-rc.12. The releases page now prefixes each h3 id with its
version's h2 id.

Co-Authored-By: Claude Fable 5.2 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01TrqBCJcZJWYNKVPcdoDDpt
A route file could only export functions named after HTTP methods, so a
proxy, a webhook receiver or a mounted router had to export the same
function under several names.

`export default` is now the handler for every allowlisted method the
file has no named export for. A named export wins, HEAD still derives
from a named GET first, and OPTIONS and HEAD reach the default so a
handler can answer a CORS preflight. Methods outside the seven supported
ones are still refused with 405. The change is in the shared dispatch,
so the dev server, bascik --server and both adapters behave the same.

The language server's missing-method-handler rule accepts a route whose
only handler is a default export.

Co-Authored-By: Claude Fable 5.2 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01TrqBCJcZJWYNKVPcdoDDpt

Copy link
Copy Markdown
Collaborator Author

deploy-preview (Shop workflow) is failing, and it is not caused by this PR's changes.

The job ends about three seconds after it is created, without being assigned a runner, running a step, or producing a log. It declares environment: shop-preview, so the likely cause is that environment's deployment branch rule not allowing claude/dreamy-brown-fgnfek. That was inferred from the job's shape, not read from the settings.

The shop itself is fine on this head: the validate job in the same run passed (build, typecheck, unit, integration and e2e).

No fix is pushed for this: whether this branch may deploy a shop preview with the sandbox Stripe and Printful secrets is a repository setting. Allowing the branch in the shop-preview environment and re-running the job would clear it. The failure on the first commit (48bb574) was the same job.


Generated by Claude Code

Copy link
Copy Markdown
Collaborator Author

Linear-Time Checks failed on b64dbce, in a test this PR does not touch.

FAIL linear-time src/lib/linear-time.linear-time.test.ts > cost ratios > measures a run against reference work in the same process
AssertionError: expected 14.933 to be greater than or equal to 15

The other 474 linear-time tests passed. The failing line asserts referenceMs * runs >= COST_MIN_SAMPLE_MS / 2. Nothing guarantees that: costSamplesOf in linear-time.test-helper.ts stops growing runs as soon as one reference sample reaches 30 ms, then reports the fastest of the later samples. If the sizing sample included a GC pause or first-call compilation, the fastest later sample can come in under half of it, as it did here by 0.07 ms. This PR changes neither that test nor the helper, and nothing it adds runs in that test.

No fix is pushed here, to keep this PR to its own changes. A patch would either drop that lower-bound assertion (the ratio bounds below it are what the test is about) or have the helper re-check the floor against the fastest sample and grow runs again.

The CI run is still in progress, so the failed job cannot be re-run yet; I will re-run it once the run completes.


Generated by Claude Code

rc.12 is not published yet, so the default API handler, the hosted
templates' dev script split, the bascik-config tuning table and the
pinned URL fix ship in it. The release link moves out of the last bullet
to the end of the file.

Co-Authored-By: Claude Fable 5.2 <noreply@anthropic.com>
@collin-thomas collin-thomas changed the title Dev experience fixes: clickable pinned URL, and dev stays the Bascik dev server in hosted templates Default-export API handler, dev stays the Bascik dev server in hosted templates, clickable pinned URL Nov 11, 2026
collin-thomas and others added 4 commits November 11, 2026 14:59
…s-e674aeb039' into claude/dreamy-brown-fgnfek
…on-dependencies-aa6839a377' into claude/dreamy-brown-fgnfek
…ndencies-2d4c5f0261' into claude/dreamy-brown-fgnfek

# Conflicts:
#	pkg/package.json
#	skills-tests/package.json
#	yarn.lock
Resolutions move the minimatch 10 and glob 13 copies under the Netlify
CLI to the patched 11.0.3 and 14.0.3 (GHSA-g3hv-75wg-m249,
GHSA-3g3m-2fjr-6pw4), and the expired age-gate exemptions are removed.

Lighthouse 13.6, which lhci 0.16 runs, dropped the classic dom-size
audit; the 4,000 element budget now reads dom-size-insight.

Co-Authored-By: Claude Fable 5.2 <noreply@anthropic.com>
@collin-thomas collin-thomas changed the title Default-export API handler, dev stays the Bascik dev server in hosted templates, clickable pinned URL rc.12 additions: default-export API handler, dev script split, pinned URL fix, dependency updates Nov 11, 2026
The Dependabot Actions update moved actions/upload-artifact from v4 to
v7, and the test that checks the profiling-diagnostics upload step
looked the step up by the literal v4, so it found none.

Co-Authored-By: Claude Fable 5.2 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01TrqBCJcZJWYNKVPcdoDDpt

Copy link
Copy Markdown
Collaborator Author

Linear-Time Checks failed again on f494f41, in a different timing test, also untouched by this PR.

AssertionError: expected 12.560142405696228 to be less than 8
 ❯ src/typescript-service.linear-time.test.ts:132:9

That is lsp/src/typescript-service.linear-time.test.ts, "finds the page's classic scripts in linear time": extractPageScopeScripts on an input four times larger should cost about four times as much, and the limit is 8. No commit in this PR changes that scanner or the test.

Run on the same commit in a cloud container, yarn lsp:linear-time passed three times in a row (94 of 94 each time), so this looks like a noisy sample on the shared runner and not a regression in the scanner. The earlier failure on b64dbce was a different timing test in pkg (comment above), so the lane has now failed twice on this branch with two unrelated measurements.

The CI run is still in progress; the failed job will be re-run once it completes. A second failure of the same test would be treated as real.


Generated by Claude Code

collin-thomas and others added 4 commits November 11, 2026 15:44
The Actions update moved upload-artifact from v4 to v7, and the test
that checks where the diagnostics upload sits looked for v4 by name.

Co-Authored-By: Claude Fable 5.2 <noreply@anthropic.com>
The fixture is one long run of text, scanned at memory speed. At 256 KB
against 1 MB the small input fit a CI runner's per-core cache and the
large one did not, so linear work measured a growth of 12.6 and failed
the under-8 check. Both inputs are now past that size.

Co-Authored-By: Claude Fable 5.2 <noreply@anthropic.com>
axe-core 4.14 (Lighthouse 13.6) reports link-in-text-block there: the
link sat in a sentence with 2.3:1 contrast against the text around it
and no other cue, which dropped the home page's accessibility score to
96.

Co-Authored-By: Claude Fable 5.2 <noreply@anthropic.com>
@collin-thomas
collin-thomas deleted the claude/dreamy-brown-fgnfek branch November 11, 2026 23:12
@collin-thomas

Copy link
Copy Markdown
Collaborator Author

Replaced by #144: the same commits on the branch rc12-additions. GitHub closed this pull request when its branch was renamed.

This branch was successfully deployed

1 active deployment
shop-preview — 52cfedb6 Deployed Nov 11, 2026 by collin-thomas via deploy-preview #134
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants