diff --git a/harness/experiments/transition-native-lifecycle-20260913/checks/README.md b/harness/experiments/transition-native-lifecycle-20260913/checks/README.md new file mode 100644 index 00000000..3f123b33 --- /dev/null +++ b/harness/experiments/transition-native-lifecycle-20260913/checks/README.md @@ -0,0 +1,55 @@ +# Closed lifecycle checker and footer gates + +Run `python verify.py` with Python 3.10 or newer. Verification uses only these +package files and the standard library; it does not execute archived source, +binaries, Cargo, Git or network requests. `prepare.py [CHECKOUT]` reproducibly +packages the explicitly named raw captures if those local originals are present. +The input capsules are source snapshots, not a hermetic toolchain distribution. + +Ten closed Cargo runs are preserved: footer-format-1, footer-windows-build-1, +footer-windows-build-2, footer-clippy-1, lifecycle-producer-build-1, +lifecycle-producer-generate-1, lifecycle-producer-build-2, footer-windows-build-3, +footer-format-2 and lifecycle-producer-format-1. Each remains bound +to its original command, source inventory, helper, logs and receipts. The first +footer build has no JSON executable artifact records; the second captures them. +Recorded HEAD d0b7c28 does not identify uncommitted footer/producer source bytes; +the archived per-run input manifests do. + +The three final gates use the same 715-file manifest, SHA-256 +`b5a62817a1b5df936b9d759241bdfc4e8283901c1d4b540b9e494995e1544d8d`. +Compared with producer build2's captured inputs, only the footer literal changes +from "changes" to "reviewed items". The verifier checks that exact byte delta. +The final GUI build and both format checks pass. Earlier lint and oracle captures +retain their original input scope; they are not presented as reruns of the final +wording. The checker source is unchanged by that label refinement. + +Producer build1 and its generation succeeded, but that older checker incorrectly +rejected expected engineering warnings during saved-file admission. Build2 +contains the corrected admission logic. The 40 PASS falsifier trials are bound +to build2's exact checker artifact receipt and producer source, not to build1. +Build success alone does not demonstrate checker correctness. The earlier native +admission failure is outside these selected captures, not fabricated as a Cargo +failure or silently converted into successful native evidence. + +The oracle archive retains all original fixtures, repeated generation outputs, +mutated specimens, identity receipts, copied build evidence, runner/source, +stdout/stderr and per-trial results. The 40 expected outcomes include accepted +original/deleted/recreated/relinked states and deliberate rejection cases for +retained prose/geometry corruption, source/trace identity drift, missing persisted +IDs, absent identity receipts and receipt overwrite. These are synthetic checker +tests, not native interaction. A PASS summary includes expected negative exits. + +`manifest.json` maps every logical raw path to a stored member. Only byte-identical +inputs.json/inputs.zip files are deduplicated; exact run mapping is retained. +`files.json` pins outer files including the reproducible packager. Outer text is +UTF-8 LF; all raw archived bytes are preserved. The verifier checks exact safe ZIP +membership, hashes, nested input contents/counts, helpers, timestamps, receipt and +binary-pin relationships, repeated fixture equality, watched specimen identities, +all 40 outcomes and their recorded rejection text. It rereads evidence rather +than rerunning the model checker, and does not authenticate historical execution. + +Native trial1 lacks a closing exit receipt and is excluded. No successful native +deletion, Undo, relinking, save/reopen, or full lifecycle acceptance is claimed. +No runtime binaries, credentials or whole user profile are included. Recorded +absolute paths are historical labels; verification maps them to archive members +without accessing the original machine. Binary hashes remain receipt observations. diff --git a/harness/experiments/transition-native-lifecycle-20260913/checks/evidence.zip b/harness/experiments/transition-native-lifecycle-20260913/checks/evidence.zip new file mode 100644 index 00000000..4cc963c2 Binary files /dev/null and b/harness/experiments/transition-native-lifecycle-20260913/checks/evidence.zip differ diff --git a/harness/experiments/transition-native-lifecycle-20260913/checks/files.json b/harness/experiments/transition-native-lifecycle-20260913/checks/files.json new file mode 100644 index 00000000..cf312c33 --- /dev/null +++ b/harness/experiments/transition-native-lifecycle-20260913/checks/files.json @@ -0,0 +1,22 @@ +{ + "evidence.zip": { + "bytes": 14254708, + "sha256": "663bf83db4ead276063b321fd5e9857e29d2305e6046c2e87dbbac87a366b19c" + }, + "manifest.json": { + "bytes": 79071, + "sha256": "5d2be3d68206871a560dd1a83064ff779e8aab6e11302d09aaf1a655502dd38e" + }, + "README.md": { + "bytes": 3696, + "sha256": "0e33fe1a85a1ee17ebde57ed7994280dcb95d3a7c4338b78c1f7e0ae9fdcbb7d" + }, + "verify.py": { + "bytes": 10908, + "sha256": "1e8ba1cc2759fbe76e14636a37925c9dfce9a6f14bf63569acb76498bd8380ad" + }, + "prepare.py": { + "bytes": 3572, + "sha256": "147a63f26b7131076df52057f1cc263dfefdf99d937b2c2a819217a46c56105f" + } +} diff --git a/harness/experiments/transition-native-lifecycle-20260913/checks/manifest.json b/harness/experiments/transition-native-lifecycle-20260913/checks/manifest.json new file mode 100644 index 00000000..a0539d76 --- /dev/null +++ b/harness/experiments/transition-native-lifecycle-20260913/checks/manifest.json @@ -0,0 +1,1638 @@ +{ + "schema": 1, + "captureCheckout": "d0b7c285018a516c6dc34c196d1359a861ddaeb3", + "cargo": { + "footer-format-1": { + "command": [ + "cargo", + "fmt", + "--all", + "--", + "--check" + ], + "head": "d0b7c285018a516c6dc34c196d1359a861ddaeb3", + "exitCode": 0, + "inputCount": 710, + "helper": "helpers/065a752452e297ba8a000ee69cfae3996b4e6df9b4edbe002f233a66c32e1c04.py" + }, + "footer-windows-build-1": { + "command": [ + "cargo", + "build", + "--locked", + "--offline", + "-p", + "oa-desktop" + ], + "head": "d0b7c285018a516c6dc34c196d1359a861ddaeb3", + "exitCode": 0, + "inputCount": 710, + "helper": "helpers/065a752452e297ba8a000ee69cfae3996b4e6df9b4edbe002f233a66c32e1c04.py" + }, + "footer-windows-build-2": { + "command": [ + "cargo", + "build", + "--locked", + "--offline", + "-p", + "oa-desktop", + "--message-format=json-render-diagnostics" + ], + "head": "d0b7c285018a516c6dc34c196d1359a861ddaeb3", + "exitCode": 0, + "inputCount": 710, + "helper": "helpers/065a752452e297ba8a000ee69cfae3996b4e6df9b4edbe002f233a66c32e1c04.py" + }, + "footer-clippy-1": { + "command": [ + "cargo", + "clippy", + "--locked", + "--offline", + "--workspace", + "--all-targets", + "--", + "-D", + "warnings" + ], + "head": "d0b7c285018a516c6dc34c196d1359a861ddaeb3", + "exitCode": 0, + "inputCount": 715, + "helper": "helpers/e76c91d1871ee1064d9ec69fbf6bef18d9f004a62eeb57edb83a8dd1154f7f53.py" + }, + "lifecycle-producer-build-1": { + "command": [ + "cargo", + "build", + "--locked", + "--offline", + "--manifest-path", + "harness/experiments/transition-native-lifecycle-20260913/producer/Cargo.toml", + "--message-format=json-render-diagnostics" + ], + "head": "d0b7c285018a516c6dc34c196d1359a861ddaeb3", + "exitCode": 0, + "inputCount": 715, + "helper": "helpers/e76c91d1871ee1064d9ec69fbf6bef18d9f004a62eeb57edb83a8dd1154f7f53.py" + }, + "lifecycle-producer-generate-1": { + "command": [ + "cargo", + "run", + "--locked", + "--offline", + "--manifest-path", + "harness/experiments/transition-native-lifecycle-20260913/producer/Cargo.toml", + "--", + "generate", + ".local/transition-native/lifecycle-input-1" + ], + "head": "d0b7c285018a516c6dc34c196d1359a861ddaeb3", + "exitCode": 0, + "inputCount": 715, + "helper": "helpers/e76c91d1871ee1064d9ec69fbf6bef18d9f004a62eeb57edb83a8dd1154f7f53.py" + }, + "lifecycle-producer-build-2": { + "command": [ + "cargo", + "build", + "--locked", + "--offline", + "--manifest-path", + "harness/experiments/transition-native-lifecycle-20260913/producer/Cargo.toml", + "--message-format=json-render-diagnostics" + ], + "head": "d0b7c285018a516c6dc34c196d1359a861ddaeb3", + "exitCode": 0, + "inputCount": 715, + "helper": "helpers/e76c91d1871ee1064d9ec69fbf6bef18d9f004a62eeb57edb83a8dd1154f7f53.py" + }, + "footer-windows-build-3": { + "command": [ + "cargo", + "build", + "--locked", + "--offline", + "-p", + "oa-desktop", + "--message-format=json-render-diagnostics" + ], + "head": "d0b7c285018a516c6dc34c196d1359a861ddaeb3", + "exitCode": 0, + "inputCount": 715, + "helper": "helpers/e76c91d1871ee1064d9ec69fbf6bef18d9f004a62eeb57edb83a8dd1154f7f53.py" + }, + "footer-format-2": { + "command": [ + "cargo", + "fmt", + "--all", + "--", + "--check" + ], + "head": "d0b7c285018a516c6dc34c196d1359a861ddaeb3", + "exitCode": 0, + "inputCount": 715, + "helper": "helpers/e76c91d1871ee1064d9ec69fbf6bef18d9f004a62eeb57edb83a8dd1154f7f53.py" + }, + "lifecycle-producer-format-1": { + "command": [ + "cargo", + "fmt", + "--manifest-path", + "harness/experiments/transition-native-lifecycle-20260913/producer/Cargo.toml", + "--", + "--check" + ], + "head": "d0b7c285018a516c6dc34c196d1359a861ddaeb3", + "exitCode": 0, + "inputCount": 715, + "helper": "helpers/e76c91d1871ee1064d9ec69fbf6bef18d9f004a62eeb57edb83a8dd1154f7f53.py" + } + }, + "oracleExpectedTrials": [ + { + "label": "generation-a", + "exitCode": 0, + "expectedExitCode": 0 + }, + { + "label": "generation-b", + "exitCode": 0, + "expectedExitCode": 0 + }, + { + "label": "generation-refuses-overwrite", + "exitCode": 1, + "expectedExitCode": 1 + }, + { + "label": "original-accepted", + "exitCode": 0, + "expectedExitCode": 0 + }, + { + "label": "oa-deleted-accepted", + "exitCode": 0, + "expectedExitCode": 0 + }, + { + "label": "oa-recreated-accepted", + "exitCode": 0, + "expectedExitCode": 0 + }, + { + "label": "oa-reject-retained-prose", + "exitCode": 1, + "expectedExitCode": 1 + }, + { + "label": "oa-reject-retained-geometry", + "exitCode": 1, + "expectedExitCode": 1 + }, + { + "label": "oa-reject-recreated-id", + "exitCode": 1, + "expectedExitCode": 1 + }, + { + "label": "oa-reject-missing-source-id", + "exitCode": 1, + "expectedExitCode": 1 + }, + { + "label": "oa-first-relink-accepted", + "exitCode": 0, + "expectedExitCode": 0 + }, + { + "label": "oa-reopened-accepted", + "exitCode": 0, + "expectedExitCode": 0 + }, + { + "label": "oa-reopened-reject-no-receipt", + "exitCode": 1, + "expectedExitCode": 1 + }, + { + "label": "oa-noop-accepted", + "exitCode": 0, + "expectedExitCode": 0 + }, + { + "label": "oa-noop-reject-no-receipt", + "exitCode": 1, + "expectedExitCode": 1 + }, + { + "label": "oa-reopened-reject-source-drift", + "exitCode": 1, + "expectedExitCode": 1 + }, + { + "label": "oa-noop-reject-source-drift", + "exitCode": 1, + "expectedExitCode": 1 + }, + { + "label": "oa-reopened-reject-trace-drift", + "exitCode": 1, + "expectedExitCode": 1 + }, + { + "label": "oa-noop-reject-trace-drift", + "exitCode": 1, + "expectedExitCode": 1 + }, + { + "label": "oa-first-relink-reject-missing-trace-id", + "exitCode": 1, + "expectedExitCode": 1 + }, + { + "label": "oa-reopen-reject-missing-trace-id", + "exitCode": 1, + "expectedExitCode": 1 + }, + { + "label": "oa-reject-receipt-overwrite", + "exitCode": 1, + "expectedExitCode": 1 + }, + { + "label": "sa-deleted-accepted", + "exitCode": 0, + "expectedExitCode": 0 + }, + { + "label": "sa-recreated-accepted", + "exitCode": 0, + "expectedExitCode": 0 + }, + { + "label": "sa-reject-retained-prose", + "exitCode": 1, + "expectedExitCode": 1 + }, + { + "label": "sa-reject-retained-geometry", + "exitCode": 1, + "expectedExitCode": 1 + }, + { + "label": "sa-reject-recreated-id", + "exitCode": 1, + "expectedExitCode": 1 + }, + { + "label": "sa-reject-missing-source-id", + "exitCode": 1, + "expectedExitCode": 1 + }, + { + "label": "sa-first-relink-accepted", + "exitCode": 0, + "expectedExitCode": 0 + }, + { + "label": "sa-reopened-accepted", + "exitCode": 0, + "expectedExitCode": 0 + }, + { + "label": "sa-reopened-reject-no-receipt", + "exitCode": 1, + "expectedExitCode": 1 + }, + { + "label": "sa-noop-accepted", + "exitCode": 0, + "expectedExitCode": 0 + }, + { + "label": "sa-noop-reject-no-receipt", + "exitCode": 1, + "expectedExitCode": 1 + }, + { + "label": "sa-reopened-reject-source-drift", + "exitCode": 1, + "expectedExitCode": 1 + }, + { + "label": "sa-noop-reject-source-drift", + "exitCode": 1, + "expectedExitCode": 1 + }, + { + "label": "sa-reopened-reject-trace-drift", + "exitCode": 1, + "expectedExitCode": 1 + }, + { + "label": "sa-noop-reject-trace-drift", + "exitCode": 1, + "expectedExitCode": 1 + }, + { + "label": "sa-first-relink-reject-missing-trace-id", + "exitCode": 1, + "expectedExitCode": 1 + }, + { + "label": "sa-reopen-reject-missing-trace-id", + "exitCode": 1, + "expectedExitCode": 1 + }, + { + "label": "sa-reject-receipt-overwrite", + "exitCode": 1, + "expectedExitCode": 1 + } + ], + "oracleOriginalDirectory": "C:/ar-transition-9e8r6t/.local/transition-native/oracle-falsifiers-1", + "logicalFiles": { + "cargo/footer-clippy-1/inputs.json": "capsules/d5f55606be372a028ee58e1b703b3504554d5de560873ec1c1e312f081881506.json", + "cargo/footer-clippy-1/inputs.zip": "capsules/1dd11305ca94db29cf24fef46394fea8660f9dd6587c6cbfb904d07218bc6adb.zip", + "cargo/footer-clippy-1/process.json": "cargo/footer-clippy-1/process.json", + "cargo/footer-clippy-1/result.json": "cargo/footer-clippy-1/result.json", + "cargo/footer-clippy-1/started.json": "cargo/footer-clippy-1/started.json", + "cargo/footer-clippy-1/stderr.log": "cargo/footer-clippy-1/stderr.log", + "cargo/footer-clippy-1/stdout.log": "cargo/footer-clippy-1/stdout.log", + "cargo/footer-format-1/inputs.json": "capsules/9c2828bc7491c3e76989068794ecf723811c81d5be551c43d3d2318f8efa626c.json", + "cargo/footer-format-1/inputs.zip": "capsules/edc18af40132472ecd04447247241099391aada8b00c4a2f5ae5b6aa40a44e3f.zip", + "cargo/footer-format-1/process.json": "cargo/footer-format-1/process.json", + "cargo/footer-format-1/result.json": "cargo/footer-format-1/result.json", + "cargo/footer-format-1/started.json": "cargo/footer-format-1/started.json", + "cargo/footer-format-1/stderr.log": "cargo/footer-format-1/stderr.log", + "cargo/footer-format-1/stdout.log": "cargo/footer-format-1/stdout.log", + "cargo/footer-format-2/inputs.json": "capsules/b5a62817a1b5df936b9d759241bdfc4e8283901c1d4b540b9e494995e1544d8d.json", + "cargo/footer-format-2/inputs.zip": "capsules/39f290a9ed39d857c4f11064c864454736751ea0226fa8f0c45db01b0f2e5fba.zip", + "cargo/footer-format-2/process.json": "cargo/footer-format-2/process.json", + "cargo/footer-format-2/result.json": "cargo/footer-format-2/result.json", + "cargo/footer-format-2/started.json": "cargo/footer-format-2/started.json", + "cargo/footer-format-2/stderr.log": "cargo/footer-format-2/stderr.log", + "cargo/footer-format-2/stdout.log": "cargo/footer-format-2/stdout.log", + "cargo/footer-windows-build-1/inputs.json": "capsules/9c2828bc7491c3e76989068794ecf723811c81d5be551c43d3d2318f8efa626c.json", + "cargo/footer-windows-build-1/inputs.zip": "capsules/edc18af40132472ecd04447247241099391aada8b00c4a2f5ae5b6aa40a44e3f.zip", + "cargo/footer-windows-build-1/process.json": "cargo/footer-windows-build-1/process.json", + "cargo/footer-windows-build-1/result.json": "cargo/footer-windows-build-1/result.json", + "cargo/footer-windows-build-1/started.json": "cargo/footer-windows-build-1/started.json", + "cargo/footer-windows-build-1/stderr.log": "cargo/footer-windows-build-1/stderr.log", + "cargo/footer-windows-build-1/stdout.log": "cargo/footer-windows-build-1/stdout.log", + "cargo/footer-windows-build-2/inputs.json": "capsules/7528f0a9e2fa2cc86fdc5ad1d576ad923e1c4a0d6783609ac482e6257ecbe3db.json", + "cargo/footer-windows-build-2/inputs.zip": "capsules/fa3ea620a6cc7e867187557eda13edf3255ceaf5f4bf879f77b7ddfbeccb434a.zip", + "cargo/footer-windows-build-2/process.json": "cargo/footer-windows-build-2/process.json", + "cargo/footer-windows-build-2/result.json": "cargo/footer-windows-build-2/result.json", + "cargo/footer-windows-build-2/started.json": "cargo/footer-windows-build-2/started.json", + "cargo/footer-windows-build-2/stderr.log": "cargo/footer-windows-build-2/stderr.log", + "cargo/footer-windows-build-2/stdout.log": "cargo/footer-windows-build-2/stdout.log", + "cargo/footer-windows-build-3/inputs.json": "capsules/b5a62817a1b5df936b9d759241bdfc4e8283901c1d4b540b9e494995e1544d8d.json", + "cargo/footer-windows-build-3/inputs.zip": "capsules/39f290a9ed39d857c4f11064c864454736751ea0226fa8f0c45db01b0f2e5fba.zip", + "cargo/footer-windows-build-3/process.json": "cargo/footer-windows-build-3/process.json", + "cargo/footer-windows-build-3/result.json": "cargo/footer-windows-build-3/result.json", + "cargo/footer-windows-build-3/started.json": "cargo/footer-windows-build-3/started.json", + "cargo/footer-windows-build-3/stderr.log": "cargo/footer-windows-build-3/stderr.log", + "cargo/footer-windows-build-3/stdout.log": "cargo/footer-windows-build-3/stdout.log", + "cargo/lifecycle-producer-build-1/inputs.json": "capsules/62cb151211b80e28a0879f6c6f82968b72a77b97575825a38e96a74fd6fa90af.json", + "cargo/lifecycle-producer-build-1/inputs.zip": "capsules/d5127ee71b55a0a8358a6807ad7712883fea2be2b46a426dc74b263e887b8c15.zip", + "cargo/lifecycle-producer-build-1/process.json": "cargo/lifecycle-producer-build-1/process.json", + "cargo/lifecycle-producer-build-1/result.json": "cargo/lifecycle-producer-build-1/result.json", + "cargo/lifecycle-producer-build-1/started.json": "cargo/lifecycle-producer-build-1/started.json", + "cargo/lifecycle-producer-build-1/stderr.log": "cargo/lifecycle-producer-build-1/stderr.log", + "cargo/lifecycle-producer-build-1/stdout.log": "cargo/lifecycle-producer-build-1/stdout.log", + "cargo/lifecycle-producer-build-2/inputs.json": "capsules/d5f55606be372a028ee58e1b703b3504554d5de560873ec1c1e312f081881506.json", + "cargo/lifecycle-producer-build-2/inputs.zip": "capsules/1dd11305ca94db29cf24fef46394fea8660f9dd6587c6cbfb904d07218bc6adb.zip", + "cargo/lifecycle-producer-build-2/process.json": "cargo/lifecycle-producer-build-2/process.json", + "cargo/lifecycle-producer-build-2/result.json": "cargo/lifecycle-producer-build-2/result.json", + "cargo/lifecycle-producer-build-2/started.json": "cargo/lifecycle-producer-build-2/started.json", + "cargo/lifecycle-producer-build-2/stderr.log": "cargo/lifecycle-producer-build-2/stderr.log", + "cargo/lifecycle-producer-build-2/stdout.log": "cargo/lifecycle-producer-build-2/stdout.log", + "cargo/lifecycle-producer-format-1/inputs.json": "capsules/b5a62817a1b5df936b9d759241bdfc4e8283901c1d4b540b9e494995e1544d8d.json", + "cargo/lifecycle-producer-format-1/inputs.zip": "capsules/39f290a9ed39d857c4f11064c864454736751ea0226fa8f0c45db01b0f2e5fba.zip", + "cargo/lifecycle-producer-format-1/process.json": "cargo/lifecycle-producer-format-1/process.json", + "cargo/lifecycle-producer-format-1/result.json": "cargo/lifecycle-producer-format-1/result.json", + "cargo/lifecycle-producer-format-1/started.json": "cargo/lifecycle-producer-format-1/started.json", + "cargo/lifecycle-producer-format-1/stderr.log": "cargo/lifecycle-producer-format-1/stderr.log", + "cargo/lifecycle-producer-format-1/stdout.log": "cargo/lifecycle-producer-format-1/stdout.log", + "cargo/lifecycle-producer-generate-1/inputs.json": "capsules/62cb151211b80e28a0879f6c6f82968b72a77b97575825a38e96a74fd6fa90af.json", + "cargo/lifecycle-producer-generate-1/inputs.zip": "capsules/d5127ee71b55a0a8358a6807ad7712883fea2be2b46a426dc74b263e887b8c15.zip", + "cargo/lifecycle-producer-generate-1/process.json": "cargo/lifecycle-producer-generate-1/process.json", + "cargo/lifecycle-producer-generate-1/result.json": "cargo/lifecycle-producer-generate-1/result.json", + "cargo/lifecycle-producer-generate-1/started.json": "cargo/lifecycle-producer-generate-1/started.json", + "cargo/lifecycle-producer-generate-1/stderr.log": "cargo/lifecycle-producer-generate-1/stderr.log", + "cargo/lifecycle-producer-generate-1/stdout.log": "cargo/lifecycle-producer-generate-1/stdout.log", + "helpers/065a752452e297ba8a000ee69cfae3996b4e6df9b4edbe002f233a66c32e1c04.py": "helpers/065a752452e297ba8a000ee69cfae3996b4e6df9b4edbe002f233a66c32e1c04.py", + "helpers/e76c91d1871ee1064d9ec69fbf6bef18d9f004a62eeb57edb83a8dd1154f7f53.py": "helpers/e76c91d1871ee1064d9ec69fbf6bef18d9f004a62eeb57edb83a8dd1154f7f53.py", + "oracle/build-capture/build-helper.py": "oracle/build-capture/build-helper.py", + "oracle/build-capture/inputs.json": "capsules/d5f55606be372a028ee58e1b703b3504554d5de560873ec1c1e312f081881506.json", + "oracle/build-capture/inputs.zip": "capsules/1dd11305ca94db29cf24fef46394fea8660f9dd6587c6cbfb904d07218bc6adb.zip", + "oracle/build-capture/process.json": "oracle/build-capture/process.json", + "oracle/build-capture/result.json": "oracle/build-capture/result.json", + "oracle/build-capture/started.json": "oracle/build-capture/started.json", + "oracle/build-capture/stderr.log": "oracle/build-capture/stderr.log", + "oracle/build-capture/stdout.log": "oracle/build-capture/stdout.log", + "oracle/fixtures/manifest.json": "oracle/fixtures/manifest.json", + "oracle/fixtures/oa-deleted.arcadia": "oracle/fixtures/oa-deleted.arcadia", + "oracle/fixtures/oa-deleted.json": "oracle/fixtures/oa-deleted.json", + "oracle/fixtures/oa-recreate-root.snippet": "oracle/fixtures/oa-recreate-root.snippet", + "oracle/fixtures/oa-recreated.arcadia": "oracle/fixtures/oa-recreated.arcadia", + "oracle/fixtures/oa-recreated.json": "oracle/fixtures/oa-recreated.json", + "oracle/fixtures/original.arcadia": "oracle/fixtures/original.arcadia", + "oracle/fixtures/original.json": "oracle/fixtures/original.json", + "oracle/fixtures/sa-deleted.arcadia": "oracle/fixtures/sa-deleted.arcadia", + "oracle/fixtures/sa-deleted.json": "oracle/fixtures/sa-deleted.json", + "oracle/fixtures/sa-recreate-root.snippet": "oracle/fixtures/sa-recreate-root.snippet", + "oracle/fixtures/sa-recreated.arcadia": "oracle/fixtures/sa-recreated.arcadia", + "oracle/fixtures/sa-recreated.json": "oracle/fixtures/sa-recreated.json", + "oracle/oa-first-relink.identities.json": "oracle/oa-first-relink.identities.json", + "oracle/oracle-falsifiers.py": "oracle/oracle-falsifiers.py", + "oracle/producer/Cargo.toml": "oracle/producer/Cargo.toml", + "oracle/producer/README.md": "oracle/producer/README.md", + "oracle/producer/src/main.rs": "oracle/producer/src/main.rs", + "oracle/repeat-generation-a/manifest.json": "oracle/repeat-generation-a/manifest.json", + "oracle/repeat-generation-a/oa-deleted.arcadia": "oracle/repeat-generation-a/oa-deleted.arcadia", + "oracle/repeat-generation-a/oa-deleted.json": "oracle/repeat-generation-a/oa-deleted.json", + "oracle/repeat-generation-a/oa-recreate-root.snippet": "oracle/repeat-generation-a/oa-recreate-root.snippet", + "oracle/repeat-generation-a/oa-recreated.arcadia": "oracle/repeat-generation-a/oa-recreated.arcadia", + "oracle/repeat-generation-a/oa-recreated.json": "oracle/repeat-generation-a/oa-recreated.json", + "oracle/repeat-generation-a/original.arcadia": "oracle/repeat-generation-a/original.arcadia", + "oracle/repeat-generation-a/original.json": "oracle/repeat-generation-a/original.json", + "oracle/repeat-generation-a/sa-deleted.arcadia": "oracle/repeat-generation-a/sa-deleted.arcadia", + "oracle/repeat-generation-a/sa-deleted.json": "oracle/repeat-generation-a/sa-deleted.json", + "oracle/repeat-generation-a/sa-recreate-root.snippet": "oracle/repeat-generation-a/sa-recreate-root.snippet", + "oracle/repeat-generation-a/sa-recreated.arcadia": "oracle/repeat-generation-a/sa-recreated.arcadia", + "oracle/repeat-generation-a/sa-recreated.json": "oracle/repeat-generation-a/sa-recreated.json", + "oracle/repeat-generation-b/manifest.json": "oracle/repeat-generation-b/manifest.json", + "oracle/repeat-generation-b/oa-deleted.arcadia": "oracle/repeat-generation-b/oa-deleted.arcadia", + "oracle/repeat-generation-b/oa-deleted.json": "oracle/repeat-generation-b/oa-deleted.json", + "oracle/repeat-generation-b/oa-recreate-root.snippet": "oracle/repeat-generation-b/oa-recreate-root.snippet", + "oracle/repeat-generation-b/oa-recreated.arcadia": "oracle/repeat-generation-b/oa-recreated.arcadia", + "oracle/repeat-generation-b/oa-recreated.json": "oracle/repeat-generation-b/oa-recreated.json", + "oracle/repeat-generation-b/original.arcadia": "oracle/repeat-generation-b/original.arcadia", + "oracle/repeat-generation-b/original.json": "oracle/repeat-generation-b/original.json", + "oracle/repeat-generation-b/sa-deleted.arcadia": "oracle/repeat-generation-b/sa-deleted.arcadia", + "oracle/repeat-generation-b/sa-deleted.json": "oracle/repeat-generation-b/sa-deleted.json", + "oracle/repeat-generation-b/sa-recreate-root.snippet": "oracle/repeat-generation-b/sa-recreate-root.snippet", + "oracle/repeat-generation-b/sa-recreated.arcadia": "oracle/repeat-generation-b/sa-recreated.arcadia", + "oracle/repeat-generation-b/sa-recreated.json": "oracle/repeat-generation-b/sa-recreated.json", + "oracle/sa-first-relink.identities.json": "oracle/sa-first-relink.identities.json", + "oracle/specimens/oa-missing-source-id.arcadia": "oracle/specimens/oa-missing-source-id.arcadia", + "oracle/specimens/oa-missing-trace-id.arcadia": "oracle/specimens/oa-missing-trace-id.arcadia", + "oracle/specimens/oa-relink-drift-source.arcadia": "oracle/specimens/oa-relink-drift-source.arcadia", + "oracle/specimens/oa-relink-drift-trace.arcadia": "oracle/specimens/oa-relink-drift-trace.arcadia", + "oracle/specimens/oa-valid-relink-witness.arcadia": "oracle/specimens/oa-valid-relink-witness.arcadia", + "oracle/specimens/oa-wrong-recreated-id.arcadia": "oracle/specimens/oa-wrong-recreated-id.arcadia", + "oracle/specimens/oa-wrong-retained-geometry.arcadia": "oracle/specimens/oa-wrong-retained-geometry.arcadia", + "oracle/specimens/oa-wrong-retained-prose.arcadia": "oracle/specimens/oa-wrong-retained-prose.arcadia", + "oracle/specimens/sa-missing-source-id.arcadia": "oracle/specimens/sa-missing-source-id.arcadia", + "oracle/specimens/sa-missing-trace-id.arcadia": "oracle/specimens/sa-missing-trace-id.arcadia", + "oracle/specimens/sa-relink-drift-source.arcadia": "oracle/specimens/sa-relink-drift-source.arcadia", + "oracle/specimens/sa-relink-drift-trace.arcadia": "oracle/specimens/sa-relink-drift-trace.arcadia", + "oracle/specimens/sa-valid-relink-witness.arcadia": "oracle/specimens/sa-valid-relink-witness.arcadia", + "oracle/specimens/sa-wrong-recreated-id.arcadia": "oracle/specimens/sa-wrong-recreated-id.arcadia", + "oracle/specimens/sa-wrong-retained-geometry.arcadia": "oracle/specimens/sa-wrong-retained-geometry.arcadia", + "oracle/specimens/sa-wrong-retained-prose.arcadia": "oracle/specimens/sa-wrong-retained-prose.arcadia", + "oracle/started.json": "oracle/started.json", + "oracle/summary.json": "oracle/summary.json", + "oracle/trials/generation-a/result.json": "oracle/trials/generation-a/result.json", + "oracle/trials/generation-a/stderr.log": "oracle/trials/generation-a/stderr.log", + "oracle/trials/generation-a/stdout.log": "oracle/trials/generation-a/stdout.log", + "oracle/trials/generation-b/result.json": "oracle/trials/generation-b/result.json", + "oracle/trials/generation-b/stderr.log": "oracle/trials/generation-b/stderr.log", + "oracle/trials/generation-b/stdout.log": "oracle/trials/generation-b/stdout.log", + "oracle/trials/generation-refuses-overwrite/result.json": "oracle/trials/generation-refuses-overwrite/result.json", + "oracle/trials/generation-refuses-overwrite/stderr.log": "oracle/trials/generation-refuses-overwrite/stderr.log", + "oracle/trials/generation-refuses-overwrite/stdout.log": "oracle/trials/generation-refuses-overwrite/stdout.log", + "oracle/trials/oa-deleted-accepted/result.json": "oracle/trials/oa-deleted-accepted/result.json", + "oracle/trials/oa-deleted-accepted/stderr.log": "oracle/trials/oa-deleted-accepted/stderr.log", + "oracle/trials/oa-deleted-accepted/stdout.log": "oracle/trials/oa-deleted-accepted/stdout.log", + "oracle/trials/oa-first-relink-accepted/result.json": "oracle/trials/oa-first-relink-accepted/result.json", + "oracle/trials/oa-first-relink-accepted/stderr.log": "oracle/trials/oa-first-relink-accepted/stderr.log", + "oracle/trials/oa-first-relink-accepted/stdout.log": "oracle/trials/oa-first-relink-accepted/stdout.log", + "oracle/trials/oa-first-relink-accepted/written-identities.json": "oracle/trials/oa-first-relink-accepted/written-identities.json", + "oracle/trials/oa-first-relink-reject-missing-trace-id/result.json": "oracle/trials/oa-first-relink-reject-missing-trace-id/result.json", + "oracle/trials/oa-first-relink-reject-missing-trace-id/stderr.log": "oracle/trials/oa-first-relink-reject-missing-trace-id/stderr.log", + "oracle/trials/oa-first-relink-reject-missing-trace-id/stdout.log": "oracle/trials/oa-first-relink-reject-missing-trace-id/stdout.log", + "oracle/trials/oa-noop-accepted/result.json": "oracle/trials/oa-noop-accepted/result.json", + "oracle/trials/oa-noop-accepted/stderr.log": "oracle/trials/oa-noop-accepted/stderr.log", + "oracle/trials/oa-noop-accepted/stdout.log": "oracle/trials/oa-noop-accepted/stdout.log", + "oracle/trials/oa-noop-reject-no-receipt/result.json": "oracle/trials/oa-noop-reject-no-receipt/result.json", + "oracle/trials/oa-noop-reject-no-receipt/stderr.log": "oracle/trials/oa-noop-reject-no-receipt/stderr.log", + "oracle/trials/oa-noop-reject-no-receipt/stdout.log": "oracle/trials/oa-noop-reject-no-receipt/stdout.log", + "oracle/trials/oa-noop-reject-source-drift/result.json": "oracle/trials/oa-noop-reject-source-drift/result.json", + "oracle/trials/oa-noop-reject-source-drift/stderr.log": "oracle/trials/oa-noop-reject-source-drift/stderr.log", + "oracle/trials/oa-noop-reject-source-drift/stdout.log": "oracle/trials/oa-noop-reject-source-drift/stdout.log", + "oracle/trials/oa-noop-reject-trace-drift/result.json": "oracle/trials/oa-noop-reject-trace-drift/result.json", + "oracle/trials/oa-noop-reject-trace-drift/stderr.log": "oracle/trials/oa-noop-reject-trace-drift/stderr.log", + "oracle/trials/oa-noop-reject-trace-drift/stdout.log": "oracle/trials/oa-noop-reject-trace-drift/stdout.log", + "oracle/trials/oa-recreated-accepted/result.json": "oracle/trials/oa-recreated-accepted/result.json", + "oracle/trials/oa-recreated-accepted/stderr.log": "oracle/trials/oa-recreated-accepted/stderr.log", + "oracle/trials/oa-recreated-accepted/stdout.log": "oracle/trials/oa-recreated-accepted/stdout.log", + "oracle/trials/oa-reject-missing-source-id/result.json": "oracle/trials/oa-reject-missing-source-id/result.json", + "oracle/trials/oa-reject-missing-source-id/stderr.log": "oracle/trials/oa-reject-missing-source-id/stderr.log", + "oracle/trials/oa-reject-missing-source-id/stdout.log": "oracle/trials/oa-reject-missing-source-id/stdout.log", + "oracle/trials/oa-reject-receipt-overwrite/result.json": "oracle/trials/oa-reject-receipt-overwrite/result.json", + "oracle/trials/oa-reject-receipt-overwrite/stderr.log": "oracle/trials/oa-reject-receipt-overwrite/stderr.log", + "oracle/trials/oa-reject-receipt-overwrite/stdout.log": "oracle/trials/oa-reject-receipt-overwrite/stdout.log", + "oracle/trials/oa-reject-recreated-id/result.json": "oracle/trials/oa-reject-recreated-id/result.json", + "oracle/trials/oa-reject-recreated-id/stderr.log": "oracle/trials/oa-reject-recreated-id/stderr.log", + "oracle/trials/oa-reject-recreated-id/stdout.log": "oracle/trials/oa-reject-recreated-id/stdout.log", + "oracle/trials/oa-reject-retained-geometry/result.json": "oracle/trials/oa-reject-retained-geometry/result.json", + "oracle/trials/oa-reject-retained-geometry/stderr.log": "oracle/trials/oa-reject-retained-geometry/stderr.log", + "oracle/trials/oa-reject-retained-geometry/stdout.log": "oracle/trials/oa-reject-retained-geometry/stdout.log", + "oracle/trials/oa-reject-retained-prose/result.json": "oracle/trials/oa-reject-retained-prose/result.json", + "oracle/trials/oa-reject-retained-prose/stderr.log": "oracle/trials/oa-reject-retained-prose/stderr.log", + "oracle/trials/oa-reject-retained-prose/stdout.log": "oracle/trials/oa-reject-retained-prose/stdout.log", + "oracle/trials/oa-reopen-reject-missing-trace-id/result.json": "oracle/trials/oa-reopen-reject-missing-trace-id/result.json", + "oracle/trials/oa-reopen-reject-missing-trace-id/stderr.log": "oracle/trials/oa-reopen-reject-missing-trace-id/stderr.log", + "oracle/trials/oa-reopen-reject-missing-trace-id/stdout.log": "oracle/trials/oa-reopen-reject-missing-trace-id/stdout.log", + "oracle/trials/oa-reopened-accepted/result.json": "oracle/trials/oa-reopened-accepted/result.json", + "oracle/trials/oa-reopened-accepted/stderr.log": "oracle/trials/oa-reopened-accepted/stderr.log", + "oracle/trials/oa-reopened-accepted/stdout.log": "oracle/trials/oa-reopened-accepted/stdout.log", + "oracle/trials/oa-reopened-reject-no-receipt/result.json": "oracle/trials/oa-reopened-reject-no-receipt/result.json", + "oracle/trials/oa-reopened-reject-no-receipt/stderr.log": "oracle/trials/oa-reopened-reject-no-receipt/stderr.log", + "oracle/trials/oa-reopened-reject-no-receipt/stdout.log": "oracle/trials/oa-reopened-reject-no-receipt/stdout.log", + "oracle/trials/oa-reopened-reject-source-drift/result.json": "oracle/trials/oa-reopened-reject-source-drift/result.json", + "oracle/trials/oa-reopened-reject-source-drift/stderr.log": "oracle/trials/oa-reopened-reject-source-drift/stderr.log", + "oracle/trials/oa-reopened-reject-source-drift/stdout.log": "oracle/trials/oa-reopened-reject-source-drift/stdout.log", + "oracle/trials/oa-reopened-reject-trace-drift/result.json": "oracle/trials/oa-reopened-reject-trace-drift/result.json", + "oracle/trials/oa-reopened-reject-trace-drift/stderr.log": "oracle/trials/oa-reopened-reject-trace-drift/stderr.log", + "oracle/trials/oa-reopened-reject-trace-drift/stdout.log": "oracle/trials/oa-reopened-reject-trace-drift/stdout.log", + "oracle/trials/original-accepted/result.json": "oracle/trials/original-accepted/result.json", + "oracle/trials/original-accepted/stderr.log": "oracle/trials/original-accepted/stderr.log", + "oracle/trials/original-accepted/stdout.log": "oracle/trials/original-accepted/stdout.log", + "oracle/trials/sa-deleted-accepted/result.json": "oracle/trials/sa-deleted-accepted/result.json", + "oracle/trials/sa-deleted-accepted/stderr.log": "oracle/trials/sa-deleted-accepted/stderr.log", + "oracle/trials/sa-deleted-accepted/stdout.log": "oracle/trials/sa-deleted-accepted/stdout.log", + "oracle/trials/sa-first-relink-accepted/result.json": "oracle/trials/sa-first-relink-accepted/result.json", + "oracle/trials/sa-first-relink-accepted/stderr.log": "oracle/trials/sa-first-relink-accepted/stderr.log", + "oracle/trials/sa-first-relink-accepted/stdout.log": "oracle/trials/sa-first-relink-accepted/stdout.log", + "oracle/trials/sa-first-relink-accepted/written-identities.json": "oracle/trials/sa-first-relink-accepted/written-identities.json", + "oracle/trials/sa-first-relink-reject-missing-trace-id/result.json": "oracle/trials/sa-first-relink-reject-missing-trace-id/result.json", + "oracle/trials/sa-first-relink-reject-missing-trace-id/stderr.log": "oracle/trials/sa-first-relink-reject-missing-trace-id/stderr.log", + "oracle/trials/sa-first-relink-reject-missing-trace-id/stdout.log": "oracle/trials/sa-first-relink-reject-missing-trace-id/stdout.log", + "oracle/trials/sa-noop-accepted/result.json": "oracle/trials/sa-noop-accepted/result.json", + "oracle/trials/sa-noop-accepted/stderr.log": "oracle/trials/sa-noop-accepted/stderr.log", + "oracle/trials/sa-noop-accepted/stdout.log": "oracle/trials/sa-noop-accepted/stdout.log", + "oracle/trials/sa-noop-reject-no-receipt/result.json": "oracle/trials/sa-noop-reject-no-receipt/result.json", + "oracle/trials/sa-noop-reject-no-receipt/stderr.log": "oracle/trials/sa-noop-reject-no-receipt/stderr.log", + "oracle/trials/sa-noop-reject-no-receipt/stdout.log": "oracle/trials/sa-noop-reject-no-receipt/stdout.log", + "oracle/trials/sa-noop-reject-source-drift/result.json": "oracle/trials/sa-noop-reject-source-drift/result.json", + "oracle/trials/sa-noop-reject-source-drift/stderr.log": "oracle/trials/sa-noop-reject-source-drift/stderr.log", + "oracle/trials/sa-noop-reject-source-drift/stdout.log": "oracle/trials/sa-noop-reject-source-drift/stdout.log", + "oracle/trials/sa-noop-reject-trace-drift/result.json": "oracle/trials/sa-noop-reject-trace-drift/result.json", + "oracle/trials/sa-noop-reject-trace-drift/stderr.log": "oracle/trials/sa-noop-reject-trace-drift/stderr.log", + "oracle/trials/sa-noop-reject-trace-drift/stdout.log": "oracle/trials/sa-noop-reject-trace-drift/stdout.log", + "oracle/trials/sa-recreated-accepted/result.json": "oracle/trials/sa-recreated-accepted/result.json", + "oracle/trials/sa-recreated-accepted/stderr.log": "oracle/trials/sa-recreated-accepted/stderr.log", + "oracle/trials/sa-recreated-accepted/stdout.log": "oracle/trials/sa-recreated-accepted/stdout.log", + "oracle/trials/sa-reject-missing-source-id/result.json": "oracle/trials/sa-reject-missing-source-id/result.json", + "oracle/trials/sa-reject-missing-source-id/stderr.log": "oracle/trials/sa-reject-missing-source-id/stderr.log", + "oracle/trials/sa-reject-missing-source-id/stdout.log": "oracle/trials/sa-reject-missing-source-id/stdout.log", + "oracle/trials/sa-reject-receipt-overwrite/result.json": "oracle/trials/sa-reject-receipt-overwrite/result.json", + "oracle/trials/sa-reject-receipt-overwrite/stderr.log": "oracle/trials/sa-reject-receipt-overwrite/stderr.log", + "oracle/trials/sa-reject-receipt-overwrite/stdout.log": "oracle/trials/sa-reject-receipt-overwrite/stdout.log", + "oracle/trials/sa-reject-recreated-id/result.json": "oracle/trials/sa-reject-recreated-id/result.json", + "oracle/trials/sa-reject-recreated-id/stderr.log": "oracle/trials/sa-reject-recreated-id/stderr.log", + "oracle/trials/sa-reject-recreated-id/stdout.log": "oracle/trials/sa-reject-recreated-id/stdout.log", + "oracle/trials/sa-reject-retained-geometry/result.json": "oracle/trials/sa-reject-retained-geometry/result.json", + "oracle/trials/sa-reject-retained-geometry/stderr.log": "oracle/trials/sa-reject-retained-geometry/stderr.log", + "oracle/trials/sa-reject-retained-geometry/stdout.log": "oracle/trials/sa-reject-retained-geometry/stdout.log", + "oracle/trials/sa-reject-retained-prose/result.json": "oracle/trials/sa-reject-retained-prose/result.json", + "oracle/trials/sa-reject-retained-prose/stderr.log": "oracle/trials/sa-reject-retained-prose/stderr.log", + "oracle/trials/sa-reject-retained-prose/stdout.log": "oracle/trials/sa-reject-retained-prose/stdout.log", + "oracle/trials/sa-reopen-reject-missing-trace-id/result.json": "oracle/trials/sa-reopen-reject-missing-trace-id/result.json", + "oracle/trials/sa-reopen-reject-missing-trace-id/stderr.log": "oracle/trials/sa-reopen-reject-missing-trace-id/stderr.log", + "oracle/trials/sa-reopen-reject-missing-trace-id/stdout.log": "oracle/trials/sa-reopen-reject-missing-trace-id/stdout.log", + "oracle/trials/sa-reopened-accepted/result.json": "oracle/trials/sa-reopened-accepted/result.json", + "oracle/trials/sa-reopened-accepted/stderr.log": "oracle/trials/sa-reopened-accepted/stderr.log", + "oracle/trials/sa-reopened-accepted/stdout.log": "oracle/trials/sa-reopened-accepted/stdout.log", + "oracle/trials/sa-reopened-reject-no-receipt/result.json": "oracle/trials/sa-reopened-reject-no-receipt/result.json", + "oracle/trials/sa-reopened-reject-no-receipt/stderr.log": "oracle/trials/sa-reopened-reject-no-receipt/stderr.log", + "oracle/trials/sa-reopened-reject-no-receipt/stdout.log": "oracle/trials/sa-reopened-reject-no-receipt/stdout.log", + "oracle/trials/sa-reopened-reject-source-drift/result.json": "oracle/trials/sa-reopened-reject-source-drift/result.json", + "oracle/trials/sa-reopened-reject-source-drift/stderr.log": "oracle/trials/sa-reopened-reject-source-drift/stderr.log", + "oracle/trials/sa-reopened-reject-source-drift/stdout.log": "oracle/trials/sa-reopened-reject-source-drift/stdout.log", + "oracle/trials/sa-reopened-reject-trace-drift/result.json": "oracle/trials/sa-reopened-reject-trace-drift/result.json", + "oracle/trials/sa-reopened-reject-trace-drift/stderr.log": "oracle/trials/sa-reopened-reject-trace-drift/stderr.log", + "oracle/trials/sa-reopened-reject-trace-drift/stdout.log": "oracle/trials/sa-reopened-reject-trace-drift/stdout.log" + }, + "members": { + "capsules/1dd11305ca94db29cf24fef46394fea8660f9dd6587c6cbfb904d07218bc6adb.zip": { + "bytes": 2860427, + "sha256": "1dd11305ca94db29cf24fef46394fea8660f9dd6587c6cbfb904d07218bc6adb" + }, + "capsules/39f290a9ed39d857c4f11064c864454736751ea0226fa8f0c45db01b0f2e5fba.zip": { + "bytes": 2860426, + "sha256": "39f290a9ed39d857c4f11064c864454736751ea0226fa8f0c45db01b0f2e5fba" + }, + "capsules/62cb151211b80e28a0879f6c6f82968b72a77b97575825a38e96a74fd6fa90af.json": { + "bytes": 119887, + "sha256": "62cb151211b80e28a0879f6c6f82968b72a77b97575825a38e96a74fd6fa90af" + }, + "capsules/7528f0a9e2fa2cc86fdc5ad1d576ad923e1c4a0d6783609ac482e6257ecbe3db.json": { + "bytes": 118907, + "sha256": "7528f0a9e2fa2cc86fdc5ad1d576ad923e1c4a0d6783609ac482e6257ecbe3db" + }, + "capsules/9c2828bc7491c3e76989068794ecf723811c81d5be551c43d3d2318f8efa626c.json": { + "bytes": 118907, + "sha256": "9c2828bc7491c3e76989068794ecf723811c81d5be551c43d3d2318f8efa626c" + }, + "capsules/b5a62817a1b5df936b9d759241bdfc4e8283901c1d4b540b9e494995e1544d8d.json": { + "bytes": 119887, + "sha256": "b5a62817a1b5df936b9d759241bdfc4e8283901c1d4b540b9e494995e1544d8d" + }, + "capsules/d5127ee71b55a0a8358a6807ad7712883fea2be2b46a426dc74b263e887b8c15.zip": { + "bytes": 2859945, + "sha256": "d5127ee71b55a0a8358a6807ad7712883fea2be2b46a426dc74b263e887b8c15" + }, + "capsules/d5f55606be372a028ee58e1b703b3504554d5de560873ec1c1e312f081881506.json": { + "bytes": 119887, + "sha256": "d5f55606be372a028ee58e1b703b3504554d5de560873ec1c1e312f081881506" + }, + "capsules/edc18af40132472ecd04447247241099391aada8b00c4a2f5ae5b6aa40a44e3f.zip": { + "bytes": 2844012, + "sha256": "edc18af40132472ecd04447247241099391aada8b00c4a2f5ae5b6aa40a44e3f" + }, + "capsules/fa3ea620a6cc7e867187557eda13edf3255ceaf5f4bf879f77b7ddfbeccb434a.zip": { + "bytes": 2844012, + "sha256": "fa3ea620a6cc7e867187557eda13edf3255ceaf5f4bf879f77b7ddfbeccb434a" + }, + "cargo/footer-clippy-1/process.json": { + "bytes": 174, + "sha256": "0bcae41c1682d2c7c15ff12a53d5bfe2be6cbdde76c5d6f2fc8e054b37fda2fd" + }, + "cargo/footer-clippy-1/result.json": { + "bytes": 1786, + "sha256": "1b27b55c902d594b361faf46d187e85288991325618f320ff288a5e975cefe65" + }, + "cargo/footer-clippy-1/started.json": { + "bytes": 1395, + "sha256": "3f0583b0d923d660bc9a79d122af47819278e2a3985d48e3d3766f39b297d431" + }, + "cargo/footer-clippy-1/stderr.log": { + "bytes": 136, + "sha256": "cd55c70ff5f531fdcb39a505c3ee9a68b9414297b7aa0509857891b870fb3359" + }, + "cargo/footer-clippy-1/stdout.log": { + "bytes": 0, + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "cargo/footer-format-1/process.json": { + "bytes": 116, + "sha256": "c5be2bc6aaaa676eeaebfb3f642ac86422c1bd4c30f162d403ccc26b45c29c6a" + }, + "cargo/footer-format-1/result.json": { + "bytes": 1684, + "sha256": "b2df912bff551823e940fb0402b2f45fc37a8e0e3611546808dea261fa594ba0" + }, + "cargo/footer-format-1/started.json": { + "bytes": 1297, + "sha256": "d8c75a299cf38efe3aab174655d594a70773a19918f8af84d81f32f636465922" + }, + "cargo/footer-format-1/stderr.log": { + "bytes": 0, + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "cargo/footer-format-1/stdout.log": { + "bytes": 0, + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "cargo/footer-format-2/process.json": { + "bytes": 116, + "sha256": "4ae125b4255dc15eef2e7cfb392751f3352a003c4895b30c75691409e0893288" + }, + "cargo/footer-format-2/result.json": { + "bytes": 1706, + "sha256": "516e613e0f2e9d0d13cb8be9ab5acc93e5604accc24e8b682c057c075f27d3f4" + }, + "cargo/footer-format-2/started.json": { + "bytes": 1317, + "sha256": "912490832bee57ee469f92a64c77b356e96cc39171b668211a2cbeca60a18754" + }, + "cargo/footer-format-2/stderr.log": { + "bytes": 0, + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "cargo/footer-format-2/stdout.log": { + "bytes": 0, + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "cargo/footer-windows-build-1/process.json": { + "bytes": 137, + "sha256": "5f83fc72fdf6a72d61ed3b7d450952658fc1cafb74caf71509e766eb5b373e21" + }, + "cargo/footer-windows-build-1/result.json": { + "bytes": 1713, + "sha256": "dcccfe2028e8e5f94f2ab9e1e94851afffd3c73f94a5b614b85c3801ff19ba7f" + }, + "cargo/footer-windows-build-1/started.json": { + "bytes": 1323, + "sha256": "03f7ac66de358258fc5eabf1abb95476889afe35a36af447f04985fdd95a1054" + }, + "cargo/footer-windows-build-1/stderr.log": { + "bytes": 583, + "sha256": "6de79409419d486d5be845f9e0246bded7fb564ff6d979333d13b0e1251420bb" + }, + "cargo/footer-windows-build-1/stdout.log": { + "bytes": 0, + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "cargo/footer-windows-build-2/process.json": { + "bytes": 182, + "sha256": "74096679892eb1def21b4a666e3e9c8ecde469aa0e8bba063c4dcc45d0088c70" + }, + "cargo/footer-windows-build-2/result.json": { + "bytes": 3059, + "sha256": "87e7ade61e4d408d6cd209d4fbd6f8855405e98dddc58a0e6f6de13a2bd6fe66" + }, + "cargo/footer-windows-build-2/started.json": { + "bytes": 1372, + "sha256": "72ffec6f314ab530b0a6fa01df1ccb304a72c469b253ac76877e50879bf643c6" + }, + "cargo/footer-windows-build-2/stderr.log": { + "bytes": 136, + "sha256": "304751d183fac701b490778966c34ea580c8021f7ab58765b8a989498bd52398" + }, + "cargo/footer-windows-build-2/stdout.log": { + "bytes": 284162, + "sha256": "0577201ded0e96346e9d4870d598c52fdeab4123b7d4b4a8208616d313bb2732" + }, + "cargo/footer-windows-build-3/process.json": { + "bytes": 181, + "sha256": "8355981698099b349ead315f0b3bc214856127cf002f572ac1b11221cf767ffb" + }, + "cargo/footer-windows-build-3/result.json": { + "bytes": 3072, + "sha256": "37df114ce3f9e6a07cbd0de335999c61fc283829d660f2d8efc333f0299f3392" + }, + "cargo/footer-windows-build-3/started.json": { + "bytes": 1392, + "sha256": "04eb380f9af58e6c31da25b8b1bb6f698e8e26374f40e587b315b56000e73842" + }, + "cargo/footer-windows-build-3/stderr.log": { + "bytes": 136, + "sha256": "4481813c129973be063f0e5bf5d015b309a7ac1fc43309cd8e12aa0b0669421f" + }, + "cargo/footer-windows-build-3/stdout.log": { + "bytes": 284162, + "sha256": "49c3987e4b76993142b02d72aba2c46a0fcb52361be987723584333584c3168f" + }, + "cargo/lifecycle-producer-build-1/process.json": { + "bytes": 260, + "sha256": "f0356badb82a1375773280f2a1a78512596ecd8fd07b93add70318b46c6f0de1" + }, + "cargo/lifecycle-producer-build-1/result.json": { + "bytes": 3372, + "sha256": "36945868762b560eb29b1af8431fe0185bd4974fb1b8a614ef3fbd9adc36e733" + }, + "cargo/lifecycle-producer-build-1/started.json": { + "bytes": 1471, + "sha256": "280b5eed6a3990dfbea53ba86c3f99e54e9748d559b91d4edcdd49e5a95267f8" + }, + "cargo/lifecycle-producer-build-1/stderr.log": { + "bytes": 1133, + "sha256": "b6aa11538dae496ece7192d71c59c6f4a25de45799a029c3a295686bfdd4c527" + }, + "cargo/lifecycle-producer-build-1/stdout.log": { + "bytes": 41896, + "sha256": "0c9cae0825db2ef287e69e9a8cf3cd4bbc7682cb39e14e4c660ad97fc35b8511" + }, + "cargo/lifecycle-producer-build-2/process.json": { + "bytes": 260, + "sha256": "992207f148a7b29b13fd0f3fbc24365d6402507f71a150d1cacb7e48b0074287" + }, + "cargo/lifecycle-producer-build-2/result.json": { + "bytes": 3371, + "sha256": "9b971f9e0aa18a6b631d9b3f9f04b41294b2ce89fbe1d2c3e6a7145773e3aa1f" + }, + "cargo/lifecycle-producer-build-2/started.json": { + "bytes": 1471, + "sha256": "02af43618e3d055c99e8898c564273ba2c773dc18e72c8df4d85efc55ffb8416" + }, + "cargo/lifecycle-producer-build-2/stderr.log": { + "bytes": 212, + "sha256": "6003e8c8bfa0067cadc27dfa3258eebee0274d5ae0ef573d7ceb082f297ba1ff" + }, + "cargo/lifecycle-producer-build-2/stdout.log": { + "bytes": 41857, + "sha256": "4eed940750d8d95a3134b538c12136ec49f49f87ed9a4d4d2f2412d4051ae090" + }, + "cargo/lifecycle-producer-format-1/process.json": { + "bytes": 206, + "sha256": "dd4b08283665d51df312e750d7bffc33923c04dc80cb3dae0955e64765b8003e" + }, + "cargo/lifecycle-producer-format-1/result.json": { + "bytes": 1801, + "sha256": "5b90930cde47615c395219fa65eddf41f6ec3380653edab50324c8b8707491aa" + }, + "cargo/lifecycle-producer-format-1/started.json": { + "bytes": 1412, + "sha256": "db5562f8b9192f8de471e9bb17a309279c14a929b6994c43caf9c7f4b4fa2cb9" + }, + "cargo/lifecycle-producer-format-1/stderr.log": { + "bytes": 0, + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "cargo/lifecycle-producer-format-1/stdout.log": { + "bytes": 0, + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "cargo/lifecycle-producer-generate-1/process.json": { + "bytes": 278, + "sha256": "76cde46ae9bfdd95027a55cc018389a05003341f4b540d35d4a0137714e4fb98" + }, + "cargo/lifecycle-producer-generate-1/result.json": { + "bytes": 1891, + "sha256": "dd37177dc8104f885c09c7bd0393041e5ef184d8a6dbf82bd41b3e13d3f929d3" + }, + "cargo/lifecycle-producer-generate-1/started.json": { + "bytes": 1499, + "sha256": "46fa629a051a21ca6eadcdda289ca4922c23790cf529c80ee2e9a1952665da5c" + }, + "cargo/lifecycle-producer-generate-1/stderr.log": { + "bytes": 242, + "sha256": "d11ea9937ef903d8e66cb974a8fa9fdab2a689026f28d310698aa0be7a971af2" + }, + "cargo/lifecycle-producer-generate-1/stdout.log": { + "bytes": 96, + "sha256": "3ef69380ee2bc615741ee225e9c1bde12ef365576331873982ea0c83dbb6bb56" + }, + "helpers/065a752452e297ba8a000ee69cfae3996b4e6df9b4edbe002f233a66c32e1c04.py": { + "bytes": 3500, + "sha256": "065a752452e297ba8a000ee69cfae3996b4e6df9b4edbe002f233a66c32e1c04" + }, + "helpers/e76c91d1871ee1064d9ec69fbf6bef18d9f004a62eeb57edb83a8dd1154f7f53.py": { + "bytes": 3589, + "sha256": "e76c91d1871ee1064d9ec69fbf6bef18d9f004a62eeb57edb83a8dd1154f7f53" + }, + "oracle/build-capture/build-helper.py": { + "bytes": 3589, + "sha256": "e76c91d1871ee1064d9ec69fbf6bef18d9f004a62eeb57edb83a8dd1154f7f53" + }, + "oracle/build-capture/process.json": { + "bytes": 260, + "sha256": "992207f148a7b29b13fd0f3fbc24365d6402507f71a150d1cacb7e48b0074287" + }, + "oracle/build-capture/result.json": { + "bytes": 3371, + "sha256": "9b971f9e0aa18a6b631d9b3f9f04b41294b2ce89fbe1d2c3e6a7145773e3aa1f" + }, + "oracle/build-capture/started.json": { + "bytes": 1471, + "sha256": "02af43618e3d055c99e8898c564273ba2c773dc18e72c8df4d85efc55ffb8416" + }, + "oracle/build-capture/stderr.log": { + "bytes": 212, + "sha256": "6003e8c8bfa0067cadc27dfa3258eebee0274d5ae0ef573d7ceb082f297ba1ff" + }, + "oracle/build-capture/stdout.log": { + "bytes": 41857, + "sha256": "4eed940750d8d95a3134b538c12136ec49f49f87ed9a4d4d2f2412d4051ae090" + }, + "oracle/fixtures/manifest.json": { + "bytes": 2894, + "sha256": "c3b41283dbf364fbc704851147917a7c8fc4e5780d57b8b321b45178ba6d8243" + }, + "oracle/fixtures/oa-deleted.arcadia": { + "bytes": 7523, + "sha256": "8406a76ec5f79d52b1deedfa808f58ff418e0d7b5157353eb5f2d7418cd980b7" + }, + "oracle/fixtures/oa-deleted.json": { + "bytes": 14594, + "sha256": "8fb1d41f0cd39dd2ad26cd96c238c16f941c7abcf8b82134440bffae893391ed" + }, + "oracle/fixtures/oa-recreate-root.snippet": { + "bytes": 199, + "sha256": "42fcf55877da827a550eb3c503e41eccbd275011d68a2c14beef04e7b90ef026" + }, + "oracle/fixtures/oa-recreated.arcadia": { + "bytes": 7723, + "sha256": "66fdf50009a82e8880dd52666d05b29038a3817038a87430afd188ded8aa49d7" + }, + "oracle/fixtures/oa-recreated.json": { + "bytes": 14937, + "sha256": "836537f038d8e37cbb6b72099dec6f37aadee404e4654a60eaf8d7ed2e26f7b6" + }, + "oracle/fixtures/original.arcadia": { + "bytes": 13007, + "sha256": "4aa93f1dbba621e75aeb5ab6187f05bdb6b45ffc2b0ed083ba12599a5470b0d9" + }, + "oracle/fixtures/original.json": { + "bytes": 22869, + "sha256": "0d3da35b5f5fc17a0f82f53acc871acf02bb8cc1d3b41fb26e0669f4a26ec52f" + }, + "oracle/fixtures/sa-deleted.arcadia": { + "bytes": 6839, + "sha256": "b7d74d6aac955bcb90befda79994f959973528463331e17d096d9304ac1beff4" + }, + "oracle/fixtures/sa-deleted.json": { + "bytes": 13154, + "sha256": "4f9b7fb4f65ec64bf5e6d1581271a80200f634e24c98bc84baf465956d1940c8" + }, + "oracle/fixtures/sa-recreate-root.snippet": { + "bytes": 204, + "sha256": "fd62e1aa63ba2f3fa7d2a3ad8e684e6aa50eb4af8d6c65a600cf8c60c5d8cdb9" + }, + "oracle/fixtures/sa-recreated.arcadia": { + "bytes": 7044, + "sha256": "a2653b8c3207b68ddbcedee6e393a7825e6ce4cd05bba30abba479fda492d244" + }, + "oracle/fixtures/sa-recreated.json": { + "bytes": 13502, + "sha256": "c6cd0cd73a8ffd2d56051121d4850ee799571cb206ec2cc8992ad18e31fbe3e6" + }, + "oracle/oa-first-relink.identities.json": { + "bytes": 105, + "sha256": "d59600734ca0f3b59f9c6dab7fe701312c5887734cbe33d3a568cf1c3c79c50b" + }, + "oracle/oracle-falsifiers.py": { + "bytes": 13751, + "sha256": "f977dfcb14a352022bd436052ba50f5c146177c932966acafc23d1e0858a7713" + }, + "oracle/producer/Cargo.toml": { + "bytes": 243, + "sha256": "44b2b721c10b17ceb9859bb92d0edb4adefcc4c77ece140cac4202eab290e0ca" + }, + "oracle/producer/README.md": { + "bytes": 9740, + "sha256": "92988122ad2169d6b0d70fd5409dd901b73084d9a22d27ccd8f307c1f8c44d8e" + }, + "oracle/producer/src/main.rs": { + "bytes": 31930, + "sha256": "f935627c80455c8cce989b0b75eb58d4da381da1f905e31fd0322d956ec72ce7" + }, + "oracle/repeat-generation-a/manifest.json": { + "bytes": 2894, + "sha256": "c3b41283dbf364fbc704851147917a7c8fc4e5780d57b8b321b45178ba6d8243" + }, + "oracle/repeat-generation-a/oa-deleted.arcadia": { + "bytes": 7523, + "sha256": "8406a76ec5f79d52b1deedfa808f58ff418e0d7b5157353eb5f2d7418cd980b7" + }, + "oracle/repeat-generation-a/oa-deleted.json": { + "bytes": 14594, + "sha256": "8fb1d41f0cd39dd2ad26cd96c238c16f941c7abcf8b82134440bffae893391ed" + }, + "oracle/repeat-generation-a/oa-recreate-root.snippet": { + "bytes": 199, + "sha256": "42fcf55877da827a550eb3c503e41eccbd275011d68a2c14beef04e7b90ef026" + }, + "oracle/repeat-generation-a/oa-recreated.arcadia": { + "bytes": 7723, + "sha256": "66fdf50009a82e8880dd52666d05b29038a3817038a87430afd188ded8aa49d7" + }, + "oracle/repeat-generation-a/oa-recreated.json": { + "bytes": 14937, + "sha256": "836537f038d8e37cbb6b72099dec6f37aadee404e4654a60eaf8d7ed2e26f7b6" + }, + "oracle/repeat-generation-a/original.arcadia": { + "bytes": 13007, + "sha256": "4aa93f1dbba621e75aeb5ab6187f05bdb6b45ffc2b0ed083ba12599a5470b0d9" + }, + "oracle/repeat-generation-a/original.json": { + "bytes": 22869, + "sha256": "0d3da35b5f5fc17a0f82f53acc871acf02bb8cc1d3b41fb26e0669f4a26ec52f" + }, + "oracle/repeat-generation-a/sa-deleted.arcadia": { + "bytes": 6839, + "sha256": "b7d74d6aac955bcb90befda79994f959973528463331e17d096d9304ac1beff4" + }, + "oracle/repeat-generation-a/sa-deleted.json": { + "bytes": 13154, + "sha256": "4f9b7fb4f65ec64bf5e6d1581271a80200f634e24c98bc84baf465956d1940c8" + }, + "oracle/repeat-generation-a/sa-recreate-root.snippet": { + "bytes": 204, + "sha256": "fd62e1aa63ba2f3fa7d2a3ad8e684e6aa50eb4af8d6c65a600cf8c60c5d8cdb9" + }, + "oracle/repeat-generation-a/sa-recreated.arcadia": { + "bytes": 7044, + "sha256": "a2653b8c3207b68ddbcedee6e393a7825e6ce4cd05bba30abba479fda492d244" + }, + "oracle/repeat-generation-a/sa-recreated.json": { + "bytes": 13502, + "sha256": "c6cd0cd73a8ffd2d56051121d4850ee799571cb206ec2cc8992ad18e31fbe3e6" + }, + "oracle/repeat-generation-b/manifest.json": { + "bytes": 2894, + "sha256": "c3b41283dbf364fbc704851147917a7c8fc4e5780d57b8b321b45178ba6d8243" + }, + "oracle/repeat-generation-b/oa-deleted.arcadia": { + "bytes": 7523, + "sha256": "8406a76ec5f79d52b1deedfa808f58ff418e0d7b5157353eb5f2d7418cd980b7" + }, + "oracle/repeat-generation-b/oa-deleted.json": { + "bytes": 14594, + "sha256": "8fb1d41f0cd39dd2ad26cd96c238c16f941c7abcf8b82134440bffae893391ed" + }, + "oracle/repeat-generation-b/oa-recreate-root.snippet": { + "bytes": 199, + "sha256": "42fcf55877da827a550eb3c503e41eccbd275011d68a2c14beef04e7b90ef026" + }, + "oracle/repeat-generation-b/oa-recreated.arcadia": { + "bytes": 7723, + "sha256": "66fdf50009a82e8880dd52666d05b29038a3817038a87430afd188ded8aa49d7" + }, + "oracle/repeat-generation-b/oa-recreated.json": { + "bytes": 14937, + "sha256": "836537f038d8e37cbb6b72099dec6f37aadee404e4654a60eaf8d7ed2e26f7b6" + }, + "oracle/repeat-generation-b/original.arcadia": { + "bytes": 13007, + "sha256": "4aa93f1dbba621e75aeb5ab6187f05bdb6b45ffc2b0ed083ba12599a5470b0d9" + }, + "oracle/repeat-generation-b/original.json": { + "bytes": 22869, + "sha256": "0d3da35b5f5fc17a0f82f53acc871acf02bb8cc1d3b41fb26e0669f4a26ec52f" + }, + "oracle/repeat-generation-b/sa-deleted.arcadia": { + "bytes": 6839, + "sha256": "b7d74d6aac955bcb90befda79994f959973528463331e17d096d9304ac1beff4" + }, + "oracle/repeat-generation-b/sa-deleted.json": { + "bytes": 13154, + "sha256": "4f9b7fb4f65ec64bf5e6d1581271a80200f634e24c98bc84baf465956d1940c8" + }, + "oracle/repeat-generation-b/sa-recreate-root.snippet": { + "bytes": 204, + "sha256": "fd62e1aa63ba2f3fa7d2a3ad8e684e6aa50eb4af8d6c65a600cf8c60c5d8cdb9" + }, + "oracle/repeat-generation-b/sa-recreated.arcadia": { + "bytes": 7044, + "sha256": "a2653b8c3207b68ddbcedee6e393a7825e6ce4cd05bba30abba479fda492d244" + }, + "oracle/repeat-generation-b/sa-recreated.json": { + "bytes": 13502, + "sha256": "c6cd0cd73a8ffd2d56051121d4850ee799571cb206ec2cc8992ad18e31fbe3e6" + }, + "oracle/sa-first-relink.identities.json": { + "bytes": 105, + "sha256": "b57b18fd518bf5e3e9e659aea8c409e833e3319d014286182b774b3b90512f7d" + }, + "oracle/specimens/oa-missing-source-id.arcadia": { + "bytes": 7681, + "sha256": "b28a6fcda9a88fbbb9b82ce3dc6cd9ff38ce85cb1aa2e2ddaa33fe01aca24c57" + }, + "oracle/specimens/oa-missing-trace-id.arcadia": { + "bytes": 8312, + "sha256": "de7dbf1db21ba8412e85467af1566c06e4dddbbb1e7140fe65173e6ef738813d" + }, + "oracle/specimens/oa-relink-drift-source.arcadia": { + "bytes": 8354, + "sha256": "f692405b5d9c7ed7899de82a3953f98f2e969a2910ee864575984ab17b525f61" + }, + "oracle/specimens/oa-relink-drift-trace.arcadia": { + "bytes": 8354, + "sha256": "a8b77bccdee07f0f974cd3aad4d6de0e1e4ed8a180e2d2dd6e0d3f2c88d8dbaa" + }, + "oracle/specimens/oa-valid-relink-witness.arcadia": { + "bytes": 8354, + "sha256": "d97ee1924acd423b43f8187e76546c418dfcce343365a9cea7380f83be13b72d" + }, + "oracle/specimens/oa-wrong-recreated-id.arcadia": { + "bytes": 7723, + "sha256": "6f721e6bd5a42c4d967bc0e4609c44d7cbaed20691d225ef5cd07ef3865af257" + }, + "oracle/specimens/oa-wrong-retained-geometry.arcadia": { + "bytes": 7523, + "sha256": "ff16151d27f5c7fb4e8a820d3b41286ccc3927b6f5e0dac9fdfbda846b41ee0c" + }, + "oracle/specimens/oa-wrong-retained-prose.arcadia": { + "bytes": 7531, + "sha256": "cdfdc2d56c6ce93161ef6de374fa4c99290198bfbf24548478c938620586c7c9" + }, + "oracle/specimens/sa-missing-source-id.arcadia": { + "bytes": 7002, + "sha256": "1d555a305561d6532bb085a1061c1decdd5dcb9992e3d9784a5822776b443495" + }, + "oracle/specimens/sa-missing-trace-id.arcadia": { + "bytes": 7633, + "sha256": "dd098573a770c93816522a0421a14d7e8d82cbbb09f92c0347dc1b02dae1c018" + }, + "oracle/specimens/sa-relink-drift-source.arcadia": { + "bytes": 7675, + "sha256": "35b2ad39fcd8dea23f445a86d274d744db31a650ba7c3fefc4287b476b8dff82" + }, + "oracle/specimens/sa-relink-drift-trace.arcadia": { + "bytes": 7675, + "sha256": "915e113271b6b6e3466b2cb4e98bb54b4e8839d134e0fa6121a519a7d5a0b7f1" + }, + "oracle/specimens/sa-valid-relink-witness.arcadia": { + "bytes": 7675, + "sha256": "f05856868ed6238494da2a746d84ce5a5a3d4bb404b6cd85bdcf6952a95e024e" + }, + "oracle/specimens/sa-wrong-recreated-id.arcadia": { + "bytes": 7044, + "sha256": "b2474bdee34cb3c8558ce123c2e68657df9335044a69020fdd30359b9af229d6" + }, + "oracle/specimens/sa-wrong-retained-geometry.arcadia": { + "bytes": 6839, + "sha256": "37a9205ab36de2e2efeb02f7f530e82d3fc4ed666a3bb2f96d8ee8c1b9adc4a2" + }, + "oracle/specimens/sa-wrong-retained-prose.arcadia": { + "bytes": 6847, + "sha256": "84e6877eedd2ece14967cf571d4773e276a923b42c043c6eb90a482571f8b3e9" + }, + "oracle/started.json": { + "bytes": 3978, + "sha256": "8313eb756c5da4005e750fa512a961d8f1cfa7cdf0c10201b827dd247c9137a8" + }, + "oracle/summary.json": { + "bytes": 11036, + "sha256": "4a7cad784a10cbb6d77614a09944e355b0d24b06a71b093400703f53b9ac4b2a" + }, + "oracle/trials/generation-a/result.json": { + "bytes": 1241, + "sha256": "fb084bf33c8f77de43bde65050af9c75e7ca0b0eda117760f3a963eda71c0277" + }, + "oracle/trials/generation-a/stderr.log": { + "bytes": 0, + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "oracle/trials/generation-a/stdout.log": { + "bytes": 142, + "sha256": "9d6489a097b87306f8239242081ea61d98e40c3fd20a40309d5a3e5da7106ba1" + }, + "oracle/trials/generation-b/result.json": { + "bytes": 1241, + "sha256": "3f37da528db9afd6c4ef8ba2321af32ef76bec0e742f073df2949b2a4e36d18d" + }, + "oracle/trials/generation-b/stderr.log": { + "bytes": 0, + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "oracle/trials/generation-b/stdout.log": { + "bytes": 142, + "sha256": "7dd215e275e87415f01933f5287ec27183b83498965bc5f8f4d5e34f297a563a" + }, + "oracle/trials/generation-refuses-overwrite/result.json": { + "bytes": 1274, + "sha256": "18a5c068279b662fb8725660dc508d7208ae889a986ea63c8d5de693dca1f53a" + }, + "oracle/trials/generation-refuses-overwrite/stderr.log": { + "bytes": 82, + "sha256": "1353d9d2fb08d4e8e654e5399f6b9acb9fa15a932e720bbf8f0778be3b74aa64" + }, + "oracle/trials/generation-refuses-overwrite/stdout.log": { + "bytes": 0, + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "oracle/trials/oa-deleted-accepted/result.json": { + "bytes": 1722, + "sha256": "009ecb209a87a8a9e88f479416f5d51963c92ebadc8fd770be303c7f62e12f39" + }, + "oracle/trials/oa-deleted-accepted/stderr.log": { + "bytes": 0, + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "oracle/trials/oa-deleted-accepted/stdout.log": { + "bytes": 329, + "sha256": "84fe7cd8a95f81876834d0eb574c3be7c04a6da545272b5baf5a342a4500d7e2" + }, + "oracle/trials/oa-first-relink-accepted/result.json": { + "bytes": 1909, + "sha256": "2456ecc583a3b5bc38650958f33ba6fb8b1286294ed03125c5e37f47a40e847e" + }, + "oracle/trials/oa-first-relink-accepted/stderr.log": { + "bytes": 0, + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "oracle/trials/oa-first-relink-accepted/stdout.log": { + "bytes": 556, + "sha256": "e04509bab2aa87dfdc5a32c5f36cbab6e0d9557456b6a9a1cd9231a8cc7f3955" + }, + "oracle/trials/oa-first-relink-accepted/written-identities.json": { + "bytes": 105, + "sha256": "d59600734ca0f3b59f9c6dab7fe701312c5887734cbe33d3a568cf1c3c79c50b" + }, + "oracle/trials/oa-first-relink-reject-missing-trace-id/result.json": { + "bytes": 1786, + "sha256": "3547ad52e5921077a717f0ed8850f2f30786e3e4cc476679f7f3550b678b878d" + }, + "oracle/trials/oa-first-relink-reject-missing-trace-id/stderr.log": { + "bytes": 130, + "sha256": "f06600ae4fdf5ffa11ee5b08697de3b59cec3810f9267d875601267eef9fd7c7" + }, + "oracle/trials/oa-first-relink-reject-missing-trace-id/stdout.log": { + "bytes": 0, + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "oracle/trials/oa-noop-accepted/result.json": { + "bytes": 2341, + "sha256": "41abdb39ff5c6d23a4df9fd01e6766689cab85cfc2586bbb67d3649ff43cd024" + }, + "oracle/trials/oa-noop-accepted/stderr.log": { + "bytes": 0, + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "oracle/trials/oa-noop-accepted/stdout.log": { + "bytes": 448, + "sha256": "ca8b7637a69849530f819c6e5e973d77f83ea20ec0803720eb87731f5965ce7b" + }, + "oracle/trials/oa-noop-reject-no-receipt/result.json": { + "bytes": 1784, + "sha256": "cb00ea455c8528a4033708f29571205fef19f632baae0b574e11f60e974b96f5" + }, + "oracle/trials/oa-noop-reject-no-receipt/stderr.log": { + "bytes": 90, + "sha256": "7e703f5c800e28416b3a942baec683a342be286565cbebce9431e67616e397b2" + }, + "oracle/trials/oa-noop-reject-no-receipt/stdout.log": { + "bytes": 0, + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "oracle/trials/oa-noop-reject-source-drift/result.json": { + "bytes": 2362, + "sha256": "e914284cb1ab3648b703cc0c245e3e6b44f9d08130aecf8fb8396b80d3e24345" + }, + "oracle/trials/oa-noop-reject-source-drift/stderr.log": { + "bytes": 134, + "sha256": "6c6aa989c05d0346aa45ec941af626756d635692d01709015dfd206c2934b115" + }, + "oracle/trials/oa-noop-reject-source-drift/stdout.log": { + "bytes": 0, + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "oracle/trials/oa-noop-reject-trace-drift/result.json": { + "bytes": 2360, + "sha256": "88e53b40b0075a7219bce83c276adda673b4f183dac0cbab814f2a18a0bad5ae" + }, + "oracle/trials/oa-noop-reject-trace-drift/stderr.log": { + "bytes": 71, + "sha256": "5dd2ba8905be97317dcb987f2c6da6f2497984b36c06ffa842e8e66345ead251" + }, + "oracle/trials/oa-noop-reject-trace-drift/stdout.log": { + "bytes": 0, + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "oracle/trials/oa-recreated-accepted/result.json": { + "bytes": 1732, + "sha256": "57fc7b7e1aa0917cd5c2610f9fdb1887107f57b85f9a47814a9c39120262d234" + }, + "oracle/trials/oa-recreated-accepted/stderr.log": { + "bytes": 0, + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "oracle/trials/oa-recreated-accepted/stdout.log": { + "bytes": 389, + "sha256": "5f0362c57c36282aec008d9bacd11825c4fd4263782673c0c1cac5c1dc87992a" + }, + "oracle/trials/oa-reject-missing-source-id/result.json": { + "bytes": 1778, + "sha256": "acfb2a4c315f9147b30b25dde3a963e209b27663779fed2077b6f97bcf3249fd" + }, + "oracle/trials/oa-reject-missing-source-id/stderr.log": { + "bytes": 130, + "sha256": "f06600ae4fdf5ffa11ee5b08697de3b59cec3810f9267d875601267eef9fd7c7" + }, + "oracle/trials/oa-reject-missing-source-id/stdout.log": { + "bytes": 0, + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "oracle/trials/oa-reject-receipt-overwrite/result.json": { + "bytes": 2364, + "sha256": "3a91d03f6b43a5091e0c5a3c9a11699ae46f8b3f00299c146c38dcbf2eb3364d" + }, + "oracle/trials/oa-reject-receipt-overwrite/stderr.log": { + "bytes": 37, + "sha256": "e97baa4f34c6f1d74711392762248e91a039ca161787db65e99a452435d65fe8" + }, + "oracle/trials/oa-reject-receipt-overwrite/stdout.log": { + "bytes": 0, + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "oracle/trials/oa-reject-recreated-id/result.json": { + "bytes": 1776, + "sha256": "bba4cdf8347a6f8343b08ac1db9dab2d9f72ec854862c158a5ba4a3622820045" + }, + "oracle/trials/oa-reject-recreated-id/stderr.log": { + "bytes": 134, + "sha256": "6c6aa989c05d0346aa45ec941af626756d635692d01709015dfd206c2934b115" + }, + "oracle/trials/oa-reject-recreated-id/stdout.log": { + "bytes": 0, + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "oracle/trials/oa-reject-retained-geometry/result.json": { + "bytes": 1787, + "sha256": "fddaec767ff4ff79068940f5228a9728715cb5610de77b4899184ee21556c4ca" + }, + "oracle/trials/oa-reject-retained-geometry/stderr.log": { + "bytes": 142, + "sha256": "81c2494c5e824a87bc97ddefa614211e99bfcc49576db7b917d263545f2c837d" + }, + "oracle/trials/oa-reject-retained-geometry/stdout.log": { + "bytes": 0, + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "oracle/trials/oa-reject-retained-prose/result.json": { + "bytes": 1775, + "sha256": "d2f01661952c877cf1c71dd69823a7f56a58b002a930febc0b4a732ea266c58f" + }, + "oracle/trials/oa-reject-retained-prose/stderr.log": { + "bytes": 246, + "sha256": "ac9a4e288ad4b2dbac20a52477bbc2d9bd724d792bb592df2080a0a0bf624e7b" + }, + "oracle/trials/oa-reject-retained-prose/stdout.log": { + "bytes": 0, + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "oracle/trials/oa-reopen-reject-missing-trace-id/result.json": { + "bytes": 2363, + "sha256": "d39064ee9aa0113dbf404b42d9f0ea7ebc1133b8a1dd7cfc96c89089bd1aeb48" + }, + "oracle/trials/oa-reopen-reject-missing-trace-id/stderr.log": { + "bytes": 130, + "sha256": "f06600ae4fdf5ffa11ee5b08697de3b59cec3810f9267d875601267eef9fd7c7" + }, + "oracle/trials/oa-reopen-reject-missing-trace-id/stdout.log": { + "bytes": 0, + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "oracle/trials/oa-reopened-accepted/result.json": { + "bytes": 2349, + "sha256": "9340b27cce4256d03467679399cac0283349bda07290467f1901ce72fc1fb44d" + }, + "oracle/trials/oa-reopened-accepted/stderr.log": { + "bytes": 0, + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "oracle/trials/oa-reopened-accepted/stdout.log": { + "bytes": 452, + "sha256": "8224aebf2724417968d8603c4bee2cdb85e879b0cc7d6093685cbaae242d18e7" + }, + "oracle/trials/oa-reopened-reject-no-receipt/result.json": { + "bytes": 1792, + "sha256": "f8da5eac613a0d1f776c2c3df49f961e2fd33f4a5fe4f6b174bbf90bdd5e600a" + }, + "oracle/trials/oa-reopened-reject-no-receipt/stderr.log": { + "bytes": 90, + "sha256": "7e703f5c800e28416b3a942baec683a342be286565cbebce9431e67616e397b2" + }, + "oracle/trials/oa-reopened-reject-no-receipt/stdout.log": { + "bytes": 0, + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "oracle/trials/oa-reopened-reject-source-drift/result.json": { + "bytes": 2370, + "sha256": "8f6f4dfd3ca52529986cb818e4896dc66611f2ef5435bc887db7339ec68290b7" + }, + "oracle/trials/oa-reopened-reject-source-drift/stderr.log": { + "bytes": 134, + "sha256": "6c6aa989c05d0346aa45ec941af626756d635692d01709015dfd206c2934b115" + }, + "oracle/trials/oa-reopened-reject-source-drift/stdout.log": { + "bytes": 0, + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "oracle/trials/oa-reopened-reject-trace-drift/result.json": { + "bytes": 2368, + "sha256": "7e0e09c2a148d12d7b1792352618e7def5e237a768729ddfde7b8eabdd2cbfec" + }, + "oracle/trials/oa-reopened-reject-trace-drift/stderr.log": { + "bytes": 71, + "sha256": "5dd2ba8905be97317dcb987f2c6da6f2497984b36c06ffa842e8e66345ead251" + }, + "oracle/trials/oa-reopened-reject-trace-drift/stdout.log": { + "bytes": 0, + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "oracle/trials/original-accepted/result.json": { + "bytes": 1714, + "sha256": "dcea81b8dbd1755fc5e826f413ebd813822923caa70766de54aa505c2f9b60af" + }, + "oracle/trials/original-accepted/stderr.log": { + "bytes": 0, + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "oracle/trials/original-accepted/stdout.log": { + "bytes": 325, + "sha256": "2537837cb2f9ee91324d1b938c91166b3557c8583ac1206d1afec6b6044aad8b" + }, + "oracle/trials/sa-deleted-accepted/result.json": { + "bytes": 1722, + "sha256": "885f27f636ab7ec2ad200929588d0e4e06c2b608478ec6570170c3c491933065" + }, + "oracle/trials/sa-deleted-accepted/stderr.log": { + "bytes": 0, + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "oracle/trials/sa-deleted-accepted/stdout.log": { + "bytes": 329, + "sha256": "225ed9d7975b12eecade762d799dc2538463654f0a5912aeaec3aa355ca87905" + }, + "oracle/trials/sa-first-relink-accepted/result.json": { + "bytes": 1909, + "sha256": "d0b1b1e97b81edda6ce031965a72d7d8e384a8d0a5029eba1579471956e61421" + }, + "oracle/trials/sa-first-relink-accepted/stderr.log": { + "bytes": 0, + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "oracle/trials/sa-first-relink-accepted/stdout.log": { + "bytes": 556, + "sha256": "913af4cef2e1898a8aa193f8b4059527ad4dfdfbc5c134f2da4831949e3abe74" + }, + "oracle/trials/sa-first-relink-accepted/written-identities.json": { + "bytes": 105, + "sha256": "b57b18fd518bf5e3e9e659aea8c409e833e3319d014286182b774b3b90512f7d" + }, + "oracle/trials/sa-first-relink-reject-missing-trace-id/result.json": { + "bytes": 1786, + "sha256": "228d717a55c9c44b26fa86c17e15649e5f11f7c6fb4611fbd78b934fadf1022a" + }, + "oracle/trials/sa-first-relink-reject-missing-trace-id/stderr.log": { + "bytes": 130, + "sha256": "f06600ae4fdf5ffa11ee5b08697de3b59cec3810f9267d875601267eef9fd7c7" + }, + "oracle/trials/sa-first-relink-reject-missing-trace-id/stdout.log": { + "bytes": 0, + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "oracle/trials/sa-noop-accepted/result.json": { + "bytes": 2341, + "sha256": "97a1f8539623b1c986a4db5b0de4c4105faec81cb54461481525f0ff36078510" + }, + "oracle/trials/sa-noop-accepted/stderr.log": { + "bytes": 0, + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "oracle/trials/sa-noop-accepted/stdout.log": { + "bytes": 448, + "sha256": "cde99886882d3accdc5ce48691d4d09075c76b93828649d7112466a76ca446b1" + }, + "oracle/trials/sa-noop-reject-no-receipt/result.json": { + "bytes": 1784, + "sha256": "16de90dede90b75aed7b8aefe54abca9f37e214e58b72f85cc9b02ec59deb4ff" + }, + "oracle/trials/sa-noop-reject-no-receipt/stderr.log": { + "bytes": 90, + "sha256": "7e703f5c800e28416b3a942baec683a342be286565cbebce9431e67616e397b2" + }, + "oracle/trials/sa-noop-reject-no-receipt/stdout.log": { + "bytes": 0, + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "oracle/trials/sa-noop-reject-source-drift/result.json": { + "bytes": 2362, + "sha256": "d703d96ebaeb747b7aa2c49f7cce0b27edd287551705ec68f9abb6965d632ab0" + }, + "oracle/trials/sa-noop-reject-source-drift/stderr.log": { + "bytes": 134, + "sha256": "6c6aa989c05d0346aa45ec941af626756d635692d01709015dfd206c2934b115" + }, + "oracle/trials/sa-noop-reject-source-drift/stdout.log": { + "bytes": 0, + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "oracle/trials/sa-noop-reject-trace-drift/result.json": { + "bytes": 2360, + "sha256": "a1e3d443aa88f2f57e17917e3a11b0605bdbaaa843f9e04fa3ef9395ae830541" + }, + "oracle/trials/sa-noop-reject-trace-drift/stderr.log": { + "bytes": 71, + "sha256": "5dd2ba8905be97317dcb987f2c6da6f2497984b36c06ffa842e8e66345ead251" + }, + "oracle/trials/sa-noop-reject-trace-drift/stdout.log": { + "bytes": 0, + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "oracle/trials/sa-recreated-accepted/result.json": { + "bytes": 1732, + "sha256": "8867e980377ff3b4945a4bbc8c8ed2e1bbdf98c2feda5ddd958be0024a0b9a29" + }, + "oracle/trials/sa-recreated-accepted/stderr.log": { + "bytes": 0, + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "oracle/trials/sa-recreated-accepted/stdout.log": { + "bytes": 389, + "sha256": "bb668805fb8a77c1fb12b8b88826aae2de1bfa6e52d9cafc836e491868160894" + }, + "oracle/trials/sa-reject-missing-source-id/result.json": { + "bytes": 1778, + "sha256": "e6b64bf157da156f86403099c631b9f08bd376c6a9da54ce86574a5f1aff98da" + }, + "oracle/trials/sa-reject-missing-source-id/stderr.log": { + "bytes": 130, + "sha256": "f06600ae4fdf5ffa11ee5b08697de3b59cec3810f9267d875601267eef9fd7c7" + }, + "oracle/trials/sa-reject-missing-source-id/stdout.log": { + "bytes": 0, + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "oracle/trials/sa-reject-receipt-overwrite/result.json": { + "bytes": 2364, + "sha256": "9b4456e252eeaa53254b5ee21ae731dc7784264a005db8d2e2b5510ab6b69033" + }, + "oracle/trials/sa-reject-receipt-overwrite/stderr.log": { + "bytes": 37, + "sha256": "e97baa4f34c6f1d74711392762248e91a039ca161787db65e99a452435d65fe8" + }, + "oracle/trials/sa-reject-receipt-overwrite/stdout.log": { + "bytes": 0, + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "oracle/trials/sa-reject-recreated-id/result.json": { + "bytes": 1776, + "sha256": "59dbe33624eb72626dcdc1ead3b65970848283407908fafb58d8a69f1c5e140c" + }, + "oracle/trials/sa-reject-recreated-id/stderr.log": { + "bytes": 134, + "sha256": "6c6aa989c05d0346aa45ec941af626756d635692d01709015dfd206c2934b115" + }, + "oracle/trials/sa-reject-recreated-id/stdout.log": { + "bytes": 0, + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "oracle/trials/sa-reject-retained-geometry/result.json": { + "bytes": 1787, + "sha256": "825fc7532453c19d4eb8e13cedd62cd8785e167c893ea198f154fcb7bb12317d" + }, + "oracle/trials/sa-reject-retained-geometry/stderr.log": { + "bytes": 142, + "sha256": "0a1e975eb0cc8dd7bd809a062a275dbdfff4a0d74bfb37ea652be5b817f2a4ba" + }, + "oracle/trials/sa-reject-retained-geometry/stdout.log": { + "bytes": 0, + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "oracle/trials/sa-reject-retained-prose/result.json": { + "bytes": 1775, + "sha256": "3a350bd06855147164d3bc66cf4e2a4303f0d5e3f2d86e2850bc2ced4dda15b1" + }, + "oracle/trials/sa-reject-retained-prose/stderr.log": { + "bytes": 236, + "sha256": "c6c9d447e3fc01aa4a67c8c56b58c5c292b391179eaed24bf47ba94bda4ec95b" + }, + "oracle/trials/sa-reject-retained-prose/stdout.log": { + "bytes": 0, + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "oracle/trials/sa-reopen-reject-missing-trace-id/result.json": { + "bytes": 2363, + "sha256": "e5c6a2c6d8100d1b1e67385443cf23a5354d5a6e44c6ab095f3aa67817c51fd2" + }, + "oracle/trials/sa-reopen-reject-missing-trace-id/stderr.log": { + "bytes": 130, + "sha256": "f06600ae4fdf5ffa11ee5b08697de3b59cec3810f9267d875601267eef9fd7c7" + }, + "oracle/trials/sa-reopen-reject-missing-trace-id/stdout.log": { + "bytes": 0, + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "oracle/trials/sa-reopened-accepted/result.json": { + "bytes": 2349, + "sha256": "c996ee8ef48f6ef0e7b41c613639035d60fb88f99aecd6fe2efad50a4a70c2c6" + }, + "oracle/trials/sa-reopened-accepted/stderr.log": { + "bytes": 0, + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "oracle/trials/sa-reopened-accepted/stdout.log": { + "bytes": 452, + "sha256": "dbfc5c1f5c67c0a3a7d752c8beaef40c477658042a8f0a7d1a45a880b61160ce" + }, + "oracle/trials/sa-reopened-reject-no-receipt/result.json": { + "bytes": 1792, + "sha256": "a8457c60f509482221d141e179f7f9ab841c660a35334821eb4af1ccf2eb249a" + }, + "oracle/trials/sa-reopened-reject-no-receipt/stderr.log": { + "bytes": 90, + "sha256": "7e703f5c800e28416b3a942baec683a342be286565cbebce9431e67616e397b2" + }, + "oracle/trials/sa-reopened-reject-no-receipt/stdout.log": { + "bytes": 0, + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "oracle/trials/sa-reopened-reject-source-drift/result.json": { + "bytes": 2370, + "sha256": "a9e2c0b968ba2b825d47fbd985f17d4f1b6089419175d49a84b446bd1ba81ae4" + }, + "oracle/trials/sa-reopened-reject-source-drift/stderr.log": { + "bytes": 134, + "sha256": "6c6aa989c05d0346aa45ec941af626756d635692d01709015dfd206c2934b115" + }, + "oracle/trials/sa-reopened-reject-source-drift/stdout.log": { + "bytes": 0, + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "oracle/trials/sa-reopened-reject-trace-drift/result.json": { + "bytes": 2368, + "sha256": "ecadd99c90919ed81ed23ad35424d3b88378900344e44d22dcc394ff8d96eb36" + }, + "oracle/trials/sa-reopened-reject-trace-drift/stderr.log": { + "bytes": 71, + "sha256": "5dd2ba8905be97317dcb987f2c6da6f2497984b36c06ffa842e8e66345ead251" + }, + "oracle/trials/sa-reopened-reject-trace-drift/stdout.log": { + "bytes": 0, + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + } + } +} diff --git a/harness/experiments/transition-native-lifecycle-20260913/checks/prepare.py b/harness/experiments/transition-native-lifecycle-20260913/checks/prepare.py new file mode 100644 index 00000000..4df33b48 --- /dev/null +++ b/harness/experiments/transition-native-lifecycle-20260913/checks/prepare.py @@ -0,0 +1,56 @@ +"""Repackage the explicitly closed captures; reads raw evidence, never runs Cargo.""" +from pathlib import Path +import hashlib, json, sys, zipfile + +OUT=Path(__file__).resolve().parent +ROOT=Path(sys.argv[1]).resolve() if len(sys.argv)>1 else OUT.parents[3] +GATES=ROOT/'.local/transition-gates' +ORACLE=ROOT/'.local/transition-native/oracle-falsifiers-1' +RUNS=['footer-format-1','footer-windows-build-1','footer-windows-build-2','footer-clippy-1', + 'lifecycle-producer-build-1','lifecycle-producer-generate-1','lifecycle-producer-build-2', + 'footer-windows-build-3','footer-format-2','lifecycle-producer-format-1'] +def pin(b):return {'bytes':len(b),'sha256':hashlib.sha256(b).hexdigest()} +def main(): + payload={};logical={};run_specs={} + def add(name,b): + # Deduplicate only byte-identical input manifests and source archives. + stored='capsules/'+pin(b)['sha256']+Path(name).suffix if Path(name).name in ('inputs.json','inputs.zip') else name + if stored in payload:assert payload[stored]==b + payload[stored]=b;logical[name]=stored + for run in RUNS: + result=json.loads((GATES/run/'result.json').read_bytes()) + assert 'finish' in result and result['inputsUnchanged'] is True,run + for f in sorted((GATES/run).iterdir()): + assert f.is_file(),f + add('cargo/'+run+'/'+f.name,f.read_bytes()) + helpers=[f for f in GATES.glob('*.py') if pin(f.read_bytes())==result['helper']] + assert helpers,run+' helper unavailable' + helper='helpers/'+result['helper']['sha256']+'.py' + add(helper,helpers[0].read_bytes()) + run_specs[run]={k:result[k] for k in ('command','head','exitCode','inputCount')} + run_specs[run]['helper']=helper + for f in sorted(ORACLE.rglob('*')): + if f.is_file():add('oracle/'+f.relative_to(ORACLE).as_posix(),f.read_bytes()) + summary=json.loads((ORACLE/'summary.json').read_bytes()) + assert summary['status']=='PASS' and summary['trialCount']==40 + manifest={'schema':1,'captureCheckout':'d0b7c285018a516c6dc34c196d1359a861ddaeb3', + 'cargo':run_specs,'oracleExpectedTrials':summary['trials'], + 'oracleOriginalDirectory':str(ORACLE).replace('\\','/'), + 'logicalFiles':dict(sorted(logical.items())), + 'members':{n:pin(b) for n,b in sorted(payload.items())}} + with zipfile.ZipFile(OUT/'evidence.zip','w',compression=zipfile.ZIP_DEFLATED,compresslevel=9) as z: + for name,b in sorted(payload.items()): + info=zipfile.ZipInfo(name,date_time=(2026,9,13,0,0,0));info.compress_type=zipfile.ZIP_DEFLATED + z.writestr(info,b) + (OUT/'manifest.json').write_bytes((json.dumps(manifest,indent=2)+'\n').encode()) + for name in ('README.md','verify.py','prepare.py'): + (OUT/name).write_bytes((OUT/name).read_bytes().replace(b'\r\n',b'\n')) + files={name:pin((OUT/name).read_bytes()) for name in ('evidence.zip','manifest.json','README.md','verify.py','prepare.py')} + (OUT/'files.json').write_bytes((json.dumps(files,indent=2)+'\n').encode()) + with zipfile.ZipFile(OUT/'evidence.zip') as z: + assert all(z.read(logical[n])==b for n,b in ( + [('cargo/'+r+'/'+f.name,f.read_bytes()) for r in RUNS for f in sorted((GATES/r).iterdir())]+ + [('oracle/'+f.relative_to(ORACLE).as_posix(),f.read_bytes()) for f in sorted(ORACLE.rglob('*')) if f.is_file()])) + print(json.dumps(files,indent=2)) + print('Exact raw fidelity:',len(logical),'logical files;',len(payload),'stored members') +if __name__=='__main__':main() diff --git a/harness/experiments/transition-native-lifecycle-20260913/checks/verify.py b/harness/experiments/transition-native-lifecycle-20260913/checks/verify.py new file mode 100644 index 00000000..5c5dc780 --- /dev/null +++ b/harness/experiments/transition-native-lifecycle-20260913/checks/verify.py @@ -0,0 +1,132 @@ +"""Read-only standard-library verification; no archived source/binary execution.""" +from pathlib import Path, PurePosixPath +from datetime import datetime +import hashlib, io, json, zipfile +ROOT=Path(__file__).resolve().parent +def pin(b):return {'bytes':len(b),'sha256':hashlib.sha256(b).hexdigest()} +def need(ok,msg): + if not ok:raise ValueError(msg) +def safe(n):return not PurePosixPath(n).is_absolute() and '..' not in PurePosixPath(n).parts and '\\' not in n and ':' not in n +def members(z,expected): + names=z.namelist() + need(len(names)==len(set(names)) and set(names)==set(expected),'archive membership') + need(all(safe(n) for n in names),'unsafe archive member') +def time_order(*values):return list(map(datetime.fromisoformat,values))==sorted(map(datetime.fromisoformat,values)) +def main(): + files=json.loads((ROOT/'files.json').read_bytes()) + need(set(files)=={'evidence.zip','manifest.json','README.md','verify.py','prepare.py'},'outer inventory') + for n,p in files.items():need(pin((ROOT/n).read_bytes())==p,'outer hash '+n) + m=json.loads((ROOT/'manifest.json').read_bytes()) + with zipfile.ZipFile(ROOT/'evidence.zip') as z: + members(z,m['members']) + for n,p in m['members'].items():need(pin(z.read(n))==p,'member hash '+n) + logical=m['logicalFiles'] + need(all(safe(n) for n in logical) and set(logical.values())==set(m['members']),'logical mapping') + def raw(n):return z.read(logical[n]) + def obj(n):return json.loads(raw(n)) + def directory(prefix):return {n[len(prefix):]:pin(raw(n)) for n in logical if n.startswith(prefix)} + pairs=set() + for run,spec in m['cargo'].items(): + p='cargo/'+run+'/' + start=obj(p+'started.json');result=obj(p+'result.json');process=obj(p+'process.json') + need(all(result[k]==v for k,v in start.items()),run+' start/result') + need(result['command']==process['command']==spec['command'],run+' commands') + need(result['head']==spec['head'] and result['exitCode']==spec['exitCode'],run+' recorded outcome') + need(result['inputsUnchanged'] is True and result['seconds']>=0,run+' source/duration') + need(process['pid']>0 and time_order(start['start'],process['observed'],result['finish']),run+' process times') + for field,n in [('inputs','inputs.json'),('archive','inputs.zip'),('stdout','stdout.log'),('stderr','stderr.log')]:need(result[field]==pin(raw(p+n)),run+' '+field) + need(result['helper']==pin(raw(spec['helper'])),run+' helper') + inputs=obj(p+'inputs.json') + need(len(inputs)==result['inputCount']==spec['inputCount'],run+' input count') + need(sum(n.startswith('crates/vendor/iced_widget/') for n in inputs)==71,run+' vendor inventory') + pair=(logical[p+'inputs.json'],logical[p+'inputs.zip']) + if pair not in pairs: + with zipfile.ZipFile(io.BytesIO(raw(p+'inputs.zip'))) as source: + members(source,inputs) + for n,expected in inputs.items():need(pin(source.read(n))==expected,run+' source '+n) + pairs.add(pair) + artifacts=[] + for line in raw(p+'stdout.log').decode('utf-8',errors='replace').splitlines(): + try:item=json.loads(line) + except json.JSONDecodeError:continue + if isinstance(item,dict) and item.get('reason')=='compiler-artifact' and item.get('executable'):artifacts.append(item) + need(artifacts==[a['cargo'] for a in result['artifacts']],run+' artifact relationships') + print(run,'exit',result['exitCode'],'inputs',len(inputs),'artifact records',len(artifacts)) + # Successful build1/generation are not the corrected checker admission. + older=obj('cargo/lifecycle-producer-build-1/inputs.json') + newer=obj('cargo/lifecycle-producer-build-2/inputs.json') + need(older==obj('cargo/lifecycle-producer-generate-1/inputs.json'),'generation uses older producer inputs') + source_path='harness/experiments/transition-native-lifecycle-20260913/producer/src/main.rs' + need(older[source_path]!=newer[source_path],'distinct producer revisions') + final_runs=('footer-windows-build-3','footer-format-2','lifecycle-producer-format-1') + final_inputs=obj('cargo/footer-windows-build-3/inputs.json') + final_pin='b5a62817a1b5df936b9d759241bdfc4e8283901c1d4b540b9e494995e1544d8d' + for run in final_runs: + p='cargo/'+run+'/' + need(pin(raw(p+'inputs.json'))['sha256']==final_pin and obj(p+'inputs.json')==final_inputs,run+' final source manifest') + need(obj(p+'result.json')['exitCode']==0 and len(final_inputs)==715,run+' final successful gate') + for run in final_runs[1:]: + need(not raw('cargo/'+run+'/stdout.log') and not raw('cargo/'+run+'/stderr.log'),run+' empty format streams') + final_build=obj('cargo/footer-windows-build-3/result.json') + need(len(final_build['artifacts'])==1 and final_build['artifacts'][0]['cargo']['target']['name']=='arcadia-studio','final GUI artifact') + changed={n for n in set(newer)|set(final_inputs) if newer.get(n)!=final_inputs.get(n)} + need(changed=={'crates/oa-desktop/src/workflow.rs'},'final wording-only file scope') + with zipfile.ZipFile(io.BytesIO(raw('cargo/lifecycle-producer-build-2/inputs.zip'))) as before, zipfile.ZipFile(io.BytesIO(raw('cargo/footer-windows-build-3/inputs.zip'))) as after: + path='crates/oa-desktop/src/workflow.rs';a=before.read(path);b=after.read(path) + old='{} changes · {} boundary choices · {} conflicts · {} warnings'.encode() + new='{} reviewed items · {} boundary choices · {} conflicts · {} warnings'.encode() + need(a.count(old)==1 and a.replace(old,new,1)==b,'exact final footer label delta') + build=obj('cargo/lifecycle-producer-build-2/result.json') + artifact=[a for a in build['artifacts'] if a['cargo']['target']['name']=='transition-native-lifecycle'] + need(len(artifact)==1,'corrected checker artifact') + # Oracle copied build capsule must match the independently included gate. + for name in ('result.json','started.json','process.json','inputs.json','inputs.zip','stdout.log','stderr.log'): + need(raw('oracle/build-capture/'+name)==raw('cargo/lifecycle-producer-build-2/'+name),'oracle build capsule '+name) + need(pin(raw('oracle/build-capture/build-helper.py'))==build['helper'],'oracle build helper') + start=obj('oracle/started.json');summary=obj('oracle/summary.json') + need(summary['status']=='PASS' and summary['trialCount']==40,'oracle completion') + need(all(summary['context'][k]==v for k,v in start.items() if k!='start'),'oracle context') + need(start['checker']==artifact[0]['readback'] and start['buildReceipt']==pin(raw('cargo/lifecycle-producer-build-2/result.json')),'oracle checker chain') + need(start['runner']==pin(raw('oracle/oracle-falsifiers.py')),'oracle runner pin') + for path,p in directory('oracle/producer/').items():need(p==newer['harness/experiments/transition-native-lifecycle-20260913/producer/'+path],'oracle producer source '+path) + fixtures=directory('oracle/fixtures/') + need(fixtures==start['fixtureInput']==directory('oracle/repeat-generation-a/')==directory('oracle/repeat-generation-b/'),'deterministic repeated fixtures') + need(directory('oracle/specimens/')==summary['specimens'],'mutation inventory') + rows=summary['trials'] + need(rows==m['oracleExpectedTrials'] and len(rows)==len({r['label'] for r in rows})==40,'forty distinct trials') + actual_labels={n.split('/')[2] for n in logical if n.startswith('oracle/trials/')} + need(actual_labels=={r['label'] for r in rows},'exact trial membership') + # Original absolute names are mapped to archive members, never opened. + original=m['oracleOriginalDirectory'].rstrip('/')+'/' + def mapped(path): + norm=path.replace('\\','/') + need(norm.startswith(original),'unmapped trial input path') + rel=norm[len(original):];need(safe(rel),'unsafe trial input mapping') + return 'oracle/'+rel + for row in rows: + label=row['label'];p='oracle/trials/'+label+'/' + r=obj(p+'result.json') + need(r['label']==label and r['exitCode']==r['expectedExitCode']==row['exitCode']==row['expectedExitCode'],label+' outcome') + need(time_order(start['start'],r['start'],r['finish'],summary['finish']),label+' time order') + need(r['checkerBefore']==r['checkerAfter']==start['checker'] and r['runner']==start['runner'] and r['buildReceipt']==start['buildReceipt'],label+' provenance') + for stream in ('stdout','stderr'):need(r[stream]==pin(raw(p+stream+'.log')),label+' '+stream) + need(r['watchedBefore']==r['watchedAfter'],label+' unchanged inputs') + for path,expected in r['watchedBefore'].items():need(pin(raw(mapped(path)))==expected,label+' watched input') + cmd=r['command'];need(cmd[0]==artifact[0]['cargo']['executable'],label+' executable command') + if cmd[1]=='check': + need(mapped(cmd[3]) in logical,label+' check entry') + opts=cmd[4:];need(len(opts)%2==0,label+' option arity') + for flag,path in zip(opts[::2],opts[1::2]): + need(flag in ('--identities','--write-identities') and mapped(path) in logical,label+' identity option') + if r['exitCode']==0: + report=obj(p+'stdout.log') + need(report['status']=='PASS' and report['comparison']=='complete Project equality' and report['state']==cmd[2] and report['entry']==cmd[3],label+' positive report') + if cmd[2].endswith(('-reopened','-noop')):need(report['trace_identity_pinned'] is True and '--identities' in opts,label+' continuity receipt') + if '--write-identities' in opts:need(obj(p+'written-identities.json')==report['new_ids']==obj(mapped(opts[opts.index('--write-identities')+1])),label+' identity write') + else:need(cmd[1]=='generate' and len(cmd)==3,label+' generation command') + stderr=raw(p+'stderr.log').decode('utf-8',errors='replace') + if r['expectedStderrFragment']:need(r['expectedStderrFragment'] in stderr,label+' rejection reason') + elif r['exitCode']==0:need(not stderr,label+' successful stderr') + print('PASS:',len(m['cargo']),'closed Cargo runs; 40 recorded oracle trials;',len(logical),'logical raw files;',len(m['members']),'stored members;',len(pairs),'source capsule pairs.') + print('Offline consistency only: no binaries/source executed; no native lifecycle completion claim.') +if __name__=='__main__':main() diff --git a/harness/experiments/transition-native-lifecycle-20260913/native/README.md b/harness/experiments/transition-native-lifecycle-20260913/native/README.md new file mode 100644 index 00000000..58ad1eb8 --- /dev/null +++ b/harness/experiments/transition-native-lifecycle-20260913/native/README.md @@ -0,0 +1,45 @@ +# Closed native transition lifecycle captures + +Keep this directory beside `../checks/`. Run `python verify.py` with Python 3.10 +or newer. Verification requires the exact pinned `../checks/evidence.zip` and +these native package files, uses only the standard library, and executes no +archived helper, application, checker, Cargo command or network request. +`prepare.py [CHECKOUT]` rebuilds this archive from the named closed originals. + +Trials lifecycle-2/3 capture OA deletion, recreation, first relink, a separate +reopening and no-op check. Trials lifecycle-4/5 capture reverse SA deletion, +Undo/Redo, recreation, first relink, reopening and no-op. All four GUI receipts +close successfully with empty stdout/stderr and unchanged fixture/binary pins. +Trial1 is excluded entirely because it lacked a closing process receipt. This +package does not turn that interrupted history into successful evidence. + +Trials 2/3 use footer-windows-build-2; trials 4/5 use footer-windows-build-3 with +the refined "reviewed items" footer. Snapshot checks use the corrected producer +build2. Exact build receipts, helpers, artifact records and complete source +capsules are read from the pinned sibling checks archive; source proof is not +self-contained in the native archive alone. Runtime binaries are excluded. + +Every original frame, adjacent metadata, trial file, accepted identity receipt, +saved source snapshot and helper is retained without editing. The launch-pinned +captureHelper refers to the corresponding capture-lifecycle-N.js source. Each +trial's separately recorded capture-function.js is the serialized function used +in the persistent UI session; it is different bytes and was not that launch pin. +The files document the distinction rather than asserting byte equivalence or +authenticated execution. Frame labels/timestamps/application paths record states, +not a complete action invocation log or independent PID attestation. Image/window +dimensions vary; these captures are not all minimum-window checks. + +The verifier checks exact safe archive membership, hashes, linked build/source +capsules, trial/helper/stream relationships, frame membership and timestamps, +snapshot helper and corrected-checker provenance, and the recorded complete +Project comparison results. Accepted first-relink IDs match later reopen/no-op +receipts in each direction, and both later saved source bundles are byte-identical +to their first-relink bundle. The producer's full-model result is recorded evidence; +the portable verifier does not rerun its Rust comparisons or derive model equality +from screenshots. Snapshot receipts record start time but no completion timestamp; +only their start can be located in the GUI process interval. + +These finite workflows do not establish exhaustive usability/accessibility, +performance, deployment readiness, or behavior on another platform. No credentials, +whole user profile, or runtime binaries are packaged. Outer text is UTF-8 LF; +archived raw bytes and historical local-path strings remain unchanged. diff --git a/harness/experiments/transition-native-lifecycle-20260913/native/evidence.zip b/harness/experiments/transition-native-lifecycle-20260913/native/evidence.zip new file mode 100644 index 00000000..3f6c803c Binary files /dev/null and b/harness/experiments/transition-native-lifecycle-20260913/native/evidence.zip differ diff --git a/harness/experiments/transition-native-lifecycle-20260913/native/files.json b/harness/experiments/transition-native-lifecycle-20260913/native/files.json new file mode 100644 index 00000000..2679726e --- /dev/null +++ b/harness/experiments/transition-native-lifecycle-20260913/native/files.json @@ -0,0 +1,22 @@ +{ + "evidence.zip": { + "bytes": 6888298, + "sha256": "b53253fbe9b98db6a0028ed3629426460e7086c8943be0d13ab5ec540e7e4b68" + }, + "manifest.json": { + "bytes": 56348, + "sha256": "f6bd0bb5e3d29d5e47f1dfb8f1cb7747a3c2e12aa62b6e4e81b68e68ce5ccf95" + }, + "README.md": { + "bytes": 3019, + "sha256": "01aed34547156bede9c2fea75162c8fecda18203fa575c4cf81e28e440130a95" + }, + "verify.py": { + "bytes": 10474, + "sha256": "5f93ff8b266c0c7c3e64630f64a522ff5f8f8bd41d7d0a14cc4856c16a529306" + }, + "prepare.py": { + "bytes": 2861, + "sha256": "c1884b10724cc618b58abd84b93c03623ea9e80dbda4e5a8b866fff499e93fca" + } +} diff --git a/harness/experiments/transition-native-lifecycle-20260913/native/manifest.json b/harness/experiments/transition-native-lifecycle-20260913/native/manifest.json new file mode 100644 index 00000000..07f54437 --- /dev/null +++ b/harness/experiments/transition-native-lifecycle-20260913/native/manifest.json @@ -0,0 +1,1369 @@ +{ + "schema": 1, + "checksEvidence": { + "bytes": 14254708, + "sha256": "663bf83db4ead276063b321fd5e9857e29d2305e6046c2e87dbbac87a366b19c" + }, + "checksRelativePath": "../checks/evidence.zip", + "originalNativeDirectory": "C:/ar-transition-9e8r6t/.local/transition-native", + "runs": { + "lifecycle-2": { + "helpers": { + "runner": "helpers/run-lifecycle-2.py", + "launchCapture": "helpers/capture-lifecycle-2.js", + "snapshot": "helpers/check-lifecycle-snapshot-2.py" + }, + "guiBuild": "footer-windows-build-2", + "captures": [ + "native/lifecycle-2/01-home.json", + "native/lifecycle-2/02-open-recent.json", + "native/lifecycle-2/03-oa-root.json", + "native/lifecycle-2/04-delete-confirmation.json", + "native/lifecycle-2/05-oa-deleted.json", + "native/lifecycle-2/06-deletion-saved.json", + "native/lifecycle-2/07-text-editor.json", + "native/lifecycle-2/08-editor-focused.json", + "native/lifecycle-2/09-source-end.json", + "native/lifecycle-2/10-closing-brace-position.json", + "native/lifecycle-2/11-root-declaration-entered.json", + "native/lifecycle-2/12-text-applied.json", + "native/lifecycle-2/13-recreation-saved.json", + "native/lifecycle-2/14-architecture-recreated.json", + "native/lifecycle-2/15-recreated-selected.json", + "native/lifecycle-2/16-recreated-actions.json", + "native/lifecycle-2/17-transition-review.json", + "native/lifecycle-2/18-search-focus.json", + "native/lifecycle-2/19-alias-query.json", + "native/lifecycle-2/20-matching-counterpart.json", + "native/lifecycle-2/21-retained-target-selected.json", + "native/lifecycle-2/22-small-window-blocking-guidance.json", + "native/lifecycle-2/23-window-menu.json", + "native/lifecycle-2/24-window-size-mode.json", + "native/lifecycle-2/25-resize-edge.json", + "native/lifecycle-2/26-resize-mode-ended.json", + "native/lifecycle-2/27-field-decisions.json", + "native/lifecycle-2/28-keep-target-name.json", + "native/lifecycle-2/29-description-choice.json", + "native/lifecycle-2/30-keep-target-description.json", + "native/lifecycle-2/31-relink-applied.json", + "native/lifecycle-2/32-relink-saved.json" + ], + "snapshots": { + "oa-deleted": "oa-deleted", + "oa-recreated": "oa-recreated", + "oa-relinked": "oa-relinked" + } + }, + "lifecycle-3": { + "helpers": { + "runner": "helpers/run-lifecycle-3.py", + "launchCapture": "helpers/capture-lifecycle-3.js", + "snapshot": "helpers/check-lifecycle-snapshot-3.py" + }, + "guiBuild": "footer-windows-build-2", + "captures": [ + "native/lifecycle-3/01-home.json", + "native/lifecycle-3/02-reopened-model.json", + "native/lifecycle-3/03-reopened-saved.json", + "native/lifecycle-3/04-reopened-source-selected.json", + "native/lifecycle-3/05-reopened-actions.json", + "native/lifecycle-3/06-unchanged-transition-preview.json", + "native/lifecycle-3/07-unchanged-review-applied.json", + "native/lifecycle-3/08-unchanged-review-saved.json", + "native/lifecycle-3/09-resize-left-edge.json" + ], + "snapshots": { + "oa-noop": "oa-noop", + "oa-reopened": "oa-reopened" + } + }, + "lifecycle-4": { + "helpers": { + "runner": "helpers/run-lifecycle-4.py", + "launchCapture": "helpers/capture-lifecycle-4.js", + "snapshot": "helpers/check-lifecycle-snapshot-4.py" + }, + "guiBuild": "footer-windows-build-3", + "captures": [ + "native/lifecycle-4/01-home.json", + "native/lifecycle-4/02-open-dialog.json", + "native/lifecycle-4/03-open-file-focus.json", + "native/lifecycle-4/04-filename-focus.json", + "native/lifecycle-4/05-fixture-path.json", + "native/lifecycle-4/06-original-opened.json", + "native/lifecycle-4/07-system-perspective.json", + "native/lifecycle-4/08-system-root-selected.json", + "native/lifecycle-4/09-delete-review.json", + "native/lifecycle-4/10-canvas-root-focus.json", + "native/lifecycle-4/11-delete-confirmation.json", + "native/lifecycle-4/12-system-deleted.json", + "native/lifecycle-4/13-system-deleted-saved.json", + "native/lifecycle-4/14-undo-deletion.json", + "native/lifecycle-4/15-undo-saved.json", + "native/lifecycle-4/16-redo-deletion.json", + "native/lifecycle-4/17-redo-saved.json", + "native/lifecycle-4/18-textual-model.json", + "native/lifecycle-4/19-editor-focus.json", + "native/lifecycle-4/20-editor-end.json", + "native/lifecycle-4/21-insertion-point.json", + "native/lifecycle-4/22-recreated-source.json", + "native/lifecycle-4/23-source-applied.json", + "native/lifecycle-4/24-recreated-saved.json", + "native/lifecycle-4/25-architecture.json", + "native/lifecycle-4/26-recreated-root-selected.json", + "native/lifecycle-4/27-root-actions.json", + "native/lifecycle-4/28-transition-preview.json", + "native/lifecycle-4/29-counterpart-query-focus.json", + "native/lifecycle-4/30-alias-search.json", + "native/lifecycle-4/31-compatible-options.json", + "native/lifecycle-4/32-existing-target-selected.json", + "native/lifecycle-4/33-name-decision.json", + "native/lifecycle-4/34-name-kept.json", + "native/lifecycle-4/35-description-decision.json", + "native/lifecycle-4/36-description-kept.json", + "native/lifecycle-4/37-relink-applied.json", + "native/lifecycle-4/38-relink-saved.json" + ], + "snapshots": { + "sa-deleted": "sa-deleted", + "sa-recreated": "sa-recreated", + "sa-redo": "sa-deleted", + "sa-relinked": "sa-relinked", + "sa-undo": "original" + } + }, + "lifecycle-5": { + "helpers": { + "runner": "helpers/run-lifecycle-5.py", + "launchCapture": "helpers/capture-lifecycle-5.js", + "snapshot": "helpers/check-lifecycle-snapshot-5.py" + }, + "guiBuild": "footer-windows-build-3", + "captures": [ + "native/lifecycle-5/01-home.json", + "native/lifecycle-5/02-reopened.json", + "native/lifecycle-5/03-reopened-saved.json", + "native/lifecycle-5/04-system-perspective.json", + "native/lifecycle-5/05-source-selected.json", + "native/lifecycle-5/06-root-actions.json", + "native/lifecycle-5/07-noop-preview.json", + "native/lifecycle-5/08-noop-applied.json", + "native/lifecycle-5/09-noop-saved.json" + ], + "snapshots": { + "sa-noop": "sa-noop", + "sa-reopened": "sa-reopened" + } + } + }, + "members": { + "fixtures/manifest.json": { + "bytes": 2894, + "sha256": "c3b41283dbf364fbc704851147917a7c8fc4e5780d57b8b321b45178ba6d8243" + }, + "fixtures/oa-deleted.arcadia": { + "bytes": 7523, + "sha256": "8406a76ec5f79d52b1deedfa808f58ff418e0d7b5157353eb5f2d7418cd980b7" + }, + "fixtures/oa-deleted.json": { + "bytes": 14594, + "sha256": "8fb1d41f0cd39dd2ad26cd96c238c16f941c7abcf8b82134440bffae893391ed" + }, + "fixtures/oa-recreate-root.snippet": { + "bytes": 199, + "sha256": "42fcf55877da827a550eb3c503e41eccbd275011d68a2c14beef04e7b90ef026" + }, + "fixtures/oa-recreated.arcadia": { + "bytes": 7723, + "sha256": "66fdf50009a82e8880dd52666d05b29038a3817038a87430afd188ded8aa49d7" + }, + "fixtures/oa-recreated.json": { + "bytes": 14937, + "sha256": "836537f038d8e37cbb6b72099dec6f37aadee404e4654a60eaf8d7ed2e26f7b6" + }, + "fixtures/original.arcadia": { + "bytes": 13007, + "sha256": "4aa93f1dbba621e75aeb5ab6187f05bdb6b45ffc2b0ed083ba12599a5470b0d9" + }, + "fixtures/original.json": { + "bytes": 22869, + "sha256": "0d3da35b5f5fc17a0f82f53acc871acf02bb8cc1d3b41fb26e0669f4a26ec52f" + }, + "fixtures/sa-deleted.arcadia": { + "bytes": 6839, + "sha256": "b7d74d6aac955bcb90befda79994f959973528463331e17d096d9304ac1beff4" + }, + "fixtures/sa-deleted.json": { + "bytes": 13154, + "sha256": "4f9b7fb4f65ec64bf5e6d1581271a80200f634e24c98bc84baf465956d1940c8" + }, + "fixtures/sa-recreate-root.snippet": { + "bytes": 204, + "sha256": "fd62e1aa63ba2f3fa7d2a3ad8e684e6aa50eb4af8d6c65a600cf8c60c5d8cdb9" + }, + "fixtures/sa-recreated.arcadia": { + "bytes": 7044, + "sha256": "a2653b8c3207b68ddbcedee6e393a7825e6ce4cd05bba30abba479fda492d244" + }, + "fixtures/sa-recreated.json": { + "bytes": 13502, + "sha256": "c6cd0cd73a8ffd2d56051121d4850ee799571cb206ec2cc8992ad18e31fbe3e6" + }, + "helpers/capture-lifecycle-2.js": { + "bytes": 1593, + "sha256": "d02a7e65084ae1bc3fe97d90101dde3aaafffbfb21ac54a494c9069b0ef5f0c4" + }, + "helpers/capture-lifecycle-3.js": { + "bytes": 1593, + "sha256": "c4f755d20a04c23ec3f50f6096443113cdcaa55325f3595fc59642cfea14b46b" + }, + "helpers/capture-lifecycle-4.js": { + "bytes": 1593, + "sha256": "9241ff5b744071a05d4634e0ac78dc38479eeaa5abec75ed681b00169367fb89" + }, + "helpers/capture-lifecycle-5.js": { + "bytes": 1593, + "sha256": "785f4133258d5b753f30bb99b5dfb282bdd6175442a2724a8ee5cb1ef3757406" + }, + "helpers/check-lifecycle-snapshot-2.py": { + "bytes": 2482, + "sha256": "1834510b5a9ba4c86093a450dff83bb9ec7e9290065a6d6b86fe0e56cf591450" + }, + "helpers/check-lifecycle-snapshot-3.py": { + "bytes": 2482, + "sha256": "bb27b8f2fdab93a08c59a990d2d3702dc07a8fdb418d91a5588c4bd0f30f9387" + }, + "helpers/check-lifecycle-snapshot-4.py": { + "bytes": 2482, + "sha256": "7ffc267bdbaca66bc4844552fef29d2db403bcfcca594d534ec23b0b8608207d" + }, + "helpers/check-lifecycle-snapshot-5.py": { + "bytes": 2482, + "sha256": "95b94766563db6b87353115785fa3480fe060973304a08ec99ecf583b12a603a" + }, + "helpers/run-lifecycle-2.py": { + "bytes": 2248, + "sha256": "2b31affb2f999430c028388b8d1e05d794f6bf991b5f2407dcf15a7f1904e1fe" + }, + "helpers/run-lifecycle-3.py": { + "bytes": 2248, + "sha256": "6906988e3ca223c9cab7373a312090c707e8e313ff355e20dcc42fa291bafa88" + }, + "helpers/run-lifecycle-4.py": { + "bytes": 2248, + "sha256": "f61d3d219a9d95c6edd2b08946d6cb692c41dc8d62d07c6e008edb2878d81ae6" + }, + "helpers/run-lifecycle-5.py": { + "bytes": 2248, + "sha256": "6fb6642feb367e9bba24ade82675f61feffa743422c4e040290ebe235b151324" + }, + "native/lifecycle-2/01-home-0.jpg": { + "bytes": 116792, + "sha256": "03b9757093057610c3a0077a096a135bca6e4dbd61bb72bbeff4105029624ae8" + }, + "native/lifecycle-2/01-home.json": { + "bytes": 917, + "sha256": "da7f21416ce2d43a573d69c4032403120d10b87630a25d1f3ff99cb231b9b932" + }, + "native/lifecycle-2/02-open-recent-0.jpg": { + "bytes": 117614, + "sha256": "b4a7aeeb6e147fbdf713a69ca035a3791aad8d410e50b876022a506ea26270b9" + }, + "native/lifecycle-2/02-open-recent.json": { + "bytes": 1016, + "sha256": "1dc5f74a1e44f69a0795f6343bf79d081b91b3b581df894fe6302194576e3d1d" + }, + "native/lifecycle-2/03-oa-root-0.jpg": { + "bytes": 125603, + "sha256": "4ffd9ed1893cf057dc64d66dfd0abf3f1133f2faa9760509e693b6b205e13012" + }, + "native/lifecycle-2/03-oa-root.json": { + "bytes": 1035, + "sha256": "b72bc9175f7928f460ef6c752dd40cddfe9599a59f3069d3cb4cf99497938f87" + }, + "native/lifecycle-2/04-delete-confirmation-0.jpg": { + "bytes": 122391, + "sha256": "8935739653fc7d2ad5c71e965db76b6d700ee8e311522fb5d66756736297c97a" + }, + "native/lifecycle-2/04-delete-confirmation.json": { + "bytes": 1047, + "sha256": "bb2b02edc2c3e869407f7fb45f1ff5cdd6c313819d5d17767e16c55613ae2ce1" + }, + "native/lifecycle-2/05-oa-deleted-0.jpg": { + "bytes": 98601, + "sha256": "3439b1d445c036da6889355010f7737676a24a713d3f3b9637008dda8681ad32" + }, + "native/lifecycle-2/05-oa-deleted.json": { + "bytes": 1046, + "sha256": "5aa7841c892f0a08cb9da0ee5120e865280f66ee6434f094bc856986ad82f571" + }, + "native/lifecycle-2/06-deletion-saved-0.jpg": { + "bytes": 98572, + "sha256": "32c1d9fca0c3d0a84a1467c52a0e08e01ea77593d738c38bb58c67c885c0359b" + }, + "native/lifecycle-2/06-deletion-saved.json": { + "bytes": 1042, + "sha256": "c62beb7dabd6d16703406a5bbc08abc84329c3b7c35923165708df6a4513834d" + }, + "native/lifecycle-2/07-text-editor-0.jpg": { + "bytes": 121353, + "sha256": "ef5097678d8500ea6ff056987a9e62e09916f2b87bd0f323c9e698fcb51611b5" + }, + "native/lifecycle-2/07-text-editor.json": { + "bytes": 1039, + "sha256": "73eb8677c972702becf169385cd50aa44bd78b8be4b83b368f5b13c0adb84ba1" + }, + "native/lifecycle-2/08-editor-focused-0.jpg": { + "bytes": 121759, + "sha256": "ae7917fa4827d38434ffb4431692fac2383ba362c8e2c4face3a6bc9bd2796df" + }, + "native/lifecycle-2/08-editor-focused.json": { + "bytes": 1042, + "sha256": "419b104f84410e09e222eaaf9a181ef9b5c6d81ddd7d712e34a285c3d9b69993" + }, + "native/lifecycle-2/09-source-end-0.jpg": { + "bytes": 75923, + "sha256": "f4fbb27eb4bf3dbfb902600924742c5385b5bb2ae2a3df7f3ba405bc3c738d4b" + }, + "native/lifecycle-2/09-source-end.json": { + "bytes": 1038, + "sha256": "2e1d92d1222e6103df2325d2d5795eff20b8a182f43bed5298c4e70a77b070a9" + }, + "native/lifecycle-2/10-closing-brace-position-0.jpg": { + "bytes": 75802, + "sha256": "e21bc598e2141d13abd1114e8d5209a15aef8629fac051abfe0bf78f7d6b501c" + }, + "native/lifecycle-2/10-closing-brace-position.json": { + "bytes": 1050, + "sha256": "8fd64f9f253258f86b26eb86a46aa8d0f576484d1cd731d0c0cc02fd6e6ebad6" + }, + "native/lifecycle-2/11-root-declaration-entered-0.jpg": { + "bytes": 86744, + "sha256": "60bfab058eec16d800bc8de5cba919c84a33d8867e7c990bc93918725b768225" + }, + "native/lifecycle-2/11-root-declaration-entered.json": { + "bytes": 1062, + "sha256": "3c69f05ed5f498a0501c12a54944117deef85422ff4c3885c3a08842b4e69ad9" + }, + "native/lifecycle-2/12-text-applied-0.jpg": { + "bytes": 122410, + "sha256": "422ae6462d7e299cf7db2976784e00d1ac15640f8ad3e261c129a74b0d284b05" + }, + "native/lifecycle-2/12-text-applied.json": { + "bytes": 1050, + "sha256": "d09c85522eeb98360bc49f8df72b7ffaa295c1262ed49c51936072534285d145" + }, + "native/lifecycle-2/13-recreation-saved-0.jpg": { + "bytes": 121375, + "sha256": "f82a93c539fa176a741c168110b513f26724d1d0a27ec0573e16bc885287d4b1" + }, + "native/lifecycle-2/13-recreation-saved.json": { + "bytes": 1044, + "sha256": "86aeccc7749cc21dc7784180f65705e584c288579f05db9352c9d7b4d3beec1f" + }, + "native/lifecycle-2/14-architecture-recreated-0.jpg": { + "bytes": 100201, + "sha256": "8c73596102ba323c969854bd6fc0259f6a5e3c385a32d0983d1d0fba864950c3" + }, + "native/lifecycle-2/14-architecture-recreated.json": { + "bytes": 1050, + "sha256": "687f9589a366c952b08eb7cb5dfb2a400d82de5e931c3e85f4b432df88fa3b28" + }, + "native/lifecycle-2/15-recreated-selected-0.jpg": { + "bytes": 106465, + "sha256": "4ff2c336bbe5551c21f529d0c9759058ac5712b069d5a712af94b651a708f2b0" + }, + "native/lifecycle-2/15-recreated-selected.json": { + "bytes": 1046, + "sha256": "22747857a28dbf7dc57b9b5a6e74fdd653ab39750a8d34186d63f158d8776135" + }, + "native/lifecycle-2/16-recreated-actions-0.jpg": { + "bytes": 110460, + "sha256": "a585d41881d43ac02a4923bccd0bbcc31da0e8e0692de779b857ae704a0cb07c" + }, + "native/lifecycle-2/16-recreated-actions.json": { + "bytes": 1045, + "sha256": "670ee60b637f4f0bb1ceb8a9b0c1523cb785311fa86ad4e9b8a316369c8876ac" + }, + "native/lifecycle-2/17-transition-review-0.jpg": { + "bytes": 133329, + "sha256": "a546a920241b30dcab3ee8c301fc7c63ee69ca33a12f68852f2510d4ddd7b960" + }, + "native/lifecycle-2/17-transition-review.json": { + "bytes": 1053, + "sha256": "a0a97d46dcf62fb3b7c14861f58d05528e55ede9ce6509ef3fcb30d2a31e605a" + }, + "native/lifecycle-2/18-search-focus-0.jpg": { + "bytes": 133602, + "sha256": "cd164d09dae2775d729efb451e9e5e9388082e6429a221f27ece7424ce7e3d5b" + }, + "native/lifecycle-2/18-search-focus.json": { + "bytes": 1050, + "sha256": "f23f23bcfb5ddc041c00bbcba53a4404bcc8c8c1c4863d449e9ca7f925499ce6" + }, + "native/lifecycle-2/19-alias-query-0.jpg": { + "bytes": 133032, + "sha256": "31578f8a63dd9b3a931f41db6692f57bad5568b25d2ac322cd271bf611975598" + }, + "native/lifecycle-2/19-alias-query.json": { + "bytes": 1049, + "sha256": "b343d531bcc31bc34f6c5329e2db8d7648e10bcd549be8f514ed7f21f6d3800e" + }, + "native/lifecycle-2/20-matching-counterpart-0.jpg": { + "bytes": 135492, + "sha256": "f5197d74a87aa96a1c776012bb087722b30f81f99d2dccde6b2037389a710b38" + }, + "native/lifecycle-2/20-matching-counterpart.json": { + "bytes": 1058, + "sha256": "17c0aebeefa2098b31e178896260b4e1ed4e5f51802bb9749131307d2ff7a559" + }, + "native/lifecycle-2/21-retained-target-selected-0.jpg": { + "bytes": 132165, + "sha256": "0232c1f086fc4152400f1e8c4001f92c4cc21e3622c0b8a2a8a1d878d2a8624d" + }, + "native/lifecycle-2/21-retained-target-selected.json": { + "bytes": 1062, + "sha256": "3655c063f95d69cb51e2a44fecaf0fe6715043ebd4fed57cfef6f511e37ecbee" + }, + "native/lifecycle-2/22-small-window-blocking-guidance-0.jpg": { + "bytes": 132052, + "sha256": "dd28045e7994b0f4fe5a2ae43881bc59ae0c007c810115c1aa3809790941f4c2" + }, + "native/lifecycle-2/22-small-window-blocking-guidance.json": { + "bytes": 1068, + "sha256": "37f876365439bc71047f0275437c27b42350e44dae90a5aceaba1ad460058f9b" + }, + "native/lifecycle-2/23-window-menu-0.jpg": { + "bytes": 130737, + "sha256": "f868bf8afcac6a0818cffa1828b9217be660cee8a34af526ab9588fa777a3aed" + }, + "native/lifecycle-2/23-window-menu-1.jpg": { + "bytes": 4956, + "sha256": "1b33fc34741438282edbd352299d4844fb6762b3ed434365e302e03f408dfc04" + }, + "native/lifecycle-2/23-window-menu.json": { + "bytes": 1668, + "sha256": "5a4d6721ddf521f694648de922f2d172bffe536d6f7a0429cc80a943f61ee1ba" + }, + "native/lifecycle-2/24-window-size-mode-0.jpg": { + "bytes": 132163, + "sha256": "8e46d561e05679030e32a3b70d988c6a2da18904a33a35195830789489cdd8ab" + }, + "native/lifecycle-2/24-window-size-mode.json": { + "bytes": 1304, + "sha256": "241ec72ab4f07d36092f0dcdc9e4a802b5b474772fdb3db44775b7f3942ecba3" + }, + "native/lifecycle-2/25-resize-edge-0.jpg": { + "bytes": 132093, + "sha256": "0f53be15b8150deb1874cc464e7ac8384c24c5e209388ab31060d3bb7a75b712" + }, + "native/lifecycle-2/25-resize-edge.json": { + "bytes": 1049, + "sha256": "6349304c48a23188ccd18d292237a15a32b72d0494b4be0372c717f1158aede9" + }, + "native/lifecycle-2/26-resize-mode-ended-0.jpg": { + "bytes": 132093, + "sha256": "0f53be15b8150deb1874cc464e7ac8384c24c5e209388ab31060d3bb7a75b712" + }, + "native/lifecycle-2/26-resize-mode-ended.json": { + "bytes": 1055, + "sha256": "b3505f82fc195d670be277ad17032e02e18613eef6b1d9ec6d31431e31a68ff1" + }, + "native/lifecycle-2/27-field-decisions-0.jpg": { + "bytes": 136762, + "sha256": "fa1a6ceca6f4af2ff229e9c7bfb38edb20edfa11e5dfab3803841323f580c4ca" + }, + "native/lifecycle-2/27-field-decisions.json": { + "bytes": 1053, + "sha256": "4f4823942ab1ccedb9de1eb49ea35137d19acd9c535ad7655c589664c49cd36b" + }, + "native/lifecycle-2/28-keep-target-name-0.jpg": { + "bytes": 135831, + "sha256": "87a248b7851506207c8136c5b48bfb9b215027b2634a6d806fd527e9ef4dbc4d" + }, + "native/lifecycle-2/28-keep-target-name.json": { + "bytes": 1054, + "sha256": "250bfaf2e685be84046bfc8397ec559f7e67f899c8e0bee2c435714f0998e576" + }, + "native/lifecycle-2/29-description-choice-0.jpg": { + "bytes": 131669, + "sha256": "a36a7fcadd9559ffaf2833a96af2d7a9d7849dd79f93236343279c667b90554a" + }, + "native/lifecycle-2/29-description-choice.json": { + "bytes": 1056, + "sha256": "3b09a5ccad4b9f971d449d4ed85d78dc5cb8fc681f647878c35d6f30c8c00de3" + }, + "native/lifecycle-2/30-keep-target-description-0.jpg": { + "bytes": 129872, + "sha256": "1ffeeaf6dd0f500ef2889d8e3efda08ca12b4d7a9b6bc97c6ba03e7d7e903525" + }, + "native/lifecycle-2/30-keep-target-description.json": { + "bytes": 1061, + "sha256": "310266ec7edc19393a955673311ed483556e67e03c4836afd05c799c24e819c2" + }, + "native/lifecycle-2/31-relink-applied-0.jpg": { + "bytes": 127495, + "sha256": "7917b5cc92ce865c8d557da2f6b5c237077b391f97ea2e928d3cb417bee22b51" + }, + "native/lifecycle-2/31-relink-applied.json": { + "bytes": 1052, + "sha256": "8cf29addaa3e6d0a1c0f78bece176a8571f5ee8622bd42bc77eec1ed85f4a9aa" + }, + "native/lifecycle-2/32-relink-saved-0.jpg": { + "bytes": 125856, + "sha256": "e2b4db3b80b87c8529783a6eb6f58c3b285cc450744ba7ae93173ab7cbd5d959" + }, + "native/lifecycle-2/32-relink-saved.json": { + "bytes": 1040, + "sha256": "23c04dbfa97ff96687ab0cb65745f3dc6b0b3781ad552c55baeec74d4dedb6b7" + }, + "native/lifecycle-2/capture-function.js": { + "bytes": 1155, + "sha256": "3b008875939b2d33173624a73d15be0129d767c2df1e9f578a4b7f462af16f02" + }, + "native/lifecycle-2/inputs.json": { + "bytes": 1758, + "sha256": "43bd282b0d76d111925ff3b78b73aacb2130fe7bf5c10ba7d882f8d38780dac2" + }, + "native/lifecycle-2/oa-first-relink.identities.json": { + "bytes": 105, + "sha256": "4e34d14b66d47036e39411daf75942ad98d4a4bd7ce4cbd9c93558ff2ad2d8af" + }, + "native/lifecycle-2/process.json": { + "bytes": 61, + "sha256": "0abde7c84f76a1042d559410c0cd609fc2c4df11669d89981e46e898bea0ff2a" + }, + "native/lifecycle-2/result.json": { + "bytes": 2967, + "sha256": "557a5b528b8f95aaa406334cf3575b381f553278aebb0a47c8fd82b4816d3a35" + }, + "native/lifecycle-2/snapshots/oa-deleted/result.json": { + "bytes": 1210, + "sha256": "ada6c03a50e3e6e7c15ed768dde20d0e1b275540198f1e9f623ff824f6263fb6" + }, + "native/lifecycle-2/snapshots/oa-deleted/source/original.arcadia": { + "bytes": 9376, + "sha256": "ad047402bb743d77c324a4724617d2a16fd5e16f9fb4846d535460f7f5832b72" + }, + "native/lifecycle-2/snapshots/oa-deleted/started.json": { + "bytes": 887, + "sha256": "e1d9345f5fabc30851f85f6a21c10230f9bb4863667b3a1373f2d6946a5fa229" + }, + "native/lifecycle-2/snapshots/oa-deleted/stderr.log": { + "bytes": 0, + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "native/lifecycle-2/snapshots/oa-deleted/stdout.log": { + "bytes": 340, + "sha256": "c1d3646e33e0e2000cc582ac81675afc69f1165730ea1ae9672538c584d24e3c" + }, + "native/lifecycle-2/snapshots/oa-recreated/result.json": { + "bytes": 1214, + "sha256": "ba76dced943ea1e41112a20a81eaffbb91ecfc899dd9e695c09cc593d1a95b95" + }, + "native/lifecycle-2/snapshots/oa-recreated/source/original.arcadia": { + "bytes": 9575, + "sha256": "2f63a6a375d887cceafa71f40e4e7b46b501099abc54c2de69d87cace538e8b9" + }, + "native/lifecycle-2/snapshots/oa-recreated/started.json": { + "bytes": 891, + "sha256": "c73afec4e9655b1d83e1701e026c368ffa14062f02872668544e8d0a6eb430c6" + }, + "native/lifecycle-2/snapshots/oa-recreated/stderr.log": { + "bytes": 0, + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "native/lifecycle-2/snapshots/oa-recreated/stdout.log": { + "bytes": 400, + "sha256": "c83b0c7074b88ea985c32b7cb9f3554f3d3d8aeb52096b4d204f66249718b8b8" + }, + "native/lifecycle-2/snapshots/oa-relinked/result.json": { + "bytes": 1489, + "sha256": "b6adfb74c2f5a7477b2bac144a30276af4addb8768b955f30ce47ffa9a1fee23" + }, + "native/lifecycle-2/snapshots/oa-relinked/source/original.arcadia": { + "bytes": 9612, + "sha256": "7d90e9270c0ac8ae8cfa0536fccdce018a5bc923c3043b0546bcd89e34b23ac3" + }, + "native/lifecycle-2/snapshots/oa-relinked/source/traceability.arcadia": { + "bytes": 552, + "sha256": "162aaade052ed5ddbd9c59d1b7eaf70d472f8af1a4055444e3c3a6d9184cc07f" + }, + "native/lifecycle-2/snapshots/oa-relinked/started.json": { + "bytes": 1166, + "sha256": "acc13c9c67cce12e08a8eb6073a5e30c2c26cb6befee0d823b2444312ad60d4d" + }, + "native/lifecycle-2/snapshots/oa-relinked/stderr.log": { + "bytes": 0, + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "native/lifecycle-2/snapshots/oa-relinked/stdout.log": { + "bytes": 546, + "sha256": "2356046a6cb094b26ef621bbb5d1755438f9e43198ec4d014ab15feba9d83da5" + }, + "native/lifecycle-2/started.json": { + "bytes": 2500, + "sha256": "a0e33bc567f1994cfc93f7f439fab37a7d9a3f8815968ff13194022f537efe4a" + }, + "native/lifecycle-2/stderr.log": { + "bytes": 0, + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "native/lifecycle-2/stdout.log": { + "bytes": 0, + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "native/lifecycle-3/01-home-0.jpg": { + "bytes": 117336, + "sha256": "b8bae48eeeb91fb0eaee223864b5c3d5bd9c2cceb2ed9a0db10922a00b230aa1" + }, + "native/lifecycle-3/01-home.json": { + "bytes": 917, + "sha256": "216ac1adeac5ea11ec445a65275d56eb5616f8409351064f634dc40c4a36c180" + }, + "native/lifecycle-3/02-reopened-model-0.jpg": { + "bytes": 103757, + "sha256": "5b9bb9a0e2b82ce9ec12a953459e04c906d6aeb4d1c8e8f72ea7e8edb82f3c85" + }, + "native/lifecycle-3/02-reopened-model.json": { + "bytes": 1019, + "sha256": "e63740e8384cc2b19d6c071c042450acaa0bbf83c5adcd42dd97177ef1c1054f" + }, + "native/lifecycle-3/03-reopened-saved-0.jpg": { + "bytes": 102040, + "sha256": "08a338661b87fef7cdb93155c5e0031d60228b2f6c572f23a2a9505bf4ee4319" + }, + "native/lifecycle-3/03-reopened-saved.json": { + "bytes": 1042, + "sha256": "79aa5dd0179faf3c5e3524e3cbbf92adfbbb3819b9c6e94f47ae92f34318fb4d" + }, + "native/lifecycle-3/04-reopened-source-selected-0.jpg": { + "bytes": 108198, + "sha256": "16c9c2101ed4da6f4e500baba5e58a5b80d3a25bf2394ee67853f5fcce5b4b79" + }, + "native/lifecycle-3/04-reopened-source-selected.json": { + "bytes": 1052, + "sha256": "63eace5bd1264994d2b9f30fa75fd97c946e78ce018421a49d873ca6207ddb7c" + }, + "native/lifecycle-3/05-reopened-actions-0.jpg": { + "bytes": 112510, + "sha256": "7c4b22cc47126289d24cb69761dde254fa730e49c743d42e696517d14dddf7ba" + }, + "native/lifecycle-3/05-reopened-actions.json": { + "bytes": 1044, + "sha256": "4087e64a6e3271e38f6ad8777a54071d240862515b3494d690d865df733f9e55" + }, + "native/lifecycle-3/06-unchanged-transition-preview-0.jpg": { + "bytes": 137733, + "sha256": "1268a2a0caf5ae44f8b54b64966958f012663a0188016bd7373895a7a69c026c" + }, + "native/lifecycle-3/06-unchanged-transition-preview.json": { + "bytes": 1066, + "sha256": "638268dbdb3ceef524a47a4fd2d33bdb1d7b35181dc7024016e71e5c7d9824e3" + }, + "native/lifecycle-3/07-unchanged-review-applied-0.jpg": { + "bytes": 127481, + "sha256": "c62934558fbc7184f62f9525d6963167c0960108cf350558e7dc7fef12473468" + }, + "native/lifecycle-3/07-unchanged-review-applied.json": { + "bytes": 1062, + "sha256": "7ec972dd7c1372610fcf7c69f26b9d71220c091aa7708499f48d3dd5cf685f2d" + }, + "native/lifecycle-3/08-unchanged-review-saved-0.jpg": { + "bytes": 125790, + "sha256": "d8d930d38e47423fbe7380bb0c4ad9e66b01d6d58d6b1c208c5b988b0354ea2e" + }, + "native/lifecycle-3/08-unchanged-review-saved.json": { + "bytes": 1050, + "sha256": "9195d9df0333ed27a532d94ea4307808ddc1c5f84feb53311a5f8d4b7462f942" + }, + "native/lifecycle-3/09-resize-left-edge-0.jpg": { + "bytes": 125830, + "sha256": "8bc2d02ae2a4a9b4d1f46c2f45beea20bd53ff810a54961e3c22977433cc2514" + }, + "native/lifecycle-3/09-resize-left-edge.json": { + "bytes": 1044, + "sha256": "9374e1ed0a94a8ee8e8836052a3673c74407944f3718c14c13aac2e8993e2de8" + }, + "native/lifecycle-3/capture-function.js": { + "bytes": 1155, + "sha256": "3b008875939b2d33173624a73d15be0129d767c2df1e9f578a4b7f462af16f02" + }, + "native/lifecycle-3/inputs.json": { + "bytes": 1758, + "sha256": "43bd282b0d76d111925ff3b78b73aacb2130fe7bf5c10ba7d882f8d38780dac2" + }, + "native/lifecycle-3/process.json": { + "bytes": 61, + "sha256": "97febd0d007bc3d489be3fb336a4d10ee48a146baf3f48880ae0c08d260ff5eb" + }, + "native/lifecycle-3/result.json": { + "bytes": 2967, + "sha256": "63c2b9a04e5ff4b420b854c90bd8e7c353f33fc5af0e50dbcb53cd9b0868e28d" + }, + "native/lifecycle-3/snapshots/oa-noop/result.json": { + "bytes": 1475, + "sha256": "462fc91cdee3f24148dae02752f8e73f893034991403e54f00d73e14d52df2b8" + }, + "native/lifecycle-3/snapshots/oa-noop/source/original.arcadia": { + "bytes": 9612, + "sha256": "7d90e9270c0ac8ae8cfa0536fccdce018a5bc923c3043b0546bcd89e34b23ac3" + }, + "native/lifecycle-3/snapshots/oa-noop/source/traceability.arcadia": { + "bytes": 552, + "sha256": "162aaade052ed5ddbd9c59d1b7eaf70d472f8af1a4055444e3c3a6d9184cc07f" + }, + "native/lifecycle-3/snapshots/oa-noop/started.json": { + "bytes": 1152, + "sha256": "0a5448a204b5e091d7481a003a3e5b84000e5e8085b395731b72176d1bcff137" + }, + "native/lifecycle-3/snapshots/oa-noop/stderr.log": { + "bytes": 0, + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "native/lifecycle-3/snapshots/oa-noop/stdout.log": { + "bytes": 442, + "sha256": "516a8badd60469540ee4a0284bda7616dc8ce7979abcea81c154cf2e10cf787e" + }, + "native/lifecycle-3/snapshots/oa-reopened/result.json": { + "bytes": 1483, + "sha256": "b79ef9e9089db350f4ea37af063807efbb13b13c3b69117be8e82aa1fe1d08d7" + }, + "native/lifecycle-3/snapshots/oa-reopened/source/original.arcadia": { + "bytes": 9612, + "sha256": "7d90e9270c0ac8ae8cfa0536fccdce018a5bc923c3043b0546bcd89e34b23ac3" + }, + "native/lifecycle-3/snapshots/oa-reopened/source/traceability.arcadia": { + "bytes": 552, + "sha256": "162aaade052ed5ddbd9c59d1b7eaf70d472f8af1a4055444e3c3a6d9184cc07f" + }, + "native/lifecycle-3/snapshots/oa-reopened/started.json": { + "bytes": 1160, + "sha256": "33d1b173dbbffd8ca1bbf2f5f13eba3068c92c9baab12e91a5f1a7577d31553f" + }, + "native/lifecycle-3/snapshots/oa-reopened/stderr.log": { + "bytes": 0, + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "native/lifecycle-3/snapshots/oa-reopened/stdout.log": { + "bytes": 450, + "sha256": "d8ba3808ea9002bab093e1c0dcfe08d3ed0b7a7e265e64763c8369b5bd33a5b6" + }, + "native/lifecycle-3/started.json": { + "bytes": 2500, + "sha256": "bea80e00df25a85392deb5a89c499618566ec8d0574b58b5e5f3b0ff4c89bb26" + }, + "native/lifecycle-3/stderr.log": { + "bytes": 0, + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "native/lifecycle-3/stdout.log": { + "bytes": 0, + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "native/lifecycle-4/01-home-0.jpg": { + "bytes": 117238, + "sha256": "87c90bb1f21695530be2c9abc1952c4231d998703caee462019b6eec396c10d1" + }, + "native/lifecycle-4/01-home.json": { + "bytes": 917, + "sha256": "055681e6b2d28686409207670c348e28c21a2c8ae71fdd0f720bdca0574b85f3" + }, + "native/lifecycle-4/02-open-dialog-0.jpg": { + "bytes": 115485, + "sha256": "86fe7cd7af8e0dae2856e78b536c2ad3259ecb8277f8f483850cbe31d495644e" + }, + "native/lifecycle-4/02-open-dialog.json": { + "bytes": 924, + "sha256": "51cfc6db6ec80fedceccb8279c99f7b886687bf3eae132d352a3f59c7ff950d7" + }, + "native/lifecycle-4/03-open-file-focus-0.jpg": { + "bytes": 674, + "sha256": "5a2387a1a593a32ea169b56b9a3e59333936ee1da95164564e4d9be61bf5a24b" + }, + "native/lifecycle-4/03-open-file-focus-1.jpg": { + "bytes": 55131, + "sha256": "91dfe33e690cfd3b490f5ba118b673bdbca73769a6d54ae0edc83a4b1c9439d3" + }, + "native/lifecycle-4/03-open-file-focus.json": { + "bytes": 5011, + "sha256": "41d46b762473e4e77442b4c19b1dfef162b5a7e099a4084b76237a002562f93a" + }, + "native/lifecycle-4/04-filename-focus-0.jpg": { + "bytes": 674, + "sha256": "5a2387a1a593a32ea169b56b9a3e59333936ee1da95164564e4d9be61bf5a24b" + }, + "native/lifecycle-4/04-filename-focus-1.jpg": { + "bytes": 54988, + "sha256": "b31f5465d30a4c4ed395650a36318307c63ddd56e318e21406cc7c7882f977b4" + }, + "native/lifecycle-4/04-filename-focus.json": { + "bytes": 5009, + "sha256": "5064b938a694b6ef5c461ca3f837a7c6d75025c6019cd1d322d0954bcbd5fd51" + }, + "native/lifecycle-4/05-fixture-path-0.jpg": { + "bytes": 674, + "sha256": "5a2387a1a593a32ea169b56b9a3e59333936ee1da95164564e4d9be61bf5a24b" + }, + "native/lifecycle-4/05-fixture-path-1.jpg": { + "bytes": 58037, + "sha256": "1b2b59af213cadccc273ac6a2d807c0327c33bf93eff554ffcda0f02f6939ad7" + }, + "native/lifecycle-4/05-fixture-path.json": { + "bytes": 5005, + "sha256": "222c9e097cb1f71394f3807ce0cf1775206c1afc4b092d05e60755104fbb9738" + }, + "native/lifecycle-4/06-original-opened-0.jpg": { + "bytes": 117502, + "sha256": "41e58ed8d3930f0831adeb9f6cefa6fb13cdc19d9fcf54fe098d719472723d2f" + }, + "native/lifecycle-4/06-original-opened.json": { + "bytes": 928, + "sha256": "756d28db2681cc26379edc817695635c5212091e6eb76f90144893858d94a400" + }, + "native/lifecycle-4/07-system-perspective-0.jpg": { + "bytes": 119896, + "sha256": "82efc7794855021693c94a844003f55e5599f0db273410c23ca881f5e24d1131" + }, + "native/lifecycle-4/07-system-perspective.json": { + "bytes": 1046, + "sha256": "fa6e75e4954c3f3bb3a6d965aa039da3788ac1787653427dd33ed100cbe303e7" + }, + "native/lifecycle-4/08-system-root-selected-0.jpg": { + "bytes": 129775, + "sha256": "40a6970935089357370f67ce5f8573711446e7f5f1161a41cb876562035c2a10" + }, + "native/lifecycle-4/08-system-root-selected.json": { + "bytes": 1048, + "sha256": "ee743c7dcb202558283d205156057180459cb56b54dea4a76b14d97b1eed3138" + }, + "native/lifecycle-4/09-delete-review-0.jpg": { + "bytes": 129840, + "sha256": "ae20e58644689b78beb9ed95eb1170bf4bd3f77157d24f51e145240611c258bb" + }, + "native/lifecycle-4/09-delete-review.json": { + "bytes": 1041, + "sha256": "73a660a3ee8a950e27f28d42730208434dcbad19547e0cc18f415edeefba727b" + }, + "native/lifecycle-4/10-canvas-root-focus-0.jpg": { + "bytes": 128465, + "sha256": "f68b59c707ed2a5f240726e3a69b31c71e463ba808f0c69c323857b2c68a300e" + }, + "native/lifecycle-4/10-canvas-root-focus.json": { + "bytes": 1045, + "sha256": "de4e3b4d361e7d7226f8a5ab86d486c486f99645ab08c059f9af7fab53d18aee" + }, + "native/lifecycle-4/11-delete-confirmation-0.jpg": { + "bytes": 124745, + "sha256": "cd9266d7aa758aa2b14009eccaa206f09634cba75c53988040d94a8a8c174efb" + }, + "native/lifecycle-4/11-delete-confirmation.json": { + "bytes": 1047, + "sha256": "838d4795274d43b8c10b0d4b0aa4d97cc3f9130958e3faac75cd23470dcd3ab6" + }, + "native/lifecycle-4/12-system-deleted-0.jpg": { + "bytes": 100184, + "sha256": "c9c166136f01f14c25e0f3e2f3b32f4a96f3f8f93e16169d440f4e1ca464f59a" + }, + "native/lifecycle-4/12-system-deleted.json": { + "bytes": 1042, + "sha256": "98d91f5982e584a2c23758b672169c4bc5497813b9339ca86d0cdc925f9ed66e" + }, + "native/lifecycle-4/13-system-deleted-saved-0.jpg": { + "bytes": 100373, + "sha256": "fc34896d884f945d7cf3a7e13e7a9950a3c35a4fb501bae811ad55d30f0532d8" + }, + "native/lifecycle-4/13-system-deleted-saved.json": { + "bytes": 1050, + "sha256": "cb83bc11b3962385466f4e6fe70ee0ba2417cf93186d465210a2863b59de6de5" + }, + "native/lifecycle-4/14-undo-deletion-0.jpg": { + "bytes": 118278, + "sha256": "13a2a1000195bd46bad4fda7c03770ab0e8c3b3e004e273d812d6a03bcae5d14" + }, + "native/lifecycle-4/14-undo-deletion.json": { + "bytes": 1049, + "sha256": "1e9589b009fbe6912a62f3b6bb87b33d81022c66041352ade2d9d9a687e8b17f" + }, + "native/lifecycle-4/15-undo-saved-0.jpg": { + "bytes": 118127, + "sha256": "46ffdd4ac63a758f472e6c09737dc2c40ccab2c46289893da9569ddd13867891" + }, + "native/lifecycle-4/15-undo-saved.json": { + "bytes": 1038, + "sha256": "aad2c1bbfb14f3b52a5ebb26a18f90d97cb175c3d125f5e3dd07439d4ef11db8" + }, + "native/lifecycle-4/16-redo-deletion-0.jpg": { + "bytes": 100577, + "sha256": "660b947106d3d1c8cf1478cec8032f2f65fe8776733661751190913ee67c18ef" + }, + "native/lifecycle-4/16-redo-deletion.json": { + "bytes": 1049, + "sha256": "266c51e5353e189881f18d047633d60e4e588d046dc498d4d26126a00bdc74ed" + }, + "native/lifecycle-4/17-redo-saved-0.jpg": { + "bytes": 100313, + "sha256": "08965451b9196cef44fba746d9550f9c439706741eefbc186d85d5705e4487af" + }, + "native/lifecycle-4/17-redo-saved.json": { + "bytes": 1038, + "sha256": "3493af048662947ad998e060006283cb97a668674faaced7265e0f627a3915cf" + }, + "native/lifecycle-4/18-textual-model-0.jpg": { + "bytes": 107307, + "sha256": "0741c3f314a537529e2cbcd30a0e54c0c20cbbeebdcafc8b3ca6ccf0b99b586e" + }, + "native/lifecycle-4/18-textual-model.json": { + "bytes": 1041, + "sha256": "ff94c3a429a868fb621cfcd4818b384293bb4b771accb8ba6cd97c1d9e5e4aa6" + }, + "native/lifecycle-4/19-editor-focus-0.jpg": { + "bytes": 108068, + "sha256": "c5618f5f5029e84746d75bad149f350bfcc6776d1c5b1c7cbe7fa9b334b34b31" + }, + "native/lifecycle-4/19-editor-focus.json": { + "bytes": 1040, + "sha256": "c4502fad5c7973a6a5acd8a6f438f0adf7edcefaae7752c9faa7d8ab4fce594f" + }, + "native/lifecycle-4/20-editor-end-0.jpg": { + "bytes": 96647, + "sha256": "220dbb524e939a9977318313ad30aa04df3a5fe23b58bb499d0bc93bd4dc180d" + }, + "native/lifecycle-4/20-editor-end.json": { + "bytes": 1038, + "sha256": "ee79f9f39d34b7e2a596c6ec167fe063542f1694de4ea5907e9f69485fd4f540" + }, + "native/lifecycle-4/21-insertion-point-0.jpg": { + "bytes": 96659, + "sha256": "70ef92aa36ec74a097cf66867470df6e617200f7c61c558517108a9338cf2108" + }, + "native/lifecycle-4/21-insertion-point.json": { + "bytes": 1043, + "sha256": "54e7fe91b711121d39fbd312574402d0a4eb2f97be95d8d1cd4c0fcedca0a369" + }, + "native/lifecycle-4/22-recreated-source-0.jpg": { + "bytes": 105786, + "sha256": "d51b455b6b2f1c1d2cee9058bf6ff4af91532a4024f578b528e80e961d2ab3db" + }, + "native/lifecycle-4/22-recreated-source.json": { + "bytes": 1054, + "sha256": "e1f49b80f8eaa4899c7c0b6cbe8f0528f672be75220c781762f4651294f6317a" + }, + "native/lifecycle-4/23-source-applied-0.jpg": { + "bytes": 108469, + "sha256": "28bcfb8f9984e9f4adb96071f99636550c224efda7375a2eafaeed538032ddbc" + }, + "native/lifecycle-4/23-source-applied.json": { + "bytes": 1052, + "sha256": "32ce1e9b161c183c913b44680fb91d0a3d9f3459b2fde0d2cfcef02cebe777d1" + }, + "native/lifecycle-4/24-recreated-saved-0.jpg": { + "bytes": 107509, + "sha256": "5d80230ece0d197eaaa0a1b7833af6b5a2b3710a37e5f8d7327aa99189b60901" + }, + "native/lifecycle-4/24-recreated-saved.json": { + "bytes": 1043, + "sha256": "93bf8cd65ffbc67c26cdeb7ce3b9e7d8e7fa27e7e21c6ccb3e14bc249cb545d3" + }, + "native/lifecycle-4/25-architecture-0.jpg": { + "bytes": 101751, + "sha256": "326d00ef81b1437013ecd5c9678f9519a5c77d1aa49e86021df17edd9c6717f0" + }, + "native/lifecycle-4/25-architecture.json": { + "bytes": 1040, + "sha256": "9459462b44ec85d2a46ded2072d335b00b832f670bc9c71d460023171bc3dd99" + }, + "native/lifecycle-4/26-recreated-root-selected-0.jpg": { + "bytes": 108865, + "sha256": "11e2ff964e0dd023eb530fc70ccfed30287a4371c52f277c9b60c214ab0053a1" + }, + "native/lifecycle-4/26-recreated-root-selected.json": { + "bytes": 1051, + "sha256": "d105fbadd55acc11cb8274f82aa0889564d7d5a736afe025ff49ac4d6139e62c" + }, + "native/lifecycle-4/27-root-actions-0.jpg": { + "bytes": 112639, + "sha256": "51b06184b0a5fc69442b2e7e0a53a286d298c2e50a0595df55b32fb1334abbad" + }, + "native/lifecycle-4/27-root-actions.json": { + "bytes": 1040, + "sha256": "07eeb470b260219e937529d111e90a884ead5c209f12fcdd47c7de93f5922e0b" + }, + "native/lifecycle-4/28-transition-preview-0.jpg": { + "bytes": 136053, + "sha256": "576b1e8d1eb049b4df4d5b867c51ee7e10ce3b2fc9cbb4ba554c95fde9221ed6" + }, + "native/lifecycle-4/28-transition-preview.json": { + "bytes": 1056, + "sha256": "b349e6d44c906e413f78e303cd3df764843ee82e1a7f5d3d40dc71f53b6201bf" + }, + "native/lifecycle-4/29-counterpart-query-focus-0.jpg": { + "bytes": 136335, + "sha256": "77c88df05b32fbb32bf46a92248f1281f612605d79a10e2b2fd88687b4b74b0f" + }, + "native/lifecycle-4/29-counterpart-query-focus.json": { + "bytes": 1061, + "sha256": "3d47dba369c32007c9b4572c78e6d4b4f21480826e35481cc98ae99aefb34eb2" + }, + "native/lifecycle-4/30-alias-search-0.jpg": { + "bytes": 135592, + "sha256": "60870909e6dd631b7bd27cca3680b8cfd0216098fbc9e641a324422fb36c331d" + }, + "native/lifecycle-4/30-alias-search.json": { + "bytes": 1050, + "sha256": "610f6330f82da9aacadae01f61d3090503c8b66757e8da8fef6e5d63aae4040f" + }, + "native/lifecycle-4/31-compatible-options-0.jpg": { + "bytes": 138443, + "sha256": "33a57e106e2c678f10e7a3fa4a386117dacbc69bf8aadfe1c0abc3be0cc2c62d" + }, + "native/lifecycle-4/31-compatible-options.json": { + "bytes": 1056, + "sha256": "6857481da7f22e5221f5df2f2e6e6daafd75f26ff82c031b5b22f54b55928634" + }, + "native/lifecycle-4/32-existing-target-selected-0.jpg": { + "bytes": 134610, + "sha256": "f6e2195f392db484360192239f2a7fded2fc1aee92bed0d734f499a5e5f87a92" + }, + "native/lifecycle-4/32-existing-target-selected.json": { + "bytes": 1062, + "sha256": "08812f0949f8e3a53159c5b6b9971ffd95e2df3ffe3f5ac4d94843c82c09a668" + }, + "native/lifecycle-4/33-name-decision-0.jpg": { + "bytes": 139090, + "sha256": "0f89d319297f1d9350cdd1a28beb2c270f77369361e07aa5f656b85aa6e90a15" + }, + "native/lifecycle-4/33-name-decision.json": { + "bytes": 1051, + "sha256": "7796ade73e0370c6b270e17da9ee55352948d1dcbf2c7dbe9d1833c3bd85e782" + }, + "native/lifecycle-4/34-name-kept-0.jpg": { + "bytes": 138080, + "sha256": "80887bba849a91335048c5104d94836d4eb251264684d980344962712036245d" + }, + "native/lifecycle-4/34-name-kept.json": { + "bytes": 1047, + "sha256": "ae02ffc84a9b4ed3f6c3439c757dffd240a220f38329147d1f3452bbd17e3a3e" + }, + "native/lifecycle-4/35-description-decision-0.jpg": { + "bytes": 134273, + "sha256": "1005f7717b49fab1e4cbe9e3f2985619a52f824fdf34eb00307b061dd78acb09" + }, + "native/lifecycle-4/35-description-decision.json": { + "bytes": 1058, + "sha256": "a866d1007acc83416392324f272563dfb78c2de607e211d61bf3830b51ee6828" + }, + "native/lifecycle-4/36-description-kept-0.jpg": { + "bytes": 132607, + "sha256": "d8cd8c4eaa4c1a298927c218fae54d2546eb059dda836de2a9a20fb380da22f5" + }, + "native/lifecycle-4/36-description-kept.json": { + "bytes": 1054, + "sha256": "661d741ab69586b9e273efc02daef952c4d5e0640cb5108f9420b395e8df46ca" + }, + "native/lifecycle-4/37-relink-applied-0.jpg": { + "bytes": 124865, + "sha256": "75a4686c2430fae094c9a8f820abe7d59b46c1e13e6bdc53333481ed251bf9df" + }, + "native/lifecycle-4/37-relink-applied.json": { + "bytes": 1052, + "sha256": "abca5887fea05d6335daff2b6a61fd5b0ffa76c7fa8b4514d87ef2c3dc565987" + }, + "native/lifecycle-4/38-relink-saved-0.jpg": { + "bytes": 123332, + "sha256": "fec54df976d5c199e0d6bfcbef09e5ab0c8eea3a53e7c7297a2c30de96d756c5" + }, + "native/lifecycle-4/38-relink-saved.json": { + "bytes": 1040, + "sha256": "a23a08f23ad1d8ae10ea6bc9ee20b0da8795de9335d5cf3f254a4a21a4f1f9a9" + }, + "native/lifecycle-4/capture-function.js": { + "bytes": 1155, + "sha256": "3b008875939b2d33173624a73d15be0129d767c2df1e9f578a4b7f462af16f02" + }, + "native/lifecycle-4/inputs.json": { + "bytes": 1758, + "sha256": "43bd282b0d76d111925ff3b78b73aacb2130fe7bf5c10ba7d882f8d38780dac2" + }, + "native/lifecycle-4/process.json": { + "bytes": 61, + "sha256": "f1c276aefa4b81585138840b7ae9c3d8588fbfc1ae6d0f32f33921198a940a02" + }, + "native/lifecycle-4/result.json": { + "bytes": 2967, + "sha256": "b325d09e01ec52dc76a7fe560b4bd6803a172baafbea8aed9074fc061a755d29" + }, + "native/lifecycle-4/sa-first-relink.identities.json": { + "bytes": 105, + "sha256": "1aacec7fff3c908ca06e61d223f597f5b11e196d3d87693d7069e07eff861ecd" + }, + "native/lifecycle-4/snapshots/sa-deleted/result.json": { + "bytes": 1210, + "sha256": "c886835fde26acddec63c59e9fb9a3894ba39f8991c742966348cd81d1c51129" + }, + "native/lifecycle-4/snapshots/sa-deleted/source/original.arcadia": { + "bytes": 8920, + "sha256": "6e622de53897ff8789bf4d905ef3f47631c2e2f24ff4c3138a08dabd83afb443" + }, + "native/lifecycle-4/snapshots/sa-deleted/started.json": { + "bytes": 887, + "sha256": "3ffb6b3a7cf47c6bd588cff7f6af5e325502416351413b7a6e2d50fcf79183ff" + }, + "native/lifecycle-4/snapshots/sa-deleted/stderr.log": { + "bytes": 0, + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "native/lifecycle-4/snapshots/sa-deleted/stdout.log": { + "bytes": 340, + "sha256": "9c5085fc0e50cc560db816273917db7142de2850b24eb8f7ef78c31bde44c731" + }, + "native/lifecycle-4/snapshots/sa-recreated/result.json": { + "bytes": 1214, + "sha256": "c1a342cbad6f871d94d27f9f26191d74bc3d20e70222806e13f72e3070e5ca95" + }, + "native/lifecycle-4/snapshots/sa-recreated/source/original.arcadia": { + "bytes": 9124, + "sha256": "b0f58d031b73faf23f38ebbc85c029e64102c22cd3a65d77468b992d056d55ba" + }, + "native/lifecycle-4/snapshots/sa-recreated/started.json": { + "bytes": 891, + "sha256": "a50aed65206ac85f8dc2f8295947868694749cfc6853323f8eeeeb8a1462b08a" + }, + "native/lifecycle-4/snapshots/sa-recreated/stderr.log": { + "bytes": 0, + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "native/lifecycle-4/snapshots/sa-recreated/stdout.log": { + "bytes": 400, + "sha256": "809f89c80da7c650c5a740b16b14edc30b6a02cc1369f0f783e28ee79a64c8f5" + }, + "native/lifecycle-4/snapshots/sa-redo/result.json": { + "bytes": 1207, + "sha256": "99338253ac43de50d953ceba8de3ca5ee97099bc22fbc25a3fd259c5fc33edef" + }, + "native/lifecycle-4/snapshots/sa-redo/source/original.arcadia": { + "bytes": 8920, + "sha256": "6e622de53897ff8789bf4d905ef3f47631c2e2f24ff4c3138a08dabd83afb443" + }, + "native/lifecycle-4/snapshots/sa-redo/started.json": { + "bytes": 884, + "sha256": "a456a7f5e685249c8510f2a5daf5b8b65b0e07ac83425dec351c3f43db5afecf" + }, + "native/lifecycle-4/snapshots/sa-redo/stderr.log": { + "bytes": 0, + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "native/lifecycle-4/snapshots/sa-redo/stdout.log": { + "bytes": 337, + "sha256": "f8f0083ca755b8cbd6568ef166858ac93347ce27a748213c921a381856f93b8b" + }, + "native/lifecycle-4/snapshots/sa-relinked/result.json": { + "bytes": 1484, + "sha256": "6dc431c02808f22c3eaaf7347bee24e551727e87c4d9b7bac996e2d9dd71888c" + }, + "native/lifecycle-4/snapshots/sa-relinked/source/original.arcadia": { + "bytes": 9161, + "sha256": "e75b4cb55e5b205bd5784a1f35573931f1e64491b646f4ffb241f90288447b5d" + }, + "native/lifecycle-4/snapshots/sa-relinked/source/traceability.arcadia": { + "bytes": 552, + "sha256": "5046e2d2731c5d8fcbcb7fe2deede0677ec61de03b85890852fa20f778c57552" + }, + "native/lifecycle-4/snapshots/sa-relinked/started.json": { + "bytes": 1161, + "sha256": "1e681be377fccc4c1f91d7b2e26019adb57371065965f4b86534b55d9c76e580" + }, + "native/lifecycle-4/snapshots/sa-relinked/stderr.log": { + "bytes": 0, + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "native/lifecycle-4/snapshots/sa-relinked/stdout.log": { + "bytes": 541, + "sha256": "85d4ac1bfc3c1e1b0d80de3560ebfdd791649e0184e91d7095b1dffb63c22e81" + }, + "native/lifecycle-4/snapshots/sa-undo/result.json": { + "bytes": 1206, + "sha256": "dc2eb7a85e7c385447b6c4e4ea9f5a1474576d0a6f45e6266a1005d703ddefdd" + }, + "native/lifecycle-4/snapshots/sa-undo/source/original.arcadia": { + "bytes": 13007, + "sha256": "4aa93f1dbba621e75aeb5ab6187f05bdb6b45ffc2b0ed083ba12599a5470b0d9" + }, + "native/lifecycle-4/snapshots/sa-undo/started.json": { + "bytes": 883, + "sha256": "3bc87f7b1c403dcd0bbc43d4ec90fd7cce264938354409829f1ce71964488977" + }, + "native/lifecycle-4/snapshots/sa-undo/stderr.log": { + "bytes": 0, + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "native/lifecycle-4/snapshots/sa-undo/stdout.log": { + "bytes": 335, + "sha256": "472530e91f9158b94a0de74552678a4f8635e3e367700d9de1d2ec3308f08d00" + }, + "native/lifecycle-4/started.json": { + "bytes": 2500, + "sha256": "825a3df690d5cce56a3929acf98e1deef82016c0ecb093a5a6dc76f7a3118c73" + }, + "native/lifecycle-4/stderr.log": { + "bytes": 0, + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "native/lifecycle-4/stdout.log": { + "bytes": 0, + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "native/lifecycle-5/01-home-0.jpg": { + "bytes": 117181, + "sha256": "b700d7c55a22618863fcc9b2943999f41c809fc3ef433d2125000c32865a1992" + }, + "native/lifecycle-5/01-home.json": { + "bytes": 918, + "sha256": "5d821de049cbcab3e447a535308eb63209d506d4f0a996154321fac2bb817c15" + }, + "native/lifecycle-5/02-reopened-0.jpg": { + "bytes": 117749, + "sha256": "17e4488951faa971836b70c6563bd54347188bf61eed8c99cd6662192d3a6113" + }, + "native/lifecycle-5/02-reopened.json": { + "bytes": 1014, + "sha256": "44b9f05425233df4d21f3a5ecb78887ecb5ddf60c4667bb8335408c6c3ebc82d" + }, + "native/lifecycle-5/03-reopened-saved-0.jpg": { + "bytes": 115978, + "sha256": "919284324d26e6903b38817be4305e997f252c9fe17bb9e37a2ce299e55b0a25" + }, + "native/lifecycle-5/03-reopened-saved.json": { + "bytes": 1043, + "sha256": "61b18ad93722f46ca3e4e570a93fb54a515f5fcd37d5093847343ad88fd600ec" + }, + "native/lifecycle-5/04-system-perspective-0.jpg": { + "bytes": 103524, + "sha256": "d3e5ccdfa2cf8ec7cde7a241f1b18f5f5e4ed1e8ad269d403ef6a5e4f97f38ee" + }, + "native/lifecycle-5/04-system-perspective.json": { + "bytes": 1047, + "sha256": "8acd65d41243c7dfdacd683317f6ce6c37da869a4e0fb67a346cad3405c3459f" + }, + "native/lifecycle-5/05-source-selected-0.jpg": { + "bytes": 110463, + "sha256": "9deb3083bef90efe108b075c56bcd97dd229e1c3234832f3b0b1855fdc8fa8b0" + }, + "native/lifecycle-5/05-source-selected.json": { + "bytes": 1044, + "sha256": "2a17ffb90c8b79d9e04fe01cd082005832fb7c6e0d38ab54fe61dfc125b2630d" + }, + "native/lifecycle-5/06-root-actions-0.jpg": { + "bytes": 114695, + "sha256": "3b48a6d64c01583badb5328074a54b314ce4486c42e209eafad19c94828d78e2" + }, + "native/lifecycle-5/06-root-actions.json": { + "bytes": 1041, + "sha256": "1045277f542a623a71cf6d24b48b6c2e952c9c5f3384650deb88496ba6b962a6" + }, + "native/lifecycle-5/07-noop-preview-0.jpg": { + "bytes": 139994, + "sha256": "7bf5e728a7a64909e289dd1f3dff7a8cfd2878b8f70966c8bf919f63ba42bcfc" + }, + "native/lifecycle-5/07-noop-preview.json": { + "bytes": 1051, + "sha256": "ff4d4df0f505660ff6acd4ea8cfdaf0812da11f3ff7cdbe58b6d45dcd34590c7" + }, + "native/lifecycle-5/08-noop-applied-0.jpg": { + "bytes": 124875, + "sha256": "bbf2c5d58ddac6985a83af8aa173404b65cf190187866e302ace8ac8e958effd" + }, + "native/lifecycle-5/08-noop-applied.json": { + "bytes": 1043, + "sha256": "418f24f551e5401c169833228fcaacc8cf2b73cb58bb1357f21019fea6bb23ff" + }, + "native/lifecycle-5/09-noop-saved-0.jpg": { + "bytes": 123089, + "sha256": "376484b12250587d7a142d9d5c07fa6cbc27833a84a8ede4d7a2284c0a32c092" + }, + "native/lifecycle-5/09-noop-saved.json": { + "bytes": 1039, + "sha256": "dd093cee3d2a07a51b4f693cce603fc4174a3c46754759301f79f150d06fa278" + }, + "native/lifecycle-5/capture-function.js": { + "bytes": 1155, + "sha256": "3b008875939b2d33173624a73d15be0129d767c2df1e9f578a4b7f462af16f02" + }, + "native/lifecycle-5/inputs.json": { + "bytes": 1758, + "sha256": "43bd282b0d76d111925ff3b78b73aacb2130fe7bf5c10ba7d882f8d38780dac2" + }, + "native/lifecycle-5/process.json": { + "bytes": 61, + "sha256": "494fe1c7ad4e25044936543c9050ae2797659ad69473c3096bd5ba504215cc17" + }, + "native/lifecycle-5/result.json": { + "bytes": 2967, + "sha256": "4a00bb1c4a57675a39e38b318f85d0bfe46ac76299ed39413d123bbf40c10fde" + }, + "native/lifecycle-5/snapshots/sa-noop/result.json": { + "bytes": 1470, + "sha256": "8635996ab92cde0f6391e6de60824cd216830b32a201a42e90eecf9e1d88e3ac" + }, + "native/lifecycle-5/snapshots/sa-noop/source/original.arcadia": { + "bytes": 9161, + "sha256": "e75b4cb55e5b205bd5784a1f35573931f1e64491b646f4ffb241f90288447b5d" + }, + "native/lifecycle-5/snapshots/sa-noop/source/traceability.arcadia": { + "bytes": 552, + "sha256": "5046e2d2731c5d8fcbcb7fe2deede0677ec61de03b85890852fa20f778c57552" + }, + "native/lifecycle-5/snapshots/sa-noop/started.json": { + "bytes": 1147, + "sha256": "973d7e2ad68cdcb0211de5cb77301b1152efe90caf5bdaecdbe1b4a69629a237" + }, + "native/lifecycle-5/snapshots/sa-noop/stderr.log": { + "bytes": 0, + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "native/lifecycle-5/snapshots/sa-noop/stdout.log": { + "bytes": 442, + "sha256": "28aa84c42995d1583df1d6e3bb5539ac30253fefb71f747c9fff9a2624483de5" + }, + "native/lifecycle-5/snapshots/sa-reopened/result.json": { + "bytes": 1478, + "sha256": "a9bd1c28691ae8701d78879661a9fab2ff4401898e262e65d95bd4bcfbf818cb" + }, + "native/lifecycle-5/snapshots/sa-reopened/source/original.arcadia": { + "bytes": 9161, + "sha256": "e75b4cb55e5b205bd5784a1f35573931f1e64491b646f4ffb241f90288447b5d" + }, + "native/lifecycle-5/snapshots/sa-reopened/source/traceability.arcadia": { + "bytes": 552, + "sha256": "5046e2d2731c5d8fcbcb7fe2deede0677ec61de03b85890852fa20f778c57552" + }, + "native/lifecycle-5/snapshots/sa-reopened/started.json": { + "bytes": 1155, + "sha256": "60288af645fec8334b60e9e28330afb76be271e1309c3da6392e96cb593433b5" + }, + "native/lifecycle-5/snapshots/sa-reopened/stderr.log": { + "bytes": 0, + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "native/lifecycle-5/snapshots/sa-reopened/stdout.log": { + "bytes": 450, + "sha256": "72471380ae433ef23ff5cc67fc620fd8852fc41c15d89c5e78a59bf648b7565f" + }, + "native/lifecycle-5/started.json": { + "bytes": 2500, + "sha256": "fa821b93fb2ab968efdf431fc9857cb8c85cc06a745ad82188cb27ee3172a072" + }, + "native/lifecycle-5/stderr.log": { + "bytes": 0, + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "native/lifecycle-5/stdout.log": { + "bytes": 0, + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "references/checks-manifest.json": { + "bytes": 79071, + "sha256": "5d2be3d68206871a560dd1a83064ff779e8aab6e11302d09aaf1a655502dd38e" + } + } +} diff --git a/harness/experiments/transition-native-lifecycle-20260913/native/prepare.py b/harness/experiments/transition-native-lifecycle-20260913/native/prepare.py new file mode 100644 index 00000000..9a26a039 --- /dev/null +++ b/harness/experiments/transition-native-lifecycle-20260913/native/prepare.py @@ -0,0 +1,37 @@ +"""Package only closed lifecycle trials 2-5; never runs a GUI or checker.""" +from pathlib import Path +import hashlib,json,sys,zipfile +OUT=Path(__file__).resolve().parent +ROOT=Path(sys.argv[1]).resolve() if len(sys.argv)>1 else OUT.parents[3] +SRC=ROOT/'.local/transition-native' +def pin(b):return {'bytes':len(b),'sha256':hashlib.sha256(b).hexdigest()} +def main(): + payload={};runs={} + for number in (2,3,4,5): + run=f'lifecycle-{number}';folder=SRC/run + result=json.loads((folder/'result.json').read_bytes()) + assert result['exitCode']==0 and 'finish' in result,run+' not closed successfully' + for f in sorted(folder.rglob('*')): + if f.is_file():payload['native/'+f.relative_to(SRC).as_posix()]=f.read_bytes() + helpers={} + for field,name in [('runner',f'run-lifecycle-{number}.py'),('launchCapture',f'capture-lifecycle-{number}.js'),('snapshot',f'check-lifecycle-snapshot-{number}.py')]: + helpers[field]='helpers/'+name;payload[helpers[field]]=(SRC/name).read_bytes() + captures=[n for n,b in payload.items() if n.startswith('native/'+run+'/') and n.endswith('.json') and isinstance(json.loads(b),dict) and 'images' in json.loads(b)] + snapshots={f.name:json.loads((f/'result.json').read_bytes())['command'][2] for f in sorted((folder/'snapshots').iterdir()) if f.is_dir()} + runs[run]={'helpers':helpers,'guiBuild':'footer-windows-build-2' if number<4 else 'footer-windows-build-3','captures':captures,'snapshots':snapshots} + for f in sorted((SRC/'lifecycle-input-1').rglob('*')): + if f.is_file():payload['fixtures/'+f.relative_to(SRC/'lifecycle-input-1').as_posix()]=f.read_bytes() + checks=OUT.parent/'checks' + payload['references/checks-manifest.json']=(checks/'manifest.json').read_bytes() + manifest={'schema':1,'checksEvidence':pin((checks/'evidence.zip').read_bytes()), + 'checksRelativePath':'../checks/evidence.zip','originalNativeDirectory':str(SRC).replace('\\','/'), + 'runs':runs,'members':{n:pin(b) for n,b in sorted(payload.items())}} + with zipfile.ZipFile(OUT/'evidence.zip','w',compression=zipfile.ZIP_DEFLATED,compresslevel=9) as z: + for n,b in sorted(payload.items()): + info=zipfile.ZipInfo(n,date_time=(2026,9,22,0,0,0));info.compress_type=zipfile.ZIP_DEFLATED;z.writestr(info,b) + (OUT/'manifest.json').write_bytes((json.dumps(manifest,indent=2)+'\n').encode()) + for n in ('README.md','verify.py','prepare.py'):(OUT/n).write_bytes((OUT/n).read_bytes().replace(b'\r\n',b'\n')) + files={n:pin((OUT/n).read_bytes()) for n in ('evidence.zip','manifest.json','README.md','verify.py','prepare.py')} + (OUT/'files.json').write_bytes((json.dumps(files,indent=2)+'\n').encode()) + print(json.dumps(files,indent=2));print('Native raw members:',len(payload)) +if __name__=='__main__':main() diff --git a/harness/experiments/transition-native-lifecycle-20260913/native/verify.py b/harness/experiments/transition-native-lifecycle-20260913/native/verify.py new file mode 100644 index 00000000..fbf272f3 --- /dev/null +++ b/harness/experiments/transition-native-lifecycle-20260913/native/verify.py @@ -0,0 +1,115 @@ +"""Read-only offline verification. Requires the pinned sibling checks/evidence.zip.""" +from pathlib import Path,PurePosixPath +from datetime import datetime +import hashlib,io,json,zipfile +ROOT=Path(__file__).resolve().parent +def pin(b):return {'bytes':len(b),'sha256':hashlib.sha256(b).hexdigest()} +def need(ok,msg): + if not ok:raise ValueError(msg) +def safe(n):return not PurePosixPath(n).is_absolute() and '..' not in PurePosixPath(n).parts and '\\' not in n and ':' not in n +def members(z,expected): + names=z.namelist();need(len(names)==len(set(names)) and set(names)==set(expected),'exact ZIP membership');need(all(safe(n) for n in names),'safe ZIP members') +def ordered(*times):return list(map(datetime.fromisoformat,times))==sorted(map(datetime.fromisoformat,times)) +def main(): + files=json.loads((ROOT/'files.json').read_bytes()) + need(set(files)=={'evidence.zip','manifest.json','README.md','verify.py','prepare.py'},'outer inventory') + for n,p in files.items():need(pin((ROOT/n).read_bytes())==p,'outer hash '+n) + m=json.loads((ROOT/'manifest.json').read_bytes()) + need(m['checksRelativePath']=='../checks/evidence.zip','fixed sibling evidence location') + checks_bytes=(ROOT/'../checks/evidence.zip').read_bytes() + need(pin(checks_bytes)==m['checksEvidence'],'pinned sibling checks archive') + with zipfile.ZipFile(ROOT/'evidence.zip') as z,zipfile.ZipFile(io.BytesIO(checks_bytes)) as checks: + members(z,m['members']) + for n,p in m['members'].items():need(pin(z.read(n))==p,'native member hash '+n) + def raw(n):return z.read(n) + def obj(n):return json.loads(raw(n)) + def directory(prefix):return {n[len(prefix):]:pin(raw(n)) for n in m['members'] if n.startswith(prefix)} + cm=obj('references/checks-manifest.json');members(checks,cm['members']) + def craw(logical): + n=cm['logicalFiles'][logical];b=checks.read(n);need(pin(b)==cm['members'][n],'checks member '+n);return b + def cobj(n):return json.loads(craw(n)) + # Source capsules and receipt helper chains are independently checked here. + builds={};artifacts={};pairs=set() + for run in ('footer-windows-build-2','footer-windows-build-3','lifecycle-producer-build-2'): + p='cargo/'+run+'/';r=cobj(p+'result.json');start=cobj(p+'started.json');process=cobj(p+'process.json') + need(all(r[k]==v for k,v in start.items()) and r['exitCode']==0 and r['inputsUnchanged'] is True,run+' build closure') + need(r['command']==process['command'] and ordered(r['start'],process['observed'],r['finish']),run+' build process') + for field,n in [('inputs','inputs.json'),('archive','inputs.zip'),('stdout','stdout.log'),('stderr','stderr.log')]:need(r[field]==pin(craw(p+n)),run+' receipt '+field) + need(r['helper']==pin(craw(cm['cargo'][run]['helper'])),run+' build helper') + inputs=cobj(p+'inputs.json');need(len(inputs)==r['inputCount'] and sum(n.startswith('crates/vendor/iced_widget/') for n in inputs)==71,run+' input inventory') + pair=(r['inputs']['sha256'],r['archive']['sha256']) + if pair not in pairs: + with zipfile.ZipFile(io.BytesIO(craw(p+'inputs.zip'))) as source: + members(source,inputs) + for n,expected in inputs.items():need(pin(source.read(n))==expected,run+' source '+n) + pairs.add(pair) + records=[] + for line in craw(p+'stdout.log').decode('utf-8',errors='replace').splitlines(): + try:item=json.loads(line) + except json.JSONDecodeError:continue + if isinstance(item,dict) and item.get('reason')=='compiler-artifact' and item.get('executable'):records.append(item) + need(records==[a['cargo'] for a in r['artifacts']],run+' artifact records') + expected='transition-native-lifecycle' if run.startswith('lifecycle') else 'arcadia-studio' + selected=[a for a in r['artifacts'] if a['cargo']['target']['name']==expected];need(len(selected)==1,run+' unique artifact') + builds[run]=r;artifacts[run]=selected[0] + original=m['originalNativeDirectory'].rstrip('/')+'/' + def mapped(path): + norm=path.replace('\\','/');need(norm.startswith(original),'snapshot path outside captured native root') + rel=norm[len(original):];need(safe(rel),'unsafe snapshot path');return 'native/'+rel + fixtures=directory('fixtures/');snapshots={};reports={};capture_count=image_count=0 + need(set(m['runs'])=={'lifecycle-2','lifecycle-3','lifecycle-4','lifecycle-5'},'closed trial membership') + for run,spec in m['runs'].items(): + p='native/'+run+'/';r=obj(p+'result.json');start=obj(p+'started.json');process=obj(p+'process.json') + build=builds[spec['guiBuild']];artifact=artifacts[spec['guiBuild']] + need(all(r[k]==v for k,v in start.items()),run+' start/result relationship') + need(r['exitCode']==0 and r['inputUnchanged'] is True and r['binary']==r['binaryAfter']==artifact['readback'],run+' native closure and binary pin') + need(r['buildReceipt']==pin(craw('cargo/'+spec['guiBuild']+'/result.json')) and r['buildHead']==build['head'],run+' GUI build relationship') + need(r['command']==[artifact['cargo']['executable']] and process['pid']>0,run+' native command/PID') + need(ordered(build['finish'],r['start'],process['observed'],r['finish']),run+' native times') + need(r['helper']==pin(raw(spec['helpers']['runner'])) and r['captureHelper']==pin(raw(spec['helpers']['launchCapture'])),run+' launch helper pins') + need(p+'capture-function.js' in m['members'],run+' actual capture-function record') + need(r['inputs']==pin(raw(p+'inputs.json')) and obj(p+'inputs.json')==fixtures,run+' unchanged fixture bytes') + for stream in ('stdout','stderr'):need(not raw(p+stream+'.log') and r[stream]==pin(raw(p+stream+'.log')),run+' empty '+stream) + images=[] + actual_captures=[n for n in m['members'] if n.startswith(p) and n.endswith('.json') and isinstance(obj(n),dict) and 'images' in obj(n)] + need(set(actual_captures)==set(spec['captures']) and len(actual_captures)==len(spec['captures']),run+' exact metadata coverage') + for n in spec['captures']: + frame=obj(n);need(ordered(r['start'],frame['time'],r['finish']),n+' frame timestamp') + need(frame['window']['app'].replace('\\','/')=='process:'+r['command'][0].replace('\\','/'),n+' window executable path') + for image in frame['images']: + name=p+image['file'];b=raw(name) + need(image['width']>0 and image['height']>0 and (b.startswith(b'\xff\xd8') or b.startswith(b'\x89PNG')),n+' image record') + images.append(name) + actual_images={n for n in m['members'] if n.startswith(p) and n.endswith(('.jpg','.png'))} + need(len(images)==len(set(images)) and set(images)==actual_images,run+' all original images') + capture_count+=len(spec['captures']);image_count+=len(images) + actual_snapshots={n.split('/')[3] for n in m['members'] if n.startswith(p+'snapshots/')} + need(actual_snapshots==set(spec['snapshots']),run+' snapshot inventory') + for label,state in spec['snapshots'].items(): + q=p+'snapshots/'+label+'/';s=obj(q+'result.json');ss=obj(q+'started.json');report=obj(q+'stdout.log') + checker=artifacts['lifecycle-producer-build-2'] + need(all(s[k]==v for k,v in ss.items()) and s['exitCode']==0 and s['binaryUnchanged'] is True and s['workingSourceUnchanged'] is True,label+' snapshot closure') + need(ordered(r['start'],s['time'],r['finish']),label+' snapshot start during trial') + need(s['binary']==checker['readback'] and s['buildReceipt']==pin(craw('cargo/lifecycle-producer-build-2/result.json')),label+' corrected checker build') + need(s['helper']==pin(raw(spec['helpers']['snapshot'])),label+' snapshot helper pin') + need(s['source']==directory(q+'source/'),label+' exact saved source bytes') + for stream in ('stdout','stderr'):need(s[stream]==pin(raw(q+stream+'.log')),label+' '+stream) + need(not raw(q+'stderr.log'),label+' empty snapshot stderr') + cmd=s['command'];need(cmd[:3]==[checker['cargo']['executable'],'check',state] and mapped(cmd[3])==q+'source/original.arcadia',label+' checker command') + need(report['status']=='PASS' and report['comparison']=='complete Project equality' and report['state']==state and report['entry']==cmd[3],label+' accepted model oracle') + opts=cmd[4:];need(len(opts)%2==0,label+' option pairs') + for flag,path in zip(opts[::2],opts[1::2]): + need(flag in ('--identities','--write-identities'),label+' identity-only options') + need(obj(mapped(path))==report['new_ids'],label+' exact identity receipt') + if state.endswith(('-reopened','-noop')):need('--identities' in opts and report['trace_identity_pinned'] is True,label+' continuity identity pin') + if state.endswith('-relinked'):need('--write-identities' in opts and mapped(report['identity_receipt'])==mapped(opts[opts.index('--write-identities')+1]),label+' initial accepted identities') + snapshots[(run,label)]=s['source'];reports[(run,label)]=report + print(run,'captures',len(spec['captures']),'images',len(images),'accepted snapshots',len(spec['snapshots'])) + for side,first,later in [('oa','lifecycle-2','lifecycle-3'),('sa','lifecycle-4','lifecycle-5')]: + base=snapshots[(first,side+'-relinked')];ids=reports[(first,side+'-relinked')]['new_ids'] + for phase in ('reopened','noop'): + key=(later,side+'-'+phase) + need(snapshots[key]==base and reports[key]['new_ids']==ids,side+' saved bytes and identity continuity '+phase) + print('PASS: 4 closed trials;',len(snapshots),'accepted full-model receipts;',capture_count,'capture records;',image_count,'original images;',len(pairs),'linked source capsules.') + print('No UI history authentication or checker re-execution; snapshot receipts lack completion timestamps. Frame dimensions vary.') +if __name__=='__main__':main() diff --git a/harness/experiments/transition-native-lifecycle-20260913/review.md b/harness/experiments/transition-native-lifecycle-20260913/review.md new file mode 100644 index 00000000..1b1ca345 --- /dev/null +++ b/harness/experiments/transition-native-lifecycle-20260913/review.md @@ -0,0 +1,102 @@ +# Independent bounded transition review + +Reviewer: `transition_picker_review`, 2026-09-22. This review inspected code, +original native screenshots and closed-run/snapshot receipts. The reviewer did +not operate the application, build it, rerun the checker, or alter the specimens. +Only this review note was written. The parent owns execution and publication. + +The reviewed production baseline is `d0b7c285018a516c6dc34c196d1359a861ddaeb3` +plus the captured, initially uncommitted footer changes in +`crates/oa-desktop/src/workflow.rs`. HEAD alone does not identify those changes. +Lifecycle trials 2 and 3 identify GUI SHA-256 +`3813e79d84cf4a83f2290639b93c3daaa8de427b0268b288f87e4f535fa1aea2`; +trials 4 and 5 identify final-footer GUI SHA-256 +`f0bb021e350bcc55435d29e3daf6a4b3dd7389620df99f5d169f9cb669fd53d0`. +Exact build/source inventories belong to the accompanying evidence packages. + +## Code and evaluator findings + +The picker shares the core layer/category/kind predicate, preserves selected +identity independently of search results, and keeps query state outside the +request and recovery schema. Query events return before replanning. Compatibility +does not imply that dependencies or the complete transition plan are valid. +Distinct traced IDs, rather than trace-record count, determine inferred reuse; +ambiguous traces remain an explicit decision. Manual tracing remains separate. + +The desktop tests compare the whole request, plan and recovery snapshot during +search, including generated preview identities. The initial second-query test +used a target ID rather than a second rendered source card; native corrected +picker frame 17 separately demonstrates two visible source cards with independent +queries. These checks do not prove keyboard access or every focus transition. + +The core lifecycle tests and [native producer/checker](producer/src/main.rs) +construct expected deletions from fixture-owned identities, not a deletion +impact helper or observed deletion result. Expected recreation adds only the +replacement root. Expected relinking adds a directly constructed refinement +trace and reviewed baseline while preserving target prose, bodies, ownership, +geometry, routes and artifacts. Whole-Project equality detects incidental changes. +First-relink admission may observe the fresh trace UUID; reopen/no-op admission +requires the previously written identity receipt and rejects replacement IDs. +Source loading rejects compiler-inserted identities. Round trips compare the +decoded model; they do not promise original comments or formatting preservation. +No blocking conservation-oracle defect was found in the inspected paths. + +## Native observations + +Trial/frame labels below refer to original `*-0.jpg` files and matching JSON +under `.local/transition-native/` at capture time. Receipt evidence is distinct +from what screenshots visibly establish. Capture helpers and checksums provide +provenance context, not authenticated historical action logs. + +| Originals inspected | Visible observation | +| --- | --- | +| `picker-baseline-1` 10–11 | Activity menu includes incompatible ports; selecting one yields a kind conflict. | +| `picker-corrected-2` 06–07, 10–12, 15, 17–19, 22–23 | Six compatible Functions are sorted; alias filtering preserves current selection until explicit selection; zero results preserve the selected target; two cards retain independent queries; field review remains required; clearing search retains Keep target; Cancel returns to the saved-status view. | +| `lifecycle-2` 05, 11–12 | OA deletion is visible; a replacement root declaration is entered and applied through Textual model. | +| `lifecycle-2` 17, 21, 27–30 | Recreation initially offers Create rather than silently relinking. Selecting the retained SA target requires Name and Description decisions. Sticky guidance advances from Name/two conflicts to Description/one, then clears after both Keep target decisions. Seven warnings do not block Apply. | +| `lifecycle-2` 31–32 | Apply displays the retained SA root, children and exchange; subsequent frame reports all changes saved. | +| `lifecycle-3` 02, 06–08 | A fresh process opens the saved model; unchanged transition infers reuse without field conflicts; Apply and save return to the retained SA design. | +| `lifecycle-4` 12, 14, 16, 22–23 | SA deletion, Undo restoration, Redo deletion and replacement-root entry/application are visible. | +| `lifecycle-4` 28, 30–38 | Reverse transition defaults to Create; alias search offers the retained OA Activity; explicit selection requires both prose decisions. Persistent guidance follows two/one/zero conflicts. Apply displays the retained OA decomposition and save reports completion. The final `reviewed items` wording is visible. | +| `lifecycle-5` 02, 07–09 | A fresh process opens the retained OA design; unchanged SA-to-OA review infers the accepted counterpart without conflicts; Apply and save retain the visible OA design. | + +Closed GUI receipts for lifecycle trials 2–5 record exit 0, empty stdout/stderr, +and unchanged executable hashes. Snapshot receipts record exit 0 for OA deletion, +recreation and relink; OA reopen/no-op; and SA deletion, original-state Undo, +deletion-state Redo, recreation, relink and subsequent reopen/no-op. Checks operate on saved source copies +and report the working source unchanged. SA Redo's source hash equals deletion's. + +OA relink, reopen and no-op snapshots have identical hashes for both +`original.arcadia` and `traceability.arcadia`. Reopen/no-op use source +`8eb83649-2810-58e1-94cd-71e25422658e` and accepted trace +`856eb758-33fc-4ebf-9a87-22ad40a89952`. SA first relink establishes source +`074eab66-7092-5e7e-8b83-b31b95afdbcb` and trace +`acc7969b-08c3-43f4-a31d-9140ca873ffe`. Trial 5 passes that exact first-relink +receipt to both saved-source checks. Its reopen and no-op source hashes match the +first relink for both files (`original.arcadia`: `e75b4cb55e5b205bd5784a1f35573931f1e64491b646f4ffb241f90288447b5d`; +`traceability.arcadia`: `5046e2d2731c5d8fcbcb7fe2deede0677ec61de03b85890852fa20f778c57552`). +This supports conservation and persisted identity across these finite reopen and +unchanged-review workflows in both directions. No new blocking finding arose +from the reviewed lifecycle evidence. + +## Feedback correction and remaining limits + +Corrected picker frames 12/15 initially left Apply disabled while its explanation +was below the fold. The reviewed footer change moves counts outside the scrolling +body and derives guidance from the same conflicts and destination validity used +by Apply. It adds no persisted state and weakens no validation. Generic guidance +was corrected from “adjust mapping or scope” because operation-omission rationale +and component-port decisions require other controls. Final native trial 4 shows +the Name/Description guidance and `reviewed items` count. Destination, boundary +and general-conflict guidance were checked against code, not exercised in these +native lifecycle frames. + +All inspected originals are 1442×932. Resize attempts did not establish a smaller +viewport, regardless of frame filenames; minimum-window behavior is unverified. +The inherited picker is pointer-dependent. This review does not establish full +keyboard/screen-reader accessibility, packaged launch, other platforms, arbitrary +models, implicit creation applied natively, or relink Undo/Redo. Recreated roots +were authored through Textual model and intentionally have no new placement; +the empty source canvas is consistent with that fixture. Screenshots alone do +not establish complete model conservation: the independent saved-source comparisons +provide that bounded evidence. diff --git a/harness/transition-lifecycle-20260913.md b/harness/transition-lifecycle-20260913.md index 7a3411f3..b6fe6425 100644 --- a/harness/transition-lifecycle-20260913.md +++ b/harness/transition-lifecycle-20260913.md @@ -52,4 +52,83 @@ The corrected GUI trial ran 2026-09-13 15:22:22–15:27:13 UTC on `d46854c`. It Independent read-only reviews found no blocking defect in the shared predicate, selection/query handling, recovery behavior, or lifecycle conservation evaluator. Two refinements were incorporated: empty-query feedback no longer asks to clear an already empty search, and query-isolation tests use two actual OA source cards. A separate review of original native frames confirmed the bounded observations above without a blocking visual regression. Remaining friction: disabled Apply can have its required field-review explanation below the fold, requiring a scroll. Keyboard-only picker operation and broader transition-dialog feedback remain incomplete. -The native trial establishes this finite Windows selection/review/cancel workflow. It does not establish native endpoint deletion/recreation/relink, saving an applied transition, packaged launch, or whole-project equality from screenshots. Those lifecycle operations have the core evidence above; the broader C1 native acceptance and integration/release decision remain open. +That picker-only trial establishes the finite Windows selection/review/cancel workflow. The applied lifecycle follow-up below supplies separate native and saved-model evidence; neither trial is a packaged-release acceptance claim. + +## Applied native lifecycle follow-up, 2026-09-22 + +The original disabled-Apply observation led to a small presentation correction: +transition counts and the next blocking decision now remain beside Apply, outside +the scrolling mappings. Guidance identifies destination, boundary-kind, field or +other conflict decisions; it does not weaken Apply validation. The count says +`reviewed items` because a reused item need not change the model. No new persisted +state or transition semantics are introduced. + +The [isolated producer/checker](experiments/transition-native-lifecycle-20260913/producer/README.md) +defines a deterministic two-layer fixture and independently constructs expected +deletion, recreation and relink states. It compares complete Projects, exact +engineering-warning multisets, JSON/source round trips and persisted identities. +An independent critic exposed two potential false passes: learning replacement +identities again after reopening, and accepting identities inserted only into +compiler memory. Both were corrected. First relink records accepted identities; +reopen/reapply require that unchanged receipt. Forty synthetic falsification +trials include deliberate prose/geometry corruption, identity drift, omitted +persisted IDs and receipt misuse. They are checker evidence, not GUI actions. + +The [closed Cargo and oracle package](experiments/transition-native-lifecycle-20260913/checks/README.md) +retains ten successful invocations, including strict all-target Clippy, final +desktop build and both format checks. Earlier checker build1 incorrectly rejected +the fixture's expected engineering warnings during native admission; corrected +build2 accepts only the exact expected diagnostic multiset. The original failed +admission and an interrupted first GUI session were not counted as successful +native trials. The final build differs from the linted footer only in the +`changes` to `reviewed items` literal; the package verifies that exact delta. + +Four fresh, closed Windows sessions provide the +[native evidence](experiments/transition-native-lifecycle-20260913/native/README.md): + +| Flow | Native operations and saved-source acceptance | +| --- | --- | +| OA source, trials 2–3 | Delete OA root; recreate only that root through Textual model; search `@sa_response`; explicitly select the retained SA function; keep target Name and Description; apply/save; restart/open/save; unchanged review/apply/save. Five full-Project checks pass. | +| SA source, trials 4–5 | Delete SA root; Undo/save restores the complete original; Redo/save repeats the deletion; recreate only that root through Textual model; search `@oa_response`; explicitly select the retained OA activity; keep both prose fields; apply/save; restart/open/save; unchanged review/apply/save. Seven full-Project checks pass. | + +The retained opposite-layer design includes children, internal exchanges, typed +SA ports, shared contracts, authored diagram geometry/routes and artifact links. +Recreated roots intentionally have no children or placement. The relink adds one +trace and its reviewed baseline; it does not recreate deleted design work. +For each direction, both saved source files remain byte-identical through relink, +restart/save and unchanged reapply/save, with the first accepted source/trace IDs +pinned. This is evidence about these concrete files, not a general promise to +preserve arbitrary authored comments or whitespace. + +All four processes exited zero with empty stdout/stderr and unchanged executable +hashes. Trials 2–3 used GUI SHA256 +`3813e79d84cf4a83f2290639b93c3daaa8de427b0268b288f87e4f535fa1aea2`; +trials 4–5 used the final 117,090,816-byte GUI SHA256 +`f0bb021e350bcc55435d29e3daf6a4b3dd7389620df99f5d169f9cb669fd53d0`. +Build receipts record HEAD `d0b7c28` plus captured uncommitted input bytes; +the 715-file final inventory, rather than that old HEAD alone, identifies the +tested source. All 715 captured inputs were checked against exact staged Git +blobs before source commit `05e4c83054dc8b2f156e50e7731a50ac19ae8767`. + +The [independent review](experiments/transition-native-lifecycle-20260913/review.md) +separates original-frame observations from saved-model comparisons and found no +new blocking defect in this bounded workflow. Native frames show the persistent +Name/Description instruction advancing with two, one and zero conflicts, while +expected modeling warnings remain nonblocking. Destination, boundary and generic +conflict guidance were reviewed in code but not exercised by these native trials. +All main-window captures are 1442×932; attempted resizing did not establish +minimum-window behavior. Keyboard/screen-reader accessibility, native implicit +creation, relink Undo/Redo, arbitrary models and packaged launch remain outside +this acceptance. Linux checks remain paused by the user. Integration and release +status belong to issue 28; this is branch-specific evidence. + +Run the read-only evidence verifiers with Python 3.10+: + +```text +python harness/experiments/transition-native-lifecycle-20260913/checks/verify.py +python harness/experiments/transition-native-lifecycle-20260913/native/verify.py +``` + +These verify archived bytes and recorded relationships without executing archived +code or authenticating historical interaction. The producer README gives the +commands and native steps to reproduce behavior independently.