65class PluginIdentityEvidence {
67 static PluginIdentityEvidence
84 return source_contract_;
95 : type_(
std::move(
type)), origin_(
origin), source_contract_(
std::move(contract)),
99 std::string source_contract_;
112std::variant<CanonicalPluginIdentity, PluginIdentityError>
Immutable owned evidence.
Definition plugin_identity.hpp:65
const std::string & source_contract_revision() const noexcept
Definition plugin_identity.hpp:83
const PluginTypeIdentity & type() const noexcept
Definition plugin_identity.hpp:74
static PluginIdentityEvidence declared(PluginTypeIdentity type, PluginIdentityOrigin origin=PluginIdentityOrigin::authored_assertion, std::string source_contract={}, PluginArtifactProvenance artifact={})
Definition plugin_identity.hpp:68
const PluginArtifactProvenance & artifact() const noexcept
Definition plugin_identity.hpp:86
PluginIdentityVerification verification() const noexcept
Definition plugin_identity.hpp:80
PluginIdentityOrigin origin() const noexcept
Definition plugin_identity.hpp:77
Definition plugin_identity.hpp:55
Definition baked_codec.hpp:158
Bounded event contracts shared by host ingress and graph-authored nodes.
Definition anticipation_eligibility.hpp:9
std::vector< PluginInfo > scan_clap_bundle_descriptors(const std::string &path)
std::optional< PluginIdentityError > validate_plugin_type_identity(const PluginTypeIdentity &)
Pure validation: nonempty, bounded UTF-8 without NUL or Unicode controls.
std::optional< PluginIdentityEvidence > parse_plugin_identity_evidence(std::string_view)
PluginLoadResult load_clap_plugin_exact(const PluginSelection &selection)
PluginIdentityOrigin
Definition plugin_identity.hpp:33
@ authored_assertion
Definition plugin_identity.hpp:33
@ clap_descriptor
Definition plugin_identity.hpp:33
PluginIdentityVerification
Definition plugin_identity.hpp:34
@ loaded
Definition plugin_identity.hpp:34
@ declared
Definition plugin_identity.hpp:34
std::string serialize_plugin_identity_evidence(const PluginIdentityEvidence &)
Unsigned serialized captures always import as declared, even if originally loaded.
std::variant< CanonicalPluginIdentity, PluginIdentityError > canonical_plugin_identity(const PluginIdentityEvidence &)
Encodes only type identity; preserves evidence without increasing its trust.
PluginIdentityError
Definition plugin_identity.hpp:21
@ unsupported_format
Definition plugin_identity.hpp:22
@ descriptor_selection_ambiguous
Definition plugin_identity.hpp:27
@ loaded_identity_mismatch
Definition plugin_identity.hpp:30
@ descriptor_enumeration_incomplete
Definition plugin_identity.hpp:28
@ descriptor_selection_missing
Definition plugin_identity.hpp:26
@ identity_origin_unverified
Definition plugin_identity.hpp:25
@ plugin_load_failed
Definition plugin_identity.hpp:29
@ invalid_native_identity
Definition plugin_identity.hpp:24
@ native_identity_missing
Definition plugin_identity.hpp:23
Definition plugin_identity.hpp:107
std::string bytes
Definition plugin_identity.hpp:108
PluginIdentityEvidence evidence
Definition plugin_identity.hpp:109
Executable-byte observation, not a portable release identity or signature.
Definition plugin_identity.hpp:37
std::uint64_t byte_length
Definition plugin_identity.hpp:39
bool operator==(const PluginArtifactProvenance &) const =default
std::string sha256
Definition plugin_identity.hpp:38
std::optional< std::string > descriptor_version
Definition plugin_identity.hpp:40
Definition scanner.hpp:35
Exactly one loaded slot or typed refusal. A successful slot owns its receipt.
Definition plugin_slot.hpp:414
Definition plugin_identity.hpp:123
PluginTypeIdentity requested
Definition plugin_identity.hpp:124
PluginIdentityEvidence loaded
Definition plugin_identity.hpp:125
Definition plugin_identity.hpp:119
std::string path
Definition plugin_identity.hpp:120
PluginTypeIdentity type
Definition plugin_identity.hpp:121
CLAP-only type identity. Exact UTF-8 bytes; no name, path or normalization.
Definition plugin_identity.hpp:15
std::string descriptor_id
Definition plugin_identity.hpp:17
std::string format
Definition plugin_identity.hpp:16
bool operator==(const PluginTypeIdentity &) const =default