{
  "issuer": "Astera Technology",
  "resource": "ops-route-required-capabilities",
  "locale": "zh-HK",
  "contract": "這份假設接收台記錄中，T1 要 cantonese 及 exports 兩項技能。各項技能齊、狀態為 active 且尚有空位，才可接單。狀態只屬本例，不是員工出勤記錄。null 表示未知；只要已有一項明確不符，即使另一項未明，也不能列為合資格。",
  "input": {
    "required": [
      "cantonese",
      "exports"
    ],
    "agents": [
      {
        "id": "A",
        "skills": [
          "cantonese",
          "exports"
        ],
        "status": "active",
        "spare": 1
      },
      {
        "id": "B",
        "skills": [
          "cantonese"
        ],
        "status": "active",
        "spare": 3
      },
      {
        "id": "C",
        "skills": [
          "cantonese",
          "exports"
        ],
        "status": "inactive",
        "spare": 2
      }
    ]
  },
  "output": {
    "ok": true,
    "state": "complete",
    "result": {
      "eligible": [
        "A"
      ],
      "unknown": []
    },
    "trace": [
      {
        "id": "A",
        "skills": true,
        "available": true,
        "spare": true,
        "remaining": 1,
        "decision": "eligible"
      },
      {
        "id": "B",
        "skills": false,
        "available": true,
        "spare": true,
        "remaining": 3,
        "decision": "ineligible"
      },
      {
        "id": "C",
        "skills": true,
        "available": false,
        "spare": true,
        "remaining": 2,
        "decision": "ineligible"
      }
    ]
  },
  "verificationCases": [
    {
      "name": "baseline",
      "input": {
        "required": [
          "cantonese",
          "exports"
        ],
        "agents": [
          {
            "id": "A",
            "skills": [
              "cantonese",
              "exports"
            ],
            "status": "active",
            "spare": 1
          },
          {
            "id": "B",
            "skills": [
              "cantonese"
            ],
            "status": "active",
            "spare": 3
          },
          {
            "id": "C",
            "skills": [
              "cantonese",
              "exports"
            ],
            "status": "inactive",
            "spare": 2
          }
        ]
      },
      "expected": {
        "ok": true,
        "state": "complete",
        "result": {
          "eligible": [
            "A"
          ],
          "unknown": []
        }
      }
    },
    {
      "name": "material-edit",
      "input": {
        "required": [
          "cantonese",
          "exports"
        ],
        "agents": [
          {
            "id": "A",
            "skills": [
              "cantonese",
              "exports"
            ],
            "status": "active",
            "spare": 1
          },
          {
            "id": "B",
            "skills": [
              "cantonese",
              "exports"
            ],
            "status": "active",
            "spare": 3
          },
          {
            "id": "C",
            "skills": [
              "cantonese",
              "exports"
            ],
            "status": "inactive",
            "spare": 2
          }
        ]
      },
      "expected": {
        "ok": true,
        "state": "complete",
        "result": {
          "eligible": [
            "A",
            "B"
          ],
          "unknown": []
        }
      }
    },
    {
      "name": "fresh-boundary",
      "input": {
        "required": [
          "cantonese",
          "exports"
        ],
        "agents": [
          {
            "id": "A",
            "skills": null,
            "status": "active",
            "spare": 1
          },
          {
            "id": "B",
            "skills": [
              "cantonese"
            ],
            "status": "active",
            "spare": 3
          },
          {
            "id": "C",
            "skills": [
              "cantonese",
              "exports"
            ],
            "status": "inactive",
            "spare": 2
          }
        ]
      },
      "expected": {
        "ok": true,
        "state": "unknown",
        "result": {
          "eligible": [],
          "unknown": [
            "A"
          ]
        }
      }
    }
  ],
  "meaningOfNull": "該欄位未知或沒有已建立的值；請按逐項結果判斷。",
  "businessSideEffects": false
}
