Demo seed: a GM copy of The Amberwake Accord, with the owner in the GM's seat #951

Closed
opened 2026-09-30 05:47:11 +00:00 by claude-bot · 1 comment
Collaborator

Why: the owner's review of lanes 0–10 (the Redesign Review page) has about 40 GM-only pieces: the table board, prep and Planning, the wiki's GM views, the Review tab, and test runs. On dev the owner's account is only a player in the demo campaigns (a player in Amberwake, and a player-owner of The Tuesday Tide), so those pieces have nothing to show. The owner asked for a second campaign "as fully featured as Amberwake, but where I'm the GM" (2026-09-30).

Approach: mirror the main campaign in webapp/backend/demo/ as The Amberwake Accord (GM copy), with every row the seed writes for Amberwake written a second time under its own id namespace, and the two seats swapped:

  • The owner takes Dana's GM seat.
  • Dana takes the owner's player seat and character.

Everything else about the mirror:

  • What it keeps: all of Amberwake — sessions in every state, transcripts, the Review tab, prep, the shelf, the wiki (blocks, audiences, parties, quests, handouts, maps), discussions, safety, loot and XP, and bot tests.
  • Notifications: the GM's copy gets the notifications a GM gets (transcripts to review, joins to approve, and the rest).
  • Media: in the campaign's own folder.
  • --reset: clears and rebuilds it with the others.
  • What stays the same: the player-view campaigns are unchanged.

Done when:

  • python -m demo.seed --member-user-id <owner> writes five campaigns.
  • The owner's account sees the GM face of every lane-5 to lane-10 piece in the copy.
  • test_demo_seed.py covers the mirror and the swap.
  • The dev re-seed is run with --reset.
**Why:** the owner's review of lanes 0–10 (the Redesign Review page) has about 40 GM-only pieces: the table board, prep and Planning, the wiki's GM views, the Review tab, and test runs. On dev the owner's account is only a player in the demo campaigns (a player in Amberwake, and a player-owner of The Tuesday Tide), so those pieces have nothing to show. The owner asked for a second campaign "as fully featured as Amberwake, but where I'm the GM" (2026-09-30). **Approach:** mirror the main campaign in `webapp/backend/demo/` as **The Amberwake Accord (GM copy)**, with every row the seed writes for Amberwake written a second time under its own id namespace, and the two seats swapped: - **The owner** takes Dana's GM seat. - **Dana** takes the owner's player seat and character. Everything else about the mirror: - **What it keeps:** all of Amberwake — sessions in every state, transcripts, the Review tab, prep, the shelf, the wiki (blocks, audiences, parties, quests, handouts, maps), discussions, safety, loot and XP, and bot tests. - **Notifications:** the GM's copy gets the notifications a GM gets (transcripts to review, joins to approve, and the rest). - **Media:** in the campaign's own folder. - **`--reset`:** clears and rebuilds it with the others. - **What stays the same:** the player-view campaigns are unchanged. **Done when:** - `python -m demo.seed --member-user-id <owner>` writes five campaigns. - The owner's account sees the GM face of every lane-5 to lane-10 piece in the copy. - `test_demo_seed.py` covers the mirror and the swap. - The dev re-seed is run with `--reset`.
Author
Collaborator

Merged as #954 (2026-09-30, green CI). The seed now writes The Amberwake Accord (GM copy): Amberwake mirrored row for row under its own ids, with the owner in Dana's GM seat and Dana playing the owner's character.

What the tests cover:

  • Per-table counts match across 59 tables.
  • GM-authored rows are attributed to the owner in the copy.
  • The :::for block renders for the right people.
  • A row-by-row comparison shows the original four campaigns are unchanged.

What's left: the next dev deploy re-runs the seed with --reset, which is tonight, per the owner's go-ahead.

Merged as #954 (2026-09-30, green CI). The seed now writes **The Amberwake Accord (GM copy)**: Amberwake mirrored row for row under its own ids, with the owner in Dana's GM seat and Dana playing the owner's character. **What the tests cover:** - Per-table counts match across 59 tables. - GM-authored rows are attributed to the owner in the copy. - The `:::for` block renders for the right people. - A row-by-row comparison shows the original four campaigns are unchanged. **What's left:** the next dev deploy re-runs the seed with `--reset`, which is tonight, per the owner's go-ahead.
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#951
No description provided.