80 lines
3.9 KiB
Markdown
80 lines
3.9 KiB
Markdown
# Session 0023.0 — Transcript
|
||
|
||
> App: vscode-cowriting-plugin
|
||
> Start: 2026-06-11T12-28 (PST)
|
||
> End: 2026-06-11T12-30 (PST)
|
||
> Type: capture (tracked-lite)
|
||
> Status: **FINALIZED**
|
||
> Posture: autonomous (yolo)
|
||
|
||
## Launch prompt
|
||
|
||
> Capture a Feature on the tracker: extend the authoring flow (F2/F3/F4 — threads /
|
||
> attribution / Ask Claude to Edit Selection) to files OUTSIDE the workspace folder,
|
||
> persisting the sidecar in VS Code global storage keyed by URI hash (like F6's
|
||
> baseline) for out-of-workspace/untitled files. Hybrid model recommended. Origin:
|
||
> F7 manual testing (sessions 0021/0022); operator chose global storage.
|
||
|
||
## What this captured
|
||
|
||
One **Feature** issue, filed to the tracker:
|
||
|
||
- **#25 — Out-of-workspace authoring (global-storage sidecar fallback)**
|
||
(`type/feature`, `priority/P2`):
|
||
https://git.benstull.org/benstull/vscode-cowriting-plugin/issues/25
|
||
|
||
The ask: extend F2/F3/F4 (threads / attribution / "Ask Claude to Edit Selection")
|
||
to files outside the workspace folder + untitled buffers, via a **hybrid**
|
||
persistence model — in-workspace `file:` docs keep the committable git-native
|
||
`.threads/` sidecar (INV-2 unchanged); out-of-workspace / untitled docs fall back to
|
||
a **global-storage sidecar keyed by URI hash** (like F6's baseline, INV-19). The
|
||
issue records the F5 cross-rung non-shareability of global-storage artifacts and
|
||
the URI-rename orphaning caveat, and flags that — being a persistence-model change
|
||
— it needs a **Solution Design before code** (handbook §3.4 R3).
|
||
|
||
## Arc
|
||
|
||
1. **Origin (sessions 0021/0022).** During F7 manual testing, "Ask Claude to Edit
|
||
Selection" was refused on an out-of-workspace content-repo file. Session 0022
|
||
(PR #24) fixed the misleading message + the `startsWith` prefix-collision. The
|
||
operator then asked why authoring (unlike F6/F7) doesn't work on any file.
|
||
2. **Design conversation.** Established the asymmetry (diff/preview persist outside
|
||
the repo → any file; authoring persists a repo-relative `.threads/` sidecar →
|
||
workspace-only). Operator chose the **global-storage** fork over co-locate /
|
||
keep-as-is, and chose to **capture it for later** ("we'll take it from there").
|
||
3. **Capture (this session).** Claimed tracked-lite session 0023; resolved the
|
||
content repo; authored the §5 issue draft
|
||
(`issues/out-of-workspace-authoring.md`); ensured labels; filed **#25**.
|
||
|
||
## Notes
|
||
|
||
- **Token:** the capture scripts' default Keychain entry
|
||
(`wgl-gitea-issues-readwrite-token`) is absent for `git.benstull.org` (401);
|
||
pointed `WGL_CAPTURE_TOKEN_SERVICE` at the existing
|
||
`wgl-gitea-token-git.benstull.org` (write:repository) to ensure labels + file the
|
||
issue. (A dedicated issue-scoped token for this host would let the default work.)
|
||
- **Draft (INV-8):** `vscode-cowriting-plugin-content/issues/out-of-workspace-authoring.md`
|
||
is left **uncommitted** in the content-repo working tree — the Author's to commit/
|
||
publish or discard (this skill never pushes the content repo). Several earlier
|
||
capture drafts are likewise uncommitted there.
|
||
|
||
## Deferred decisions
|
||
|
||
No low-confidence calls — the operator directly chose the global-storage approach
|
||
and directed the capture. The hybrid-vs-uniform fork is recorded in the issue as the
|
||
key open design decision for the eventual Solution Design (not decided here).
|
||
|
||
## Next session
|
||
|
||
Two open items; pick per priority:
|
||
|
||
```
|
||
/goal Brainstorm and write the Solution Design for #25 (out-of-workspace authoring) — settle the hybrid persistence model (in-workspace .threads/ sidecar vs global-storage fallback for out-of-workspace/untitled), the F5 cross-rung non-shareability, and the URI-rename orphaning caveat; per the issue body.
|
||
```
|
||
|
||
(The earlier F7 follow-up **#22** — intra-diagram mermaid diffing — also remains
|
||
open; sequence #22 vs #25 by priority. #25 is `priority/P2`.)
|
||
|
||
Read first: issue #25, memory `editselection-workspace-membership.md`, and the F2–F6
|
||
specs for the sidecar/baseline persistence precedents.
|