Lane 8 PR 2b: wiki feeds, notes, merge, canon in a block, the 60 s wait (#734) #884
Loading…
Reference in a new issue
No description provided.
Delete branch "build/lane8-2b-feeds"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Part of #734 (lane 8). Stacked on #878 (PR 3). It merges with lane 8's chain in the train. Server only: no pages consume these endpoints yet.
What it builds
Migration
8c3d4e5f6a7b_wiki_events_notes_mergeon8d4e5f6a7b8c. It adds:wiki_eventsandlore_personal_notestables;npcsandnpc_appearancesstay until PR 9.decided-infootnote backfill for posts already made canon.Up → down → up is clean on Postgres 16.
Recent changes (
GET /wiki/recent,wiki_feed.py). It's filtered per reader: a deleted page and news of it are GM-only, and an edit that didn't change this reader's view isn't news to them.Health (
GET /wiki/health, GM-only), which lists:Merge (IS-060,
POST /lore/{id}/merge, GM-only).Personal notes (IS-105, D197).
History for anyone who may edit (D69). Versions that look identical to that reader are hidden.
Canon in a block (IS-148, D219).
:::gm,:::partyor:::forblocks, matching the post's or thread's audience. A GM can override that audience.decided-infootnote.The 60 s wait. Consolidation fires as soon as every category has reported. The 60 s call stays as a backstop, with its retry budget raised for slow local models.
Departures (low risk, noted for review)
:::gmblock. Nothing in D137/D219 excludes it.Checks
test_campaigns.pyre-ran green (133 passed).tests/wiki/(438),tests/discussions/, notifications, account deletion and the lore pipeline, all green.render_forbody-reader allowlist: green./api/bot/*change.changelog.d/fragment.🤖 Generated with Claude Code
wiki_feed.list_recent (GET /wiki/recent) filters events per reader — a deleted page and its news are the GMs' only, and an updated/renamed event hides when this reader's own rendered view didn't change. wiki_health.report (GET /wiki/health, GM-only) builds wanted links, unlinked mentions, possible duplicates, orphans and stale pages. wiki_merge.merge_pages (IS-060) folds a duplicate page's aliases, links, relationships, references, appearances, owners, notes and lane 7's threads onto the survivor, reached through the existing LLM-merge draft (POST /lore/{id}/merge starts it, approve_draft now distinguishes a live "Merge or Keep both" page from a bot's own duplicate). wiki_notes gives a player their own private notes on a page (IS-105, D197): read by the writer and, at /notes/{user_id}, by a GM. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>list_lore_versions now opens to anyone who may edit the page, not only the GM and the primary owner, and drops a version whose rendered text, facts and timeline equal the one right after it for this reader ("four of the five"). Restoring an earlier version widens the same way: a character's own player may restore her own page, but her restore runs through wiki_text.merge_edit against the live body rather than overwriting it outright, so it can only move her own view back to how it read then and never a block she can't see. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>