Vendor pgstencil main eaba6d3 (first audited commit) - #755
Conversation
…ssed pgstencil#14 fixed the first audit's findings: Better Auth's IP rate-limit keys are now HMACs, the client IP comes from the socket or an opted-in header (Workers keep cf-connecting-ip), and migration 005 deletes the old plaintext rows. Its security-audit check run on eaba6d3 is success, which docs/specs/security-hosted.md -> Deployment boundary requires of the vendored commit. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Deploying mouseterm with
|
| Latest commit: |
fc65621
|
| Status: | ✅ Deploy successful! |
| Preview URL: | https://bef1de02.mouseterm.pages.dev |
| Branch Preview URL: | https://vendor-pgstencil-main.mouseterm.pages.dev |
dormouse-bot
left a comment
There was a problem hiding this comment.
Feedback on the draft, not a merge verdict — mark it ready and I'll do the full pass. Both points are about the body rather than the code; the audited conditions in docs/specs/security-hosted.md → "Deployment boundary" all hold (archive hashes match vendor/build.json, both provenance.json files name eaba6d3, the compare against pgstencil main is identical, and that commit's security-audit run is success).
vendor/pgstencil-0.1.0.tgz changed too, and "What changed in the packed code" only covers the auth package. The core package's dist/paths.js gains migrationsDirectory(root, configured) — a containment check that throws when a pgstencil.json migrations path resolves outside the project root — and defaultMigrations now goes through it. That's the Q3/Q4/Q5/Q8 bullet of diffplug/pgstencil#14, so the linked PR covers it, but the enumeration here doesn't. It is inert for Dormouse: there's no pgstencil.json in the repo, nothing imports defaultMigrations, and Hosted passes explicit directories through hosted/server/migrations.ts. Still worth a line, because that spec makes these bytes an audited artifact and this body is the human-readable record of what moved inside them.
pnpm-lock.yaml also carries a dev-only peer dedupe unrelated to the bump. The supports-color-free duplicate snapshots of @babel/core, @babel/traverse, the two @babel/helper-module-* entries, debug@4.4.3, react-docgen@8.0.3, and both Storybook packages are dropped, and the root @storybook/react / @storybook/react-vite resolutions re-point at the supports-color@10.2.2 variants. No shipped package's identity or version moves, which is why the dependency disclosure is genuinely unchanged — but on a supply-chain PR a sentence saying so saves the next reader from diffing the lockfile to find out.
Vendors pgstencil
mainateaba6d3, the first pgstencil commit whosesecurity-auditcheck run passed.maincurrently vendorsddbf96c. That commit is on pgstencilmainbut has nosecurity-auditcheck run, so theFAIL IFadded in #745 fails tonight's audit until this merges.What changed in the packed code (diffplug/pgstencil#14):
cf-connecting-ip.005_hashed_rate_limit_keys.sql, deletes the old plaintextrateLimitrows. It runs with the committed Better Auth migrations before the next Hosted deploy.pgstencil-0.1.0.tgzchanged too:paths.jsgainsmigrationsDirectory, which refuses apgstencil.jsonmigrations path outside the project root, anddefaultMigrationsnow goes through it. It has no effect on Dormouse. The repo has nopgstencil.json, nothing importsdefaultMigrations, and Hosted passes explicit directories throughhosted/server/migrations.ts.Unrelated to the bump: the refresh install dropped some dev-only duplicate lockfile snapshots. These are the
supports-color-free copies of@babel/core,@babel/traverse, the two@babel/helper-module-*entries,debug@4.4.3,react-docgen@8.0.3,@storybook/reactand@storybook/react-vite. The root Storybook resolutions now point at thesupports-color@10.2.2variants. No shipped package changes identity or version, which is why the dependency disclosure is unchanged.Verified:
pnpm --filter dormouse-hosted typecheckandtest(16 deploy tests, 19 vitest).verifyPackages(),pnpm lint:specs, and an unchanged dependency disclosure.gh api .../compare/eaba6d3...mainreturnsidentical, and the commit'ssecurity-auditconclusion issuccess.🤖 Generated with Claude Code