Skip to main content

IArchiveAuditTrail

Namespace: Meshmakers.Octo.Runtime.Contracts.StreamData

Records archive status transitions as audit events. Bridged at deployment time to the platform notification/event repository (see concept §14); kept as a focused interface so the lifecycle service has no direct dependency on the notifications package.

public interface IArchiveAuditTrail

Methods

RecordTransitionAsync(String, OctoObjectId, CkArchiveStatus, CkArchiveStatus, String)

Records a status transition. carries the underlying error code or free-text reason for transitions to CkArchiveStatus.Failed; null for routine transitions. identifies the tenant whose archive transitioned; consumers (notification bus, audit log) need it for routing and correlation.

Task RecordTransitionAsync(string tenantId, OctoObjectId archiveRtId, CkArchiveStatus from, CkArchiveStatus to, string reason)

Parameters

tenantId String

archiveRtId OctoObjectId

from CkArchiveStatus

to CkArchiveStatus

reason String

Returns

Task

RecordDeletionAsync(String, OctoObjectId, CkArchiveStatus)

Records a deletion (any state → soft-deleted entity + dropped Crate table).

Task RecordDeletionAsync(string tenantId, OctoObjectId archiveRtId, CkArchiveStatus statusAtDeletion)

Parameters

tenantId String

archiveRtId OctoObjectId

statusAtDeletion CkArchiveStatus

Returns

Task

RecordRollupRunAsync(String, OctoObjectId, DateTime, DateTime, Int32, TimeSpan)

Records one committed rollup bucket. Emitted by IRollupOrchestrator after a bucket's rows were upserted and the watermark advanced. Concept (rollup-archives) §11.

Task RecordRollupRunAsync(string tenantId, OctoObjectId rollupRtId, DateTime bucketStart, DateTime bucketEnd, int rowsWritten, TimeSpan elapsed)

Parameters

tenantId String

rollupRtId OctoObjectId

bucketStart DateTime

bucketEnd DateTime

rowsWritten Int32

elapsed TimeSpan

Returns

Task

RecordFreezeAsync(String, OctoObjectId, DateTime, String)

Records a freeze (manual or implicit when source data was truncated). carries a free-text reason or the triggering event id; null for explicit operator freezes via the GraphQL mutation. Concept (rollup-archives) §11.

Task RecordFreezeAsync(string tenantId, OctoObjectId rollupRtId, DateTime frozenUntil, string reason)

Parameters

tenantId String

rollupRtId OctoObjectId

frozenUntil DateTime

reason String

Returns

Task