KB-3458
RP-06 Same-Human Slot Scope
1 min read Revision 1
fix7architecturerp06
RP-06 - Same-Human Slot Scope
Status: RESOLVED_ADVISORY
Codex accepts T1's refinement. Blanket UNIQUE(activation_id,human_identity_id) is rejected
because it over-blocks legitimate non-separated roles.
One occupant per required slot is enforced by the exact UNIQUE keys on signoff_binding and
quorum_vote. A generic PG constraint trigger/readiness guard joins occupied human identities to
ACTIVE principal_separation_manifest rows and blocks a human occupying both sides of a
must_differ pair in the same activation/action scope.
The class pairs, required counts, slots, and scopes are manifest rows, never trigger literals. Tests: duplicate occupant in one slot rejects; same human across a required separation pair rejects; same human in non-separated roles is allowed.