# Session 0029.0 — Transcript > App: vscode-cowriting-plugin > Start: 2026-06-11T21-32 (PST) > End: 2026-06-11T21-53 (PST) > Type: brainstorming > Poster: Ben Stull (with Claude) > Posture: autonomous (yolo) > Status: **FINALIZED** ## Launch prompt ``` /goal next → (resolved from memory) Brainstorm + write the Solution Design for Feature #29 — interactive track-changes review in the markdown preview: clean zero-annotation editor (left) + the rendered markdown preview (right) as the single review surface; annotations on/off toggle; changes-since-baseline painted green=human / blue=LLM / strikethrough=deleted; ✓/✗ accept-reject of the LLM's changes ONLY, driven from inside the preview webview. Markdown-only product (F6 deprecated as a view; rename deferred). Mostly assembly of F3/F4/F6/F7/F9 + 3 new pieces. Per issue #29. ``` ## Pre-state - Epic #1 shipped (F1–F9 + F7.1). Last work: F7.1 intra-diagram mermaid diff (#22, session 0027), then F9 authorship preview (#27, session 0026). - #29 (F10) had been **captured** as a `type/feature` (P1) in session 0028, with a rich issue body + a draft in the content repo (`issues/interactive-markdown-review-preview.md`). - A brainstorming placeholder **0029** had already been claimed at 21:32 (just before a `/clear`), then the conversation was cleared and reopened with `/goal next`. Clean `main`, 0 ahead/0 behind origin. ## Session arc (turn-by-turn) 1. **Route.** `/goal next` resolved the memory `Next /goal:` → "brainstorm/spec #29". A Feature needs a Solution Design first (R3) → **brainstorming** session. Invoked `wgl-brainstorming`. 2. **Adopt, don't duplicate.** The claim dry-run surfaced an in-flight 0029 placeholder (`Type: brainstorming`, same task, claimed 4 min earlier — the orphan from the pre-`/clear` attempt). Decision: **adopt 0029** rather than claim a redundant 0030. Verified clean baseline; CLAUDE.md import present; resolved app (content repo present, no BDD corpus). 3. **Orient.** Read issue #29's content-repo draft, the F7 rendered-preview spec (`coauthoring-rendered-preview.md`, incl. §11 F7.1), the F9 authorship spec (`2026-06-11-authorship-preview-design.md`), and dispatched an Explore agent that mapped every code seam (F3 decorations + `spansFor`; F7 `renderTrackChanges`/`renderAuthorship`/`renderOp`; F4 `accept`/`reject` → `applyAgentEdit`; F6 baseline + `onDidChangeBaseline`; webview `postMessage`/`setMode`; commands/keybindings; tests). 4. **Found the crux.** F9 had *explicitly rejected* combining authorship with the diff (INV-26: "two modes, never combined"); #29 *reverses* that. And the issue is internally inconsistent: F4 ships **propose-by-default** (LLM edits stay pending, not in the buffer), yet the issue says blue = "changes since the baseline" and "✗ reverts the document" — wording that imagines LLM text already in the buffer. 5. **Resolved the forks with the operator** (`superpowers:brainstorming` process): - **Linchpin** — *where do the LLM's ✓/✗ changes come from?* → **Proposals surface in the preview** (keep propose-by-default; ✓ = F4 accept + baseline advance, ✗ = F4 reject). [vs. apply-then-review / both-axes.] - **Clean-editor scope** → **fully clean** (strip F3 attribution *and* F4 proposal threads; proposals become preview-only). - **F6 disposition** → **hide** command + keybinding (`when:false`); keep controller + baseline data layer. 6. **Two follow-ons decided autonomously** (logged): status-bar indicator (not forced auto-open) for proposal-while-no-preview; remove F9's dead `renderAuthorship`/segmented control (salvage the PUA-sentinel coloring into a shared `colorByAuthor`); neutral strikethrough for deletions. 7. **Presented the design**, then (autonomous) wrote the Solution Design: `specs/coauthoring-interactive-review.md` (v0.1.0) — architecture (one pure `renderReview` overlaying diff + author sentinels + proposal blocks; interactive sealed webview posting intent to the F4 seam), INV-32/33/34, 4 slices, host-E2E tier. Self-reviewed (no placeholders; INV numbering continues from F7.1's 29–31 / F9's 26–28; issue-wording reconciliation stated explicitly). 8. **Finalized** (this skill): submitted the spec graduated to the content repo; updated memory; published this transcript. ## Cut state - **Deliverable:** `specs/coauthoring-interactive-review.md` (F10, v0.1.0) → submitted **graduated** to `vscode-cowriting-plugin-content/specs/` (commit `118bc29`). - **Code:** none (brainstorming session — no implementation). - **Memory:** new `f10-interactive-review-spec-graduated.md` + index + `Next /goal:`. - Working tree: clean `main` apart from this transcript and the untracked `specs/` scratch (the submitted spec + the pre-existing stray F8 spec). ## Deferred decisions _Autonomous-mode low-confidence calls the driver made and would have liked operator input on._ - **Proposal-while-no-preview affordance → status-bar indicator** (clickable to open), rather than forcing the preview to auto-open. Respects "write left, review right"; cheap to flip to auto-open. (Spec §6.7, §9.) - **F9's now-dead `renderAuthorship` + segmented control → removed** (not left dormant), salvaging the PUA-sentinel author-coloring into a shared `colorByAuthor` helper `renderReview` reuses. (Spec §6.2, §9.) - **Deletions → neutral strikethrough** (not author-colored), per the issue's "strikethrough = deleted". (Spec §6.7.) ## Operator plate (loose ends to be aware of) - **Session 0024 unfinalized** — still open from F8 work; not touched here. - **Stray `specs/coauthoring-out-of-workspace.md`** (already-graduated F8 spec) sits untracked in the CODE repo; left untouched (submit-spec took only the F10 file). A deliberate cleanup PR can remove it. ## Next-session prompt ``` /goal plan-and-execute #29 (F10 interactive review) per vscode-cowriting-plugin-content/specs/coauthoring-interactive-review.md — write the implementation plan from §7 (SLICE-1 clean editor → SLICE-2 renderReview engine → SLICE-3 interactive controller+webview → SLICE-4 tests/docs) and execute; host-E2E tier, no deploy pipeline (extension, no flotilla) ```