{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "$id": "anu_v3/schemas/default_profile_resolution.schema.json",
  "title": "Default profile resolution decision (task-2553+52 / Track 3)",
  "description": "Static meta-schema for anu_v3.default_profile_resolver decision output. The default dispatch-planning path selects a policy_profile from goal_type + boundary ALONE (no chair-supplied policy_profile.name) and consumes the C1 engine read-only. status is a fail-closed 4-state. Additive — engine/seam byte-0 preserved.",
  "type": "object",
  "required": [
    "schema", "resolver", "resolver_version", "status",
    "profile_bound", "auto_apply", "goal_id", "goal_type",
    "resolved_profile_name", "boundary_expansion", "default_path"
  ],
  "additionalProperties": true,
  "properties": {
    "schema": { "type": "string", "const": "anu_v3.default_profile_resolver.decision.v1" },
    "resolver": { "type": "string", "minLength": 1 },
    "resolver_version": { "type": "string", "minLength": 1 },
    "status": {
      "type": "string",
      "enum": ["RESOLVED", "DEFAULT_RESOLUTION_REFUSED", "PROFILE_CONFLICT", "HOLD_FOR_CHAIR"]
    },
    "profile_bound": { "type": "boolean" },
    "auto_apply": { "type": "boolean" },
    "default_path": { "type": "boolean" },
    "dispatch_lifecycle_effect": { "type": "string", "const": "none" },
    "goal_id": { "type": "string" },
    "goal_type": { "type": "string" },
    "resolved_profile_name": { "type": ["string", "null"] },
    "profile_id": { "type": "string" },
    "profile_version": { "type": "string" },
    "mapping_source": { "type": ["string", "null"] },
    "boundary_expansion": {
      "type": "object",
      "description": "boundary -> gate/HOLD/forbidden expansion surfaced from the engine resolution (§3.3).",
      "additionalProperties": true,
      "properties": {
        "explicit_boundary": { "type": "array", "items": { "type": "string" } },
        "gate_condition_names": { "type": "array", "items": { "type": "string" } },
        "hold_trigger_conditions": { "type": "array", "items": { "type": "string" } },
        "allowed_actions": { "type": "array", "items": { "type": "string" } },
        "forbidden_actions": { "type": "array", "items": { "type": "string" } }
      }
    },
    "refusal_code": { "type": ["string", "null"] },
    "refusal_reason": { "type": ["string", "null"] },
    "engine_decision": { "type": ["object", "null"] }
  }
}
