Language-neutral SQLite conventions for applications that need durable, portable relational state.
This repository defines SQL artifacts and behavioral contracts that projects can implement with their own language and runtime. It is not a shared database service, an ORM, or a cross-project data store. Each application owns and isolates its database and domain schema.
- A conservative SQLite portability contract for schemas and migrations.
- A standard migration ledger and migration naming convention.
- Operational guidance for transactions, backups, restore checks, and safe queries.
- Executable checks for the SQL artifacts, using Python's standard-library SQLite driver only as a test harness.
- A central database or shared authentication store.
- Application-specific tables or data.
- A language-specific database client, ORM, migration runner, or package.
- A promise that every SQLite feature is supported by every SQLite-based platform.
- Read the architecture contract.
- Read the SQLite portability contract.
- Use the migration ledger in
migrations/as the template for a project's own migration history. - Record platform-specific choices in the consuming project's ADRs and verify them against that platform's current documentation.
For DevArts Lab projects, this repository complements rather than replaces the DevArts Lab Foundation. The Foundation remains the source for lab-wide architecture and platform decisions; this repository operationalizes the SQLite portion of its storage guidance.
The test harness uses Python's standard library (the CI workflow currently tests on Python 3.12); the SQL contract itself does not depend on Python.
python3 -m unittest discover -s tests -vInitial contract and reference migration. No runtime adapters are published. See INDEX.md for the repository map.