Skip to content

docs: ADR-0025 — the unit of composition is a Module (+ the vocabulary rubric that decided it)#51

Merged
wmadden merged 2 commits into
mainfrom
docs/vocabulary-tests
Jul 12, 2026
Merged

docs: ADR-0025 — the unit of composition is a Module (+ the vocabulary rubric that decided it)#51
wmadden merged 2 commits into
mainfrom
docs/vocabulary-tests

Conversation

@wmadden-electric

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

Copy link
Copy Markdown
Contributor

Two layers, one decision:

The decision — ADR-0025

The unit of composition is a Module, authored with module(). Supersedes the unit-noun half of ADR-0014 — the framework (Prisma App), packages (@prisma/app*), CLI (prisma-app), and single-primitive model all stand. The App is the outermost Module.

Why: "System" failed in practice the moment the first small shared unit (cron) existed — "install the cron system" is a category error (systems are operated, not installed), "this system uses the cron system and an image-resizer system" is barely sayable, and the deciding claim in ADR-0014 ("nobody says 'my auth module'") is false in the ecosystems nearest ours (Nest, Angular, Terraform). Nest's root-module-is-the-app convention — read by ADR-0014 as a collision — actually corroborates our model.

Also canonized:

  • Register model: package (npm's word, not ours) / extension (prisma-app.config.ts slot) / Module (what you compose). "Use the cron module from the app-cloud extension."
  • Identity is the registry's job: branded unit nouns (Prism, Shard, Facet…) fail the gloss test by construction — that's how we got "Hex." Prism moves to the registry shortlist.

The rubric — vocabulary-tests.md

The naming.md tests decide product names; a container noun is all machinery to the user, so vocabulary gets its own spoken-sentence rubric: grain sweep, repetition, install, publish, instance/artifact duality, adjacency, gloss test, prior-art check — plus the "System" failure record that produced it.

Follow-up (separate PR, mechanical)

The repo-wide rename system()module() (code, types, file/dir names, README, glossary, domain docs, earlier ADRs' prose) is deliberately not in this PR — it lands as a mechanical sweep against ADR-0025, mirroring the Hex→System sweep.

🤖 Generated with Claude Code

wmadden-electric and others added 2 commits July 12, 2026 13:00
The naming.md tests decide product names; a container noun is all
machinery to the user, so those tests have no purchase on vocabulary.
Add the spoken-sentence rubric (grain sweep, repetition, install,
publish, instance/artifact duality, adjacency, gloss test, prior-art
check), the package/extension/unit register model, and the 'System'
failure record that produced the tests.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Signed-off-by: willbot <w.a.madden+machine@gmail.com>
Signed-off-by: Will Madden <madden@prisma.io>
…odule()

Supersede ADR-0014's unit noun: System failed the vocabulary rubric in
practice (size floor, install/publish frames, repetition, gloss test)
the moment the first small shared unit (cron) existed. Module passes
every test; its prior art (Nest, Angular, Terraform) means exactly our
meaning, and Nest's root-module-is-the-app convention corroborates 'the
App is the outermost Module'. Canonize the register model — package
(npm's word) / extension (config slot) / Module (composition) — and
rule that identity is the registry's job: branded unit nouns are how we
got Hex. Prism moves to the registry shortlist. Update naming.md, the
vocabulary-tests outcome, ADR-0014's status, and the decisions index.

Co-Authored-By: Claude Fable 5 <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 changed the title docs: vocabulary-tests rubric for composition-unit nouns docs: ADR-0025 — the unit of composition is a Module (+ the vocabulary rubric that decided it) Jul 12, 2026
@wmadden wmadden merged commit d332994 into main Jul 12, 2026
12 checks passed
@wmadden wmadden deleted the docs/vocabulary-tests branch July 12, 2026 13:43
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