105 lines
5.4 KiB
Markdown
105 lines
5.4 KiB
Markdown
# Session 0035.0 — Transcript
|
|
|
|
> App: vscode-cowriting-plugin
|
|
> Start: 2026-06-12T08-53 (PST)
|
|
> End: 2026-06-12T10-58 (PST)
|
|
> Type: capture (tracked-lite)
|
|
> Status: **FINALIZED**
|
|
|
|
## Launch prompt
|
|
|
|
```
|
|
Add "Open Cowriting Review Panel" to the context window when you right click on a markdown file or its tab
|
|
```
|
|
|
|
## Pre-state
|
|
|
|
- Branch `main`, clean, pushed. Prior session 0034 had shipped the #38 undo fix
|
|
(PR #39). Recorded next goal there was #33 (intra-emphasis hardening) — this
|
|
session instead opened as a **capture** session on a new line of UX asks.
|
|
- Existing command surface (from `package.json`): `cowriting.editSelection`
|
|
("Ask Claude to Edit Selection", editor-context, selection-gated);
|
|
`cowriting.showTrackChangesPreview` ("Open Review Preview", palette +
|
|
`ctrl+alt+r`); `cowriting.pinDiffBaseline` ("Pin Review Baseline to Now"),
|
|
registered but **palette-suppressed** (`when:false`) with no menu/keybinding —
|
|
orphaned since #34 deleted its F6 two-pane host.
|
|
|
|
## Arc (turn by turn)
|
|
|
|
1. **Claim + resolve.** Claimed tracked-lite transcript 0035 (`--type capture`).
|
|
Resolved app `vscode-cowriting-plugin`, content repo
|
|
`benstull/vscode-cowriting-plugin-content` (cloned), tracker
|
|
`benstull/vscode-cowriting-plugin`.
|
|
2. **Ask 1 → #41.** Right-click on a markdown file/tab → "Open Cowriting Review
|
|
Panel". Sized **type/story, P2** (pure menu wiring to the existing preview
|
|
command). Drafted `issues/review-panel-context-menu.md`. Flagged the label
|
|
wrinkle (VS Code renders the command's own title). Operator: "first one looks
|
|
good" → ensured labels (needed host token
|
|
`wgl-gitea-issues-readwrite-token-git.benstull.org`; bare default 401'd) →
|
|
filed **#41**.
|
|
3. **Ask 2 → #42.** "Ask Claude to Edit Document" when right-clicking the body with
|
|
no selection; Edit Selection/Edit Document on the tab too. Sized
|
|
**type/feature, P2** — beyond menu wiring it introduces a *new whole-document
|
|
edit capability* with open product questions (instruction gathering, one big
|
|
F4 proposal vs many, large-doc/token behavior). Drafted
|
|
`issues/ask-claude-edit-document-context-menu.md`. Operator: "file as a
|
|
feature" → filed **#42**.
|
|
4. **Question: pin baseline.** Operator asked if the baseline can be reset to the
|
|
current editor. Answer: yes — `cowriting.pinDiffBaseline` does exactly that
|
|
(`capture(doc,"pinned")` → baseline := `document.getText()`). Initially said
|
|
"palette-only"; operator's screenshot showed it absent from the palette →
|
|
re-checked and **corrected**: it's `when:false`-suppressed with no menu/
|
|
keybinding, i.e. **unreachable from any UI**.
|
|
5. **Ask 3 → #43 (lead).** Operator's direction: make the **rendered preview the
|
|
primary interaction surface** — toolbar (home of the annotations checkbox)
|
|
gains one **adaptive "Ask Claude…" button** (Edit Selection ⇆ Edit Document by
|
|
*preview* selection) and a **Pin baseline** button. Asked two shaping
|
|
questions; operator chose **coexist** (native menus #41/#42 become **gateways
|
|
that open the preview**) and **P1**. Sized **type/feature, P1**; central design
|
|
risk = mapping a rendered-preview selection back to a source markdown range
|
|
(fallback: document-level button first). Drafted
|
|
`issues/preview-toolbar-interaction-surface.md` → operator "file as-is" →
|
|
filed **#43**.
|
|
6. **Dependencies.** Operator: make #41/#42 dependent on #43. Set via Gitea
|
|
issue-dependencies API — discovered the body needs `{"owner","repo","index"}`
|
|
with the repo key **`repo`** (documented `name` 404s as
|
|
`IsErrRepoNotExist`). #41 and #42 now **blocked-by #43**; verified.
|
|
7. **Finalize** (tracked-lite): base survey (session repo clean, nothing to land);
|
|
no spec/plan artifact (INV-6); memory updated; transcript published.
|
|
|
|
## Cut state
|
|
|
|
- **Filed:** #41 (story P2), #42 (feature P2), #43 (feature P1) on
|
|
`benstull/vscode-cowriting-plugin`. #41 & #42 **blocked-by #43**.
|
|
- **Session repo:** `main`, clean, unchanged (no code touched this session).
|
|
- **Content repo:** 3 new `issues/*.md` drafts left **uncommitted** (Author's to
|
|
publish/discard — INV-8). No commits/pushes made to it.
|
|
|
|
## Operator plate (loose ends)
|
|
|
|
- The pin-baseline UI-reachability gap is captured only *inside* #43's scope
|
|
(operator chose to fold it in, not file a standalone bug).
|
|
- #41/#42 carry no comment cross-linking #43; the dependency link is recorded in
|
|
Gitea instead. (Offered to add comments; not requested.)
|
|
- Pre-existing untracked drafts from earlier capture sessions still sit in the
|
|
content repo working tree (not this session's concern).
|
|
|
|
## Deferred decisions
|
|
|
|
_None — all sizing/priority/relationship calls were made with the operator in the
|
|
moment (sizing of #42 as feature, #43 coexist-vs-supersede and P1, folding the
|
|
pin gap into #43)._
|
|
|
|
## Next-session prompt
|
|
|
|
```
|
|
/wgl-brainstorming design #43 — preview toolbar as the primary interaction surface
|
|
(adaptive "Ask Claude…" button: Edit Selection ⇆ Edit Document by preview-selection
|
|
state; Pin baseline button; annotations checkbox stays). Central design problem:
|
|
map a selection in the rendered (markdown-it) preview back to a source markdown
|
|
range; fallback is ship document-level Ask-Claude + Pin first, selection-aware
|
|
second. Coexists with #41/#42 (native right-click entries become gateways that
|
|
open the preview). Builds on F7/F10 preview + annotations toggle, F3/F4 inner
|
|
loop, F6 baseline store (gives orphaned cowriting.pinDiffBaseline a UI home).
|
|
```
|