Skip to content

[COOL IDEA™] Add transactional write-enabled FUSE/CAS projection for causal copy workflows #73

Description

@flyingrobots

Problem

A read-only FUSE projection is tracked in #66, but it does not support write semantics needed by higher-level copy or migration workflows where a verified CAS view should also accept mutation traces and replay-safe commit events.

Invariant impact

Any write-capable projection must preserve authenticated source identity, explicit causal intent, and replay-safe recovery behavior (no silent patch application, no unbounded rehydration). Writes must be append-only at the projection boundary unless an explicit transaction boundary is proven.

Proposed boundary

Keep should export a narrow integration boundary that:

  • presents verified projections with deterministic naming,
  • records mutation intents as first-class causal events,
  • maps projection writes to segment/record publication with explicit ordering and recovery checks.

Alternatives considered

  1. Keep filesystem-only tooling around current read APIs only (insufficient for write/copy use-cases).
  2. Keep using ad-hoc scripts for write projection.
  3. Add dedicated write-enabled projection adapter with explicit transaction journal and replay validator.

Evidence and acceptance criteria

  • Add a tracked design/rationale update explaining recovery and crash boundaries.
  • Validate with at least one end-to-end test: mount-style projected view, write path, remap to verified CAS layout, verify unchanged identity of untouched bytes and deterministic replay on reopen.
  • Add explicit negative tests for untrusted mutation attempts and partial writes.

Failure modes

  • Partial FUSE write visibility without durable intent log commit.
  • Replay reordering vs existing causal lineage.
  • Power-loss consistency gaps between mount-level transaction and durable publication state.

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

    area:integrationEcho, Graft, and external integration boundariesarea:readReconstruction, streaming, and byte-range readsarea:recoveryCrash states, reconciliation, and recoveryenhancementNew feature or requestkind:designDesign contract or executable specificationkind:implementationProduction implementation workkind:testTest infrastructure or failure-mode evidencepriority:P2Should fix

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions