Changelog
System versions, additions, and fixes.
Changelog
Version history for the Laternia campaign system.
[1.2.0]
Quality Gate Fixes
- Editor and Lorekeeper now save review files (
session_NN_editor_review.md,session_NN_lore_review.md) for every session — auditable record of what they found - Editor now checks session reports against the adventure file for content invention — flags creatures, NPCs, mechanics, and plot elements not in the source material
- New
content_invention_flagsfield in Editor output catches DM drift before it propagates to the wiki
Session Loop Fix
- Game loop now detects when the DM declares "SESSION ENDS HERE" and breaks immediately — prevents the DM from generating 10+ redundant epilogue blocks past the session boundary
- Pattern matches common DM end markers: "session ends here", "end of session", "session complete"
Site Polish
- ASCII art castle on homepage (randomized from pool at build time)
- ASCII LATERNIA logo as homepage title
- "by Max Capacity" attribution
- Campaign/adventure line moved below castle art
- Skull ASCII art on 404 page with Oregon Trail reference
- LATERNIA footer logo
- Wiki links resolved in homepage teaser text
- Party list shows character classes
- Dim text brightened for readability
- Session count and campaign line in main text color
[1.1.0]
DM Agent Hardening
- Pacing identity baked into DM backstory — anti-compression as core personality trait
- Content fidelity rule — DM cannot invent creatures, entities, or plot elements not in adventure files
- NPC name fidelity rule — DM must use exact names from adventure scripts
- Third-person POV locked in DM narration
Character Improvements
- Professor Mercer expanded with 6 emotional modes (fear, frustration, quiet awe, dry humor, self-doubt)
- "Fascinating!" hard-capped to once per session
Adventure File Rewrites
- Adventures 1–3 rewritten to match Adventure 4's prescriptive density
- Added character-specific beats, emotional session boundaries, DM Notes sections
- Added explicit content constraints per adventure (e.g., "JUST RATS", "JUST A CORRIDOR")
- Added HARD STOP rules at session boundaries to prevent compression
Site Improvements
- Homepage title deduplication fix
- 404 page
- Flattened URL structure — removed
/run-N/layer, now/campaigns/sessions/NN/ - Act groupings in progress bars (I–IV)
- Future adventure titles hidden as
???with next-adventure teaser - Homepage reordered: party → story → latest session → quests → progress
- Overall progress bar moved to top of homepage
- Latest Session card with teaser text from session report
- Readable teaser text color
Automation
- Nightly scheduled task (
nightly-session) — runs one session daily at 8pm Pacific
[1.0.0]
The Campaign System
- Multi-agent D&D pipeline: DM, three PC agents (Cora Flint, Garrick Kade, Prof. Mercer), Rules Keeper
- Raw session log capture (TeeWriter to
session_NN_log.txt) - Campaign state persistence (
campaign_state.json) --all-deepseekflag for low-cost runs (~$0.05/session)
Post-Session Agents
- Scribe — narrative session reports written from gameplay transcript
- Wiki Keeper — encyclopedia entries extracted from each session
- Lorekeeper — NPC name consistency pass, encyclopedic wiki rewrites, end-of-adventure deduplication
- Editor — fact-checks Scribe and Wiki Keeper outputs against the gameplay transcript; find/replace correction system
Campaign Structure
- 20-adventure arc across 4 Acts, milestone leveling (levels 1–20)
- 3 sessions per adventure, 60 sessions total
- Adventure advancement logic with session tracking per adventure
Site
- Custom Python static site generator (
site_builder.py) — zero external dependencies beyondmarkdown - IBM Plex Mono, dark terminal aesthetic, green + purple accent colors
- Session reports, raw transcripts, full campaign wiki, readme, changelog
- Session nav bar (
« SESSION NN | CAMPAIGN | SESSION NN ») on every session page - Campaign progress bars with per-adventure status
- Auto git publish after each session (
git_publish.py) — commitsdocs/andoutput/, pushes to origin - Deployed via GitHub + Vercel