Public proof

Free scan first. Paid apply pack second.

The included fixture repo starts with SQLAlchemy 2.0-breaking legacy patterns. The public repo shows the fit scan and report. The paid apply pack handles the documented rewrite path after checkout.

preview_only the public repo stays scanner-first
6 transforms detected in the public demo fixture
0 unsupported in the happy-path fit-check fixture

Fixture repo

fixtures/demo_repo

  • select([User.name])
  • joinedload("addresses")
  • join("addresses")
  • update(..., whereclause=..., values=...)
  • session.query(User).get(...)

Run the free scan

python -m sa20_pack.cli fixtures/demo_repo --report artifacts/demo-migration-report.json

What the scan finds

Supported candidates:
- select([User.name])
- session.query(User).get(user_id)
- joinedload("addresses")
- join("addresses")
- update(..., whereclause=..., values=...)

Paid-pack artifact trail

What the purchased ZIP proves

The paid workflow is still narrow and branch-first: it previews supported rewrites, applies only documented transforms, records validation results, and leaves unsupported work in the report instead of claiming a complete SQLAlchemy 2.0 migration.

Preview diff

- user = session.query(User).get(user_id)
+ user = session.get(User, user_id)

- stmt = select([User.name])
+ stmt = select(User.name)

Apply output

paid apply run
files_changed: 4
transforms_applied:
  query_get, select_list_syntax, string_join,
  string_loader, dml_kwargs
manual_review_findings: 0
report_written: migration-report.json

Validation result

validation summary
python -m compileall fixtures/demo_repo ... passed
python -m pytest fixtures/demo_repo/tests ... passed
buyer_repo_validation: required before merge

Final manager report

final manager report
Supported cleanup findings: 6
Manual-review findings: 0
Changed files: 4
Next step: review branch diff and run normal CI

Exact ZIP contents

sa20-pack-edge-case-pack.zip
- paid cleanup CLI
- preview/apply commands
- supported rewrite table
- JSON report schema
- rollback checklist
- manager summary template
- license and support terms

Why this matters

The selling point is not only that the scan finds the work. It is that a team can prove fit before buying the apply pack, instead of paying first and discovering the repo is outside scope.