Replace planning-era names and squash initial schema

Use descriptive test and executable names so implementation surfaces do not depend on journal organization. Consolidate the unreleased migration history into the authoritative initial schema because no deployed database requires an upgrade path.
This commit is contained in:
ms2k 2026-07-19 15:21:24 +09:00
commit 15eb0038d2

View file

@ -55,13 +55,12 @@ certificate and key paths.
## SQL contract
The ordered files `sql/001_schema.sql`, `sql/002_pool_limit_guard.sql`, and
`sql/003_recovery_settlement.sql` are the authoritative schema history.
`postgresql-migration` initializes, applies, records, and validates that
history at process startup. A fixed PostgreSQL advisory lock serializes
migration across replicas, and startup fails if migration or validation fails.
Schema changes are new ordered migration files; deployed migration contents do
not change.
`sql/001_initial_schema.sql` is the authoritative initial schema.
`postgresql-migration` initializes, applies, records, and validates it at
process startup. A fixed PostgreSQL advisory lock serializes migration across
replicas, and startup fails if migration or validation fails. After the first
deployment, schema changes are new ordered migration files and deployed
migration contents do not change.
`pools` owns quota limits, used bytes, and reservations.
`mutations` owns idempotency identity, request fingerprint data, protocol
@ -183,7 +182,8 @@ credentials.
The deployment's object-store IAM or policy system enforces that scope. The
Kubernetes manifest supplies the scoped credential through the secret boundary;
`tests/kind/lib.sh` provisions equivalent fixture principals, and
`tests/kind/wp05-job.yaml.in` verifies denial against a different bucket.
`tests/kind/product-matrix-job.yaml.in` verifies denial against a different
bucket.
Nuthatch is the exclusive writer to `users/` and `shared/` in the configured
bucket while the service is enabled. Operators may inspect those prefixes, but