Record b10 focused validation and Capella editing observations

This commit is contained in:
2026-09-13 06:54:55 -07:00
parent 2507b9959f
commit b09d9d5063
49 changed files with 54252 additions and 0 deletions
@@ -0,0 +1 @@
* -text -whitespace
Binary file not shown.

After

Width:  |  Height:  |  Size: 116 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 118 KiB

@@ -0,0 +1,15 @@
# Capella scenario occurrence editing observation
Observed 2026-09-13 on the installed Capella 7.1.0 Windows distribution, existing local IncidentScenarioBenchmark comparison workspace, [OAS] OperationalCapability 1. This is direct Computer Use observation of this fixture/window only.
The app initially remained at its workspace launcher. After Launch, the launcher disappeared; activation and one window-list request timed out during startup. A fresh window list and activation then reached the existing scenario. This supersedes the earlier assumption that capture remained unavailable, not its recorded historical failures.
At a 1010 by 761 captured window, the diagram has two Operational Activity lifelines and an asynchronous Report incident. Single click on the message selects the Sequence Message occurrence and exposes Name, Summary, Invoked Interaction, Exchanged Items and kind through the Properties pane. Name and Invoked Interaction both display Report incident in this fixture but are distinct fields. The bottom pane initially exposes only Name and Summary; remaining controls require scrolling.
Double-click on the message label opened a Properties dialog with Name and Summary, linked Invoked Interaction, Exchanged Items, Sequence Message Kind, and Exchange Context. The kind choices were visibly disabled with ASYNCHRONOUS_CALL selected. No text was entered; Cancel returned to the selected occurrence. This does not prove editing/commit semantics or why kinds are disabled.
The preserved image pair shows a reversible selection-induced layout shift without changing the outer window: selected message uses two toolbar rows and its horizontal line is at approximately y334; background/diagram selection removes a toolbar row and the same line moves to approximately y304. Headers and viewport move with it. The two activity names also wrap in the diagram while the pinned header labels are ellipsized. These are observed pixel/layout facts, not authored coordinate changes or a benchmark of all Capella layouts.
Product implications: preserve direct, discoverable occurrence editing and explicit separation from referenced interaction identity; keep the canvas bounds stable when selection-specific actions appear. Compare Studio using its real editable inspector and actual selection route. Avoid making additional panels a prerequisite for basic edits, while keeping independently selected model records intact during view changes. Existing Studio mounted layout/selection tests support these intentions; current native Studio validation remains required.
Evidence: message-selected.jpg (after dialog Cancel), diagram-selected.jpg (after background click), selection-metadata.json. No deletion, Name edit, Save or model mutation was attempted. Screenshots were preserved as audit artifacts, not re-read to drive inputs.
@@ -0,0 +1,16 @@
{
"at": "2026-09-13T13:52:48.792Z",
"window": {
"app": "process:C:\\Users\\User\\capella-7.1.0.202606231255-win32-win32-x86_64\\capella\\capella.exe",
"id": 721620,
"title": "capella-layout-benchmark-20260912 - platform:/resource/IncidentScenarioBenchmark/IncidentScenarioBenchmark.aird/[OAS] OperationalCapability 1 - Capella"
},
"screenshot": {
"id": "screenshot-0",
"width": 1010,
"height": 761,
"originX": 241,
"originY": 227
},
"scope": "Selected Report incident after opening and cancelling Properties; no text entered or model edits saved."
}
@@ -0,0 +1 @@
* -text -whitespace
@@ -0,0 +1,19 @@
# Closed Scenario validation: strict preflight, LIST and focused tests
At [source b10b28cefd1d0794073ba241a0c8de9a83e85f68](http://217.177.34.108:3000/sorokin.oleg.edu/ARCADIA-Studio/src/commit/b10b28cefd1d0794073ba241a0c8de9a83e85f68), the Windows strict preflight passed, LIST reported1095 exact unique tests, and all301 selected tests passed in three bounded invocations. All612 captured inputs and recorded external inputs remained unchanged; all included receipts report Cargo0 and no postflight failure.
| Closed execution | Passed | Failed | Ignored | Filtered | Actual test time |
| --- | ---: | ---: | ---: | ---: | ---: |
| Focused batch01 |107|0|0|988|11.20s|
| Focused batch02 |101|0|0|994|56.91s|
| Focused batch03 |93|0|0|1002|3.46s|
The focused union is precisely301 unique expected names. [focused.log](original/focused.log) is the byte-exact concatenation of the three raw batch logs; it is not a fabricated single-process result. The [focused receipt](original/focused-receipt.json) binds each batch, source captures and executable. LIST and focused execution used the same150552064-byte test EXE, SHA256 `e29934499fdc86d1fd3086a1c5eb5c34ddb3eebd44eed351409b2d862f4978f5`. The EXE itself is not included or claimed as a GUI package.
[Strict preflight](original/strict-preflight-receipt.json) ran `cargo clippy -p oa-desktop -p oa-server --all-targets --locked --offline -- -D warnings`, closing2026-09-13T13:32:56.1558899Z. [LIST](original/list-receipt.json) ran desktop all-targets `cargo test ... -- --list`, closing13:38:19.5060635Z. Focused ran exact-name desktop binary tests with `--test-threads=1`, closing13:47:24.8831290Z. Exact arguments, timestamps, toolchain versions and raw output remain in the original records.
The [manifest](archive-manifest.json) binds **41 byte-exact original files,2579811 bytes**, including every gate-local dependency named by the closed receipts, baseline and stage/batch before/after captures, recipes, selection plan and raw logs. The external environment script is unchanged and available in the [published earlier archive](http://217.177.34.108:3000/sorokin.oleg.edu/ARCADIA-Studio/src/commit/7122f91671b56a5f23f1495ff2e78dcaec3661ed/harness/experiments/scenario-details-focused-8bf7607-20260913/environment/env.ps1),572 bytes, SHA256 `be2226f08764bb6961b4be8513ce55bab076890cddd2fef0f54a4031f94a82d4`. Its published bytes were verified during archiving. Host paths in preserved scripts and receipts are provenance; peers require their own matching checkout/toolchain and fresh reviewed output paths to reproduce execution. Do not rerun against this immutable archive.
This archive excludes **all full-stage, later strict-stage and GUI-build outputs**. The full stage was live during preparation and was neither read nor copied. These closed results do not establish full desktop acceptance, the later strict gate, a GUI build, native usability, or new server test execution. The static original recipe describes future stages; its preparation wording is preserved unchanged.
Earlier failures remain published separately: [8bf full pass and seven strict diagnostics](http://217.177.34.108:3000/sorokin.oleg.edu/ARCADIA-Studio/src/commit/f0795aa5c2c0230672364b2f6e718b6d7f8ce709/harness/experiments/scenario-details-full-strict-8bf7607-20260913/README.md) and [5d4 unused-wrapper strict preflight](http://217.177.34.108:3000/sorokin.oleg.edu/ARCADIA-Studio/src/commit/2507b9959fffe96d4f4733fa1831ffc5281a3f45/harness/experiments/scenario-validation-preflight-5d4a6a4-20260913/README.md). No prior failure was overwritten or substituted with this result.
@@ -0,0 +1,326 @@
{
"source_commit": "b10b28cefd1d0794073ba241a0c8de9a83e85f68",
"original_files": 41,
"original_bytes": 2579811,
"files": [
{
"source": "C:/Users/User/Documents/Git/ARCADIA-Studio/.local/scenario-validation-gates-b10b28c-20260913/README.md",
"path": "original/README.md",
"bytes": 5388,
"sha256": "e063a6708ce940324c08437bcc6a6ad2a5936cb00ac87294b0331b1d89230e57"
},
{
"source": "C:/Users/User/Documents/Git/ARCADIA-Studio/.local/scenario-validation-gates-b10b28c-20260913/batch-helpers.ps1",
"path": "original/batch-helpers.ps1",
"bytes": 3138,
"sha256": "0990e168b3e6f037237cb1533827f2fb9245b48e481b9801a2f695dd7a1795c4"
},
{
"source": "C:/Users/User/Documents/Git/ARCADIA-Studio/.local/scenario-validation-gates-b10b28c-20260913/batches.json",
"path": "original/batches.json",
"bytes": 37927,
"sha256": "ae682377ada8fd4f0b4b5c2ed09ad81eb4800464b44e341f5bbccb3b482f66d9"
},
{
"source": "C:/Users/User/Documents/Git/ARCADIA-Studio/.local/scenario-validation-gates-b10b28c-20260913/binary-inputs.ps1",
"path": "original/binary-inputs.ps1",
"bytes": 1234,
"sha256": "58a185bddd852398bdc175faf05fce232ec77d2f0ebb1af31074d544339cc540"
},
{
"source": "C:/Users/User/Documents/Git/ARCADIA-Studio/.local/scenario-validation-gates-b10b28c-20260913/cache-policy.json",
"path": "original/cache-policy.json",
"bytes": 286,
"sha256": "68dfa3ec1c3ff7f0ef2cec55e27c163d5675026de354375e231e0e1ae37218b8"
},
{
"source": "C:/Users/User/Documents/Git/ARCADIA-Studio/.local/scenario-validation-gates-b10b28c-20260913/capture.ps1",
"path": "original/capture.ps1",
"bytes": 4158,
"sha256": "c76278630e332757c4e68ff466211d02cdd585a60c325e760f6331e5ff39b6c1"
},
{
"source": "C:/Users/User/Documents/Git/ARCADIA-Studio/.local/scenario-validation-gates-b10b28c-20260913/enumeration.json",
"path": "original/enumeration.json",
"bytes": 73812,
"sha256": "1cc1744effb1ee8dd555b2970e97d7849db6390945fb16e9ea28ef96db1fb2ec"
},
{
"source": "C:/Users/User/Documents/Git/ARCADIA-Studio/.local/scenario-validation-gates-b10b28c-20260913/expected-inputs.json",
"path": "original/expected-inputs.json",
"bytes": 114759,
"sha256": "f720f1e2f7f31bd4188e9b624cf0324439958ae23dcb7c48c9ecc16cc7ed6131"
},
{
"source": "C:/Users/User/Documents/Git/ARCADIA-Studio/.local/scenario-validation-gates-b10b28c-20260913/expected-tests.json",
"path": "original/expected-tests.json",
"bytes": 157026,
"sha256": "869f6f79356bce44bdae8d453e3c31a720fdcfeec2298acf5311ebf3793d2054"
},
{
"source": "C:/Users/User/Documents/Git/ARCADIA-Studio/.local/scenario-validation-gates-b10b28c-20260913/external-inputs.json",
"path": "original/external-inputs.json",
"bytes": 1413,
"sha256": "b02b917f584024c896573410c1c1ac1b786ff1cbd88a2771cbd2cf50aac87789"
},
{
"source": "C:/Users/User/Documents/Git/ARCADIA-Studio/.local/scenario-validation-gates-b10b28c-20260913/focused-batch01-receipt.json",
"path": "original/focused-batch01-receipt.json",
"bytes": 46039,
"sha256": "fc2d2cc53c4aeea68a09dba35508cdb9398bc015141940d07de163d8a63d868f"
},
{
"source": "C:/Users/User/Documents/Git/ARCADIA-Studio/.local/scenario-validation-gates-b10b28c-20260913/focused-batch01.log",
"path": "original/focused-batch01.log",
"bytes": 13193,
"sha256": "6abd3ae6debbea53aaacf84b59a0b6273dacf8d1557bcbcfa9632a7c680f27ee"
},
{
"source": "C:/Users/User/Documents/Git/ARCADIA-Studio/.local/scenario-validation-gates-b10b28c-20260913/focused-batch02-receipt.json",
"path": "original/focused-batch02-receipt.json",
"bytes": 46419,
"sha256": "1a0f5ea48327763f1d631c8ec43f4ac000dbf586f134223547843ed8fc83c6c0"
},
{
"source": "C:/Users/User/Documents/Git/ARCADIA-Studio/.local/scenario-validation-gates-b10b28c-20260913/focused-batch02.log",
"path": "original/focused-batch02.log",
"bytes": 13150,
"sha256": "a0006a28cb1441434e712c51eb084da37d4e11f0695ecebebe2c405dc92b456b"
},
{
"source": "C:/Users/User/Documents/Git/ARCADIA-Studio/.local/scenario-validation-gates-b10b28c-20260913/focused-batch03-receipt.json",
"path": "original/focused-batch03-receipt.json",
"bytes": 43216,
"sha256": "834047f8e3e3a8de969eb7dc490013f1d2a5ad7b24a1079f855fe8cffcaaa5b7"
},
{
"source": "C:/Users/User/Documents/Git/ARCADIA-Studio/.local/scenario-validation-gates-b10b28c-20260913/focused-batch03.log",
"path": "original/focused-batch03.log",
"bytes": 11998,
"sha256": "763c79f9e74ad48e835a11f81f67472b188c04636b2da6b1b3bb664fe0639b3f"
},
{
"source": "C:/Users/User/Documents/Git/ARCADIA-Studio/.local/scenario-validation-gates-b10b28c-20260913/focused-receipt.json",
"path": "original/focused-receipt.json",
"bytes": 93260,
"sha256": "c289154fc76788de9e94524c18930b57f13f7f967794f5208a80c0c026f4a040"
},
{
"source": "C:/Users/User/Documents/Git/ARCADIA-Studio/.local/scenario-validation-gates-b10b28c-20260913/focused.log",
"path": "original/focused.log",
"bytes": 38341,
"sha256": "dbb7ee3d2c4599359e0143274c7547e356c861f3ebc9b0a3d4ad11369e286d4d"
},
{
"source": "C:/Users/User/Documents/Git/ARCADIA-Studio/.local/scenario-validation-gates-b10b28c-20260913/inputs-complete-before.json",
"path": "original/inputs-complete-before.json",
"bytes": 119379,
"sha256": "b3dff04a22e3c539b55229a4989a77cb17cde3f1e8f9e94fe13cd0f79ee4e312"
},
{
"source": "C:/Users/User/Documents/Git/ARCADIA-Studio/.local/scenario-validation-gates-b10b28c-20260913/inputs-complete-focused-after.json",
"path": "original/inputs-complete-focused-after.json",
"bytes": 119379,
"sha256": "04273c93962f2c8001f779669a05f7c75b09b1038f84d016761439810f320c63"
},
{
"source": "C:/Users/User/Documents/Git/ARCADIA-Studio/.local/scenario-validation-gates-b10b28c-20260913/inputs-complete-focused-batch01-after.json",
"path": "original/inputs-complete-focused-batch01-after.json",
"bytes": 119379,
"sha256": "819d0519e4c4c2df9622ff0043f2097e38ff163b0a6cbac28b456fae2842151e"
},
{
"source": "C:/Users/User/Documents/Git/ARCADIA-Studio/.local/scenario-validation-gates-b10b28c-20260913/inputs-complete-focused-batch01-before.json",
"path": "original/inputs-complete-focused-batch01-before.json",
"bytes": 119379,
"sha256": "9998c570359417c8350acdda43fe206aea0b60a6357baf5361887a540596084d"
},
{
"source": "C:/Users/User/Documents/Git/ARCADIA-Studio/.local/scenario-validation-gates-b10b28c-20260913/inputs-complete-focused-batch02-after.json",
"path": "original/inputs-complete-focused-batch02-after.json",
"bytes": 119379,
"sha256": "c2dc3d856305e2a7ef7e4ed254b9bb72ee578e1e4a5c469b10912c73795bfb1c"
},
{
"source": "C:/Users/User/Documents/Git/ARCADIA-Studio/.local/scenario-validation-gates-b10b28c-20260913/inputs-complete-focused-batch02-before.json",
"path": "original/inputs-complete-focused-batch02-before.json",
"bytes": 119379,
"sha256": "6520c7b731b461e5530950ec58629cff31025b446a525f9eb833eda21e405d46"
},
{
"source": "C:/Users/User/Documents/Git/ARCADIA-Studio/.local/scenario-validation-gates-b10b28c-20260913/inputs-complete-focused-batch03-after.json",
"path": "original/inputs-complete-focused-batch03-after.json",
"bytes": 119379,
"sha256": "b5cbcb8a2d65961c15fb528b26838f65539ae521e39de9886564272b96cb0f8a"
},
{
"source": "C:/Users/User/Documents/Git/ARCADIA-Studio/.local/scenario-validation-gates-b10b28c-20260913/inputs-complete-focused-batch03-before.json",
"path": "original/inputs-complete-focused-batch03-before.json",
"bytes": 119379,
"sha256": "d0a8aed676692f80f243a7719044853ff055e8e099877b947ef53e4958b7caf4"
},
{
"source": "C:/Users/User/Documents/Git/ARCADIA-Studio/.local/scenario-validation-gates-b10b28c-20260913/inputs-complete-focused-before.json",
"path": "original/inputs-complete-focused-before.json",
"bytes": 119379,
"sha256": "1273e88766d39ff21b20e517589386aa2a6f1c4825a546b5c258173c8ff29058"
},
{
"source": "C:/Users/User/Documents/Git/ARCADIA-Studio/.local/scenario-validation-gates-b10b28c-20260913/inputs-complete-list-after.json",
"path": "original/inputs-complete-list-after.json",
"bytes": 119379,
"sha256": "c51c8d7820d586fed80047889c5a850ea7b7ab5c1fc60d6f32f773d04c8850c6"
},
{
"source": "C:/Users/User/Documents/Git/ARCADIA-Studio/.local/scenario-validation-gates-b10b28c-20260913/inputs-complete-list-before.json",
"path": "original/inputs-complete-list-before.json",
"bytes": 119379,
"sha256": "506fa0f9c7577620700296397ad2035f6d77cbd4c8c96a568942d9f19a05266a"
},
{
"source": "C:/Users/User/Documents/Git/ARCADIA-Studio/.local/scenario-validation-gates-b10b28c-20260913/inputs-complete-strict-preflight-after.json",
"path": "original/inputs-complete-strict-preflight-after.json",
"bytes": 119379,
"sha256": "ba7a76af011191105f1909cf0a7dabde803eeac7a0493889cd150d68ff08f894"
},
{
"source": "C:/Users/User/Documents/Git/ARCADIA-Studio/.local/scenario-validation-gates-b10b28c-20260913/inputs-complete-strict-preflight-before.json",
"path": "original/inputs-complete-strict-preflight-before.json",
"bytes": 119379,
"sha256": "0c82113eca231ed3dd0477d428129f0a651741d1c6a49ee62a4218452f73916d"
},
{
"source": "C:/Users/User/Documents/Git/ARCADIA-Studio/.local/scenario-validation-gates-b10b28c-20260913/list-receipt.json",
"path": "original/list-receipt.json",
"bytes": 161801,
"sha256": "07fd88670a39bb3ed3614484066a383d46ce9e9aa637f753295a54f065558682"
},
{
"source": "C:/Users/User/Documents/Git/ARCADIA-Studio/.local/scenario-validation-gates-b10b28c-20260913/list.log",
"path": "original/list.log",
"bytes": 120785,
"sha256": "3339d40caf4340b288730cdc9152d29b8650c5ea867e514f28f132387d2fcd03"
},
{
"source": "C:/Users/User/Documents/Git/ARCADIA-Studio/.local/scenario-validation-gates-b10b28c-20260913/preparation-verification.json",
"path": "original/preparation-verification.json",
"bytes": 1030,
"sha256": "2851efe691173ab66111bd110eefff45780b90e21b350ea10583314e9240bf25"
},
{
"source": "C:/Users/User/Documents/Git/ARCADIA-Studio/.local/scenario-validation-gates-b10b28c-20260913/run.ps1",
"path": "original/run.ps1",
"bytes": 18657,
"sha256": "9f3540a6984858448ad1f9bcf6e3326b6ec2b4b3ee897189876c56ebeaaea6cc"
},
{
"source": "C:/Users/User/Documents/Git/ARCADIA-Studio/.local/scenario-validation-gates-b10b28c-20260913/source-provenance.json",
"path": "original/source-provenance.json",
"bytes": 5130,
"sha256": "64868f108ae01e4298f0156db4ee500b1da4b8ecaff4e3c6c866ecba6aeb3fb1"
},
{
"source": "C:/Users/User/Documents/Git/ARCADIA-Studio/.local/scenario-validation-gates-b10b28c-20260913/strict-preflight-receipt.json",
"path": "original/strict-preflight-receipt.json",
"bytes": 2241,
"sha256": "90597fab687350816777480daa4bd9649b6b4e550cfe381b2af0eede0f1cadde"
},
{
"source": "C:/Users/User/Documents/Git/ARCADIA-Studio/.local/scenario-validation-gates-b10b28c-20260913/strict-preflight.log",
"path": "original/strict-preflight.log",
"bytes": 330,
"sha256": "e73fb8b3553c8b61f52f23cef787c1aa1f93f8dc7f78844df7e6129fac58e3f6"
},
{
"source": "C:/Users/User/Documents/Git/ARCADIA-Studio/.local/scenario-validation-gates-b10b28c-20260913/strict-preflight.ps1",
"path": "original/strict-preflight.ps1",
"bytes": 5182,
"sha256": "152621fa4efe0a96adbeea43c4a08be21a63f5d4982846a9ad46de52ddbc725f"
},
{
"source": "C:/Users/User/Documents/Git/ARCADIA-Studio/.local/scenario-validation-gates-b10b28c-20260913/toolchain-versions.json",
"path": "original/toolchain-versions.json",
"bytes": 2268,
"sha256": "000d46684b18c2472b5f5c83b91c5870f3f67bc682ffea16b9191e1d2c9d7a2c"
},
{
"source": "C:/Users/User/Documents/Git/ARCADIA-Studio/.local/scenario-validation-gates-b10b28c-20260913/verify-preparation.ps1",
"path": "original/verify-preparation.ps1",
"bytes": 5703,
"sha256": "fbfdebaa5d2d1e2cb7e595e3acd70392b89348b91eb2d95173e5c30cd0adc72a"
}
],
"metadata": [
{
"path": ".gitattributes",
"bytes": 20,
"sha256": "e97602ab9cac70102245345c5ab0fc9830df8b17f1072b188265a662a3a547ae"
},
{
"path": "README.md",
"bytes": 3622,
"sha256": "bf5ca56cc442d1cb1e34eaced79c16157bfa6ffb31287194511b6db7a6fd1904"
}
],
"closed_stages": {
"strict-preflight": {
"receipt_sha256": "90597fab687350816777480daa4bd9649b6b4e550cfe381b2af0eede0f1cadde",
"cargo_exit_code": 0
},
"list": {
"receipt_sha256": "07fd88670a39bb3ed3614484066a383d46ce9e9aa637f753295a54f065558682",
"cargo_exit_code": 0,
"unique_tests": 1095
},
"focused": {
"receipt_sha256": "c289154fc76788de9e94524c18930b57f13f7f967794f5208a80c0c026f4a040",
"cargo_exit_code": 0,
"unique_passed": 301,
"batches": [
{
"passed": 107,
"failed": 0,
"ignored": 0,
"filtered": 988,
"seconds": "11.20"
},
{
"passed": 101,
"failed": 0,
"ignored": 0,
"filtered": 994,
"seconds": "56.91"
},
{
"passed": 93,
"failed": 0,
"ignored": 0,
"filtered": 1002,
"seconds": "3.46"
}
]
}
},
"verified_during_copy": {
"gate_local_dependency_closure": true,
"all_receipt_hash_bindings_match": true,
"original_and_copied_bytes_equal": true,
"source_input_count": 612,
"all_closed_captures_equal": true,
"external_inputs_equal": true,
"focused_exact_unique_membership": true,
"focused_raw_is_exact_batch_concatenation": true
},
"external_references": [
{
"kind": "unchanged external environment script",
"bytes": 572,
"sha256": "be2226f08764bb6961b4be8513ce55bab076890cddd2fef0f54a4031f94a82d4",
"published_commit": "7122f91671b56a5f23f1495ff2e78dcaec3661ed",
"path": "harness/experiments/scenario-details-focused-8bf7607-20260913/environment/env.ps1",
"url": "http://217.177.34.108:3000/sorokin.oleg.edu/ARCADIA-Studio/src/commit/7122f91671b56a5f23f1495ff2e78dcaec3661ed/harness/experiments/scenario-details-focused-8bf7607-20260913/environment/env.ps1",
"verified_against_published_git_bytes": true
}
],
"excluded": "All current/future all, clippy and build artifacts; unbound preparation handoff; executable payloads. No live logs read or copied."
}
@@ -0,0 +1,36 @@
# Scenario validation gate at b10b28c
Prepared for source `b10b28cefd1d0794073ba241a0c8de9a83e85f68` in `C:/Users/User/Documents/Git/ARCADIA-Studio/.local/scenario-spacing-ytr83r-20260913`, using parent-owned `C:/Users/User/Documents/Git/ARCADIA-Studio/target`. This directory contains a new gate recipe, not passing test evidence. Parent dispatches each stage after its predecessor closes successfully. Preparation invoked no Cargo, rustc, test executable, cleanup, or GUI.
## Source and inventory
Independent Git and rg enumeration agrees on **612** files in crates, docs, examples, build, harness/fixtures, harness/experiments/textual-authoring-20260911, and root Cargo.toml/Cargo.lock/rust-toolchain.toml. expected-inputs.json pins their actual bytes; external-inputs.json separately binds toolchain/env.ps1 and presence/absence of relevant root, worktree, ancestor and Cargo-home .cargo configuration. These are the declared captured scope, not a claim to hash every possible tool or registry input.
The previous actual8bf listing has1089 unique names. The new committed app::scenario_details_tests module adds six exact names; expected-tests.json therefore requires a **fresh1095-name listing**, **301 focused passes**, and the same four explicitly named ignored tests in full execution. Expected counts are source-derived until the stages run. No old executable is accepted as this source's executable. source-provenance.json preserves the old listing identity, failed strict provenance, and the one-line b10 cfg(test) correction.
## Ordered commands
Run in separate PowerShell processes, sequentially:
```powershell
pwsh -NoProfile -File C:/Users/User/Documents/Git/ARCADIA-Studio/.local/scenario-validation-gates-b10b28c-20260913/strict-preflight.ps1
pwsh -NoProfile -File C:/Users/User/Documents/Git/ARCADIA-Studio/.local/scenario-validation-gates-b10b28c-20260913/run.ps1 -Stage list
pwsh -NoProfile -File C:/Users/User/Documents/Git/ARCADIA-Studio/.local/scenario-validation-gates-b10b28c-20260913/run.ps1 -Stage focused
pwsh -NoProfile -File C:/Users/User/Documents/Git/ARCADIA-Studio/.local/scenario-validation-gates-b10b28c-20260913/run.ps1 -Stage all
pwsh -NoProfile -File C:/Users/User/Documents/Git/ARCADIA-Studio/.local/scenario-validation-gates-b10b28c-20260913/run.ps1 -Stage clippy
pwsh -NoProfile -File C:/Users/User/Documents/Git/ARCADIA-Studio/.local/scenario-validation-gates-b10b28c-20260913/run.ps1 -Stage build
```
Strict preflight runs desktop+server all-targets Clippy with locked/offline dependencies and -D warnings. It takes the baseline exactly once, captures612 inputs before/after, records toolchain versions once, and requires no test executable. It is a cheap early check, not a substitute for the later strict stage. A failed preflight prevents LIST admission. Existing evidence is never overwritten.
Regular LIST runs cargo test -p oa-desktop --all-targets --locked --offline -- --list. Its actual Cargo Running line establishes the single test executable path/hash/bytes. FOCUSED uses three bounded exact-name invocations of cargo test -p oa-desktop --bin arcadia-studio --locked --offline -- --exact ... --test-threads=1. Their selections are107,101,93 names (conservative command lengths11883,11906,10844, all below12000). Actual per-process filtered expectations are988,994,1002. Aggregate focused.log is byte-concatenated raw batch logs; there is **no fabricated single-process794-filtered summary**. Each batch must execute its exact unique names once, pass all, and preserve the listed executable and source/recipe inputs. The union must be precisely301 unique selected tests.
ALL runs desktop --all-targets serially; it requires exactly the fresh1095 listed outcomes, the four named ignores, no failures, and zero filtered. CLIPPY covers desktop+server all targets with -D warnings. BUILD creates the desktop GUI binary and binds its actual bytes, while retaining the exact test executable chain. Every regular stage verifies its exact prior receipt, raw output, source captures, transitive recipe hashes, toolchain record, and executable identity. Each before/after capture rechecks frozen Git identity, clean worktree, membership and file hashes.
## Retained evidence and limits
No server test rerun is requested: actual57 passing server results at37be410 are retained in source-provenance.json. Core/server production and manifests remain byte-identical to37; server/tests/http.rs only reorders an unchanged module declaration. Both strict stages still check server all-targets. This does not claim new server execution.
Old8bf full/failed-strict and5d4 failed-preflight records remain in their original directories and are referenced by hash; no prior logs or receipts were copied as new results. The5d4 preflight failed Cargo101 on the now-test-only Scene::sequence wrapper with612 unchanged inputs. No GUI/native acceptance follows from gate preparation or from an earlier pin.
verify-preparation.ps1 performs AST checks and17 synthetic checks against the actual list/aggregate parser and batch helpers, including old-inventory, missing/duplicate/ignored outcomes, incorrect filtered counts and duplicate batch union. preparation-verification.json records that preparation only; it does not run a compiler or product test. Do not rerun it over existing evidence. All static recipe files are frozen before regular LIST.
@@ -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 'b10b28cefd1d0794073ba241a0c8de9a83e85f68' -or $Plan.focused_count -ne 301 -or $Plan.desktop_count -ne 1095 -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 (1095-@($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 301 -or @($union|Sort-Object -Unique).Count -ne 301 -or (Compare-Object @($Expected) $union -CaseSensitive)){throw 'Batch union is not exactly301 unique selected tests'}
}
@@ -0,0 +1,350 @@
{
"schema": "scenario_details_exact_batches_v1",
"source_commit": "b10b28cefd1d0794073ba241a0c8de9a83e85f68",
"focused_count": 301,
"desktop_count": 1095,
"max_command_characters": 12000,
"command_measure": "Sum of executable and argument lengths plus3 each; ASCII test names, conservative Windows bound.",
"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_details_tests::actual_arrangement_picker_follows_selected_saved_record_and_opens_b_properties",
"app::scenario_details_tests::arrangement_applies_only_the_old_view_draft_then_follows_b_with_one_undo",
"app::scenario_details_tests::arrangement_change_preserves_independent_semantic_and_foreign_view_selection",
"app::scenario_details_tests::arrangement_follows_view_record_to_automatic_owner_but_not_owner_back_to_saved",
"app::scenario_details_tests::invalid_draft_and_stale_arrangement_preserve_selection_inputs_and_accepted_state",
"app::scenario_details_tests::same_arrangement_uuid_edit_follows_the_reidentified_record_and_round_trips_source",
"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"
],
"command_characters": 11883,
"expected_passed": 107,
"expected_filtered": 988
},
{
"id": "focused-batch02",
"tests": [
"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",
"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"
],
"command_characters": 11906,
"expected_passed": 101,
"expected_filtered": 994
},
{
"id": "focused-batch03",
"tests": [
"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",
"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"
],
"command_characters": 10844,
"expected_passed": 93,
"expected_filtered": 1002
}
]
}
@@ -0,0 +1,20 @@
# Pure file/log readers. No executable is started by these helpers.
function Get-GateBinary([string]$Path,[string]$Target) {
$resolved=[IO.Path]::GetFullPath($Path)
$root=[IO.Path]::GetFullPath($Target).TrimEnd('\','/')+[IO.Path]::DirectorySeparatorChar
if(-not $resolved.StartsWith($root,[StringComparison]::OrdinalIgnoreCase)){throw 'Executable path escapes the parent-owned target.'}
$item=Get-Item -LiteralPath $resolved
[ordered]@{path=$resolved;bytes=$item.Length;sha256=(Get-FileHash -LiteralPath $resolved -Algorithm SHA256).Hash.ToLowerInvariant();mtimeUtc=$item.LastWriteTimeUtc.ToString('o')}
}
function Get-GateTestBinaries([string]$Log,[string]$Target) {
$paths=@([regex]::Matches($Log,'(?m)^\s*Running unittests .+? \(([^\r\n]+\.exe)\)\s*$')|ForEach-Object {$_.Groups[1].Value}|Sort-Object -Unique)
foreach($path in $paths){Get-GateBinary $path $Target}
}
function Same-GateBinaries($Left,$Right) {
$a=@($Left|Sort-Object path);$b=@($Right|Sort-Object path)
if($a.Count -eq 0 -or $a.Count -ne $b.Count){return $false}
for($i=0;$i -lt $a.Count;$i++){
if($a[$i].path -ine $b[$i].path -or $a[$i].bytes -ne $b[$i].bytes -or $a[$i].sha256 -cne $b[$i].sha256){return $false}
}
return $true
}
@@ -0,0 +1,7 @@
{
"base": "b10b28cefd1d0794073ba241a0c8de9a83e85f68",
"retainExistingTarget": true,
"cleanRequested": false,
"target": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\target",
"scope": "Parent-owned shared target; no cleanup requested or performed by recipe preparation."
}
@@ -0,0 +1,47 @@
#Requires -Version 7.0
param([Parameter(Mandatory=$true)][ValidatePattern('^(before|after|(strict-preflight|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='b10b28cefd1d0794073ba241a0c8de9a83e85f68'
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,44 @@
{
"base": "b10b28cefd1d0794073ba241a0c8de9a83e85f68",
"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
}
]
}
File diff suppressed because one or more lines are too long
@@ -0,0 +1,114 @@
Finished `test` profile [unoptimized] target(s) in 2.79s
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_details_tests::actual_arrangement_picker_follows_selected_saved_record_and_opens_b_properties ... ok
test app::scenario_details_tests::arrangement_applies_only_the_old_view_draft_then_follows_b_with_one_undo ... ok
test app::scenario_details_tests::arrangement_change_preserves_independent_semantic_and_foreign_view_selection ... ok
test app::scenario_details_tests::arrangement_follows_view_record_to_automatic_owner_but_not_owner_back_to_saved ... ok
test app::scenario_details_tests::invalid_draft_and_stale_arrangement_preserve_selection_inputs_and_accepted_state ... ok
test app::scenario_details_tests::same_arrangement_uuid_edit_follows_the_reidentified_record_and_round_trips_source ... 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 result: ok. 107 passed; 0 failed; 0 ignored; 0 measured; 988 filtered out; finished in 11.20s
File diff suppressed because one or more lines are too long
@@ -0,0 +1,108 @@
Finished `test` profile [unoptimized] target(s) in 4.60s
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_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 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 result: ok. 101 passed; 0 failed; 0 ignored; 0 measured; 994 filtered out; finished in 56.91s
File diff suppressed because one or more lines are too long
@@ -0,0 +1,100 @@
Finished `test` profile [unoptimized] target(s) in 2.94s
Running unittests src\main.rs (C:\Users\User\Documents\Git\ARCADIA-Studio\target\debug\deps\arcadia_studio-27db9628b266bf39.exe)
running 93 tests
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 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. 93 passed; 0 failed; 0 ignored; 0 measured; 1002 filtered out; finished in 3.46s
@@ -0,0 +1,322 @@
Finished `test` profile [unoptimized] target(s) in 2.79s
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_details_tests::actual_arrangement_picker_follows_selected_saved_record_and_opens_b_properties ... ok
test app::scenario_details_tests::arrangement_applies_only_the_old_view_draft_then_follows_b_with_one_undo ... ok
test app::scenario_details_tests::arrangement_change_preserves_independent_semantic_and_foreign_view_selection ... ok
test app::scenario_details_tests::arrangement_follows_view_record_to_automatic_owner_but_not_owner_back_to_saved ... ok
test app::scenario_details_tests::invalid_draft_and_stale_arrangement_preserve_selection_inputs_and_accepted_state ... ok
test app::scenario_details_tests::same_arrangement_uuid_edit_follows_the_reidentified_record_and_round_trips_source ... 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 result: ok. 107 passed; 0 failed; 0 ignored; 0 measured; 988 filtered out; finished in 11.20s
Finished `test` profile [unoptimized] target(s) in 4.60s
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_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 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 result: ok. 101 passed; 0 failed; 0 ignored; 0 measured; 994 filtered out; finished in 56.91s
Finished `test` profile [unoptimized] target(s) in 2.94s
Running unittests src\main.rs (C:\Users\User\Documents\Git\ARCADIA-Studio\target\debug\deps\arcadia_studio-27db9628b266bf39.exe)
running 93 tests
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 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. 93 passed; 0 failed; 0 ignored; 0 measured; 1002 filtered out; finished in 3.46s
@@ -0,0 +1,34 @@
{
"schema": "scenario_validation_preparation_v1",
"source_commit": "b10b28cefd1d0794073ba241a0c8de9a83e85f68",
"syntax": [
"run.ps1",
"capture.ps1",
"batch-helpers.ps1"
],
"pureChecks": [
"exact301-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",
"list-exact1095",
"list-old1089",
"list-duplicate",
"list-no-summary",
"focused-three-actual-summaries",
"focused-duplicate",
"focused-failed"
],
"runnerSha256": "9f3540a6984858448ad1f9bcf6e3326b6ec2b4b3ee897189876c56ebeaaea6cc",
"batchHelperSha256": "0990e168b3e6f037237cb1533827f2fb9245b48e481b9801a2f695dd7a1795c4",
"cargoInvoked": false,
"testExecutableInvoked": false,
"capturesTaken": false,
"createdUtc": "2026-09-13T13:30:41.7362850Z"
}
@@ -0,0 +1,182 @@
#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='b10b28cefd1d0794073ba241a0c8de9a83e85f68'
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
$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_desktop_count -ne 1095 -or @($selection.desktop_tests).Count -ne 1095 -or @($selection.desktop_tests|Sort-Object -Unique).Count -ne 1095 -or $selection.expected_count -ne 301 -or $expected.Count -ne 301 -or @($selection.tests).Count -ne 301){throw 'Wrong exact focused membership.'}
$expectedCount=301
$commonFiles=@('run.ps1','capture.ps1','binary-inputs.ps1','batch-helpers.ps1','batches.json','expected-tests.json','expected-inputs.json','enumeration.json','external-inputs.json','inputs-complete-before.json','cache-policy.json','source-provenance.json','README.md','verify-preparation.ps1','preparation-verification.json','strict-preflight.ps1','strict-preflight-receipt.json','strict-preflight.log','inputs-complete-strict-preflight-before.json','inputs-complete-strict-preflight-after.json','toolchain-versions.json')
$boundScripts=@{}
foreach($file in $commonFiles){$boundScripts[$file]=Hash-Input (Join-Path $PSScriptRoot $file)}
$previous=@{focused='list';all='focused';clippy='all';build='clippy'}
$preflightPath=Join-Path $PSScriptRoot 'strict-preflight-receipt.json'
$preflight=Get-Content -Raw -LiteralPath $preflightPath|ConvertFrom-Json
if($preflight.stage -cne 'strict-preflight' -or $preflight.base -cne $taskPin -or $preflight.workspace -ine $taskWorkspace -or $preflight.target -ine $taskTarget -or $preflight.cargoExitCode -ne 0 -or -not $preflight.passed -or -not $preflight.inputsUnchanged -or $null -ne $preflight.postflightFailure){throw 'Strict preflight has not passed for this exact source'}
foreach($property in $preflight.boundScriptAndInputHashes.PSObject.Properties){if((Hash-Input (Join-Path $PSScriptRoot $property.Name)) -cne $property.Value){throw ('Preflight transitive binding changed: '+$property.Name)}}
if((Hash-Input (Join-Path $PSScriptRoot 'strict-preflight.log')) -cne $preflight.rawLogSha256 -or (Hash-Input (Join-Path $PSScriptRoot 'inputs-complete-strict-preflight-before.json')) -cne $preflight.beforeCaptureSha256 -or (Hash-Input (Join-Path $PSScriptRoot 'inputs-complete-strict-preflight-after.json')) -cne $preflight.afterCaptureSha256 -or (Hash-Input (Join-Path $PSScriptRoot 'toolchain-versions.json')) -cne $preflight.toolchainVersionsSha256){throw 'Preflight output/capture binding changed'}
$priorBinding=if($Stage -eq 'list'){[ordered]@{stage='strict-preflight';receiptSha256=(Hash-Input $preflightPath);rawLogSha256=$preflight.rawLogSha256}}else{$null}
$prior=$preflight
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 -or -not $prior.testBinaryBindingValid -or $null -ne $prior.postflightFailure){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.'}
foreach($side in @('before','after')){
$captureName='inputs-complete-'+$priorName+'-'+$side+'.json'
$captureHash=Hash-Input (Join-Path $PSScriptRoot $captureName)
$expectedHash=if($side -eq 'before'){$prior.beforeCaptureSha256}else{$prior.afterCaptureSha256}
if($captureHash -cne $expectedHash){throw 'Prior source capture changed'}
$boundScripts[$captureName]=$captureHash
}
$boundScripts[$priorName+'-receipt.json']=Hash-Input $priorPath
$boundScripts[$priorName+'.log']=$prior.rawLogSha256
$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'
$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.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.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 1095
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=(Hash-Input (Join-Path $PSScriptRoot 'list-receipt.json'));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.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,102 @@
{
"source_commit": "b10b28cefd1d0794073ba241a0c8de9a83e85f68",
"previous_source": "8bf7607a3f3b53db0c36364f54f57674c64ea2f1",
"changed_paths": [
"crates/oa-desktop/src/app.rs",
"crates/oa-desktop/src/app/diagram_usages/tests.rs",
"crates/oa-desktop/src/app/scenario_details_tests.rs",
"crates/oa-desktop/src/app/scenario_spacing.rs",
"crates/oa-desktop/src/behavior.rs",
"crates/oa-desktop/src/behavior/scenario/camera.rs",
"crates/oa-desktop/src/behavior/scenario/spacing/controller.rs",
"crates/oa-desktop/src/behavior/scenario/spacing/controller/tests.rs",
"crates/oa-desktop/src/behavior/scenario/usage/tests.rs",
"crates/oa-desktop/src/behavior/scenario/workspace.rs",
"crates/oa-desktop/src/behavior/scenario_lifecycle/union_tests.rs",
"crates/oa-server/tests/http.rs",
"harness/scenario-arrangement-selection.md"
],
"added_test_module": "crates/oa-desktop/src/app/scenario_details_tests.rs",
"added_test_module_sha256": "588e79fc0f37f4f61ed0aaf1ea57ac93390b09a139d75006a5b7880a77fb9b3a",
"new_tests": [
"app::scenario_details_tests::actual_arrangement_picker_follows_selected_saved_record_and_opens_b_properties",
"app::scenario_details_tests::arrangement_change_preserves_independent_semantic_and_foreign_view_selection",
"app::scenario_details_tests::arrangement_follows_view_record_to_automatic_owner_but_not_owner_back_to_saved",
"app::scenario_details_tests::arrangement_applies_only_the_old_view_draft_then_follows_b_with_one_undo",
"app::scenario_details_tests::same_arrangement_uuid_edit_follows_the_reidentified_record_and_round_trips_source",
"app::scenario_details_tests::invalid_draft_and_stale_arrangement_preserve_selection_inputs_and_accepted_state"
],
"prior_list": {
"path": "C:/Users/User/Documents/Git/ARCADIA-Studio/.local/scenario-details-gates-batched-20260913/list-receipt.json",
"sha256": "e2d9258afab904c7d0d9f3efbb3c3cc02511a33296c1698b3114b3d6b7a125a1",
"listed_count": 1089,
"scope": "Previous exact names only; no previous executable is admitted as this pin."
},
"prior_failure_chain": {
"gate": "C:/Users/User/Documents/Git/ARCADIA-Studio/.local/scenario-details-gates-batched-20260913",
"all_receipt_sha256": "a31a32e6104fe5fd84d9e203ff3739fd9462923739a616d90729fd8994d3491d",
"clippy_receipt_sha256": "1d4dc8b62e7b153bad2c2496e497517a5da91d4c3bb5640016e8a2c3e5d62f0a",
"scope": "1085 passed/4 ignored; seven strict diagnostics. Original receipts and raw outputs remain untouched."
},
"server_provenance": {
"status": "Retained actual57 server results at37; core/server production and manifests byte-identical. Test-only http.rs module declaration moved by formatting; no repeated server test execution claimed.",
"previous_source": "37be41092beb1c940f345072df1e017ce45fe2fc",
"source": "b10b28cefd1d0794073ba241a0c8de9a83e85f68",
"changed_core_server_manifest_paths": [
"crates/oa-server/tests/http.rs (module declaration order only)"
],
"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"
},
"recipe_status": "Preparation only. Strict preflight is parent-owned. Fresh list and all later stages must run sequentially at this pin.",
"cfg_test_correction": {
"previous_source": "5d4a6a47ce1085b818498bb281a41c3bc6a83847",
"source": "b10b28cefd1d0794073ba241a0c8de9a83e85f68",
"path": "crates/oa-desktop/src/behavior.rs",
"bytes": 145756,
"sha256": "1238ef62d2bb6b584b46990342d994b3b058323abb01bf5114ec132901e4d93e",
"scope": "One cfg(test) annotation on the unused runtime wrapper; production sequence_geometry unchanged.",
"failed_preflight": {
"path": "C:/Users/User/Documents/Git/ARCADIA-Studio/.local/scenario-validation-gates-5d4a6a4-20260913/strict-preflight-receipt.json",
"sha256": "1df6e805136685854cc038cd30da1185dfa8571b65501a15d0f8efaecbc2ec54",
"raw_log_sha256": "c291bda1f52b048bf015629b9b209759dc8a5cf82900b4757906f1977c03b034",
"scope": "Cargo101, one dead_code diagnostic,612 inputs unchanged; no listing or tests accepted."
}
}
}
@@ -0,0 +1,43 @@
{
"schema": "scenario_strict_preflight_v1",
"stage": "strict-preflight",
"base": "b10b28cefd1d0794073ba241a0c8de9a83e85f68",
"workspace": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\scenario-spacing-ytr83r-20260913",
"target": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\target",
"command": "cargo clippy -p oa-desktop -p oa-server --all-targets --locked --offline -- -D warnings",
"arguments": [
"clippy",
"-p",
"oa-desktop",
"-p",
"oa-server",
"--all-targets",
"--locked",
"--offline",
"--",
"-D",
"warnings"
],
"startUtc": "2026-09-13T13:30:49.0870074Z",
"endUtc": "2026-09-13T13:32:56.1558899Z",
"cargoExitCode": 0,
"inputsUnchanged": true,
"postflightFailure": null,
"passed": true,
"boundScriptAndInputHashes": {
"capture.ps1": "c76278630e332757c4e68ff466211d02cdd585a60c325e760f6331e5ff39b6c1",
"enumeration.json": "1cc1744effb1ee8dd555b2970e97d7849db6390945fb16e9ea28ef96db1fb2ec",
"inputs-complete-before.json": "b3dff04a22e3c539b55229a4989a77cb17cde3f1e8f9e94fe13cd0f79ee4e312",
"external-inputs.json": "b02b917f584024c896573410c1c1ac1b786ff1cbd88a2771cbd2cf50aac87789",
"strict-preflight.ps1": "152621fa4efe0a96adbeea43c4a08be21a63f5d4982846a9ad46de52ddbc725f",
"cache-policy.json": "68dfa3ec1c3ff7f0ef2cec55e27c163d5675026de354375e231e0e1ae37218b8",
"expected-inputs.json": "f720f1e2f7f31bd4188e9b624cf0324439958ae23dcb7c48c9ecc16cc7ed6131"
},
"externalEnvironmentPath": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\env.ps1",
"externalEnvironmentSha256": "be2226f08764bb6961b4be8513ce55bab076890cddd2fef0f54a4031f94a82d4",
"toolchainVersionsSha256": "000d46684b18c2472b5f5c83b91c5870f3f67bc682ffea16b9191e1d2c9d7a2c",
"rawLogSha256": "e73fb8b3553c8b61f52f23cef787c1aa1f93f8dc7f78844df7e6129fac58e3f6",
"beforeCaptureSha256": "0c82113eca231ed3dd0477d428129f0a651741d1c6a49ee62a4218452f73916d",
"afterCaptureSha256": "ba7a76af011191105f1909cf0a7dabde803eeac7a0493889cd150d68ff08f894",
"scope": "Strict desktop/server all-targets preflight only; no desktop listing, test execution, GUI build, or test-executable acceptance."
}
@@ -0,0 +1,3 @@
Checking oa-desktop v0.2.0 (C:\Users\User\Documents\Git\ARCADIA-Studio\.local\scenario-spacing-ytr83r-20260913\crates\oa-desktop)
Checking oa-server v0.2.0 (C:\Users\User\Documents\Git\ARCADIA-Studio\.local\scenario-spacing-ytr83r-20260913\crates\oa-server)
Finished `dev` profile [unoptimized] target(s) in 2m 06s
@@ -0,0 +1,49 @@
#Requires -Version 7.0
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='b10b28cefd1d0794073ba241a0c8de9a83e85f68'
$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()}
$log=Join-Path $PSScriptRoot 'strict-preflight.log'
$receipt=Join-Path $PSScriptRoot 'strict-preflight-receipt.json'
$versionPath=Join-Path $PSScriptRoot 'toolchain-versions.json'
foreach($p in @($log,$receipt,$versionPath)){if(Test-Path -LiteralPath $p){throw 'Preserve existing evidence; use a new 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 -or $cache.target -ine $taskTarget){throw 'Wrong reviewed cache policy'}
# This standalone preflight deliberately has no test-executable dependency.
& (Join-Path $PSScriptRoot 'capture.ps1') -Stage before
$bound=@{}
foreach($name in @('strict-preflight.ps1','capture.ps1','expected-inputs.json','enumeration.json','external-inputs.json','cache-policy.json','inputs-complete-before.json')){$bound[$name]=Hash-Input (Join-Path $PSScriptRoot $name)}
Push-Location -LiteralPath $taskWorkspace
try {
& (Join-Path $PSScriptRoot 'capture.ps1') -Stage strict-preflight-before
. $toolchainEnv
$env:CARGO_TARGET_DIR=$taskTarget
$env:CARGO_TERM_COLOR='never'
$PSNativeCommandUseErrorActionPreference=$false
$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
$envHash=Hash-Input $toolchainEnv
$args=@('clippy','-p','oa-desktop','-p','oa-server','--all-targets','--locked','--offline','--','-D','warnings')
$start=[DateTime]::UtcNow.ToString('o');$cargoExit=-1;$failure=$null
try{& cargo @args 2>&1|Tee-Object -FilePath $log;$cargoExit=$LASTEXITCODE}catch{$failure=$_.Exception.Message;if(-not(Test-Path -LiteralPath $log)){[IO.File]::WriteAllText($log,$failure)}}
$end=[DateTime]::UtcNow.ToString('o');$unchanged=$false
try{
& (Join-Path $PSScriptRoot 'capture.ps1') -Stage strict-preflight-after
foreach($name in $bound.Keys){if((Hash-Input (Join-Path $PSScriptRoot $name)) -cne $bound[$name]){throw ('Recipe/input changed: '+$name)}}
if((Hash-Input $versionPath) -cne $versionsHash -or (Hash-Input $toolchainEnv) -cne $envHash){throw 'Toolchain binding changed'}
$unchanged=$true
}catch{$failure=$_.Exception.Message}
$after=Join-Path $PSScriptRoot 'inputs-complete-strict-preflight-after.json'
[ordered]@{schema='scenario_strict_preflight_v1';stage='strict-preflight';base=$taskPin;workspace=$taskWorkspace;target=$taskTarget;command=('cargo '+($args -join ' '));arguments=$args;startUtc=$start;endUtc=$end;cargoExitCode=$cargoExit;inputsUnchanged=$unchanged;postflightFailure=$failure;passed=($cargoExit -eq 0 -and $unchanged -and $null -eq $failure);boundScriptAndInputHashes=$bound;externalEnvironmentPath=$toolchainEnv;externalEnvironmentSha256=$envHash;toolchainVersionsSha256=$versionsHash;rawLogSha256=(Hash-Input $log);beforeCaptureSha256=(Hash-Input (Join-Path $PSScriptRoot 'inputs-complete-strict-preflight-before.json'));afterCaptureSha256=if(Test-Path -LiteralPath $after){Hash-Input $after}else{$null};scope='Strict desktop/server all-targets preflight only; no desktop listing, test execution, GUI build, or test-executable acceptance.'}|ConvertTo-Json -Depth 10|Set-Content -LiteralPath $receipt -Encoding utf8
if($cargoExit -ne 0){exit $cargoExit}
if(-not $unchanged -or $null -ne $failure){throw 'Preflight binding failed; inspect receipt.'}
}finally{Pop-Location}
@@ -0,0 +1,47 @@
{
"base": "b10b28cefd1d0794073ba241a0c8de9a83e85f68",
"capturedUtc": "2026-09-13T13:30:49.0488577Z",
"externalEnvironmentPath": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\env.ps1",
"externalEnvironmentSha256": "be2226f08764bb6961b4be8513ce55bab076890cddd2fef0f54a4031f94a82d4",
"cargo": [
"cargo 1.98.1 (797e8a9bc 2026-08-05)",
"release: 1.98.1",
"commit-hash: 797e8a9bca276c1c9f9f738d2a20f484fa4eea9d",
"commit-date: 2026-08-05",
"host: x86_64-pc-windows-gnullvm",
"libgit2: 1.9.4 (sys:0.21.0 vendored)",
"libcurl: 8.21.0-DEV (sys:0.4.90+curl-8.21.0 vendored ssl:Schannel)",
"os: Windows 10.0.26200 (Windows 11 Professional) [64-bit]"
],
"cargoExitCode": 0,
"rustc": [
"rustc 1.98.1 (48a229cea 2026-09-01)",
"binary: rustc",
"commit-hash: 48a229ceaefd4985c50990b14116b6d856af0985",
"commit-date: 2026-09-01",
"host: x86_64-pc-windows-gnullvm",
"release: 1.98.1",
"LLVM version: 22.1.8"
],
"rustcExitCode": 0,
"clippy": [
"clippy 0.1.98 (48a229ceae 2026-09-01)"
],
"clippyExitCode": 0,
"clang": [
"clang version 23.1.1 (https://github.com/llvm/llvm-project.git 6dfe1677ab8dffbc6ec13d53a1e0215d75147689)",
"Target: x86_64-w64-windows-gnu",
"Thread model: posix",
"InstalledDir: C:/Users/User/Documents/Git/ARCADIA-Studio/.local/toolchain/llvm-mingw-20260908-ucrt-x86_64/bin",
"Configuration file: C:/Users/User/Documents/Git/ARCADIA-Studio/.local/toolchain/llvm-mingw-20260908-ucrt-x86_64/bin/x86_64-w64-windows-gnu.cfg"
],
"clangExitCode": 0,
"cargoPath": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\bin\\cargo.exe",
"rustcPath": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\bin\\rustc.exe",
"clangPath": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\llvm-mingw-20260908-ucrt-x86_64\\bin\\clang.exe",
"cargoHome": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo",
"rustupHome": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\rustup",
"rustupToolchain": "stable-x86_64-pc-windows-gnullvm",
"buildJobs": "1",
"incremental": "0"
}
@@ -0,0 +1,63 @@
#Requires -Version 7.0
# Pure recipe syntax and synthetic parser checks only. No Cargo, source capture or test executable invocation.
Set-StrictMode -Version Latest
$ErrorActionPreference='Stop'
if(Test-Path -LiteralPath (Join-Path $PSScriptRoot 'preparation-verification.json')){throw 'Preserve preparation evidence'}
. (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.ps1','capture.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=@('exact301-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 1095
$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)) 1095}
Must-Reject 'missing-outcome' {Assert-ExactBatch $b (Read-BatchResults ((@($validLines|Select-Object -Skip 1)+$summary)-join [Environment]::NewLine)) 1095}
Must-Reject 'wrong-filtered' {Assert-ExactBatch $b (Read-BatchResults ((@($validLines)+$summary.Replace('988 filtered','794 filtered'))-join [Environment]::NewLine)) 1095}
Must-Reject 'ignored-outcome' {$bad=@($validLines);$bad[0]=$bad[0].Replace(' ... ok',' ... ignored');Assert-ExactBatch $b (Read-BatchResults (($bad+$summary)-join [Environment]::NewLine)) 1095}
Must-Reject 'duplicate-summary' {Assert-ExactBatch $b (Read-BatchResults ((@($validLines)+$summary+$summary)-join [Environment]::NewLine)) 1095}
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}
# Exercise the actual runner list/aggregate parser without invoking the runner.
$runner=Get-Content -Raw (Join-Path $PSScriptRoot 'run.ps1')
$begin=$runner.IndexOf(' $taskValid=$true;$taskFailure=$null')
$end=$runner.IndexOf(' $inputsUnchanged=$false',$begin)
if($begin -lt 0 -or $end -lt 0){throw 'Actual runner parser block not found'}
$block=[scriptblock]::Create($runner.Substring($begin,$end-$begin))
$selection=$e;$expected=@($e.tests|Sort-Object);$expectedCount=301
$batchPlan=$p;$batchesValid=$true;$batchReceipts=@($p.batches)
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}
$listLines=@($e.desktop_tests|ForEach-Object {$_+': test'})
$oldList=@($e.desktop_tests|Where-Object {$_ -notlike 'app::scenario_details_tests::*'})
$batchText=@(foreach($b in $p.batches){foreach($name in $b.tests){'test '+$name+' ... ok'};'test result: ok. '+$b.expected_passed+' passed; 0 failed; 0 ignored; 0 measured; '+$b.expected_filtered+' filtered out; finished in 1.23s'}) -join [Environment]::NewLine
$cases=@(
[pscustomobject]@{name='list-exact1095';stage='list';valid=$true;text=(($listLines+@('1095 tests, 0 benchmarks')) -join [Environment]::NewLine)},
[pscustomobject]@{name='list-old1089';stage='list';valid=$false;text=((@($oldList|ForEach-Object {$_+': test'})+@('1089 tests, 0 benchmarks')) -join [Environment]::NewLine)},
[pscustomobject]@{name='list-duplicate';stage='list';valid=$false;text=(($listLines+@($listLines[0],'1096 tests, 0 benchmarks')) -join [Environment]::NewLine)},
[pscustomobject]@{name='list-no-summary';stage='list';valid=$false;text=($listLines -join [Environment]::NewLine)},
[pscustomobject]@{name='focused-three-actual-summaries';stage='focused';valid=$true;text=$batchText},
[pscustomobject]@{name='focused-duplicate';stage='focused';valid=$false;text=($batchText+[Environment]::NewLine+'test '+$expected[0]+' ... ok')},
[pscustomobject]@{name='focused-failed';stage='focused';valid=$false;text=$batchText.Replace(('test '+$expected[0]+' ... ok'),('test '+$expected[0]+' ... FAILED'))}
)
foreach($case in $cases){$Stage=$case.stage;$taskText=$case.text;. $block;if($taskValid -ne $case.valid){throw ('Wrong actual parser decision: '+$case.name)};$checks+=($case.name)}
[ordered]@{schema='scenario_validation_preparation_v1';source_commit=$p.source_commit;syntax=$syntax;pureChecks=$checks;runnerSha256=(Get-FileHash -LiteralPath (Join-Path $PSScriptRoot 'run.ps1') -Algorithm SHA256).Hash.ToLowerInvariant();batchHelperSha256=(Get-FileHash -LiteralPath (Join-Path $PSScriptRoot 'batch-helpers.ps1') -Algorithm SHA256).Hash.ToLowerInvariant();cargoInvoked=$false;testExecutableInvoked=$false;capturesTaken=$false;createdUtc=[DateTime]::UtcNow.ToString('o')}|ConvertTo-Json -Depth 5|Set-Content -LiteralPath (Join-Path $PSScriptRoot 'preparation-verification.json') -Encoding utf8
'PASS: syntax and '+$checks.Count+' pure checks; no Cargo or test execution'