Skip to content

feat(mh3g): split compatibility repair by data domain - #40

Open
VincentAdamNemessisX wants to merge 1 commit into
mainfrom
feat/mh3g-independent-domain-repair
Open

feat(mh3g): split compatibility repair by data domain#40
VincentAdamNemessisX wants to merge 1 commit into
mainfrom
feat/mh3g-independent-domain-repair

Conversation

@VincentAdamNemessisX

Copy link
Copy Markdown
Contributor

Summary

  • split compatibility repair into independently authorized core, guild-card, quest, shared-system, and experimental CEC transactions
  • add explicit original 3DS, read-only current Wii U/Cemu, and independent output paths for every domain in both native UIs
  • preserve continued-play Wii U data: historical three-way repair for core/cards, exact current-byte preservation for quests, verified flag union for system, and exact-record/empty-slot repair for CEC
  • give every domain its own Dry Run fingerprint, write gate, manifest, and rollback; an incomplete or failed optional domain no longer blocks/revokes another
  • retain the legacy coupled repair-converted --source-extdata-dir CLI option for existing scripts, while native UIs use only the new domain-scoped commands
  • document exact path/file/group contracts and add ADR 0017

Validation

  • cargo fmt --all -- --check
  • cargo test -p mh3g-save-convert — 224 passed
  • cargo clippy -p mh3g-save-convert --all-targets -- -D warnings
  • cargo clippy -p mh3g-save-convert --target x86_64-pc-windows-msvc --all-targets -- -D warnings
  • swift test — 76 passed
  • python3 scripts/mh3g-docs-contract.py
  • python3 scripts/verify-mh3g-save-converter-windows-source.py
  • bash scripts/build-mh3g-save-converter-macos-app.sh
  • bash scripts/mh3g-save-converter-macos-smoke.sh
  • direct macOS app UI inspection: repair mode shows separate core source/current/output; system source/current/output; ExtData source/current/output; independent card/quest transactions
  • paired real-hardware user1/ExtData/Wii U fixture: core exact 0.0.5; cards compatible 0.0.5-0.0.6; quests compatible 0.0.3-0.0.6; all three written and rolled back independently; all 3DS/current-reference payload hashes remained unchanged and all output payloads restored exactly

Boundaries

  • no Cemu/game runtime validation was performed
  • no formal native WinUI build was performed on macOS; Windows source/XAML contract and Rust MSVC target lint passed, native Windows build remains a Windows release/tester gate
  • no production Nemessix/Azahar/Cemu save or MLC was modified
  • PR fix(mh3g): clarify accepted save path structures #39 remains separately owned and is not included here

@VincentAdamNemessisX
VincentAdamNemessisX requested a review from a team as a code owner August 12, 2026 04:31
@VincentAdamNemessisX

Copy link
Copy Markdown
Contributor Author

Lifecycle audit: this PR is not merged or superseded. The independent repair commands remain absent from current main, while its WinUI layer conflicts with the Fluent rewrite merged in #42. Keep open; preserve the Rust/macOS/docs work and rebase or re-implement the Windows UI against current main (preferably after #44). Do not force-merge the stale XAML.

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