{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://spec-first.dev/schemas/spec-app-consistency-audit/preflight.schema.json",
  "title": "spec-app-consistency-audit preflight artifact",
  "type": "object",
  "required": [
    "schema_version",
    "artifact_id",
    "generated_at",
    "source_inputs",
    "consumers",
    "contract_status",
    "data_sensitivity",
    "project_type",
    "platforms",
    "architecture_candidates",
    "has_prd",
    "has_figma_context",
    "has_figma_reference",
    "has_figma_materialized_context",
    "has_analytics",
    "has_i18n",
    "has_component_system",
    "has_modular_structure",
    "has_testability_signals",
    "has_local_cache_or_storage",
    "has_security_sensitive_surfaces",
    "figma_context_mode",
    "default_runtime_mode",
    "requires_device_by_default",
    "degraded_modes",
    "inputs"
  ],
  "properties": {
    "schema_version": { "const": "spec-app-consistency-audit-preflight.v1" },
    "artifact_id": { "const": "preflight" },
    "generated_at": { "type": "string" },
    "source_inputs": { "type": "array", "minItems": 1 },
    "consumers": { "type": "array", "minItems": 1, "items": { "type": "string" } },
    "contract_status": { "const": "candidate" },
    "data_sensitivity": { "enum": ["public", "internal", "confidential", "restricted"] },
    "project_type": { "type": "string" },
    "platforms": { "type": "array", "items": { "type": "string" } },
    "architecture_candidates": { "type": "array", "items": { "type": "string" } },
    "has_prd": { "type": "boolean" },
    "has_figma_context": { "type": "boolean" },
    "has_figma_reference": { "type": "boolean" },
    "has_figma_materialized_context": { "type": "boolean" },
    "has_analytics": { "type": "boolean" },
    "has_i18n": { "type": "boolean" },
    "has_component_system": { "type": "boolean" },
    "has_modular_structure": { "type": "boolean" },
    "has_testability_signals": { "type": "boolean" },
    "has_local_cache_or_storage": { "type": "boolean" },
    "has_security_sensitive_surfaces": { "type": "boolean" },
    "figma_context_mode": { "enum": ["none", "mcp_reference_only", "materialized_json"] },
    "default_runtime_mode": { "const": "static_only" },
    "requires_device_by_default": { "const": false },
    "degraded_modes": { "type": "array" },
    "inputs": { "type": "object" }
  },
  "additionalProperties": true
}
