01
Place the roles with only one available contributor
Only A offers illustration, so illustration must go to A if all three roles are to be filled. Only C offers narration, so narration must go to C. That leaves B for editing, which B has offered. The assignment is therefore A to illustration, B to editing and C to narration. Every participant has one role and every role has one participant. Checking the constraints after writing the assignment is useful because a list that fills every role could still accidentally assign one person twice or use a role they did not offer.
02
Explain why the tempting alternative does not work
A also offers editing, but assigning editing to A would leave illustration without a contributor. B and C have not offered illustration, and A cannot take two roles under the stated rules. This is why the extra offer does not produce a second feasible complete assignment. The result is unique within the fictional model, not a judgement that A is better at illustration than editing. The constraints, rather than a score or personal characteristic, determine the result. Keeping that explanation beside the assignment makes the reasoning inspectable and limits what the conclusion can legitimately mean.
03
Record what happens when availability changes
If C becomes unavailable and the other offers remain unchanged, narration has no contributor. The original complete assignment is then infeasible. The worksheet should show the gap rather than silently assigning narration to someone who did not offer it. A group could revise the project, seek another volunteer or discuss a changed offer, but any such change belongs in a new version. Save the required roles, participant offers, availability, capacity rule and assignment together. This creates a reusable planning record that identifies both the solution under current assumptions and the reason it stops working when those assumptions change.