Skip to content

TML-2988: Hard-cut @db.* lowering; add actionable diagnostics#1054

Merged
SevInf merged 8 commits into
mainfrom
tml-2988-remove-db-support-delete-native_type_specs-add-migration
Jul 27, 2026
Merged

TML-2988: Hard-cut @db.* lowering; add actionable diagnostics#1054
SevInf merged 8 commits into
mainfrom
tml-2988-remove-db-support-delete-native_type_specs-add-migration

Conversation

@SevInf

@SevInf SevInf commented Jul 24, 2026

Copy link
Copy Markdown
Contributor

Linked issue

Refs TML-2988

At a glance

types {
  Id   = String @db.Uuid
  Slug = String @db.VarChar(191)
}
PSL_UNSUPPORTED_NAMED_TYPE_ATTRIBUTE: @db.Uuid is no longer supported; use Uuid in type position
PSL_UNSUPPORTED_NAMED_TYPE_ATTRIBUTE: @db.VarChar(191) is no longer supported; use VarChar(191) in type position

The supported schema puts storage constructors directly in type position: Id = Uuid and Slug = VarChar(191).

Decision

This PR hard-cuts the SQL PSL interpreter’s legacy @db.* lowering channel and makes type-position constructors the only supported storage-type authoring surface. It deletes the family-owned native-type specification/resolver path, emits actionable migration diagnostics for named-type and field-position uses, and records the unified AuthoringContributions.type model in ADR 241.

Reviewer notes

  • The interpreter recognizes the exact db. prefix only to format migration help. Non-db. dotted attributes continue through the existing extension namespace and unsupported-attribute paths.
  • Diagnostic translation is deliberately mechanical: duplicate, malformed, named, and unknown arguments are preserved in source order, while the rewritten constructor path remains responsible for validating whether the replacement exists and accepts those arguments.
  • Remaining @db.* references are intentional migration diagnostics/current rewrite guidance or deliberate historical evidence in older release notes, older version-specific upgrade records, and historical ADR context. They were not indiscriminately rewritten.
  • packages/2-sql/5-runtime/src/sql-context.ts already contained no stale @db wording on main, so it was inspected and intentionally left unchanged rather than receiving a no-op edit.
  • The full validation matrix ran at 44ce52aab1546c1a1598ea17f0d46e4657ae6596 in a clean ext4 clone. Current HEAD is 22bbfea9732a75c5b09a8935719a8ec737c4e4c1; the sole descendant change records the completed dispatch in projects/remove-db-attributes/trace.jsonl. The branch is 0 commits behind origin/main.

How it fits together

  1. formatDbAttributeMigrationMessage strips db. and preserves resolved arguments in source order to produce one migration message for every obsolete spelling.
  2. Named-type validation and field validation reject @db.* with their existing position-specific diagnostic codes and the shared actionable message.
  3. The old NativeTypeSpec/NATIVE_TYPE_SPECS table, resolveDbNativeTypeAttribute, allowDbNativeType, and legacy argument parsers are removed from the SQL family interpreter, leaving target-contributed type constructors as the only storage-lowering path.
  4. ADR 231, ADR 241, live architecture guidance, current upgrade instructions, and active authoring skills now describe the same hard-cut behavior.

Behavior changes & evidence

Testing performed

The full matrix passed on exact commit 44ce52aab1546c1a1598ea17f0d46e4657ae6596 in a clean ext4 clone:

  • pnpm build — 68/68 tasks passed
  • pnpm fixtures:check — passed
  • pnpm lint:packages — 70/70 tasks passed
  • pnpm lint:deps — 0 violations
  • pnpm typecheck — 143/143 tasks passed
  • pnpm test:packages — 13,719 tests passed
  • pnpm test:integration — 1,336 tests passed
  • pnpm test:e2e — 109 tests passed
  • pnpm coverage:report — 0 blocking failures

Unchanged CLI timing tests exceeded their 500 ms budget on the mounted virtiofs source checkout but passed at the same commit in the clean ext4 clone. No timeout, threshold, or test policy was changed.

