From 07eccd188cf050f42a06a883dcfa3fc9a98e959d Mon Sep 17 00:00:00 2001 From: Eric J Date: Mon, 3 Aug 2026 15:59:47 -0700 Subject: [PATCH] docs: correct CLAUDE.md's CI section, which now points the wrong way Three of today's changes left CLAUDE.md describing a repo that no longer exists, and one of those notes actively instructs the reader to undo #118. - The CI section said verify.yml "invokes the script VERBATIM rather than re-listing its phases" and "do not mirror the change into the YAML". Since #118 it runs a `static` job plus a 3-way sharded `tests` matrix plus a `verify` gate. Anyone following the old note would fold it back into one job and give back the 9m03s -> 4m36s. - "~4 minutes on a CI runner" was really 9m03s. It is ~4m36s now, so the figure is roughly right again for an entirely different reason. - verify:lint, verify:static, verify:shard and require:docker were undocumented, as was the fact that preview:dev and preview:deploy are now gated on a Docker preflight. The anti-drift rule the old wording protected is restated rather than dropped: the workflow names only package.json SCRIPTS, and verify, verify:static and verify:shard all compose the same verify:lint, so there is still one definition of each phase. Two lockout traps are now written down, because both look like tidying. The job named `verify` does no work - it only asserts needs.*.result - but the ruleset matches required checks by NAME, so renaming it blocks every PR permanently. And it asserts those results explicitly because a `needs:` job whose dependency FAILED is skipped, and a skipped required check does not block a merge. Also closes #117's two items: - `wrangler types --check` compares the workerd version as well as the config hash. Both halves were observed: editing wrangler.jsonc's containers block left the hash identical and --check passing, while #97's wrangler bump failed on the workerd line alone with the hash unchanged. The old note would rule out the actual cause. - The Renovate prBodyNotes for the worker-toolchain group said to regenerate types AFTER merging. types:check runs inside the required verify check, so it is a precondition - which is why #97 sat red. Fixed in .github/renovate.json5, not merely described, and re-validated with renovate-config-validator. Records the dead ends from the sharding work so they are not retried: isolate:false fails 66 of 171 files (cross-file module-state pollution, and only 7.6% anyway), --merge-reports re-runs rather than merges, and the wall clock is set by the slowest FILE not total CPU. Finally, the preview container's sizing is now documented as the measured cost decision it is (#116), including that `wrangler containers instances` reports `running` while billing shows zero - read the metrics, not the CLI. Closes #117 Co-Authored-By: Claude Opus 5 (1M context) Claude-Session: https://claude.ai/code/session_018AB7J1qK6kSBnJJmgDqMst --- .github/renovate.json5 | 2 +- CLAUDE.md | 165 +++++++++++++++++++++++++++++++++++++---- 2 files changed, 151 insertions(+), 16 deletions(-) diff --git a/.github/renovate.json5 b/.github/renovate.json5 index 1bfd668..d664640 100644 --- a/.github/renovate.json5 +++ b/.github/renovate.json5 @@ -163,7 +163,7 @@ matchPackageNames: ["wrangler", "@cloudflare/vitest-pool-workers"], groupName: "cloudflare worker toolchain", prBodyNotes: [ - "After merging, regenerate the worker types: `pnpm --filter @fmw/preview-worker exec wrangler types && pnpm vp check --fix`. The formatter pass is not optional.", + "**Regenerate the worker types on this branch BEFORE merging** - this PR cannot go green without it. A wrangler bump moves `workerd`, and `wrangler types --check` compares that version as well as the config hash, so `types:check` fails inside `preview:test` inside the required `verify` check. Run `pnpm --filter @fmw/preview-worker exec wrangler types && pnpm vp check --fix` and commit the result. The formatter pass is not optional - wrangler emits tabs and unwrapped types, so a raw regen buries the real one-line change in a whole-file whitespace diff.", ], }, { diff --git a/CLAUDE.md b/CLAUDE.md index dd8d872..d965776 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -171,9 +171,24 @@ matters, set it explicitly. - `pnpm run check:vue` - `vue-tsc --noEmit`, the type-check of `