Layered policy with one composition rule
Central policy composes with team and project policy by deny-overrides and monotonic tightening. A team can be stricter than the organisation; it can never be looser. The effective compiled policy is visible, not just the layer someone authored.
Approved pools, not the whole registry
Candidates are drawn from an immutable pool version, never from every model the platform knows about. An unresolvable pool throws rather than falling back to 'everything' — a silent fallback would defeat the primitive entirely.
Versions you can point at
Policies and pools are immutable and versioned, and every execution records the exact refs in force. When someone asks what the rules were in March, the answer is a version number rather than a reconstruction.