fix(physics): AD-66 relands — the push-out uses retail's bare radius; plant-then-lift complete (#341 closed)
Some checks are pending
Headless portability / portable-headless (ubuntu-latest) (push) Waiting to run
Headless portability / portable-headless (windows-latest) (push) Waiting to run
Headless portability / linux-graphical (push) Waiting to run
Headless portability / linux-vulkan (push) Waiting to run
Some checks are pending
Headless portability / portable-headless (ubuntu-latest) (push) Waiting to run
Headless portability / portable-headless (windows-latest) (push) Waiting to run
Headless portability / linux-graphical (push) Waiting to run
Headless portability / linux-vulkan (push) Waiting to run
Third attempt, landed on evidence where the first two correctly refused: the ten-run stability gate passed 10/10 bit-identical (0x42667451, two clean-room cycles among the runs), the recalibrated golden's every value measured with derivations rather than guessed, and the historical measurement flip stands recorded as unexplained-but-unreproducible after 37 hunt runs plus these 10 found no divergence anywhere. The mechanism, completing the S4b byte-pin: validate_walkable plants the sphere at perpendicular r*N.z (byte-faithful, untouched); this push fires once per settle and lifts to tangent equilibrium dist=r, where the trigger goes quiet — retail's slope hover, arriving via the push exactly as the original substitution's own comment predicted retail had. Sabotage: restoring radius*N.z reddens the discriminating exact-value test verbatim. AD-65 conformance, the uphill no-flap guard, and the #331 absorb pin all green untouched. AD-66 retired (the campaign's last withheld row); AD-69's seam-frame correction deliberately unbundled, stays active as its own follow-up. Clean-room suite 11,267 / 4 / 0 — the suite's two AD-66 skips are gone. User's "port the retail pair" decision is now fully executed; the hover-look slope gate is the remaining acceptance. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
parent
e91f16e90c
commit
10efb5b1f9
5 changed files with 134 additions and 51 deletions
|
|
@ -123,7 +123,13 @@ public class S4AdjustOffsetConformanceTests
|
|||
/// zDist formula, not the radius*N.z one.</item>
|
||||
/// </list>
|
||||
/// </summary>
|
||||
[Fact(Skip = "AD-66 WITHHELD 2026-08-07: retail's bare radius is byte-confirmed but the landing was pulled after the same clean-room binaries measured contradictory absorbed-tick behaviour flipping with test-assert shape alone. Unskip with the AD-66 relanding. See the S4 outcome note in the contract doc.")]
|
||||
// AD-66 RELANDED 2026-08-08 (issue #341): the #341 boundary hunt ran 37
|
||||
// measurements of the historical assert-shape flip across three JIT
|
||||
// tiering configurations and found it unreproducible (37/37
|
||||
// bit-identical). The reland's own ten-run gate on
|
||||
// RuntimeRemoteUphillProgressTests.AnExactlyUpSlopeOffsetIsAbsorbedByThePersistedSlidingNormal
|
||||
// also came back bit-identical across ten runs. Un-skipped.
|
||||
[Fact]
|
||||
public void AdjustOffset_SafetyPush_UsesBareRadiusForTriggerAndNumerator()
|
||||
{
|
||||
const float radius = 0.5f;
|
||||
|
|
@ -172,7 +178,9 @@ public class S4AdjustOffsetConformanceTests
|
|||
$"{(naturalRestingDistOld - dist) / normal.Z:F7} AND would not have fired at all.");
|
||||
}
|
||||
|
||||
[Fact(Skip = "AD-66 WITHHELD 2026-08-07: retail's bare radius is byte-confirmed but the landing was pulled after the same clean-room binaries measured contradictory absorbed-tick behaviour flipping with test-assert shape alone. Unskip with the AD-66 relanding. See the S4 outcome note in the contract doc.")]
|
||||
// AD-66 RELANDED 2026-08-08 (issue #341): see the sibling test's comment
|
||||
// above for the boundary-hunt evidence. Un-skipped.
|
||||
[Fact]
|
||||
public void AdjustOffset_SafetyPush_DoesNotFire_WhenAboveBareRadiusThreshold()
|
||||
{
|
||||
const float radius = 0.5f;
|
||||
|
|
@ -194,10 +202,11 @@ public class S4AdjustOffsetConformanceTests
|
|||
|
||||
// =========================================================================
|
||||
// Uphill no-flap guard. Written as the S4 contract's AD-66 STOP-condition
|
||||
// scenario; AD-66 was then WITHHELD (issue #341), so this currently runs
|
||||
// against the RETAINED radius*N.z substitution and its green is evidence
|
||||
// about THAT code. It must stay green across the AD-66 relanding too —
|
||||
// it is the scenario the substitution was originally written to protect.
|
||||
// scenario. AD-66 relanded 2026-08-08 (issue #341's boundary hunt); this
|
||||
// now runs against the bare-radius push and stays green under the
|
||||
// plant-then-lift mechanism (the lift settles to tangent equilibrium on
|
||||
// first contact and then goes quiet, so it does not re-fire every tick
|
||||
// and does not flap OnWalkable running uphill).
|
||||
// =========================================================================
|
||||
|
||||
/// <summary>
|
||||
|
|
@ -292,8 +301,9 @@ public class S4AdjustOffsetConformanceTests
|
|||
$"tick {tick}: contact must not be lost running uphill (the AD-66 flap symptom)");
|
||||
Assert.True(result.OnWalkable,
|
||||
$"tick {tick}: OnWalkable must not flap to false running uphill on a walkable " +
|
||||
"slope. Written as the S4/AD-66 STOP condition; with AD-66 withheld (#341) it " +
|
||||
"guards the RETAINED substitution and must survive the relanding.");
|
||||
"slope. Written as the S4/AD-66 STOP condition; AD-66 relanded 2026-08-08 " +
|
||||
"(#341's boundary hunt) and this guards the bare-radius push under the " +
|
||||
"plant-then-lift mechanism.");
|
||||
|
||||
position = result.Position;
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue