You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Make the deployed PostgreSQL schema discoverable and reviewable without treating EF Core's CLR model as the complete source of truth.
Scope
Generate a readable ERD committed under docs/.
Generate a companion schema catalog with tables, columns/types/nullability/defaults, primary and unique keys, foreign keys/delete actions, check constraints, indexes (including predicates and expression indexes), and relationships.
Derive both artifacts from an ephemeral PostgreSQL database migrated by the repository migrations, so raw SQL migration details such as expression/partial indexes are represented.
Provide a deterministic developer/CI-friendly generator and a check mode that detects stale generated artifacts.
Add tests/guards for generator determinism and coverage of PostgreSQL-specific index details.
Add an AGENTS.md rule: every schema migration must regenerate and commit the documentation; generated artifacts are never hand-edited.
Non-goals
No changes to application data model or production database.
No live database credentials or production schema introspection.
No editing or regenerating the frozen InitialCreate migration.
Acceptance criteria
The generated ERD is readable in GitHub and links to the complete catalog.
The catalog includes every table, FK relationship, PK/unique key, check constraint, index definition, and index predicate/expression in the migration-created Postgres schema.
A clean checkout can generate the exact committed output using documented prerequisites.
CI/test verification fails when the generated documentation is stale after a schema change.
Activity
chore(#417): quality-review pass — empty-generation belt, CI-matched …
fix(#417): codex round 1 — unconditional build, broad path guard, col…
fix(#417): codex round 2 — discovery-first pin sweep, page-scoped row…
fix(#417): mount the sim Postgres volume at the 18.x mount point
fix(#417): codex round 3 — untagged-image detection, column metadata,…
fix(#417): codex round 4 — exact type comparison, assembly-leak detec…
fix(#417): codex round 5 — detect digest-only postgres references
fix(#417): codex round 6 — interpolated-tag detection, sim README vol…
fix(#417): codex round 7 — whole-image variable detection, partitione…
fix(#417): codex round 8 — token-bound the whole-image variable detector
fix(#417): codex round 9 — parameter-expansion operators in the whole…
fix(#417): codex round 10 — judge interpolated image declarations as …
fix(#417): codex round 11 — refuse image values deferred past the dec…
fix(#417): codex round 12 — trailing comments on deferred image decla…
91 remaining items
fix(#417): codex round 106 — refuse constant-conditional fragment sel…
chore(schema): generate PostgreSQL schema documentation (#460)
feat(auth): add ApplicationUser.StepUpLogoutEpoch column (#338)
feat(auth): add ApplicationUser.StepUpLogoutEpoch column (#338)
feat(auth): add ApplicationUser.StepUpLogoutEpoch column (#338)
feat(auth): add ApplicationUser.StepUpLogoutEpoch column (#338) (#554)
feat(sales): snapshot the list price on the order line and show the d…
feat(sales): require a discount reason when confirming a below-list o…
feat(sales): refuse an over-ceiling confirm from a Sales user (#727) (#…
test(arch): generate the coupling matrix from the ledger and the thre…
docs: keep cross-directory rules in root; route every trigger path in…