Skip to content

[TASK] ArchiveService implementation with streaming hash (P4) #73

@kirich1409

Description

@kirich1409

Context

zstd-compress source with streaming sha256 via CryptoKit.SHA256.Hasher computed in-process; no second pass for verify.

Acceptance criteria

  • Source read exactly once (AC-32).
  • Verification = size > 0 + hash match.
  • Atomic JSON index update through temp + rename + fsync.

Files to touch (estimate)

best-effort estimate; agent refines during implementation

Implementation notes

n/a

Dependencies

Safety checklist

See .github/ISSUE_TEMPLATE/task.yml — tick applicable invariants in the issue if any destructive path is touched.

Definition of Done

  • Acceptance criteria satisfied and verifiable
  • Tests added or updated
  • No build / lint / test regressions
  • Self-review against research-report invariants
  • Code review approved

Metadata

Metadata

Assignees

No one assigned

    Labels

    area:safetySafety invariants (S1-S14)safety:touches-fsTouches filesystem operationstype:taskConcrete implementation task

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions