Skip to content

feat!: rename reserved env-var prefix COMPOSE_ to COMPOSER_#83

Merged
wmadden-electric merged 2 commits into
mainfrom
claude/composer-env-prefix
Jul 15, 2026
Merged

feat!: rename reserved env-var prefix COMPOSE_ to COMPOSER_#83
wmadden-electric merged 2 commits into
mainfrom
claude/composer-env-prefix

Conversation

@wmadden-electric

@wmadden-electric wmadden-electric commented Jul 15, 2026

Copy link
Copy Markdown
Contributor

Two related follow-ups to the Prisma Composer rename (#80), in one PR.

1. Rename the reserved env-var prefix COMPOSE_COMPOSER_ (breaking)

The framework namespaces every generated deploy-time env-var / secret key under a reserved prefix. #80 deliberately left this wire-format change out; this does it.

  • Two independent emit sites (the second is easy to miss): serializer.ts configKey() builds keys from a standalone 'COMPOSE' array literal — not the COMPOSE_ constant — and secret.ts RESERVED_SECRET_PREFIX guards user names. Both moved to COMPOSER.
  • Generated keys are now COMPOSER_<addr>_<NAME>; envSecret rejects user names starting COMPOSER_.
  • 12 files: the two sources + collision logic/comments + exact-key test fixtures + doc/ADR examples. git grep COMPOSE (no trailing R) is clean.

BREAKING: already-deployed apps carry COMPOSE_* keys and must redeploy to pick up COMPOSER_*.

2. Repair broken ADR-0026 links + align the vocabulary-tests rationale (commit 2)

#80's prisma-composeprisma-composer rule rewrote the link paths to ADR-0026-name-the-framework-prisma-compose.md — but that file was excluded from the rename and kept its name, so ~10 links went dead. Repaired across naming.md, vocabulary-tests.md, ADR-0014, ADR-0025, and the ADR index README.md. (ADR-0027 links were unaffected.) Also rewrote one vocabulary-tests.md rationale sentence so the verb compose is credited for winning the name sweep and the framework's agent-noun form Composer is named explicitly — consistent with the naming.md rewrite already in #80.

Verification

  • env-prefix: pnpm build / test / lint / lint:deps green; exact-key fixtures assert COMPOSER_*.
  • doc fixes: no broken ADR-0026 link remains; lint / lint:deps green.

🤖 Generated with Claude Code

The framework reserves an env-var/secret namespace for the config keys it
generates at deploy — every key is emitted as COMPOSE_<addr>_<NAME>, and
envSecret() rejects user names that start with the reserved prefix. That
prefix was still COMPOSE_ after the framework rename to Composer; align
the wire format with the product name.

Two functional sources drive the prefix and both move together:
- the config-key generator in serializer.ts (configKey / secretKey)
  joins ['COMPOSER', ...segments] into the key;
- the reserved-prefix check in secret.ts (RESERVED_SECRET_PREFIX)
  that envSecret() enforces.

Also updates the error messages, comments, exact-key test fixtures, and
the doc/ADR examples (config-params, ADR-0019, ADR-0029) so the format
reads COMPOSER_ end to end. Only the uppercase COMPOSE_ wire token moved;
the verb compose, @prisma/composer, and composability are untouched.

BREAKING CHANGE: generated env-var and secret pointer keys change from
COMPOSE_* to COMPOSER_*. A previously deployed app carries COMPOSE_*
keys in its platform env and must be redeployed to pick up the COMPOSER_*
keys — boot reads the new keys and will not find the old ones.

Signed-off-by: willbot <w.a.madden+machine@gmail.com>
Signed-off-by: Will Madden <madden@prisma.io>
@pkg-pr-new

pkg-pr-new Bot commented Jul 15, 2026

Copy link
Copy Markdown

Open in StackBlitz

npm i https://pkg.pr.new/@prisma/composer@83
npm i https://pkg.pr.new/@prisma/composer-prisma-cloud@83

commit: 3e8a301

…ary-tests rationale

The framework rename's prisma-compose -> prisma-composer rule rewrote the
link *paths* to ADR-0026 into ADR-0026-name-the-framework-prisma-composer.md,
which 404s: ADR-0026 was excluded from the rename and kept its filename
(ADR-0026-name-the-framework-prisma-compose.md). Repoint all 10 links across
naming.md, vocabulary-tests.md, ADR-0014, ADR-0025, and the decisions README.
ADR-0027 links were unaffected.

Also rewrite the vocabulary-tests naming-rationale sentence so it credits the
verb *compose* for winning the field and names the shipped agent-noun form
(Composer) explicitly, matching the naming.md rationale — removing the
verb-vs-name ambiguity the mechanical rename left behind.

Signed-off-by: willbot <w.a.madden+machine@gmail.com>
Signed-off-by: Will Madden <madden@prisma.io>
@wmadden-electric
wmadden-electric merged commit 4549040 into main Jul 15, 2026
13 of 15 checks passed
@wmadden-electric
wmadden-electric deleted the claude/composer-env-prefix branch July 15, 2026 15:59
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