Skip to content

Roadmap: causal rope everywhere and only causal rope #255

Description

@flyingrobots

Target

All product text truth in Jim flows through graph-backed causal rope authority. Full strings may exist only as imports, exports, render windows, tests, or caches. They must never be authority.

Definition of done

  • Every buffer has a BufferWorldline and current RopeHead.
  • Every edit is an admitted causal ReplaceRange producing rope rewrite/diff/tick evidence unless it is a logical no-op.
  • Standard undo and redo are forward causal intents derived from Echo-retained receipts and survive process restart.
  • Every save/export creates Echo/Jim anchor or checkpoint evidence without mutating text authority.
  • Every product read names basisHeadId and byteRange.
  • Gutter, footer, dirty state, and :why are backed by rope facts rather than Git or snapshots.
  • Full-snapshot fixture authority is test-only and import-banned from product code.

Goalposts and slices

CR-00 - Seal snapshot escape hatches

Goalpost: make the full-snapshot runtime visibly test-only and prevent product code from using any non-causal text authority.

CR-01 - Echo CausalAnchor integration

Goalpost: use application-requested, Echo-admitted causal anchors as the generic durability primitive behind Jim rope checkpoints.

CR-02 - Installed graph rope authority

Goalpost: make installed Jim create, read, replace, and checkpoint through graph-backed rope authority by default.

CR-03 - Coordinates and materialization discipline

Goalpost: make UTF-8 byte ranges authoritative and require every materialized string to name its rope head and byte range basis.

CR-04 - Durability semantics in save, dirty, and footer

Goalpost: express queued intent, admitted causal history, saved file projection, local Git, and remote Git durability as separate states.

CR-05 - Causal gutter and modified line markers

Goalpost: compute gutter modified/deleted markers from rope rewrite and diff evidence, never from Git diff.

CR-06 - Runtime-backed why evidence

Goalpost: make :why cite rope head, leaf, blob, rewrite, diff, tick, checkpoint, and anchor evidence from the runtime.

CR-07 - Retention, balance, and performance witnesses

Goalpost: prove causal rope is not full-snapshot cosplay with retained-byte, subtree-identity, balance, and materialization-budget witnesses.

CR-08 - Delete transitional text authority APIs

Goalpost: delete or quarantine all transitional full-root/snapshot authority APIs so only causal rope remains in product code.

CR-09 - Dogfood cutover and regression net

Goalpost: daily-drive Jim on causal rope, remove the snapshot escape hatch from dev startup, and lock the architecture with tests and docs.

Hard no list

  • Do not optimize the full-snapshot runtime instead of replacing it.
  • Do not compute modified lines from Git diff.
  • Do not make save reset causal history.
  • Do not call a full-string root a RopeHead.
  • Do not accept basis-less materialized reads.
  • Do not allow fixture imports into installed product code.
  • Do not treat CAS materializations as authority.

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

    causal-ropeCausal rope text authority roadmapenhancementNew feature or requestgoalpostRoadmap milestone trackertext-authorityText authority and storage invariantswork-in-progressCycle or PR is intentionally in progress and not ready to merge

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions