test(perf): the Stage 4 dense contract requires no nudged overlay (#719)

The isometric-stage3-dense-v1 runner still demanded at least one bounded
#651 nudge. Since #713 every raised device tile and lock badge is lifted by
the one shared wall-top rise and carries data-hp-iso-nudged="false", so the
Full Performance profile failed its input contract before any timing.

The contract is inverted: a single nudged raised root now fails the sample,
matching the golden requireOneRise preflight. The performance README states
the current contract, and the #570 runner-contract unit pins the new failure
text.

Issue: #719
User-Visible: no
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_018qZfe7YS4rqEMKoVeS3GKd
This commit is contained in:
Claude
2026-09-30 20:17:15 +00:00
committed by claude[bot]
parent 3e38de07b3
commit 84ed38e3d5
3 changed files with 7 additions and 3 deletions
+2 -1
View File
@@ -255,7 +255,8 @@ try {
if (snapshot.renderedOverlayCount < 1) failures.push('no raised overlay roots rendered');
if (snapshot.raisedOverlayCount !== snapshot.renderedOverlayCount)
failures.push('one or more Stage 4 overlay roots remained outside the low visual plane');
if (snapshot.nudgedOverlayCount < 1) failures.push('dense fixture produced no bounded nudge');
if (snapshot.nudgedOverlayCount !== 0)
failures.push('raised overlay nudged although #713 lifts every tile by one rise');
if (snapshot.raisedVacuumCount !== 0) failures.push('floor-bound vacuum was marked as raised');
if (missingKinds.length) failures.push(`missing overlay kinds: ${missingKinds.join(', ')}`);
for (const kind of expectedKinds) {
+4 -2
View File
@@ -22,8 +22,10 @@ value, LQI and new-device badges plus contact/lock-bound door, window and gate
examples. The base invocation explicitly allows a Stage 2 renderer so an older
`dev` SHA remains measurable; the candidate invocation fails closed unless it
reports effective Iso, the Stage 3 revision, all required raised overlay kinds,
at least one real nudge, a bounded shared material-definition set and zero
structural rebuilds during HA, opening and hover/focus updates. The two extra
no nudged overlay root (since #713 every raised tile is lifted by the one shared
wall-top rise, so a nudge means the #651 placement search came back), a bounded
shared material-definition set and zero structural rebuilds during HA, opening
and hover/focus updates. The two extra
timing windows use limits no softer than the historical HA-update budget. This
does not change the fixture, measured windows or budget of
`large-house-isometric-v1`, which remains the #124 regression witness.
+1
View File
@@ -150,6 +150,7 @@ test('#570 current Stage 4 runner fails closed on the agreed observable DOM cont
'opening surfaces',
'entered Flat fallback',
'structural build counter is absent',
'raised overlay nudged although #713 lifts every tile by one rise',
'isoStructuralBuilds',
'haUpdateDelta',
'performed a structural rebuild for an HA-only state update',