feat(feedback-site): lane 6c — writing the wiki (#659, #696) #708

Closed
claude-bot wants to merge 0 commits from feat/lane6c-writing into main
Collaborator

Lane 6c of the redesign mockups (#659), part 3 of step 4 in #696. It draws the wiki as it is written, at /prototype/lane6c. Every surface is drawn in every state.

What's drawn

WIKI-7: Editing a page. This follows D58: the text and the preview side by side, with [[ autocomplete and autosave.

  • The page's fields sit above the text. The facts, timeline, stat block and link suggestions sit below it, and one Save covers all of them.
  • On a phone, one section is edited at a time.
  • Priya can edit her own character's page, including her own block.
  • Blocks for some people (IS-127) are written :::for Ossian Vale. The toolbar opens lane 6a's picker, characters first, and both the text and the preview show who each block is for.
  • Stat block: normal, a field out of range, stats from another game system, an older version of the game system's stat block, a kind of page with no stat block, and deleting it.
  • Also drawn: importing from Foundry, saving, "someone else saved", leaving with unsaved changes, renaming (the old name keeps working and can be changed on linking pages), GM notes moved into a block (IS-028), pasting a picture or a document, and embedding a stat block or map.

WIKI-8: A new page. It opens in the same editor, started from its kind's template (IS-046). The GM can change the templates per campaign.

  • Reached from a dashed link: the name comes with it.
  • A player where players suggest pages: the page goes to the suggestions queue (IS-054).
  • A player where only the GM writes: a not-for-you page.
  • Also drawn: a name that's already taken, changing the page's kind (what was written is kept), creating it, failure, and loading.

WIKI-9: A draft. Each kind of draft sits beside the page it would change: rephrase, merge, backstory, stat block, converted stats (each value shows how sure it is and where in the text it came from), and a card promoted from the shelf.

  • Every stage is drawn (IS-002): being written, stopped waiting, a failed check, too soon to start over, failed, nothing to convert, nothing mapped, no rows written, and approve failed.
  • Also drawn: throwing a draft away, no draft, a player, and loading.

WIKI-10: Suggested wiki updates. The GM's whole queue.

  • It shows where each session's suggestions stand, then the suggested pages and relationships, with a receipt when one is added.
  • Adding a page is one-at-a-time. Also drawn: a failed row, editing a suggestion first, discarding one, an empty queue, a count that couldn't be loaded, and a player.

WIKI-16: Wiki health. Five kinds of loose end: wanted pages, unlinked mentions, possible duplicates, orphans and stale pages. Deleted articles are linked from the foot of the page (lane 6b).

Shared renderer changes (wiki.js, data.js)

  • :::for Name, Name blocks. The GM and whoever plays a named character see the block; it is kept out of everyone else's text and search, while a player editing their own page keeps their own block.
  • The toolbar gains a numbered list, a web link, a picture and "a block for some people". Keyboard shortcuts are shown in the button labels (IS-040).
  • The editor can start from supplied text with its own title (for templates), and can leave out its own buttons.
  • Ossian Vale's page has a body, including his player's block.

Coverage

coverage/lane6c.py checks 186 placements; none are missing:

  • 144 drawn
  • 18 replaced
  • 23 belong to another surface
  • 1 is behaviour only

All eight coverage scripts pass against the rebuilt catalogue.

Checks

  • Render-checked in headless Edge (dark, plus light for the editor). The checks caught and fixed:
    • a stat block Save that contradicted the page's one Save;
    • a new page with two sets of buttons;
    • a receipt for a suggestion that was still listed;
    • a queue count that disagreed with the Contents;
    • a conversion draft whose page had no text to convert.
  • The look page and lanes 4, 5, 6a and 6b still render with the renderer changes.
  • Feedback-site tests pass (112).

🤖 Generated with Claude Code

Lane 6c of the redesign mockups (#659), part 3 of step 4 in #696. It draws the wiki as it is written, at `/prototype/lane6c`. Every surface is drawn in every state. ## What's drawn **WIKI-7: Editing a page.** This follows D58: the text and the preview side by side, with `[[` autocomplete and autosave. - The page's fields sit above the text. The facts, timeline, stat block and link suggestions sit below it, and one Save covers all of them. - On a phone, one section is edited at a time. - Priya can edit her own character's page, including her own block. - **Blocks for some people** (`IS-127`) are written `:::for Ossian Vale`. The toolbar opens lane 6a's picker, characters first, and both the text and the preview show who each block is for. - Stat block: normal, a field out of range, stats from another game system, an older version of the game system's stat block, a kind of page with no stat block, and deleting it. - Also drawn: importing from Foundry, saving, "someone else saved", leaving with unsaved changes, renaming (the old name keeps working and can be changed on linking pages), GM notes moved into a block (`IS-028`), pasting a picture or a document, and embedding a stat block or map. **WIKI-8: A new page.** It opens in the same editor, started from its kind's template (`IS-046`). The GM can change the templates per campaign. - Reached from a dashed link: the name comes with it. - A player where players suggest pages: the page goes to the suggestions queue (`IS-054`). - A player where only the GM writes: a not-for-you page. - Also drawn: a name that's already taken, changing the page's kind (what was written is kept), creating it, failure, and loading. **WIKI-9: A draft.** Each kind of draft sits beside the page it would change: rephrase, merge, backstory, stat block, converted stats (each value shows how sure it is and where in the text it came from), and a card promoted from the shelf. - Every stage is drawn (`IS-002`): being written, stopped waiting, a failed check, too soon to start over, failed, nothing to convert, nothing mapped, no rows written, and approve failed. - Also drawn: throwing a draft away, no draft, a player, and loading. **WIKI-10: Suggested wiki updates.** The GM's whole queue. - It shows where each session's suggestions stand, then the suggested pages and relationships, with a receipt when one is added. - Adding a page is one-at-a-time. Also drawn: a failed row, editing a suggestion first, discarding one, an empty queue, a count that couldn't be loaded, and a player. **WIKI-16: Wiki health.** Five kinds of loose end: wanted pages, unlinked mentions, possible duplicates, orphans and stale pages. Deleted articles are linked from the foot of the page (lane 6b). ## Shared renderer changes (`wiki.js`, `data.js`) - **`:::for Name, Name`** blocks. The GM and whoever plays a named character see the block; it is kept out of everyone else's text and search, while a player editing their own page keeps their own block. - The toolbar gains a numbered list, a web link, a picture and "a block for some people". Keyboard shortcuts are shown in the button labels (`IS-040`). - The editor can start from supplied text with its own title (for templates), and can leave out its own buttons. - Ossian Vale's page has a body, including his player's block. ## Coverage `coverage/lane6c.py` checks 186 placements; none are missing: - 144 drawn - 18 replaced - 23 belong to another surface - 1 is behaviour only All eight coverage scripts pass against the rebuilt catalogue. ## Checks - Render-checked in headless Edge (dark, plus light for the editor). The checks caught and fixed: - a stat block Save that contradicted the page's one Save; - a new page with two sets of buttons; - a receipt for a suggestion that was still listed; - a queue count that disagreed with the Contents; - a conversion draft whose page had no text to convert. - The look page and lanes 4, 5, 6a and 6b still render with the renderer changes. - Feedback-site tests pass (112). 🤖 Generated with [Claude Code](https://claude.com/claude-code)
feat(feedback-site): lane 6c — writing the wiki (#659, #696)
All checks were successful
CI / Summarisation accuracy eval harness (stub provider) (pull_request) Successful in 53s
CI / Docker image build (pull_request) Successful in 22s
CI / Bot/backend version sync (pull_request) Successful in 48s
CI / Backend lint (ruff) (pull_request) Successful in 53s
CI / Feedback site tests (pull_request) Successful in 1m8s
CI / Frontend tests, audit, and build (pull_request) Successful in 2m56s
CI / Bot tests and audit (pull_request) Successful in 2m29s
CI / Backend migration, tests, and audit (pull_request) Successful in 8m47s
CI / Synthetic session harness (no GPU, no LLM) (pull_request) Successful in 13m42s
c7ca029f46
Draws the wiki as it is written: editing a page (WIKI-7), a new page
(WIKI-8), a draft the LLM wrote (WIKI-9), Suggested wiki updates
(WIKI-10) and Wiki health (WIKI-16), with every state.

- The editor (D58): fields above the text, side by side with the
  preview, [[ autocomplete, autosave; a section at a time on a phone; a
  player editing their own page; someone else saved; renaming; pasting
  and embedding; the facts, timeline and stat block below, under one
  Save; link suggestions; importing from Foundry.
- Blocks for some people (IS-127): the shared renderer reads
  ":::for Ossian Vale", shows it to the GM and whoever plays him, and
  keeps it out of everyone else's text and search; the toolbar gains a
  numbered list, a web link, a picture and the block for some people.
- A new page from its kind's template (IS-046), including where players
  suggest (IS-054) and where only the GM writes.
- Every kind of draft beside the page it would change, and every stage
  a draft goes through (IS-002).
- The whole suggestions queue, and the five kinds of loose end in
  Wiki health.
- coverage/lane6c.py: 186 placements, 144 drawn, 18 replaced,
  23 elsewhere, 1 behaviour, none missing.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Author
Collaborator

CI green (run 10072). Merged to main as ee6df4d.

CI green (run 10072). Merged to main as ee6df4d.
claude-bot closed this pull request 2026-09-19 20:47:21 +00:00
All checks were successful
CI / Summarisation accuracy eval harness (stub provider) (pull_request) Successful in 53s
Required
Details
CI / Docker image build (pull_request) Successful in 22s
Required
Details
CI / Bot/backend version sync (pull_request) Successful in 48s
Required
Details
CI / Backend lint (ruff) (pull_request) Successful in 53s
Required
Details
CI / Feedback site tests (pull_request) Successful in 1m8s
Required
Details
CI / Frontend tests, audit, and build (pull_request) Successful in 2m56s
Required
Details
CI / Bot tests and audit (pull_request) Successful in 2m29s
Required
Details
CI / Backend migration, tests, and audit (pull_request) Successful in 8m47s
Required
Details
CI / Synthetic session harness (no GPU, no LLM) (pull_request) Successful in 13m42s
Required
Details

Pull request closed

Sign in to join this conversation.
No description provided.