From f77cbc4d577a63eef4c7a1c598a0d008a354ce53 Mon Sep 17 00:00:00 2001 From: Prabu Date: Wed, 22 Jul 2026 11:19:08 -0500 Subject: [PATCH 1/2] fix: show the real mission title for gauntlet/contract runs MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The combat HUD derived its title from a hardcoded switch over the six story mission ids, so every replay-mode run rendered "Unknown Mission". Gauntlet floors ("GAUNTLET — FLOOR N") and contracts (generated job titles) already carry a real title on the loaded MultiRoomMission, so fall back to RoomManager.shared.currentMission?.title before the stub. Verified in the simulator: a gauntlet floor now reads "MISSION: GAUNTLET — FLOOR 1". Co-Authored-By: Claude Opus 4.8 --- HexwireApp.swift | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/HexwireApp.swift b/HexwireApp.swift index 0332130..9da3196 100644 --- a/HexwireApp.swift +++ b/HexwireApp.swift @@ -2640,7 +2640,9 @@ struct CombatView: View { case "Mission004": return "Dead Man's Switch" case "Mission005": return "Mekton Blues" case "Mission006": return "Ghost Signal" - default: return "Unknown Mission" + // Replay modes (gauntlet floors, contracts) build their own mission + // objects and carry a real title — use it instead of a stub. + default: return RoomManager.shared.currentMission?.title ?? "Unknown Mission" } } From 756b214fb7698564436a0d4e9d8299c97b64d9b7 Mon Sep 17 00:00:00 2001 From: Prabu Date: Wed, 22 Jul 2026 11:19:08 -0500 Subject: [PATCH 2/2] docs: correct spawn-type count in the certification matrix MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit knownSpawnTypes has 22 entries, not 17 — the matrix undercounted. Co-Authored-By: Claude Opus 4.8 --- docs/audit/MissionCertificationMatrix.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/audit/MissionCertificationMatrix.md b/docs/audit/MissionCertificationMatrix.md index ae4c781..b437e7e 100644 --- a/docs/audit/MissionCertificationMatrix.md +++ b/docs/audit/MissionCertificationMatrix.md @@ -48,7 +48,7 @@ What each logic column certifies (per mission, all six): - **Save/resume** — completion decoded back from the raw UserDefaults blob (what a relaunch loads), plus WP2's corruption/migration coverage. - **Room-graph integrity** — unique room ids, valid connection targets/triggers, - known enemy/boss types only (17 spawn + 3 boss types, all mapped to factories), + known enemy/boss types only (22 spawn + 3 boss types, all mapped to factories), spawns in-bounds and never in walls, an extraction room exists. ## Runtime launch smoke receipts