Require the complete capability set
Original local desk example: request T1 needs cantonese and exports. An agent is eligible only when every required capability is recorded, status is active and spare slots are positive. Status describes this fixture, not an employee attendance record. null means the relevant fact is unknown. A known failed condition establishes ineligibility even when another condition is unknown.
| Agent | Recorded skills | Status | Spare slots | Decision |
|---|---|---|---|---|
| A | cantonese, exports | active | 1 | Eligible |
| B | cantonese | active | 3 | Missing exports |
| C | cantonese, exports | inactive | 2 | Not available |
Keep each exclusion visible
Only A is eligible. B has more slots but lacks exports; C has both skills but is inactive. The result is an eligible set, not an automatic staff assignment. If several agents pass, this model does not choose among them.
- Read required skills
- Check each recorded skill set
- Check status and slots
- Retain the eligibility trace
Do not replace a missing skill record with an assumed capability.
If B gains a recorded exports skill, who is eligible?
Show the worked answer
A and B. C remains inactive. No final assignee is selected by the eligibility check.
Change a fact, then check the set
Use B’s exports checkbox to add/remove the capability. The local result changes from A to A,B and back; the source request still requires both skills. Reset restores the original three agents.
With A’s skills unknown, A is an unknown candidate; B and C still fail known conditions. Input lists contain at most 30 distinct IDs, skills are distinct nonempty labels, and slots are whole numbers 0–1,000 or null. Invalid values are rejected rather than partially assigned.
If the eligible set is unexpectedly empty, inspect the channel capacity example next. Impact priority remains a separate decision.
Eligible agents
- Eligible agents
- A
- Unknown candidates
- None
| Record | All required skills | Available | Spare slot exists | Remaining slots | Decision |
|---|---|---|---|---|---|
| A | Yes | Yes | Yes | 1 | Eligible |
| B | No | Yes | Yes | 3 | Not eligible |
| C | Yes | No | Yes | 2 | Not eligible |