Compatibility / migration / risk

  • This is a breaking PSL source change with no deprecation or compatibility mode. Rewrite BaseType @db.X as X and BaseType @db.X(args) as X(args) in type position before re-emitting.
  • Contract JSON/TypeScript shapes, PSL grammar, runtime behavior, and the TypeScript builder surface do not change in this slice. Existing emitted contracts retain their representation; only obsolete PSL source must migrate before another emit.
  • Unknown or formerly invalid @db.* spellings receive a syntactic replacement suggestion, not a promise that the suggested constructor exists. Constructor resolution provides the authoritative follow-on validation.
  • The main review risk is accidental interference with non-db. extension attributes; the implementation checks only attribute.name.startsWith('db.'), and the complete package/integration/E2E matrix passed.

Skill update

Current user-facing guidance was updated in skills/prisma-next-contract, skills/prisma-next-supabase, the Prisma Next 0.16→0.17 upgrade instructions, and the extension-author 0.16→0.17 upgrade instructions.

Alternatives considered

  • Keep NATIVE_TYPE_SPECS as a compatibility path: Rejected because it would preserve duplicate storage ownership in the SQL family after targets already contribute the authoritative constructors.
  • Add a deprecation window: Rejected for this pre-1.0 hard cut; actionable diagnostics provide the migration path without continuing to emit contracts from obsolete syntax.
  • Fall back to generic unsupported-attribute errors: Rejected because the source translation is mechanical and can be reported precisely at both named-type and field position.
  • Rewrite every historical @db.* mention: Rejected because older release notes and version-specific upgrade records describe behavior that was true for those releases; only live guidance should describe the current surface.

Checklist

  • All commits are signed off (git commit -s) per the DCO; all seven branch commits have a matching Signed-off-by: trailer.
  • I read CONTRIBUTING.md, and the change is scoped to one logical concern.
  • Tests are updated for the behavioral hard cut and actionable diagnostics.
  • The PR title is in TML-NNNN: <sentence-case title> form and names the concrete deliverable.
  • The Skill update section is filled in.

Summary by CodeRabbit

  • Breaking Changes

    • Legacy @db.* storage-type attributes are no longer supported.
    • Define storage types directly in type position (e.g., Uuid, VarChar(191)), rewriting any remaining @db.* forms to X / X(args).
    • Legacy syntax now produces actionable migration diagnostics.
  • Documentation

    • Updated architecture, extension, Supabase, and upgrade guidance with the unified type-constructor channel.
    • Revised cross-contract foreign-key examples to use named aliases such as AuthUserId.
  • Bug Fixes

    • Improved migration/unsupported diagnostics for malformed or incorrectly formatted legacy storage types (including better messaging for field and named-type cases).
  • Tests

    • Added coverage for legacy db.* migration diagnostics and removed outdated compatibility tests.

SevInf added 7 commits July 24, 2026 15:47
Signed-off-by: Serhii Tatarintsev <tatarintsev@prisma.io>
Signed-off-by: Serhii Tatarintsev <tatarintsev@prisma.io>
Signed-off-by: Serhii Tatarintsev <tatarintsev@prisma.io>
Signed-off-by: Serhii Tatarintsev <tatarintsev@prisma.io>
Signed-off-by: Serhii Tatarintsev <tatarintsev@prisma.io>
Signed-off-by: Serhii Tatarintsev <tatarintsev@prisma.io>
Signed-off-by: Serhii Tatarintsev <tatarintsev@prisma.io>
@SevInf
SevInf requested a review from a team as a code owner July 24, 2026 18:55
@SevInf
SevInf enabled auto-merge July 24, 2026 18:56
@coderabbitai

coderabbitai Bot commented Jul 24, 2026

Copy link
Copy Markdown
Contributor

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yml

Review profile: CHILL

Plan: Pro Plus

Run ID: c511187c-0b70-4c6a-b34e-348c541603c9

