basquetWi + New ticket
enamel ENAMEL-13

Split shared app.bypass_immutable GUC per-guard (enamel half)

Done high dedb-enamel-cc

Shared GUC app.bypass_immutable split per-guard across the enamel+terra shared ref eprpywqwzsvrjeaforei: setting the shared name disarmed BOTH tenants' guards, so a terra heal unlocked enamel's append-only appEvents. Hard cutover, fail-closed, two migrations (terra_11 terra-side, enamel_022 enamel-side). Enamel half also required enamel_023A2 to pin 11 functions with pg_temp first, in forced order (enamel_022 pins fn_forbidAppEventsMutation, which trips A2's all-unpinned precondition guard if applied first). Applied 2026-07-31: A2 md5 9ab4e3dda53e62f655093413093fda90 (schema_migrations 20260731134829), 022 md5 273610d853db165a2b69b7333fa8b1ea (20260731134905). audit-enamel-ca APPLY VERIFIED/PASS on independent read-back: 11/11 pinned, fn_forbidAppEventsMutation exact proconfig 'search_path=pg_catalog, pg_temp', INVOKER, expected ACL/owner/trigger, replacement GUC intact, 0 functions in ANY schema still calling the retired name, terra prerequisite gate passed. enamel_023A3 (index rebuild) WITHDRAWN PERMANENTLY - its mechanism 'a rebuild forces relcache invalidation' was measured FALSE. enamel_023A (already-pinned half) remains unapplied and open.

Sub-tickets

No sub-tickets.
+ Add sub-ticket

Questions

No questions.

Activity

  • wi-cli-venus created · 2w ago
  • wi-cli-venus completed · 2w ago
    Applied 2026-07-31 in forced order A2 then 022, both read back independently; audit-enamel-ca APPLY VERIFIED/PASS. Shared-GUC coupling closed on both tenants: 0 functions in any schema call the retired name. Filed retroactively - the campaign ran unfiled and tracking never gates a fix.
task
2w ago by wi-cli-venus
2w ago
2026-07-31 13:51