Operator feedback iteration on the Ask-Claude input. Replaces the inline
comment-thread box (and the top-center QuickInput before it) with ONE input for
both scopes: a multi-line webview in a split pane below the document.
- New `editInstructionInput.ts` (`promptEditInstruction`): a tall, resizable
textarea + Send, opened via `newGroupBelow` so it sits under the document, not
over it. Auto-focused; ⌘↵/Ctrl↵ sends; Esc cancels. Cancel/Esc confirms ONLY
when there's text to lose (a webview can read its own textarea); closing the tab
is an explicit dismiss. On submit/cancel the split collapses AND focus is handed
back to the document, so the bottom panel (Output/Debug Console) no longer pops.
- Selection edits use the same box; the document above keeps the selection
highlighted (inactive-selection style) so the user sees what Claude will edit —
the selection is captured before the prompt, never touched.
- Removes the whole inline-comment mechanism: deletes `inlineAsk.ts`
(InlineAskController), the `cowriting.askClaude.submit`/`.cancel` commands, their
comment-thread menus, and the Escape keybinding — net deletion. One overridable
seam `TrackChangesPreviewController.askEditInstruction` (used by editSelection
and the preview), stubbed by the host E2E.
Sealed webview (INV-8/35): collects text only, no SDK/secret surface, no network.
242 unit + typecheck (src + e2e) + build green.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Document-edit flow SLICE-1 (specs/coauthoring-document-edit-flow.md §7.2,
INV-38): make "Ask Claude to Edit" reachable from the editor body AND the
editor tab, selection-aware — a selection routes to editSelection, no
selection to editDocument — both gated to markdown/authorable docs, both
flowing through the single runEditAndPropose path (no divergent edit code).
- package.json: add editSelection + editDocument to editor/context (selection-
aware, markdown + file/untitled) and editor/title/context (selection-aware,
resourceLangId == markdown). Markdown-gate the existing editor/context
editSelection entry to match (its command handler is unchanged; the palette
still reaches any authorable doc — see transcript Deferred decisions).
- trackChangesPreview.ts: cowriting.editDocument accepts the clicked tab's
resource Uri (editor/title/context), targeting THAT document (opening it if
needed) and falling back to the active editor when invoked with no arg —
mirroring showTrackChangesPreview's #41 clicked-doc resolution.
- E2E (test/e2e/suite/f12Reach.test.ts): menu entries present, selection-aware,
markdown-gated; editDocument(uri) targets the tab doc not the active editor;
no-arg falls back to the active editor.
- docs/MANUAL-SMOKE-F12.md: SLICE-1 reach smoke steps.
208 unit + 65/5 host E2E green.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>