Skip directly to article

Developer Manual

Grounding and authorization

Bind proposals to candidates, trusted context, and policy before dispatch.

The host supplies the user request, candidate records, trusted identity, tenant or account scope, and the policy context. Core records and evaluates the relationship among those inputs; it does not decide business meaning from an untrusted model response.

Grounding before authorization

Grounding narrows a proposal to an exact referent. The host should obtain candidates from an authoritative source, preserve the source revision and scope, and ask for clarification when more than one candidate remains. A model may help interpret language, but it must not silently choose a candidate or manufacture a referent.

For Actions preview.8, grounded.scope must equal TrustedContext.tenant.securityDomainRef; it is not the separate authorization.scopeRef. Each candidate that can resolve the subject requires its own non-empty string attributes.resource. NFKC-normalize, trim, collapse whitespace, and lowercase that value and grounded.subject; exactly one normalized match is required. Wrong scope is bounded DENIED with GROUNDING_SCOPE_MISMATCH. Missing, mismatched, and multiple matches are bounded NEEDS_CLARIFICATION with GROUNDING_RESOURCE_DISCRIMINATOR_MISSING, GROUNDING_RESOURCE_DISCRIMINATOR_MISMATCH, and GROUNDING_RESOURCE_DISCRIMINATION_AMBIGUOUS. All fail before authorization and dispatch without exposing raw candidate, evidence, tenant, exception, credential, or provider material. A malformed subject retains generic malformed-grounding handling; it is not a resource-discriminator failure.

Authorization evaluates the grounded operation against requester identity, tenant scope, policy authority, and the relevant policy revision. The host owns the policy source and trusted-context construction. Core records the decision provenance and rejects malformed, stale, or insufficient context according to the approved contract.

Dispatch boundary

Do not dispatch until the proposal is grounded and authorization permits that exact operation. A clarification result is a safe pre-dispatch outcome. See the Core API Reference for exact declarations and Core lifecycle concepts for the conceptual model.