Redesign coverage: lanes 1–4 dropped 208 features and half-drew 146; 11 surfaces have no lane #696

Closed
opened 2026-09-18 18:05:23 +00:00 by claude-bot · 14 comments
Collaborator

Part of #659. Lane 5's review found that its first draw had silently dropped 68 of 211 placements (fixed in #695). The owner asked for the same check on lanes 1–4.

Method

For each surface a lane claims, every catalogue placement (built, planned, and "also shown here") was classified against the lane page's source:

  • drawn, partial (a listed state or variant is missing), replaced by a decision, behaviour (nothing to see), elsewhere, deferred, or MISSING.

Every drawn call had to quote the page. A completeness assertion confirmed no placement was skipped. Five audits ran in parallel. Random samples of their MISSING and drawn calls were checked by hand and held up. A few calls were wrong and are corrected below.

Results: 748 placements

Lane Surfaces Placements MISSING Partial
1 (+2's chrome) SH-1–6, 8, 9 58 7 5
2 CAMP-1, 2, 3, 8 113 34 30
2 + 2b CAMP-9–17 (Settings) 145 8 38
3 SESS-1–5, 7 232 83 55
4 TABLE-1–5 200 76 18
All 748 208 146

Overall: 249 drawn, 32 replaced, 33 behaviour, 63 elsewhere, 17 deferred.

Corrections to the automated findings:

  • SH-3 IS-310, the Settings sub-list, is drawn in lane 2b.
  • SH-6 IS-309, no live bar in Table mode, is drawn in lane 4.
  • TABLE-1/2 SE-004 and SE-005 are session-page links (lane 3).
  • The SESS-7 "GM Notes semantics" flag is not a fault: the old public GM notes are D30's "The table" audience.
  • The SESS phone app bar dropping the title is the shell decision of 15 September, not a gap.

Where the gaps are

  • Lane 3 (SESS):
    • Tentative and Direct scheduling are never drawn; only Vote is.
    • SESS-4's GM Review machinery is mostly absent: 44 of its 69 placed rows, including character pin, summarisation-run history, per-speaker stats, emphasis, the full transcript, and Regenerate's busy, stale and failed states.
    • Dialogs appear only as their trigger button.
    • D17 is applied inconsistently: the vote grid and the reading view carry no timezone.
  • Lane 4 (TABLE):
    • The baseline shelf header: session switcher, Copy from, the Table-view link.
    • The Ctrl-K palette is never opened.
    • No per-card controls: pin, reveal, spotlight, remove, scene.
    • The ten generator preview formats are flattened into one.
    • Loading, error and empty states throughout.
    • Drawing error: Start recording stays clickable while another session is recording.
  • Lane 2 (CAMP-1/2/3/8):
    • The character form, invite, add-member and transfer-ownership flows are never shown open.
    • Foundry actor sync is absent from Members.
    • The date-time picker and the edit and reschedule states are never drawn.
    • Success, busy and error feedback after actions.
  • Settings (CAMP-9–17):
    • Import by URL, the disable-pack reason, the import error, and the Whisper test-connection button.
    • Invites loading and error states.
    • Scene–Foundry pairing drawn only as prose.
    • Players have no Settings entry, although CAMP-9 says every member reads the name, system and description. This needs a decision.
  • Lane 1:
    • Home's Contents with zero or one campaign.
    • The account menu with Plan & billing.
    • Per-row mark-read in the bell.
    • Two banner states that are coded but never shown.

Surfaces no lane owns

11 surfaces, about 150 features:

  • Home: HOME-1 to HOME-7 (Home, new campaign, join, archived, Profile with 42 features, notification settings, plan & billing).
  • Campaign pages: CAMP-4 recurring series, CAMP-5 highlights, CAMP-6 storyline, CAMP-7 analytics.
  • Shared patterns: SH-7.

The #659 plan said "shell and Home first", but Home was never drawn.

From now on

Every lane runs this row-by-row check before its PR (see #695). The per-group results (JSON and summaries) will be committed alongside the first backfill.

Part of #659. Lane 5's review found that its first draw had silently dropped 68 of 211 placements (fixed in #695). The owner asked for the same check on lanes 1–4. ## Method For each surface a lane claims, every catalogue placement (built, planned, and "also shown here") was classified against the lane page's source: - **drawn**, **partial** (a listed state or variant is missing), **replaced** by a decision, **behaviour** (nothing to see), **elsewhere**, **deferred**, or **MISSING**. Every drawn call had to quote the page. A completeness assertion confirmed no placement was skipped. Five audits ran in parallel. Random samples of their MISSING and drawn calls were checked by hand and held up. A few calls were wrong and are corrected below. ## Results: 748 placements | Lane | Surfaces | Placements | MISSING | Partial | |---|---|---|---|---| | 1 (+2's chrome) | SH-1–6, 8, 9 | 58 | 7 | 5 | | 2 | CAMP-1, 2, 3, 8 | 113 | 34 | 30 | | 2 + 2b | CAMP-9–17 (Settings) | 145 | 8 | 38 | | 3 | SESS-1–5, 7 | 232 | 83 | 55 | | 4 | TABLE-1–5 | 200 | 76 | 18 | | **All** | | **748** | **208** | **146** | Overall: 249 drawn, 32 replaced, 33 behaviour, 63 elsewhere, 17 deferred. **Corrections to the automated findings:** - SH-3 IS-310, the Settings sub-list, is drawn in lane 2b. - SH-6 IS-309, no live bar in Table mode, is drawn in lane 4. - TABLE-1/2 SE-004 and SE-005 are session-page links (lane 3). - The SESS-7 "GM Notes semantics" flag is not a fault: the old public GM notes are D30's "The table" audience. - The SESS phone app bar dropping the title is the shell decision of 15 September, not a gap. ## Where the gaps are - **Lane 3 (SESS):** - Tentative and Direct scheduling are never drawn; only Vote is. - SESS-4's GM Review machinery is mostly absent: 44 of its 69 placed rows, including character pin, summarisation-run history, per-speaker stats, emphasis, the full transcript, and Regenerate's busy, stale and failed states. - Dialogs appear only as their trigger button. - D17 is applied inconsistently: the vote grid and the reading view carry no timezone. - **Lane 4 (TABLE):** - The baseline shelf header: session switcher, Copy from, the Table-view link. - The Ctrl-K palette is never opened. - No per-card controls: pin, reveal, spotlight, remove, scene. - The ten generator preview formats are flattened into one. - Loading, error and empty states throughout. - Drawing error: Start recording stays clickable while another session is recording. - **Lane 2 (CAMP-1/2/3/8):** - The character form, invite, add-member and transfer-ownership flows are never shown open. - Foundry actor sync is absent from Members. - The date-time picker and the edit and reschedule states are never drawn. - Success, busy and error feedback after actions. - **Settings (CAMP-9–17):** - Import by URL, the disable-pack reason, the import error, and the Whisper test-connection button. - Invites loading and error states. - Scene–Foundry pairing drawn only as prose. - Players have no Settings entry, although CAMP-9 says every member reads the name, system and description. This needs a decision. - **Lane 1:** - Home's Contents with zero or one campaign. - The account menu with Plan & billing. - Per-row mark-read in the bell. - Two banner states that are coded but never shown. ## Surfaces no lane owns 11 surfaces, about 150 features: - **Home:** HOME-1 to HOME-7 (Home, new campaign, join, archived, Profile with 42 features, notification settings, plan & billing). - **Campaign pages:** CAMP-4 recurring series, CAMP-5 highlights, CAMP-6 storyline, CAMP-7 analytics. - **Shared patterns:** SH-7. The #659 plan said "shell and Home first", but Home was never drawn. ## From now on Every lane runs this row-by-row check before its PR (see #695). The per-group results (JSON and summaries) will be committed alongside the first backfill.
Author
Collaborator

Owner decisions, 2026-09-18:

  1. Order:

    1. First, the orphaned surfaces as a new lane: Home (HOME-1–7), then the campaign pages lane 2 skipped (CAMP-4–7) and shared patterns (SH-7).
    2. Then backfill lanes 3 and 4, where the gaps are largest.
    3. Then lane 2, 2b and the shell.
    4. Then lane 6.

    Each backfill gets its own PR, review, and a coverage section on its page.

  2. Settings for players: a member reads the campaign's name, system and description on This week (CAMP-1), not in Settings. Settings stays GM-only in the Contents, as lane 2 drew it. This will be recorded as D45, and drawn in the lane 2 backfill.

**Owner decisions, 2026-09-18:** 1. **Order:** 1. First, the orphaned surfaces as a new lane: Home (HOME-1–7), then the campaign pages lane 2 skipped (CAMP-4–7) and shared patterns (SH-7). 2. Then backfill lanes 3 and 4, where the gaps are largest. 3. Then lane 2, 2b and the shell. 4. Then lane 6. Each backfill gets its own PR, review, and a coverage section on its page. 2. **Settings for players:** a member reads the campaign's name, system and description on **This week** (CAMP-1), not in Settings. Settings stays GM-only in the Contents, as lane 2 drew it. This will be recorded as D45, and drawn in the lane 2 backfill.
Author
Collaborator

Step 1 of the plan is done: every surface now belongs to a lane and is drawn.

  • Lane 1b, Home and you (HOME-1–7): #697, deployed.
    • 107 placements, none missing.
    • Covers D46 New campaign, D48 notifications, and D49 Plan & billing (provisional).
  • Lane 2c, the rest of a campaign (CAMP-4–7, SH-7): #698, deployed.
    • 105 placements, none missing.
    • Covers D47 storyline and the shared patterns sheet.

Both ran the row-by-row check before their PRs.

A shared fix from lane 1b: the kit had no style for a disabled button. That is fixed, and five buttons in lanes 2–4 that were already marked disabled now look it.

Next is step 2: backfill lane 3 (83 missing, 55 partial) and lane 4 (76 missing, 18 partial). Lane 4 also has a drawing fault: Start recording is still clickable while another session is recording.

**Step 1 of the plan is done: every surface now belongs to a lane and is drawn.** - **Lane 1b, Home and you** (HOME-1–7): #697, deployed. - 107 placements, none missing. - Covers D46 New campaign, D48 notifications, and D49 Plan & billing (provisional). - **Lane 2c, the rest of a campaign** (CAMP-4–7, SH-7): #698, deployed. - 105 placements, none missing. - Covers D47 storyline and the shared patterns sheet. Both ran the row-by-row check before their PRs. A shared fix from lane 1b: the kit had no style for a disabled button. That is fixed, and five buttons in lanes 2–4 that were already marked disabled now look it. **Next is step 2: backfill lane 3 (83 missing, 55 partial) and lane 4 (76 missing, 18 partial).** Lane 4 also has a drawing fault: Start recording is still clickable while another session is recording.
Author
Collaborator

The owner's review of lanes 1b and 2c is applied and deployed (PR #699, merged as 21cbe28).

What changed:

  • Payments hold no card data. Paying happens on the provider's own page. The decision is recorded on #642.
  • Priya's Home now says "you play".
  • The narrow form stills show only the foot of the form, so the slot warning is no longer crushed.
  • The notification grid has a phone layout.
  • The highlighted Sessions row is padded properly. This also fixes lane 2.
  • The storyline save error sits apart from the Save button.
  • Analytics stills are grouped by height.
  • Not for you now reads "You have strayed from the path".
  • Banners in narrow stills drop their buttons below the text rather than squeezing it.

Coverage after the review: lane 1b has 113 placements and lane 2c 106, none missing. The review added IS-372 to IS-377.

The plan is unchanged. Next is step 2: backfill lane 3 (83 missing, 55 partial) and lane 4 (76 missing, 18 partial).

**The owner's review of lanes 1b and 2c is applied and deployed** (PR #699, merged as 21cbe28). What changed: - **Payments hold no card data.** Paying happens on the provider's own page. The decision is recorded on #642. - **Priya's Home now says "you play".** - **The narrow form stills show only the foot of the form**, so the slot warning is no longer crushed. - **The notification grid has a phone layout.** - **The highlighted Sessions row is padded properly.** This also fixes lane 2. - **The storyline save error sits apart from the Save button.** - **Analytics stills are grouped by height.** - **Not for you now reads "You have strayed from the path".** - **Banners in narrow stills drop their buttons below the text** rather than squeezing it. Coverage after the review: lane 1b has 113 placements and lane 2c 106, none missing. The review added IS-372 to IS-377. The plan is unchanged. Next is step 2: backfill lane 3 (83 missing, 55 partial) and lane 4 (76 missing, 18 partial).
Author
Collaborator

Step 2, part 1: the lane 3 backfill is merged and deployed (PR #700, cefca32).

  • Decisions settled first:
    • D50: a pencilled-in session asks softly.
    • D51: every version of the summary is listed, and any can be restored. This needs a server change, recorded as IS-379.
    • D52: the GM's rarer session actions go in a Manage menu.
  • Coverage: 237 placements, none missing (185 drawn, 29 replaced, 5 behaviour, 14 elsewhere, 4 deferred). Before the backfill, 83 were missing and 55 half-drawn.
  • Promised above: the 2026-09-18 audit results are now committed under docs/design/redesign-surfaces/coverage/, alongside lane3.py. That script reruns lane 3's check against the current catalogue.
  • Also fixed: the first draw broke D17 on the travelling-GM still. It showed the table's time with the reader's own time underneath.

Next is lane 4, the Table mode surfaces: 76 missing and 18 half-drawn, plus the Start-recording drawing fault.

**Step 2, part 1: the lane 3 backfill is merged and deployed** (PR #700, cefca32). - **Decisions settled first:** - **D50:** a pencilled-in session asks softly. - **D51:** every version of the summary is listed, and any can be restored. This needs a server change, recorded as `IS-379`. - **D52:** the GM's rarer session actions go in a Manage menu. - **Coverage:** 237 placements, none missing (185 drawn, 29 replaced, 5 behaviour, 14 elsewhere, 4 deferred). Before the backfill, 83 were missing and 55 half-drawn. - **Promised above:** the 2026-09-18 audit results are now committed under `docs/design/redesign-surfaces/coverage/`, alongside `lane3.py`. That script reruns lane 3's check against the current catalogue. - **Also fixed:** the first draw broke D17 on the travelling-GM still. It showed the table's time with the reader's own time underneath. Next is lane 4, the Table mode surfaces: 76 missing and 18 half-drawn, plus the Start-recording drawing fault.
Author
Collaborator

Step 2 is done: lanes 3 and 4 are fully backfilled and deployed. The lane 4 backfill is PR #701 (d044793).

Lane 4 decisions (the owner took the recommendation each time):

  • D53: one search, with the result previewed beside the table (IS-380).
  • D54: cards keep their own notes, and there is also a quick note stamped with the recording time, which lands in the GM's private ("just me") notes (IS-381).
  • D55: the session switcher is dropped. Copy from stays.

Coverage: 203 placements, none missing (144 drawn, 12 replaced, 15 behaviour, 23 elsewhere, 9 deferred). Before the backfill, 76 were missing and 18 half-drawn.

Drawing fault fixed: Start recording is now disabled while the bot is recording another session.

The coverage scripts are paying off: IS-381 also lands on SESS-7, and rerunning coverage/lane3.py flagged it straight away. It is now classified in that script.

Next is step 3: backfill lane 2 (34 missing, 30 partial), the settings lanes 2/2b (8 missing, 38 partial) and the shell (7 missing, 5 partial). This includes drawing D45: the campaign's name, system and description on This week.

**Step 2 is done: lanes 3 and 4 are fully backfilled and deployed.** The lane 4 backfill is PR #701 (d044793). **Lane 4 decisions** (the owner took the recommendation each time): - **D53:** one search, with the result previewed beside the table (`IS-380`). - **D54:** cards keep their own notes, and there is also a quick note stamped with the recording time, which lands in the GM's private ("just me") notes (`IS-381`). - **D55:** the session switcher is dropped. Copy from stays. **Coverage:** 203 placements, none missing (144 drawn, 12 replaced, 15 behaviour, 23 elsewhere, 9 deferred). Before the backfill, 76 were missing and 18 half-drawn. **Drawing fault fixed:** Start recording is now disabled while the bot is recording another session. **The coverage scripts are paying off:** `IS-381` also lands on SESS-7, and rerunning `coverage/lane3.py` flagged it straight away. It is now classified in that script. **Next is step 3:** backfill lane 2 (34 missing, 30 partial), the settings lanes 2/2b (8 missing, 38 partial) and the shell (7 missing, 5 partial). This includes drawing D45: the campaign's name, system and description on This week.
Author
Collaborator

Step 3, part 1: the lane 2 backfill is merged (PR #703, 3c5d7b6). It is not deployed yet. See the note at the end.

Decisions (the owner took one recommendation and chose the other option):

  • D56: the instance decides who a GM's name search can find. The options are anyone on the server, or only people the GM has played with. The line under the box says which setting is in force. Today a GM can type one letter and list every account on the instance. The server change is IS-382, filed as #702.
  • D57: the owner can step down as GM and keep the campaign, but only while another member is GM (IS-383).

Coverage: coverage/lane2.py classifies 117 placements on CAMP-1, 2, 3 and 8, and none are missing:

  • 99 drawn
  • 7 replaced
  • 10 elsewhere
  • 1 deferred

Before the backfill, 34 were missing and 30 half-drawn. lane3.py and lane4.py still pass against the rebuilt catalogue.

Faults found:

  • Two are from the first draw:
    • Monday night's This week still asked "Are you in?".
    • The empty Sessions stills showed tab counts that contradicted them.
  • Four were caught by rendering:
    • The time picker's AM/PM wrapped alone on a phone.
    • Search marks split titles.
    • A live row's elapsed time disagreed with the live bar.
    • Stills had no spacing between them.

Lane 2's erase button now uses the destructive style that lane 2b introduced.

Deploy blocked: ai-dev-server's root disk is full (240G of 250G, 0 available).

  • The dev Quest-Board worker is crash-looping on No space left on device.
  • The owner is freeing space themselves.
  • The failed extract left /home/claude/projects/qb-feedback's tracked files empty. .env is intact, and the running container still serves the pre-lane-2 build from its image. Don't run docker compose up --build in that folder until it's restored, or it would build from empty files.
  • Once there is space, the normal deploy command restores the files and deploys lane 2.
  • The feedback responses were backed up first: 6 responses, /home/claude/backups/qb-feedback-data-20260919T051144Z.tgz.

Next: lane 2b (settings: 8 missing, 38 partial), then the shell.

**Step 3, part 1: the lane 2 backfill is merged** (PR #703, 3c5d7b6). **It is not deployed yet.** See the note at the end. **Decisions** (the owner took one recommendation and chose the other option): - **D56: the instance decides who a GM's name search can find.** The options are anyone on the server, or only people the GM has played with. The line under the box says which setting is in force. Today a GM can type one letter and list every account on the instance. The server change is `IS-382`, filed as **#702**. - **D57: the owner can step down as GM and keep the campaign**, but only while another member is GM (`IS-383`). **Coverage:** `coverage/lane2.py` classifies 117 placements on CAMP-1, 2, 3 and 8, and none are missing: - 99 drawn - 7 replaced - 10 elsewhere - 1 deferred Before the backfill, 34 were missing and 30 half-drawn. `lane3.py` and `lane4.py` still pass against the rebuilt catalogue. **Faults found:** - Two are from the first draw: - Monday night's This week still asked "Are you in?". - The empty Sessions stills showed tab counts that contradicted them. - Four were caught by rendering: - The time picker's AM/PM wrapped alone on a phone. - Search marks split titles. - A live row's elapsed time disagreed with the live bar. - Stills had no spacing between them. Lane 2's erase button now uses the destructive style that lane 2b introduced. **Deploy blocked: ai-dev-server's root disk is full** (240G of 250G, 0 available). - The dev Quest-Board worker is crash-looping on `No space left on device`. - The owner is freeing space themselves. - The failed extract left `/home/claude/projects/qb-feedback`'s tracked files empty. `.env` is intact, and the running container still serves the pre-lane-2 build from its image. **Don't run `docker compose up --build` in that folder until it's restored**, or it would build from empty files. - Once there is space, the normal deploy command restores the files and deploys lane 2. - The feedback responses were backed up first: 6 responses, `/home/claude/backups/qb-feedback-data-20260919T051144Z.tgz`. **Next:** lane 2b (settings: 8 missing, 38 partial), then the shell.
Author
Collaborator

Lane 2 is now deployed. The owner freed the disk (now 53% used, 114G free).

  • The review site's source folder was restored from git.
  • The container was rebuilt and is healthy.
  • All eight lane pages return 200.
  • The public /feedback/prototype/lane2 serves the backfill.
  • The volume still holds 6 responses. There's a fresh backup at /home/claude/backups/qb-feedback-data-20260919T175503Z.tgz.
**Lane 2 is now deployed.** The owner freed the disk (now 53% used, 114G free). - The review site's source folder was restored from git. - The container was rebuilt and is healthy. - All eight lane pages return 200. - The public `/feedback/prototype/lane2` serves the backfill. - The volume still holds 6 responses. There's a fresh backup at `/home/claude/backups/qb-feedback-data-20260919T175503Z.tgz`.
Author
Collaborator

Step 3 is done: the campaign core, Settings and the shell are backfilled, merged and deployed.

Part PR Placements Missing Before
Lane 2, campaign core #703 117 0 34 missing, 30 half-drawn
Lane 2b, Settings #704 (b05cdb8) 147 0 8 missing, 38 half-drawn
Lane 1, shell #705 (5eb5eb7) 59 0 7 missing, 5 half-drawn

Every lane drawn so far now has a committed coverage script under docs/design/redesign-surfaces/coverage/: lane1.py, lane2.py, lane2b.py, lane3.py and lane4.py. All five pass against the current catalogue.

First-draw faults the backfills fixed:

  • Settings (lanes 2 and 2b):
    • General's timezone hint still described two times side by side, which D17 had replaced.
    • General and the Settings index still said members read it there, which D45 had moved to This week.
    • "No timezone stops scheduling" contradicted the session form's device-timezone fallback.
    • Handing on ownership was said to cost the old owner the export.
    • The ownership offer's name and date disagreed with the SH-8 banner.
    • Shortening transcript retention, which cannot be undone, used Save's colour.
    • Lane 2's index still said "Ownership & GMs" after D26.
  • Shell: the lapsed-plan banner told a player they could export.

Step 4, lane 6, is next. It is the largest lane: 21 surfaces and about 400 rows (the wiki, Table rules & safety, the discussions board and thread, and the session Talk tab). It will be drawn in parts, each with its own PR. The owner has already settled four questions:

  • D58: the wiki editor is side by side: write on the left, the article as it will read on the right. It has link autocomplete and autosave, and becomes Write / Preview tabs on a phone.
  • D59: threads are forum style. An opening post is followed by replies, oldest first. A Question can have one reply marked as its answer, and a Rumour gets the GM's confirm or deny.
  • D60: the front page's "recently revealed or updated" list and Recent changes are one feed, filtered to what each reader may see.
  • D61: revealing a handout posts it to Discord (switchable per handout), and PDFs preview on the page with a download button.
**Step 3 is done: the campaign core, Settings and the shell are backfilled, merged and deployed.** | Part | PR | Placements | Missing | Before | |---|---|---|---|---| | Lane 2, campaign core | #703 | 117 | 0 | 34 missing, 30 half-drawn | | Lane 2b, Settings | #704 (b05cdb8) | 147 | 0 | 8 missing, 38 half-drawn | | Lane 1, shell | #705 (5eb5eb7) | 59 | 0 | 7 missing, 5 half-drawn | Every lane drawn so far now has a committed coverage script under `docs/design/redesign-surfaces/coverage/`: `lane1.py`, `lane2.py`, `lane2b.py`, `lane3.py` and `lane4.py`. All five pass against the current catalogue. **First-draw faults the backfills fixed:** - **Settings (lanes 2 and 2b):** - General's timezone hint still described two times side by side, which D17 had replaced. - General and the Settings index still said members read it there, which D45 had moved to This week. - "No timezone stops scheduling" contradicted the session form's device-timezone fallback. - Handing on ownership was said to cost the old owner the export. - The ownership offer's name and date disagreed with the SH-8 banner. - Shortening transcript retention, which cannot be undone, used Save's colour. - Lane 2's index still said "Ownership & GMs" after D26. - **Shell:** the lapsed-plan banner told a player they could export. **Step 4, lane 6, is next.** It is the largest lane: 21 surfaces and about 400 rows (the wiki, Table rules & safety, the discussions board and thread, and the session Talk tab). It will be drawn in parts, each with its own PR. The owner has already settled four questions: - **D58:** the wiki editor is side by side: write on the left, the article as it will read on the right. It has [[link]] autocomplete and autosave, and becomes Write / Preview tabs on a phone. - **D59:** threads are forum style. An opening post is followed by replies, oldest first. A Question can have one reply marked as its answer, and a Rumour gets the GM's confirm or deny. - **D60:** the front page's "recently revealed or updated" list and Recent changes are one feed, filtered to what each reader may see. - **D61:** revealing a handout posts it to Discord (switchable per handout), and PDFs preview on the page with a download button.
Author
Collaborator

Step 4, part 1: lane 6a (talking) is merged and deployed. PR #706, merged as 39cf687. Review it at /feedback/prototype/lane6.

What it draws:

  • Five surfaces, all drawn for the first time: Discussions (CAMP-19), a thread (CAMP-20), the Talk tab on an article and on a session (WIKI-4, SESS-6), and Table rules & safety (CAMP-18).
  • The "who can see this" picker, built once in shared/talk.js so lanes 6b to 6d reuse it. It has five audiences from #593's model: everyone at the table, the party, just you and the GM, chosen people, and GMs only.

Decisions:

  • Recorded in the catalogue: D58 to D61, with a decided line on each surface they touch.
  • Decided while drawing:
    • The picker has five choices, not two.
    • Anything narrower than the table wears the GM colour.
    • A reply always reaches exactly the thread's audience. Only a GM can make a post narrower, as a note, and nobody can make one wider (IS-145).
    • The person who asked a question, or a GM, marks its answer.
    • Suggestions and flagged concerns share one queue.
  • One point to confirm on review: a GM sees every thread, including a player's "just you and the GM". That is #593's model.

Coverage: coverage/lane6.py finds 40 placements and none missing: 38 drawn and 2 replaced. The two replaced are #593's old rumour post, superseded by the Rumour thread type. All six coverage scripts pass against the rebuilt catalogue.

Deploy:

  • The disk has 114G free.
  • The feedback volume was backed up first to /home/claude/backups/qb-feedback-data-20260919T195452Z.tgz and still holds all 6 responses.
  • The container is healthy.

Next is lane 6b, reading the wiki: WIKI-1, 2, 3, 5, 6, 17 and 18, about 184 placements. Lane 6c is writing (WIKI-7 to 10 and 16). Lane 6d covers the party, quests, map, handouts and rules (WIKI-11 to 15).

**Step 4, part 1: lane 6a (talking) is merged and deployed.** PR #706, merged as 39cf687. Review it at `/feedback/prototype/lane6`. **What it draws:** - Five surfaces, all drawn for the first time: Discussions (CAMP-19), a thread (CAMP-20), the Talk tab on an article and on a session (WIKI-4, SESS-6), and Table rules & safety (CAMP-18). - The "who can see this" picker, built once in `shared/talk.js` so lanes 6b to 6d reuse it. It has five audiences from #593's model: everyone at the table, the party, just you and the GM, chosen people, and GMs only. **Decisions:** - **Recorded in the catalogue:** D58 to D61, with a decided line on each surface they touch. - **Decided while drawing:** - The picker has five choices, not two. - Anything narrower than the table wears the GM colour. - A reply always reaches exactly the thread's audience. Only a GM can make a post narrower, as a note, and nobody can make one wider (`IS-145`). - The person who asked a question, or a GM, marks its answer. - Suggestions and flagged concerns share one queue. - **One point to confirm on review:** a GM sees every thread, including a player's "just you and the GM". That is #593's model. **Coverage:** `coverage/lane6.py` finds 40 placements and none missing: 38 drawn and 2 replaced. The two replaced are #593's old rumour post, superseded by the Rumour thread type. All six coverage scripts pass against the rebuilt catalogue. **Deploy:** - The disk has 114G free. - The feedback volume was backed up first to `/home/claude/backups/qb-feedback-data-20260919T195452Z.tgz` and still holds all 6 responses. - The container is healthy. **Next is lane 6b, reading the wiki:** WIKI-1, 2, 3, 5, 6, 17 and 18, about 184 placements. Lane 6c is writing (WIKI-7 to 10 and 16). Lane 6d covers the party, quests, map, handouts and rules (WIKI-11 to 15).
Author
Collaborator

Step 4, part 2: lane 6b (reading the wiki) is merged and deployed. PR #707, merged as 71d96bd. Review it at /feedback/prototype/lane6b.

What it draws: the wiki as a reader meets it. That is the front page and search (WIKI-1), a group (WIKI-2), an article (WIKI-3) and its History (WIKI-5), the GM's More menu (WIKI-6), Recent changes (WIKI-17), and Deleted articles (WIKI-18). The server has always kept deleted pages, but nobody could see them before now.

One question for the owner: who sees History. The page shows my recommendation: anyone who can edit a page sees its History, with each version filtered the same way the page is, so no GM block shows through an old version. The alternative is today's rule, where only the GM and a character's own player can see it.

Correction. I first presented "GM notes and private notes become blocks" as a new choice. It isn't: #593 already plans it, in IS-028 and IS-127. It is now recorded as settled on WIKI-3.

Decided while drawing:

  • The thirteen entry types are kept, and sorted into the six groups.
  • The wiki's own sidebar goes. This also gives a phone a way to browse from inside an article, which it has never had.
  • Who plays a character is one link, instead of today's two.
  • "Not yours to see" and "failed to load" are separate screens.
  • Deleting a page, removing a relationship, and putting a version back are undone rather than confirmed (D12).

Shared renderer changes:

  • Pronouns now appear beside a person's name in article headings and preview cards (IS-235).
  • GM-only pages are marked in Recent changes and in "Mentioned in".

Coverage: coverage/lane6b.py checks 184 placements, none missing:

  • 138 drawn
  • 32 replaced
  • 12 elsewhere
  • 2 behaviour

Deploy: the feedback volume was backed up first to qb-feedback-data-20260919T202830Z.tgz. It still holds 6 responses, and the container is healthy.

Next is lane 6c, writing the wiki, which is already drawn on a branch. It covers the editor (D58), a new page, drafts, Suggested wiki updates and Wiki health. Its coverage check finds 186 placements, none missing.

**Step 4, part 2: lane 6b (reading the wiki) is merged and deployed.** PR #707, merged as 71d96bd. Review it at `/feedback/prototype/lane6b`. **What it draws:** the wiki as a reader meets it. That is the front page and search (WIKI-1), a group (WIKI-2), an article (WIKI-3) and its History (WIKI-5), the GM's More menu (WIKI-6), Recent changes (WIKI-17), and Deleted articles (WIKI-18). The server has always kept deleted pages, but nobody could see them before now. **One question for the owner: who sees History.** The page shows my recommendation: anyone who can edit a page sees its History, with each version filtered the same way the page is, so no GM block shows through an old version. The alternative is today's rule, where only the GM and a character's own player can see it. **Correction.** I first presented "GM notes and private notes become blocks" as a new choice. It isn't: #593 already plans it, in `IS-028` and `IS-127`. It is now recorded as settled on WIKI-3. **Decided while drawing:** - The thirteen entry types are kept, and sorted into the six groups. - The wiki's own sidebar goes. This also gives a phone a way to browse from inside an article, which it has never had. - Who plays a character is one link, instead of today's two. - "Not yours to see" and "failed to load" are separate screens. - Deleting a page, removing a relationship, and putting a version back are undone rather than confirmed (D12). **Shared renderer changes:** - Pronouns now appear beside a person's name in article headings and preview cards (`IS-235`). - GM-only pages are marked in Recent changes and in "Mentioned in". **Coverage:** `coverage/lane6b.py` checks 184 placements, none missing: - 138 drawn - 32 replaced - 12 elsewhere - 2 behaviour **Deploy:** the feedback volume was backed up first to `qb-feedback-data-20260919T202830Z.tgz`. It still holds 6 responses, and the container is healthy. **Next is lane 6c, writing the wiki,** which is already drawn on a branch. It covers the editor (D58), a new page, drafts, Suggested wiki updates and Wiki health. Its coverage check finds 186 placements, none missing.
Author
Collaborator

Lane 6c is merged and deployed: PR #708, merge ee6df4d. It draws writing the wiki (WIKI-7 to WIKI-10 and WIKI-16).

Review it at https://questboard-dev.rhoving.com/feedback/prototype/lane6c.

Its coverage check has 186 placements and none are missing:

  • 144 are drawn.
  • 18 are replaced by a decision.
  • 23 belong to another surface.
  • 1 is behaviour with nothing to see.

Decided while drawing, and open to reversal. The page's "Settled, and still open" section lists these:

  • one Save for the whole page;
  • facts and a timeline on every kind of page;
  • changing a page's kind keeps what was written;
  • a block for some people is written :::for Ossian Vale and names characters, so it follows the character to whoever plays them;
  • a player's suggested change arrives as a draft to read.

Next is lane 6d: the map, the party, quests, handouts and the rules (WIKI-11 to WIKI-15). It is drawn and is in its render check now.

**Lane 6c is merged and deployed:** PR #708, merge ee6df4d. It draws writing the wiki (WIKI-7 to WIKI-10 and WIKI-16). Review it at https://questboard-dev.rhoving.com/feedback/prototype/lane6c. Its coverage check has 186 placements and none are missing: - 144 are drawn. - 18 are replaced by a decision. - 23 belong to another surface. - 1 is behaviour with nothing to see. **Decided while drawing, and open to reversal.** The page's "Settled, and still open" section lists these: - one Save for the whole page; - facts and a timeline on every kind of page; - changing a page's kind keeps what was written; - a block for some people is written `:::for Ossian Vale` and names characters, so it follows the character to whoever plays them; - a player's suggested change arrives as a draft to read. **Next is lane 6d:** the map, the party, quests, handouts and the rules (WIKI-11 to WIKI-15). It is drawn and is in its render check now.
Author
Collaborator

Step 4 is done. Lane 6d is merged and deployed, which completes lane 6.

Lane 6d is PR #709, merged as f5edf88. It draws the map, the party, quests, handouts and the rules (WIKI-11 to WIKI-15).

Review it at https://questboard-dev.rhoving.com/feedback/prototype/lane6d.

Coverage: 112 placements, none missing.

Result Placements
Drawn 85
Replaced by a decision 15
Belong to another surface 10
Behaviour only 1
Deferred (IS-189, "Ask the rules") 1

All nine coverage scripts pass against the rebuilt catalogue.

Decided while drawing, and open to reversal. These are listed on the page, and in headers.md against each surface:

  • A player's map marker uses lane 6a's picker, cut to #593's three choices.
  • Revealing a GM-only marker uses the same picker, and a reveal is undone rather than confirmed.
  • Where the party ended a session is recorded from the map, with the days on the road.
  • A quest's visibility is set with the picker, and an objective can stay hidden until it is revealed.
  • A quest page lists the threads about it, and a rumour is started from there.
  • XP and gold show each character's total.

Lane 6 as a whole: 522 placements across 21 surfaces, in four parts:

Part Covers PR
6a Talking #706
6b Reading the wiki #707
6c Writing the wiki #708
6d The party and its world #709

The owner question from 6b is still open: who sees an article's History (WIKI-5).

A gap this audit missed: the ten public pages (PUB-1 to PUB-10) have never been drawn.

  • #659 put them in lane 1 ("shell, Home, public pages"), but lane 1 drew only the shell.
  • This issue's orphan list names HOME, CAMP-4 to 7 and SH-7, and not PUB.
  • The pages are: Sign in, Sign-in failed, Invite landing, Public analytics share, Help, Licences & notices, Not found / crash / offline, First-run setup, Discord link results, and the Accessibility statement.
  • I'll draw them as their own lane after lanes 7 and 8, unless you'd rather they came first.

Next is lane 7, Admin: 14 surfaces and 179 placements. It is drawn in draft and in its render check.

**Step 4 is done. Lane 6d is merged and deployed, which completes lane 6.** Lane 6d is PR #709, merged as f5edf88. It draws the map, the party, quests, handouts and the rules (WIKI-11 to WIKI-15). Review it at https://questboard-dev.rhoving.com/feedback/prototype/lane6d. **Coverage:** 112 placements, none missing. | Result | Placements | |---|---| | Drawn | 85 | | Replaced by a decision | 15 | | Belong to another surface | 10 | | Behaviour only | 1 | | Deferred (`IS-189`, "Ask the rules") | 1 | All nine coverage scripts pass against the rebuilt catalogue. **Decided while drawing, and open to reversal.** These are listed on the page, and in `headers.md` against each surface: - A player's map marker uses lane 6a's picker, cut to #593's three choices. - Revealing a GM-only marker uses the same picker, and a reveal is undone rather than confirmed. - Where the party ended a session is recorded from the map, with the days on the road. - A quest's visibility is set with the picker, and an objective can stay hidden until it is revealed. - A quest page lists the threads about it, and a rumour is started from there. - XP and gold show each character's total. **Lane 6 as a whole:** 522 placements across 21 surfaces, in four parts: | Part | Covers | PR | |---|---|---| | 6a | Talking | #706 | | 6b | Reading the wiki | #707 | | 6c | Writing the wiki | #708 | | 6d | The party and its world | #709 | The owner question from 6b is still open: who sees an article's History (WIKI-5). **A gap this audit missed: the ten public pages (PUB-1 to PUB-10) have never been drawn.** - #659 put them in lane 1 ("shell, Home, public pages"), but lane 1 drew only the shell. - This issue's orphan list names HOME, CAMP-4 to 7 and SH-7, and not PUB. - The pages are: Sign in, Sign-in failed, Invite landing, Public analytics share, Help, Licences & notices, Not found / crash / offline, First-run setup, Discord link results, and the Accessibility statement. - I'll draw them as their own lane after lanes 7 and 8, unless you'd rather they came first. **Next is lane 7, Admin:** 14 surfaces and 179 placements. It is drawn in draft and in its render check.
Author
Collaborator

The gap this issue's audit missed is closed: the ten public pages are drawn.

Lane 1c (PR #712, df11b84) covers PUB-1 to PUB-10 — 98 placements, none missing — at https://questboard-dev.rhoving.com/feedback/prototype/lane1c.

Why they were missed. #659 scoped them to lane 1 ("shell, Home, public pages"); lane 1 drew only the shell, and this issue's sweep of surfaces nobody owned listed HOME-1–7, CAMP-4–7 and SH-7, but not PUB. Found while drawing lane 7.

This issue's plan is now finished. Every step is done, and lanes 7 and 8 have landed since:

Step What State
1 The orphaned surfaces (lanes 1b, 2c) done
2 Backfill lanes 3 and 4 done
3 Backfill lane 2, 2b and the shell done
4 Lane 6, in four parts done
— Lane 7 (Admin), lane 8 (outside the app), lane 1c (the public pages) done

What the row-by-row checks now cover: twelve scripts under docs/design/redesign-surfaces/coverage/, one per lane, all passing against the rebuilt catalogue. Between them they classify every placement on all 103 surfaces, so a feature dropped in a later edit fails a check rather than going unnoticed — which is what this issue asked for.

The open questions and the proposals made while drawing are gathered in one place on #659.

**The gap this issue's audit missed is closed: the ten public pages are drawn.** Lane 1c (PR #712, df11b84) covers PUB-1 to PUB-10 — 98 placements, none missing — at https://questboard-dev.rhoving.com/feedback/prototype/lane1c. **Why they were missed.** #659 scoped them to lane 1 ("shell, Home, public pages"); lane 1 drew only the shell, and this issue's sweep of surfaces nobody owned listed HOME-1–7, CAMP-4–7 and SH-7, but not PUB. Found while drawing lane 7. **This issue's plan is now finished.** Every step is done, and lanes 7 and 8 have landed since: | Step | What | State | |---|---|---| | 1 | The orphaned surfaces (lanes 1b, 2c) | done | | 2 | Backfill lanes 3 and 4 | done | | 3 | Backfill lane 2, 2b and the shell | done | | 4 | Lane 6, in four parts | done | | — | Lane 7 (Admin), lane 8 (outside the app), lane 1c (the public pages) | done | **What the row-by-row checks now cover:** twelve scripts under `docs/design/redesign-surfaces/coverage/`, one per lane, all passing against the rebuilt catalogue. Between them they classify every placement on all 103 surfaces, so a feature dropped in a later edit fails a check rather than going unnoticed — which is what this issue asked for. The open questions and the proposals made while drawing are gathered in one place on #659.
Author
Collaborator

Closing. The plan in this issue is finished: every step is done (see the comment of 19 Sep), and lanes 7, 8 and 1c have landed since.

Closing. The plan in this issue is finished: every step is done (see the comment of 19 Sep), and lanes 7, 8 and 1c have landed since.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
rbrooks/Quest-Board#696
No description provided.