17namespace neograph::program {
19struct DependencyReceipt {
20 std::string dependency_id;
21 std::string content_identity;
23 bool operator==(
const DependencyReceipt&)
const =
default;
26struct CapabilityBindingReceipt {
27 ExecutableIdentity executable;
28 std::string binding_identity;
30 bool operator==(
const CapabilityBindingReceipt&)
const =
default;
33NEOGRAPH_PROGRAM_API std::string capability_binding_receipt_root(
34 std::vector<CapabilityBindingReceipt> receipts);
36struct CoreMaterializationReceipt {
37 std::string compiler_build_id;
38 std::string registry_snapshot_fingerprint;
40 std::vector<CorePlanIdentity> plans;
42 std::vector<CapabilityBindingReceipt> capability_bindings;
44 bool operator==(
const CoreMaterializationReceipt&)
const =
default;
53 AdmissionProfile admission,
54 PolicySnapshot policy,
55 std::vector<DependencyReceipt> dependencies,
57 CoreMaterializationReceipt materialization,
59 : bundle_id(std::move(bundle)),
60 admission_profile(std::move(admission)),
61 policy_snapshot(std::move(policy)),
62 dependency_receipts(std::move(dependencies)),
63 ownership_scope(std::move(owner)),
64 core_materialization_receipt(std::move(materialization)),
67 std::string bundle_id;
68 AdmissionProfile admission_profile;
69 PolicySnapshot policy_snapshot;
70 std::vector<DependencyReceipt> dependency_receipts;
71 std::string ownership_scope;
72 CoreMaterializationReceipt core_materialization_receipt;
77class NEOGRAPH_PROGRAM_API ProgramVersion {
79 static constexpr std::uint32_t STORAGE_SCHEMA_VERSION = 1;
82 static ProgramVersion parse(std::string_view stored_bytes);
84 const std::string& id()
const noexcept;
85 const std::string& bundle_id()
const noexcept;
86 AdmissionProfile admission_profile()
const;
87 PolicySnapshot policy_snapshot()
const;
88 const std::vector<DependencyReceipt>& dependency_receipts()
const noexcept;
89 const std::string& ownership_scope()
const noexcept;
90 const CoreMaterializationReceipt& core_materialization_receipt()
const noexcept;
92 std::string serialize_canonical()
const;
96 explicit ProgramVersion(std::shared_ptr<const Impl> impl);
97 std::shared_ptr<const Impl> impl_;
Immutable Program admission and policy snapshots.
Immutable, content-addressed Program compilation artifacts.
ExecutionGuarantee
The lowest recoverability/integrity class reachable through an executable closure.
Mutable construction input.
ExecutionGuarantee execution_guarantee
Effective floor after the admitted child closure is included.