Skip to content

epic(scrybe-core+app): patch-oriented editing — apply_patch, diff, revisions #149

Description

@hartsock

Part 3 of the Conversational Document Editing arc — see docs/design/vision-conversational-editing.md. Depends on object addressability (Part 1) and grounding (Part 2).

Goal

The AI proposes patches, not overwrites. Every change is a reviewable, revisioned, auditable operation with a diff the human accepts, rejects, or edits — then the conversation continues.

Surface

  • document.apply_patch(), document.diff(), plus insert / delete_range / replace / move.
  • Accept/reject diff-preview UI in scrybe-app.
  • Revision model on top of ContentAddressable (BLAKE3 + CBOR) + scrybe-vcs (git2).

Design notes (vision doc)

  • Structural ops (e.g. "split Figure 3 → 3A/3B + update references") modeled as patches — open question whether one atomic patch or a sequenced transaction (§6).
  • Diff transport rides cli-rpc's dispatch_with_reply, which already round-trips an operation into the live editor and back.
  • Patches map onto content-addressed revisions → "revision +1, versionable, auditable" comes largely from foundations that already exist.

Depends on

Acceptance

  • Agent edits arrive as patches with a previewable diff; human can accept / reject / edit.
  • Each accepted patch bumps a content-addressed revision; history is auditable.
  • No blind full-document overwrites on the conversational editing path.

Milestone: ~v0.9–v0.10.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or requestepicUmbrella tracking issue

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions