chore(voyage): release v5.0.2 — operator-driven annotation HTML (scripts/annotate.mjs)
v5.0.0 added a read-only HTML render. v5.0.1 deleted that and pointed at /playground document-critique, which pre-generates Claude's suggestions and asks the operator to approve/reject them. The operator asked for the opposite — a surface where THEY drive every annotation. v5.0.2 lands it. scripts/annotate.mjs (~430 lines, zero deps) takes any artifact .md and writes a self-contained HTML next to it. The HTML renders the document with line numbers, lets the operator click any line to add their own note (inline textarea, save with Cmd+Enter or button), keeps a sidebar of all notes (editable + deletable + persisted in localStorage per artifact path), and exposes Copy Prompt to gather every note into one structured prompt. Operator copies, pastes back, Claude revises the .md. The three producing commands now run annotate.mjs at their last step and print the file:// link with explicit "Click any line to add YOUR OWN note" instructions. The v5.0.1 /playground document-critique line is gone. npm test green: 516 tests, 514 pass, 0 fail, 2 skipped. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
parent
2e0892cdaf
commit
8ea692bc60
15 changed files with 995 additions and 118 deletions
|
|
@ -4,6 +4,58 @@ All notable changes to this project will be documented in this file.
|
|||
|
||||
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/).
|
||||
|
||||
## v5.0.2 — 2026-05-13 — Operator-driven annotation HTML (the actual fix)
|
||||
|
||||
**No new breaking changes beyond v5.0.0.** Forks that consumed the v5.0.1
|
||||
`/playground document-critique` invocation from the producing commands'
|
||||
final report should switch to opening the `.html` that `scripts/annotate.mjs`
|
||||
now produces directly.
|
||||
|
||||
### Why
|
||||
|
||||
v5.0.0 added a read-only `scripts/render-artifact.mjs` HTML render that
|
||||
didn't afford annotation. v5.0.1 deleted that and pointed operators at
|
||||
`/playground document-critique` instead — but the `document-critique`
|
||||
template pre-generates **Claude's** suggestions and asks the operator to
|
||||
approve/reject them. The operator asked for the opposite: a surface where
|
||||
**they** select content and write **their own** notes, then ship those
|
||||
notes back to Claude. v5.0.1 still missed the actual ask.
|
||||
|
||||
v5.0.2 ships `scripts/annotate.mjs` — a small, focused, zero-dependency
|
||||
Node script that takes any artifact `.md` and writes a self-contained
|
||||
HTML next to it. The HTML renders the document with line numbers, lets
|
||||
the operator click any line to attach their own note, keeps a sidebar of
|
||||
all notes (editable + deletable, persisted in `localStorage` per artifact
|
||||
path so refresh doesn't lose work), and exposes a "Copy Prompt" button
|
||||
that gathers every note into one structured prompt. The operator copies
|
||||
that prompt and pastes it back into Claude; Claude revises the `.md`
|
||||
freehand from the notes. **One file → one HTML → click + write notes →
|
||||
copy prompt → paste back.** No Claude-generated suggestions in the loop.
|
||||
The operator drives every annotation.
|
||||
|
||||
This is the v4.2/v4.3 *concept* (operator-driven annotation) without the
|
||||
broken v4.2/v4.3 UX, without the 388 KB SPA, without `/trekrevise`,
|
||||
without anchor parsers + Handover 8 + the JSON batch round-trip. ~430
|
||||
lines of self-contained `.mjs`. Zero npm deps. Deterministic.
|
||||
|
||||
### Added
|
||||
|
||||
- **`scripts/annotate.mjs`** — operator-annotation HTML generator. Takes `<artifact.md>`, writes `<artifact>.html` (or `--out <file>`). Self-contained, design-system-aligned (light + dark + print), zero external network, deterministic. CLI: `node scripts/annotate.mjs <artifact.md> [--out <file.html>]`. Also `npm run annotate -- <artifact.md>`.
|
||||
- **`tests/scripts/annotate.test.mjs`** (10 tests) — self-contained HTML shape, no external `<link>`/`<script src>`, inline script parses, source content + path embedded, HTML escaping in title + body (XSS surface), determinism, default output path, arg parsing, and the operator-driven affordances (Click any line, Your annotations sidebar, Copy Prompt, Clear all, localStorage).
|
||||
- **`npm run annotate`** convenience script.
|
||||
|
||||
### Changed
|
||||
|
||||
- **`commands/trekbrief.md` Step 4g, `commands/trekplan.md` Phase 10, `commands/trekreview.md` Phase 8** — each now runs `scripts/annotate.mjs` after the artifact is final and prints the resulting `file://<abs path>` link with explicit "Click any line to add YOUR OWN note" instructions. The v5.0.1 `/playground build a document-critique playground for …` line is removed from all three.
|
||||
- **`tests/lib/doc-consistency.test.mjs`** — replaced the v5.0.1 `/playground` pins with v5.0.2 pins: `scripts/annotate.mjs` exists; producing commands invoke it; producing commands no longer print the v5.0.1 `/playground document-critique` line; producing commands signal operator-driven annotation in their prose; CHANGELOG has a v5.0.2 entry.
|
||||
- **Plugin `CLAUDE.md` + `README.md` + root `CLAUDE.md` + root `README.md` + `.claude-plugin/marketplace.json`** — voyage description updated from "v5.0.1 /playground invocation" to "v5.0.2 operator-annotation HTML (`scripts/annotate.mjs`)".
|
||||
|
||||
### Notes
|
||||
|
||||
- `/playground` is unchanged — the official `claude-plugins-official` `playground` skill is great for the Claude-leads, operator-reacts flow; it just wasn't the right tool for operator-leads, Claude-reacts.
|
||||
- `npm test`: 516 tests, 514 pass, 0 fail, 2 skipped (up from 503 — 10 new `annotate.test.mjs` tests + 3 net new doc-consistency pins).
|
||||
- Version bump 5.0.1 → 5.0.2 in `.claude-plugin/plugin.json`, `package.json`, `package-lock.json`, plugin `README.md` badge.
|
||||
|
||||
## v5.0.1 — 2026-05-13 — Drop the standalone HTML render; print a literal /playground invocation
|
||||
|
||||
**No new breaking changes beyond v5.0.0.** Forks that consumed
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue