{
  "version": "0.1.0",
  "skill": "omniverse-cad-to-simready",
  "cases": [
    {
      "id": "cad-to-simready-end-to-end-positive",
      "question": "Take this STEP assembly from source CAD to a SimReady prop, including conversion, conformance, validation, and package metadata if possible.",
      "expected_skill": "omniverse-cad-to-simready",
      "expected_script": null,
      "ground_truth": "The agent should select the CAD-to-SimReady workflow, treat it as an end-to-end source-asset to SimReady request, run or verify preflight first, and coordinate conversion, validation, conformance, optional property assignment, and packaging through nested references.",
      "expected_behavior": [
        "Reads skills/omniverse-cad-to-simready/SKILL.md.",
        "Classifies the request as an end-to-end CAD/source-asset to SimReady workflow.",
        "Runs the preflight reference or verifies an existing PHYSICAL_AI_PREFLIGHT_MANIFEST before downstream stages.",
        "Routes source conversion through references/convert-to-usd instead of inventing a monolithic runner.",
        "Runs validation and conformance stages in workflow order and reports the first blocking gate."
      ]
    },
    {
      "id": "cad-to-simready-conversion-only-positive",
      "question": "Use the repo-local omniverse-cad-to-simready workflow on skills/omniverse-cad-to-simready/evals/files/minimal_mesh.stl. Skip property prediction and assignment. Convert it to USD and run minimum validation only.",
      "expected_skill": "omniverse-cad-to-simready",
      "expected_script": null,
      "ground_truth": "The agent should keep this as a conversion-only CAD-to-SimReady workflow slice, skip Content Agents deployment, route the STL mesh source through convert-to-usd, and hand the generated USD to minimum validation.",
      "expected_behavior": [
        "Reads skills/omniverse-cad-to-simready/SKILL.md.",
        "Sets property_assignment_intent to skip because the prompt disables property prediction and assignment.",
        "Uses preflight with Content Agents skipped or verifies an existing ready preflight manifest.",
        "Runs or plans references/convert-to-usd/scripts/run.py for the STL input.",
        "Runs or plans validate-usd-minimum on the converted USD and does not continue into full SimReady packaging."
      ]
    },
    {
      "id": "cad-to-simready-viewer-distractor-negative",
      "question": "Build a browser-based RTX USD viewer with camera controls, object picking, a stage tree, and render settings.",
      "expected_skill": null,
      "expected_script": null,
      "ground_truth": "This is a realtime USD viewer application request, not a CAD/source-asset to SimReady conversion workflow.",
      "expected_behavior": [
        "Does not select omniverse-cad-to-simready.",
        "Does not run CAD conversion, SimReady conformance, or SimReady package creation steps.",
        "Routes to a viewer-oriented skill if one is available."
      ]
    },
    {
      "id": "cad-to-simready-content-agents-blocked",
      "question": "Convert this source asset to a SimReady USD and use Content Agents to assign material and physics properties, but no Content Agents endpoints or NVIDIA_API_KEY are configured.",
      "expected_skill": "omniverse-cad-to-simready",
      "expected_script": null,
      "ground_truth": "The agent should select the CAD-to-SimReady workflow, recognize that property assignment requires Content Agents readiness, and report the missing deployment/authentication blocker instead of claiming property assignment succeeded.",
      "expected_behavior": [
        "Reads skills/omniverse-cad-to-simready/SKILL.md.",
        "Sets property_assignment_intent to run because material and physics property assignment is requested.",
        "Checks for healthy Content Agents endpoints or deployment credentials before conversion and downstream validation.",
        "Reports missing Content Agents endpoints or NVIDIA_API_KEY as a blocker.",
        "Does not claim material or physics assignment succeeded."
      ]
    }
  ]
}
