Record exact 295-test Details regression gate and Windows batch recovery
This commit is contained in:
@@ -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'
|
||||||
+3105
File diff suppressed because it is too large
Load Diff
@@ -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.
|
||||||
+26
@@ -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'}
|
||||||
|
}
|
||||||
+50
@@ -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
|
||||||
|
}
|
||||||
+25
@@ -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
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
+20
@@ -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
|
||||||
|
}
|
||||||
+7
@@ -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."
|
||||||
|
}
|
||||||
+47
@@ -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.'}
|
||||||
+27
@@ -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}
|
||||||
+1247
File diff suppressed because it is too large
Load Diff
+3062
File diff suppressed because it is too large
Load Diff
+1406
File diff suppressed because it is too large
Load Diff
+44
@@ -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
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
+13
@@ -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.')
|
||||||
+628
File diff suppressed because one or more lines are too long
+114
@@ -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
|
||||||
|
|
||||||
+606
File diff suppressed because one or more lines are too long
+108
@@ -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
|
||||||
|
|
||||||
+540
File diff suppressed because one or more lines are too long
+94
@@ -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
|
||||||
|
|
||||||
+1611
File diff suppressed because it is too large
Load Diff
@@ -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
|
||||||
|
|
||||||
+3105
File diff suppressed because it is too large
Load Diff
+3105
File diff suppressed because it is too large
Load Diff
+3105
File diff suppressed because it is too large
Load Diff
+3105
File diff suppressed because it is too large
Load Diff
+3105
File diff suppressed because it is too large
Load Diff
+3105
File diff suppressed because it is too large
Load Diff
+3105
File diff suppressed because it is too large
Load Diff
+3105
File diff suppressed because it is too large
Load Diff
+3105
File diff suppressed because it is too large
Load Diff
+3105
File diff suppressed because it is too large
Load Diff
+3105
File diff suppressed because it is too large
Load Diff
+1461
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
+62
@@ -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
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
+100
@@ -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
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
+173
@@ -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
|
||||||
|
}
|
||||||
+178
@@ -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}
|
||||||
+46
@@ -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."
|
||||||
|
}
|
||||||
+44
@@ -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"
|
||||||
|
}
|
||||||
+16
@@ -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"
|
||||||
|
}
|
||||||
+96
@@ -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."
|
||||||
|
}
|
||||||
+47
@@ -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"
|
||||||
|
}
|
||||||
+8
@@ -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)
|
||||||
|
}
|
||||||
+38
@@ -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'
|
||||||
+37
@@ -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."
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user