diff --git a/SVSim.EmulatedEntrypoint/Controllers/CheckController.cs b/SVSim.EmulatedEntrypoint/Controllers/CheckController.cs
index c957023..af89b3a 100644
--- a/SVSim.EmulatedEntrypoint/Controllers/CheckController.cs
+++ b/SVSim.EmulatedEntrypoint/Controllers/CheckController.cs
@@ -5,6 +5,7 @@ using SVSim.Database.Repositories.Viewer;
using SVSim.EmulatedEntrypoint.Extensions;
using SVSim.EmulatedEntrypoint.Models.Dtos;
using SVSim.EmulatedEntrypoint.Models.Dtos.Requests;
+using SVSim.EmulatedEntrypoint.Models.Dtos.Requests.Check;
using SVSim.EmulatedEntrypoint.Models.Dtos.Responses;
namespace SVSim.EmulatedEntrypoint.Controllers;
@@ -67,4 +68,19 @@ public class CheckController : SVSimController
KorAuthorityId = 0
};
}
+
+ ///
+ /// Card-master rotation-period integrity probe. Wire path is
+ /// check/check_time_slip_card_master_hash but the client task is
+ /// CheckTimeSlipRotationPeriodTask — a pure BaseTask with no
+ /// Parse() override (Wizard/CheckTimeSlipRotationPeriodTask.cs). Fired from
+ /// DeckDecisionUI.cs:140 (Arena "View Deck" path) and the TK2 prep screen.
+ /// Prod responds with data: [] in every observed capture across
+ /// traffic_prod_taketwo_selections.ndjson + traffic_prod_tradeables_capture.ndjson.
+ ///
+ [HttpPost("check_time_slip_card_master_hash")]
+ public IActionResult CheckTimeSlipCardMasterHash([FromBody] CheckTimeSlipCardMasterHashRequest req)
+ {
+ return Ok(Array.Empty