projects/prisma7-compatibility-cli/plan.md
Spec: projects/prisma7-compatibility-cli/spec.md
Linear Project: N/A — operator authorized planning and delivery without a Linear Project
This is a four-slice stack. It first establishes a runnable side-by-side package and stable identity contract, then completes Prisma 7 behavior under that identity in two reviewable layers, and finally makes the artifact safely publishable whenever the matching prisma@7 version is published.
Slice side-by-side-wrapper — Linear: N/A
prisma7 package whose prisma7 binary resolves and executes its exact Prisma 7 dependency alongside a direct Prisma 8 CLI, while forwarding the supported root and prisma7/config exports. The ordinary prisma invocation remains unchanged../build/index.js, root, and ./config contracts.Slice cli-owned-distribution-identity — Linear: N/A
packages/cli uses prisma7 under the compatibility invocation: CLI-owned help and examples, generated prisma7/config imports, initialization/bootstrap guidance, version and mismatch labels, shell-completion setup, and update-check suppression. Existing prisma output and behavior remain regression-pinned.side-by-side-wrapper's stable identity contract and runnable package.CliDistributionIdentity, dual-identity regression coverage, and a classified audit of remaining lower-layer guidance. Migrate, internals, and generator messages remain for the next slice; publishing stays out of scope.Slice downstream-actionable-guidance — Linear: N/A
prisma7 guidance without reversing package dependencies or changing Prisma domain terminology.cli-owned-distribution-identity's identity-aware CLI composition and primitive handoff.prisma7 artifact whose command behavior and public identity satisfy the project contract and are safe for release integration.@prisma/migrate, @prisma/internals, and generator-owned diagnostics, plus dual-identity regression coverage. No lower package imports from packages/cli; low-level nested dependency paths remain intentionally visible.Slice release-mirroring-and-package-proof — Linear: N/A
prisma@7 publication path publishes the exact matching prisma7 artifact afterward, can recover when the wrapper publication fails after Prisma succeeds, and never emits prisma7 for a non-v7 publication. Packed side-by-side installs preserve the correct binaries and exports across npm, pnpm, Yarn, and Bun.downstream-actionable-guidance's identity-complete package behavior and public surface.prisma7 publication.prisma7 — the public registry currently returns E404; ownership/reservation and Prisma's authority to publish the unscoped name must be established before the release slice can close.prisma@7 artifact was published so it can mirror that exact version.The wrapper and identity transport are one coherent first boundary: an identity abstraction without a runnable alternate distribution would be preparation rather than a valuable slice, while a wrapper without the identity seam cannot meet even its package/version/config contract. Identity propagation then follows package ownership: CLI-owned lifecycle and rendering first, lower command and generator guidance second. This keeps each PR reviewable and preserves dependency direction while the package remains unpublished. Publication is last because the spec forbids exposing a half-branded artifact, and its ordering/recovery tests need the final package manifest and packed surface. No slices can safely run in parallel without either duplicating identity transport or creating a path that could publish incomplete behavior.