Repository navigation
Build against Alchemy beta.85 with the programmatic API, and move effect to 4.1 - #404
Conversation
Every alchemy pin is now https://pkg.alchemy.run/alchemy/972f294ae0c7982a8ebcb551fadd07d29c9c0fca, and effect with every @effect/* companion is 4.1.0, which that build needs as its peer. The build is 2.0.0-beta.84 plus later commits. What changed for us: - The Prisma provider moved out of alchemy into @alchemy.run/prisma, pinned at the same commit. Imports of alchemy/Prisma now use it. - @distilled.cloud/prisma is pinned to the exact tarball @alchemy.run/prisma depends on, so there is one copy. - alchemy/Test/Core moved to @alchemy.run/test, which is not published. Provider tests use scratchStack and runScratch from the new @internal/lowering/testing entry, a port of the parts we used. - Prisma.CustomDomain now waits for the CNAME on real nameservers before it registers a domain; the public URL test stubs node:dns/promises. - Alchemy has a new --adopt message for replacements; withComposerAdvice rewrites it. check:npm-effect-resolution now also asserts a single alchemy in the npm tree. The upgrade-alchemy-effect skill explains how to pin a preview build. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Signed-off-by: willbot <w.a.madden+machine@gmail.com> Signed-off-by: Will Madden <madden@prisma.io>
…slice 1 review - check:publish-deps fails on a URL, git or file: dependency in a published package, and says to swap a pkg.alchemy.run preview for a release. It runs only in the publish workflow, so PR CI is unaffected. - alchemy, @alchemy.run/prisma, @distilled.cloud/prisma, effect and the @effect/platform-* packages are pinned once, in the pnpm catalog. - check:npm-effect-resolution also asserts one @alchemy.run/prisma and one @distilled.cloud/prisma; its comments describe the current peers. - @prisma/composer drops @effect/sql-d1, @effect/sql-sqlite-do and @effect/vitest, which alchemy no longer needs. - @internal/lowering/testing is now @internal/lowering/scratch-stack, and the scratch stack no longer takes a state it ignored. - withComposerAdvice rewrites the Prisma provider's adoption advice too, and a test scans the provider sources for it. - The DNS stub keeps the rest of node:dns/promises. ADR-0048 and the deploying guide are updated. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Signed-off-by: willbot <w.a.madden+machine@gmail.com> Signed-off-by: Will Madden <madden@prisma.io>
|
✅ Gizmo reviewed 23675dd — posted 0 inline comment(s) this pass. Open findings: none Change walkthroughChange walkthroughThis PR bumps Composer to build against Alchemy Dependency moves. The version bumps live in pnpm-workspace.yaml catalog entries, and the lockfile follows. Effect 4.1 is required by beta.85, so the two bumps travel together. Import migration. Alchemy moved its Prisma provider out of Behavioral alignment with beta.85. Guardrail checks. Docs. The |
|
Important
This repository does not receive automatic reviews because it has fewer than 10 stars.
|
…aluation-5f1d17 Signed-off-by: willbot <w.a.madden+machine@gmail.com> Signed-off-by: Will Madden <madden@prisma.io> # Conflicts: # docs/design/90-decisions/README.md # packages/1-prisma-cloud/0-lowering/local-target/src/compute.ts # packages/9-public/composer/package.json # pnpm-lock.yaml # test/integration/package.json
commit: |
@alchemy.run/prisma moves to 2.0.0-beta.85 with it, and @distilled.cloud/prisma to 1.0.0-rc.18, the version it depends on. effect stays at 4.1.0. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Signed-off-by: willbot <w.a.madden+machine@gmail.com> Signed-off-by: Will Madden <madden@prisma.io>
…anch Keep our catalog pins (alchemy and @alchemy.run/prisma 2.0.0-beta.85, @distilled.cloud/prisma 1.0.0-rc.18, effect 4.1.0) and scratch-stack test imports. Take #402's footprint check (no @effect/vitest, vitest or vite; no @alchemy.run/prisma without the Prisma Cloud package), its process-listener check on the provider import, its ADR-0048 amendment and its effect-family pin rule in the upgrade skill. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Signed-off-by: willbot <w.a.madden+machine@gmail.com> Signed-off-by: Will Madden <madden@prisma.io>
…aluation-5f1d17 Signed-off-by: willbot <w.a.madden+machine@gmail.com> Signed-off-by: Will Madden <madden@prisma.io> Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> # Conflicts: # examples/bucket/package.json # examples/cron/package.json # examples/storage/package.json # examples/store/package.json # examples/storefront-auth/package.json # packages/0-framework/1-core/core/package.json # packages/0-framework/3-tooling/cli/package.json # packages/1-prisma-cloud/0-lowering/local-target/package.json # packages/1-prisma-cloud/0-lowering/lowering/package.json # packages/1-prisma-cloud/1-extensions/target/package.json # packages/9-public/composer-prisma-cloud/package.json # packages/9-public/composer/package.json # website/package.json
…aluation-5f1d17 Signed-off-by: willbot <w.a.madden+machine@gmail.com> Signed-off-by: Will Madden <madden@prisma.io> Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> # Conflicts: # examples/bucket/package.json # examples/cron/package.json # examples/orm-demo/package.json # examples/storage/package.json # examples/store/package.json # examples/storefront-auth/package.json # packages/0-framework/1-core/core/package.json # packages/0-framework/3-tooling/cli/package.json # packages/1-prisma-cloud/0-lowering/local-target/package.json # packages/1-prisma-cloud/0-lowering/lowering/package.json # packages/1-prisma-cloud/1-extensions/target/package.json # packages/9-public/composer-prisma-cloud/package.json # pnpm-lock.yaml # pnpm-workspace.yaml # website/package.json
The adoption-message test now reads the provider source recursively. check:publish-deps unwraps npm: aliases and flags bare path specs. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Signed-off-by: willbot <w.a.madden+machine@gmail.com> Signed-off-by: Will Madden <madden@prisma.io>
There was a problem hiding this comment.
New findings: 🟡 1 minor · trace
Still open from previous reviews: 🟡 2 minor
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Signed-off-by: willbot <w.a.madden+machine@gmail.com> Signed-off-by: Will Madden <madden@prisma.io>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Signed-off-by: willbot <w.a.madden+machine@gmail.com> Signed-off-by: Will Madden <madden@prisma.io>
Composer now builds against Alchemy
2.0.0-beta.85. That release addsalchemy/Alchemist, the programmatic API (plan,apply, typed events). The next pull requests use it to runprisma deployand thenprisma devinside theprismaprocess, with no generatedalchemy.run.tsand no child process. This pull request only moves the dependencies. Alchemy still runs as a child process.Merge this first, then #405 and #411, which are stacked on it.
What changed
alchemyand@alchemy.run/prismamove from beta.84 to beta.85, and@distilled.cloud/prismato 1.0.0-rc.18.effectand the@effect/platform-*packages move from 4.0.3 to 4.1.0, which beta.85 requires. These, plus@alchemy.run/prismaand@distilled.cloud/prisma, are now pinned once in the pnpm catalog.alchemy/Prismainto the package@alchemy.run/prisma. Imports changed in about 24 files.alchemy/Test/Coreis gone upstream. The small part our provider tests used is now@internal/lowering/scratch-stack.Prisma.CustomDomainnow looks up the domain's DNS records before registering it.docs/guides/deploying.mdsays so, and the custom-domain test stubs DNS.withComposerAdvicerewrites Alchemy's new adoption messages, including the provider's own. A test scans the installed provider source for advice that is not rewritten.@prisma/composerdrops@effect/sql-d1,@effect/sql-sqlite-doand@effect/vitest. Alchemy no longer needs them, and@effect/vitest4.1 would install Vitest into every app.check:npm-effect-resolutionalso asserts one copy ofalchemy,@alchemy.run/prismaand@distilled.cloud/prismain a plain npm install.check:publish-depsrejects URL, git,file:andlink:dependencies, so a preview pin cannot reach a publish.upgrade-alchemy-effectskill explains how to pin a preview build when a fix is not released yet. ADR-0048 names@alchemy.run/prisma.Testing
Build, typecheck, lint, package tests, the script checks and the local-dev integration tests pass locally. The e2e deploy workflow runs on this pull request.
Agent: maat-73
🤖 Generated with Claude Code