Lane 11 PR 3: sheets on the server — tables, visibility, autosave, the hot half, versions, the projection (#737) #964
Loading…
Reference in a new issue
No description provided.
Delete branch "build/lane11-3-server"
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?
Lane 11 (#737) PR 3: the server half of sheets, per the contract's §3.1, §3.7 and §3.8 (routes #1–12). It covers IS-407, 408, 414 and 435, and the server half of IS-419.
Migration
11a1b2c3d4e5(ona9430d1e2f3b):sheet_definitions,character_sheets(on the wiki page only, D202) andcharacter_sheet_versions.reference_entries.fields,shelf_cards.resourcesandcampaigns.advancement, plus the reference kindsancestryandheritage.compare_metadatais clean, and upgrade → downgrade → upgrade was run on a fresh database.Services:
sheet_definitions_service: the built-in PF2e, 5e and generic definitions heal themselves at startup (D220). A newer version from a pack wins. Compiled definitions are cached by digest.sheet_service:expected_versionautosave (409{detail, current}, like Prep) and GM locks.since_rev.LoreEntry.stats, filtered per reader (search, the LLM, the bot and the card never see hidden lines).Routes (#1–12, with the full table in the build contract): the definition (immutable, cached, with an ETag), the campaign's definitions, and a page's sheet (GET and POST), plus PATCH autosave, add an entry, resources (POST and a polled GET), versions and restore, export, and the picker.
LoreEntryResponse.sheettells the article whether a sheet exists and whether the reader can edit it.Tests:
tests/sheets.changelog.py checkpasses.The old stat block keeps working until PR 7 and PR 13 (the rollout rule).
Changelog:
changelog.d/737-lane11-server.added.md.🤖 Generated with Claude Code