Context
R4 enhancement from the onboarding / auto-distribution spec (docs/plan/web-flow/onboarding-classifier-distribution.md §2, §3). When a cred/namespace is categorized, a telemetry prior ("most tenants categorize service X as Y") pre-selects the default the master confirms — shrinking the ask.
Parent: #207.
Scope
Work
Invariant
The grant graph (per-tenant policy) is NEVER an input. Only entity → category facts are aggregated.
Context
R4 enhancement from the onboarding / auto-distribution spec (
docs/plan/web-flow/onboarding-classifier-distribution.md§2, §3). When a cred/namespace is categorized, a telemetry prior ("most tenants categorize service X as Y") pre-selects the default the master confirms — shrinking the ask.Parent: #207.
Scope
entity → categorypriors (e.g.stripe → payments), the shared catalog layer. It MUST NOT carry per-tenant grants (who-denied-what). Same split as public MCC codes vs. a card's private limits (docs(plan): classifier-service — NL → deterministic authorization for the fleet (#147) #178 §8.1 "catalog ≠ policy").Work
(entity, confirmed-category)events from consenting tenants → k-anon aggregate → catalog prior.Invariant
The grant graph (per-tenant policy) is NEVER an input. Only
entity → categoryfacts are aggregated.