Commit b0335ef
committed
test(pillar): wire Pillar 12 drift-check against splat3d::Spd3::from_scale_quat
Cross-validation test that runs both the pillar's
independently-derived covariance_from_scale_quat() AND the production
Spd3::from_scale_quat() on the same SplitMix64-seeded 256 (scale, quat)
pairs, then asserts upper-triangle agreement to within 1e-5 per lane.
This is the missing wire from #188's "Pillars 12-14 implemented":
the pillar files reference their production targets in docstrings but
do not cross-check against them. The PR description explicitly noted
this gap ("Production code paths in splat3d, dn_tree, ogit_bridge are
not coupled to pillars in this PR. The pillars re-derive their math
independently, by design — drift between substrate and pillar is the
failure mode pillars exist to catch.")
The cross-check below preserves that design — it adds NO coupling in
src/ — but it gates CI on production and pillar agreeing, so drift
WILL fail the build instead of silently passing both kernels.
For the other two implemented pillars in #188:
- Pillar 13 needs `pub(crate) fn bundle_into` to be re-exported on
`dn_tree` so a sibling cross-check can compare to production
(currently private).
- Pillar 14 needs a separable closure/ancestor accessor on
`OntologySchema` (currently the closure is implicit in the
heel→hip→leaf family-bitmap construction with no public
point-pair `is_ancestor(t, u) -> bool` to validate against).
Both gaps require small production-side surface changes, which is a
better fit for the session that owns the pillar branch; this commit
wires only the gap that needed zero production change.1 parent e30e15d commit b0335ef
1 file changed
Lines changed: 52 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
437 | 437 | | |
438 | 438 | | |
439 | 439 | | |
| 440 | + | |
| 441 | + | |
| 442 | + | |
| 443 | + | |
| 444 | + | |
| 445 | + | |
| 446 | + | |
| 447 | + | |
| 448 | + | |
| 449 | + | |
| 450 | + | |
| 451 | + | |
| 452 | + | |
| 453 | + | |
| 454 | + | |
| 455 | + | |
| 456 | + | |
| 457 | + | |
| 458 | + | |
| 459 | + | |
| 460 | + | |
| 461 | + | |
| 462 | + | |
| 463 | + | |
| 464 | + | |
| 465 | + | |
| 466 | + | |
| 467 | + | |
| 468 | + | |
| 469 | + | |
| 470 | + | |
| 471 | + | |
| 472 | + | |
| 473 | + | |
| 474 | + | |
| 475 | + | |
| 476 | + | |
| 477 | + | |
| 478 | + | |
| 479 | + | |
| 480 | + | |
| 481 | + | |
| 482 | + | |
| 483 | + | |
| 484 | + | |
| 485 | + | |
| 486 | + | |
| 487 | + | |
| 488 | + | |
| 489 | + | |
| 490 | + | |
| 491 | + | |
440 | 492 | | |
0 commit comments