Character sheets: convert a sheet from another system, as a draft (#958) #1365
Loading…
Reference in a new issue
No description provided.
Delete branch "feat/958-convert-sheet"
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 #958 (IS-424; D5 as amended by lane 9, and the spec's "a sheet from another system is converted by the LLM into the campaign's definition and reviewed as a draft"). Opened by the orchestrator for the builder, which had no Forgejo tools.
Where it's offered
SheetOut.other_system), for a GM or the character's player. A notice reads "This sheet is for D&D 5e", with Convert into PF2e, as a draft and Keep it as it is. "Keep" is remembered per sheet, and the More menu still offers the conversion.How it converts
What's validated
fit()against the new definition. Anything that doesn't fit is listed as "Not converted", with the reason. Old values nothing cited are listed too.*lock, or a definition-level lock;source_ref.converted_from.expected_version(409 if stale) andreplace: true.Applying
conversionversions stamped with their system.restorable: false, and restoring one is a 409.d958c0a1b2c3: nullablecharacter_sheet_versions.system_id, backfilled. The head pin moves.API
GET …/lore/{eid}/sheet/convertPOST …/sheet/convert/draft(saves nothing; returns a report withconverted,kept,not_converted,entries,warnings,locks, andusage)POST …/sheet/convert/apply{"detail": ...}. The details are indocs/API.md.Wording for review
On the owner's Wording Review page as part "ab".
Checks (docker-test, committed code, host load 22–40)
checkspass.ConvertSheet.test.jsxpasses 10/10;DesignReference.test.jsxtimed out under load, and passed 5/5 when rerun alone.buildsuite, and a literal alembic round trip against a full database. The migration's round trip is tested on a scratch schema.Open for the owner
🤖 Generated with Claude Code
The notice on the sheet page ("This sheet is for D&D 5e": Convert into PF2e, as a draft, or Keep it as it is), the draft's review dialog (values with a confidence and note, edit or leave out, entries in the rules or kept as text, Not converted with reasons), and Versions listing the old game's rows as kept. Changelog fragment, docs/API.md, the IS-424 catalogue row. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>