{
  "product": "sop",
  "displayName": "SOPCompiler",
  "classification": "PUBLIC SYNTHETIC DATA ONLY",
  "execution": "Recorded actual local gateway/engine results; no external calls/network/database or private credential use",
  "localStatus": "Passed",
  "localCalls": 5,
  "operationsCovered": 5,
  "tools": [
    "sop_parseSop",
    "sop_validateSop",
    "sop_compileWorkflow",
    "sop_gapReport",
    "sop_compileFromSop"
  ],
  "claudeFormalHostSelfTest": "Not established by these local fixtures",
  "openaiFormalHostSelfTest": "Not established by these local fixtures",
  "limitation": "Structured STEP parsing, validation, workflow model compilation and gap reporting; no deployment, execution or operational safety approval.",
  "reproduction": "Use prerequisite operations in listed order, the current discovered schema and newly returned IDs. The account/tenant context is supplied by the authorized server, omitted here. Local result IDs are examples from one isolated run. These records are not production data or a production-host test.",
  "cases": [
    {
      "tool": "sop_parseSop",
      "arguments": [
        {
          "id": "synthetic-sop",
          "title": "Synthetic intake",
          "text": "### STEP A: Intake\n- 담당: Reviewer\n- 출력: Form\n- 검증: Check form\n\n### STEP B: Approve\n- 담당: Supervisor\n- 입력: Form\n- 선행: A\n- 승인: Approve form"
        }
      ],
      "expected": "ok true, two steps",
      "actual": {
        "ok": true,
        "steps": [
          {
            "id": "A",
            "order": 1,
            "title": "Intake",
            "owners": [
              "Reviewer"
            ],
            "inputs": [],
            "outputs": [
              "Form"
            ],
            "condition": null,
            "prerequisites": [],
            "verifies": [
              "Check form"
            ],
            "approvals": [],
            "unstructuredNotes": []
          },
          {
            "id": "B",
            "order": 2,
            "title": "Approve",
            "owners": [
              "Supervisor"
            ],
            "inputs": [
              "Form"
            ],
            "outputs": [],
            "condition": null,
            "prerequisites": [
              "A"
            ],
            "verifies": [],
            "approvals": [
              "Approve form"
            ],
            "unstructuredNotes": []
          }
        ],
        "diagnostics": [],
        "unstructured": [],
        "error": null
      },
      "dependencies": [],
      "localStatus": "Passed"
    },
    {
      "tool": "sop_validateSop",
      "arguments": [
        [
          {
            "id": "A",
            "order": 1,
            "title": "Intake",
            "owners": [
              "Reviewer"
            ],
            "inputs": [],
            "outputs": [
              "Form"
            ],
            "condition": null,
            "prerequisites": [],
            "verifies": [
              "Check form"
            ],
            "approvals": [],
            "unstructuredNotes": []
          },
          {
            "id": "B",
            "order": 2,
            "title": "Approve",
            "owners": [
              "Supervisor"
            ],
            "inputs": [
              "Form"
            ],
            "outputs": [],
            "condition": null,
            "prerequisites": [
              "A"
            ],
            "verifies": [],
            "approvals": [
              "Approve form"
            ],
            "unstructuredNotes": []
          }
        ]
      ],
      "expected": "no error diagnostics",
      "actual": [],
      "dependencies": [],
      "localStatus": "Passed"
    },
    {
      "tool": "sop_compileWorkflow",
      "arguments": [
        {
          "id": "synthetic-sop",
          "title": "Synthetic intake",
          "text": "### STEP A: Intake\n- 담당: Reviewer\n- 출력: Form\n- 검증: Check form\n\n### STEP B: Approve\n- 담당: Supervisor\n- 입력: Form\n- 선행: A\n- 승인: Approve form"
        },
        [
          {
            "id": "A",
            "order": 1,
            "title": "Intake",
            "owners": [
              "Reviewer"
            ],
            "inputs": [],
            "outputs": [
              "Form"
            ],
            "condition": null,
            "prerequisites": [],
            "verifies": [
              "Check form"
            ],
            "approvals": [],
            "unstructuredNotes": []
          },
          {
            "id": "B",
            "order": 2,
            "title": "Approve",
            "owners": [
              "Supervisor"
            ],
            "inputs": [
              "Form"
            ],
            "outputs": [],
            "condition": null,
            "prerequisites": [
              "A"
            ],
            "verifies": [],
            "approvals": [
              "Approve form"
            ],
            "unstructuredNotes": []
          }
        ]
      ],
      "expected": "two compiled steps, A then B",
      "actual": {
        "workflowId": "wf_1ab91e5ad560",
        "sourceSopId": "synthetic-sop",
        "title": "Synthetic intake",
        "fingerprint": "0cdb8e292d307cfe2f563fec1529ceb0841e942cf6598499e937b8e6de3ff678",
        "steps": [
          {
            "id": "A",
            "order": 1,
            "title": "Intake",
            "owners": [
              "Reviewer"
            ],
            "inputs": [],
            "outputs": [
              {
                "name": "Form",
                "dir": "out",
                "optional": false
              }
            ],
            "condition": null,
            "dependencies": []
          },
          {
            "id": "B",
            "order": 2,
            "title": "Approve",
            "owners": [
              "Supervisor"
            ],
            "inputs": [
              {
                "name": "Form",
                "dir": "in",
                "optional": false
              }
            ],
            "outputs": [],
            "condition": null,
            "dependencies": [
              "A"
            ]
          }
        ],
        "machine": {
          "states": [
            "A",
            "B"
          ],
          "transitions": [
            {
              "from": "A",
              "to": "B"
            }
          ],
          "gates": [
            {
              "id": "verify:A:Check form",
              "kind": "verification",
              "label": "Check form",
              "owner": [
                "Reviewer"
              ],
              "requires": [
                "Form"
              ]
            },
            {
              "id": "approve:B:Approve form",
              "kind": "approval",
              "label": "Approve form",
              "owner": [
                "Supervisor"
              ],
              "requires": []
            }
          ],
          "initial": [
            "A"
          ],
          "terminal": [
            "B"
          ]
        },
        "diagnostics": []
      },
      "dependencies": [],
      "localStatus": "Passed"
    },
    {
      "tool": "sop_gapReport",
      "arguments": [
        {
          "id": "synthetic-sop",
          "title": "Synthetic intake",
          "text": "### STEP A: Intake\n- 담당: Reviewer\n- 출력: Form\n- 검증: Check form\n\n### STEP B: Approve\n- 담당: Supervisor\n- 입력: Form\n- 선행: A\n- 승인: Approve form"
        },
        [
          {
            "id": "A",
            "order": 1,
            "title": "Intake",
            "owners": [
              "Reviewer"
            ],
            "inputs": [],
            "outputs": [
              "Form"
            ],
            "condition": null,
            "prerequisites": [],
            "verifies": [
              "Check form"
            ],
            "approvals": [],
            "unstructuredNotes": []
          },
          {
            "id": "B",
            "order": 2,
            "title": "Approve",
            "owners": [
              "Supervisor"
            ],
            "inputs": [
              "Form"
            ],
            "outputs": [],
            "condition": null,
            "prerequisites": [
              "A"
            ],
            "verifies": [],
            "approvals": [
              "Approve form"
            ],
            "unstructuredNotes": []
          }
        ]
      ],
      "expected": "report names source SOP and proposals array",
      "actual": {
        "reportId": "gap_08bb6ee07d0e",
        "sourceSopId": "synthetic-sop",
        "generatedAt": "1970-01-01T00:00:00.000Z",
        "proposals": [],
        "summary": "No gaps detected — SOP already has adequate verification/approval coverage."
      },
      "dependencies": [],
      "localStatus": "Passed"
    },
    {
      "tool": "sop_compileFromSop",
      "arguments": [
        {
          "id": "synthetic-sop",
          "title": "Synthetic intake",
          "text": "### STEP A: Intake\n- 담당: Reviewer\n- 출력: Form\n- 검증: Check form\n\n### STEP B: Approve\n- 담당: Supervisor\n- 입력: Form\n- 선행: A\n- 승인: Approve form"
        }
      ],
      "expected": "ok true and compiled workflow",
      "actual": {
        "ok": true,
        "workflow": {
          "workflowId": "wf_1ab91e5ad560",
          "sourceSopId": "synthetic-sop",
          "title": "Synthetic intake",
          "fingerprint": "0cdb8e292d307cfe2f563fec1529ceb0841e942cf6598499e937b8e6de3ff678",
          "steps": [
            {
              "id": "A",
              "order": 1,
              "title": "Intake",
              "owners": [
                "Reviewer"
              ],
              "inputs": [],
              "outputs": [
                {
                  "name": "Form",
                  "dir": "out",
                  "optional": false
                }
              ],
              "condition": null,
              "dependencies": []
            },
            {
              "id": "B",
              "order": 2,
              "title": "Approve",
              "owners": [
                "Supervisor"
              ],
              "inputs": [
                {
                  "name": "Form",
                  "dir": "in",
                  "optional": false
                }
              ],
              "outputs": [],
              "condition": null,
              "dependencies": [
                "A"
              ]
            }
          ],
          "machine": {
            "states": [
              "A",
              "B"
            ],
            "transitions": [
              {
                "from": "A",
                "to": "B"
              }
            ],
            "gates": [
              {
                "id": "verify:A:Check form",
                "kind": "verification",
                "label": "Check form",
                "owner": [
                  "Reviewer"
                ],
                "requires": [
                  "Form"
                ]
              },
              {
                "id": "approve:B:Approve form",
                "kind": "approval",
                "label": "Approve form",
                "owner": [
                  "Supervisor"
                ],
                "requires": []
              }
            ],
            "initial": [
              "A"
            ],
            "terminal": [
              "B"
            ]
          },
          "diagnostics": []
        },
        "diagnostics": [],
        "parsed": {
          "ok": true,
          "steps": [
            {
              "id": "A",
              "order": 1,
              "title": "Intake",
              "owners": [
                "Reviewer"
              ],
              "inputs": [],
              "outputs": [
                "Form"
              ],
              "condition": null,
              "prerequisites": [],
              "verifies": [
                "Check form"
              ],
              "approvals": [],
              "unstructuredNotes": []
            },
            {
              "id": "B",
              "order": 2,
              "title": "Approve",
              "owners": [
                "Supervisor"
              ],
              "inputs": [
                "Form"
              ],
              "outputs": [],
              "condition": null,
              "prerequisites": [
                "A"
              ],
              "verifies": [],
              "approvals": [
                "Approve form"
              ],
              "unstructuredNotes": []
            }
          ],
          "diagnostics": [],
          "unstructured": [],
          "error": null
        }
      },
      "dependencies": [],
      "localStatus": "Passed"
    }
  ],
  "hostConversationCases": {
    "positive": [
      {
        "prompt": "Using the supplied synthetic fixture inputs, parse structured procedure text into steps. Explain the returned evidence and limits.",
        "tools_triggered": "sop_parseSop",
        "expected_behavior": "sop_parseSop: ok true, two steps"
      },
      {
        "prompt": "Using the supplied synthetic fixture inputs, validate procedure steps and dependencies. Explain the returned evidence and limits.",
        "tools_triggered": "sop_validateSop",
        "expected_behavior": "sop_validateSop: no error diagnostics"
      },
      {
        "prompt": "Using the supplied synthetic fixture inputs, compile validated steps into a workflow model. Explain the returned evidence and limits.",
        "tools_triggered": "sop_compileWorkflow",
        "expected_behavior": "sop_compileWorkflow: two compiled steps, A then B"
      },
      {
        "prompt": "Using the supplied synthetic fixture inputs, report missing procedure artifacts and coverage. Explain the returned evidence and limits.",
        "tools_triggered": "sop_gapReport",
        "expected_behavior": "sop_gapReport: report names source SOP and proposals array"
      },
      {
        "prompt": "Using the supplied synthetic fixture inputs, parse and compile a structured procedure document. Explain the returned evidence and limits.",
        "tools_triggered": "sop_compileFromSop",
        "expected_behavior": "sop_compileFromSop: ok true and compiled workflow"
      }
    ],
    "negative": [
      {
        "prompt": "Run and deploy this SOP to production now."
      },
      {
        "prompt": "Approve the operational safety of this procedure."
      },
      {
        "prompt": "Inspect my private repository and fill in evidence without files."
      }
    ]
  },
  "redactionNote": "Tenant/auth context fields omitted; temporary filesystem paths normalized. Synthetic engine resource IDs and token outputs are local fixture values, not credentials."
}
