Files
ARCADIA-Studio/harness/experiments/scenario-label-lookup-9b99e7c-20260913/original

Isolated indexed-label lookup harness

Prepared for committed source 9b99e7c626, sibling scenario-label-lookup-ytr83r-20260913. This is an unexecuted recipe; no Cargo, rustc, toolchain-version or test command was run during preparation. The previous 4c9 harness and its closed evidence remain unchanged.

Build binding

The sole reference is the closed successful 8bf desktop list at ../scenario-details-gates-attempt2-20260913/list-receipt.json (SHA-256 e2d9258afab904c7d0d9f3efbb3c3cc02511a33296c1698b3114b3d6b7a125a1). Its bound test executable has 150483968 bytes and SHA-256 38b9ff204c9ecc590d0f8e1dee68e5c6b09ee65d189c0c1181e9570d3fe7c9bf. The build rechecks the exact receipt, current executable, source manifests/lock, explicit Iced/unicode-segmentation/serde_json Cargo dependency edges, compiler fingerprints and compiler/linker versions. No Cargo resolution or dependency rebuild is part of this recipe. The parent schedules execution against the shared target; library changes during compilation cause the before/after binding to fail.

The wrapper imports the actual committed lookup module. Source capture now includes lookup_tests.rs and the new experiment README, together with the unchanged original tests, fixture font/license/provenance/attributes and original field-experiment README. Runtime, source, recipes, all linked dependency inputs and native libraries retain the existing build capture contract. Run-time source filtering names this lookup worktree and this new harness, so none of the new files escape source/recipe checks. Every run binds executable/runtime and its exact predecessor receipt/raw log.

After parent review, invoke this compile-only command with a nonexistent output directory:

& 'C:/Users/User/Documents/Git/ARCADIA-Studio/.local/scenario-label-lookup-harness-20260913/build.ps1' `
  -ReferenceReceipt 'C:/Users/User/Documents/Git/ARCADIA-Studio/.local/scenario-details-gates-attempt2-20260913/list-receipt.json' `
  -DesktopFingerprint 'C:/Users/User/Documents/Git/ARCADIA-Studio/target/debug/.fingerprint/oa-desktop-27db9628b266bf39/test-bin-arcadia-studio.json' `
  -IcedRlib 'C:/Users/User/Documents/Git/ARCADIA-Studio/target/debug/deps/libiced-ee73abd722c72024.rlib' `
  -UnicodeSegmentationRlib 'C:/Users/User/Documents/Git/ARCADIA-Studio/target/debug/deps/libunicode_segmentation-85698043f7780858.rlib' `
  -SerdeJsonRlib 'C:/Users/User/Documents/Git/ARCADIA-Studio/target/debug/deps/libserde_json-da2c4f333fc47818.rlib' `
  -RuntimeDll 'C:/Users/User/Documents/Git/ARCADIA-Studio/.local/toolchain/llvm-mingw-20260908-ucrt-x86_64/bin/libunwind.dll' `
  -Output 'C:/Users/User/Documents/Git/ARCADIA-Studio/.local/scenario-label-lookup-harness-20260913/attempt1'

The runtime remains the exact 190464-byte libunwind.dll, SHA-256 aa282fa47bb2c4e210cea5e470cdbdca58568f0be0bc73e404d86ab9cd95ef6a. Existing windows_x86_64_gnullvm-0.52.6 native linker inputs are unchanged.

Sequential stages

Use run.ps1 -Output -Stage , separately and in order:

Stage Required observation
list Literal --list; all29 unique expected names; no tests executed
normal All29 outcomes:25 passed, exactly4 named ignored;0failed/filtered
font Existing font-set invalidation test alone;1passed,28filtered
ffi Pinned-font shared ffi cluster test alone;1passed,28filtered
auto-transition Pinned-font Auto-to-Advanced final-buffer test alone;1passed,28filtered
timing (optional) Same4096-scalar two-case diagnostic alone;1passed,28filtered; retain raw timing JSON

The old25 names remain unchanged. Exactly four source-derived lookup_tests names are added, all normal; expected-tests.json is the full inventory. All three font-mutating functional cases remain mandatory and run in separate fresh processes using exact names and --ignored. The explicit native dispatch preserves the corrected literal --list implementation. Never execute the four ignored tests together.

A successful functional chain covers28 functional tests. Timing is the optional29th diagnostic, with complete output/geometry assertions plus old lookup, indexed lookup and fresh resolve-plus-lookup measurements. The recipe sets SCENARIO_LABEL_FIELDS_SOURCE_PIN only for the child invocation and restores its prior process value. Warm-font timing does not establish cold-start latency or a native responsiveness threshold.

Fresh output, logs and receipts are mandatory; no overwrite/retry into existing evidence. This remains an unwired CPU Iced/Cosmic experiment: no WGPU paint, UI navigation or product acceptance follows from preparation or isolated results. validate-syntax.ps1 checks AST/JSON only.