Skip to content

v1.25.0 — global-classes governance (design-token reversal gap closed)

Choose a tag to compare

@BenKalsky BenKalsky released this 08 Jul 13:27
d234b80

Global-classes governance (winning-plan P2, plank 2) — the Class Manager writers (create / update / delete-global-class) now snapshot-before-write + roll back on failure, closing the last design-token reversal gap. All Elementor design-token writes (pages, kit, global classes) are now snapshot-reversible under SiteAgent governance.

In Elementor 4.x a global class is its own CPT post (e_global_class), indexed by kit meta, and a delete cascades (rewrites every page whose _elementor_data referenced it). Reversing that is a multi-post transaction — kit index + sync-to-v3 map + class CPT posts + reverse usage index + cascade pages — captured in ONE snapshot_posts() call (SiteAgent's plank-2a primitive) for a single-restore rollback.

  • Each writer declares meta.governance.scope = 'global-classes'; a lazy before_global_classes_write() at the repo write site snapshots the whole transaction. apply-global-class stays page-governed.
  • Fail-closed on every un-reversible edge: no active kit, unresolvable cascade, SiteAgent lacking snapshot_posts, or an in-use class whose reverse index is empty (its pages found only via the multi-valued used_classes fallback the single-valued snapshot can't restore).
  • Corrected the delete-global-class description (Elementor does cascade page rewrites — verified against 4.1.4).

Converged over a 5-round Claude↔Codex review (3 P2 fixes: reverse usage index, fallback fail-closed, sync-to-v3 map; 1 false positive refuted). Full suite 722 green.

Requires SiteAgent's snapshot_posts primitive for global-class governance; standalone the writers behave as before.