{
  "version": "0.1.0",
  "classification": "original addition: local static reference contract",
  "owner": "Reference maintainer",
  "runtime": {
    "platform": "Static HTML, CSS and browser JavaScript. No application server, authentication service, database or API key is required.",
    "state": "Ephemeral UI state belongs to the containing control or page. No sample email address is sent to a server or retained across visits.",
    "requests": "Only same-site static resources are required to use the guide. Source citation links are explicit outbound navigation. Local form and demo actions must not make remote requests.",
    "analytics": "No analytics or telemetry is enabled. Browser test logs retain selectors and synthetic fixtures only. Product-side analytics and private audit events are unknown and outside scope.",
    "flags": "No remote feature flags or experiments. The versioned generator and CSS are the full local configuration.",
    "rollout": "Publish the checked site folder under the same private GSites name. Keep the prior package in repository history or an authorized backup for rollback. Any content repair requires a new evaluation freeze.",
    "offline": "A loaded static page remains readable if the connection drops. Navigation to an uncached page may fail at the browser level; no service-worker offline guarantee is claimed. Local fixtures continue without a backend."
  },
  "budgets": [
    {
      "id": "html-size",
      "threshold": "Each HTML page under 750 KiB before compression",
      "check": "Static file-size report; large ledgers stay in data files with readable page summaries."
    },
    {
      "id": "javascript-size",
      "threshold": "Local functional JavaScript under 150 KiB total before compression",
      "check": "Static file-size report; source SDKs and third-party scripts are not loaded by the guide."
    },
    {
      "id": "font-budget",
      "threshold": "No 21 MB SF Pro font in publication; local used WOFF2 subset files only",
      "check": "Published asset inventory and network crawl."
    },
    {
      "id": "render-reflow",
      "threshold": "No document horizontal overflow beyond 1 CSS px at 390, 768, 1440 and 1920 widths",
      "check": "tools/verify-render.cjs"
    },
    {
      "id": "control-response",
      "threshold": "Synchronous visible feedback for local toggles; explicit loading fixture has bounded completion and cancel/reset",
      "check": "Canonical pointer and keyboard control audit plus interaction tests."
    },
    {
      "id": "local-data",
      "threshold": "Search and list fixtures handle empty, long, malformed and duplicate records predictably without HTML injection",
      "check": "Content-state verification uses synthetic strings and stable record identifiers."
    },
    {
      "id": "motion",
      "threshold": "Reduced-motion mode stops decorative motion and preserves content and controls",
      "check": "Chromium reduced-motion and intermediate-frame comparison."
    }
  ],
  "securityAndPrivacy": {
    "credentials": "Do not request or store a TypeSafe API key in the reference. Render example credentials as visibly synthetic placeholders in code only.",
    "authentication": "The public console entry is a visual and interaction reconstruction. Provider sign-in and email delivery are not executed. Their local controls must explain the boundary with a visible result.",
    "forms": "Use synthetic addresses in tests. Validate before simulated completion, preserve the entered value after an error, and reset only when the user requests it.",
    "externalLinks": "Source citations use https and a visible destination. New-window links use rel=noopener noreferrer.",
    "unsafeContent": "Escape generated text and insert runtime data with textContent or fixed trusted templates. Do not evaluate strings or build executable URLs from input.",
    "destructiveActions": "The declared public reference has no deletion, payment, account change, administrative approval or destructive mutation. Extensions needing one require a separate product contract and are not inferred from this guide."
  },
  "supportMatrix": {
    "verified": "Installed Chromium through Playwright, desktop and emulated narrow viewports, pointer, keyboard, reduced motion and accessibility tree.",
    "unverified": "Real iOS/Android hardware, Safari, Firefox, voice control, switch hardware, and human screen-reader sessions. Use semantic native controls and perform those checks before claiming production support.",
    "standard": "WCAG 2.2 AA is the local target. Automated checks and explicit keyboard/focus/state probes are retained; they do not alone establish full conformance."
  }
}