From adefa848854dd1d8fa7dfd8d7737f7eeb8dfddb7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=94=D0=BC=D0=B8=D1=82=D1=80=D0=B8=D0=B9?= Date: Tue, 6 Oct 2026 07:13:25 +0500 Subject: [PATCH] docs: record approved Portable Characters decisions Co-Authored-By: Claude Sonnet 5.5 --- docs/PORTABLE_CHARACTERS_AUDIT.md | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/docs/PORTABLE_CHARACTERS_AUDIT.md b/docs/PORTABLE_CHARACTERS_AUDIT.md index 19f5a42..31415ef 100644 --- a/docs/PORTABLE_CHARACTERS_AUDIT.md +++ b/docs/PORTABLE_CHARACTERS_AUDIT.md @@ -627,6 +627,23 @@ Whatever option is chosen, **an import must refuse a character that is online**, --------------------------------------------------------------------------------------------------------- +## 16. Decisions approved (2026-10-06) + +D1-D13 were approved as recommended in section 15, with these amendments: + +| Topic | Decision | +|---|---| +| D1 production import | **in-core path**: the realm itself performs remap + commit + cache refresh through new console commands (small core patches are approved, D8). Offline import stays the path for Phases 3-4 on disposable databases | +| D5 rulesets | CoA <-> Wildcard transfer is **forbidden** (enforced by the store: a character's ruleset cannot change) | +| D6 challenge state | an **active challenge / hardcore / Manastorm state blocks transfer** (checked by the exporter in Phase 2 and again in the join pre-flight, Phase 11) | +| D8 core patches | approved | +| D9 database driver | a MySQL driver with prepared statements is approved (Phase 2/3) | +| D10 store | SQLite with WAL is approved (implemented in Phase 1) | +| D13 checkpoints | keyed **internally by the local guid**: checkpoints arrive as `(server_id, local_guid)` and are resolved to the portable character through `Store::find_by_local` | +| item mapping | `UNIQUE(character_id, server_id, local_item_guid)` in addition to the primary key (implemented in Phase 1) | + +--------------------------------------------------------------------------------------------------------- + ## Appendix A. Phase 1 - exact proposed plan (not started) **Goal:** local canonical storage only. No VPS, no relay, no public list, no database access to any realm, no UI.