Align final test expectations with reviewed lighting repair

This commit is contained in:
Erik 2026-09-05 15:29:17 +02:00
parent 6349f0911e
commit b2bdb09ccb
5 changed files with 31 additions and 6 deletions

View file

@ -831,6 +831,10 @@ complete). Literal-hermetic17026pass/2stale checksum-count failures/0skip.
Test-only `478-stale-expectations-contract.md` next, then final correctness Test-only `478-stale-expectations-contract.md` next, then final correctness
lanes. FPS/C2 comparison deferred; G4 still FAIL/no main merge. lanes. FPS/C2 comparison deferred; G4 still FAIL/no main merge.
The two stale expectations are corrected from reviewed scratch05d0cc302,
exact blobs, Release0W0E/74+2PASS and lead76/76. No production change since
the final0ae2666ef graphical gates. Full integrated correctness lanes next.
## 14. Risk register (condensed) ## 14. Risk register (condensed)
- **R1 second scene graph.** Graph records own only topology/membership facts; - **R1 second scene graph.** Graph records own only topology/membership facts;

View file

@ -1,5 +1,14 @@
# #478 final-lane expectation correction — bounded test-only contract # #478 final-lane expectation correction — bounded test-only contract
IMPLEMENTED and lead-verified from scratch `05d0cc302180bc34d6460dc9941cd73ac7c50379`.
Exactly two test files,10insertions/5deletions; the expected-value changes and
clarifying name/comment match the contract. All other pins remain unchanged.
Lead rechecked both raw hashes and integration Git blobs; no production change.
Scratch Release0W0E, whole classes74/74 and native2/2, actual reports inspected.
Lead independently repeated76/76, both client names absent. Artifacts:
`s5-478-expectations/artifacts/478-expectations/` (`affected-classes`,
`native-pixels`, `root-expectations`). Final integrated full lanes next.
At clean0ae2666ef the literal-hermetic lane completed once with17026pass, At clean0ae2666ef the literal-hermetic lane completed once with17026pass,
2fail,0skip,14assemblies. Artifact `artifacts/s5-final-hermetic-0ae2666ef/`. 2fail,0skip,14assemblies. Artifact `artifacts/s5-final-hermetic-0ae2666ef/`.
Both failures are stale batch-scope assertions invalidated by reviewed Both failures are stale batch-scope assertions invalidated by reviewed
@ -14,7 +23,7 @@ Both failures are stale batch-scope assertions invalidated by reviewed
the exacta5debaca2 diff: only the light-index comment and EnvCell47/object8 the exacta5debaca2 diff: only the light-index comment and EnvCell47/object8
stride/loop changed. Source normalized SHA256 is stride/loop changed. Source normalized SHA256 is
33d5563db8bcd7dc74e4836df2c6064cbd5112d074da5380b0bab333f1d7ece7; 33d5563db8bcd7dc74e4836df2c6064cbd5112d074da5380b0bab333f1d7ece7;
committed module9909ca4729dbE4fc7fbffb11c73481977d8f593d37f130fcdd44a7803b47944f. committed module9909ca4729dbe4fc7fbffb11c73481977d8f593d37f130fcdd44a7803b47944f.
Update only those two expected hashes and the method name/comment to state Update only those two expected hashes and the method name/comment to state
the reviewed #478 amendment. Preserve all other unchanged-file hashes and the reviewed #478 amendment. Preserve all other unchanged-file hashes and
semantic SPIR-V direction tests. This is not blind golden regeneration: semantic SPIR-V direction tests. This is not blind golden regeneration:

View file

@ -5003,3 +5003,10 @@ Literal-hermetic at0ae2666ef:17026pass/2fail/0skip,14assemblies. Failures are
the stale160AP count and pre-#478 plain-vertex hashes. Lead checked159active the stale160AP count and pre-#478 plain-vertex hashes. Lead checked159active
rows and exact reviewed shader diff. `478-stale-expectations-contract.md` rows and exact reviewed shader diff. `478-stale-expectations-contract.md`
authorizes only two test files. Full final lanes remain next; G4FAIL. authorizes only two test files. Full final lanes remain next; G4FAIL.
Two-file expectation correction reviewed from scratch05d0cc302 and integrated
with exact blobs. Release0W0E; affected classes74/native2 PASS, lead independent
76/76. No other pin, production/generated/package/doc expectation weakened;
AP68retirement and reviewed EnvCell47shader are the specific amendments.
Original full-lane failure evidence retained/30manifest entries verified.
Fresh integrated Release and unchanged full correctness lanes next; FPS deferred.

