{
  "schemaVersion": 1,
  "description": "MoUI repository check profiles. This catalog is source metadata for scripts/check.mjs, not generated evidence.",
  "profiles": {
    "pr": {
      "description": "Fast pull-request gate: static guards, core package checks, and Web wasm-gc builds.",
      "steps": [
        {
          "name": "script lint (pr)",
          "argv": [
            "node",
            "scripts/lint-scripts.mjs",
            "--profile",
            "pr"
          ]
        },
        {
          "name": "check profile catalog",
          "argv": [
            "node",
            "scripts/validate-check-profiles.mjs"
          ]
        },
        {
          "name": "performance budget catalog",
          "argv": [
            "node",
            "scripts/validate-performance-budgets.mjs"
          ]
        },
        {
          "name": "performance budget validator tests",
          "argv": [
            "moon",
            "test",
            "tools/moui/validate_performance_budgets",
            "--target",
            "native"
          ]
        },
        {
          "name": "accessibility foundation",
          "argv": [
            "node",
            "scripts/validate-accessibility-foundation.mjs"
          ]
        },
        {
          "name": "platform matrix",
          "argv": [
            "node",
            "scripts/validate-platform-matrix.mjs"
          ]
        },
        {
          "name": "platform matrix validator tests",
          "argv": [
            "moon",
            "test",
            "tools/moui/validate_platform_matrix",
            "--target",
            "native"
          ]
        },
        {
          "name": "guidance consistency",
          "argv": [
            "node",
            "scripts/validate-guidance-consistency.mjs"
          ]
        },
        {
          "name": "doc references",
          "argv": [
            "node",
            "scripts/validate-doc-references.mjs"
          ]
        },
        {
          "name": "public API surface",
          "argv": [
            "node",
            "scripts/validate-api-surface.mjs"
          ]
        },
        {
          "name": "ViewNode declaration coverage",
          "argv": [
            "node",
            "scripts/validate-viewnode-declaration-coverage.mjs"
          ]
        },
        {
          "name": "ViewNode declaration coverage tests",
          "argv": [
            "moon",
            "test",
            "tools/moui/validate_viewnode_declaration_coverage",
            "--target",
            "native"
          ]
        },
        {
          "name": "dead message gate",
          "argv": [
            "node",
            "scripts/validate-dead-messages.mjs"
          ]
        },
        {
          "name": "root facade dependency boundary",
          "argv": [
            "node",
            "scripts/validate-root-facade-deps.mjs"
          ]
        },
        {
          "name": "release module dependency closures",
          "argv": [
            "node",
            "scripts/validate-release-module-closures.mjs"
          ]
        },
        {
          "name": "generated repository facts",
          "argv": [
            "node",
            "scripts/generate-repo-docs.mjs",
            "--check"
          ]
        },
        {
          "name": "window dependency",
          "argv": [
            "node",
            "scripts/validate-window-dependency.mjs"
          ]
        },
        {
          "name": "harness batch1 invariants",
          "argv": [
            "node",
            "scripts/validate-harness-invariants.mjs"
          ]
        },
        {
          "name": "maintenance baseline",
          "argv": [
            "node",
            "scripts/validate-maintenance-baseline.mjs"
          ]
        },
        {
          "name": "backend renderer boundary",
          "argv": [
            "node",
            "scripts/validate-backend-renderer-boundary.mjs"
          ]
        },
        {
          "name": "backend common boundary",
          "argv": [
            "node",
            "scripts/validate-backend-common-boundary.mjs"
          ]
        },
        {
          "name": "runtime state/render ownership",
          "argv": [
            "node",
            "scripts/validate-runtime-state-render-ownership.mjs"
          ]
        },
        {
          "name": "core theme no control surface",
          "argv": [
            "node",
            "scripts/validate-core-theme-no-control-surface.mjs"
          ]
        },
        {
          "name": "host import baseline",
          "argv": [
            "node",
            "scripts/validate-host-import-baseline.mjs"
          ]
        },
        {
          "name": "window host boundary",
          "argv": [
            "node",
            "scripts/validate-window-lifecycle-boundary.mjs"
          ]
        },
        {
          "name": "source file policy",
          "argv": [
            "moon",
            "-C",
            "tools",
            "run",
            "moui/validate_source_file_policy",
            "--target",
            "native",
            "--",
            "--repo-root",
            ".."
          ]
        },
        {
          "name": "studio i18n catalogs",
          "argv": [
            "node",
            "scripts/generate-i18n-catalogs.mjs",
            "--input",
            "moui_studio/app/i18n/catalogs.json",
            "--out",
            "moui_studio/app/i18n_catalog_generated.mbt",
            "--check"
          ]
        },
        {
          "name": "studio app tests",
          "argv": [
            "moon",
            "test",
            "moui_studio/app",
            "--target",
            "native"
          ]
        },
        {
          "name": "studio compiled runtime tests",
          "argv": [
            "moon",
            "test",
            "moui_studio/services/compiled_runtime",
            "--target",
            "native"
          ]
        },
        {
          "name": "studio diff matrix tests",
          "argv": [
            "moon",
            "test",
            "moui_studio/services/diff",
            "--target",
            "native"
          ]
        },
        {
          "name": "studio compile native tests",
          "argv": [
            "moon",
            "test",
            "moui_studio/services/compile_native",
            "--target",
            "native"
          ]
        },
        {
          "name": "studio export tests",
          "argv": [
            "moon",
            "test",
            "moui_studio/services/export",
            "--target",
            "native"
          ]
        },
        {
          "name": "cli scaffold generator tests",
          "argv": [
            "moon",
            "test",
            "moui_cli",
            "--target",
            "native"
          ]
        },
        {
          "name": "cli scaffold generator purity",
          "argv": [
            "moon",
            "test",
            "moui_cli/scaffold_plan",
            "--target",
            "wasm-gc"
          ]
        },
        {
          "name": "studio export kernel sync",
          "argv": [
            "moon",
            "run",
            "moui_studio/tools/sync_kernel",
            "--target",
            "native",
            "--",
            "--check"
          ]
        },
        {
          "name": "website docs catalog",
          "argv": [
            "node",
            "scripts/check-website-docs.mjs"
          ]
        },
        {
          "name": "renderer provider manifests",
          "argv": [
            "node",
            "scripts/validate-renderer-provider-manifests.mjs"
          ]
        },
        {
          "name": "renderer capability consistency",
          "argv": [
            "node",
            "scripts/validate-renderer-capability-consistency.mjs"
          ]
        },
        {
          "name": "renderer provider open extension",
          "argv": [
            "node",
            "scripts/validate-renderer-provider-open-extension.mjs"
          ]
        },
        {
          "name": "options field drift",
          "argv": [
            "node",
            "scripts/validate-options-field-drift.mjs"
          ]
        },
        {
          "name": "Skia entrypoints",
          "argv": [
            "node",
            "scripts/validate-skia-entrypoints.mjs"
          ]
        },
        {
          "name": "GPU promotion manifest example",
          "argv": [
            "node",
            "scripts/validate-gpu-promotion-manifest.mjs",
            "docs/gpu-promotion-manifest.example.json"
          ]
        },
        {
          "name": "GPU worker no-readback guard",
          "argv": [
            "node",
            "scripts/validate-gpu-worker-no-readback.mjs"
          ]
        },
        {
          "name": "smoke catalog",
          "argv": [
            "node",
            "scripts/smoke-check.mjs",
            "--check"
          ]
        },
        {
          "name": "MoonBit format",
          "argv": [
            "moon",
            "fmt",
            "--check"
          ]
        },
        {
          "name": "MoonBit workspace check",
          "argv": [
            "moon",
            "check"
          ]
        },
        {
          "name": "generated interface drift",
          "argv": [
            "node",
            "scripts/check-generated-interfaces.mjs"
          ]
        },
        {
          "name": "core tests",
          "argv": [
            "moon",
            "test",
            "moui/core",
            "--target",
            "native"
          ]
        },
        {
          "name": "views tests",
          "argv": [
            "moon",
            "test",
            "moui/views",
            "--target",
            "native"
          ]
        },
        {
          "name": "runtime tests",
          "argv": [
            "moon",
            "test",
            "moui/runtime",
            "--target",
            "native"
          ]
        },
        {
          "name": "rich text tests",
          "argv": [
            "moon",
            "test",
            "moui_richtext",
            "--target",
            "native"
          ]
        },
        {
          "name": "markdown addon tests",
          "argv": [
            "moon",
            "test",
            "moui_markdown",
            "--target",
            "native"
          ]
        },
        {
          "name": "WebView addon tests",
          "argv": [
            "moon",
            "test",
            "moui_webview",
            "--target",
            "native"
          ]
        },
        {
          "name": "Agent host tests",
          "argv": [
            "moon",
            "test",
            "moui_agent",
            "--target",
            "native"
          ]
        },
        {
          "name": "Agent MCP tests",
          "argv": [
            "moon",
            "test",
            "moui_agent_mcp",
            "--target",
            "native"
          ]
        },
        {
          "name": "Agent Counter tests",
          "argv": [
            "moon",
            "test",
            "examples/agent_counter",
            "--target",
            "native"
          ]
        },
        {
          "name": "render facade tests",
          "argv": [
            "moon",
            "test",
            "moui/render",
            "--target",
            "native"
          ]
        },
        {
          "name": "native text model tests",
          "argv": [
            "moon",
            "test",
            "moui/render/native_text",
            "--target",
            "native"
          ]
        },
        {
          "name": "host backend tests",
          "argv": [
            "moon",
            "test",
            "moui/backend",
            "--target",
            "native"
          ]
        },
        {
          "name": "desktop host services tests",
          "argv": [
            "moon",
            "test",
            "moui/backend/common/services/desktop",
            "--target",
            "native"
          ]
        },
        {
          "name": "embedded host services tests",
          "argv": [
            "moon",
            "test",
            "moui/backend/common/services/embedded",
            "--target",
            "native"
          ]
        },
        {
          "name": "native host services tests",
          "argv": [
            "moon",
            "test",
            "moui/backend/common/services/native",
            "--target",
            "native"
          ]
        },
        {
          "name": "backend lifecycle owner tests",
          "argv": [
            "moon",
            "test",
            "moui/backend/common/lifecycle",
            "--target",
            "native"
          ]
        },
        {
          "name": "backend frame owner tests",
          "argv": [
            "moon",
            "test",
            "moui/backend/common/frame",
            "--target",
            "native"
          ]
        },
        {
          "name": "backend image owner tests",
          "argv": [
            "moon",
            "test",
            "moui/backend/common/image",
            "--target",
            "native"
          ]
        },
        {
          "name": "backend input owner tests",
          "argv": [
            "moon",
            "test",
            "moui/backend/common/input",
            "--target",
            "native"
          ]
        },
        {
          "name": "backend services owner tests",
          "argv": [
            "moon",
            "test",
            "moui/backend/common/services",
            "--target",
            "native"
          ]
        },
        {
          "name": "renderer contract tests",
          "argv": [
            "moon",
            "test",
            "moui_tests/renderer_contract",
            "--target",
            "native"
          ]
        },
        {
          "name": "throwaway renderer extension test",
          "argv": [
            "moon",
            "test",
            "moui_tests/throwaway_renderer",
            "--target",
            "native"
          ]
        },
        {
          "name": "embedded runtime tests",
          "argv": [
            "moon",
            "test",
            "moui/backend/common/embedded",
            "--target",
            "native"
          ]
        },
        {
          "name": "webgpu adapter tests",
          "argv": [
            "moon",
            "test",
            "moui_web_renderer",
            "--target",
            "wasm-gc"
          ]
        },
        {
          "name": "web backend tests",
          "argv": [
            "moon",
            "test",
            "moui/backend/web",
            "--target",
            "wasm-gc"
          ]
        },
        {
          "name": "Showcase app tests",
          "argv": [
            "moon",
            "test",
            "examples/showcase/app",
            "--target",
            "native"
          ]
        },
        {
          "name": "Showcase Web build",
          "argv": [
            "moon",
            "build",
            "examples/showcase/web_wasm",
            "--target",
            "wasm-gc"
          ]
        },
        {
          "name": "New World app tests",
          "argv": [
            "moon",
            "test",
            "examples/new_world/app",
            "--target",
            "native"
          ]
        },
        {
          "name": "New World native transport tests",
          "argv": [
            "moon",
            "test",
            "examples/new_world/llm_native",
            "--target",
            "native"
          ]
        },
        {
          "name": "New World Web build",
          "argv": [
            "moon",
            "build",
            "examples/new_world/web_wasm",
            "--target",
            "wasm-gc"
          ]
        }
      ]
    },
    "daily": {
      "description": "Default maintainer gate: PR checks plus broader package and product-behavior coverage.",
      "includes": [
        "pr"
      ],
      "steps": [
        {
          "name": "prebuild validator syntax",
          "argv": [
            "node",
            "--check",
            "scripts/test-moui-prebuild.mjs"
          ]
        },
        {
          "name": "prebuild validator tests",
          "argv": [
            "node",
            "scripts/test-moui-prebuild.mjs"
          ]
        },
        {
          "name": "accessibility foundation validator tests",
          "argv": [
            "node",
            "scripts/test-accessibility-foundation.mjs"
          ]
        },
        {
          "name": "options field drift validator tests",
          "argv": [
            "node",
            "scripts/test-options-field-drift.mjs"
          ]
        },
        {
          "name": "grapheme fixture syntax",
          "argv": [
            "node",
            "--check",
            "scripts/generate-grapheme-break-fixtures.mjs"
          ]
        },
        {
          "name": "grapheme fixture check",
          "argv": [
            "node",
            "scripts/generate-grapheme-break-fixtures.mjs",
            "--check"
          ]
        },
        {
          "name": "Web Canvas2D lazy fallback tests",
          "argv": [
            "node",
            "scripts/test-web-canvas2d-lazy-fallback.mjs"
          ]
        },
        {
          "name": "Web bundle tool tests",
          "argv": [
            "node",
            "scripts/test-web-bundle-tools.mjs"
          ]
        },
        {
          "name": "i18n addon native tests",
          "argv": [
            "moon",
            "test",
            "moui_i18n",
            "--target",
            "native"
          ]
        },
        {
          "name": "i18n addon wasm-gc tests",
          "argv": [
            "moon",
            "test",
            "moui_i18n",
            "--target",
            "wasm-gc"
          ]
        },
        {
          "name": "i18n catalog generation check",
          "argv": [
            "node",
            "scripts/generate-i18n-catalogs.mjs",
            "--input",
            "website/app/i18n/catalogs.json",
            "--out",
            "website/app/i18n_catalog_generated.mbt",
            "--check"
          ]
        },
        {
          "name": "website showcase asset generation check",
          "argv": [
            "node",
            "scripts/gen-website-showcase-assets.mjs",
            "--check"
          ]
        },
        {
          "name": "Web semantics DOM tests",
          "argv": [
            "node",
            "scripts/test-web-semantics-dom.mjs"
          ]
        },
        {
          "name": "WebGPU runtime shader and text-selection tests",
          "argv": [
            "node",
            "scripts/test-webgpu-runtime-radial.mjs"
          ]
        },
        {
          "name": "Web browser route history tests",
          "argv": [
            "node",
            "scripts/test-browser-route-history.mjs"
          ]
        },
        {
          "name": "Skia renderer tests",
          "argv": [
            "moon",
            "test",
            "moui_skia_renderer",
            "--target",
            "native"
          ]
        },
        {
          "name": "Sun renderer tests",
          "argv": [
            "moon",
            "test",
            "moui_sun_renderer",
            "--target",
            "native"
          ]
        },
        {
          "name": "internal tester harness tests",
          "argv": [
            "moon",
            "test",
            "moui_tests/tester",
            "--target",
            "native"
          ]
        },
        {
          "name": "moui_devtools tests",
          "argv": [
            "moon",
            "test",
            "moui_devtools",
            "--target",
            "native"
          ]
        },
        {
          "name": "moui_skia tests",
          "argv": [
            "moon",
            "test",
            "moui_skia",
            "--target",
            "native"
          ]
        },
        {
          "name": "Web runtime handoff validation",
          "argv": [
            "node",
            "scripts/validate-web-runtime-handoff.mjs"
          ]
        },
        {
          "name": "capability consistency validator tests",
          "argv": [
            "moon",
            "test",
            "tools_product/moui/validate_renderer_capability_consistency",
            "--target",
            "native"
          ]
        },
        {
          "name": "doc references validator tests",
          "argv": [
            "moon",
            "-C",
            "tools",
            "test",
            "moui/validate_doc_references",
            "--target",
            "native"
          ]
        }
      ]
    },
    "platform": {
      "description": "Current-host platform contracts and platform-service checks.",
      "steps": [
        {
          "name": "platform matrix",
          "argv": [
            "node",
            "scripts/validate-platform-matrix.mjs"
          ]
        },
        {
          "name": "Linux RISC-V64 helper self-test",
          "host": "linux",
          "argv": [
            "bash",
            "scripts/test-linux-riscv64-cross-build.sh"
          ]
        },
        {
          "name": "shared platform service checks",
          "argv": [
            "node",
            "scripts/platform-services-check.mjs"
          ]
        },
        {
          "name": "macOS backend tests",
          "host": "darwin",
          "argv": [
            "moon",
            "test",
            "moui/backend/macos",
            "--target",
            "native"
          ]
        },
        {
          "name": "macOS Skia composition check",
          "host": "darwin",
          "argv": [
            "moon",
            "check",
            "examples/showcase/macos_skia",
            "--target",
            "native"
          ]
        },
        {
          "name": "Metal renderer tests",
          "host": "darwin",
          "argv": [
            "moon",
            "test",
            "moui_metal_renderer",
            "--target",
            "native"
          ]
        },
        {
          "name": "Metal text smoke",
          "host": "darwin",
          "argv": [
            "moon",
            "run",
            "moui_tests/metal_renderer_smoke/macos",
            "--target",
            "native"
          ]
        },
        {
          "name": "Metal first-frame presentation",
          "host": "darwin",
          "argv": [
            "sh",
            "scripts/macos-metal-presentation-smoke.sh"
          ]
        },
        {
          "name": "CoreText provider tests",
          "host": "darwin",
          "argv": [
            "moon",
            "test",
            "moui_text_providers/coretext",
            "--target",
            "native"
          ]
        },
        {
          "name": "Linux backend tests",
          "host": "linux",
          "argv": [
            "moon",
            "test",
            "moui/backend/linux",
            "--target",
            "native"
          ]
        },
        {
          "name": "Linux Skia composition check",
          "host": "linux",
          "argv": [
            "moon",
            "check",
            "examples/showcase/linux_skia",
            "--target",
            "native"
          ]
        },
        {
          "name": "Windows backend tests",
          "host": "windows",
          "argv": [
            "moon",
            "test",
            "moui/backend/windows",
            "--target",
            "native"
          ]
        },
        {
          "name": "Windows Skia composition check",
          "host": "windows",
          "argv": [
            "moon",
            "check",
            "examples/showcase/windows_skia",
            "--target",
            "native"
          ]
        }
      ]
    },
    "theme": {
      "description": "Design Systems addon diagnostics.",
      "steps": [
        {
          "name": "moui_theme common native",
          "argv": [
            "moon",
            "test",
            "moui_theme/common",
            "--target",
            "native"
          ]
        },
        {
          "name": "moui_theme common wasm-gc",
          "argv": [
            "moon",
            "test",
            "moui_theme/common",
            "--target",
            "wasm-gc"
          ]
        },
        {
          "name": "moui_theme material",
          "argv": [
            "moon",
            "test",
            "moui_theme/material",
            "--target",
            "native"
          ]
        },
        {
          "name": "moui_theme carbon",
          "argv": [
            "moon",
            "test",
            "moui_theme/carbon",
            "--target",
            "native"
          ]
        },
        {
          "name": "moui_theme primer",
          "argv": [
            "moon",
            "test",
            "moui_theme/primer",
            "--target",
            "native"
          ]
        },
        {
          "name": "moui_theme fluent",
          "argv": [
            "moon",
            "test",
            "moui_theme/fluent",
            "--target",
            "native"
          ]
        },
        {
          "name": "Design Systems app tests",
          "argv": [
            "moon",
            "test",
            "examples/design_systems/app",
            "--target",
            "native"
          ]
        },
        {
          "name": "Design Systems Web build",
          "argv": [
            "moon",
            "build",
            "examples/design_systems/web_wasm",
            "--target",
            "wasm-gc"
          ]
        }
      ]
    },
    "full": {
      "description": "Full local validation excluding real renderer/browser smoke: daily, platform, theme, text diagnostics, capture scaffolds, and current-host native example builds.",
      "includes": [
        "daily",
        "platform",
        "theme"
      ],
      "steps": [
        {
          "name": "script lint (full)",
          "argv": [
            "node",
            "scripts/lint-scripts.mjs",
            "--profile",
            "full"
          ]
        },
        {
          "name": "maintenance baseline full workspace hotspots",
          "argv": [
            "moon",
            "run",
            "tools/moui/validate_maintenance_baseline",
            "--target",
            "native",
            "--",
            "--scope",
            "full"
          ]
        },
        {
          "name": "stable text conformance",
          "argv": [
            "moon",
            "test",
            "moui_tests/text_conformance/native",
            "--target",
            "native"
          ]
        },
        {
          "name": "Web text conformance",
          "argv": [
            "moon",
            "test",
            "moui_tests/text_conformance/web",
            "--target",
            "wasm-gc"
          ]
        },
        {
          "name": "golden capture scaffold",
          "argv": [
            "node",
            "scripts/conformance-capture-scaffold.mjs",
            "--mode",
            "golden"
          ]
        },
        {
          "name": "benchmark capture scaffold",
          "argv": [
            "node",
            "scripts/conformance-capture-scaffold.mjs",
            "--mode",
            "benchmark"
          ]
        },
        {
          "name": "macOS Showcase native build",
          "host": "darwin",
          "argv": [
            "moon",
            "build",
            "examples/showcase/macos_skia",
            "--target",
            "native"
          ]
        },
        {
          "name": "Linux Showcase native build",
          "host": "linux",
          "argv": [
            "moon",
            "build",
            "examples/showcase/linux_skia",
            "--target",
            "native"
          ]
        },
        {
          "name": "Windows Showcase native build",
          "host": "windows",
          "argv": [
            "moon",
            "build",
            "examples/showcase/windows_skia",
            "--target",
            "native"
          ]
        }
      ]
    }
  }
}