Skip to content

Add a durable Baton ledger and recoverable work queue #20

Description

@hyperpolymath

Outcome

Replace temporary files and in-memory submission state with a durable append-only Baton ledger and recoverable work queue.

Scope

  • Define versioned records for submissions, claims, execution attempts, frozen envelopes, verification, reporting attempts, and terminal outcomes.
  • Store idempotency keys, causal links, target repository/SHA, node identity, timestamps, and envelope digests.
  • Make restart recovery deterministic: queued and in-flight work is either resumed safely or marked for explicit repair.
  • Prevent freeze-path collisions and path traversal from check IDs.
  • Add retention, compaction/export, and tamper-detection policies without discarding authoritative history.
  • Keep the storage adapter behind a typed port; the database is not the domain model.

Acceptance criteria

  • Process restart tests reproduce queue and result state without double execution or double posting.
  • Concurrent checks cannot overwrite each other’s envelopes.
  • Imported/exported ledger fixtures verify hash/digest integrity.
  • Storage corruption and schema-version mismatch fail closed with actionable diagnostics.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    architectureStructural/system-level shape and runtime behaviourmeta:roadmapForward planning; not yet actionable workpriority:p0Critical - drop other worksecurityTrust boundaries, attestation, and hardening

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions