162 using WallClock = std::function<std::chrono::system_clock::time_point()>;
166 WallClock clock = [] {
return std::chrono::system_clock::now(); });
192 read_authorized(
std::string_view artifact_id,
std::uint64_t offset,
std::
size_t maximum_bytes,
196 std::unique_ptr<Impl> impl_;
ControlArtifactStore & operator=(const ControlArtifactStore &)=delete
friend class ControlBroker
Definition control_artifacts.hpp:190
std::optional< ControlArtifactMetadata > metadata(std::string_view artifact_id) const
Returns immutable publication metadata without reading blob bytes.
std::size_t maximum_blob_bytes() const noexcept
ControlArtifactStore(const ControlArtifactStore &)=delete
std::function< std::chrono::system_clock::time_point()> WallClock
Definition control_artifacts.hpp:162
ControlArtifactStore(ControlArtifactStoreConfig config, WallClock clock=[] { return std::chrono::system_clock::now();})
std::vector< ControlArtifactDeletionRecord > deletion_audit() const
ControlArtifactCollectionResult collect()
Applies expiry and crash cleanup and returns bounded deletion evidence.
ControlArtifactStoreResult store(std::span< const std::uint8_t > bytes, ControlArtifactLineage lineage, ControlArtifactProperties properties)
Dormant composition root for the local capability-control broker.
Definition control_broker.hpp:45
@ NotFound
Nothing matched and synthesis was disabled.
Definition font_resolver.hpp:174
Definition agent_context.hpp:7
ControlArtifactStatus
Definition control_artifacts.hpp:86
@ Corrupt
Definition control_artifacts.hpp:92
@ Read
Definition control_artifacts.hpp:88
@ Stored
Definition control_artifacts.hpp:87
@ InvalidRequest
Definition control_artifacts.hpp:89
@ Unauthorized
Definition control_artifacts.hpp:90
@ IoError
Definition control_artifacts.hpp:94
ControlArtifactRedactionState
Definition control_artifacts.hpp:48
@ Original
Definition control_artifacts.hpp:49
@ Redacted
Definition control_artifacts.hpp:50
bool control_evidence_contract_matches(ControlEvidenceKind kind, std::string_view content_type, ControlArtifactSensitivity sensitivity, ControlArtifactRedactionState redaction_state)
std::string_view control_artifact_status_id(ControlArtifactStatus status)
std::string_view control_artifact_deletion_reason_id(ControlArtifactDeletionReason reason)
@ Expired
Definition audit.hpp:68
@ Sensitive
Definition capabilities.hpp:25
std::string_view control_evidence_content_type(ControlEvidenceKind kind)
ControlArtifactDeletionState
Definition control_artifacts.hpp:43
@ Active
Definition control_artifacts.hpp:44
@ Deleted
Definition control_artifacts.hpp:45
ControlArtifactDeletionReason
Definition control_artifacts.hpp:112
@ QuotaCollection
Definition control_artifacts.hpp:114
@ Expired
Definition control_artifacts.hpp:113
@ CrashCleanup
Definition control_artifacts.hpp:116
@ ExplicitDeletion
Definition control_artifacts.hpp:115
@ ResourceExhausted
Definition control_admission.hpp:26
@ InvalidRequest
Definition control_admission.hpp:17
ControlArtifactSensitivity
Definition control_artifacts.hpp:36
@ Public
Definition control_artifacts.hpp:37
@ Sensitive
Definition control_artifacts.hpp:39
@ Internal
Definition control_artifacts.hpp:38
@ Restricted
Definition control_artifacts.hpp:40
ControlEvidenceKind
Definition control_artifacts.hpp:53
@ Screenshot
Definition control_artifacts.hpp:54
@ OfflineRender
Definition control_artifacts.hpp:55
@ StateSnapshot
Definition control_artifacts.hpp:56
@ PerfettoTrace
Definition control_artifacts.hpp:57
Definition control_artifacts.hpp:132
std::uint64_t reclaimed_bytes
Definition control_artifacts.hpp:137
std::size_t deleted_orphan_blobs
Definition control_artifacts.hpp:134
bool succeeded
Definition control_artifacts.hpp:138
std::size_t deleted_artifacts
Definition control_artifacts.hpp:133
std::size_t deletion_audit_failures
Definition control_artifacts.hpp:136
std::size_t deleted_partial_files
Definition control_artifacts.hpp:135
Persisted deletion evidence intentionally excludes client-provided content, paths,...
Definition control_artifacts.hpp:124
std::string sha256
Definition control_artifacts.hpp:126
std::string artifact_id
Definition control_artifacts.hpp:125
std::uint64_t deleted_at_unix_ms
Definition control_artifacts.hpp:128
std::uint64_t byte_size
Definition control_artifacts.hpp:127
ControlArtifactDeletionReason reason
Definition control_artifacts.hpp:129
Definition control_artifacts.hpp:19
std::string producer_capability_id
Definition control_artifacts.hpp:27
std::string consent_decision_id
Definition control_artifacts.hpp:31
std::string instance_id
Definition control_artifacts.hpp:25
std::string producer_client_id
Definition control_artifacts.hpp:22
std::string session_id
Definition control_artifacts.hpp:24
std::string broker_id
Definition control_artifacts.hpp:20
std::string manifest_digest
Definition control_artifacts.hpp:32
std::string producer_registration_id
Definition control_artifacts.hpp:23
std::string publication_id
Definition control_artifacts.hpp:26
std::string producer_operation_id
Definition control_artifacts.hpp:28
std::uint32_t producer_operation_version
Definition control_artifacts.hpp:29
std::string receipt_id
Definition control_artifacts.hpp:21
std::string producer_artifact_digest
Definition control_artifacts.hpp:33
std::string original_grant_id
Definition control_artifacts.hpp:30
Definition control_artifacts.hpp:65
std::uint64_t expires_at_unix_ms
Definition control_artifacts.hpp:68
std::uint64_t created_at_unix_ms
Definition control_artifacts.hpp:67
ControlArtifactRedactionState redaction_state
Definition control_artifacts.hpp:70
ControlArtifactSensitivity sensitivity
Definition control_artifacts.hpp:69
std::string content_type
Definition control_artifacts.hpp:66
Definition control_artifacts.hpp:146
bool eof
Definition control_artifacts.hpp:150
std::vector< std::uint8_t > bytes
Definition control_artifacts.hpp:149
ControlArtifactStatus status
Definition control_artifacts.hpp:147
std::string explanation
Definition control_artifacts.hpp:151
std::optional< ControlArtifactMetadata > metadata
Definition control_artifacts.hpp:148
Definition control_artifacts.hpp:99
std::filesystem::path root
Definition control_artifacts.hpp:100
std::size_t maximum_artifacts
Definition control_artifacts.hpp:106
std::uint64_t maximum_total_bytes
Logical publication quota.
Definition control_artifacts.hpp:105
std::size_t maximum_chunk_bytes
Definition control_artifacts.hpp:102
std::size_t maximum_blob_bytes
Definition control_artifacts.hpp:101
std::size_t maximum_artifacts_per_client
Definition control_artifacts.hpp:107
std::size_t maximum_deletion_audit_records
Definition control_artifacts.hpp:109
std::chrono::milliseconds maximum_lifetime
Definition control_artifacts.hpp:108
Definition control_artifacts.hpp:141
std::optional< ControlArtifactMetadata > metadata
Definition control_artifacts.hpp:143
ControlArtifactStatus status
Definition control_artifacts.hpp:142