Repository-specific guidance for coding agents and contributors.
Treat schema evolution as a migration-first workflow.
Required for any DB schema change:
- Update
src/loom/state/schema.sqlandsrc/loom/state/schema/base.sqlto reflect the latest canonical + fresh-bootstrap shape. - Add/modify migration step files under
src/loom/state/migrations/steps/. - Register steps in
src/loom/state/migrations/registry.py. - Add migration/upgrade tests in
tests/. - Update migration/operator docs and changelog.
Do not:
- Ask users to delete their database as a normal upgrade path.
- Add runtime usage of new columns/tables without migration coverage.
- Rely on silent fallback-to-ephemeral for existing DB upgrade failures.
Use these commands during development and debugging:
uv run loom db statusuv run loom db migrateuv run loom db doctoruv run loom db backup
Policy enforcement:
- CI runs
scripts/check_db_migration_policy.pyand will fail schema PRs that do not include required migration/test/docs updates.