fix(diag): gate connected soak on guaranteed login boundary

The first-player-position line is emitted only when initial streaming must recenter. Treating it as a required login event made a valid same-landblock login time out while route automation was already running. Gate on in-world and the route's authoritative materialization barriers instead.

Co-Authored-By: Codex <noreply@openai.com>
This commit is contained in:
Erik 2026-07-24 12:49:59 +02:00
parent 3ee8ec537a
commit e797e7482a
2 changed files with 26 additions and 1 deletions

View file

@ -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()
{