docs(production-readiness): P2 — PostgreSQL 18 Verification#280
Merged
Conversation
Evidence-based PG18 verification, executed on a genuine PostgreSQL 18.4 server obtained without Docker (npm @embedded-postgres/linux-x64). Docs-only: adds docs/audit/production-readiness/P2_PG18_VERIFICATION.md. - Candidate baseline (normalized per P1 amendment) applies cleanly on PG18.4 with identical structural counts to PG16 and PR #250 (125/1595/400/275/267); raw candidate hard-fails on PG18 exactly as on PG16, re-proving the normalize-all-opclasses amendment. - Zero-DDL mark-as-applied, journal integrity, and replay safety proven end-to-end on PG18 with the real drizzle migrator; drizzle hash = sha256 of the shipped SQL file. - Rollback safety: full baseline is transactional DDL on PG18 (explicit ROLLBACK and mid-apply failure both leave 0 objects). - Live initDatabase() engine runs cleanly on PG18.4 (0 failures, pgcrypto OK, identical shape) — the app can start on PG18 today. - Integrity: 0 invalid indexes, 0 unvalidated constraints, amcheck bt_index_check passes 400/400 btree indexes. - New runbook amendment: introspected SQL ships fully block-commented and applies as a silent no-op (rc 0, zero objects) unless uncommented. - P1 errata recorded (byte size 169,833; opclass token counts 437 total / ~189 wrong). Snapshot-dependent items remain operator-gated. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01MMnfvQvtgNQwiUvPJ4ff8Z
✅ Deploy Preview for zonforge-customer-operations canceled.
|
✅ Deploy Preview for ai-powered-cyber ready!
To edit notification comments on pull requests, go to your Netlify project configuration. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.

Summary
Production Readiness P2 — PostgreSQL 18 Verification, executed against a genuine PostgreSQL 18.4 server started inside the session environment (no Docker needed: real server binaries from npm
@embedded-postgres/linux-x64@18.4.0-beta.17— thebetatag is the npm wrapper's; the bundled server is release 18.4). Docs-only: addsdocs/audit/production-readiness/P2_PG18_VERIFICATION.md(193 lines). Production was never touched; the throwaway cluster was destroyed and verified gone.Verdicts on the 10 items:
migrate.ts's code path) on PG18: fresh apply records hash = sha256 of the shipped file; replay executes zero baseline DDL; a psql-pre-applied schema + inserted hash row makesmigrate()a zero-DDL no-op (DDL-log evidence).gen_random_uuid()built-in works;pgcrypto(the one statementinitDatabase()issues) installs cleanly on 18.4.bt_index_checkpasses 400/400 btree indexes.initDatabase()engine runs cleanly on PG18.4 (0 failures) and reproduces the identical structural shape — the app can start on PG18 today. (This does not legitimize the initDatabase baseline; the ~54-column prod drift from P1 is unaffected.)rc 0, zero objects) unless uncommented — the runbook must uncomment and never treat rc 0 alone as success.Type of Change
Scope
docs/audit/production-readiness/P2_PG18_VERIFICATION.md— new, +193 lines. No code, schema, migration, or CI changes.Validation
log_statement=ddlproof,initDatabase()end-to-end run, amcheck over all 400 indexes.INSERT INTOmatch is the quoted runbook SQL inside the report.Checklist
🤖 Generated with Claude Code
https://claude.ai/code/session_01MMnfvQvtgNQwiUvPJ4ff8Z
Generated by Claude Code