Skip to content

docs: spec for sequa adopt (detect/convert existing DB tooling) - #29

Merged
dyammarcano merged 1 commit into
mainfrom
docs/adopt-spec
Jul 3, 2026
Merged

docs: spec for sequa adopt (detect/convert existing DB tooling)#29
dyammarcano merged 1 commit into
mainfrom
docs/adopt-spec

Conversation

@dyammarcano

Copy link
Copy Markdown
Contributor

What

Adds docs/specs/adopt.md — the design for a proposed sequa adopt command that deterministically detects a project's existing DB approach and suggests/performs conversion into sequa. Linked from docs/README.md.

Highlights

  • Source-system → sequa matrix with per-transform determinism levels (golang-migrate = identity; goose/dbmate single-file = mechanical split; sqlc.yaml → sequa.yaml ~1:1; atlas/Flyway = partial, downs stubbed; Go/Python migrations = manual).
  • The oracle: suitability is decided exactly by running sequa's own readUpMigrations + AnalyzeQueries in dry-run — proof per migration/query, not heuristics.
  • Surface: sequa adopt {detect|plan|apply} — detect/plan read-only & fully deterministic; apply does only mechanical transforms, flagging the rest as TODO stubs.
  • Scoring from measured signals (paired-down ratio, oracle query-portability, catalog parse, config auto-mappability) → Turnkey / Assisted / Manual / Unsupported.

Docs-only; no code change. Grounded in a real trial across a tree of Postgres projects (models codegen proven on 11; engine gate proven on a SQLite project).

Design for a deterministic pipeline that fingerprints a project's DB
tooling (sqlc/golang-migrate/goose/dbmate/atlas/…) and detects/plans/
applies conversion into sequa. Covers the source-system matrix with
per-transform determinism levels, the "sequa is its own oracle" method
(dry-run the real analyzer for exact suitability), the adopt
detect|plan|apply surface, and a measured-signal scoring rubric.
@dyammarcano
dyammarcano merged commit 0b20daf into main Jul 3, 2026
5 checks passed
@dyammarcano
dyammarcano deleted the docs/adopt-spec branch July 3, 2026 20:02
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant