build: qualify development-only SQLite transaction patches
Summary
Development-only follow-up for #170, stacked on #208. This does not close #170 or satisfy #174's storage/release gates.
- Pin matching
@effect/sql-sqlite-nodeand@effect/sql-sqlite-bunrc.117 as private root development dependencies. - Carry the qualified minimal failed-COMMIT cleanup patch in native shared SqlClient and both drivers, with removal TODOs.
- Add one shared installed-package qualification command for real Node and Bun SQLite.
- Keep existing dependency versions and compiler
7.0.2+effect-tsgo.0.36.5unchanged.
Portable library delivery and release remain blocked. Root Bun patch metadata does not reach published-library consumers. No fork, distribution facade, backend schema, recovery policy, importer or second transaction engine is added.
Stack
#205 → #206 → #207 → #208 → this draft. Base: feat/effect-native-182-session-turns at fbcc4dc. This head: d9533727046b39e4153e2eb60638839ac00227be. No merges or releases.
Verification
Independent Standards, Spec and Ponytail reviews found no issues within the development-only scope. The committed full-index diff is byte-identical to the reviewed candidate.
Parent verification at this exact head exited 0:
- Actual Node 26.7.0 / SQLite 3.53.4 and Bun 1.4.0 / SQLite 3.53.2, Linux x64.
- Commit, body rollback, busy BEGIN, repeated deferred-FK COMMIT cleanup, preserved compound failures, dirty-connection refusal and recovery.
- All 14 positive/negative shell exits matched; unpatched and effective poison/native-state mutants fail at the intended assertions.
- Separate parent-owned clean source snapshot: frozen copyfile install, unchanged package/lock bytes, both runtime checks and installed-package integrity/fidelity passed.
- SQLite/root typechecks, root lint, repository formatting, 26 Session tests and uncached docs build passed. Compiler exact; worktree unchanged and clean.
Commands: bun tools/qualification/sqlite-transactions/checks.ts, node tools/qualification/sqlite-transactions/checks.ts, node_modules/.bin/tsc -p tools/qualification/sqlite-transactions/tsconfig.json, bun run check:types, bun run lint:root, bun run fmt, core-local vitest run test/session/session.test.ts, bun run build:docs -- --force.
Retained external evidence under /home/cyan/.local/state/mitome/effect-native-stack/: 170-dev-evidence/, 170-dev-parent-bC294eng/, 170-dev-parent-d953372-aIVGJ1Wo/, 170-dev-{standards,spec,ponytail}.md and 170-dev-parent-qualified-byte-comparison.log.
Known reds and limits
- Full repository checks/tests/builds retain the disclosed intermediate legacy-consumer failures from #182. Writer baseline/after comparisons show the same failures; no shims, exclusions or deleted regression tests hide them. CI run 36292750365 failed at the legacy Core typecheck; its 144 TypeScript errors exactly match PR #208's CI. The CI merge tree equals this head.
- The new SQLite qualification commands are documented manual gates, not yet CI tasks.
- Cleanup fault injection is synthetic. Native platform coverage, Node 24/Bun minimum patch floors, real I/O faults, restart/power loss, schema/recovery and owner exclusion remain open.
- Raw outer Git whitespace checking flags ten required blank context lines in the generated patch files. All were verified as unified-diff syntax; source/docs whitespace and patch parsing passed without altering qualified patch bytes.
- Prior failed qualification logs and installer side effects remain documented. No changeset: published package contents are unchanged by this private development integration.