docs: remove dead references to a retired repository (green)

The annotation surface's provenance is now described as the pattern it
follows (pencil toggle, intent buttons, popover form, structured export)
rather than by naming a repository that no longer exists. Touches the
plugin/package descriptions, README, docs/architecture.md, the v5.0.3
CHANGELOG entry, and two comments in scripts/annotate.mjs and its test.

Retired-reference check: 12 hits in 7 files -> 0 (content and path names).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
Kjell Tore Guttormsen 2026-09-23 12:28:05 +02:00
commit d0dee914be
Signed by: ktg
SSH key fingerprint: SHA256:JakMjO6FTBBzN0Bhfj9saOoEjaFxlSdYuZQQpM/lF9Q
7 changed files with 16 additions and 16 deletions

View file

@ -1,6 +1,6 @@
{ {
"name": "voyage", "name": "voyage",
"description": "Voyage — brief, research, plan, execute, review, continue. Contract-driven Claude Code pipeline. /trekbrief, /trekplan, and /trekreview each end by building a self-contained operator-annotation HTML (scripts/annotate.mjs, modelled on claude-code-100x): select text or click any element, pick intent (Fiks/Endre/Spørsmål), write comment, copy structured prompt, paste back, Claude revises the .md.", "description": "Voyage — brief, research, plan, execute, review, continue. Contract-driven Claude Code pipeline. /trekbrief, /trekplan, and /trekreview each end by building a self-contained operator-annotation HTML (scripts/annotate.mjs, pencil-toggle annotation pattern): select text or click any element, pick intent (Fiks/Endre/Spørsmål), write comment, copy structured prompt, paste back, Claude revises the .md.",
"version": "5.11.0", "version": "5.11.0",
"author": { "author": {
"name": "Kjell Tore Guttormsen" "name": "Kjell Tore Guttormsen"

View file

@ -586,7 +586,7 @@ prose in each downstream command.
- `phase_signals_present` stats emission is also deferred to v5.1.1 - `phase_signals_present` stats emission is also deferred to v5.1.1
(opt-in observability per Research 03 Q5). (opt-in observability per Research 03 Q5).
## v5.0.3 — 2026-05-13 — Annotation UX matches the claude-code-100x reference ## v5.0.3 — 2026-05-13 — Annotation UX matches the operator's reference
**No new breaking changes beyond v5.0.0.** Forks consuming v5.0.2's **No new breaking changes beyond v5.0.0.** Forks consuming v5.0.2's
annotation HTML keep working — the file path and entry point are annotation HTML keep working — the file path and entry point are
@ -597,8 +597,8 @@ freeform notes) with the v5.0.3 shape (intent-tagged annotations).
### Why ### Why
v5.0.2 shipped a too-simple annotation surface: click a line, write a v5.0.2 shipped a too-simple annotation surface: click a line, write a
freeform note, save. The operator pointed at the existing freeform note, save. The operator pointed at an existing
`claude-code-100x/build-site.js` annotation system as the actual annotation surface in another project as the actual
reference — pencil-toggle mode, text-selection capture, three intent reference — pencil-toggle mode, text-selection capture, three intent
categories (**Fiks** / **Endre** / **Spørsmål**), a popover form at the categories (**Fiks** / **Endre** / **Spørsmål**), a popover form at the
cursor, structured markdown export with intent labels. v5.0.3 brings cursor, structured markdown export with intent labels. v5.0.3 brings
@ -613,7 +613,7 @@ don't repeat it.
### Changed ### Changed
- **`scripts/annotate.mjs`** — rewritten to match the - **`scripts/annotate.mjs`** — rewritten to match the
`claude-code-100x/build-site.js` UX: reference annotation UX:
- **Article rendering** — markdown is rendered to proper HTML elements - **Article rendering** — markdown is rendered to proper HTML elements
(`<h1>`/`<p>`/`<ul>`/`<li>`/`<table>`/`<blockquote>`/`<pre>`), not as (`<h1>`/`<p>`/`<ul>`/`<li>`/`<table>`/`<blockquote>`/`<pre>`), not as
line-numbered raw lines. Document reads as a normal article. line-numbered raw lines. Document reads as a normal article.
@ -659,8 +659,8 @@ don't repeat it.
- `npm test`: 518 tests, 516 pass, 0 fail, 2 skipped (up from 516 — 2 - `npm test`: 518 tests, 516 pass, 0 fail, 2 skipped (up from 516 — 2
new annotate tests for hostile-content escape + renderMarkdown table/ new annotate tests for hostile-content escape + renderMarkdown table/
blockquote coverage). blockquote coverage).
- Reference: `~/repos/claude-code-100x/claude-code-100x/build-site.js` - Reference: the annotation UI section of the existing surface the
lines 1431–2255 (annotation UI section). operator pointed at.
- Version bump 5.0.2 → 5.0.3 in `.claude-plugin/plugin.json`, - Version bump 5.0.2 → 5.0.3 in `.claude-plugin/plugin.json`,
`package.json`, `package-lock.json`, plugin `README.md` badge. `package.json`, `package-lock.json`, plugin `README.md` badge.

View file

@ -569,8 +569,8 @@ the tab and reopen the same file.
``` ```
You run `open` (or click the `file://` link in your terminal), the HTML You run `open` (or click the `file://` link in your terminal), the HTML
opens in your default browser. The annotation UX is modelled on opens in your default browser. The annotation UX follows an existing
`claude-code-100x/build-site.js`: annotation surface the operator pointed at:
- **Topbar:** pencil-toggle button — annotation mode default ON. Click - **Topbar:** pencil-toggle button — annotation mode default ON. Click
to turn off (then you read the article normally, follow links, etc.). to turn off (then you read the article normally, follow links, etc.).
@ -611,7 +611,7 @@ Claude never pre-generates suggestions in this flow.
> **What v5.0.3 changed from v5.0.2.** v5.0.2 was operator-led but the UX > **What v5.0.3 changed from v5.0.2.** v5.0.2 was operator-led but the UX
> was too thin — click a line, type a freeform note, save. The reference > was too thin — click a line, type a freeform note, save. The reference
> the operator pointed at (`~/repos/claude-code-100x/claude-code-100x/build-site.js`) > the operator pointed at (an existing annotation surface in another project)
> already had the right pattern: pencil-toggle, selection capture, three > already had the right pattern: pencil-toggle, selection capture, three
> intent categories, popover form, structured markdown export. v5.0.3 > intent categories, popover form, structured markdown export. v5.0.3
> rebuilds `scripts/annotate.mjs` against that reference. v5.0.0 / v5.0.1 > rebuilds `scripts/annotate.mjs` against that reference. v5.0.0 / v5.0.1

View file

@ -57,7 +57,7 @@ Doc-consistency test at `tests/lib/doc-consistency.test.mjs` pins agent-table co
**Operator-UX guarantee (since v5.0.2):** `/trekbrief`, `/trekplan`, and `/trekreview` MUST always emit (a) a plain `file://<abs path>` URL AND (b) a copy-pasteable `open file://<abs path>` command in the final report block. The file:// URL must use an ABSOLUTE path (not relative or `~/`-prefixed) so terminals with cmd+click support (Ghostty, iTerm2, modern Terminal.app) can resolve it without shell interpretation. This is a non-negotiable operator-UX contract — the doc-consistency test pins both forms in all three commands' final report blocks. **Operator-UX guarantee (since v5.0.2):** `/trekbrief`, `/trekplan`, and `/trekreview` MUST always emit (a) a plain `file://<abs path>` URL AND (b) a copy-pasteable `open file://<abs path>` command in the final report block. The file:// URL must use an ABSOLUTE path (not relative or `~/`-prefixed) so terminals with cmd+click support (Ghostty, iTerm2, modern Terminal.app) can resolve it without shell interpretation. This is a non-negotiable operator-UX contract — the doc-consistency test pins both forms in all three commands' final report blocks.
**Operator-annotation HTML (v5.0.3):** the last step of `/trekbrief`, `/trekplan`, and `/trekreview` runs `scripts/annotate.mjs` against the just-written `.md` and prints the resulting `file://<abs path>` link. The HTML is self-contained (zero npm deps, zero external network, design-system-styled, light + dark + print) and modelled on `~/repos/claude-code-100x/claude-code-100x/build-site.js` (lines 1431–2255). The operator opens the file, the document renders as a proper article (headings / paragraphs / lists / tables / code / quotes — every element gets a stable `data-anchor-id`). In annotation mode (default ON, pencil-toggle in topbar), the operator can **select any text or click any element** → a form popover opens at the cursor with: section context auto-detected from nearest h1/h2, the anchored snippet (selection if any, else element text), **three intent buttons (Fiks / Endre / Spørsmål)**, comment textarea, Save/Cancel. The sidebar (Show annotations button) lists every annotation grouped by section with intent badge + snippet + comment + delete; clicking a card scrolls to and flashes the source element. **Copy Prompt** assembles a structured markdown (`### N. [Intent] Section: <…>` + `Quote: «…»` + `Comment: …`) and copies to clipboard. Persistence: `localStorage` keyed on absolute artifact path (`voyage-annotate:v2:<abs path>`). v5.0.0 removed the v4.2/v4.3 bespoke playground SPA + `/trekrevise` + Handover 8; v5.0.1 pointed at `/playground document-critique` (Claude-leads, wrong direction); v5.0.2 was operator-led but too thin (line-click + freeform note, no intents); v5.0.3 matches the claude-code-100x reference the operator first pointed at, with pencil-toggle / selection capture / intent categories / popover form / structured export. See [CHANGELOG.md](../CHANGELOG.md) § v5.0.3. **Operator-annotation HTML (v5.0.3):** the last step of `/trekbrief`, `/trekplan`, and `/trekreview` runs `scripts/annotate.mjs` against the just-written `.md` and prints the resulting `file://<abs path>` link. The HTML is self-contained (zero npm deps, zero external network, design-system-styled, light + dark + print) and modelled on an existing annotation surface the operator pointed at. The operator opens the file, the document renders as a proper article (headings / paragraphs / lists / tables / code / quotes — every element gets a stable `data-anchor-id`). In annotation mode (default ON, pencil-toggle in topbar), the operator can **select any text or click any element** → a form popover opens at the cursor with: section context auto-detected from nearest h1/h2, the anchored snippet (selection if any, else element text), **three intent buttons (Fiks / Endre / Spørsmål)**, comment textarea, Save/Cancel. The sidebar (Show annotations button) lists every annotation grouped by section with intent badge + snippet + comment + delete; clicking a card scrolls to and flashes the source element. **Copy Prompt** assembles a structured markdown (`### N. [Intent] Section: <…>` + `Quote: «…»` + `Comment: …`) and copies to clipboard. Persistence: `localStorage` keyed on absolute artifact path (`voyage-annotate:v2:<abs path>`). v5.0.0 removed the v4.2/v4.3 bespoke playground SPA + `/trekrevise` + Handover 8; v5.0.1 pointed at `/playground document-critique` (Claude-leads, wrong direction); v5.0.2 was operator-led but too thin (line-click + freeform note, no intents); v5.0.3 matches the annotation reference the operator first pointed at, with pencil-toggle / selection capture / intent categories / popover form / structured export. See [CHANGELOG.md](../CHANGELOG.md) § v5.0.3.
**Security:** 4-layer defense-in-depth: plugin hooks (pre-bash-executor, pre-write-executor), prompt-level denylist (works in headless sessions), pre-execution plan scan (Phase 2.4), scoped `--allowedTools` replacing `--dangerously-skip-permissions`. Hard Rules 14-16 enforce verify command security, repo-boundary writes, and sensitive path protection. **Security:** 4-layer defense-in-depth: plugin hooks (pre-bash-executor, pre-write-executor), prompt-level denylist (works in headless sessions), pre-execution plan scan (Phase 2.4), scoped `--allowedTools` replacing `--dangerously-skip-permissions`. Hard Rules 14-16 enforce verify command security, repo-boundary writes, and sensitive path protection.

View file

@ -2,7 +2,7 @@
"name": "voyage", "name": "voyage",
"version": "5.11.0", "version": "5.11.0",
"private": true, "private": true,
"description": "Voyage — brief, research, plan, execute, review, continue. Contract-driven Claude Code pipeline. /trekbrief, /trekplan, and /trekreview each end by building a self-contained operator-annotation HTML (scripts/annotate.mjs, modelled on claude-code-100x): select text or click any heading/paragraph/list-item, pick intent (Fiks/Endre/Spørsmål), write comment, copy structured prompt, paste back, Claude revises the .md.", "description": "Voyage — brief, research, plan, execute, review, continue. Contract-driven Claude Code pipeline. /trekbrief, /trekplan, and /trekreview each end by building a self-contained operator-annotation HTML (scripts/annotate.mjs, pencil-toggle annotation pattern): select text or click any heading/paragraph/list-item, pick intent (Fiks/Endre/Spørsmål), write comment, copy structured prompt, paste back, Claude revises the .md.",
"type": "module", "type": "module",
"engines": { "engines": {
"node": ">=18" "node": ">=18"

View file

@ -11,8 +11,8 @@
// every annotation grouped by section; Copy Prompt assembles them into // every annotation grouped by section; Copy Prompt assembles them into
// one structured markdown the operator pastes back into Claude. // one structured markdown the operator pastes back into Claude.
// //
// UX modelled on the claude-code-100x annotation surface // UX modelled on an existing annotation surface the operator pointed at
// (build-site.js, 2026 — same pencil-toggle, intent buttons, form popover, // (2026 — same pencil-toggle, intent buttons, form popover,
// localStorage persistence, structured markdown export). // localStorage persistence, structured markdown export).
// //
// • Operator drives every annotation. No Claude-generated suggestions. // • Operator drives every annotation. No Claude-generated suggestions.

View file

@ -1,6 +1,6 @@
// tests/scripts/annotate.test.mjs // tests/scripts/annotate.test.mjs
// Covers scripts/annotate.mjs — the v5.0.3 operator-annotation HTML // Covers scripts/annotate.mjs — the v5.0.3 operator-annotation HTML
// generator. UX modelled on claude-code-100x/build-site.js (pencil // generator. UX modelled on an existing annotation surface (pencil
// toggle, intent buttons, form popover, selection-anchoring, localStorage // toggle, intent buttons, form popover, selection-anchoring, localStorage
// persistence, structured markdown export). // persistence, structured markdown export).
// //
@ -144,7 +144,7 @@ test('parseArgs handles --out, positional input, and --help', () => {
}); });
test('buildHtml wires the v5.0.3 operator-driven annotation affordances', () => { test('buildHtml wires the v5.0.3 operator-driven annotation affordances', () => {
// Pin every UX-critical affordance modelled on claude-code-100x/build-site.js: // Pin every UX-critical affordance modelled on the reference annotation surface:
// - Pencil-toggle button (annotation mode on/off) // - Pencil-toggle button (annotation mode on/off)
// - Form popover with three intent buttons (Fiks/Endre/Spørsmål) // - Form popover with three intent buttons (Fiks/Endre/Spørsmål)
// - Annotations sidebar (Your annotations + Clear all + Copy Prompt) // - Annotations sidebar (Your annotations + Clear all + Copy Prompt)