diff --git a/tests/AcDream.App.Tests/Diagnostics/ConnectedR6SoakContractTests.cs b/tests/AcDream.App.Tests/Diagnostics/ConnectedR6SoakContractTests.cs index 7c86f2d8..53ef5409 100644 --- a/tests/AcDream.App.Tests/Diagnostics/ConnectedR6SoakContractTests.cs +++ b/tests/AcDream.App.Tests/Diagnostics/ConnectedR6SoakContractTests.cs @@ -344,6 +344,28 @@ public sealed class ConnectedR6SoakContractTests StringComparison.Ordinal); } + [Fact] + public void LoginGateDoesNotRequireTheOptionalFirstPositionRecenterDiagnostic() + { + string source = File.ReadAllText(Path.Combine( + FindRepoRoot(), + "tools", + "run-connected-r6-soak.ps1")); + + Assert.Contains( + "Wait-ForLogPattern $process $stdoutLog 'live: in world'", + source, + StringComparison.Ordinal); + Assert.DoesNotContain( + "Wait-ForLogPattern $process $stdoutLog 'live: first player position'", + source, + StringComparison.Ordinal); + Assert.Contains( + "route materialization below is the deterministic world-ready barrier.", + source, + StringComparison.Ordinal); + } + [Fact] public void DenseTownModeUsesTheDedicatedOneCheckpointRoute() { diff --git a/tools/run-connected-r6-soak.ps1 b/tools/run-connected-r6-soak.ps1 index 3e71438a..22a44f39 100644 --- a/tools/run-connected-r6-soak.ps1 +++ b/tools/run-connected-r6-soak.ps1 @@ -717,7 +717,10 @@ try { } $null = Wait-ForLogPattern $process $stdoutLog 'live: in world' 1 $LoginTimeoutSeconds - $null = Wait-ForLogPattern $process $stdoutLog 'live: first player position' 1 $LoginTimeoutSeconds + # "live: first player position" is a recenter diagnostic, not a session + # boundary: it is intentionally absent when the player's authoritative + # first cell already matches the initial streaming center. The first + # route materialization below is the deterministic world-ready barrier. Write-Marker ("in-world elapsed={0:N1}s" -f $stopwatch.Elapsed.TotalSeconds) foreach ($destination in $destinations) {