# Linux81 — passage reach bound ## Reach derived from the code The owner core voxel is 0.25 m. The passage carve is `max(source, -roughSignedDistance / Q)`. For a negative source value `d`, it can change the scalar as far as `-d` voxels outside the route radius. The outer test therefore uses `-d * Q + 0.24 m`; the extra sweep padding is added beyond that. The 0.24 m allowance covers the ±0.21 m wall relief plus 0.03 m margin; the mouth floor relief is bounded by ±0.20 m. | Term | Reach and gate in the implementation | |---|---| | Route carve and wall relief | Route radius plus the density-dependent `-d` tail and 0.24 m allowance. A fixed geometric pad cannot bound arbitrary negative source values. | | Smooth joins | Catmull–Rom replaces the chord only on eligible route segments no longer than 8 m; it is a local centerline change, not a long-distance fade. Mouth-support SDF blending has a separate 0.45 m width. | | Ordinary support | Route tread half-width is at most 1.25 m; the support field extends at most 1 m below its tread and 0.35 m above. Short-span decks are a separate wider term: at most 3.75 m half-width and 5 m thickness, ending 4.87 m below the bore bottom because the deck floor is raised 0.13 m. Crossing-column Z ranges are separately bounded. | | Mouth shaping and fades | Upper-mouth shaping uses the first three route segments, within 2 m in plan, 8 m along the route, and 4 m of the floor. Carve fade is 8 m along the route; floor relief fades over 11 m. The lower-mouth support blend is gated by a 20 m distance with a 12 m transition. | | Mouth-route support | The query is limited to 13 m from the upper mouth. Its route cross-section reaches at most 1.01 m from the centerline (0.56 m half-width plus 0.45 m blend); the tile filter uses 15 m XY and 8 m vertical bounds. The outer cut is disabled in mouth-support and column-overlap tiles. | | Strata/cave smooth minimum | The downstream 12-voxel blend acts on the composed cave field. It does not create a passage difference where the passage field is unchanged. | | Transition passage fade | Separate seam path: mouth radius + 1 m protected margin + 2 m fade, evaluated by its own XY tile test. | The old L80 geometric pad 0 missed the negative-density tail: its worst S0 sample had source density −18.1745 voxels, so the scalar reach was about 4.54 m + 0.24 m beyond the route radius (about 19.1 core voxels). It produced 19,604 changed samples across S0–S3 (19,434 / 63 / 86 / 21), no sign flips, and 6.64 cm maximum displacement. The large density deltas came from the carve’s `max(source, -SDF)` tail, not a far-field fade. For L81, **0 extra voxels** is the exact tested point: the density-aware predicate retains the `-d` tail, while the 0.24 m relief margin is already in the bound. No single fixed geometric pad under 8 voxels can cover that tail for all source values. ## Padding sweep Three interleaved runs per padding and stratum compared against the full path (`inf`). Work counts cover 17 L80 high-activity tiles (51 tile/run pairs) and 16 ordinary tiles (48 pairs). Paired time is candidate minus full worker time; negative is faster. | Extra pad (voxels) | High skipped / total passage iterations | High share | Ordinary skipped / total | Ordinary share | Median paired tile Δms (high / ordinary) | |---:|---:|---:|---:|---:|---:| | 0 | 994,563 / 6,101,982 | 16.30% | 5,421,969 / 5,421,969 | 100.00% | −10.637 / +0.392 | | 1 | 955,026 / 6,101,982 | 15.65% | 5,421,969 / 5,421,969 | 100.00% | −9.080 / +1.136 | | 2 | 893,484 / 6,101,982 | 14.64% | 5,421,969 / 5,421,969 | 100.00% | −5.193 / −0.439 | | 4 | 791,568 / 6,101,982 | 12.97% | 5,421,969 / 5,421,969 | 100.00% | −3.730 / +1.080 | | 8 | 622,278 / 6,101,982 | 10.20% | 5,420,835 / 5,421,969 | 99.98% | −4.813 / +1.092 | | 16 | 409,590 / 6,101,982 | 6.71% | 5,382,720 / 5,421,969 | 99.28% | −7.350 / +1.046 | | 48 | 29,889 / 6,101,982 | 0.49% | 4,070,151 / 5,421,969 | 75.07% | +3.728 / +3.882 | All 84 candidate/full pairs matched in density, mesh, payload, topology, material, whole-view, full-detail, and per-LOD hashes. The compared set has 0 changed density samples, 0 sign flips, and 0 maximum/mean surface displacement at every padding. The clean run contains 960 LOD0–1 tiles per stratum per run; verification is recorded in `Saved/Linux/l81/sweep/hash-verification.json`. ## Decision and readiness Ship the density-aware bound at 0 extra voxels. It skips real loop iterations, gives the best work saving in this sweep, and is hash-identical in the measured tile set. Captures and cross-compiler peer runs were not needed under the exact-bound branch of the owner rule; no captures were taken. Cold readiness used three interleaved measured full/exact pairs per stratum. Values are medians in seconds. | Stratum | LOD0–2 full → exact | Whole view full → exact | |---|---:|---:| | SurfaceWorld | 1.304 → 1.246 | 2.738 → 2.749 | | FloatingIslands | 3.592 → 2.926 | 4.982 → 4.368 | | TunnelNetwork | 3.177 → 3.505 | 4.612 → 5.022 | | VerticalShafts | 1.326 → 1.222 | 2.405 → 2.315 | All 24 measured runs completed every readiness tile: LOD0–2 counts were 1,408 / 1,216 / 1,344 / 1,344 and whole-view counts were 2,850 / 2,249 / 2,233 / 2,329 in stratum order. Readiness is mixed by stratum; the tile work counters and hashes, rather than a broad timing claim, support the decision. The L77 LOD0–2 passage-share baseline was 65.9% FI and 65.4% TN. In the matched L81 profiler runs, full → exact means were 64.34% → 64.56% FI and 64.41% → 65.35% TN (two runs each). These small sampled-share changes are within the census variation. ## Version, hashes, and failed runs - Evaluator version: 214. Source stamp: `8edc0292f2df6d279aa7e1d5c9c8c420ed36a9a138e17eed5310463e33e6146d`. Resolved layout identity: `resolved-layout-v3-fnv64:0589300eb07dfe06`. - Exact outputs were checked over all four strata and the full 960-tile LOD0–1 target set. Captures: none, because the compared outputs are identical. - The first sweep set mixed source stamps `6db4108c`, `f33a01da`, and `8edc0292`; it is excluded and preserved under `Saved/Linux/l81/sweep-mixed-stale/`. The final 96-run sweep is uniform at `8edc0292`. - The first sweep parser attempt rejected `key=` as numeric; the parser was corrected before the clean sweep. No final sweep or readiness/census run timed out. - The optional surface-world passage audit reported 65 solid centerline samples on passage 0, segment 15. The same failure and first sample (`−172, −138, −1794`) occurred with the L81 bound disabled (`inf`), so it is not caused by this bound; it remains a baseline audit failure. - The floating-islands audit invocation stopped during setup because the selected recipe had no finite SurfaceWorld stratum; it produced no passage-audit result. ## Follow-up: passage 0 audit and fast tier The surface-world audit used `Standalone/data/owner_world.json`, not a recipe fixture. It imported manifest `bcc0d0d33ea39435` and resolved layout `resolved-layout-v3-fnv64:0589300eb07dfe06` with four strata. The `--recipe=surface-world` flag selects the generator request. The imported manifest has one SurfaceWorld plan and no native FloatingIslands plan, while the serialized owner layout still contains all four strata and the SW→FI interface. There are two passage representations in this input. The full-view run (`--max-level=-1`, force-generated) fails before the resolved-layout audit on the 26-point root `owner_world.passages[0]` route: 65/5,310 centerline samples are solid, first at `(-172,-138,-1794)`. The canonical serialized SW→FI route has 211 control points; its resolved-layout audit passes with 4,151 center samples, zero blocked capsule samples, and all three interfaces passing. So the full-view failure is real for the legacy owner route data, while the canonical route used by the L70 plan-parity audit is walkable. | Checkpoint | Canonical resolved route | Full-view root route | |---|---|---| | L70 `bd68aee`; verifier-only `018c0e1`; L71 `971206c` (same standalone runtime source) | PASS | 65 blockers | | L72 `d970d75` (exact source build) | PASS | 65 blockers | | L73–L76 `bd1b2a8`, `c67b200`, `9d5455e`, `90378a5` | PASS each | 65 blockers each | | L77 `5e091d2` | Profiling-only change; no saved standalone binary | No field-evaluation change | | L78–L79 `ec20994`, `2c8a26c` | PASS each | 65 blockers each | | HEAD L80 `b06397d` (exact source build) | PASS | 65 blockers | | L81 candidate | PASS | 65 blockers | The 65-sample result therefore predates L81 and is present in the exact L70 source build; no later commit in this range introduced it. The L70 report's 3/3 result is for the canonical resolved route, which is a different check from the full-view pre-audit against the root route data. L71 changes tracing scripts but not the standalone runtime; `2dfe599` and `68cba5a` are read-only research commits. The floating-islands companion invocation still stops during setup because that selected recipe has no finite SurfaceWorld stratum; it gives no passage result. No source fix was made. `verify.py fast` passed on the L81 candidate in 321.2 s: 80 steps, zero unexpected failures. The four-strate owner passage stage passed the 3/3 arrival/departure chain and W1/W8 per-stratum hash checks. Full logs and summary are under `Saved/Linux/l81/verify-fast/`; the summary is `fast-summary.json`. Evaluator version 214 was an intentional cache invalidation. The evaluator version is serialized into and hashed with the Core recipe; advancing it prevents results cached under the previous passage evaluator from being reused. The measured density and tile hashes remain identical.