Configuration and policy references
ConfigurationSelection has owner, reference, revision and content_digest. PolicySelection has owner, revision and content_digest. These bind exact selected inputs without embedding secrets or asserting runtime permission.
Store credential handles under their existing owner. A package can declare an authentication requirement and credential audience; it cannot grant itself a token or authorize a destination. When configuration changes, update its owner revision and reconcile affected selections.
Required host services
Packages declare versioned contracts and host-service requirements. A host offers only what it can actually provide and enforce. Missing required contracts reject the selected path; optional degradation is explicit and visible. Examples of host services include credential access, protected browser auth, native tool activation, durable stores, inbound admission, live media and domain-specific device control. The host chooses actual implementations; a matching string inHostCapabilities is not enforcement evidence.
Compatibility before import
1
Select the exact package and strategy
Retain identity and complete recipe digests. Resolve required configuration using authenticated application context and explicit agent choices.
2
Validate the manifest
Check role declarations, component reachability, dependencies, state/lifecycle contracts and event semantics.
3
Compare required and offered contracts
Use
ValidatedManifest::check_host or the joined bundle’s selection validation. Surface missing services before importing code or starting effects.4
Obtain actual owner decisions
Apply deployment approval, current grants, credential binding and runtime activation. These are not outputs of compatibility checking.
