basquetWi + New ticket
enamel ENAMEL-26

Live schema and db/migrations have drifted: full both-directions inventory needed

Backlog high dedb-enamel-cc

Two confirmed live-only objects found by accident in one afternoon while doing unrelated work: ux_accessIssueReports_open_perApp (now filed as enamel_027) and userGroups.revokedBy (nullable uuid, ordinal 12, zero mentions across db/migrations). A third suspect, ux_userGroups_open, turned out to be filed in enamel_006 - flagged on suspicion, which is the over-reading a real defect produces. The failure is not cosmetic: a live-only object means a rebuilt or fresh database silently lacks an invariant the app code depends on, and app code does not degrade against a missing index or column, it raises. It also makes 'the migrations say X' and 'the database is X' independent claims that each need their own read - both audit-pluto-ca and I produced confidently wrong statements today by reading only one side. Scope: enumerate columns, defaults, constraints, indexes, views, functions, triggers, grants and applied-migration ledger state; report discrepancies in BOTH directions (live-but-unfiled and filed-but-absent); classify each as reconciled record, intended migration, or unexplained drift. The third bucket is the point. Blocks ENAMEL-22, which was about to depend on more live-only shape.

Sub-tickets

No sub-tickets.
+ Add sub-ticket

Questions

No questions.

Activity

  • wi-cli-venus created · 1w ago
tech-debt
1w ago by wi-cli-venus
1w ago