{
  "version": 1,
  "before_build": {
    "required": [
      "get_kit",
      "check_updates",
      "list_themes",
      "build_page",
      "validate_combination"
    ],
    "refuse_if": [
      "no brand intent",
      "no primary action",
      "no responsive strategy",
      "no reduced-motion strategy",
      "unverified claims"
    ]
  },
  "composition": {
    "acts": "5-7",
    "patterns_per_act": "2-4",
    "max_pattern_reuse": 2,
    "viewport_heights": "12-18",
    "heavy_spectacles": 1,
    "density": "alternate loud and quiet",
    "forbidden": [
      "pattern-per-section catalogue stacking",
      "generic centered SaaS container",
      "numbered filler cadence",
      "features/benefits/solution filler",
      "menu chrome leaking into the customer site"
    ]
  },
  "motion": {
    "physics": "one Lenis/GSAP family per page",
    "constants": "preserve extracted easing, duration, lerp and shader values",
    "out_of_view": "destroy and remount cleanly",
    "minor_mount_margin": "600px",
    "major_mount_margin": "160px",
    "max_live_contexts": 4,
    "reduced_motion": "no Lenis; readable static state; no heavy download"
  },
  "responsive": {
    "desktop": "full composition",
    "mobile": "reduced effect tier; no overflow; primary action never clipped",
    "touch_targets": "44px minimum",
    "keyboard": "visible focus and complete navigation"
  },
  "truth": [
    "claims match verified product data",
    "real assets or explicitly labelled placeholders",
    "pricing and entitlements match the gate",
    "record manifest version with generated code"
  ],
  "verification": [
    "typecheck",
    "lint",
    "format",
    "desktop screenshot",
    "mobile screenshot",
    "alignment measurement",
    "reduced-motion pass",
    "console-error pass",
    "lifecycle fast-scroll pass",
    "accessibility audit",
    "cold public route pass"
  ],
  "delivery": "production only through bash ship.sh; generated artifacts must be regenerated from canonical sources"
}
