Skip to content

COOL IDEAS™: compare two checkpoint bases through bounded causal diff #289

Description

@flyingrobots

Classification

COOL IDEA™ — read-only historical comparison over real causal rope evidence.

Observation

Existing roadmap work covers previewing one historical basis and comparing current state with a selected checkpoint/anchor. A more general primitive would compare checkpoint A directly with checkpoint B without moving the canonical head, materializing full snapshots as authority, or pretending every checkpoint is a CausalAnchor.

The idea

Given two opaque Jim checkpoint identities, ask the native Echo-backed host for a bounded causal comparison of their retained rope bases.

A result could include:

  • both resolved worldline and basis-head identities;
  • a bounded byte/line region or summary;
  • inserted/deleted/modified spans;
  • supporting rewrite, diff, receipt, and tick identities;
  • coverage and continuation posture;
  • an explicit retention obstruction when required history is unavailable.

The operation is observation only. Reconciliation, checkout, undo, export, and anchoring remain separate intents.

Why it is cool

This unlocks a truthful “what changed between these two meaningful moments?” surface for humans and agents:

  • compare autosave to manual save;
  • compare pre-refactor to post-refactor checkpoints;
  • inspect two retained experiment points without disturbing the live buffer;
  • feed bounded evidence into review or explanation tooling;
  • distinguish semantic checkpoint identity from its declaration occurrences.

Constraints

  • Do not move or mint a canonical RopeHead.
  • Do not compute an unbounded local full-string diff.
  • Do not treat CAS snapshots, Git, or TypeScript materializations as authority.
  • Resolve checkpoint identities and basis membership inside the native host.
  • Same-worldline comparison is the initial scope; cross-worldline reconciliation belongs to WF-0126: Braid and diff reconciliation UX #163 unless separately designed.
  • Missing, pruned, foreign, or incompatible history returns a typed obstruction.
  • A comparison does not imply or create a CausalAnchor.

Acceptance criteria

  • Accept two opaque checkpoint IDs and an explicit bounded comparison request.
  • Resolve both checkpoint facts and validate their bases/worldlines in native code.
  • Return bounded causal diff evidence with exact basis identities and continuation/coverage posture.
  • Support same-checkpoint comparison as an empty, fully evidenced result.
  • Define behavior when the same checkpoint proposition has multiple declaration occurrences.
  • Prove the observation is read-only: no head, rewrite, diff, checkpoint, anchor, or text mutation is minted.
  • Prove restart behavior from Echo history/WAL.
  • Prove typed obstructions for missing checkpoint, foreign worldline, retention gap, and unsupported operation.
  • Provide both human-readable and agent-readable consumers without duplicating authority in TypeScript.

Related, not duplicate

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 requestsliceImplementable roadmap slicetext-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