Skip to content

Harden legacy one-ring index safety - #212

Open
yingyue2030699 wants to merge 2 commits into
mainfrom
codex/legacy-index-safety
Open

Harden legacy one-ring index safety#212
yingyue2030699 wants to merge 2 commits into
mainfrom
codex/legacy-index-safety

Conversation

@yingyue2030699

Copy link
Copy Markdown
Member

Scope

WP1.1a safety only: make unreachable legacy one-ring index reads impossible and make failures explicit.

  • Adds a pure structured classifier and total/sentinel staging.
  • Rejects missing or ambiguous indices before any face-vector write.
  • Preserves regular ordering, defined single-candidate behavior, and the accepted all-valence-5 fixture exactly.
  • Diagnoses accepted icosahedron aliasing without quarantine, deduplication, or reordering.
  • Records the predicate proof that 5/6/6 never entered the legacy branch.

No fixture output changed. No geometry was corrected. This PR produces evidence for D5 but does not decide D5, and it does not implement WP1.1b. It changes no energy, force, volume, quadrature, OpenSubdiv, CUDA, output, or checkpoint behavior.

Verification

  • env -u OPENSUBDIV_ROOT make test && env -u OPENSUBDIV_ROOT ./bin/test_main: 254/254 pass
  • ASan+UBSan focused/compatibility suite: 17/17 pass
  • scripts/verify_pr_ready.sh: PASS, all 13 steps; 254/254 pass
  • Source mutation campaign: 13/13 mutants killed; 0 survivors
  • BASE byte lock: 13,000 bytes identical; SHA-256 d6a92152dff2ac60b1d56acf26da7fdd266f6b964f42d172711e679b41008ba2
  • git diff --check: pass

@codecov

codecov Bot commented Aug 27, 2026

Copy link
Copy Markdown

Codecov Report

❌ Patch coverage is 97.32314% with 14 lines in your changes missing coverage. Please review.

Files with missing lines Patch % Lines
src/mesh/Mesh_setup_geometry.cpp 93.46% 13 Missing ⚠️
tests/test_mesh_setup_geometry.cpp 99.69% 1 Missing ⚠️

📢 Thoughts on this report? Let us know!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant