docs(roadmap): add seven re-verified dogfooding gotchas to section 6 - #1069
docs(roadmap): add seven re-verified dogfooding gotchas to section 6#1069wmadden-electric wants to merge 1 commit into
Conversation
All nine correctness gotchas from the [PN] Gotchas Linear project were re-verified against main (e0e739c) on July 28. Seven are still present and now appear as roadmap items: TML-3097 (destructive auto-baseline, data-loss risk), TML-2566 (snapshot storage hash never recomputed on load), TML-3096 (--from silently ignored on an empty graph), TML-3093 (single-row delete on multi-row predicates), TML-3102 (Json vs jsonb porting divergence), TML-2637 (--no-skill deletes an installed skill file), and TML-2842 (folded into the existing TML-2655 pool-error item). TML-2507 and TML-3098 verified as fixed and are not added. Signed-off-by: willbot <w.a.madden+machine@gmail.com> Signed-off-by: Will Madden <madden@prisma.io>
📝 WalkthroughWalkthroughRequirement 6 documentation was updated in Markdown and HTML to clarify non-blocking status and record July 28 verification details for database connections, migration tooling, snapshots, deletion behavior, JSON mapping, and skill cleanup. ChangesRequirement 6 roadmap updates
Estimated code review effort: 1 (Trivial) | ~3 minutes Possibly related PRs
Suggested reviewers: 🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches🧪 Generate unit tests (beta)
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. Comment |
size-limit report 📦
|
There was a problem hiding this comment.
Actionable comments posted: 1
🤖 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 `@ROADMAP.md`:
- Line 221: Replace the introductory status sentence in ROADMAP.md at lines
221-221 and ROADMAP.html at lines 544-544 with release-status wording such as
“None are currently release blockers,” preserving the documented runtime
severity and keeping both copies synchronized.
🪄 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: 9629f02b-e7dd-4d44-af09-6d3fc35c9659
📒 Files selected for processing (2)
ROADMAP.htmlROADMAP.md
| ## 6. The rough edges users hit on day one must be gone | ||
|
|
||
| None of these block anything technically. All of them are what a skeptical engineer meets in their first hour, under announcement-day attention. | ||
| None of these block anything technically. All of them are what a skeptical engineer meets in their first hour, under announcement-day attention. The items marked *verified July 28* are dogfooding gotchas that were re-checked against `main` on July 28 and confirmed still present — and the migration-tooling ones among them risk real data loss, not just embarrassment. |
There was a problem hiding this comment.
📐 Maintainability & Code Quality | 🟡 Minor | ⚡ Quick win
Use release-status wording that preserves the documented severity.
Both copies say the items do not block anything technically, although the section explicitly records a host-process crash and real data-loss risk. Replace the sentence in both files with wording such as “None are currently release blockers” to distinguish roadmap status from runtime impact.
ROADMAP.md#L221-L221: update the introductory status sentence.ROADMAP.html#L544-L544: apply the same wording to keep the Markdown and HTML copies synchronized.
As per coding guidelines, keep documentation wording current and unambiguous.
📍 Affects 2 files
ROADMAP.md#L221-L221(this comment)ROADMAP.html#L544-L544
🤖 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 `@ROADMAP.md` at line 221, Replace the introductory status sentence in
ROADMAP.md at lines 221-221 and ROADMAP.html at lines 544-544 with
release-status wording such as “None are currently release blockers,” preserving
the documented runtime severity and keeping both copies synchronized.
Source: Coding guidelines
@prisma-next/extension-author-tools
@prisma-next/mongo-runtime
@prisma-next/family-mongo
@prisma-next/sql-runtime
@prisma-next/family-sql
@prisma-next/extension-arktype-json
@prisma-next/middleware-cache
@prisma-next/mongo
@prisma-next/extension-paradedb
@prisma-next/extension-pgvector
@prisma-next/extension-postgis
@prisma-next/postgres
@prisma-next/sql-orm-client
@prisma-next/sqlite
@prisma-next/extension-supabase
@prisma-next/target-mongo
@prisma-next/adapter-mongo
@prisma-next/driver-mongo
@prisma-next/contract
@prisma-next/utils
@prisma-next/config
@prisma-next/errors
@prisma-next/framework-components
@prisma-next/operations
@prisma-next/ts-render
@prisma-next/contract-authoring
@prisma-next/ids
@prisma-next/psl-parser
@prisma-next/psl-printer
@prisma-next/cli
@prisma-next/cli-telemetry
@prisma-next/config-loader
@prisma-next/emitter
@prisma-next/language-server
@prisma-next/migration-tools
prisma-next
@prisma-next/vite-plugin-contract-emit
@prisma-next/mongo-codec
@prisma-next/mongo-contract
@prisma-next/mongo-value
@prisma-next/mongo-contract-psl
@prisma-next/mongo-contract-ts
@prisma-next/mongo-emitter
@prisma-next/mongo-schema-ir
@prisma-next/mongo-query-ast
@prisma-next/mongo-orm
@prisma-next/mongo-query-builder
@prisma-next/mongo-lowering
@prisma-next/mongo-wire
@prisma-next/sql-contract
@prisma-next/sql-errors
@prisma-next/sql-operations
@prisma-next/sql-schema-ir
@prisma-next/sql-contract-psl
@prisma-next/sql-contract-ts
@prisma-next/sql-contract-emitter
@prisma-next/sql-lane-query-builder
@prisma-next/sql-relational-core
@prisma-next/sql-builder
@prisma-next/target-postgres
@prisma-next/target-sqlite
@prisma-next/adapter-postgres
@prisma-next/adapter-sqlite
@prisma-next/driver-postgres
@prisma-next/driver-sqlite
commit: |
…risma#29809) Supersedes prisma/prisma-next#1069 after the repository move. ## What Adds seven gotchas from the [\[PN\] Gotchas Linear project](https://linear.app/prisma-company/project/pn-gotchas-a6f6f5157a5c/issues) to ROADMAP.md/ROADMAP.html section 6, each re-verified against Prisma Next main (e0e739c) on July 28. ## Verification results Still present (added to the roadmap): - [TML-3097](https://linear.app/prisma-company/issue/TML-3097) — `migration plan` anchors origin on the refs index, not disk history; can auto-write a destructive baseline. **Data-loss risk.** Non-tip refs are accepted and test-pinned (`plan-resolution.test.ts:186`). - [TML-2566](https://linear.app/prisma-company/issue/TML-2566) — no code path recomputes a loaded snapshot's storage hash; the content-addressed store reads with plain `JSON.parse`; tampered content yields `noOp: true`. - [TML-3096](https://linear.app/prisma-company/issue/TML-3096) — `migration new --from <hash>` silently records `from: null` when the migrations dir is empty (the flag is only consulted when packages exist, `migration-new.ts:135-155`). - [TML-3093](https://linear.app/prisma-company/issue/TML-3093) — `.delete()` with an `.in()` predicate deletes exactly one row; deliberate and test-pinned, but nothing in types or docs warns. - [TML-3102](https://linear.app/prisma-company/issue/TML-3102) — PSL `Json` = Postgres `json`, Prisma 7 `Json` = `jsonb`; no emit-time warning, no porting-docs callout. - [TML-2637](https://linear.app/prisma-company/issue/TML-2637) — `init --no-skill` still unconditionally deletes `.agents/skills/prisma-next/SKILL.md` (`init.ts:191`). - [TML-2842](https://linear.app/prisma-company/issue/TML-2842) — folded into the existing TML-2655 item: neither `url`-binding pool construction site attaches a pg.Pool `'error'` handler, and the init scaffold uses that path. Verified as fixed (not added): - [TML-2507](https://linear.app/prisma-company/issue/TML-2507) — collMod postcheck now compares `$jsonSchema` content (`ed8aba1cb`, regression-tested). - [TML-3098](https://linear.app/prisma-company/issue/TML-3098) — `prisma dev` works on cli-dev 0.16.26; cold-cache repro run manually. 🤖 Generated with [Claude Code](https://claude.com/claude-code) <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit * **Documentation** * Updated the roadmap to clarify the revised npm packaging/namespacing plan, including new `@prisma/*` facade packages, internal namespace changes, and deprecating `@prisma-next/*`. * Refreshed the “day-one reliability” section with “verified July 28” notes and stronger warnings for migration tooling data-loss risk. * Added/expanded checklists for known rough edges: migration plan baselines when `--from` is omitted, `migration new` recording `from: null` on empty graphs, corrupted snapshot handling, multi-row `.delete()` deleting only one row, JSON portability, and `prisma-next init --no-skill` removing an existing skill file. <!-- end of auto-generated comment: release notes by coderabbit.ai --> --------- Signed-off-by: willbot <w.a.madden+machine@gmail.com> Signed-off-by: Will Madden <madden@prisma.io>
What
Adds seven gotchas from the [PN] Gotchas Linear project to ROADMAP.md/ROADMAP.html section 6, each re-verified against
main(e0e739c) on July 28.Verification results
Still present (added to the roadmap):
migration plananchors origin on the refs index, not disk history; can auto-write a destructive baseline. Data-loss risk. Non-tip refs are accepted and test-pinned (plan-resolution.test.ts:186).JSON.parse; tampered content yieldsnoOp: true.migration new --from <hash>silently recordsfrom: nullwhen the migrations dir is empty (the flag is only consulted when packages exist,migration-new.ts:135-155)..delete()with an.in()predicate deletes exactly one row; deliberate and test-pinned, but nothing in types or docs warns.Json= Postgresjson, Prisma 7Json=jsonb; no emit-time warning, no porting-docs callout.init --no-skillstill unconditionally deletes.agents/skills/prisma-next/SKILL.md(init.ts:191).url-binding pool construction site attaches a pg.Pool'error'handler, and the init scaffold uses that path.Verified as fixed (not added):
$jsonSchemacontent (ed8aba1cb, regression-tested).prisma devworks on cli-dev 0.16.26; cold-cache repro run manually.🤖 Generated with Claude Code
Summary by CodeRabbit