{
  "issuer": "Astera Technology",
  "resource": "ops-route-first-match-shadowing",
  "locale": "en",
  "contract": "This original local rule list uses first match. R-general matches any known category and sends it to General; R-exports matches exports and sends it to Exports. The fallback is Intake. A null category is unresolved and remains with the named Intake owner; no conditional route is declared selected. The list is only a draft, never a live routing table.",
  "input": {
    "category": "exports",
    "fallback": "Intake",
    "rules": [
      {
        "id": "R-general",
        "match": "any",
        "queue": "General"
      },
      {
        "id": "R-exports",
        "match": "equals",
        "value": "exports",
        "queue": "Exports"
      }
    ]
  },
  "output": {
    "ok": true,
    "state": "complete",
    "result": {
      "queue": "General",
      "rule": "R-general",
      "shadowed": [
        "R-exports"
      ]
    },
    "trace": [
      {
        "id": "R-general",
        "queue": "General",
        "matches": true
      },
      {
        "id": "R-exports",
        "queue": "Exports",
        "matches": true
      }
    ]
  },
  "verificationCases": [
    {
      "name": "baseline",
      "input": {
        "category": "exports",
        "fallback": "Intake",
        "rules": [
          {
            "id": "R-general",
            "match": "any",
            "queue": "General"
          },
          {
            "id": "R-exports",
            "match": "equals",
            "value": "exports",
            "queue": "Exports"
          }
        ]
      },
      "expected": {
        "ok": true,
        "state": "complete",
        "result": {
          "queue": "General",
          "rule": "R-general",
          "shadowed": [
            "R-exports"
          ]
        }
      }
    },
    {
      "name": "material-edit",
      "input": {
        "category": "exports",
        "fallback": "Intake",
        "rules": [
          {
            "id": "R-exports",
            "match": "equals",
            "value": "exports",
            "queue": "Exports"
          },
          {
            "id": "R-general",
            "match": "any",
            "queue": "General"
          }
        ]
      },
      "expected": {
        "ok": true,
        "state": "complete",
        "result": {
          "queue": "Exports",
          "rule": "R-exports",
          "shadowed": [
            "R-general"
          ]
        }
      }
    },
    {
      "name": "fresh-boundary",
      "input": {
        "category": null,
        "fallback": "Intake",
        "rules": [
          {
            "id": "R-exports",
            "match": "equals",
            "value": "exports",
            "queue": "Exports"
          },
          {
            "id": "R-general",
            "match": "any",
            "queue": "General"
          }
        ]
      },
      "expected": {
        "ok": true,
        "state": "unknown",
        "result": {
          "queue": "Intake",
          "rule": null,
          "shadowed": []
        }
      }
    }
  ],
  "meaningOfNull": "Unknown or no established value for the field; inspect its specific trace.",
  "businessSideEffects": false
}
