Record C1a bridge scope finding without changing production or golden

This commit is contained in:
Erik 2026-09-05 15:37:23 +02:00
parent b7cb6886c5
commit f4bf5ffab8
4 changed files with 81 additions and 2 deletions

View file

@ -843,6 +843,13 @@ owner gate owed. No production changes since graphical0ae2666ef. C1a's
unresolved AP159 bridge mismatch is not blessed by a four-cell golden;
read-only audit continues. FPS/C2 deferred; G4FAIL/no main merge.
**C1a scope finding:** `c1a-bridge-audit-finding.md` preserves the unpinned
three-cell assertion and existing AP159 diagnosis. Static audit corroborates
primitive identities but existing captured inputs do not independently close
all retail outgoing paths/containment. No automatic four-cell golden or
production fix; request explicit scope expansion before AP159 repair (or
explicit owner decision to narrow the witness). FPS deferred, G4 unpassed.
## 14. Risk register (condensed)
- **R1 second scene graph.** Graph records own only topology/membership facts;

View file

@ -52,7 +52,8 @@ manifest AEC2E8AB0C19AACFA39363ED538617BBF9DBC0374CEA5D5174CC98B8A89A57F5.
These close the #478 repair/cleanup/test-maintenance verification, not G4.
Owner brightness/held-item/stability acceptance remains owed; Rynthid's
affected part is unidentified. C1a's full-world three-vs-four-cell assertion
remains preserved and its golden unpinned; a bounded read-only audit of the
existing AP-159 bridge evidence is in progress. No production repair is
remains preserved and its golden unpinned; the bounded read-only audit of the
existing AP-159 bridge evidence returned `c1a-bridge-audit-finding.md`, an
explicit scope-expansion decision before production repair. No repair is
authorized by that test-only diagnostic. FPS/#481/C2 comparison deferred.
No main merge.

View file

@ -0,0 +1,61 @@
# C1a bridge audit — contract finding, no golden or production change
2026-09-05, after final lighting verification. The existing C1a test-only
contract remains blocked as written. The complete publication setup calls
`CacheBuildings`; the older three-cell comparator does not. Full production
therefore exposes the already registered AP-159 sphere-only building bridge,
not a demonstrated new renderer regression. The original expected three-cell
assertion and placeholder combined hash remain unchanged.
Wegener performed a bounded independent read-only audit; lead checked the
named functions and actual diagnostic source. Production `CellTransit.cs`
10951101 still invokes the sphere-only `CheckBuildingTransit` on the
part-array outdoor branch. The existing diagnostic contract already seals
the paired retail part-array bridge call006B52E5→0052C680 and its box gate.
No new port, test run, capture, or production change was made for this audit.
Lead rechecked executable SHA256
006FFEADC5D679C871497112A5BD1F87714D0E273E2166BAE5052DDE369297B1,
read named `BBox::LocalToLocal`005B1E60's eight-corner refit and the complete
`BSPNODE::box_intersects_cell_bsp`0053C880. Section-mapped raw byte checks:
-0050D600 `8B41208B000598000000C3`: GetBoundingBox's gfx bound-box offset98.
-00533910 `8B4954E9985F0000`: CCellStruct tailcalls BSPTREE005398B0.
-005398B0 `8B09E9C92F0000`: BSPTREE tailcalls BSPNODE0053C880.
-0053CA05 `8B453085C074078BE8E980FEFFFF`: positive-node chain tail.
These corroborate primitive identity/structure, **not** exact installed-scene
retail arithmetic or a complete three-cell closure. Lead's two attempted
broader call-scanning commands returned exit1 without output, so no native
call-count result from those commands is credited.
## Why the existing capture cannot decide the complete retail closure
1. The diagnostic calls production `FlatBspQuery.BoxIntersectsCellBsp`
(line311). The four bridge summaries say boxFalse/sphereTrue, but omit
the rejecting destination BSP node/planes, corner distances and decisive
containment margins. Existing epsilon margins apply to the portal plane,
not this rejection.
2. Building portals are filtered to destination0114 (line247). Other outgoing
portals from0009 are not independently covered. The0112/0113 alternative
path summaries (lines358374) reuse production traversal and list admitted
candidates, not an independent verdict on every outgoing edge.
3. Bounds, placements and destination matrices come from production owners.
Their captured values permit cross-checking arithmetic, but do not by
themselves prove authored bounds, Setup composition and retail cell-relative
transforms independently.
No four-cell/28-entry golden amendment is justified. Completing a faithful
AP-159 production repair is outside the current test-only contract; it needs
an explicitly expanded bounded contract, including those independent input,
containment and full outgoing-closure proofs before implementation. Alternatively
narrowing the witness to current-production determinism would require an
explicit owner decision and must keep the retail discrepancy visible. Neither
choice has been assumed. This is a scope stop, not a claim that static
recovery is impossible or that an extra cell proves the owner's Rynthid issue.
Preserved scratch `s5-c1a-geometry`:
test SHA256D612AEDA85C76E181F33A58C2488A339944A4B954EF91645B68ECF48DEDA1AC8;
`artifacts/s5-c1a-building-bridge-diagnostic/c1a-building-bridge-r1.trx`
SHA25643AC1D7AB407D22D4EF6A9F318DD36FC738300574EE4A5FE970DAE99B5F25EB6.
Lead rehashed both unchanged. FPS remains deferred; G4 FAIL, no main merge.

View file

@ -5019,3 +5019,13 @@ passes. `478-final-correctness-lanes.md`. No src/samples/tools changes since
graphical0ae2666ef, no FPS work. #478 verification complete, owner acceptance
still owed. C1a remains unpinned with its original three-cell assertion intact;
read-only AP159/primitive/closure audit, not a production repair, continues.
Read-only C1a audit returned a scope finding, `c1a-bridge-audit-finding.md`.
Real building-cache publication exposes existing AP159; the partial comparator
omits it. Existing four bridge rejections share production containment and
omit decisive BSP margins/all outgoing edges/independent authored inputs, so
neither an entire retail three-cell closure nor a four-cell golden is accepted.
Original assertion/hash placeholder and scratch hashes remain unchanged.
A production AP159 repair needs a separately expanded contract; narrowing
the witness needs explicit owner approval. No option assumed. Scope stop,
not static-impossibility or a proved Rynthid cause. FPS deferred, G4FAIL.