{
  "schemaVersion": 1,
  "recipeContractVersion": "1.1.0",
  "scenarioContractVersion": "1.9.0",
  "recipeSourceSha256": "97ab56bc54149f32ea16577369c4ec29579b516ea464cb42010b31e4dc413e60",
  "scenarioSourceSha256": "c2a8910c136f08c0c33c3f7f5e78302a0723a35ab8506c3dbdee53634e2c5df3",
  "recipes": [
    {
      "code": "T01",
      "type": "list",
      "canonicalScenarioIds": [
        "scenario.oms.order-list.bulk-ship",
        "scenario.oms.order-list.all-filtered-ship"
      ],
      "scenarioKinds": [
        "contract",
        "e2e"
      ],
      "tags": [
        "all-filtered",
        "audit",
        "bulk",
        "filter-snapshot",
        "golden-screen",
        "idempotency",
        "outbox"
      ],
      "evidence": [
        "api-transcript",
        "correlation-ids",
        "db-assertions",
        "playwright-trace",
        "screenshot",
        "vitest-contract"
      ],
      "requiredChecks": [
        "idle-search",
        "refresh-retains-context",
        "bulk-partial-result",
        "safe-drilldown"
      ],
      "missingScenarioKinds": [],
      "missingTags": [],
      "missingEvidence": [],
      "complete": true
    },
    {
      "code": "T02",
      "type": "master",
      "canonicalScenarioIds": [
        "scenario.erp.item-master.lifecycle",
        "scenario.erp.item-master.keyboard-recovery"
      ],
      "scenarioKinds": [
        "e2e",
        "integration"
      ],
      "tags": [
        "audit",
        "concurrency",
        "golden-screen",
        "keyboard",
        "master-crud",
        "permission",
        "recovery",
        "state-policy"
      ],
      "evidence": [
        "api-transcript",
        "db-assertions",
        "playwright-trace",
        "problem-json",
        "screenshot"
      ],
      "requiredChecks": [
        "permission-aware-save",
        "dirty-guard",
        "conflict-reload",
        "audit-visible"
      ],
      "missingScenarioKinds": [],
      "missingTags": [],
      "missingEvidence": [],
      "complete": true
    },
    {
      "code": "T03",
      "type": "transaction",
      "canonicalScenarioIds": [
        "scenario.oms.order-register.keyboard",
        "scenario.oms.order-register.conflict",
        "scenario.oms.order-register.lifecycle"
      ],
      "scenarioKinds": [
        "e2e",
        "integration"
      ],
      "tags": [
        "audit",
        "concurrency",
        "conflict",
        "golden-screen",
        "keyboard",
        "lookup",
        "recovery",
        "state-policy",
        "transaction",
        "validation",
        "workflow"
      ],
      "evidence": [
        "api-transcript",
        "db-assertions",
        "playwright-trace",
        "problem-json",
        "screenshot"
      ],
      "requiredChecks": [
        "f2-lookup",
        "f8-save",
        "row-key-validation",
        "conflict-recovery"
      ],
      "missingScenarioKinds": [],
      "missingTags": [],
      "missingEvidence": [],
      "complete": true
    },
    {
      "code": "T04",
      "type": "fast-entry",
      "canonicalScenarioIds": [
        "scenario.erp.item-price.fast-entry",
        "scenario.oms.order-register.fast-entry"
      ],
      "scenarioKinds": [
        "contract",
        "e2e"
      ],
      "tags": [
        "audit",
        "fast-entry",
        "fill-down",
        "golden-screen",
        "idempotency",
        "inline-validation",
        "lookup",
        "outbox",
        "paste"
      ],
      "evidence": [
        "api-transcript",
        "component-catalog",
        "db-assertions",
        "playwright-trace",
        "problem-json",
        "vitest-contract"
      ],
      "requiredChecks": [
        "multi-cell-paste",
        "fill-down",
        "error-navigation",
        "partial-save-result"
      ],
      "missingScenarioKinds": [],
      "missingTags": [],
      "missingEvidence": [],
      "complete": true
    },
    {
      "code": "T05",
      "type": "master-detail",
      "canonicalScenarioIds": [
        "scenario.erp.inventory.master-detail-context"
      ],
      "scenarioKinds": [
        "e2e"
      ],
      "tags": [
        "context-retention",
        "drill-down",
        "golden-screen",
        "history",
        "master-detail"
      ],
      "evidence": [
        "api-transcript",
        "playwright-trace",
        "screenshot"
      ],
      "requiredChecks": [
        "master-selection-context",
        "detail-error-retains-master",
        "history-context",
        "safe-drilldown"
      ],
      "missingScenarioKinds": [],
      "missingTags": [],
      "missingEvidence": [],
      "complete": true
    },
    {
      "code": "T06",
      "type": "queue",
      "canonicalScenarioIds": [
        "scenario.common.operations.stale-event",
        "scenario.integration.manual-retry.idempotent",
        "scenario.common.operations.queue-recovery"
      ],
      "scenarioKinds": [
        "e2e",
        "integration"
      ],
      "tags": [
        "context-retention",
        "exception",
        "golden-screen",
        "idempotency",
        "integration",
        "manual-retry",
        "ordering",
        "outbox",
        "permission",
        "projection",
        "queue",
        "recovery"
      ],
      "evidence": [
        "api-transcript",
        "correlation-ids",
        "db-assertions",
        "playwright-trace",
        "projection-event-log",
        "screenshot"
      ],
      "requiredChecks": [
        "exception-first",
        "detail-context-retention",
        "retryable-vs-terminal",
        "partial-action-result"
      ],
      "missingScenarioKinds": [],
      "missingTags": [],
      "missingEvidence": [],
      "complete": true
    },
    {
      "code": "T07",
      "type": "reconcile",
      "canonicalScenarioIds": [
        "scenario.common.reconcile.grace-period",
        "scenario.common.reconcile.mismatch-recovery"
      ],
      "scenarioKinds": [
        "e2e",
        "integration"
      ],
      "tags": [
        "context-retention",
        "eventual-consistency",
        "golden-screen",
        "mismatch-filter",
        "reconcile",
        "recovery"
      ],
      "evidence": [
        "api-transcript",
        "clock-snapshot",
        "db-assertions",
        "playwright-trace",
        "screenshot"
      ],
      "requiredChecks": [
        "mismatch-only-filter",
        "grace-period",
        "resolution-retry",
        "comparison-context"
      ],
      "missingScenarioKinds": [],
      "missingTags": [],
      "missingEvidence": [],
      "complete": true
    },
    {
      "code": "T08",
      "type": "import",
      "canonicalScenarioIds": [
        "scenario.oms.order-import.partial"
      ],
      "scenarioKinds": [
        "e2e"
      ],
      "tags": [
        "excel",
        "job",
        "mapping",
        "partial-success",
        "staging"
      ],
      "evidence": [
        "api-transcript",
        "db-assertions",
        "error-workbook-metadata",
        "import-session-snapshot",
        "playwright-trace",
        "problem-json"
      ],
      "requiredChecks": [
        "mapping-isolation",
        "validation-download",
        "commit-confirm",
        "job-refresh-recovery"
      ],
      "missingScenarioKinds": [],
      "missingTags": [],
      "missingEvidence": [],
      "complete": true
    },
    {
      "code": "T09",
      "type": "wms-mobile",
      "canonicalScenarioIds": [
        "scenario.wms.picking.idempotent-replay",
        "scenario.wms.picking.wrong-item"
      ],
      "scenarioKinds": [
        "e2e"
      ],
      "tags": [
        "business-error",
        "golden-screen",
        "idempotency",
        "network",
        "retry-policy",
        "scanner"
      ],
      "evidence": [
        "api-transcript",
        "db-assertions",
        "playwright-trace",
        "scanner-event-log"
      ],
      "requiredChecks": [
        "scan-normalization",
        "server-before-success",
        "response-loss-replay",
        "wrong-item-no-retry"
      ],
      "missingScenarioKinds": [],
      "missingTags": [],
      "missingEvidence": [],
      "complete": true
    }
  ]
}
