Commit Graph

9 Commits

Author SHA1 Message Date
BenStullsBets 1d27b74a2b spec(0062): rename pin command to 'Mark Changes as Reviewed'
Replaces the jargon 'Pin Review Baseline to Now' (snapshot-mode reset) with
the user-intent label 'Mark Changes as Reviewed', which fits the review
framing of the product. Label-only; semantics unchanged (snapshot-mode only).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-28 07:23:02 -07:00
BenStullsBets 22393f0d63 spec(0062): pin only in snapshot mode (resolve Q8/D14); pre-session changes attributed to writer (INV-8)
- D14: 'Pin Review Baseline to Now' exists only in snapshot mode (no committed
  HEAD); git-tracked files have no manual pin -> commit is the reset; pin
  command when-gated on cowriting.baselineMode==snapshot. Removed open Q8.
- INV-8: changes already present at coediting start (uncommitted vs HEAD,
  incl. edits made outside this experience) are attributed to the writer
  (human) -- session can't know their origin; surfaces prior work as human.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-28 07:21:03 -07:00
BenStullsBets 61755cafd7 spec(0062): baseline source follows the file's home — git HEAD where tracked, snapshot otherwise (D13)
Answers 'what about docs not in a git repo' (~/Downloads, untitled): a
BaselineRouter mirroring the SidecarRouter. Git-tracked file -> baseline =
HEAD blob (read via Git extension API, auto-resets on commit, storage-free);
no commit to anchor to -> snapshot (set on entry, re-pinnable, global
storage/in-memory). Manual pin works in both (precedes HEAD until next
commit); new in-repo file flips snapshot->HEAD on first commit. Updated
INV-7, data model, baseline router, PUC-1/7, decisions, deps; new open Q8
(pin-ahead-of-HEAD precedence in git files).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-28 07:18:18 -07:00
BenStullsBets 4ccba9ea93 spec(0062): baseline = clean checkpoint set on entry; only empty state is an empty doc (D13)
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>
2026-06-28 07:13:22 -07:00
BenStullsBets 1e54abdd8d spec(0062): resolve Q5 — Option 1 (preview authorship) + editable proposals (INV-12)
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>
2026-06-28 07:09:58 -07:00
BenStullsBets 81b6891805 spec(0062): resolve Q6 — every comment summons the machine while coediting; 'Stop editing with Claude' context-menu off switch (D10)
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-28 07:03:37 -07:00
BenStullsBets aaf5fb46eb spec(0062): opt-in coediting mode + comment auto-response; native diff is author-blind (verified)
- 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>
2026-06-28 06:55:55 -07:00
BenStullsBets f6a86d6354 spec(0062): reframe around the human problem — coediting markdown with a machine
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>
2026-06-28 05:57:37 -07:00
BenStullsBets 74df46d078 spec(0062): native-first coauthoring — VS Code-idiomatic redesign (design-only north star)
Solution Design for a brand-new plugin that re-homes the inner-loop
coauthoring experience onto native VS Code surfaces: QuickDiffProvider +
native diff editor (any diff), multi-diff editor Keep/Undo (propose/accept),
built-in Markdown preview markdown-it extension (rendered preview), Comments
API (threads). Carries forward pinned baseline (F6), authorship attribution
(F3), cross-rung sidecar (F5), live progress (#60), on-behalf-of identity, and
the pure-core/thin-controller discipline. Design-only: no repo/migration
commitment.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-28 05:43:22 -07:00