Record exact 295-test Details regression gate and Windows batch recovery

This commit is contained in:
2026-09-13 05:44:27 -07:00
parent 727d2e0b3f
commit 7122f91671
57 changed files with 51790 additions and 0 deletions
@@ -0,0 +1 @@
* -text -whitespace
@@ -0,0 +1,33 @@
# Details focused gate: exact 8bf batch recovery
All 295 distinct focused tests passed at [8bf7607a3f3b53db0c36364f54f57674c64ea2f1](http://217.177.34.108:3000/sorokin.oleg.edu/ARCADIA-Studio/src/commit/8bf7607a3f3b53db0c36364f54f57674c64ea2f1). Three bounded command invocations reused the exact already-listed test executable. This archive contains the closed focused stage only. The concurrently running full stage, its log and preflight capture are excluded; no full-test, strict, GUI-build or native result is claimed here.
## Actual result
| Batch | Passed | Failed / ignored | Filtered | Libtest duration |
| --- | ---: | --- | ---: | ---: |
| focused-batch01 | 107 | 0 / 0 | 982 | 81.86 s |
| focused-batch02 | 101 | 0 / 0 | 988 | 200.03 s |
| focused-batch03 | 87 | 0 / 0 | 1,002 | 14.69 s |
The three name sets are disjoint and their exact union equals the predetermined 295-name selection. Each process contains all 1,089 desktop tests, so these three filtered counts remain distinct; there is no synthetic single-process summary with 794 filtered tests. [focused.log](original/focused.log) is the byte-exact concatenation of the three raw batch logs. [The aggregate receipt](original/focused-receipt.json) retains each actual summary and its batch receipt/log binding.
All five closed receipts (list, three batches, aggregate focused) identify the same source and test binary. Before/after captures retain the identical 611 source records and external inputs. Archival verification also rehashed the current 611 files, environment script and executable, checked exact command flags/name sets, unique actual outcomes, summaries, predecessor chains, every bound input hash, and raw concatenation. [Verified results](verified-results.json) record the scope.
The omitted test executable is `arcadia_studio-27db9628b266bf39.exe`, 150,483,968 bytes, SHA-256 `38b9ff204c9ecc590d0f8e1dee68e5c6b09ee65d189c0c1181e9570d3fe7c9bf`. The focused aggregate receipt SHA-256 is `2a1a72b711bfd6e08a4d9d23deec9a2d3da074faabe2ac7b44089c515b031986`.
## Why recovery was required
The original single-command focused dispatch exceeded the Windows command-line limit before Cargo started. The preserved [recovery provenance](original/recovery-provenance.json) records parent terminal **35808**, exit 1. Its [original preflight capture](failed-dispatch/inputs-complete-focused-before.json) is preserved exactly. No original focused log or receipt existed; their absence is not a failing product-test result. No test assertion or selection was changed to obtain this recovery.
[batches.json](original/batches.json) divides the same selection into commands with conservative character counts 11,934, 11,893 and 10,149, each below the 12,000-character bound. Each uses `cargo test -p oa-desktop --bin arcadia-studio --locked --offline -- --exact <that batch's names> --test-threads=1`. The receipt records the actual argument array. Binary continuity checks refuse a changed executable before or after any batch.
The successful original LIST receipt SHA-256 is `e2d9258afab904c7d0d9f3efbb3c3cc02511a33296c1698b3114b3d6b7a125a1`. Its exact receipt/log and required bindings are retained here; the same LIST reference was already published with the [comparator evidence at 727d2e0](http://217.177.34.108:3000/sorokin.oleg.edu/ARCADIA-Studio/src/commit/727d2e0b3f6d6ebebce585323fa2169d8f378743/harness/experiments/scenario-details-source-oracle-8bf7607-20260913/README.md). Unrelated earlier preparation history is not recopied.
## Preserved recipe and scope
[Archive manifest](archive-manifest.json) binds 53 byte-identical copied originals totaling 2,504,310 bytes. This is the closed receipt dependency set, bounded recovery metadata, failed-start capture and local environment recipe. The original [RECOVERY.md](original/RECOVERY.md) retains historical preparation wording; the closed observations above supersede only its unexecuted status. No raw record was edited. `.gitattributes` prevents line-ending normalization; publication must explicitly force-add ignored raw logs.
For a reproduction, fetch exact 8bf, recreate the documented Windows workspace/toolchain layout and matching successful LIST evidence, then use a fresh gate directory with [run-batched.ps1](original/run-batched.ps1) `-Stage focused`. The exact dispatch, source captures and original helper files are preserved. Do not invoke the old `run.ps1` focused route, relabel this run, or overwrite archived receipts. Archived absolute paths identify this host; peers require their own resolved paths, matching inputs and fresh receipts. The retained [environment script](environment/env.ps1) documents the actual local runtime/toolchain setup, not a global configuration change.
The runner also contains later `all`, `clippy` and `build` commands because they are part of the hash-bound recipe. Their presence is not execution evidence in this archive. No Cargo, test executable, compiler, native UI, source mutation, staging, commit or push was performed during archival.
@@ -0,0 +1,325 @@
{
"status": "Closed focused evidence only; exact originals; live full stage excluded",
"file_count": 53,
"bytes": 2504310,
"files": [
{
"source": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\scenario-details-gates-batched-20260913\\RECOVERY.md",
"path": "original/RECOVERY.md",
"bytes": 4023,
"sha256": "164965a0dc12431a300fc3583e2df95ccaaf693ac7854af3a99b953827c72195"
},
{
"source": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\scenario-details-gates-batched-20260913\\batch-helpers.ps1",
"path": "original/batch-helpers.ps1",
"bytes": 3138,
"sha256": "67b36dc78b49d94c1880f871137dd5d685e8761136801265dd9652e900e18e63"
},
{
"source": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\scenario-details-gates-batched-20260913\\batched-handoff.json",
"path": "original/batched-handoff.json",
"bytes": 1633,
"sha256": "bd4700d3e2ec3ea20b099f630e6e561232ff4a207e8e3a85c4b66d2aa3dedb6d"
},
{
"source": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\scenario-details-gates-batched-20260913\\batched-preparation-verification.json",
"path": "original/batched-preparation-verification.json",
"bytes": 694,
"sha256": "43260ffb7a028a3167cf4c93ca042533f5e6fe2380b3902a01ab4df66c844ca9"
},
{
"source": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\scenario-details-gates-batched-20260913\\batches.json",
"path": "original/batches.json",
"bytes": 37447,
"sha256": "982e2b7caedcedfaaae17c6303fa5f01279c898cccefb2153487d51800f73b9b"
},
{
"source": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\scenario-details-gates-batched-20260913\\binary-inputs.ps1",
"path": "original/binary-inputs.ps1",
"bytes": 1234,
"sha256": "58a185bddd852398bdc175faf05fce232ec77d2f0ebb1af31074d544339cc540"
},
{
"source": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\scenario-details-gates-batched-20260913\\cache-policy.json",
"path": "original/cache-policy.json",
"bytes": 479,
"sha256": "7ae079d8b8a8e05be73ef51af147ce6e0f9f984539bc9cb6bf075df8b252ac46"
},
{
"source": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\scenario-details-gates-batched-20260913\\capture-followon.ps1",
"path": "original/capture-followon.ps1",
"bytes": 4141,
"sha256": "80160a7f089b671b1475a5eecb7303192b3b11682104e56650d04566973da653"
},
{
"source": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\scenario-details-gates-batched-20260913\\capture.ps1",
"path": "original/capture.ps1",
"bytes": 4119,
"sha256": "20dbc7eba617d2119f6cc0a68aa00c1d85372504995a9b85b023835cc93404ff"
},
{
"source": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\scenario-details-gates-batched-20260913\\diagnostic.ps1",
"path": "original/diagnostic.ps1",
"bytes": 6853,
"sha256": "2303ae5408a6317a3abf9d862c4d6772f87c259916588be354c049c5075fbdba"
},
{
"source": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\scenario-details-gates-batched-20260913\\enumerate-inputs.ps1",
"path": "original/enumerate-inputs.ps1",
"bytes": 1843,
"sha256": "545b3d0200f8564e26c739f2e8f1ce6de9407fbe35e162d7551a7873012df6a6"
},
{
"source": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\scenario-details-gates-batched-20260913\\enumeration.json",
"path": "original/enumeration.json",
"bytes": 74945,
"sha256": "50badcbc88272887ac5510f8468855472e3cbd5010322bd75931c2ed70abb572"
},
{
"source": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\scenario-details-gates-batched-20260913\\expected-inputs.json",
"path": "original/expected-inputs.json",
"bytes": 117627,
"sha256": "8ffccc50774a6e80b6dfd3c4a39315bbca6b57e771326d4f048a37340ac0a99f"
},
{
"source": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\scenario-details-gates-batched-20260913\\expected-tests.json",
"path": "original/expected-tests.json",
"bytes": 157428,
"sha256": "4eaa6987aa91c7dcabb14ad4a3b17a4cec7718a30a820034ea4efa1a3afcb6d0"
},
{
"source": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\scenario-details-gates-batched-20260913\\external-inputs.json",
"path": "original/external-inputs.json",
"bytes": 1457,
"sha256": "c3b5e21073267a3640d41edfd9d82514c47494e0b433a3053b50a4219f552f51"
},
{
"source": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\scenario-details-gates-batched-20260913\\finalization.json",
"path": "original/finalization.json",
"bytes": 611,
"sha256": "c529de5736e8d1fecf201901c60a081cfd92839c595baf3287eedce02a454d80"
},
{
"source": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\scenario-details-gates-batched-20260913\\finalize.ps1",
"path": "original/finalize.ps1",
"bytes": 11671,
"sha256": "d48b2da4063d719f5a2ccdee82f100bb8a6e66c08a6cc4c5561314f2a5c2a593"
},
{
"source": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\scenario-details-gates-batched-20260913\\focused-batch01-receipt.json",
"path": "original/focused-batch01-receipt.json",
"bytes": 46320,
"sha256": "0e25674adfd35a573c8b458f26a125be40afe012a623c4e460a9dbc257bacc1e"
},
{
"source": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\scenario-details-gates-batched-20260913\\focused-batch01.log",
"path": "original/focused-batch01.log",
"bytes": 13245,
"sha256": "02421ddc04e6c1346d445d0f1cacdf562e0cb714344a9b4bd491ae48fc46f50c"
},
{
"source": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\scenario-details-gates-batched-20260913\\focused-batch02-receipt.json",
"path": "original/focused-batch02-receipt.json",
"bytes": 46509,
"sha256": "8b119c40b8b76add84297daeaa670178d3a0be0935654a91002814dafd0f0ca2"
},
{
"source": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\scenario-details-gates-batched-20260913\\focused-batch02.log",
"path": "original/focused-batch02.log",
"bytes": 13139,
"sha256": "88de44aadab911296e923dea37daddf8b05c760bda88f2c6c527dc066b85418d"
},
{
"source": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\scenario-details-gates-batched-20260913\\focused-batch03-receipt.json",
"path": "original/focused-batch03-receipt.json",
"bytes": 40918,
"sha256": "46dabc9d2107594806d7574830200e60a6626da1283781171d74af9d3cd37ee2"
},
{
"source": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\scenario-details-gates-batched-20260913\\focused-batch03.log",
"path": "original/focused-batch03.log",
"bytes": 11238,
"sha256": "871c74d8527ee3497282ccd8bc9931e4a6df6c8195875105f4d039e7e9a62665"
},
{
"source": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\scenario-details-gates-batched-20260913\\focused-receipt.json",
"path": "original/focused-receipt.json",
"bytes": 91720,
"sha256": "2a1a72b711bfd6e08a4d9d23deec9a2d3da074faabe2ac7b44089c515b031986"
},
{
"source": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\scenario-details-gates-batched-20260913\\focused.log",
"path": "original/focused.log",
"bytes": 37622,
"sha256": "170108532c2b807864a9efe4f17ab518dfcb2c95d26f47d3dc566af6b91fca72"
},
{
"source": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\scenario-details-gates-batched-20260913\\inputs-complete-before.json",
"path": "original/inputs-complete-before.json",
"bytes": 119187,
"sha256": "918c5f24b8d65e09ae39850d394015d92265003aa14776b35ef0882b4869c73f"
},
{
"source": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\scenario-details-gates-batched-20260913\\inputs-complete-focused-after.json",
"path": "original/inputs-complete-focused-after.json",
"bytes": 119187,
"sha256": "e79a8a6774c0d7094dd4e2bd23d192aa2af335bf295dc502f2c73d12b90c4792"
},
{
"source": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\scenario-details-gates-batched-20260913\\inputs-complete-focused-batch01-after.json",
"path": "original/inputs-complete-focused-batch01-after.json",
"bytes": 119187,
"sha256": "36d3f2746cb74dea5dba9dafd882b2be8ad5fd77f2f174e31382812553634121"
},
{
"source": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\scenario-details-gates-batched-20260913\\inputs-complete-focused-batch01-before.json",
"path": "original/inputs-complete-focused-batch01-before.json",
"bytes": 119187,
"sha256": "b418fb48cafc63dc4a9400176e5fd865bc39bb80ddb23de22c6fd9da99e4007b"
},
{
"source": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\scenario-details-gates-batched-20260913\\inputs-complete-focused-batch02-after.json",
"path": "original/inputs-complete-focused-batch02-after.json",
"bytes": 119187,
"sha256": "6a62dffc5cc5d3e5a11050537444b518d80b12c2d3592bd4e3610da7ff84ed0b"
},
{
"source": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\scenario-details-gates-batched-20260913\\inputs-complete-focused-batch02-before.json",
"path": "original/inputs-complete-focused-batch02-before.json",
"bytes": 119187,
"sha256": "f77065c5ac75493093bf7f3c176424f877688d3618b8d177925fa8a60a5c039b"
},
{
"source": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\scenario-details-gates-batched-20260913\\inputs-complete-focused-batch03-after.json",
"path": "original/inputs-complete-focused-batch03-after.json",
"bytes": 119187,
"sha256": "e2cc0f5512a11c79e620126a62077d73b19f84867bb63d62d1f9ccc67d4987e4"
},
{
"source": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\scenario-details-gates-batched-20260913\\inputs-complete-focused-batch03-before.json",
"path": "original/inputs-complete-focused-batch03-before.json",
"bytes": 119187,
"sha256": "1592ce8823c4e7fca596dfdda040d6c73f3a89807a1ed4d33dae0e2c5cd36aef"
},
{
"source": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\scenario-details-gates-batched-20260913\\inputs-complete-focused-before.json",
"path": "original/inputs-complete-focused-before.json",
"bytes": 119187,
"sha256": "969f806677f58ddf279a153745e519596848ff8a2f92cc368cfd983767b27a45"
},
{
"source": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\scenario-details-gates-batched-20260913\\inputs-complete-list-after.json",
"path": "original/inputs-complete-list-after.json",
"bytes": 119187,
"sha256": "7f709cf87c191641a541b77ae73de974fa266305e5b3a898fb092a9d662a3986"
},
{
"source": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\scenario-details-gates-batched-20260913\\inputs-complete-list-before.json",
"path": "original/inputs-complete-list-before.json",
"bytes": 119187,
"sha256": "13af0adbe53803a9655af5e442f4d03c592570172e778da7624b21fbcd28d692"
},
{
"source": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\scenario-details-gates-batched-20260913\\list-receipt.json",
"path": "original/list-receipt.json",
"bytes": 160008,
"sha256": "e2d9258afab904c7d0d9f3efbb3c3cc02511a33296c1698b3114b3d6b7a125a1"
},
{
"source": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\scenario-details-gates-batched-20260913\\list.log",
"path": "original/list.log",
"bytes": 120099,
"sha256": "214572d5f64e584e37666c5c13a7589116143df4ed5e2c968f339038da3f5aca"
},
{
"source": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\scenario-details-gates-batched-20260913\\parser-verification.json",
"path": "original/parser-verification.json",
"bytes": 1344,
"sha256": "38286acc9bdd913af5194cb26d53c8e9905734853ae168c8f2d67c2c7e490375"
},
{
"source": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\scenario-details-gates-batched-20260913\\prior-gate-provenance.json",
"path": "original/prior-gate-provenance.json",
"bytes": 4409,
"sha256": "49f7a232d41c31df621c15158d5cb3554d33965f3cba89a886a96a6444289618"
},
{
"source": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\scenario-details-gates-batched-20260913\\recovery-provenance.json",
"path": "original/recovery-provenance.json",
"bytes": 5874,
"sha256": "063aee5192a1a8eed6675995679929c4d8b717db95e1e4e6bc1e011f153e2d9a"
},
{
"source": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\scenario-details-gates-batched-20260913\\run-batched.ps1",
"path": "original/run-batched.ps1",
"bytes": 18635,
"sha256": "32666e3facefcbb5d3cf92cb4693e5849eae133130c7fd723dfa93602dc94415"
},
{
"source": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\scenario-details-gates-batched-20260913\\run.ps1",
"path": "original/run.ps1",
"bytes": 13178,
"sha256": "6c984c2e12f43f1cc35b1864450264c1cdb4efa9b211bac7fe226459c52b91d7"
},
{
"source": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\scenario-details-gates-batched-20260913\\selection-provenance.json",
"path": "original/selection-provenance.json",
"bytes": 2977,
"sha256": "35d75c8911db632417b3b0779f2dfc7cf84cf021d0d99b25a3e65aedec0fb1f1"
},
{
"source": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\scenario-details-gates-batched-20260913\\server-provenance.json",
"path": "original/server-provenance.json",
"bytes": 1306,
"sha256": "69bc359251803ce80d8e65cd1983f33d9eb7553c12098ca9b10a05a523e1f19a"
},
{
"source": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\scenario-details-gates-batched-20260913\\source-change-provenance.json",
"path": "original/source-change-provenance.json",
"bytes": 751,
"sha256": "9f1327f69deb795c2f29f0cd93aa634cacba05a972540d62445a645bc905511f"
},
{
"source": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\scenario-details-gates-batched-20260913\\source-change-template.json",
"path": "original/source-change-template.json",
"bytes": 4915,
"sha256": "1b616f44948d91b32e3e7d5b45bb79d211772ea1bd495372dfecdca0e77b007d"
},
{
"source": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\scenario-details-gates-batched-20260913\\toolchain-versions.json",
"path": "original/toolchain-versions.json",
"bytes": 2268,
"sha256": "6ab6b9767eae2ceec8ace9924324baa1819141612d499f0014ca0efb8b307c3c"
},
{
"source": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\scenario-details-gates-batched-20260913\\validate-scripts.ps1",
"path": "original/validate-scripts.ps1",
"bytes": 505,
"sha256": "8070b7dada426fe70134e78f5b202a243558650f0eb8ee673e9634c0d36de1f9"
},
{
"source": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\scenario-details-gates-batched-20260913\\verify-batched-preparation.ps1",
"path": "original/verify-batched-preparation.ps1",
"bytes": 3020,
"sha256": "0e1e7915317b22a09d8187490852d6e2e292ff1cdb84875387c8777f0037aaee"
},
{
"source": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\scenario-details-gates-batched-20260913\\verify-parser.ps1",
"path": "original/verify-parser.ps1",
"bytes": 4151,
"sha256": "480cb83fea011d875c2839c277a503b7c4b9c5b9f1df09cf1aa191fcf5c711a3"
},
{
"source": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\scenario-details-gates-attempt2-20260913\\inputs-complete-focused-before.json",
"path": "failed-dispatch/inputs-complete-focused-before.json",
"bytes": 119187,
"sha256": "0b4db9c8f8266c5ec5d02803d32a528e42e4fd70639fbd6b98537864704c85d4"
},
{
"source": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\env.ps1",
"path": "environment/env.ps1",
"bytes": 572,
"sha256": "be2226f08764bb6961b4be8513ce55bab076890cddd2fef0f54a4031f94a82d4"
}
]
}
@@ -0,0 +1,9 @@
$taskToolchainRoot = $PSScriptRoot
$env:CARGO_HOME = Join-Path $taskToolchainRoot 'cargo'
$env:RUSTUP_HOME = Join-Path $taskToolchainRoot 'rustup'
$env:PATH = (Join-Path $taskToolchainRoot 'cargo\bin') + ';' + (Join-Path $taskToolchainRoot 'llvm-mingw-20260908-ucrt-x86_64\bin') + ';' + $env:PATH
$env:CARGO_BUILD_JOBS = '1'
$env:CARGO_INCREMENTAL = '0'
$env:CARGO_TARGET_X86_64_PC_WINDOWS_GNULLVM_LINKER = 'clang.exe'
$env:RC = Join-Path $taskToolchainRoot 'llvm-mingw-20260908-ucrt-x86_64\bin\llvm-windres.exe'
$env:RUSTUP_TOOLCHAIN = 'stable-x86_64-pc-windows-gnullvm'
@@ -0,0 +1,25 @@
# 8bf focused command-line recovery
This follow-on directory reuses the closed successful listing from ../scenario-details-gates-attempt2-20260913 at source 8bf7607a3f3b53db0c36364f54f57674c64ea2f1. The original attempted focused command exceeded the Windows command-line limit before Cargo started (parent terminal35808 exit1). Its original preflight capture remains there. No tests ran in that failed invocation; absence of a focused receipt/log is not a product-test result. recovery-provenance.json binds the original copied files and failed-start capture.
The original run.ps1, capture.ps1, closed list receipt/log and their prerequisites here are unchanged copies so the historical list bindings remain valid. **Do not invoke run.ps1 or relist.** Use run-batched.ps1. This preparation does not rebuild, clean packages, invoke Cargo or execute tests. New focused captures have not yet been taken.
## Sequential commands
From a parent-owned PowerShell process, after the active comparator compiler has closed:
& 'C:/Users/User/Documents/Git/ARCADIA-Studio/.local/scenario-details-gates-batched-20260913/run-batched.ps1' -Stage focused
Only after its receipt passes, invoke the same script separately with -Stage all, then -Stage clippy, then -Stage build. Commands for these later stages retain the original desktop full-test, combined desktop/server all-target strict -D warnings, and desktop GUI-build arguments. There is no list stage in this runner. Do not run stages concurrently or retry into existing evidence.
## Exact batch contract
batches.json partitions all 295 exact selected names into three nonoverlapping batches:107,101,87 tests. Each conservative native command estimate is at most12000 characters (11934,11893,10149 respectively), including the pinned cargo executable and quote/separator allowance. Every batch uses cargo test -p oa-desktop --bin arcadia-studio --locked --offline -- --exact <only-this-batch-names> --test-threads=1. This preserves the same already-listed executable; the runner refuses an executable hash change before, during or after execution.
Each batch must report its complete unique selected names once, all ok, with one actual summary. Expected filtered counts are982,988,1002 because each native test process contains all1089 tests. The aggregate is exactly295 unique passes, no failures/ignored; **filtered counts must not be interpreted as one process's794**. Each actual summary remains in its batch receipt and the aggregate summary array. focused.log is the byte-exact concatenation of the batch logs, with no synthetic single-process summary.
The runner records source/config before and after every batch plus the whole focused stage, retains exact611 source membership, and checks the same toolchain/environment, all original and new recipe hashes, list/previous receipt, executable paths/bytes/hashes, actual Cargo execution path and exact names. Batch receipts, logs and captures become transitive bound inputs for subsequent batches and all/clippy/build. A failed launch or batch stops the focused chain; preserve the failure and prepare a separate retry.
The native verifier at ../scenario-details-native-8bf7607-20260913/verify.ps1 now explicitly understands bounded-exact-batches-v1. Native staging must pass this directory as -Gate; the recipe's historical default still points to attempt2 and will fail safely because it has no accepted focused gate. It requires every actual batch receipt/summary/capture/log/argument chain, exact295 union and same binary, then the unchanged all/clippy/build chain. The original native synthetic single-focused-summary validator is historical evidence, not validation of this new adapter. The verifier file is separately frozen for the comparator build; do not mutate it.
This is runner correction and source preparation only. Neither partial batches, prepared scripts nor the previously passing list establish desktop/full/native acceptance. Retained server provenance is not a new server test execution.
@@ -0,0 +1,26 @@
# Pure batch inventory/result checks; this file never starts an executable.
function Read-BatchResults([string]$Text) {
$rows=@([regex]::Matches($Text,'(?m)^test ([^\r\n]+?) \.\.\. (ok|FAILED|ignored)[^\r\n]*\r?$')|ForEach-Object {[ordered]@{name=$_.Groups[1].Value;result=$_.Groups[2].Value}})
$summaries=@([regex]::Matches($Text,'(?m)^test result: (ok|FAILED)\. (\d+) passed; (\d+) failed; (\d+) ignored; (\d+) measured; (\d+) filtered out; finished in ([\d.]+)s\r?$')|ForEach-Object {[ordered]@{status=$_.Groups[1].Value;passed=[int]$_.Groups[2].Value;failed=[int]$_.Groups[3].Value;ignored=[int]$_.Groups[4].Value;measured=[int]$_.Groups[5].Value;filtered=[int]$_.Groups[6].Value;seconds=$_.Groups[7].Value}})
[ordered]@{executedTests=$rows;testResultSummaries=$summaries}
}
function Assert-ExactBatch($Batch,$Result,[int]$DesktopCount) {
$wanted=@($Batch.tests);$actual=@($Result.executedTests|ForEach-Object {$_.name})
if($wanted.Count -eq 0 -or @($wanted|Sort-Object -Unique).Count -ne $wanted.Count -or $actual.Count -ne $wanted.Count -or @($actual|Sort-Object -Unique).Count -ne $actual.Count -or (Compare-Object $wanted $actual -CaseSensitive)){throw 'Batch membership is not exact and unique'}
if(@($Result.executedTests|Where-Object {$_.result -cne 'ok'}).Count -or @($Result.testResultSummaries).Count -ne 1){throw 'Batch contains failed/ignored tests or wrong summary count'}
$s=$Result.testResultSummaries[0]
if($s.status -cne 'ok' -or $s.passed -ne $wanted.Count -or $s.failed -ne 0 -or $s.ignored -ne 0 -or $s.measured -ne 0 -or $s.filtered -ne ($DesktopCount-$wanted.Count)){throw 'Batch summary differs from exact selection'}
}
function Assert-BatchPlan($Plan,$Expected,[string]$CargoPath) {
if($Plan.schema -cne 'scenario_details_exact_batches_v1' -or $Plan.source_commit -cne '8bf7607a3f3b53db0c36364f54f57674c64ea2f1' -or $Plan.focused_count -ne 295 -or $Plan.desktop_count -ne 1089 -or $Plan.max_command_characters -ne 12000 -or $Plan.cargo_path -ine $CargoPath){throw 'Wrong batch plan identity or bound'}
if((Compare-Object @('test','-p','oa-desktop','--bin','arcadia-studio','--locked','--offline','--','--exact') @($Plan.base_arguments) -SyncWindow 0) -or (Compare-Object @('--test-threads=1') @($Plan.tail_arguments) -SyncWindow 0)){throw 'Unexpected batch arguments'}
$union=@();$index=0
foreach($batch in $Plan.batches){
$index++;if($batch.id -cne ('focused-batch{0:d2}' -f $index)){throw 'Unexpected batch identity/order'}
$args=@($Plan.base_arguments)+@($batch.tests)+@($Plan.tail_arguments)
$length=0;foreach($arg in @($CargoPath)+$args){$length+=$arg.Length+3}
if($length -gt 12000 -or $length -ne $batch.command_characters -or $batch.expected_passed -ne @($batch.tests).Count -or $batch.expected_filtered -ne (1089-@($batch.tests).Count) -or @($batch.tests|Where-Object {$_ -cnotmatch '^[A-Za-z0-9_:]+$'}).Count){throw 'Unsafe or inconsistent batch arguments'}
$union+=@($batch.tests)
}
if($union.Count -ne 295 -or @($union|Sort-Object -Unique).Count -ne 295 -or (Compare-Object @($Expected) $union -CaseSensitive)){throw 'Batch union is not exactly295 unique selected tests'}
}
@@ -0,0 +1,50 @@
{
"schema": "scenario_details_batched_recipe_handoff_v1",
"source_commit": "8bf7607a3f3b53db0c36364f54f57674c64ea2f1",
"createdUtc": "2026-09-13T12:21:04.283Z",
"originalFilesByteExact": 31,
"files": [
{
"path": "run-batched.ps1",
"bytes": 18635,
"sha256": "32666e3facefcbb5d3cf92cb4693e5849eae133130c7fd723dfa93602dc94415"
},
{
"path": "capture-followon.ps1",
"bytes": 4141,
"sha256": "80160a7f089b671b1475a5eecb7303192b3b11682104e56650d04566973da653"
},
{
"path": "batch-helpers.ps1",
"bytes": 3138,
"sha256": "67b36dc78b49d94c1880f871137dd5d685e8761136801265dd9652e900e18e63"
},
{
"path": "batches.json",
"bytes": 37447,
"sha256": "982e2b7caedcedfaaae17c6303fa5f01279c898cccefb2153487d51800f73b9b"
},
{
"path": "RECOVERY.md",
"bytes": 4023,
"sha256": "164965a0dc12431a300fc3583e2df95ccaaf693ac7854af3a99b953827c72195"
},
{
"path": "verify-batched-preparation.ps1",
"bytes": 3020,
"sha256": "0e1e7915317b22a09d8187490852d6e2e292ff1cdb84875387c8777f0037aaee"
}
],
"preparationVerification": {
"path": "batched-preparation-verification.json",
"bytes": 694,
"sha256": "43260ffb7a028a3167cf4c93ca042533f5e6fe2380b3902a01ab4df66c844ca9"
},
"nativeVerifier": {
"path": "C:/Users/User/Documents/Git/ARCADIA-Studio/.local/scenario-details-native-8bf7607-20260913/verify.ps1",
"bytes": 14784,
"sha256": "91b29e336b861d0c59c1c310556d737330871bc54aaed6d5e509bd33dce07945"
},
"noCargoOrTestExecution": true,
"noSourceCaptureTaken": true
}
@@ -0,0 +1,25 @@
{
"schema": "scenario_details_batched_preparation_v1",
"source_commit": "8bf7607a3f3b53db0c36364f54f57674c64ea2f1",
"syntax": [
"run-batched.ps1",
"capture-followon.ps1",
"batch-helpers.ps1"
],
"pureChecks": [
"exact295-plan",
"accept-focused-batch01",
"accept-focused-batch02",
"accept-focused-batch03",
"reject-duplicate-outcome",
"reject-missing-outcome",
"reject-wrong-filtered",
"reject-ignored-outcome",
"reject-duplicate-summary",
"reject-duplicate-plan-union"
],
"cargoInvoked": false,
"testExecutableInvoked": false,
"capturesTaken": false,
"createdUtc": "2026-09-13T12:20:27.9381140Z"
}
@@ -0,0 +1,346 @@
{
"schema": "scenario_details_exact_batches_v1",
"source_commit": "8bf7607a3f3b53db0c36364f54f57674c64ea2f1",
"upstream_list_receipt_sha256": "e2d9258afab904c7d0d9f3efbb3c3cc02511a33296c1698b3114b3d6b7a125a1",
"upstream_list_log_sha256": "214572d5f64e584e37666c5c13a7589116143df4ed5e2c968f339038da3f5aca",
"focused_count": 295,
"desktop_count": 1089,
"max_command_characters": 12000,
"command_measure": "Conservative sum of native executable and each argument UTF-16 character length plus three quote/separator characters per item.",
"cargo_path": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\bin\\cargo.exe",
"base_arguments": [
"test",
"-p",
"oa-desktop",
"--bin",
"arcadia-studio",
"--locked",
"--offline",
"--",
"--exact"
],
"tail_arguments": [
"--test-threads=1"
],
"batches": [
{
"id": "focused-batch01",
"tests": [
"app::behavior_lifecycle_tests::incomplete_behavior_form_is_dirty_close_save_retains_it_and_cancel_allows_switching",
"app::behavior_lifecycle_tests::passive_behavior_canvas_events_do_not_apply_property_drafts",
"app::behavior_lifecycle_tests::pending_behavior_blocks_navigation_property_edits_and_model_history",
"app::behavior_lifecycle_tests::pending_behavior_blocks_source_creation_and_source_history_replay",
"app::behavior_lifecycle_tests::save_prepares_behavior_before_opening_destination_and_cancel_keeps_one_undo",
"app::behavior_lifecycle_tests::source_writeback_failure_keeps_typed_behavior_form_for_repair_and_one_undo",
"app::diagram_reveal::tests::actual_window_resize_before_first_measurement_retains_focus_for_the_new_context",
"app::diagram_reveal::tests::all_reveal_surfaces_recenter_once_after_the_real_viewport_and_preserve_authored_state",
"app::diagram_reveal::tests::malformed_or_wrong_stamp_measurements_cannot_poison_a_pending_reveal",
"app::diagram_reveal::tests::user_camera_edit_and_navigation_cancel_deferred_focus_without_late_snapping",
"app::diagram_selection_tests::changing_visible_view_follows_its_clean_inspector_without_a_model_edit",
"app::diagram_selection_tests::diagram_switch_preserves_an_independent_semantic_inspection",
"app::diagram_selection_tests::diagram_uuid_edit_follows_the_same_view_or_a_different_picker_target",
"app::diagram_selection_tests::invalid_view_draft_blocks_the_switch_and_retains_raw_input",
"app::diagram_selection_tests::stale_diagram_choice_never_applies_an_unrelated_valid_draft",
"app::diagram_selection_tests::valid_pending_view_edit_applies_to_old_view_then_inspects_the_new_view",
"app::diagram_usages::tests::accepted_new_chooser_retires_old_measurement_without_blocking_future_viewports",
"app::diagram_usages::tests::allocation_navigation_keeps_relation_selection_and_exact_visual_work_lifetime",
"app::diagram_usages::tests::asynchronous_lookup_is_loading_inert_and_retains_filter_until_completion",
"app::diagram_usages::tests::caret_uses_exact_verified_alias_identity_and_preserves_source_cursor",
"app::diagram_usages::tests::closed_lookup_keeps_slot_and_replacement_waits_for_exact_old_completion",
"app::diagram_usages::tests::completion_after_cancel_releases_slot_without_reopening_or_moving",
"app::diagram_usages::tests::completion_releases_worker_behind_busy_modal_without_navigation",
"app::diagram_usages::tests::dirty_or_comment_caret_has_no_selected_object_fallback",
"app::diagram_usages::tests::forged_completion_cannot_release_another_slot_or_admit_wrong_context",
"app::diagram_usages::tests::old_panel_tokens_and_forged_targets_cannot_redirect_selection",
"app::diagram_usages::tests::oversized_node_focus_stays_on_label_and_single_surface_query_excludes_other_views",
"app::diagram_usages::tests::pending_source_behavior_and_modal_inputs_block_open_and_choose_without_loss",
"app::diagram_usages::tests::port_navigation_selects_port_and_exact_visible_owner_without_editing_geometry",
"app::diagram_usages::tests::query_presentation_snapshot_keeps_expansion_without_retaining_live_state",
"app::diagram_usages::tests::repeated_preview_arrows_select_the_relation_and_highlight_the_exact_caller_link",
"app::diagram_usages::tests::repeated_process_calls_reveal_the_chosen_caller_and_distinct_tile_camera",
"app::diagram_usages::tests::repeated_scenario_messages_select_the_exact_occurrence_and_move_camera",
"app::diagram_usages::tests::reset_keeps_old_worker_slot_and_only_new_document_results_are_admitted",
"app::diagram_usages::tests::revision_retarget_and_document_change_make_old_destinations_inert",
"app::diagram_usages::tests::saved_node_and_edge_navigation_preserve_whole_sources_and_actual_history",
"app::diagram_usages::tests::saved_scenario::explicit_saved_layout_repair_undo_redo_requeries_authored_and_fallback_geometry_without_extra_history",
"app::diagram_usages::tests::saved_scenario::retargeted_saved_view_cannot_reveal_a_former_owner_occurrence",
"app::diagram_usages::tests::saved_scenario::saved_a_b_a_rejects_old_visit_and_panel_callbacks_before_deferred_measurement",
"app::diagram_usages::tests::saved_scenario::saved_chooser_and_explicit_reveal_preserve_complete_source_and_actual_undo_redo",
"app::diagram_usages::tests::saved_scenario::saved_queries_use_each_actual_presentation_and_keep_repeated_appearances_and_references_opaque",
"app::diagram_usages::tests::saved_scenario::saved_reveal_and_chooser_refuse_source_property_and_behavior_drafts",
"app::diagram_usages::tests::stale_caret_completion_never_opens_diagrams_for_current_selection",
"app::diagram_usages::tests::stale_open_context_cannot_replace_a_panel",
"app::diagram_usages::tests::stale_revision_completion_refreshes_asynchronously_without_activating",
"app::diagram_usages::tests::state_row_navigation_has_exact_visual_row_without_retargeting_the_selected_relation",
"app::diagram_usages::tests::tree_origin_captures_subject_and_never_falls_back_to_current_selection_or_name",
"app::diagram_usages::tests::whole_surface_camera_fits_huge_extent_while_target_camera_remains_readable",
"app::diagram_usages::tests::worker_failure_finishes_loading_and_can_be_retried_without_losing_sources",
"app::direct_scenario_tests::direct_scenario_camera_details_and_real_resize_invalidate_only_pointer_context",
"app::direct_scenario_tests::direct_scenario_creation_and_reorder_preserve_selection_and_each_undo_once",
"app::direct_scenario_tests::direct_scenario_rejects_every_stale_context_and_preserves_property_drafts",
"app::direct_scenario_tests::direct_scenario_source_failure_and_navigation_keep_form_until_success",
"app::saved_scenario_dispatch_tests::forged_saved_usage_is_refused_without_selection_or_camera_changes",
"app::saved_scenario_dispatch_tests::missing_export_target_does_not_apply_pending_properties_or_open_dialog",
"app::saved_scenario_dispatch_tests::rejected_export_schedules_no_write_and_preserves_draft_history_and_busy_state",
"app::saved_scenario_dispatch_tests::saved_picker_with_invalid_properties_and_reveal_with_pending_properties_do_not_apply",
"app::saved_scenario_dispatch_tests::saved_scenario_cannot_use_architecture_controls_or_change_projection_by_toolbar",
"app::saved_scenario_dispatch_tests::saved_scenario_does_not_start_the_existing_architecture_palette",
"app::saved_scenario_dispatch_tests::semantic_scenario_preview_remains_available_and_saved_views_are_not_default_architecture",
"app::scenario_diagram::adoption_tests::missing_and_deleted_picker_ids_cannot_apply_an_unrelated_valid_property_draft",
"app::scenario_diagram::adoption_tests::source_cross_layer_owner_retarget_undo_redo_keeps_requested_saved_uuid",
"app::scenario_diagram::adoption_tests::source_deleted_owner_and_saved_view_mount_unavailable_instead_of_another_behavior",
"app::scenario_diagram::adoption_tests::source_same_layer_owner_retarget_undo_redo_keeps_requested_saved_uuid",
"app::scenario_diagram::owner_navigation_tests::saved_scenario_direct_behavior_selection_enters_explicit_process_or_state_owner",
"app::scenario_diagram::owner_navigation_tests::saved_scenario_guide_selection_returns_to_explicit_process_or_state_owner",
"app::scenario_diagram::tests::arrangement_picker_rejects_previous_visit_and_switches_automatic_without_model_changes",
"app::scenario_diagram::tests::leaving_and_reentering_saved_view_preserves_source_and_retires_passive_visit",
"app::scenario_diagram::tests::saved_picker_applies_valid_old_draft_and_uuid_edit_follows_that_same_view",
"app::scenario_diagram::tests::saved_reference_back_restores_exact_view_with_a_fresh_visit",
"app::scenario_diagram::tests::saved_view_return_rejects_old_passive_events_without_an_intermediate_frame",
"app::scenario_diagram::tests::saved_view_switches_are_distinct_passive_visits_and_preserve_actual_history",
"app::scenario_spacing::tests::click_selects_but_crossed_return_and_cancel_preserve_selection_camera_and_history",
"app::scenario_spacing::tests::modal_open_cancels_preview_and_captured_begin_stays_retired_after_close",
"app::scenario_spacing::tests::pending_semantic_draft_and_source_edit_cancel_and_reject_held_finish",
"app::scenario_spacing::tests::same_batch_preview_is_immutable_and_one_commit_undo_redo_has_exact_source_parity",
"app::scenario_spacing::tests::source_write_failure_cannot_commit_candidate_or_materialize_camera",
"app::scenario_spacing::tests::stale_finish_after_new_view_and_forged_token_are_inert_before_reveal_reconciliation",
"app::scenario_spacing::tests::stale_finish_cannot_remove_new_same_view_deferred_reveal",
"app::source_rename::tests::navigation_union_tests::rename_then_exact_caret_diagram_navigation_preserves_complete_model_undo_redo_history",
"app::transition_context_tests::explicit_behavior_internal_and_process_roots_keep_their_workspace_without_creating_a_view",
"app::transition_context_tests::explicit_destination_is_honored_and_ordinary_work_transition_still_places_in_architecture",
"app::transition_context_tests::machine_and_typed_action_transitions_resolve_the_owner_and_reusing_that_context_retains_camera",
"app::transition_context_tests::rejected_source_writeback_keeps_review_and_navigation_and_invalid_draft_still_blocks_start",
"app::transition_context_tests::scenario_transition_focuses_requested_counterpart_and_preserves_unrelated_views_in_both_directions",
"behavior::canvas_workspace::camera_policy_tests::tiny_zoom_label_is_nonzero_and_changes_with_zoom",
"behavior::canvas_workspace::camera_policy_tests::topology_retains_five_percent_floor",
"behavior::canvas_workspace::tests::relative_camera_zoom_keeps_the_cursor_world_point_and_rejects_nonfinite_inputs",
"behavior::canvas_workspace::tests::viewport_ordered_batch_uses_each_event_position_and_cancels_before_camera_motion",
"behavior::contextual_source_tests::contextual_source_app_checkpoint_restores_inner_raw_draft_without_model_adoption",
"behavior::contextual_source_tests::contextual_source_app_empty_actions_and_child_open_refuse_other_raw_editors",
"behavior::contextual_source_tests::contextual_source_app_modal_escape_then_child_back_then_parent_cancel_preserve_accepted_source",
"behavior::contextual_source_tests::contextual_source_back_remains_available_after_owner_deletion_and_with_dirty_editors",
"behavior::contextual_source_tests::contextual_source_back_retains_parent_and_rejects_late_child_event",
"behavior::contextual_source_tests::contextual_source_default_consumer_name_has_stable_alias_and_correlated_selection",
"behavior::contextual_source_tests::contextual_source_deleted_owner_view_retains_draft_instead_of_panicking_or_using_fallback",
"behavior::contextual_source_tests::contextual_source_empty_history_reports_no_change_and_success_requires_a_real_history_step",
"behavior::contextual_source_tests::contextual_source_empty_palette_lifeline_cannot_open_a_previous_owner_or_layer",
"behavior::contextual_source_tests::contextual_source_existing_choice_prunes_staged_dependency",
"behavior::contextual_source_tests::contextual_source_failed_source_budget_preserves_both_drafts_and_accepted_bytes",
"behavior::contextual_source_tests::contextual_source_incomplete_recovered_kind_reports_error_without_panicking",
"behavior::contextual_source_tests::contextual_source_inserts_work_on_the_exact_guarded_link_and_refuses_exchange_identity_conflict",
"behavior::contextual_source_tests::contextual_source_lifelines_stage_exact_separate_records_and_one_history_entry",
"behavior::contextual_source_tests::contextual_source_machine_before_any_owner_creates_optional_view_atomically",
"behavior::contextual_source_tests::contextual_source_mounted_small_editor_keeps_back_and_use_outside_field_scroll",
"behavior::contextual_source_tests::contextual_source_nested_semantic_parent_is_explicit_and_revalidated",
"behavior::contextual_source_tests::contextual_source_new_callee_lifeline_preserves_caller_bindings_as_an_explicit_warning"
],
"expected_passed": 107,
"expected_filtered": 982,
"command_characters": 11934
},
{
"id": "focused-batch02",
"tests": [
"behavior::contextual_source_tests::contextual_source_original_document_remains_bound_after_back_or_choosing_existing",
"behavior::contextual_source_tests::contextual_source_owner_first_can_return_to_an_unnamed_machine_without_losing_source",
"behavior::contextual_source_tests::contextual_source_recovery_keeps_inner_raw_fields_and_refuses_deleted_or_changed_owner",
"behavior::contextual_source_tests::contextual_source_second_system_and_role_machine_owner_refuse_without_fallback",
"behavior::contextual_source_tests::contextual_source_work_uses_reserved_contribution_and_link_ids_and_one_undo",
"behavior::direct_canvas_tests::direct_alt_execution_stops_each_operand_at_its_reply_and_marks_open_operand",
"behavior::direct_canvas_tests::direct_execution_span_ends_at_its_correlated_reply_and_marks_an_open_call",
"behavior::scenario::camera::tests::fit_remains_active_across_first_and_changed_viewport",
"behavior::scenario::camera::tests::invalid_inputs_are_passive_and_large_finite_bounds_do_not_overflow_center",
"behavior::scenario::camera::tests::negative_origin_fit_contains_independently_known_extremes",
"behavior::scenario::camera::tests::pan_leaves_fit_from_displayed_position_and_zero_motion_preserves_fit",
"behavior::scenario::camera::tests::tiny_fit_zoom_in_out_preserves_pointer_world_anchor_without_floor_jump",
"behavior::scenario::data_contract_tests::large_payload_has_one_editor_with_reachable_field_and_authored_pages",
"behavior::scenario::data_contract_tests::recursive_browsing_up_and_root_keep_values_and_report_the_depth_limit",
"behavior::scenario::data_contract_tests::recursive_value_focus_exposes_authored_leaf_and_phase_changes_retain_surviving_keys",
"behavior::scenario::data_contract_tests::reply_call_picker_previews_the_same_value_reset_as_selecting_another_exchange",
"behavior::scenario::data_contract_tests::scenario_form_commits_two_reused_record_values_and_correlated_reply_atomically",
"behavior::scenario::direct_tests::direct_busy_save_keeps_details_current_and_camera_for_the_next_pointer_gesture",
"behavior::scenario::direct_tests::direct_clicked_occurrence_rejects_stale_slots_and_retains_recoverable_drafts",
"behavior::scenario::direct_tests::direct_clicked_occurrences_use_root_and_operand_slots_with_exact_source_history",
"behavior::scenario::direct_tests::direct_exchange_compatibility_browsing_preserves_final_slot_validation",
"behavior::scenario::direct_tests::direct_exchange_picker_is_bounded_and_browsing_keeps_pending_values",
"behavior::scenario::direct_tests::direct_five_hundred_exchange_choice_render_probe",
"behavior::scenario::direct_tests::direct_form_keeps_the_same_canvas_in_the_widget_tree",
"behavior::scenario::direct_tests::direct_middle_pair_insertion_is_one_exact_source_and_model_undo",
"behavior::scenario::direct_tests::direct_operand_pair_keeps_parent_sequence_and_cannot_reorder_across_operands",
"behavior::scenario::direct_tests::direct_reply_choices_cache_keeps_typing_fast_and_revalidates_changed_contexts",
"behavior::scenario::direct_tests::direct_reply_choices_validate_the_actual_slot_and_reorder_rejects_reverse_order",
"behavior::scenario::direct_tests::direct_scenario_reference_navigation_blocks_pending_drafts_and_stale_contexts",
"behavior::scenario::direct_tests::direct_scenario_reference_navigation_retains_each_exact_caller_without_history",
"behavior::scenario::direct_tests::direct_scenario_reference_return_survives_rename_and_rejects_deleted_or_changed_use",
"behavior::scenario::operation_tests::operation_gui_async_picker_uses_request_root_and_nested_directions_without_erasing_rejected_values",
"behavior::scenario::operation_tests::operation_gui_selects_two_parameterless_allocations_without_inventing_refinement_and_reply_derives_call",
"behavior::scenario::operation_tests::operation_gui_unresolved_and_disabled_selection_recovery_preserves_rejected_raw_values",
"behavior::scenario::presentation_tests::complete_fallback_scene_selects_but_cannot_capture_or_finish_coordinate_gestures",
"behavior::scenario::presentation_tests::deleted_saved_identity_remains_unavailable_and_never_falls_into_derived_geometry",
"behavior::scenario::presentation_tests::saved_caller_restores_exact_representation_with_fresh_visit_and_rejects_deleted_view",
"behavior::scenario::presentation_tests::saved_camera_fits_actual_negative_origin_and_tiny_scale_without_authored_mutation",
"behavior::scenario::presentation_tests::saved_visits_distinguish_same_owner_roundtrips_and_suspended_return_without_editing",
"behavior::scenario::spacing::controller::tests::click_threshold_is_active_axis_and_return_to_zero_is_not_a_click",
"behavior::scenario::spacing::controller::tests::forged_camera_hit_role_and_retired_visit_cannot_capture",
"behavior::scenario::spacing::controller::tests::fractional_screen_packet_preserves_subpixel_motion_in_preview_and_finish",
"behavior::scenario::spacing::controller::tests::invalid_move_discards_prior_candidate_and_finish_rechecks_final_pointer",
"behavior::scenario::spacing::controller::tests::real_preview_moves_only_active_axis_from_original_and_never_changes_document",
"behavior::scenario::spacing::controller::tests::zoomed_out_message_tolerance_matches_actual_canvas_hit",
"behavior::scenario::spacing::tests::drawn_unassigned_lifeline_can_move_without_assigning_a_semantic_participant",
"behavior::scenario::spacing::tests::feasible_spacing_crossing_remains_authored_with_diagnostic_and_unchanged_steps",
"behavior::scenario::spacing::tests::horizontal_lane_move_changes_actual_header_and_attached_endpoints_only_in_selected_view",
"behavior::scenario::spacing::tests::invalid_view_foreign_identity_and_latent_message_are_not_spacing_targets",
"behavior::scenario::spacing::tests::malformed_or_out_of_range_motion_cannot_mutate_original",
"behavior::scenario::spacing::tests::one_repeated_message_moves_in_one_view_with_exact_document_undo_redo_and_reopen",
"behavior::scenario::spacing::tests::self_call_spacing_uses_send_y_and_preserves_reply_and_actual_activation_finish",
"behavior::scenario::spacing::tests::unsupported_self_call_move_is_refused_and_automatic_fallback_is_not_editable_capture",
"behavior::scenario::spacing::tests::zero_motion_return_to_start_and_subprecision_preserve_sparse_intent_and_real_redo",
"behavior::scenario::tests::fragment_operands_accept_paired_messages_through_normal_destination_picker",
"behavior::scenario::tests::graphical_call_reply_is_atomic_correlated_and_source_equivalent",
"behavior::scenario::tests::invalid_lifecycle_edit_keeps_draft_and_timer_has_no_global_exchange",
"behavior::scenario::tests::lifeline_picker_uses_core_viewpoint_contract",
"behavior::scenario::tests::reverse_communication_canvas_choices_and_correlated_reply_share_core_direction",
"behavior::scenario::tests::scenario_reuse_requires_explicit_compatible_bindings",
"behavior::scenario::tests::tagged_scenario_commit_is_not_redirected_by_other_editor_events",
"behavior::scenario::usage::tests::scenario_operation_label_membership_excludes_ellipsis_only_and_normalizes_whitespace",
"behavior::scenario::usage::tests::scenario_usage_counts_nested_occurrences_and_lifelines_but_keeps_reuse_opaque",
"behavior::scenario::usage::tests::scenario_usage_keeps_repeated_messages_and_reveal_is_read_only_and_revalidated",
"behavior::scenario::usage::tests::scenario_usage_only_reports_the_resolved_operation_fields_actually_in_the_label",
"behavior::scenario::workspace::details_tests::details_properties_refuses_another_saved_view_even_with_the_same_scenario_owner",
"behavior::scenario::workspace::details_tests::details_properties_refuses_pending_property_source_and_behavior_drafts_without_apply",
"behavior::scenario::workspace::details_tests::details_properties_rejects_retired_view_selection_and_epoch_without_changing_panels",
"behavior::scenario::workspace::details_tests::focused_details_opens_current_saved_view_properties_after_following_diagram_picker",
"behavior::scenario::workspace::details_tests::focused_saved_details_opens_real_editable_inspector_and_returns_to_same_view",
"behavior::scenario::workspace::details_tests::opening_scenario_properties_cancels_held_spacing_and_rejects_its_late_finish",
"behavior::scenario::workspace::spacing_tests::saved_body_and_header_clicks_select_without_materializing_spacing",
"behavior::scenario::workspace::spacing_tests::saved_drag_return_to_origin_preserves_redo_selection_and_original_fit_camera",
"behavior::scenario::workspace::spacing_tests::saved_escape_and_outside_pointer_cancel_actual_held_preview",
"behavior::scenario::workspace::spacing_tests::saved_header_preview_survives_frames_and_freezes_fit_while_actual_bounds_expand",
"behavior::scenario::workspace::spacing_tests::saved_message_same_batch_pointer_events_commit_once_and_one_undo_redo_restores_exact_source",
"behavior::scenario::workspace::spacing_tests::saved_valid_preview_then_refused_self_call_never_commits_last_valid_candidate",
"behavior::scenario::workspace::tests::new_scenario_form_resets_only_its_scroll_and_recovery_gets_a_fresh_session",
"behavior::scenario::workspace::tests::production_empty_scenario_lifeline_tool_keeps_staged_source_inside_stable_canvas",
"behavior::scenario::workspace::tests::production_scenario_camera_external_controls_bounds_and_retained_deltas_cancel_old_drags",
"behavior::scenario::workspace::tests::production_scenario_canvas_keeps_bounds_draft_identity_and_camera_through_editing",
"behavior::scenario::workspace::tests::production_scenario_canvas_pan_invalidates_a_pressed_creation_and_caller_restores_once",
"behavior::scenario::workspace::tests::production_scenario_keyboard_enters_activates_draws_focus_and_returns_to_inspector",
"behavior::scenario::workspace::tests::production_scenario_keyboard_reveals_and_activates_initially_offscreen_last_tool",
"behavior::scenario::workspace::tests::production_scenario_retained_toolbar_intents_reject_chooser_dirty_and_picker_lifetimes",
"behavior::scenario::workspace::tests::production_scenario_whole_glyph_drag_moves_one_occurrence_and_rejects_other_operand",
"behavior::scenario::workspace::tests::scenario_form_focus_chained_apply_rechecks_live_review_owner",
"behavior::scenario::workspace::tests::scenario_form_focus_missing_exact_target_leaves_other_inputs_untouched",
"behavior::scenario::workspace::tests::scenario_form_focus_returns_from_back_use_and_escape_after_initial_focus_is_consumed",
"behavior::scenario::workspace::tests::scenario_form_focus_saved_action_is_inert_on_replacement_child_review_and_changed_context",
"behavior::scenario::workspace::tests::scenario_form_focus_targets_the_name_and_rejects_stale_sessions_or_modals",
"behavior::scenario::workspace::tests::scenario_workspace_choosing_tools_preserves_valid_and_invalid_pending_editors",
"behavior::scenario::workspace::tests::scenario_workspace_fit_uses_measured_inner_viewport_and_rejects_nonfinite_inputs",
"behavior::scenario::workspace::tests::scenario_workspace_open_and_back_restore_owner_and_mounted_camera_after_preselection",
"behavior::scenario::workspace::tests::scenario_workspace_same_size_owner_and_document_changes_remeasure_fit_viewport",
"behavior::scenario::workspace::tests::scenario_workspace_scaled_and_panned_scene_keeps_clicked_slots_and_message_endpoints",
"behavior::scenario::workspace::tests::scenario_workspace_scaled_nested_occurrences_and_reorder_keep_exact_sequence_identity",
"behavior::scenario::workspace::tests::scenario_workspace_viewport_events_are_passive_guarded_and_do_not_apply_raw_forms",
"behavior::scenario_activation::tests::a_fragment_cannot_make_crossed_calls_an_unambiguous_caller_execution",
"behavior::scenario_activation::tests::activation_shoulders_under_label_backplates_select_their_call",
"behavior::scenario_activation::tests::actual_canvas_pointer_selects_each_exposed_shoulder_under_zoom_and_pan"
],
"expected_passed": 101,
"expected_filtered": 988,
"command_characters": 11893
},
{
"id": "focused-batch03",
"tests": [
"behavior::scenario_activation::tests::alternative_and_parallel_operand_local_calls_do_not_nest_from_screen_order",
"behavior::scenario_activation::tests::an_inactive_self_call_has_no_fabricated_parent_and_three_nested_calls_expose_three_columns",
"behavior::scenario_activation::tests::call_uuid_order_does_not_choose_activation_columns_or_message_anchors",
"behavior::scenario_activation::tests::inherited_execution_anchors_a_self_call_inside_an_operand_before_returning_after_the_fragment",
"behavior::scenario_activation::tests::long_message_backplates_do_not_erase_selected_activation_border_pixels",
"behavior::scenario_activation::tests::missing_reply_is_a_short_explicit_open_span_and_an_uncorrelated_reply_closes_nothing",
"behavior::scenario_activation::tests::nested_calls_expose_both_bars_and_end_at_their_exact_replies_in_both_directions",
"behavior::scenario_activation::tests::nested_correlations_returning_in_alternative_operands_remain_nested_before_the_fragment",
"behavior::scenario_activation::tests::reentrant_call_uses_the_other_receiver_without_inventing_a_caller_execution",
"behavior::scenario_activation::tests::self_call_receives_at_lower_loop_end_and_self_reply_returns_to_the_parent",
"behavior::scenario_activation::tests::sequential_calls_reuse_column_and_crossed_replies_keep_their_correlations",
"behavior::scenario_hit_tests::action_frame_and_use_boxes_do_not_advertise_message_or_header_roles",
"behavior::scenario_hit_tests::activation_shoulder_beats_another_calls_label_and_broad_message_tolerance",
"behavior::scenario_hit_tests::create_delete_markers_are_distinct_from_their_own_message_body_and_label",
"behavior::scenario_hit_tests::exact_headers_include_unassigned_lifelines_but_guides_are_not_headers",
"behavior::scenario_hit_tests::invalid_points_never_produce_a_semantic_or_spacing_hit",
"behavior::scenario_hit_tests::repeated_exchange_occurrences_keep_distinct_message_body_and_label_hits",
"behavior::scenario_hit_tests::self_call_elbow_and_receive_endpoint_are_messages_not_execution_hits",
"behavior::scenario_hit_tests::tiny_scale_nearest_hit_retains_the_winning_marker_or_message_role",
"behavior::scenario_hit_tests::winning_primitive_role_does_not_come_from_its_shared_uuid",
"behavior::scenario_layout::presentation::tests::absent_and_empty_saved_layouts_remain_saved_ready_representations",
"behavior::scenario_layout::presentation::tests::hard_failure_uses_complete_automatic_geometry_but_retains_each_saved_request_and_latent_notice",
"behavior::scenario_layout::presentation::tests::missing_or_incompatible_identity_and_structural_coordinate_errors_are_unavailable",
"behavior::scenario_layout::presentation::tests::passive_fallback_preserves_exact_document_source_and_one_step_undo_redo",
"behavior::scenario_layout::presentation::tests::successful_crossing_diagnostic_keeps_authored_geometry_and_latent_identity",
"behavior::scenario_layout::tests::absent_empty_and_explicit_baseline_saved_values_preserve_complete_scene_and_source",
"behavior::scenario_layout::tests::authored_lanes_precede_headers_arrows_lifetimes_and_complete_bounds",
"behavior::scenario_layout::tests::authored_send_bits_survive_baseline_delta_and_self_lifecycle_row_conversion",
"behavior::scenario_layout::tests::complete_scope_plan_rejects_escape_preserves_overlap_and_keeps_headers_and_followers",
"behavior::scenario_layout::tests::decimal_call_anchor_is_admitted_and_exact_in_plan_line_and_typed_activation",
"behavior::scenario_layout::tests::earlier_receiver_death_and_prebirth_call_are_named_typed_failures_not_disappearing_bars",
"behavior::scenario_layout::tests::exact_authored_lane_bits_survive_headers_and_tiny_distinct_lanes_are_not_coincident",
"behavior::scenario_layout::tests::explicit_root_scope_failures_do_not_clamp_calls_or_lifecycle_but_async_can_be_negative",
"behavior::scenario_layout::tests::independent_saved_appearances_of_reused_exchange_have_exact_anchors_and_no_ambient_state",
"behavior::scenario_layout::tests::latent_message_becomes_exact_only_when_its_own_endpoint_is_completed",
"behavior::scenario_layout::tests::moved_death_clips_actual_bar_and_preserves_unanswered_cue",
"behavior::scenario_layout::tests::newly_skipped_sibling_scope_is_rejected_using_real_projector_diagnostics",
"behavior::scenario_layout::tests::post_fragment_death_cannot_disappear_and_feasible_operand_spacing_retains_its_marker",
"behavior::scenario_layout::tests::reply_crossing_is_a_specific_typed_failure",
"behavior::scenario_layout::tests::same_x_distinct_lifelines_are_not_self_messages_in_either_bridge",
"behavior::scenario_layout::tests::saved_direct_nested_message_uses_operand_scopes_without_reparenting_or_moving_followers",
"behavior::scenario_layout::tests::self_call_receive_and_reply_send_drive_the_full_typed_execution",
"behavior::scenario_layout::tests::self_lifecycle_saved_send_is_converted_once_to_the_actual_receive_marker",
"behavior::scenario_layout::tests::timer_uses_implicit_effective_receiver_and_true_self_offset",
"behavior::scenario_layout::tests::unfinished_coordinate_is_latent_and_zero_or_signed_zero_never_rewrites_source",
"behavior::scenario_layout::tests::unsupported_expansion_duplicate_keys_and_foreign_identity_fail_without_mutating_input",
"behavior::scenario_layout::tests::wide_gap_bounds_include_all_actual_shapes_and_typed_extensions",
"behavior::scenario_lifecycle::render::tests::birth_label_clip_keeps_padded_world_bounds_at_each_scene_scale",
"behavior::scenario_lifecycle::render::tests::birth_label_clip_preserves_parent_viewport_bounds",
"behavior::scenario_lifecycle::render::tests::box_text_clip_intersects_parent_viewport_and_rejects_empty_interiors",
"behavior::scenario_lifecycle::render::tests::panned_header_and_create_clips_use_screen_translation_and_actual_viewport",
"behavior::scenario_lifecycle::render::tests::real_scene_birth_death_markers_align_endpoints_and_win_selection_without_mutating_source",
"behavior::scenario_lifecycle::render::tests::real_scene_branch_delete_clips_only_its_activation_and_keeps_unanswered_call_visible",
"behavior::scenario_lifecycle::render::tests::real_scene_conditional_repeated_and_parallel_scopes_do_not_claim_definite_continuation",
"behavior::scenario_lifecycle::render::tests::real_scene_empty_and_create_only_use_visible_root_extents_not_insertion_bounds",
"behavior::scenario_lifecycle::render::tests::real_scene_lifecycle_edit_undo_redo_restores_exact_source_and_changed_geometry",
"behavior::scenario_lifecycle::render::tests::real_scene_long_header_title_and_detail_keep_names_and_have_bounded_clips",
"behavior::scenario_lifecycle::render::tests::real_scene_minimum_zoom_marker_halos_do_not_steal_adjacent_capsule_or_header_hits",
"behavior::scenario_lifecycle::render::tests::real_scene_minimum_zoom_near_ordinary_message_wins_over_lifecycle_halos",
"behavior::scenario_lifecycle::render::tests::real_scene_panned_zoomed_program_keeps_header_birth_and_death_hit_identity",
"behavior::scenario_lifecycle::render::tests::real_scene_self_delete_caption_clears_the_preceding_action_box",
"behavior::scenario_lifecycle::render::tests::real_scene_self_lifecycle_elbows_end_on_recorded_marker_rows",
"behavior::scenario_lifecycle::render::tests::real_scene_unassigned_lanes_and_explicit_incomplete_receiver_keep_real_marker_identity",
"behavior::scenario_lifecycle::render::tests::real_scene_wide_latin_header_exceeds_old_character_budget",
"behavior::scenario_lifecycle::render::tests::union_tests::admitted_calls_without_sender_polylines_still_have_logical_correlation_metadata",
"behavior::scenario_lifecycle::render::tests::union_tests::admitted_death_and_incomplete_later_reply_do_not_fabricate_an_answered_execution",
"behavior::scenario_lifecycle::render::tests::union_tests::admitted_delayed_create_nested_calls_replies_delete_share_one_geometry_pipeline",
"behavior::scenario_lifecycle::render::tests::union_tests::admitted_self_lifecycle_and_self_call_keep_distinct_send_receive_rows",
"behavior::scenario_lifecycle::render::tests::union_tests::admitted_unresolved_operand_keeps_unanswered_cue_without_any_visible_segment",
"behavior::scenario_lifecycle::render::tests::union_tests::clipped_operand_preserves_original_nested_or_crossed_correlation_distinction",
"behavior::scenario_lifecycle::render::tests::union_tests::conditional_death_then_recreate_never_revives_call_but_keeps_open_sibling",
"behavior::scenario_lifecycle::render::tests::union_tests::invalid_prebirth_call_and_postdeath_reply_remain_rejected_with_defensive_scene_clipping",
"behavior::scenario_lifecycle::render::tests::union_tests::test_only_upstream_row_offsets_update_lifetime_segments_and_endpoints_without_authoring",
"behavior::scenario_lifecycle::tests::alternative_death_does_not_kill_its_displayed_sibling",
"behavior::scenario_lifecycle::tests::conditional_birth_does_not_infer_absence_in_siblings_or_ancestors",
"behavior::scenario_lifecycle::tests::explicit_receiver_is_authoritative_even_with_missing_exchange",
"behavior::scenario_lifecycle::tests::lifecycle_free_fragments_do_not_poison_other_lanes",
"behavior::scenario_lifecycle::tests::loop_lifetime_is_local_and_warning_bearing_loops_remain_drawable",
"behavior::scenario_lifecycle::tests::missing_geometry_is_reported_without_nonfinite_or_guessed_markers",
"behavior::scenario_lifecycle::tests::optional_cleanup_inside_loop_does_not_claim_balanced_or_definite_exit",
"behavior::scenario_lifecycle::tests::projection_retains_exact_authored_source_and_does_not_enter_history",
"behavior::scenario_lifecycle::tests::root_lifetime_has_exact_birth_death_boundaries_without_source_mutation",
"behavior::scenario_lifecycle::tests::scenario_use_is_opaque_and_never_imports_callee_lifecycle_events",
"diagram::tests::svg_accepts_populated_and_empty_architecture_views",
"diagram::tests::svg_rejects_missing_diagram_without_mutation",
"diagram::tests::svg_rejects_saved_scenario_with_absent_or_authored_layout_without_mutation",
"workflow::saved_scenario_destination_tests::empty_transition_results_do_not_make_a_scenario_an_architecture_destination"
],
"expected_passed": 87,
"expected_filtered": 1002,
"command_characters": 10149
}
]
}
@@ -0,0 +1,20 @@
# Pure file/log readers. No executable is started by these helpers.
function Get-GateBinary([string]$Path,[string]$Target) {
$resolved=[IO.Path]::GetFullPath($Path)
$root=[IO.Path]::GetFullPath($Target).TrimEnd('\','/')+[IO.Path]::DirectorySeparatorChar
if(-not $resolved.StartsWith($root,[StringComparison]::OrdinalIgnoreCase)){throw 'Executable path escapes the parent-owned target.'}
$item=Get-Item -LiteralPath $resolved
[ordered]@{path=$resolved;bytes=$item.Length;sha256=(Get-FileHash -LiteralPath $resolved -Algorithm SHA256).Hash.ToLowerInvariant();mtimeUtc=$item.LastWriteTimeUtc.ToString('o')}
}
function Get-GateTestBinaries([string]$Log,[string]$Target) {
$paths=@([regex]::Matches($Log,'(?m)^\s*Running unittests .+? \(([^\r\n]+\.exe)\)\s*$')|ForEach-Object {$_.Groups[1].Value}|Sort-Object -Unique)
foreach($path in $paths){Get-GateBinary $path $Target}
}
function Same-GateBinaries($Left,$Right) {
$a=@($Left|Sort-Object path);$b=@($Right|Sort-Object path)
if($a.Count -eq 0 -or $a.Count -ne $b.Count){return $false}
for($i=0;$i -lt $a.Count;$i++){
if($a[$i].path -ine $b[$i].path -or $a[$i].bytes -ne $b[$i].bytes -or $a[$i].sha256 -cne $b[$i].sha256){return $false}
}
return $true
}
@@ -0,0 +1,7 @@
{
"base": "8bf7607a3f3b53db0c36364f54f57674c64ea2f1",
"retainExistingTarget": true,
"cleanRequested": false,
"target": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\target",
"scope": "Original spacing checkout rebuild after reviewed Details fast-forward. Retain shared target/cache and jobs1/incremental0; no clearance is performed by this recipe. Parent owns any separately authorized package clearance. Exact source and executable binding are required."
}
@@ -0,0 +1,47 @@
#Requires -Version 7.0
param([Parameter(Mandatory=$true)][ValidatePattern('^(before|after|(list|focused|focused-batch[0-9]{2}|all|clippy|build|diagnostic)-(before|after))$')][string]$Stage)
Set-StrictMode -Version Latest
$ErrorActionPreference='Stop'
$taskWorkspace='C:\Users\User\Documents\Git\ARCADIA-Studio\.local\scenario-spacing-ytr83r-20260913'
$taskPin='8bf7607a3f3b53db0c36364f54f57674c64ea2f1'
function Hash-Input([string]$Path){(Get-FileHash -LiteralPath $Path -Algorithm SHA256).Hash.ToLowerInvariant()}
$taskOutput=Join-Path $PSScriptRoot ('inputs-complete-'+$Stage+'.json')
if(Test-Path -LiteralPath $taskOutput){throw 'Preserve existing input evidence; use a new directory for retries.'}
$pinRecord=Get-Content -Raw -LiteralPath (Join-Path $PSScriptRoot 'expected-inputs.json')|ConvertFrom-Json
$enumeration=Get-Content -Raw -LiteralPath (Join-Path $PSScriptRoot 'enumeration.json')|ConvertFrom-Json
$external=Get-Content -Raw -LiteralPath (Join-Path $PSScriptRoot 'external-inputs.json')|ConvertFrom-Json
if($pinRecord.base -cne $taskPin -or $enumeration.base -cne $taskPin -or $external.base -cne $taskPin){throw 'Wrong input pin.'}
Push-Location -LiteralPath $taskWorkspace
try {
$taskBase=git rev-parse HEAD
if($LASTEXITCODE -ne 0 -or $taskBase -cne $taskPin){throw 'Wrong source commit.'}
$status=@(git status --porcelain)
if($LASTEXITCODE -ne 0 -or $status.Count){throw 'Frozen worktree changed.'}
$taskRoots=@($enumeration.rootInputs);$taskScopes=@($enumeration.scopes)
$tracked=@(git ls-files -- @taskRoots @taskScopes)
if($LASTEXITCODE -ne 0){throw 'Git enumeration failed.'}
$tracked=@($tracked | ForEach-Object {$_.Replace('\','/')} | Sort-Object -Unique)
$present=@(rg --files @taskScopes)
if($LASTEXITCODE -ne 0){throw 'Actual input enumeration failed.'}
$taskPaths=@(($present+$taskRoots) | ForEach-Object {$_.Replace('\','/')} | Sort-Object -Unique)
if(@(Compare-Object $tracked $taskPaths).Count -or @(Compare-Object @($enumeration.gitPaths) $tracked).Count){throw 'Frozen input membership changed.'}
$taskEntries=@($taskPaths | ForEach-Object {$item=Get-Item -LiteralPath $_;[ordered]@{path=$_;bytes=$item.Length;sha256=(Hash-Input $_)}})
$externalNow=@(foreach($f in $external.files){
$present=Test-Path -LiteralPath $f.path
if($present -ne $f.present){throw ('External config presence changed: '+$f.path)}
if($present){$item=Get-Item -LiteralPath $f.path;$hash=Hash-Input $f.path;if($item.Length -ne $f.bytes -or $hash -cne $f.sha256){throw ('External input changed: '+$f.path)};[ordered]@{path=$f.path;present=$true;bytes=$item.Length;sha256=$hash}}
else{[ordered]@{path=$f.path;present=$false}}
})
$taskRecord=[ordered]@{capturedUtc=[DateTime]::UtcNow.ToString('o');workspace=$taskWorkspace;base=$taskBase;count=$taskEntries.Count;files=$taskEntries;externalInputs=$externalNow;expectedInputsSha256=(Hash-Input (Join-Path $PSScriptRoot 'expected-inputs.json'));enumerationSha256=(Hash-Input (Join-Path $PSScriptRoot 'enumeration.json'))}
$taskRecord|ConvertTo-Json -Depth 8|Set-Content -LiteralPath $taskOutput -Encoding utf8
if($taskEntries.Count -ne $pinRecord.count){throw 'Pinned dynamic count changed.'}
$expected=@{}
foreach($f in $pinRecord.files){if($expected.ContainsKey($f.path)){throw 'Duplicate pinned input.'};$expected[$f.path]=$f}
foreach($f in $taskEntries){if(-not $expected.ContainsKey($f.path)){throw 'Unexpected input.'};$old=$expected[$f.path];if($f.bytes -ne $old.bytes -or $f.sha256 -cne $old.sha256){throw ('Input changed: '+$f.path)};$expected.Remove($f.path)}
if($expected.Count){throw 'Missing input.'}
if($Stage -ne 'before'){
$baseline=Get-Content -Raw -LiteralPath (Join-Path $PSScriptRoot 'inputs-complete-before.json')|ConvertFrom-Json
if($baseline.base -cne $taskPin -or $baseline.count -ne $pinRecord.count -or $baseline.expectedInputsSha256 -cne $taskRecord.expectedInputsSha256 -or $baseline.enumerationSha256 -cne $taskRecord.enumerationSha256){throw 'Baseline binding changed.'}
}
Write-Output ('Captured and verified '+$taskEntries.Count+' inputs: '+$Stage)
} finally {Pop-Location}
@@ -0,0 +1,47 @@
#Requires -Version 7.0
param([Parameter(Mandatory=$true)][ValidatePattern('^(before|after|(list|focused|all|clippy|build|diagnostic)-(before|after))$')][string]$Stage)
Set-StrictMode -Version Latest
$ErrorActionPreference='Stop'
$taskWorkspace='C:\Users\User\Documents\Git\ARCADIA-Studio\.local\scenario-spacing-ytr83r-20260913'
$taskPin='8bf7607a3f3b53db0c36364f54f57674c64ea2f1'
function Hash-Input([string]$Path){(Get-FileHash -LiteralPath $Path -Algorithm SHA256).Hash.ToLowerInvariant()}
$taskOutput=Join-Path $PSScriptRoot ('inputs-complete-'+$Stage+'.json')
if(Test-Path -LiteralPath $taskOutput){throw 'Preserve existing input evidence; use a new directory for retries.'}
$pinRecord=Get-Content -Raw -LiteralPath (Join-Path $PSScriptRoot 'expected-inputs.json')|ConvertFrom-Json
$enumeration=Get-Content -Raw -LiteralPath (Join-Path $PSScriptRoot 'enumeration.json')|ConvertFrom-Json
$external=Get-Content -Raw -LiteralPath (Join-Path $PSScriptRoot 'external-inputs.json')|ConvertFrom-Json
if($pinRecord.base -cne $taskPin -or $enumeration.base -cne $taskPin -or $external.base -cne $taskPin){throw 'Wrong input pin.'}
Push-Location -LiteralPath $taskWorkspace
try {
$taskBase=git rev-parse HEAD
if($LASTEXITCODE -ne 0 -or $taskBase -cne $taskPin){throw 'Wrong source commit.'}
$status=@(git status --porcelain)
if($LASTEXITCODE -ne 0 -or $status.Count){throw 'Frozen worktree changed.'}
$taskRoots=@($enumeration.rootInputs);$taskScopes=@($enumeration.scopes)
$tracked=@(git ls-files -- @taskRoots @taskScopes)
if($LASTEXITCODE -ne 0){throw 'Git enumeration failed.'}
$tracked=@($tracked | ForEach-Object {$_.Replace('\','/')} | Sort-Object -Unique)
$present=@(rg --files @taskScopes)
if($LASTEXITCODE -ne 0){throw 'Actual input enumeration failed.'}
$taskPaths=@(($present+$taskRoots) | ForEach-Object {$_.Replace('\','/')} | Sort-Object -Unique)
if(@(Compare-Object $tracked $taskPaths).Count -or @(Compare-Object @($enumeration.gitPaths) $tracked).Count){throw 'Frozen input membership changed.'}
$taskEntries=@($taskPaths | ForEach-Object {$item=Get-Item -LiteralPath $_;[ordered]@{path=$_;bytes=$item.Length;sha256=(Hash-Input $_)}})
$externalNow=@(foreach($f in $external.files){
$present=Test-Path -LiteralPath $f.path
if($present -ne $f.present){throw ('External config presence changed: '+$f.path)}
if($present){$item=Get-Item -LiteralPath $f.path;$hash=Hash-Input $f.path;if($item.Length -ne $f.bytes -or $hash -cne $f.sha256){throw ('External input changed: '+$f.path)};[ordered]@{path=$f.path;present=$true;bytes=$item.Length;sha256=$hash}}
else{[ordered]@{path=$f.path;present=$false}}
})
$taskRecord=[ordered]@{capturedUtc=[DateTime]::UtcNow.ToString('o');workspace=$taskWorkspace;base=$taskBase;count=$taskEntries.Count;files=$taskEntries;externalInputs=$externalNow;expectedInputsSha256=(Hash-Input (Join-Path $PSScriptRoot 'expected-inputs.json'));enumerationSha256=(Hash-Input (Join-Path $PSScriptRoot 'enumeration.json'))}
$taskRecord|ConvertTo-Json -Depth 8|Set-Content -LiteralPath $taskOutput -Encoding utf8
if($taskEntries.Count -ne $pinRecord.count){throw 'Pinned dynamic count changed.'}
$expected=@{}
foreach($f in $pinRecord.files){if($expected.ContainsKey($f.path)){throw 'Duplicate pinned input.'};$expected[$f.path]=$f}
foreach($f in $taskEntries){if(-not $expected.ContainsKey($f.path)){throw 'Unexpected input.'};$old=$expected[$f.path];if($f.bytes -ne $old.bytes -or $f.sha256 -cne $old.sha256){throw ('Input changed: '+$f.path)};$expected.Remove($f.path)}
if($expected.Count){throw 'Missing input.'}
if($Stage -ne 'before'){
$baseline=Get-Content -Raw -LiteralPath (Join-Path $PSScriptRoot 'inputs-complete-before.json')|ConvertFrom-Json
if($baseline.base -cne $taskPin -or $baseline.count -ne $pinRecord.count -or $baseline.expectedInputsSha256 -cne $taskRecord.expectedInputsSha256 -or $baseline.enumerationSha256 -cne $taskRecord.enumerationSha256){throw 'Baseline binding changed.'}
}
Write-Output ('Captured and verified '+$taskEntries.Count+' inputs: '+$Stage)
} finally {Pop-Location}
@@ -0,0 +1,69 @@
#Requires -Version 7.0
# Optional after full acceptance; invokes the bound test executable, never Cargo.
Set-StrictMode -Version Latest
$ErrorActionPreference='Stop'
$PSNativeCommandUseErrorActionPreference=$false
$taskPin='8bf7607a3f3b53db0c36364f54f57674c64ea2f1'
if($taskPin -notmatch '^[0-9a-f]{40}$'){throw 'Finalize the reviewed source first.'}
$taskWorkspace='C:/Users/User/Documents/Git/ARCADIA-Studio/.local/scenario-spacing-ytr83r-20260913'
$taskTarget='C:/Users/User/Documents/Git/ARCADIA-Studio/target'
function Hash-Input([string]$Path){(Get-FileHash -LiteralPath $Path -Algorithm SHA256).Hash.ToLowerInvariant()}
. (Join-Path $PSScriptRoot 'binary-inputs.ps1')
$log=Join-Path $PSScriptRoot 'diagnostic.log'
$receiptPath=Join-Path $PSScriptRoot 'diagnostic-receipt.json'
if((Test-Path -LiteralPath $log)-or(Test-Path -LiteralPath $receiptPath)){throw 'Preserve existing diagnostic evidence.'}
$priorPath=Join-Path $PSScriptRoot 'all-receipt.json'
$prior=Get-Content -Raw -LiteralPath $priorPath|ConvertFrom-Json
if($prior.stage -cne 'all' -or $prior.base -cne $taskPin -or $prior.workspace.Replace('\','/') -cne $taskWorkspace -or $prior.target.Replace('\','/') -cne $taskTarget -or $prior.cargoExitCode -ne 0 -or -not $prior.selectionValid -or -not $prior.inputsUnchanged -or -not $prior.testBinaryBindingValid){throw 'The exact full stage has not passed.'}
$bound=@{}
foreach($property in $prior.boundScriptAndInputHashes.PSObject.Properties){
$hash=Hash-Input (Join-Path $PSScriptRoot $property.Name)
if($hash -cne $property.Value){throw ('Prior binding changed: '+$property.Name)}
$bound[$property.Name]=$hash
}
foreach($name in @('all-receipt.json','all.log','toolchain-versions.json')){$bound[$name]=Hash-Input (Join-Path $PSScriptRoot $name)}
if($bound['all.log'] -cne $prior.rawLogSha256 -or $bound['toolchain-versions.json'] -cne $prior.toolchainVersionsSha256){throw 'Full log/toolchain receipt changed.'}
if(-not $bound.ContainsKey('diagnostic.ps1')){throw 'Diagnostic recipe was not bound by the full gate.'}
$selection=Get-Content -Raw -LiteralPath (Join-Path $PSScriptRoot 'expected-tests.json')|ConvertFrom-Json
$name=$selection.diagnostic_test
if($selection.source_commit -cne $taskPin -or $name -cnotin $selection.ignored_tests -or $name -cnotin $selection.desktop_tests -or $name -cin $selection.tests){throw 'Wrong ignored diagnostic membership.'}
$binaries=@($prior.testExecutables|ForEach-Object {Get-GateBinary $_.path $taskTarget})
if($binaries.Count -ne 1 -or -not (Same-GateBinaries @($prior.testExecutables) $binaries)){throw 'Previously listed test executable changed.'}
& (Join-Path $PSScriptRoot 'capture.ps1') -Stage diagnostic-before
$arguments=@('--exact',$name,'--ignored','--nocapture','--test-threads=1')
$started=[DateTime]::UtcNow.ToString('o')
$exitCode=$null;$finished=$null;$failure=$null;$valid=$false;$unchanged=$false;$after=@();$summaries=@();$payload=$null
$hadSourcePin=Test-Path Env:SCENARIO_SPACING_SOURCE_PIN
$previousSourcePin=$env:SCENARIO_SPACING_SOURCE_PIN
Push-Location -LiteralPath $taskWorkspace
try {
. 'C:/Users/User/Documents/Git/ARCADIA-Studio/.local/toolchain/env.ps1'
$env:SCENARIO_SPACING_SOURCE_PIN=$taskPin
$executable=$binaries[0].path
& $executable @arguments 2>&1|Tee-Object -FilePath $log
$exitCode=$LASTEXITCODE
$finished=[DateTime]::UtcNow.ToString('o')
$raw=Get-Content -Raw -LiteralPath $log
$startedNames=@([regex]::Matches($raw,'(?m)^test ([^\r\n]+?) \.\.\. ')|ForEach-Object {$_.Groups[1].Value})
$summaries=@([regex]::Matches($raw,'test result: (ok|FAILED)\. (\d+) passed; (\d+) failed; (\d+) ignored; (\d+) measured; (\d+) filtered out;')|ForEach-Object {[ordered]@{status=$_.Groups[1].Value;passed=[int]$_.Groups[2].Value;failed=[int]$_.Groups[3].Value;ignored=[int]$_.Groups[4].Value;measured=[int]$_.Groups[5].Value;filtered=[int]$_.Groups[6].Value}})
$json=@([regex]::Matches($raw,'SPACING_TIMING_JSON=(\{[^\r\n]+\})'))
if($json.Count -eq 1){$payload=$json[0].Groups[1].Value|ConvertFrom-Json}
$valid=$exitCode -eq 0 -and $startedNames.Count -eq 1 -and $startedNames[0] -ceq $name -and $summaries.Count -eq 1 -and $summaries[0].status -ceq 'ok' -and $summaries[0].passed -eq 1 -and $summaries[0].failed -eq 0 -and $summaries[0].ignored -eq 0 -and $summaries[0].measured -eq 0 -and $summaries[0].filtered -eq (@($selection.desktop_tests).Count-1) -and $null -ne $payload -and $payload.invariant_status -ceq 'passed'
if($valid){
$valid=$payload.schema -ceq 'scenario_spacing_timing_v1' -and $payload.profile_context.source_pin_from_runner -ceq $taskPin -and $payload.fixture.lanes -eq 20 -and $payload.fixture.messages -eq 1000 -and $payload.fixture.saved_views -eq 3 -and $payload.fixture.target_index -eq 500 -and $payload.fixture.distinct_message_ids -eq 1000 -and @($payload.samples).Count -eq 28
foreach($phase in @(@('capture_message',4),@('prepare_message',20),@('capture_lane',1),@('prepare_lane',3))){$valid=$valid -and @($payload.samples|Where-Object phase -CEQ $phase[0]).Count -eq $phase[1]}
}
} catch {$failure=$_.Exception.Message}
finally {
if($hadSourcePin){$env:SCENARIO_SPACING_SOURCE_PIN=$previousSourcePin}else{Remove-Item Env:SCENARIO_SPACING_SOURCE_PIN -ErrorAction SilentlyContinue}
Pop-Location
try {
& (Join-Path $PSScriptRoot 'capture.ps1') -Stage diagnostic-after
$after=@($binaries|ForEach-Object {Get-GateBinary $_.path $taskTarget})
if(-not (Same-GateBinaries $binaries $after)){throw 'Diagnostic executable changed during execution.'}
foreach($file in $bound.Keys){if((Hash-Input (Join-Path $PSScriptRoot $file)) -cne $bound[$file]){throw ('Bound input changed: '+$file)}}
$unchanged=$true
} catch {$failure=$_.Exception.Message}
[ordered]@{stage='diagnostic';base=$taskPin;workspace=$taskWorkspace;test=$name;arguments=$arguments;startUtc=$started;endUtc=$finished;exitCode=$exitCode;selectionValid=$valid;inputsUnchanged=$unchanged;failure=$failure;priorFullReceiptSha256=$bound['all-receipt.json'];boundHashes=$bound;binaryBefore=$binaries;binaryAfter=$after;summary=$summaries;timing=$payload;rawLogSha256=if(Test-Path -LiteralPath $log){Hash-Input $log}else{$null};beforeCaptureSha256=(Hash-Input (Join-Path $PSScriptRoot 'inputs-complete-diagnostic-before.json'));afterCaptureSha256=if(Test-Path -LiteralPath (Join-Path $PSScriptRoot 'inputs-complete-diagnostic-after.json')){Hash-Input (Join-Path $PSScriptRoot 'inputs-complete-diagnostic-after.json')}else{$null};scope='Optional debug-profile diagnostic; not a responsiveness budget or release performance claim. No Cargo, compile, native UI or persistent model edits.'}|ConvertTo-Json -Depth 16|Set-Content -LiteralPath $receiptPath -Encoding utf8
}
if(-not $valid -or -not $unchanged -or $failure){throw 'Diagnostic failed; inspect retained receipt and raw log.'}
@@ -0,0 +1,27 @@
#Requires -Version 7.0
$ErrorActionPreference='Stop'
if(Test-Path -LiteralPath (Join-Path $PSScriptRoot 'enumeration.json')){throw 'Preserve existing enumeration; use a new gate for retries.'}
Set-StrictMode -Version Latest
$workspace='C:\Users\User\Documents\Git\ARCADIA-Studio\.local\scenario-spacing-ytr83r-20260913'
$pin='8bf7607a3f3b53db0c36364f54f57674c64ea2f1'
Push-Location -LiteralPath $workspace
try {
$head=git rev-parse HEAD
if($LASTEXITCODE -ne 0 -or $head -cne $pin){throw 'Wrong frozen pin'}
$status=@(git status --porcelain)
if($LASTEXITCODE -ne 0 -or $status.Count){throw 'Frozen worktree is not clean'}
$scopes=@('crates','docs','examples','build','harness/fixtures','harness/experiments/textual-authoring-20260911')
$roots=@('Cargo.toml','Cargo.lock','rust-toolchain.toml')
$tracked=@(git ls-files -- @roots @scopes)
if($LASTEXITCODE -ne 0){throw 'Git enumeration failed'}
$tracked=@($tracked | ForEach-Object { $_.Replace('\','/') } | Sort-Object -Unique)
$present=@(rg --files @scopes)
if($LASTEXITCODE -ne 0){throw 'Independent rg enumeration failed'}
$present=@(($present+$roots) | ForEach-Object { $_.Replace('\','/') } | Sort-Object -Unique)
if(@(Compare-Object $tracked $present).Count){throw 'Git and actual file memberships differ'}
$gitTree=git rev-parse 'HEAD^{tree}'
if($LASTEXITCODE -ne 0){throw 'Tree identity unavailable'}
$record=[ordered]@{base=$head;tree=$gitTree;workspace=$workspace;capturedUtc=[DateTime]::UtcNow.ToString('o');scopes=$scopes;rootInputs=$roots;gitCount=$tracked.Count;rgCount=$present.Count;gitPaths=$tracked;rgPaths=$present}
$record|ConvertTo-Json -Depth 6|Set-Content -LiteralPath (Join-Path $PSScriptRoot 'enumeration.json') -Encoding utf8
Write-Output ('Verified Git/rg membership '+$tracked.Count+' at '+$head)
} finally {Pop-Location}
@@ -0,0 +1,44 @@
{
"base": "8bf7607a3f3b53db0c36364f54f57674c64ea2f1",
"status": "Fresh external environment/config snapshot; not version-controlled inputs",
"files": [
{
"path": "C:/Users/User/Documents/Git/ARCADIA-Studio/.local/toolchain/env.ps1",
"present": true,
"bytes": 572,
"sha256": "be2226f08764bb6961b4be8513ce55bab076890cddd2fef0f54a4031f94a82d4"
},
{
"path": "C:/Users/User/Documents/Git/ARCADIA-Studio/.cargo/config",
"present": false
},
{
"path": "C:/Users/User/Documents/Git/ARCADIA-Studio/.local/.cargo/config",
"present": false
},
{
"path": "C:/Users/User/Documents/Git/ARCADIA-Studio/.local/scenario-spacing-ytr83r-20260913/.cargo/config",
"present": false
},
{
"path": "C:/Users/User/Documents/Git/ARCADIA-Studio/.local/toolchain/cargo/config",
"present": false
},
{
"path": "C:/Users/User/Documents/Git/ARCADIA-Studio/.cargo/config.toml",
"present": false
},
{
"path": "C:/Users/User/Documents/Git/ARCADIA-Studio/.local/.cargo/config.toml",
"present": false
},
{
"path": "C:/Users/User/Documents/Git/ARCADIA-Studio/.local/scenario-spacing-ytr83r-20260913/.cargo/config.toml",
"present": false
},
{
"path": "C:/Users/User/Documents/Git/ARCADIA-Studio/.local/toolchain/cargo/config.toml",
"present": false
}
]
}
@@ -0,0 +1,13 @@
{
"base": "8bf7607a3f3b53db0c36364f54f57674c64ea2f1",
"capturedUtc": "2026-09-13T11:37:00.5175682Z",
"sourceCount": 611,
"focusedCount": 295,
"desktopExpectedCount": 1089,
"cleanPerformed": false,
"cargoExecuted": false,
"sourceBeforeSha256": "918c5f24b8d65e09ae39850d394015d92265003aa14776b35ef0882b4869c73f",
"selectionSha256": "4eaa6987aa91c7dcabb14ad4a3b17a4cec7718a30a820034ea4efa1a3afcb6d0",
"parserSha256": "38286acc9bdd913af5194cb26d53c8e9905734853ae168c8f2d67c2c7e490375",
"status": "Prepared only; parent dispatches list, focused, all, clippy, build sequentially"
}
@@ -0,0 +1,104 @@
#Requires -Version 7.0
param([Parameter(Mandatory=$true)][ValidatePattern('^[0-9a-f]{40}$')][string]$SourceCommit,[Parameter(Mandatory=$true)][switch]$Reviewed)
Set-StrictMode -Version Latest
$ErrorActionPreference='Stop'
$workspace='C:/Users/User/Documents/Git/ARCADIA-Studio/.local/scenario-spacing-ytr83r-20260913'
$root='C:/Users/User/Documents/Git/ARCADIA-Studio'
if(-not $Reviewed){throw 'Parent must review the exact Details source before finalization.'}
if(Test-Path -LiteralPath (Join-Path $PSScriptRoot 'finalization.json')){throw 'Already finalized; preserve this gate.'}
foreach($name in @('enumeration.json','expected-inputs.json','external-inputs.json','inputs-complete-before.json','toolchain-versions.json','list.log','list-receipt.json')){
if(Test-Path -LiteralPath (Join-Path $PSScriptRoot $name)){throw ('Prior capture or run exists: '+$name)}
}
function Hash-Input([string]$Path){(Get-FileHash -LiteralPath $Path -Algorithm SHA256).Hash.ToLowerInvariant()}
function Save-Record([string]$Name,$Record){$Record|ConvertTo-Json -Depth 16|Set-Content -LiteralPath (Join-Path $PSScriptRoot $Name) -Encoding utf8}
Push-Location -LiteralPath $workspace
try {
$head=git rev-parse HEAD
if($LASTEXITCODE -ne 0 -or $head -cne $SourceCommit){throw 'Source is not at the reviewed pin.'}
$status=@(git status --porcelain)
if($LASTEXITCODE -ne 0 -or $status.Count){throw 'Source must be committed and clean.'}
$correction=Get-Content -Raw -LiteralPath (Join-Path $PSScriptRoot 'source-change-template.json')|ConvertFrom-Json
$changes=@(git diff --name-only $correction.previous_source $SourceCommit)
if($LASTEXITCODE -ne 0 -or $changes.Count -ne 4 -or @(Compare-Object @($correction.expected_changed_paths|Sort-Object) @($changes|Sort-Object)).Count){throw 'Expected exactly the four reviewed Details paths from 0409.'}
if($SourceCommit -cne $correction.reviewed_source){throw 'SourceCommit must equal the exact reviewed Details commit.'}
$reviewDiff=@(git diff --name-only $correction.reviewed_source $SourceCommit)
if($LASTEXITCODE -ne 0 -or $reviewDiff.Count){throw 'Tree differs from reviewed Details source; revise/review the template first.'}
$instructionBlob=git rev-parse 'HEAD:AGENTS.md'
if($LASTEXITCODE -ne 0 -or $instructionBlob -cne $correction.instruction_git_blob -or (Get-Item -LiteralPath 'AGENTS.md').Length -ne $correction.instruction_bytes -or (Hash-Input 'AGENTS.md') -cne $correction.instruction_sha256){throw 'User instructions differ from reviewed bytes.'}
$serverChanges=@(git diff --name-only 37be41092beb1c940f345072df1e017ce45fe2fc $SourceCommit -- crates/oa-core crates/oa-server Cargo.toml Cargo.lock rust-toolchain.toml)
if($LASTEXITCODE -ne 0 -or $serverChanges.Count){throw 'Core/server provenance changed; parent must revise gate scope.'}
} finally {Pop-Location}
# All evidence admission precedes mutation of the pending template or source captures.
foreach($binding in @($correction.prior_gate_bindings)+@($correction.prior_recipe_bindings)){
if((Get-Item -LiteralPath $binding.path).Length -ne $binding.bytes -or (Hash-Input $binding.path) -cne $binding.sha256){throw ('Prior evidence changed: '+$binding.path)}
}
$priorGate=Split-Path -Parent $correction.previous_capture.path
$list=Get-Content -Raw -LiteralPath (Join-Path $priorGate 'list-receipt.json')|ConvertFrom-Json
$focused=Get-Content -Raw -LiteralPath (Join-Path $priorGate 'focused-receipt.json')|ConvertFrom-Json
if($list.base -cne $correction.previous_source -or $list.cargoExitCode -ne 0 -or -not $list.selectionValid -or -not $list.inputsUnchanged -or -not $list.testBinaryBindingValid -or $list.postflightFailure -or @($list.listedTests).Count -ne 1083){throw 'Prior 0409 listing is not the bound successful 1083 inventory.'}
$focusedResult=@($focused.testResultSummaries)
if($focused.base -cne $correction.previous_source -or $focused.cargoExitCode -ne 0 -or -not $focused.selectionValid -or -not $focused.inputsUnchanged -or -not $focused.testBinaryBindingValid -or $focused.postflightFailure -or $focusedResult.Count -ne 1 -or $focusedResult[0].passed -ne 289 -or $focusedResult[0].failed -ne 0 -or $focusedResult[0].ignored -ne 0 -or $focusedResult[0].filtered -ne 794){throw 'Prior focused result differs from reviewed 289 passed / 0 failed evidence.'}
foreach($name in @('run.ps1','capture.ps1','enumerate-inputs.ps1','diagnostic.ps1')){
$path=Join-Path $PSScriptRoot $name
$text=[IO.File]::ReadAllText($path)
if(-not $text.Contains('PENDING_REVIEWED_SOURCE_PIN')){throw 'Template was already modified; inspect before retry.'}
[IO.File]::WriteAllText($path,$text.Replace('PENDING_REVIEWED_SOURCE_PIN',$SourceCommit),[Text.UTF8Encoding]::new($false))
}
$selection=Get-Content -Raw -LiteralPath (Join-Path $PSScriptRoot 'expected-tests.json')|ConvertFrom-Json
if(@($selection.tests).Count -ne 295 -or @($selection.tests|Sort-Object -Unique).Count -ne 295 -or @($selection.desktop_tests).Count -ne 1089 -or @($selection.desktop_tests|Sort-Object -Unique).Count -ne 1089){throw 'Expected membership changed; parent must review selection.'}
if(@($selection.tests|Where-Object {$_ -cnotin $selection.desktop_tests}).Count){throw 'Focused test absent from expected desktop listing.'}
$selectionEvidence=Get-Content -Raw -LiteralPath (Join-Path $PSScriptRoot 'selection-provenance.json')|ConvertFrom-Json
$oldSelection=Get-Content -Raw -LiteralPath (Join-Path $priorGate 'expected-tests.json')|ConvertFrom-Json
$detailsPath=Join-Path $workspace $correction.expected_added_path
$detailsText=[IO.File]::ReadAllText($detailsPath)
$newTests=@([regex]::Matches($detailsText,'#\[(?:tokio::)?test\]\s*(?:async\s+)?fn\s+(\w+)\s*\(')|ForEach-Object {'behavior::scenario::workspace::details_tests::'+$_.Groups[1].Value})
if($newTests.Count -ne 6 -or @($newTests|Sort-Object -Unique).Count -ne 6 -or $detailsText -match '#\[ignore'){throw 'Expected six nonignored Details tests in the actual source.'}
if(@(Compare-Object @(@($oldSelection.tests)+$newTests|Sort-Object) @($selection.tests|Sort-Object)).Count -or @(Compare-Object @(@($oldSelection.desktop_tests)+$newTests|Sort-Object) @($selection.desktop_tests|Sort-Object)).Count){throw 'New membership must be exactly prior inventory plus the six source-derived tests.'}
if(@($selection.ignored_tests).Count -ne 4 -or @(Compare-Object @($oldSelection.ignored_tests|Sort-Object) @($selection.ignored_tests|Sort-Object)).Count){throw 'Ignored membership must remain unchanged.'}
$selection.source_commit=$SourceCommit
Save-Record 'expected-tests.json' $selection
& (Join-Path $PSScriptRoot 'enumerate-inputs.ps1')
$enumeration=Get-Content -Raw -LiteralPath (Join-Path $PSScriptRoot 'enumeration.json')|ConvertFrom-Json
$inputs=@(foreach($relative in $enumeration.gitPaths){$path=Join-Path $workspace $relative;$item=Get-Item -LiteralPath $path;[ordered]@{path=$relative;bytes=$item.Length;sha256=(Hash-Input $path)}})
$previousCapture=$correction.previous_capture
$previous=Get-Content -Raw -LiteralPath $previousCapture.path|ConvertFrom-Json
if($previous.base -cne $correction.previous_source -or $previous.count -ne 610 -or $inputs.Count -ne 611){throw 'Details must retain the 610 prior inputs and add exactly one reviewed test module.'}
$remaining=@{}
foreach($file in $previous.files){if($remaining.ContainsKey($file.path)){throw 'Duplicate previous input'};$remaining[$file.path]=$file}
$changedInputs=@(foreach($file in $inputs){
if(-not $remaining.ContainsKey($file.path)){
if($file.path -cne $correction.expected_added_path){throw ('Unreviewed new compiled input: '+$file.path)}
continue
}
$old=$remaining[$file.path]
if($file.bytes -ne $old.bytes -or $file.sha256 -cne $old.sha256){
if($file.path -cnotin $correction.expected_changed_paths){throw ('Unreviewed compiled input changed: '+$file.path)}
$file.path
}
$remaining.Remove($file.path)
})
if($remaining.Count -or $changedInputs.Count -ne 3 -or @($inputs|Where-Object path -CEQ $correction.expected_added_path).Count -ne 1){throw 'Expected three changed existing inputs, 607 byte-identical inputs, and one reviewed added test module.'}
Save-Record 'source-change-provenance.json' ([ordered]@{source_commit=$SourceCommit;reviewed_source=$correction.reviewed_source;previous_source=$correction.previous_source;tree_equal_to_reviewed=$true;input_count=611;changed_inputs=$changedInputs;added_input=$correction.expected_added_path;unchanged_input_count=607;instruction_git_blob=$instructionBlob;status='Parent-reviewed Details tree in original spacing checkout verified; source-only capture, no Cargo executed'})
Save-Record 'expected-inputs.json' ([ordered]@{base=$SourceCommit;workspace=$workspace;count=$inputs.Count;files=$inputs})
$external=Get-Content -Raw -LiteralPath (Join-Path $PSScriptRoot 'external-input-template.json')|ConvertFrom-Json
$externalFiles=@(foreach($file in $external.files){$present=Test-Path -LiteralPath $file.path;if($present){$item=Get-Item -LiteralPath $file.path;[ordered]@{path=$file.path;present=$true;bytes=$item.Length;sha256=(Hash-Input $file.path)}}else{[ordered]@{path=$file.path;present=$false}}})
Save-Record 'external-inputs.json' ([ordered]@{base=$SourceCommit;status='Fresh external environment/config snapshot; not version-controlled inputs';files=$externalFiles})
$server=Get-Content -Raw -LiteralPath (Join-Path $PSScriptRoot 'server-provenance-template.json')|ConvertFrom-Json
$server.source=$SourceCommit
Save-Record 'server-provenance.json' $server
Save-Record 'cache-policy.json' ([ordered]@{base=$SourceCommit;retainExistingTarget=$true;cleanRequested=$false;target=(Join-Path $root 'target');scope='Original spacing checkout rebuild after reviewed Details fast-forward. Retain shared target/cache and jobs1/incremental0; no clearance is performed by this recipe. Parent owns any separately authorized package clearance. Exact source and executable binding are required.'})
Save-Record 'prior-gate-provenance.json' ([ordered]@{
source=$SourceCommit
previousSource=$correction.previous_source
scope='Closed 0409 listing passed (1083); focused passed (289 / 0 / 0, 794 filtered). These are previous-version evidence only. No prior full/strict/build success is inferred. Older c4 failure/diagnostic provenance is preserved through the bound prior gate record. Every Details acceptance stage must pass anew.'
bindings=$correction.prior_gate_bindings
recipeBindings=$correction.prior_recipe_bindings
list=[ordered]@{cargoExitCode=$list.cargoExitCode;selectionValid=$list.selectionValid;inputsUnchanged=$list.inputsUnchanged;count=@($list.listedTests).Count}
focused=[ordered]@{cargoExitCode=$focused.cargoExitCode;selectionValid=$focused.selectionValid;inputsUnchanged=$focused.inputsUnchanged;result=$focused.testResultSummaries}
})
& (Join-Path $PSScriptRoot 'capture.ps1') -Stage before
& (Join-Path $PSScriptRoot 'validate-scripts.ps1')
& (Join-Path $PSScriptRoot 'verify-parser.ps1')
Save-Record 'finalization.json' ([ordered]@{base=$SourceCommit;capturedUtc=[DateTime]::UtcNow.ToString('o');sourceCount=$inputs.Count;focusedCount=295;desktopExpectedCount=1089;cleanPerformed=$false;cargoExecuted=$false;sourceBeforeSha256=(Hash-Input (Join-Path $PSScriptRoot 'inputs-complete-before.json'));selectionSha256=(Hash-Input (Join-Path $PSScriptRoot 'expected-tests.json'));parserSha256=(Hash-Input (Join-Path $PSScriptRoot 'parser-verification.json'));status='Prepared only; parent dispatches list, focused, all, clippy, build sequentially'})
Write-Output ('Finalized source-only gate for '+$SourceCommit+' with '+$inputs.Count+' inputs; no Cargo or clean executed.')
File diff suppressed because one or more lines are too long
@@ -0,0 +1,114 @@
Finished `test` profile [unoptimized] target(s) in 22.00s
Running unittests src\main.rs (C:\Users\User\Documents\Git\ARCADIA-Studio\target\debug\deps\arcadia_studio-27db9628b266bf39.exe)
running 107 tests
test app::behavior_lifecycle_tests::incomplete_behavior_form_is_dirty_close_save_retains_it_and_cancel_allows_switching ... ok
test app::behavior_lifecycle_tests::passive_behavior_canvas_events_do_not_apply_property_drafts ... ok
test app::behavior_lifecycle_tests::pending_behavior_blocks_navigation_property_edits_and_model_history ... ok
test app::behavior_lifecycle_tests::pending_behavior_blocks_source_creation_and_source_history_replay ... ok
test app::behavior_lifecycle_tests::save_prepares_behavior_before_opening_destination_and_cancel_keeps_one_undo ... ok
test app::behavior_lifecycle_tests::source_writeback_failure_keeps_typed_behavior_form_for_repair_and_one_undo ... ok
test app::diagram_reveal::tests::actual_window_resize_before_first_measurement_retains_focus_for_the_new_context ... ok
test app::diagram_reveal::tests::all_reveal_surfaces_recenter_once_after_the_real_viewport_and_preserve_authored_state ... ok
test app::diagram_reveal::tests::malformed_or_wrong_stamp_measurements_cannot_poison_a_pending_reveal ... ok
test app::diagram_reveal::tests::user_camera_edit_and_navigation_cancel_deferred_focus_without_late_snapping ... ok
test app::diagram_selection_tests::changing_visible_view_follows_its_clean_inspector_without_a_model_edit ... ok
test app::diagram_selection_tests::diagram_switch_preserves_an_independent_semantic_inspection ... ok
test app::diagram_selection_tests::diagram_uuid_edit_follows_the_same_view_or_a_different_picker_target ... ok
test app::diagram_selection_tests::invalid_view_draft_blocks_the_switch_and_retains_raw_input ... ok
test app::diagram_selection_tests::stale_diagram_choice_never_applies_an_unrelated_valid_draft ... ok
test app::diagram_selection_tests::valid_pending_view_edit_applies_to_old_view_then_inspects_the_new_view ... ok
test app::diagram_usages::tests::accepted_new_chooser_retires_old_measurement_without_blocking_future_viewports ... ok
test app::diagram_usages::tests::allocation_navigation_keeps_relation_selection_and_exact_visual_work_lifetime ... ok
test app::diagram_usages::tests::asynchronous_lookup_is_loading_inert_and_retains_filter_until_completion ... ok
test app::diagram_usages::tests::caret_uses_exact_verified_alias_identity_and_preserves_source_cursor ... ok
test app::diagram_usages::tests::closed_lookup_keeps_slot_and_replacement_waits_for_exact_old_completion ... ok
test app::diagram_usages::tests::completion_after_cancel_releases_slot_without_reopening_or_moving ... ok
test app::diagram_usages::tests::completion_releases_worker_behind_busy_modal_without_navigation ... ok
test app::diagram_usages::tests::dirty_or_comment_caret_has_no_selected_object_fallback ... ok
test app::diagram_usages::tests::forged_completion_cannot_release_another_slot_or_admit_wrong_context ... ok
test app::diagram_usages::tests::old_panel_tokens_and_forged_targets_cannot_redirect_selection ... ok
test app::diagram_usages::tests::oversized_node_focus_stays_on_label_and_single_surface_query_excludes_other_views ... ok
test app::diagram_usages::tests::pending_source_behavior_and_modal_inputs_block_open_and_choose_without_loss ... ok
test app::diagram_usages::tests::port_navigation_selects_port_and_exact_visible_owner_without_editing_geometry ... ok
test app::diagram_usages::tests::query_presentation_snapshot_keeps_expansion_without_retaining_live_state ... ok
test app::diagram_usages::tests::repeated_preview_arrows_select_the_relation_and_highlight_the_exact_caller_link ... ok
test app::diagram_usages::tests::repeated_process_calls_reveal_the_chosen_caller_and_distinct_tile_camera ... ok
test app::diagram_usages::tests::repeated_scenario_messages_select_the_exact_occurrence_and_move_camera ... ok
test app::diagram_usages::tests::reset_keeps_old_worker_slot_and_only_new_document_results_are_admitted ... ok
test app::diagram_usages::tests::revision_retarget_and_document_change_make_old_destinations_inert ... ok
test app::diagram_usages::tests::saved_node_and_edge_navigation_preserve_whole_sources_and_actual_history ... ok
test app::diagram_usages::tests::saved_scenario::explicit_saved_layout_repair_undo_redo_requeries_authored_and_fallback_geometry_without_extra_history ... ok
test app::diagram_usages::tests::saved_scenario::retargeted_saved_view_cannot_reveal_a_former_owner_occurrence ... ok
test app::diagram_usages::tests::saved_scenario::saved_a_b_a_rejects_old_visit_and_panel_callbacks_before_deferred_measurement ... ok
test app::diagram_usages::tests::saved_scenario::saved_chooser_and_explicit_reveal_preserve_complete_source_and_actual_undo_redo ... ok
test app::diagram_usages::tests::saved_scenario::saved_queries_use_each_actual_presentation_and_keep_repeated_appearances_and_references_opaque ... ok
test app::diagram_usages::tests::saved_scenario::saved_reveal_and_chooser_refuse_source_property_and_behavior_drafts ... ok
test app::diagram_usages::tests::stale_caret_completion_never_opens_diagrams_for_current_selection ... ok
test app::diagram_usages::tests::stale_open_context_cannot_replace_a_panel ... ok
test app::diagram_usages::tests::stale_revision_completion_refreshes_asynchronously_without_activating ... ok
test app::diagram_usages::tests::state_row_navigation_has_exact_visual_row_without_retargeting_the_selected_relation ... ok
test app::diagram_usages::tests::tree_origin_captures_subject_and_never_falls_back_to_current_selection_or_name ... ok
test app::diagram_usages::tests::whole_surface_camera_fits_huge_extent_while_target_camera_remains_readable ... ok
test app::diagram_usages::tests::worker_failure_finishes_loading_and_can_be_retried_without_losing_sources ... ok
test app::direct_scenario_tests::direct_scenario_camera_details_and_real_resize_invalidate_only_pointer_context ... ok
test app::direct_scenario_tests::direct_scenario_creation_and_reorder_preserve_selection_and_each_undo_once ... ok
test app::direct_scenario_tests::direct_scenario_rejects_every_stale_context_and_preserves_property_drafts ... ok
test app::direct_scenario_tests::direct_scenario_source_failure_and_navigation_keep_form_until_success ... ok
test app::saved_scenario_dispatch_tests::forged_saved_usage_is_refused_without_selection_or_camera_changes ... ok
test app::saved_scenario_dispatch_tests::missing_export_target_does_not_apply_pending_properties_or_open_dialog ... ok
test app::saved_scenario_dispatch_tests::rejected_export_schedules_no_write_and_preserves_draft_history_and_busy_state ... ok
test app::saved_scenario_dispatch_tests::saved_picker_with_invalid_properties_and_reveal_with_pending_properties_do_not_apply ... ok
test app::saved_scenario_dispatch_tests::saved_scenario_cannot_use_architecture_controls_or_change_projection_by_toolbar ... ok
test app::saved_scenario_dispatch_tests::saved_scenario_does_not_start_the_existing_architecture_palette ... ok
test app::saved_scenario_dispatch_tests::semantic_scenario_preview_remains_available_and_saved_views_are_not_default_architecture ... ok
test app::scenario_diagram::adoption_tests::missing_and_deleted_picker_ids_cannot_apply_an_unrelated_valid_property_draft ... ok
test app::scenario_diagram::adoption_tests::source_cross_layer_owner_retarget_undo_redo_keeps_requested_saved_uuid ... ok
test app::scenario_diagram::adoption_tests::source_deleted_owner_and_saved_view_mount_unavailable_instead_of_another_behavior ... ok
test app::scenario_diagram::adoption_tests::source_same_layer_owner_retarget_undo_redo_keeps_requested_saved_uuid ... ok
test app::scenario_diagram::owner_navigation_tests::saved_scenario_direct_behavior_selection_enters_explicit_process_or_state_owner ... ok
test app::scenario_diagram::owner_navigation_tests::saved_scenario_guide_selection_returns_to_explicit_process_or_state_owner ... ok
test app::scenario_diagram::tests::arrangement_picker_rejects_previous_visit_and_switches_automatic_without_model_changes ... ok
test app::scenario_diagram::tests::leaving_and_reentering_saved_view_preserves_source_and_retires_passive_visit ... ok
test app::scenario_diagram::tests::saved_picker_applies_valid_old_draft_and_uuid_edit_follows_that_same_view ... ok
test app::scenario_diagram::tests::saved_reference_back_restores_exact_view_with_a_fresh_visit ... ok
test app::scenario_diagram::tests::saved_view_return_rejects_old_passive_events_without_an_intermediate_frame ... ok
test app::scenario_diagram::tests::saved_view_switches_are_distinct_passive_visits_and_preserve_actual_history ... ok
test app::scenario_spacing::tests::click_selects_but_crossed_return_and_cancel_preserve_selection_camera_and_history ... ok
test app::scenario_spacing::tests::modal_open_cancels_preview_and_captured_begin_stays_retired_after_close ... ok
test app::scenario_spacing::tests::pending_semantic_draft_and_source_edit_cancel_and_reject_held_finish ... ok
test app::scenario_spacing::tests::same_batch_preview_is_immutable_and_one_commit_undo_redo_has_exact_source_parity ... ok
test app::scenario_spacing::tests::source_write_failure_cannot_commit_candidate_or_materialize_camera ... ok
test app::scenario_spacing::tests::stale_finish_after_new_view_and_forged_token_are_inert_before_reveal_reconciliation ... ok
test app::scenario_spacing::tests::stale_finish_cannot_remove_new_same_view_deferred_reveal ... ok
test app::source_rename::tests::navigation_union_tests::rename_then_exact_caret_diagram_navigation_preserves_complete_model_undo_redo_history ... ok
test app::transition_context_tests::explicit_behavior_internal_and_process_roots_keep_their_workspace_without_creating_a_view ... ok
test app::transition_context_tests::explicit_destination_is_honored_and_ordinary_work_transition_still_places_in_architecture ... ok
test app::transition_context_tests::machine_and_typed_action_transitions_resolve_the_owner_and_reusing_that_context_retains_camera ... ok
test app::transition_context_tests::rejected_source_writeback_keeps_review_and_navigation_and_invalid_draft_still_blocks_start ... ok
test app::transition_context_tests::scenario_transition_focuses_requested_counterpart_and_preserves_unrelated_views_in_both_directions ... ok
test behavior::canvas_workspace::camera_policy_tests::tiny_zoom_label_is_nonzero_and_changes_with_zoom ... ok
test behavior::canvas_workspace::camera_policy_tests::topology_retains_five_percent_floor ... ok
test behavior::canvas_workspace::tests::relative_camera_zoom_keeps_the_cursor_world_point_and_rejects_nonfinite_inputs ... ok
test behavior::canvas_workspace::tests::viewport_ordered_batch_uses_each_event_position_and_cancels_before_camera_motion ... ok
test behavior::contextual_source_tests::contextual_source_app_checkpoint_restores_inner_raw_draft_without_model_adoption ... ok
test behavior::contextual_source_tests::contextual_source_app_empty_actions_and_child_open_refuse_other_raw_editors ... ok
test behavior::contextual_source_tests::contextual_source_app_modal_escape_then_child_back_then_parent_cancel_preserve_accepted_source ... ok
test behavior::contextual_source_tests::contextual_source_back_remains_available_after_owner_deletion_and_with_dirty_editors ... ok
test behavior::contextual_source_tests::contextual_source_back_retains_parent_and_rejects_late_child_event ... ok
test behavior::contextual_source_tests::contextual_source_default_consumer_name_has_stable_alias_and_correlated_selection ... ok
test behavior::contextual_source_tests::contextual_source_deleted_owner_view_retains_draft_instead_of_panicking_or_using_fallback ... ok
test behavior::contextual_source_tests::contextual_source_empty_history_reports_no_change_and_success_requires_a_real_history_step ... ok
test behavior::contextual_source_tests::contextual_source_empty_palette_lifeline_cannot_open_a_previous_owner_or_layer ... ok
test behavior::contextual_source_tests::contextual_source_existing_choice_prunes_staged_dependency ... ok
test behavior::contextual_source_tests::contextual_source_failed_source_budget_preserves_both_drafts_and_accepted_bytes ... ok
test behavior::contextual_source_tests::contextual_source_incomplete_recovered_kind_reports_error_without_panicking ... ok
test behavior::contextual_source_tests::contextual_source_inserts_work_on_the_exact_guarded_link_and_refuses_exchange_identity_conflict ... ok
test behavior::contextual_source_tests::contextual_source_lifelines_stage_exact_separate_records_and_one_history_entry ... ok
test behavior::contextual_source_tests::contextual_source_machine_before_any_owner_creates_optional_view_atomically ... ok
test behavior::contextual_source_tests::contextual_source_mounted_small_editor_keeps_back_and_use_outside_field_scroll ... ok
test behavior::contextual_source_tests::contextual_source_nested_semantic_parent_is_explicit_and_revalidated ... ok
test behavior::contextual_source_tests::contextual_source_new_callee_lifeline_preserves_caller_bindings_as_an_explicit_warning ... ok
test result: ok. 107 passed; 0 failed; 0 ignored; 0 measured; 982 filtered out; finished in 81.86s
File diff suppressed because one or more lines are too long
@@ -0,0 +1,108 @@
Finished `test` profile [unoptimized] target(s) in 10.61s
Running unittests src\main.rs (C:\Users\User\Documents\Git\ARCADIA-Studio\target\debug\deps\arcadia_studio-27db9628b266bf39.exe)
running 101 tests
test behavior::contextual_source_tests::contextual_source_original_document_remains_bound_after_back_or_choosing_existing ... ok
test behavior::contextual_source_tests::contextual_source_owner_first_can_return_to_an_unnamed_machine_without_losing_source ... ok
test behavior::contextual_source_tests::contextual_source_recovery_keeps_inner_raw_fields_and_refuses_deleted_or_changed_owner ... ok
test behavior::contextual_source_tests::contextual_source_second_system_and_role_machine_owner_refuse_without_fallback ... ok
test behavior::contextual_source_tests::contextual_source_work_uses_reserved_contribution_and_link_ids_and_one_undo ... ok
test behavior::direct_canvas_tests::direct_alt_execution_stops_each_operand_at_its_reply_and_marks_open_operand ... ok
test behavior::direct_canvas_tests::direct_execution_span_ends_at_its_correlated_reply_and_marks_an_open_call ... ok
test behavior::scenario::camera::tests::fit_remains_active_across_first_and_changed_viewport ... ok
test behavior::scenario::camera::tests::invalid_inputs_are_passive_and_large_finite_bounds_do_not_overflow_center ... ok
test behavior::scenario::camera::tests::negative_origin_fit_contains_independently_known_extremes ... ok
test behavior::scenario::camera::tests::pan_leaves_fit_from_displayed_position_and_zero_motion_preserves_fit ... ok
test behavior::scenario::camera::tests::tiny_fit_zoom_in_out_preserves_pointer_world_anchor_without_floor_jump ... ok
test behavior::scenario::data_contract_tests::large_payload_has_one_editor_with_reachable_field_and_authored_pages ... ok
test behavior::scenario::data_contract_tests::recursive_browsing_up_and_root_keep_values_and_report_the_depth_limit ... ok
test behavior::scenario::data_contract_tests::recursive_value_focus_exposes_authored_leaf_and_phase_changes_retain_surviving_keys ... ok
test behavior::scenario::data_contract_tests::reply_call_picker_previews_the_same_value_reset_as_selecting_another_exchange ... ok
test behavior::scenario::data_contract_tests::scenario_form_commits_two_reused_record_values_and_correlated_reply_atomically ... ok
test behavior::scenario::direct_tests::direct_busy_save_keeps_details_current_and_camera_for_the_next_pointer_gesture ... ok
test behavior::scenario::direct_tests::direct_clicked_occurrence_rejects_stale_slots_and_retains_recoverable_drafts ... ok
test behavior::scenario::direct_tests::direct_clicked_occurrences_use_root_and_operand_slots_with_exact_source_history ... ok
test behavior::scenario::direct_tests::direct_exchange_compatibility_browsing_preserves_final_slot_validation ... ok
test behavior::scenario::direct_tests::direct_exchange_picker_is_bounded_and_browsing_keeps_pending_values ... ok
test behavior::scenario::direct_tests::direct_five_hundred_exchange_choice_render_probe ... ok
test behavior::scenario::direct_tests::direct_form_keeps_the_same_canvas_in_the_widget_tree ... ok
test behavior::scenario::direct_tests::direct_middle_pair_insertion_is_one_exact_source_and_model_undo ... ok
test behavior::scenario::direct_tests::direct_operand_pair_keeps_parent_sequence_and_cannot_reorder_across_operands ... ok
test behavior::scenario::direct_tests::direct_reply_choices_cache_keeps_typing_fast_and_revalidates_changed_contexts ... ok
test behavior::scenario::direct_tests::direct_reply_choices_validate_the_actual_slot_and_reorder_rejects_reverse_order ... ok
test behavior::scenario::direct_tests::direct_scenario_reference_navigation_blocks_pending_drafts_and_stale_contexts ... ok
test behavior::scenario::direct_tests::direct_scenario_reference_navigation_retains_each_exact_caller_without_history ... ok
test behavior::scenario::direct_tests::direct_scenario_reference_return_survives_rename_and_rejects_deleted_or_changed_use ... ok
test behavior::scenario::operation_tests::operation_gui_async_picker_uses_request_root_and_nested_directions_without_erasing_rejected_values ... ok
test behavior::scenario::operation_tests::operation_gui_selects_two_parameterless_allocations_without_inventing_refinement_and_reply_derives_call ... ok
test behavior::scenario::operation_tests::operation_gui_unresolved_and_disabled_selection_recovery_preserves_rejected_raw_values ... ok
test behavior::scenario::presentation_tests::complete_fallback_scene_selects_but_cannot_capture_or_finish_coordinate_gestures ... ok
test behavior::scenario::presentation_tests::deleted_saved_identity_remains_unavailable_and_never_falls_into_derived_geometry ... ok
test behavior::scenario::presentation_tests::saved_caller_restores_exact_representation_with_fresh_visit_and_rejects_deleted_view ... ok
test behavior::scenario::presentation_tests::saved_camera_fits_actual_negative_origin_and_tiny_scale_without_authored_mutation ... ok
test behavior::scenario::presentation_tests::saved_visits_distinguish_same_owner_roundtrips_and_suspended_return_without_editing ... ok
test behavior::scenario::spacing::controller::tests::click_threshold_is_active_axis_and_return_to_zero_is_not_a_click ... ok
test behavior::scenario::spacing::controller::tests::forged_camera_hit_role_and_retired_visit_cannot_capture ... ok
test behavior::scenario::spacing::controller::tests::fractional_screen_packet_preserves_subpixel_motion_in_preview_and_finish ... ok
test behavior::scenario::spacing::controller::tests::invalid_move_discards_prior_candidate_and_finish_rechecks_final_pointer ... ok
test behavior::scenario::spacing::controller::tests::real_preview_moves_only_active_axis_from_original_and_never_changes_document ... ok
test behavior::scenario::spacing::controller::tests::zoomed_out_message_tolerance_matches_actual_canvas_hit ... ok
test behavior::scenario::spacing::tests::drawn_unassigned_lifeline_can_move_without_assigning_a_semantic_participant ... ok
test behavior::scenario::spacing::tests::feasible_spacing_crossing_remains_authored_with_diagnostic_and_unchanged_steps ... ok
test behavior::scenario::spacing::tests::horizontal_lane_move_changes_actual_header_and_attached_endpoints_only_in_selected_view ... ok
test behavior::scenario::spacing::tests::invalid_view_foreign_identity_and_latent_message_are_not_spacing_targets ... ok
test behavior::scenario::spacing::tests::malformed_or_out_of_range_motion_cannot_mutate_original ... ok
test behavior::scenario::spacing::tests::one_repeated_message_moves_in_one_view_with_exact_document_undo_redo_and_reopen ... ok
test behavior::scenario::spacing::tests::self_call_spacing_uses_send_y_and_preserves_reply_and_actual_activation_finish ... ok
test behavior::scenario::spacing::tests::unsupported_self_call_move_is_refused_and_automatic_fallback_is_not_editable_capture ... ok
test behavior::scenario::spacing::tests::zero_motion_return_to_start_and_subprecision_preserve_sparse_intent_and_real_redo ... ok
test behavior::scenario::tests::fragment_operands_accept_paired_messages_through_normal_destination_picker ... ok
test behavior::scenario::tests::graphical_call_reply_is_atomic_correlated_and_source_equivalent ... ok
test behavior::scenario::tests::invalid_lifecycle_edit_keeps_draft_and_timer_has_no_global_exchange ... ok
test behavior::scenario::tests::lifeline_picker_uses_core_viewpoint_contract ... ok
test behavior::scenario::tests::reverse_communication_canvas_choices_and_correlated_reply_share_core_direction ... ok
test behavior::scenario::tests::scenario_reuse_requires_explicit_compatible_bindings ... ok
test behavior::scenario::tests::tagged_scenario_commit_is_not_redirected_by_other_editor_events ... ok
test behavior::scenario::usage::tests::scenario_operation_label_membership_excludes_ellipsis_only_and_normalizes_whitespace ... ok
test behavior::scenario::usage::tests::scenario_usage_counts_nested_occurrences_and_lifelines_but_keeps_reuse_opaque ... ok
test behavior::scenario::usage::tests::scenario_usage_keeps_repeated_messages_and_reveal_is_read_only_and_revalidated ... ok
test behavior::scenario::usage::tests::scenario_usage_only_reports_the_resolved_operation_fields_actually_in_the_label ... ok
test behavior::scenario::workspace::details_tests::details_properties_refuses_another_saved_view_even_with_the_same_scenario_owner ... ok
test behavior::scenario::workspace::details_tests::details_properties_refuses_pending_property_source_and_behavior_drafts_without_apply ... ok
test behavior::scenario::workspace::details_tests::details_properties_rejects_retired_view_selection_and_epoch_without_changing_panels ... ok
test behavior::scenario::workspace::details_tests::focused_details_opens_current_saved_view_properties_after_following_diagram_picker ... ok
test behavior::scenario::workspace::details_tests::focused_saved_details_opens_real_editable_inspector_and_returns_to_same_view ... ok
test behavior::scenario::workspace::details_tests::opening_scenario_properties_cancels_held_spacing_and_rejects_its_late_finish ... ok
test behavior::scenario::workspace::spacing_tests::saved_body_and_header_clicks_select_without_materializing_spacing ... ok
test behavior::scenario::workspace::spacing_tests::saved_drag_return_to_origin_preserves_redo_selection_and_original_fit_camera ... ok
test behavior::scenario::workspace::spacing_tests::saved_escape_and_outside_pointer_cancel_actual_held_preview ... ok
test behavior::scenario::workspace::spacing_tests::saved_header_preview_survives_frames_and_freezes_fit_while_actual_bounds_expand ... ok
test behavior::scenario::workspace::spacing_tests::saved_message_same_batch_pointer_events_commit_once_and_one_undo_redo_restores_exact_source ... ok
test behavior::scenario::workspace::spacing_tests::saved_valid_preview_then_refused_self_call_never_commits_last_valid_candidate ... ok
test behavior::scenario::workspace::tests::new_scenario_form_resets_only_its_scroll_and_recovery_gets_a_fresh_session ... ok
test behavior::scenario::workspace::tests::production_empty_scenario_lifeline_tool_keeps_staged_source_inside_stable_canvas ... ok
test behavior::scenario::workspace::tests::production_scenario_camera_external_controls_bounds_and_retained_deltas_cancel_old_drags ... ok
test behavior::scenario::workspace::tests::production_scenario_canvas_keeps_bounds_draft_identity_and_camera_through_editing ... ok
test behavior::scenario::workspace::tests::production_scenario_canvas_pan_invalidates_a_pressed_creation_and_caller_restores_once ... ok
test behavior::scenario::workspace::tests::production_scenario_keyboard_enters_activates_draws_focus_and_returns_to_inspector ... ok
test behavior::scenario::workspace::tests::production_scenario_keyboard_reveals_and_activates_initially_offscreen_last_tool ... ok
test behavior::scenario::workspace::tests::production_scenario_retained_toolbar_intents_reject_chooser_dirty_and_picker_lifetimes ... ok
test behavior::scenario::workspace::tests::production_scenario_whole_glyph_drag_moves_one_occurrence_and_rejects_other_operand ... ok
test behavior::scenario::workspace::tests::scenario_form_focus_chained_apply_rechecks_live_review_owner ... ok
test behavior::scenario::workspace::tests::scenario_form_focus_missing_exact_target_leaves_other_inputs_untouched ... ok
test behavior::scenario::workspace::tests::scenario_form_focus_returns_from_back_use_and_escape_after_initial_focus_is_consumed ... ok
test behavior::scenario::workspace::tests::scenario_form_focus_saved_action_is_inert_on_replacement_child_review_and_changed_context ... ok
test behavior::scenario::workspace::tests::scenario_form_focus_targets_the_name_and_rejects_stale_sessions_or_modals ... ok
test behavior::scenario::workspace::tests::scenario_workspace_choosing_tools_preserves_valid_and_invalid_pending_editors ... ok
test behavior::scenario::workspace::tests::scenario_workspace_fit_uses_measured_inner_viewport_and_rejects_nonfinite_inputs ... ok
test behavior::scenario::workspace::tests::scenario_workspace_open_and_back_restore_owner_and_mounted_camera_after_preselection ... ok
test behavior::scenario::workspace::tests::scenario_workspace_same_size_owner_and_document_changes_remeasure_fit_viewport ... ok
test behavior::scenario::workspace::tests::scenario_workspace_scaled_and_panned_scene_keeps_clicked_slots_and_message_endpoints ... ok
test behavior::scenario::workspace::tests::scenario_workspace_scaled_nested_occurrences_and_reorder_keep_exact_sequence_identity ... ok
test behavior::scenario::workspace::tests::scenario_workspace_viewport_events_are_passive_guarded_and_do_not_apply_raw_forms ... ok
test behavior::scenario_activation::tests::a_fragment_cannot_make_crossed_calls_an_unambiguous_caller_execution ... ok
test behavior::scenario_activation::tests::activation_shoulders_under_label_backplates_select_their_call ... ok
test behavior::scenario_activation::tests::actual_canvas_pointer_selects_each_exposed_shoulder_under_zoom_and_pan ... ok
test result: ok. 101 passed; 0 failed; 0 ignored; 0 measured; 988 filtered out; finished in 200.03s
File diff suppressed because one or more lines are too long
@@ -0,0 +1,94 @@
Finished `test` profile [unoptimized] target(s) in 5.82s
Running unittests src\main.rs (C:\Users\User\Documents\Git\ARCADIA-Studio\target\debug\deps\arcadia_studio-27db9628b266bf39.exe)
running 87 tests
test behavior::scenario_activation::tests::alternative_and_parallel_operand_local_calls_do_not_nest_from_screen_order ... ok
test behavior::scenario_activation::tests::an_inactive_self_call_has_no_fabricated_parent_and_three_nested_calls_expose_three_columns ... ok
test behavior::scenario_activation::tests::call_uuid_order_does_not_choose_activation_columns_or_message_anchors ... ok
test behavior::scenario_activation::tests::inherited_execution_anchors_a_self_call_inside_an_operand_before_returning_after_the_fragment ... ok
test behavior::scenario_activation::tests::long_message_backplates_do_not_erase_selected_activation_border_pixels ... ok
test behavior::scenario_activation::tests::missing_reply_is_a_short_explicit_open_span_and_an_uncorrelated_reply_closes_nothing ... ok
test behavior::scenario_activation::tests::nested_calls_expose_both_bars_and_end_at_their_exact_replies_in_both_directions ... ok
test behavior::scenario_activation::tests::nested_correlations_returning_in_alternative_operands_remain_nested_before_the_fragment ... ok
test behavior::scenario_activation::tests::reentrant_call_uses_the_other_receiver_without_inventing_a_caller_execution ... ok
test behavior::scenario_activation::tests::self_call_receives_at_lower_loop_end_and_self_reply_returns_to_the_parent ... ok
test behavior::scenario_activation::tests::sequential_calls_reuse_column_and_crossed_replies_keep_their_correlations ... ok
test behavior::scenario_hit_tests::action_frame_and_use_boxes_do_not_advertise_message_or_header_roles ... ok
test behavior::scenario_hit_tests::activation_shoulder_beats_another_calls_label_and_broad_message_tolerance ... ok
test behavior::scenario_hit_tests::create_delete_markers_are_distinct_from_their_own_message_body_and_label ... ok
test behavior::scenario_hit_tests::exact_headers_include_unassigned_lifelines_but_guides_are_not_headers ... ok
test behavior::scenario_hit_tests::invalid_points_never_produce_a_semantic_or_spacing_hit ... ok
test behavior::scenario_hit_tests::repeated_exchange_occurrences_keep_distinct_message_body_and_label_hits ... ok
test behavior::scenario_hit_tests::self_call_elbow_and_receive_endpoint_are_messages_not_execution_hits ... ok
test behavior::scenario_hit_tests::tiny_scale_nearest_hit_retains_the_winning_marker_or_message_role ... ok
test behavior::scenario_hit_tests::winning_primitive_role_does_not_come_from_its_shared_uuid ... ok
test behavior::scenario_layout::presentation::tests::absent_and_empty_saved_layouts_remain_saved_ready_representations ... ok
test behavior::scenario_layout::presentation::tests::hard_failure_uses_complete_automatic_geometry_but_retains_each_saved_request_and_latent_notice ... ok
test behavior::scenario_layout::presentation::tests::missing_or_incompatible_identity_and_structural_coordinate_errors_are_unavailable ... ok
test behavior::scenario_layout::presentation::tests::passive_fallback_preserves_exact_document_source_and_one_step_undo_redo ... ok
test behavior::scenario_layout::presentation::tests::successful_crossing_diagnostic_keeps_authored_geometry_and_latent_identity ... ok
test behavior::scenario_layout::tests::absent_empty_and_explicit_baseline_saved_values_preserve_complete_scene_and_source ... ok
test behavior::scenario_layout::tests::authored_lanes_precede_headers_arrows_lifetimes_and_complete_bounds ... ok
test behavior::scenario_layout::tests::authored_send_bits_survive_baseline_delta_and_self_lifecycle_row_conversion ... ok
test behavior::scenario_layout::tests::complete_scope_plan_rejects_escape_preserves_overlap_and_keeps_headers_and_followers ... ok
test behavior::scenario_layout::tests::decimal_call_anchor_is_admitted_and_exact_in_plan_line_and_typed_activation ... ok
test behavior::scenario_layout::tests::earlier_receiver_death_and_prebirth_call_are_named_typed_failures_not_disappearing_bars ... ok
test behavior::scenario_layout::tests::exact_authored_lane_bits_survive_headers_and_tiny_distinct_lanes_are_not_coincident ... ok
test behavior::scenario_layout::tests::explicit_root_scope_failures_do_not_clamp_calls_or_lifecycle_but_async_can_be_negative ... ok
test behavior::scenario_layout::tests::independent_saved_appearances_of_reused_exchange_have_exact_anchors_and_no_ambient_state ... ok
test behavior::scenario_layout::tests::latent_message_becomes_exact_only_when_its_own_endpoint_is_completed ... ok
test behavior::scenario_layout::tests::moved_death_clips_actual_bar_and_preserves_unanswered_cue ... ok
test behavior::scenario_layout::tests::newly_skipped_sibling_scope_is_rejected_using_real_projector_diagnostics ... ok
test behavior::scenario_layout::tests::post_fragment_death_cannot_disappear_and_feasible_operand_spacing_retains_its_marker ... ok
test behavior::scenario_layout::tests::reply_crossing_is_a_specific_typed_failure ... ok
test behavior::scenario_layout::tests::same_x_distinct_lifelines_are_not_self_messages_in_either_bridge ... ok
test behavior::scenario_layout::tests::saved_direct_nested_message_uses_operand_scopes_without_reparenting_or_moving_followers ... ok
test behavior::scenario_layout::tests::self_call_receive_and_reply_send_drive_the_full_typed_execution ... ok
test behavior::scenario_layout::tests::self_lifecycle_saved_send_is_converted_once_to_the_actual_receive_marker ... ok
test behavior::scenario_layout::tests::timer_uses_implicit_effective_receiver_and_true_self_offset ... ok
test behavior::scenario_layout::tests::unfinished_coordinate_is_latent_and_zero_or_signed_zero_never_rewrites_source ... ok
test behavior::scenario_layout::tests::unsupported_expansion_duplicate_keys_and_foreign_identity_fail_without_mutating_input ... ok
test behavior::scenario_layout::tests::wide_gap_bounds_include_all_actual_shapes_and_typed_extensions ... ok
test behavior::scenario_lifecycle::render::tests::birth_label_clip_keeps_padded_world_bounds_at_each_scene_scale ... ok
test behavior::scenario_lifecycle::render::tests::birth_label_clip_preserves_parent_viewport_bounds ... ok
test behavior::scenario_lifecycle::render::tests::box_text_clip_intersects_parent_viewport_and_rejects_empty_interiors ... ok
test behavior::scenario_lifecycle::render::tests::panned_header_and_create_clips_use_screen_translation_and_actual_viewport ... ok
test behavior::scenario_lifecycle::render::tests::real_scene_birth_death_markers_align_endpoints_and_win_selection_without_mutating_source ... ok
test behavior::scenario_lifecycle::render::tests::real_scene_branch_delete_clips_only_its_activation_and_keeps_unanswered_call_visible ... ok
test behavior::scenario_lifecycle::render::tests::real_scene_conditional_repeated_and_parallel_scopes_do_not_claim_definite_continuation ... ok
test behavior::scenario_lifecycle::render::tests::real_scene_empty_and_create_only_use_visible_root_extents_not_insertion_bounds ... ok
test behavior::scenario_lifecycle::render::tests::real_scene_lifecycle_edit_undo_redo_restores_exact_source_and_changed_geometry ... ok
test behavior::scenario_lifecycle::render::tests::real_scene_long_header_title_and_detail_keep_names_and_have_bounded_clips ... ok
test behavior::scenario_lifecycle::render::tests::real_scene_minimum_zoom_marker_halos_do_not_steal_adjacent_capsule_or_header_hits ... ok
test behavior::scenario_lifecycle::render::tests::real_scene_minimum_zoom_near_ordinary_message_wins_over_lifecycle_halos ... ok
test behavior::scenario_lifecycle::render::tests::real_scene_panned_zoomed_program_keeps_header_birth_and_death_hit_identity ... ok
test behavior::scenario_lifecycle::render::tests::real_scene_self_delete_caption_clears_the_preceding_action_box ... ok
test behavior::scenario_lifecycle::render::tests::real_scene_self_lifecycle_elbows_end_on_recorded_marker_rows ... ok
test behavior::scenario_lifecycle::render::tests::real_scene_unassigned_lanes_and_explicit_incomplete_receiver_keep_real_marker_identity ... ok
test behavior::scenario_lifecycle::render::tests::real_scene_wide_latin_header_exceeds_old_character_budget ... ok
test behavior::scenario_lifecycle::render::tests::union_tests::admitted_calls_without_sender_polylines_still_have_logical_correlation_metadata ... ok
test behavior::scenario_lifecycle::render::tests::union_tests::admitted_death_and_incomplete_later_reply_do_not_fabricate_an_answered_execution ... ok
test behavior::scenario_lifecycle::render::tests::union_tests::admitted_delayed_create_nested_calls_replies_delete_share_one_geometry_pipeline ... ok
test behavior::scenario_lifecycle::render::tests::union_tests::admitted_self_lifecycle_and_self_call_keep_distinct_send_receive_rows ... ok
test behavior::scenario_lifecycle::render::tests::union_tests::admitted_unresolved_operand_keeps_unanswered_cue_without_any_visible_segment ... ok
test behavior::scenario_lifecycle::render::tests::union_tests::clipped_operand_preserves_original_nested_or_crossed_correlation_distinction ... ok
test behavior::scenario_lifecycle::render::tests::union_tests::conditional_death_then_recreate_never_revives_call_but_keeps_open_sibling ... ok
test behavior::scenario_lifecycle::render::tests::union_tests::invalid_prebirth_call_and_postdeath_reply_remain_rejected_with_defensive_scene_clipping ... ok
test behavior::scenario_lifecycle::render::tests::union_tests::test_only_upstream_row_offsets_update_lifetime_segments_and_endpoints_without_authoring ... ok
test behavior::scenario_lifecycle::tests::alternative_death_does_not_kill_its_displayed_sibling ... ok
test behavior::scenario_lifecycle::tests::conditional_birth_does_not_infer_absence_in_siblings_or_ancestors ... ok
test behavior::scenario_lifecycle::tests::explicit_receiver_is_authoritative_even_with_missing_exchange ... ok
test behavior::scenario_lifecycle::tests::lifecycle_free_fragments_do_not_poison_other_lanes ... ok
test behavior::scenario_lifecycle::tests::loop_lifetime_is_local_and_warning_bearing_loops_remain_drawable ... ok
test behavior::scenario_lifecycle::tests::missing_geometry_is_reported_without_nonfinite_or_guessed_markers ... ok
test behavior::scenario_lifecycle::tests::optional_cleanup_inside_loop_does_not_claim_balanced_or_definite_exit ... ok
test behavior::scenario_lifecycle::tests::projection_retains_exact_authored_source_and_does_not_enter_history ... ok
test behavior::scenario_lifecycle::tests::root_lifetime_has_exact_birth_death_boundaries_without_source_mutation ... ok
test behavior::scenario_lifecycle::tests::scenario_use_is_opaque_and_never_imports_callee_lifecycle_events ... ok
test diagram::tests::svg_accepts_populated_and_empty_architecture_views ... ok
test diagram::tests::svg_rejects_missing_diagram_without_mutation ... ok
test diagram::tests::svg_rejects_saved_scenario_with_absent_or_authored_layout_without_mutation ... ok
test workflow::saved_scenario_destination_tests::empty_transition_results_do_not_make_a_scenario_an_architecture_destination ... ok
test result: ok. 87 passed; 0 failed; 0 ignored; 0 measured; 1002 filtered out; finished in 14.69s
@@ -0,0 +1,316 @@
Finished `test` profile [unoptimized] target(s) in 22.00s
Running unittests src\main.rs (C:\Users\User\Documents\Git\ARCADIA-Studio\target\debug\deps\arcadia_studio-27db9628b266bf39.exe)
running 107 tests
test app::behavior_lifecycle_tests::incomplete_behavior_form_is_dirty_close_save_retains_it_and_cancel_allows_switching ... ok
test app::behavior_lifecycle_tests::passive_behavior_canvas_events_do_not_apply_property_drafts ... ok
test app::behavior_lifecycle_tests::pending_behavior_blocks_navigation_property_edits_and_model_history ... ok
test app::behavior_lifecycle_tests::pending_behavior_blocks_source_creation_and_source_history_replay ... ok
test app::behavior_lifecycle_tests::save_prepares_behavior_before_opening_destination_and_cancel_keeps_one_undo ... ok
test app::behavior_lifecycle_tests::source_writeback_failure_keeps_typed_behavior_form_for_repair_and_one_undo ... ok
test app::diagram_reveal::tests::actual_window_resize_before_first_measurement_retains_focus_for_the_new_context ... ok
test app::diagram_reveal::tests::all_reveal_surfaces_recenter_once_after_the_real_viewport_and_preserve_authored_state ... ok
test app::diagram_reveal::tests::malformed_or_wrong_stamp_measurements_cannot_poison_a_pending_reveal ... ok
test app::diagram_reveal::tests::user_camera_edit_and_navigation_cancel_deferred_focus_without_late_snapping ... ok
test app::diagram_selection_tests::changing_visible_view_follows_its_clean_inspector_without_a_model_edit ... ok
test app::diagram_selection_tests::diagram_switch_preserves_an_independent_semantic_inspection ... ok
test app::diagram_selection_tests::diagram_uuid_edit_follows_the_same_view_or_a_different_picker_target ... ok
test app::diagram_selection_tests::invalid_view_draft_blocks_the_switch_and_retains_raw_input ... ok
test app::diagram_selection_tests::stale_diagram_choice_never_applies_an_unrelated_valid_draft ... ok
test app::diagram_selection_tests::valid_pending_view_edit_applies_to_old_view_then_inspects_the_new_view ... ok
test app::diagram_usages::tests::accepted_new_chooser_retires_old_measurement_without_blocking_future_viewports ... ok
test app::diagram_usages::tests::allocation_navigation_keeps_relation_selection_and_exact_visual_work_lifetime ... ok
test app::diagram_usages::tests::asynchronous_lookup_is_loading_inert_and_retains_filter_until_completion ... ok
test app::diagram_usages::tests::caret_uses_exact_verified_alias_identity_and_preserves_source_cursor ... ok
test app::diagram_usages::tests::closed_lookup_keeps_slot_and_replacement_waits_for_exact_old_completion ... ok
test app::diagram_usages::tests::completion_after_cancel_releases_slot_without_reopening_or_moving ... ok
test app::diagram_usages::tests::completion_releases_worker_behind_busy_modal_without_navigation ... ok
test app::diagram_usages::tests::dirty_or_comment_caret_has_no_selected_object_fallback ... ok
test app::diagram_usages::tests::forged_completion_cannot_release_another_slot_or_admit_wrong_context ... ok
test app::diagram_usages::tests::old_panel_tokens_and_forged_targets_cannot_redirect_selection ... ok
test app::diagram_usages::tests::oversized_node_focus_stays_on_label_and_single_surface_query_excludes_other_views ... ok
test app::diagram_usages::tests::pending_source_behavior_and_modal_inputs_block_open_and_choose_without_loss ... ok
test app::diagram_usages::tests::port_navigation_selects_port_and_exact_visible_owner_without_editing_geometry ... ok
test app::diagram_usages::tests::query_presentation_snapshot_keeps_expansion_without_retaining_live_state ... ok
test app::diagram_usages::tests::repeated_preview_arrows_select_the_relation_and_highlight_the_exact_caller_link ... ok
test app::diagram_usages::tests::repeated_process_calls_reveal_the_chosen_caller_and_distinct_tile_camera ... ok
test app::diagram_usages::tests::repeated_scenario_messages_select_the_exact_occurrence_and_move_camera ... ok
test app::diagram_usages::tests::reset_keeps_old_worker_slot_and_only_new_document_results_are_admitted ... ok
test app::diagram_usages::tests::revision_retarget_and_document_change_make_old_destinations_inert ... ok
test app::diagram_usages::tests::saved_node_and_edge_navigation_preserve_whole_sources_and_actual_history ... ok
test app::diagram_usages::tests::saved_scenario::explicit_saved_layout_repair_undo_redo_requeries_authored_and_fallback_geometry_without_extra_history ... ok
test app::diagram_usages::tests::saved_scenario::retargeted_saved_view_cannot_reveal_a_former_owner_occurrence ... ok
test app::diagram_usages::tests::saved_scenario::saved_a_b_a_rejects_old_visit_and_panel_callbacks_before_deferred_measurement ... ok
test app::diagram_usages::tests::saved_scenario::saved_chooser_and_explicit_reveal_preserve_complete_source_and_actual_undo_redo ... ok
test app::diagram_usages::tests::saved_scenario::saved_queries_use_each_actual_presentation_and_keep_repeated_appearances_and_references_opaque ... ok
test app::diagram_usages::tests::saved_scenario::saved_reveal_and_chooser_refuse_source_property_and_behavior_drafts ... ok
test app::diagram_usages::tests::stale_caret_completion_never_opens_diagrams_for_current_selection ... ok
test app::diagram_usages::tests::stale_open_context_cannot_replace_a_panel ... ok
test app::diagram_usages::tests::stale_revision_completion_refreshes_asynchronously_without_activating ... ok
test app::diagram_usages::tests::state_row_navigation_has_exact_visual_row_without_retargeting_the_selected_relation ... ok
test app::diagram_usages::tests::tree_origin_captures_subject_and_never_falls_back_to_current_selection_or_name ... ok
test app::diagram_usages::tests::whole_surface_camera_fits_huge_extent_while_target_camera_remains_readable ... ok
test app::diagram_usages::tests::worker_failure_finishes_loading_and_can_be_retried_without_losing_sources ... ok
test app::direct_scenario_tests::direct_scenario_camera_details_and_real_resize_invalidate_only_pointer_context ... ok
test app::direct_scenario_tests::direct_scenario_creation_and_reorder_preserve_selection_and_each_undo_once ... ok
test app::direct_scenario_tests::direct_scenario_rejects_every_stale_context_and_preserves_property_drafts ... ok
test app::direct_scenario_tests::direct_scenario_source_failure_and_navigation_keep_form_until_success ... ok
test app::saved_scenario_dispatch_tests::forged_saved_usage_is_refused_without_selection_or_camera_changes ... ok
test app::saved_scenario_dispatch_tests::missing_export_target_does_not_apply_pending_properties_or_open_dialog ... ok
test app::saved_scenario_dispatch_tests::rejected_export_schedules_no_write_and_preserves_draft_history_and_busy_state ... ok
test app::saved_scenario_dispatch_tests::saved_picker_with_invalid_properties_and_reveal_with_pending_properties_do_not_apply ... ok
test app::saved_scenario_dispatch_tests::saved_scenario_cannot_use_architecture_controls_or_change_projection_by_toolbar ... ok
test app::saved_scenario_dispatch_tests::saved_scenario_does_not_start_the_existing_architecture_palette ... ok
test app::saved_scenario_dispatch_tests::semantic_scenario_preview_remains_available_and_saved_views_are_not_default_architecture ... ok
test app::scenario_diagram::adoption_tests::missing_and_deleted_picker_ids_cannot_apply_an_unrelated_valid_property_draft ... ok
test app::scenario_diagram::adoption_tests::source_cross_layer_owner_retarget_undo_redo_keeps_requested_saved_uuid ... ok
test app::scenario_diagram::adoption_tests::source_deleted_owner_and_saved_view_mount_unavailable_instead_of_another_behavior ... ok
test app::scenario_diagram::adoption_tests::source_same_layer_owner_retarget_undo_redo_keeps_requested_saved_uuid ... ok
test app::scenario_diagram::owner_navigation_tests::saved_scenario_direct_behavior_selection_enters_explicit_process_or_state_owner ... ok
test app::scenario_diagram::owner_navigation_tests::saved_scenario_guide_selection_returns_to_explicit_process_or_state_owner ... ok
test app::scenario_diagram::tests::arrangement_picker_rejects_previous_visit_and_switches_automatic_without_model_changes ... ok
test app::scenario_diagram::tests::leaving_and_reentering_saved_view_preserves_source_and_retires_passive_visit ... ok
test app::scenario_diagram::tests::saved_picker_applies_valid_old_draft_and_uuid_edit_follows_that_same_view ... ok
test app::scenario_diagram::tests::saved_reference_back_restores_exact_view_with_a_fresh_visit ... ok
test app::scenario_diagram::tests::saved_view_return_rejects_old_passive_events_without_an_intermediate_frame ... ok
test app::scenario_diagram::tests::saved_view_switches_are_distinct_passive_visits_and_preserve_actual_history ... ok
test app::scenario_spacing::tests::click_selects_but_crossed_return_and_cancel_preserve_selection_camera_and_history ... ok
test app::scenario_spacing::tests::modal_open_cancels_preview_and_captured_begin_stays_retired_after_close ... ok
test app::scenario_spacing::tests::pending_semantic_draft_and_source_edit_cancel_and_reject_held_finish ... ok
test app::scenario_spacing::tests::same_batch_preview_is_immutable_and_one_commit_undo_redo_has_exact_source_parity ... ok
test app::scenario_spacing::tests::source_write_failure_cannot_commit_candidate_or_materialize_camera ... ok
test app::scenario_spacing::tests::stale_finish_after_new_view_and_forged_token_are_inert_before_reveal_reconciliation ... ok
test app::scenario_spacing::tests::stale_finish_cannot_remove_new_same_view_deferred_reveal ... ok
test app::source_rename::tests::navigation_union_tests::rename_then_exact_caret_diagram_navigation_preserves_complete_model_undo_redo_history ... ok
test app::transition_context_tests::explicit_behavior_internal_and_process_roots_keep_their_workspace_without_creating_a_view ... ok
test app::transition_context_tests::explicit_destination_is_honored_and_ordinary_work_transition_still_places_in_architecture ... ok
test app::transition_context_tests::machine_and_typed_action_transitions_resolve_the_owner_and_reusing_that_context_retains_camera ... ok
test app::transition_context_tests::rejected_source_writeback_keeps_review_and_navigation_and_invalid_draft_still_blocks_start ... ok
test app::transition_context_tests::scenario_transition_focuses_requested_counterpart_and_preserves_unrelated_views_in_both_directions ... ok
test behavior::canvas_workspace::camera_policy_tests::tiny_zoom_label_is_nonzero_and_changes_with_zoom ... ok
test behavior::canvas_workspace::camera_policy_tests::topology_retains_five_percent_floor ... ok
test behavior::canvas_workspace::tests::relative_camera_zoom_keeps_the_cursor_world_point_and_rejects_nonfinite_inputs ... ok
test behavior::canvas_workspace::tests::viewport_ordered_batch_uses_each_event_position_and_cancels_before_camera_motion ... ok
test behavior::contextual_source_tests::contextual_source_app_checkpoint_restores_inner_raw_draft_without_model_adoption ... ok
test behavior::contextual_source_tests::contextual_source_app_empty_actions_and_child_open_refuse_other_raw_editors ... ok
test behavior::contextual_source_tests::contextual_source_app_modal_escape_then_child_back_then_parent_cancel_preserve_accepted_source ... ok
test behavior::contextual_source_tests::contextual_source_back_remains_available_after_owner_deletion_and_with_dirty_editors ... ok
test behavior::contextual_source_tests::contextual_source_back_retains_parent_and_rejects_late_child_event ... ok
test behavior::contextual_source_tests::contextual_source_default_consumer_name_has_stable_alias_and_correlated_selection ... ok
test behavior::contextual_source_tests::contextual_source_deleted_owner_view_retains_draft_instead_of_panicking_or_using_fallback ... ok
test behavior::contextual_source_tests::contextual_source_empty_history_reports_no_change_and_success_requires_a_real_history_step ... ok
test behavior::contextual_source_tests::contextual_source_empty_palette_lifeline_cannot_open_a_previous_owner_or_layer ... ok
test behavior::contextual_source_tests::contextual_source_existing_choice_prunes_staged_dependency ... ok
test behavior::contextual_source_tests::contextual_source_failed_source_budget_preserves_both_drafts_and_accepted_bytes ... ok
test behavior::contextual_source_tests::contextual_source_incomplete_recovered_kind_reports_error_without_panicking ... ok
test behavior::contextual_source_tests::contextual_source_inserts_work_on_the_exact_guarded_link_and_refuses_exchange_identity_conflict ... ok
test behavior::contextual_source_tests::contextual_source_lifelines_stage_exact_separate_records_and_one_history_entry ... ok
test behavior::contextual_source_tests::contextual_source_machine_before_any_owner_creates_optional_view_atomically ... ok
test behavior::contextual_source_tests::contextual_source_mounted_small_editor_keeps_back_and_use_outside_field_scroll ... ok
test behavior::contextual_source_tests::contextual_source_nested_semantic_parent_is_explicit_and_revalidated ... ok
test behavior::contextual_source_tests::contextual_source_new_callee_lifeline_preserves_caller_bindings_as_an_explicit_warning ... ok
test result: ok. 107 passed; 0 failed; 0 ignored; 0 measured; 982 filtered out; finished in 81.86s
Finished `test` profile [unoptimized] target(s) in 10.61s
Running unittests src\main.rs (C:\Users\User\Documents\Git\ARCADIA-Studio\target\debug\deps\arcadia_studio-27db9628b266bf39.exe)
running 101 tests
test behavior::contextual_source_tests::contextual_source_original_document_remains_bound_after_back_or_choosing_existing ... ok
test behavior::contextual_source_tests::contextual_source_owner_first_can_return_to_an_unnamed_machine_without_losing_source ... ok
test behavior::contextual_source_tests::contextual_source_recovery_keeps_inner_raw_fields_and_refuses_deleted_or_changed_owner ... ok
test behavior::contextual_source_tests::contextual_source_second_system_and_role_machine_owner_refuse_without_fallback ... ok
test behavior::contextual_source_tests::contextual_source_work_uses_reserved_contribution_and_link_ids_and_one_undo ... ok
test behavior::direct_canvas_tests::direct_alt_execution_stops_each_operand_at_its_reply_and_marks_open_operand ... ok
test behavior::direct_canvas_tests::direct_execution_span_ends_at_its_correlated_reply_and_marks_an_open_call ... ok
test behavior::scenario::camera::tests::fit_remains_active_across_first_and_changed_viewport ... ok
test behavior::scenario::camera::tests::invalid_inputs_are_passive_and_large_finite_bounds_do_not_overflow_center ... ok
test behavior::scenario::camera::tests::negative_origin_fit_contains_independently_known_extremes ... ok
test behavior::scenario::camera::tests::pan_leaves_fit_from_displayed_position_and_zero_motion_preserves_fit ... ok
test behavior::scenario::camera::tests::tiny_fit_zoom_in_out_preserves_pointer_world_anchor_without_floor_jump ... ok
test behavior::scenario::data_contract_tests::large_payload_has_one_editor_with_reachable_field_and_authored_pages ... ok
test behavior::scenario::data_contract_tests::recursive_browsing_up_and_root_keep_values_and_report_the_depth_limit ... ok
test behavior::scenario::data_contract_tests::recursive_value_focus_exposes_authored_leaf_and_phase_changes_retain_surviving_keys ... ok
test behavior::scenario::data_contract_tests::reply_call_picker_previews_the_same_value_reset_as_selecting_another_exchange ... ok
test behavior::scenario::data_contract_tests::scenario_form_commits_two_reused_record_values_and_correlated_reply_atomically ... ok
test behavior::scenario::direct_tests::direct_busy_save_keeps_details_current_and_camera_for_the_next_pointer_gesture ... ok
test behavior::scenario::direct_tests::direct_clicked_occurrence_rejects_stale_slots_and_retains_recoverable_drafts ... ok
test behavior::scenario::direct_tests::direct_clicked_occurrences_use_root_and_operand_slots_with_exact_source_history ... ok
test behavior::scenario::direct_tests::direct_exchange_compatibility_browsing_preserves_final_slot_validation ... ok
test behavior::scenario::direct_tests::direct_exchange_picker_is_bounded_and_browsing_keeps_pending_values ... ok
test behavior::scenario::direct_tests::direct_five_hundred_exchange_choice_render_probe ... ok
test behavior::scenario::direct_tests::direct_form_keeps_the_same_canvas_in_the_widget_tree ... ok
test behavior::scenario::direct_tests::direct_middle_pair_insertion_is_one_exact_source_and_model_undo ... ok
test behavior::scenario::direct_tests::direct_operand_pair_keeps_parent_sequence_and_cannot_reorder_across_operands ... ok
test behavior::scenario::direct_tests::direct_reply_choices_cache_keeps_typing_fast_and_revalidates_changed_contexts ... ok
test behavior::scenario::direct_tests::direct_reply_choices_validate_the_actual_slot_and_reorder_rejects_reverse_order ... ok
test behavior::scenario::direct_tests::direct_scenario_reference_navigation_blocks_pending_drafts_and_stale_contexts ... ok
test behavior::scenario::direct_tests::direct_scenario_reference_navigation_retains_each_exact_caller_without_history ... ok
test behavior::scenario::direct_tests::direct_scenario_reference_return_survives_rename_and_rejects_deleted_or_changed_use ... ok
test behavior::scenario::operation_tests::operation_gui_async_picker_uses_request_root_and_nested_directions_without_erasing_rejected_values ... ok
test behavior::scenario::operation_tests::operation_gui_selects_two_parameterless_allocations_without_inventing_refinement_and_reply_derives_call ... ok
test behavior::scenario::operation_tests::operation_gui_unresolved_and_disabled_selection_recovery_preserves_rejected_raw_values ... ok
test behavior::scenario::presentation_tests::complete_fallback_scene_selects_but_cannot_capture_or_finish_coordinate_gestures ... ok
test behavior::scenario::presentation_tests::deleted_saved_identity_remains_unavailable_and_never_falls_into_derived_geometry ... ok
test behavior::scenario::presentation_tests::saved_caller_restores_exact_representation_with_fresh_visit_and_rejects_deleted_view ... ok
test behavior::scenario::presentation_tests::saved_camera_fits_actual_negative_origin_and_tiny_scale_without_authored_mutation ... ok
test behavior::scenario::presentation_tests::saved_visits_distinguish_same_owner_roundtrips_and_suspended_return_without_editing ... ok
test behavior::scenario::spacing::controller::tests::click_threshold_is_active_axis_and_return_to_zero_is_not_a_click ... ok
test behavior::scenario::spacing::controller::tests::forged_camera_hit_role_and_retired_visit_cannot_capture ... ok
test behavior::scenario::spacing::controller::tests::fractional_screen_packet_preserves_subpixel_motion_in_preview_and_finish ... ok
test behavior::scenario::spacing::controller::tests::invalid_move_discards_prior_candidate_and_finish_rechecks_final_pointer ... ok
test behavior::scenario::spacing::controller::tests::real_preview_moves_only_active_axis_from_original_and_never_changes_document ... ok
test behavior::scenario::spacing::controller::tests::zoomed_out_message_tolerance_matches_actual_canvas_hit ... ok
test behavior::scenario::spacing::tests::drawn_unassigned_lifeline_can_move_without_assigning_a_semantic_participant ... ok
test behavior::scenario::spacing::tests::feasible_spacing_crossing_remains_authored_with_diagnostic_and_unchanged_steps ... ok
test behavior::scenario::spacing::tests::horizontal_lane_move_changes_actual_header_and_attached_endpoints_only_in_selected_view ... ok
test behavior::scenario::spacing::tests::invalid_view_foreign_identity_and_latent_message_are_not_spacing_targets ... ok
test behavior::scenario::spacing::tests::malformed_or_out_of_range_motion_cannot_mutate_original ... ok
test behavior::scenario::spacing::tests::one_repeated_message_moves_in_one_view_with_exact_document_undo_redo_and_reopen ... ok
test behavior::scenario::spacing::tests::self_call_spacing_uses_send_y_and_preserves_reply_and_actual_activation_finish ... ok
test behavior::scenario::spacing::tests::unsupported_self_call_move_is_refused_and_automatic_fallback_is_not_editable_capture ... ok
test behavior::scenario::spacing::tests::zero_motion_return_to_start_and_subprecision_preserve_sparse_intent_and_real_redo ... ok
test behavior::scenario::tests::fragment_operands_accept_paired_messages_through_normal_destination_picker ... ok
test behavior::scenario::tests::graphical_call_reply_is_atomic_correlated_and_source_equivalent ... ok
test behavior::scenario::tests::invalid_lifecycle_edit_keeps_draft_and_timer_has_no_global_exchange ... ok
test behavior::scenario::tests::lifeline_picker_uses_core_viewpoint_contract ... ok
test behavior::scenario::tests::reverse_communication_canvas_choices_and_correlated_reply_share_core_direction ... ok
test behavior::scenario::tests::scenario_reuse_requires_explicit_compatible_bindings ... ok
test behavior::scenario::tests::tagged_scenario_commit_is_not_redirected_by_other_editor_events ... ok
test behavior::scenario::usage::tests::scenario_operation_label_membership_excludes_ellipsis_only_and_normalizes_whitespace ... ok
test behavior::scenario::usage::tests::scenario_usage_counts_nested_occurrences_and_lifelines_but_keeps_reuse_opaque ... ok
test behavior::scenario::usage::tests::scenario_usage_keeps_repeated_messages_and_reveal_is_read_only_and_revalidated ... ok
test behavior::scenario::usage::tests::scenario_usage_only_reports_the_resolved_operation_fields_actually_in_the_label ... ok
test behavior::scenario::workspace::details_tests::details_properties_refuses_another_saved_view_even_with_the_same_scenario_owner ... ok
test behavior::scenario::workspace::details_tests::details_properties_refuses_pending_property_source_and_behavior_drafts_without_apply ... ok
test behavior::scenario::workspace::details_tests::details_properties_rejects_retired_view_selection_and_epoch_without_changing_panels ... ok
test behavior::scenario::workspace::details_tests::focused_details_opens_current_saved_view_properties_after_following_diagram_picker ... ok
test behavior::scenario::workspace::details_tests::focused_saved_details_opens_real_editable_inspector_and_returns_to_same_view ... ok
test behavior::scenario::workspace::details_tests::opening_scenario_properties_cancels_held_spacing_and_rejects_its_late_finish ... ok
test behavior::scenario::workspace::spacing_tests::saved_body_and_header_clicks_select_without_materializing_spacing ... ok
test behavior::scenario::workspace::spacing_tests::saved_drag_return_to_origin_preserves_redo_selection_and_original_fit_camera ... ok
test behavior::scenario::workspace::spacing_tests::saved_escape_and_outside_pointer_cancel_actual_held_preview ... ok
test behavior::scenario::workspace::spacing_tests::saved_header_preview_survives_frames_and_freezes_fit_while_actual_bounds_expand ... ok
test behavior::scenario::workspace::spacing_tests::saved_message_same_batch_pointer_events_commit_once_and_one_undo_redo_restores_exact_source ... ok
test behavior::scenario::workspace::spacing_tests::saved_valid_preview_then_refused_self_call_never_commits_last_valid_candidate ... ok
test behavior::scenario::workspace::tests::new_scenario_form_resets_only_its_scroll_and_recovery_gets_a_fresh_session ... ok
test behavior::scenario::workspace::tests::production_empty_scenario_lifeline_tool_keeps_staged_source_inside_stable_canvas ... ok
test behavior::scenario::workspace::tests::production_scenario_camera_external_controls_bounds_and_retained_deltas_cancel_old_drags ... ok
test behavior::scenario::workspace::tests::production_scenario_canvas_keeps_bounds_draft_identity_and_camera_through_editing ... ok
test behavior::scenario::workspace::tests::production_scenario_canvas_pan_invalidates_a_pressed_creation_and_caller_restores_once ... ok
test behavior::scenario::workspace::tests::production_scenario_keyboard_enters_activates_draws_focus_and_returns_to_inspector ... ok
test behavior::scenario::workspace::tests::production_scenario_keyboard_reveals_and_activates_initially_offscreen_last_tool ... ok
test behavior::scenario::workspace::tests::production_scenario_retained_toolbar_intents_reject_chooser_dirty_and_picker_lifetimes ... ok
test behavior::scenario::workspace::tests::production_scenario_whole_glyph_drag_moves_one_occurrence_and_rejects_other_operand ... ok
test behavior::scenario::workspace::tests::scenario_form_focus_chained_apply_rechecks_live_review_owner ... ok
test behavior::scenario::workspace::tests::scenario_form_focus_missing_exact_target_leaves_other_inputs_untouched ... ok
test behavior::scenario::workspace::tests::scenario_form_focus_returns_from_back_use_and_escape_after_initial_focus_is_consumed ... ok
test behavior::scenario::workspace::tests::scenario_form_focus_saved_action_is_inert_on_replacement_child_review_and_changed_context ... ok
test behavior::scenario::workspace::tests::scenario_form_focus_targets_the_name_and_rejects_stale_sessions_or_modals ... ok
test behavior::scenario::workspace::tests::scenario_workspace_choosing_tools_preserves_valid_and_invalid_pending_editors ... ok
test behavior::scenario::workspace::tests::scenario_workspace_fit_uses_measured_inner_viewport_and_rejects_nonfinite_inputs ... ok
test behavior::scenario::workspace::tests::scenario_workspace_open_and_back_restore_owner_and_mounted_camera_after_preselection ... ok
test behavior::scenario::workspace::tests::scenario_workspace_same_size_owner_and_document_changes_remeasure_fit_viewport ... ok
test behavior::scenario::workspace::tests::scenario_workspace_scaled_and_panned_scene_keeps_clicked_slots_and_message_endpoints ... ok
test behavior::scenario::workspace::tests::scenario_workspace_scaled_nested_occurrences_and_reorder_keep_exact_sequence_identity ... ok
test behavior::scenario::workspace::tests::scenario_workspace_viewport_events_are_passive_guarded_and_do_not_apply_raw_forms ... ok
test behavior::scenario_activation::tests::a_fragment_cannot_make_crossed_calls_an_unambiguous_caller_execution ... ok
test behavior::scenario_activation::tests::activation_shoulders_under_label_backplates_select_their_call ... ok
test behavior::scenario_activation::tests::actual_canvas_pointer_selects_each_exposed_shoulder_under_zoom_and_pan ... ok
test result: ok. 101 passed; 0 failed; 0 ignored; 0 measured; 988 filtered out; finished in 200.03s
Finished `test` profile [unoptimized] target(s) in 5.82s
Running unittests src\main.rs (C:\Users\User\Documents\Git\ARCADIA-Studio\target\debug\deps\arcadia_studio-27db9628b266bf39.exe)
running 87 tests
test behavior::scenario_activation::tests::alternative_and_parallel_operand_local_calls_do_not_nest_from_screen_order ... ok
test behavior::scenario_activation::tests::an_inactive_self_call_has_no_fabricated_parent_and_three_nested_calls_expose_three_columns ... ok
test behavior::scenario_activation::tests::call_uuid_order_does_not_choose_activation_columns_or_message_anchors ... ok
test behavior::scenario_activation::tests::inherited_execution_anchors_a_self_call_inside_an_operand_before_returning_after_the_fragment ... ok
test behavior::scenario_activation::tests::long_message_backplates_do_not_erase_selected_activation_border_pixels ... ok
test behavior::scenario_activation::tests::missing_reply_is_a_short_explicit_open_span_and_an_uncorrelated_reply_closes_nothing ... ok
test behavior::scenario_activation::tests::nested_calls_expose_both_bars_and_end_at_their_exact_replies_in_both_directions ... ok
test behavior::scenario_activation::tests::nested_correlations_returning_in_alternative_operands_remain_nested_before_the_fragment ... ok
test behavior::scenario_activation::tests::reentrant_call_uses_the_other_receiver_without_inventing_a_caller_execution ... ok
test behavior::scenario_activation::tests::self_call_receives_at_lower_loop_end_and_self_reply_returns_to_the_parent ... ok
test behavior::scenario_activation::tests::sequential_calls_reuse_column_and_crossed_replies_keep_their_correlations ... ok
test behavior::scenario_hit_tests::action_frame_and_use_boxes_do_not_advertise_message_or_header_roles ... ok
test behavior::scenario_hit_tests::activation_shoulder_beats_another_calls_label_and_broad_message_tolerance ... ok
test behavior::scenario_hit_tests::create_delete_markers_are_distinct_from_their_own_message_body_and_label ... ok
test behavior::scenario_hit_tests::exact_headers_include_unassigned_lifelines_but_guides_are_not_headers ... ok
test behavior::scenario_hit_tests::invalid_points_never_produce_a_semantic_or_spacing_hit ... ok
test behavior::scenario_hit_tests::repeated_exchange_occurrences_keep_distinct_message_body_and_label_hits ... ok
test behavior::scenario_hit_tests::self_call_elbow_and_receive_endpoint_are_messages_not_execution_hits ... ok
test behavior::scenario_hit_tests::tiny_scale_nearest_hit_retains_the_winning_marker_or_message_role ... ok
test behavior::scenario_hit_tests::winning_primitive_role_does_not_come_from_its_shared_uuid ... ok
test behavior::scenario_layout::presentation::tests::absent_and_empty_saved_layouts_remain_saved_ready_representations ... ok
test behavior::scenario_layout::presentation::tests::hard_failure_uses_complete_automatic_geometry_but_retains_each_saved_request_and_latent_notice ... ok
test behavior::scenario_layout::presentation::tests::missing_or_incompatible_identity_and_structural_coordinate_errors_are_unavailable ... ok
test behavior::scenario_layout::presentation::tests::passive_fallback_preserves_exact_document_source_and_one_step_undo_redo ... ok
test behavior::scenario_layout::presentation::tests::successful_crossing_diagnostic_keeps_authored_geometry_and_latent_identity ... ok
test behavior::scenario_layout::tests::absent_empty_and_explicit_baseline_saved_values_preserve_complete_scene_and_source ... ok
test behavior::scenario_layout::tests::authored_lanes_precede_headers_arrows_lifetimes_and_complete_bounds ... ok
test behavior::scenario_layout::tests::authored_send_bits_survive_baseline_delta_and_self_lifecycle_row_conversion ... ok
test behavior::scenario_layout::tests::complete_scope_plan_rejects_escape_preserves_overlap_and_keeps_headers_and_followers ... ok
test behavior::scenario_layout::tests::decimal_call_anchor_is_admitted_and_exact_in_plan_line_and_typed_activation ... ok
test behavior::scenario_layout::tests::earlier_receiver_death_and_prebirth_call_are_named_typed_failures_not_disappearing_bars ... ok
test behavior::scenario_layout::tests::exact_authored_lane_bits_survive_headers_and_tiny_distinct_lanes_are_not_coincident ... ok
test behavior::scenario_layout::tests::explicit_root_scope_failures_do_not_clamp_calls_or_lifecycle_but_async_can_be_negative ... ok
test behavior::scenario_layout::tests::independent_saved_appearances_of_reused_exchange_have_exact_anchors_and_no_ambient_state ... ok
test behavior::scenario_layout::tests::latent_message_becomes_exact_only_when_its_own_endpoint_is_completed ... ok
test behavior::scenario_layout::tests::moved_death_clips_actual_bar_and_preserves_unanswered_cue ... ok
test behavior::scenario_layout::tests::newly_skipped_sibling_scope_is_rejected_using_real_projector_diagnostics ... ok
test behavior::scenario_layout::tests::post_fragment_death_cannot_disappear_and_feasible_operand_spacing_retains_its_marker ... ok
test behavior::scenario_layout::tests::reply_crossing_is_a_specific_typed_failure ... ok
test behavior::scenario_layout::tests::same_x_distinct_lifelines_are_not_self_messages_in_either_bridge ... ok
test behavior::scenario_layout::tests::saved_direct_nested_message_uses_operand_scopes_without_reparenting_or_moving_followers ... ok
test behavior::scenario_layout::tests::self_call_receive_and_reply_send_drive_the_full_typed_execution ... ok
test behavior::scenario_layout::tests::self_lifecycle_saved_send_is_converted_once_to_the_actual_receive_marker ... ok
test behavior::scenario_layout::tests::timer_uses_implicit_effective_receiver_and_true_self_offset ... ok
test behavior::scenario_layout::tests::unfinished_coordinate_is_latent_and_zero_or_signed_zero_never_rewrites_source ... ok
test behavior::scenario_layout::tests::unsupported_expansion_duplicate_keys_and_foreign_identity_fail_without_mutating_input ... ok
test behavior::scenario_layout::tests::wide_gap_bounds_include_all_actual_shapes_and_typed_extensions ... ok
test behavior::scenario_lifecycle::render::tests::birth_label_clip_keeps_padded_world_bounds_at_each_scene_scale ... ok
test behavior::scenario_lifecycle::render::tests::birth_label_clip_preserves_parent_viewport_bounds ... ok
test behavior::scenario_lifecycle::render::tests::box_text_clip_intersects_parent_viewport_and_rejects_empty_interiors ... ok
test behavior::scenario_lifecycle::render::tests::panned_header_and_create_clips_use_screen_translation_and_actual_viewport ... ok
test behavior::scenario_lifecycle::render::tests::real_scene_birth_death_markers_align_endpoints_and_win_selection_without_mutating_source ... ok
test behavior::scenario_lifecycle::render::tests::real_scene_branch_delete_clips_only_its_activation_and_keeps_unanswered_call_visible ... ok
test behavior::scenario_lifecycle::render::tests::real_scene_conditional_repeated_and_parallel_scopes_do_not_claim_definite_continuation ... ok
test behavior::scenario_lifecycle::render::tests::real_scene_empty_and_create_only_use_visible_root_extents_not_insertion_bounds ... ok
test behavior::scenario_lifecycle::render::tests::real_scene_lifecycle_edit_undo_redo_restores_exact_source_and_changed_geometry ... ok
test behavior::scenario_lifecycle::render::tests::real_scene_long_header_title_and_detail_keep_names_and_have_bounded_clips ... ok
test behavior::scenario_lifecycle::render::tests::real_scene_minimum_zoom_marker_halos_do_not_steal_adjacent_capsule_or_header_hits ... ok
test behavior::scenario_lifecycle::render::tests::real_scene_minimum_zoom_near_ordinary_message_wins_over_lifecycle_halos ... ok
test behavior::scenario_lifecycle::render::tests::real_scene_panned_zoomed_program_keeps_header_birth_and_death_hit_identity ... ok
test behavior::scenario_lifecycle::render::tests::real_scene_self_delete_caption_clears_the_preceding_action_box ... ok
test behavior::scenario_lifecycle::render::tests::real_scene_self_lifecycle_elbows_end_on_recorded_marker_rows ... ok
test behavior::scenario_lifecycle::render::tests::real_scene_unassigned_lanes_and_explicit_incomplete_receiver_keep_real_marker_identity ... ok
test behavior::scenario_lifecycle::render::tests::real_scene_wide_latin_header_exceeds_old_character_budget ... ok
test behavior::scenario_lifecycle::render::tests::union_tests::admitted_calls_without_sender_polylines_still_have_logical_correlation_metadata ... ok
test behavior::scenario_lifecycle::render::tests::union_tests::admitted_death_and_incomplete_later_reply_do_not_fabricate_an_answered_execution ... ok
test behavior::scenario_lifecycle::render::tests::union_tests::admitted_delayed_create_nested_calls_replies_delete_share_one_geometry_pipeline ... ok
test behavior::scenario_lifecycle::render::tests::union_tests::admitted_self_lifecycle_and_self_call_keep_distinct_send_receive_rows ... ok
test behavior::scenario_lifecycle::render::tests::union_tests::admitted_unresolved_operand_keeps_unanswered_cue_without_any_visible_segment ... ok
test behavior::scenario_lifecycle::render::tests::union_tests::clipped_operand_preserves_original_nested_or_crossed_correlation_distinction ... ok
test behavior::scenario_lifecycle::render::tests::union_tests::conditional_death_then_recreate_never_revives_call_but_keeps_open_sibling ... ok
test behavior::scenario_lifecycle::render::tests::union_tests::invalid_prebirth_call_and_postdeath_reply_remain_rejected_with_defensive_scene_clipping ... ok
test behavior::scenario_lifecycle::render::tests::union_tests::test_only_upstream_row_offsets_update_lifetime_segments_and_endpoints_without_authoring ... ok
test behavior::scenario_lifecycle::tests::alternative_death_does_not_kill_its_displayed_sibling ... ok
test behavior::scenario_lifecycle::tests::conditional_birth_does_not_infer_absence_in_siblings_or_ancestors ... ok
test behavior::scenario_lifecycle::tests::explicit_receiver_is_authoritative_even_with_missing_exchange ... ok
test behavior::scenario_lifecycle::tests::lifecycle_free_fragments_do_not_poison_other_lanes ... ok
test behavior::scenario_lifecycle::tests::loop_lifetime_is_local_and_warning_bearing_loops_remain_drawable ... ok
test behavior::scenario_lifecycle::tests::missing_geometry_is_reported_without_nonfinite_or_guessed_markers ... ok
test behavior::scenario_lifecycle::tests::optional_cleanup_inside_loop_does_not_claim_balanced_or_definite_exit ... ok
test behavior::scenario_lifecycle::tests::projection_retains_exact_authored_source_and_does_not_enter_history ... ok
test behavior::scenario_lifecycle::tests::root_lifetime_has_exact_birth_death_boundaries_without_source_mutation ... ok
test behavior::scenario_lifecycle::tests::scenario_use_is_opaque_and_never_imports_callee_lifecycle_events ... ok
test diagram::tests::svg_accepts_populated_and_empty_architecture_views ... ok
test diagram::tests::svg_rejects_missing_diagram_without_mutation ... ok
test diagram::tests::svg_rejects_saved_scenario_with_absent_or_authored_layout_without_mutation ... ok
test workflow::saved_scenario_destination_tests::empty_transition_results_do_not_make_a_scenario_an_architecture_destination ... ok
test result: ok. 87 passed; 0 failed; 0 ignored; 0 measured; 1002 filtered out; finished in 14.69s
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,62 @@
{
"status": "Synthetic actual-runner parser checks only; no Cargo or product tests",
"focusedCount": 295,
"runnerSha256": "6c984c2e12f43f1cc35b1864450264c1cdb4efa9b211bac7fe226459c52b91d7",
"cases": [
{
"case": "focused-exact",
"expected": true,
"actual": true
},
{
"case": "focused-old0409-count-and-membership",
"expected": false,
"actual": false
},
{
"case": "focused-zero",
"expected": false,
"actual": false
},
{
"case": "focused-duplicate",
"expected": false,
"actual": false
},
{
"case": "focused-missing",
"expected": false,
"actual": false
},
{
"case": "focused-wrong-total",
"expected": false,
"actual": false
},
{
"case": "focused-wrong-filtered",
"expected": false,
"actual": false
},
{
"case": "list-complete",
"expected": true,
"actual": true
},
{
"case": "list-old0409-count-and-membership",
"expected": false,
"actual": false
},
{
"case": "list-missing-summary",
"expected": false,
"actual": false
},
{
"case": "list-duplicate",
"expected": false,
"actual": false
}
]
}
@@ -0,0 +1,100 @@
{
"source": "8bf7607a3f3b53db0c36364f54f57674c64ea2f1",
"previousSource": "0409a481c7571e887f8912f0a8cdb93cfdcc01a7",
"scope": "Closed 0409 listing passed (1083); focused passed (289 / 0 / 0, 794 filtered). These are previous-version evidence only. No prior full/strict/build success is inferred. Older c4 failure/diagnostic provenance is preserved through the bound prior gate record. Every Details acceptance stage must pass anew.",
"bindings": [
{
"path": "C:/Users/User/Documents/Git/ARCADIA-Studio/.local/scenario-spacing-gates-attempt3-20260913/list-receipt.json",
"bytes": 158385,
"sha256": "0b3ae67b7826d30bd9c32b1addd03b2529297baa3b91ded3398b7e4f32a27eef"
},
{
"path": "C:/Users/User/Documents/Git/ARCADIA-Studio/.local/scenario-spacing-gates-attempt3-20260913/list.log",
"bytes": 119295,
"sha256": "825768a2b7d94fbc8ec8742d304a9aace3c1747a6355a14ef217e6505def19f8"
},
{
"path": "C:/Users/User/Documents/Git/ARCADIA-Studio/.local/scenario-spacing-gates-attempt3-20260913/focused-receipt.json",
"bytes": 153408,
"sha256": "0dfbdeffd835475132b79463e79c7988ed4c2b0709c050e777502d70cba1caac"
},
{
"path": "C:/Users/User/Documents/Git/ARCADIA-Studio/.local/scenario-spacing-gates-attempt3-20260913/focused.log",
"bytes": 36138,
"sha256": "98875cff7cf29fb600e88709b99e278daa3de536e95e0be7c8869ce8a58a3bb2"
},
{
"path": "C:/Users/User/Documents/Git/ARCADIA-Studio/.local/scenario-spacing-gates-attempt3-20260913/inputs-complete-before.json",
"bytes": 118980,
"sha256": "d59b2bc44caef655ba1227cbf818ceff7d1285f30249bf2bfc47eb2ecc16cb24"
},
{
"path": "C:/Users/User/Documents/Git/ARCADIA-Studio/.local/scenario-spacing-gates-attempt3-20260913/inputs-complete-focused-after.json",
"bytes": 118980,
"sha256": "819023ce8a3a096b947007365afcb677d6144123d190ff863f0dfd047babfd6f"
},
{
"path": "C:/Users/User/Documents/Git/ARCADIA-Studio/.local/scenario-spacing-gates-attempt3-20260913/expected-tests.json",
"bytes": 155841,
"sha256": "bface8488c96a1baa8217d3004cce079f7ade51efeb9ecf6a8016688395ec0fc"
},
{
"path": "C:/Users/User/Documents/Git/ARCADIA-Studio/.local/scenario-spacing-gates-attempt3-20260913/prior-failure-provenance.json",
"bytes": 5440,
"sha256": "90a8d357e1804d2d7173f01273b90bfab92bb842775ff64828e6f7b248dec122"
}
],
"recipeBindings": [
{
"path": "C:/Users/User/Documents/Git/ARCADIA-Studio/.local/scenario-spacing-gates-attempt3-20260913/run.ps1",
"bytes": 13175,
"sha256": "3e0d64ba0ee6f1910afbe4baf29a5f117e5406e9cddb3b56c991e4c6400513fe"
},
{
"path": "C:/Users/User/Documents/Git/ARCADIA-Studio/.local/scenario-spacing-gates-attempt3-20260913/capture.ps1",
"bytes": 4119,
"sha256": "37dbe1a2eb4cbac391863fc9c268cf4aebf498b4fe413d72586321b9a3b87f50"
},
{
"path": "C:/Users/User/Documents/Git/ARCADIA-Studio/.local/scenario-spacing-gates-attempt3-20260913/enumerate-inputs.ps1",
"bytes": 1843,
"sha256": "67baee5827cdbec5f9385b4452cc65d8c66934299282e88ebe200a2260608ae6"
},
{
"path": "C:/Users/User/Documents/Git/ARCADIA-Studio/.local/scenario-spacing-gates-attempt3-20260913/binary-inputs.ps1",
"bytes": 1214,
"sha256": "59da671a59d75ea0aa0c4662b1e48fd189823e45b71d0df98e65430becc7da83"
},
{
"path": "C:/Users/User/Documents/Git/ARCADIA-Studio/.local/scenario-spacing-gates-attempt3-20260913/diagnostic.ps1",
"bytes": 6853,
"sha256": "705044deb1a1de0639f0f521a346e242697219f37915b0148b14e357a5d72564"
},
{
"path": "C:/Users/User/Documents/Git/ARCADIA-Studio/.local/scenario-spacing-gates-attempt3-20260913/verify-parser.ps1",
"bytes": 3461,
"sha256": "9d59a053f49427c525086a6ea9735f171776171d7a3336143e5b00004c797999"
}
],
"list": {
"cargoExitCode": 0,
"selectionValid": true,
"inputsUnchanged": true,
"count": 1083
},
"focused": {
"cargoExitCode": 0,
"selectionValid": true,
"inputsUnchanged": true,
"result": [
{
"status": "ok",
"passed": 289,
"failed": 0,
"ignored": 0,
"measured": 0,
"filtered": 794
}
]
}
}
@@ -0,0 +1,173 @@
{
"schema": "scenario_details_gate_recovery_v1",
"source_commit": "8bf7607a3f3b53db0c36364f54f57674c64ea2f1",
"original_gate": "C:/Users/User/Documents/Git/ARCADIA-Studio/.local/scenario-details-gates-attempt2-20260913",
"reason": "Parent reported closed terminal35808 exit1: command line too long before Cargo could start focused execution. No focused log/receipt existed when this recovery was prepared.",
"reused_stage": "list",
"reused_list_receipt_sha256": "e2d9258afab904c7d0d9f3efbb3c3cc02511a33296c1698b3114b3d6b7a125a1",
"reused_list_log_sha256": "214572d5f64e584e37666c5c13a7589116143df4ed5e2c968f339038da3f5aca",
"failed_start_capture": {
"path": "C:/Users/User/Documents/Git/ARCADIA-Studio/.local/scenario-details-gates-attempt2-20260913/inputs-complete-focused-before.json",
"bytes": 119187,
"sha256": "0b4db9c8f8266c5ec5d02803d32a528e42e4fd70639fbd6b98537864704c85d4"
},
"copied_original_files": [
{
"path": "README.md",
"bytes": 4263,
"sha256": "951a3f76bf4a56fdddeda6b40b142d502b1b9b9a6735a4fb2f5bdc1a5d76e891"
},
{
"path": "binary-inputs.ps1",
"bytes": 1234,
"sha256": "58a185bddd852398bdc175faf05fce232ec77d2f0ebb1af31074d544339cc540"
},
{
"path": "cache-policy.json",
"bytes": 479,
"sha256": "7ae079d8b8a8e05be73ef51af147ce6e0f9f984539bc9cb6bf075df8b252ac46"
},
{
"path": "capture.ps1",
"bytes": 4119,
"sha256": "20dbc7eba617d2119f6cc0a68aa00c1d85372504995a9b85b023835cc93404ff"
},
{
"path": "diagnostic.ps1",
"bytes": 6853,
"sha256": "2303ae5408a6317a3abf9d862c4d6772f87c259916588be354c049c5075fbdba"
},
{
"path": "enumerate-inputs.ps1",
"bytes": 1843,
"sha256": "545b3d0200f8564e26c739f2e8f1ce6de9407fbe35e162d7551a7873012df6a6"
},
{
"path": "enumeration.json",
"bytes": 74945,
"sha256": "50badcbc88272887ac5510f8468855472e3cbd5010322bd75931c2ed70abb572"
},
{
"path": "expected-inputs.json",
"bytes": 117627,
"sha256": "8ffccc50774a6e80b6dfd3c4a39315bbca6b57e771326d4f048a37340ac0a99f"
},
{
"path": "expected-tests.json",
"bytes": 157428,
"sha256": "4eaa6987aa91c7dcabb14ad4a3b17a4cec7718a30a820034ea4efa1a3afcb6d0"
},
{
"path": "external-input-template.json",
"bytes": 1457,
"sha256": "f0c6b974dccc5c36265b20081f50da810079c694462f1081a13e4d351fa7d013"
},
{
"path": "external-inputs.json",
"bytes": 1457,
"sha256": "c3b5e21073267a3640d41edfd9d82514c47494e0b433a3053b50a4219f552f51"
},
{
"path": "finalization.json",
"bytes": 611,
"sha256": "c529de5736e8d1fecf201901c60a081cfd92839c595baf3287eedce02a454d80"
},
{
"path": "finalize.ps1",
"bytes": 11671,
"sha256": "d48b2da4063d719f5a2ccdee82f100bb8a6e66c08a6cc4c5561314f2a5c2a593"
},
{
"path": "inputs-complete-before.json",
"bytes": 119187,
"sha256": "918c5f24b8d65e09ae39850d394015d92265003aa14776b35ef0882b4869c73f"
},
{
"path": "inputs-complete-list-after.json",
"bytes": 119187,
"sha256": "7f709cf87c191641a541b77ae73de974fa266305e5b3a898fb092a9d662a3986"
},
{
"path": "inputs-complete-list-before.json",
"bytes": 119187,
"sha256": "13af0adbe53803a9655af5e442f4d03c592570172e778da7624b21fbcd28d692"
},
{
"path": "list-receipt.json",
"bytes": 160008,
"sha256": "e2d9258afab904c7d0d9f3efbb3c3cc02511a33296c1698b3114b3d6b7a125a1"
},
{
"path": "list.log",
"bytes": 120099,
"sha256": "214572d5f64e584e37666c5c13a7589116143df4ed5e2c968f339038da3f5aca"
},
{
"path": "parser-preparation-verification.json",
"bytes": 1344,
"sha256": "6df850239673fd8548f94b1abf05d55727acf39e3adc1cce09e04e85b21bba70"
},
{
"path": "parser-verification.json",
"bytes": 1344,
"sha256": "38286acc9bdd913af5194cb26d53c8e9905734853ae168c8f2d67c2c7e490375"
},
{
"path": "preparation-verification.json",
"bytes": 3626,
"sha256": "d5ece9237039b5a53527fe571df4a6d50d69d135172793e1eaeaedca92270410"
},
{
"path": "prior-gate-provenance.json",
"bytes": 4409,
"sha256": "49f7a232d41c31df621c15158d5cb3554d33965f3cba89a886a96a6444289618"
},
{
"path": "run.ps1",
"bytes": 13178,
"sha256": "6c984c2e12f43f1cc35b1864450264c1cdb4efa9b211bac7fe226459c52b91d7"
},
{
"path": "selection-provenance.json",
"bytes": 2977,
"sha256": "35d75c8911db632417b3b0779f2dfc7cf84cf021d0d99b25a3e65aedec0fb1f1"
},
{
"path": "server-provenance-template.json",
"bytes": 1293,
"sha256": "fdf93fe4245e60b8a9164a3ccd560a28340aa890f8ea9f4dee46e0fcae2a6426"
},
{
"path": "server-provenance.json",
"bytes": 1306,
"sha256": "69bc359251803ce80d8e65cd1983f33d9eb7553c12098ca9b10a05a523e1f19a"
},
{
"path": "source-change-provenance.json",
"bytes": 751,
"sha256": "9f1327f69deb795c2f29f0cd93aa634cacba05a972540d62445a645bc905511f"
},
{
"path": "source-change-template.json",
"bytes": 4915,
"sha256": "1b616f44948d91b32e3e7d5b45bb79d211772ea1bd495372dfecdca0e77b007d"
},
{
"path": "toolchain-versions.json",
"bytes": 2268,
"sha256": "6ab6b9767eae2ceec8ace9924324baa1819141612d499f0014ca0efb8b307c3c"
},
{
"path": "validate-scripts.ps1",
"bytes": 505,
"sha256": "8070b7dada426fe70134e78f5b202a243558650f0eb8ee673e9634c0d36de1f9"
},
{
"path": "verify-parser.ps1",
"bytes": 4151,
"sha256": "480cb83fea011d875c2839c277a503b7c4b9c5b9f1df09cf1aa191fcf5c711a3"
}
],
"original_gate_unchanged": true,
"source_or_compiler_execution": false
}
@@ -0,0 +1,178 @@
#Requires -Version 7.0
param([Parameter(Mandatory=$true)][ValidateSet('focused','all','clippy','build')][string]$Stage)
Set-StrictMode -Version Latest
$ErrorActionPreference='Stop'
$PSNativeCommandUseErrorActionPreference=$false
$taskWorkspace='C:\Users\User\Documents\Git\ARCADIA-Studio\.local\scenario-spacing-ytr83r-20260913'
$taskTarget='C:\Users\User\Documents\Git\ARCADIA-Studio\target'
$taskPin='8bf7607a3f3b53db0c36364f54f57674c64ea2f1'
if($taskPin -notmatch '^[0-9a-f]{40}$'){throw 'Final reviewed source pin and captures are not prepared; do not run this template.'}
$toolchainEnv='C:\Users\User\Documents\Git\ARCADIA-Studio\.local\toolchain\env.ps1'
function Hash-Input([string]$Path){(Get-FileHash -LiteralPath $Path -Algorithm SHA256).Hash.ToLowerInvariant()}
function Same-Names($Left,$Right){$a=@($Left|Sort-Object);$b=@($Right|Sort-Object);return $a.Count -eq $b.Count -and @(Compare-Object $a $b).Count -eq 0}
$taskLog=Join-Path $PSScriptRoot ($Stage+'.log')
$taskReceipt=Join-Path $PSScriptRoot ($Stage+'-receipt.json')
if((Test-Path -LiteralPath $taskLog)-or(Test-Path -LiteralPath $taskReceipt)){throw 'Do not replace evidence; prepare a new gate directory for retries.'}
$cache=Get-Content -Raw -LiteralPath (Join-Path $PSScriptRoot 'cache-policy.json')|ConvertFrom-Json
if($cache.base -cne $taskPin -or -not $cache.retainExistingTarget -or $cache.cleanRequested){throw 'Wrong reviewed cache policy.'}
. (Join-Path $PSScriptRoot 'binary-inputs.ps1')
. (Join-Path $PSScriptRoot 'batch-helpers.ps1')
$batchPlan=Get-Content -Raw -LiteralPath (Join-Path $PSScriptRoot 'batches.json')|ConvertFrom-Json
$reusedList=Get-Content -Raw -LiteralPath (Join-Path $PSScriptRoot 'list-receipt.json')|ConvertFrom-Json
if((Hash-Input (Join-Path $PSScriptRoot 'list-receipt.json')) -cne $batchPlan.upstream_list_receipt_sha256 -or (Hash-Input (Join-Path $PSScriptRoot 'list.log')) -cne $batchPlan.upstream_list_log_sha256 -or -not $reusedList.testBinaryBindingValid -or $null -ne $reusedList.postflightFailure){throw 'Closed reused listing binding differs'}
$selection=Get-Content -Raw -LiteralPath (Join-Path $PSScriptRoot 'expected-tests.json')|ConvertFrom-Json
$expected=@($selection.tests|Sort-Object -Unique)
if($selection.source_commit -cne $taskPin -or $selection.expected_count -ne 295 -or $expected.Count -ne 295 -or @($selection.tests).Count -ne 295){throw 'Wrong exact focused membership.'}
$expectedCount=295
$commonFiles=@('run.ps1','capture.ps1','enumerate-inputs.ps1','binary-inputs.ps1','finalize.ps1','verify-parser.ps1','validate-scripts.ps1','parser-verification.json','finalization.json','expected-tests.json','expected-inputs.json','enumeration.json','external-inputs.json','inputs-complete-before.json','cache-policy.json','server-provenance.json','prior-gate-provenance.json','selection-provenance.json','diagnostic.ps1','source-change-template.json','source-change-provenance.json','run-batched.ps1','capture-followon.ps1','batch-helpers.ps1','batches.json','recovery-provenance.json','RECOVERY.md')
$boundScripts=@{}
foreach($file in $commonFiles){$boundScripts[$file]=Hash-Input (Join-Path $PSScriptRoot $file)}
$previous=@{focused='list';all='focused';clippy='all';build='clippy'}
$priorBinding=$null
if($previous.ContainsKey($Stage)){
$priorName=$previous[$Stage]
$priorPath=Join-Path $PSScriptRoot ($priorName+'-receipt.json')
$prior=Get-Content -Raw -LiteralPath $priorPath|ConvertFrom-Json
if($prior.stage -cne $priorName -or $prior.base -cne $taskPin -or $prior.workspace -ine $taskWorkspace -or $prior.target -ine $taskTarget -or $prior.cargoExitCode -ne 0 -or -not $prior.selectionValid -or -not $prior.inputsUnchanged){throw 'Exact prior sequential stage did not pass.'}
foreach($property in $prior.boundScriptAndInputHashes.PSObject.Properties){if((Hash-Input (Join-Path $PSScriptRoot $property.Name)) -cne $property.Value){throw ('Prior transitive binding changed: '+$property.Name)};$boundScripts[$property.Name]=$property.Value}
if((Hash-Input (Join-Path $PSScriptRoot ($priorName+'.log'))) -cne $prior.rawLogSha256){throw 'Prior raw output changed.'}
$priorBinding=[ordered]@{stage=$priorName;receiptSha256=(Hash-Input $priorPath);rawLogSha256=$prior.rawLogSha256}
}
Push-Location -LiteralPath $taskWorkspace
try {
& (Join-Path $PSScriptRoot 'capture-followon.ps1') -Stage ($Stage+'-before')
. $toolchainEnv
$env:CARGO_TARGET_DIR=$taskTarget
$env:CARGO_TERM_COLOR='never'
$PSNativeCommandUseErrorActionPreference=$false
$versionPath=Join-Path $PSScriptRoot 'toolchain-versions.json'
if($Stage -eq 'list'){
if(Test-Path -LiteralPath $versionPath){throw 'Preserve prior toolchain version evidence.'}
$cargoVersion=@(& cargo --version --verbose 2>&1);$cargoVersionExit=$LASTEXITCODE
$rustcVersion=@(& rustc --version --verbose 2>&1);$rustcVersionExit=$LASTEXITCODE
$clippyVersion=@(& cargo clippy --version 2>&1);$clippyVersionExit=$LASTEXITCODE
$clangVersion=@(& clang --version 2>&1);$clangVersionExit=$LASTEXITCODE
[ordered]@{base=$taskPin;capturedUtc=[DateTime]::UtcNow.ToString('o');externalEnvironmentPath=$toolchainEnv;externalEnvironmentSha256=(Hash-Input $toolchainEnv);cargo=@($cargoVersion|ForEach-Object {$_.ToString()});cargoExitCode=$cargoVersionExit;rustc=@($rustcVersion|ForEach-Object {$_.ToString()});rustcExitCode=$rustcVersionExit;clippy=@($clippyVersion|ForEach-Object {$_.ToString()});clippyExitCode=$clippyVersionExit;clang=@($clangVersion|ForEach-Object {$_.ToString()});clangExitCode=$clangVersionExit;cargoPath=(Get-Command cargo).Source;rustcPath=(Get-Command rustc).Source;clangPath=(Get-Command clang).Source;cargoHome=$env:CARGO_HOME;rustupHome=$env:RUSTUP_HOME;rustupToolchain=$env:RUSTUP_TOOLCHAIN;buildJobs=$env:CARGO_BUILD_JOBS;incremental=$env:CARGO_INCREMENTAL}|ConvertTo-Json -Depth 8|Set-Content -LiteralPath $versionPath -Encoding utf8
if($cargoVersionExit -ne 0 -or $rustcVersionExit -ne 0 -or $clippyVersionExit -ne 0 -or $clangVersionExit -ne 0){throw 'Toolchain version query failed.'}
}
$versionsHash=Hash-Input $versionPath
if($priorBinding -and $prior.toolchainVersionsSha256 -cne $versionsHash){throw 'Toolchain version receipt changed.'}
Assert-BatchPlan $batchPlan $expected (Get-Command cargo).Source
$batchReceipts=@();$batchesValid=$true
$taskArgs=switch($Stage){
'list' {@('test','-p','oa-desktop','--all-targets','--locked','--offline','--','--list')}
'focused' {@('test','-p','oa-desktop','--bin','arcadia-studio','--locked','--offline','--','--exact')+$expected+@('--test-threads=1')}
'all' {@('test','-p','oa-desktop','--all-targets','--locked','--offline','--','--test-threads=1')}
'clippy' {@('clippy','-p','oa-desktop','-p','oa-server','--all-targets','--locked','--offline','--','-D','warnings')}
'build' {@('build','-p','oa-desktop','--bin','arcadia-studio','--locked','--offline')}
}
$taskStart=[DateTime]::UtcNow.ToString('o')
$testExecutablesBefore=@()
if($Stage -ne 'list'){
$testExecutablesBefore=@($prior.testExecutables|ForEach-Object {Get-GateBinary $_.path $taskTarget})
if(-not (Same-GateBinaries @($prior.testExecutables) $testExecutablesBefore)){throw 'Previously bound test executable changed before this stage.'}
}
if($Stage -eq 'focused'){
$taskExit=0;$lastBatch=$null
foreach($batch in $batchPlan.batches){
$batchId=$batch.id;$batchLog=Join-Path $PSScriptRoot ($batchId+'.log');$batchReceipt=Join-Path $PSScriptRoot ($batchId+'-receipt.json')
if((Test-Path -LiteralPath $batchLog)-or(Test-Path -LiteralPath $batchReceipt)){throw 'Preserve existing batch evidence'}
& (Join-Path $PSScriptRoot 'capture-followon.ps1') -Stage ($batchId+'-before')
$batchBefore=@($testExecutablesBefore|ForEach-Object {Get-GateBinary $_.path $taskTarget})
if(-not (Same-GateBinaries $testExecutablesBefore $batchBefore)){throw 'Listed executable changed before batch'}
$batchArgs=@($batchPlan.base_arguments)+@($batch.tests)+@($batchPlan.tail_arguments)
$batchStart=[DateTime]::UtcNow.ToString('o');$batchFailure=$null;$batchExit=-1
try{& cargo @batchArgs 2>&1|Tee-Object -FilePath $batchLog;$batchExit=$LASTEXITCODE}catch{$batchFailure=$_.Exception.Message;if(-not(Test-Path -LiteralPath $batchLog)){[IO.File]::WriteAllText($batchLog,$batchFailure)}}
$batchEnd=[DateTime]::UtcNow.ToString('o');$batchText=Get-Content -Raw -LiteralPath $batchLog
$batchResult=Read-BatchResults $batchText;$batchValid=$false;$batchInputs=$false;$batchAfter=@();$batchBinaryValid=$false
try{
& (Join-Path $PSScriptRoot 'capture-followon.ps1') -Stage ($batchId+'-after')
foreach($file in $boundScripts.Keys){if((Hash-Input (Join-Path $PSScriptRoot $file)) -cne $boundScripts[$file]){throw 'Recipe/input changed during batch'}}
if((Hash-Input $versionPath) -cne $versionsHash){throw 'Toolchain record changed during batch'}
$batchInputs=$true
$batchAfter=@($batchBefore|ForEach-Object {Get-GateBinary $_.path $taskTarget})
$observed=@(Get-GateTestBinaries $batchText $taskTarget)
if(-not(Same-GateBinaries $batchBefore $batchAfter)-or-not(Same-GateBinaries $batchAfter $observed)){throw 'Batch executed another or changed test binary'}
$batchBinaryValid=$true
Assert-ExactBatch $batch $batchResult 1089
if($batchExit -ne 0 -or $null -ne $batchFailure){throw 'Batch process failed to finish successfully'}
$batchValid=$true
}catch{$batchFailure=$_.Exception.Message}
$record=[ordered]@{schema='scenario_details_exact_batch_v1';stage=$batchId;base=$taskPin;workspace=$taskWorkspace;target=$taskTarget;command=('cargo '+($batchArgs -join ' '));arguments=$batchArgs;commandCharacters=$batch.command_characters;startUtc=$batchStart;endUtc=$batchEnd;cargoExitCode=$batchExit;selectionValid=$batchValid;inputsUnchanged=$batchInputs;postflightFailure=$batchFailure;boundScriptAndInputHashes=$boundScripts;listReceiptSha256=$batchPlan.upstream_list_receipt_sha256;batchPlanSha256=(Hash-Input (Join-Path $PSScriptRoot 'batches.json'));priorBatch=$lastBatch;rawLogSha256=(Hash-Input $batchLog);beforeCaptureSha256=(Hash-Input (Join-Path $PSScriptRoot ('inputs-complete-'+$batchId+'-before.json')));afterCaptureSha256=if(Test-Path (Join-Path $PSScriptRoot ('inputs-complete-'+$batchId+'-after.json'))){Hash-Input (Join-Path $PSScriptRoot ('inputs-complete-'+$batchId+'-after.json'))}else{$null};executedTests=$batchResult.executedTests;testResultSummaries=$batchResult.testResultSummaries;testExecutablesBefore=$batchBefore;testExecutables=$batchAfter;testBinaryBindingValid=$batchBinaryValid;toolchainVersionsSha256=$versionsHash}
$record|ConvertTo-Json -Depth 14|Set-Content -LiteralPath $batchReceipt -Encoding utf8
$lastBatch=[ordered]@{stage=$batchId;receiptSha256=(Hash-Input $batchReceipt);rawLogSha256=(Hash-Input $batchLog)}
$batchReceipts+=$lastBatch
foreach($artifact in @(($batchId+'-receipt.json'),($batchId+'.log'),('inputs-complete-'+$batchId+'-before.json'),('inputs-complete-'+$batchId+'-after.json'))){if(Test-Path -LiteralPath (Join-Path $PSScriptRoot $artifact)){$boundScripts[$artifact]=Hash-Input (Join-Path $PSScriptRoot $artifact)}}
# Aggregate raw output is the byte-exact concatenation, never a fabricated
# one-process summary. Individual logs/receipts remain the execution authority.
$stream=[IO.File]::Open($taskLog,[IO.FileMode]::Append,[IO.FileAccess]::Write,[IO.FileShare]::Read)
try{$bytes=[IO.File]::ReadAllBytes($batchLog);$stream.Write($bytes,0,$bytes.Length)}finally{$stream.Dispose()}
if(-not $batchValid){$batchesValid=$false;$taskExit=if($batchExit -ne 0){$batchExit}else{1};break}
}
}else{
& cargo @taskArgs 2>&1|Tee-Object -FilePath $taskLog
$taskExit=$LASTEXITCODE
}
$taskEnd=[DateTime]::UtcNow.ToString('o')
$taskText=Get-Content -Raw -LiteralPath $taskLog
$taskValid=$true;$taskFailure=$null
$listed=@();$executed=@();$matched=@();$ignored=@();$summaries=@();$listSummaries=@()
if($Stage -eq 'list'){
$listed=@([regex]::Matches($taskText,'(?m)^([^\r\n]+): test\r?$')|ForEach-Object {$_.Groups[1].Value})
$matched=@($listed|Where-Object {$_ -cin $expected}|Sort-Object)
$listSummaries=@([regex]::Matches($taskText,'(?m)^(\d+) tests, (\d+) benchmarks\r?$')|ForEach-Object {[ordered]@{tests=[int]$_.Groups[1].Value;benchmarks=[int]$_.Groups[2].Value}})
$taskValid=$listed.Count -ge $expectedCount -and @($listed|Sort-Object -Unique).Count -eq $listed.Count -and (Same-Names $expected $matched) -and (Same-Names @($selection.desktop_tests) $listed) -and $listSummaries.Count -gt 0 -and ($listSummaries|ForEach-Object {$_.tests}|Measure-Object -Sum).Sum -eq $listed.Count -and ($listSummaries|ForEach-Object {$_.benchmarks}|Measure-Object -Sum).Sum -eq 0
}
if($Stage -in @('focused','all')){
$executed=@([regex]::Matches($taskText,'(?m)^test ([^\r\n]+?) \.\.\. (ok|FAILED|ignored)[^\r\n]*\r?$')|ForEach-Object {[ordered]@{name=$_.Groups[1].Value;result=$_.Groups[2].Value}})
$summaries=@([regex]::Matches($taskText,'test result: (ok|FAILED)\. (\d+) passed; (\d+) failed; (\d+) ignored; (\d+) measured; (\d+) filtered out;')|ForEach-Object {[ordered]@{status=$_.Groups[1].Value;passed=[int]$_.Groups[2].Value;failed=[int]$_.Groups[3].Value;ignored=[int]$_.Groups[4].Value;measured=[int]$_.Groups[5].Value;filtered=[int]$_.Groups[6].Value}})
$ignored=@($executed|Where-Object {$_.result -eq 'ignored'}|ForEach-Object {$_.name})
$passedCount=@($executed|Where-Object {$_.result -eq 'ok'}).Count
$failedCount=@($executed|Where-Object {$_.result -eq 'FAILED'}).Count
$taskValid=$summaries.Count -gt 0 -and $failedCount -eq 0 -and @($summaries|Where-Object {$_.status -ne 'ok' -or $_.failed -ne 0 -or $_.measured -ne 0}).Count -eq 0 -and ($summaries|ForEach-Object {$_. passed}|Measure-Object -Sum).Sum -eq $passedCount -and ($summaries|ForEach-Object {$_. ignored}|Measure-Object -Sum).Sum -eq $ignored.Count
if($Stage -in @('focused','all')){
$matched=@($executed|Where-Object {$_.name -cin $expected -and $_.result -eq 'ok'}|ForEach-Object {$_.name}|Sort-Object)
$taskValid=$taskValid -and (Same-Names $expected $matched)
}
if($Stage -eq 'focused'){$taskValid=$taskValid -and $batchesValid -and $batchReceipts.Count -eq @($batchPlan.batches).Count -and $executed.Count -eq $expectedCount -and @($executed.name|Sort-Object -Unique).Count -eq $expectedCount -and $passedCount -eq $expectedCount -and $ignored.Count -eq 0 -and $summaries.Count -eq $batchReceipts.Count}
if($Stage -eq 'all'){
$listPath=Join-Path $PSScriptRoot 'list-receipt.json'
$listHash=Hash-Input $listPath
$listReceipt=Get-Content -Raw -LiteralPath $listPath|ConvertFrom-Json
if($prior.priorStage.stage -cne 'list' -or $prior.priorStage.receiptSha256 -cne $listHash){throw 'Desktop listing changed after focused execution.'}
$boundScripts['list-receipt.json']=$listHash
$taskValid=$taskValid -and (Same-Names @($listReceipt.listedTests) @($executed|ForEach-Object {$_.name})) -and ($summaries|ForEach-Object {$_. filtered}|Measure-Object -Sum).Sum -eq 0 -and (Same-Names @($selection.ignored_tests) $ignored)
}
}
$inputsUnchanged=$false
try {
& (Join-Path $PSScriptRoot 'capture-followon.ps1') -Stage ($Stage+'-after')
foreach($file in $boundScripts.Keys){if((Hash-Input (Join-Path $PSScriptRoot $file)) -cne $boundScripts[$file]){throw ('Gate recipe/input changed: '+$file)}}
if((Hash-Input $versionPath) -cne $versionsHash){throw 'Toolchain version receipt changed.'}
if($priorBinding -and (Hash-Input (Join-Path $PSScriptRoot ($priorBinding.stage+'-receipt.json'))) -cne $priorBinding.receiptSha256){throw 'Prior receipt changed during gate.'}
$inputsUnchanged=$true
}catch{$taskFailure=$_.Exception.Message}
$testExecutables=@();$testBinaryBindingValid=$false
try {
if($Stage -eq 'list'){
$testExecutables=@(Get-GateTestBinaries $taskText $taskTarget)
if($testExecutables.Count -ne 1){throw 'Expected exactly one actual desktop test executable from Cargo listing.'}
} else {
$testExecutables=@($testExecutablesBefore|ForEach-Object {Get-GateBinary $_.path $taskTarget})
if(-not (Same-GateBinaries $testExecutablesBefore $testExecutables)){throw 'Bound test executable changed during this stage.'}
if($Stage -in @('focused','all')){
$observed=@(Get-GateTestBinaries $taskText $taskTarget)
if(-not (Same-GateBinaries $testExecutables $observed)){throw 'Executed test path differs from the exact listed executable.'}
}
}
$testBinaryBindingValid=$true
} catch {$taskFailure=$_.Exception.Message}
$taskValid=$taskValid -and $testBinaryBindingValid
$binary=$null
if($Stage -eq 'build' -and $taskExit -eq 0){$path=Join-Path $taskTarget 'debug/arcadia-studio.exe';$item=Get-Item -LiteralPath $path;$binary=[ordered]@{path=$item.FullName;bytes=$item.Length;sha256=(Hash-Input $path);mtimeUtc=$item.LastWriteTimeUtc.ToString('o')}}
[ordered]@{stage=$Stage;executionMode=if($Stage -eq 'focused'){'bounded-exact-batches-v1'}else{'cargo-single-stage'};batchReceipts=$batchReceipts;batchPlanSha256=(Hash-Input (Join-Path $PSScriptRoot 'batches.json'));command=if($Stage -eq 'focused'){'cargo test in bounded exact-name batches; see batchReceipts'}else{'cargo '+($taskArgs -join ' ')};arguments=if($Stage -eq 'focused'){@()}else{$taskArgs};base=$taskPin;workspace=$taskWorkspace;target=$taskTarget;startUtc=$taskStart;endUtc=$taskEnd;cargoExitCode=$taskExit;selectionValid=$taskValid;inputsUnchanged=$inputsUnchanged;postflightFailure=$taskFailure;boundScriptAndInputHashes=$boundScripts;priorStage=$priorBinding;externalEnvironmentPath=$toolchainEnv;externalEnvironmentSha256=(Hash-Input $toolchainEnv);toolchainVersionsSha256=$versionsHash;rawLogSha256=(Hash-Input $taskLog);beforeCaptureSha256=(Hash-Input (Join-Path $PSScriptRoot ('inputs-complete-'+$Stage+'-before.json')));afterCaptureSha256=if(Test-Path -LiteralPath (Join-Path $PSScriptRoot ('inputs-complete-'+$Stage+'-after.json'))){Hash-Input (Join-Path $PSScriptRoot ('inputs-complete-'+$Stage+'-after.json'))}else{$null};listedTests=$listed;executedTests=$executed;testResultSummaries=$summaries;matchedRegressionTests=$matched;ignoredTests=$ignored;listSummaries=$listSummaries;testExecutablesBefore=$testExecutablesBefore;testExecutables=$testExecutables;testBinaryBindingValid=$testBinaryBindingValid;binary=$binary}|ConvertTo-Json -Depth 14|Set-Content -LiteralPath $taskReceipt -Encoding utf8
if($taskExit -ne 0){exit $taskExit}
if(-not $taskValid -or -not $inputsUnchanged){throw 'Gate membership or input binding failed; inspect receipt and raw output.'}
} finally {Pop-Location}
@@ -0,0 +1,133 @@
#Requires -Version 7.0
param([Parameter(Mandatory=$true)][ValidateSet('list','focused','all','clippy','build')][string]$Stage)
Set-StrictMode -Version Latest
$ErrorActionPreference='Stop'
$PSNativeCommandUseErrorActionPreference=$false
$taskWorkspace='C:\Users\User\Documents\Git\ARCADIA-Studio\.local\scenario-spacing-ytr83r-20260913'
$taskTarget='C:\Users\User\Documents\Git\ARCADIA-Studio\target'
$taskPin='8bf7607a3f3b53db0c36364f54f57674c64ea2f1'
if($taskPin -notmatch '^[0-9a-f]{40}$'){throw 'Final reviewed source pin and captures are not prepared; do not run this template.'}
$toolchainEnv='C:\Users\User\Documents\Git\ARCADIA-Studio\.local\toolchain\env.ps1'
function Hash-Input([string]$Path){(Get-FileHash -LiteralPath $Path -Algorithm SHA256).Hash.ToLowerInvariant()}
function Same-Names($Left,$Right){$a=@($Left|Sort-Object);$b=@($Right|Sort-Object);return $a.Count -eq $b.Count -and @(Compare-Object $a $b).Count -eq 0}
$taskLog=Join-Path $PSScriptRoot ($Stage+'.log')
$taskReceipt=Join-Path $PSScriptRoot ($Stage+'-receipt.json')
if((Test-Path -LiteralPath $taskLog)-or(Test-Path -LiteralPath $taskReceipt)){throw 'Do not replace evidence; prepare a new gate directory for retries.'}
$cache=Get-Content -Raw -LiteralPath (Join-Path $PSScriptRoot 'cache-policy.json')|ConvertFrom-Json
if($cache.base -cne $taskPin -or -not $cache.retainExistingTarget -or $cache.cleanRequested){throw 'Wrong reviewed cache policy.'}
. (Join-Path $PSScriptRoot 'binary-inputs.ps1')
$selection=Get-Content -Raw -LiteralPath (Join-Path $PSScriptRoot 'expected-tests.json')|ConvertFrom-Json
$expected=@($selection.tests|Sort-Object -Unique)
if($selection.source_commit -cne $taskPin -or $selection.expected_count -ne 295 -or $expected.Count -ne 295 -or @($selection.tests).Count -ne 295){throw 'Wrong exact focused membership.'}
$expectedCount=295
$commonFiles=@('run.ps1','capture.ps1','enumerate-inputs.ps1','binary-inputs.ps1','finalize.ps1','verify-parser.ps1','validate-scripts.ps1','parser-verification.json','finalization.json','expected-tests.json','expected-inputs.json','enumeration.json','external-inputs.json','inputs-complete-before.json','cache-policy.json','server-provenance.json','prior-gate-provenance.json','selection-provenance.json','diagnostic.ps1','source-change-template.json','source-change-provenance.json')
$boundScripts=@{}
foreach($file in $commonFiles){$boundScripts[$file]=Hash-Input (Join-Path $PSScriptRoot $file)}
$previous=@{focused='list';all='focused';clippy='all';build='clippy'}
$priorBinding=$null
if($previous.ContainsKey($Stage)){
$priorName=$previous[$Stage]
$priorPath=Join-Path $PSScriptRoot ($priorName+'-receipt.json')
$prior=Get-Content -Raw -LiteralPath $priorPath|ConvertFrom-Json
if($prior.stage -cne $priorName -or $prior.base -cne $taskPin -or $prior.workspace -ine $taskWorkspace -or $prior.target -ine $taskTarget -or $prior.cargoExitCode -ne 0 -or -not $prior.selectionValid -or -not $prior.inputsUnchanged){throw 'Exact prior sequential stage did not pass.'}
foreach($file in $commonFiles){if($prior.boundScriptAndInputHashes.$file -cne $boundScripts[$file]){throw ('Prior recipe/input binding changed: '+$file)}}
foreach($property in $prior.boundScriptAndInputHashes.PSObject.Properties){if((Hash-Input (Join-Path $PSScriptRoot $property.Name)) -cne $property.Value){throw ('Prior transitive binding changed: '+$property.Name)};$boundScripts[$property.Name]=$property.Value}
if((Hash-Input (Join-Path $PSScriptRoot ($priorName+'.log'))) -cne $prior.rawLogSha256){throw 'Prior raw output changed.'}
$priorBinding=[ordered]@{stage=$priorName;receiptSha256=(Hash-Input $priorPath);rawLogSha256=$prior.rawLogSha256}
}
Push-Location -LiteralPath $taskWorkspace
try {
& (Join-Path $PSScriptRoot 'capture.ps1') -Stage ($Stage+'-before')
. $toolchainEnv
$env:CARGO_TARGET_DIR=$taskTarget
$env:CARGO_TERM_COLOR='never'
$PSNativeCommandUseErrorActionPreference=$false
$versionPath=Join-Path $PSScriptRoot 'toolchain-versions.json'
if($Stage -eq 'list'){
if(Test-Path -LiteralPath $versionPath){throw 'Preserve prior toolchain version evidence.'}
$cargoVersion=@(& cargo --version --verbose 2>&1);$cargoVersionExit=$LASTEXITCODE
$rustcVersion=@(& rustc --version --verbose 2>&1);$rustcVersionExit=$LASTEXITCODE
$clippyVersion=@(& cargo clippy --version 2>&1);$clippyVersionExit=$LASTEXITCODE
$clangVersion=@(& clang --version 2>&1);$clangVersionExit=$LASTEXITCODE
[ordered]@{base=$taskPin;capturedUtc=[DateTime]::UtcNow.ToString('o');externalEnvironmentPath=$toolchainEnv;externalEnvironmentSha256=(Hash-Input $toolchainEnv);cargo=@($cargoVersion|ForEach-Object {$_.ToString()});cargoExitCode=$cargoVersionExit;rustc=@($rustcVersion|ForEach-Object {$_.ToString()});rustcExitCode=$rustcVersionExit;clippy=@($clippyVersion|ForEach-Object {$_.ToString()});clippyExitCode=$clippyVersionExit;clang=@($clangVersion|ForEach-Object {$_.ToString()});clangExitCode=$clangVersionExit;cargoPath=(Get-Command cargo).Source;rustcPath=(Get-Command rustc).Source;clangPath=(Get-Command clang).Source;cargoHome=$env:CARGO_HOME;rustupHome=$env:RUSTUP_HOME;rustupToolchain=$env:RUSTUP_TOOLCHAIN;buildJobs=$env:CARGO_BUILD_JOBS;incremental=$env:CARGO_INCREMENTAL}|ConvertTo-Json -Depth 8|Set-Content -LiteralPath $versionPath -Encoding utf8
if($cargoVersionExit -ne 0 -or $rustcVersionExit -ne 0 -or $clippyVersionExit -ne 0 -or $clangVersionExit -ne 0){throw 'Toolchain version query failed.'}
}
$versionsHash=Hash-Input $versionPath
if($priorBinding -and $prior.toolchainVersionsSha256 -cne $versionsHash){throw 'Toolchain version receipt changed.'}
$taskArgs=switch($Stage){
'list' {@('test','-p','oa-desktop','--all-targets','--locked','--offline','--','--list')}
'focused' {@('test','-p','oa-desktop','--bin','arcadia-studio','--locked','--offline','--','--exact')+$expected+@('--test-threads=1')}
'all' {@('test','-p','oa-desktop','--all-targets','--locked','--offline','--','--test-threads=1')}
'clippy' {@('clippy','-p','oa-desktop','-p','oa-server','--all-targets','--locked','--offline','--','-D','warnings')}
'build' {@('build','-p','oa-desktop','--bin','arcadia-studio','--locked','--offline')}
}
$taskStart=[DateTime]::UtcNow.ToString('o')
$testExecutablesBefore=@()
if($Stage -ne 'list'){
$testExecutablesBefore=@($prior.testExecutables|ForEach-Object {Get-GateBinary $_.path $taskTarget})
if(-not (Same-GateBinaries @($prior.testExecutables) $testExecutablesBefore)){throw 'Previously bound test executable changed before this stage.'}
}
& cargo @taskArgs 2>&1|Tee-Object -FilePath $taskLog
$taskExit=$LASTEXITCODE
$taskEnd=[DateTime]::UtcNow.ToString('o')
$taskText=Get-Content -Raw -LiteralPath $taskLog
$taskValid=$true;$taskFailure=$null
$listed=@();$executed=@();$matched=@();$ignored=@();$summaries=@();$listSummaries=@()
if($Stage -eq 'list'){
$listed=@([regex]::Matches($taskText,'(?m)^([^\r\n]+): test\r?$')|ForEach-Object {$_.Groups[1].Value})
$matched=@($listed|Where-Object {$_ -cin $expected}|Sort-Object)
$listSummaries=@([regex]::Matches($taskText,'(?m)^(\d+) tests, (\d+) benchmarks\r?$')|ForEach-Object {[ordered]@{tests=[int]$_.Groups[1].Value;benchmarks=[int]$_.Groups[2].Value}})
$taskValid=$listed.Count -ge $expectedCount -and @($listed|Sort-Object -Unique).Count -eq $listed.Count -and (Same-Names $expected $matched) -and (Same-Names @($selection.desktop_tests) $listed) -and $listSummaries.Count -gt 0 -and ($listSummaries|ForEach-Object {$_.tests}|Measure-Object -Sum).Sum -eq $listed.Count -and ($listSummaries|ForEach-Object {$_.benchmarks}|Measure-Object -Sum).Sum -eq 0
}
if($Stage -in @('focused','all')){
$executed=@([regex]::Matches($taskText,'(?m)^test ([^\r\n]+?) \.\.\. (ok|FAILED|ignored)[^\r\n]*\r?$')|ForEach-Object {[ordered]@{name=$_.Groups[1].Value;result=$_.Groups[2].Value}})
$summaries=@([regex]::Matches($taskText,'test result: (ok|FAILED)\. (\d+) passed; (\d+) failed; (\d+) ignored; (\d+) measured; (\d+) filtered out;')|ForEach-Object {[ordered]@{status=$_.Groups[1].Value;passed=[int]$_.Groups[2].Value;failed=[int]$_.Groups[3].Value;ignored=[int]$_.Groups[4].Value;measured=[int]$_.Groups[5].Value;filtered=[int]$_.Groups[6].Value}})
$ignored=@($executed|Where-Object {$_.result -eq 'ignored'}|ForEach-Object {$_.name})
$passedCount=@($executed|Where-Object {$_.result -eq 'ok'}).Count
$failedCount=@($executed|Where-Object {$_.result -eq 'FAILED'}).Count
$taskValid=$summaries.Count -gt 0 -and $failedCount -eq 0 -and @($summaries|Where-Object {$_.status -ne 'ok' -or $_.failed -ne 0 -or $_.measured -ne 0}).Count -eq 0 -and ($summaries|ForEach-Object {$_. passed}|Measure-Object -Sum).Sum -eq $passedCount -and ($summaries|ForEach-Object {$_. ignored}|Measure-Object -Sum).Sum -eq $ignored.Count
if($Stage -in @('focused','all')){
$matched=@($executed|Where-Object {$_.name -cin $expected -and $_.result -eq 'ok'}|ForEach-Object {$_.name}|Sort-Object)
$taskValid=$taskValid -and (Same-Names $expected $matched)
}
if($Stage -eq 'focused'){$taskValid=$taskValid -and $executed.Count -eq $expectedCount -and $passedCount -eq $expectedCount -and $ignored.Count -eq 0 -and $summaries.Count -eq 1 -and $summaries[0].filtered -eq (@($prior.listedTests).Count - $expectedCount)}
if($Stage -eq 'all'){
$listPath=Join-Path $PSScriptRoot 'list-receipt.json'
$listHash=Hash-Input $listPath
$listReceipt=Get-Content -Raw -LiteralPath $listPath|ConvertFrom-Json
if($prior.priorStage.stage -cne 'list' -or $prior.priorStage.receiptSha256 -cne $listHash){throw 'Desktop listing changed after focused execution.'}
$boundScripts['list-receipt.json']=$listHash
$taskValid=$taskValid -and (Same-Names @($listReceipt.listedTests) @($executed|ForEach-Object {$_.name})) -and ($summaries|ForEach-Object {$_. filtered}|Measure-Object -Sum).Sum -eq 0 -and (Same-Names @($selection.ignored_tests) $ignored)
}
}
$inputsUnchanged=$false
try {
& (Join-Path $PSScriptRoot 'capture.ps1') -Stage ($Stage+'-after')
foreach($file in $boundScripts.Keys){if((Hash-Input (Join-Path $PSScriptRoot $file)) -cne $boundScripts[$file]){throw ('Gate recipe/input changed: '+$file)}}
if((Hash-Input $versionPath) -cne $versionsHash){throw 'Toolchain version receipt changed.'}
if($priorBinding -and (Hash-Input (Join-Path $PSScriptRoot ($priorBinding.stage+'-receipt.json'))) -cne $priorBinding.receiptSha256){throw 'Prior receipt changed during gate.'}
$inputsUnchanged=$true
}catch{$taskFailure=$_.Exception.Message}
$testExecutables=@();$testBinaryBindingValid=$false
try {
if($Stage -eq 'list'){
$testExecutables=@(Get-GateTestBinaries $taskText $taskTarget)
if($testExecutables.Count -ne 1){throw 'Expected exactly one actual desktop test executable from Cargo listing.'}
} else {
$testExecutables=@($testExecutablesBefore|ForEach-Object {Get-GateBinary $_.path $taskTarget})
if(-not (Same-GateBinaries $testExecutablesBefore $testExecutables)){throw 'Bound test executable changed during this stage.'}
if($Stage -in @('focused','all')){
$observed=@(Get-GateTestBinaries $taskText $taskTarget)
if(-not (Same-GateBinaries $testExecutables $observed)){throw 'Executed test path differs from the exact listed executable.'}
}
}
$testBinaryBindingValid=$true
} catch {$taskFailure=$_.Exception.Message}
$taskValid=$taskValid -and $testBinaryBindingValid
$binary=$null
if($Stage -eq 'build' -and $taskExit -eq 0){$path=Join-Path $taskTarget 'debug/arcadia-studio.exe';$item=Get-Item -LiteralPath $path;$binary=[ordered]@{path=$item.FullName;bytes=$item.Length;sha256=(Hash-Input $path);mtimeUtc=$item.LastWriteTimeUtc.ToString('o')}}
[ordered]@{stage=$Stage;command=('cargo '+($taskArgs -join ' '));arguments=$taskArgs;base=$taskPin;workspace=$taskWorkspace;target=$taskTarget;startUtc=$taskStart;endUtc=$taskEnd;cargoExitCode=$taskExit;selectionValid=$taskValid;inputsUnchanged=$inputsUnchanged;postflightFailure=$taskFailure;boundScriptAndInputHashes=$boundScripts;priorStage=$priorBinding;externalEnvironmentPath=$toolchainEnv;externalEnvironmentSha256=(Hash-Input $toolchainEnv);toolchainVersionsSha256=$versionsHash;rawLogSha256=(Hash-Input $taskLog);beforeCaptureSha256=(Hash-Input (Join-Path $PSScriptRoot ('inputs-complete-'+$Stage+'-before.json')));afterCaptureSha256=if(Test-Path -LiteralPath (Join-Path $PSScriptRoot ('inputs-complete-'+$Stage+'-after.json'))){Hash-Input (Join-Path $PSScriptRoot ('inputs-complete-'+$Stage+'-after.json'))}else{$null};listedTests=$listed;executedTests=$executed;testResultSummaries=$summaries;matchedRegressionTests=$matched;ignoredTests=$ignored;listSummaries=$listSummaries;testExecutablesBefore=$testExecutablesBefore;testExecutables=$testExecutables;testBinaryBindingValid=$testBinaryBindingValid;binary=$binary}|ConvertTo-Json -Depth 14|Set-Content -LiteralPath $taskReceipt -Encoding utf8
if($taskExit -ne 0){exit $taskExit}
if(-not $taskValid -or -not $inputsUnchanged){throw 'Gate membership or input binding failed; inspect receipt and raw output.'}
} finally {Pop-Location}
@@ -0,0 +1,46 @@
{
"status": "Source-only extension of actual0409 executed membership; new actual listing pending",
"previous_source": "0409a481c7571e887f8912f0a8cdb93cfdcc01a7",
"reviewed_source": "8bf7607a3f3b53db0c36364f54f57674c64ea2f1",
"prior_listing": {
"path": "C:/Users/User/Documents/Git/ARCADIA-Studio/.local/scenario-spacing-gates-attempt3-20260913/list-receipt.json",
"bytes": 158385,
"sha256": "0b3ae67b7826d30bd9c32b1addd03b2529297baa3b91ded3398b7e4f32a27eef"
},
"prior_selection": {
"path": "C:/Users/User/Documents/Git/ARCADIA-Studio/.local/scenario-spacing-gates-attempt3-20260913/expected-tests.json",
"bytes": 155841,
"sha256": "bface8488c96a1baa8217d3004cce079f7ade51efeb9ecf6a8016688395ec0fc"
},
"previous_total": 1083,
"previous_focused": 289,
"added_tests": [
"behavior::scenario::workspace::details_tests::focused_saved_details_opens_real_editable_inspector_and_returns_to_same_view",
"behavior::scenario::workspace::details_tests::details_properties_refuses_pending_property_source_and_behavior_drafts_without_apply",
"behavior::scenario::workspace::details_tests::focused_details_opens_current_saved_view_properties_after_following_diagram_picker",
"behavior::scenario::workspace::details_tests::details_properties_refuses_another_saved_view_even_with_the_same_scenario_owner",
"behavior::scenario::workspace::details_tests::details_properties_rejects_retired_view_selection_and_epoch_without_changing_panels",
"behavior::scenario::workspace::details_tests::opening_scenario_properties_cancels_held_spacing_and_rejects_its_late_finish"
],
"removed_tests": [],
"expected_total": 1089,
"expected_focused": 295,
"expected_filtered": 794,
"ignored_tests": [
"app::source_rename::timing_tests::accepted_release1_prepare_commit_sync_and_confirm_timing",
"app::source_rename::timing_tests::layout_timing_tests::accepted_release1_constructor_vs_reuse_through_next_highlight",
"app::source_symbols::tests::source_symbols_100_modules_1000_definitions_10000_uses",
"behavior::scenario::spacing::controller::timing_tests::saved_spacing_capture_prepare_20_lanes_1000_messages_3_views"
],
"new_module": {
"path": "C:/Users/User/Documents/Git/ARCADIA-Studio/.local/scenario-spacing-ytr83r-20260913/crates/oa-desktop/src/behavior/scenario/workspace/details_tests.rs",
"bytes": 17547,
"sha256": "41b6f81ad4d73238611c20aa734328ef2fa24ec78093949fe4b4e15d18ff9485"
},
"module_registration": {
"path": "C:/Users/User/Documents/Git/ARCADIA-Studio/.local/scenario-spacing-ytr83r-20260913/crates/oa-desktop/src/behavior/scenario/workspace.rs",
"bytes": 38517,
"sha256": "937895bd1c100dd5eb5824a02f5a9695d49bb27b2ee94c5b58958996204e2666"
},
"scope": "Six ordinary #[test]/#[tokio::test] functions in registered debug-test module; no ignored additions. Finalizer verifies611 actual Git/filesystem source inputs."
}
@@ -0,0 +1,44 @@
{
"status": "No repeated server stage: core/server/manifests unchanged from verified37 source",
"previous_source": "37be41092beb1c940f345072df1e017ce45fe2fc",
"source": "8bf7607a3f3b53db0c36364f54f57674c64ea2f1",
"changed_core_server_manifest_paths": [],
"prior_server_receipt_sha256": "5c0cd2af2b1f3c12528ad961e5b08c60f8865751cca95c1267e1211faf7e0900",
"prior_server_log_sha256": "7c7d847ac942b23a33081fdc3eb9ec53a2c054cd422810e30528b5930c574d71",
"prior_server_results": [
{
"status": "ok",
"passed": 4,
"failed": 0,
"ignored": 0,
"measured": 0,
"filtered": 0
},
{
"status": "ok",
"passed": 0,
"failed": 0,
"ignored": 0,
"measured": 0,
"filtered": 0
},
{
"status": "ok",
"passed": 51,
"failed": 0,
"ignored": 0,
"measured": 0,
"filtered": 0
},
{
"status": "ok",
"passed": 2,
"failed": 0,
"ignored": 0,
"measured": 0,
"filtered": 0
}
],
"strict_scope": "Required here: cargo clippy -p oa-desktop -p oa-server --all-targets --locked --offline -- -D warnings",
"prior_strict_limit": "37 stopped on desktop warnings; server57 tests are not server strict acceptance"
}
@@ -0,0 +1,16 @@
{
"source_commit": "8bf7607a3f3b53db0c36364f54f57674c64ea2f1",
"reviewed_source": "8bf7607a3f3b53db0c36364f54f57674c64ea2f1",
"previous_source": "0409a481c7571e887f8912f0a8cdb93cfdcc01a7",
"tree_equal_to_reviewed": true,
"input_count": 611,
"changed_inputs": [
"crates/oa-desktop/src/app.rs",
"crates/oa-desktop/src/behavior/scenario.rs",
"crates/oa-desktop/src/behavior/scenario/workspace.rs"
],
"added_input": "crates/oa-desktop/src/behavior/scenario/workspace/details_tests.rs",
"unchanged_input_count": 607,
"instruction_git_blob": "767be18f086c04b7a688b107808e97ac98881356",
"status": "Parent-reviewed Details tree in original spacing checkout verified; source-only capture, no Cargo executed"
}
@@ -0,0 +1,96 @@
{
"status": "Reviewed Details source; parent integration into original spacing checkout and source-only finalization pending",
"previous_source": "0409a481c7571e887f8912f0a8cdb93cfdcc01a7",
"reviewed_source": "8bf7607a3f3b53db0c36364f54f57674c64ea2f1",
"expected_changed_paths": [
"crates/oa-desktop/src/app.rs",
"crates/oa-desktop/src/behavior/scenario.rs",
"crates/oa-desktop/src/behavior/scenario/workspace.rs",
"crates/oa-desktop/src/behavior/scenario/workspace/details_tests.rs"
],
"expected_added_path": "crates/oa-desktop/src/behavior/scenario/workspace/details_tests.rs",
"expected_input_count": 611,
"instruction_git_blob": "767be18f086c04b7a688b107808e97ac98881356",
"instruction_bytes": 12623,
"instruction_sha256": "0de97dcfacc608f20f828ec529033ff9830641a9069855b85d36b54e52dbd897",
"previous_capture": {
"path": "C:/Users/User/Documents/Git/ARCADIA-Studio/.local/scenario-spacing-gates-attempt3-20260913/inputs-complete-before.json",
"bytes": 118980,
"sha256": "d59b2bc44caef655ba1227cbf818ceff7d1285f30249bf2bfc47eb2ecc16cb24"
},
"prior_gate_bindings": [
{
"path": "C:/Users/User/Documents/Git/ARCADIA-Studio/.local/scenario-spacing-gates-attempt3-20260913/list-receipt.json",
"bytes": 158385,
"sha256": "0b3ae67b7826d30bd9c32b1addd03b2529297baa3b91ded3398b7e4f32a27eef"
},
{
"path": "C:/Users/User/Documents/Git/ARCADIA-Studio/.local/scenario-spacing-gates-attempt3-20260913/list.log",
"bytes": 119295,
"sha256": "825768a2b7d94fbc8ec8742d304a9aace3c1747a6355a14ef217e6505def19f8"
},
{
"path": "C:/Users/User/Documents/Git/ARCADIA-Studio/.local/scenario-spacing-gates-attempt3-20260913/focused-receipt.json",
"bytes": 153408,
"sha256": "0dfbdeffd835475132b79463e79c7988ed4c2b0709c050e777502d70cba1caac"
},
{
"path": "C:/Users/User/Documents/Git/ARCADIA-Studio/.local/scenario-spacing-gates-attempt3-20260913/focused.log",
"bytes": 36138,
"sha256": "98875cff7cf29fb600e88709b99e278daa3de536e95e0be7c8869ce8a58a3bb2"
},
{
"path": "C:/Users/User/Documents/Git/ARCADIA-Studio/.local/scenario-spacing-gates-attempt3-20260913/inputs-complete-before.json",
"bytes": 118980,
"sha256": "d59b2bc44caef655ba1227cbf818ceff7d1285f30249bf2bfc47eb2ecc16cb24"
},
{
"path": "C:/Users/User/Documents/Git/ARCADIA-Studio/.local/scenario-spacing-gates-attempt3-20260913/inputs-complete-focused-after.json",
"bytes": 118980,
"sha256": "819023ce8a3a096b947007365afcb677d6144123d190ff863f0dfd047babfd6f"
},
{
"path": "C:/Users/User/Documents/Git/ARCADIA-Studio/.local/scenario-spacing-gates-attempt3-20260913/expected-tests.json",
"bytes": 155841,
"sha256": "bface8488c96a1baa8217d3004cce079f7ade51efeb9ecf6a8016688395ec0fc"
},
{
"path": "C:/Users/User/Documents/Git/ARCADIA-Studio/.local/scenario-spacing-gates-attempt3-20260913/prior-failure-provenance.json",
"bytes": 5440,
"sha256": "90a8d357e1804d2d7173f01273b90bfab92bb842775ff64828e6f7b248dec122"
}
],
"prior_recipe_bindings": [
{
"path": "C:/Users/User/Documents/Git/ARCADIA-Studio/.local/scenario-spacing-gates-attempt3-20260913/run.ps1",
"bytes": 13175,
"sha256": "3e0d64ba0ee6f1910afbe4baf29a5f117e5406e9cddb3b56c991e4c6400513fe"
},
{
"path": "C:/Users/User/Documents/Git/ARCADIA-Studio/.local/scenario-spacing-gates-attempt3-20260913/capture.ps1",
"bytes": 4119,
"sha256": "37dbe1a2eb4cbac391863fc9c268cf4aebf498b4fe413d72586321b9a3b87f50"
},
{
"path": "C:/Users/User/Documents/Git/ARCADIA-Studio/.local/scenario-spacing-gates-attempt3-20260913/enumerate-inputs.ps1",
"bytes": 1843,
"sha256": "67baee5827cdbec5f9385b4452cc65d8c66934299282e88ebe200a2260608ae6"
},
{
"path": "C:/Users/User/Documents/Git/ARCADIA-Studio/.local/scenario-spacing-gates-attempt3-20260913/binary-inputs.ps1",
"bytes": 1214,
"sha256": "59da671a59d75ea0aa0c4662b1e48fd189823e45b71d0df98e65430becc7da83"
},
{
"path": "C:/Users/User/Documents/Git/ARCADIA-Studio/.local/scenario-spacing-gates-attempt3-20260913/diagnostic.ps1",
"bytes": 6853,
"sha256": "705044deb1a1de0639f0f521a346e242697219f37915b0148b14e357a5d72564"
},
{
"path": "C:/Users/User/Documents/Git/ARCADIA-Studio/.local/scenario-spacing-gates-attempt3-20260913/verify-parser.ps1",
"bytes": 3461,
"sha256": "9d59a053f49427c525086a6ea9735f171776171d7a3336143e5b00004c797999"
}
],
"scope": "Compile original spacing checkout only after parent fast-forward to exact8bf. No checkout integration or target mutation during preparation.0409 list/focused passed; no old full/strict/build acceptance is inferred."
}
@@ -0,0 +1,47 @@
{
"base": "8bf7607a3f3b53db0c36364f54f57674c64ea2f1",
"capturedUtc": "2026-09-13T11:39:22.1108070Z",
"externalEnvironmentPath": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\env.ps1",
"externalEnvironmentSha256": "be2226f08764bb6961b4be8513ce55bab076890cddd2fef0f54a4031f94a82d4",
"cargo": [
"cargo 1.98.1 (797e8a9bc 2026-08-05)",
"release: 1.98.1",
"commit-hash: 797e8a9bca276c1c9f9f738d2a20f484fa4eea9d",
"commit-date: 2026-08-05",
"host: x86_64-pc-windows-gnullvm",
"libgit2: 1.9.4 (sys:0.21.0 vendored)",
"libcurl: 8.21.0-DEV (sys:0.4.90+curl-8.21.0 vendored ssl:Schannel)",
"os: Windows 10.0.26200 (Windows 11 Professional) [64-bit]"
],
"cargoExitCode": 0,
"rustc": [
"rustc 1.98.1 (48a229cea 2026-09-01)",
"binary: rustc",
"commit-hash: 48a229ceaefd4985c50990b14116b6d856af0985",
"commit-date: 2026-09-01",
"host: x86_64-pc-windows-gnullvm",
"release: 1.98.1",
"LLVM version: 22.1.8"
],
"rustcExitCode": 0,
"clippy": [
"clippy 0.1.98 (48a229ceae 2026-09-01)"
],
"clippyExitCode": 0,
"clang": [
"clang version 23.1.1 (https://github.com/llvm/llvm-project.git 6dfe1677ab8dffbc6ec13d53a1e0215d75147689)",
"Target: x86_64-w64-windows-gnu",
"Thread model: posix",
"InstalledDir: C:/Users/User/Documents/Git/ARCADIA-Studio/.local/toolchain/llvm-mingw-20260908-ucrt-x86_64/bin",
"Configuration file: C:/Users/User/Documents/Git/ARCADIA-Studio/.local/toolchain/llvm-mingw-20260908-ucrt-x86_64/bin/x86_64-w64-windows-gnu.cfg"
],
"clangExitCode": 0,
"cargoPath": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\bin\\cargo.exe",
"rustcPath": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\bin\\rustc.exe",
"clangPath": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\llvm-mingw-20260908-ucrt-x86_64\\bin\\clang.exe",
"cargoHome": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo",
"rustupHome": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\rustup",
"rustupToolchain": "stable-x86_64-pc-windows-gnullvm",
"buildJobs": "1",
"incremental": "0"
}
@@ -0,0 +1,8 @@
#Requires -Version 7.0
$ErrorActionPreference='Stop'
foreach($file in @('enumerate-inputs.ps1','capture.ps1','run.ps1','binary-inputs.ps1','finalize.ps1','verify-parser.ps1','validate-scripts.ps1','diagnostic.ps1')){
$tokens=$null;$errors=$null
$null=[System.Management.Automation.Language.Parser]::ParseFile((Join-Path $PSScriptRoot $file),[ref]$tokens,[ref]$errors)
if($errors.Count){$errors|ForEach-Object {Write-Output $_};throw ('Parse failure: '+$file)}
Write-Output ('Parsed '+$file)
}
@@ -0,0 +1,38 @@
# Pure recipe syntax and synthetic parser checks only. No Cargo, source capture or test executable invocation.
Set-StrictMode -Version Latest
$ErrorActionPreference='Stop'
. (Join-Path $PSScriptRoot 'batch-helpers.ps1')
$p=Get-Content -Raw (Join-Path $PSScriptRoot 'batches.json')|ConvertFrom-Json
$e=Get-Content -Raw (Join-Path $PSScriptRoot 'expected-tests.json')|ConvertFrom-Json
Assert-BatchPlan $p $e.tests $p.cargo_path
$syntax=@()
foreach($name in @('run-batched.ps1','capture-followon.ps1','batch-helpers.ps1')){
$tokens=$null;$errors=$null
$null=[System.Management.Automation.Language.Parser]::ParseFile((Join-Path $PSScriptRoot $name),[ref]$tokens,[ref]$errors)
if($errors.Count){throw ($errors|Out-String)}
$syntax+=$name
}
$checks=@('exact295-plan')
foreach($b in $p.batches){
$lines=@($b.tests|ForEach-Object {'test '+$_+' ... ok'})
$lines+=('test result: ok. '+$b.expected_passed+' passed; 0 failed; 0 ignored; 0 measured; '+$b.expected_filtered+' filtered out; finished in 1.23s')
$r=Read-BatchResults ($lines -join [Environment]::NewLine)
Assert-ExactBatch $b $r 1089
$checks+=('accept-'+$b.id)
}
function Must-Reject([string]$Name,[scriptblock]$Action){
$rejected=$false;try{& $Action}catch{$rejected=$true}
if(-not $rejected){throw ('Accepted invalid synthetic case: '+$Name)}
$script:checks+=('reject-'+$Name)
}
$b=$p.batches[0]
$validLines=@($b.tests|ForEach-Object {'test '+$_+' ... ok'})
$summary='test result: ok. '+$b.expected_passed+' passed; 0 failed; 0 ignored; 0 measured; '+$b.expected_filtered+' filtered out; finished in 1.23s'
Must-Reject 'duplicate-outcome' {Assert-ExactBatch $b (Read-BatchResults ((@($validLines)+$validLines[0]+$summary)-join [Environment]::NewLine)) 1089}
Must-Reject 'missing-outcome' {Assert-ExactBatch $b (Read-BatchResults ((@($validLines|Select-Object -Skip 1)+$summary)-join [Environment]::NewLine)) 1089}
Must-Reject 'wrong-filtered' {Assert-ExactBatch $b (Read-BatchResults ((@($validLines)+$summary.Replace('982 filtered','794 filtered'))-join [Environment]::NewLine)) 1089}
Must-Reject 'ignored-outcome' {$bad=@($validLines);$bad[0]=$bad[0].Replace(' ... ok',' ... ignored');Assert-ExactBatch $b (Read-BatchResults (($bad+$summary)-join [Environment]::NewLine)) 1089}
Must-Reject 'duplicate-summary' {Assert-ExactBatch $b (Read-BatchResults ((@($validLines)+$summary+$summary)-join [Environment]::NewLine)) 1089}
Must-Reject 'duplicate-plan-union' {$bad=$p|ConvertTo-Json -Depth 20|ConvertFrom-Json;$bad.batches[1].tests[0]=$bad.batches[0].tests[0];Assert-BatchPlan $bad $e.tests $bad.cargo_path}
[ordered]@{schema='scenario_details_batched_preparation_v1';source_commit=$p.source_commit;syntax=$syntax;pureChecks=$checks;cargoInvoked=$false;testExecutableInvoked=$false;capturesTaken=$false;createdUtc=[DateTime]::UtcNow.ToString('o')}|ConvertTo-Json -Depth 5|Set-Content -LiteralPath (Join-Path $PSScriptRoot 'batched-preparation-verification.json') -Encoding utf8
'PASS: syntax and '+$checks.Count+' pure checks; no Cargo or test execution'
@@ -0,0 +1,37 @@
#Requires -Version 7.0
param([ValidateSet('parser-verification.json','parser-preparation-verification.json','parser-preparation-verification-timing.json')][string]$OutputName='parser-verification.json')
Set-StrictMode -Version Latest
$ErrorActionPreference='Stop'
if(Test-Path -LiteralPath (Join-Path $PSScriptRoot $OutputName)){throw 'Preserve prior parser evidence; choose a fresh gate or preparation output.'}
$script=Get-Content -Raw -LiteralPath (Join-Path $PSScriptRoot 'run.ps1')
$begin=$script.IndexOf(' $taskValid=$true;$taskFailure=$null')
$end=$script.IndexOf(' $inputsUnchanged=$false',$begin)
if($begin -lt 0 -or $end -lt 0){throw 'Runner parser block not found'}
$block=[scriptblock]::Create($script.Substring($begin,$end-$begin))
$selection=Get-Content -Raw -LiteralPath (Join-Path $PSScriptRoot 'expected-tests.json')|ConvertFrom-Json
$expected=@($selection.tests|Sort-Object -Unique);$expectedCount=$expected.Count
function Same-Names($Left,$Right){$a=@($Left|Sort-Object);$b=@($Right|Sort-Object);return $a.Count -eq $b.Count -and @(Compare-Object $a $b).Count -eq 0}
$prior=[pscustomobject]@{listedTests=@($selection.desktop_tests)}
$filtered=@($prior.listedTests).Count-$expectedCount
$passLines=@($expected|ForEach-Object {'test '+$_+' ... ok'})
$summary='test result: ok. '+$expectedCount+' passed; 0 failed; 0 ignored; 0 measured; '+$filtered+' filtered out;'
$listLines=@($selection.desktop_tests|ForEach-Object {$_+': test'})
$listSummary=@($selection.desktop_tests).Count.ToString()+' tests, 0 benchmarks'
$oldFocused=@($expected|Where-Object {$_ -notlike 'behavior::scenario::workspace::details_tests::*'})
$oldDesktop=@($selection.desktop_tests|Where-Object {$_ -notlike 'behavior::scenario::workspace::details_tests::*'})
$cases=@(
[pscustomobject]@{name='focused-exact';stage='focused';valid=$true;text=(($passLines+@($summary)) -join "`n")},
[pscustomobject]@{name='focused-old0409-count-and-membership';stage='focused';valid=$false;text=((@($oldFocused|ForEach-Object {'test '+$_+' ... ok'})+@('test result: ok. 289 passed; 0 failed; 0 ignored; 0 measured; 794 filtered out;')) -join "`n")},
[pscustomobject]@{name='focused-zero';stage='focused';valid=$false;text='test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out;'},
[pscustomobject]@{name='focused-duplicate';stage='focused';valid=$false;text=(($passLines+@($passLines[0],$summary)) -join "`n")},
[pscustomobject]@{name='focused-missing';stage='focused';valid=$false;text=(($passLines[1..($passLines.Count-1)]+@($summary)) -join "`n")},
[pscustomobject]@{name='focused-wrong-total';stage='focused';valid=$false;text=(($passLines+@('test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; '+$filtered+' filtered out;')) -join "`n")},
[pscustomobject]@{name='focused-wrong-filtered';stage='focused';valid=$false;text=(($passLines+@($summary.Replace(($filtered.ToString()+' filtered'), '0 filtered'))) -join "`n")},
[pscustomobject]@{name='list-complete';stage='list';valid=$true;text=(($listLines+@($listSummary)) -join "`n")},
[pscustomobject]@{name='list-old0409-count-and-membership';stage='list';valid=$false;text=((@($oldDesktop|ForEach-Object {$_+': test'})+@('1083 tests, 0 benchmarks')) -join "`n")},
[pscustomobject]@{name='list-missing-summary';stage='list';valid=$false;text=($listLines -join "`n")},
[pscustomobject]@{name='list-duplicate';stage='list';valid=$false;text=(($listLines+@($listLines[0],$listSummary)) -join "`n")}
)
$results=@(foreach($case in $cases){$Stage=$case.stage;$taskText=$case.text;. $block;if($taskValid -ne $case.valid){throw ('Unexpected parser decision: '+$case.name)};[ordered]@{case=$case.name;expected=$case.valid;actual=$taskValid}})
[ordered]@{status='Synthetic actual-runner parser checks only; no Cargo or product tests';focusedCount=$expectedCount;runnerSha256=(Get-FileHash -LiteralPath (Join-Path $PSScriptRoot 'run.ps1') -Algorithm SHA256).Hash.ToLowerInvariant();cases=$results}|ConvertTo-Json -Depth 6|Set-Content -LiteralPath (Join-Path $PSScriptRoot $OutputName) -Encoding utf8
Write-Output ('Verified '+$results.Count+' parser cases')
@@ -0,0 +1,47 @@
{
"source_commit": "8bf7607a3f3b53db0c36364f54f57674c64ea2f1",
"focused_passed_unique": 295,
"batches": [
{
"status": "ok",
"passed": 107,
"failed": 0,
"ignored": 0,
"measured": 0,
"filtered": 982,
"seconds": "81.86"
},
{
"status": "ok",
"passed": 101,
"failed": 0,
"ignored": 0,
"measured": 0,
"filtered": 988,
"seconds": "200.03"
},
{
"status": "ok",
"passed": 87,
"failed": 0,
"ignored": 0,
"measured": 0,
"filtered": 1002,
"seconds": "14.69"
}
],
"source_inputs_current_rehashed": 611,
"same_listed_binary_current_rehashed": [
{
"path": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\target\\debug\\deps\\arcadia_studio-27db9628b266bf39.exe",
"bytes": 150483968,
"sha256": "38b9ff204c9ecc590d0f8e1dee68e5c6b09ee65d189c0c1181e9570d3fe7c9bf",
"mtimeUtc": "2026-09-13T11:55:59.5691552Z"
}
],
"exact_raw_log_concatenation": true,
"original_dispatch": "Recorded parent terminal35808 exit1 before Cargo launch; no focused log/receipt; original preflight preserved",
"list_receipt_sha256": "e2d9258afab904c7d0d9f3efbb3c3cc02511a33296c1698b3114b3d6b7a125a1",
"aggregate_receipt_sha256": "2a1a72b711bfd6e08a4d9d23deec9a2d3da074faabe2ac7b44089c515b031986",
"scope": "Focused-only gate. No full/strict/build/native result; no execution during archival."
}