Implement persistent classless Explorer skill drafts
Characters receive three uniformly random unlearned Explorer skill choices at level 1 and every five levels. Saved offers survive defer, reconnect and restart; exact copies share one pool entry, weapon/element variants remain distinct, and the approved special-content exclusions affect only future offers.
Move draft ownership into a typed Java service and dedicated versioned rows. Claim the saved choice and grant its skill in one narrow transaction, update live state only after commit, and reconcile uncertain commits before autosave. Import both historical quest-number formats without rerolling choices. Exhausted saved offers remain intact while later usable drafts stay accessible.
Keep the original overhead lightbulb and native NPC dialogue as presentation adapters, with a skill preview and explicit confirmation. Native skillbook controls allocate SP, and players configure their own bindings. Learned-skill eligibility supports classless Beginner progression and combat while preserving weapon, resource, cooldown and SP-prerequisite checks.
Closes #8 — offered skill-selection menu with defer/reopen support. Closes #9 — the user-approved initial draft algorithm, replacing the issue's earlier rough proposal. Closes #14 (closed) — maximum mastery is granted directly, as discussed on the issue. Closes #15 (closed) — skill grants unlock maximum mastery without mastery books; further skill levels spend SP. Closes #42 — learned skills support non-GM Beginners across original class boundaries.
The broader overhaul (#7), skill images/hover descriptions (#10 (closed)), archetypes (#11, #13), cross-weapon skill changes (#12), prerequisite-policy work (#16, #17) and complete mass skill rework (#18) remain open.
Validation: 608 disposable server assertions, six character-info packet cases, seven original-asset rendered client cases with 74 assertions, and 16 client evidence-validator checks passed. The production server source matches the dev-tested source at 8afaff985; the final MR includes the agreed project instructions. Dev pipeline 677 succeeded, and its running source hashes and both external v83 game ports were verified. These checks do not claim a new live-account gameplay pass.
Production upgrade requires additive migrations 07_add_queststatus_draft_data.sql and 08_add_skill_drafts.sql. Preserve existing characters, skills, SP, inventory and world consumption; no draft or campaign reset is required. Companion client: idanc/mapplestrudel-client, branch draft-service-integration.