Skip to content

[EPIC] ArchiveService #12

@kirich1409

Description

@kirich1409

Context

zstd archival with streaming sha256 verify (P4). Atomic index update. archive-verify-fsync-then-trash invariant (S7a).

Goals

  • ArchiveService in DevsweepCorePrivate.
  • zstd compression via Swift-compatible library (dep choice via spike T-12-1).
  • Streaming sha256 via CryptoKit.SHA256.Hasher during compress.
  • Atomic JSON index update via temp + rename + fsync.
  • Verify = size>0 + hash match; only then trash original.

Child tasks

Will be added as sub-issues after task batch.

Exit criteria

  • AC-7a, AC-32 pass.

Related documents

n/a

Metadata

Metadata

Assignees

No one assigned

    Labels

    area:safetySafety invariants (S1-S14)safety:touches-fsTouches filesystem operationstype:epicContainer issue grouping related tasks

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions