A.2.1:4.8 - Performed-Work Attribution
F.6 retains one direct attribution with a comparison-only projection:
performedUnderAssignment(W : U.Work, RA : U.SystemRoleAssignment)
attributedPerformerSystem(W, RA) := RA.HolderSystemSlot
A.13 first identifies the actual performer S, and A.15.1 independently admits W : U.Work from its performance history, enacted Method, temporal extent, and containing-System relation. F.6 is needed only for a precise assignment-bound attribution—when the current use must also say exactly under which assignment W was performed. It then establishes performedUnderAssignment(W, RA) against the same assignment already used by A.13 and requires S = attributedPerformerSystem(W, RA) = RA.HolderSystemSlot. The projection exposes the assignment holder only for comparison with S; it identifies neither assignment nor performer, and a missing or failed F.6 check leaves the Work intact.
SystemRoleAssignmentSlot in F.6 accepts any admitted assignment species because its ValueKind is the family U.SystemRoleAssignment. It is not a union of a generic relation and stronger non-assignment values. ReviewWork-A can be attributed to ReviewAssignment-A, and ReviewWork-B to ReviewAssignment-B, without creating generic duplicates.
Assignment does not prove that Work occurred. Work does not alter assignment identity. For source wording such as RoleEnactment, first use A.13 to identify the actual performer and A.15.1 to admit the dated Work independently. If the current use also needs to say exactly under which assignment the Work was performed, add that assignment and the separate F.6 performedUnderAssignment check. Do not create a duplicate run-time kind or occurrence.