Skip to content

feat(storage): stage concurrent attempts and commit by base comparison #212

Closed

Description

@DecisionNerd

Objective

Evolve the immutable-generation protocol so optimistic writers can stage private attempts concurrently while preserving crash safety and a short serialized commit boundary.

Acceptance criteria

  1. Transaction/attempt-addressed staging and OS-backed attempt leases allow different operations to prepare concurrently without exposing partial generations.
  2. Promotion into generations/ and CURRENT replacement occur only under the existing writer lock after exact base comparison.
  3. Recovery cleans only provably abandoned attempts, preserves live attempts and committed generations, and remains idempotent at every failpoint.
  4. Single-writer behavior and error contracts remain unchanged.
  5. Storage tests deterministically cover concurrent staging, base change, promotion, crash phases, cleanup, replay, and pinned readers without timing sleeps.

Non-goals

  • Domain-level rebase/conflict decisions.
  • Binding or agent-workflow surfaces.
  • Remote transports.

Relationships

  • Parent: the v0.5.0 embedded write-modes tracker.
  • Blocks the API semantics slice.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions