Skip to content

stash init --drizzle installs EQL v2 instead of v3 #732

Closed

Description

@tobyhede

stash init --drizzle is the only flow still provisioning an EQL v2 database. A bare stash eql install and init for every other integration already default to v3.

packages/cli/src/commands/init/steps/install-eql.ts:103
    eqlVersion: drizzle ? '2' : undefined,

The pin's stated reason — "the Drizzle migration path is v2-only" — stopped being true when stash eql migration --drizzle shipped (#690). skills/stash-drizzle/SKILL.md didn't just document the pin, it justified it with the same now-false claim.

The pin was causing the mismatch it appeared to prevent

Init installs stash-encryption, stash-drizzle and stash-cli into the customer's repo, and both content skills are fully v3 — they teach EncryptionV3, types.*, and public.eql_v3_*. So init --drizzle handed the customer's coding agent v3 guidance against a v2 database it had just provisioned. Every new Drizzle customer running stash init was being put on the generation slated for removal (#707).

Why it's more than flipping the flag

routeInstallPathForEqlVersion forces drizzle: false under v3, so a bare flag flip would have silently converted Drizzle projects to a direct install and lost their migration history. The fix routes init's Drizzle branch through eqlMigrationCommand({ drizzle: true, embedded: true }) — v3 SQL, still migration-first.

Fix

PR #705. Also fixes eql install --drizzle's rejection message, which was actively steering users to --eql-version 2. install-eql.test.ts goes from 5 tests to 11, including a regression guard on the v2 pin.

Follow-up (not in this PR)

generatePlaceholderClient emits v2 pattern comments and Encryption({ schemas: [] }) for all integrations, not just Drizzle — so Supabase and plain-Postgres init already ship a v3 database with a v2 placeholder client. Pre-existing and broader than this fix; self-contained (two string constants plus commands/schema/build.ts).

Activity

  1. self-assigned this
    on Jul 21, 2026
  2. tobyhede commented on Jul 21, 2026

    @tobyhede
    ContributorAuthor

    Fixed by #705 (merged). Closing.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions