{
  "pack": "zeus-performance-100y-v2",
  "version": "1.0.0",
  "freezeDate": "2026-05-06",
  "nextReviewYear": 2031,
  "horizonYear": 2076,
  "provenanceRoot": "3911a0aef0d5ffa0cd7796c7931f8353bbffcce845ae09a155e4c4a55ed1f8e2",
  "owner": {
    "name": "Vladoi Ionut",
    "email": "vladoi_ionut@yahoo.com",
    "btc": "bc1q4f7e66z87mdfj56kz0dj5hvcnpmh0qh4wuv22e"
  },
  "timestamp": "2026-06-10T18:23:04.029Z",
  "title": "Anti-Layout-Thrash Pledge — Forced-Reflow Blacklist",
  "purpose": "A public list of DOM API patterns banned from the codebase because they trigger synchronous layout. Each entry includes measured cost and approved alternative.",
  "blacklist": [
    {
      "api": "offsetWidth in a loop",
      "cost_ms": "O(n) per iteration",
      "alternative": "measure once, cache"
    },
    {
      "api": "getBoundingClientRect after style write",
      "cost_ms": "forces layout",
      "alternative": "batch reads before writes (FLIP)"
    },
    {
      "api": "scrollTop after style mutation",
      "cost_ms": "forces layout",
      "alternative": "use ResizeObserver"
    },
    {
      "api": "getComputedStyle in event loop",
      "cost_ms": "forces style recalc",
      "alternative": "CSS custom properties + style-only state"
    },
    {
      "api": "innerText reads",
      "cost_ms": "forces layout",
      "alternative": "textContent (no layout)"
    }
  ],
  "enforcement": "CI lint rejects any of the above patterns in source. Runtime PerformanceObserver(layout-shift) caps total CLS at 0.05 hardcap."
}