Extraction Content Profile Ref
Names a version of a host's extraction content profile.
A profile is the host's durable answer to "what should extraction of this kind of material do?" — the tone, the coverage, the house rules a product wants applied. DICE holds the name and version and nothing else. It never looks the profile up, never reads policy out of it, and never branches on it. The host owns the catalog, decides who may use which profile, and binds it to whatever it actually means at call time.
That split is the point. If DICE resolved profiles it would need a catalog, an authorization model, and a connector for every host that has one. Instead a profile reference is two opaque strings that ride along with the analysis so the run that produced a claim can be attributed to the policy it ran under.
A profile selects no provider, no model, and no credential. DICE routes nothing on it. A host that wants a particular model for a particular profile makes that decision on its own side, before it calls DICE.
Profile is independent of every other dimension on com.embabel.dice.common.SourceAnalysisContext. Perspective says whose statements to mine out of conversational input; schema says what types exist; the context id says which tenant owns the result. Setting one never constrains another — see docs/design/extraction-profiles.md.
Both strings are opaque to DICE: it compares them and carries them, and it parses neither. Two profiles are the same profile when name and version both match, so a host that republishes a profile under a new version gets a distinct reference and stays attributable to the older one.
EXPERIMENTAL. The shape may still change while extraction runs (DICE #67) land.