Entering coediting sets the baseline to current content automatically;
'Pin Review Baseline to Now' resets it ('everything so far is settled; show
changes from here'). A coedited doc always has a baseline -> removed the
'no/missing baseline' empty state entirely; the only empty state is a
genuinely empty document. Updated INV-7, PUC-1/7, baseline provider, preview
(marks since checkpoint), failure modes, flags, glossary.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Authorship lives in the annotated preview (D11); native diff stays
author-blind. Crucially, the review's proposed side is WRITABLE (INV-12,
D12): the writer tweaks the machine's suggestion before Keep ('close, but a
few human edits'), the live doc is untouched until Keep (INV-5), and on Keep
machine words vs writer tweaks are attributed separately by diffing
final<->machine-original<->baseline. This keeps authorship clean AT CREATION,
so post-hoc in-editor authorship (opts 2/3) is unnecessary and deferred. New
open Q7: per-change Keep/Undo semantics after free cross-hunk editing.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
- INV-10: coediting is opt-in per document ('Coedit this Document with
Claude'); every surface (SCM/QuickDiff, comments, preview annotations,
edit entry points) gates on the active coediting set so other markdown
files are never hijacked. Adds PUC-7 (enter/leave), CoeditingRegistry.
- BUC-5/PUC-8/D8: on a coedited doc a comment fires a turn that replies
in-thread and offers an edit -> pending proposal (never edits directly).
- INV-11/D9: verified against the VS Code API that the native diff editor
cannot recolor changes per-author (diffEditor.* tokens are global;
inlineEdit./chat tokens are accept-state not author; diff-pane decorations
composite + are unreliable). Authorship lives in the preview (optionally a
decoration track-changes editor). New open Qs: Q5 (authorship surface),
Q6 (comment trigger).
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Reframe §1 away from a redesign-of-the-old-plugin narrative and root it in
the real-world problem: coediting a markdown document with a machine is hard
today (rewrite-not-a-diff, all-or-nothing, blurred authorship, no clean
rendered view, opaque machine work). Solution and technical substance stand on
their own; proven patterns reused on merit, not as old-plugin lineage.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Refine the F7 whole-diagram "changed" badge into a node/edge-level diff inside
flowchart and sequence diagrams against the F6 baseline. Parsed-graph diff
re-emitted with mermaid's own styling directives (classDef/class/linkStyle for
flowcharts; rect-tinted runs for sequence), removed elements ghosted in place,
layout reflow accepted, all else (other types, parse failure) falling back to
the v1 badge. New §11 + INV-29..31. Shipped via PR #28 (session 0027).
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Broaden F6 beyond workspace files: own diffable predicate (file:/untitled:)
decoupled from F2 isTracked; baseline → global storage keyed by URI hash;
untitled buffers in-memory. Adds §11 amendment + updates §1.7/§6.3/§6.5/§6.7/
INV-19 and the change log. Built in session 0019.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>