projects/prisma7-compatibility-cli/slices/cli-owned-distribution-identity/walkthrough.md
origin/v7...HEADprisma7-cli-identityComplete the CLI-owned prisma7 identity slice by making identity selection explicit at CLI composition boundaries and proving the shipped behavior from packed artifacts. Product behavior stays within the CLI-owned identity seam, with only the workspace alias resolver adapted to bundle the new package entrypoints; stable Prisma domain names remain unchanged, and lower-package identity work is still follow-up scope.
prisma7.bin.ts and the separate completion entrypoint decide between prisma and prisma7, and everything downstream receives that value explicitly.prisma/schema.prisma, prisma.config.ts, or @prisma/client.Identity selection is now explicit at CLI-owned composition boundaries: identity-sensitive constructors, factories, and helpers no longer silently fall back to ordinary Prisma; real entrypoints choose the identity once, and ordinary callers/tests pass 'prisma' explicitly.
process.argv[1] is actually meaningful.CLI-owned help, setup, completion, and version surfaces now render the selected executable while stable Prisma names stay put: the compatibility invocation says prisma7 for commands and config imports it owns, but it leaves Prisma product terminology and domain-stable file/package names unchanged.
prisma string in the repository is a distribution label.Local execution and workspace alias resolution follow the selected distribution on every platform: Bootstrap selects the bare local shim on Unix and the .cmd shim on Windows, while the build resolver handles both exact package aliases and wildcard config subpaths.
Packed compatibility proof now lives in one deterministic installed-artifact scenario: the slice removes four mock-heavy identity suites and the slice-added mock assertions, then exercises real packed prisma7 commands with command-local inline snapshots. Completion branding is asserted directly without snapshotting the generated shell script.
prisma7 --help, validate --help, text/JSON --version, complete zsh, init, generate, and db push, then TypeScript-checks and runs the generated client smoke.prisma behavior is preserved, but call sites and existing tests now pass 'prisma' explicitly instead of relying on constructor defaults.prisma/schema.prisma, prisma.config.ts, @prisma/client, docs URLs, and protocol names.--version output down to stable identity-bearing fields and metadata key/label sets.downstream-actionable-guidance.