Help Index → When something does not behave as expected → Use case 59
Treat a completion dialog as a prompt to inspect the result, not as proof that every requested change occurred. Compare exact records before turning an app-memory operation into a live-save write.
Before you start
- Retain the request, warnings, known-good backup and, if available, a before-operation JSON export.
- Identify the loaded save/context. Wait for Processing to dismiss before starting another operation.
- Before any synchronization, Pretty Print or structured refresh, copy EACH pending Raw JSON pane to its own external file; syncing one tab can overwrite pending text in all others. Context export reads the model, not pending editor text; retain both separately.
- A parse error can leave the old tree with a green light; [] is ignored, and Pretty Print can overwrite invalid pending text from the old model. Preserve text and verify actual values, not lights.
- Do not sync or Pretty Print Inventory Raw JSON: its current dictionary-assignment defect is not reliable inventory replacement. Use Organizer for supported moves or Replace Items from Backup for supported replacement.
Steps
- Read the whole result, including warnings, skipped entries and partial outcomes. For starship upgrades, distinguish upgraded, unchanged, partially upgraded and rejected ships instead of judging success from a total alone. (control reference)
- Without triggering sync or Pretty Print, compare affected records and preserved text. For inventory moves check actual Name/Slots, item IDs, quantities, indices, leftovers, overflow and capacity; missing records can shift legacy captions. If Inventory Raw JSON sync was used, stop before saving: it may add unexpected dictionary entries rather than apply intended fields. Prefer supported structured tools from a trustworthy baseline. (control reference)
- For a location change, compare the selected endpoint address and coordinates with the changed player/spawn fields using full-context exports if needed. For base ordering or deletion, check identities and order, not merely the displayed record count. (control reference)
- If any result differs, stop before File → Save or retry. A parse error can leave green status and an old tree; [] is ignored, and Pretty Print can overwrite invalid text. A failed inventory replacement can already have expanded capacity before failing on missing Slots. Preserve all useful pending panes externally, inspect actual items/capacity, and deliberately reload the saved baseline if abandoning the attempt; do not blindly rerun or save. (control reference)
Expected result
- You establish what changed, what stayed unchanged and whether any unexpected fields changed. Counts and dialog wording support that check but do not replace it.
- Legacy Sorter can display Inventory has been sorted after process_sort returns from a validation warning. Review actual contents even when the final message sounds successful.
What changes, and when to save
An operation’s completion usually concerns app memory. Only the separate confirmed live-save action writes disk and reports its verified targets. JSON export is not a live save or full-folder backup.
Check the result
- Compare exact before/after values for the requested scope and sample the supposedly untouched records. After an intentional live save, read Live save written’s verified data/meta paths; later game behavior remains a separate acceptance check.
Important details and recovery
- A green sync light proves neither game validity nor that every requested item moved.
- Do not erase a known-good backup merely because a dialog reports completion. Retain it until you have checked the saved result.
- A replacement error does not prove an unchanged inventory; its tree may not have refreshed. Preserve work before further operations, and deliberately reload if abandoning the partial change.