diff --git a/harness/experiments/scenario-label-gates-20260913/.gitattributes b/harness/experiments/scenario-label-gates-20260913/.gitattributes new file mode 100644 index 00000000..2dea82bf --- /dev/null +++ b/harness/experiments/scenario-label-gates-20260913/.gitattributes @@ -0,0 +1,3 @@ +*.log -text -whitespace +*.json -text whitespace=cr-at-eol +*.ps1 -text whitespace=cr-at-eol diff --git a/harness/experiments/scenario-label-gates-20260913/README.md b/harness/experiments/scenario-label-gates-20260913/README.md new file mode 100644 index 00000000..7f292bb3 --- /dev/null +++ b/harness/experiments/scenario-label-gates-20260913/README.md @@ -0,0 +1,27 @@ +# Measured label and corridor evaluator: Windows results + +Tested source: 903d85dda403b93731c05a08b97fa7d257d012dd. The portable standalone.rs in ../scenario-label-measurement-20260913 imports the actual label, label-test and corridor source files; it does not wire the desktop renderer. All five captured source/lock/wrapper inputs remained byte-for-byte unchanged. Raw bindings are in artifacts.json; binary.json identifies the executed test artifact. + +## Actual result + +The isolated Rust test executable compiled with warnings denied, then listed exactly18 tests. Normal execution passed17 with0 failures and1 intentionally ignored global-font mutation (2.72 seconds). A separate fresh process selected and passed that exact ignored test:1 passed,0 failed,0 ignored,17 filtered (0.57 seconds). In total all18 selected evaluators passed. No executable or source changed between runs. + +The real-font test independently admitted known embedded Iced-Icons font bytes, then loaded owned valid bytes into the actual global FontSystem. Face count changed167→168 and Version changed0→1. Every retained-label consumer and old-session resolve rejected the stale font epoch without remeasurement. This tests version/lifetime rejection, not a different chosen font's visual metrics, dynamic WGPU cache recovery or concurrent font loading. + +The other tests cover complete realistic message names and distinguishing suffixes at sufficient width, Unicode grapheme/source-range mapping, paragraph metric agreement at three zooms, narrow/empty labels, resident cache/session invalidation, finite scaled/world positions and dimensions, and six connected-corridor cases. Corridor evaluation takes explicit final geometry; passing synthetic self/reversed bands does not mean production self/reversed placement has been implemented. + +## Compiler and reproduction boundary + +compile-receipt.json records the exact rustc1.98.1 invocation, x86_64-pc-windows-gnullvm host, selected pinned Iced0.14/unicode rlibs, native import-library search path, start/end and exit0. compile.ps1 contains the invoked command. The successful compiler emitted no output, so no successful compile.log was created. available-dependencies.json binds both locally available Iced variants (only iced-ee73abd722c72024 was selected), the used Unicode dependency and the locked Windows native import library. This is a direct rustc evaluator using existing dependency artifacts, not a Cargo workspace gate or a reproducible-from-source rebuild of those third-party dependencies. + +To reproduce on a prepared matching Windows checkout, build its locked dependencies, resolve the matching Iced/unicode rlibs and windows_x86_64_gnullvm0.52.6 native lib directory, then use the recorded rustc --test invocation against the versioned standalone.rs, substituting those local paths. List the resulting executable and require exactly18 tests before running it. Run ordinary tests normally, then use ../scenario-label-measurement-20260913/run-font-version-test.ps1 with the exact executable SHA256 and standalone test name in a fresh evidence directory. Supply the matching compiler runtime DLL environment. The real-font test must run alone in its own process. + +## Preserved failed attempts + +Attempt1 used source9b56a337f8db2c3f63e33e06468cb8de2b93fbf1 and failed module resolution under the standalone path import. Source903d85d adds an explicit test-module path; this is the only source correction after9b. Attempt2 reached the linker on903d85d but lacked the Windows native import-library search path. Attempt3 added that actual locked gnullvm library path and succeeded without another source change. Both failures' raw commands, receipts, inputs and logs are retained; they are not successful tests. Original unformatted/review attempts are preserved in the linked preparation directory. + +## Remaining integration work + +The source remains unwired. Choose structural scene/corridor bounds first, then camera zoom, then resolve labels at that zoom and settled-font session. Paint, backplate, hit and operation-field navigation must consume the same result. Navigation needs an explicit destination zoom preserved through lookup, Choose and deferred centering; its current independent scale1 lookup cannot establish destination visibility. Subtract padded activation/card/header blockers over the entire label band before choosing one connected interval. Do not repeatedly feed measured label bounds back into Fit, or rely on paint order to prevent foreground text crossing a bar. + +Actual Scene/lifecycle alignment, destination-camera consistency, readable self/reversed arrows, glyph ink/overhang, WGPU painting, native hit/navigation workflows, persistence and drag behavior remain unverified. This successful isolated evaluator is not #20 or full OA/SA acceptance. Linux remains user-deferred. Live coordination is in Gitea issues20,7 and27. diff --git a/harness/experiments/scenario-label-gates-20260913/artifacts.json b/harness/experiments/scenario-label-gates-20260913/artifacts.json new file mode 100644 index 00000000..a84529a7 --- /dev/null +++ b/harness/experiments/scenario-label-gates-20260913/artifacts.json @@ -0,0 +1,128 @@ +[ + { + "path": "attempt1/compile.log", + "bytes": 974, + "sha256": "21a2407b76ee10009c3e16fe9e3277e0943d5442560c57538ee0e8b351fe4a53", + "gitBlob": "8e3361b7a4839e0a5548437e983143818a3342a5" + }, + { + "path": "attempt1/compile-receipt.json", + "bytes": 1286, + "sha256": "72ad2111043ba6a56a06d9f5b65c0cc54cce38bc403ad43e4068098ad467fb5d", + "gitBlob": "6e21a36d4db62d8577955fd5527ad19828fbb219" + }, + { + "path": "attempt1/compile.ps1", + "bytes": 1503, + "sha256": "6d71ae98792110570a7b8873381d1e855c763a88d96d6862c83217fca54ee106", + "gitBlob": "39f5bc4d50d9e2f43630902a7ac7d7cb69c006e4" + }, + { + "path": "attempt1/inputs-before.json", + "bytes": 1092, + "sha256": "3b5132b9b436de358330de8cbbfbabeb3e7ed0eba809e743d8a0847d7d256164", + "gitBlob": "c21d99496226076c44b7a169346ff7eba3a2f72b" + }, + { + "path": "attempt2/compile.log", + "bytes": 6136, + "sha256": "35d23a128c26f732d9ce95f277e8ffc0b89c5ff58aa8284f31f2124dd698ae31", + "gitBlob": "3638e1efb81c962d5296b1aaa4074ca3bb6e67bf" + }, + { + "path": "attempt2/compile-receipt.json", + "bytes": 1295, + "sha256": "8de38e858df371f91b031e97251d89c58d16c448bff53735073dbf85a99a9b40", + "gitBlob": "c8a3aa1c87e4e870492ebfd4fc3cde514899ff51" + }, + { + "path": "attempt2/compile.ps1", + "bytes": 1503, + "sha256": "d30fd870182f18f85333b6d0e82c7014d6853d640affd5227155efbee736c75f", + "gitBlob": "02a286298ea09560968a626ef31e6ac9df81efaa" + }, + { + "path": "attempt2/inputs-before.json", + "bytes": 1092, + "sha256": "a1a02602713813cdc09b1c865a1d32c019c27f1e10c4cafdfc9aac827cb79f51", + "gitBlob": "4afbdce92fca7147eb3cc8a2e7507fd379a75948" + }, + { + "path": "available-dependencies.json", + "bytes": 781, + "sha256": "850d702e21094f189d827bc4ca825b80ef46ba1a29a189c6d00ed3a9a90f56fc", + "gitBlob": "5b74307f371ec165827339dde6a20859e09beca8" + }, + { + "path": "binary.json", + "bytes": 133, + "sha256": "a7a655168a84c3fb01482c79779c3eb786caea4dd678a9def74ba72d06d25ba9", + "gitBlob": "437ff4fb0ba968e51c7288fcd26c8dcf154fdfb4" + }, + { + "path": "compile-receipt.json", + "bytes": 1467, + "sha256": "bc9f8aa6760520f78ba4305e10e4561a01100b858824f3700e74976379201009", + "gitBlob": "57fad30abf1f7807f8860897f830ce2d9cbbf32d" + }, + { + "path": "compile.ps1", + "bytes": 1665, + "sha256": "3bc1e312351350fef1510b53d460cf37943d952310482cff30cce7ab536fc626", + "gitBlob": "b28998982084b35043c0ccf0960fd20ace7d096b" + }, + { + "path": "inputs-before.json", + "bytes": 1092, + "sha256": "a1a02602713813cdc09b1c865a1d32c019c27f1e10c4cafdfc9aac827cb79f51", + "gitBlob": "4afbdce92fca7147eb3cc8a2e7507fd379a75948" + }, + { + "path": "inputs-after.json", + "bytes": 1113, + "sha256": "b078a8d98665fac4bdd57856a450d4dd8e66261568b27b8d57ffcbf831204eb2", + "gitBlob": "838608e11b0a4db54b98c62c38c5d85c3b38181e" + }, + { + "path": "list.log", + "bytes": 1770, + "sha256": "acd0f1eadde1187e6949aa4dbb57732cc9b872f0d586223e9c6e179a63d05a77", + "gitBlob": "df9986911a54d13754fb8171933f121a91ae26ca" + }, + { + "path": "run-tests.ps1", + "bytes": 2006, + "sha256": "56923306bb50d88cef5d67638645d6a13c2ce5e09efbb3b17b28f157feddbd3a", + "gitBlob": "b6eb23cf3de8baeeb16c6e254213ae74c7788381" + }, + { + "path": "tests-receipt.json", + "bytes": 430, + "sha256": "ae4d0104cc2dc5a06f1cffe9f46a6c6d00ab68a5c27dbd92d460c81ad0f98fde", + "gitBlob": "0f9a924d8184697e37fc15a0c684f991cdbf7952" + }, + { + "path": "tests.log", + "bytes": 2056, + "sha256": "5865a550531a989302ad4453c66c462672f293e47f8c88b37eef7764d567c38b", + "gitBlob": "759df3ccb33855be97acf7121d0448c408783c0d" + }, + { + "path": "font-version/selection.log", + "bytes": 112, + "sha256": "06c79ed30f9df147d325ca7b8da78cfd949e7f595d1ec18e158ca59d2f92a0c1", + "gitBlob": "dc985bd84a4e860ae2a717099ba05b3020151c0f" + }, + { + "path": "font-version/test.log", + "bytes": 320, + "sha256": "27a2d0e71a732900d265d0224973c49a6b6d41481743cc2cd795dc14f6e4097d", + "gitBlob": "4606db46f2370c94f48c9e99d25c263466374147" + }, + { + "path": "font-version/receipt.json", + "bytes": 601, + "sha256": "43001d79dcb326fef76c4f84d9a8c00772c5b700860d316be9c91a99d88b94f1", + "gitBlob": "f8b2676ca8ff91624f1c4378ff2bfaf2c4dcc7ec" + } +] diff --git a/harness/experiments/scenario-label-gates-20260913/attempt1/compile-receipt.json b/harness/experiments/scenario-label-gates-20260913/attempt1/compile-receipt.json new file mode 100644 index 00000000..6e21a36d --- /dev/null +++ b/harness/experiments/scenario-label-gates-20260913/attempt1/compile-receipt.json @@ -0,0 +1,29 @@ +{ + "source": "9b56a337f8db2c3f63e33e06468cb8de2b93fbf1", + "command": "rustc", + "arguments": [ + "--edition=2024", + "--test", + "--crate-name", + "scenario_label_probe", + "-C", + "debuginfo=0", + "-C", + "linker=clang.exe", + "-D", + "warnings", + "--extern", + "iced=C:/Users/User/Documents/Git/ARCADIA-Studio/target/debug/deps/libiced-ee73abd722c72024.rlib", + "--extern", + "unicode_segmentation=C:/Users/User/Documents/Git/ARCADIA-Studio/target/debug/deps/libunicode_segmentation-85698043f7780858.rlib", + "-L", + "dependency=C:/Users/User/Documents/Git/ARCADIA-Studio/target/debug/deps", + "-o", + "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\scenario-label-gates-20260913\\label_tests.exe", + "C:/Users/User/Documents/Git/ARCADIA-Studio/.local/scenario-layout-ytr83r-20260913/harness/experiments/scenario-label-measurement-20260913/standalone.rs" + ], + "compiler": "rustc 1.98.1 (48a229cea 2026-09-01)\r\nbinary: rustc\r\ncommit-hash: 48a229ceaefd4985c50990b14116b6d856af0985\r\ncommit-date: 2026-09-01\r\nhost: x86_64-pc-windows-gnullvm\r\nrelease: 1.98.1\r\nLLVM version: 22.1.8\r\n", + "startUtc": "2026-09-13T01:36:30.2307437Z", + "endUtc": "2026-09-13T01:36:33.5180878Z", + "exitCode": 1 +} diff --git a/harness/experiments/scenario-label-gates-20260913/attempt1/compile.log b/harness/experiments/scenario-label-gates-20260913/attempt1/compile.log new file mode 100644 index 00000000..8e3361b7 --- /dev/null +++ b/harness/experiments/scenario-label-gates-20260913/attempt1/compile.log @@ -0,0 +1,12 @@ +error[E0583]: file not found for module `tests` + --> C:/Users/User/Documents/Git/ARCADIA-Studio/.local/scenario-layout-ytr83r-20260913/harness/experiments/scenario-label-measurement-20260913\..\..\..\crates\oa-desktop\src\behavior\scenario_label.rs:429:1 + | +429 | mod tests; + | ^^^^^^^^^^ + | + = help: to create the module `tests`, create file "C:/Users/User/Documents/Git/ARCADIA-Studio/.local/scenario-layout-ytr83r-20260913/harness/experiments/scenario-label-measurement-20260913\..\..\..\crates\oa-desktop\src\behavior\tests.rs" or "C:/Users/User/Documents/Git/ARCADIA-Studio/.local/scenario-layout-ytr83r-20260913/harness/experiments/scenario-label-measurement-20260913\..\..\..\crates\oa-desktop\src\behavior\tests\mod.rs" + = note: if there is a `mod tests` elsewhere in the crate already, import it with `use crate::...` instead + +error: aborting due to 1 previous error + +For more information about this error, try `rustc --explain E0583`. diff --git a/harness/experiments/scenario-label-gates-20260913/attempt1/compile.ps1 b/harness/experiments/scenario-label-gates-20260913/attempt1/compile.ps1 new file mode 100644 index 00000000..39f5bc4d --- /dev/null +++ b/harness/experiments/scenario-label-gates-20260913/attempt1/compile.ps1 @@ -0,0 +1,12 @@ +$ErrorActionPreference = 'Stop' +. 'C:/Users/User/Documents/Git/ARCADIA-Studio/.local/toolchain/env.ps1' +$taskArgs = @('--edition=2024', '--test', '--crate-name', 'scenario_label_probe', '-C', 'debuginfo=0', '-C', 'linker=clang.exe', '-D', 'warnings', '--extern', 'iced=C:/Users/User/Documents/Git/ARCADIA-Studio/target/debug/deps/libiced-ee73abd722c72024.rlib', '--extern', 'unicode_segmentation=C:/Users/User/Documents/Git/ARCADIA-Studio/target/debug/deps/libunicode_segmentation-85698043f7780858.rlib', '-L', 'dependency=C:/Users/User/Documents/Git/ARCADIA-Studio/target/debug/deps', '-o', (Join-Path $PSScriptRoot 'label_tests.exe'), 'C:/Users/User/Documents/Git/ARCADIA-Studio/.local/scenario-layout-ytr83r-20260913/harness/experiments/scenario-label-measurement-20260913/standalone.rs') +$taskLog=Join-Path $PSScriptRoot 'compile.log' +$taskReceipt=Join-Path $PSScriptRoot 'compile-receipt.json' +if ((Test-Path -LiteralPath $taskLog) -or (Test-Path -LiteralPath $taskReceipt)) { throw 'Refusing to replace compile evidence' } +$taskStart=[DateTime]::UtcNow.ToString('o') +$taskVersion=(& rustc --version --verbose | Out-String) +& rustc @taskArgs 2>&1 | Tee-Object -FilePath $taskLog +$taskExit=$LASTEXITCODE +[ordered]@{source='9b56a337f8db2c3f63e33e06468cb8de2b93fbf1';command='rustc';arguments=$taskArgs;compiler=$taskVersion;startUtc=$taskStart;endUtc=[DateTime]::UtcNow.ToString('o');exitCode=$taskExit} | ConvertTo-Json -Depth 4 | Set-Content -LiteralPath $taskReceipt -Encoding utf8 +exit $taskExit diff --git a/harness/experiments/scenario-label-gates-20260913/attempt1/inputs-before.json b/harness/experiments/scenario-label-gates-20260913/attempt1/inputs-before.json new file mode 100644 index 00000000..c21d9949 --- /dev/null +++ b/harness/experiments/scenario-label-gates-20260913/attempt1/inputs-before.json @@ -0,0 +1,31 @@ +{ + "source": "9b56a337f8db2c3f63e33e06468cb8de2b93fbf1", + "workspace": "C:/Users/User/Documents/Git/ARCADIA-Studio/.local/scenario-layout-ytr83r-20260913", + "files": [ + { + "path": "Cargo.lock", + "bytes": 119478, + "sha256": "78b405543fb7b66287457e9476ca1e555838fcdadade114aeab9b76597726787" + }, + { + "path": "crates/oa-desktop/src/behavior/scenario_label.rs", + "bytes": 15102, + "sha256": "0c1e5b934a5ea10a862be8bb7e035da7c1463f32abd3dc2e5c029dac4801a8d1" + }, + { + "path": "crates/oa-desktop/src/behavior/scenario_label/tests.rs", + "bytes": 17960, + "sha256": "cdd5510ff45645a9f82272d8868d1862111ebcd054577242e06103443658165b" + }, + { + "path": "crates/oa-desktop/src/behavior/scenario_label/corridor.rs", + "bytes": 7056, + "sha256": "d369805099b7f6182b77ad8467f843a31d21502700bd6ce50b548dd22a022fe5" + }, + { + "path": "harness/experiments/scenario-label-measurement-20260913/standalone.rs", + "bytes": 263, + "sha256": "8a52f01004e6749308a55c9f183fbaf66ef2d4ece2bd7a1bb97d39abf5fee797" + } + ] +} diff --git a/harness/experiments/scenario-label-gates-20260913/attempt2/compile-receipt.json b/harness/experiments/scenario-label-gates-20260913/attempt2/compile-receipt.json new file mode 100644 index 00000000..c8a3aa1c --- /dev/null +++ b/harness/experiments/scenario-label-gates-20260913/attempt2/compile-receipt.json @@ -0,0 +1,29 @@ +{ + "source": "903d85dda403b93731c05a08b97fa7d257d012dd", + "command": "rustc", + "arguments": [ + "--edition=2024", + "--test", + "--crate-name", + "scenario_label_probe", + "-C", + "debuginfo=0", + "-C", + "linker=clang.exe", + "-D", + "warnings", + "--extern", + "iced=C:/Users/User/Documents/Git/ARCADIA-Studio/target/debug/deps/libiced-ee73abd722c72024.rlib", + "--extern", + "unicode_segmentation=C:/Users/User/Documents/Git/ARCADIA-Studio/target/debug/deps/libunicode_segmentation-85698043f7780858.rlib", + "-L", + "dependency=C:/Users/User/Documents/Git/ARCADIA-Studio/target/debug/deps", + "-o", + "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\scenario-label-gates-attempt2-20260913\\label_tests.exe", + "C:/Users/User/Documents/Git/ARCADIA-Studio/.local/scenario-layout-ytr83r-20260913/harness/experiments/scenario-label-measurement-20260913/standalone.rs" + ], + "compiler": "rustc 1.98.1 (48a229cea 2026-09-01)\r\nbinary: rustc\r\ncommit-hash: 48a229ceaefd4985c50990b14116b6d856af0985\r\ncommit-date: 2026-09-01\r\nhost: x86_64-pc-windows-gnullvm\r\nrelease: 1.98.1\r\nLLVM version: 22.1.8\r\n", + "startUtc": "2026-09-13T01:37:15.9984031Z", + "endUtc": "2026-09-13T01:37:24.2982227Z", + "exitCode": 1 +} diff --git a/harness/experiments/scenario-label-gates-20260913/attempt2/compile.log b/harness/experiments/scenario-label-gates-20260913/attempt2/compile.log new file mode 100644 index 00000000..3638e1ef --- /dev/null +++ b/harness/experiments/scenario-label-gates-20260913/attempt2/compile.log @@ -0,0 +1,14 @@ +error: linking with `clang.exe` failed: exit code: 1 + | + = note: "clang.exe" "-nolibc" "--unwindlib=none" "-m64" "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\scenario-label-gates-attempt2-20260913\\rustcuIv5dM\\symbols.o" "<5 object files omitted>" "-Wl,-Bstatic" "\\lib\\rustlib\\x86_64-pc-windows-gnullvm\\lib/{libtest-*,libgetopts-*,librustc_std_workspace_std-*}.rlib" "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\target\\debug\\deps/{libiced-ee73abd722c72024,libiced_winit-b596431c7f49ce7e,libwindow_clipboard-51aae3cf7171c4ae,libclipboard_win-397533c2e2575812,liberror_code-0cb8a5eb06ab8729,libwinit-ba7482330d748070,libtracing-a25988cc6932fd96,libtracing_core-2dc069dfba18ede6,libwindows_sys-06c2af6f098f909f,libcursor_icon-ad27fa28bd28652d,libdpi-f5f7fb1c621a018e,libiced_program-48b1077ce8d2e234,libiced_runtime-97354eb606c5cbe8,libiced_widget-fef182b3c7281942,libiced_renderer-91a34f71f312bb3e,libiced_wgpu-718bad6fd2c3c123,libcryoglyph-b2394e118b4d9376,liblru-a0c556d4aa0be9d2,libetagere-11863a42386f547a,libsvg_fmt-1f58261d1798c1e9,libiced_graphics-bc268bf1e867e46b,libcosmic_text-07313aa6396fe119,libunicode_linebreak-e99548291833529e,libsys_locale-373ce1af6158101a,libswash-0448d4a5d977af87,libyazi-69dfa79524f14886,libskrifa-3194c161b5e53b8f,libread_fonts-ee796e672f6c2b6c,libfont_types-fdb71694d8252b17,libzeno-2fc787934e8a7cd6,libunicode_script-5e054be55af8e282,libself_cell-d89d506b19b25665,libskrifa-412ea6d4d11f2dc3,liblinebender_resource_handle-6eb3532b81e3dcc4,libharfrust-5c2b9978b0c967e5,libread_fonts-8744340ce9121ebc,libcore_maths-faef5eec3886da5e,libfont_types-99a99c3a996c3bd4,libunicode_segmentation-85698043f7780858,libunicode_bidi-41a25178d914472d,libfontdb-007e59f002fbf373,libmemmap2-841beeb0f1a629ed,libtinyvec-ed5725dd372cdbbb,libtinyvec_macros-a96fb20256beac97,libslotmap-c71eec3eba975c2e,libttf_parser-8f55e332d9622b66,librangemap-1d6e4809bfb9c681,libiced_debug-dee33d84e4920238,libiced_futures-ff15fa443cb1f568,libtokio-5e0ca96735e3073a,libsocket2-7bd46ba18d76d090,libmio-5aaf291c8a1a82a2,libwindows_sys-ab7e56959c51c45e,libfutures-c8a4a2dd096fb063,libfutures_util-954465db0beabc72,libmemchr-7db6cba96e96932f,libfutures_io-d1a66ee3ff559f69,libslab-3db57bd04acfc5b7,libfutures_channel-f0d70c911fb49ec8,libpin_project_lite-0d6bdbd8d38ac50b,libfutures_sink-6891c37ab9c1935f,libfutures_task-c244bba7f8bc0ad1,libfutures_core-a87c441f491169b1,libiced_core-d7d27a7865d7d159,libsmol_str-89539eaf055e63b0,libbytes-868dcb997d7e2ad2,libglam-7b8723c7a526c9b6,liblilt-17be362c2994bcfd,libweb_time-13eade3aab5c4fbd,liblyon-4cdc4fdcfb93f989,liblyon_tessellation-c823cc7a711760b5,libfloat_next_after-f37d5e9e563fe7b6,liblyon_algorithms-edfce36ea52c6680,liblyon_path-d8e1b284e50a3fa5,liblyon_geom-d3918139893025c6,libeuclid-74b0633907068e70,libwgpu-595090e3ab7ff771,libstatic_assertions-e30c198504c77e70,libwgpu_core-bce128809e3bbd57,libwgpu_hal-a743d888639ef685,librenderdoc_sys-150f0489c8932654,libprofiling-bb4ce05fd7247125,libgpu_descriptor-fac3b710369873db,libhashbrown-8a58f54845fd2497,libfoldhash-0826f3f04e1a5796,libgpu_descriptor_types-1858d8bdd15c74e0,libgpu_alloc-ae6066a9278dbce7,libgpu_alloc_types-6f4c59d95c6ccee0,libash-440c79a90c728602,liblibloading-caa2519b5fd816c1,libraw_window_handle-1ab25a8146a57318,libglutin_wgl_sys-742d4309c6cfdd6a,libglow-cab264c6898aaf59,libgpu_allocator-967bbc1f342725e4,libthiserror-a8562c576260b66e,libordered_float-d108d2bc85f12cf8,libnaga-1b010856f5c02c9b,librustc_hash-71721ceb4e769227,liblibm-e719636fa88f224d,libhexf_parse-279b990594c7bbce,libunicode_ident-37cacd323a49429c,libhalf-2a21392ab329bf44,libnum_traits-3f25760ad3d34848,libzerocopy-979d2b49b0a33b61,libcodespan_reporting-c8463518e64796c8,libunicode_width-a4d3f1bb5e70cf28,libindexmap-dc1dca82289f6c3a,libequivalent-931efacfebdb5c9a,libhashbrown-4523d7ebe1eb39bc,libspirv-3c846a010ac2043e,libarrayvec-92be7823c1701233,libhashbrown-36be56b51a83d7b4,libfoldhash-cd2bdaf593944293,librange_alloc-a1b6caee1ada41b9,libbit_set-da34d352eec872be,libbit_vec-7ce2332a32227516,libonce_cell-33f899677e2400c0,libwindows-014414f636af3fdb,libwindows_core-4be59f50c7b0594f,libwindows_strings-c5d7342436cf8f6e,libwindows_result-f79db900493f52d7,libwindows_targets-9dce04242e096695,libparking_lot-27eddcbf60d1f561,libparking_lot_core-0302be869d537889,libwindows_link-23f115c823619f71,libcfg_if-805b2ebc84d544f1,libsmallvec-03b374e5162cc6f4,liblock_api-1876e768f77cff74,libscopeguard-aa21239770b8fec6,libwgpu_types-dc39388ab7fe1280,libthiserror-464ee2be8b2a6d3a,liblog-668dd0f53e95dee3,libbitflags-3f56d892d72d4301,libbytemuck-22539c4113ad2896,librustc_hash-fd887c9fa238ccd0}.rlib" "\\lib\\rustlib\\x86_64-pc-windows-gnullvm\\lib/{libstd-*,libpanic_unwind-*,libobject-*,libmemchr-*,libaddr2line-*,libgimli-*,libcfg_if-*,libwindows_link-*,librustc_demangle-*,libstd_detect-*,libhashbrown-*,librustc_std_workspace_alloc-*,libminiz_oxide-*,libadler2-*,libunwind-*,liblibc-*,librustc_std_workspace_core-*,liballoc-*,libcore-*,libcompiler_builtins-*}.rlib" "-Wl,-Bdynamic" "-lkernel32" "-lkernel32" "-luser32" "-lshell32" "-lgdi32" "-ladvapi32" "-lwindows.0.52.0" "-lkernel32" "-lopengl32" "-lwindows.0.52.0" "-lwindows.0.52.0" "-lwindows.0.52.0" "-lwindows.0.52.0" "-lkernel32" "-lkernel32" "-lkernel32" "-lntdll" "-luserenv" "-lws2_32" "-ldbghelp" "-lunwind" "-lmingw32" "-lmingwex" "-lmsvcrt" "-lkernel32" "-luser32" "-Wl,--nxcompat" "-L" "\\lib\\rustlib\\x86_64-pc-windows-gnullvm\\lib" "-o" "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\scenario-label-gates-attempt2-20260913\\label_tests.exe" "-Wl,--gc-sections" + = note: some arguments are omitted. use `--verbose` to show all linker arguments + = note: lld: error: unable to find library -lwindows.0.52.0 + lld: error: unable to find library -lwindows.0.52.0 + lld: error: unable to find library -lwindows.0.52.0 + lld: error: unable to find library -lwindows.0.52.0 + lld: error: unable to find library -lwindows.0.52.0 + clang-23: error: linker command failed with exit code 1 (use -v to see invocation) + + +error: aborting due to 1 previous error + diff --git a/harness/experiments/scenario-label-gates-20260913/attempt2/compile.ps1 b/harness/experiments/scenario-label-gates-20260913/attempt2/compile.ps1 new file mode 100644 index 00000000..02a28629 --- /dev/null +++ b/harness/experiments/scenario-label-gates-20260913/attempt2/compile.ps1 @@ -0,0 +1,12 @@ +$ErrorActionPreference = 'Stop' +. 'C:/Users/User/Documents/Git/ARCADIA-Studio/.local/toolchain/env.ps1' +$taskArgs = @('--edition=2024', '--test', '--crate-name', 'scenario_label_probe', '-C', 'debuginfo=0', '-C', 'linker=clang.exe', '-D', 'warnings', '--extern', 'iced=C:/Users/User/Documents/Git/ARCADIA-Studio/target/debug/deps/libiced-ee73abd722c72024.rlib', '--extern', 'unicode_segmentation=C:/Users/User/Documents/Git/ARCADIA-Studio/target/debug/deps/libunicode_segmentation-85698043f7780858.rlib', '-L', 'dependency=C:/Users/User/Documents/Git/ARCADIA-Studio/target/debug/deps', '-o', (Join-Path $PSScriptRoot 'label_tests.exe'), 'C:/Users/User/Documents/Git/ARCADIA-Studio/.local/scenario-layout-ytr83r-20260913/harness/experiments/scenario-label-measurement-20260913/standalone.rs') +$taskLog=Join-Path $PSScriptRoot 'compile.log' +$taskReceipt=Join-Path $PSScriptRoot 'compile-receipt.json' +if ((Test-Path -LiteralPath $taskLog) -or (Test-Path -LiteralPath $taskReceipt)) { throw 'Refusing to replace compile evidence' } +$taskStart=[DateTime]::UtcNow.ToString('o') +$taskVersion=(& rustc --version --verbose | Out-String) +& rustc @taskArgs 2>&1 | Tee-Object -FilePath $taskLog +$taskExit=$LASTEXITCODE +[ordered]@{source='903d85dda403b93731c05a08b97fa7d257d012dd';command='rustc';arguments=$taskArgs;compiler=$taskVersion;startUtc=$taskStart;endUtc=[DateTime]::UtcNow.ToString('o');exitCode=$taskExit} | ConvertTo-Json -Depth 4 | Set-Content -LiteralPath $taskReceipt -Encoding utf8 +exit $taskExit diff --git a/harness/experiments/scenario-label-gates-20260913/attempt2/inputs-before.json b/harness/experiments/scenario-label-gates-20260913/attempt2/inputs-before.json new file mode 100644 index 00000000..4afbdce9 --- /dev/null +++ b/harness/experiments/scenario-label-gates-20260913/attempt2/inputs-before.json @@ -0,0 +1,31 @@ +{ + "source": "903d85dda403b93731c05a08b97fa7d257d012dd", + "workspace": "C:/Users/User/Documents/Git/ARCADIA-Studio/.local/scenario-layout-ytr83r-20260913", + "files": [ + { + "path": "Cargo.lock", + "bytes": 119478, + "sha256": "78b405543fb7b66287457e9476ca1e555838fcdadade114aeab9b76597726787" + }, + { + "path": "crates/oa-desktop/src/behavior/scenario_label.rs", + "bytes": 15138, + "sha256": "621f7e50372d0162f0643219a41f5e374fc9cf28a3a42aee6b8728e5271ec6c4" + }, + { + "path": "crates/oa-desktop/src/behavior/scenario_label/tests.rs", + "bytes": 17960, + "sha256": "cdd5510ff45645a9f82272d8868d1862111ebcd054577242e06103443658165b" + }, + { + "path": "crates/oa-desktop/src/behavior/scenario_label/corridor.rs", + "bytes": 7056, + "sha256": "d369805099b7f6182b77ad8467f843a31d21502700bd6ce50b548dd22a022fe5" + }, + { + "path": "harness/experiments/scenario-label-measurement-20260913/standalone.rs", + "bytes": 263, + "sha256": "8a52f01004e6749308a55c9f183fbaf66ef2d4ece2bd7a1bb97d39abf5fee797" + } + ] +} diff --git a/harness/experiments/scenario-label-gates-20260913/available-dependencies.json b/harness/experiments/scenario-label-gates-20260913/available-dependencies.json new file mode 100644 index 00000000..5b74307f --- /dev/null +++ b/harness/experiments/scenario-label-gates-20260913/available-dependencies.json @@ -0,0 +1,22 @@ +[ + { + "name": "libiced-ee73abd722c72024.rlib", + "bytes": 408214, + "sha256": "d6afba083a249722c44ac10c3cab8f2f7a2665faecbebfbad9706d51df571cf7" + }, + { + "name": "libiced-a4e48b220c5d9711.rlib", + "bytes": 408162, + "sha256": "19db042a126948a970b8494281243d7044df10d857b14ca89a4d876b69f1ce9c" + }, + { + "name": "libunicode_segmentation-85698043f7780858.rlib", + "bytes": 1341698, + "sha256": "5b360e6eb17c58b9c1b00ed8b101ac2f2958d328789b5f45087c2352de2d41a5" + }, + { + "path": "C:/Users/User/Documents/Git/ARCADIA-Studio/.local/toolchain/cargo/registry/src/index.crates.io-1949cf8c6b5b557f/windows_x86_64_gnullvm-0.52.6/lib/libwindows.0.52.0.a", + "bytes": 3878066, + "sha256": "7d7617eae9e20e8026c39861f3c59906772bc8370996b9de45d12f53e4c78465" + } +] diff --git a/harness/experiments/scenario-label-gates-20260913/binary.json b/harness/experiments/scenario-label-gates-20260913/binary.json new file mode 100644 index 00000000..437ff4fb --- /dev/null +++ b/harness/experiments/scenario-label-gates-20260913/binary.json @@ -0,0 +1,5 @@ +{ + "path": "label_tests.exe", + "bytes": 13569536, + "sha256": "83f33bb63f4b70cbf4c20b39556a3b8e34ef48132928c09a97cebce1a0789e4f" +} diff --git a/harness/experiments/scenario-label-gates-20260913/compile-receipt.json b/harness/experiments/scenario-label-gates-20260913/compile-receipt.json new file mode 100644 index 00000000..57fad30a --- /dev/null +++ b/harness/experiments/scenario-label-gates-20260913/compile-receipt.json @@ -0,0 +1,31 @@ +{ + "source": "903d85dda403b93731c05a08b97fa7d257d012dd", + "command": "rustc", + "arguments": [ + "--edition=2024", + "--test", + "--crate-name", + "scenario_label_probe", + "-C", + "debuginfo=0", + "-C", + "linker=clang.exe", + "-D", + "warnings", + "--extern", + "iced=C:/Users/User/Documents/Git/ARCADIA-Studio/target/debug/deps/libiced-ee73abd722c72024.rlib", + "--extern", + "unicode_segmentation=C:/Users/User/Documents/Git/ARCADIA-Studio/target/debug/deps/libunicode_segmentation-85698043f7780858.rlib", + "-L", + "dependency=C:/Users/User/Documents/Git/ARCADIA-Studio/target/debug/deps", + "-L", + "native=C:/Users/User/Documents/Git/ARCADIA-Studio/.local/toolchain/cargo/registry/src/index.crates.io-1949cf8c6b5b557f/windows_x86_64_gnullvm-0.52.6/lib", + "-o", + "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\scenario-label-gates-attempt3-20260913\\label_tests.exe", + "C:/Users/User/Documents/Git/ARCADIA-Studio/.local/scenario-layout-ytr83r-20260913/harness/experiments/scenario-label-measurement-20260913/standalone.rs" + ], + "compiler": "rustc 1.98.1 (48a229cea 2026-09-01)\r\nbinary: rustc\r\ncommit-hash: 48a229ceaefd4985c50990b14116b6d856af0985\r\ncommit-date: 2026-09-01\r\nhost: x86_64-pc-windows-gnullvm\r\nrelease: 1.98.1\r\nLLVM version: 22.1.8\r\n", + "startUtc": "2026-09-13T01:38:34.6483724Z", + "endUtc": "2026-09-13T01:38:47.2474651Z", + "exitCode": 0 +} diff --git a/harness/experiments/scenario-label-gates-20260913/compile.ps1 b/harness/experiments/scenario-label-gates-20260913/compile.ps1 new file mode 100644 index 00000000..b2899898 --- /dev/null +++ b/harness/experiments/scenario-label-gates-20260913/compile.ps1 @@ -0,0 +1,12 @@ +$ErrorActionPreference = 'Stop' +. 'C:/Users/User/Documents/Git/ARCADIA-Studio/.local/toolchain/env.ps1' +$taskArgs = @('--edition=2024', '--test', '--crate-name', 'scenario_label_probe', '-C', 'debuginfo=0', '-C', 'linker=clang.exe', '-D', 'warnings', '--extern', 'iced=C:/Users/User/Documents/Git/ARCADIA-Studio/target/debug/deps/libiced-ee73abd722c72024.rlib', '--extern', 'unicode_segmentation=C:/Users/User/Documents/Git/ARCADIA-Studio/target/debug/deps/libunicode_segmentation-85698043f7780858.rlib', '-L', 'dependency=C:/Users/User/Documents/Git/ARCADIA-Studio/target/debug/deps', '-L', 'native=C:/Users/User/Documents/Git/ARCADIA-Studio/.local/toolchain/cargo/registry/src/index.crates.io-1949cf8c6b5b557f/windows_x86_64_gnullvm-0.52.6/lib', '-o', (Join-Path $PSScriptRoot 'label_tests.exe'), 'C:/Users/User/Documents/Git/ARCADIA-Studio/.local/scenario-layout-ytr83r-20260913/harness/experiments/scenario-label-measurement-20260913/standalone.rs') +$taskLog=Join-Path $PSScriptRoot 'compile.log' +$taskReceipt=Join-Path $PSScriptRoot 'compile-receipt.json' +if ((Test-Path -LiteralPath $taskLog) -or (Test-Path -LiteralPath $taskReceipt)) { throw 'Refusing to replace compile evidence' } +$taskStart=[DateTime]::UtcNow.ToString('o') +$taskVersion=(& rustc --version --verbose | Out-String) +& rustc @taskArgs 2>&1 | Tee-Object -FilePath $taskLog +$taskExit=$LASTEXITCODE +[ordered]@{source='903d85dda403b93731c05a08b97fa7d257d012dd';command='rustc';arguments=$taskArgs;compiler=$taskVersion;startUtc=$taskStart;endUtc=[DateTime]::UtcNow.ToString('o');exitCode=$taskExit} | ConvertTo-Json -Depth 4 | Set-Content -LiteralPath $taskReceipt -Encoding utf8 +exit $taskExit diff --git a/harness/experiments/scenario-label-gates-20260913/font-version/receipt.json b/harness/experiments/scenario-label-gates-20260913/font-version/receipt.json new file mode 100644 index 00000000..f8b2676c --- /dev/null +++ b/harness/experiments/scenario-label-gates-20260913/font-version/receipt.json @@ -0,0 +1,11 @@ +{ + "executable": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\scenario-label-gates-attempt3-20260913\\label_tests.exe", + "passedExactlyOne": true, + "sha256": "83F33BB63F4B70CBF4C20B39556A3B8E34EF48132928C09A97CEBCE1A0789E4F", + "exitCode": 0, + "exactSelection": true, + "startedUtc": "2026-09-13T01:39:39.8167547Z", + "scope": "Actual global font Version invalidation and artifact rejection; no WGPU dynamic cache recovery claim", + "finishedUtc": "2026-09-13T01:39:44.2165018Z", + "test": "scenario_label::tests::actual_font_load_rejects_retained_label_and_old_session" +} diff --git a/harness/experiments/scenario-label-gates-20260913/font-version/selection.log b/harness/experiments/scenario-label-gates-20260913/font-version/selection.log new file mode 100644 index 00000000..dc985bd8 --- /dev/null +++ b/harness/experiments/scenario-label-gates-20260913/font-version/selection.log @@ -0,0 +1,4 @@ +scenario_label::tests::actual_font_load_rejects_retained_label_and_old_session: test + +1 test, 0 benchmarks + diff --git a/harness/experiments/scenario-label-gates-20260913/font-version/test.log b/harness/experiments/scenario-label-gates-20260913/font-version/test.log new file mode 100644 index 00000000..4606db46 --- /dev/null +++ b/harness/experiments/scenario-label-gates-20260913/font-version/test.log @@ -0,0 +1,8 @@ + +running 1 test +test scenario_label::tests::actual_font_load_rejects_retained_label_and_old_session ... Valid Iced-Icons load: faces 167->168, font Version Version(0)->Version(1); old label and session rejected +ok + +test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 17 filtered out; finished in 0.57s + + diff --git a/harness/experiments/scenario-label-gates-20260913/inputs-after.json b/harness/experiments/scenario-label-gates-20260913/inputs-after.json new file mode 100644 index 00000000..838608e1 --- /dev/null +++ b/harness/experiments/scenario-label-gates-20260913/inputs-after.json @@ -0,0 +1,32 @@ +{ + "source": "903d85dda403b93731c05a08b97fa7d257d012dd", + "workspace": "C:/Users/User/Documents/Git/ARCADIA-Studio/.local/scenario-layout-ytr83r-20260913", + "files": [ + { + "path": "Cargo.lock", + "bytes": 119478, + "sha256": "78b405543fb7b66287457e9476ca1e555838fcdadade114aeab9b76597726787" + }, + { + "path": "crates/oa-desktop/src/behavior/scenario_label.rs", + "bytes": 15138, + "sha256": "621f7e50372d0162f0643219a41f5e374fc9cf28a3a42aee6b8728e5271ec6c4" + }, + { + "path": "crates/oa-desktop/src/behavior/scenario_label/tests.rs", + "bytes": 17960, + "sha256": "cdd5510ff45645a9f82272d8868d1862111ebcd054577242e06103443658165b" + }, + { + "path": "crates/oa-desktop/src/behavior/scenario_label/corridor.rs", + "bytes": 7056, + "sha256": "d369805099b7f6182b77ad8467f843a31d21502700bd6ce50b548dd22a022fe5" + }, + { + "path": "harness/experiments/scenario-label-measurement-20260913/standalone.rs", + "bytes": 263, + "sha256": "8a52f01004e6749308a55c9f183fbaf66ef2d4ece2bd7a1bb97d39abf5fee797" + } + ], + "unchanged": true +} diff --git a/harness/experiments/scenario-label-gates-20260913/inputs-before.json b/harness/experiments/scenario-label-gates-20260913/inputs-before.json new file mode 100644 index 00000000..4afbdce9 --- /dev/null +++ b/harness/experiments/scenario-label-gates-20260913/inputs-before.json @@ -0,0 +1,31 @@ +{ + "source": "903d85dda403b93731c05a08b97fa7d257d012dd", + "workspace": "C:/Users/User/Documents/Git/ARCADIA-Studio/.local/scenario-layout-ytr83r-20260913", + "files": [ + { + "path": "Cargo.lock", + "bytes": 119478, + "sha256": "78b405543fb7b66287457e9476ca1e555838fcdadade114aeab9b76597726787" + }, + { + "path": "crates/oa-desktop/src/behavior/scenario_label.rs", + "bytes": 15138, + "sha256": "621f7e50372d0162f0643219a41f5e374fc9cf28a3a42aee6b8728e5271ec6c4" + }, + { + "path": "crates/oa-desktop/src/behavior/scenario_label/tests.rs", + "bytes": 17960, + "sha256": "cdd5510ff45645a9f82272d8868d1862111ebcd054577242e06103443658165b" + }, + { + "path": "crates/oa-desktop/src/behavior/scenario_label/corridor.rs", + "bytes": 7056, + "sha256": "d369805099b7f6182b77ad8467f843a31d21502700bd6ce50b548dd22a022fe5" + }, + { + "path": "harness/experiments/scenario-label-measurement-20260913/standalone.rs", + "bytes": 263, + "sha256": "8a52f01004e6749308a55c9f183fbaf66ef2d4ece2bd7a1bb97d39abf5fee797" + } + ] +} diff --git a/harness/experiments/scenario-label-gates-20260913/list.log b/harness/experiments/scenario-label-gates-20260913/list.log new file mode 100644 index 00000000..df998691 --- /dev/null +++ b/harness/experiments/scenario-label-gates-20260913/list.log @@ -0,0 +1,20 @@ +scenario_label::tests::actual_font_load_rejects_retained_label_and_old_session: test +scenario_label::tests::adequate_corridor_reveals_full_realistic_names_and_distinguishing_suffixes: test +scenario_label::tests::bounds_translation_rejects_nonfinite_world_positions_and_endpoints: test +scenario_label::tests::empty_and_too_narrow_labels_never_claim_source_visibility: test +scenario_label::tests::finite_scaled_metrics_cannot_escape_as_infinite_world_dimensions: test +scenario_label::tests::grapheme_prefixes_and_zoom_match_actual_paragraph_layout: test +scenario_label::tests::malformed_metrics_and_explicit_experiment_budgets_fail_without_a_cached_candidate: test +scenario_label::tests::normalized_visible_prefix_maps_to_original_bytes_without_claiming_hidden_operation: test +scenario_label::tests::redraws_reuse_resolution_but_width_zoom_and_style_are_dependencies: test +scenario_label::tests::resident_entry_is_remeasured_for_a_fresh_settled_render_session: test +scenario_label::tests::resident_entry_remeasures_after_local_font_epoch_invalidation: test +scenario_label::tests::retained_artifact_rejects_other_zoom_and_render_session_for_every_consumer: test +scenario_label_corridor::tests::caller_defined_self_and_reversed_corridors_keep_their_geometry: test +scenario_label_corridor::tests::complete_padded_band_and_touching_boundaries_are_obstructed: test +scenario_label_corridor::tests::invalid_or_overflowing_geometry_never_enters_a_corridor: test +scenario_label_corridor::tests::long_message_does_not_cross_an_intermediate_execution: test +scenario_label_corridor::tests::overlapping_unsorted_blockers_merge_and_widest_gap_wins: test +scenario_label_corridor::tests::ties_keep_the_nearest_anchor_then_choose_leftmost: test + +18 tests, 0 benchmarks diff --git a/harness/experiments/scenario-label-gates-20260913/run-tests.ps1 b/harness/experiments/scenario-label-gates-20260913/run-tests.ps1 new file mode 100644 index 00000000..b6eb23cf --- /dev/null +++ b/harness/experiments/scenario-label-gates-20260913/run-tests.ps1 @@ -0,0 +1,21 @@ +$ErrorActionPreference='Stop' +. 'C:/Users/User/Documents/Git/ARCADIA-Studio/.local/toolchain/env.ps1' +$taskExe=Join-Path $PSScriptRoot 'label_tests.exe' +$taskHash=(Get-FileHash -LiteralPath $taskExe -Algorithm SHA256).Hash.ToLowerInvariant() +$taskListLog=Join-Path $PSScriptRoot 'list.log' +$taskTestsLog=Join-Path $PSScriptRoot 'tests.log' +if ((Test-Path -LiteralPath $taskListLog) -or (Test-Path -LiteralPath $taskTestsLog)) { throw 'Refusing to overwrite runtime evidence' } +& $taskExe --list 2>&1 | Tee-Object -FilePath $taskListLog +$taskListExit=$LASTEXITCODE +$taskListed=Get-Content -Raw -LiteralPath $taskListLog +$taskCount=[regex]::Matches($taskListed,'(?m)^[^\r\n]+: test\r?$').Count +if ($taskListExit -ne 0 -or $taskCount -ne 18) { throw 'The standalone listing must contain exactly18 tests' } +$taskStart=[DateTime]::UtcNow.ToString('o') +& $taskExe --nocapture 2>&1 | Tee-Object -FilePath $taskTestsLog +$taskExit=$LASTEXITCODE +$taskOutput=Get-Content -Raw -LiteralPath $taskTestsLog +$taskPassed=$taskExit -eq 0 -and $taskOutput -match 'test result: ok\. 17 passed; 0 failed; 1 ignored;' +[ordered]@{source='903d85dda403b93731c05a08b97fa7d257d012dd';executable=$taskExe;sha256=$taskHash;listed=$taskCount;startUtc=$taskStart;endUtc=[DateTime]::UtcNow.ToString('o');exitCode=$taskExit;expectedResult=$taskPassed} | ConvertTo-Json | Set-Content -LiteralPath (Join-Path $PSScriptRoot 'tests-receipt.json') -Encoding utf8 +if (-not $taskPassed) { throw 'Standalone normal test gate failed' } +& 'C:/Users/User/Documents/Git/ARCADIA-Studio/.local/scenario-layout-ytr83r-20260913/harness/experiments/scenario-label-measurement-20260913/run-font-version-test.ps1' -TestExecutable $taskExe -ExpectedSha256 $taskHash -RunDirectory (Join-Path $PSScriptRoot 'font-version') -TestName 'scenario_label::tests::actual_font_load_rejects_retained_label_and_old_session' +if ((Get-FileHash -LiteralPath $taskExe -Algorithm SHA256).Hash.ToLowerInvariant() -ne $taskHash) { throw 'Test binary changed during execution' } diff --git a/harness/experiments/scenario-label-gates-20260913/tests-receipt.json b/harness/experiments/scenario-label-gates-20260913/tests-receipt.json new file mode 100644 index 00000000..0f9a924d --- /dev/null +++ b/harness/experiments/scenario-label-gates-20260913/tests-receipt.json @@ -0,0 +1,10 @@ +{ + "source": "903d85dda403b93731c05a08b97fa7d257d012dd", + "executable": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\scenario-label-gates-attempt3-20260913\\label_tests.exe", + "sha256": "83f33bb63f4b70cbf4c20b39556a3b8e34ef48132928c09a97cebce1a0789e4f", + "listed": 18, + "startUtc": "2026-09-13T01:39:31.0340269Z", + "endUtc": "2026-09-13T01:39:35.4311753Z", + "exitCode": 0, + "expectedResult": true +} diff --git a/harness/experiments/scenario-label-gates-20260913/tests.log b/harness/experiments/scenario-label-gates-20260913/tests.log new file mode 100644 index 00000000..759df3cc --- /dev/null +++ b/harness/experiments/scenario-label-gates-20260913/tests.log @@ -0,0 +1,23 @@ + +running 18 tests +test scenario_label::tests::actual_font_load_rejects_retained_label_and_old_session ... ignored, mutates the global font database; run only this exact test in a fresh process +test scenario_label::tests::bounds_translation_rejects_nonfinite_world_positions_and_endpoints ... ok +test scenario_label::tests::adequate_corridor_reveals_full_realistic_names_and_distinguishing_suffixes ... ok +test scenario_label::tests::empty_and_too_narrow_labels_never_claim_source_visibility ... ok +test scenario_label::tests::finite_scaled_metrics_cannot_escape_as_infinite_world_dimensions ... ok +test scenario_label::tests::malformed_metrics_and_explicit_experiment_budgets_fail_without_a_cached_candidate ... ok +test scenario_label::tests::grapheme_prefixes_and_zoom_match_actual_paragraph_layout ... ok +test scenario_label::tests::normalized_visible_prefix_maps_to_original_bytes_without_claiming_hidden_operation ... ok +test scenario_label::tests::redraws_reuse_resolution_but_width_zoom_and_style_are_dependencies ... ok +test scenario_label::tests::resident_entry_is_remeasured_for_a_fresh_settled_render_session ... ok +test scenario_label::tests::resident_entry_remeasures_after_local_font_epoch_invalidation ... ok +test scenario_label::tests::retained_artifact_rejects_other_zoom_and_render_session_for_every_consumer ... ok +test scenario_label_corridor::tests::caller_defined_self_and_reversed_corridors_keep_their_geometry ... ok +test scenario_label_corridor::tests::complete_padded_band_and_touching_boundaries_are_obstructed ... ok +test scenario_label_corridor::tests::invalid_or_overflowing_geometry_never_enters_a_corridor ... ok +test scenario_label_corridor::tests::long_message_does_not_cross_an_intermediate_execution ... ok +test scenario_label_corridor::tests::overlapping_unsorted_blockers_merge_and_widest_gap_wins ... ok +test scenario_label_corridor::tests::ties_keep_the_nearest_anchor_then_choose_leftmost ... ok + +test result: ok. 17 passed; 0 failed; 1 ignored; 0 measured; 0 filtered out; finished in 2.72s +