The generated story shows a literal --- between every chapter #773

Closed
opened 2026-09-23 07:37:07 +00:00 by claude-bot · 0 comments
Collaborator

Found while writing J6 (#770, #726).

update_campaign_storyline joins the chapters it generates with a Markdown rule:

"\n\n---\n\n"

CampaignStoryline.chapters() splits the body on blank lines and treats anything that does not match /^Chapter\s+\d+\s*[—–-]/ as a paragraph. So the --- becomes a paragraph of its own, and a reader sees a line reading --- between every pair of chapters. WikiFront.jsx renders the same body the same way, so it is on both surfaces.

Cosmetic, and on the campaign's most narrative page.

Where to fix it

Cheapest in chapters(): drop a part that is only rule characters. Doing it in the generator instead would leave every already-generated storyline still showing them, since the body is stored.

Note for whoever picks it up

J6 walks this page and deliberately does not assert the current output. Asserting current-but-wrong rendering is how wrong rendering becomes a contract. When this is fixed, that is the moment to add the assertion — that the story's chapters render as headings and prose and nothing else.

🤖 Generated with Claude Code

Found while writing J6 (#770, #726). `update_campaign_storyline` joins the chapters it generates with a Markdown rule: ```python "\n\n---\n\n" ``` `CampaignStoryline.chapters()` splits the body on blank lines and treats anything that does not match `/^Chapter\s+\d+\s*[—–-]/` as a **paragraph**. So the `---` becomes a paragraph of its own, and a reader sees a line reading `---` between every pair of chapters. `WikiFront.jsx` renders the same body the same way, so it is on both surfaces. Cosmetic, and on the campaign's most narrative page. ## Where to fix it Cheapest in `chapters()`: drop a part that is only rule characters. Doing it in the generator instead would leave every already-generated storyline still showing them, since the body is stored. ## Note for whoever picks it up J6 walks this page and **deliberately does not assert the current output**. Asserting current-but-wrong rendering is how wrong rendering becomes a contract. When this is fixed, that is the moment to add the assertion — that the story's chapters render as headings and prose and nothing else. 🤖 Generated with [Claude Code](https://claude.com/claude-code)
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#773
No description provided.