Skip to content

refactor: rename System → Module per ADR-0025#52

Merged
wmadden-electric merged 3 commits into
mainfrom
claude/system-to-module-rename-4e100f
Jul 12, 2026
Merged

refactor: rename System → Module per ADR-0025#52
wmadden-electric merged 3 commits into
mainfrom
claude/system-to-module-rename-4e100f

Conversation

@wmadden-electric

Copy link
Copy Markdown
Contributor

Mechanical rename of the unit of composition from System to Module, per
ADR-0025.
The unit is now authored with module(), and the App is the outermost Module.
This mirrors the Hex→System sweep ADR-0014 itself performed.

What changed

Code (refactor(app)!) — @prisma/app and its extensions:

  • system()module(); SystemNodeModuleNode, SystemContext
    ModuleContext, SystemBuilderModuleBuilder, SystemOutputs
    ModuleOutputs; the node kind discriminant 'system''module'
  • load-system.tsload-module.ts (loadSystemloadModule); the
    system-*.test files → module-*; side-effect-system/valid-system
    fixtures → *-module
  • error messages, doc comments, and test identifiers that named the unit

Examples (refactor(examples)):

  • examples/storefront-auth/systems/modules/ (pnpm-workspace glob and
    lockfile links follow); system.ts deploy roots → module.ts

Docs:

  • README opening now introduces Module without "System"; mermaid System:
    labels → Module:; the hexagonal aside rewritten to introduce Module
  • glossary, all docs/design/10-domains/ (incl. system-composition.md
    module-composition.md), and other design docs
  • ADR-0013 and ADR-0016 filenames + titles renamed; System prose swept across
    earlier ADRs (0003, 0006, 0007, 0009, 0015, 0017, 0020, 0022, 0023, 0024);
    decisions README index updated

Non-targets honored (not renamed)

  • Package names (@prisma/app*), the prisma-app CLI, prisma-app.config.ts,
    .prisma-app/
  • Service and Extension — different registers, unchanged
  • Plain-English "system": filesystem, ecosystem, type system,
    build system, documentation system
  • ADR-0014 and ADR-0025 are left as-is (the superseded decision and the
    deciding one). The single exception: ADR-0025's cross-link to ADR-0016 was
    updated to the renamed filename so the rename doesn't leave a dangling link —
    URL only, no prose change.

Acceptance

pnpm build, pnpm typecheck, pnpm test, test:types (via turbo), and
pnpm lint all green. grep -riE '\bsystem\s*\(|SystemNode' packages examples docs returns only legitimate uses: plain-English "type system" and the
deliberately-preserved ADR-0014/0025 history.

Coordination

@wmadden-electric wmadden-electric force-pushed the claude/system-to-module-rename-4e100f branch from 786f89e to 42f6ba8 Compare July 12, 2026 13:41
@pkg-pr-new

pkg-pr-new Bot commented Jul 12, 2026

Copy link
Copy Markdown

Open in StackBlitz

@prisma/alchemy

npm i https://pkg.pr.new/@prisma/alchemy@52

@prisma/app

npm i https://pkg.pr.new/@prisma/app@52

@prisma/app-assemble

npm i https://pkg.pr.new/@prisma/app-assemble@52

@prisma/app-cli

npm i https://pkg.pr.new/@prisma/app-cli@52

@prisma/app-cloud

npm i https://pkg.pr.new/@prisma/app-cloud@52

@prisma/app-nextjs

npm i https://pkg.pr.new/@prisma/app-nextjs@52

@prisma/app-node

npm i https://pkg.pr.new/@prisma/app-node@52

@prisma/app-rpc

npm i https://pkg.pr.new/@prisma/app-rpc@52

prisma-app

npm i https://pkg.pr.new/prisma-app@52

commit: 4fe415c

@wmadden-electric wmadden-electric force-pushed the claude/system-to-module-rename-4e100f branch from 42f6ba8 to 4fe415c Compare July 12, 2026 13:45
wmadden-electric and others added 3 commits July 12, 2026 15:52
system() → module(); SystemNode → ModuleNode, SystemContext → ModuleContext,
SystemBuilder → ModuleBuilder, SystemOutputs → ModuleOutputs; the node kind
discriminant 'system' → 'module'. load-system.ts → load-module.ts (loadSystem →
loadModule); the system-* test files and side-effect-system/valid-system
fixtures → *-module. Includes the app-cloud/cron package from #45: cron() now
returns ModuleNode, cron/system.ts → cron/module.ts, cron system.test(-d).ts →
module.test(-d).ts.

Package names (@prisma/app*), the prisma-app CLI, prisma-app.config.ts, and
plain-English uses (filesystem, type system) are untouched.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Signed-off-by: willbot <w.a.madden+machine@gmail.com>
Signed-off-by: Will Madden <madden@prisma.io>
storefront-auth/systems/ → modules/ (pnpm-workspace glob + lockfile links
follow); the deploy roots system.ts → module.ts across storefront-auth, cron
(#45), and pn-widgets (#46), with each package.json script, exports map, and
tsconfig include updated. The deploy-verify-destroy GitHub action and the
bug-report issue template follow suit (deploy module.ts; module() comment).

The @storefront-auth/* package names are unchanged — scoped names, not paths.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Signed-off-by: willbot <w.a.madden+machine@gmail.com>
Signed-off-by: Will Madden <madden@prisma.io>
…R-0025)

README opening introduces Module (no "System"); mermaid labels → "Module: …";
hexagonal aside rewritten. glossary, all docs/design/10-domains (incl.
system-composition.md → module-composition.md), and other design docs swept.
ADR-0013 and ADR-0016 filenames + titles renamed; System prose swept in the
earlier ADRs; decisions README index updated (ADR-0014 entry reframed to note
its unit noun is superseded → Module). Also gotchas.md and the deploy skill.

ADR-0014 and ADR-0025 keep "System" in their bodies deliberately: they record
the rename decision itself (ADR-0025 refutes ADR-0014's exact "nobody says my
auth module" claim), so word-swapping them would make the two contradict each
other. .drive process history is left as-is except cross-links to renamed files.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Signed-off-by: willbot <w.a.madden+machine@gmail.com>
Signed-off-by: Will Madden <madden@prisma.io>
@wmadden-electric wmadden-electric force-pushed the claude/system-to-module-rename-4e100f branch from 4fe415c to ccefdbb Compare July 12, 2026 13:53
@wmadden-electric wmadden-electric merged commit 47e9a5d into main Jul 12, 2026
11 checks passed
@wmadden-electric wmadden-electric deleted the claude/system-to-module-rename-4e100f branch July 12, 2026 13:54
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