Skip to content

docs(vocab): post/surface prose + CLI help sweep (A6–A8)#149

Merged
benvinegar merged 1 commit into
mainfrom
feat/prose-cli-post-surface-vocab
Jun 25, 2026
Merged

docs(vocab): post/surface prose + CLI help sweep (A6–A8)#149
benvinegar merged 1 commit into
mainfrom
feat/prose-cli-post-surface-vocab

Conversation

@benvinegar

Copy link
Copy Markdown
Member

What

A6+A7+A8 of the workspace ▸ session ▸ post ▸ surface rename: the prose, CLI-help, and comment sweep. Adopts the new vocabulary in everything human-readable, with zero behavior change.

  • A6 — guide prose: guide/DESIGN_GUIDE.md, guide/AGENT_HOWTO.md, AGENTS.md — artifact "surface"→"post", block "part"→"surface", tenant "board"→"workspace". guide/AGENT_SETUP.md left as-is (its "surface" hits are the English/product sense).
  • A7 — CLI (bin/sideshow.js): help text, usage, and console messages reworded. sideshow comment gains a --post flag with --surface/--snippet kept as working aliases; the request still sends wire body key surface. Every HTTP endpoint and subcommand is unchanged.
  • A8 — server + viewer comments/strings: code comments and user-facing error messages reworded (e.g. "a surface needs at least one part""a post needs at least one surface").

Behavior unchanged — protected/wire strings kept byte-identical

No code identifier, route, MCP tool name, SSE event type, JSON key, query key, or control flow changed. Preserved verbatim: /api/surfaces, /api/snippets, the parts body key, ?part=/?surface=, surface-created/-updated/-deleted, the deprecated MCP tool aliases, the status board kit name, the board.html example, and --surface CSS vars.

Test fix

The CLI watch output label changed (surface <id>)(post <id>) (a comment attaches to a post). test/cli.test.ts asserted the old label; updated to (post <id>). Also moved the streaming child's kill() into finally so a failed assertion can't leave an open SSE connection blocking server.close() (this previously turned the failure into a hang).

Review

Writer + fresh-context reviewer. Reviewer verified: every bin/sideshow.js change is help/comment/message-only with all endpoints unchanged; status board/board.html preserved; no wire string touched; vocab mapping correct (no inversions). Five leftover tenant-board comments it flagged are fixed in this PR.

Gates

typecheck ✓ · test 261/261 ✓ · test:e2e 68/68 ✓ · lint ✓ · format:check ✓ · build ✓ · changeset sideshow patch

🤖 Generated with Claude Code

Adopt the workspace ▸ session ▸ post ▸ surface vocabulary in human-readable
text only — guide prose, CLI help/messages, and code comments/strings. No code
identifiers, routes, MCP tool names, SSE event types, JSON keys, or control flow
changed; behavior is unchanged.

- guide: DESIGN_GUIDE.md, AGENT_HOWTO.md, AGENTS.md — artifact "surface"→"post",
  block "part"→"surface", tenant "board"→"workspace". Protected terms kept: the
  `status board` kit name and the board.html example. AGENT_SETUP.md left as-is
  (its "surface" hits are the English/product sense).
- CLI (bin/sideshow.js): help text, usage, and console messages reworded. The
  `comment` command gains `--post` with `--surface`/`--snippet` kept as aliases;
  the request still sends wire body key `surface`. Every HTTP endpoint unchanged.
- server/viewer comments + user-facing error strings reworded (e.g. "a surface
  needs at least one part"→"a post needs at least one surface").
- test/cli.test.ts: watch-output assertions updated to the new `(post <id>)`
  label; the streaming child is now killed in `finally` so a failed assertion
  can't block server.close() on an open SSE connection.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@benvinegar benvinegar merged commit 67a9681 into main Jun 25, 2026
9 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant