Found during the code review of PR #1220 (issue #1147), 2026-09-06. Targets the prisma-8 line.
Problem
packages/core/src/secured/lower.ts (around line 66) loads Prisma's and / or combinators through a lazy import(), so the package root keeps its static import graph free of @prisma/orm-postgres — an invariant now enforced by a real import-graph walk in purity.test.ts.
The promise is cached, including when it rejects. A single transient import failure is therefore permanent for the life of the process: every subsequent predicate lowering re-awaits the same rejected promise, and no retry can recover it. Every secured read fails until the process restarts.
Deliberately left unfixed in #1220, which was scoped to the blocking findings.
What to build
Generated by Claude Code
Found during the code review of PR #1220 (issue #1147), 2026-09-06. Targets the
prisma-8line.Problem
packages/core/src/secured/lower.ts(around line 66) loads Prisma'sand/orcombinators through a lazyimport(), so the package root keeps its static import graph free of@prisma/orm-postgres— an invariant now enforced by a real import-graph walk inpurity.test.ts.The promise is cached, including when it rejects. A single transient import failure is therefore permanent for the life of the process: every subsequent predicate lowering re-awaits the same rejected promise, and no retry can recover it. Every secured read fails until the process restarts.
Deliberately left unfixed in #1220, which was scoped to the blocking findings.
What to build
Generated by Claude Code