diff --git a/.gitattributes b/.gitattributes index 56189a90..3ab5a6b0 100644 --- a/.gitattributes +++ b/.gitattributes @@ -37,6 +37,9 @@ harness/experiments/cli-packaging-20260911/** -text whitespace=cr-at-eol harness/experiments/cli-prerelease-20260911/** -text whitespace=cr-at-eol harness/experiments/contextual-source-20260911/** -text whitespace=cr-at-eol harness/experiments/contextual-source-20260911/**/*.log whitespace=-blank-at-eof,cr-at-eol +harness/experiments/scenario-native-local-20260911/** -text whitespace=cr-at-eol +harness/experiments/scenario-native-local-20260911/**/*.log whitespace=-blank-at-eof,cr-at-eol +harness/experiments/scenario-native-local-20260911/**/*.arcadia whitespace=-blank-at-eol,cr-at-eol harness/fixtures/staged-source-authoring/** -text whitespace=cr-at-eol harness/staged-source-authoring-contract.rs -text whitespace=cr-at-eol diff --git a/harness/experiments/scenario-native-local-20260911/README.md b/harness/experiments/scenario-native-local-20260911/README.md new file mode 100644 index 00000000..9de0a315 --- /dev/null +++ b/harness/experiments/scenario-native-local-20260911/README.md @@ -0,0 +1,106 @@ +# Closed local scenario native evidence — 2026-09-11 + +Codex-9e8r6t `/root/palette_finish` preserved the closed +`.local/native-qa/scenario-20260911-v5/` run. The authoritative workflow record is +[the root native report](../../release-scenario-native-local-20260911.md). +This directory preserves observations and existing checker results; it adds no +semantic expectations and reruns no compiler, oracle, application or native task. + +## Scope and count + +**80 original payload files, 2,370,037 bytes**, copied exactly and reread against +their original paths: + +| Evidence | Files | +| --- | ---: | +| Two `.arcadia` sources from each of 14 checkpoints | 28 | +| One shared, identical `expected-baseline.json` | 1 | +| Original compile, self-check, model/source and identity logs | 29 | +| B2/B3 screenshots | 21 | +| Original oracle provenance JSON | 1 | + +`manifest.json` records every original path, destination, byte count and SHA256. +Its SHA256 is `cd0dba7fe8031128282f41dab0aa02e2f7c4c37debddbd32843b2b94b6baef33`. +`SHA256SUMS.txt` covers all 80 copied payloads; its SHA256 is +`c819bad78484167c21dfbd9e9a3647a487ec1f33d276e865f2d39c35b117322d`. +`preserve.py` is the bounded copying/checking method and `preservation.log` +records its successful exact-byte result. Files already present must match +the original bytes; they are never overwritten with different content. + +Excluded: mutable `work/`, `scenario-authoring-contract.exe`, `libunwind.dll`. +The original oracle source and baseline fixtures are already committed at +`harness/scenario-authoring-contract.rs` and +`harness/fixtures/scenario-authoring/base/`; they are not duplicated here. + +## Physical checkpoint inventory and shared evidence + +Every original checkpoint contained exactly three physical files: + +1. `project.arcadia` — model entry, preserved in that checkpoint's directory. +2. `rationale.arcadia` — second reachable source, preserved there byte for byte. +3. `expected-baseline.json` — copied fixture evidence, not an authored model + source or a new expected model derived after an edit. + +All 14 JSON copies were identical: **38,589 bytes**, SHA256 +`abd8246c939ebb8a2162ef82e23d0fb322ee1a8b4d0d7c28a34037e42e86e841`. +Only `common/expected-baseline.json` is stored here. Each checkpoint's manifest +records all three original files and maps its JSON to that shared copy. Thus the +complete original **42-file physical inventory** is recorded without 13 needless +JSON duplicates. If reconstructing an original whole-directory checkpoint, +place that exact shared JSON beside its two preserved sources. + +| Checkpoint group | Preserved directories | +| --- | --- | +| B3 navigation/cancel baseline | `checkpoint-b3-navigation` | +| OA Action | `checkpoint-oa-action`, `checkpoint-oa-action-undo`, `checkpoint-oa-action-redo` | +| OA State | `checkpoint-oa-state`, `checkpoint-oa-state-undo`, `checkpoint-oa-state-redo` | +| OA bound Reuse | `checkpoint-oa-reuse`, `checkpoint-oa-reuse-undo`, `checkpoint-oa-reuse-redo` | +| OA Fragment | `checkpoint-oa-fragment`, `checkpoint-oa-fragment-undo`, `checkpoint-oa-fragment-redo` | +| Final OA reopen/Save | `checkpoint-oa-reopen` | + +## Existing verification and failure provenance + +GUI identity from the root report is +`D4D9C2BD937E301FF1009D7CB93A34EE5AA6DFC837FF7E87D468C85371B20C31`. +The retained oracle provenance identifies executable +`BA9142DD98CC5EE386D344941216F4F7033F0B6992A4668F56C8B6A9A85D08C2` +and original source +`3BDA3EBC38E99BB658AD3EB9A5889E9C1CC77E8B1F8609079580AE27A4E8E789`. +These are recorded artifact identities; no executable is copied or executed. + +`logs/oracle-compile-incompatible-json.log` preserves the meaningful first +compile failure: E0277 from mismatched serde/core build artifacts. The corrected +JSON/core dependency fingerprint compiled the unchanged oracle with warnings +denied in **6.585732 seconds**, recorded at `2026-09-11T11:30:26.4512964Z`. +`oracle-compile.log` is the original empty successful diagnostic file; +`oracle-provenance.json` supplies the successful build identity. Empty output +alone is not treated as success. Existing self-check and baseline logs follow. + +The recorded native scope is complete OA B2 Action, nested State, explicitly +bound Reuse and Fragment: each Create/Save, one Undo/Save and one Redo/Save +passed independent complete Project/two-source predictions, with `*-exact.log` +comparisons pinning the original accepted identities. The final OA file-picker +reopen/Save passed the fragment prediction and exact identity/source comparison. + +B3 observations remain separately bounded: both OA use-return paths at wide +and minimum size, both SA paths at minimum with focused canvas, and disabled +pending Open retaining the raw draft before explicit Cancel/Save. Screenshots +support the named native observations; the oracle does not measure focus, +selection or scroll offsets. The root report retains failed border-resize +attempts, the old misleading no-op Undo status and inherited form-scroll issue. + +**No local SA B2 pass is claimed.** Separate SA creations/history/reopen, broader +raw-draft/Escape cases, later contextual-source GUI behavior and B4 lifetime +rendering remain outside this closed D4D9 evidence. Existing self-check coverage +of eight OA/SA expected stages does not establish native execution of them. + +Proposed exact-byte attribute rules for root integration: + +```gitattributes +harness/experiments/scenario-native-local-20260911/** -text whitespace=cr-at-eol +harness/experiments/scenario-native-local-20260911/**/*.log whitespace=-blank-at-eof,cr-at-eol +``` + +The log rule preserves original trailing blank lines without rewriting measured +compiler/checker output. This worker made no attribute or Git changes and did +not edit the root report, prior reports, production sources or common ledgers. diff --git a/harness/experiments/scenario-native-local-20260911/SHA256SUMS.txt b/harness/experiments/scenario-native-local-20260911/SHA256SUMS.txt new file mode 100644 index 00000000..55122bae --- /dev/null +++ b/harness/experiments/scenario-native-local-20260911/SHA256SUMS.txt @@ -0,0 +1,80 @@ +9b1afbe96b0bf8fa613451b00929492f05a59b9eb2ca74c2c374a8b7bb7cba9e checkpoint-b3-navigation/project.arcadia +82df210f22f6aa336a3e7e00240977d671c7c3923db7bc58fb29e6d98b67ef49 checkpoint-b3-navigation/rationale.arcadia +b706f7098920ef75689892035cb0324524a5358d869cdb65166e87a05b31368a checkpoint-oa-action-redo/project.arcadia +82df210f22f6aa336a3e7e00240977d671c7c3923db7bc58fb29e6d98b67ef49 checkpoint-oa-action-redo/rationale.arcadia +9b1afbe96b0bf8fa613451b00929492f05a59b9eb2ca74c2c374a8b7bb7cba9e checkpoint-oa-action-undo/project.arcadia +82df210f22f6aa336a3e7e00240977d671c7c3923db7bc58fb29e6d98b67ef49 checkpoint-oa-action-undo/rationale.arcadia +b706f7098920ef75689892035cb0324524a5358d869cdb65166e87a05b31368a checkpoint-oa-action/project.arcadia +82df210f22f6aa336a3e7e00240977d671c7c3923db7bc58fb29e6d98b67ef49 checkpoint-oa-action/rationale.arcadia +fb857a17bd64bd02a183f4f1ad24ac3d6ff11d0aaff7e90f12f3e72088f8bb5b checkpoint-oa-fragment-redo/project.arcadia +82df210f22f6aa336a3e7e00240977d671c7c3923db7bc58fb29e6d98b67ef49 checkpoint-oa-fragment-redo/rationale.arcadia +08c533f0f4a7b11130ff60f39803a3cf220ab49e6421c00f3897edb2b7ae2544 checkpoint-oa-fragment-undo/project.arcadia +82df210f22f6aa336a3e7e00240977d671c7c3923db7bc58fb29e6d98b67ef49 checkpoint-oa-fragment-undo/rationale.arcadia +fb857a17bd64bd02a183f4f1ad24ac3d6ff11d0aaff7e90f12f3e72088f8bb5b checkpoint-oa-fragment/project.arcadia +82df210f22f6aa336a3e7e00240977d671c7c3923db7bc58fb29e6d98b67ef49 checkpoint-oa-fragment/rationale.arcadia +fb857a17bd64bd02a183f4f1ad24ac3d6ff11d0aaff7e90f12f3e72088f8bb5b checkpoint-oa-reopen/project.arcadia +82df210f22f6aa336a3e7e00240977d671c7c3923db7bc58fb29e6d98b67ef49 checkpoint-oa-reopen/rationale.arcadia +08c533f0f4a7b11130ff60f39803a3cf220ab49e6421c00f3897edb2b7ae2544 checkpoint-oa-reuse-redo/project.arcadia +82df210f22f6aa336a3e7e00240977d671c7c3923db7bc58fb29e6d98b67ef49 checkpoint-oa-reuse-redo/rationale.arcadia +38ec535bf2e85250bfda736850583ddaacd512dcbb973b0c54a0e7916377e257 checkpoint-oa-reuse-undo/project.arcadia +82df210f22f6aa336a3e7e00240977d671c7c3923db7bc58fb29e6d98b67ef49 checkpoint-oa-reuse-undo/rationale.arcadia +08c533f0f4a7b11130ff60f39803a3cf220ab49e6421c00f3897edb2b7ae2544 checkpoint-oa-reuse/project.arcadia +82df210f22f6aa336a3e7e00240977d671c7c3923db7bc58fb29e6d98b67ef49 checkpoint-oa-reuse/rationale.arcadia +38ec535bf2e85250bfda736850583ddaacd512dcbb973b0c54a0e7916377e257 checkpoint-oa-state-redo/project.arcadia +82df210f22f6aa336a3e7e00240977d671c7c3923db7bc58fb29e6d98b67ef49 checkpoint-oa-state-redo/rationale.arcadia +b706f7098920ef75689892035cb0324524a5358d869cdb65166e87a05b31368a checkpoint-oa-state-undo/project.arcadia +82df210f22f6aa336a3e7e00240977d671c7c3923db7bc58fb29e6d98b67ef49 checkpoint-oa-state-undo/rationale.arcadia +38ec535bf2e85250bfda736850583ddaacd512dcbb973b0c54a0e7916377e257 checkpoint-oa-state/project.arcadia +82df210f22f6aa336a3e7e00240977d671c7c3923db7bc58fb29e6d98b67ef49 checkpoint-oa-state/rationale.arcadia +abd8246c939ebb8a2162ef82e23d0fb322ee1a8b4d0d7c28a34037e42e86e841 common/expected-baseline.json +0bdc966daf9ca03aa350306578c2ecc058ded7b471b008778d14878c2d3416c5 logs/b3-cancel-baseline.log +4c1b57431e74ae82823e5fd4bdb199d7c6a42f4e890b8344342eb467364495e8 logs/b3-exact-baseline.log +4c1b57431e74ae82823e5fd4bdb199d7c6a42f4e890b8344342eb467364495e8 logs/oa-action-redo-exact.log +321248f5341b443cf56b57025ae4abc24af8eaa960ae5861aa3d5df8482291d3 logs/oa-action-redo.log +4c1b57431e74ae82823e5fd4bdb199d7c6a42f4e890b8344342eb467364495e8 logs/oa-action-undo-exact.log +0bdc966daf9ca03aa350306578c2ecc058ded7b471b008778d14878c2d3416c5 logs/oa-action-undo.log +321248f5341b443cf56b57025ae4abc24af8eaa960ae5861aa3d5df8482291d3 logs/oa-action.log +0bdc966daf9ca03aa350306578c2ecc058ded7b471b008778d14878c2d3416c5 logs/oa-b3-baseline-after-save.log +4c1b57431e74ae82823e5fd4bdb199d7c6a42f4e890b8344342eb467364495e8 logs/oa-fragment-redo-exact.log +017252a83310d2c28952b1d94cd706530cbcadb6d019d3f82a0e022a774802eb logs/oa-fragment-redo.log +4c1b57431e74ae82823e5fd4bdb199d7c6a42f4e890b8344342eb467364495e8 logs/oa-fragment-undo-exact.log +130ffba8e408f944e1698e5beb9fc9a1fbedb2f914aa3b593ef45d4f12dbc447 logs/oa-fragment-undo.log +017252a83310d2c28952b1d94cd706530cbcadb6d019d3f82a0e022a774802eb logs/oa-fragment.log +4c1b57431e74ae82823e5fd4bdb199d7c6a42f4e890b8344342eb467364495e8 logs/oa-reopen-exact.log +017252a83310d2c28952b1d94cd706530cbcadb6d019d3f82a0e022a774802eb logs/oa-reopen.log +4c1b57431e74ae82823e5fd4bdb199d7c6a42f4e890b8344342eb467364495e8 logs/oa-reuse-redo-exact.log +130ffba8e408f944e1698e5beb9fc9a1fbedb2f914aa3b593ef45d4f12dbc447 logs/oa-reuse-redo.log +4c1b57431e74ae82823e5fd4bdb199d7c6a42f4e890b8344342eb467364495e8 logs/oa-reuse-undo-exact.log +4e329222b6a452c50de27826d8069a3c52bf9442f6fedce3fc6410c1ad9b1fe0 logs/oa-reuse-undo.log +130ffba8e408f944e1698e5beb9fc9a1fbedb2f914aa3b593ef45d4f12dbc447 logs/oa-reuse.log +4c1b57431e74ae82823e5fd4bdb199d7c6a42f4e890b8344342eb467364495e8 logs/oa-state-redo-exact.log +4e329222b6a452c50de27826d8069a3c52bf9442f6fedce3fc6410c1ad9b1fe0 logs/oa-state-redo.log +4c1b57431e74ae82823e5fd4bdb199d7c6a42f4e890b8344342eb467364495e8 logs/oa-state-undo-exact.log +321248f5341b443cf56b57025ae4abc24af8eaa960ae5861aa3d5df8482291d3 logs/oa-state-undo.log +4e329222b6a452c50de27826d8069a3c52bf9442f6fedce3fc6410c1ad9b1fe0 logs/oa-state.log +0bdc966daf9ca03aa350306578c2ecc058ded7b471b008778d14878c2d3416c5 logs/oracle-baseline.log +304b1828e20293c48aab74272767c2d9b0e43b0034f19aedeee8b95da410e67f logs/oracle-compile-incompatible-json.log +e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 logs/oracle-compile.log +df226f7672d87e186aa35b1e6cca30c73ff0d046036348b19688c20f647bab21 logs/oracle-self-check.log +6acd92e0a8baaf00933df22993f69a239af7a9430ead45160d590f20591ce231 provenance/oracle-provenance.json +15111be6ed97767062a634dc8a0ea0da552e435013b2b90aba47d809198c1a19 screenshots/oa-action-click-target.png +1b550c0832947de757774bec25b074d393bf75f9be54c76e855338cbf90abd09 screenshots/oa-action-ready-source-and-slot.png +37b311a6d251abefb275b10059a6d6ff5a5d3bb394622465bc87fe90bb9a0fbe screenshots/oa-first-use-detail-after-return.png +c0ee262babe44479f6b1729d8e770b138a498d06e39b7bd47dcdb6dbbc42f078 screenshots/oa-first-use-detail-before-open.png +aa015b7ca5b6e7a9e87521a3771ec3a956c968c5350c8eff1e2b885853c959da screenshots/oa-first-use-min-after-return.png +31e22bb757a50234246ba13be070bd0d4aede096123be0a0248d45ae89e4b88f screenshots/oa-first-use-min-before-open.png +2079e0a8d640f82900f223934566db38f334149b864ebb65e652a3d4c7daf481 screenshots/oa-fragment-clicked-slot.png +31800124faa2460678a0063036022f215d47176e4c81f65865fe3c670a725991 screenshots/oa-fragment-ready-guards.png +e52d576aa889cfbebc37b1017f701b40e9fb7035de74508e1eaba345d316e413 screenshots/oa-reopened-saved.png +df6686342ad0a37ee8949f22390c88b331c8b5a5398ee885c10a9b36ded3845b screenshots/oa-reuse-ready-bindings.png +8572f32e04829fe89cf1c8a82c64de6d55155b7ef345d856a3ea47baeed952a3 screenshots/oa-second-use-after-return.png +095012ff20ed85fa7cc98a9c2a3e330c24fe8ce9695dfefd1c0e26d1083d01e2 screenshots/oa-second-use-before-open.png +936240cc9b8065538a265f9ac584be0fc3c1659343fad5a280b3e12c93673c39 screenshots/oa-second-use-min-after-return.png +43ce8725960086b5e36c0ae32f48f48ff2cf69a2ce8a5590f13a74114fb7fd43 screenshots/oa-second-use-min-before-open.png +166e59d51390ecdaa0e44cfaf84d9c3bccc8452016a325098b79f5f8c2543d6f screenshots/oa-state-clicked-slot.png +9aeeabaf396bd32676fda446b796e1d3751e4c88ff60ce2efbd91d48015da2b9 screenshots/oa-state-ready-source-and-slot.png +0a414de66913f7542643ba28e70c33cfee2e0cff6b03274b5106b01e6ba416fc screenshots/sa-first-use-min-after-return.png +d9af14f22aae4f4a3ad7652a740fafabecc40d256f37b8290b906dbfab9bc368 screenshots/sa-first-use-min-before-open.png +9b0d5bfe11c4a244104ba136ff0c4861fb572ed1264829cd135fb6b68bffe585 screenshots/sa-pending-open-disabled.png +1d2b18c9d2300bf5858711b584d2cad688d6f994ae6cac40e403472e218e82e8 screenshots/sa-second-use-min-after-return.png +bfdd9b72b11d83eaab5b3f1993fdaa69707fc6d85632829f5af187e29781c055 screenshots/sa-second-use-min-before-open.png diff --git a/harness/experiments/scenario-native-local-20260911/checkpoint-b3-navigation/project.arcadia b/harness/experiments/scenario-native-local-20260911/checkpoint-b3-navigation/project.arcadia new file mode 100644 index 00000000..b7fee00e --- /dev/null +++ b/harness/experiments/scenario-native-local-20260911/checkpoint-b3-navigation/project.arcadia @@ -0,0 +1,674 @@ +arcadia 7; +project scenario_authoring "Scenario authoring contract" id "5ceaa100-0000-4000-8000-000000000001" { + include "rationale.arcadia"; + description "Native clicked-slot and caller-return contract."; + + oa_activity scenario_oa_10 "OA Inspect ticket" id "5ceaa100-0000-4000-8000-00000000006e" { + description ""; + parent none; + } + + oa_activity scenario_oa_11 "OA Record result" id "5ceaa100-0000-4000-8000-00000000006f" { + description ""; + parent none; + } + + oa_state_machine scenario_oa_20 "OA Ticket modes" id "5ceaa100-0000-4000-8000-000000000078" { + description ""; + parent none; + } + + oa_region scenario_oa_21 "OA Ticket region" id "5ceaa100-0000-4000-8000-000000000079" { + description ""; + parent @scenario_oa_20; + } + + oa_state scenario_oa_22 "OA Ready" id "5ceaa100-0000-4000-8000-00000000007a" { + description ""; + do_activity ""; + entry ""; + exit ""; + kind State; + parent @scenario_oa_21; + } + + oa_scenario scenario_oa_30 "OA A caller" id "5ceaa100-0000-4000-8000-000000000082" { + context none; + description ""; + parent none; + postcondition ""; + precondition ""; + steps [@scenario_oa_50, @scenario_oa_51, @scenario_oa_60, @scenario_oa_61, @scenario_oa_62]; + viewpoint OperationalActivity; + } + + oa_scenario scenario_oa_31 "OA B verification" id "5ceaa100-0000-4000-8000-000000000083" { + context none; + description ""; + parent none; + postcondition ""; + precondition ""; + steps [@scenario_oa_63, @scenario_oa_64, @scenario_oa_65]; + viewpoint OperationalActivity; + } + + oa_scenario scenario_oa_32 "OA C detail" id "5ceaa100-0000-4000-8000-000000000084" { + context none; + description ""; + parent none; + postcondition ""; + precondition ""; + steps [@scenario_oa_66]; + viewpoint OperationalActivity; + } + + oa_lifeline scenario_oa_40 "OA A inspector" id "5ceaa100-0000-4000-8000-00000000008c" { + description ""; + parent @scenario_oa_30; + represented @scenario_oa_10; + } + + oa_lifeline scenario_oa_41 "OA A recorder" id "5ceaa100-0000-4000-8000-00000000008d" { + description ""; + parent @scenario_oa_30; + represented @scenario_oa_11; + } + + oa_lifeline scenario_oa_42 "OA B inspector" id "5ceaa100-0000-4000-8000-00000000008e" { + description ""; + parent @scenario_oa_31; + represented @scenario_oa_10; + } + + oa_lifeline scenario_oa_43 "OA B recorder" id "5ceaa100-0000-4000-8000-00000000008f" { + description ""; + parent @scenario_oa_31; + represented @scenario_oa_11; + } + + oa_lifeline scenario_oa_44 "OA C inspector" id "5ceaa100-0000-4000-8000-000000000090" { + description ""; + parent @scenario_oa_32; + represented @scenario_oa_10; + } + + oa_lifeline scenario_oa_45 "OA C recorder" id "5ceaa100-0000-4000-8000-000000000091" { + description ""; + parent @scenario_oa_32; + represented @scenario_oa_11; + } + + oa_occurrence scenario_oa_50 "OA Root entry" id "5ceaa100-0000-4000-8000-000000000096" { + body { + Action { + action @scenario_oa_10; + lifeline @scenario_oa_40; + }; + }; + description ""; + parent @scenario_oa_30; + postcondition ""; + precondition ""; + } + + oa_occurrence scenario_oa_51 "OA Outer ALT" id "5ceaa100-0000-4000-8000-000000000097" { + body { + Fragment { + branches [@scenario_oa_52, @scenario_oa_53]; + operator Alternative; + }; + }; + description ""; + parent @scenario_oa_30; + postcondition ""; + precondition ""; + } + + oa_occurrence scenario_oa_52 "OA Outer chosen operand" id "5ceaa100-0000-4000-8000-000000000098" { + body { + Branch { + guard "ticket.present"; + occurrences [@scenario_oa_54]; + }; + }; + description ""; + parent @scenario_oa_51; + postcondition ""; + precondition ""; + } + + oa_occurrence scenario_oa_53 "OA Outer fallback operand" id "5ceaa100-0000-4000-8000-000000000099" { + body { + Branch { + guard "else"; + occurrences [@scenario_oa_59]; + }; + }; + description ""; + parent @scenario_oa_51; + postcondition ""; + precondition ""; + } + + oa_occurrence scenario_oa_54 "OA Inner ALT" id "5ceaa100-0000-4000-8000-00000000009a" { + body { + Fragment { + branches [@scenario_oa_55, @scenario_oa_56]; + operator Alternative; + }; + }; + description ""; + parent @scenario_oa_52; + postcondition ""; + precondition ""; + } + + oa_occurrence scenario_oa_55 "OA Inner chosen operand" id "5ceaa100-0000-4000-8000-00000000009b" { + body { + Branch { + guard "ticket.ready"; + occurrences [@scenario_oa_57]; + }; + }; + description ""; + parent @scenario_oa_54; + postcondition ""; + precondition ""; + } + + oa_occurrence scenario_oa_56 "OA Inner other operand" id "5ceaa100-0000-4000-8000-00000000009c" { + body { + Branch { + guard "else"; + occurrences [@scenario_oa_58]; + }; + }; + description ""; + parent @scenario_oa_54; + postcondition ""; + precondition ""; + } + + oa_occurrence scenario_oa_57 "OA Inner anchor" id "5ceaa100-0000-4000-8000-00000000009d" { + body { + Action { + action @scenario_oa_10; + lifeline @scenario_oa_40; + }; + }; + description ""; + parent @scenario_oa_55; + postcondition ""; + precondition ""; + } + + oa_occurrence scenario_oa_58 "OA Inner other anchor" id "5ceaa100-0000-4000-8000-00000000009e" { + body { + Action { + action @scenario_oa_10; + lifeline @scenario_oa_40; + }; + }; + description ""; + parent @scenario_oa_56; + postcondition ""; + precondition ""; + } + + oa_occurrence scenario_oa_59 "OA Fallback anchor" id "5ceaa100-0000-4000-8000-00000000009f" { + body { + Action { + action @scenario_oa_11; + lifeline @scenario_oa_41; + }; + }; + description ""; + parent @scenario_oa_53; + postcondition ""; + precondition ""; + } + + oa_occurrence scenario_oa_60 "OA First use of B" id "5ceaa100-0000-4000-8000-0000000000a0" { + body { + ScenarioUse { + bindings [{ + local @scenario_oa_40; + referenced @scenario_oa_42; + }, { + local @scenario_oa_41; + referenced @scenario_oa_43; + }]; + scenario @scenario_oa_31; + }; + }; + description ""; + parent @scenario_oa_30; + postcondition ""; + precondition ""; + } + + oa_occurrence scenario_oa_61 "OA Second use of B" id "5ceaa100-0000-4000-8000-0000000000a1" { + body { + ScenarioUse { + bindings [{ + local @scenario_oa_40; + referenced @scenario_oa_42; + }, { + local @scenario_oa_41; + referenced @scenario_oa_43; + }]; + scenario @scenario_oa_31; + }; + }; + description ""; + parent @scenario_oa_30; + postcondition ""; + precondition ""; + } + + oa_occurrence scenario_oa_62 "OA Root exit" id "5ceaa100-0000-4000-8000-0000000000a2" { + body { + Action { + action @scenario_oa_11; + lifeline @scenario_oa_41; + }; + }; + description ""; + parent @scenario_oa_30; + postcondition ""; + precondition ""; + } + + oa_occurrence scenario_oa_63 "OA B entry" id "5ceaa100-0000-4000-8000-0000000000a3" { + body { + Action { + action @scenario_oa_10; + lifeline @scenario_oa_42; + }; + }; + description ""; + parent @scenario_oa_31; + postcondition ""; + precondition ""; + } + + oa_occurrence scenario_oa_64 "OA B use of C" id "5ceaa100-0000-4000-8000-0000000000a4" { + body { + ScenarioUse { + bindings [{ + local @scenario_oa_42; + referenced @scenario_oa_44; + }, { + local @scenario_oa_43; + referenced @scenario_oa_45; + }]; + scenario @scenario_oa_32; + }; + }; + description ""; + parent @scenario_oa_31; + postcondition ""; + precondition ""; + } + + oa_occurrence scenario_oa_65 "OA B exit" id "5ceaa100-0000-4000-8000-0000000000a5" { + body { + Action { + action @scenario_oa_11; + lifeline @scenario_oa_43; + }; + }; + description ""; + parent @scenario_oa_31; + postcondition ""; + precondition ""; + } + + oa_occurrence scenario_oa_66 "OA C entry" id "5ceaa100-0000-4000-8000-0000000000a6" { + body { + Action { + action @scenario_oa_10; + lifeline @scenario_oa_44; + }; + }; + description ""; + parent @scenario_oa_32; + postcondition ""; + precondition ""; + } + + sa_function scenario_sa_10 "SA Inspect ticket" id "5ceaa100-0000-4000-8000-0000000000d2" { + description ""; + parent none; + } + + sa_function scenario_sa_11 "SA Record result" id "5ceaa100-0000-4000-8000-0000000000d3" { + description ""; + parent none; + } + + sa_state_machine scenario_sa_20 "SA Ticket modes" id "5ceaa100-0000-4000-8000-0000000000dc" { + description ""; + parent none; + } + + sa_region scenario_sa_21 "SA Ticket region" id "5ceaa100-0000-4000-8000-0000000000dd" { + description ""; + parent @scenario_sa_20; + } + + sa_state scenario_sa_22 "SA Ready" id "5ceaa100-0000-4000-8000-0000000000de" { + description ""; + do_activity ""; + entry ""; + exit ""; + kind State; + parent @scenario_sa_21; + } + + sa_scenario scenario_sa_30 "SA A caller" id "5ceaa100-0000-4000-8000-0000000000e6" { + context none; + description ""; + parent none; + postcondition ""; + precondition ""; + steps [@scenario_sa_50, @scenario_sa_51, @scenario_sa_60, @scenario_sa_61, @scenario_sa_62]; + viewpoint Functional; + } + + sa_scenario scenario_sa_31 "SA B verification" id "5ceaa100-0000-4000-8000-0000000000e7" { + context none; + description ""; + parent none; + postcondition ""; + precondition ""; + steps [@scenario_sa_63, @scenario_sa_64, @scenario_sa_65]; + viewpoint Functional; + } + + sa_scenario scenario_sa_32 "SA C detail" id "5ceaa100-0000-4000-8000-0000000000e8" { + context none; + description ""; + parent none; + postcondition ""; + precondition ""; + steps [@scenario_sa_66]; + viewpoint Functional; + } + + sa_lifeline scenario_sa_40 "SA A inspector" id "5ceaa100-0000-4000-8000-0000000000f0" { + description ""; + parent @scenario_sa_30; + represented @scenario_sa_10; + } + + sa_lifeline scenario_sa_41 "SA A recorder" id "5ceaa100-0000-4000-8000-0000000000f1" { + description ""; + parent @scenario_sa_30; + represented @scenario_sa_11; + } + + sa_lifeline scenario_sa_42 "SA B inspector" id "5ceaa100-0000-4000-8000-0000000000f2" { + description ""; + parent @scenario_sa_31; + represented @scenario_sa_10; + } + + sa_lifeline scenario_sa_43 "SA B recorder" id "5ceaa100-0000-4000-8000-0000000000f3" { + description ""; + parent @scenario_sa_31; + represented @scenario_sa_11; + } + + sa_lifeline scenario_sa_44 "SA C inspector" id "5ceaa100-0000-4000-8000-0000000000f4" { + description ""; + parent @scenario_sa_32; + represented @scenario_sa_10; + } + + sa_lifeline scenario_sa_45 "SA C recorder" id "5ceaa100-0000-4000-8000-0000000000f5" { + description ""; + parent @scenario_sa_32; + represented @scenario_sa_11; + } + + sa_occurrence scenario_sa_50 "SA Root entry" id "5ceaa100-0000-4000-8000-0000000000fa" { + body { + Action { + action @scenario_sa_10; + lifeline @scenario_sa_40; + }; + }; + description ""; + parent @scenario_sa_30; + postcondition ""; + precondition ""; + } + + sa_occurrence scenario_sa_51 "SA Outer ALT" id "5ceaa100-0000-4000-8000-0000000000fb" { + body { + Fragment { + branches [@scenario_sa_52, @scenario_sa_53]; + operator Alternative; + }; + }; + description ""; + parent @scenario_sa_30; + postcondition ""; + precondition ""; + } + + sa_occurrence scenario_sa_52 "SA Outer chosen operand" id "5ceaa100-0000-4000-8000-0000000000fc" { + body { + Branch { + guard "ticket.present"; + occurrences [@scenario_sa_54]; + }; + }; + description ""; + parent @scenario_sa_51; + postcondition ""; + precondition ""; + } + + sa_occurrence scenario_sa_53 "SA Outer fallback operand" id "5ceaa100-0000-4000-8000-0000000000fd" { + body { + Branch { + guard "else"; + occurrences [@scenario_sa_59]; + }; + }; + description ""; + parent @scenario_sa_51; + postcondition ""; + precondition ""; + } + + sa_occurrence scenario_sa_54 "SA Inner ALT" id "5ceaa100-0000-4000-8000-0000000000fe" { + body { + Fragment { + branches [@scenario_sa_55, @scenario_sa_56]; + operator Alternative; + }; + }; + description ""; + parent @scenario_sa_52; + postcondition ""; + precondition ""; + } + + sa_occurrence scenario_sa_55 "SA Inner chosen operand" id "5ceaa100-0000-4000-8000-0000000000ff" { + body { + Branch { + guard "ticket.ready"; + occurrences [@scenario_sa_57]; + }; + }; + description ""; + parent @scenario_sa_54; + postcondition ""; + precondition ""; + } + + sa_occurrence scenario_sa_56 "SA Inner other operand" id "5ceaa100-0000-4000-8000-000000000100" { + body { + Branch { + guard "else"; + occurrences [@scenario_sa_58]; + }; + }; + description ""; + parent @scenario_sa_54; + postcondition ""; + precondition ""; + } + + sa_occurrence scenario_sa_57 "SA Inner anchor" id "5ceaa100-0000-4000-8000-000000000101" { + body { + Action { + action @scenario_sa_10; + lifeline @scenario_sa_40; + }; + }; + description ""; + parent @scenario_sa_55; + postcondition ""; + precondition ""; + } + + sa_occurrence scenario_sa_58 "SA Inner other anchor" id "5ceaa100-0000-4000-8000-000000000102" { + body { + Action { + action @scenario_sa_10; + lifeline @scenario_sa_40; + }; + }; + description ""; + parent @scenario_sa_56; + postcondition ""; + precondition ""; + } + + sa_occurrence scenario_sa_59 "SA Fallback anchor" id "5ceaa100-0000-4000-8000-000000000103" { + body { + Action { + action @scenario_sa_11; + lifeline @scenario_sa_41; + }; + }; + description ""; + parent @scenario_sa_53; + postcondition ""; + precondition ""; + } + + sa_occurrence scenario_sa_60 "SA First use of B" id "5ceaa100-0000-4000-8000-000000000104" { + body { + ScenarioUse { + bindings [{ + local @scenario_sa_40; + referenced @scenario_sa_42; + }, { + local @scenario_sa_41; + referenced @scenario_sa_43; + }]; + scenario @scenario_sa_31; + }; + }; + description ""; + parent @scenario_sa_30; + postcondition ""; + precondition ""; + } + + sa_occurrence scenario_sa_61 "SA Second use of B" id "5ceaa100-0000-4000-8000-000000000105" { + body { + ScenarioUse { + bindings [{ + local @scenario_sa_40; + referenced @scenario_sa_42; + }, { + local @scenario_sa_41; + referenced @scenario_sa_43; + }]; + scenario @scenario_sa_31; + }; + }; + description ""; + parent @scenario_sa_30; + postcondition ""; + precondition ""; + } + + sa_occurrence scenario_sa_62 "SA Root exit" id "5ceaa100-0000-4000-8000-000000000106" { + body { + Action { + action @scenario_sa_11; + lifeline @scenario_sa_41; + }; + }; + description ""; + parent @scenario_sa_30; + postcondition ""; + precondition ""; + } + + sa_occurrence scenario_sa_63 "SA B entry" id "5ceaa100-0000-4000-8000-000000000107" { + body { + Action { + action @scenario_sa_10; + lifeline @scenario_sa_42; + }; + }; + description ""; + parent @scenario_sa_31; + postcondition ""; + precondition ""; + } + + sa_occurrence scenario_sa_64 "SA B use of C" id "5ceaa100-0000-4000-8000-000000000108" { + body { + ScenarioUse { + bindings [{ + local @scenario_sa_42; + referenced @scenario_sa_44; + }, { + local @scenario_sa_43; + referenced @scenario_sa_45; + }]; + scenario @scenario_sa_32; + }; + }; + description ""; + parent @scenario_sa_31; + postcondition ""; + precondition ""; + } + + sa_occurrence scenario_sa_65 "SA B exit" id "5ceaa100-0000-4000-8000-000000000109" { + body { + Action { + action @scenario_sa_11; + lifeline @scenario_sa_43; + }; + }; + description ""; + parent @scenario_sa_31; + postcondition ""; + precondition ""; + } + + sa_occurrence scenario_sa_66 "SA C entry" id "5ceaa100-0000-4000-8000-00000000010a" { + body { + Action { + action @scenario_sa_10; + lifeline @scenario_sa_44; + }; + }; + description ""; + parent @scenario_sa_32; + postcondition ""; + precondition ""; + } + +} diff --git a/harness/experiments/scenario-native-local-20260911/checkpoint-b3-navigation/rationale.arcadia b/harness/experiments/scenario-native-local-20260911/checkpoint-b3-navigation/rationale.arcadia new file mode 100644 index 00000000..64b58187 --- /dev/null +++ b/harness/experiments/scenario-native-local-20260911/checkpoint-b3-navigation/rationale.arcadia @@ -0,0 +1,2 @@ +// Retain caller/operand evidence: ticket 雨. +// Navigation never edits this note. diff --git a/harness/experiments/scenario-native-local-20260911/checkpoint-oa-action-redo/project.arcadia b/harness/experiments/scenario-native-local-20260911/checkpoint-oa-action-redo/project.arcadia new file mode 100644 index 00000000..0efc27b0 --- /dev/null +++ b/harness/experiments/scenario-native-local-20260911/checkpoint-oa-action-redo/project.arcadia @@ -0,0 +1,689 @@ +arcadia 7; +project scenario_authoring "Scenario authoring contract" id "5ceaa100-0000-4000-8000-000000000001" { + include "rationale.arcadia"; + description "Native clicked-slot and caller-return contract."; + + oa_activity scenario_oa_10 "OA Inspect ticket" id "5ceaa100-0000-4000-8000-00000000006e" { + description ""; + parent none; + } + + oa_activity scenario_oa_11 "OA Record result" id "5ceaa100-0000-4000-8000-00000000006f" { + description ""; + parent none; + } + + oa_state_machine scenario_oa_20 "OA Ticket modes" id "5ceaa100-0000-4000-8000-000000000078" { + description ""; + parent none; + } + + oa_region scenario_oa_21 "OA Ticket region" id "5ceaa100-0000-4000-8000-000000000079" { + description ""; + parent @scenario_oa_20; + } + + oa_state scenario_oa_22 "OA Ready" id "5ceaa100-0000-4000-8000-00000000007a" { + description ""; + do_activity ""; + entry ""; + exit ""; + kind State; + parent @scenario_oa_21; + } + + oa_scenario scenario_oa_30 "OA A caller" id "5ceaa100-0000-4000-8000-000000000082" { + context none; + description ""; + parent none; + postcondition ""; + precondition ""; + steps [ @oa_native_action,@scenario_oa_50, @scenario_oa_51, @scenario_oa_60, @scenario_oa_61, @scenario_oa_62]; + viewpoint OperationalActivity; + + oa_occurrence oa_native_action "OA native action" id "ef323f4f-6e0c-4876-9e81-6c2526877d2e" { + body { + Action { + action @scenario_oa_10; + lifeline @scenario_oa_40; + }; + }; + description ""; + + postcondition ""; + precondition ""; + } + + + } + + oa_scenario scenario_oa_31 "OA B verification" id "5ceaa100-0000-4000-8000-000000000083" { + context none; + description ""; + parent none; + postcondition ""; + precondition ""; + steps [@scenario_oa_63, @scenario_oa_64, @scenario_oa_65]; + viewpoint OperationalActivity; + } + + oa_scenario scenario_oa_32 "OA C detail" id "5ceaa100-0000-4000-8000-000000000084" { + context none; + description ""; + parent none; + postcondition ""; + precondition ""; + steps [@scenario_oa_66]; + viewpoint OperationalActivity; + } + + oa_lifeline scenario_oa_40 "OA A inspector" id "5ceaa100-0000-4000-8000-00000000008c" { + description ""; + parent @scenario_oa_30; + represented @scenario_oa_10; + } + + oa_lifeline scenario_oa_41 "OA A recorder" id "5ceaa100-0000-4000-8000-00000000008d" { + description ""; + parent @scenario_oa_30; + represented @scenario_oa_11; + } + + oa_lifeline scenario_oa_42 "OA B inspector" id "5ceaa100-0000-4000-8000-00000000008e" { + description ""; + parent @scenario_oa_31; + represented @scenario_oa_10; + } + + oa_lifeline scenario_oa_43 "OA B recorder" id "5ceaa100-0000-4000-8000-00000000008f" { + description ""; + parent @scenario_oa_31; + represented @scenario_oa_11; + } + + oa_lifeline scenario_oa_44 "OA C inspector" id "5ceaa100-0000-4000-8000-000000000090" { + description ""; + parent @scenario_oa_32; + represented @scenario_oa_10; + } + + oa_lifeline scenario_oa_45 "OA C recorder" id "5ceaa100-0000-4000-8000-000000000091" { + description ""; + parent @scenario_oa_32; + represented @scenario_oa_11; + } + + oa_occurrence scenario_oa_50 "OA Root entry" id "5ceaa100-0000-4000-8000-000000000096" { + body { + Action { + action @scenario_oa_10; + lifeline @scenario_oa_40; + }; + }; + description ""; + parent @scenario_oa_30; + postcondition ""; + precondition ""; + } + + oa_occurrence scenario_oa_51 "OA Outer ALT" id "5ceaa100-0000-4000-8000-000000000097" { + body { + Fragment { + branches [@scenario_oa_52, @scenario_oa_53]; + operator Alternative; + }; + }; + description ""; + parent @scenario_oa_30; + postcondition ""; + precondition ""; + } + + oa_occurrence scenario_oa_52 "OA Outer chosen operand" id "5ceaa100-0000-4000-8000-000000000098" { + body { + Branch { + guard "ticket.present"; + occurrences [@scenario_oa_54]; + }; + }; + description ""; + parent @scenario_oa_51; + postcondition ""; + precondition ""; + } + + oa_occurrence scenario_oa_53 "OA Outer fallback operand" id "5ceaa100-0000-4000-8000-000000000099" { + body { + Branch { + guard "else"; + occurrences [@scenario_oa_59]; + }; + }; + description ""; + parent @scenario_oa_51; + postcondition ""; + precondition ""; + } + + oa_occurrence scenario_oa_54 "OA Inner ALT" id "5ceaa100-0000-4000-8000-00000000009a" { + body { + Fragment { + branches [@scenario_oa_55, @scenario_oa_56]; + operator Alternative; + }; + }; + description ""; + parent @scenario_oa_52; + postcondition ""; + precondition ""; + } + + oa_occurrence scenario_oa_55 "OA Inner chosen operand" id "5ceaa100-0000-4000-8000-00000000009b" { + body { + Branch { + guard "ticket.ready"; + occurrences [@scenario_oa_57]; + }; + }; + description ""; + parent @scenario_oa_54; + postcondition ""; + precondition ""; + } + + oa_occurrence scenario_oa_56 "OA Inner other operand" id "5ceaa100-0000-4000-8000-00000000009c" { + body { + Branch { + guard "else"; + occurrences [@scenario_oa_58]; + }; + }; + description ""; + parent @scenario_oa_54; + postcondition ""; + precondition ""; + } + + oa_occurrence scenario_oa_57 "OA Inner anchor" id "5ceaa100-0000-4000-8000-00000000009d" { + body { + Action { + action @scenario_oa_10; + lifeline @scenario_oa_40; + }; + }; + description ""; + parent @scenario_oa_55; + postcondition ""; + precondition ""; + } + + oa_occurrence scenario_oa_58 "OA Inner other anchor" id "5ceaa100-0000-4000-8000-00000000009e" { + body { + Action { + action @scenario_oa_10; + lifeline @scenario_oa_40; + }; + }; + description ""; + parent @scenario_oa_56; + postcondition ""; + precondition ""; + } + + oa_occurrence scenario_oa_59 "OA Fallback anchor" id "5ceaa100-0000-4000-8000-00000000009f" { + body { + Action { + action @scenario_oa_11; + lifeline @scenario_oa_41; + }; + }; + description ""; + parent @scenario_oa_53; + postcondition ""; + precondition ""; + } + + oa_occurrence scenario_oa_60 "OA First use of B" id "5ceaa100-0000-4000-8000-0000000000a0" { + body { + ScenarioUse { + bindings [{ + local @scenario_oa_40; + referenced @scenario_oa_42; + }, { + local @scenario_oa_41; + referenced @scenario_oa_43; + }]; + scenario @scenario_oa_31; + }; + }; + description ""; + parent @scenario_oa_30; + postcondition ""; + precondition ""; + } + + oa_occurrence scenario_oa_61 "OA Second use of B" id "5ceaa100-0000-4000-8000-0000000000a1" { + body { + ScenarioUse { + bindings [{ + local @scenario_oa_40; + referenced @scenario_oa_42; + }, { + local @scenario_oa_41; + referenced @scenario_oa_43; + }]; + scenario @scenario_oa_31; + }; + }; + description ""; + parent @scenario_oa_30; + postcondition ""; + precondition ""; + } + + oa_occurrence scenario_oa_62 "OA Root exit" id "5ceaa100-0000-4000-8000-0000000000a2" { + body { + Action { + action @scenario_oa_11; + lifeline @scenario_oa_41; + }; + }; + description ""; + parent @scenario_oa_30; + postcondition ""; + precondition ""; + } + + oa_occurrence scenario_oa_63 "OA B entry" id "5ceaa100-0000-4000-8000-0000000000a3" { + body { + Action { + action @scenario_oa_10; + lifeline @scenario_oa_42; + }; + }; + description ""; + parent @scenario_oa_31; + postcondition ""; + precondition ""; + } + + oa_occurrence scenario_oa_64 "OA B use of C" id "5ceaa100-0000-4000-8000-0000000000a4" { + body { + ScenarioUse { + bindings [{ + local @scenario_oa_42; + referenced @scenario_oa_44; + }, { + local @scenario_oa_43; + referenced @scenario_oa_45; + }]; + scenario @scenario_oa_32; + }; + }; + description ""; + parent @scenario_oa_31; + postcondition ""; + precondition ""; + } + + oa_occurrence scenario_oa_65 "OA B exit" id "5ceaa100-0000-4000-8000-0000000000a5" { + body { + Action { + action @scenario_oa_11; + lifeline @scenario_oa_43; + }; + }; + description ""; + parent @scenario_oa_31; + postcondition ""; + precondition ""; + } + + oa_occurrence scenario_oa_66 "OA C entry" id "5ceaa100-0000-4000-8000-0000000000a6" { + body { + Action { + action @scenario_oa_10; + lifeline @scenario_oa_44; + }; + }; + description ""; + parent @scenario_oa_32; + postcondition ""; + precondition ""; + } + + sa_function scenario_sa_10 "SA Inspect ticket" id "5ceaa100-0000-4000-8000-0000000000d2" { + description ""; + parent none; + } + + sa_function scenario_sa_11 "SA Record result" id "5ceaa100-0000-4000-8000-0000000000d3" { + description ""; + parent none; + } + + sa_state_machine scenario_sa_20 "SA Ticket modes" id "5ceaa100-0000-4000-8000-0000000000dc" { + description ""; + parent none; + } + + sa_region scenario_sa_21 "SA Ticket region" id "5ceaa100-0000-4000-8000-0000000000dd" { + description ""; + parent @scenario_sa_20; + } + + sa_state scenario_sa_22 "SA Ready" id "5ceaa100-0000-4000-8000-0000000000de" { + description ""; + do_activity ""; + entry ""; + exit ""; + kind State; + parent @scenario_sa_21; + } + + sa_scenario scenario_sa_30 "SA A caller" id "5ceaa100-0000-4000-8000-0000000000e6" { + context none; + description ""; + parent none; + postcondition ""; + precondition ""; + steps [@scenario_sa_50, @scenario_sa_51, @scenario_sa_60, @scenario_sa_61, @scenario_sa_62]; + viewpoint Functional; + } + + sa_scenario scenario_sa_31 "SA B verification" id "5ceaa100-0000-4000-8000-0000000000e7" { + context none; + description ""; + parent none; + postcondition ""; + precondition ""; + steps [@scenario_sa_63, @scenario_sa_64, @scenario_sa_65]; + viewpoint Functional; + } + + sa_scenario scenario_sa_32 "SA C detail" id "5ceaa100-0000-4000-8000-0000000000e8" { + context none; + description ""; + parent none; + postcondition ""; + precondition ""; + steps [@scenario_sa_66]; + viewpoint Functional; + } + + sa_lifeline scenario_sa_40 "SA A inspector" id "5ceaa100-0000-4000-8000-0000000000f0" { + description ""; + parent @scenario_sa_30; + represented @scenario_sa_10; + } + + sa_lifeline scenario_sa_41 "SA A recorder" id "5ceaa100-0000-4000-8000-0000000000f1" { + description ""; + parent @scenario_sa_30; + represented @scenario_sa_11; + } + + sa_lifeline scenario_sa_42 "SA B inspector" id "5ceaa100-0000-4000-8000-0000000000f2" { + description ""; + parent @scenario_sa_31; + represented @scenario_sa_10; + } + + sa_lifeline scenario_sa_43 "SA B recorder" id "5ceaa100-0000-4000-8000-0000000000f3" { + description ""; + parent @scenario_sa_31; + represented @scenario_sa_11; + } + + sa_lifeline scenario_sa_44 "SA C inspector" id "5ceaa100-0000-4000-8000-0000000000f4" { + description ""; + parent @scenario_sa_32; + represented @scenario_sa_10; + } + + sa_lifeline scenario_sa_45 "SA C recorder" id "5ceaa100-0000-4000-8000-0000000000f5" { + description ""; + parent @scenario_sa_32; + represented @scenario_sa_11; + } + + sa_occurrence scenario_sa_50 "SA Root entry" id "5ceaa100-0000-4000-8000-0000000000fa" { + body { + Action { + action @scenario_sa_10; + lifeline @scenario_sa_40; + }; + }; + description ""; + parent @scenario_sa_30; + postcondition ""; + precondition ""; + } + + sa_occurrence scenario_sa_51 "SA Outer ALT" id "5ceaa100-0000-4000-8000-0000000000fb" { + body { + Fragment { + branches [@scenario_sa_52, @scenario_sa_53]; + operator Alternative; + }; + }; + description ""; + parent @scenario_sa_30; + postcondition ""; + precondition ""; + } + + sa_occurrence scenario_sa_52 "SA Outer chosen operand" id "5ceaa100-0000-4000-8000-0000000000fc" { + body { + Branch { + guard "ticket.present"; + occurrences [@scenario_sa_54]; + }; + }; + description ""; + parent @scenario_sa_51; + postcondition ""; + precondition ""; + } + + sa_occurrence scenario_sa_53 "SA Outer fallback operand" id "5ceaa100-0000-4000-8000-0000000000fd" { + body { + Branch { + guard "else"; + occurrences [@scenario_sa_59]; + }; + }; + description ""; + parent @scenario_sa_51; + postcondition ""; + precondition ""; + } + + sa_occurrence scenario_sa_54 "SA Inner ALT" id "5ceaa100-0000-4000-8000-0000000000fe" { + body { + Fragment { + branches [@scenario_sa_55, @scenario_sa_56]; + operator Alternative; + }; + }; + description ""; + parent @scenario_sa_52; + postcondition ""; + precondition ""; + } + + sa_occurrence scenario_sa_55 "SA Inner chosen operand" id "5ceaa100-0000-4000-8000-0000000000ff" { + body { + Branch { + guard "ticket.ready"; + occurrences [@scenario_sa_57]; + }; + }; + description ""; + parent @scenario_sa_54; + postcondition ""; + precondition ""; + } + + sa_occurrence scenario_sa_56 "SA Inner other operand" id "5ceaa100-0000-4000-8000-000000000100" { + body { + Branch { + guard "else"; + occurrences [@scenario_sa_58]; + }; + }; + description ""; + parent @scenario_sa_54; + postcondition ""; + precondition ""; + } + + sa_occurrence scenario_sa_57 "SA Inner anchor" id "5ceaa100-0000-4000-8000-000000000101" { + body { + Action { + action @scenario_sa_10; + lifeline @scenario_sa_40; + }; + }; + description ""; + parent @scenario_sa_55; + postcondition ""; + precondition ""; + } + + sa_occurrence scenario_sa_58 "SA Inner other anchor" id "5ceaa100-0000-4000-8000-000000000102" { + body { + Action { + action @scenario_sa_10; + lifeline @scenario_sa_40; + }; + }; + description ""; + parent @scenario_sa_56; + postcondition ""; + precondition ""; + } + + sa_occurrence scenario_sa_59 "SA Fallback anchor" id "5ceaa100-0000-4000-8000-000000000103" { + body { + Action { + action @scenario_sa_11; + lifeline @scenario_sa_41; + }; + }; + description ""; + parent @scenario_sa_53; + postcondition ""; + precondition ""; + } + + sa_occurrence scenario_sa_60 "SA First use of B" id "5ceaa100-0000-4000-8000-000000000104" { + body { + ScenarioUse { + bindings [{ + local @scenario_sa_40; + referenced @scenario_sa_42; + }, { + local @scenario_sa_41; + referenced @scenario_sa_43; + }]; + scenario @scenario_sa_31; + }; + }; + description ""; + parent @scenario_sa_30; + postcondition ""; + precondition ""; + } + + sa_occurrence scenario_sa_61 "SA Second use of B" id "5ceaa100-0000-4000-8000-000000000105" { + body { + ScenarioUse { + bindings [{ + local @scenario_sa_40; + referenced @scenario_sa_42; + }, { + local @scenario_sa_41; + referenced @scenario_sa_43; + }]; + scenario @scenario_sa_31; + }; + }; + description ""; + parent @scenario_sa_30; + postcondition ""; + precondition ""; + } + + sa_occurrence scenario_sa_62 "SA Root exit" id "5ceaa100-0000-4000-8000-000000000106" { + body { + Action { + action @scenario_sa_11; + lifeline @scenario_sa_41; + }; + }; + description ""; + parent @scenario_sa_30; + postcondition ""; + precondition ""; + } + + sa_occurrence scenario_sa_63 "SA B entry" id "5ceaa100-0000-4000-8000-000000000107" { + body { + Action { + action @scenario_sa_10; + lifeline @scenario_sa_42; + }; + }; + description ""; + parent @scenario_sa_31; + postcondition ""; + precondition ""; + } + + sa_occurrence scenario_sa_64 "SA B use of C" id "5ceaa100-0000-4000-8000-000000000108" { + body { + ScenarioUse { + bindings [{ + local @scenario_sa_42; + referenced @scenario_sa_44; + }, { + local @scenario_sa_43; + referenced @scenario_sa_45; + }]; + scenario @scenario_sa_32; + }; + }; + description ""; + parent @scenario_sa_31; + postcondition ""; + precondition ""; + } + + sa_occurrence scenario_sa_65 "SA B exit" id "5ceaa100-0000-4000-8000-000000000109" { + body { + Action { + action @scenario_sa_11; + lifeline @scenario_sa_43; + }; + }; + description ""; + parent @scenario_sa_31; + postcondition ""; + precondition ""; + } + + sa_occurrence scenario_sa_66 "SA C entry" id "5ceaa100-0000-4000-8000-00000000010a" { + body { + Action { + action @scenario_sa_10; + lifeline @scenario_sa_44; + }; + }; + description ""; + parent @scenario_sa_32; + postcondition ""; + precondition ""; + } + +} diff --git a/harness/experiments/scenario-native-local-20260911/checkpoint-oa-action-redo/rationale.arcadia b/harness/experiments/scenario-native-local-20260911/checkpoint-oa-action-redo/rationale.arcadia new file mode 100644 index 00000000..64b58187 --- /dev/null +++ b/harness/experiments/scenario-native-local-20260911/checkpoint-oa-action-redo/rationale.arcadia @@ -0,0 +1,2 @@ +// Retain caller/operand evidence: ticket 雨. +// Navigation never edits this note. diff --git a/harness/experiments/scenario-native-local-20260911/checkpoint-oa-action-undo/project.arcadia b/harness/experiments/scenario-native-local-20260911/checkpoint-oa-action-undo/project.arcadia new file mode 100644 index 00000000..b7fee00e --- /dev/null +++ b/harness/experiments/scenario-native-local-20260911/checkpoint-oa-action-undo/project.arcadia @@ -0,0 +1,674 @@ +arcadia 7; +project scenario_authoring "Scenario authoring contract" id "5ceaa100-0000-4000-8000-000000000001" { + include "rationale.arcadia"; + description "Native clicked-slot and caller-return contract."; + + oa_activity scenario_oa_10 "OA Inspect ticket" id "5ceaa100-0000-4000-8000-00000000006e" { + description ""; + parent none; + } + + oa_activity scenario_oa_11 "OA Record result" id "5ceaa100-0000-4000-8000-00000000006f" { + description ""; + parent none; + } + + oa_state_machine scenario_oa_20 "OA Ticket modes" id "5ceaa100-0000-4000-8000-000000000078" { + description ""; + parent none; + } + + oa_region scenario_oa_21 "OA Ticket region" id "5ceaa100-0000-4000-8000-000000000079" { + description ""; + parent @scenario_oa_20; + } + + oa_state scenario_oa_22 "OA Ready" id "5ceaa100-0000-4000-8000-00000000007a" { + description ""; + do_activity ""; + entry ""; + exit ""; + kind State; + parent @scenario_oa_21; + } + + oa_scenario scenario_oa_30 "OA A caller" id "5ceaa100-0000-4000-8000-000000000082" { + context none; + description ""; + parent none; + postcondition ""; + precondition ""; + steps [@scenario_oa_50, @scenario_oa_51, @scenario_oa_60, @scenario_oa_61, @scenario_oa_62]; + viewpoint OperationalActivity; + } + + oa_scenario scenario_oa_31 "OA B verification" id "5ceaa100-0000-4000-8000-000000000083" { + context none; + description ""; + parent none; + postcondition ""; + precondition ""; + steps [@scenario_oa_63, @scenario_oa_64, @scenario_oa_65]; + viewpoint OperationalActivity; + } + + oa_scenario scenario_oa_32 "OA C detail" id "5ceaa100-0000-4000-8000-000000000084" { + context none; + description ""; + parent none; + postcondition ""; + precondition ""; + steps [@scenario_oa_66]; + viewpoint OperationalActivity; + } + + oa_lifeline scenario_oa_40 "OA A inspector" id "5ceaa100-0000-4000-8000-00000000008c" { + description ""; + parent @scenario_oa_30; + represented @scenario_oa_10; + } + + oa_lifeline scenario_oa_41 "OA A recorder" id "5ceaa100-0000-4000-8000-00000000008d" { + description ""; + parent @scenario_oa_30; + represented @scenario_oa_11; + } + + oa_lifeline scenario_oa_42 "OA B inspector" id "5ceaa100-0000-4000-8000-00000000008e" { + description ""; + parent @scenario_oa_31; + represented @scenario_oa_10; + } + + oa_lifeline scenario_oa_43 "OA B recorder" id "5ceaa100-0000-4000-8000-00000000008f" { + description ""; + parent @scenario_oa_31; + represented @scenario_oa_11; + } + + oa_lifeline scenario_oa_44 "OA C inspector" id "5ceaa100-0000-4000-8000-000000000090" { + description ""; + parent @scenario_oa_32; + represented @scenario_oa_10; + } + + oa_lifeline scenario_oa_45 "OA C recorder" id "5ceaa100-0000-4000-8000-000000000091" { + description ""; + parent @scenario_oa_32; + represented @scenario_oa_11; + } + + oa_occurrence scenario_oa_50 "OA Root entry" id "5ceaa100-0000-4000-8000-000000000096" { + body { + Action { + action @scenario_oa_10; + lifeline @scenario_oa_40; + }; + }; + description ""; + parent @scenario_oa_30; + postcondition ""; + precondition ""; + } + + oa_occurrence scenario_oa_51 "OA Outer ALT" id "5ceaa100-0000-4000-8000-000000000097" { + body { + Fragment { + branches [@scenario_oa_52, @scenario_oa_53]; + operator Alternative; + }; + }; + description ""; + parent @scenario_oa_30; + postcondition ""; + precondition ""; + } + + oa_occurrence scenario_oa_52 "OA Outer chosen operand" id "5ceaa100-0000-4000-8000-000000000098" { + body { + Branch { + guard "ticket.present"; + occurrences [@scenario_oa_54]; + }; + }; + description ""; + parent @scenario_oa_51; + postcondition ""; + precondition ""; + } + + oa_occurrence scenario_oa_53 "OA Outer fallback operand" id "5ceaa100-0000-4000-8000-000000000099" { + body { + Branch { + guard "else"; + occurrences [@scenario_oa_59]; + }; + }; + description ""; + parent @scenario_oa_51; + postcondition ""; + precondition ""; + } + + oa_occurrence scenario_oa_54 "OA Inner ALT" id "5ceaa100-0000-4000-8000-00000000009a" { + body { + Fragment { + branches [@scenario_oa_55, @scenario_oa_56]; + operator Alternative; + }; + }; + description ""; + parent @scenario_oa_52; + postcondition ""; + precondition ""; + } + + oa_occurrence scenario_oa_55 "OA Inner chosen operand" id "5ceaa100-0000-4000-8000-00000000009b" { + body { + Branch { + guard "ticket.ready"; + occurrences [@scenario_oa_57]; + }; + }; + description ""; + parent @scenario_oa_54; + postcondition ""; + precondition ""; + } + + oa_occurrence scenario_oa_56 "OA Inner other operand" id "5ceaa100-0000-4000-8000-00000000009c" { + body { + Branch { + guard "else"; + occurrences [@scenario_oa_58]; + }; + }; + description ""; + parent @scenario_oa_54; + postcondition ""; + precondition ""; + } + + oa_occurrence scenario_oa_57 "OA Inner anchor" id "5ceaa100-0000-4000-8000-00000000009d" { + body { + Action { + action @scenario_oa_10; + lifeline @scenario_oa_40; + }; + }; + description ""; + parent @scenario_oa_55; + postcondition ""; + precondition ""; + } + + oa_occurrence scenario_oa_58 "OA Inner other anchor" id "5ceaa100-0000-4000-8000-00000000009e" { + body { + Action { + action @scenario_oa_10; + lifeline @scenario_oa_40; + }; + }; + description ""; + parent @scenario_oa_56; + postcondition ""; + precondition ""; + } + + oa_occurrence scenario_oa_59 "OA Fallback anchor" id "5ceaa100-0000-4000-8000-00000000009f" { + body { + Action { + action @scenario_oa_11; + lifeline @scenario_oa_41; + }; + }; + description ""; + parent @scenario_oa_53; + postcondition ""; + precondition ""; + } + + oa_occurrence scenario_oa_60 "OA First use of B" id "5ceaa100-0000-4000-8000-0000000000a0" { + body { + ScenarioUse { + bindings [{ + local @scenario_oa_40; + referenced @scenario_oa_42; + }, { + local @scenario_oa_41; + referenced @scenario_oa_43; + }]; + scenario @scenario_oa_31; + }; + }; + description ""; + parent @scenario_oa_30; + postcondition ""; + precondition ""; + } + + oa_occurrence scenario_oa_61 "OA Second use of B" id "5ceaa100-0000-4000-8000-0000000000a1" { + body { + ScenarioUse { + bindings [{ + local @scenario_oa_40; + referenced @scenario_oa_42; + }, { + local @scenario_oa_41; + referenced @scenario_oa_43; + }]; + scenario @scenario_oa_31; + }; + }; + description ""; + parent @scenario_oa_30; + postcondition ""; + precondition ""; + } + + oa_occurrence scenario_oa_62 "OA Root exit" id "5ceaa100-0000-4000-8000-0000000000a2" { + body { + Action { + action @scenario_oa_11; + lifeline @scenario_oa_41; + }; + }; + description ""; + parent @scenario_oa_30; + postcondition ""; + precondition ""; + } + + oa_occurrence scenario_oa_63 "OA B entry" id "5ceaa100-0000-4000-8000-0000000000a3" { + body { + Action { + action @scenario_oa_10; + lifeline @scenario_oa_42; + }; + }; + description ""; + parent @scenario_oa_31; + postcondition ""; + precondition ""; + } + + oa_occurrence scenario_oa_64 "OA B use of C" id "5ceaa100-0000-4000-8000-0000000000a4" { + body { + ScenarioUse { + bindings [{ + local @scenario_oa_42; + referenced @scenario_oa_44; + }, { + local @scenario_oa_43; + referenced @scenario_oa_45; + }]; + scenario @scenario_oa_32; + }; + }; + description ""; + parent @scenario_oa_31; + postcondition ""; + precondition ""; + } + + oa_occurrence scenario_oa_65 "OA B exit" id "5ceaa100-0000-4000-8000-0000000000a5" { + body { + Action { + action @scenario_oa_11; + lifeline @scenario_oa_43; + }; + }; + description ""; + parent @scenario_oa_31; + postcondition ""; + precondition ""; + } + + oa_occurrence scenario_oa_66 "OA C entry" id "5ceaa100-0000-4000-8000-0000000000a6" { + body { + Action { + action @scenario_oa_10; + lifeline @scenario_oa_44; + }; + }; + description ""; + parent @scenario_oa_32; + postcondition ""; + precondition ""; + } + + sa_function scenario_sa_10 "SA Inspect ticket" id "5ceaa100-0000-4000-8000-0000000000d2" { + description ""; + parent none; + } + + sa_function scenario_sa_11 "SA Record result" id "5ceaa100-0000-4000-8000-0000000000d3" { + description ""; + parent none; + } + + sa_state_machine scenario_sa_20 "SA Ticket modes" id "5ceaa100-0000-4000-8000-0000000000dc" { + description ""; + parent none; + } + + sa_region scenario_sa_21 "SA Ticket region" id "5ceaa100-0000-4000-8000-0000000000dd" { + description ""; + parent @scenario_sa_20; + } + + sa_state scenario_sa_22 "SA Ready" id "5ceaa100-0000-4000-8000-0000000000de" { + description ""; + do_activity ""; + entry ""; + exit ""; + kind State; + parent @scenario_sa_21; + } + + sa_scenario scenario_sa_30 "SA A caller" id "5ceaa100-0000-4000-8000-0000000000e6" { + context none; + description ""; + parent none; + postcondition ""; + precondition ""; + steps [@scenario_sa_50, @scenario_sa_51, @scenario_sa_60, @scenario_sa_61, @scenario_sa_62]; + viewpoint Functional; + } + + sa_scenario scenario_sa_31 "SA B verification" id "5ceaa100-0000-4000-8000-0000000000e7" { + context none; + description ""; + parent none; + postcondition ""; + precondition ""; + steps [@scenario_sa_63, @scenario_sa_64, @scenario_sa_65]; + viewpoint Functional; + } + + sa_scenario scenario_sa_32 "SA C detail" id "5ceaa100-0000-4000-8000-0000000000e8" { + context none; + description ""; + parent none; + postcondition ""; + precondition ""; + steps [@scenario_sa_66]; + viewpoint Functional; + } + + sa_lifeline scenario_sa_40 "SA A inspector" id "5ceaa100-0000-4000-8000-0000000000f0" { + description ""; + parent @scenario_sa_30; + represented @scenario_sa_10; + } + + sa_lifeline scenario_sa_41 "SA A recorder" id "5ceaa100-0000-4000-8000-0000000000f1" { + description ""; + parent @scenario_sa_30; + represented @scenario_sa_11; + } + + sa_lifeline scenario_sa_42 "SA B inspector" id "5ceaa100-0000-4000-8000-0000000000f2" { + description ""; + parent @scenario_sa_31; + represented @scenario_sa_10; + } + + sa_lifeline scenario_sa_43 "SA B recorder" id "5ceaa100-0000-4000-8000-0000000000f3" { + description ""; + parent @scenario_sa_31; + represented @scenario_sa_11; + } + + sa_lifeline scenario_sa_44 "SA C inspector" id "5ceaa100-0000-4000-8000-0000000000f4" { + description ""; + parent @scenario_sa_32; + represented @scenario_sa_10; + } + + sa_lifeline scenario_sa_45 "SA C recorder" id "5ceaa100-0000-4000-8000-0000000000f5" { + description ""; + parent @scenario_sa_32; + represented @scenario_sa_11; + } + + sa_occurrence scenario_sa_50 "SA Root entry" id "5ceaa100-0000-4000-8000-0000000000fa" { + body { + Action { + action @scenario_sa_10; + lifeline @scenario_sa_40; + }; + }; + description ""; + parent @scenario_sa_30; + postcondition ""; + precondition ""; + } + + sa_occurrence scenario_sa_51 "SA Outer ALT" id "5ceaa100-0000-4000-8000-0000000000fb" { + body { + Fragment { + branches [@scenario_sa_52, @scenario_sa_53]; + operator Alternative; + }; + }; + description ""; + parent @scenario_sa_30; + postcondition ""; + precondition ""; + } + + sa_occurrence scenario_sa_52 "SA Outer chosen operand" id "5ceaa100-0000-4000-8000-0000000000fc" { + body { + Branch { + guard "ticket.present"; + occurrences [@scenario_sa_54]; + }; + }; + description ""; + parent @scenario_sa_51; + postcondition ""; + precondition ""; + } + + sa_occurrence scenario_sa_53 "SA Outer fallback operand" id "5ceaa100-0000-4000-8000-0000000000fd" { + body { + Branch { + guard "else"; + occurrences [@scenario_sa_59]; + }; + }; + description ""; + parent @scenario_sa_51; + postcondition ""; + precondition ""; + } + + sa_occurrence scenario_sa_54 "SA Inner ALT" id "5ceaa100-0000-4000-8000-0000000000fe" { + body { + Fragment { + branches [@scenario_sa_55, @scenario_sa_56]; + operator Alternative; + }; + }; + description ""; + parent @scenario_sa_52; + postcondition ""; + precondition ""; + } + + sa_occurrence scenario_sa_55 "SA Inner chosen operand" id "5ceaa100-0000-4000-8000-0000000000ff" { + body { + Branch { + guard "ticket.ready"; + occurrences [@scenario_sa_57]; + }; + }; + description ""; + parent @scenario_sa_54; + postcondition ""; + precondition ""; + } + + sa_occurrence scenario_sa_56 "SA Inner other operand" id "5ceaa100-0000-4000-8000-000000000100" { + body { + Branch { + guard "else"; + occurrences [@scenario_sa_58]; + }; + }; + description ""; + parent @scenario_sa_54; + postcondition ""; + precondition ""; + } + + sa_occurrence scenario_sa_57 "SA Inner anchor" id "5ceaa100-0000-4000-8000-000000000101" { + body { + Action { + action @scenario_sa_10; + lifeline @scenario_sa_40; + }; + }; + description ""; + parent @scenario_sa_55; + postcondition ""; + precondition ""; + } + + sa_occurrence scenario_sa_58 "SA Inner other anchor" id "5ceaa100-0000-4000-8000-000000000102" { + body { + Action { + action @scenario_sa_10; + lifeline @scenario_sa_40; + }; + }; + description ""; + parent @scenario_sa_56; + postcondition ""; + precondition ""; + } + + sa_occurrence scenario_sa_59 "SA Fallback anchor" id "5ceaa100-0000-4000-8000-000000000103" { + body { + Action { + action @scenario_sa_11; + lifeline @scenario_sa_41; + }; + }; + description ""; + parent @scenario_sa_53; + postcondition ""; + precondition ""; + } + + sa_occurrence scenario_sa_60 "SA First use of B" id "5ceaa100-0000-4000-8000-000000000104" { + body { + ScenarioUse { + bindings [{ + local @scenario_sa_40; + referenced @scenario_sa_42; + }, { + local @scenario_sa_41; + referenced @scenario_sa_43; + }]; + scenario @scenario_sa_31; + }; + }; + description ""; + parent @scenario_sa_30; + postcondition ""; + precondition ""; + } + + sa_occurrence scenario_sa_61 "SA Second use of B" id "5ceaa100-0000-4000-8000-000000000105" { + body { + ScenarioUse { + bindings [{ + local @scenario_sa_40; + referenced @scenario_sa_42; + }, { + local @scenario_sa_41; + referenced @scenario_sa_43; + }]; + scenario @scenario_sa_31; + }; + }; + description ""; + parent @scenario_sa_30; + postcondition ""; + precondition ""; + } + + sa_occurrence scenario_sa_62 "SA Root exit" id "5ceaa100-0000-4000-8000-000000000106" { + body { + Action { + action @scenario_sa_11; + lifeline @scenario_sa_41; + }; + }; + description ""; + parent @scenario_sa_30; + postcondition ""; + precondition ""; + } + + sa_occurrence scenario_sa_63 "SA B entry" id "5ceaa100-0000-4000-8000-000000000107" { + body { + Action { + action @scenario_sa_10; + lifeline @scenario_sa_42; + }; + }; + description ""; + parent @scenario_sa_31; + postcondition ""; + precondition ""; + } + + sa_occurrence scenario_sa_64 "SA B use of C" id "5ceaa100-0000-4000-8000-000000000108" { + body { + ScenarioUse { + bindings [{ + local @scenario_sa_42; + referenced @scenario_sa_44; + }, { + local @scenario_sa_43; + referenced @scenario_sa_45; + }]; + scenario @scenario_sa_32; + }; + }; + description ""; + parent @scenario_sa_31; + postcondition ""; + precondition ""; + } + + sa_occurrence scenario_sa_65 "SA B exit" id "5ceaa100-0000-4000-8000-000000000109" { + body { + Action { + action @scenario_sa_11; + lifeline @scenario_sa_43; + }; + }; + description ""; + parent @scenario_sa_31; + postcondition ""; + precondition ""; + } + + sa_occurrence scenario_sa_66 "SA C entry" id "5ceaa100-0000-4000-8000-00000000010a" { + body { + Action { + action @scenario_sa_10; + lifeline @scenario_sa_44; + }; + }; + description ""; + parent @scenario_sa_32; + postcondition ""; + precondition ""; + } + +} diff --git a/harness/experiments/scenario-native-local-20260911/checkpoint-oa-action-undo/rationale.arcadia b/harness/experiments/scenario-native-local-20260911/checkpoint-oa-action-undo/rationale.arcadia new file mode 100644 index 00000000..64b58187 --- /dev/null +++ b/harness/experiments/scenario-native-local-20260911/checkpoint-oa-action-undo/rationale.arcadia @@ -0,0 +1,2 @@ +// Retain caller/operand evidence: ticket 雨. +// Navigation never edits this note. diff --git a/harness/experiments/scenario-native-local-20260911/checkpoint-oa-action/project.arcadia b/harness/experiments/scenario-native-local-20260911/checkpoint-oa-action/project.arcadia new file mode 100644 index 00000000..0efc27b0 --- /dev/null +++ b/harness/experiments/scenario-native-local-20260911/checkpoint-oa-action/project.arcadia @@ -0,0 +1,689 @@ +arcadia 7; +project scenario_authoring "Scenario authoring contract" id "5ceaa100-0000-4000-8000-000000000001" { + include "rationale.arcadia"; + description "Native clicked-slot and caller-return contract."; + + oa_activity scenario_oa_10 "OA Inspect ticket" id "5ceaa100-0000-4000-8000-00000000006e" { + description ""; + parent none; + } + + oa_activity scenario_oa_11 "OA Record result" id "5ceaa100-0000-4000-8000-00000000006f" { + description ""; + parent none; + } + + oa_state_machine scenario_oa_20 "OA Ticket modes" id "5ceaa100-0000-4000-8000-000000000078" { + description ""; + parent none; + } + + oa_region scenario_oa_21 "OA Ticket region" id "5ceaa100-0000-4000-8000-000000000079" { + description ""; + parent @scenario_oa_20; + } + + oa_state scenario_oa_22 "OA Ready" id "5ceaa100-0000-4000-8000-00000000007a" { + description ""; + do_activity ""; + entry ""; + exit ""; + kind State; + parent @scenario_oa_21; + } + + oa_scenario scenario_oa_30 "OA A caller" id "5ceaa100-0000-4000-8000-000000000082" { + context none; + description ""; + parent none; + postcondition ""; + precondition ""; + steps [ @oa_native_action,@scenario_oa_50, @scenario_oa_51, @scenario_oa_60, @scenario_oa_61, @scenario_oa_62]; + viewpoint OperationalActivity; + + oa_occurrence oa_native_action "OA native action" id "ef323f4f-6e0c-4876-9e81-6c2526877d2e" { + body { + Action { + action @scenario_oa_10; + lifeline @scenario_oa_40; + }; + }; + description ""; + + postcondition ""; + precondition ""; + } + + + } + + oa_scenario scenario_oa_31 "OA B verification" id "5ceaa100-0000-4000-8000-000000000083" { + context none; + description ""; + parent none; + postcondition ""; + precondition ""; + steps [@scenario_oa_63, @scenario_oa_64, @scenario_oa_65]; + viewpoint OperationalActivity; + } + + oa_scenario scenario_oa_32 "OA C detail" id "5ceaa100-0000-4000-8000-000000000084" { + context none; + description ""; + parent none; + postcondition ""; + precondition ""; + steps [@scenario_oa_66]; + viewpoint OperationalActivity; + } + + oa_lifeline scenario_oa_40 "OA A inspector" id "5ceaa100-0000-4000-8000-00000000008c" { + description ""; + parent @scenario_oa_30; + represented @scenario_oa_10; + } + + oa_lifeline scenario_oa_41 "OA A recorder" id "5ceaa100-0000-4000-8000-00000000008d" { + description ""; + parent @scenario_oa_30; + represented @scenario_oa_11; + } + + oa_lifeline scenario_oa_42 "OA B inspector" id "5ceaa100-0000-4000-8000-00000000008e" { + description ""; + parent @scenario_oa_31; + represented @scenario_oa_10; + } + + oa_lifeline scenario_oa_43 "OA B recorder" id "5ceaa100-0000-4000-8000-00000000008f" { + description ""; + parent @scenario_oa_31; + represented @scenario_oa_11; + } + + oa_lifeline scenario_oa_44 "OA C inspector" id "5ceaa100-0000-4000-8000-000000000090" { + description ""; + parent @scenario_oa_32; + represented @scenario_oa_10; + } + + oa_lifeline scenario_oa_45 "OA C recorder" id "5ceaa100-0000-4000-8000-000000000091" { + description ""; + parent @scenario_oa_32; + represented @scenario_oa_11; + } + + oa_occurrence scenario_oa_50 "OA Root entry" id "5ceaa100-0000-4000-8000-000000000096" { + body { + Action { + action @scenario_oa_10; + lifeline @scenario_oa_40; + }; + }; + description ""; + parent @scenario_oa_30; + postcondition ""; + precondition ""; + } + + oa_occurrence scenario_oa_51 "OA Outer ALT" id "5ceaa100-0000-4000-8000-000000000097" { + body { + Fragment { + branches [@scenario_oa_52, @scenario_oa_53]; + operator Alternative; + }; + }; + description ""; + parent @scenario_oa_30; + postcondition ""; + precondition ""; + } + + oa_occurrence scenario_oa_52 "OA Outer chosen operand" id "5ceaa100-0000-4000-8000-000000000098" { + body { + Branch { + guard "ticket.present"; + occurrences [@scenario_oa_54]; + }; + }; + description ""; + parent @scenario_oa_51; + postcondition ""; + precondition ""; + } + + oa_occurrence scenario_oa_53 "OA Outer fallback operand" id "5ceaa100-0000-4000-8000-000000000099" { + body { + Branch { + guard "else"; + occurrences [@scenario_oa_59]; + }; + }; + description ""; + parent @scenario_oa_51; + postcondition ""; + precondition ""; + } + + oa_occurrence scenario_oa_54 "OA Inner ALT" id "5ceaa100-0000-4000-8000-00000000009a" { + body { + Fragment { + branches [@scenario_oa_55, @scenario_oa_56]; + operator Alternative; + }; + }; + description ""; + parent @scenario_oa_52; + postcondition ""; + precondition ""; + } + + oa_occurrence scenario_oa_55 "OA Inner chosen operand" id "5ceaa100-0000-4000-8000-00000000009b" { + body { + Branch { + guard "ticket.ready"; + occurrences [@scenario_oa_57]; + }; + }; + description ""; + parent @scenario_oa_54; + postcondition ""; + precondition ""; + } + + oa_occurrence scenario_oa_56 "OA Inner other operand" id "5ceaa100-0000-4000-8000-00000000009c" { + body { + Branch { + guard "else"; + occurrences [@scenario_oa_58]; + }; + }; + description ""; + parent @scenario_oa_54; + postcondition ""; + precondition ""; + } + + oa_occurrence scenario_oa_57 "OA Inner anchor" id "5ceaa100-0000-4000-8000-00000000009d" { + body { + Action { + action @scenario_oa_10; + lifeline @scenario_oa_40; + }; + }; + description ""; + parent @scenario_oa_55; + postcondition ""; + precondition ""; + } + + oa_occurrence scenario_oa_58 "OA Inner other anchor" id "5ceaa100-0000-4000-8000-00000000009e" { + body { + Action { + action @scenario_oa_10; + lifeline @scenario_oa_40; + }; + }; + description ""; + parent @scenario_oa_56; + postcondition ""; + precondition ""; + } + + oa_occurrence scenario_oa_59 "OA Fallback anchor" id "5ceaa100-0000-4000-8000-00000000009f" { + body { + Action { + action @scenario_oa_11; + lifeline @scenario_oa_41; + }; + }; + description ""; + parent @scenario_oa_53; + postcondition ""; + precondition ""; + } + + oa_occurrence scenario_oa_60 "OA First use of B" id "5ceaa100-0000-4000-8000-0000000000a0" { + body { + ScenarioUse { + bindings [{ + local @scenario_oa_40; + referenced @scenario_oa_42; + }, { + local @scenario_oa_41; + referenced @scenario_oa_43; + }]; + scenario @scenario_oa_31; + }; + }; + description ""; + parent @scenario_oa_30; + postcondition ""; + precondition ""; + } + + oa_occurrence scenario_oa_61 "OA Second use of B" id "5ceaa100-0000-4000-8000-0000000000a1" { + body { + ScenarioUse { + bindings [{ + local @scenario_oa_40; + referenced @scenario_oa_42; + }, { + local @scenario_oa_41; + referenced @scenario_oa_43; + }]; + scenario @scenario_oa_31; + }; + }; + description ""; + parent @scenario_oa_30; + postcondition ""; + precondition ""; + } + + oa_occurrence scenario_oa_62 "OA Root exit" id "5ceaa100-0000-4000-8000-0000000000a2" { + body { + Action { + action @scenario_oa_11; + lifeline @scenario_oa_41; + }; + }; + description ""; + parent @scenario_oa_30; + postcondition ""; + precondition ""; + } + + oa_occurrence scenario_oa_63 "OA B entry" id "5ceaa100-0000-4000-8000-0000000000a3" { + body { + Action { + action @scenario_oa_10; + lifeline @scenario_oa_42; + }; + }; + description ""; + parent @scenario_oa_31; + postcondition ""; + precondition ""; + } + + oa_occurrence scenario_oa_64 "OA B use of C" id "5ceaa100-0000-4000-8000-0000000000a4" { + body { + ScenarioUse { + bindings [{ + local @scenario_oa_42; + referenced @scenario_oa_44; + }, { + local @scenario_oa_43; + referenced @scenario_oa_45; + }]; + scenario @scenario_oa_32; + }; + }; + description ""; + parent @scenario_oa_31; + postcondition ""; + precondition ""; + } + + oa_occurrence scenario_oa_65 "OA B exit" id "5ceaa100-0000-4000-8000-0000000000a5" { + body { + Action { + action @scenario_oa_11; + lifeline @scenario_oa_43; + }; + }; + description ""; + parent @scenario_oa_31; + postcondition ""; + precondition ""; + } + + oa_occurrence scenario_oa_66 "OA C entry" id "5ceaa100-0000-4000-8000-0000000000a6" { + body { + Action { + action @scenario_oa_10; + lifeline @scenario_oa_44; + }; + }; + description ""; + parent @scenario_oa_32; + postcondition ""; + precondition ""; + } + + sa_function scenario_sa_10 "SA Inspect ticket" id "5ceaa100-0000-4000-8000-0000000000d2" { + description ""; + parent none; + } + + sa_function scenario_sa_11 "SA Record result" id "5ceaa100-0000-4000-8000-0000000000d3" { + description ""; + parent none; + } + + sa_state_machine scenario_sa_20 "SA Ticket modes" id "5ceaa100-0000-4000-8000-0000000000dc" { + description ""; + parent none; + } + + sa_region scenario_sa_21 "SA Ticket region" id "5ceaa100-0000-4000-8000-0000000000dd" { + description ""; + parent @scenario_sa_20; + } + + sa_state scenario_sa_22 "SA Ready" id "5ceaa100-0000-4000-8000-0000000000de" { + description ""; + do_activity ""; + entry ""; + exit ""; + kind State; + parent @scenario_sa_21; + } + + sa_scenario scenario_sa_30 "SA A caller" id "5ceaa100-0000-4000-8000-0000000000e6" { + context none; + description ""; + parent none; + postcondition ""; + precondition ""; + steps [@scenario_sa_50, @scenario_sa_51, @scenario_sa_60, @scenario_sa_61, @scenario_sa_62]; + viewpoint Functional; + } + + sa_scenario scenario_sa_31 "SA B verification" id "5ceaa100-0000-4000-8000-0000000000e7" { + context none; + description ""; + parent none; + postcondition ""; + precondition ""; + steps [@scenario_sa_63, @scenario_sa_64, @scenario_sa_65]; + viewpoint Functional; + } + + sa_scenario scenario_sa_32 "SA C detail" id "5ceaa100-0000-4000-8000-0000000000e8" { + context none; + description ""; + parent none; + postcondition ""; + precondition ""; + steps [@scenario_sa_66]; + viewpoint Functional; + } + + sa_lifeline scenario_sa_40 "SA A inspector" id "5ceaa100-0000-4000-8000-0000000000f0" { + description ""; + parent @scenario_sa_30; + represented @scenario_sa_10; + } + + sa_lifeline scenario_sa_41 "SA A recorder" id "5ceaa100-0000-4000-8000-0000000000f1" { + description ""; + parent @scenario_sa_30; + represented @scenario_sa_11; + } + + sa_lifeline scenario_sa_42 "SA B inspector" id "5ceaa100-0000-4000-8000-0000000000f2" { + description ""; + parent @scenario_sa_31; + represented @scenario_sa_10; + } + + sa_lifeline scenario_sa_43 "SA B recorder" id "5ceaa100-0000-4000-8000-0000000000f3" { + description ""; + parent @scenario_sa_31; + represented @scenario_sa_11; + } + + sa_lifeline scenario_sa_44 "SA C inspector" id "5ceaa100-0000-4000-8000-0000000000f4" { + description ""; + parent @scenario_sa_32; + represented @scenario_sa_10; + } + + sa_lifeline scenario_sa_45 "SA C recorder" id "5ceaa100-0000-4000-8000-0000000000f5" { + description ""; + parent @scenario_sa_32; + represented @scenario_sa_11; + } + + sa_occurrence scenario_sa_50 "SA Root entry" id "5ceaa100-0000-4000-8000-0000000000fa" { + body { + Action { + action @scenario_sa_10; + lifeline @scenario_sa_40; + }; + }; + description ""; + parent @scenario_sa_30; + postcondition ""; + precondition ""; + } + + sa_occurrence scenario_sa_51 "SA Outer ALT" id "5ceaa100-0000-4000-8000-0000000000fb" { + body { + Fragment { + branches [@scenario_sa_52, @scenario_sa_53]; + operator Alternative; + }; + }; + description ""; + parent @scenario_sa_30; + postcondition ""; + precondition ""; + } + + sa_occurrence scenario_sa_52 "SA Outer chosen operand" id "5ceaa100-0000-4000-8000-0000000000fc" { + body { + Branch { + guard "ticket.present"; + occurrences [@scenario_sa_54]; + }; + }; + description ""; + parent @scenario_sa_51; + postcondition ""; + precondition ""; + } + + sa_occurrence scenario_sa_53 "SA Outer fallback operand" id "5ceaa100-0000-4000-8000-0000000000fd" { + body { + Branch { + guard "else"; + occurrences [@scenario_sa_59]; + }; + }; + description ""; + parent @scenario_sa_51; + postcondition ""; + precondition ""; + } + + sa_occurrence scenario_sa_54 "SA Inner ALT" id "5ceaa100-0000-4000-8000-0000000000fe" { + body { + Fragment { + branches [@scenario_sa_55, @scenario_sa_56]; + operator Alternative; + }; + }; + description ""; + parent @scenario_sa_52; + postcondition ""; + precondition ""; + } + + sa_occurrence scenario_sa_55 "SA Inner chosen operand" id "5ceaa100-0000-4000-8000-0000000000ff" { + body { + Branch { + guard "ticket.ready"; + occurrences [@scenario_sa_57]; + }; + }; + description ""; + parent @scenario_sa_54; + postcondition ""; + precondition ""; + } + + sa_occurrence scenario_sa_56 "SA Inner other operand" id "5ceaa100-0000-4000-8000-000000000100" { + body { + Branch { + guard "else"; + occurrences [@scenario_sa_58]; + }; + }; + description ""; + parent @scenario_sa_54; + postcondition ""; + precondition ""; + } + + sa_occurrence scenario_sa_57 "SA Inner anchor" id "5ceaa100-0000-4000-8000-000000000101" { + body { + Action { + action @scenario_sa_10; + lifeline @scenario_sa_40; + }; + }; + description ""; + parent @scenario_sa_55; + postcondition ""; + precondition ""; + } + + sa_occurrence scenario_sa_58 "SA Inner other anchor" id "5ceaa100-0000-4000-8000-000000000102" { + body { + Action { + action @scenario_sa_10; + lifeline @scenario_sa_40; + }; + }; + description ""; + parent @scenario_sa_56; + postcondition ""; + precondition ""; + } + + sa_occurrence scenario_sa_59 "SA Fallback anchor" id "5ceaa100-0000-4000-8000-000000000103" { + body { + Action { + action @scenario_sa_11; + lifeline @scenario_sa_41; + }; + }; + description ""; + parent @scenario_sa_53; + postcondition ""; + precondition ""; + } + + sa_occurrence scenario_sa_60 "SA First use of B" id "5ceaa100-0000-4000-8000-000000000104" { + body { + ScenarioUse { + bindings [{ + local @scenario_sa_40; + referenced @scenario_sa_42; + }, { + local @scenario_sa_41; + referenced @scenario_sa_43; + }]; + scenario @scenario_sa_31; + }; + }; + description ""; + parent @scenario_sa_30; + postcondition ""; + precondition ""; + } + + sa_occurrence scenario_sa_61 "SA Second use of B" id "5ceaa100-0000-4000-8000-000000000105" { + body { + ScenarioUse { + bindings [{ + local @scenario_sa_40; + referenced @scenario_sa_42; + }, { + local @scenario_sa_41; + referenced @scenario_sa_43; + }]; + scenario @scenario_sa_31; + }; + }; + description ""; + parent @scenario_sa_30; + postcondition ""; + precondition ""; + } + + sa_occurrence scenario_sa_62 "SA Root exit" id "5ceaa100-0000-4000-8000-000000000106" { + body { + Action { + action @scenario_sa_11; + lifeline @scenario_sa_41; + }; + }; + description ""; + parent @scenario_sa_30; + postcondition ""; + precondition ""; + } + + sa_occurrence scenario_sa_63 "SA B entry" id "5ceaa100-0000-4000-8000-000000000107" { + body { + Action { + action @scenario_sa_10; + lifeline @scenario_sa_42; + }; + }; + description ""; + parent @scenario_sa_31; + postcondition ""; + precondition ""; + } + + sa_occurrence scenario_sa_64 "SA B use of C" id "5ceaa100-0000-4000-8000-000000000108" { + body { + ScenarioUse { + bindings [{ + local @scenario_sa_42; + referenced @scenario_sa_44; + }, { + local @scenario_sa_43; + referenced @scenario_sa_45; + }]; + scenario @scenario_sa_32; + }; + }; + description ""; + parent @scenario_sa_31; + postcondition ""; + precondition ""; + } + + sa_occurrence scenario_sa_65 "SA B exit" id "5ceaa100-0000-4000-8000-000000000109" { + body { + Action { + action @scenario_sa_11; + lifeline @scenario_sa_43; + }; + }; + description ""; + parent @scenario_sa_31; + postcondition ""; + precondition ""; + } + + sa_occurrence scenario_sa_66 "SA C entry" id "5ceaa100-0000-4000-8000-00000000010a" { + body { + Action { + action @scenario_sa_10; + lifeline @scenario_sa_44; + }; + }; + description ""; + parent @scenario_sa_32; + postcondition ""; + precondition ""; + } + +} diff --git a/harness/experiments/scenario-native-local-20260911/checkpoint-oa-action/rationale.arcadia b/harness/experiments/scenario-native-local-20260911/checkpoint-oa-action/rationale.arcadia new file mode 100644 index 00000000..64b58187 --- /dev/null +++ b/harness/experiments/scenario-native-local-20260911/checkpoint-oa-action/rationale.arcadia @@ -0,0 +1,2 @@ +// Retain caller/operand evidence: ticket 雨. +// Navigation never edits this note. diff --git a/harness/experiments/scenario-native-local-20260911/checkpoint-oa-fragment-redo/project.arcadia b/harness/experiments/scenario-native-local-20260911/checkpoint-oa-fragment-redo/project.arcadia new file mode 100644 index 00000000..e24c7a3b --- /dev/null +++ b/harness/experiments/scenario-native-local-20260911/checkpoint-oa-fragment-redo/project.arcadia @@ -0,0 +1,769 @@ +arcadia 7; +project scenario_authoring "Scenario authoring contract" id "5ceaa100-0000-4000-8000-000000000001" { + include "rationale.arcadia"; + description "Native clicked-slot and caller-return contract."; + + oa_activity scenario_oa_10 "OA Inspect ticket" id "5ceaa100-0000-4000-8000-00000000006e" { + description ""; + parent none; + } + + oa_activity scenario_oa_11 "OA Record result" id "5ceaa100-0000-4000-8000-00000000006f" { + description ""; + parent none; + } + + oa_state_machine scenario_oa_20 "OA Ticket modes" id "5ceaa100-0000-4000-8000-000000000078" { + description ""; + parent none; + } + + oa_region scenario_oa_21 "OA Ticket region" id "5ceaa100-0000-4000-8000-000000000079" { + description ""; + parent @scenario_oa_20; + } + + oa_state scenario_oa_22 "OA Ready" id "5ceaa100-0000-4000-8000-00000000007a" { + description ""; + do_activity ""; + entry ""; + exit ""; + kind State; + parent @scenario_oa_21; + } + + oa_scenario scenario_oa_30 "OA A caller" id "5ceaa100-0000-4000-8000-000000000082" { + context none; + description ""; + parent none; + postcondition ""; + precondition ""; + steps [ @oa_native_action,@scenario_oa_50, @scenario_oa_51, @scenario_oa_60, @scenario_oa_61, @oa_native_alternative, @scenario_oa_62]; + viewpoint OperationalActivity; + + oa_occurrence oa_native_action "OA native action" id "ef323f4f-6e0c-4876-9e81-6c2526877d2e" { + body { + Action { + action @scenario_oa_10; + lifeline @scenario_oa_40; + }; + }; + description ""; + + postcondition ""; + precondition ""; + } + + + + oa_occurrence oa_native_alternative "OA native alternative" id "6d6503cc-4a00-4dec-bf64-aaf753ef6644" { + body { + Fragment { + branches [@oa_native_alternative_operand_1, @oa_native_alternative_operand_2]; + operator Alternative; + }; + }; + description ""; + + postcondition ""; + precondition ""; + + oa_occurrence oa_native_alternative_operand_1 "OA native alternative · operand 1" id "54944dc8-2a46-4fdb-aee3-461e9e76eb09" { + body { + Branch { + guard "ticket.priority > 2"; + occurrences []; + }; + }; + description ""; + + postcondition ""; + precondition ""; + } + + + oa_occurrence oa_native_alternative_operand_2 "OA native alternative · operand 2" id "cd499ca9-164d-4b83-b4f3-5e790e74f954" { + body { + Branch { + guard "ticket.priority <= 2"; + occurrences []; + }; + }; + description ""; + + postcondition ""; + precondition ""; + } + + + } + + + } + + oa_scenario scenario_oa_31 "OA B verification" id "5ceaa100-0000-4000-8000-000000000083" { + context none; + description ""; + parent none; + postcondition ""; + precondition ""; + steps [@scenario_oa_63, @scenario_oa_64, @scenario_oa_65]; + viewpoint OperationalActivity; + } + + oa_scenario scenario_oa_32 "OA C detail" id "5ceaa100-0000-4000-8000-000000000084" { + context none; + description ""; + parent none; + postcondition ""; + precondition ""; + steps [@scenario_oa_66]; + viewpoint OperationalActivity; + } + + oa_lifeline scenario_oa_40 "OA A inspector" id "5ceaa100-0000-4000-8000-00000000008c" { + description ""; + parent @scenario_oa_30; + represented @scenario_oa_10; + } + + oa_lifeline scenario_oa_41 "OA A recorder" id "5ceaa100-0000-4000-8000-00000000008d" { + description ""; + parent @scenario_oa_30; + represented @scenario_oa_11; + } + + oa_lifeline scenario_oa_42 "OA B inspector" id "5ceaa100-0000-4000-8000-00000000008e" { + description ""; + parent @scenario_oa_31; + represented @scenario_oa_10; + } + + oa_lifeline scenario_oa_43 "OA B recorder" id "5ceaa100-0000-4000-8000-00000000008f" { + description ""; + parent @scenario_oa_31; + represented @scenario_oa_11; + } + + oa_lifeline scenario_oa_44 "OA C inspector" id "5ceaa100-0000-4000-8000-000000000090" { + description ""; + parent @scenario_oa_32; + represented @scenario_oa_10; + } + + oa_lifeline scenario_oa_45 "OA C recorder" id "5ceaa100-0000-4000-8000-000000000091" { + description ""; + parent @scenario_oa_32; + represented @scenario_oa_11; + } + + oa_occurrence scenario_oa_50 "OA Root entry" id "5ceaa100-0000-4000-8000-000000000096" { + body { + Action { + action @scenario_oa_10; + lifeline @scenario_oa_40; + }; + }; + description ""; + parent @scenario_oa_30; + postcondition ""; + precondition ""; + } + + oa_occurrence scenario_oa_51 "OA Outer ALT" id "5ceaa100-0000-4000-8000-000000000097" { + body { + Fragment { + branches [@scenario_oa_52, @scenario_oa_53]; + operator Alternative; + }; + }; + description ""; + parent @scenario_oa_30; + postcondition ""; + precondition ""; + } + + oa_occurrence scenario_oa_52 "OA Outer chosen operand" id "5ceaa100-0000-4000-8000-000000000098" { + body { + Branch { + guard "ticket.present"; + occurrences [@scenario_oa_54]; + }; + }; + description ""; + parent @scenario_oa_51; + postcondition ""; + precondition ""; + } + + oa_occurrence scenario_oa_53 "OA Outer fallback operand" id "5ceaa100-0000-4000-8000-000000000099" { + body { + Branch { + guard "else"; + occurrences [@scenario_oa_59]; + }; + }; + description ""; + parent @scenario_oa_51; + postcondition ""; + precondition ""; + } + + oa_occurrence scenario_oa_54 "OA Inner ALT" id "5ceaa100-0000-4000-8000-00000000009a" { + body { + Fragment { + branches [@scenario_oa_55, @scenario_oa_56]; + operator Alternative; + }; + }; + description ""; + parent @scenario_oa_52; + postcondition ""; + precondition ""; + } + + oa_occurrence scenario_oa_55 "OA Inner chosen operand" id "5ceaa100-0000-4000-8000-00000000009b" { + body { + Branch { + guard "ticket.ready"; + occurrences [ @oa_native_state, @oa_native_reuse,@scenario_oa_57]; + }; + }; + description ""; + parent @scenario_oa_54; + postcondition ""; + precondition ""; + + oa_occurrence oa_native_state "OA native state" id "ef00e17b-7f42-427c-a5d2-2c6dffd06bfa" { + body { + State { + lifeline @scenario_oa_40; + state @scenario_oa_22; + }; + }; + description ""; + + postcondition ""; + precondition ""; + } + + + + oa_occurrence oa_native_reuse "OA native reuse" id "b7b42ce3-f517-42a3-b773-b0c403553fc6" { + body { + ScenarioUse { + bindings [{ + local @scenario_oa_40; + referenced @scenario_oa_42; + }, { + local @scenario_oa_41; + referenced @scenario_oa_43; + }]; + scenario @scenario_oa_31; + }; + }; + description ""; + + postcondition ""; + precondition ""; + } + + + } + + oa_occurrence scenario_oa_56 "OA Inner other operand" id "5ceaa100-0000-4000-8000-00000000009c" { + body { + Branch { + guard "else"; + occurrences [@scenario_oa_58]; + }; + }; + description ""; + parent @scenario_oa_54; + postcondition ""; + precondition ""; + } + + oa_occurrence scenario_oa_57 "OA Inner anchor" id "5ceaa100-0000-4000-8000-00000000009d" { + body { + Action { + action @scenario_oa_10; + lifeline @scenario_oa_40; + }; + }; + description ""; + parent @scenario_oa_55; + postcondition ""; + precondition ""; + } + + oa_occurrence scenario_oa_58 "OA Inner other anchor" id "5ceaa100-0000-4000-8000-00000000009e" { + body { + Action { + action @scenario_oa_10; + lifeline @scenario_oa_40; + }; + }; + description ""; + parent @scenario_oa_56; + postcondition ""; + precondition ""; + } + + oa_occurrence scenario_oa_59 "OA Fallback anchor" id "5ceaa100-0000-4000-8000-00000000009f" { + body { + Action { + action @scenario_oa_11; + lifeline @scenario_oa_41; + }; + }; + description ""; + parent @scenario_oa_53; + postcondition ""; + precondition ""; + } + + oa_occurrence scenario_oa_60 "OA First use of B" id "5ceaa100-0000-4000-8000-0000000000a0" { + body { + ScenarioUse { + bindings [{ + local @scenario_oa_40; + referenced @scenario_oa_42; + }, { + local @scenario_oa_41; + referenced @scenario_oa_43; + }]; + scenario @scenario_oa_31; + }; + }; + description ""; + parent @scenario_oa_30; + postcondition ""; + precondition ""; + } + + oa_occurrence scenario_oa_61 "OA Second use of B" id "5ceaa100-0000-4000-8000-0000000000a1" { + body { + ScenarioUse { + bindings [{ + local @scenario_oa_40; + referenced @scenario_oa_42; + }, { + local @scenario_oa_41; + referenced @scenario_oa_43; + }]; + scenario @scenario_oa_31; + }; + }; + description ""; + parent @scenario_oa_30; + postcondition ""; + precondition ""; + } + + oa_occurrence scenario_oa_62 "OA Root exit" id "5ceaa100-0000-4000-8000-0000000000a2" { + body { + Action { + action @scenario_oa_11; + lifeline @scenario_oa_41; + }; + }; + description ""; + parent @scenario_oa_30; + postcondition ""; + precondition ""; + } + + oa_occurrence scenario_oa_63 "OA B entry" id "5ceaa100-0000-4000-8000-0000000000a3" { + body { + Action { + action @scenario_oa_10; + lifeline @scenario_oa_42; + }; + }; + description ""; + parent @scenario_oa_31; + postcondition ""; + precondition ""; + } + + oa_occurrence scenario_oa_64 "OA B use of C" id "5ceaa100-0000-4000-8000-0000000000a4" { + body { + ScenarioUse { + bindings [{ + local @scenario_oa_42; + referenced @scenario_oa_44; + }, { + local @scenario_oa_43; + referenced @scenario_oa_45; + }]; + scenario @scenario_oa_32; + }; + }; + description ""; + parent @scenario_oa_31; + postcondition ""; + precondition ""; + } + + oa_occurrence scenario_oa_65 "OA B exit" id "5ceaa100-0000-4000-8000-0000000000a5" { + body { + Action { + action @scenario_oa_11; + lifeline @scenario_oa_43; + }; + }; + description ""; + parent @scenario_oa_31; + postcondition ""; + precondition ""; + } + + oa_occurrence scenario_oa_66 "OA C entry" id "5ceaa100-0000-4000-8000-0000000000a6" { + body { + Action { + action @scenario_oa_10; + lifeline @scenario_oa_44; + }; + }; + description ""; + parent @scenario_oa_32; + postcondition ""; + precondition ""; + } + + sa_function scenario_sa_10 "SA Inspect ticket" id "5ceaa100-0000-4000-8000-0000000000d2" { + description ""; + parent none; + } + + sa_function scenario_sa_11 "SA Record result" id "5ceaa100-0000-4000-8000-0000000000d3" { + description ""; + parent none; + } + + sa_state_machine scenario_sa_20 "SA Ticket modes" id "5ceaa100-0000-4000-8000-0000000000dc" { + description ""; + parent none; + } + + sa_region scenario_sa_21 "SA Ticket region" id "5ceaa100-0000-4000-8000-0000000000dd" { + description ""; + parent @scenario_sa_20; + } + + sa_state scenario_sa_22 "SA Ready" id "5ceaa100-0000-4000-8000-0000000000de" { + description ""; + do_activity ""; + entry ""; + exit ""; + kind State; + parent @scenario_sa_21; + } + + sa_scenario scenario_sa_30 "SA A caller" id "5ceaa100-0000-4000-8000-0000000000e6" { + context none; + description ""; + parent none; + postcondition ""; + precondition ""; + steps [@scenario_sa_50, @scenario_sa_51, @scenario_sa_60, @scenario_sa_61, @scenario_sa_62]; + viewpoint Functional; + } + + sa_scenario scenario_sa_31 "SA B verification" id "5ceaa100-0000-4000-8000-0000000000e7" { + context none; + description ""; + parent none; + postcondition ""; + precondition ""; + steps [@scenario_sa_63, @scenario_sa_64, @scenario_sa_65]; + viewpoint Functional; + } + + sa_scenario scenario_sa_32 "SA C detail" id "5ceaa100-0000-4000-8000-0000000000e8" { + context none; + description ""; + parent none; + postcondition ""; + precondition ""; + steps [@scenario_sa_66]; + viewpoint Functional; + } + + sa_lifeline scenario_sa_40 "SA A inspector" id "5ceaa100-0000-4000-8000-0000000000f0" { + description ""; + parent @scenario_sa_30; + represented @scenario_sa_10; + } + + sa_lifeline scenario_sa_41 "SA A recorder" id "5ceaa100-0000-4000-8000-0000000000f1" { + description ""; + parent @scenario_sa_30; + represented @scenario_sa_11; + } + + sa_lifeline scenario_sa_42 "SA B inspector" id "5ceaa100-0000-4000-8000-0000000000f2" { + description ""; + parent @scenario_sa_31; + represented @scenario_sa_10; + } + + sa_lifeline scenario_sa_43 "SA B recorder" id "5ceaa100-0000-4000-8000-0000000000f3" { + description ""; + parent @scenario_sa_31; + represented @scenario_sa_11; + } + + sa_lifeline scenario_sa_44 "SA C inspector" id "5ceaa100-0000-4000-8000-0000000000f4" { + description ""; + parent @scenario_sa_32; + represented @scenario_sa_10; + } + + sa_lifeline scenario_sa_45 "SA C recorder" id "5ceaa100-0000-4000-8000-0000000000f5" { + description ""; + parent @scenario_sa_32; + represented @scenario_sa_11; + } + + sa_occurrence scenario_sa_50 "SA Root entry" id "5ceaa100-0000-4000-8000-0000000000fa" { + body { + Action { + action @scenario_sa_10; + lifeline @scenario_sa_40; + }; + }; + description ""; + parent @scenario_sa_30; + postcondition ""; + precondition ""; + } + + sa_occurrence scenario_sa_51 "SA Outer ALT" id "5ceaa100-0000-4000-8000-0000000000fb" { + body { + Fragment { + branches [@scenario_sa_52, @scenario_sa_53]; + operator Alternative; + }; + }; + description ""; + parent @scenario_sa_30; + postcondition ""; + precondition ""; + } + + sa_occurrence scenario_sa_52 "SA Outer chosen operand" id "5ceaa100-0000-4000-8000-0000000000fc" { + body { + Branch { + guard "ticket.present"; + occurrences [@scenario_sa_54]; + }; + }; + description ""; + parent @scenario_sa_51; + postcondition ""; + precondition ""; + } + + sa_occurrence scenario_sa_53 "SA Outer fallback operand" id "5ceaa100-0000-4000-8000-0000000000fd" { + body { + Branch { + guard "else"; + occurrences [@scenario_sa_59]; + }; + }; + description ""; + parent @scenario_sa_51; + postcondition ""; + precondition ""; + } + + sa_occurrence scenario_sa_54 "SA Inner ALT" id "5ceaa100-0000-4000-8000-0000000000fe" { + body { + Fragment { + branches [@scenario_sa_55, @scenario_sa_56]; + operator Alternative; + }; + }; + description ""; + parent @scenario_sa_52; + postcondition ""; + precondition ""; + } + + sa_occurrence scenario_sa_55 "SA Inner chosen operand" id "5ceaa100-0000-4000-8000-0000000000ff" { + body { + Branch { + guard "ticket.ready"; + occurrences [@scenario_sa_57]; + }; + }; + description ""; + parent @scenario_sa_54; + postcondition ""; + precondition ""; + } + + sa_occurrence scenario_sa_56 "SA Inner other operand" id "5ceaa100-0000-4000-8000-000000000100" { + body { + Branch { + guard "else"; + occurrences [@scenario_sa_58]; + }; + }; + description ""; + parent @scenario_sa_54; + postcondition ""; + precondition ""; + } + + sa_occurrence scenario_sa_57 "SA Inner anchor" id "5ceaa100-0000-4000-8000-000000000101" { + body { + Action { + action @scenario_sa_10; + lifeline @scenario_sa_40; + }; + }; + description ""; + parent @scenario_sa_55; + postcondition ""; + precondition ""; + } + + sa_occurrence scenario_sa_58 "SA Inner other anchor" id "5ceaa100-0000-4000-8000-000000000102" { + body { + Action { + action @scenario_sa_10; + lifeline @scenario_sa_40; + }; + }; + description ""; + parent @scenario_sa_56; + postcondition ""; + precondition ""; + } + + sa_occurrence scenario_sa_59 "SA Fallback anchor" id "5ceaa100-0000-4000-8000-000000000103" { + body { + Action { + action @scenario_sa_11; + lifeline @scenario_sa_41; + }; + }; + description ""; + parent @scenario_sa_53; + postcondition ""; + precondition ""; + } + + sa_occurrence scenario_sa_60 "SA First use of B" id "5ceaa100-0000-4000-8000-000000000104" { + body { + ScenarioUse { + bindings [{ + local @scenario_sa_40; + referenced @scenario_sa_42; + }, { + local @scenario_sa_41; + referenced @scenario_sa_43; + }]; + scenario @scenario_sa_31; + }; + }; + description ""; + parent @scenario_sa_30; + postcondition ""; + precondition ""; + } + + sa_occurrence scenario_sa_61 "SA Second use of B" id "5ceaa100-0000-4000-8000-000000000105" { + body { + ScenarioUse { + bindings [{ + local @scenario_sa_40; + referenced @scenario_sa_42; + }, { + local @scenario_sa_41; + referenced @scenario_sa_43; + }]; + scenario @scenario_sa_31; + }; + }; + description ""; + parent @scenario_sa_30; + postcondition ""; + precondition ""; + } + + sa_occurrence scenario_sa_62 "SA Root exit" id "5ceaa100-0000-4000-8000-000000000106" { + body { + Action { + action @scenario_sa_11; + lifeline @scenario_sa_41; + }; + }; + description ""; + parent @scenario_sa_30; + postcondition ""; + precondition ""; + } + + sa_occurrence scenario_sa_63 "SA B entry" id "5ceaa100-0000-4000-8000-000000000107" { + body { + Action { + action @scenario_sa_10; + lifeline @scenario_sa_42; + }; + }; + description ""; + parent @scenario_sa_31; + postcondition ""; + precondition ""; + } + + sa_occurrence scenario_sa_64 "SA B use of C" id "5ceaa100-0000-4000-8000-000000000108" { + body { + ScenarioUse { + bindings [{ + local @scenario_sa_42; + referenced @scenario_sa_44; + }, { + local @scenario_sa_43; + referenced @scenario_sa_45; + }]; + scenario @scenario_sa_32; + }; + }; + description ""; + parent @scenario_sa_31; + postcondition ""; + precondition ""; + } + + sa_occurrence scenario_sa_65 "SA B exit" id "5ceaa100-0000-4000-8000-000000000109" { + body { + Action { + action @scenario_sa_11; + lifeline @scenario_sa_43; + }; + }; + description ""; + parent @scenario_sa_31; + postcondition ""; + precondition ""; + } + + sa_occurrence scenario_sa_66 "SA C entry" id "5ceaa100-0000-4000-8000-00000000010a" { + body { + Action { + action @scenario_sa_10; + lifeline @scenario_sa_44; + }; + }; + description ""; + parent @scenario_sa_32; + postcondition ""; + precondition ""; + } + +} diff --git a/harness/experiments/scenario-native-local-20260911/checkpoint-oa-fragment-redo/rationale.arcadia b/harness/experiments/scenario-native-local-20260911/checkpoint-oa-fragment-redo/rationale.arcadia new file mode 100644 index 00000000..64b58187 --- /dev/null +++ b/harness/experiments/scenario-native-local-20260911/checkpoint-oa-fragment-redo/rationale.arcadia @@ -0,0 +1,2 @@ +// Retain caller/operand evidence: ticket 雨. +// Navigation never edits this note. diff --git a/harness/experiments/scenario-native-local-20260911/checkpoint-oa-fragment-undo/project.arcadia b/harness/experiments/scenario-native-local-20260911/checkpoint-oa-fragment-undo/project.arcadia new file mode 100644 index 00000000..d3b510d4 --- /dev/null +++ b/harness/experiments/scenario-native-local-20260911/checkpoint-oa-fragment-undo/project.arcadia @@ -0,0 +1,725 @@ +arcadia 7; +project scenario_authoring "Scenario authoring contract" id "5ceaa100-0000-4000-8000-000000000001" { + include "rationale.arcadia"; + description "Native clicked-slot and caller-return contract."; + + oa_activity scenario_oa_10 "OA Inspect ticket" id "5ceaa100-0000-4000-8000-00000000006e" { + description ""; + parent none; + } + + oa_activity scenario_oa_11 "OA Record result" id "5ceaa100-0000-4000-8000-00000000006f" { + description ""; + parent none; + } + + oa_state_machine scenario_oa_20 "OA Ticket modes" id "5ceaa100-0000-4000-8000-000000000078" { + description ""; + parent none; + } + + oa_region scenario_oa_21 "OA Ticket region" id "5ceaa100-0000-4000-8000-000000000079" { + description ""; + parent @scenario_oa_20; + } + + oa_state scenario_oa_22 "OA Ready" id "5ceaa100-0000-4000-8000-00000000007a" { + description ""; + do_activity ""; + entry ""; + exit ""; + kind State; + parent @scenario_oa_21; + } + + oa_scenario scenario_oa_30 "OA A caller" id "5ceaa100-0000-4000-8000-000000000082" { + context none; + description ""; + parent none; + postcondition ""; + precondition ""; + steps [ @oa_native_action,@scenario_oa_50, @scenario_oa_51, @scenario_oa_60, @scenario_oa_61, @scenario_oa_62]; + viewpoint OperationalActivity; + + oa_occurrence oa_native_action "OA native action" id "ef323f4f-6e0c-4876-9e81-6c2526877d2e" { + body { + Action { + action @scenario_oa_10; + lifeline @scenario_oa_40; + }; + }; + description ""; + + postcondition ""; + precondition ""; + } + + + } + + oa_scenario scenario_oa_31 "OA B verification" id "5ceaa100-0000-4000-8000-000000000083" { + context none; + description ""; + parent none; + postcondition ""; + precondition ""; + steps [@scenario_oa_63, @scenario_oa_64, @scenario_oa_65]; + viewpoint OperationalActivity; + } + + oa_scenario scenario_oa_32 "OA C detail" id "5ceaa100-0000-4000-8000-000000000084" { + context none; + description ""; + parent none; + postcondition ""; + precondition ""; + steps [@scenario_oa_66]; + viewpoint OperationalActivity; + } + + oa_lifeline scenario_oa_40 "OA A inspector" id "5ceaa100-0000-4000-8000-00000000008c" { + description ""; + parent @scenario_oa_30; + represented @scenario_oa_10; + } + + oa_lifeline scenario_oa_41 "OA A recorder" id "5ceaa100-0000-4000-8000-00000000008d" { + description ""; + parent @scenario_oa_30; + represented @scenario_oa_11; + } + + oa_lifeline scenario_oa_42 "OA B inspector" id "5ceaa100-0000-4000-8000-00000000008e" { + description ""; + parent @scenario_oa_31; + represented @scenario_oa_10; + } + + oa_lifeline scenario_oa_43 "OA B recorder" id "5ceaa100-0000-4000-8000-00000000008f" { + description ""; + parent @scenario_oa_31; + represented @scenario_oa_11; + } + + oa_lifeline scenario_oa_44 "OA C inspector" id "5ceaa100-0000-4000-8000-000000000090" { + description ""; + parent @scenario_oa_32; + represented @scenario_oa_10; + } + + oa_lifeline scenario_oa_45 "OA C recorder" id "5ceaa100-0000-4000-8000-000000000091" { + description ""; + parent @scenario_oa_32; + represented @scenario_oa_11; + } + + oa_occurrence scenario_oa_50 "OA Root entry" id "5ceaa100-0000-4000-8000-000000000096" { + body { + Action { + action @scenario_oa_10; + lifeline @scenario_oa_40; + }; + }; + description ""; + parent @scenario_oa_30; + postcondition ""; + precondition ""; + } + + oa_occurrence scenario_oa_51 "OA Outer ALT" id "5ceaa100-0000-4000-8000-000000000097" { + body { + Fragment { + branches [@scenario_oa_52, @scenario_oa_53]; + operator Alternative; + }; + }; + description ""; + parent @scenario_oa_30; + postcondition ""; + precondition ""; + } + + oa_occurrence scenario_oa_52 "OA Outer chosen operand" id "5ceaa100-0000-4000-8000-000000000098" { + body { + Branch { + guard "ticket.present"; + occurrences [@scenario_oa_54]; + }; + }; + description ""; + parent @scenario_oa_51; + postcondition ""; + precondition ""; + } + + oa_occurrence scenario_oa_53 "OA Outer fallback operand" id "5ceaa100-0000-4000-8000-000000000099" { + body { + Branch { + guard "else"; + occurrences [@scenario_oa_59]; + }; + }; + description ""; + parent @scenario_oa_51; + postcondition ""; + precondition ""; + } + + oa_occurrence scenario_oa_54 "OA Inner ALT" id "5ceaa100-0000-4000-8000-00000000009a" { + body { + Fragment { + branches [@scenario_oa_55, @scenario_oa_56]; + operator Alternative; + }; + }; + description ""; + parent @scenario_oa_52; + postcondition ""; + precondition ""; + } + + oa_occurrence scenario_oa_55 "OA Inner chosen operand" id "5ceaa100-0000-4000-8000-00000000009b" { + body { + Branch { + guard "ticket.ready"; + occurrences [ @oa_native_state, @oa_native_reuse,@scenario_oa_57]; + }; + }; + description ""; + parent @scenario_oa_54; + postcondition ""; + precondition ""; + + oa_occurrence oa_native_state "OA native state" id "ef00e17b-7f42-427c-a5d2-2c6dffd06bfa" { + body { + State { + lifeline @scenario_oa_40; + state @scenario_oa_22; + }; + }; + description ""; + + postcondition ""; + precondition ""; + } + + + + oa_occurrence oa_native_reuse "OA native reuse" id "b7b42ce3-f517-42a3-b773-b0c403553fc6" { + body { + ScenarioUse { + bindings [{ + local @scenario_oa_40; + referenced @scenario_oa_42; + }, { + local @scenario_oa_41; + referenced @scenario_oa_43; + }]; + scenario @scenario_oa_31; + }; + }; + description ""; + + postcondition ""; + precondition ""; + } + + + } + + oa_occurrence scenario_oa_56 "OA Inner other operand" id "5ceaa100-0000-4000-8000-00000000009c" { + body { + Branch { + guard "else"; + occurrences [@scenario_oa_58]; + }; + }; + description ""; + parent @scenario_oa_54; + postcondition ""; + precondition ""; + } + + oa_occurrence scenario_oa_57 "OA Inner anchor" id "5ceaa100-0000-4000-8000-00000000009d" { + body { + Action { + action @scenario_oa_10; + lifeline @scenario_oa_40; + }; + }; + description ""; + parent @scenario_oa_55; + postcondition ""; + precondition ""; + } + + oa_occurrence scenario_oa_58 "OA Inner other anchor" id "5ceaa100-0000-4000-8000-00000000009e" { + body { + Action { + action @scenario_oa_10; + lifeline @scenario_oa_40; + }; + }; + description ""; + parent @scenario_oa_56; + postcondition ""; + precondition ""; + } + + oa_occurrence scenario_oa_59 "OA Fallback anchor" id "5ceaa100-0000-4000-8000-00000000009f" { + body { + Action { + action @scenario_oa_11; + lifeline @scenario_oa_41; + }; + }; + description ""; + parent @scenario_oa_53; + postcondition ""; + precondition ""; + } + + oa_occurrence scenario_oa_60 "OA First use of B" id "5ceaa100-0000-4000-8000-0000000000a0" { + body { + ScenarioUse { + bindings [{ + local @scenario_oa_40; + referenced @scenario_oa_42; + }, { + local @scenario_oa_41; + referenced @scenario_oa_43; + }]; + scenario @scenario_oa_31; + }; + }; + description ""; + parent @scenario_oa_30; + postcondition ""; + precondition ""; + } + + oa_occurrence scenario_oa_61 "OA Second use of B" id "5ceaa100-0000-4000-8000-0000000000a1" { + body { + ScenarioUse { + bindings [{ + local @scenario_oa_40; + referenced @scenario_oa_42; + }, { + local @scenario_oa_41; + referenced @scenario_oa_43; + }]; + scenario @scenario_oa_31; + }; + }; + description ""; + parent @scenario_oa_30; + postcondition ""; + precondition ""; + } + + oa_occurrence scenario_oa_62 "OA Root exit" id "5ceaa100-0000-4000-8000-0000000000a2" { + body { + Action { + action @scenario_oa_11; + lifeline @scenario_oa_41; + }; + }; + description ""; + parent @scenario_oa_30; + postcondition ""; + precondition ""; + } + + oa_occurrence scenario_oa_63 "OA B entry" id "5ceaa100-0000-4000-8000-0000000000a3" { + body { + Action { + action @scenario_oa_10; + lifeline @scenario_oa_42; + }; + }; + description ""; + parent @scenario_oa_31; + postcondition ""; + precondition ""; + } + + oa_occurrence scenario_oa_64 "OA B use of C" id "5ceaa100-0000-4000-8000-0000000000a4" { + body { + ScenarioUse { + bindings [{ + local @scenario_oa_42; + referenced @scenario_oa_44; + }, { + local @scenario_oa_43; + referenced @scenario_oa_45; + }]; + scenario @scenario_oa_32; + }; + }; + description ""; + parent @scenario_oa_31; + postcondition ""; + precondition ""; + } + + oa_occurrence scenario_oa_65 "OA B exit" id "5ceaa100-0000-4000-8000-0000000000a5" { + body { + Action { + action @scenario_oa_11; + lifeline @scenario_oa_43; + }; + }; + description ""; + parent @scenario_oa_31; + postcondition ""; + precondition ""; + } + + oa_occurrence scenario_oa_66 "OA C entry" id "5ceaa100-0000-4000-8000-0000000000a6" { + body { + Action { + action @scenario_oa_10; + lifeline @scenario_oa_44; + }; + }; + description ""; + parent @scenario_oa_32; + postcondition ""; + precondition ""; + } + + sa_function scenario_sa_10 "SA Inspect ticket" id "5ceaa100-0000-4000-8000-0000000000d2" { + description ""; + parent none; + } + + sa_function scenario_sa_11 "SA Record result" id "5ceaa100-0000-4000-8000-0000000000d3" { + description ""; + parent none; + } + + sa_state_machine scenario_sa_20 "SA Ticket modes" id "5ceaa100-0000-4000-8000-0000000000dc" { + description ""; + parent none; + } + + sa_region scenario_sa_21 "SA Ticket region" id "5ceaa100-0000-4000-8000-0000000000dd" { + description ""; + parent @scenario_sa_20; + } + + sa_state scenario_sa_22 "SA Ready" id "5ceaa100-0000-4000-8000-0000000000de" { + description ""; + do_activity ""; + entry ""; + exit ""; + kind State; + parent @scenario_sa_21; + } + + sa_scenario scenario_sa_30 "SA A caller" id "5ceaa100-0000-4000-8000-0000000000e6" { + context none; + description ""; + parent none; + postcondition ""; + precondition ""; + steps [@scenario_sa_50, @scenario_sa_51, @scenario_sa_60, @scenario_sa_61, @scenario_sa_62]; + viewpoint Functional; + } + + sa_scenario scenario_sa_31 "SA B verification" id "5ceaa100-0000-4000-8000-0000000000e7" { + context none; + description ""; + parent none; + postcondition ""; + precondition ""; + steps [@scenario_sa_63, @scenario_sa_64, @scenario_sa_65]; + viewpoint Functional; + } + + sa_scenario scenario_sa_32 "SA C detail" id "5ceaa100-0000-4000-8000-0000000000e8" { + context none; + description ""; + parent none; + postcondition ""; + precondition ""; + steps [@scenario_sa_66]; + viewpoint Functional; + } + + sa_lifeline scenario_sa_40 "SA A inspector" id "5ceaa100-0000-4000-8000-0000000000f0" { + description ""; + parent @scenario_sa_30; + represented @scenario_sa_10; + } + + sa_lifeline scenario_sa_41 "SA A recorder" id "5ceaa100-0000-4000-8000-0000000000f1" { + description ""; + parent @scenario_sa_30; + represented @scenario_sa_11; + } + + sa_lifeline scenario_sa_42 "SA B inspector" id "5ceaa100-0000-4000-8000-0000000000f2" { + description ""; + parent @scenario_sa_31; + represented @scenario_sa_10; + } + + sa_lifeline scenario_sa_43 "SA B recorder" id "5ceaa100-0000-4000-8000-0000000000f3" { + description ""; + parent @scenario_sa_31; + represented @scenario_sa_11; + } + + sa_lifeline scenario_sa_44 "SA C inspector" id "5ceaa100-0000-4000-8000-0000000000f4" { + description ""; + parent @scenario_sa_32; + represented @scenario_sa_10; + } + + sa_lifeline scenario_sa_45 "SA C recorder" id "5ceaa100-0000-4000-8000-0000000000f5" { + description ""; + parent @scenario_sa_32; + represented @scenario_sa_11; + } + + sa_occurrence scenario_sa_50 "SA Root entry" id "5ceaa100-0000-4000-8000-0000000000fa" { + body { + Action { + action @scenario_sa_10; + lifeline @scenario_sa_40; + }; + }; + description ""; + parent @scenario_sa_30; + postcondition ""; + precondition ""; + } + + sa_occurrence scenario_sa_51 "SA Outer ALT" id "5ceaa100-0000-4000-8000-0000000000fb" { + body { + Fragment { + branches [@scenario_sa_52, @scenario_sa_53]; + operator Alternative; + }; + }; + description ""; + parent @scenario_sa_30; + postcondition ""; + precondition ""; + } + + sa_occurrence scenario_sa_52 "SA Outer chosen operand" id "5ceaa100-0000-4000-8000-0000000000fc" { + body { + Branch { + guard "ticket.present"; + occurrences [@scenario_sa_54]; + }; + }; + description ""; + parent @scenario_sa_51; + postcondition ""; + precondition ""; + } + + sa_occurrence scenario_sa_53 "SA Outer fallback operand" id "5ceaa100-0000-4000-8000-0000000000fd" { + body { + Branch { + guard "else"; + occurrences [@scenario_sa_59]; + }; + }; + description ""; + parent @scenario_sa_51; + postcondition ""; + precondition ""; + } + + sa_occurrence scenario_sa_54 "SA Inner ALT" id "5ceaa100-0000-4000-8000-0000000000fe" { + body { + Fragment { + branches [@scenario_sa_55, @scenario_sa_56]; + operator Alternative; + }; + }; + description ""; + parent @scenario_sa_52; + postcondition ""; + precondition ""; + } + + sa_occurrence scenario_sa_55 "SA Inner chosen operand" id "5ceaa100-0000-4000-8000-0000000000ff" { + body { + Branch { + guard "ticket.ready"; + occurrences [@scenario_sa_57]; + }; + }; + description ""; + parent @scenario_sa_54; + postcondition ""; + precondition ""; + } + + sa_occurrence scenario_sa_56 "SA Inner other operand" id "5ceaa100-0000-4000-8000-000000000100" { + body { + Branch { + guard "else"; + occurrences [@scenario_sa_58]; + }; + }; + description ""; + parent @scenario_sa_54; + postcondition ""; + precondition ""; + } + + sa_occurrence scenario_sa_57 "SA Inner anchor" id "5ceaa100-0000-4000-8000-000000000101" { + body { + Action { + action @scenario_sa_10; + lifeline @scenario_sa_40; + }; + }; + description ""; + parent @scenario_sa_55; + postcondition ""; + precondition ""; + } + + sa_occurrence scenario_sa_58 "SA Inner other anchor" id "5ceaa100-0000-4000-8000-000000000102" { + body { + Action { + action @scenario_sa_10; + lifeline @scenario_sa_40; + }; + }; + description ""; + parent @scenario_sa_56; + postcondition ""; + precondition ""; + } + + sa_occurrence scenario_sa_59 "SA Fallback anchor" id "5ceaa100-0000-4000-8000-000000000103" { + body { + Action { + action @scenario_sa_11; + lifeline @scenario_sa_41; + }; + }; + description ""; + parent @scenario_sa_53; + postcondition ""; + precondition ""; + } + + sa_occurrence scenario_sa_60 "SA First use of B" id "5ceaa100-0000-4000-8000-000000000104" { + body { + ScenarioUse { + bindings [{ + local @scenario_sa_40; + referenced @scenario_sa_42; + }, { + local @scenario_sa_41; + referenced @scenario_sa_43; + }]; + scenario @scenario_sa_31; + }; + }; + description ""; + parent @scenario_sa_30; + postcondition ""; + precondition ""; + } + + sa_occurrence scenario_sa_61 "SA Second use of B" id "5ceaa100-0000-4000-8000-000000000105" { + body { + ScenarioUse { + bindings [{ + local @scenario_sa_40; + referenced @scenario_sa_42; + }, { + local @scenario_sa_41; + referenced @scenario_sa_43; + }]; + scenario @scenario_sa_31; + }; + }; + description ""; + parent @scenario_sa_30; + postcondition ""; + precondition ""; + } + + sa_occurrence scenario_sa_62 "SA Root exit" id "5ceaa100-0000-4000-8000-000000000106" { + body { + Action { + action @scenario_sa_11; + lifeline @scenario_sa_41; + }; + }; + description ""; + parent @scenario_sa_30; + postcondition ""; + precondition ""; + } + + sa_occurrence scenario_sa_63 "SA B entry" id "5ceaa100-0000-4000-8000-000000000107" { + body { + Action { + action @scenario_sa_10; + lifeline @scenario_sa_42; + }; + }; + description ""; + parent @scenario_sa_31; + postcondition ""; + precondition ""; + } + + sa_occurrence scenario_sa_64 "SA B use of C" id "5ceaa100-0000-4000-8000-000000000108" { + body { + ScenarioUse { + bindings [{ + local @scenario_sa_42; + referenced @scenario_sa_44; + }, { + local @scenario_sa_43; + referenced @scenario_sa_45; + }]; + scenario @scenario_sa_32; + }; + }; + description ""; + parent @scenario_sa_31; + postcondition ""; + precondition ""; + } + + sa_occurrence scenario_sa_65 "SA B exit" id "5ceaa100-0000-4000-8000-000000000109" { + body { + Action { + action @scenario_sa_11; + lifeline @scenario_sa_43; + }; + }; + description ""; + parent @scenario_sa_31; + postcondition ""; + precondition ""; + } + + sa_occurrence scenario_sa_66 "SA C entry" id "5ceaa100-0000-4000-8000-00000000010a" { + body { + Action { + action @scenario_sa_10; + lifeline @scenario_sa_44; + }; + }; + description ""; + parent @scenario_sa_32; + postcondition ""; + precondition ""; + } + +} diff --git a/harness/experiments/scenario-native-local-20260911/checkpoint-oa-fragment-undo/rationale.arcadia b/harness/experiments/scenario-native-local-20260911/checkpoint-oa-fragment-undo/rationale.arcadia new file mode 100644 index 00000000..64b58187 --- /dev/null +++ b/harness/experiments/scenario-native-local-20260911/checkpoint-oa-fragment-undo/rationale.arcadia @@ -0,0 +1,2 @@ +// Retain caller/operand evidence: ticket 雨. +// Navigation never edits this note. diff --git a/harness/experiments/scenario-native-local-20260911/checkpoint-oa-fragment/project.arcadia b/harness/experiments/scenario-native-local-20260911/checkpoint-oa-fragment/project.arcadia new file mode 100644 index 00000000..e24c7a3b --- /dev/null +++ b/harness/experiments/scenario-native-local-20260911/checkpoint-oa-fragment/project.arcadia @@ -0,0 +1,769 @@ +arcadia 7; +project scenario_authoring "Scenario authoring contract" id "5ceaa100-0000-4000-8000-000000000001" { + include "rationale.arcadia"; + description "Native clicked-slot and caller-return contract."; + + oa_activity scenario_oa_10 "OA Inspect ticket" id "5ceaa100-0000-4000-8000-00000000006e" { + description ""; + parent none; + } + + oa_activity scenario_oa_11 "OA Record result" id "5ceaa100-0000-4000-8000-00000000006f" { + description ""; + parent none; + } + + oa_state_machine scenario_oa_20 "OA Ticket modes" id "5ceaa100-0000-4000-8000-000000000078" { + description ""; + parent none; + } + + oa_region scenario_oa_21 "OA Ticket region" id "5ceaa100-0000-4000-8000-000000000079" { + description ""; + parent @scenario_oa_20; + } + + oa_state scenario_oa_22 "OA Ready" id "5ceaa100-0000-4000-8000-00000000007a" { + description ""; + do_activity ""; + entry ""; + exit ""; + kind State; + parent @scenario_oa_21; + } + + oa_scenario scenario_oa_30 "OA A caller" id "5ceaa100-0000-4000-8000-000000000082" { + context none; + description ""; + parent none; + postcondition ""; + precondition ""; + steps [ @oa_native_action,@scenario_oa_50, @scenario_oa_51, @scenario_oa_60, @scenario_oa_61, @oa_native_alternative, @scenario_oa_62]; + viewpoint OperationalActivity; + + oa_occurrence oa_native_action "OA native action" id "ef323f4f-6e0c-4876-9e81-6c2526877d2e" { + body { + Action { + action @scenario_oa_10; + lifeline @scenario_oa_40; + }; + }; + description ""; + + postcondition ""; + precondition ""; + } + + + + oa_occurrence oa_native_alternative "OA native alternative" id "6d6503cc-4a00-4dec-bf64-aaf753ef6644" { + body { + Fragment { + branches [@oa_native_alternative_operand_1, @oa_native_alternative_operand_2]; + operator Alternative; + }; + }; + description ""; + + postcondition ""; + precondition ""; + + oa_occurrence oa_native_alternative_operand_1 "OA native alternative · operand 1" id "54944dc8-2a46-4fdb-aee3-461e9e76eb09" { + body { + Branch { + guard "ticket.priority > 2"; + occurrences []; + }; + }; + description ""; + + postcondition ""; + precondition ""; + } + + + oa_occurrence oa_native_alternative_operand_2 "OA native alternative · operand 2" id "cd499ca9-164d-4b83-b4f3-5e790e74f954" { + body { + Branch { + guard "ticket.priority <= 2"; + occurrences []; + }; + }; + description ""; + + postcondition ""; + precondition ""; + } + + + } + + + } + + oa_scenario scenario_oa_31 "OA B verification" id "5ceaa100-0000-4000-8000-000000000083" { + context none; + description ""; + parent none; + postcondition ""; + precondition ""; + steps [@scenario_oa_63, @scenario_oa_64, @scenario_oa_65]; + viewpoint OperationalActivity; + } + + oa_scenario scenario_oa_32 "OA C detail" id "5ceaa100-0000-4000-8000-000000000084" { + context none; + description ""; + parent none; + postcondition ""; + precondition ""; + steps [@scenario_oa_66]; + viewpoint OperationalActivity; + } + + oa_lifeline scenario_oa_40 "OA A inspector" id "5ceaa100-0000-4000-8000-00000000008c" { + description ""; + parent @scenario_oa_30; + represented @scenario_oa_10; + } + + oa_lifeline scenario_oa_41 "OA A recorder" id "5ceaa100-0000-4000-8000-00000000008d" { + description ""; + parent @scenario_oa_30; + represented @scenario_oa_11; + } + + oa_lifeline scenario_oa_42 "OA B inspector" id "5ceaa100-0000-4000-8000-00000000008e" { + description ""; + parent @scenario_oa_31; + represented @scenario_oa_10; + } + + oa_lifeline scenario_oa_43 "OA B recorder" id "5ceaa100-0000-4000-8000-00000000008f" { + description ""; + parent @scenario_oa_31; + represented @scenario_oa_11; + } + + oa_lifeline scenario_oa_44 "OA C inspector" id "5ceaa100-0000-4000-8000-000000000090" { + description ""; + parent @scenario_oa_32; + represented @scenario_oa_10; + } + + oa_lifeline scenario_oa_45 "OA C recorder" id "5ceaa100-0000-4000-8000-000000000091" { + description ""; + parent @scenario_oa_32; + represented @scenario_oa_11; + } + + oa_occurrence scenario_oa_50 "OA Root entry" id "5ceaa100-0000-4000-8000-000000000096" { + body { + Action { + action @scenario_oa_10; + lifeline @scenario_oa_40; + }; + }; + description ""; + parent @scenario_oa_30; + postcondition ""; + precondition ""; + } + + oa_occurrence scenario_oa_51 "OA Outer ALT" id "5ceaa100-0000-4000-8000-000000000097" { + body { + Fragment { + branches [@scenario_oa_52, @scenario_oa_53]; + operator Alternative; + }; + }; + description ""; + parent @scenario_oa_30; + postcondition ""; + precondition ""; + } + + oa_occurrence scenario_oa_52 "OA Outer chosen operand" id "5ceaa100-0000-4000-8000-000000000098" { + body { + Branch { + guard "ticket.present"; + occurrences [@scenario_oa_54]; + }; + }; + description ""; + parent @scenario_oa_51; + postcondition ""; + precondition ""; + } + + oa_occurrence scenario_oa_53 "OA Outer fallback operand" id "5ceaa100-0000-4000-8000-000000000099" { + body { + Branch { + guard "else"; + occurrences [@scenario_oa_59]; + }; + }; + description ""; + parent @scenario_oa_51; + postcondition ""; + precondition ""; + } + + oa_occurrence scenario_oa_54 "OA Inner ALT" id "5ceaa100-0000-4000-8000-00000000009a" { + body { + Fragment { + branches [@scenario_oa_55, @scenario_oa_56]; + operator Alternative; + }; + }; + description ""; + parent @scenario_oa_52; + postcondition ""; + precondition ""; + } + + oa_occurrence scenario_oa_55 "OA Inner chosen operand" id "5ceaa100-0000-4000-8000-00000000009b" { + body { + Branch { + guard "ticket.ready"; + occurrences [ @oa_native_state, @oa_native_reuse,@scenario_oa_57]; + }; + }; + description ""; + parent @scenario_oa_54; + postcondition ""; + precondition ""; + + oa_occurrence oa_native_state "OA native state" id "ef00e17b-7f42-427c-a5d2-2c6dffd06bfa" { + body { + State { + lifeline @scenario_oa_40; + state @scenario_oa_22; + }; + }; + description ""; + + postcondition ""; + precondition ""; + } + + + + oa_occurrence oa_native_reuse "OA native reuse" id "b7b42ce3-f517-42a3-b773-b0c403553fc6" { + body { + ScenarioUse { + bindings [{ + local @scenario_oa_40; + referenced @scenario_oa_42; + }, { + local @scenario_oa_41; + referenced @scenario_oa_43; + }]; + scenario @scenario_oa_31; + }; + }; + description ""; + + postcondition ""; + precondition ""; + } + + + } + + oa_occurrence scenario_oa_56 "OA Inner other operand" id "5ceaa100-0000-4000-8000-00000000009c" { + body { + Branch { + guard "else"; + occurrences [@scenario_oa_58]; + }; + }; + description ""; + parent @scenario_oa_54; + postcondition ""; + precondition ""; + } + + oa_occurrence scenario_oa_57 "OA Inner anchor" id "5ceaa100-0000-4000-8000-00000000009d" { + body { + Action { + action @scenario_oa_10; + lifeline @scenario_oa_40; + }; + }; + description ""; + parent @scenario_oa_55; + postcondition ""; + precondition ""; + } + + oa_occurrence scenario_oa_58 "OA Inner other anchor" id "5ceaa100-0000-4000-8000-00000000009e" { + body { + Action { + action @scenario_oa_10; + lifeline @scenario_oa_40; + }; + }; + description ""; + parent @scenario_oa_56; + postcondition ""; + precondition ""; + } + + oa_occurrence scenario_oa_59 "OA Fallback anchor" id "5ceaa100-0000-4000-8000-00000000009f" { + body { + Action { + action @scenario_oa_11; + lifeline @scenario_oa_41; + }; + }; + description ""; + parent @scenario_oa_53; + postcondition ""; + precondition ""; + } + + oa_occurrence scenario_oa_60 "OA First use of B" id "5ceaa100-0000-4000-8000-0000000000a0" { + body { + ScenarioUse { + bindings [{ + local @scenario_oa_40; + referenced @scenario_oa_42; + }, { + local @scenario_oa_41; + referenced @scenario_oa_43; + }]; + scenario @scenario_oa_31; + }; + }; + description ""; + parent @scenario_oa_30; + postcondition ""; + precondition ""; + } + + oa_occurrence scenario_oa_61 "OA Second use of B" id "5ceaa100-0000-4000-8000-0000000000a1" { + body { + ScenarioUse { + bindings [{ + local @scenario_oa_40; + referenced @scenario_oa_42; + }, { + local @scenario_oa_41; + referenced @scenario_oa_43; + }]; + scenario @scenario_oa_31; + }; + }; + description ""; + parent @scenario_oa_30; + postcondition ""; + precondition ""; + } + + oa_occurrence scenario_oa_62 "OA Root exit" id "5ceaa100-0000-4000-8000-0000000000a2" { + body { + Action { + action @scenario_oa_11; + lifeline @scenario_oa_41; + }; + }; + description ""; + parent @scenario_oa_30; + postcondition ""; + precondition ""; + } + + oa_occurrence scenario_oa_63 "OA B entry" id "5ceaa100-0000-4000-8000-0000000000a3" { + body { + Action { + action @scenario_oa_10; + lifeline @scenario_oa_42; + }; + }; + description ""; + parent @scenario_oa_31; + postcondition ""; + precondition ""; + } + + oa_occurrence scenario_oa_64 "OA B use of C" id "5ceaa100-0000-4000-8000-0000000000a4" { + body { + ScenarioUse { + bindings [{ + local @scenario_oa_42; + referenced @scenario_oa_44; + }, { + local @scenario_oa_43; + referenced @scenario_oa_45; + }]; + scenario @scenario_oa_32; + }; + }; + description ""; + parent @scenario_oa_31; + postcondition ""; + precondition ""; + } + + oa_occurrence scenario_oa_65 "OA B exit" id "5ceaa100-0000-4000-8000-0000000000a5" { + body { + Action { + action @scenario_oa_11; + lifeline @scenario_oa_43; + }; + }; + description ""; + parent @scenario_oa_31; + postcondition ""; + precondition ""; + } + + oa_occurrence scenario_oa_66 "OA C entry" id "5ceaa100-0000-4000-8000-0000000000a6" { + body { + Action { + action @scenario_oa_10; + lifeline @scenario_oa_44; + }; + }; + description ""; + parent @scenario_oa_32; + postcondition ""; + precondition ""; + } + + sa_function scenario_sa_10 "SA Inspect ticket" id "5ceaa100-0000-4000-8000-0000000000d2" { + description ""; + parent none; + } + + sa_function scenario_sa_11 "SA Record result" id "5ceaa100-0000-4000-8000-0000000000d3" { + description ""; + parent none; + } + + sa_state_machine scenario_sa_20 "SA Ticket modes" id "5ceaa100-0000-4000-8000-0000000000dc" { + description ""; + parent none; + } + + sa_region scenario_sa_21 "SA Ticket region" id "5ceaa100-0000-4000-8000-0000000000dd" { + description ""; + parent @scenario_sa_20; + } + + sa_state scenario_sa_22 "SA Ready" id "5ceaa100-0000-4000-8000-0000000000de" { + description ""; + do_activity ""; + entry ""; + exit ""; + kind State; + parent @scenario_sa_21; + } + + sa_scenario scenario_sa_30 "SA A caller" id "5ceaa100-0000-4000-8000-0000000000e6" { + context none; + description ""; + parent none; + postcondition ""; + precondition ""; + steps [@scenario_sa_50, @scenario_sa_51, @scenario_sa_60, @scenario_sa_61, @scenario_sa_62]; + viewpoint Functional; + } + + sa_scenario scenario_sa_31 "SA B verification" id "5ceaa100-0000-4000-8000-0000000000e7" { + context none; + description ""; + parent none; + postcondition ""; + precondition ""; + steps [@scenario_sa_63, @scenario_sa_64, @scenario_sa_65]; + viewpoint Functional; + } + + sa_scenario scenario_sa_32 "SA C detail" id "5ceaa100-0000-4000-8000-0000000000e8" { + context none; + description ""; + parent none; + postcondition ""; + precondition ""; + steps [@scenario_sa_66]; + viewpoint Functional; + } + + sa_lifeline scenario_sa_40 "SA A inspector" id "5ceaa100-0000-4000-8000-0000000000f0" { + description ""; + parent @scenario_sa_30; + represented @scenario_sa_10; + } + + sa_lifeline scenario_sa_41 "SA A recorder" id "5ceaa100-0000-4000-8000-0000000000f1" { + description ""; + parent @scenario_sa_30; + represented @scenario_sa_11; + } + + sa_lifeline scenario_sa_42 "SA B inspector" id "5ceaa100-0000-4000-8000-0000000000f2" { + description ""; + parent @scenario_sa_31; + represented @scenario_sa_10; + } + + sa_lifeline scenario_sa_43 "SA B recorder" id "5ceaa100-0000-4000-8000-0000000000f3" { + description ""; + parent @scenario_sa_31; + represented @scenario_sa_11; + } + + sa_lifeline scenario_sa_44 "SA C inspector" id "5ceaa100-0000-4000-8000-0000000000f4" { + description ""; + parent @scenario_sa_32; + represented @scenario_sa_10; + } + + sa_lifeline scenario_sa_45 "SA C recorder" id "5ceaa100-0000-4000-8000-0000000000f5" { + description ""; + parent @scenario_sa_32; + represented @scenario_sa_11; + } + + sa_occurrence scenario_sa_50 "SA Root entry" id "5ceaa100-0000-4000-8000-0000000000fa" { + body { + Action { + action @scenario_sa_10; + lifeline @scenario_sa_40; + }; + }; + description ""; + parent @scenario_sa_30; + postcondition ""; + precondition ""; + } + + sa_occurrence scenario_sa_51 "SA Outer ALT" id "5ceaa100-0000-4000-8000-0000000000fb" { + body { + Fragment { + branches [@scenario_sa_52, @scenario_sa_53]; + operator Alternative; + }; + }; + description ""; + parent @scenario_sa_30; + postcondition ""; + precondition ""; + } + + sa_occurrence scenario_sa_52 "SA Outer chosen operand" id "5ceaa100-0000-4000-8000-0000000000fc" { + body { + Branch { + guard "ticket.present"; + occurrences [@scenario_sa_54]; + }; + }; + description ""; + parent @scenario_sa_51; + postcondition ""; + precondition ""; + } + + sa_occurrence scenario_sa_53 "SA Outer fallback operand" id "5ceaa100-0000-4000-8000-0000000000fd" { + body { + Branch { + guard "else"; + occurrences [@scenario_sa_59]; + }; + }; + description ""; + parent @scenario_sa_51; + postcondition ""; + precondition ""; + } + + sa_occurrence scenario_sa_54 "SA Inner ALT" id "5ceaa100-0000-4000-8000-0000000000fe" { + body { + Fragment { + branches [@scenario_sa_55, @scenario_sa_56]; + operator Alternative; + }; + }; + description ""; + parent @scenario_sa_52; + postcondition ""; + precondition ""; + } + + sa_occurrence scenario_sa_55 "SA Inner chosen operand" id "5ceaa100-0000-4000-8000-0000000000ff" { + body { + Branch { + guard "ticket.ready"; + occurrences [@scenario_sa_57]; + }; + }; + description ""; + parent @scenario_sa_54; + postcondition ""; + precondition ""; + } + + sa_occurrence scenario_sa_56 "SA Inner other operand" id "5ceaa100-0000-4000-8000-000000000100" { + body { + Branch { + guard "else"; + occurrences [@scenario_sa_58]; + }; + }; + description ""; + parent @scenario_sa_54; + postcondition ""; + precondition ""; + } + + sa_occurrence scenario_sa_57 "SA Inner anchor" id "5ceaa100-0000-4000-8000-000000000101" { + body { + Action { + action @scenario_sa_10; + lifeline @scenario_sa_40; + }; + }; + description ""; + parent @scenario_sa_55; + postcondition ""; + precondition ""; + } + + sa_occurrence scenario_sa_58 "SA Inner other anchor" id "5ceaa100-0000-4000-8000-000000000102" { + body { + Action { + action @scenario_sa_10; + lifeline @scenario_sa_40; + }; + }; + description ""; + parent @scenario_sa_56; + postcondition ""; + precondition ""; + } + + sa_occurrence scenario_sa_59 "SA Fallback anchor" id "5ceaa100-0000-4000-8000-000000000103" { + body { + Action { + action @scenario_sa_11; + lifeline @scenario_sa_41; + }; + }; + description ""; + parent @scenario_sa_53; + postcondition ""; + precondition ""; + } + + sa_occurrence scenario_sa_60 "SA First use of B" id "5ceaa100-0000-4000-8000-000000000104" { + body { + ScenarioUse { + bindings [{ + local @scenario_sa_40; + referenced @scenario_sa_42; + }, { + local @scenario_sa_41; + referenced @scenario_sa_43; + }]; + scenario @scenario_sa_31; + }; + }; + description ""; + parent @scenario_sa_30; + postcondition ""; + precondition ""; + } + + sa_occurrence scenario_sa_61 "SA Second use of B" id "5ceaa100-0000-4000-8000-000000000105" { + body { + ScenarioUse { + bindings [{ + local @scenario_sa_40; + referenced @scenario_sa_42; + }, { + local @scenario_sa_41; + referenced @scenario_sa_43; + }]; + scenario @scenario_sa_31; + }; + }; + description ""; + parent @scenario_sa_30; + postcondition ""; + precondition ""; + } + + sa_occurrence scenario_sa_62 "SA Root exit" id "5ceaa100-0000-4000-8000-000000000106" { + body { + Action { + action @scenario_sa_11; + lifeline @scenario_sa_41; + }; + }; + description ""; + parent @scenario_sa_30; + postcondition ""; + precondition ""; + } + + sa_occurrence scenario_sa_63 "SA B entry" id "5ceaa100-0000-4000-8000-000000000107" { + body { + Action { + action @scenario_sa_10; + lifeline @scenario_sa_42; + }; + }; + description ""; + parent @scenario_sa_31; + postcondition ""; + precondition ""; + } + + sa_occurrence scenario_sa_64 "SA B use of C" id "5ceaa100-0000-4000-8000-000000000108" { + body { + ScenarioUse { + bindings [{ + local @scenario_sa_42; + referenced @scenario_sa_44; + }, { + local @scenario_sa_43; + referenced @scenario_sa_45; + }]; + scenario @scenario_sa_32; + }; + }; + description ""; + parent @scenario_sa_31; + postcondition ""; + precondition ""; + } + + sa_occurrence scenario_sa_65 "SA B exit" id "5ceaa100-0000-4000-8000-000000000109" { + body { + Action { + action @scenario_sa_11; + lifeline @scenario_sa_43; + }; + }; + description ""; + parent @scenario_sa_31; + postcondition ""; + precondition ""; + } + + sa_occurrence scenario_sa_66 "SA C entry" id "5ceaa100-0000-4000-8000-00000000010a" { + body { + Action { + action @scenario_sa_10; + lifeline @scenario_sa_44; + }; + }; + description ""; + parent @scenario_sa_32; + postcondition ""; + precondition ""; + } + +} diff --git a/harness/experiments/scenario-native-local-20260911/checkpoint-oa-fragment/rationale.arcadia b/harness/experiments/scenario-native-local-20260911/checkpoint-oa-fragment/rationale.arcadia new file mode 100644 index 00000000..64b58187 --- /dev/null +++ b/harness/experiments/scenario-native-local-20260911/checkpoint-oa-fragment/rationale.arcadia @@ -0,0 +1,2 @@ +// Retain caller/operand evidence: ticket 雨. +// Navigation never edits this note. diff --git a/harness/experiments/scenario-native-local-20260911/checkpoint-oa-reopen/project.arcadia b/harness/experiments/scenario-native-local-20260911/checkpoint-oa-reopen/project.arcadia new file mode 100644 index 00000000..e24c7a3b --- /dev/null +++ b/harness/experiments/scenario-native-local-20260911/checkpoint-oa-reopen/project.arcadia @@ -0,0 +1,769 @@ +arcadia 7; +project scenario_authoring "Scenario authoring contract" id "5ceaa100-0000-4000-8000-000000000001" { + include "rationale.arcadia"; + description "Native clicked-slot and caller-return contract."; + + oa_activity scenario_oa_10 "OA Inspect ticket" id "5ceaa100-0000-4000-8000-00000000006e" { + description ""; + parent none; + } + + oa_activity scenario_oa_11 "OA Record result" id "5ceaa100-0000-4000-8000-00000000006f" { + description ""; + parent none; + } + + oa_state_machine scenario_oa_20 "OA Ticket modes" id "5ceaa100-0000-4000-8000-000000000078" { + description ""; + parent none; + } + + oa_region scenario_oa_21 "OA Ticket region" id "5ceaa100-0000-4000-8000-000000000079" { + description ""; + parent @scenario_oa_20; + } + + oa_state scenario_oa_22 "OA Ready" id "5ceaa100-0000-4000-8000-00000000007a" { + description ""; + do_activity ""; + entry ""; + exit ""; + kind State; + parent @scenario_oa_21; + } + + oa_scenario scenario_oa_30 "OA A caller" id "5ceaa100-0000-4000-8000-000000000082" { + context none; + description ""; + parent none; + postcondition ""; + precondition ""; + steps [ @oa_native_action,@scenario_oa_50, @scenario_oa_51, @scenario_oa_60, @scenario_oa_61, @oa_native_alternative, @scenario_oa_62]; + viewpoint OperationalActivity; + + oa_occurrence oa_native_action "OA native action" id "ef323f4f-6e0c-4876-9e81-6c2526877d2e" { + body { + Action { + action @scenario_oa_10; + lifeline @scenario_oa_40; + }; + }; + description ""; + + postcondition ""; + precondition ""; + } + + + + oa_occurrence oa_native_alternative "OA native alternative" id "6d6503cc-4a00-4dec-bf64-aaf753ef6644" { + body { + Fragment { + branches [@oa_native_alternative_operand_1, @oa_native_alternative_operand_2]; + operator Alternative; + }; + }; + description ""; + + postcondition ""; + precondition ""; + + oa_occurrence oa_native_alternative_operand_1 "OA native alternative · operand 1" id "54944dc8-2a46-4fdb-aee3-461e9e76eb09" { + body { + Branch { + guard "ticket.priority > 2"; + occurrences []; + }; + }; + description ""; + + postcondition ""; + precondition ""; + } + + + oa_occurrence oa_native_alternative_operand_2 "OA native alternative · operand 2" id "cd499ca9-164d-4b83-b4f3-5e790e74f954" { + body { + Branch { + guard "ticket.priority <= 2"; + occurrences []; + }; + }; + description ""; + + postcondition ""; + precondition ""; + } + + + } + + + } + + oa_scenario scenario_oa_31 "OA B verification" id "5ceaa100-0000-4000-8000-000000000083" { + context none; + description ""; + parent none; + postcondition ""; + precondition ""; + steps [@scenario_oa_63, @scenario_oa_64, @scenario_oa_65]; + viewpoint OperationalActivity; + } + + oa_scenario scenario_oa_32 "OA C detail" id "5ceaa100-0000-4000-8000-000000000084" { + context none; + description ""; + parent none; + postcondition ""; + precondition ""; + steps [@scenario_oa_66]; + viewpoint OperationalActivity; + } + + oa_lifeline scenario_oa_40 "OA A inspector" id "5ceaa100-0000-4000-8000-00000000008c" { + description ""; + parent @scenario_oa_30; + represented @scenario_oa_10; + } + + oa_lifeline scenario_oa_41 "OA A recorder" id "5ceaa100-0000-4000-8000-00000000008d" { + description ""; + parent @scenario_oa_30; + represented @scenario_oa_11; + } + + oa_lifeline scenario_oa_42 "OA B inspector" id "5ceaa100-0000-4000-8000-00000000008e" { + description ""; + parent @scenario_oa_31; + represented @scenario_oa_10; + } + + oa_lifeline scenario_oa_43 "OA B recorder" id "5ceaa100-0000-4000-8000-00000000008f" { + description ""; + parent @scenario_oa_31; + represented @scenario_oa_11; + } + + oa_lifeline scenario_oa_44 "OA C inspector" id "5ceaa100-0000-4000-8000-000000000090" { + description ""; + parent @scenario_oa_32; + represented @scenario_oa_10; + } + + oa_lifeline scenario_oa_45 "OA C recorder" id "5ceaa100-0000-4000-8000-000000000091" { + description ""; + parent @scenario_oa_32; + represented @scenario_oa_11; + } + + oa_occurrence scenario_oa_50 "OA Root entry" id "5ceaa100-0000-4000-8000-000000000096" { + body { + Action { + action @scenario_oa_10; + lifeline @scenario_oa_40; + }; + }; + description ""; + parent @scenario_oa_30; + postcondition ""; + precondition ""; + } + + oa_occurrence scenario_oa_51 "OA Outer ALT" id "5ceaa100-0000-4000-8000-000000000097" { + body { + Fragment { + branches [@scenario_oa_52, @scenario_oa_53]; + operator Alternative; + }; + }; + description ""; + parent @scenario_oa_30; + postcondition ""; + precondition ""; + } + + oa_occurrence scenario_oa_52 "OA Outer chosen operand" id "5ceaa100-0000-4000-8000-000000000098" { + body { + Branch { + guard "ticket.present"; + occurrences [@scenario_oa_54]; + }; + }; + description ""; + parent @scenario_oa_51; + postcondition ""; + precondition ""; + } + + oa_occurrence scenario_oa_53 "OA Outer fallback operand" id "5ceaa100-0000-4000-8000-000000000099" { + body { + Branch { + guard "else"; + occurrences [@scenario_oa_59]; + }; + }; + description ""; + parent @scenario_oa_51; + postcondition ""; + precondition ""; + } + + oa_occurrence scenario_oa_54 "OA Inner ALT" id "5ceaa100-0000-4000-8000-00000000009a" { + body { + Fragment { + branches [@scenario_oa_55, @scenario_oa_56]; + operator Alternative; + }; + }; + description ""; + parent @scenario_oa_52; + postcondition ""; + precondition ""; + } + + oa_occurrence scenario_oa_55 "OA Inner chosen operand" id "5ceaa100-0000-4000-8000-00000000009b" { + body { + Branch { + guard "ticket.ready"; + occurrences [ @oa_native_state, @oa_native_reuse,@scenario_oa_57]; + }; + }; + description ""; + parent @scenario_oa_54; + postcondition ""; + precondition ""; + + oa_occurrence oa_native_state "OA native state" id "ef00e17b-7f42-427c-a5d2-2c6dffd06bfa" { + body { + State { + lifeline @scenario_oa_40; + state @scenario_oa_22; + }; + }; + description ""; + + postcondition ""; + precondition ""; + } + + + + oa_occurrence oa_native_reuse "OA native reuse" id "b7b42ce3-f517-42a3-b773-b0c403553fc6" { + body { + ScenarioUse { + bindings [{ + local @scenario_oa_40; + referenced @scenario_oa_42; + }, { + local @scenario_oa_41; + referenced @scenario_oa_43; + }]; + scenario @scenario_oa_31; + }; + }; + description ""; + + postcondition ""; + precondition ""; + } + + + } + + oa_occurrence scenario_oa_56 "OA Inner other operand" id "5ceaa100-0000-4000-8000-00000000009c" { + body { + Branch { + guard "else"; + occurrences [@scenario_oa_58]; + }; + }; + description ""; + parent @scenario_oa_54; + postcondition ""; + precondition ""; + } + + oa_occurrence scenario_oa_57 "OA Inner anchor" id "5ceaa100-0000-4000-8000-00000000009d" { + body { + Action { + action @scenario_oa_10; + lifeline @scenario_oa_40; + }; + }; + description ""; + parent @scenario_oa_55; + postcondition ""; + precondition ""; + } + + oa_occurrence scenario_oa_58 "OA Inner other anchor" id "5ceaa100-0000-4000-8000-00000000009e" { + body { + Action { + action @scenario_oa_10; + lifeline @scenario_oa_40; + }; + }; + description ""; + parent @scenario_oa_56; + postcondition ""; + precondition ""; + } + + oa_occurrence scenario_oa_59 "OA Fallback anchor" id "5ceaa100-0000-4000-8000-00000000009f" { + body { + Action { + action @scenario_oa_11; + lifeline @scenario_oa_41; + }; + }; + description ""; + parent @scenario_oa_53; + postcondition ""; + precondition ""; + } + + oa_occurrence scenario_oa_60 "OA First use of B" id "5ceaa100-0000-4000-8000-0000000000a0" { + body { + ScenarioUse { + bindings [{ + local @scenario_oa_40; + referenced @scenario_oa_42; + }, { + local @scenario_oa_41; + referenced @scenario_oa_43; + }]; + scenario @scenario_oa_31; + }; + }; + description ""; + parent @scenario_oa_30; + postcondition ""; + precondition ""; + } + + oa_occurrence scenario_oa_61 "OA Second use of B" id "5ceaa100-0000-4000-8000-0000000000a1" { + body { + ScenarioUse { + bindings [{ + local @scenario_oa_40; + referenced @scenario_oa_42; + }, { + local @scenario_oa_41; + referenced @scenario_oa_43; + }]; + scenario @scenario_oa_31; + }; + }; + description ""; + parent @scenario_oa_30; + postcondition ""; + precondition ""; + } + + oa_occurrence scenario_oa_62 "OA Root exit" id "5ceaa100-0000-4000-8000-0000000000a2" { + body { + Action { + action @scenario_oa_11; + lifeline @scenario_oa_41; + }; + }; + description ""; + parent @scenario_oa_30; + postcondition ""; + precondition ""; + } + + oa_occurrence scenario_oa_63 "OA B entry" id "5ceaa100-0000-4000-8000-0000000000a3" { + body { + Action { + action @scenario_oa_10; + lifeline @scenario_oa_42; + }; + }; + description ""; + parent @scenario_oa_31; + postcondition ""; + precondition ""; + } + + oa_occurrence scenario_oa_64 "OA B use of C" id "5ceaa100-0000-4000-8000-0000000000a4" { + body { + ScenarioUse { + bindings [{ + local @scenario_oa_42; + referenced @scenario_oa_44; + }, { + local @scenario_oa_43; + referenced @scenario_oa_45; + }]; + scenario @scenario_oa_32; + }; + }; + description ""; + parent @scenario_oa_31; + postcondition ""; + precondition ""; + } + + oa_occurrence scenario_oa_65 "OA B exit" id "5ceaa100-0000-4000-8000-0000000000a5" { + body { + Action { + action @scenario_oa_11; + lifeline @scenario_oa_43; + }; + }; + description ""; + parent @scenario_oa_31; + postcondition ""; + precondition ""; + } + + oa_occurrence scenario_oa_66 "OA C entry" id "5ceaa100-0000-4000-8000-0000000000a6" { + body { + Action { + action @scenario_oa_10; + lifeline @scenario_oa_44; + }; + }; + description ""; + parent @scenario_oa_32; + postcondition ""; + precondition ""; + } + + sa_function scenario_sa_10 "SA Inspect ticket" id "5ceaa100-0000-4000-8000-0000000000d2" { + description ""; + parent none; + } + + sa_function scenario_sa_11 "SA Record result" id "5ceaa100-0000-4000-8000-0000000000d3" { + description ""; + parent none; + } + + sa_state_machine scenario_sa_20 "SA Ticket modes" id "5ceaa100-0000-4000-8000-0000000000dc" { + description ""; + parent none; + } + + sa_region scenario_sa_21 "SA Ticket region" id "5ceaa100-0000-4000-8000-0000000000dd" { + description ""; + parent @scenario_sa_20; + } + + sa_state scenario_sa_22 "SA Ready" id "5ceaa100-0000-4000-8000-0000000000de" { + description ""; + do_activity ""; + entry ""; + exit ""; + kind State; + parent @scenario_sa_21; + } + + sa_scenario scenario_sa_30 "SA A caller" id "5ceaa100-0000-4000-8000-0000000000e6" { + context none; + description ""; + parent none; + postcondition ""; + precondition ""; + steps [@scenario_sa_50, @scenario_sa_51, @scenario_sa_60, @scenario_sa_61, @scenario_sa_62]; + viewpoint Functional; + } + + sa_scenario scenario_sa_31 "SA B verification" id "5ceaa100-0000-4000-8000-0000000000e7" { + context none; + description ""; + parent none; + postcondition ""; + precondition ""; + steps [@scenario_sa_63, @scenario_sa_64, @scenario_sa_65]; + viewpoint Functional; + } + + sa_scenario scenario_sa_32 "SA C detail" id "5ceaa100-0000-4000-8000-0000000000e8" { + context none; + description ""; + parent none; + postcondition ""; + precondition ""; + steps [@scenario_sa_66]; + viewpoint Functional; + } + + sa_lifeline scenario_sa_40 "SA A inspector" id "5ceaa100-0000-4000-8000-0000000000f0" { + description ""; + parent @scenario_sa_30; + represented @scenario_sa_10; + } + + sa_lifeline scenario_sa_41 "SA A recorder" id "5ceaa100-0000-4000-8000-0000000000f1" { + description ""; + parent @scenario_sa_30; + represented @scenario_sa_11; + } + + sa_lifeline scenario_sa_42 "SA B inspector" id "5ceaa100-0000-4000-8000-0000000000f2" { + description ""; + parent @scenario_sa_31; + represented @scenario_sa_10; + } + + sa_lifeline scenario_sa_43 "SA B recorder" id "5ceaa100-0000-4000-8000-0000000000f3" { + description ""; + parent @scenario_sa_31; + represented @scenario_sa_11; + } + + sa_lifeline scenario_sa_44 "SA C inspector" id "5ceaa100-0000-4000-8000-0000000000f4" { + description ""; + parent @scenario_sa_32; + represented @scenario_sa_10; + } + + sa_lifeline scenario_sa_45 "SA C recorder" id "5ceaa100-0000-4000-8000-0000000000f5" { + description ""; + parent @scenario_sa_32; + represented @scenario_sa_11; + } + + sa_occurrence scenario_sa_50 "SA Root entry" id "5ceaa100-0000-4000-8000-0000000000fa" { + body { + Action { + action @scenario_sa_10; + lifeline @scenario_sa_40; + }; + }; + description ""; + parent @scenario_sa_30; + postcondition ""; + precondition ""; + } + + sa_occurrence scenario_sa_51 "SA Outer ALT" id "5ceaa100-0000-4000-8000-0000000000fb" { + body { + Fragment { + branches [@scenario_sa_52, @scenario_sa_53]; + operator Alternative; + }; + }; + description ""; + parent @scenario_sa_30; + postcondition ""; + precondition ""; + } + + sa_occurrence scenario_sa_52 "SA Outer chosen operand" id "5ceaa100-0000-4000-8000-0000000000fc" { + body { + Branch { + guard "ticket.present"; + occurrences [@scenario_sa_54]; + }; + }; + description ""; + parent @scenario_sa_51; + postcondition ""; + precondition ""; + } + + sa_occurrence scenario_sa_53 "SA Outer fallback operand" id "5ceaa100-0000-4000-8000-0000000000fd" { + body { + Branch { + guard "else"; + occurrences [@scenario_sa_59]; + }; + }; + description ""; + parent @scenario_sa_51; + postcondition ""; + precondition ""; + } + + sa_occurrence scenario_sa_54 "SA Inner ALT" id "5ceaa100-0000-4000-8000-0000000000fe" { + body { + Fragment { + branches [@scenario_sa_55, @scenario_sa_56]; + operator Alternative; + }; + }; + description ""; + parent @scenario_sa_52; + postcondition ""; + precondition ""; + } + + sa_occurrence scenario_sa_55 "SA Inner chosen operand" id "5ceaa100-0000-4000-8000-0000000000ff" { + body { + Branch { + guard "ticket.ready"; + occurrences [@scenario_sa_57]; + }; + }; + description ""; + parent @scenario_sa_54; + postcondition ""; + precondition ""; + } + + sa_occurrence scenario_sa_56 "SA Inner other operand" id "5ceaa100-0000-4000-8000-000000000100" { + body { + Branch { + guard "else"; + occurrences [@scenario_sa_58]; + }; + }; + description ""; + parent @scenario_sa_54; + postcondition ""; + precondition ""; + } + + sa_occurrence scenario_sa_57 "SA Inner anchor" id "5ceaa100-0000-4000-8000-000000000101" { + body { + Action { + action @scenario_sa_10; + lifeline @scenario_sa_40; + }; + }; + description ""; + parent @scenario_sa_55; + postcondition ""; + precondition ""; + } + + sa_occurrence scenario_sa_58 "SA Inner other anchor" id "5ceaa100-0000-4000-8000-000000000102" { + body { + Action { + action @scenario_sa_10; + lifeline @scenario_sa_40; + }; + }; + description ""; + parent @scenario_sa_56; + postcondition ""; + precondition ""; + } + + sa_occurrence scenario_sa_59 "SA Fallback anchor" id "5ceaa100-0000-4000-8000-000000000103" { + body { + Action { + action @scenario_sa_11; + lifeline @scenario_sa_41; + }; + }; + description ""; + parent @scenario_sa_53; + postcondition ""; + precondition ""; + } + + sa_occurrence scenario_sa_60 "SA First use of B" id "5ceaa100-0000-4000-8000-000000000104" { + body { + ScenarioUse { + bindings [{ + local @scenario_sa_40; + referenced @scenario_sa_42; + }, { + local @scenario_sa_41; + referenced @scenario_sa_43; + }]; + scenario @scenario_sa_31; + }; + }; + description ""; + parent @scenario_sa_30; + postcondition ""; + precondition ""; + } + + sa_occurrence scenario_sa_61 "SA Second use of B" id "5ceaa100-0000-4000-8000-000000000105" { + body { + ScenarioUse { + bindings [{ + local @scenario_sa_40; + referenced @scenario_sa_42; + }, { + local @scenario_sa_41; + referenced @scenario_sa_43; + }]; + scenario @scenario_sa_31; + }; + }; + description ""; + parent @scenario_sa_30; + postcondition ""; + precondition ""; + } + + sa_occurrence scenario_sa_62 "SA Root exit" id "5ceaa100-0000-4000-8000-000000000106" { + body { + Action { + action @scenario_sa_11; + lifeline @scenario_sa_41; + }; + }; + description ""; + parent @scenario_sa_30; + postcondition ""; + precondition ""; + } + + sa_occurrence scenario_sa_63 "SA B entry" id "5ceaa100-0000-4000-8000-000000000107" { + body { + Action { + action @scenario_sa_10; + lifeline @scenario_sa_42; + }; + }; + description ""; + parent @scenario_sa_31; + postcondition ""; + precondition ""; + } + + sa_occurrence scenario_sa_64 "SA B use of C" id "5ceaa100-0000-4000-8000-000000000108" { + body { + ScenarioUse { + bindings [{ + local @scenario_sa_42; + referenced @scenario_sa_44; + }, { + local @scenario_sa_43; + referenced @scenario_sa_45; + }]; + scenario @scenario_sa_32; + }; + }; + description ""; + parent @scenario_sa_31; + postcondition ""; + precondition ""; + } + + sa_occurrence scenario_sa_65 "SA B exit" id "5ceaa100-0000-4000-8000-000000000109" { + body { + Action { + action @scenario_sa_11; + lifeline @scenario_sa_43; + }; + }; + description ""; + parent @scenario_sa_31; + postcondition ""; + precondition ""; + } + + sa_occurrence scenario_sa_66 "SA C entry" id "5ceaa100-0000-4000-8000-00000000010a" { + body { + Action { + action @scenario_sa_10; + lifeline @scenario_sa_44; + }; + }; + description ""; + parent @scenario_sa_32; + postcondition ""; + precondition ""; + } + +} diff --git a/harness/experiments/scenario-native-local-20260911/checkpoint-oa-reopen/rationale.arcadia b/harness/experiments/scenario-native-local-20260911/checkpoint-oa-reopen/rationale.arcadia new file mode 100644 index 00000000..64b58187 --- /dev/null +++ b/harness/experiments/scenario-native-local-20260911/checkpoint-oa-reopen/rationale.arcadia @@ -0,0 +1,2 @@ +// Retain caller/operand evidence: ticket 雨. +// Navigation never edits this note. diff --git a/harness/experiments/scenario-native-local-20260911/checkpoint-oa-reuse-redo/project.arcadia b/harness/experiments/scenario-native-local-20260911/checkpoint-oa-reuse-redo/project.arcadia new file mode 100644 index 00000000..d3b510d4 --- /dev/null +++ b/harness/experiments/scenario-native-local-20260911/checkpoint-oa-reuse-redo/project.arcadia @@ -0,0 +1,725 @@ +arcadia 7; +project scenario_authoring "Scenario authoring contract" id "5ceaa100-0000-4000-8000-000000000001" { + include "rationale.arcadia"; + description "Native clicked-slot and caller-return contract."; + + oa_activity scenario_oa_10 "OA Inspect ticket" id "5ceaa100-0000-4000-8000-00000000006e" { + description ""; + parent none; + } + + oa_activity scenario_oa_11 "OA Record result" id "5ceaa100-0000-4000-8000-00000000006f" { + description ""; + parent none; + } + + oa_state_machine scenario_oa_20 "OA Ticket modes" id "5ceaa100-0000-4000-8000-000000000078" { + description ""; + parent none; + } + + oa_region scenario_oa_21 "OA Ticket region" id "5ceaa100-0000-4000-8000-000000000079" { + description ""; + parent @scenario_oa_20; + } + + oa_state scenario_oa_22 "OA Ready" id "5ceaa100-0000-4000-8000-00000000007a" { + description ""; + do_activity ""; + entry ""; + exit ""; + kind State; + parent @scenario_oa_21; + } + + oa_scenario scenario_oa_30 "OA A caller" id "5ceaa100-0000-4000-8000-000000000082" { + context none; + description ""; + parent none; + postcondition ""; + precondition ""; + steps [ @oa_native_action,@scenario_oa_50, @scenario_oa_51, @scenario_oa_60, @scenario_oa_61, @scenario_oa_62]; + viewpoint OperationalActivity; + + oa_occurrence oa_native_action "OA native action" id "ef323f4f-6e0c-4876-9e81-6c2526877d2e" { + body { + Action { + action @scenario_oa_10; + lifeline @scenario_oa_40; + }; + }; + description ""; + + postcondition ""; + precondition ""; + } + + + } + + oa_scenario scenario_oa_31 "OA B verification" id "5ceaa100-0000-4000-8000-000000000083" { + context none; + description ""; + parent none; + postcondition ""; + precondition ""; + steps [@scenario_oa_63, @scenario_oa_64, @scenario_oa_65]; + viewpoint OperationalActivity; + } + + oa_scenario scenario_oa_32 "OA C detail" id "5ceaa100-0000-4000-8000-000000000084" { + context none; + description ""; + parent none; + postcondition ""; + precondition ""; + steps [@scenario_oa_66]; + viewpoint OperationalActivity; + } + + oa_lifeline scenario_oa_40 "OA A inspector" id "5ceaa100-0000-4000-8000-00000000008c" { + description ""; + parent @scenario_oa_30; + represented @scenario_oa_10; + } + + oa_lifeline scenario_oa_41 "OA A recorder" id "5ceaa100-0000-4000-8000-00000000008d" { + description ""; + parent @scenario_oa_30; + represented @scenario_oa_11; + } + + oa_lifeline scenario_oa_42 "OA B inspector" id "5ceaa100-0000-4000-8000-00000000008e" { + description ""; + parent @scenario_oa_31; + represented @scenario_oa_10; + } + + oa_lifeline scenario_oa_43 "OA B recorder" id "5ceaa100-0000-4000-8000-00000000008f" { + description ""; + parent @scenario_oa_31; + represented @scenario_oa_11; + } + + oa_lifeline scenario_oa_44 "OA C inspector" id "5ceaa100-0000-4000-8000-000000000090" { + description ""; + parent @scenario_oa_32; + represented @scenario_oa_10; + } + + oa_lifeline scenario_oa_45 "OA C recorder" id "5ceaa100-0000-4000-8000-000000000091" { + description ""; + parent @scenario_oa_32; + represented @scenario_oa_11; + } + + oa_occurrence scenario_oa_50 "OA Root entry" id "5ceaa100-0000-4000-8000-000000000096" { + body { + Action { + action @scenario_oa_10; + lifeline @scenario_oa_40; + }; + }; + description ""; + parent @scenario_oa_30; + postcondition ""; + precondition ""; + } + + oa_occurrence scenario_oa_51 "OA Outer ALT" id "5ceaa100-0000-4000-8000-000000000097" { + body { + Fragment { + branches [@scenario_oa_52, @scenario_oa_53]; + operator Alternative; + }; + }; + description ""; + parent @scenario_oa_30; + postcondition ""; + precondition ""; + } + + oa_occurrence scenario_oa_52 "OA Outer chosen operand" id "5ceaa100-0000-4000-8000-000000000098" { + body { + Branch { + guard "ticket.present"; + occurrences [@scenario_oa_54]; + }; + }; + description ""; + parent @scenario_oa_51; + postcondition ""; + precondition ""; + } + + oa_occurrence scenario_oa_53 "OA Outer fallback operand" id "5ceaa100-0000-4000-8000-000000000099" { + body { + Branch { + guard "else"; + occurrences [@scenario_oa_59]; + }; + }; + description ""; + parent @scenario_oa_51; + postcondition ""; + precondition ""; + } + + oa_occurrence scenario_oa_54 "OA Inner ALT" id "5ceaa100-0000-4000-8000-00000000009a" { + body { + Fragment { + branches [@scenario_oa_55, @scenario_oa_56]; + operator Alternative; + }; + }; + description ""; + parent @scenario_oa_52; + postcondition ""; + precondition ""; + } + + oa_occurrence scenario_oa_55 "OA Inner chosen operand" id "5ceaa100-0000-4000-8000-00000000009b" { + body { + Branch { + guard "ticket.ready"; + occurrences [ @oa_native_state, @oa_native_reuse,@scenario_oa_57]; + }; + }; + description ""; + parent @scenario_oa_54; + postcondition ""; + precondition ""; + + oa_occurrence oa_native_state "OA native state" id "ef00e17b-7f42-427c-a5d2-2c6dffd06bfa" { + body { + State { + lifeline @scenario_oa_40; + state @scenario_oa_22; + }; + }; + description ""; + + postcondition ""; + precondition ""; + } + + + + oa_occurrence oa_native_reuse "OA native reuse" id "b7b42ce3-f517-42a3-b773-b0c403553fc6" { + body { + ScenarioUse { + bindings [{ + local @scenario_oa_40; + referenced @scenario_oa_42; + }, { + local @scenario_oa_41; + referenced @scenario_oa_43; + }]; + scenario @scenario_oa_31; + }; + }; + description ""; + + postcondition ""; + precondition ""; + } + + + } + + oa_occurrence scenario_oa_56 "OA Inner other operand" id "5ceaa100-0000-4000-8000-00000000009c" { + body { + Branch { + guard "else"; + occurrences [@scenario_oa_58]; + }; + }; + description ""; + parent @scenario_oa_54; + postcondition ""; + precondition ""; + } + + oa_occurrence scenario_oa_57 "OA Inner anchor" id "5ceaa100-0000-4000-8000-00000000009d" { + body { + Action { + action @scenario_oa_10; + lifeline @scenario_oa_40; + }; + }; + description ""; + parent @scenario_oa_55; + postcondition ""; + precondition ""; + } + + oa_occurrence scenario_oa_58 "OA Inner other anchor" id "5ceaa100-0000-4000-8000-00000000009e" { + body { + Action { + action @scenario_oa_10; + lifeline @scenario_oa_40; + }; + }; + description ""; + parent @scenario_oa_56; + postcondition ""; + precondition ""; + } + + oa_occurrence scenario_oa_59 "OA Fallback anchor" id "5ceaa100-0000-4000-8000-00000000009f" { + body { + Action { + action @scenario_oa_11; + lifeline @scenario_oa_41; + }; + }; + description ""; + parent @scenario_oa_53; + postcondition ""; + precondition ""; + } + + oa_occurrence scenario_oa_60 "OA First use of B" id "5ceaa100-0000-4000-8000-0000000000a0" { + body { + ScenarioUse { + bindings [{ + local @scenario_oa_40; + referenced @scenario_oa_42; + }, { + local @scenario_oa_41; + referenced @scenario_oa_43; + }]; + scenario @scenario_oa_31; + }; + }; + description ""; + parent @scenario_oa_30; + postcondition ""; + precondition ""; + } + + oa_occurrence scenario_oa_61 "OA Second use of B" id "5ceaa100-0000-4000-8000-0000000000a1" { + body { + ScenarioUse { + bindings [{ + local @scenario_oa_40; + referenced @scenario_oa_42; + }, { + local @scenario_oa_41; + referenced @scenario_oa_43; + }]; + scenario @scenario_oa_31; + }; + }; + description ""; + parent @scenario_oa_30; + postcondition ""; + precondition ""; + } + + oa_occurrence scenario_oa_62 "OA Root exit" id "5ceaa100-0000-4000-8000-0000000000a2" { + body { + Action { + action @scenario_oa_11; + lifeline @scenario_oa_41; + }; + }; + description ""; + parent @scenario_oa_30; + postcondition ""; + precondition ""; + } + + oa_occurrence scenario_oa_63 "OA B entry" id "5ceaa100-0000-4000-8000-0000000000a3" { + body { + Action { + action @scenario_oa_10; + lifeline @scenario_oa_42; + }; + }; + description ""; + parent @scenario_oa_31; + postcondition ""; + precondition ""; + } + + oa_occurrence scenario_oa_64 "OA B use of C" id "5ceaa100-0000-4000-8000-0000000000a4" { + body { + ScenarioUse { + bindings [{ + local @scenario_oa_42; + referenced @scenario_oa_44; + }, { + local @scenario_oa_43; + referenced @scenario_oa_45; + }]; + scenario @scenario_oa_32; + }; + }; + description ""; + parent @scenario_oa_31; + postcondition ""; + precondition ""; + } + + oa_occurrence scenario_oa_65 "OA B exit" id "5ceaa100-0000-4000-8000-0000000000a5" { + body { + Action { + action @scenario_oa_11; + lifeline @scenario_oa_43; + }; + }; + description ""; + parent @scenario_oa_31; + postcondition ""; + precondition ""; + } + + oa_occurrence scenario_oa_66 "OA C entry" id "5ceaa100-0000-4000-8000-0000000000a6" { + body { + Action { + action @scenario_oa_10; + lifeline @scenario_oa_44; + }; + }; + description ""; + parent @scenario_oa_32; + postcondition ""; + precondition ""; + } + + sa_function scenario_sa_10 "SA Inspect ticket" id "5ceaa100-0000-4000-8000-0000000000d2" { + description ""; + parent none; + } + + sa_function scenario_sa_11 "SA Record result" id "5ceaa100-0000-4000-8000-0000000000d3" { + description ""; + parent none; + } + + sa_state_machine scenario_sa_20 "SA Ticket modes" id "5ceaa100-0000-4000-8000-0000000000dc" { + description ""; + parent none; + } + + sa_region scenario_sa_21 "SA Ticket region" id "5ceaa100-0000-4000-8000-0000000000dd" { + description ""; + parent @scenario_sa_20; + } + + sa_state scenario_sa_22 "SA Ready" id "5ceaa100-0000-4000-8000-0000000000de" { + description ""; + do_activity ""; + entry ""; + exit ""; + kind State; + parent @scenario_sa_21; + } + + sa_scenario scenario_sa_30 "SA A caller" id "5ceaa100-0000-4000-8000-0000000000e6" { + context none; + description ""; + parent none; + postcondition ""; + precondition ""; + steps [@scenario_sa_50, @scenario_sa_51, @scenario_sa_60, @scenario_sa_61, @scenario_sa_62]; + viewpoint Functional; + } + + sa_scenario scenario_sa_31 "SA B verification" id "5ceaa100-0000-4000-8000-0000000000e7" { + context none; + description ""; + parent none; + postcondition ""; + precondition ""; + steps [@scenario_sa_63, @scenario_sa_64, @scenario_sa_65]; + viewpoint Functional; + } + + sa_scenario scenario_sa_32 "SA C detail" id "5ceaa100-0000-4000-8000-0000000000e8" { + context none; + description ""; + parent none; + postcondition ""; + precondition ""; + steps [@scenario_sa_66]; + viewpoint Functional; + } + + sa_lifeline scenario_sa_40 "SA A inspector" id "5ceaa100-0000-4000-8000-0000000000f0" { + description ""; + parent @scenario_sa_30; + represented @scenario_sa_10; + } + + sa_lifeline scenario_sa_41 "SA A recorder" id "5ceaa100-0000-4000-8000-0000000000f1" { + description ""; + parent @scenario_sa_30; + represented @scenario_sa_11; + } + + sa_lifeline scenario_sa_42 "SA B inspector" id "5ceaa100-0000-4000-8000-0000000000f2" { + description ""; + parent @scenario_sa_31; + represented @scenario_sa_10; + } + + sa_lifeline scenario_sa_43 "SA B recorder" id "5ceaa100-0000-4000-8000-0000000000f3" { + description ""; + parent @scenario_sa_31; + represented @scenario_sa_11; + } + + sa_lifeline scenario_sa_44 "SA C inspector" id "5ceaa100-0000-4000-8000-0000000000f4" { + description ""; + parent @scenario_sa_32; + represented @scenario_sa_10; + } + + sa_lifeline scenario_sa_45 "SA C recorder" id "5ceaa100-0000-4000-8000-0000000000f5" { + description ""; + parent @scenario_sa_32; + represented @scenario_sa_11; + } + + sa_occurrence scenario_sa_50 "SA Root entry" id "5ceaa100-0000-4000-8000-0000000000fa" { + body { + Action { + action @scenario_sa_10; + lifeline @scenario_sa_40; + }; + }; + description ""; + parent @scenario_sa_30; + postcondition ""; + precondition ""; + } + + sa_occurrence scenario_sa_51 "SA Outer ALT" id "5ceaa100-0000-4000-8000-0000000000fb" { + body { + Fragment { + branches [@scenario_sa_52, @scenario_sa_53]; + operator Alternative; + }; + }; + description ""; + parent @scenario_sa_30; + postcondition ""; + precondition ""; + } + + sa_occurrence scenario_sa_52 "SA Outer chosen operand" id "5ceaa100-0000-4000-8000-0000000000fc" { + body { + Branch { + guard "ticket.present"; + occurrences [@scenario_sa_54]; + }; + }; + description ""; + parent @scenario_sa_51; + postcondition ""; + precondition ""; + } + + sa_occurrence scenario_sa_53 "SA Outer fallback operand" id "5ceaa100-0000-4000-8000-0000000000fd" { + body { + Branch { + guard "else"; + occurrences [@scenario_sa_59]; + }; + }; + description ""; + parent @scenario_sa_51; + postcondition ""; + precondition ""; + } + + sa_occurrence scenario_sa_54 "SA Inner ALT" id "5ceaa100-0000-4000-8000-0000000000fe" { + body { + Fragment { + branches [@scenario_sa_55, @scenario_sa_56]; + operator Alternative; + }; + }; + description ""; + parent @scenario_sa_52; + postcondition ""; + precondition ""; + } + + sa_occurrence scenario_sa_55 "SA Inner chosen operand" id "5ceaa100-0000-4000-8000-0000000000ff" { + body { + Branch { + guard "ticket.ready"; + occurrences [@scenario_sa_57]; + }; + }; + description ""; + parent @scenario_sa_54; + postcondition ""; + precondition ""; + } + + sa_occurrence scenario_sa_56 "SA Inner other operand" id "5ceaa100-0000-4000-8000-000000000100" { + body { + Branch { + guard "else"; + occurrences [@scenario_sa_58]; + }; + }; + description ""; + parent @scenario_sa_54; + postcondition ""; + precondition ""; + } + + sa_occurrence scenario_sa_57 "SA Inner anchor" id "5ceaa100-0000-4000-8000-000000000101" { + body { + Action { + action @scenario_sa_10; + lifeline @scenario_sa_40; + }; + }; + description ""; + parent @scenario_sa_55; + postcondition ""; + precondition ""; + } + + sa_occurrence scenario_sa_58 "SA Inner other anchor" id "5ceaa100-0000-4000-8000-000000000102" { + body { + Action { + action @scenario_sa_10; + lifeline @scenario_sa_40; + }; + }; + description ""; + parent @scenario_sa_56; + postcondition ""; + precondition ""; + } + + sa_occurrence scenario_sa_59 "SA Fallback anchor" id "5ceaa100-0000-4000-8000-000000000103" { + body { + Action { + action @scenario_sa_11; + lifeline @scenario_sa_41; + }; + }; + description ""; + parent @scenario_sa_53; + postcondition ""; + precondition ""; + } + + sa_occurrence scenario_sa_60 "SA First use of B" id "5ceaa100-0000-4000-8000-000000000104" { + body { + ScenarioUse { + bindings [{ + local @scenario_sa_40; + referenced @scenario_sa_42; + }, { + local @scenario_sa_41; + referenced @scenario_sa_43; + }]; + scenario @scenario_sa_31; + }; + }; + description ""; + parent @scenario_sa_30; + postcondition ""; + precondition ""; + } + + sa_occurrence scenario_sa_61 "SA Second use of B" id "5ceaa100-0000-4000-8000-000000000105" { + body { + ScenarioUse { + bindings [{ + local @scenario_sa_40; + referenced @scenario_sa_42; + }, { + local @scenario_sa_41; + referenced @scenario_sa_43; + }]; + scenario @scenario_sa_31; + }; + }; + description ""; + parent @scenario_sa_30; + postcondition ""; + precondition ""; + } + + sa_occurrence scenario_sa_62 "SA Root exit" id "5ceaa100-0000-4000-8000-000000000106" { + body { + Action { + action @scenario_sa_11; + lifeline @scenario_sa_41; + }; + }; + description ""; + parent @scenario_sa_30; + postcondition ""; + precondition ""; + } + + sa_occurrence scenario_sa_63 "SA B entry" id "5ceaa100-0000-4000-8000-000000000107" { + body { + Action { + action @scenario_sa_10; + lifeline @scenario_sa_42; + }; + }; + description ""; + parent @scenario_sa_31; + postcondition ""; + precondition ""; + } + + sa_occurrence scenario_sa_64 "SA B use of C" id "5ceaa100-0000-4000-8000-000000000108" { + body { + ScenarioUse { + bindings [{ + local @scenario_sa_42; + referenced @scenario_sa_44; + }, { + local @scenario_sa_43; + referenced @scenario_sa_45; + }]; + scenario @scenario_sa_32; + }; + }; + description ""; + parent @scenario_sa_31; + postcondition ""; + precondition ""; + } + + sa_occurrence scenario_sa_65 "SA B exit" id "5ceaa100-0000-4000-8000-000000000109" { + body { + Action { + action @scenario_sa_11; + lifeline @scenario_sa_43; + }; + }; + description ""; + parent @scenario_sa_31; + postcondition ""; + precondition ""; + } + + sa_occurrence scenario_sa_66 "SA C entry" id "5ceaa100-0000-4000-8000-00000000010a" { + body { + Action { + action @scenario_sa_10; + lifeline @scenario_sa_44; + }; + }; + description ""; + parent @scenario_sa_32; + postcondition ""; + precondition ""; + } + +} diff --git a/harness/experiments/scenario-native-local-20260911/checkpoint-oa-reuse-redo/rationale.arcadia b/harness/experiments/scenario-native-local-20260911/checkpoint-oa-reuse-redo/rationale.arcadia new file mode 100644 index 00000000..64b58187 --- /dev/null +++ b/harness/experiments/scenario-native-local-20260911/checkpoint-oa-reuse-redo/rationale.arcadia @@ -0,0 +1,2 @@ +// Retain caller/operand evidence: ticket 雨. +// Navigation never edits this note. diff --git a/harness/experiments/scenario-native-local-20260911/checkpoint-oa-reuse-undo/project.arcadia b/harness/experiments/scenario-native-local-20260911/checkpoint-oa-reuse-undo/project.arcadia new file mode 100644 index 00000000..82ddedb2 --- /dev/null +++ b/harness/experiments/scenario-native-local-20260911/checkpoint-oa-reuse-undo/project.arcadia @@ -0,0 +1,704 @@ +arcadia 7; +project scenario_authoring "Scenario authoring contract" id "5ceaa100-0000-4000-8000-000000000001" { + include "rationale.arcadia"; + description "Native clicked-slot and caller-return contract."; + + oa_activity scenario_oa_10 "OA Inspect ticket" id "5ceaa100-0000-4000-8000-00000000006e" { + description ""; + parent none; + } + + oa_activity scenario_oa_11 "OA Record result" id "5ceaa100-0000-4000-8000-00000000006f" { + description ""; + parent none; + } + + oa_state_machine scenario_oa_20 "OA Ticket modes" id "5ceaa100-0000-4000-8000-000000000078" { + description ""; + parent none; + } + + oa_region scenario_oa_21 "OA Ticket region" id "5ceaa100-0000-4000-8000-000000000079" { + description ""; + parent @scenario_oa_20; + } + + oa_state scenario_oa_22 "OA Ready" id "5ceaa100-0000-4000-8000-00000000007a" { + description ""; + do_activity ""; + entry ""; + exit ""; + kind State; + parent @scenario_oa_21; + } + + oa_scenario scenario_oa_30 "OA A caller" id "5ceaa100-0000-4000-8000-000000000082" { + context none; + description ""; + parent none; + postcondition ""; + precondition ""; + steps [ @oa_native_action,@scenario_oa_50, @scenario_oa_51, @scenario_oa_60, @scenario_oa_61, @scenario_oa_62]; + viewpoint OperationalActivity; + + oa_occurrence oa_native_action "OA native action" id "ef323f4f-6e0c-4876-9e81-6c2526877d2e" { + body { + Action { + action @scenario_oa_10; + lifeline @scenario_oa_40; + }; + }; + description ""; + + postcondition ""; + precondition ""; + } + + + } + + oa_scenario scenario_oa_31 "OA B verification" id "5ceaa100-0000-4000-8000-000000000083" { + context none; + description ""; + parent none; + postcondition ""; + precondition ""; + steps [@scenario_oa_63, @scenario_oa_64, @scenario_oa_65]; + viewpoint OperationalActivity; + } + + oa_scenario scenario_oa_32 "OA C detail" id "5ceaa100-0000-4000-8000-000000000084" { + context none; + description ""; + parent none; + postcondition ""; + precondition ""; + steps [@scenario_oa_66]; + viewpoint OperationalActivity; + } + + oa_lifeline scenario_oa_40 "OA A inspector" id "5ceaa100-0000-4000-8000-00000000008c" { + description ""; + parent @scenario_oa_30; + represented @scenario_oa_10; + } + + oa_lifeline scenario_oa_41 "OA A recorder" id "5ceaa100-0000-4000-8000-00000000008d" { + description ""; + parent @scenario_oa_30; + represented @scenario_oa_11; + } + + oa_lifeline scenario_oa_42 "OA B inspector" id "5ceaa100-0000-4000-8000-00000000008e" { + description ""; + parent @scenario_oa_31; + represented @scenario_oa_10; + } + + oa_lifeline scenario_oa_43 "OA B recorder" id "5ceaa100-0000-4000-8000-00000000008f" { + description ""; + parent @scenario_oa_31; + represented @scenario_oa_11; + } + + oa_lifeline scenario_oa_44 "OA C inspector" id "5ceaa100-0000-4000-8000-000000000090" { + description ""; + parent @scenario_oa_32; + represented @scenario_oa_10; + } + + oa_lifeline scenario_oa_45 "OA C recorder" id "5ceaa100-0000-4000-8000-000000000091" { + description ""; + parent @scenario_oa_32; + represented @scenario_oa_11; + } + + oa_occurrence scenario_oa_50 "OA Root entry" id "5ceaa100-0000-4000-8000-000000000096" { + body { + Action { + action @scenario_oa_10; + lifeline @scenario_oa_40; + }; + }; + description ""; + parent @scenario_oa_30; + postcondition ""; + precondition ""; + } + + oa_occurrence scenario_oa_51 "OA Outer ALT" id "5ceaa100-0000-4000-8000-000000000097" { + body { + Fragment { + branches [@scenario_oa_52, @scenario_oa_53]; + operator Alternative; + }; + }; + description ""; + parent @scenario_oa_30; + postcondition ""; + precondition ""; + } + + oa_occurrence scenario_oa_52 "OA Outer chosen operand" id "5ceaa100-0000-4000-8000-000000000098" { + body { + Branch { + guard "ticket.present"; + occurrences [@scenario_oa_54]; + }; + }; + description ""; + parent @scenario_oa_51; + postcondition ""; + precondition ""; + } + + oa_occurrence scenario_oa_53 "OA Outer fallback operand" id "5ceaa100-0000-4000-8000-000000000099" { + body { + Branch { + guard "else"; + occurrences [@scenario_oa_59]; + }; + }; + description ""; + parent @scenario_oa_51; + postcondition ""; + precondition ""; + } + + oa_occurrence scenario_oa_54 "OA Inner ALT" id "5ceaa100-0000-4000-8000-00000000009a" { + body { + Fragment { + branches [@scenario_oa_55, @scenario_oa_56]; + operator Alternative; + }; + }; + description ""; + parent @scenario_oa_52; + postcondition ""; + precondition ""; + } + + oa_occurrence scenario_oa_55 "OA Inner chosen operand" id "5ceaa100-0000-4000-8000-00000000009b" { + body { + Branch { + guard "ticket.ready"; + occurrences [ @oa_native_state,@scenario_oa_57]; + }; + }; + description ""; + parent @scenario_oa_54; + postcondition ""; + precondition ""; + + oa_occurrence oa_native_state "OA native state" id "ef00e17b-7f42-427c-a5d2-2c6dffd06bfa" { + body { + State { + lifeline @scenario_oa_40; + state @scenario_oa_22; + }; + }; + description ""; + + postcondition ""; + precondition ""; + } + + + } + + oa_occurrence scenario_oa_56 "OA Inner other operand" id "5ceaa100-0000-4000-8000-00000000009c" { + body { + Branch { + guard "else"; + occurrences [@scenario_oa_58]; + }; + }; + description ""; + parent @scenario_oa_54; + postcondition ""; + precondition ""; + } + + oa_occurrence scenario_oa_57 "OA Inner anchor" id "5ceaa100-0000-4000-8000-00000000009d" { + body { + Action { + action @scenario_oa_10; + lifeline @scenario_oa_40; + }; + }; + description ""; + parent @scenario_oa_55; + postcondition ""; + precondition ""; + } + + oa_occurrence scenario_oa_58 "OA Inner other anchor" id "5ceaa100-0000-4000-8000-00000000009e" { + body { + Action { + action @scenario_oa_10; + lifeline @scenario_oa_40; + }; + }; + description ""; + parent @scenario_oa_56; + postcondition ""; + precondition ""; + } + + oa_occurrence scenario_oa_59 "OA Fallback anchor" id "5ceaa100-0000-4000-8000-00000000009f" { + body { + Action { + action @scenario_oa_11; + lifeline @scenario_oa_41; + }; + }; + description ""; + parent @scenario_oa_53; + postcondition ""; + precondition ""; + } + + oa_occurrence scenario_oa_60 "OA First use of B" id "5ceaa100-0000-4000-8000-0000000000a0" { + body { + ScenarioUse { + bindings [{ + local @scenario_oa_40; + referenced @scenario_oa_42; + }, { + local @scenario_oa_41; + referenced @scenario_oa_43; + }]; + scenario @scenario_oa_31; + }; + }; + description ""; + parent @scenario_oa_30; + postcondition ""; + precondition ""; + } + + oa_occurrence scenario_oa_61 "OA Second use of B" id "5ceaa100-0000-4000-8000-0000000000a1" { + body { + ScenarioUse { + bindings [{ + local @scenario_oa_40; + referenced @scenario_oa_42; + }, { + local @scenario_oa_41; + referenced @scenario_oa_43; + }]; + scenario @scenario_oa_31; + }; + }; + description ""; + parent @scenario_oa_30; + postcondition ""; + precondition ""; + } + + oa_occurrence scenario_oa_62 "OA Root exit" id "5ceaa100-0000-4000-8000-0000000000a2" { + body { + Action { + action @scenario_oa_11; + lifeline @scenario_oa_41; + }; + }; + description ""; + parent @scenario_oa_30; + postcondition ""; + precondition ""; + } + + oa_occurrence scenario_oa_63 "OA B entry" id "5ceaa100-0000-4000-8000-0000000000a3" { + body { + Action { + action @scenario_oa_10; + lifeline @scenario_oa_42; + }; + }; + description ""; + parent @scenario_oa_31; + postcondition ""; + precondition ""; + } + + oa_occurrence scenario_oa_64 "OA B use of C" id "5ceaa100-0000-4000-8000-0000000000a4" { + body { + ScenarioUse { + bindings [{ + local @scenario_oa_42; + referenced @scenario_oa_44; + }, { + local @scenario_oa_43; + referenced @scenario_oa_45; + }]; + scenario @scenario_oa_32; + }; + }; + description ""; + parent @scenario_oa_31; + postcondition ""; + precondition ""; + } + + oa_occurrence scenario_oa_65 "OA B exit" id "5ceaa100-0000-4000-8000-0000000000a5" { + body { + Action { + action @scenario_oa_11; + lifeline @scenario_oa_43; + }; + }; + description ""; + parent @scenario_oa_31; + postcondition ""; + precondition ""; + } + + oa_occurrence scenario_oa_66 "OA C entry" id "5ceaa100-0000-4000-8000-0000000000a6" { + body { + Action { + action @scenario_oa_10; + lifeline @scenario_oa_44; + }; + }; + description ""; + parent @scenario_oa_32; + postcondition ""; + precondition ""; + } + + sa_function scenario_sa_10 "SA Inspect ticket" id "5ceaa100-0000-4000-8000-0000000000d2" { + description ""; + parent none; + } + + sa_function scenario_sa_11 "SA Record result" id "5ceaa100-0000-4000-8000-0000000000d3" { + description ""; + parent none; + } + + sa_state_machine scenario_sa_20 "SA Ticket modes" id "5ceaa100-0000-4000-8000-0000000000dc" { + description ""; + parent none; + } + + sa_region scenario_sa_21 "SA Ticket region" id "5ceaa100-0000-4000-8000-0000000000dd" { + description ""; + parent @scenario_sa_20; + } + + sa_state scenario_sa_22 "SA Ready" id "5ceaa100-0000-4000-8000-0000000000de" { + description ""; + do_activity ""; + entry ""; + exit ""; + kind State; + parent @scenario_sa_21; + } + + sa_scenario scenario_sa_30 "SA A caller" id "5ceaa100-0000-4000-8000-0000000000e6" { + context none; + description ""; + parent none; + postcondition ""; + precondition ""; + steps [@scenario_sa_50, @scenario_sa_51, @scenario_sa_60, @scenario_sa_61, @scenario_sa_62]; + viewpoint Functional; + } + + sa_scenario scenario_sa_31 "SA B verification" id "5ceaa100-0000-4000-8000-0000000000e7" { + context none; + description ""; + parent none; + postcondition ""; + precondition ""; + steps [@scenario_sa_63, @scenario_sa_64, @scenario_sa_65]; + viewpoint Functional; + } + + sa_scenario scenario_sa_32 "SA C detail" id "5ceaa100-0000-4000-8000-0000000000e8" { + context none; + description ""; + parent none; + postcondition ""; + precondition ""; + steps [@scenario_sa_66]; + viewpoint Functional; + } + + sa_lifeline scenario_sa_40 "SA A inspector" id "5ceaa100-0000-4000-8000-0000000000f0" { + description ""; + parent @scenario_sa_30; + represented @scenario_sa_10; + } + + sa_lifeline scenario_sa_41 "SA A recorder" id "5ceaa100-0000-4000-8000-0000000000f1" { + description ""; + parent @scenario_sa_30; + represented @scenario_sa_11; + } + + sa_lifeline scenario_sa_42 "SA B inspector" id "5ceaa100-0000-4000-8000-0000000000f2" { + description ""; + parent @scenario_sa_31; + represented @scenario_sa_10; + } + + sa_lifeline scenario_sa_43 "SA B recorder" id "5ceaa100-0000-4000-8000-0000000000f3" { + description ""; + parent @scenario_sa_31; + represented @scenario_sa_11; + } + + sa_lifeline scenario_sa_44 "SA C inspector" id "5ceaa100-0000-4000-8000-0000000000f4" { + description ""; + parent @scenario_sa_32; + represented @scenario_sa_10; + } + + sa_lifeline scenario_sa_45 "SA C recorder" id "5ceaa100-0000-4000-8000-0000000000f5" { + description ""; + parent @scenario_sa_32; + represented @scenario_sa_11; + } + + sa_occurrence scenario_sa_50 "SA Root entry" id "5ceaa100-0000-4000-8000-0000000000fa" { + body { + Action { + action @scenario_sa_10; + lifeline @scenario_sa_40; + }; + }; + description ""; + parent @scenario_sa_30; + postcondition ""; + precondition ""; + } + + sa_occurrence scenario_sa_51 "SA Outer ALT" id "5ceaa100-0000-4000-8000-0000000000fb" { + body { + Fragment { + branches [@scenario_sa_52, @scenario_sa_53]; + operator Alternative; + }; + }; + description ""; + parent @scenario_sa_30; + postcondition ""; + precondition ""; + } + + sa_occurrence scenario_sa_52 "SA Outer chosen operand" id "5ceaa100-0000-4000-8000-0000000000fc" { + body { + Branch { + guard "ticket.present"; + occurrences [@scenario_sa_54]; + }; + }; + description ""; + parent @scenario_sa_51; + postcondition ""; + precondition ""; + } + + sa_occurrence scenario_sa_53 "SA Outer fallback operand" id "5ceaa100-0000-4000-8000-0000000000fd" { + body { + Branch { + guard "else"; + occurrences [@scenario_sa_59]; + }; + }; + description ""; + parent @scenario_sa_51; + postcondition ""; + precondition ""; + } + + sa_occurrence scenario_sa_54 "SA Inner ALT" id "5ceaa100-0000-4000-8000-0000000000fe" { + body { + Fragment { + branches [@scenario_sa_55, @scenario_sa_56]; + operator Alternative; + }; + }; + description ""; + parent @scenario_sa_52; + postcondition ""; + precondition ""; + } + + sa_occurrence scenario_sa_55 "SA Inner chosen operand" id "5ceaa100-0000-4000-8000-0000000000ff" { + body { + Branch { + guard "ticket.ready"; + occurrences [@scenario_sa_57]; + }; + }; + description ""; + parent @scenario_sa_54; + postcondition ""; + precondition ""; + } + + sa_occurrence scenario_sa_56 "SA Inner other operand" id "5ceaa100-0000-4000-8000-000000000100" { + body { + Branch { + guard "else"; + occurrences [@scenario_sa_58]; + }; + }; + description ""; + parent @scenario_sa_54; + postcondition ""; + precondition ""; + } + + sa_occurrence scenario_sa_57 "SA Inner anchor" id "5ceaa100-0000-4000-8000-000000000101" { + body { + Action { + action @scenario_sa_10; + lifeline @scenario_sa_40; + }; + }; + description ""; + parent @scenario_sa_55; + postcondition ""; + precondition ""; + } + + sa_occurrence scenario_sa_58 "SA Inner other anchor" id "5ceaa100-0000-4000-8000-000000000102" { + body { + Action { + action @scenario_sa_10; + lifeline @scenario_sa_40; + }; + }; + description ""; + parent @scenario_sa_56; + postcondition ""; + precondition ""; + } + + sa_occurrence scenario_sa_59 "SA Fallback anchor" id "5ceaa100-0000-4000-8000-000000000103" { + body { + Action { + action @scenario_sa_11; + lifeline @scenario_sa_41; + }; + }; + description ""; + parent @scenario_sa_53; + postcondition ""; + precondition ""; + } + + sa_occurrence scenario_sa_60 "SA First use of B" id "5ceaa100-0000-4000-8000-000000000104" { + body { + ScenarioUse { + bindings [{ + local @scenario_sa_40; + referenced @scenario_sa_42; + }, { + local @scenario_sa_41; + referenced @scenario_sa_43; + }]; + scenario @scenario_sa_31; + }; + }; + description ""; + parent @scenario_sa_30; + postcondition ""; + precondition ""; + } + + sa_occurrence scenario_sa_61 "SA Second use of B" id "5ceaa100-0000-4000-8000-000000000105" { + body { + ScenarioUse { + bindings [{ + local @scenario_sa_40; + referenced @scenario_sa_42; + }, { + local @scenario_sa_41; + referenced @scenario_sa_43; + }]; + scenario @scenario_sa_31; + }; + }; + description ""; + parent @scenario_sa_30; + postcondition ""; + precondition ""; + } + + sa_occurrence scenario_sa_62 "SA Root exit" id "5ceaa100-0000-4000-8000-000000000106" { + body { + Action { + action @scenario_sa_11; + lifeline @scenario_sa_41; + }; + }; + description ""; + parent @scenario_sa_30; + postcondition ""; + precondition ""; + } + + sa_occurrence scenario_sa_63 "SA B entry" id "5ceaa100-0000-4000-8000-000000000107" { + body { + Action { + action @scenario_sa_10; + lifeline @scenario_sa_42; + }; + }; + description ""; + parent @scenario_sa_31; + postcondition ""; + precondition ""; + } + + sa_occurrence scenario_sa_64 "SA B use of C" id "5ceaa100-0000-4000-8000-000000000108" { + body { + ScenarioUse { + bindings [{ + local @scenario_sa_42; + referenced @scenario_sa_44; + }, { + local @scenario_sa_43; + referenced @scenario_sa_45; + }]; + scenario @scenario_sa_32; + }; + }; + description ""; + parent @scenario_sa_31; + postcondition ""; + precondition ""; + } + + sa_occurrence scenario_sa_65 "SA B exit" id "5ceaa100-0000-4000-8000-000000000109" { + body { + Action { + action @scenario_sa_11; + lifeline @scenario_sa_43; + }; + }; + description ""; + parent @scenario_sa_31; + postcondition ""; + precondition ""; + } + + sa_occurrence scenario_sa_66 "SA C entry" id "5ceaa100-0000-4000-8000-00000000010a" { + body { + Action { + action @scenario_sa_10; + lifeline @scenario_sa_44; + }; + }; + description ""; + parent @scenario_sa_32; + postcondition ""; + precondition ""; + } + +} diff --git a/harness/experiments/scenario-native-local-20260911/checkpoint-oa-reuse-undo/rationale.arcadia b/harness/experiments/scenario-native-local-20260911/checkpoint-oa-reuse-undo/rationale.arcadia new file mode 100644 index 00000000..64b58187 --- /dev/null +++ b/harness/experiments/scenario-native-local-20260911/checkpoint-oa-reuse-undo/rationale.arcadia @@ -0,0 +1,2 @@ +// Retain caller/operand evidence: ticket 雨. +// Navigation never edits this note. diff --git a/harness/experiments/scenario-native-local-20260911/checkpoint-oa-reuse/project.arcadia b/harness/experiments/scenario-native-local-20260911/checkpoint-oa-reuse/project.arcadia new file mode 100644 index 00000000..d3b510d4 --- /dev/null +++ b/harness/experiments/scenario-native-local-20260911/checkpoint-oa-reuse/project.arcadia @@ -0,0 +1,725 @@ +arcadia 7; +project scenario_authoring "Scenario authoring contract" id "5ceaa100-0000-4000-8000-000000000001" { + include "rationale.arcadia"; + description "Native clicked-slot and caller-return contract."; + + oa_activity scenario_oa_10 "OA Inspect ticket" id "5ceaa100-0000-4000-8000-00000000006e" { + description ""; + parent none; + } + + oa_activity scenario_oa_11 "OA Record result" id "5ceaa100-0000-4000-8000-00000000006f" { + description ""; + parent none; + } + + oa_state_machine scenario_oa_20 "OA Ticket modes" id "5ceaa100-0000-4000-8000-000000000078" { + description ""; + parent none; + } + + oa_region scenario_oa_21 "OA Ticket region" id "5ceaa100-0000-4000-8000-000000000079" { + description ""; + parent @scenario_oa_20; + } + + oa_state scenario_oa_22 "OA Ready" id "5ceaa100-0000-4000-8000-00000000007a" { + description ""; + do_activity ""; + entry ""; + exit ""; + kind State; + parent @scenario_oa_21; + } + + oa_scenario scenario_oa_30 "OA A caller" id "5ceaa100-0000-4000-8000-000000000082" { + context none; + description ""; + parent none; + postcondition ""; + precondition ""; + steps [ @oa_native_action,@scenario_oa_50, @scenario_oa_51, @scenario_oa_60, @scenario_oa_61, @scenario_oa_62]; + viewpoint OperationalActivity; + + oa_occurrence oa_native_action "OA native action" id "ef323f4f-6e0c-4876-9e81-6c2526877d2e" { + body { + Action { + action @scenario_oa_10; + lifeline @scenario_oa_40; + }; + }; + description ""; + + postcondition ""; + precondition ""; + } + + + } + + oa_scenario scenario_oa_31 "OA B verification" id "5ceaa100-0000-4000-8000-000000000083" { + context none; + description ""; + parent none; + postcondition ""; + precondition ""; + steps [@scenario_oa_63, @scenario_oa_64, @scenario_oa_65]; + viewpoint OperationalActivity; + } + + oa_scenario scenario_oa_32 "OA C detail" id "5ceaa100-0000-4000-8000-000000000084" { + context none; + description ""; + parent none; + postcondition ""; + precondition ""; + steps [@scenario_oa_66]; + viewpoint OperationalActivity; + } + + oa_lifeline scenario_oa_40 "OA A inspector" id "5ceaa100-0000-4000-8000-00000000008c" { + description ""; + parent @scenario_oa_30; + represented @scenario_oa_10; + } + + oa_lifeline scenario_oa_41 "OA A recorder" id "5ceaa100-0000-4000-8000-00000000008d" { + description ""; + parent @scenario_oa_30; + represented @scenario_oa_11; + } + + oa_lifeline scenario_oa_42 "OA B inspector" id "5ceaa100-0000-4000-8000-00000000008e" { + description ""; + parent @scenario_oa_31; + represented @scenario_oa_10; + } + + oa_lifeline scenario_oa_43 "OA B recorder" id "5ceaa100-0000-4000-8000-00000000008f" { + description ""; + parent @scenario_oa_31; + represented @scenario_oa_11; + } + + oa_lifeline scenario_oa_44 "OA C inspector" id "5ceaa100-0000-4000-8000-000000000090" { + description ""; + parent @scenario_oa_32; + represented @scenario_oa_10; + } + + oa_lifeline scenario_oa_45 "OA C recorder" id "5ceaa100-0000-4000-8000-000000000091" { + description ""; + parent @scenario_oa_32; + represented @scenario_oa_11; + } + + oa_occurrence scenario_oa_50 "OA Root entry" id "5ceaa100-0000-4000-8000-000000000096" { + body { + Action { + action @scenario_oa_10; + lifeline @scenario_oa_40; + }; + }; + description ""; + parent @scenario_oa_30; + postcondition ""; + precondition ""; + } + + oa_occurrence scenario_oa_51 "OA Outer ALT" id "5ceaa100-0000-4000-8000-000000000097" { + body { + Fragment { + branches [@scenario_oa_52, @scenario_oa_53]; + operator Alternative; + }; + }; + description ""; + parent @scenario_oa_30; + postcondition ""; + precondition ""; + } + + oa_occurrence scenario_oa_52 "OA Outer chosen operand" id "5ceaa100-0000-4000-8000-000000000098" { + body { + Branch { + guard "ticket.present"; + occurrences [@scenario_oa_54]; + }; + }; + description ""; + parent @scenario_oa_51; + postcondition ""; + precondition ""; + } + + oa_occurrence scenario_oa_53 "OA Outer fallback operand" id "5ceaa100-0000-4000-8000-000000000099" { + body { + Branch { + guard "else"; + occurrences [@scenario_oa_59]; + }; + }; + description ""; + parent @scenario_oa_51; + postcondition ""; + precondition ""; + } + + oa_occurrence scenario_oa_54 "OA Inner ALT" id "5ceaa100-0000-4000-8000-00000000009a" { + body { + Fragment { + branches [@scenario_oa_55, @scenario_oa_56]; + operator Alternative; + }; + }; + description ""; + parent @scenario_oa_52; + postcondition ""; + precondition ""; + } + + oa_occurrence scenario_oa_55 "OA Inner chosen operand" id "5ceaa100-0000-4000-8000-00000000009b" { + body { + Branch { + guard "ticket.ready"; + occurrences [ @oa_native_state, @oa_native_reuse,@scenario_oa_57]; + }; + }; + description ""; + parent @scenario_oa_54; + postcondition ""; + precondition ""; + + oa_occurrence oa_native_state "OA native state" id "ef00e17b-7f42-427c-a5d2-2c6dffd06bfa" { + body { + State { + lifeline @scenario_oa_40; + state @scenario_oa_22; + }; + }; + description ""; + + postcondition ""; + precondition ""; + } + + + + oa_occurrence oa_native_reuse "OA native reuse" id "b7b42ce3-f517-42a3-b773-b0c403553fc6" { + body { + ScenarioUse { + bindings [{ + local @scenario_oa_40; + referenced @scenario_oa_42; + }, { + local @scenario_oa_41; + referenced @scenario_oa_43; + }]; + scenario @scenario_oa_31; + }; + }; + description ""; + + postcondition ""; + precondition ""; + } + + + } + + oa_occurrence scenario_oa_56 "OA Inner other operand" id "5ceaa100-0000-4000-8000-00000000009c" { + body { + Branch { + guard "else"; + occurrences [@scenario_oa_58]; + }; + }; + description ""; + parent @scenario_oa_54; + postcondition ""; + precondition ""; + } + + oa_occurrence scenario_oa_57 "OA Inner anchor" id "5ceaa100-0000-4000-8000-00000000009d" { + body { + Action { + action @scenario_oa_10; + lifeline @scenario_oa_40; + }; + }; + description ""; + parent @scenario_oa_55; + postcondition ""; + precondition ""; + } + + oa_occurrence scenario_oa_58 "OA Inner other anchor" id "5ceaa100-0000-4000-8000-00000000009e" { + body { + Action { + action @scenario_oa_10; + lifeline @scenario_oa_40; + }; + }; + description ""; + parent @scenario_oa_56; + postcondition ""; + precondition ""; + } + + oa_occurrence scenario_oa_59 "OA Fallback anchor" id "5ceaa100-0000-4000-8000-00000000009f" { + body { + Action { + action @scenario_oa_11; + lifeline @scenario_oa_41; + }; + }; + description ""; + parent @scenario_oa_53; + postcondition ""; + precondition ""; + } + + oa_occurrence scenario_oa_60 "OA First use of B" id "5ceaa100-0000-4000-8000-0000000000a0" { + body { + ScenarioUse { + bindings [{ + local @scenario_oa_40; + referenced @scenario_oa_42; + }, { + local @scenario_oa_41; + referenced @scenario_oa_43; + }]; + scenario @scenario_oa_31; + }; + }; + description ""; + parent @scenario_oa_30; + postcondition ""; + precondition ""; + } + + oa_occurrence scenario_oa_61 "OA Second use of B" id "5ceaa100-0000-4000-8000-0000000000a1" { + body { + ScenarioUse { + bindings [{ + local @scenario_oa_40; + referenced @scenario_oa_42; + }, { + local @scenario_oa_41; + referenced @scenario_oa_43; + }]; + scenario @scenario_oa_31; + }; + }; + description ""; + parent @scenario_oa_30; + postcondition ""; + precondition ""; + } + + oa_occurrence scenario_oa_62 "OA Root exit" id "5ceaa100-0000-4000-8000-0000000000a2" { + body { + Action { + action @scenario_oa_11; + lifeline @scenario_oa_41; + }; + }; + description ""; + parent @scenario_oa_30; + postcondition ""; + precondition ""; + } + + oa_occurrence scenario_oa_63 "OA B entry" id "5ceaa100-0000-4000-8000-0000000000a3" { + body { + Action { + action @scenario_oa_10; + lifeline @scenario_oa_42; + }; + }; + description ""; + parent @scenario_oa_31; + postcondition ""; + precondition ""; + } + + oa_occurrence scenario_oa_64 "OA B use of C" id "5ceaa100-0000-4000-8000-0000000000a4" { + body { + ScenarioUse { + bindings [{ + local @scenario_oa_42; + referenced @scenario_oa_44; + }, { + local @scenario_oa_43; + referenced @scenario_oa_45; + }]; + scenario @scenario_oa_32; + }; + }; + description ""; + parent @scenario_oa_31; + postcondition ""; + precondition ""; + } + + oa_occurrence scenario_oa_65 "OA B exit" id "5ceaa100-0000-4000-8000-0000000000a5" { + body { + Action { + action @scenario_oa_11; + lifeline @scenario_oa_43; + }; + }; + description ""; + parent @scenario_oa_31; + postcondition ""; + precondition ""; + } + + oa_occurrence scenario_oa_66 "OA C entry" id "5ceaa100-0000-4000-8000-0000000000a6" { + body { + Action { + action @scenario_oa_10; + lifeline @scenario_oa_44; + }; + }; + description ""; + parent @scenario_oa_32; + postcondition ""; + precondition ""; + } + + sa_function scenario_sa_10 "SA Inspect ticket" id "5ceaa100-0000-4000-8000-0000000000d2" { + description ""; + parent none; + } + + sa_function scenario_sa_11 "SA Record result" id "5ceaa100-0000-4000-8000-0000000000d3" { + description ""; + parent none; + } + + sa_state_machine scenario_sa_20 "SA Ticket modes" id "5ceaa100-0000-4000-8000-0000000000dc" { + description ""; + parent none; + } + + sa_region scenario_sa_21 "SA Ticket region" id "5ceaa100-0000-4000-8000-0000000000dd" { + description ""; + parent @scenario_sa_20; + } + + sa_state scenario_sa_22 "SA Ready" id "5ceaa100-0000-4000-8000-0000000000de" { + description ""; + do_activity ""; + entry ""; + exit ""; + kind State; + parent @scenario_sa_21; + } + + sa_scenario scenario_sa_30 "SA A caller" id "5ceaa100-0000-4000-8000-0000000000e6" { + context none; + description ""; + parent none; + postcondition ""; + precondition ""; + steps [@scenario_sa_50, @scenario_sa_51, @scenario_sa_60, @scenario_sa_61, @scenario_sa_62]; + viewpoint Functional; + } + + sa_scenario scenario_sa_31 "SA B verification" id "5ceaa100-0000-4000-8000-0000000000e7" { + context none; + description ""; + parent none; + postcondition ""; + precondition ""; + steps [@scenario_sa_63, @scenario_sa_64, @scenario_sa_65]; + viewpoint Functional; + } + + sa_scenario scenario_sa_32 "SA C detail" id "5ceaa100-0000-4000-8000-0000000000e8" { + context none; + description ""; + parent none; + postcondition ""; + precondition ""; + steps [@scenario_sa_66]; + viewpoint Functional; + } + + sa_lifeline scenario_sa_40 "SA A inspector" id "5ceaa100-0000-4000-8000-0000000000f0" { + description ""; + parent @scenario_sa_30; + represented @scenario_sa_10; + } + + sa_lifeline scenario_sa_41 "SA A recorder" id "5ceaa100-0000-4000-8000-0000000000f1" { + description ""; + parent @scenario_sa_30; + represented @scenario_sa_11; + } + + sa_lifeline scenario_sa_42 "SA B inspector" id "5ceaa100-0000-4000-8000-0000000000f2" { + description ""; + parent @scenario_sa_31; + represented @scenario_sa_10; + } + + sa_lifeline scenario_sa_43 "SA B recorder" id "5ceaa100-0000-4000-8000-0000000000f3" { + description ""; + parent @scenario_sa_31; + represented @scenario_sa_11; + } + + sa_lifeline scenario_sa_44 "SA C inspector" id "5ceaa100-0000-4000-8000-0000000000f4" { + description ""; + parent @scenario_sa_32; + represented @scenario_sa_10; + } + + sa_lifeline scenario_sa_45 "SA C recorder" id "5ceaa100-0000-4000-8000-0000000000f5" { + description ""; + parent @scenario_sa_32; + represented @scenario_sa_11; + } + + sa_occurrence scenario_sa_50 "SA Root entry" id "5ceaa100-0000-4000-8000-0000000000fa" { + body { + Action { + action @scenario_sa_10; + lifeline @scenario_sa_40; + }; + }; + description ""; + parent @scenario_sa_30; + postcondition ""; + precondition ""; + } + + sa_occurrence scenario_sa_51 "SA Outer ALT" id "5ceaa100-0000-4000-8000-0000000000fb" { + body { + Fragment { + branches [@scenario_sa_52, @scenario_sa_53]; + operator Alternative; + }; + }; + description ""; + parent @scenario_sa_30; + postcondition ""; + precondition ""; + } + + sa_occurrence scenario_sa_52 "SA Outer chosen operand" id "5ceaa100-0000-4000-8000-0000000000fc" { + body { + Branch { + guard "ticket.present"; + occurrences [@scenario_sa_54]; + }; + }; + description ""; + parent @scenario_sa_51; + postcondition ""; + precondition ""; + } + + sa_occurrence scenario_sa_53 "SA Outer fallback operand" id "5ceaa100-0000-4000-8000-0000000000fd" { + body { + Branch { + guard "else"; + occurrences [@scenario_sa_59]; + }; + }; + description ""; + parent @scenario_sa_51; + postcondition ""; + precondition ""; + } + + sa_occurrence scenario_sa_54 "SA Inner ALT" id "5ceaa100-0000-4000-8000-0000000000fe" { + body { + Fragment { + branches [@scenario_sa_55, @scenario_sa_56]; + operator Alternative; + }; + }; + description ""; + parent @scenario_sa_52; + postcondition ""; + precondition ""; + } + + sa_occurrence scenario_sa_55 "SA Inner chosen operand" id "5ceaa100-0000-4000-8000-0000000000ff" { + body { + Branch { + guard "ticket.ready"; + occurrences [@scenario_sa_57]; + }; + }; + description ""; + parent @scenario_sa_54; + postcondition ""; + precondition ""; + } + + sa_occurrence scenario_sa_56 "SA Inner other operand" id "5ceaa100-0000-4000-8000-000000000100" { + body { + Branch { + guard "else"; + occurrences [@scenario_sa_58]; + }; + }; + description ""; + parent @scenario_sa_54; + postcondition ""; + precondition ""; + } + + sa_occurrence scenario_sa_57 "SA Inner anchor" id "5ceaa100-0000-4000-8000-000000000101" { + body { + Action { + action @scenario_sa_10; + lifeline @scenario_sa_40; + }; + }; + description ""; + parent @scenario_sa_55; + postcondition ""; + precondition ""; + } + + sa_occurrence scenario_sa_58 "SA Inner other anchor" id "5ceaa100-0000-4000-8000-000000000102" { + body { + Action { + action @scenario_sa_10; + lifeline @scenario_sa_40; + }; + }; + description ""; + parent @scenario_sa_56; + postcondition ""; + precondition ""; + } + + sa_occurrence scenario_sa_59 "SA Fallback anchor" id "5ceaa100-0000-4000-8000-000000000103" { + body { + Action { + action @scenario_sa_11; + lifeline @scenario_sa_41; + }; + }; + description ""; + parent @scenario_sa_53; + postcondition ""; + precondition ""; + } + + sa_occurrence scenario_sa_60 "SA First use of B" id "5ceaa100-0000-4000-8000-000000000104" { + body { + ScenarioUse { + bindings [{ + local @scenario_sa_40; + referenced @scenario_sa_42; + }, { + local @scenario_sa_41; + referenced @scenario_sa_43; + }]; + scenario @scenario_sa_31; + }; + }; + description ""; + parent @scenario_sa_30; + postcondition ""; + precondition ""; + } + + sa_occurrence scenario_sa_61 "SA Second use of B" id "5ceaa100-0000-4000-8000-000000000105" { + body { + ScenarioUse { + bindings [{ + local @scenario_sa_40; + referenced @scenario_sa_42; + }, { + local @scenario_sa_41; + referenced @scenario_sa_43; + }]; + scenario @scenario_sa_31; + }; + }; + description ""; + parent @scenario_sa_30; + postcondition ""; + precondition ""; + } + + sa_occurrence scenario_sa_62 "SA Root exit" id "5ceaa100-0000-4000-8000-000000000106" { + body { + Action { + action @scenario_sa_11; + lifeline @scenario_sa_41; + }; + }; + description ""; + parent @scenario_sa_30; + postcondition ""; + precondition ""; + } + + sa_occurrence scenario_sa_63 "SA B entry" id "5ceaa100-0000-4000-8000-000000000107" { + body { + Action { + action @scenario_sa_10; + lifeline @scenario_sa_42; + }; + }; + description ""; + parent @scenario_sa_31; + postcondition ""; + precondition ""; + } + + sa_occurrence scenario_sa_64 "SA B use of C" id "5ceaa100-0000-4000-8000-000000000108" { + body { + ScenarioUse { + bindings [{ + local @scenario_sa_42; + referenced @scenario_sa_44; + }, { + local @scenario_sa_43; + referenced @scenario_sa_45; + }]; + scenario @scenario_sa_32; + }; + }; + description ""; + parent @scenario_sa_31; + postcondition ""; + precondition ""; + } + + sa_occurrence scenario_sa_65 "SA B exit" id "5ceaa100-0000-4000-8000-000000000109" { + body { + Action { + action @scenario_sa_11; + lifeline @scenario_sa_43; + }; + }; + description ""; + parent @scenario_sa_31; + postcondition ""; + precondition ""; + } + + sa_occurrence scenario_sa_66 "SA C entry" id "5ceaa100-0000-4000-8000-00000000010a" { + body { + Action { + action @scenario_sa_10; + lifeline @scenario_sa_44; + }; + }; + description ""; + parent @scenario_sa_32; + postcondition ""; + precondition ""; + } + +} diff --git a/harness/experiments/scenario-native-local-20260911/checkpoint-oa-reuse/rationale.arcadia b/harness/experiments/scenario-native-local-20260911/checkpoint-oa-reuse/rationale.arcadia new file mode 100644 index 00000000..64b58187 --- /dev/null +++ b/harness/experiments/scenario-native-local-20260911/checkpoint-oa-reuse/rationale.arcadia @@ -0,0 +1,2 @@ +// Retain caller/operand evidence: ticket 雨. +// Navigation never edits this note. diff --git a/harness/experiments/scenario-native-local-20260911/checkpoint-oa-state-redo/project.arcadia b/harness/experiments/scenario-native-local-20260911/checkpoint-oa-state-redo/project.arcadia new file mode 100644 index 00000000..82ddedb2 --- /dev/null +++ b/harness/experiments/scenario-native-local-20260911/checkpoint-oa-state-redo/project.arcadia @@ -0,0 +1,704 @@ +arcadia 7; +project scenario_authoring "Scenario authoring contract" id "5ceaa100-0000-4000-8000-000000000001" { + include "rationale.arcadia"; + description "Native clicked-slot and caller-return contract."; + + oa_activity scenario_oa_10 "OA Inspect ticket" id "5ceaa100-0000-4000-8000-00000000006e" { + description ""; + parent none; + } + + oa_activity scenario_oa_11 "OA Record result" id "5ceaa100-0000-4000-8000-00000000006f" { + description ""; + parent none; + } + + oa_state_machine scenario_oa_20 "OA Ticket modes" id "5ceaa100-0000-4000-8000-000000000078" { + description ""; + parent none; + } + + oa_region scenario_oa_21 "OA Ticket region" id "5ceaa100-0000-4000-8000-000000000079" { + description ""; + parent @scenario_oa_20; + } + + oa_state scenario_oa_22 "OA Ready" id "5ceaa100-0000-4000-8000-00000000007a" { + description ""; + do_activity ""; + entry ""; + exit ""; + kind State; + parent @scenario_oa_21; + } + + oa_scenario scenario_oa_30 "OA A caller" id "5ceaa100-0000-4000-8000-000000000082" { + context none; + description ""; + parent none; + postcondition ""; + precondition ""; + steps [ @oa_native_action,@scenario_oa_50, @scenario_oa_51, @scenario_oa_60, @scenario_oa_61, @scenario_oa_62]; + viewpoint OperationalActivity; + + oa_occurrence oa_native_action "OA native action" id "ef323f4f-6e0c-4876-9e81-6c2526877d2e" { + body { + Action { + action @scenario_oa_10; + lifeline @scenario_oa_40; + }; + }; + description ""; + + postcondition ""; + precondition ""; + } + + + } + + oa_scenario scenario_oa_31 "OA B verification" id "5ceaa100-0000-4000-8000-000000000083" { + context none; + description ""; + parent none; + postcondition ""; + precondition ""; + steps [@scenario_oa_63, @scenario_oa_64, @scenario_oa_65]; + viewpoint OperationalActivity; + } + + oa_scenario scenario_oa_32 "OA C detail" id "5ceaa100-0000-4000-8000-000000000084" { + context none; + description ""; + parent none; + postcondition ""; + precondition ""; + steps [@scenario_oa_66]; + viewpoint OperationalActivity; + } + + oa_lifeline scenario_oa_40 "OA A inspector" id "5ceaa100-0000-4000-8000-00000000008c" { + description ""; + parent @scenario_oa_30; + represented @scenario_oa_10; + } + + oa_lifeline scenario_oa_41 "OA A recorder" id "5ceaa100-0000-4000-8000-00000000008d" { + description ""; + parent @scenario_oa_30; + represented @scenario_oa_11; + } + + oa_lifeline scenario_oa_42 "OA B inspector" id "5ceaa100-0000-4000-8000-00000000008e" { + description ""; + parent @scenario_oa_31; + represented @scenario_oa_10; + } + + oa_lifeline scenario_oa_43 "OA B recorder" id "5ceaa100-0000-4000-8000-00000000008f" { + description ""; + parent @scenario_oa_31; + represented @scenario_oa_11; + } + + oa_lifeline scenario_oa_44 "OA C inspector" id "5ceaa100-0000-4000-8000-000000000090" { + description ""; + parent @scenario_oa_32; + represented @scenario_oa_10; + } + + oa_lifeline scenario_oa_45 "OA C recorder" id "5ceaa100-0000-4000-8000-000000000091" { + description ""; + parent @scenario_oa_32; + represented @scenario_oa_11; + } + + oa_occurrence scenario_oa_50 "OA Root entry" id "5ceaa100-0000-4000-8000-000000000096" { + body { + Action { + action @scenario_oa_10; + lifeline @scenario_oa_40; + }; + }; + description ""; + parent @scenario_oa_30; + postcondition ""; + precondition ""; + } + + oa_occurrence scenario_oa_51 "OA Outer ALT" id "5ceaa100-0000-4000-8000-000000000097" { + body { + Fragment { + branches [@scenario_oa_52, @scenario_oa_53]; + operator Alternative; + }; + }; + description ""; + parent @scenario_oa_30; + postcondition ""; + precondition ""; + } + + oa_occurrence scenario_oa_52 "OA Outer chosen operand" id "5ceaa100-0000-4000-8000-000000000098" { + body { + Branch { + guard "ticket.present"; + occurrences [@scenario_oa_54]; + }; + }; + description ""; + parent @scenario_oa_51; + postcondition ""; + precondition ""; + } + + oa_occurrence scenario_oa_53 "OA Outer fallback operand" id "5ceaa100-0000-4000-8000-000000000099" { + body { + Branch { + guard "else"; + occurrences [@scenario_oa_59]; + }; + }; + description ""; + parent @scenario_oa_51; + postcondition ""; + precondition ""; + } + + oa_occurrence scenario_oa_54 "OA Inner ALT" id "5ceaa100-0000-4000-8000-00000000009a" { + body { + Fragment { + branches [@scenario_oa_55, @scenario_oa_56]; + operator Alternative; + }; + }; + description ""; + parent @scenario_oa_52; + postcondition ""; + precondition ""; + } + + oa_occurrence scenario_oa_55 "OA Inner chosen operand" id "5ceaa100-0000-4000-8000-00000000009b" { + body { + Branch { + guard "ticket.ready"; + occurrences [ @oa_native_state,@scenario_oa_57]; + }; + }; + description ""; + parent @scenario_oa_54; + postcondition ""; + precondition ""; + + oa_occurrence oa_native_state "OA native state" id "ef00e17b-7f42-427c-a5d2-2c6dffd06bfa" { + body { + State { + lifeline @scenario_oa_40; + state @scenario_oa_22; + }; + }; + description ""; + + postcondition ""; + precondition ""; + } + + + } + + oa_occurrence scenario_oa_56 "OA Inner other operand" id "5ceaa100-0000-4000-8000-00000000009c" { + body { + Branch { + guard "else"; + occurrences [@scenario_oa_58]; + }; + }; + description ""; + parent @scenario_oa_54; + postcondition ""; + precondition ""; + } + + oa_occurrence scenario_oa_57 "OA Inner anchor" id "5ceaa100-0000-4000-8000-00000000009d" { + body { + Action { + action @scenario_oa_10; + lifeline @scenario_oa_40; + }; + }; + description ""; + parent @scenario_oa_55; + postcondition ""; + precondition ""; + } + + oa_occurrence scenario_oa_58 "OA Inner other anchor" id "5ceaa100-0000-4000-8000-00000000009e" { + body { + Action { + action @scenario_oa_10; + lifeline @scenario_oa_40; + }; + }; + description ""; + parent @scenario_oa_56; + postcondition ""; + precondition ""; + } + + oa_occurrence scenario_oa_59 "OA Fallback anchor" id "5ceaa100-0000-4000-8000-00000000009f" { + body { + Action { + action @scenario_oa_11; + lifeline @scenario_oa_41; + }; + }; + description ""; + parent @scenario_oa_53; + postcondition ""; + precondition ""; + } + + oa_occurrence scenario_oa_60 "OA First use of B" id "5ceaa100-0000-4000-8000-0000000000a0" { + body { + ScenarioUse { + bindings [{ + local @scenario_oa_40; + referenced @scenario_oa_42; + }, { + local @scenario_oa_41; + referenced @scenario_oa_43; + }]; + scenario @scenario_oa_31; + }; + }; + description ""; + parent @scenario_oa_30; + postcondition ""; + precondition ""; + } + + oa_occurrence scenario_oa_61 "OA Second use of B" id "5ceaa100-0000-4000-8000-0000000000a1" { + body { + ScenarioUse { + bindings [{ + local @scenario_oa_40; + referenced @scenario_oa_42; + }, { + local @scenario_oa_41; + referenced @scenario_oa_43; + }]; + scenario @scenario_oa_31; + }; + }; + description ""; + parent @scenario_oa_30; + postcondition ""; + precondition ""; + } + + oa_occurrence scenario_oa_62 "OA Root exit" id "5ceaa100-0000-4000-8000-0000000000a2" { + body { + Action { + action @scenario_oa_11; + lifeline @scenario_oa_41; + }; + }; + description ""; + parent @scenario_oa_30; + postcondition ""; + precondition ""; + } + + oa_occurrence scenario_oa_63 "OA B entry" id "5ceaa100-0000-4000-8000-0000000000a3" { + body { + Action { + action @scenario_oa_10; + lifeline @scenario_oa_42; + }; + }; + description ""; + parent @scenario_oa_31; + postcondition ""; + precondition ""; + } + + oa_occurrence scenario_oa_64 "OA B use of C" id "5ceaa100-0000-4000-8000-0000000000a4" { + body { + ScenarioUse { + bindings [{ + local @scenario_oa_42; + referenced @scenario_oa_44; + }, { + local @scenario_oa_43; + referenced @scenario_oa_45; + }]; + scenario @scenario_oa_32; + }; + }; + description ""; + parent @scenario_oa_31; + postcondition ""; + precondition ""; + } + + oa_occurrence scenario_oa_65 "OA B exit" id "5ceaa100-0000-4000-8000-0000000000a5" { + body { + Action { + action @scenario_oa_11; + lifeline @scenario_oa_43; + }; + }; + description ""; + parent @scenario_oa_31; + postcondition ""; + precondition ""; + } + + oa_occurrence scenario_oa_66 "OA C entry" id "5ceaa100-0000-4000-8000-0000000000a6" { + body { + Action { + action @scenario_oa_10; + lifeline @scenario_oa_44; + }; + }; + description ""; + parent @scenario_oa_32; + postcondition ""; + precondition ""; + } + + sa_function scenario_sa_10 "SA Inspect ticket" id "5ceaa100-0000-4000-8000-0000000000d2" { + description ""; + parent none; + } + + sa_function scenario_sa_11 "SA Record result" id "5ceaa100-0000-4000-8000-0000000000d3" { + description ""; + parent none; + } + + sa_state_machine scenario_sa_20 "SA Ticket modes" id "5ceaa100-0000-4000-8000-0000000000dc" { + description ""; + parent none; + } + + sa_region scenario_sa_21 "SA Ticket region" id "5ceaa100-0000-4000-8000-0000000000dd" { + description ""; + parent @scenario_sa_20; + } + + sa_state scenario_sa_22 "SA Ready" id "5ceaa100-0000-4000-8000-0000000000de" { + description ""; + do_activity ""; + entry ""; + exit ""; + kind State; + parent @scenario_sa_21; + } + + sa_scenario scenario_sa_30 "SA A caller" id "5ceaa100-0000-4000-8000-0000000000e6" { + context none; + description ""; + parent none; + postcondition ""; + precondition ""; + steps [@scenario_sa_50, @scenario_sa_51, @scenario_sa_60, @scenario_sa_61, @scenario_sa_62]; + viewpoint Functional; + } + + sa_scenario scenario_sa_31 "SA B verification" id "5ceaa100-0000-4000-8000-0000000000e7" { + context none; + description ""; + parent none; + postcondition ""; + precondition ""; + steps [@scenario_sa_63, @scenario_sa_64, @scenario_sa_65]; + viewpoint Functional; + } + + sa_scenario scenario_sa_32 "SA C detail" id "5ceaa100-0000-4000-8000-0000000000e8" { + context none; + description ""; + parent none; + postcondition ""; + precondition ""; + steps [@scenario_sa_66]; + viewpoint Functional; + } + + sa_lifeline scenario_sa_40 "SA A inspector" id "5ceaa100-0000-4000-8000-0000000000f0" { + description ""; + parent @scenario_sa_30; + represented @scenario_sa_10; + } + + sa_lifeline scenario_sa_41 "SA A recorder" id "5ceaa100-0000-4000-8000-0000000000f1" { + description ""; + parent @scenario_sa_30; + represented @scenario_sa_11; + } + + sa_lifeline scenario_sa_42 "SA B inspector" id "5ceaa100-0000-4000-8000-0000000000f2" { + description ""; + parent @scenario_sa_31; + represented @scenario_sa_10; + } + + sa_lifeline scenario_sa_43 "SA B recorder" id "5ceaa100-0000-4000-8000-0000000000f3" { + description ""; + parent @scenario_sa_31; + represented @scenario_sa_11; + } + + sa_lifeline scenario_sa_44 "SA C inspector" id "5ceaa100-0000-4000-8000-0000000000f4" { + description ""; + parent @scenario_sa_32; + represented @scenario_sa_10; + } + + sa_lifeline scenario_sa_45 "SA C recorder" id "5ceaa100-0000-4000-8000-0000000000f5" { + description ""; + parent @scenario_sa_32; + represented @scenario_sa_11; + } + + sa_occurrence scenario_sa_50 "SA Root entry" id "5ceaa100-0000-4000-8000-0000000000fa" { + body { + Action { + action @scenario_sa_10; + lifeline @scenario_sa_40; + }; + }; + description ""; + parent @scenario_sa_30; + postcondition ""; + precondition ""; + } + + sa_occurrence scenario_sa_51 "SA Outer ALT" id "5ceaa100-0000-4000-8000-0000000000fb" { + body { + Fragment { + branches [@scenario_sa_52, @scenario_sa_53]; + operator Alternative; + }; + }; + description ""; + parent @scenario_sa_30; + postcondition ""; + precondition ""; + } + + sa_occurrence scenario_sa_52 "SA Outer chosen operand" id "5ceaa100-0000-4000-8000-0000000000fc" { + body { + Branch { + guard "ticket.present"; + occurrences [@scenario_sa_54]; + }; + }; + description ""; + parent @scenario_sa_51; + postcondition ""; + precondition ""; + } + + sa_occurrence scenario_sa_53 "SA Outer fallback operand" id "5ceaa100-0000-4000-8000-0000000000fd" { + body { + Branch { + guard "else"; + occurrences [@scenario_sa_59]; + }; + }; + description ""; + parent @scenario_sa_51; + postcondition ""; + precondition ""; + } + + sa_occurrence scenario_sa_54 "SA Inner ALT" id "5ceaa100-0000-4000-8000-0000000000fe" { + body { + Fragment { + branches [@scenario_sa_55, @scenario_sa_56]; + operator Alternative; + }; + }; + description ""; + parent @scenario_sa_52; + postcondition ""; + precondition ""; + } + + sa_occurrence scenario_sa_55 "SA Inner chosen operand" id "5ceaa100-0000-4000-8000-0000000000ff" { + body { + Branch { + guard "ticket.ready"; + occurrences [@scenario_sa_57]; + }; + }; + description ""; + parent @scenario_sa_54; + postcondition ""; + precondition ""; + } + + sa_occurrence scenario_sa_56 "SA Inner other operand" id "5ceaa100-0000-4000-8000-000000000100" { + body { + Branch { + guard "else"; + occurrences [@scenario_sa_58]; + }; + }; + description ""; + parent @scenario_sa_54; + postcondition ""; + precondition ""; + } + + sa_occurrence scenario_sa_57 "SA Inner anchor" id "5ceaa100-0000-4000-8000-000000000101" { + body { + Action { + action @scenario_sa_10; + lifeline @scenario_sa_40; + }; + }; + description ""; + parent @scenario_sa_55; + postcondition ""; + precondition ""; + } + + sa_occurrence scenario_sa_58 "SA Inner other anchor" id "5ceaa100-0000-4000-8000-000000000102" { + body { + Action { + action @scenario_sa_10; + lifeline @scenario_sa_40; + }; + }; + description ""; + parent @scenario_sa_56; + postcondition ""; + precondition ""; + } + + sa_occurrence scenario_sa_59 "SA Fallback anchor" id "5ceaa100-0000-4000-8000-000000000103" { + body { + Action { + action @scenario_sa_11; + lifeline @scenario_sa_41; + }; + }; + description ""; + parent @scenario_sa_53; + postcondition ""; + precondition ""; + } + + sa_occurrence scenario_sa_60 "SA First use of B" id "5ceaa100-0000-4000-8000-000000000104" { + body { + ScenarioUse { + bindings [{ + local @scenario_sa_40; + referenced @scenario_sa_42; + }, { + local @scenario_sa_41; + referenced @scenario_sa_43; + }]; + scenario @scenario_sa_31; + }; + }; + description ""; + parent @scenario_sa_30; + postcondition ""; + precondition ""; + } + + sa_occurrence scenario_sa_61 "SA Second use of B" id "5ceaa100-0000-4000-8000-000000000105" { + body { + ScenarioUse { + bindings [{ + local @scenario_sa_40; + referenced @scenario_sa_42; + }, { + local @scenario_sa_41; + referenced @scenario_sa_43; + }]; + scenario @scenario_sa_31; + }; + }; + description ""; + parent @scenario_sa_30; + postcondition ""; + precondition ""; + } + + sa_occurrence scenario_sa_62 "SA Root exit" id "5ceaa100-0000-4000-8000-000000000106" { + body { + Action { + action @scenario_sa_11; + lifeline @scenario_sa_41; + }; + }; + description ""; + parent @scenario_sa_30; + postcondition ""; + precondition ""; + } + + sa_occurrence scenario_sa_63 "SA B entry" id "5ceaa100-0000-4000-8000-000000000107" { + body { + Action { + action @scenario_sa_10; + lifeline @scenario_sa_42; + }; + }; + description ""; + parent @scenario_sa_31; + postcondition ""; + precondition ""; + } + + sa_occurrence scenario_sa_64 "SA B use of C" id "5ceaa100-0000-4000-8000-000000000108" { + body { + ScenarioUse { + bindings [{ + local @scenario_sa_42; + referenced @scenario_sa_44; + }, { + local @scenario_sa_43; + referenced @scenario_sa_45; + }]; + scenario @scenario_sa_32; + }; + }; + description ""; + parent @scenario_sa_31; + postcondition ""; + precondition ""; + } + + sa_occurrence scenario_sa_65 "SA B exit" id "5ceaa100-0000-4000-8000-000000000109" { + body { + Action { + action @scenario_sa_11; + lifeline @scenario_sa_43; + }; + }; + description ""; + parent @scenario_sa_31; + postcondition ""; + precondition ""; + } + + sa_occurrence scenario_sa_66 "SA C entry" id "5ceaa100-0000-4000-8000-00000000010a" { + body { + Action { + action @scenario_sa_10; + lifeline @scenario_sa_44; + }; + }; + description ""; + parent @scenario_sa_32; + postcondition ""; + precondition ""; + } + +} diff --git a/harness/experiments/scenario-native-local-20260911/checkpoint-oa-state-redo/rationale.arcadia b/harness/experiments/scenario-native-local-20260911/checkpoint-oa-state-redo/rationale.arcadia new file mode 100644 index 00000000..64b58187 --- /dev/null +++ b/harness/experiments/scenario-native-local-20260911/checkpoint-oa-state-redo/rationale.arcadia @@ -0,0 +1,2 @@ +// Retain caller/operand evidence: ticket 雨. +// Navigation never edits this note. diff --git a/harness/experiments/scenario-native-local-20260911/checkpoint-oa-state-undo/project.arcadia b/harness/experiments/scenario-native-local-20260911/checkpoint-oa-state-undo/project.arcadia new file mode 100644 index 00000000..0efc27b0 --- /dev/null +++ b/harness/experiments/scenario-native-local-20260911/checkpoint-oa-state-undo/project.arcadia @@ -0,0 +1,689 @@ +arcadia 7; +project scenario_authoring "Scenario authoring contract" id "5ceaa100-0000-4000-8000-000000000001" { + include "rationale.arcadia"; + description "Native clicked-slot and caller-return contract."; + + oa_activity scenario_oa_10 "OA Inspect ticket" id "5ceaa100-0000-4000-8000-00000000006e" { + description ""; + parent none; + } + + oa_activity scenario_oa_11 "OA Record result" id "5ceaa100-0000-4000-8000-00000000006f" { + description ""; + parent none; + } + + oa_state_machine scenario_oa_20 "OA Ticket modes" id "5ceaa100-0000-4000-8000-000000000078" { + description ""; + parent none; + } + + oa_region scenario_oa_21 "OA Ticket region" id "5ceaa100-0000-4000-8000-000000000079" { + description ""; + parent @scenario_oa_20; + } + + oa_state scenario_oa_22 "OA Ready" id "5ceaa100-0000-4000-8000-00000000007a" { + description ""; + do_activity ""; + entry ""; + exit ""; + kind State; + parent @scenario_oa_21; + } + + oa_scenario scenario_oa_30 "OA A caller" id "5ceaa100-0000-4000-8000-000000000082" { + context none; + description ""; + parent none; + postcondition ""; + precondition ""; + steps [ @oa_native_action,@scenario_oa_50, @scenario_oa_51, @scenario_oa_60, @scenario_oa_61, @scenario_oa_62]; + viewpoint OperationalActivity; + + oa_occurrence oa_native_action "OA native action" id "ef323f4f-6e0c-4876-9e81-6c2526877d2e" { + body { + Action { + action @scenario_oa_10; + lifeline @scenario_oa_40; + }; + }; + description ""; + + postcondition ""; + precondition ""; + } + + + } + + oa_scenario scenario_oa_31 "OA B verification" id "5ceaa100-0000-4000-8000-000000000083" { + context none; + description ""; + parent none; + postcondition ""; + precondition ""; + steps [@scenario_oa_63, @scenario_oa_64, @scenario_oa_65]; + viewpoint OperationalActivity; + } + + oa_scenario scenario_oa_32 "OA C detail" id "5ceaa100-0000-4000-8000-000000000084" { + context none; + description ""; + parent none; + postcondition ""; + precondition ""; + steps [@scenario_oa_66]; + viewpoint OperationalActivity; + } + + oa_lifeline scenario_oa_40 "OA A inspector" id "5ceaa100-0000-4000-8000-00000000008c" { + description ""; + parent @scenario_oa_30; + represented @scenario_oa_10; + } + + oa_lifeline scenario_oa_41 "OA A recorder" id "5ceaa100-0000-4000-8000-00000000008d" { + description ""; + parent @scenario_oa_30; + represented @scenario_oa_11; + } + + oa_lifeline scenario_oa_42 "OA B inspector" id "5ceaa100-0000-4000-8000-00000000008e" { + description ""; + parent @scenario_oa_31; + represented @scenario_oa_10; + } + + oa_lifeline scenario_oa_43 "OA B recorder" id "5ceaa100-0000-4000-8000-00000000008f" { + description ""; + parent @scenario_oa_31; + represented @scenario_oa_11; + } + + oa_lifeline scenario_oa_44 "OA C inspector" id "5ceaa100-0000-4000-8000-000000000090" { + description ""; + parent @scenario_oa_32; + represented @scenario_oa_10; + } + + oa_lifeline scenario_oa_45 "OA C recorder" id "5ceaa100-0000-4000-8000-000000000091" { + description ""; + parent @scenario_oa_32; + represented @scenario_oa_11; + } + + oa_occurrence scenario_oa_50 "OA Root entry" id "5ceaa100-0000-4000-8000-000000000096" { + body { + Action { + action @scenario_oa_10; + lifeline @scenario_oa_40; + }; + }; + description ""; + parent @scenario_oa_30; + postcondition ""; + precondition ""; + } + + oa_occurrence scenario_oa_51 "OA Outer ALT" id "5ceaa100-0000-4000-8000-000000000097" { + body { + Fragment { + branches [@scenario_oa_52, @scenario_oa_53]; + operator Alternative; + }; + }; + description ""; + parent @scenario_oa_30; + postcondition ""; + precondition ""; + } + + oa_occurrence scenario_oa_52 "OA Outer chosen operand" id "5ceaa100-0000-4000-8000-000000000098" { + body { + Branch { + guard "ticket.present"; + occurrences [@scenario_oa_54]; + }; + }; + description ""; + parent @scenario_oa_51; + postcondition ""; + precondition ""; + } + + oa_occurrence scenario_oa_53 "OA Outer fallback operand" id "5ceaa100-0000-4000-8000-000000000099" { + body { + Branch { + guard "else"; + occurrences [@scenario_oa_59]; + }; + }; + description ""; + parent @scenario_oa_51; + postcondition ""; + precondition ""; + } + + oa_occurrence scenario_oa_54 "OA Inner ALT" id "5ceaa100-0000-4000-8000-00000000009a" { + body { + Fragment { + branches [@scenario_oa_55, @scenario_oa_56]; + operator Alternative; + }; + }; + description ""; + parent @scenario_oa_52; + postcondition ""; + precondition ""; + } + + oa_occurrence scenario_oa_55 "OA Inner chosen operand" id "5ceaa100-0000-4000-8000-00000000009b" { + body { + Branch { + guard "ticket.ready"; + occurrences [@scenario_oa_57]; + }; + }; + description ""; + parent @scenario_oa_54; + postcondition ""; + precondition ""; + } + + oa_occurrence scenario_oa_56 "OA Inner other operand" id "5ceaa100-0000-4000-8000-00000000009c" { + body { + Branch { + guard "else"; + occurrences [@scenario_oa_58]; + }; + }; + description ""; + parent @scenario_oa_54; + postcondition ""; + precondition ""; + } + + oa_occurrence scenario_oa_57 "OA Inner anchor" id "5ceaa100-0000-4000-8000-00000000009d" { + body { + Action { + action @scenario_oa_10; + lifeline @scenario_oa_40; + }; + }; + description ""; + parent @scenario_oa_55; + postcondition ""; + precondition ""; + } + + oa_occurrence scenario_oa_58 "OA Inner other anchor" id "5ceaa100-0000-4000-8000-00000000009e" { + body { + Action { + action @scenario_oa_10; + lifeline @scenario_oa_40; + }; + }; + description ""; + parent @scenario_oa_56; + postcondition ""; + precondition ""; + } + + oa_occurrence scenario_oa_59 "OA Fallback anchor" id "5ceaa100-0000-4000-8000-00000000009f" { + body { + Action { + action @scenario_oa_11; + lifeline @scenario_oa_41; + }; + }; + description ""; + parent @scenario_oa_53; + postcondition ""; + precondition ""; + } + + oa_occurrence scenario_oa_60 "OA First use of B" id "5ceaa100-0000-4000-8000-0000000000a0" { + body { + ScenarioUse { + bindings [{ + local @scenario_oa_40; + referenced @scenario_oa_42; + }, { + local @scenario_oa_41; + referenced @scenario_oa_43; + }]; + scenario @scenario_oa_31; + }; + }; + description ""; + parent @scenario_oa_30; + postcondition ""; + precondition ""; + } + + oa_occurrence scenario_oa_61 "OA Second use of B" id "5ceaa100-0000-4000-8000-0000000000a1" { + body { + ScenarioUse { + bindings [{ + local @scenario_oa_40; + referenced @scenario_oa_42; + }, { + local @scenario_oa_41; + referenced @scenario_oa_43; + }]; + scenario @scenario_oa_31; + }; + }; + description ""; + parent @scenario_oa_30; + postcondition ""; + precondition ""; + } + + oa_occurrence scenario_oa_62 "OA Root exit" id "5ceaa100-0000-4000-8000-0000000000a2" { + body { + Action { + action @scenario_oa_11; + lifeline @scenario_oa_41; + }; + }; + description ""; + parent @scenario_oa_30; + postcondition ""; + precondition ""; + } + + oa_occurrence scenario_oa_63 "OA B entry" id "5ceaa100-0000-4000-8000-0000000000a3" { + body { + Action { + action @scenario_oa_10; + lifeline @scenario_oa_42; + }; + }; + description ""; + parent @scenario_oa_31; + postcondition ""; + precondition ""; + } + + oa_occurrence scenario_oa_64 "OA B use of C" id "5ceaa100-0000-4000-8000-0000000000a4" { + body { + ScenarioUse { + bindings [{ + local @scenario_oa_42; + referenced @scenario_oa_44; + }, { + local @scenario_oa_43; + referenced @scenario_oa_45; + }]; + scenario @scenario_oa_32; + }; + }; + description ""; + parent @scenario_oa_31; + postcondition ""; + precondition ""; + } + + oa_occurrence scenario_oa_65 "OA B exit" id "5ceaa100-0000-4000-8000-0000000000a5" { + body { + Action { + action @scenario_oa_11; + lifeline @scenario_oa_43; + }; + }; + description ""; + parent @scenario_oa_31; + postcondition ""; + precondition ""; + } + + oa_occurrence scenario_oa_66 "OA C entry" id "5ceaa100-0000-4000-8000-0000000000a6" { + body { + Action { + action @scenario_oa_10; + lifeline @scenario_oa_44; + }; + }; + description ""; + parent @scenario_oa_32; + postcondition ""; + precondition ""; + } + + sa_function scenario_sa_10 "SA Inspect ticket" id "5ceaa100-0000-4000-8000-0000000000d2" { + description ""; + parent none; + } + + sa_function scenario_sa_11 "SA Record result" id "5ceaa100-0000-4000-8000-0000000000d3" { + description ""; + parent none; + } + + sa_state_machine scenario_sa_20 "SA Ticket modes" id "5ceaa100-0000-4000-8000-0000000000dc" { + description ""; + parent none; + } + + sa_region scenario_sa_21 "SA Ticket region" id "5ceaa100-0000-4000-8000-0000000000dd" { + description ""; + parent @scenario_sa_20; + } + + sa_state scenario_sa_22 "SA Ready" id "5ceaa100-0000-4000-8000-0000000000de" { + description ""; + do_activity ""; + entry ""; + exit ""; + kind State; + parent @scenario_sa_21; + } + + sa_scenario scenario_sa_30 "SA A caller" id "5ceaa100-0000-4000-8000-0000000000e6" { + context none; + description ""; + parent none; + postcondition ""; + precondition ""; + steps [@scenario_sa_50, @scenario_sa_51, @scenario_sa_60, @scenario_sa_61, @scenario_sa_62]; + viewpoint Functional; + } + + sa_scenario scenario_sa_31 "SA B verification" id "5ceaa100-0000-4000-8000-0000000000e7" { + context none; + description ""; + parent none; + postcondition ""; + precondition ""; + steps [@scenario_sa_63, @scenario_sa_64, @scenario_sa_65]; + viewpoint Functional; + } + + sa_scenario scenario_sa_32 "SA C detail" id "5ceaa100-0000-4000-8000-0000000000e8" { + context none; + description ""; + parent none; + postcondition ""; + precondition ""; + steps [@scenario_sa_66]; + viewpoint Functional; + } + + sa_lifeline scenario_sa_40 "SA A inspector" id "5ceaa100-0000-4000-8000-0000000000f0" { + description ""; + parent @scenario_sa_30; + represented @scenario_sa_10; + } + + sa_lifeline scenario_sa_41 "SA A recorder" id "5ceaa100-0000-4000-8000-0000000000f1" { + description ""; + parent @scenario_sa_30; + represented @scenario_sa_11; + } + + sa_lifeline scenario_sa_42 "SA B inspector" id "5ceaa100-0000-4000-8000-0000000000f2" { + description ""; + parent @scenario_sa_31; + represented @scenario_sa_10; + } + + sa_lifeline scenario_sa_43 "SA B recorder" id "5ceaa100-0000-4000-8000-0000000000f3" { + description ""; + parent @scenario_sa_31; + represented @scenario_sa_11; + } + + sa_lifeline scenario_sa_44 "SA C inspector" id "5ceaa100-0000-4000-8000-0000000000f4" { + description ""; + parent @scenario_sa_32; + represented @scenario_sa_10; + } + + sa_lifeline scenario_sa_45 "SA C recorder" id "5ceaa100-0000-4000-8000-0000000000f5" { + description ""; + parent @scenario_sa_32; + represented @scenario_sa_11; + } + + sa_occurrence scenario_sa_50 "SA Root entry" id "5ceaa100-0000-4000-8000-0000000000fa" { + body { + Action { + action @scenario_sa_10; + lifeline @scenario_sa_40; + }; + }; + description ""; + parent @scenario_sa_30; + postcondition ""; + precondition ""; + } + + sa_occurrence scenario_sa_51 "SA Outer ALT" id "5ceaa100-0000-4000-8000-0000000000fb" { + body { + Fragment { + branches [@scenario_sa_52, @scenario_sa_53]; + operator Alternative; + }; + }; + description ""; + parent @scenario_sa_30; + postcondition ""; + precondition ""; + } + + sa_occurrence scenario_sa_52 "SA Outer chosen operand" id "5ceaa100-0000-4000-8000-0000000000fc" { + body { + Branch { + guard "ticket.present"; + occurrences [@scenario_sa_54]; + }; + }; + description ""; + parent @scenario_sa_51; + postcondition ""; + precondition ""; + } + + sa_occurrence scenario_sa_53 "SA Outer fallback operand" id "5ceaa100-0000-4000-8000-0000000000fd" { + body { + Branch { + guard "else"; + occurrences [@scenario_sa_59]; + }; + }; + description ""; + parent @scenario_sa_51; + postcondition ""; + precondition ""; + } + + sa_occurrence scenario_sa_54 "SA Inner ALT" id "5ceaa100-0000-4000-8000-0000000000fe" { + body { + Fragment { + branches [@scenario_sa_55, @scenario_sa_56]; + operator Alternative; + }; + }; + description ""; + parent @scenario_sa_52; + postcondition ""; + precondition ""; + } + + sa_occurrence scenario_sa_55 "SA Inner chosen operand" id "5ceaa100-0000-4000-8000-0000000000ff" { + body { + Branch { + guard "ticket.ready"; + occurrences [@scenario_sa_57]; + }; + }; + description ""; + parent @scenario_sa_54; + postcondition ""; + precondition ""; + } + + sa_occurrence scenario_sa_56 "SA Inner other operand" id "5ceaa100-0000-4000-8000-000000000100" { + body { + Branch { + guard "else"; + occurrences [@scenario_sa_58]; + }; + }; + description ""; + parent @scenario_sa_54; + postcondition ""; + precondition ""; + } + + sa_occurrence scenario_sa_57 "SA Inner anchor" id "5ceaa100-0000-4000-8000-000000000101" { + body { + Action { + action @scenario_sa_10; + lifeline @scenario_sa_40; + }; + }; + description ""; + parent @scenario_sa_55; + postcondition ""; + precondition ""; + } + + sa_occurrence scenario_sa_58 "SA Inner other anchor" id "5ceaa100-0000-4000-8000-000000000102" { + body { + Action { + action @scenario_sa_10; + lifeline @scenario_sa_40; + }; + }; + description ""; + parent @scenario_sa_56; + postcondition ""; + precondition ""; + } + + sa_occurrence scenario_sa_59 "SA Fallback anchor" id "5ceaa100-0000-4000-8000-000000000103" { + body { + Action { + action @scenario_sa_11; + lifeline @scenario_sa_41; + }; + }; + description ""; + parent @scenario_sa_53; + postcondition ""; + precondition ""; + } + + sa_occurrence scenario_sa_60 "SA First use of B" id "5ceaa100-0000-4000-8000-000000000104" { + body { + ScenarioUse { + bindings [{ + local @scenario_sa_40; + referenced @scenario_sa_42; + }, { + local @scenario_sa_41; + referenced @scenario_sa_43; + }]; + scenario @scenario_sa_31; + }; + }; + description ""; + parent @scenario_sa_30; + postcondition ""; + precondition ""; + } + + sa_occurrence scenario_sa_61 "SA Second use of B" id "5ceaa100-0000-4000-8000-000000000105" { + body { + ScenarioUse { + bindings [{ + local @scenario_sa_40; + referenced @scenario_sa_42; + }, { + local @scenario_sa_41; + referenced @scenario_sa_43; + }]; + scenario @scenario_sa_31; + }; + }; + description ""; + parent @scenario_sa_30; + postcondition ""; + precondition ""; + } + + sa_occurrence scenario_sa_62 "SA Root exit" id "5ceaa100-0000-4000-8000-000000000106" { + body { + Action { + action @scenario_sa_11; + lifeline @scenario_sa_41; + }; + }; + description ""; + parent @scenario_sa_30; + postcondition ""; + precondition ""; + } + + sa_occurrence scenario_sa_63 "SA B entry" id "5ceaa100-0000-4000-8000-000000000107" { + body { + Action { + action @scenario_sa_10; + lifeline @scenario_sa_42; + }; + }; + description ""; + parent @scenario_sa_31; + postcondition ""; + precondition ""; + } + + sa_occurrence scenario_sa_64 "SA B use of C" id "5ceaa100-0000-4000-8000-000000000108" { + body { + ScenarioUse { + bindings [{ + local @scenario_sa_42; + referenced @scenario_sa_44; + }, { + local @scenario_sa_43; + referenced @scenario_sa_45; + }]; + scenario @scenario_sa_32; + }; + }; + description ""; + parent @scenario_sa_31; + postcondition ""; + precondition ""; + } + + sa_occurrence scenario_sa_65 "SA B exit" id "5ceaa100-0000-4000-8000-000000000109" { + body { + Action { + action @scenario_sa_11; + lifeline @scenario_sa_43; + }; + }; + description ""; + parent @scenario_sa_31; + postcondition ""; + precondition ""; + } + + sa_occurrence scenario_sa_66 "SA C entry" id "5ceaa100-0000-4000-8000-00000000010a" { + body { + Action { + action @scenario_sa_10; + lifeline @scenario_sa_44; + }; + }; + description ""; + parent @scenario_sa_32; + postcondition ""; + precondition ""; + } + +} diff --git a/harness/experiments/scenario-native-local-20260911/checkpoint-oa-state-undo/rationale.arcadia b/harness/experiments/scenario-native-local-20260911/checkpoint-oa-state-undo/rationale.arcadia new file mode 100644 index 00000000..64b58187 --- /dev/null +++ b/harness/experiments/scenario-native-local-20260911/checkpoint-oa-state-undo/rationale.arcadia @@ -0,0 +1,2 @@ +// Retain caller/operand evidence: ticket 雨. +// Navigation never edits this note. diff --git a/harness/experiments/scenario-native-local-20260911/checkpoint-oa-state/project.arcadia b/harness/experiments/scenario-native-local-20260911/checkpoint-oa-state/project.arcadia new file mode 100644 index 00000000..82ddedb2 --- /dev/null +++ b/harness/experiments/scenario-native-local-20260911/checkpoint-oa-state/project.arcadia @@ -0,0 +1,704 @@ +arcadia 7; +project scenario_authoring "Scenario authoring contract" id "5ceaa100-0000-4000-8000-000000000001" { + include "rationale.arcadia"; + description "Native clicked-slot and caller-return contract."; + + oa_activity scenario_oa_10 "OA Inspect ticket" id "5ceaa100-0000-4000-8000-00000000006e" { + description ""; + parent none; + } + + oa_activity scenario_oa_11 "OA Record result" id "5ceaa100-0000-4000-8000-00000000006f" { + description ""; + parent none; + } + + oa_state_machine scenario_oa_20 "OA Ticket modes" id "5ceaa100-0000-4000-8000-000000000078" { + description ""; + parent none; + } + + oa_region scenario_oa_21 "OA Ticket region" id "5ceaa100-0000-4000-8000-000000000079" { + description ""; + parent @scenario_oa_20; + } + + oa_state scenario_oa_22 "OA Ready" id "5ceaa100-0000-4000-8000-00000000007a" { + description ""; + do_activity ""; + entry ""; + exit ""; + kind State; + parent @scenario_oa_21; + } + + oa_scenario scenario_oa_30 "OA A caller" id "5ceaa100-0000-4000-8000-000000000082" { + context none; + description ""; + parent none; + postcondition ""; + precondition ""; + steps [ @oa_native_action,@scenario_oa_50, @scenario_oa_51, @scenario_oa_60, @scenario_oa_61, @scenario_oa_62]; + viewpoint OperationalActivity; + + oa_occurrence oa_native_action "OA native action" id "ef323f4f-6e0c-4876-9e81-6c2526877d2e" { + body { + Action { + action @scenario_oa_10; + lifeline @scenario_oa_40; + }; + }; + description ""; + + postcondition ""; + precondition ""; + } + + + } + + oa_scenario scenario_oa_31 "OA B verification" id "5ceaa100-0000-4000-8000-000000000083" { + context none; + description ""; + parent none; + postcondition ""; + precondition ""; + steps [@scenario_oa_63, @scenario_oa_64, @scenario_oa_65]; + viewpoint OperationalActivity; + } + + oa_scenario scenario_oa_32 "OA C detail" id "5ceaa100-0000-4000-8000-000000000084" { + context none; + description ""; + parent none; + postcondition ""; + precondition ""; + steps [@scenario_oa_66]; + viewpoint OperationalActivity; + } + + oa_lifeline scenario_oa_40 "OA A inspector" id "5ceaa100-0000-4000-8000-00000000008c" { + description ""; + parent @scenario_oa_30; + represented @scenario_oa_10; + } + + oa_lifeline scenario_oa_41 "OA A recorder" id "5ceaa100-0000-4000-8000-00000000008d" { + description ""; + parent @scenario_oa_30; + represented @scenario_oa_11; + } + + oa_lifeline scenario_oa_42 "OA B inspector" id "5ceaa100-0000-4000-8000-00000000008e" { + description ""; + parent @scenario_oa_31; + represented @scenario_oa_10; + } + + oa_lifeline scenario_oa_43 "OA B recorder" id "5ceaa100-0000-4000-8000-00000000008f" { + description ""; + parent @scenario_oa_31; + represented @scenario_oa_11; + } + + oa_lifeline scenario_oa_44 "OA C inspector" id "5ceaa100-0000-4000-8000-000000000090" { + description ""; + parent @scenario_oa_32; + represented @scenario_oa_10; + } + + oa_lifeline scenario_oa_45 "OA C recorder" id "5ceaa100-0000-4000-8000-000000000091" { + description ""; + parent @scenario_oa_32; + represented @scenario_oa_11; + } + + oa_occurrence scenario_oa_50 "OA Root entry" id "5ceaa100-0000-4000-8000-000000000096" { + body { + Action { + action @scenario_oa_10; + lifeline @scenario_oa_40; + }; + }; + description ""; + parent @scenario_oa_30; + postcondition ""; + precondition ""; + } + + oa_occurrence scenario_oa_51 "OA Outer ALT" id "5ceaa100-0000-4000-8000-000000000097" { + body { + Fragment { + branches [@scenario_oa_52, @scenario_oa_53]; + operator Alternative; + }; + }; + description ""; + parent @scenario_oa_30; + postcondition ""; + precondition ""; + } + + oa_occurrence scenario_oa_52 "OA Outer chosen operand" id "5ceaa100-0000-4000-8000-000000000098" { + body { + Branch { + guard "ticket.present"; + occurrences [@scenario_oa_54]; + }; + }; + description ""; + parent @scenario_oa_51; + postcondition ""; + precondition ""; + } + + oa_occurrence scenario_oa_53 "OA Outer fallback operand" id "5ceaa100-0000-4000-8000-000000000099" { + body { + Branch { + guard "else"; + occurrences [@scenario_oa_59]; + }; + }; + description ""; + parent @scenario_oa_51; + postcondition ""; + precondition ""; + } + + oa_occurrence scenario_oa_54 "OA Inner ALT" id "5ceaa100-0000-4000-8000-00000000009a" { + body { + Fragment { + branches [@scenario_oa_55, @scenario_oa_56]; + operator Alternative; + }; + }; + description ""; + parent @scenario_oa_52; + postcondition ""; + precondition ""; + } + + oa_occurrence scenario_oa_55 "OA Inner chosen operand" id "5ceaa100-0000-4000-8000-00000000009b" { + body { + Branch { + guard "ticket.ready"; + occurrences [ @oa_native_state,@scenario_oa_57]; + }; + }; + description ""; + parent @scenario_oa_54; + postcondition ""; + precondition ""; + + oa_occurrence oa_native_state "OA native state" id "ef00e17b-7f42-427c-a5d2-2c6dffd06bfa" { + body { + State { + lifeline @scenario_oa_40; + state @scenario_oa_22; + }; + }; + description ""; + + postcondition ""; + precondition ""; + } + + + } + + oa_occurrence scenario_oa_56 "OA Inner other operand" id "5ceaa100-0000-4000-8000-00000000009c" { + body { + Branch { + guard "else"; + occurrences [@scenario_oa_58]; + }; + }; + description ""; + parent @scenario_oa_54; + postcondition ""; + precondition ""; + } + + oa_occurrence scenario_oa_57 "OA Inner anchor" id "5ceaa100-0000-4000-8000-00000000009d" { + body { + Action { + action @scenario_oa_10; + lifeline @scenario_oa_40; + }; + }; + description ""; + parent @scenario_oa_55; + postcondition ""; + precondition ""; + } + + oa_occurrence scenario_oa_58 "OA Inner other anchor" id "5ceaa100-0000-4000-8000-00000000009e" { + body { + Action { + action @scenario_oa_10; + lifeline @scenario_oa_40; + }; + }; + description ""; + parent @scenario_oa_56; + postcondition ""; + precondition ""; + } + + oa_occurrence scenario_oa_59 "OA Fallback anchor" id "5ceaa100-0000-4000-8000-00000000009f" { + body { + Action { + action @scenario_oa_11; + lifeline @scenario_oa_41; + }; + }; + description ""; + parent @scenario_oa_53; + postcondition ""; + precondition ""; + } + + oa_occurrence scenario_oa_60 "OA First use of B" id "5ceaa100-0000-4000-8000-0000000000a0" { + body { + ScenarioUse { + bindings [{ + local @scenario_oa_40; + referenced @scenario_oa_42; + }, { + local @scenario_oa_41; + referenced @scenario_oa_43; + }]; + scenario @scenario_oa_31; + }; + }; + description ""; + parent @scenario_oa_30; + postcondition ""; + precondition ""; + } + + oa_occurrence scenario_oa_61 "OA Second use of B" id "5ceaa100-0000-4000-8000-0000000000a1" { + body { + ScenarioUse { + bindings [{ + local @scenario_oa_40; + referenced @scenario_oa_42; + }, { + local @scenario_oa_41; + referenced @scenario_oa_43; + }]; + scenario @scenario_oa_31; + }; + }; + description ""; + parent @scenario_oa_30; + postcondition ""; + precondition ""; + } + + oa_occurrence scenario_oa_62 "OA Root exit" id "5ceaa100-0000-4000-8000-0000000000a2" { + body { + Action { + action @scenario_oa_11; + lifeline @scenario_oa_41; + }; + }; + description ""; + parent @scenario_oa_30; + postcondition ""; + precondition ""; + } + + oa_occurrence scenario_oa_63 "OA B entry" id "5ceaa100-0000-4000-8000-0000000000a3" { + body { + Action { + action @scenario_oa_10; + lifeline @scenario_oa_42; + }; + }; + description ""; + parent @scenario_oa_31; + postcondition ""; + precondition ""; + } + + oa_occurrence scenario_oa_64 "OA B use of C" id "5ceaa100-0000-4000-8000-0000000000a4" { + body { + ScenarioUse { + bindings [{ + local @scenario_oa_42; + referenced @scenario_oa_44; + }, { + local @scenario_oa_43; + referenced @scenario_oa_45; + }]; + scenario @scenario_oa_32; + }; + }; + description ""; + parent @scenario_oa_31; + postcondition ""; + precondition ""; + } + + oa_occurrence scenario_oa_65 "OA B exit" id "5ceaa100-0000-4000-8000-0000000000a5" { + body { + Action { + action @scenario_oa_11; + lifeline @scenario_oa_43; + }; + }; + description ""; + parent @scenario_oa_31; + postcondition ""; + precondition ""; + } + + oa_occurrence scenario_oa_66 "OA C entry" id "5ceaa100-0000-4000-8000-0000000000a6" { + body { + Action { + action @scenario_oa_10; + lifeline @scenario_oa_44; + }; + }; + description ""; + parent @scenario_oa_32; + postcondition ""; + precondition ""; + } + + sa_function scenario_sa_10 "SA Inspect ticket" id "5ceaa100-0000-4000-8000-0000000000d2" { + description ""; + parent none; + } + + sa_function scenario_sa_11 "SA Record result" id "5ceaa100-0000-4000-8000-0000000000d3" { + description ""; + parent none; + } + + sa_state_machine scenario_sa_20 "SA Ticket modes" id "5ceaa100-0000-4000-8000-0000000000dc" { + description ""; + parent none; + } + + sa_region scenario_sa_21 "SA Ticket region" id "5ceaa100-0000-4000-8000-0000000000dd" { + description ""; + parent @scenario_sa_20; + } + + sa_state scenario_sa_22 "SA Ready" id "5ceaa100-0000-4000-8000-0000000000de" { + description ""; + do_activity ""; + entry ""; + exit ""; + kind State; + parent @scenario_sa_21; + } + + sa_scenario scenario_sa_30 "SA A caller" id "5ceaa100-0000-4000-8000-0000000000e6" { + context none; + description ""; + parent none; + postcondition ""; + precondition ""; + steps [@scenario_sa_50, @scenario_sa_51, @scenario_sa_60, @scenario_sa_61, @scenario_sa_62]; + viewpoint Functional; + } + + sa_scenario scenario_sa_31 "SA B verification" id "5ceaa100-0000-4000-8000-0000000000e7" { + context none; + description ""; + parent none; + postcondition ""; + precondition ""; + steps [@scenario_sa_63, @scenario_sa_64, @scenario_sa_65]; + viewpoint Functional; + } + + sa_scenario scenario_sa_32 "SA C detail" id "5ceaa100-0000-4000-8000-0000000000e8" { + context none; + description ""; + parent none; + postcondition ""; + precondition ""; + steps [@scenario_sa_66]; + viewpoint Functional; + } + + sa_lifeline scenario_sa_40 "SA A inspector" id "5ceaa100-0000-4000-8000-0000000000f0" { + description ""; + parent @scenario_sa_30; + represented @scenario_sa_10; + } + + sa_lifeline scenario_sa_41 "SA A recorder" id "5ceaa100-0000-4000-8000-0000000000f1" { + description ""; + parent @scenario_sa_30; + represented @scenario_sa_11; + } + + sa_lifeline scenario_sa_42 "SA B inspector" id "5ceaa100-0000-4000-8000-0000000000f2" { + description ""; + parent @scenario_sa_31; + represented @scenario_sa_10; + } + + sa_lifeline scenario_sa_43 "SA B recorder" id "5ceaa100-0000-4000-8000-0000000000f3" { + description ""; + parent @scenario_sa_31; + represented @scenario_sa_11; + } + + sa_lifeline scenario_sa_44 "SA C inspector" id "5ceaa100-0000-4000-8000-0000000000f4" { + description ""; + parent @scenario_sa_32; + represented @scenario_sa_10; + } + + sa_lifeline scenario_sa_45 "SA C recorder" id "5ceaa100-0000-4000-8000-0000000000f5" { + description ""; + parent @scenario_sa_32; + represented @scenario_sa_11; + } + + sa_occurrence scenario_sa_50 "SA Root entry" id "5ceaa100-0000-4000-8000-0000000000fa" { + body { + Action { + action @scenario_sa_10; + lifeline @scenario_sa_40; + }; + }; + description ""; + parent @scenario_sa_30; + postcondition ""; + precondition ""; + } + + sa_occurrence scenario_sa_51 "SA Outer ALT" id "5ceaa100-0000-4000-8000-0000000000fb" { + body { + Fragment { + branches [@scenario_sa_52, @scenario_sa_53]; + operator Alternative; + }; + }; + description ""; + parent @scenario_sa_30; + postcondition ""; + precondition ""; + } + + sa_occurrence scenario_sa_52 "SA Outer chosen operand" id "5ceaa100-0000-4000-8000-0000000000fc" { + body { + Branch { + guard "ticket.present"; + occurrences [@scenario_sa_54]; + }; + }; + description ""; + parent @scenario_sa_51; + postcondition ""; + precondition ""; + } + + sa_occurrence scenario_sa_53 "SA Outer fallback operand" id "5ceaa100-0000-4000-8000-0000000000fd" { + body { + Branch { + guard "else"; + occurrences [@scenario_sa_59]; + }; + }; + description ""; + parent @scenario_sa_51; + postcondition ""; + precondition ""; + } + + sa_occurrence scenario_sa_54 "SA Inner ALT" id "5ceaa100-0000-4000-8000-0000000000fe" { + body { + Fragment { + branches [@scenario_sa_55, @scenario_sa_56]; + operator Alternative; + }; + }; + description ""; + parent @scenario_sa_52; + postcondition ""; + precondition ""; + } + + sa_occurrence scenario_sa_55 "SA Inner chosen operand" id "5ceaa100-0000-4000-8000-0000000000ff" { + body { + Branch { + guard "ticket.ready"; + occurrences [@scenario_sa_57]; + }; + }; + description ""; + parent @scenario_sa_54; + postcondition ""; + precondition ""; + } + + sa_occurrence scenario_sa_56 "SA Inner other operand" id "5ceaa100-0000-4000-8000-000000000100" { + body { + Branch { + guard "else"; + occurrences [@scenario_sa_58]; + }; + }; + description ""; + parent @scenario_sa_54; + postcondition ""; + precondition ""; + } + + sa_occurrence scenario_sa_57 "SA Inner anchor" id "5ceaa100-0000-4000-8000-000000000101" { + body { + Action { + action @scenario_sa_10; + lifeline @scenario_sa_40; + }; + }; + description ""; + parent @scenario_sa_55; + postcondition ""; + precondition ""; + } + + sa_occurrence scenario_sa_58 "SA Inner other anchor" id "5ceaa100-0000-4000-8000-000000000102" { + body { + Action { + action @scenario_sa_10; + lifeline @scenario_sa_40; + }; + }; + description ""; + parent @scenario_sa_56; + postcondition ""; + precondition ""; + } + + sa_occurrence scenario_sa_59 "SA Fallback anchor" id "5ceaa100-0000-4000-8000-000000000103" { + body { + Action { + action @scenario_sa_11; + lifeline @scenario_sa_41; + }; + }; + description ""; + parent @scenario_sa_53; + postcondition ""; + precondition ""; + } + + sa_occurrence scenario_sa_60 "SA First use of B" id "5ceaa100-0000-4000-8000-000000000104" { + body { + ScenarioUse { + bindings [{ + local @scenario_sa_40; + referenced @scenario_sa_42; + }, { + local @scenario_sa_41; + referenced @scenario_sa_43; + }]; + scenario @scenario_sa_31; + }; + }; + description ""; + parent @scenario_sa_30; + postcondition ""; + precondition ""; + } + + sa_occurrence scenario_sa_61 "SA Second use of B" id "5ceaa100-0000-4000-8000-000000000105" { + body { + ScenarioUse { + bindings [{ + local @scenario_sa_40; + referenced @scenario_sa_42; + }, { + local @scenario_sa_41; + referenced @scenario_sa_43; + }]; + scenario @scenario_sa_31; + }; + }; + description ""; + parent @scenario_sa_30; + postcondition ""; + precondition ""; + } + + sa_occurrence scenario_sa_62 "SA Root exit" id "5ceaa100-0000-4000-8000-000000000106" { + body { + Action { + action @scenario_sa_11; + lifeline @scenario_sa_41; + }; + }; + description ""; + parent @scenario_sa_30; + postcondition ""; + precondition ""; + } + + sa_occurrence scenario_sa_63 "SA B entry" id "5ceaa100-0000-4000-8000-000000000107" { + body { + Action { + action @scenario_sa_10; + lifeline @scenario_sa_42; + }; + }; + description ""; + parent @scenario_sa_31; + postcondition ""; + precondition ""; + } + + sa_occurrence scenario_sa_64 "SA B use of C" id "5ceaa100-0000-4000-8000-000000000108" { + body { + ScenarioUse { + bindings [{ + local @scenario_sa_42; + referenced @scenario_sa_44; + }, { + local @scenario_sa_43; + referenced @scenario_sa_45; + }]; + scenario @scenario_sa_32; + }; + }; + description ""; + parent @scenario_sa_31; + postcondition ""; + precondition ""; + } + + sa_occurrence scenario_sa_65 "SA B exit" id "5ceaa100-0000-4000-8000-000000000109" { + body { + Action { + action @scenario_sa_11; + lifeline @scenario_sa_43; + }; + }; + description ""; + parent @scenario_sa_31; + postcondition ""; + precondition ""; + } + + sa_occurrence scenario_sa_66 "SA C entry" id "5ceaa100-0000-4000-8000-00000000010a" { + body { + Action { + action @scenario_sa_10; + lifeline @scenario_sa_44; + }; + }; + description ""; + parent @scenario_sa_32; + postcondition ""; + precondition ""; + } + +} diff --git a/harness/experiments/scenario-native-local-20260911/checkpoint-oa-state/rationale.arcadia b/harness/experiments/scenario-native-local-20260911/checkpoint-oa-state/rationale.arcadia new file mode 100644 index 00000000..64b58187 --- /dev/null +++ b/harness/experiments/scenario-native-local-20260911/checkpoint-oa-state/rationale.arcadia @@ -0,0 +1,2 @@ +// Retain caller/operand evidence: ticket 雨. +// Navigation never edits this note. diff --git a/harness/experiments/scenario-native-local-20260911/common/expected-baseline.json b/harness/experiments/scenario-native-local-20260911/common/expected-baseline.json new file mode 100644 index 00000000..b679ffef --- /dev/null +++ b/harness/experiments/scenario-native-local-20260911/common/expected-baseline.json @@ -0,0 +1,1339 @@ +{ + "schema_version": 7, + "id": "5ceaa100-0000-4000-8000-000000000001", + "alias": "scenario_authoring", + "name": "Scenario authoring contract", + "description": "Native clicked-slot and caller-return contract.", + "elements": { + "5ceaa100-0000-4000-8000-00000000006e": { + "id": "5ceaa100-0000-4000-8000-00000000006e", + "alias": "scenario_oa_10", + "name": "OA Inspect ticket", + "description": "", + "parent": null, + "body": { + "Oa": "Activity" + } + }, + "5ceaa100-0000-4000-8000-00000000006f": { + "id": "5ceaa100-0000-4000-8000-00000000006f", + "alias": "scenario_oa_11", + "name": "OA Record result", + "description": "", + "parent": null, + "body": { + "Oa": "Activity" + } + }, + "5ceaa100-0000-4000-8000-000000000078": { + "id": "5ceaa100-0000-4000-8000-000000000078", + "alias": "scenario_oa_20", + "name": "OA Ticket modes", + "description": "", + "parent": null, + "body": { + "Oa": { + "Shared": "StateMachine" + } + } + }, + "5ceaa100-0000-4000-8000-000000000079": { + "id": "5ceaa100-0000-4000-8000-000000000079", + "alias": "scenario_oa_21", + "name": "OA Ticket region", + "description": "", + "parent": "5ceaa100-0000-4000-8000-000000000078", + "body": { + "Oa": { + "Shared": "Region" + } + } + }, + "5ceaa100-0000-4000-8000-00000000007a": { + "id": "5ceaa100-0000-4000-8000-00000000007a", + "alias": "scenario_oa_22", + "name": "OA Ready", + "description": "", + "parent": "5ceaa100-0000-4000-8000-000000000079", + "body": { + "Oa": { + "Shared": { + "State": { + "kind": "State", + "entry": "", + "exit": "", + "do_activity": "" + } + } + } + } + }, + "5ceaa100-0000-4000-8000-000000000082": { + "id": "5ceaa100-0000-4000-8000-000000000082", + "alias": "scenario_oa_30", + "name": "OA A caller", + "description": "", + "parent": null, + "body": { + "Oa": { + "Shared": { + "Scenario": { + "viewpoint": "OperationalActivity", + "context": null, + "precondition": "", + "postcondition": "", + "steps": [ + "5ceaa100-0000-4000-8000-000000000096", + "5ceaa100-0000-4000-8000-000000000097", + "5ceaa100-0000-4000-8000-0000000000a0", + "5ceaa100-0000-4000-8000-0000000000a1", + "5ceaa100-0000-4000-8000-0000000000a2" + ] + } + } + } + } + }, + "5ceaa100-0000-4000-8000-000000000083": { + "id": "5ceaa100-0000-4000-8000-000000000083", + "alias": "scenario_oa_31", + "name": "OA B verification", + "description": "", + "parent": null, + "body": { + "Oa": { + "Shared": { + "Scenario": { + "viewpoint": "OperationalActivity", + "context": null, + "precondition": "", + "postcondition": "", + "steps": [ + "5ceaa100-0000-4000-8000-0000000000a3", + "5ceaa100-0000-4000-8000-0000000000a4", + "5ceaa100-0000-4000-8000-0000000000a5" + ] + } + } + } + } + }, + "5ceaa100-0000-4000-8000-000000000084": { + "id": "5ceaa100-0000-4000-8000-000000000084", + "alias": "scenario_oa_32", + "name": "OA C detail", + "description": "", + "parent": null, + "body": { + "Oa": { + "Shared": { + "Scenario": { + "viewpoint": "OperationalActivity", + "context": null, + "precondition": "", + "postcondition": "", + "steps": [ + "5ceaa100-0000-4000-8000-0000000000a6" + ] + } + } + } + } + }, + "5ceaa100-0000-4000-8000-00000000008c": { + "id": "5ceaa100-0000-4000-8000-00000000008c", + "alias": "scenario_oa_40", + "name": "OA A inspector", + "description": "", + "parent": "5ceaa100-0000-4000-8000-000000000082", + "body": { + "Oa": { + "Shared": { + "Lifeline": { + "represented": "5ceaa100-0000-4000-8000-00000000006e" + } + } + } + } + }, + "5ceaa100-0000-4000-8000-00000000008d": { + "id": "5ceaa100-0000-4000-8000-00000000008d", + "alias": "scenario_oa_41", + "name": "OA A recorder", + "description": "", + "parent": "5ceaa100-0000-4000-8000-000000000082", + "body": { + "Oa": { + "Shared": { + "Lifeline": { + "represented": "5ceaa100-0000-4000-8000-00000000006f" + } + } + } + } + }, + "5ceaa100-0000-4000-8000-00000000008e": { + "id": "5ceaa100-0000-4000-8000-00000000008e", + "alias": "scenario_oa_42", + "name": "OA B inspector", + "description": "", + "parent": "5ceaa100-0000-4000-8000-000000000083", + "body": { + "Oa": { + "Shared": { + "Lifeline": { + "represented": "5ceaa100-0000-4000-8000-00000000006e" + } + } + } + } + }, + "5ceaa100-0000-4000-8000-00000000008f": { + "id": "5ceaa100-0000-4000-8000-00000000008f", + "alias": "scenario_oa_43", + "name": "OA B recorder", + "description": "", + "parent": "5ceaa100-0000-4000-8000-000000000083", + "body": { + "Oa": { + "Shared": { + "Lifeline": { + "represented": "5ceaa100-0000-4000-8000-00000000006f" + } + } + } + } + }, + "5ceaa100-0000-4000-8000-000000000090": { + "id": "5ceaa100-0000-4000-8000-000000000090", + "alias": "scenario_oa_44", + "name": "OA C inspector", + "description": "", + "parent": "5ceaa100-0000-4000-8000-000000000084", + "body": { + "Oa": { + "Shared": { + "Lifeline": { + "represented": "5ceaa100-0000-4000-8000-00000000006e" + } + } + } + } + }, + "5ceaa100-0000-4000-8000-000000000091": { + "id": "5ceaa100-0000-4000-8000-000000000091", + "alias": "scenario_oa_45", + "name": "OA C recorder", + "description": "", + "parent": "5ceaa100-0000-4000-8000-000000000084", + "body": { + "Oa": { + "Shared": { + "Lifeline": { + "represented": "5ceaa100-0000-4000-8000-00000000006f" + } + } + } + } + }, + "5ceaa100-0000-4000-8000-000000000096": { + "id": "5ceaa100-0000-4000-8000-000000000096", + "alias": "scenario_oa_50", + "name": "OA Root entry", + "description": "", + "parent": "5ceaa100-0000-4000-8000-000000000082", + "body": { + "Oa": { + "Shared": { + "Occurrence": { + "body": { + "Action": { + "action": "5ceaa100-0000-4000-8000-00000000006e", + "lifeline": "5ceaa100-0000-4000-8000-00000000008c" + } + }, + "precondition": "", + "postcondition": "" + } + } + } + } + }, + "5ceaa100-0000-4000-8000-000000000097": { + "id": "5ceaa100-0000-4000-8000-000000000097", + "alias": "scenario_oa_51", + "name": "OA Outer ALT", + "description": "", + "parent": "5ceaa100-0000-4000-8000-000000000082", + "body": { + "Oa": { + "Shared": { + "Occurrence": { + "body": { + "Fragment": { + "operator": "Alternative", + "branches": [ + "5ceaa100-0000-4000-8000-000000000098", + "5ceaa100-0000-4000-8000-000000000099" + ] + } + }, + "precondition": "", + "postcondition": "" + } + } + } + } + }, + "5ceaa100-0000-4000-8000-000000000098": { + "id": "5ceaa100-0000-4000-8000-000000000098", + "alias": "scenario_oa_52", + "name": "OA Outer chosen operand", + "description": "", + "parent": "5ceaa100-0000-4000-8000-000000000097", + "body": { + "Oa": { + "Shared": { + "Occurrence": { + "body": { + "Branch": { + "guard": "ticket.present", + "occurrences": [ + "5ceaa100-0000-4000-8000-00000000009a" + ] + } + }, + "precondition": "", + "postcondition": "" + } + } + } + } + }, + "5ceaa100-0000-4000-8000-000000000099": { + "id": "5ceaa100-0000-4000-8000-000000000099", + "alias": "scenario_oa_53", + "name": "OA Outer fallback operand", + "description": "", + "parent": "5ceaa100-0000-4000-8000-000000000097", + "body": { + "Oa": { + "Shared": { + "Occurrence": { + "body": { + "Branch": { + "guard": "else", + "occurrences": [ + "5ceaa100-0000-4000-8000-00000000009f" + ] + } + }, + "precondition": "", + "postcondition": "" + } + } + } + } + }, + "5ceaa100-0000-4000-8000-00000000009a": { + "id": "5ceaa100-0000-4000-8000-00000000009a", + "alias": "scenario_oa_54", + "name": "OA Inner ALT", + "description": "", + "parent": "5ceaa100-0000-4000-8000-000000000098", + "body": { + "Oa": { + "Shared": { + "Occurrence": { + "body": { + "Fragment": { + "operator": "Alternative", + "branches": [ + "5ceaa100-0000-4000-8000-00000000009b", + "5ceaa100-0000-4000-8000-00000000009c" + ] + } + }, + "precondition": "", + "postcondition": "" + } + } + } + } + }, + "5ceaa100-0000-4000-8000-00000000009b": { + "id": "5ceaa100-0000-4000-8000-00000000009b", + "alias": "scenario_oa_55", + "name": "OA Inner chosen operand", + "description": "", + "parent": "5ceaa100-0000-4000-8000-00000000009a", + "body": { + "Oa": { + "Shared": { + "Occurrence": { + "body": { + "Branch": { + "guard": "ticket.ready", + "occurrences": [ + "5ceaa100-0000-4000-8000-00000000009d" + ] + } + }, + "precondition": "", + "postcondition": "" + } + } + } + } + }, + "5ceaa100-0000-4000-8000-00000000009c": { + "id": "5ceaa100-0000-4000-8000-00000000009c", + "alias": "scenario_oa_56", + "name": "OA Inner other operand", + "description": "", + "parent": "5ceaa100-0000-4000-8000-00000000009a", + "body": { + "Oa": { + "Shared": { + "Occurrence": { + "body": { + "Branch": { + "guard": "else", + "occurrences": [ + "5ceaa100-0000-4000-8000-00000000009e" + ] + } + }, + "precondition": "", + "postcondition": "" + } + } + } + } + }, + "5ceaa100-0000-4000-8000-00000000009d": { + "id": "5ceaa100-0000-4000-8000-00000000009d", + "alias": "scenario_oa_57", + "name": "OA Inner anchor", + "description": "", + "parent": "5ceaa100-0000-4000-8000-00000000009b", + "body": { + "Oa": { + "Shared": { + "Occurrence": { + "body": { + "Action": { + "action": "5ceaa100-0000-4000-8000-00000000006e", + "lifeline": "5ceaa100-0000-4000-8000-00000000008c" + } + }, + "precondition": "", + "postcondition": "" + } + } + } + } + }, + "5ceaa100-0000-4000-8000-00000000009e": { + "id": "5ceaa100-0000-4000-8000-00000000009e", + "alias": "scenario_oa_58", + "name": "OA Inner other anchor", + "description": "", + "parent": "5ceaa100-0000-4000-8000-00000000009c", + "body": { + "Oa": { + "Shared": { + "Occurrence": { + "body": { + "Action": { + "action": "5ceaa100-0000-4000-8000-00000000006e", + "lifeline": "5ceaa100-0000-4000-8000-00000000008c" + } + }, + "precondition": "", + "postcondition": "" + } + } + } + } + }, + "5ceaa100-0000-4000-8000-00000000009f": { + "id": "5ceaa100-0000-4000-8000-00000000009f", + "alias": "scenario_oa_59", + "name": "OA Fallback anchor", + "description": "", + "parent": "5ceaa100-0000-4000-8000-000000000099", + "body": { + "Oa": { + "Shared": { + "Occurrence": { + "body": { + "Action": { + "action": "5ceaa100-0000-4000-8000-00000000006f", + "lifeline": "5ceaa100-0000-4000-8000-00000000008d" + } + }, + "precondition": "", + "postcondition": "" + } + } + } + } + }, + "5ceaa100-0000-4000-8000-0000000000a0": { + "id": "5ceaa100-0000-4000-8000-0000000000a0", + "alias": "scenario_oa_60", + "name": "OA First use of B", + "description": "", + "parent": "5ceaa100-0000-4000-8000-000000000082", + "body": { + "Oa": { + "Shared": { + "Occurrence": { + "body": { + "ScenarioUse": { + "scenario": "5ceaa100-0000-4000-8000-000000000083", + "bindings": [ + { + "referenced": "5ceaa100-0000-4000-8000-00000000008e", + "local": "5ceaa100-0000-4000-8000-00000000008c" + }, + { + "referenced": "5ceaa100-0000-4000-8000-00000000008f", + "local": "5ceaa100-0000-4000-8000-00000000008d" + } + ] + } + }, + "precondition": "", + "postcondition": "" + } + } + } + } + }, + "5ceaa100-0000-4000-8000-0000000000a1": { + "id": "5ceaa100-0000-4000-8000-0000000000a1", + "alias": "scenario_oa_61", + "name": "OA Second use of B", + "description": "", + "parent": "5ceaa100-0000-4000-8000-000000000082", + "body": { + "Oa": { + "Shared": { + "Occurrence": { + "body": { + "ScenarioUse": { + "scenario": "5ceaa100-0000-4000-8000-000000000083", + "bindings": [ + { + "referenced": "5ceaa100-0000-4000-8000-00000000008e", + "local": "5ceaa100-0000-4000-8000-00000000008c" + }, + { + "referenced": "5ceaa100-0000-4000-8000-00000000008f", + "local": "5ceaa100-0000-4000-8000-00000000008d" + } + ] + } + }, + "precondition": "", + "postcondition": "" + } + } + } + } + }, + "5ceaa100-0000-4000-8000-0000000000a2": { + "id": "5ceaa100-0000-4000-8000-0000000000a2", + "alias": "scenario_oa_62", + "name": "OA Root exit", + "description": "", + "parent": "5ceaa100-0000-4000-8000-000000000082", + "body": { + "Oa": { + "Shared": { + "Occurrence": { + "body": { + "Action": { + "action": "5ceaa100-0000-4000-8000-00000000006f", + "lifeline": "5ceaa100-0000-4000-8000-00000000008d" + } + }, + "precondition": "", + "postcondition": "" + } + } + } + } + }, + "5ceaa100-0000-4000-8000-0000000000a3": { + "id": "5ceaa100-0000-4000-8000-0000000000a3", + "alias": "scenario_oa_63", + "name": "OA B entry", + "description": "", + "parent": "5ceaa100-0000-4000-8000-000000000083", + "body": { + "Oa": { + "Shared": { + "Occurrence": { + "body": { + "Action": { + "action": "5ceaa100-0000-4000-8000-00000000006e", + "lifeline": "5ceaa100-0000-4000-8000-00000000008e" + } + }, + "precondition": "", + "postcondition": "" + } + } + } + } + }, + "5ceaa100-0000-4000-8000-0000000000a4": { + "id": "5ceaa100-0000-4000-8000-0000000000a4", + "alias": "scenario_oa_64", + "name": "OA B use of C", + "description": "", + "parent": "5ceaa100-0000-4000-8000-000000000083", + "body": { + "Oa": { + "Shared": { + "Occurrence": { + "body": { + "ScenarioUse": { + "scenario": "5ceaa100-0000-4000-8000-000000000084", + "bindings": [ + { + "referenced": "5ceaa100-0000-4000-8000-000000000090", + "local": "5ceaa100-0000-4000-8000-00000000008e" + }, + { + "referenced": "5ceaa100-0000-4000-8000-000000000091", + "local": "5ceaa100-0000-4000-8000-00000000008f" + } + ] + } + }, + "precondition": "", + "postcondition": "" + } + } + } + } + }, + "5ceaa100-0000-4000-8000-0000000000a5": { + "id": "5ceaa100-0000-4000-8000-0000000000a5", + "alias": "scenario_oa_65", + "name": "OA B exit", + "description": "", + "parent": "5ceaa100-0000-4000-8000-000000000083", + "body": { + "Oa": { + "Shared": { + "Occurrence": { + "body": { + "Action": { + "action": "5ceaa100-0000-4000-8000-00000000006f", + "lifeline": "5ceaa100-0000-4000-8000-00000000008f" + } + }, + "precondition": "", + "postcondition": "" + } + } + } + } + }, + "5ceaa100-0000-4000-8000-0000000000a6": { + "id": "5ceaa100-0000-4000-8000-0000000000a6", + "alias": "scenario_oa_66", + "name": "OA C entry", + "description": "", + "parent": "5ceaa100-0000-4000-8000-000000000084", + "body": { + "Oa": { + "Shared": { + "Occurrence": { + "body": { + "Action": { + "action": "5ceaa100-0000-4000-8000-00000000006e", + "lifeline": "5ceaa100-0000-4000-8000-000000000090" + } + }, + "precondition": "", + "postcondition": "" + } + } + } + } + }, + "5ceaa100-0000-4000-8000-0000000000d2": { + "id": "5ceaa100-0000-4000-8000-0000000000d2", + "alias": "scenario_sa_10", + "name": "SA Inspect ticket", + "description": "", + "parent": null, + "body": { + "Sa": "Function" + } + }, + "5ceaa100-0000-4000-8000-0000000000d3": { + "id": "5ceaa100-0000-4000-8000-0000000000d3", + "alias": "scenario_sa_11", + "name": "SA Record result", + "description": "", + "parent": null, + "body": { + "Sa": "Function" + } + }, + "5ceaa100-0000-4000-8000-0000000000dc": { + "id": "5ceaa100-0000-4000-8000-0000000000dc", + "alias": "scenario_sa_20", + "name": "SA Ticket modes", + "description": "", + "parent": null, + "body": { + "Sa": { + "Shared": "StateMachine" + } + } + }, + "5ceaa100-0000-4000-8000-0000000000dd": { + "id": "5ceaa100-0000-4000-8000-0000000000dd", + "alias": "scenario_sa_21", + "name": "SA Ticket region", + "description": "", + "parent": "5ceaa100-0000-4000-8000-0000000000dc", + "body": { + "Sa": { + "Shared": "Region" + } + } + }, + "5ceaa100-0000-4000-8000-0000000000de": { + "id": "5ceaa100-0000-4000-8000-0000000000de", + "alias": "scenario_sa_22", + "name": "SA Ready", + "description": "", + "parent": "5ceaa100-0000-4000-8000-0000000000dd", + "body": { + "Sa": { + "Shared": { + "State": { + "kind": "State", + "entry": "", + "exit": "", + "do_activity": "" + } + } + } + } + }, + "5ceaa100-0000-4000-8000-0000000000e6": { + "id": "5ceaa100-0000-4000-8000-0000000000e6", + "alias": "scenario_sa_30", + "name": "SA A caller", + "description": "", + "parent": null, + "body": { + "Sa": { + "Shared": { + "Scenario": { + "viewpoint": "Functional", + "context": null, + "precondition": "", + "postcondition": "", + "steps": [ + "5ceaa100-0000-4000-8000-0000000000fa", + "5ceaa100-0000-4000-8000-0000000000fb", + "5ceaa100-0000-4000-8000-000000000104", + "5ceaa100-0000-4000-8000-000000000105", + "5ceaa100-0000-4000-8000-000000000106" + ] + } + } + } + } + }, + "5ceaa100-0000-4000-8000-0000000000e7": { + "id": "5ceaa100-0000-4000-8000-0000000000e7", + "alias": "scenario_sa_31", + "name": "SA B verification", + "description": "", + "parent": null, + "body": { + "Sa": { + "Shared": { + "Scenario": { + "viewpoint": "Functional", + "context": null, + "precondition": "", + "postcondition": "", + "steps": [ + "5ceaa100-0000-4000-8000-000000000107", + "5ceaa100-0000-4000-8000-000000000108", + "5ceaa100-0000-4000-8000-000000000109" + ] + } + } + } + } + }, + "5ceaa100-0000-4000-8000-0000000000e8": { + "id": "5ceaa100-0000-4000-8000-0000000000e8", + "alias": "scenario_sa_32", + "name": "SA C detail", + "description": "", + "parent": null, + "body": { + "Sa": { + "Shared": { + "Scenario": { + "viewpoint": "Functional", + "context": null, + "precondition": "", + "postcondition": "", + "steps": [ + "5ceaa100-0000-4000-8000-00000000010a" + ] + } + } + } + } + }, + "5ceaa100-0000-4000-8000-0000000000f0": { + "id": "5ceaa100-0000-4000-8000-0000000000f0", + "alias": "scenario_sa_40", + "name": "SA A inspector", + "description": "", + "parent": "5ceaa100-0000-4000-8000-0000000000e6", + "body": { + "Sa": { + "Shared": { + "Lifeline": { + "represented": "5ceaa100-0000-4000-8000-0000000000d2" + } + } + } + } + }, + "5ceaa100-0000-4000-8000-0000000000f1": { + "id": "5ceaa100-0000-4000-8000-0000000000f1", + "alias": "scenario_sa_41", + "name": "SA A recorder", + "description": "", + "parent": "5ceaa100-0000-4000-8000-0000000000e6", + "body": { + "Sa": { + "Shared": { + "Lifeline": { + "represented": "5ceaa100-0000-4000-8000-0000000000d3" + } + } + } + } + }, + "5ceaa100-0000-4000-8000-0000000000f2": { + "id": "5ceaa100-0000-4000-8000-0000000000f2", + "alias": "scenario_sa_42", + "name": "SA B inspector", + "description": "", + "parent": "5ceaa100-0000-4000-8000-0000000000e7", + "body": { + "Sa": { + "Shared": { + "Lifeline": { + "represented": "5ceaa100-0000-4000-8000-0000000000d2" + } + } + } + } + }, + "5ceaa100-0000-4000-8000-0000000000f3": { + "id": "5ceaa100-0000-4000-8000-0000000000f3", + "alias": "scenario_sa_43", + "name": "SA B recorder", + "description": "", + "parent": "5ceaa100-0000-4000-8000-0000000000e7", + "body": { + "Sa": { + "Shared": { + "Lifeline": { + "represented": "5ceaa100-0000-4000-8000-0000000000d3" + } + } + } + } + }, + "5ceaa100-0000-4000-8000-0000000000f4": { + "id": "5ceaa100-0000-4000-8000-0000000000f4", + "alias": "scenario_sa_44", + "name": "SA C inspector", + "description": "", + "parent": "5ceaa100-0000-4000-8000-0000000000e8", + "body": { + "Sa": { + "Shared": { + "Lifeline": { + "represented": "5ceaa100-0000-4000-8000-0000000000d2" + } + } + } + } + }, + "5ceaa100-0000-4000-8000-0000000000f5": { + "id": "5ceaa100-0000-4000-8000-0000000000f5", + "alias": "scenario_sa_45", + "name": "SA C recorder", + "description": "", + "parent": "5ceaa100-0000-4000-8000-0000000000e8", + "body": { + "Sa": { + "Shared": { + "Lifeline": { + "represented": "5ceaa100-0000-4000-8000-0000000000d3" + } + } + } + } + }, + "5ceaa100-0000-4000-8000-0000000000fa": { + "id": "5ceaa100-0000-4000-8000-0000000000fa", + "alias": "scenario_sa_50", + "name": "SA Root entry", + "description": "", + "parent": "5ceaa100-0000-4000-8000-0000000000e6", + "body": { + "Sa": { + "Shared": { + "Occurrence": { + "body": { + "Action": { + "action": "5ceaa100-0000-4000-8000-0000000000d2", + "lifeline": "5ceaa100-0000-4000-8000-0000000000f0" + } + }, + "precondition": "", + "postcondition": "" + } + } + } + } + }, + "5ceaa100-0000-4000-8000-0000000000fb": { + "id": "5ceaa100-0000-4000-8000-0000000000fb", + "alias": "scenario_sa_51", + "name": "SA Outer ALT", + "description": "", + "parent": "5ceaa100-0000-4000-8000-0000000000e6", + "body": { + "Sa": { + "Shared": { + "Occurrence": { + "body": { + "Fragment": { + "operator": "Alternative", + "branches": [ + "5ceaa100-0000-4000-8000-0000000000fc", + "5ceaa100-0000-4000-8000-0000000000fd" + ] + } + }, + "precondition": "", + "postcondition": "" + } + } + } + } + }, + "5ceaa100-0000-4000-8000-0000000000fc": { + "id": "5ceaa100-0000-4000-8000-0000000000fc", + "alias": "scenario_sa_52", + "name": "SA Outer chosen operand", + "description": "", + "parent": "5ceaa100-0000-4000-8000-0000000000fb", + "body": { + "Sa": { + "Shared": { + "Occurrence": { + "body": { + "Branch": { + "guard": "ticket.present", + "occurrences": [ + "5ceaa100-0000-4000-8000-0000000000fe" + ] + } + }, + "precondition": "", + "postcondition": "" + } + } + } + } + }, + "5ceaa100-0000-4000-8000-0000000000fd": { + "id": "5ceaa100-0000-4000-8000-0000000000fd", + "alias": "scenario_sa_53", + "name": "SA Outer fallback operand", + "description": "", + "parent": "5ceaa100-0000-4000-8000-0000000000fb", + "body": { + "Sa": { + "Shared": { + "Occurrence": { + "body": { + "Branch": { + "guard": "else", + "occurrences": [ + "5ceaa100-0000-4000-8000-000000000103" + ] + } + }, + "precondition": "", + "postcondition": "" + } + } + } + } + }, + "5ceaa100-0000-4000-8000-0000000000fe": { + "id": "5ceaa100-0000-4000-8000-0000000000fe", + "alias": "scenario_sa_54", + "name": "SA Inner ALT", + "description": "", + "parent": "5ceaa100-0000-4000-8000-0000000000fc", + "body": { + "Sa": { + "Shared": { + "Occurrence": { + "body": { + "Fragment": { + "operator": "Alternative", + "branches": [ + "5ceaa100-0000-4000-8000-0000000000ff", + "5ceaa100-0000-4000-8000-000000000100" + ] + } + }, + "precondition": "", + "postcondition": "" + } + } + } + } + }, + "5ceaa100-0000-4000-8000-0000000000ff": { + "id": "5ceaa100-0000-4000-8000-0000000000ff", + "alias": "scenario_sa_55", + "name": "SA Inner chosen operand", + "description": "", + "parent": "5ceaa100-0000-4000-8000-0000000000fe", + "body": { + "Sa": { + "Shared": { + "Occurrence": { + "body": { + "Branch": { + "guard": "ticket.ready", + "occurrences": [ + "5ceaa100-0000-4000-8000-000000000101" + ] + } + }, + "precondition": "", + "postcondition": "" + } + } + } + } + }, + "5ceaa100-0000-4000-8000-000000000100": { + "id": "5ceaa100-0000-4000-8000-000000000100", + "alias": "scenario_sa_56", + "name": "SA Inner other operand", + "description": "", + "parent": "5ceaa100-0000-4000-8000-0000000000fe", + "body": { + "Sa": { + "Shared": { + "Occurrence": { + "body": { + "Branch": { + "guard": "else", + "occurrences": [ + "5ceaa100-0000-4000-8000-000000000102" + ] + } + }, + "precondition": "", + "postcondition": "" + } + } + } + } + }, + "5ceaa100-0000-4000-8000-000000000101": { + "id": "5ceaa100-0000-4000-8000-000000000101", + "alias": "scenario_sa_57", + "name": "SA Inner anchor", + "description": "", + "parent": "5ceaa100-0000-4000-8000-0000000000ff", + "body": { + "Sa": { + "Shared": { + "Occurrence": { + "body": { + "Action": { + "action": "5ceaa100-0000-4000-8000-0000000000d2", + "lifeline": "5ceaa100-0000-4000-8000-0000000000f0" + } + }, + "precondition": "", + "postcondition": "" + } + } + } + } + }, + "5ceaa100-0000-4000-8000-000000000102": { + "id": "5ceaa100-0000-4000-8000-000000000102", + "alias": "scenario_sa_58", + "name": "SA Inner other anchor", + "description": "", + "parent": "5ceaa100-0000-4000-8000-000000000100", + "body": { + "Sa": { + "Shared": { + "Occurrence": { + "body": { + "Action": { + "action": "5ceaa100-0000-4000-8000-0000000000d2", + "lifeline": "5ceaa100-0000-4000-8000-0000000000f0" + } + }, + "precondition": "", + "postcondition": "" + } + } + } + } + }, + "5ceaa100-0000-4000-8000-000000000103": { + "id": "5ceaa100-0000-4000-8000-000000000103", + "alias": "scenario_sa_59", + "name": "SA Fallback anchor", + "description": "", + "parent": "5ceaa100-0000-4000-8000-0000000000fd", + "body": { + "Sa": { + "Shared": { + "Occurrence": { + "body": { + "Action": { + "action": "5ceaa100-0000-4000-8000-0000000000d3", + "lifeline": "5ceaa100-0000-4000-8000-0000000000f1" + } + }, + "precondition": "", + "postcondition": "" + } + } + } + } + }, + "5ceaa100-0000-4000-8000-000000000104": { + "id": "5ceaa100-0000-4000-8000-000000000104", + "alias": "scenario_sa_60", + "name": "SA First use of B", + "description": "", + "parent": "5ceaa100-0000-4000-8000-0000000000e6", + "body": { + "Sa": { + "Shared": { + "Occurrence": { + "body": { + "ScenarioUse": { + "scenario": "5ceaa100-0000-4000-8000-0000000000e7", + "bindings": [ + { + "referenced": "5ceaa100-0000-4000-8000-0000000000f2", + "local": "5ceaa100-0000-4000-8000-0000000000f0" + }, + { + "referenced": "5ceaa100-0000-4000-8000-0000000000f3", + "local": "5ceaa100-0000-4000-8000-0000000000f1" + } + ] + } + }, + "precondition": "", + "postcondition": "" + } + } + } + } + }, + "5ceaa100-0000-4000-8000-000000000105": { + "id": "5ceaa100-0000-4000-8000-000000000105", + "alias": "scenario_sa_61", + "name": "SA Second use of B", + "description": "", + "parent": "5ceaa100-0000-4000-8000-0000000000e6", + "body": { + "Sa": { + "Shared": { + "Occurrence": { + "body": { + "ScenarioUse": { + "scenario": "5ceaa100-0000-4000-8000-0000000000e7", + "bindings": [ + { + "referenced": "5ceaa100-0000-4000-8000-0000000000f2", + "local": "5ceaa100-0000-4000-8000-0000000000f0" + }, + { + "referenced": "5ceaa100-0000-4000-8000-0000000000f3", + "local": "5ceaa100-0000-4000-8000-0000000000f1" + } + ] + } + }, + "precondition": "", + "postcondition": "" + } + } + } + } + }, + "5ceaa100-0000-4000-8000-000000000106": { + "id": "5ceaa100-0000-4000-8000-000000000106", + "alias": "scenario_sa_62", + "name": "SA Root exit", + "description": "", + "parent": "5ceaa100-0000-4000-8000-0000000000e6", + "body": { + "Sa": { + "Shared": { + "Occurrence": { + "body": { + "Action": { + "action": "5ceaa100-0000-4000-8000-0000000000d3", + "lifeline": "5ceaa100-0000-4000-8000-0000000000f1" + } + }, + "precondition": "", + "postcondition": "" + } + } + } + } + }, + "5ceaa100-0000-4000-8000-000000000107": { + "id": "5ceaa100-0000-4000-8000-000000000107", + "alias": "scenario_sa_63", + "name": "SA B entry", + "description": "", + "parent": "5ceaa100-0000-4000-8000-0000000000e7", + "body": { + "Sa": { + "Shared": { + "Occurrence": { + "body": { + "Action": { + "action": "5ceaa100-0000-4000-8000-0000000000d2", + "lifeline": "5ceaa100-0000-4000-8000-0000000000f2" + } + }, + "precondition": "", + "postcondition": "" + } + } + } + } + }, + "5ceaa100-0000-4000-8000-000000000108": { + "id": "5ceaa100-0000-4000-8000-000000000108", + "alias": "scenario_sa_64", + "name": "SA B use of C", + "description": "", + "parent": "5ceaa100-0000-4000-8000-0000000000e7", + "body": { + "Sa": { + "Shared": { + "Occurrence": { + "body": { + "ScenarioUse": { + "scenario": "5ceaa100-0000-4000-8000-0000000000e8", + "bindings": [ + { + "referenced": "5ceaa100-0000-4000-8000-0000000000f4", + "local": "5ceaa100-0000-4000-8000-0000000000f2" + }, + { + "referenced": "5ceaa100-0000-4000-8000-0000000000f5", + "local": "5ceaa100-0000-4000-8000-0000000000f3" + } + ] + } + }, + "precondition": "", + "postcondition": "" + } + } + } + } + }, + "5ceaa100-0000-4000-8000-000000000109": { + "id": "5ceaa100-0000-4000-8000-000000000109", + "alias": "scenario_sa_65", + "name": "SA B exit", + "description": "", + "parent": "5ceaa100-0000-4000-8000-0000000000e7", + "body": { + "Sa": { + "Shared": { + "Occurrence": { + "body": { + "Action": { + "action": "5ceaa100-0000-4000-8000-0000000000d3", + "lifeline": "5ceaa100-0000-4000-8000-0000000000f3" + } + }, + "precondition": "", + "postcondition": "" + } + } + } + } + }, + "5ceaa100-0000-4000-8000-00000000010a": { + "id": "5ceaa100-0000-4000-8000-00000000010a", + "alias": "scenario_sa_66", + "name": "SA C entry", + "description": "", + "parent": "5ceaa100-0000-4000-8000-0000000000e8", + "body": { + "Sa": { + "Shared": { + "Occurrence": { + "body": { + "Action": { + "action": "5ceaa100-0000-4000-8000-0000000000d2", + "lifeline": "5ceaa100-0000-4000-8000-0000000000f4" + } + }, + "precondition": "", + "postcondition": "" + } + } + } + } + } + }, + "relations": {}, + "diagrams": {}, + "artifact_links": {}, + "traces": {} +} \ No newline at end of file diff --git a/harness/experiments/scenario-native-local-20260911/logs/b3-cancel-baseline.log b/harness/experiments/scenario-native-local-20260911/logs/b3-cancel-baseline.log new file mode 100644 index 00000000..4a4d9dd6 --- /dev/null +++ b/harness/experiments/scenario-native-local-20260911/logs/b3-cancel-baseline.log @@ -0,0 +1 @@ +PASS baseline: whole model and 2 exact reachable sources; only unique fresh role IDs borrowed diff --git a/harness/experiments/scenario-native-local-20260911/logs/b3-exact-baseline.log b/harness/experiments/scenario-native-local-20260911/logs/b3-exact-baseline.log new file mode 100644 index 00000000..685ff157 --- /dev/null +++ b/harness/experiments/scenario-native-local-20260911/logs/b3-exact-baseline.log @@ -0,0 +1 @@ +PASS same: exact saved/restored Project and SourceBundle, including all native identities diff --git a/harness/experiments/scenario-native-local-20260911/logs/oa-action-redo-exact.log b/harness/experiments/scenario-native-local-20260911/logs/oa-action-redo-exact.log new file mode 100644 index 00000000..685ff157 --- /dev/null +++ b/harness/experiments/scenario-native-local-20260911/logs/oa-action-redo-exact.log @@ -0,0 +1 @@ +PASS same: exact saved/restored Project and SourceBundle, including all native identities diff --git a/harness/experiments/scenario-native-local-20260911/logs/oa-action-redo.log b/harness/experiments/scenario-native-local-20260911/logs/oa-action-redo.log new file mode 100644 index 00000000..d7d72ebe --- /dev/null +++ b/harness/experiments/scenario-native-local-20260911/logs/oa-action-redo.log @@ -0,0 +1 @@ +PASS oa-action: whole model and 2 exact reachable sources; only unique fresh role IDs borrowed diff --git a/harness/experiments/scenario-native-local-20260911/logs/oa-action-undo-exact.log b/harness/experiments/scenario-native-local-20260911/logs/oa-action-undo-exact.log new file mode 100644 index 00000000..685ff157 --- /dev/null +++ b/harness/experiments/scenario-native-local-20260911/logs/oa-action-undo-exact.log @@ -0,0 +1 @@ +PASS same: exact saved/restored Project and SourceBundle, including all native identities diff --git a/harness/experiments/scenario-native-local-20260911/logs/oa-action-undo.log b/harness/experiments/scenario-native-local-20260911/logs/oa-action-undo.log new file mode 100644 index 00000000..4a4d9dd6 --- /dev/null +++ b/harness/experiments/scenario-native-local-20260911/logs/oa-action-undo.log @@ -0,0 +1 @@ +PASS baseline: whole model and 2 exact reachable sources; only unique fresh role IDs borrowed diff --git a/harness/experiments/scenario-native-local-20260911/logs/oa-action.log b/harness/experiments/scenario-native-local-20260911/logs/oa-action.log new file mode 100644 index 00000000..d7d72ebe --- /dev/null +++ b/harness/experiments/scenario-native-local-20260911/logs/oa-action.log @@ -0,0 +1 @@ +PASS oa-action: whole model and 2 exact reachable sources; only unique fresh role IDs borrowed diff --git a/harness/experiments/scenario-native-local-20260911/logs/oa-b3-baseline-after-save.log b/harness/experiments/scenario-native-local-20260911/logs/oa-b3-baseline-after-save.log new file mode 100644 index 00000000..4a4d9dd6 --- /dev/null +++ b/harness/experiments/scenario-native-local-20260911/logs/oa-b3-baseline-after-save.log @@ -0,0 +1 @@ +PASS baseline: whole model and 2 exact reachable sources; only unique fresh role IDs borrowed diff --git a/harness/experiments/scenario-native-local-20260911/logs/oa-fragment-redo-exact.log b/harness/experiments/scenario-native-local-20260911/logs/oa-fragment-redo-exact.log new file mode 100644 index 00000000..685ff157 --- /dev/null +++ b/harness/experiments/scenario-native-local-20260911/logs/oa-fragment-redo-exact.log @@ -0,0 +1 @@ +PASS same: exact saved/restored Project and SourceBundle, including all native identities diff --git a/harness/experiments/scenario-native-local-20260911/logs/oa-fragment-redo.log b/harness/experiments/scenario-native-local-20260911/logs/oa-fragment-redo.log new file mode 100644 index 00000000..394fd7b4 --- /dev/null +++ b/harness/experiments/scenario-native-local-20260911/logs/oa-fragment-redo.log @@ -0,0 +1 @@ +PASS oa-fragment: whole model and 2 exact reachable sources; only unique fresh role IDs borrowed diff --git a/harness/experiments/scenario-native-local-20260911/logs/oa-fragment-undo-exact.log b/harness/experiments/scenario-native-local-20260911/logs/oa-fragment-undo-exact.log new file mode 100644 index 00000000..685ff157 --- /dev/null +++ b/harness/experiments/scenario-native-local-20260911/logs/oa-fragment-undo-exact.log @@ -0,0 +1 @@ +PASS same: exact saved/restored Project and SourceBundle, including all native identities diff --git a/harness/experiments/scenario-native-local-20260911/logs/oa-fragment-undo.log b/harness/experiments/scenario-native-local-20260911/logs/oa-fragment-undo.log new file mode 100644 index 00000000..c6966d4f --- /dev/null +++ b/harness/experiments/scenario-native-local-20260911/logs/oa-fragment-undo.log @@ -0,0 +1 @@ +PASS oa-reuse: whole model and 2 exact reachable sources; only unique fresh role IDs borrowed diff --git a/harness/experiments/scenario-native-local-20260911/logs/oa-fragment.log b/harness/experiments/scenario-native-local-20260911/logs/oa-fragment.log new file mode 100644 index 00000000..394fd7b4 --- /dev/null +++ b/harness/experiments/scenario-native-local-20260911/logs/oa-fragment.log @@ -0,0 +1 @@ +PASS oa-fragment: whole model and 2 exact reachable sources; only unique fresh role IDs borrowed diff --git a/harness/experiments/scenario-native-local-20260911/logs/oa-reopen-exact.log b/harness/experiments/scenario-native-local-20260911/logs/oa-reopen-exact.log new file mode 100644 index 00000000..685ff157 --- /dev/null +++ b/harness/experiments/scenario-native-local-20260911/logs/oa-reopen-exact.log @@ -0,0 +1 @@ +PASS same: exact saved/restored Project and SourceBundle, including all native identities diff --git a/harness/experiments/scenario-native-local-20260911/logs/oa-reopen.log b/harness/experiments/scenario-native-local-20260911/logs/oa-reopen.log new file mode 100644 index 00000000..394fd7b4 --- /dev/null +++ b/harness/experiments/scenario-native-local-20260911/logs/oa-reopen.log @@ -0,0 +1 @@ +PASS oa-fragment: whole model and 2 exact reachable sources; only unique fresh role IDs borrowed diff --git a/harness/experiments/scenario-native-local-20260911/logs/oa-reuse-redo-exact.log b/harness/experiments/scenario-native-local-20260911/logs/oa-reuse-redo-exact.log new file mode 100644 index 00000000..685ff157 --- /dev/null +++ b/harness/experiments/scenario-native-local-20260911/logs/oa-reuse-redo-exact.log @@ -0,0 +1 @@ +PASS same: exact saved/restored Project and SourceBundle, including all native identities diff --git a/harness/experiments/scenario-native-local-20260911/logs/oa-reuse-redo.log b/harness/experiments/scenario-native-local-20260911/logs/oa-reuse-redo.log new file mode 100644 index 00000000..c6966d4f --- /dev/null +++ b/harness/experiments/scenario-native-local-20260911/logs/oa-reuse-redo.log @@ -0,0 +1 @@ +PASS oa-reuse: whole model and 2 exact reachable sources; only unique fresh role IDs borrowed diff --git a/harness/experiments/scenario-native-local-20260911/logs/oa-reuse-undo-exact.log b/harness/experiments/scenario-native-local-20260911/logs/oa-reuse-undo-exact.log new file mode 100644 index 00000000..685ff157 --- /dev/null +++ b/harness/experiments/scenario-native-local-20260911/logs/oa-reuse-undo-exact.log @@ -0,0 +1 @@ +PASS same: exact saved/restored Project and SourceBundle, including all native identities diff --git a/harness/experiments/scenario-native-local-20260911/logs/oa-reuse-undo.log b/harness/experiments/scenario-native-local-20260911/logs/oa-reuse-undo.log new file mode 100644 index 00000000..4c46a236 --- /dev/null +++ b/harness/experiments/scenario-native-local-20260911/logs/oa-reuse-undo.log @@ -0,0 +1 @@ +PASS oa-state: whole model and 2 exact reachable sources; only unique fresh role IDs borrowed diff --git a/harness/experiments/scenario-native-local-20260911/logs/oa-reuse.log b/harness/experiments/scenario-native-local-20260911/logs/oa-reuse.log new file mode 100644 index 00000000..c6966d4f --- /dev/null +++ b/harness/experiments/scenario-native-local-20260911/logs/oa-reuse.log @@ -0,0 +1 @@ +PASS oa-reuse: whole model and 2 exact reachable sources; only unique fresh role IDs borrowed diff --git a/harness/experiments/scenario-native-local-20260911/logs/oa-state-redo-exact.log b/harness/experiments/scenario-native-local-20260911/logs/oa-state-redo-exact.log new file mode 100644 index 00000000..685ff157 --- /dev/null +++ b/harness/experiments/scenario-native-local-20260911/logs/oa-state-redo-exact.log @@ -0,0 +1 @@ +PASS same: exact saved/restored Project and SourceBundle, including all native identities diff --git a/harness/experiments/scenario-native-local-20260911/logs/oa-state-redo.log b/harness/experiments/scenario-native-local-20260911/logs/oa-state-redo.log new file mode 100644 index 00000000..4c46a236 --- /dev/null +++ b/harness/experiments/scenario-native-local-20260911/logs/oa-state-redo.log @@ -0,0 +1 @@ +PASS oa-state: whole model and 2 exact reachable sources; only unique fresh role IDs borrowed diff --git a/harness/experiments/scenario-native-local-20260911/logs/oa-state-undo-exact.log b/harness/experiments/scenario-native-local-20260911/logs/oa-state-undo-exact.log new file mode 100644 index 00000000..685ff157 --- /dev/null +++ b/harness/experiments/scenario-native-local-20260911/logs/oa-state-undo-exact.log @@ -0,0 +1 @@ +PASS same: exact saved/restored Project and SourceBundle, including all native identities diff --git a/harness/experiments/scenario-native-local-20260911/logs/oa-state-undo.log b/harness/experiments/scenario-native-local-20260911/logs/oa-state-undo.log new file mode 100644 index 00000000..d7d72ebe --- /dev/null +++ b/harness/experiments/scenario-native-local-20260911/logs/oa-state-undo.log @@ -0,0 +1 @@ +PASS oa-action: whole model and 2 exact reachable sources; only unique fresh role IDs borrowed diff --git a/harness/experiments/scenario-native-local-20260911/logs/oa-state.log b/harness/experiments/scenario-native-local-20260911/logs/oa-state.log new file mode 100644 index 00000000..4c46a236 --- /dev/null +++ b/harness/experiments/scenario-native-local-20260911/logs/oa-state.log @@ -0,0 +1 @@ +PASS oa-state: whole model and 2 exact reachable sources; only unique fresh role IDs borrowed diff --git a/harness/experiments/scenario-native-local-20260911/logs/oracle-baseline.log b/harness/experiments/scenario-native-local-20260911/logs/oracle-baseline.log new file mode 100644 index 00000000..4a4d9dd6 --- /dev/null +++ b/harness/experiments/scenario-native-local-20260911/logs/oracle-baseline.log @@ -0,0 +1 @@ +PASS baseline: whole model and 2 exact reachable sources; only unique fresh role IDs borrowed diff --git a/harness/experiments/scenario-native-local-20260911/logs/oracle-compile-incompatible-json.log b/harness/experiments/scenario-native-local-20260911/logs/oracle-compile-incompatible-json.log new file mode 100644 index 00000000..f12d6025 --- /dev/null +++ b/harness/experiments/scenario-native-local-20260911/logs/oracle-compile-incompatible-json.log @@ -0,0 +1,43 @@ +error[E0277]: the trait bound `oa_core::Project: serde::Serialize` is not satisfied + --> harness/scenario-authoring-contract.rs:629:39 + | + 629 | serde_json::to_vec_pretty(&p).unwrap(), + | ------------------------- ^^ the trait `serde_core::ser::Serialize` is not implemented for `oa_core::Project` + | | + | required by a bound introduced by this call + | + = note: for local types consider adding `#[derive(serde::Serialize)]` to your `oa_core::Project` type + = note: for types from other crates check whether the crate offers a `serde` feature flag +note: there are multiple different versions of crate `serde_core` in the dependency graph + --> C:\Users\User\Documents\Git\ARCADIA-Studio\.local\toolchain\cargo\registry\src\index.crates.io-1949cf8c6b5b557f\serde_core-1.0.229\src\ser\mod.rs:234:1 + | + 234 | pub trait Serialize { + | ------------------- this is the found trait + | + ::: C:\Users\User\Documents\Git\ARCADIA-Studio\.local\toolchain\cargo\registry\src\index.crates.io-1949cf8c6b5b557f\serde_core-1.0.229\src\ser\mod.rs:234:1 + | + 234 | pub trait Serialize { + | ^^^^^^^^^^^^^^^^^^^ this is the expected trait + = help: you can use `cargo tree` to explore your dependency tree + = help: the following other types implement trait `serde_core::ser::Serialize`: + &'a T + &'a mut T + () + (T,) + (T0, T1) + (T0, T1, T2) + (T0, T1, T2, T3) + (T0, T1, T2, T3, T4) + and 130 others +note: required by a bound in `to_vec_pretty` + --> C:\Users\User\Documents\Git\ARCADIA-Studio\.local\toolchain\cargo\registry\src\index.crates.io-1949cf8c6b5b557f\serde_json-1.0.151\src\ser.rs:2231:17 + | +2229 | pub fn to_vec_pretty(value: &T) -> Result> + | ------------- required by a bound in this function +2230 | where +2231 | T: ?Sized + Serialize, + | ^^^^^^^^^ required by this bound in `to_vec_pretty` + +error: aborting due to 1 previous error + +For more information about this error, try `rustc --explain E0277`. diff --git a/harness/experiments/scenario-native-local-20260911/logs/oracle-compile.log b/harness/experiments/scenario-native-local-20260911/logs/oracle-compile.log new file mode 100644 index 00000000..e69de29b diff --git a/harness/experiments/scenario-native-local-20260911/logs/oracle-self-check.log b/harness/experiments/scenario-native-local-20260911/logs/oracle-self-check.log new file mode 100644 index 00000000..c8fdbb65 --- /dev/null +++ b/harness/experiments/scenario-native-local-20260911/logs/oracle-self-check.log @@ -0,0 +1 @@ +PASS self-check: deterministic OA/SA baseline, eight semantic checkpoints, independent fields/source bytes and exact history identity discrimination diff --git a/harness/experiments/scenario-native-local-20260911/manifest.json b/harness/experiments/scenario-native-local-20260911/manifest.json new file mode 100644 index 00000000..c4bacdf4 --- /dev/null +++ b/harness/experiments/scenario-native-local-20260911/manifest.json @@ -0,0 +1,984 @@ +{ + "format_version": 1, + "scope": "Closed D4D9 native v5: OA four B2 creations with individual Undo/Redo and final OA reopen; prior OA wide/minimum and SA minimum B3 navigation. No local SA B2 or later contextual/B4 acceptance.", + "original_directory": ".local/native-qa/scenario-20260911-v5", + "source_report": { + "path": "harness/release-scenario-native-local-20260911.md", + "sha256_at_preservation": "d09c29000291bcb9d3b4c0fff44388f15f73d5258f9d8f2ddca4dcae2715357e" + }, + "gui_sha256_from_source_report": "d4d9c2bd937e301ff1009d7cb93a34ee5aa6dfc837ff7e87d468c85371b20c31", + "oracle_provenance": { + "CompilerSeconds": 6.585732, + "ExeSha256": "BA9142DD98CC5EE386D344941216F4F7033F0B6992A4668F56C8B6A9A85D08C2", + "SourceSha256": "3BDA3EBC38E99BB658AD3EB9A5889E9C1CC77E8B1F8609079580AE27A4E8E789", + "CoreSha256": "5018A1FD7286ED9DFEDCBBF5B68B399AD5D143F2A9AAAED3078CFC934C9589C4", + "JsonSha256": "4FEDCDBED0D0B88D9168291697F248F3FD382CB684418602D145D9B4CE267F82", + "JsonFingerprint": "449df7f2a97cf841", + "CoreJsonDependencyFingerprint": "4753686476057189700", + "CompiledUtc": "2026-09-11T11:30:26.4512964Z" + }, + "copy_method": "Original and destination bytes compared after copy; no executable invocation, source parsing/normalization, model expectation changes or mutable work reads.", + "checkpoints": [ + { + "name": "checkpoint-b3-navigation", + "physical_files": [ + { + "name": "expected-baseline.json", + "original_path": ".local/native-qa/scenario-20260911-v5/checkpoint-b3-navigation/expected-baseline.json", + "bytes": 38589, + "sha256": "abd8246c939ebb8a2162ef82e23d0fb322ee1a8b4d0d7c28a34037e42e86e841", + "preserved_path": "common/expected-baseline.json" + }, + { + "name": "project.arcadia", + "original_path": ".local/native-qa/scenario-20260911-v5/checkpoint-b3-navigation/project.arcadia", + "bytes": 19470, + "sha256": "9b1afbe96b0bf8fa613451b00929492f05a59b9eb2ca74c2c374a8b7bb7cba9e", + "preserved_path": "checkpoint-b3-navigation/project.arcadia" + }, + { + "name": "rationale.arcadia", + "original_path": ".local/native-qa/scenario-20260911-v5/checkpoint-b3-navigation/rationale.arcadia", + "bytes": 86, + "sha256": "82df210f22f6aa336a3e7e00240977d671c7c3923db7bc58fb29e6d98b67ef49", + "preserved_path": "checkpoint-b3-navigation/rationale.arcadia" + } + ], + "reachable_source_files": [ + "project.arcadia", + "rationale.arcadia" + ], + "baseline_json_role": "Immutable expected evidence copied with the fixture; not model source or a fresh post-edit expectation." + }, + { + "name": "checkpoint-oa-action", + "physical_files": [ + { + "name": "expected-baseline.json", + "original_path": ".local/native-qa/scenario-20260911-v5/checkpoint-oa-action/expected-baseline.json", + "bytes": 38589, + "sha256": "abd8246c939ebb8a2162ef82e23d0fb322ee1a8b4d0d7c28a34037e42e86e841", + "preserved_path": "common/expected-baseline.json" + }, + { + "name": "project.arcadia", + "original_path": ".local/native-qa/scenario-20260911-v5/checkpoint-oa-action/project.arcadia", + "bytes": 19864, + "sha256": "b706f7098920ef75689892035cb0324524a5358d869cdb65166e87a05b31368a", + "preserved_path": "checkpoint-oa-action/project.arcadia" + }, + { + "name": "rationale.arcadia", + "original_path": ".local/native-qa/scenario-20260911-v5/checkpoint-oa-action/rationale.arcadia", + "bytes": 86, + "sha256": "82df210f22f6aa336a3e7e00240977d671c7c3923db7bc58fb29e6d98b67ef49", + "preserved_path": "checkpoint-oa-action/rationale.arcadia" + } + ], + "reachable_source_files": [ + "project.arcadia", + "rationale.arcadia" + ], + "baseline_json_role": "Immutable expected evidence copied with the fixture; not model source or a fresh post-edit expectation." + }, + { + "name": "checkpoint-oa-action-redo", + "physical_files": [ + { + "name": "expected-baseline.json", + "original_path": ".local/native-qa/scenario-20260911-v5/checkpoint-oa-action-redo/expected-baseline.json", + "bytes": 38589, + "sha256": "abd8246c939ebb8a2162ef82e23d0fb322ee1a8b4d0d7c28a34037e42e86e841", + "preserved_path": "common/expected-baseline.json" + }, + { + "name": "project.arcadia", + "original_path": ".local/native-qa/scenario-20260911-v5/checkpoint-oa-action-redo/project.arcadia", + "bytes": 19864, + "sha256": "b706f7098920ef75689892035cb0324524a5358d869cdb65166e87a05b31368a", + "preserved_path": "checkpoint-oa-action-redo/project.arcadia" + }, + { + "name": "rationale.arcadia", + "original_path": ".local/native-qa/scenario-20260911-v5/checkpoint-oa-action-redo/rationale.arcadia", + "bytes": 86, + "sha256": "82df210f22f6aa336a3e7e00240977d671c7c3923db7bc58fb29e6d98b67ef49", + "preserved_path": "checkpoint-oa-action-redo/rationale.arcadia" + } + ], + "reachable_source_files": [ + "project.arcadia", + "rationale.arcadia" + ], + "baseline_json_role": "Immutable expected evidence copied with the fixture; not model source or a fresh post-edit expectation." + }, + { + "name": "checkpoint-oa-action-undo", + "physical_files": [ + { + "name": "expected-baseline.json", + "original_path": ".local/native-qa/scenario-20260911-v5/checkpoint-oa-action-undo/expected-baseline.json", + "bytes": 38589, + "sha256": "abd8246c939ebb8a2162ef82e23d0fb322ee1a8b4d0d7c28a34037e42e86e841", + "preserved_path": "common/expected-baseline.json" + }, + { + "name": "project.arcadia", + "original_path": ".local/native-qa/scenario-20260911-v5/checkpoint-oa-action-undo/project.arcadia", + "bytes": 19470, + "sha256": "9b1afbe96b0bf8fa613451b00929492f05a59b9eb2ca74c2c374a8b7bb7cba9e", + "preserved_path": "checkpoint-oa-action-undo/project.arcadia" + }, + { + "name": "rationale.arcadia", + "original_path": ".local/native-qa/scenario-20260911-v5/checkpoint-oa-action-undo/rationale.arcadia", + "bytes": 86, + "sha256": "82df210f22f6aa336a3e7e00240977d671c7c3923db7bc58fb29e6d98b67ef49", + "preserved_path": "checkpoint-oa-action-undo/rationale.arcadia" + } + ], + "reachable_source_files": [ + "project.arcadia", + "rationale.arcadia" + ], + "baseline_json_role": "Immutable expected evidence copied with the fixture; not model source or a fresh post-edit expectation." + }, + { + "name": "checkpoint-oa-fragment", + "physical_files": [ + { + "name": "expected-baseline.json", + "original_path": ".local/native-qa/scenario-20260911-v5/checkpoint-oa-fragment/expected-baseline.json", + "bytes": 38589, + "sha256": "abd8246c939ebb8a2162ef82e23d0fb322ee1a8b4d0d7c28a34037e42e86e841", + "preserved_path": "common/expected-baseline.json" + }, + { + "name": "project.arcadia", + "original_path": ".local/native-qa/scenario-20260911-v5/checkpoint-oa-fragment/project.arcadia", + "bytes": 22240, + "sha256": "fb857a17bd64bd02a183f4f1ad24ac3d6ff11d0aaff7e90f12f3e72088f8bb5b", + "preserved_path": "checkpoint-oa-fragment/project.arcadia" + }, + { + "name": "rationale.arcadia", + "original_path": ".local/native-qa/scenario-20260911-v5/checkpoint-oa-fragment/rationale.arcadia", + "bytes": 86, + "sha256": "82df210f22f6aa336a3e7e00240977d671c7c3923db7bc58fb29e6d98b67ef49", + "preserved_path": "checkpoint-oa-fragment/rationale.arcadia" + } + ], + "reachable_source_files": [ + "project.arcadia", + "rationale.arcadia" + ], + "baseline_json_role": "Immutable expected evidence copied with the fixture; not model source or a fresh post-edit expectation." + }, + { + "name": "checkpoint-oa-fragment-redo", + "physical_files": [ + { + "name": "expected-baseline.json", + "original_path": ".local/native-qa/scenario-20260911-v5/checkpoint-oa-fragment-redo/expected-baseline.json", + "bytes": 38589, + "sha256": "abd8246c939ebb8a2162ef82e23d0fb322ee1a8b4d0d7c28a34037e42e86e841", + "preserved_path": "common/expected-baseline.json" + }, + { + "name": "project.arcadia", + "original_path": ".local/native-qa/scenario-20260911-v5/checkpoint-oa-fragment-redo/project.arcadia", + "bytes": 22240, + "sha256": "fb857a17bd64bd02a183f4f1ad24ac3d6ff11d0aaff7e90f12f3e72088f8bb5b", + "preserved_path": "checkpoint-oa-fragment-redo/project.arcadia" + }, + { + "name": "rationale.arcadia", + "original_path": ".local/native-qa/scenario-20260911-v5/checkpoint-oa-fragment-redo/rationale.arcadia", + "bytes": 86, + "sha256": "82df210f22f6aa336a3e7e00240977d671c7c3923db7bc58fb29e6d98b67ef49", + "preserved_path": "checkpoint-oa-fragment-redo/rationale.arcadia" + } + ], + "reachable_source_files": [ + "project.arcadia", + "rationale.arcadia" + ], + "baseline_json_role": "Immutable expected evidence copied with the fixture; not model source or a fresh post-edit expectation." + }, + { + "name": "checkpoint-oa-fragment-undo", + "physical_files": [ + { + "name": "expected-baseline.json", + "original_path": ".local/native-qa/scenario-20260911-v5/checkpoint-oa-fragment-undo/expected-baseline.json", + "bytes": 38589, + "sha256": "abd8246c939ebb8a2162ef82e23d0fb322ee1a8b4d0d7c28a34037e42e86e841", + "preserved_path": "common/expected-baseline.json" + }, + { + "name": "project.arcadia", + "original_path": ".local/native-qa/scenario-20260911-v5/checkpoint-oa-fragment-undo/project.arcadia", + "bytes": 20884, + "sha256": "08c533f0f4a7b11130ff60f39803a3cf220ab49e6421c00f3897edb2b7ae2544", + "preserved_path": "checkpoint-oa-fragment-undo/project.arcadia" + }, + { + "name": "rationale.arcadia", + "original_path": ".local/native-qa/scenario-20260911-v5/checkpoint-oa-fragment-undo/rationale.arcadia", + "bytes": 86, + "sha256": "82df210f22f6aa336a3e7e00240977d671c7c3923db7bc58fb29e6d98b67ef49", + "preserved_path": "checkpoint-oa-fragment-undo/rationale.arcadia" + } + ], + "reachable_source_files": [ + "project.arcadia", + "rationale.arcadia" + ], + "baseline_json_role": "Immutable expected evidence copied with the fixture; not model source or a fresh post-edit expectation." + }, + { + "name": "checkpoint-oa-reopen", + "physical_files": [ + { + "name": "expected-baseline.json", + "original_path": ".local/native-qa/scenario-20260911-v5/checkpoint-oa-reopen/expected-baseline.json", + "bytes": 38589, + "sha256": "abd8246c939ebb8a2162ef82e23d0fb322ee1a8b4d0d7c28a34037e42e86e841", + "preserved_path": "common/expected-baseline.json" + }, + { + "name": "project.arcadia", + "original_path": ".local/native-qa/scenario-20260911-v5/checkpoint-oa-reopen/project.arcadia", + "bytes": 22240, + "sha256": "fb857a17bd64bd02a183f4f1ad24ac3d6ff11d0aaff7e90f12f3e72088f8bb5b", + "preserved_path": "checkpoint-oa-reopen/project.arcadia" + }, + { + "name": "rationale.arcadia", + "original_path": ".local/native-qa/scenario-20260911-v5/checkpoint-oa-reopen/rationale.arcadia", + "bytes": 86, + "sha256": "82df210f22f6aa336a3e7e00240977d671c7c3923db7bc58fb29e6d98b67ef49", + "preserved_path": "checkpoint-oa-reopen/rationale.arcadia" + } + ], + "reachable_source_files": [ + "project.arcadia", + "rationale.arcadia" + ], + "baseline_json_role": "Immutable expected evidence copied with the fixture; not model source or a fresh post-edit expectation." + }, + { + "name": "checkpoint-oa-reuse", + "physical_files": [ + { + "name": "expected-baseline.json", + "original_path": ".local/native-qa/scenario-20260911-v5/checkpoint-oa-reuse/expected-baseline.json", + "bytes": 38589, + "sha256": "abd8246c939ebb8a2162ef82e23d0fb322ee1a8b4d0d7c28a34037e42e86e841", + "preserved_path": "common/expected-baseline.json" + }, + { + "name": "project.arcadia", + "original_path": ".local/native-qa/scenario-20260911-v5/checkpoint-oa-reuse/project.arcadia", + "bytes": 20884, + "sha256": "08c533f0f4a7b11130ff60f39803a3cf220ab49e6421c00f3897edb2b7ae2544", + "preserved_path": "checkpoint-oa-reuse/project.arcadia" + }, + { + "name": "rationale.arcadia", + "original_path": ".local/native-qa/scenario-20260911-v5/checkpoint-oa-reuse/rationale.arcadia", + "bytes": 86, + "sha256": "82df210f22f6aa336a3e7e00240977d671c7c3923db7bc58fb29e6d98b67ef49", + "preserved_path": "checkpoint-oa-reuse/rationale.arcadia" + } + ], + "reachable_source_files": [ + "project.arcadia", + "rationale.arcadia" + ], + "baseline_json_role": "Immutable expected evidence copied with the fixture; not model source or a fresh post-edit expectation." + }, + { + "name": "checkpoint-oa-reuse-redo", + "physical_files": [ + { + "name": "expected-baseline.json", + "original_path": ".local/native-qa/scenario-20260911-v5/checkpoint-oa-reuse-redo/expected-baseline.json", + "bytes": 38589, + "sha256": "abd8246c939ebb8a2162ef82e23d0fb322ee1a8b4d0d7c28a34037e42e86e841", + "preserved_path": "common/expected-baseline.json" + }, + { + "name": "project.arcadia", + "original_path": ".local/native-qa/scenario-20260911-v5/checkpoint-oa-reuse-redo/project.arcadia", + "bytes": 20884, + "sha256": "08c533f0f4a7b11130ff60f39803a3cf220ab49e6421c00f3897edb2b7ae2544", + "preserved_path": "checkpoint-oa-reuse-redo/project.arcadia" + }, + { + "name": "rationale.arcadia", + "original_path": ".local/native-qa/scenario-20260911-v5/checkpoint-oa-reuse-redo/rationale.arcadia", + "bytes": 86, + "sha256": "82df210f22f6aa336a3e7e00240977d671c7c3923db7bc58fb29e6d98b67ef49", + "preserved_path": "checkpoint-oa-reuse-redo/rationale.arcadia" + } + ], + "reachable_source_files": [ + "project.arcadia", + "rationale.arcadia" + ], + "baseline_json_role": "Immutable expected evidence copied with the fixture; not model source or a fresh post-edit expectation." + }, + { + "name": "checkpoint-oa-reuse-undo", + "physical_files": [ + { + "name": "expected-baseline.json", + "original_path": ".local/native-qa/scenario-20260911-v5/checkpoint-oa-reuse-undo/expected-baseline.json", + "bytes": 38589, + "sha256": "abd8246c939ebb8a2162ef82e23d0fb322ee1a8b4d0d7c28a34037e42e86e841", + "preserved_path": "common/expected-baseline.json" + }, + { + "name": "project.arcadia", + "original_path": ".local/native-qa/scenario-20260911-v5/checkpoint-oa-reuse-undo/project.arcadia", + "bytes": 20253, + "sha256": "38ec535bf2e85250bfda736850583ddaacd512dcbb973b0c54a0e7916377e257", + "preserved_path": "checkpoint-oa-reuse-undo/project.arcadia" + }, + { + "name": "rationale.arcadia", + "original_path": ".local/native-qa/scenario-20260911-v5/checkpoint-oa-reuse-undo/rationale.arcadia", + "bytes": 86, + "sha256": "82df210f22f6aa336a3e7e00240977d671c7c3923db7bc58fb29e6d98b67ef49", + "preserved_path": "checkpoint-oa-reuse-undo/rationale.arcadia" + } + ], + "reachable_source_files": [ + "project.arcadia", + "rationale.arcadia" + ], + "baseline_json_role": "Immutable expected evidence copied with the fixture; not model source or a fresh post-edit expectation." + }, + { + "name": "checkpoint-oa-state", + "physical_files": [ + { + "name": "expected-baseline.json", + "original_path": ".local/native-qa/scenario-20260911-v5/checkpoint-oa-state/expected-baseline.json", + "bytes": 38589, + "sha256": "abd8246c939ebb8a2162ef82e23d0fb322ee1a8b4d0d7c28a34037e42e86e841", + "preserved_path": "common/expected-baseline.json" + }, + { + "name": "project.arcadia", + "original_path": ".local/native-qa/scenario-20260911-v5/checkpoint-oa-state/project.arcadia", + "bytes": 20253, + "sha256": "38ec535bf2e85250bfda736850583ddaacd512dcbb973b0c54a0e7916377e257", + "preserved_path": "checkpoint-oa-state/project.arcadia" + }, + { + "name": "rationale.arcadia", + "original_path": ".local/native-qa/scenario-20260911-v5/checkpoint-oa-state/rationale.arcadia", + "bytes": 86, + "sha256": "82df210f22f6aa336a3e7e00240977d671c7c3923db7bc58fb29e6d98b67ef49", + "preserved_path": "checkpoint-oa-state/rationale.arcadia" + } + ], + "reachable_source_files": [ + "project.arcadia", + "rationale.arcadia" + ], + "baseline_json_role": "Immutable expected evidence copied with the fixture; not model source or a fresh post-edit expectation." + }, + { + "name": "checkpoint-oa-state-redo", + "physical_files": [ + { + "name": "expected-baseline.json", + "original_path": ".local/native-qa/scenario-20260911-v5/checkpoint-oa-state-redo/expected-baseline.json", + "bytes": 38589, + "sha256": "abd8246c939ebb8a2162ef82e23d0fb322ee1a8b4d0d7c28a34037e42e86e841", + "preserved_path": "common/expected-baseline.json" + }, + { + "name": "project.arcadia", + "original_path": ".local/native-qa/scenario-20260911-v5/checkpoint-oa-state-redo/project.arcadia", + "bytes": 20253, + "sha256": "38ec535bf2e85250bfda736850583ddaacd512dcbb973b0c54a0e7916377e257", + "preserved_path": "checkpoint-oa-state-redo/project.arcadia" + }, + { + "name": "rationale.arcadia", + "original_path": ".local/native-qa/scenario-20260911-v5/checkpoint-oa-state-redo/rationale.arcadia", + "bytes": 86, + "sha256": "82df210f22f6aa336a3e7e00240977d671c7c3923db7bc58fb29e6d98b67ef49", + "preserved_path": "checkpoint-oa-state-redo/rationale.arcadia" + } + ], + "reachable_source_files": [ + "project.arcadia", + "rationale.arcadia" + ], + "baseline_json_role": "Immutable expected evidence copied with the fixture; not model source or a fresh post-edit expectation." + }, + { + "name": "checkpoint-oa-state-undo", + "physical_files": [ + { + "name": "expected-baseline.json", + "original_path": ".local/native-qa/scenario-20260911-v5/checkpoint-oa-state-undo/expected-baseline.json", + "bytes": 38589, + "sha256": "abd8246c939ebb8a2162ef82e23d0fb322ee1a8b4d0d7c28a34037e42e86e841", + "preserved_path": "common/expected-baseline.json" + }, + { + "name": "project.arcadia", + "original_path": ".local/native-qa/scenario-20260911-v5/checkpoint-oa-state-undo/project.arcadia", + "bytes": 19864, + "sha256": "b706f7098920ef75689892035cb0324524a5358d869cdb65166e87a05b31368a", + "preserved_path": "checkpoint-oa-state-undo/project.arcadia" + }, + { + "name": "rationale.arcadia", + "original_path": ".local/native-qa/scenario-20260911-v5/checkpoint-oa-state-undo/rationale.arcadia", + "bytes": 86, + "sha256": "82df210f22f6aa336a3e7e00240977d671c7c3923db7bc58fb29e6d98b67ef49", + "preserved_path": "checkpoint-oa-state-undo/rationale.arcadia" + } + ], + "reachable_source_files": [ + "project.arcadia", + "rationale.arcadia" + ], + "baseline_json_role": "Immutable expected evidence copied with the fixture; not model source or a fresh post-edit expectation." + } + ], + "deduplicated_baseline": { + "path": "common/expected-baseline.json", + "bytes": 38589, + "sha256": "abd8246c939ebb8a2162ef82e23d0fb322ee1a8b4d0d7c28a34037e42e86e841", + "identical_original_paths": [ + ".local/native-qa/scenario-20260911-v5/checkpoint-b3-navigation/expected-baseline.json", + ".local/native-qa/scenario-20260911-v5/checkpoint-oa-action/expected-baseline.json", + ".local/native-qa/scenario-20260911-v5/checkpoint-oa-action-redo/expected-baseline.json", + ".local/native-qa/scenario-20260911-v5/checkpoint-oa-action-undo/expected-baseline.json", + ".local/native-qa/scenario-20260911-v5/checkpoint-oa-fragment/expected-baseline.json", + ".local/native-qa/scenario-20260911-v5/checkpoint-oa-fragment-redo/expected-baseline.json", + ".local/native-qa/scenario-20260911-v5/checkpoint-oa-fragment-undo/expected-baseline.json", + ".local/native-qa/scenario-20260911-v5/checkpoint-oa-reopen/expected-baseline.json", + ".local/native-qa/scenario-20260911-v5/checkpoint-oa-reuse/expected-baseline.json", + ".local/native-qa/scenario-20260911-v5/checkpoint-oa-reuse-redo/expected-baseline.json", + ".local/native-qa/scenario-20260911-v5/checkpoint-oa-reuse-undo/expected-baseline.json", + ".local/native-qa/scenario-20260911-v5/checkpoint-oa-state/expected-baseline.json", + ".local/native-qa/scenario-20260911-v5/checkpoint-oa-state-redo/expected-baseline.json", + ".local/native-qa/scenario-20260911-v5/checkpoint-oa-state-undo/expected-baseline.json" + ] + }, + "excluded": { + "directories": [ + "work" + ], + "files": [ + "scenario-authoring-contract.exe", + "libunwind.dll" + ], + "already_committed_contracts": [ + "harness/scenario-authoring-contract.rs", + "harness/fixtures/scenario-authoring/base/" + ] + }, + "counts": { + "checkpoints": 14, + "original_physical_checkpoint_files": 42, + "copied_payload_files": 80, + "copied_payload_bytes": 2370037, + "source_files": 28, + "unique_baseline_json": 1, + "logs": 29, + "screenshots": 21, + "provenance_files": 1 + }, + "files": [ + { + "path": "common/expected-baseline.json", + "original_path": ".local/native-qa/scenario-20260911-v5/checkpoint-b3-navigation/expected-baseline.json", + "bytes": 38589, + "sha256": "abd8246c939ebb8a2162ef82e23d0fb322ee1a8b4d0d7c28a34037e42e86e841" + }, + { + "path": "checkpoint-b3-navigation/project.arcadia", + "original_path": ".local/native-qa/scenario-20260911-v5/checkpoint-b3-navigation/project.arcadia", + "bytes": 19470, + "sha256": "9b1afbe96b0bf8fa613451b00929492f05a59b9eb2ca74c2c374a8b7bb7cba9e" + }, + { + "path": "checkpoint-b3-navigation/rationale.arcadia", + "original_path": ".local/native-qa/scenario-20260911-v5/checkpoint-b3-navigation/rationale.arcadia", + "bytes": 86, + "sha256": "82df210f22f6aa336a3e7e00240977d671c7c3923db7bc58fb29e6d98b67ef49" + }, + { + "path": "checkpoint-oa-action/project.arcadia", + "original_path": ".local/native-qa/scenario-20260911-v5/checkpoint-oa-action/project.arcadia", + "bytes": 19864, + "sha256": "b706f7098920ef75689892035cb0324524a5358d869cdb65166e87a05b31368a" + }, + { + "path": "checkpoint-oa-action/rationale.arcadia", + "original_path": ".local/native-qa/scenario-20260911-v5/checkpoint-oa-action/rationale.arcadia", + "bytes": 86, + "sha256": "82df210f22f6aa336a3e7e00240977d671c7c3923db7bc58fb29e6d98b67ef49" + }, + { + "path": "checkpoint-oa-action-redo/project.arcadia", + "original_path": ".local/native-qa/scenario-20260911-v5/checkpoint-oa-action-redo/project.arcadia", + "bytes": 19864, + "sha256": "b706f7098920ef75689892035cb0324524a5358d869cdb65166e87a05b31368a" + }, + { + "path": "checkpoint-oa-action-redo/rationale.arcadia", + "original_path": ".local/native-qa/scenario-20260911-v5/checkpoint-oa-action-redo/rationale.arcadia", + "bytes": 86, + "sha256": "82df210f22f6aa336a3e7e00240977d671c7c3923db7bc58fb29e6d98b67ef49" + }, + { + "path": "checkpoint-oa-action-undo/project.arcadia", + "original_path": ".local/native-qa/scenario-20260911-v5/checkpoint-oa-action-undo/project.arcadia", + "bytes": 19470, + "sha256": "9b1afbe96b0bf8fa613451b00929492f05a59b9eb2ca74c2c374a8b7bb7cba9e" + }, + { + "path": "checkpoint-oa-action-undo/rationale.arcadia", + "original_path": ".local/native-qa/scenario-20260911-v5/checkpoint-oa-action-undo/rationale.arcadia", + "bytes": 86, + "sha256": "82df210f22f6aa336a3e7e00240977d671c7c3923db7bc58fb29e6d98b67ef49" + }, + { + "path": "checkpoint-oa-fragment/project.arcadia", + "original_path": ".local/native-qa/scenario-20260911-v5/checkpoint-oa-fragment/project.arcadia", + "bytes": 22240, + "sha256": "fb857a17bd64bd02a183f4f1ad24ac3d6ff11d0aaff7e90f12f3e72088f8bb5b" + }, + { + "path": "checkpoint-oa-fragment/rationale.arcadia", + "original_path": ".local/native-qa/scenario-20260911-v5/checkpoint-oa-fragment/rationale.arcadia", + "bytes": 86, + "sha256": "82df210f22f6aa336a3e7e00240977d671c7c3923db7bc58fb29e6d98b67ef49" + }, + { + "path": "checkpoint-oa-fragment-redo/project.arcadia", + "original_path": ".local/native-qa/scenario-20260911-v5/checkpoint-oa-fragment-redo/project.arcadia", + "bytes": 22240, + "sha256": "fb857a17bd64bd02a183f4f1ad24ac3d6ff11d0aaff7e90f12f3e72088f8bb5b" + }, + { + "path": "checkpoint-oa-fragment-redo/rationale.arcadia", + "original_path": ".local/native-qa/scenario-20260911-v5/checkpoint-oa-fragment-redo/rationale.arcadia", + "bytes": 86, + "sha256": "82df210f22f6aa336a3e7e00240977d671c7c3923db7bc58fb29e6d98b67ef49" + }, + { + "path": "checkpoint-oa-fragment-undo/project.arcadia", + "original_path": ".local/native-qa/scenario-20260911-v5/checkpoint-oa-fragment-undo/project.arcadia", + "bytes": 20884, + "sha256": "08c533f0f4a7b11130ff60f39803a3cf220ab49e6421c00f3897edb2b7ae2544" + }, + { + "path": "checkpoint-oa-fragment-undo/rationale.arcadia", + "original_path": ".local/native-qa/scenario-20260911-v5/checkpoint-oa-fragment-undo/rationale.arcadia", + "bytes": 86, + "sha256": "82df210f22f6aa336a3e7e00240977d671c7c3923db7bc58fb29e6d98b67ef49" + }, + { + "path": "checkpoint-oa-reopen/project.arcadia", + "original_path": ".local/native-qa/scenario-20260911-v5/checkpoint-oa-reopen/project.arcadia", + "bytes": 22240, + "sha256": "fb857a17bd64bd02a183f4f1ad24ac3d6ff11d0aaff7e90f12f3e72088f8bb5b" + }, + { + "path": "checkpoint-oa-reopen/rationale.arcadia", + "original_path": ".local/native-qa/scenario-20260911-v5/checkpoint-oa-reopen/rationale.arcadia", + "bytes": 86, + "sha256": "82df210f22f6aa336a3e7e00240977d671c7c3923db7bc58fb29e6d98b67ef49" + }, + { + "path": "checkpoint-oa-reuse/project.arcadia", + "original_path": ".local/native-qa/scenario-20260911-v5/checkpoint-oa-reuse/project.arcadia", + "bytes": 20884, + "sha256": "08c533f0f4a7b11130ff60f39803a3cf220ab49e6421c00f3897edb2b7ae2544" + }, + { + "path": "checkpoint-oa-reuse/rationale.arcadia", + "original_path": ".local/native-qa/scenario-20260911-v5/checkpoint-oa-reuse/rationale.arcadia", + "bytes": 86, + "sha256": "82df210f22f6aa336a3e7e00240977d671c7c3923db7bc58fb29e6d98b67ef49" + }, + { + "path": "checkpoint-oa-reuse-redo/project.arcadia", + "original_path": ".local/native-qa/scenario-20260911-v5/checkpoint-oa-reuse-redo/project.arcadia", + "bytes": 20884, + "sha256": "08c533f0f4a7b11130ff60f39803a3cf220ab49e6421c00f3897edb2b7ae2544" + }, + { + "path": "checkpoint-oa-reuse-redo/rationale.arcadia", + "original_path": ".local/native-qa/scenario-20260911-v5/checkpoint-oa-reuse-redo/rationale.arcadia", + "bytes": 86, + "sha256": "82df210f22f6aa336a3e7e00240977d671c7c3923db7bc58fb29e6d98b67ef49" + }, + { + "path": "checkpoint-oa-reuse-undo/project.arcadia", + "original_path": ".local/native-qa/scenario-20260911-v5/checkpoint-oa-reuse-undo/project.arcadia", + "bytes": 20253, + "sha256": "38ec535bf2e85250bfda736850583ddaacd512dcbb973b0c54a0e7916377e257" + }, + { + "path": "checkpoint-oa-reuse-undo/rationale.arcadia", + "original_path": ".local/native-qa/scenario-20260911-v5/checkpoint-oa-reuse-undo/rationale.arcadia", + "bytes": 86, + "sha256": "82df210f22f6aa336a3e7e00240977d671c7c3923db7bc58fb29e6d98b67ef49" + }, + { + "path": "checkpoint-oa-state/project.arcadia", + "original_path": ".local/native-qa/scenario-20260911-v5/checkpoint-oa-state/project.arcadia", + "bytes": 20253, + "sha256": "38ec535bf2e85250bfda736850583ddaacd512dcbb973b0c54a0e7916377e257" + }, + { + "path": "checkpoint-oa-state/rationale.arcadia", + "original_path": ".local/native-qa/scenario-20260911-v5/checkpoint-oa-state/rationale.arcadia", + "bytes": 86, + "sha256": "82df210f22f6aa336a3e7e00240977d671c7c3923db7bc58fb29e6d98b67ef49" + }, + { + "path": "checkpoint-oa-state-redo/project.arcadia", + "original_path": ".local/native-qa/scenario-20260911-v5/checkpoint-oa-state-redo/project.arcadia", + "bytes": 20253, + "sha256": "38ec535bf2e85250bfda736850583ddaacd512dcbb973b0c54a0e7916377e257" + }, + { + "path": "checkpoint-oa-state-redo/rationale.arcadia", + "original_path": ".local/native-qa/scenario-20260911-v5/checkpoint-oa-state-redo/rationale.arcadia", + "bytes": 86, + "sha256": "82df210f22f6aa336a3e7e00240977d671c7c3923db7bc58fb29e6d98b67ef49" + }, + { + "path": "checkpoint-oa-state-undo/project.arcadia", + "original_path": ".local/native-qa/scenario-20260911-v5/checkpoint-oa-state-undo/project.arcadia", + "bytes": 19864, + "sha256": "b706f7098920ef75689892035cb0324524a5358d869cdb65166e87a05b31368a" + }, + { + "path": "checkpoint-oa-state-undo/rationale.arcadia", + "original_path": ".local/native-qa/scenario-20260911-v5/checkpoint-oa-state-undo/rationale.arcadia", + "bytes": 86, + "sha256": "82df210f22f6aa336a3e7e00240977d671c7c3923db7bc58fb29e6d98b67ef49" + }, + { + "path": "logs/b3-cancel-baseline.log", + "original_path": ".local/native-qa/scenario-20260911-v5/b3-cancel-baseline.log", + "bytes": 95, + "sha256": "0bdc966daf9ca03aa350306578c2ecc058ded7b471b008778d14878c2d3416c5" + }, + { + "path": "logs/b3-exact-baseline.log", + "original_path": ".local/native-qa/scenario-20260911-v5/b3-exact-baseline.log", + "bytes": 91, + "sha256": "4c1b57431e74ae82823e5fd4bdb199d7c6a42f4e890b8344342eb467364495e8" + }, + { + "path": "screenshots/oa-action-click-target.png", + "original_path": ".local/native-qa/scenario-20260911-v5/oa-action-click-target.png", + "bytes": 78568, + "sha256": "15111be6ed97767062a634dc8a0ea0da552e435013b2b90aba47d809198c1a19" + }, + { + "path": "screenshots/oa-action-ready-source-and-slot.png", + "original_path": ".local/native-qa/scenario-20260911-v5/oa-action-ready-source-and-slot.png", + "bytes": 87850, + "sha256": "1b550c0832947de757774bec25b074d393bf75f9be54c76e855338cbf90abd09" + }, + { + "path": "logs/oa-action-redo-exact.log", + "original_path": ".local/native-qa/scenario-20260911-v5/oa-action-redo-exact.log", + "bytes": 91, + "sha256": "4c1b57431e74ae82823e5fd4bdb199d7c6a42f4e890b8344342eb467364495e8" + }, + { + "path": "logs/oa-action-redo.log", + "original_path": ".local/native-qa/scenario-20260911-v5/oa-action-redo.log", + "bytes": 96, + "sha256": "321248f5341b443cf56b57025ae4abc24af8eaa960ae5861aa3d5df8482291d3" + }, + { + "path": "logs/oa-action-undo-exact.log", + "original_path": ".local/native-qa/scenario-20260911-v5/oa-action-undo-exact.log", + "bytes": 91, + "sha256": "4c1b57431e74ae82823e5fd4bdb199d7c6a42f4e890b8344342eb467364495e8" + }, + { + "path": "logs/oa-action-undo.log", + "original_path": ".local/native-qa/scenario-20260911-v5/oa-action-undo.log", + "bytes": 95, + "sha256": "0bdc966daf9ca03aa350306578c2ecc058ded7b471b008778d14878c2d3416c5" + }, + { + "path": "logs/oa-action.log", + "original_path": ".local/native-qa/scenario-20260911-v5/oa-action.log", + "bytes": 96, + "sha256": "321248f5341b443cf56b57025ae4abc24af8eaa960ae5861aa3d5df8482291d3" + }, + { + "path": "logs/oa-b3-baseline-after-save.log", + "original_path": ".local/native-qa/scenario-20260911-v5/oa-b3-baseline-after-save.log", + "bytes": 95, + "sha256": "0bdc966daf9ca03aa350306578c2ecc058ded7b471b008778d14878c2d3416c5" + }, + { + "path": "screenshots/oa-first-use-detail-after-return.png", + "original_path": ".local/native-qa/scenario-20260911-v5/oa-first-use-detail-after-return.png", + "bytes": 137005, + "sha256": "37b311a6d251abefb275b10059a6d6ff5a5d3bb394622465bc87fe90bb9a0fbe" + }, + { + "path": "screenshots/oa-first-use-detail-before-open.png", + "original_path": ".local/native-qa/scenario-20260911-v5/oa-first-use-detail-before-open.png", + "bytes": 137264, + "sha256": "c0ee262babe44479f6b1729d8e770b138a498d06e39b7bd47dcdb6dbbc42f078" + }, + { + "path": "screenshots/oa-first-use-min-after-return.png", + "original_path": ".local/native-qa/scenario-20260911-v5/oa-first-use-min-after-return.png", + "bytes": 106370, + "sha256": "aa015b7ca5b6e7a9e87521a3771ec3a956c968c5350c8eff1e2b885853c959da" + }, + { + "path": "screenshots/oa-first-use-min-before-open.png", + "original_path": ".local/native-qa/scenario-20260911-v5/oa-first-use-min-before-open.png", + "bytes": 106117, + "sha256": "31e22bb757a50234246ba13be070bd0d4aede096123be0a0248d45ae89e4b88f" + }, + { + "path": "screenshots/oa-fragment-clicked-slot.png", + "original_path": ".local/native-qa/scenario-20260911-v5/oa-fragment-clicked-slot.png", + "bytes": 86119, + "sha256": "2079e0a8d640f82900f223934566db38f334149b864ebb65e652a3d4c7daf481" + }, + { + "path": "screenshots/oa-fragment-ready-guards.png", + "original_path": ".local/native-qa/scenario-20260911-v5/oa-fragment-ready-guards.png", + "bytes": 89963, + "sha256": "31800124faa2460678a0063036022f215d47176e4c81f65865fe3c670a725991" + }, + { + "path": "logs/oa-fragment-redo-exact.log", + "original_path": ".local/native-qa/scenario-20260911-v5/oa-fragment-redo-exact.log", + "bytes": 91, + "sha256": "4c1b57431e74ae82823e5fd4bdb199d7c6a42f4e890b8344342eb467364495e8" + }, + { + "path": "logs/oa-fragment-redo.log", + "original_path": ".local/native-qa/scenario-20260911-v5/oa-fragment-redo.log", + "bytes": 98, + "sha256": "017252a83310d2c28952b1d94cd706530cbcadb6d019d3f82a0e022a774802eb" + }, + { + "path": "logs/oa-fragment-undo-exact.log", + "original_path": ".local/native-qa/scenario-20260911-v5/oa-fragment-undo-exact.log", + "bytes": 91, + "sha256": "4c1b57431e74ae82823e5fd4bdb199d7c6a42f4e890b8344342eb467364495e8" + }, + { + "path": "logs/oa-fragment-undo.log", + "original_path": ".local/native-qa/scenario-20260911-v5/oa-fragment-undo.log", + "bytes": 95, + "sha256": "130ffba8e408f944e1698e5beb9fc9a1fbedb2f914aa3b593ef45d4f12dbc447" + }, + { + "path": "logs/oa-fragment.log", + "original_path": ".local/native-qa/scenario-20260911-v5/oa-fragment.log", + "bytes": 98, + "sha256": "017252a83310d2c28952b1d94cd706530cbcadb6d019d3f82a0e022a774802eb" + }, + { + "path": "logs/oa-reopen-exact.log", + "original_path": ".local/native-qa/scenario-20260911-v5/oa-reopen-exact.log", + "bytes": 91, + "sha256": "4c1b57431e74ae82823e5fd4bdb199d7c6a42f4e890b8344342eb467364495e8" + }, + { + "path": "logs/oa-reopen.log", + "original_path": ".local/native-qa/scenario-20260911-v5/oa-reopen.log", + "bytes": 98, + "sha256": "017252a83310d2c28952b1d94cd706530cbcadb6d019d3f82a0e022a774802eb" + }, + { + "path": "screenshots/oa-reopened-saved.png", + "original_path": ".local/native-qa/scenario-20260911-v5/oa-reopened-saved.png", + "bytes": 83813, + "sha256": "e52d576aa889cfbebc37b1017f701b40e9fb7035de74508e1eaba345d316e413" + }, + { + "path": "screenshots/oa-reuse-ready-bindings.png", + "original_path": ".local/native-qa/scenario-20260911-v5/oa-reuse-ready-bindings.png", + "bytes": 82579, + "sha256": "df6686342ad0a37ee8949f22390c88b331c8b5a5398ee885c10a9b36ded3845b" + }, + { + "path": "logs/oa-reuse-redo-exact.log", + "original_path": ".local/native-qa/scenario-20260911-v5/oa-reuse-redo-exact.log", + "bytes": 91, + "sha256": "4c1b57431e74ae82823e5fd4bdb199d7c6a42f4e890b8344342eb467364495e8" + }, + { + "path": "logs/oa-reuse-redo.log", + "original_path": ".local/native-qa/scenario-20260911-v5/oa-reuse-redo.log", + "bytes": 95, + "sha256": "130ffba8e408f944e1698e5beb9fc9a1fbedb2f914aa3b593ef45d4f12dbc447" + }, + { + "path": "logs/oa-reuse-undo-exact.log", + "original_path": ".local/native-qa/scenario-20260911-v5/oa-reuse-undo-exact.log", + "bytes": 91, + "sha256": "4c1b57431e74ae82823e5fd4bdb199d7c6a42f4e890b8344342eb467364495e8" + }, + { + "path": "logs/oa-reuse-undo.log", + "original_path": ".local/native-qa/scenario-20260911-v5/oa-reuse-undo.log", + "bytes": 95, + "sha256": "4e329222b6a452c50de27826d8069a3c52bf9442f6fedce3fc6410c1ad9b1fe0" + }, + { + "path": "logs/oa-reuse.log", + "original_path": ".local/native-qa/scenario-20260911-v5/oa-reuse.log", + "bytes": 95, + "sha256": "130ffba8e408f944e1698e5beb9fc9a1fbedb2f914aa3b593ef45d4f12dbc447" + }, + { + "path": "screenshots/oa-second-use-after-return.png", + "original_path": ".local/native-qa/scenario-20260911-v5/oa-second-use-after-return.png", + "bytes": 136219, + "sha256": "8572f32e04829fe89cf1c8a82c64de6d55155b7ef345d856a3ea47baeed952a3" + }, + { + "path": "screenshots/oa-second-use-before-open.png", + "original_path": ".local/native-qa/scenario-20260911-v5/oa-second-use-before-open.png", + "bytes": 135902, + "sha256": "095012ff20ed85fa7cc98a9c2a3e330c24fe8ce9695dfefd1c0e26d1083d01e2" + }, + { + "path": "screenshots/oa-second-use-min-after-return.png", + "original_path": ".local/native-qa/scenario-20260911-v5/oa-second-use-min-after-return.png", + "bytes": 107826, + "sha256": "936240cc9b8065538a265f9ac584be0fc3c1659343fad5a280b3e12c93673c39" + }, + { + "path": "screenshots/oa-second-use-min-before-open.png", + "original_path": ".local/native-qa/scenario-20260911-v5/oa-second-use-min-before-open.png", + "bytes": 108133, + "sha256": "43ce8725960086b5e36c0ae32f48f48ff2cf69a2ce8a5590f13a74114fb7fd43" + }, + { + "path": "screenshots/oa-state-clicked-slot.png", + "original_path": ".local/native-qa/scenario-20260911-v5/oa-state-clicked-slot.png", + "bytes": 89261, + "sha256": "166e59d51390ecdaa0e44cfaf84d9c3bccc8452016a325098b79f5f8c2543d6f" + }, + { + "path": "screenshots/oa-state-ready-source-and-slot.png", + "original_path": ".local/native-qa/scenario-20260911-v5/oa-state-ready-source-and-slot.png", + "bytes": 88809, + "sha256": "9aeeabaf396bd32676fda446b796e1d3751e4c88ff60ce2efbd91d48015da2b9" + }, + { + "path": "logs/oa-state-redo-exact.log", + "original_path": ".local/native-qa/scenario-20260911-v5/oa-state-redo-exact.log", + "bytes": 91, + "sha256": "4c1b57431e74ae82823e5fd4bdb199d7c6a42f4e890b8344342eb467364495e8" + }, + { + "path": "logs/oa-state-redo.log", + "original_path": ".local/native-qa/scenario-20260911-v5/oa-state-redo.log", + "bytes": 95, + "sha256": "4e329222b6a452c50de27826d8069a3c52bf9442f6fedce3fc6410c1ad9b1fe0" + }, + { + "path": "logs/oa-state-undo-exact.log", + "original_path": ".local/native-qa/scenario-20260911-v5/oa-state-undo-exact.log", + "bytes": 91, + "sha256": "4c1b57431e74ae82823e5fd4bdb199d7c6a42f4e890b8344342eb467364495e8" + }, + { + "path": "logs/oa-state-undo.log", + "original_path": ".local/native-qa/scenario-20260911-v5/oa-state-undo.log", + "bytes": 96, + "sha256": "321248f5341b443cf56b57025ae4abc24af8eaa960ae5861aa3d5df8482291d3" + }, + { + "path": "logs/oa-state.log", + "original_path": ".local/native-qa/scenario-20260911-v5/oa-state.log", + "bytes": 95, + "sha256": "4e329222b6a452c50de27826d8069a3c52bf9442f6fedce3fc6410c1ad9b1fe0" + }, + { + "path": "logs/oracle-baseline.log", + "original_path": ".local/native-qa/scenario-20260911-v5/oracle-baseline.log", + "bytes": 95, + "sha256": "0bdc966daf9ca03aa350306578c2ecc058ded7b471b008778d14878c2d3416c5" + }, + { + "path": "logs/oracle-compile-incompatible-json.log", + "original_path": ".local/native-qa/scenario-20260911-v5/oracle-compile-incompatible-json.log", + "bytes": 2218, + "sha256": "304b1828e20293c48aab74272767c2d9b0e43b0034f19aedeee8b95da410e67f" + }, + { + "path": "logs/oracle-compile.log", + "original_path": ".local/native-qa/scenario-20260911-v5/oracle-compile.log", + "bytes": 0, + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "path": "provenance/oracle-provenance.json", + "original_path": ".local/native-qa/scenario-20260911-v5/oracle-provenance.json", + "bytes": 529, + "sha256": "6acd92e0a8baaf00933df22993f69a239af7a9430ead45160d590f20591ce231" + }, + { + "path": "logs/oracle-self-check.log", + "original_path": ".local/native-qa/scenario-20260911-v5/oracle-self-check.log", + "bytes": 150, + "sha256": "df226f7672d87e186aa35b1e6cca30c73ff0d046036348b19688c20f647bab21" + }, + { + "path": "screenshots/sa-first-use-min-after-return.png", + "original_path": ".local/native-qa/scenario-20260911-v5/sa-first-use-min-after-return.png", + "bytes": 73905, + "sha256": "0a414de66913f7542643ba28e70c33cfee2e0cff6b03274b5106b01e6ba416fc" + }, + { + "path": "screenshots/sa-first-use-min-before-open.png", + "original_path": ".local/native-qa/scenario-20260911-v5/sa-first-use-min-before-open.png", + "bytes": 73668, + "sha256": "d9af14f22aae4f4a3ad7652a740fafabecc40d256f37b8290b906dbfab9bc368" + }, + { + "path": "screenshots/sa-pending-open-disabled.png", + "original_path": ".local/native-qa/scenario-20260911-v5/sa-pending-open-disabled.png", + "bytes": 81454, + "sha256": "9b0d5bfe11c4a244104ba136ff0c4861fb572ed1264829cd135fb6b68bffe585" + }, + { + "path": "screenshots/sa-second-use-min-after-return.png", + "original_path": ".local/native-qa/scenario-20260911-v5/sa-second-use-min-after-return.png", + "bytes": 72797, + "sha256": "1d2b18c9d2300bf5858711b584d2cad688d6f994ae6cac40e403472e218e82e8" + }, + { + "path": "screenshots/sa-second-use-min-before-open.png", + "original_path": ".local/native-qa/scenario-20260911-v5/sa-second-use-min-before-open.png", + "bytes": 72620, + "sha256": "bfdd9b72b11d83eaab5b3f1993fdaa69707fc6d85632829f5af187e29781c055" + } + ] +} diff --git a/harness/experiments/scenario-native-local-20260911/preservation.log b/harness/experiments/scenario-native-local-20260911/preservation.log new file mode 100644 index 00000000..7159da17 --- /dev/null +++ b/harness/experiments/scenario-native-local-20260911/preservation.log @@ -0,0 +1,16 @@ +{ + "status": "PASS exact preservation", + "counts": { + "checkpoints": 14, + "original_physical_checkpoint_files": 42, + "copied_payload_files": 80, + "copied_payload_bytes": 2370037, + "source_files": 28, + "unique_baseline_json": 1, + "logs": 29, + "screenshots": 21, + "provenance_files": 1 + }, + "manifest_sha256": "cd0dba7fe8031128282f41dab0aa02e2f7c4c37debddbd32843b2b94b6baef33", + "payload_checksums_sha256": "c819bad78484167c21dfbd9e9a3647a487ec1f33d276e865f2d39c35b117322d" +} diff --git a/harness/experiments/scenario-native-local-20260911/preserve.py b/harness/experiments/scenario-native-local-20260911/preserve.py new file mode 100644 index 00000000..00fc1d59 --- /dev/null +++ b/harness/experiments/scenario-native-local-20260911/preserve.py @@ -0,0 +1,87 @@ +"""Exact closed-run evidence preservation; no oracle execution or mutable work reads.""" +import hashlib +import json +from pathlib import Path + +destination = Path(__file__).resolve().parent +repository = destination.parents[2] +source = repository / '.local/native-qa/scenario-20260911-v5' +def digest(data): + return hashlib.sha256(data).hexdigest() +records = [] +def copy(src, relative): + data = src.read_bytes() + target = destination / relative + target.parent.mkdir(parents=True, exist_ok=True) + if target.exists(): + assert target.read_bytes() == data, f'Existing evidence differs: {relative}' + else: + with target.open('xb') as output: + output.write(data) + assert src.read_bytes() == target.read_bytes() == data + record = {'path': relative, 'original_path': src.relative_to(repository).as_posix(), + 'bytes': len(data), 'sha256': digest(data)} + records.append(record) + return record + +checkpoints = [] +baseline = None +baseline_sources = [] +directories = sorted(p for p in source.iterdir() if p.is_dir() and p.name.startswith('checkpoint-')) +assert len(directories) == 14, 'Unexpected checkpoint inventory; review instead of omitting data' +for checkpoint in directories: + files = sorted(p for p in checkpoint.rglob('*') if p.is_file()) + names = [p.relative_to(checkpoint).as_posix() for p in files] + assert names == ['expected-baseline.json', 'project.arcadia', 'rationale.arcadia'], (checkpoint.name, names) + physical = [] + for path in files: + relative = path.relative_to(checkpoint).as_posix() + data = path.read_bytes() + if relative == 'expected-baseline.json': + if baseline is None: + baseline = data + copy(path, 'common/expected-baseline.json') + else: + assert data == baseline, 'Baseline JSON is not identical across checkpoints' + saved = 'common/expected-baseline.json' + baseline_sources.append(path.relative_to(repository).as_posix()) + else: + saved = checkpoint.name + '/' + relative + copy(path, saved) + physical.append({'name': relative, 'original_path': path.relative_to(repository).as_posix(), + 'bytes': len(data), 'sha256': digest(data), 'preserved_path': saved}) + checkpoints.append({'name': checkpoint.name, 'physical_files': physical, + 'reachable_source_files': ['project.arcadia', 'rationale.arcadia'], + 'baseline_json_role': 'Immutable expected evidence copied with the fixture; not model source or a fresh post-edit expectation.'}) + +for path in sorted(source.iterdir()): + if path.is_file() and (path.suffix in ('.log', '.png') or path.name == 'oracle-provenance.json'): + folder = 'screenshots' if path.suffix == '.png' else 'logs' if path.suffix == '.log' else 'provenance' + copy(path, folder + '/' + path.name) + +provenance = json.loads((destination / 'provenance/oracle-provenance.json').read_text(encoding='utf-8-sig')) +report = repository / 'harness/release-scenario-native-local-20260911.md' +result = {'format_version': 1, + 'scope': 'Closed D4D9 native v5: OA four B2 creations with individual Undo/Redo and final OA reopen; prior OA wide/minimum and SA minimum B3 navigation. No local SA B2 or later contextual/B4 acceptance.', + 'original_directory': source.relative_to(repository).as_posix(), + 'source_report': {'path': report.relative_to(repository).as_posix(), 'sha256_at_preservation': digest(report.read_bytes())}, + 'gui_sha256_from_source_report': 'd4d9c2bd937e301ff1009d7cb93a34ee5aa6dfc837ff7e87d468c85371b20c31', + 'oracle_provenance': provenance, + 'copy_method': 'Original and destination bytes compared after copy; no executable invocation, source parsing/normalization, model expectation changes or mutable work reads.', + 'checkpoints': checkpoints, + 'deduplicated_baseline': {'path': 'common/expected-baseline.json', 'bytes': len(baseline), + 'sha256': digest(baseline), 'identical_original_paths': baseline_sources}, + 'excluded': {'directories': ['work'], 'files': ['scenario-authoring-contract.exe', 'libunwind.dll'], + 'already_committed_contracts': ['harness/scenario-authoring-contract.rs', 'harness/fixtures/scenario-authoring/base/']}, + 'counts': {'checkpoints': len(checkpoints), 'original_physical_checkpoint_files': sum(len(c['physical_files']) for c in checkpoints), + 'copied_payload_files': len(records), 'copied_payload_bytes': sum(r['bytes'] for r in records), + 'source_files': sum(r['path'].endswith('.arcadia') for r in records), + 'unique_baseline_json': 1, 'logs': sum(r['path'].startswith('logs/') for r in records), + 'screenshots': sum(r['path'].startswith('screenshots/') for r in records), + 'provenance_files': sum(r['path'].startswith('provenance/') for r in records)}, + 'files': records} +(destination / 'manifest.json').write_text(json.dumps(result, indent=2) + '\n', encoding='utf-8', newline='\n') +(destination / 'SHA256SUMS.txt').write_text(''.join(f"{item['sha256']} {item['path']}\n" for item in sorted(records, key=lambda x: x['path'])), encoding='utf-8', newline='\n') +print(json.dumps({'status': 'PASS exact preservation', 'counts': result['counts'], + 'manifest_sha256': digest((destination / 'manifest.json').read_bytes()), + 'payload_checksums_sha256': digest((destination / 'SHA256SUMS.txt').read_bytes())}, indent=2)) diff --git a/harness/experiments/scenario-native-local-20260911/provenance/oracle-provenance.json b/harness/experiments/scenario-native-local-20260911/provenance/oracle-provenance.json new file mode 100644 index 00000000..3f5048ac --- /dev/null +++ b/harness/experiments/scenario-native-local-20260911/provenance/oracle-provenance.json @@ -0,0 +1,10 @@ +{ + "CompilerSeconds": 6.585732, + "ExeSha256": "BA9142DD98CC5EE386D344941216F4F7033F0B6992A4668F56C8B6A9A85D08C2", + "SourceSha256": "3BDA3EBC38E99BB658AD3EB9A5889E9C1CC77E8B1F8609079580AE27A4E8E789", + "CoreSha256": "5018A1FD7286ED9DFEDCBBF5B68B399AD5D143F2A9AAAED3078CFC934C9589C4", + "JsonSha256": "4FEDCDBED0D0B88D9168291697F248F3FD382CB684418602D145D9B4CE267F82", + "JsonFingerprint": "449df7f2a97cf841", + "CoreJsonDependencyFingerprint": "4753686476057189700", + "CompiledUtc": "2026-09-11T11:30:26.4512964Z" +} diff --git a/harness/experiments/scenario-native-local-20260911/screenshots/oa-action-click-target.png b/harness/experiments/scenario-native-local-20260911/screenshots/oa-action-click-target.png new file mode 100644 index 00000000..417a1eb6 Binary files /dev/null and b/harness/experiments/scenario-native-local-20260911/screenshots/oa-action-click-target.png differ diff --git a/harness/experiments/scenario-native-local-20260911/screenshots/oa-action-ready-source-and-slot.png b/harness/experiments/scenario-native-local-20260911/screenshots/oa-action-ready-source-and-slot.png new file mode 100644 index 00000000..0981a925 Binary files /dev/null and b/harness/experiments/scenario-native-local-20260911/screenshots/oa-action-ready-source-and-slot.png differ diff --git a/harness/experiments/scenario-native-local-20260911/screenshots/oa-first-use-detail-after-return.png b/harness/experiments/scenario-native-local-20260911/screenshots/oa-first-use-detail-after-return.png new file mode 100644 index 00000000..fe1ed69a Binary files /dev/null and b/harness/experiments/scenario-native-local-20260911/screenshots/oa-first-use-detail-after-return.png differ diff --git a/harness/experiments/scenario-native-local-20260911/screenshots/oa-first-use-detail-before-open.png b/harness/experiments/scenario-native-local-20260911/screenshots/oa-first-use-detail-before-open.png new file mode 100644 index 00000000..af69ce10 Binary files /dev/null and b/harness/experiments/scenario-native-local-20260911/screenshots/oa-first-use-detail-before-open.png differ diff --git a/harness/experiments/scenario-native-local-20260911/screenshots/oa-first-use-min-after-return.png b/harness/experiments/scenario-native-local-20260911/screenshots/oa-first-use-min-after-return.png new file mode 100644 index 00000000..314aa3b7 Binary files /dev/null and b/harness/experiments/scenario-native-local-20260911/screenshots/oa-first-use-min-after-return.png differ diff --git a/harness/experiments/scenario-native-local-20260911/screenshots/oa-first-use-min-before-open.png b/harness/experiments/scenario-native-local-20260911/screenshots/oa-first-use-min-before-open.png new file mode 100644 index 00000000..7d415a2a Binary files /dev/null and b/harness/experiments/scenario-native-local-20260911/screenshots/oa-first-use-min-before-open.png differ diff --git a/harness/experiments/scenario-native-local-20260911/screenshots/oa-fragment-clicked-slot.png b/harness/experiments/scenario-native-local-20260911/screenshots/oa-fragment-clicked-slot.png new file mode 100644 index 00000000..b62e9f6e Binary files /dev/null and b/harness/experiments/scenario-native-local-20260911/screenshots/oa-fragment-clicked-slot.png differ diff --git a/harness/experiments/scenario-native-local-20260911/screenshots/oa-fragment-ready-guards.png b/harness/experiments/scenario-native-local-20260911/screenshots/oa-fragment-ready-guards.png new file mode 100644 index 00000000..9254003d Binary files /dev/null and b/harness/experiments/scenario-native-local-20260911/screenshots/oa-fragment-ready-guards.png differ diff --git a/harness/experiments/scenario-native-local-20260911/screenshots/oa-reopened-saved.png b/harness/experiments/scenario-native-local-20260911/screenshots/oa-reopened-saved.png new file mode 100644 index 00000000..80ec84a7 Binary files /dev/null and b/harness/experiments/scenario-native-local-20260911/screenshots/oa-reopened-saved.png differ diff --git a/harness/experiments/scenario-native-local-20260911/screenshots/oa-reuse-ready-bindings.png b/harness/experiments/scenario-native-local-20260911/screenshots/oa-reuse-ready-bindings.png new file mode 100644 index 00000000..8ab613a2 Binary files /dev/null and b/harness/experiments/scenario-native-local-20260911/screenshots/oa-reuse-ready-bindings.png differ diff --git a/harness/experiments/scenario-native-local-20260911/screenshots/oa-second-use-after-return.png b/harness/experiments/scenario-native-local-20260911/screenshots/oa-second-use-after-return.png new file mode 100644 index 00000000..67a9cb0c Binary files /dev/null and b/harness/experiments/scenario-native-local-20260911/screenshots/oa-second-use-after-return.png differ diff --git a/harness/experiments/scenario-native-local-20260911/screenshots/oa-second-use-before-open.png b/harness/experiments/scenario-native-local-20260911/screenshots/oa-second-use-before-open.png new file mode 100644 index 00000000..e24a8393 Binary files /dev/null and b/harness/experiments/scenario-native-local-20260911/screenshots/oa-second-use-before-open.png differ diff --git a/harness/experiments/scenario-native-local-20260911/screenshots/oa-second-use-min-after-return.png b/harness/experiments/scenario-native-local-20260911/screenshots/oa-second-use-min-after-return.png new file mode 100644 index 00000000..3473066c Binary files /dev/null and b/harness/experiments/scenario-native-local-20260911/screenshots/oa-second-use-min-after-return.png differ diff --git a/harness/experiments/scenario-native-local-20260911/screenshots/oa-second-use-min-before-open.png b/harness/experiments/scenario-native-local-20260911/screenshots/oa-second-use-min-before-open.png new file mode 100644 index 00000000..16e5d079 Binary files /dev/null and b/harness/experiments/scenario-native-local-20260911/screenshots/oa-second-use-min-before-open.png differ diff --git a/harness/experiments/scenario-native-local-20260911/screenshots/oa-state-clicked-slot.png b/harness/experiments/scenario-native-local-20260911/screenshots/oa-state-clicked-slot.png new file mode 100644 index 00000000..742c65ee Binary files /dev/null and b/harness/experiments/scenario-native-local-20260911/screenshots/oa-state-clicked-slot.png differ diff --git a/harness/experiments/scenario-native-local-20260911/screenshots/oa-state-ready-source-and-slot.png b/harness/experiments/scenario-native-local-20260911/screenshots/oa-state-ready-source-and-slot.png new file mode 100644 index 00000000..7335411d Binary files /dev/null and b/harness/experiments/scenario-native-local-20260911/screenshots/oa-state-ready-source-and-slot.png differ diff --git a/harness/experiments/scenario-native-local-20260911/screenshots/sa-first-use-min-after-return.png b/harness/experiments/scenario-native-local-20260911/screenshots/sa-first-use-min-after-return.png new file mode 100644 index 00000000..de1e1cbe Binary files /dev/null and b/harness/experiments/scenario-native-local-20260911/screenshots/sa-first-use-min-after-return.png differ diff --git a/harness/experiments/scenario-native-local-20260911/screenshots/sa-first-use-min-before-open.png b/harness/experiments/scenario-native-local-20260911/screenshots/sa-first-use-min-before-open.png new file mode 100644 index 00000000..2bae4180 Binary files /dev/null and b/harness/experiments/scenario-native-local-20260911/screenshots/sa-first-use-min-before-open.png differ diff --git a/harness/experiments/scenario-native-local-20260911/screenshots/sa-pending-open-disabled.png b/harness/experiments/scenario-native-local-20260911/screenshots/sa-pending-open-disabled.png new file mode 100644 index 00000000..98ea0c7e Binary files /dev/null and b/harness/experiments/scenario-native-local-20260911/screenshots/sa-pending-open-disabled.png differ diff --git a/harness/experiments/scenario-native-local-20260911/screenshots/sa-second-use-min-after-return.png b/harness/experiments/scenario-native-local-20260911/screenshots/sa-second-use-min-after-return.png new file mode 100644 index 00000000..e2956b7a Binary files /dev/null and b/harness/experiments/scenario-native-local-20260911/screenshots/sa-second-use-min-after-return.png differ diff --git a/harness/experiments/scenario-native-local-20260911/screenshots/sa-second-use-min-before-open.png b/harness/experiments/scenario-native-local-20260911/screenshots/sa-second-use-min-before-open.png new file mode 100644 index 00000000..feaf2222 Binary files /dev/null and b/harness/experiments/scenario-native-local-20260911/screenshots/sa-second-use-min-before-open.png differ diff --git a/harness/release-scenario-native-local-20260911.md b/harness/release-scenario-native-local-20260911.md new file mode 100644 index 00000000..485b54cc --- /dev/null +++ b/harness/release-scenario-native-local-20260911.md @@ -0,0 +1,132 @@ +# Scenario native verification — Windows local host, 2026-09-11 + +Codex-9e8r6t `/root`. This record covers the native v5 trial on the verified +named-creation GUI, not the other hosts' scenario trials or later source changes. +The complete release remains unaccepted. B2 diagram creation is in progress. + +## Exact inputs and evaluator + +- Desktop source milestone: `4bb4aaf`, followed by evidence-only `2ec72d4`. + Running GUI SHA256 `D4D9C2BD937E301FF1009D7CB93A34EE5AA6DFC837FF7E87D468C85371B20C31`. + Native PID1284/window6161106 uses the isolated v4 profile and runtime. +- Fresh work copy: `.local/native-qa/scenario-20260911-v5/work/oa/`, copied from + the complete committed `harness/fixtures/scenario-authoring/base/`. + It contains both OA and SA baselines: 62 elements, zero relations and two + reachable source files. The third JSON file is expected evidence only. +- Independent checker: `harness/scenario-authoring-contract.rs`, SHA256 + `3BDA3EBC38E99BB658AD3EB9A5889E9C1CC77E8B1F8609079580AE27A4E8E789`. + Local executable SHA256 + `BA9142DD98CC5EE386D344941216F4F7033F0B6992A4668F56C8B6A9A85D08C2`. + Compilation denied warnings. The initial mismatched serde_json artifact + caused a compile-only trait error; the corrected invocation matched the + core's dependency fingerprint and passed. No oracle source was changed. + Exact core/JSON hashes are in v5 `oracle-provenance.json`; both compile logs + remain beside it. Self-check and baseline comparison passed before native work. + +## B3 observed navigation + +At a 1440×900 client area, selected **OA Second use of B**, opened B, selected +**OA B use of C**, and opened C. Back returned first to the selected B use and +then to the exact Second use in A (`scenario_oa_61`). The canvas retained its +offset and the Selection shelf reopened. Ordinary subsequent canvas scrolling +moved naturally; another selection did not snap back to the restored offset. + +Repeated the complete A→B→C→B→A path from **OA First use of B** +(`scenario_oa_60`), initiating it through the detailed-list **Open OA B +verification →** action. A returned to the first occurrence, its canvas offset +and the scrolled detailed-list position. First and second uses were never +treated as interchangeable. Before/after screenshots are retained in v5. + +Resized through Windows' native Size command to an actual 1100×700 client area +(1102×732 window capture). Repeated both complete OA paths. Caller selection, +canvas position and the first use's detailed-list position returned correctly. +The normal three-pane layout requires horizontal scrolling at 100%; the +controls remained reachable. The attempted border drags did not resize the +window and are not counted as successful sizing operations. + +At the same minimum size, used **Focus canvas** for SA, which hides both side +panels. Repeated A→B→C→B→A separately for **SA Second use of B** and **SA First +use of B**. The correct use, visible selection, focus layout and canvas offset +returned each time. The fixture's original uses retained their explicit two +lifeline mappings. These are UI observations; the oracle does not measure +selection or scrolling. + +## Pending navigation and preservation + +In SA A, armed **Add action** and clicked the inspector lifeline's explicit +root slot before SA First use of B. Typed `unfinished native action` into the +name field. The form showed that exact destination and retained the marker. +The Selection shelf exposed **Open definition** as disabled. Clicking the +disabled action did not navigate or lose the raw name/slot. At root A no Back +button exists, so no pending Back attempt is claimed. Explicit Cancel discarded +the draft, and Save retained the complete baseline. + +Native Ctrl+Z after navigation displayed `Model change undone` even though no +accepted edit was intended. The old App handler unconditionally reports that +message regardless of Document's boolean result; the message alone cannot prove +that history contained an entry. Full baseline comparison after Save passed. +The desktop owner has added a narrow return-value/status correction with an +empty-history and real-history regression; that later source remains outside +this native artifact and still needs execution/native verification. + +## Evidence and remaining work + +First B2 OA action completed at minimum size with focused canvas. Armed Add +action and clicked the inspector root slot before OA Root entry. The form showed +that exact slot, `OA native action`, work OA Inspect ticket and observed lane +OA A inspector. Create/Save passed full `oa-action` prediction. One Undo/Save +passed baseline and exact `same` against the preserved B3 checkpoint. One +Redo/Save passed `oa-action` and exact `same` against the original first-commit +checkpoint. All three directories and five checker logs are retained in v5. + +The next Observe state click correctly targets OA Inner chosen operand before +OA Inner anchor, on OA A inspector. Its form inherited the prior lower scroll +offset, initially hiding the name; an ordinary upward form scroll exposes it. +This repeats the known form-scroll issue assigned to the external workspace +owner. No source expectation or destination was changed to accommodate it. + +OA state observation then completed with literal name `OA native state`, state +OA Ready and observed lifeline OA A inspector. Create/Save passed `oa-state`; +one Undo/Save passed `oa-action` plus exact `same` to the original action +checkpoint; one Redo/Save passed `oa-state` plus exact `same` to the original +state checkpoint. The two nested ALT structures and every sibling field/source +byte matched the independent prediction. These five checker logs and three +whole-directory checkpoints are retained in v5. + +OA reuse then completed at the same nested chosen-operand slot before Inner +anchor: `OA native reuse`, definition OA B verification, with both explicit +inspector/recorder mappings to the caller lifelines. Create/Save, one Undo/Save +and one Redo/Save passed `oa-reuse` / `oa-state` predictions and exact `same` +comparisons to their original first-commit checkpoints. No definition was cloned. + +OA fragment completed at the root slot before OA Root exit: `OA native +alternative`, ALT operator, guards `ticket.priority > 2` and +`ticket.priority <= 2`. Create/Save passed the complete `oa-fragment` +prediction. One Undo/Save restored `oa-reuse` and its original identities; +one Redo/Save restored the original fragment checkpoint exactly. The actual +file picker reopened the same project; the Architecture page reported the +source project opened. Save then passed both the full fragment prediction and +exact comparison to the first accepted fragment. All four OA B2 creations and +individual history checks are now complete on this D4D9 artifact. + +The v5 folder retains the fragment's ready-guard screenshot, five fragment +checker logs, two reopen logs, three fragment checkpoints and a reopen +checkpoint/screenshot. The GUI closed normally after the final saved check. + +The v5 directory preserves oracle compile/self-check/baseline logs, before/after +OA wide/minimum and SA minimum PNGs, the disabled-action capture and the final +navigation checkpoint. Baseline prediction compares every Project field and +both reachable source byte streams; `same` additionally pins original identity. +No semantic expectation was derived from the GUI's observed output fields. + +The closed v5 evidence is preserved in +[the compact experiment archive](experiments/scenario-native-local-20260911/README.md): +80 exact payload files, 2,370,037 bytes. Fourteen checkpoints retain both exact +source files; the identical non-source expected-baseline JSON is stored once. +The manifest records every original physical file and path. No executable, +runtime DLL or mutable work directory is copied into the archive. + +B2's separate SA action/state/reuse/fragment creations, exact individual +Undo/Redo and SA reopen, broader raw-draft/Escape cases and later B4 +lifetime rendering remain separate open gates. A successful navigation trial +does not establish those results or overall release usability.