docs(filetests): retire four stale claims found by the f32 roadmap's G3 sweep - #274
Open
Yona-Appletree wants to merge 1 commit into
Open
docs(filetests): retire four stale claims found by the f32 roadmap's G3 sweep#274Yona-Appletree wants to merge 1 commit into
Yona-Appletree wants to merge 1 commit into
Conversation
…G3 sweep The roadmap-final sweep (M9's, reassigned to M8 with G3) looked for the failure class M7 P6 found: a statement that was true when written and quietly went false. Four turned up, all in filetest docs. - targets/mod.rs said wasm.f32 is out of DEFAULT_TARGETS because @lpfn/@glsl imports still resolve to Q32 builtin ids. M5 obsoleted that: resolve_builtin_id_for_mode landed with tests pinning "no import ever resolves across modes", including the load-bearing pointer case. - README.md said the same target was held "pending review gate G1" (passed 2026-07-31) and listed 52 files blocked on the missing f32 builtin family, describing the _f32 bodies as stubs round-tripping through Q32::from_f32_wrapping. All three false. Measured today: 850/850 files, 6345/6345 assertions, 13.34s, 2 @unimplemented. So the exclusion is inertia rather than a blocker. Not flipped here — promoting it to DEFAULT_TARGETS is a CI-cost call for G3, and this change only stops the docs from stating a fixed defect as current. - README.md's explicit-only target list omitted xtn.f32 / xtlpn.f32, which M8 registered without updating the summary line. - uniform/struct.glsl parked its @broken on "which side is authoritative is a G1 question". G1 answered it, and float.md §5 now classifies both operations involved — max with a NaN operand, and normalize(vec3(0)) — as Unspecified. Reason rewritten. Retiring the assertion itself is a follow-up: float.md §5 rule 3 says unspecified behavior is never asserted, but doing it correctly needs all five f32 targets' behavior and the q32 assertion must survive. No disposition changed. Validated: cargo check -p lps-filetests; just test-filetests → 31572/31572, 850/850 files, unchanged. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The f32 native-math roadmap's G3 sweep — M9's roadmap-wide cleanup, reassigned to M8 along with the gate (Yona, 2026-08-02, since M9 merged while M6–M8 were still in flight).
The sweep hunted the failure class M7 P6 found: a statement true when written that quietly went false. Four turned up, all in filetest docs. No disposition changed and no baseline was regenerated.
What was stale
src/targets/mod.rswasm.f32is out ofDEFAULT_TARGETSbecause@lpfn/@glslimports resolve to Q32 builtin idsresolve_builtin_id_for_modelanded with tests pinning "no import ever resolves across modes", including the load-bearing pointer-parameter caseREADME.md_f32bodies are "stubs that round-trip throughQ32::from_f32_wrapping"README.mdxtn.f32/xtlpn.f32, which M8 registeredfiletests/uniform/struct.glsl@brokenuntil answered"float.md§5 classifies both operations —maxwith a NaN operand, andnormalize(vec3(0))— as UnspecifiedThe one that matters beyond docs
wasm.f32's exclusion from CI is now inertia, not a blocker. Measured on this base:Unlike the
xtn.*targets it needs no cross-target artifact — wasmtime is already a test dependency. Not flipped here: promoting it toDEFAULT_TARGETSis a CI-cost decision for G3, and roadmap Q6 did want it default. This change only stops the docs from stating a fixed defect as current.Left deliberately
uniform/struct.glsl's@broken(wasm.f32)should be retired rather than carried —float.md§5 rule 3 says unspecified behavior is never asserted. Doing that correctly needs the behavior of all five f32 targets, and the q32 assertion must survive, so it is recorded as a G3 follow-up rather than done blind.Validation
Full G3 artifact (not in this repo):
~/.photomancer/planning/lp2025/2026-07-30-1745-f32-native-math/g3-roadmap-final-review.md🤖 Generated with Claude Code