test(app): make canonical soak comparisons workload-aware
Pin every ACE teleloc to an explicit starting quaternion and distinguish stable-workload owner growth from legitimate authoritative population, visibility, and cache-retirement changes. Preserve the original process residency and frame-cost limits while making canonical deltas actionable. Co-authored-by: Codex <codex@openai.com>
This commit is contained in:
parent
bca4148739
commit
6c5e0604c9
4 changed files with 88 additions and 44 deletions
|
|
@ -4,8 +4,9 @@
|
|||
|
||||
sleep 15000
|
||||
|
||||
# Caul baseline + local movement/jump/combat exercise.
|
||||
command /teleloc 0xC95B0001 14.8 0.3 12.005
|
||||
# Caul baseline + local movement/jump/combat exercise. Every teleloc carries
|
||||
# the identity quaternion so each timed turn begins from the same heading.
|
||||
command /teleloc 0xC95B0001 14.8 0.3 12.005 1 0 0 0
|
||||
wait materialized 1 60000
|
||||
sleep 8000
|
||||
input down MovementTurnRight
|
||||
|
|
@ -43,7 +44,7 @@ sleep 7400
|
|||
checkpoint caul-baseline
|
||||
|
||||
# Sawato baseline.
|
||||
command /teleloc 0x3032001C 83.3 89.2 133.005
|
||||
command /teleloc 0x3032001C 83.3 89.2 133.005 1 0 0 0
|
||||
wait materialized 2 60000
|
||||
sleep 8000
|
||||
input down MovementTurnRight
|
||||
|
|
@ -53,7 +54,7 @@ sleep 22000
|
|||
checkpoint sawato-baseline
|
||||
|
||||
# Rynthid world-edge streaming.
|
||||
command /teleloc 0xF6820033 145.7 49.855 58.010
|
||||
command /teleloc 0xF6820033 145.7 49.855 58.010 1 0 0 0
|
||||
wait materialized 3 60000
|
||||
sleep 8000
|
||||
input down MovementTurnRight
|
||||
|
|
@ -63,7 +64,7 @@ sleep 22000
|
|||
checkpoint rynthid
|
||||
|
||||
# Aerlinthe dense island.
|
||||
command /teleloc 0x09040008 11.4 188.6 87.705
|
||||
command /teleloc 0x09040008 11.4 188.6 87.705 1 0 0 0
|
||||
wait materialized 4 60000
|
||||
sleep 8000
|
||||
input down MovementTurnRight
|
||||
|
|
@ -73,7 +74,7 @@ sleep 22000
|
|||
checkpoint aerlinthe
|
||||
|
||||
# Same-location lifecycle revisit.
|
||||
command /teleloc 0x3032001C 83.3 89.2 133.005
|
||||
command /teleloc 0x3032001C 83.3 89.2 133.005 1 0 0 0
|
||||
wait materialized 5 60000
|
||||
sleep 8000
|
||||
input down MovementTurnRight
|
||||
|
|
@ -83,7 +84,7 @@ sleep 22000
|
|||
checkpoint sawato-return
|
||||
|
||||
# Holtburg mixed-town workload + local exercise.
|
||||
command /teleloc 0xA9B40019 84.0 7.1 94.005
|
||||
command /teleloc 0xA9B40019 84.0 7.1 94.005 1 0 0 0
|
||||
wait materialized 6 60000
|
||||
sleep 8000
|
||||
input down MovementTurnRight
|
||||
|
|
@ -121,7 +122,7 @@ sleep 7400
|
|||
checkpoint holtburg
|
||||
|
||||
# Caul return/leak oracle + final local exercise.
|
||||
command /teleloc 0xC95B0001 14.8 0.3 12.005
|
||||
command /teleloc 0xC95B0001 14.8 0.3 12.005 1 0 0 0
|
||||
wait materialized 7 60000
|
||||
sleep 8000
|
||||
input down MovementTurnRight
|
||||
|
|
@ -162,7 +163,7 @@ checkpoint caul-return
|
|||
# circuit intentionally warms bounded DAT/GPU caches, so comparing the cold
|
||||
# first Caul against its warm return would punish successful source-window
|
||||
# retirement. This circuit loads no new destination content.
|
||||
command /teleloc 0x3032001C 83.3 89.2 133.005
|
||||
command /teleloc 0x3032001C 83.3 89.2 133.005 1 0 0 0
|
||||
wait materialized 8 60000
|
||||
sleep 8000
|
||||
input down MovementTurnRight
|
||||
|
|
@ -171,7 +172,7 @@ input up MovementTurnRight
|
|||
sleep 22000
|
||||
checkpoint sawato-plateau
|
||||
|
||||
command /teleloc 0xC95B0001 14.8 0.3 12.005
|
||||
command /teleloc 0xC95B0001 14.8 0.3 12.005 1 0 0 0
|
||||
wait materialized 9 60000
|
||||
sleep 8000
|
||||
input down MovementTurnRight
|
||||
|
|
|
|||
|
|
@ -386,34 +386,30 @@ function Add-CanonicalCheckpointFailures([Diagnostics.Process]$Client) {
|
|||
|
||||
foreach ($field in @(
|
||||
'loadedLandblocks',
|
||||
'visibleLandblocks',
|
||||
'totalLandblocks',
|
||||
'pendingLiveTeardowns',
|
||||
'pendingLandblockRetirements',
|
||||
'meshRenderData',
|
||||
'meshAtlasArrays',
|
||||
'meshEstimatedBytes',
|
||||
'stagedMeshUploads',
|
||||
'stagedMeshBytes',
|
||||
'trackedGpuBytes',
|
||||
'trackedGpuBuffers',
|
||||
'trackedGpuTextures',
|
||||
'ownedCompositeTextures',
|
||||
'compositeTextureOwners',
|
||||
'activeParticleTextures',
|
||||
'particleTextureOwners',
|
||||
'compositeWarmupPending')) {
|
||||
'totalLandblocks')) {
|
||||
$first = $caulReturn.resources.PSObject.Properties[$field]
|
||||
$plateau = $caulPlateau.resources.PSObject.Properties[$field]
|
||||
if ($null -eq $first -or $null -eq $plateau) {
|
||||
$failures.Add("canonical Caul comparison is missing resources.$field")
|
||||
}
|
||||
elseif ([long]$first.Value -ne [long]$plateau.Value) {
|
||||
$failures.Add("Caul plateau canonical owner '$field' changed $($first.Value) -> $($plateau.Value)")
|
||||
$failures.Add("Caul plateau deterministic world domain '$field' changed $($first.Value) -> $($plateau.Value)")
|
||||
}
|
||||
}
|
||||
|
||||
$populationChanged = $false
|
||||
$workloadChanged = $false
|
||||
$firstVisible =
|
||||
$caulReturn.resources.PSObject.Properties['visibleLandblocks']
|
||||
$plateauVisible =
|
||||
$caulPlateau.resources.PSObject.Properties['visibleLandblocks']
|
||||
if ($null -eq $firstVisible -or $null -eq $plateauVisible) {
|
||||
$failures.Add('canonical Caul workload comparison is missing resources.visibleLandblocks')
|
||||
}
|
||||
elseif ([long]$firstVisible.Value -ne [long]$plateauVisible.Value) {
|
||||
$workloadChanged = $true
|
||||
$warnings.Add("Caul plateau visible workload changed $($firstVisible.Value) -> $($plateauVisible.Value)")
|
||||
}
|
||||
|
||||
foreach ($field in @(
|
||||
'worldEntities',
|
||||
'animatedEntities',
|
||||
|
|
@ -425,11 +421,34 @@ function Add-CanonicalCheckpointFailures([Diagnostics.Process]$Client) {
|
|||
$failures.Add("canonical Caul population comparison is missing resources.$field")
|
||||
}
|
||||
elseif ([long]$first.Value -ne [long]$plateau.Value) {
|
||||
$populationChanged = $true
|
||||
$workloadChanged = $true
|
||||
$warnings.Add("Caul plateau authoritative population '$field' changed $($first.Value) -> $($plateau.Value)")
|
||||
}
|
||||
}
|
||||
|
||||
foreach ($field in @(
|
||||
'meshRenderData',
|
||||
'meshAtlasArrays',
|
||||
'meshEstimatedBytes',
|
||||
'trackedGpuBytes',
|
||||
'trackedGpuBuffers',
|
||||
'trackedGpuTextures',
|
||||
'ownedCompositeTextures',
|
||||
'compositeTextureOwners',
|
||||
'activeParticleTextures',
|
||||
'particleTextureOwners')) {
|
||||
$first = $caulReturn.resources.PSObject.Properties[$field]
|
||||
$plateau = $caulPlateau.resources.PSObject.Properties[$field]
|
||||
if ($null -eq $first -or $null -eq $plateau) {
|
||||
$failures.Add("canonical Caul cache comparison is missing resources.$field")
|
||||
}
|
||||
elseif ([long]$plateau.Value -gt [long]$first.Value) {
|
||||
$message = "Caul plateau canonical cache '$field' grew $($first.Value) -> $($plateau.Value)"
|
||||
if ($workloadChanged) { $warnings.Add($message) }
|
||||
else { $failures.Add($message) }
|
||||
}
|
||||
}
|
||||
|
||||
foreach ($field in @(
|
||||
'particleBindings',
|
||||
'particleOwners',
|
||||
|
|
@ -441,9 +460,9 @@ function Add-CanonicalCheckpointFailures([Diagnostics.Process]$Client) {
|
|||
if ($null -eq $first -or $null -eq $plateau) {
|
||||
$failures.Add("canonical Caul owner comparison is missing resources.$field")
|
||||
}
|
||||
elseif ([long]$first.Value -ne [long]$plateau.Value) {
|
||||
$message = "Caul plateau population-sensitive owner '$field' changed $($first.Value) -> $($plateau.Value)"
|
||||
if ($populationChanged) { $warnings.Add($message) }
|
||||
elseif ([long]$plateau.Value -gt [long]$first.Value) {
|
||||
$message = "Caul plateau population-sensitive owner '$field' grew $($first.Value) -> $($plateau.Value)"
|
||||
if ($workloadChanged) { $warnings.Add($message) }
|
||||
else { $failures.Add($message) }
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue