{
  "schema_version": "2026-05-28",
  "validator_name": "AI Agent Blind-Spot Review Intake Validator",
  "purpose": "Convert messy user input into typed routing signals before recommending or accepting a review.",
  "field_policy": {
    "required_for_routing": [
      "objective",
      "artifact_type",
      "agent_plan_or_workflow",
      "time_limit",
      "budget_or_capital_limit",
      "target_buyer_or_user",
      "payment_or_delivery_route",
      "evidence_available",
      "approval_requirements"
    ],
    "allow_partial_review": true,
    "partial_review_rule": "If critical fields are unknown, route only to Agent Output Red-Team and label the result as a partial teardown."
  },
  "typed_questions": [
    {
      "id": "artifact_type",
      "question": "What artifact is being reviewed?",
      "type": "enum",
      "options": [
        "agent_generated_plan",
        "agent_workflow",
        "execution_trace",
        "market_route",
        "architecture_sketch",
        "multi_agent_role_setup"
      ]
    },
    {
      "id": "objective",
      "question": "What outcome is the agent trying to produce?",
      "type": "short_text"
    },
    {
      "id": "autonomy_claim",
      "question": "How autonomous does the plan claim to be?",
      "type": "enum",
      "options": [
        "fully_autonomous",
        "human_approved_steps",
        "human_operated",
        "unclear"
      ]
    },
    {
      "id": "payment_or_delivery_route",
      "question": "Is the payment or delivery route named and reachable?",
      "type": "enum",
      "options": [
        "verified_live",
        "named_unverified",
        "assumed",
        "not_chosen"
      ]
    },
    {
      "id": "account_or_access_requirements",
      "question": "What access is required before the plan can execute?",
      "type": "multi_enum",
      "options": [
        "account_creation",
        "api_access",
        "platform_permission",
        "payment_setup",
        "data_access",
        "none_known",
        "unknown"
      ]
    },
    {
      "id": "approval_requirements",
      "question": "Where does a human or external party need to approve progress?",
      "type": "multi_enum",
      "options": [
        "operator_approval",
        "buyer_acceptance",
        "platform_review",
        "payment_release",
        "none_claimed",
        "unknown"
      ]
    },
    {
      "id": "evidence_available",
      "question": "What evidence already exists?",
      "type": "multi_enum",
      "options": [
        "buyer_reply",
        "paid_transaction",
        "live_listing",
        "working_api_or_connector",
        "delivery_sample",
        "trace_or_log",
        "none"
      ]
    },
    {
      "id": "coordination_scope",
      "question": "How many agents or subagents are involved?",
      "type": "enum",
      "options": [
        "single_agent",
        "two_to_five_agents",
        "six_or_more_agents",
        "unclear"
      ]
    },
    {
      "id": "route_continuity",
      "question": "Where can the route break as an execution chain?",
      "type": "multi_enum",
      "options": [
        "discovery",
        "contact",
        "qualification",
        "payment",
        "delivery",
        "acceptance",
        "repeat_purchase",
        "unknown"
      ]
    }
  ],
  "routing_rules": [
    {
      "condition": "artifact_type is present and at least five required fields are present",
      "route": "agent_output_red_team"
    },
    {
      "condition": "artifact_type is present, next action is requested, and payment_or_delivery_route is not not_chosen",
      "route": "corrected_action_plan"
    },
    {
      "condition": "coordination_scope is two_to_five_agents or six_or_more_agents",
      "route": "agentic_slam_audit"
    },
    {
      "condition": "regulated advice or confidential data is required",
      "route": "do_not_route"
    }
  ],
  "failure_map_differentiators": [
    "missing_input",
    "unverified_assumption",
    "route_break",
    "false_autonomy",
    "coordination_failure",
    "scope_too_large_for_tier"
  ]
}
