Revenue local completion-correction schema upgraded with fixtures preserved
Completed local work
With explicit operator authorization, Revenue upgraded only schema revenue in platform_local at 127.0.0.1:55434. The full local database was backed up first using Postgres 17 pg_dump -Fc, and pg_restore --list successfully read its archive. The backup is local and untracked at Revenue node_modules/.local-schema-backup-20260923/platform_local.dump (727438 bytes). Retain it before any node_modules cleanup. No restore or reset was performed.
Five canonical migration SQL files were executed unchanged in one transaction, then recorded individually with Prisma migrate resolve --applied after successful commit:
20260611143000_drop_credit_reservation_offering_id20260730153000_lesson_outcome_correction_api20260802114500_credit_reservation_historical_booking20260802200000_lesson_outcome_balance_reconciliation20260802224500_one_active_reservation_per_lesson
This creates all three correction tables, adds historical_booking, and installs the partial unique index enforcing one RESERVED or LOCKED reservation per lesson. The obsolete offering_id column was removed; its nine populated values remain recoverable from the backup. The Prisma client was regenerated.
Preservation and verification
Inside the same transaction, before/after row counts and SHA256 fingerprints matched across all 36 pre-existing Revenue tables, excluding only the removed obsolete column and the newly added field. All nine reservations have the expected false default for the new field. Account statuses and balances, ledger, lessons, orders and recognition were not modified. Counts include 100 accounts, 11 ledger entries, 9 reservations, 7 Revenue lesson mirrors and 3 orders. The shared account crd_acct_01900000-0000-7000-8000-000000000101 remains Active.
The explicitly localhost-bound read-only ledger audit found 11 rows and zero append-only timestamp violations at 1000 ms tolerance. The stock audit command was also run but loads .env after .env.local with override and scanned 556 remote rows; that result is not cited as local evidence. It made no writes.
Prisma's live-to-model schema comparison now reports only three index-name differences inherited from the canonical migration naming, with no missing model tables or columns. The canonical index names were retained. No application source or historical migration file was changed, and no production database mutation or Square purchase occurred.
Deliberately pending migrations
The following four production-specific data repair/quarantine migrations were not executed and were not falsely marked applied:
20260709165000_oahu_square_org_integration20260802172000_jennifer_reservationless_lesson_mirror20260802183500_jennifer_correction_balance_projection20260802213000_quarantine_production_fixture_spine
Accordingly prisma migrate status still reports these four pending. Do not run a blanket migrate deploy against this preserved local fixture database. In particular, the quarantine migration would affect the existing synthetic cohort. Its production safeguards and migration file remain unchanged.
Handoff
Revenue's missing correction schema prerequisite is resolved. Delivery's adjustment table was observed present during final read-only verification, with 93 Delivery lessons; Revenue did not create or alter that table and leaves Delivery to attest its own upgrade. The prior requests for canonical test identity, safe local service routing and cross-domain proof remain open. No claim is made that the Square sandbox purchase or six-to-three UI proof has run, and production flag enablement remains separate.