ResolvedLayoutSnapshotV3::finalize maps each strate's generator and interface once into capability records (FI gradient air-gap, surface/FI landing support, passage-anchor columns, SW-to-TN floor); ApplyResolvedStrateBoundaryBand and passage composition read those instead of generator kinds. Derived records stay out of canonical JSON, so layout identity is unchanged. Owner hashes identical to L41; fast/medium/full PASS on clean Clang and GCC builds; cost within noise. Research R9 (read-only): player-visible roadmap refresh. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_016dhxM43dnWvUu2B5Ph1iG1
57 lines
3.2 KiB
Markdown
57 lines
3.2 KiB
Markdown
# Linux 42 — resolved boundary capabilities
|
||
|
||
Migration step 6 is a Core-only pure refactor. No Unreal source changed.
|
||
|
||
## Policy records
|
||
|
||
`ResolvedLayoutSnapshotV3::finalize` resolves the existing generator and interface fields once into
|
||
runtime capabilities. `ApplyResolvedStrateBoundaryBand` reads
|
||
`lowerInterfaceCapabilities.preserveUpperBedrockAirGap` for the FI Gradient gap. Passage composition
|
||
reads `passageCapabilities.hasSurfaceLanding` for the SW landing/bridge profile and crossing extent,
|
||
`hasFloatingIslandLanding` for the FI route support, and `usePassageAnchorForColumns` for its fixed
|
||
passage-column center. `surfaceToTunnelLandingSupport` records the SW-to-TunnelNetwork floor profile.
|
||
The derived records are omitted from canonical JSON, so the resolved layout identity is unchanged.
|
||
|
||
`BindResolvedStratumFields` still checks `generatorKind` once to bind SurfaceWorld, FloatingIslands,
|
||
or legacy evaluation. `finalize` maps that resolved kind to capabilities once. `PlanResolvedLayoutPassagesV1`
|
||
still names SurfaceWorld/FloatingIslands for existing default mouth and anchor placement; that passage
|
||
planning policy remains outside this boundary-composition step.
|
||
|
||
Ceiling → content → breakable bedrock order remains unchanged for every strate. The upper strate still
|
||
controls Hard/Gradient/Interleaved. L29 transition sample arithmetic and the passage-mouth fade are
|
||
unchanged.
|
||
|
||
## Hashes and cost
|
||
|
||
Source stamp: `a3a65e58a670399d9458aa2a9c99eddd7b541671f919a293f5b4086878e9eb78`.
|
||
|
||
FI layout ID `b7a7d9ecc48d8f26`; SW layout ID `8a52e84c26ed92d2`. All four 12-record FI/SW worker-1
|
||
and worker-12 hash signatures match L41 exactly: FI
|
||
`9820f4f38b189b3f7263810e7b3ff62aa502b21f476ffcfdbc7761a65cb07d58`; SW
|
||
`a1e9268a4bbcc77d2a1ac54095df6851a70bab65c43ae50b332ed75132617834`. Worker-1 and worker-12 match
|
||
each other for both recipes.
|
||
|
||
Full-tier five-pair whole-view-ready cost versus `HEAD` `1abee917215cd6f971e39dd3158cecf4c9992fbe`:
|
||
FI median 18.164 s → 18.189 s (**+0.14%**); SW 1.888 s → 1.877 s (**−0.58%**). No measured cost
|
||
regression.
|
||
|
||
## Verification
|
||
|
||
| Tier | Result |
|
||
|---|---|
|
||
| Fast | PASS, 163.2 s; owner hashes, worker parity, and ring gates pass. |
|
||
| Medium | PASS, 469.9 s; transition modes, hole controls, route proofs, owner passage matrix, ring and capture gates pass. |
|
||
| Full | PASS, 1,637.0 s; 107 runs and 539 checks, including Clang/GCC, 30-cell determinism and paired cost. |
|
||
|
||
Full used clean Clang 19 and GCC 14 builds from `Saved/Linux/l42/final-clean-build`, `-j12`, FP
|
||
contraction off. The final source stamp was embedded in both binaries. All processes used CPUs 0–11,
|
||
the 6 GiB address-space limit, and a 30-minute process timeout.
|
||
|
||
The first fast invocation stopped before running checks because the L42 binary had not yet been built;
|
||
fast passed after the build. The mislabelled-owner and all-black capture negative controls are expected
|
||
rejections and passed their verifier checks. No tier had an unexpected failed run.
|
||
|
||
## Orchestrator review (Claude)
|
||
|
||
Accepted. The current tree stamp equals both L42 binaries (`a3a65e58…`), so the fast/medium/full evidence is from this exact source. Owner hashes are identical to L41. Passage planning (`PlanResolvedLayoutPassagesV1`) still names generators; that is a later step.
|