feat(check): stub /check/check_time_slip_card_master_hash

Bare BaseTask call fired from DeckDecisionUI.cs:140 (Arena "View Deck"
path) and the TK2 prep screen. Client task has no Parse() override —
just checks result_code, ignores body. Prod (4 captured instances
across traffic_prod_taketwo_selections + traffic_prod_tradeables_capture)
unanimously responds with data: [].

Routing smoke added.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
gamer147
2026-05-31 13:29:27 -04:00
parent ac2f31103d
commit 8e017c9d10
3 changed files with 29 additions and 0 deletions

View File

@@ -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
};
}
/// <summary>
/// Card-master rotation-period integrity probe. Wire path is
/// <c>check/check_time_slip_card_master_hash</c> but the client task is
/// <c>CheckTimeSlipRotationPeriodTask</c> — a pure <c>BaseTask</c> with no
/// <c>Parse()</c> override (Wizard/CheckTimeSlipRotationPeriodTask.cs). Fired from
/// <c>DeckDecisionUI.cs:140</c> (Arena "View Deck" path) and the TK2 prep screen.
/// Prod responds with <c>data: []</c> in every observed capture across
/// traffic_prod_taketwo_selections.ndjson + traffic_prod_tradeables_capture.ndjson.
/// </summary>
[HttpPost("check_time_slip_card_master_hash")]
public IActionResult CheckTimeSlipCardMasterHash([FromBody] CheckTimeSlipCardMasterHashRequest req)
{
return Ok(Array.Empty<object>());
}
}

View File

@@ -0,0 +1,12 @@
using MessagePack;
using SVSim.EmulatedEntrypoint.Models.Dtos.Requests;
namespace SVSim.EmulatedEntrypoint.Models.Dtos.Requests.Check;
/// <summary>
/// Empty request envelope. Prod ships only the standard BaseRequest fields
/// (viewer_id / steam_id / steam_session_ticket) — verified in
/// traffic_prod_taketwo_selections.ndjson + traffic_prod_tradeables_capture.ndjson.
/// </summary>
[MessagePackObject]
public class CheckTimeSlipCardMasterHashRequest : BaseRequest { }

View File

@@ -111,6 +111,7 @@ public class RoutingSmokeTests
[TestCase("/arena_colosseum/get_fee_info")]
[TestCase("/arena/get_challenge_info")]
[TestCase("/arena/get_challenge_ranking_history")]
[TestCase("/check/check_time_slip_card_master_hash")]
public async Task Authenticated_route_resolves(string path)
{
using var factory = new TestFactory();