📥 Commits

Reviewing files that changed from the base of the PR and between 22bbfea and 96bfce9.

📒 Files selected for processing (3)
  • skills/extension-author/prisma-next-extension-upgrade/upgrades/0.16-to-0.17/instructions.md
  • skills/prisma-next-supabase/SKILL.md
  • skills/upgrade/prisma-next-upgrade/upgrades/0.16-to-0.17/instructions.md
🚧 Files skipped from review as they are similar to previous changes (2)
  • skills/extension-author/prisma-next-extension-upgrade/upgrades/0.16-to-0.17/instructions.md
  • skills/upgrade/prisma-next-upgrade/upgrades/0.16-to-0.17/instructions.md

📝 Walkthrough

Walkthrough

The PR replaces legacy @db.* storage-type authoring with unified type-position constructors, adds migration diagnostics for remaining legacy usages, removes obsolete native-type resolution helpers, and updates ADRs, examples, skills, and upgrade instructions.

Changes

Unified storage-type authoring

Layer / File(s) Summary
Constructor-channel contract
docs/architecture docs/adrs/ADR 241 - Scalar types use the authoring type-constructor channel.md, docs/architecture docs/adrs/ADR 231 - Declarative attribute specifications.md, docs/architecture docs/adrs/ADR 239 - Option arguments and select templates for authoring helpers.md
ADR 241 documents unified scalar and parameterized constructors, bare-type instantiation, target-owned native vocabulary, and removal of the @db.* channel. Related ADR examples use type-position constructors.
Legacy attribute diagnostics
packages/2-sql/2-authoring/contract-psl/src/psl-attribute-parsing.ts, packages/2-sql/2-authoring/contract-psl/src/psl-field-resolution.ts, packages/2-sql/2-authoring/contract-psl/src/psl-named-type-resolution.ts, packages/2-sql/2-authoring/contract-psl/src/psl-column-resolution.ts
db.* attributes on fields and named types now emit migration diagnostics; obsolete native-type parsing and resolution exports are removed.
Diagnostic tests
packages/2-sql/2-authoring/contract-psl/test/interpreter.db-attribute-migration-diagnostics.test.ts, packages/2-sql/2-authoring/contract-psl/test/interpreter.db-native-types-compatibility.test.ts
Tests cover unsupported legacy attributes, formatted arguments, diagnostic ordering, and removal of prior compatibility expectations.
Authoring and upgrade guidance
docs/architecture docs/adrs/ADR 226 - Cross-contract foreign-key references.md, docs/architecture docs/subsystems/6. Ecosystem Extensions & Packs.md, skills/prisma-next-contract/SKILL.md, skills/prisma-next-supabase/SKILL.md, skills/*/upgrades/0.16-to-0.17/instructions.md
Examples use AuthUserId = Uuid; guidance rewrites @db.X and @db.X(args) to X and X(args) and documents failure behavior for remaining legacy spellings.

Estimated code review effort: 4 (Complex) | ~45 minutes

Sequence Diagram(s)

sequenceDiagram
  participant Author
  participant PSLInterpreter
  participant TypeResolver
  participant DiagnosticReporter
  Author->>PSLInterpreter: submit type-position constructors or legacy `@db`.* attributes
  PSLInterpreter->>TypeResolver: resolve authoring type constructors
  TypeResolver-->>PSLInterpreter: return resolved storage type
  PSLInterpreter->>DiagnosticReporter: report migration guidance for legacy attributes
Loading

Possibly related PRs

  • prisma/prisma-next#1038: Updates PostgreSQL @db.Date mapping in the same column-resolution area later removed by this PR.

Suggested reviewers: wmadden-electric

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly summarizes the main breaking change: removing @db.* lowering and replacing it with actionable diagnostics.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch tml-2988-remove-db-support-delete-native_type_specs-add-migration

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@github-actions

Copy link
Copy Markdown

size-limit report 📦

Path Size
postgres / no-emit 166.19 KB (0%)
postgres / emit 147.68 KB (0%)
mongo / no-emit 100.33 KB (0%)
mongo / emit 90.08 KB (0%)
cf-worker / no-emit 191.61 KB (0%)
cf-worker / emit 171.2 KB (0%)

@pkg-pr-new

pkg-pr-new Bot commented Jul 24, 2026

Copy link
Copy Markdown

Open in StackBlitz

@prisma-next/extension-author-tools

npm i https://pkg.pr.new/@prisma-next/extension-author-tools@1054

@prisma-next/mongo-runtime

npm i https://pkg.pr.new/@prisma-next/mongo-runtime@1054

@prisma-next/family-mongo

npm i https://pkg.pr.new/@prisma-next/family-mongo@1054

@prisma-next/sql-runtime

npm i https://pkg.pr.new/@prisma-next/sql-runtime@1054

@prisma-next/family-sql

npm i https://pkg.pr.new/@prisma-next/family-sql@1054

@prisma-next/extension-arktype-json

npm i https://pkg.pr.new/@prisma-next/extension-arktype-json@1054

@prisma-next/middleware-cache

npm i https://pkg.pr.new/@prisma-next/middleware-cache@1054

@prisma-next/mongo

npm i https://pkg.pr.new/@prisma-next/mongo@1054

@prisma-next/extension-paradedb

npm i https://pkg.pr.new/@prisma-next/extension-paradedb@1054

@prisma-next/extension-pgvector

npm i https://pkg.pr.new/@prisma-next/extension-pgvector@1054

@prisma-next/extension-postgis

npm i https://pkg.pr.new/@prisma-next/extension-postgis@1054

@prisma-next/postgres

npm i https://pkg.pr.new/@prisma-next/postgres@1054

@prisma-next/sql-orm-client

npm i https://pkg.pr.new/@prisma-next/sql-orm-client@1054

@prisma-next/sqlite

npm i https://pkg.pr.new/@prisma-next/sqlite@1054

@prisma-next/extension-supabase

npm i https://pkg.pr.new/@prisma-next/extension-supabase@1054

@prisma-next/target-mongo

npm i https://pkg.pr.new/@prisma-next/target-mongo@1054

@prisma-next/adapter-mongo

npm i https://pkg.pr.new/@prisma-next/adapter-mongo@1054

@prisma-next/driver-mongo

npm i https://pkg.pr.new/@prisma-next/driver-mongo@1054

@prisma-next/contract

npm i https://pkg.pr.new/@prisma-next/contract@1054

@prisma-next/utils

npm i https://pkg.pr.new/@prisma-next/utils@1054

@prisma-next/config

npm i https://pkg.pr.new/@prisma-next/config@1054

@prisma-next/errors

npm i https://pkg.pr.new/@prisma-next/errors@1054

@prisma-next/framework-components

npm i https://pkg.pr.new/@prisma-next/framework-components@1054

@prisma-next/operations

npm i https://pkg.pr.new/@prisma-next/operations@1054

@prisma-next/ts-render

npm i https://pkg.pr.new/@prisma-next/ts-render@1054

@prisma-next/contract-authoring

npm i https://pkg.pr.new/@prisma-next/contract-authoring@1054

@prisma-next/ids

npm i https://pkg.pr.new/@prisma-next/ids@1054

@prisma-next/psl-parser

npm i https://pkg.pr.new/@prisma-next/psl-parser@1054

@prisma-next/psl-printer

npm i https://pkg.pr.new/@prisma-next/psl-printer@1054

@prisma-next/cli

npm i https://pkg.pr.new/@prisma-next/cli@1054

@prisma-next/cli-telemetry

npm i https://pkg.pr.new/@prisma-next/cli-telemetry@1054

@prisma-next/config-loader

npm i https://pkg.pr.new/@prisma-next/config-loader@1054

@prisma-next/emitter

npm i https://pkg.pr.new/@prisma-next/emitter@1054

@prisma-next/language-server

npm i https://pkg.pr.new/@prisma-next/language-server@1054

@prisma-next/migration-tools

npm i https://pkg.pr.new/@prisma-next/migration-tools@1054

prisma-next

npm i https://pkg.pr.new/prisma-next@1054

@prisma-next/vite-plugin-contract-emit

npm i https://pkg.pr.new/@prisma-next/vite-plugin-contract-emit@1054

@prisma-next/mongo-codec

npm i https://pkg.pr.new/@prisma-next/mongo-codec@1054

@prisma-next/mongo-contract

npm i https://pkg.pr.new/@prisma-next/mongo-contract@1054

@prisma-next/mongo-value

npm i https://pkg.pr.new/@prisma-next/mongo-value@1054

@prisma-next/mongo-contract-psl

npm i https://pkg.pr.new/@prisma-next/mongo-contract-psl@1054

@prisma-next/mongo-contract-ts

npm i https://pkg.pr.new/@prisma-next/mongo-contract-ts@1054

@prisma-next/mongo-emitter

npm i https://pkg.pr.new/@prisma-next/mongo-emitter@1054

@prisma-next/mongo-schema-ir

npm i https://pkg.pr.new/@prisma-next/mongo-schema-ir@1054

@prisma-next/mongo-query-ast

npm i https://pkg.pr.new/@prisma-next/mongo-query-ast@1054

@prisma-next/mongo-orm

npm i https://pkg.pr.new/@prisma-next/mongo-orm@1054

@prisma-next/mongo-query-builder

npm i https://pkg.pr.new/@prisma-next/mongo-query-builder@1054

@prisma-next/mongo-lowering

npm i https://pkg.pr.new/@prisma-next/mongo-lowering@1054

@prisma-next/mongo-wire

npm i https://pkg.pr.new/@prisma-next/mongo-wire@1054

@prisma-next/sql-contract

npm i https://pkg.pr.new/@prisma-next/sql-contract@1054

@prisma-next/sql-errors

npm i https://pkg.pr.new/@prisma-next/sql-errors@1054

@prisma-next/sql-operations

npm i https://pkg.pr.new/@prisma-next/sql-operations@1054

@prisma-next/sql-schema-ir

npm i https://pkg.pr.new/@prisma-next/sql-schema-ir@1054

@prisma-next/sql-contract-psl

npm i https://pkg.pr.new/@prisma-next/sql-contract-psl@1054

@prisma-next/sql-contract-ts

npm i https://pkg.pr.new/@prisma-next/sql-contract-ts@1054

@prisma-next/sql-contract-emitter

npm i https://pkg.pr.new/@prisma-next/sql-contract-emitter@1054

@prisma-next/sql-lane-query-builder

npm i https://pkg.pr.new/@prisma-next/sql-lane-query-builder@1054

@prisma-next/sql-relational-core

npm i https://pkg.pr.new/@prisma-next/sql-relational-core@1054

@prisma-next/sql-builder

npm i https://pkg.pr.new/@prisma-next/sql-builder@1054

@prisma-next/target-postgres

npm i https://pkg.pr.new/@prisma-next/target-postgres@1054

@prisma-next/target-sqlite

npm i https://pkg.pr.new/@prisma-next/target-sqlite@1054

@prisma-next/adapter-postgres

npm i https://pkg.pr.new/@prisma-next/adapter-postgres@1054

@prisma-next/adapter-sqlite

npm i https://pkg.pr.new/@prisma-next/adapter-sqlite@1054

@prisma-next/driver-postgres

npm i https://pkg.pr.new/@prisma-next/driver-postgres@1054

@prisma-next/driver-sqlite

npm i https://pkg.pr.new/@prisma-next/driver-sqlite@1054

commit: 96bfce9

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 2

🧹 Nitpick comments (1)
packages/2-sql/2-authoring/contract-psl/src/psl-field-resolution.ts (1)

227-236: 📐 Maintainability & Code Quality | 🔵 Trivial | 💤 Low value

Duplicated db.-prefix migration-diagnostic branch across the two validators. Both validateFieldAttributes and validateNamedTypeAttributes implement the identical "check db. prefix → push diagnostic via formatDbAttributeMigrationMessage → continue" logic, differing only in the diagnostic code string.

  • packages/2-sql/2-authoring/contract-psl/src/psl-field-resolution.ts#L227-L236: extract this branch into a shared helper (e.g. pushDbAttributeMigrationDiagnostic(diagnostics, attribute, sourceId, code) in psl-attribute-parsing.ts) parameterized by diagnostic code.
  • packages/2-sql/2-authoring/contract-psl/src/psl-named-type-resolution.ts#L39-L48: call the same shared helper here instead of re-implementing the branch.
♻️ Proposed shared helper
+export function pushDbAttributeMigrationDiagnostic(
+  diagnostics: ContractSourceDiagnostic[],
+  attribute: ResolvedAttribute,
+  sourceId: string,
+  code: string,
+): void {
+  diagnostics.push({
+    code,
+    message: formatDbAttributeMigrationMessage(attribute),
+    sourceId,
+    span: attribute.span,
+  });
+}
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@packages/2-sql/2-authoring/contract-psl/src/psl-field-resolution.ts` around
lines 227 - 236, The duplicated db.-attribute migration diagnostic logic should
be centralized. In
packages/2-sql/2-authoring/contract-psl/src/psl-attribute-parsing.ts, add a
shared helper such as pushDbAttributeMigrationDiagnostic parameterized by
diagnostics, attribute, sourceId, and diagnostic code; update
validateFieldAttributes in
packages/2-sql/2-authoring/contract-psl/src/psl-field-resolution.ts:227-236 and
validateNamedTypeAttributes in
packages/2-sql/2-authoring/contract-psl/src/psl-named-type-resolution.ts:39-48
to call it while preserving each validator’s existing diagnostic code and
continue behavior.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In
`@skills/extension-author/prisma-next-extension-upgrade/upgrades/0.16-to-0.17/instructions.md`:
- Line 176: The migration instructions overstate codec preservation by omitting
the Date rebinding exception. Update both specified instruction entries so the
preservation claim is limited to mappings that retain codec references, or
explicitly identifies Date as requiring codec-reference and
contract-storage-hash changes, re-emission, and re-signing.

In `@skills/prisma-next-supabase/SKILL.md`:
- Around line 75-82: Update the canonical Supabase example referenced by the
guide so Profile.userId uses the introduced AuthUserId alias instead of Uuid
directly, keeping it consistent with the schema guidance. Alternatively, revise
the “Mirror” wording in the skill to explicitly identify the alias-based schema
as an equivalent form.

---

Nitpick comments:
In `@packages/2-sql/2-authoring/contract-psl/src/psl-field-resolution.ts`:
- Around line 227-236: The duplicated db.-attribute migration diagnostic logic
should be centralized. In
packages/2-sql/2-authoring/contract-psl/src/psl-attribute-parsing.ts, add a
shared helper such as pushDbAttributeMigrationDiagnostic parameterized by
diagnostics, attribute, sourceId, and diagnostic code; update
validateFieldAttributes in
packages/2-sql/2-authoring/contract-psl/src/psl-field-resolution.ts:227-236 and
validateNamedTypeAttributes in
packages/2-sql/2-authoring/contract-psl/src/psl-named-type-resolution.ts:39-48
to call it while preserving each validator’s existing diagnostic code and
continue behavior.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yml

Review profile: CHILL

Plan: Pro Plus

Run ID: c2d7b6ea-6477-4d8f-9877-f20200bad8b3

📥 Commits

Reviewing files that changed from the base of the PR and between 86ea046 and 22bbfea.

⛔ Files ignored due to path filters (7)
  • projects/remove-db-attributes/slices/remove-db-channel/dispatches/01-remove-legacy-interpretation.md is excluded by !projects/**
  • projects/remove-db-attributes/slices/remove-db-channel/dispatches/02-align-architecture-and-guidance-r2.md is excluded by !projects/**
  • projects/remove-db-attributes/slices/remove-db-channel/dispatches/02-align-architecture-and-guidance.md is excluded by !projects/**
  • projects/remove-db-attributes/slices/remove-db-channel/dispatches/03-exhaustive-scrub-and-closure.md is excluded by !projects/**
  • projects/remove-db-attributes/slices/remove-db-channel/plan.md is excluded by !projects/**
  • projects/remove-db-attributes/slices/remove-db-channel/spec.md is excluded by !projects/**
  • projects/remove-db-attributes/trace.jsonl is excluded by !projects/**
📒 Files selected for processing (15)
  • docs/architecture docs/adrs/ADR 226 - Cross-contract foreign-key references.md
  • docs/architecture docs/adrs/ADR 231 - Declarative attribute specifications.md
  • docs/architecture docs/adrs/ADR 239 - Option arguments and select templates for authoring helpers.md
  • docs/architecture docs/adrs/ADR 241 - Scalar types use the authoring type-constructor channel.md
  • docs/architecture docs/subsystems/6. Ecosystem Extensions & Packs.md
  • packages/2-sql/2-authoring/contract-psl/src/psl-attribute-parsing.ts
  • packages/2-sql/2-authoring/contract-psl/src/psl-column-resolution.ts
  • packages/2-sql/2-authoring/contract-psl/src/psl-field-resolution.ts
  • packages/2-sql/2-authoring/contract-psl/src/psl-named-type-resolution.ts
  • packages/2-sql/2-authoring/contract-psl/test/interpreter.db-attribute-migration-diagnostics.test.ts
  • packages/2-sql/2-authoring/contract-psl/test/interpreter.db-native-types-compatibility.test.ts
  • skills/extension-author/prisma-next-extension-upgrade/upgrades/0.16-to-0.17/instructions.md
  • skills/prisma-next-contract/SKILL.md
  • skills/prisma-next-supabase/SKILL.md
  • skills/upgrade/prisma-next-upgrade/upgrades/0.16-to-0.17/instructions.md
💤 Files with no reviewable changes (1)
  • packages/2-sql/2-authoring/contract-psl/test/interpreter.db-native-types-compatibility.test.ts

Comment thread skills/prisma-next-supabase/SKILL.md Outdated
Signed-off-by: Serhii Tatarintsev <tatarintsev@prisma.io>
@SevInf
SevInf disabled auto-merge July 27, 2026 09:08
@SevInf
SevInf merged commit ca1f3a1 into main Jul 27, 2026
22 checks passed
@SevInf
SevInf deleted the tml-2988-remove-db-support-delete-native_type_specs-add-migration branch July 27, 2026 09:08
SevInf added a commit that referenced this pull request Jul 27, 2026
- **Intent:** Close the completed `@db.*` hard-cut project after PR
#1054 merged at `ca1f3a16b`; retain the mandatory final-retro learning
as F27.
- **Linear:** Refs:
[TML-2988](https://linear.app/prisma-company/issue/TML-2988) · [Remove
@db.* attributes from
PSL](https://linear.app/prisma-company/project/remove-db-attributes-from-psl-7f387115b0fc)
- **Scope:** Project DoD evidence: all four hard-cut slices are
complete; close-out material was classified as transient, while ADR 241
and F27 are durable; the external-reference scan found no references
outside the removed project tree.
- **Verification:** `git diff --check origin/main...HEAD` and tracked
close-out integrity only: the diff retains F27 while deleting the
classified transient artefacts.


<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

* **Documentation**
* Made a minor whitespace/formatting adjustment around the boundary
between two failure-mode sections (no content added or changed).
<!-- end of auto-generated comment: release notes by coderabbit.ai -->

---------

Signed-off-by: Serhii Tatarintsev <tatarintsev@prisma.io>
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.

1 participant