View file

@ -72,14 +72,19 @@ public sealed class AtmosphericLightingDirectionSpirvTests
&& instruction.Operands.Contains(xyz.ResultId)); && instruction.Operands.Contains(xyz.ResultId));
} }
/// <summary>
/// #478's reviewed amendment changes only the plain mesh vertex light-index
/// comment and its EnvCell-47/object-8 stride and loop. The remaining plain
/// shaders and receiver-selection sources stay byte exact.
/// </summary>
[Fact] [Fact]
public void ParentPlainShadersAndReceiverSelectionSourcesRemainByteExact() public void ParentPlainMeshVertexCarriesReviewed478StrideAmendmentAndOtherSourcesRemainByteExact()
{ {
AssertNormalizedTextHash( AssertNormalizedTextHash(
"d5af0cbe995bcd10acea92ac7140363f0941105452a89039a7b54c5217c505a2", "33d5563db8bcd7dc74e4836df2c6064cbd5112d074da5380b0bab333f1d7ece7",
"src", "AcDream.App", "Rendering", "Shaders", "mesh_modern.vert"); "src", "AcDream.App", "Rendering", "Shaders", "mesh_modern.vert");
AssertBinaryHash( AssertBinaryHash(
"6194193764616bc88bf967d1fdc2bea5f6f2d1ec2ef94fd492922137503f56e4", "9909ca4729dbe4fc7fbffb11c73481977d8f593d37f130fcdd44a7803b47944f",
"src", "AcDream.App", "Rendering", "Shaders", "spv", "mesh_modern.vert.spv"); "src", "AcDream.App", "Rendering", "Shaders", "spv", "mesh_modern.vert.spv");
AssertNormalizedTextHash( AssertNormalizedTextHash(
"b80c201771b6adf3a13b5564492c5188f53a59e61b4d730fb5037ae322b0dde0", "b80c201771b6adf3a13b5564492c5188f53a59e61b4d730fb5037ae322b0dde0",

View file

@ -318,7 +318,7 @@ public sealed class WalkStaticStreamPopulatorTests
Assert.DoesNotContain( Assert.DoesNotContain(
"one stable far-to-near stream keyed", architecture, StringComparison.OrdinalIgnoreCase); "one stable far-to-near stream keyed", architecture, StringComparison.OrdinalIgnoreCase);
Assert.Contains("current active total to **160**", register, StringComparison.Ordinal); Assert.Contains("current active total to **159**", register, StringComparison.Ordinal);
int apSectionStart = register.IndexOf( int apSectionStart = register.IndexOf(
"## 3. Documented approximation (AP)", StringComparison.Ordinal); "## 3. Documented approximation (AP)", StringComparison.Ordinal);
int apSectionEnd = register.IndexOf( int apSectionEnd = register.IndexOf(
@ -342,7 +342,7 @@ public sealed class WalkStaticStreamPopulatorTests
Assert.Single(File.ReadLines(registerPath), static line => Assert.Single(File.ReadLines(registerPath), static line =>
line.StartsWith("| AP-244 |", StringComparison.Ordinal)); line.StartsWith("| AP-244 |", StringComparison.Ordinal));
Assert.Equal( Assert.Equal(
160, 159,
File.ReadLines(registerPath).Count(static line => File.ReadLines(registerPath).Count(static line =>
line.StartsWith("| AP-", StringComparison.Ordinal))); line.StartsWith("| AP-", StringComparison.Ordinal)));
Assert.Contains("greater than 50 m", register, StringComparison.Ordinal); Assert.Contains("greater than 50 m", register, StringComparison.Ordinal);