stabilizaiton work - projects rework for maintenanceability and ui livening
This commit is contained in:
@@ -92,112 +92,3 @@ public interface IEvidenceChunkRepository
|
||||
string proofRoot,
|
||||
CancellationToken cancellationToken = default);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Represents an evidence chunk.
|
||||
/// </summary>
|
||||
public sealed record EvidenceChunk
|
||||
{
|
||||
/// <summary>
|
||||
/// Unique chunk identifier.
|
||||
/// </summary>
|
||||
public required Guid ChunkId { get; init; }
|
||||
|
||||
/// <summary>
|
||||
/// The proof root this chunk belongs to.
|
||||
/// </summary>
|
||||
public required string ProofRoot { get; init; }
|
||||
|
||||
/// <summary>
|
||||
/// Zero-based index within the proof.
|
||||
/// </summary>
|
||||
public required int ChunkIndex { get; init; }
|
||||
|
||||
/// <summary>
|
||||
/// SHA256 hash of the chunk for verification.
|
||||
/// </summary>
|
||||
public required string ChunkHash { get; init; }
|
||||
|
||||
/// <summary>
|
||||
/// The binary content.
|
||||
/// </summary>
|
||||
public required byte[] Blob { get; init; }
|
||||
|
||||
/// <summary>
|
||||
/// Size of the blob in bytes.
|
||||
/// </summary>
|
||||
public required int BlobSize { get; init; }
|
||||
|
||||
/// <summary>
|
||||
/// MIME type of the content.
|
||||
/// </summary>
|
||||
public required string ContentType { get; init; }
|
||||
|
||||
/// <summary>
|
||||
/// When the chunk was created.
|
||||
/// </summary>
|
||||
public required DateTimeOffset CreatedAt { get; init; }
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Manifest describing all chunks for a proof root (metadata only).
|
||||
/// Used for lazy fetching where blobs are retrieved on demand.
|
||||
/// </summary>
|
||||
public sealed record ChunkManifest
|
||||
{
|
||||
/// <summary>
|
||||
/// The proof root (Merkle root of all chunks).
|
||||
/// </summary>
|
||||
public required string ProofRoot { get; init; }
|
||||
|
||||
/// <summary>
|
||||
/// Total number of chunks.
|
||||
/// </summary>
|
||||
public required int TotalChunks { get; init; }
|
||||
|
||||
/// <summary>
|
||||
/// Total size of all chunks in bytes.
|
||||
/// </summary>
|
||||
public required long TotalSize { get; init; }
|
||||
|
||||
/// <summary>
|
||||
/// Ordered list of chunk metadata.
|
||||
/// </summary>
|
||||
public required IReadOnlyList<ChunkMetadata> Chunks { get; init; }
|
||||
|
||||
/// <summary>
|
||||
/// When the manifest was generated.
|
||||
/// </summary>
|
||||
public required DateTimeOffset GeneratedAt { get; init; }
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Metadata for a single chunk (no blob).
|
||||
/// </summary>
|
||||
public sealed record ChunkMetadata
|
||||
{
|
||||
/// <summary>
|
||||
/// Chunk identifier.
|
||||
/// </summary>
|
||||
public required Guid ChunkId { get; init; }
|
||||
|
||||
/// <summary>
|
||||
/// Zero-based index.
|
||||
/// </summary>
|
||||
public required int Index { get; init; }
|
||||
|
||||
/// <summary>
|
||||
/// SHA256 hash for verification.
|
||||
/// </summary>
|
||||
public required string Hash { get; init; }
|
||||
|
||||
/// <summary>
|
||||
/// Size in bytes.
|
||||
/// </summary>
|
||||
public required int Size { get; init; }
|
||||
|
||||
/// <summary>
|
||||
/// Content type.
|
||||
/// </summary>
|
||||
public required string ContentType { get; init; }
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user