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.

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