5.0 KiB
Isolated label-field harness for 4c9bc87
Prepared for source 4c9bc87e4e in the sibling scenario-label-fields-ytr83r-20260913 worktree. This directory is a fresh recipe, not execution evidence. No compilation, toolchain-version command or test invocation was performed during preparation. Original 11c605 artifacts remain unchanged in ../scenario-label-fields-harness-20260913: its attempt1/list.log actually ran default tests, while the later v2 literal listing and serial normal run have distinct receipts/logs. Do not relabel the failed diagnostic as a list or overwrite it.
Reference and build
Run validate-syntax.ps1 first for PowerShell AST/JSON checks only. Parent then invokes build.ps1 with explicit ReferenceReceipt, DesktopFingerprint, IcedRlib, UnicodeSegmentationRlib, SerdeJsonRlib, Output and RuntimeDll. Output must be a nonexistent fresh directory, normally this directory's attempt1 child. The build script is compile-only; it never runs the resulting tests.
A reference must be a closed, successful desktop list receipt with valid exact selection, unchanged captured inputs, no postflight failure and test-executable binding. The 0409 spacing list is usable only if its executable still matches the current root target. If subsequent Details compilation replaced it, supply that new closed successful listing instead. No receipt is approved by filename or expected source hash alone. Cargo.lock and both root/desktop Cargo.toml must match the reference capture. The three explicit rlibs must match the desktop Cargo fingerprint's exact dependency edges and compiler fingerprint; compiler/linker paths and actual version output are checked against the reference toolchain record. No Cargo resolution, package clean, dependency rebuild or toolchain change is part of this recipe.
RuntimeDll defaults to the original toolchain libunwind.dll, expected 190464 bytes/SHA-256 aa282fa47bb2c4e210cea5e470cdbdca58568f0be0bc73e404d86ab9cd95ef6a. Pass it explicitly if preferred. Build captures the exact runtime and copies it beside the fresh executable. The established native library directory remains windows_x86_64_gnullvm-0.52.6/lib; this is the same validated Windows-GNU LLVM dependency graph, not a target migration.
The source wrapper directly registers the committed real scenario_label module; no implementation copy or production module registration is added. Before/after build captures bind source, wrapper, recipes, exact expected names, Cargo manifests/lock, reference receipt/capture, selected dependency records, dependency/link inputs, compiler/linker/environment, and the new Noto font, license, fixture provenance/attributes and experiment README. Compile log, executable identity and runtime hash are recorded in build-receipt.json. Every run rechecks the build-bound source/recipe files and records before/after inputs, binary/runtime identity and its exact predecessor receipt/raw-log hashes.
Explicit sequential execution
After a successful build, parent invokes run.ps1 -Output -Stage , one stage at a time in this order:
| Stage | Required observation |
|---|---|
| list | Literal native --list; exactly the unchanged 25 unique names; no executed-test summary |
| normal | Exactly all 25 outcomes: 21 passed and the four named isolated tests ignored; no failures or filtering |
| font | Existing actual_font_load_rejects_retained_label_and_old_session alone: 1 passed, 24 filtered |
| ffi | advanced_ligature_partial_field_uses_whole_shared_cluster_not_fraction alone: 1 passed, 24 filtered |
| auto-transition | auto_ascii_to_ellipsis_advanced_transition_uses_final_buffer alone: 1 passed, 24 filtered |
| timing (optional) | field_lookup_4096_scalars_and_combining_heavy_full_coverage alone: 1 passed, 24 filtered; retain timing JSON |
All ignored stages use --exact --ignored --show-output --test-threads=1 in a new native process. Never invoke all ignored tests together: the font cases mutate global state. The explicit native invocations intentionally retain the corrected v2 dispatch; an argument-string wrapper previously lost the intended --list behavior. Expected command arrays are evidence only, not the dispatch mechanism.
Each stage refuses an existing log/receipt and requires the preceding successful receipt from this exact build, source, inventory and binary. A failure stops the chain; preserve its raw log/receipt and prepare a separate retry instead of rerunning into the same output. No failed or ignored functional test can be treated as accepted merely because the list has 25 names. Successful list/normal/font/ffi/auto-transition covers all 24 functional tests; the optional 25th timing diagnostic must remain explicitly unexecuted unless separately run. Timing has independent geometry/coverage checks but no performance acceptance threshold.
This remains an unwired CPU Iced/Cosmic experiment. It does not establish WGPU paint, native responsiveness, font choice for the product, operation-field navigation, or application acceptance. Recipe preparation and static syntax checks are not runtime evidence.