Skip to content

Complete FHM SQLite save parity - #112

Merged
nisamson merged 4 commits into
mainfrom
copilot/fhm-streaming-save-import
Sep 9, 2026
Merged

nisamson merged 4 commits into
mainfrom
copilot/fhm-streaming-save-import

Conversation

@nisamson

@nisamson nisamson commented Sep 9, 2026 •

Copy link
Copy Markdown
Owner

Summary

  • add lossless fresh SQLite import/export for FHM save folders, with streamed baseline storage and direct SQLite-to-save export
  • preserve historical save fidelity: opaque multi-record leagues, raw Personnel values/references, Team staff-tail IDs, and out-of-order affiliate links
  • replace personal.dat heuristic scanning with a versioned record reader and stream Personnel into bounded 250-row SQLite batches
  • tune disposable fresh imports and read-heavy exports with SQLite WAL/cache/mmap settings

Validation

  • dotnet test (691 passed)
  • exact source -> SQLite -> export SHA-256 parity for all 35 local saves
  • exact parity for the historical season2081.lg save after direct and streamed Personnel parsing

Performance

  • streamed Personnel import reduces season2081.lg peak working set from 2.18 GiB to 1.74 GiB (20% / 434 MiB)

@nisamson
nisamson merged commit 3613442 into main Sep 9, 2026
5 checks passed
@nisamson
nisamson deleted the copilot/fhm-streaming-save-import branch September 9, 2026 02:30
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant