Publish attachment editing and Escape verification evidence
@@ -0,0 +1,55 @@
|
||||
# Attachment editing: Escape correction and verified scope
|
||||
|
||||
Branch-specific evidence for [issue 33](http://217.177.34.108:3000/sorokin.oleg.edu/ARCADIA-Studio/issues/33),
|
||||
source `53d01a3d4451b94792986f2dfac56f6f04e111a4`.
|
||||
The [portable archive](experiments/edge-attachments-53d01a3-20260923/README.md)
|
||||
is authoritative for raw verification evidence and its limitations. The original
|
||||
[attachment decision](http://217.177.34.108:3000/sorokin.oleg.edu/ARCADIA-Studio/src/commit/53d01a3d4451b94792986f2dfac56f6f04e111a4/harness/edge-attachments-20260922.md)
|
||||
and language contract remain authoritative for representation and behavior.
|
||||
|
||||
## Native finding and correction
|
||||
|
||||
Opening the State transition context menu resets the canvas wrapper's keyboard
|
||||
ownership. Selecting Adjust attachment arms the tool without giving the canvas
|
||||
focus. Therefore immediate Escape can reach the application's fallback while
|
||||
the unfocused canvas does not consume it. The original fallback omitted this
|
||||
tool, leaving it armed until a canvas interaction established ownership.
|
||||
|
||||
The accepted correction resets only State AdjustAttachment to Select in the
|
||||
existing application Escape fallback, after prior menu/modal/form handling.
|
||||
It sends no model command and grants no keyboard ownership. Granting focus after
|
||||
the menu would also change Delete and other keyboard semantics; the bounded
|
||||
fallback avoids that unrelated change. Semantic Reconnect policy is unchanged.
|
||||
|
||||
Mounted regression tests exercise actual widget statuses and application
|
||||
subscriptions, including post-menu Escape without a canvas click, focused
|
||||
canvas cancellation, modal priority and unfocused Delete. Full document/source,
|
||||
history and camera invariants are checked where relevant. Native source and
|
||||
target cancellation, source-end attachment editing/history and save/reopen then confirmed
|
||||
the corrected executable's bounded behavior. The preserved original failed
|
||||
observation is the reason for the correction, not superseded evidence to delete.
|
||||
|
||||
## Evidence handling decision
|
||||
|
||||
Build evidence and a native session accidentally shared an indirect executable
|
||||
binding through the Cargo target directory. The native preflight detected the
|
||||
replacement and stopped. Preserving both artifacts, documenting their hashes,
|
||||
restoring the original referenced bytes, and using a new comparison retained
|
||||
the evidence without rewriting history. The corrected native stage binds a
|
||||
preserved executable outside that mutable target directory. Future native
|
||||
stages should similarly separate immutable tested artifacts from build outputs;
|
||||
after restoring an executable, Cargo freshness metadata alone cannot establish
|
||||
that it matches the desired candidate.
|
||||
|
||||
Both portable archives preserve raw failures and use explicit source mappings
|
||||
instead of publishing machine-only paths. No entire-workflow, continuous
|
||||
immutability or clean-build claim is inferred from matching endpoint hashes.
|
||||
|
||||
## Integration boundary
|
||||
|
||||
The ordered contribution is `79cc9d5`, `3aa80de`, then `53d01a3`, above ordinary/Text
|
||||
base `3f9e6a18`. Source and evidence branches are separate. The
|
||||
[integration audit](experiments/edge-attachments-53d01a3-20260923/integration-review.md)
|
||||
identifies actual shared-file seams and focused combined checks. Codex-956atf
|
||||
retains integration/release ownership. These results do not certify the combined
|
||||
Scenario/Text/transition/resize union; no integrated checkpoint is advanced here.
|
||||
@@ -0,0 +1,93 @@
|
||||
# Connection attachments: Windows evidence and handoff
|
||||
|
||||
This evidence-only directory accompanies source commit
|
||||
`53d01a3d4451b94792986f2dfac56f6f04e111a4` on
|
||||
`codex/edge-anchors-escape-ytr83r-20260923`. It preserves the original attachment
|
||||
implementation checks and the subsequent State Escape correction. It is not an
|
||||
integrated release or a runnable package. Live ownership remains in
|
||||
[issue 33](http://217.177.34.108:3000/sorokin.oleg.edu/ARCADIA-Studio/issues/33)
|
||||
and [integration issue 27](http://217.177.34.108:3000/sorokin.oleg.edu/ARCADIA-Studio/issues/27).
|
||||
|
||||
## Results by source version
|
||||
|
||||
| Source | Automated checks | Native Windows evidence |
|
||||
| --- | --- | --- |
|
||||
| `3aa80de89c5b79200286926781e8f3a192bc61f4` | Workspace: 1,819 passed, 0 failed, 7 ignored; strict workspace all-target Clippy; GUI, CLI and evaluator builds | Three closed runs, 48 captures, 29 completed full-Project comparisons: 25 pass and four pixel-offset mismatches retained as failures. OA/State attachment editing, per-end reset, history, independent views, symbol contours, semantic-port movement and valid reconnect/undo. Immediate post-menu State Escape failed. |
|
||||
| `53d01a3d4451b94792986f2dfac56f6f04e111a4` | Two mounted UI regression tests; desktop: 1,194 passed, 0 failed, 6 ignored; strict desktop all-target Clippy and GUI build | Two closed runs, 12 captures, five exact full-Project comparisons. Source and target menu actions cancel with immediate Escape. One source-end attachment edit, Undo, Redo and fresh-process reopen/save pass. |
|
||||
|
||||
The corrected GUI uses the original evaluator at `3aa80de`; committed core and
|
||||
Cargo inputs are unchanged. Both corrected processes and all three original
|
||||
processes closed normally with exit 0 and empty GUI logs. Reused build caches
|
||||
mean these are not clean-build claims. Linux remains paused by the user.
|
||||
|
||||
The tested host used Rust 1.98.1, target `x86_64-pc-windows-gnullvm`, LLVM 22.1.8
|
||||
and LLVM-MinGW runtime. Exact commands and environment are retained in gate
|
||||
receipts. Principal checks were `cargo test --workspace --locked --offline` and
|
||||
`cargo clippy --workspace --all-targets --locked --offline -- -D warnings` at
|
||||
3aa80de; the corrected desktop equivalents use `-p oa-desktop` instead of
|
||||
`--workspace`. Build with `cargo build -p oa-desktop --locked` in the source
|
||||
checkout using its documented toolchain. A new host may first need to fetch
|
||||
dependencies before using `--offline`. Use a fresh target directory for a new
|
||||
candidate; do not rely on the restored shared executable's Cargo freshness.
|
||||
|
||||
- [Original archive and explicit failed attempts](original/README.md).
|
||||
- [Corrected Escape archive and independent native reviews](corrected/README.md).
|
||||
- [Exact import sequence and integration seams](integration-review.md).
|
||||
- [Decision and verification interpretation](../../edge-attachments-native-20260923.md).
|
||||
|
||||
The inner READMEs retain their preparation-time wording. This outer directory
|
||||
provides the peer handoff; the containing Git commit is its publication identity.
|
||||
Original receipts, paths, failed expectations and historical pending statements
|
||||
were preserved rather than rewritten after subsequent success.
|
||||
|
||||
## Portable verification
|
||||
|
||||
Fetch the source branch into a local clone so its `79cc9d5`, `3aa80de` and
|
||||
`53d01a3` commits are available. From this directory run:
|
||||
|
||||
```text
|
||||
python original/verify-build.py verify --archive original --repo /path/to/ARCADIA-Studio
|
||||
python corrected/verify-build.py verify --archive corrected --repo /path/to/ARCADIA-Studio --related-archive original
|
||||
```
|
||||
|
||||
The verifiers map historical machine paths to archive bytes or source Git blobs;
|
||||
peers do not need the originating `.local` tree. Exact raw source overrides
|
||||
preserve captured CRLF bytes where needed. Archive `.gitattributes` prevents
|
||||
text conversion. Original manifest SHA-256:
|
||||
`2379fb100e529772ea6149554fee71aca80ab956539e97aa4d288b189ff55131`.
|
||||
Corrected manifest SHA-256:
|
||||
`bee4ff55e8d4e1044785deca3f0382f7776dfa5c0e629b21457b9408eb7f51b2`.
|
||||
|
||||
GUI/evaluator/runtime binaries, private profiles and mutable working directories
|
||||
are excluded. Their historical identities remain in receipts, but the portable
|
||||
verifier does not rehash absent executables or rerun the application. Immutable
|
||||
saved-source checkpoints, expected complete Projects, actual evaluated Projects,
|
||||
commands, logs, capture metadata and original images are included.
|
||||
|
||||
## Limitations that accompany these results
|
||||
|
||||
The original shared target executable was temporarily overwritten by the
|
||||
corrected build. One preflight correctly aborted before comparison. The original
|
||||
staged application stayed unchanged; the corrected artifact was preserved, the
|
||||
original target restored, and a fresh comparison passed. Later equality is not
|
||||
continuous whole-run immutability. The corrected stage avoids shared-target
|
||||
bindings and records the relocation explicitly.
|
||||
|
||||
The original reconnect-to-Choice expectation was invalid because Choice already
|
||||
had an incoming transition. The application correctly refused it. A separately
|
||||
predeclared valid reconnect-to-Final and Undo passed; the invalid expectation and
|
||||
validation error remain archived. Four midpoint attempts missed the exact
|
||||
declared offset; subsequent pointer/zoom alignment passed without changing the
|
||||
oracle. These are not silently counted as successful attempts.
|
||||
|
||||
Corrected cancellation has clean visual evidence after each end and one combined
|
||||
baseline comparison after both, rather than independently saved per-end
|
||||
checkpoints. Run 1's close-action timestamp records retrospective attestation,
|
||||
not the exact key event. Screenshots show states; the operator's action records
|
||||
supply sequence and cause. Complete native drags do not establish every held
|
||||
pointer/keyboard/wheel interaction. Dense small labels and truncated guidance
|
||||
remain visible limitations. Automated event tests supplement the native scope.
|
||||
|
||||
Process and Scenario use different notations and do not consume this ordinary
|
||||
route contract. Their arbitrary attachment editing, State bend issue 23,
|
||||
auto-arrangement, resize issue 16 and the combined release are not claimed done.
|
||||
@@ -0,0 +1 @@
|
||||
* -text
|
||||
@@ -0,0 +1,27 @@
|
||||
# Corrected State attachment Escape evidence
|
||||
|
||||
This staged archive covers GUI commit **53d01a3d4451b94792986f2dfac56f6f04e111a4**, packaged GUI SHA256 `9c7aa0249378cec31639bbbff5ea7b3eaab782333d1637b8ab5e8f3be5d65d2c`. It is a bounded correction of the original immediate post-menu State attachment Escape failure. The complete saved-Project evaluator remains pinned separately to **3aa80de89c5b79200286926781e8f3a192bc61f4**; unchanged committed core/Cargo inputs support that reuse.
|
||||
|
||||
## Evidence and limits
|
||||
|
||||
`gates/` preserves targeted, desktop, strict clippy, build and toolchain receipts/logs and the source input manifests. Historical receipts describe the then-uncommitted changes over 3aa80de; they were not rewritten after committing. Commit-readback ties the tested raw bytes to 53d01a3. `failed-stage-01/` preserves the prior unsuccessful staging contents. `native/provenance/` discloses artifact relocation and evaluator reuse. The corrected stage binds its preserved/package artifact, never the mutable shared target.
|
||||
|
||||
Corrected Run1 has nine captures and four exact complete Project checkpoints: **B, A1, B, A1**. The two arm→Escape visual sequences support return to Select/move for source and target without a canvas click, as recorded by the operator. The B checkpoint occurs **after both cancellation attempts together**, not once after each; individual tool-state claims depend on the native observations and captures, not separate saved-model checks. A1 differs from B only in State view200, relation41 source_attachment Right/.5→Top/.25; opposite end, waypoint, label, semantics and other views remain exact. Subsequent Undo and Redo produce B and A1.
|
||||
|
||||
Corrected Run2 has three captures and one exact A1 checkpoint after reopening and saving. Its distinct process is chained to Run1's close. Both normal-close receipts report exit0 and empty GUI logs. Run1 close-action `utc` is a **retrospective recording time**, not the exact input time; Run2 names its metadata timestamp `recorded_utc`. Observer process-exit times remain separate. All 12 original captures are retained, along with four independent reviews.
|
||||
|
||||
This evidence does not establish continuous held-motion preview, arbitrary held keyboard/wheel cancellation, full accessibility or every attachment scenario. The native tool supplied complete drags. Guidance is truncated and small labels can remain dense at Fit. The original archive retains the original Escape defect, midpoint failures and shared-target interruption; this corrected trial does not erase that history or imply continuous historical immutability.
|
||||
|
||||
## Portable verification
|
||||
|
||||
Keep the separately prepared **original-stage-01** archive, unchanged, as a prerequisite. Its archive manifest SHA256 is `2379fb100e529772ea6149554fee71aca80ab956539e97aa4d288b189ff55131`. Fetch the source commits, then run:
|
||||
|
||||
```text
|
||||
python verify-build.py verify --archive . --repo /path/to/repository --related-archive /path/to/original-stage-01
|
||||
```
|
||||
|
||||
`archive-manifest.json` maps **132 raw originals** to archive paths and hashes. Original receipt paths/content are unchanged. `source-map.json` maps all **2,750 corrected captured source records directly to exact Git blobs at 53d01a3**, with no raw overrides needed. The verifier also rechecks the prerequisite archive's originals/source records to resolve reused evaluator/gate provenance without duplicating the full source or original archive. `.gitattributes` prevents text conversion.
|
||||
|
||||
`verification.json` records successful verification: all originals/source records match; **30,392 of 30,422** receipt references resolve to available exact bytes. The remaining 30 references are only eight intentionally excluded GUI/evaluator/runtime binary paths. No nonbinary reference remains unresolved. Their declared binary hashes remain preserved; absent executables are not falsely described as rehashed by the portable verifier.
|
||||
|
||||
Binaries, private profiles, mutable working directories and unrelated working directories are excluded; immutable saved checkpoints remain. No publication, commit or push is performed by this archive preparation. Native claims and limitations are assessed in `reviews/`; reproduce across separate peer machines using the commit identities, maps and receipts, not the original absolute paths.
|
||||
@@ -0,0 +1,806 @@
|
||||
{
|
||||
"original_receipts_unchanged": true,
|
||||
"files": [
|
||||
{
|
||||
"original": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\edge-anchors-escape-gates-20260923\\build-01\\changes.patch",
|
||||
"archive": "gates/build-01/changes.patch",
|
||||
"bytes": 2929,
|
||||
"sha256": "850c245a488f478649790dbce88976a74f7bedf792eae0b3f429263243fb150c"
|
||||
},
|
||||
{
|
||||
"original": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\edge-anchors-escape-gates-20260923\\build-01\\context.json",
|
||||
"archive": "gates/build-01/context.json",
|
||||
"bytes": 1468,
|
||||
"sha256": "399f2ab171f9e2463cf6bd6ec196996416a25043f359785b08a9247a47ff0119"
|
||||
},
|
||||
{
|
||||
"original": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\edge-anchors-escape-gates-20260923\\build-01\\inputs-after.json",
|
||||
"archive": "gates/build-01/inputs-after.json",
|
||||
"bytes": 826699,
|
||||
"sha256": "e00c499308c9c61522abb61fe37dc391a17e87592e6e1c0b93cf1a55fcfc712e"
|
||||
},
|
||||
{
|
||||
"original": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\edge-anchors-escape-gates-20260923\\build-01\\inputs-before.json",
|
||||
"archive": "gates/build-01/inputs-before.json",
|
||||
"bytes": 826699,
|
||||
"sha256": "e00c499308c9c61522abb61fe37dc391a17e87592e6e1c0b93cf1a55fcfc712e"
|
||||
},
|
||||
{
|
||||
"original": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\edge-anchors-escape-gates-20260923\\build-01\\output.log",
|
||||
"archive": "gates/build-01/output.log",
|
||||
"bytes": 481,
|
||||
"sha256": "af54f449edd35c87353ae13010cdff371f88d9542e883dcb193be21b701482fb"
|
||||
},
|
||||
{
|
||||
"original": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\edge-anchors-escape-gates-20260923\\build-01\\result.json",
|
||||
"archive": "gates/build-01/result.json",
|
||||
"bytes": 1820,
|
||||
"sha256": "bbef89cc4574a70b3cf88f94739b5919079587ef197cdd870365134bf1d2f560"
|
||||
},
|
||||
{
|
||||
"original": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\edge-anchors-escape-gates-20260923\\clippy-01\\changes.patch",
|
||||
"archive": "gates/clippy-01/changes.patch",
|
||||
"bytes": 2929,
|
||||
"sha256": "850c245a488f478649790dbce88976a74f7bedf792eae0b3f429263243fb150c"
|
||||
},
|
||||
{
|
||||
"original": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\edge-anchors-escape-gates-20260923\\clippy-01\\context.json",
|
||||
"archive": "gates/clippy-01/context.json",
|
||||
"bytes": 1493,
|
||||
"sha256": "17cd3c4a30a7b1b922d7fc598f3e92355af45afef8840fcc947624d778f083ee"
|
||||
},
|
||||
{
|
||||
"original": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\edge-anchors-escape-gates-20260923\\clippy-01\\inputs-after.json",
|
||||
"archive": "gates/clippy-01/inputs-after.json",
|
||||
"bytes": 826699,
|
||||
"sha256": "e00c499308c9c61522abb61fe37dc391a17e87592e6e1c0b93cf1a55fcfc712e"
|
||||
},
|
||||
{
|
||||
"original": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\edge-anchors-escape-gates-20260923\\clippy-01\\inputs-before.json",
|
||||
"archive": "gates/clippy-01/inputs-before.json",
|
||||
"bytes": 826699,
|
||||
"sha256": "e00c499308c9c61522abb61fe37dc391a17e87592e6e1c0b93cf1a55fcfc712e"
|
||||
},
|
||||
{
|
||||
"original": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\edge-anchors-escape-gates-20260923\\clippy-01\\output.log",
|
||||
"archive": "gates/clippy-01/output.log",
|
||||
"bytes": 609,
|
||||
"sha256": "aa4982b41f961b4ae14ce18e81e8d768650132806989e5b0ab6deead887ac918"
|
||||
},
|
||||
{
|
||||
"original": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\edge-anchors-escape-gates-20260923\\clippy-01\\result.json",
|
||||
"archive": "gates/clippy-01/result.json",
|
||||
"bytes": 1846,
|
||||
"sha256": "2e1dc0d728ead0752cc37e5edbed52630510fa525a91f3f5adc3e361508aeef7"
|
||||
},
|
||||
{
|
||||
"original": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\edge-anchors-escape-gates-20260923\\commit-readback.json",
|
||||
"archive": "gates/commit-readback.json",
|
||||
"bytes": 1913,
|
||||
"sha256": "90a07e2b43a84e7c02f4edc841ad03785c793d25ac3fc5eb6fc06f17b58ae72f"
|
||||
},
|
||||
{
|
||||
"original": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\edge-anchors-escape-gates-20260923\\desktop-01\\changes.patch",
|
||||
"archive": "gates/desktop-01/changes.patch",
|
||||
"bytes": 2929,
|
||||
"sha256": "850c245a488f478649790dbce88976a74f7bedf792eae0b3f429263243fb150c"
|
||||
},
|
||||
{
|
||||
"original": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\edge-anchors-escape-gates-20260923\\desktop-01\\context.json",
|
||||
"archive": "gates/desktop-01/context.json",
|
||||
"bytes": 1430,
|
||||
"sha256": "158cc0d61323d794848923066820dbd149a5d98b7281016270c1cc08d0cc8230"
|
||||
},
|
||||
{
|
||||
"original": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\edge-anchors-escape-gates-20260923\\desktop-01\\inputs-after.json",
|
||||
"archive": "gates/desktop-01/inputs-after.json",
|
||||
"bytes": 826699,
|
||||
"sha256": "e00c499308c9c61522abb61fe37dc391a17e87592e6e1c0b93cf1a55fcfc712e"
|
||||
},
|
||||
{
|
||||
"original": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\edge-anchors-escape-gates-20260923\\desktop-01\\inputs-before.json",
|
||||
"archive": "gates/desktop-01/inputs-before.json",
|
||||
"bytes": 826699,
|
||||
"sha256": "e00c499308c9c61522abb61fe37dc391a17e87592e6e1c0b93cf1a55fcfc712e"
|
||||
},
|
||||
{
|
||||
"original": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\edge-anchors-escape-gates-20260923\\desktop-01\\output.log",
|
||||
"archive": "gates/desktop-01/output.log",
|
||||
"bytes": 138072,
|
||||
"sha256": "a8835aabb338957b9ebe6815bc70ecd6f0c9f23b2cdd45ab861d9be544ec7a5d"
|
||||
},
|
||||
{
|
||||
"original": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\edge-anchors-escape-gates-20260923\\desktop-01\\result.json",
|
||||
"archive": "gates/desktop-01/result.json",
|
||||
"bytes": 1787,
|
||||
"sha256": "a99c385122e8eb4b9786a01a4de1880e231967ea6ea5e431c003e3ae940bf14d"
|
||||
},
|
||||
{
|
||||
"original": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\edge-anchors-escape-gates-20260923\\run.py",
|
||||
"archive": "gates/run.py",
|
||||
"bytes": 1881,
|
||||
"sha256": "99e0db19e19c9d0ae0c93b3f040872f6a4133e79034030fa294c1d29f0970e88"
|
||||
},
|
||||
{
|
||||
"original": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\edge-anchors-escape-gates-20260923\\summary.json",
|
||||
"archive": "gates/summary.json",
|
||||
"bytes": 3883,
|
||||
"sha256": "2534fb8056897a07d5d4754db6328f5a1e7daafdc61286ea40d234019969db53"
|
||||
},
|
||||
{
|
||||
"original": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\edge-anchors-escape-gates-20260923\\targeted-01\\changes.patch",
|
||||
"archive": "gates/targeted-01/changes.patch",
|
||||
"bytes": 2929,
|
||||
"sha256": "850c245a488f478649790dbce88976a74f7bedf792eae0b3f429263243fb150c"
|
||||
},
|
||||
{
|
||||
"original": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\edge-anchors-escape-gates-20260923\\targeted-01\\context.json",
|
||||
"archive": "gates/targeted-01/context.json",
|
||||
"bytes": 1487,
|
||||
"sha256": "691078da2dedff6eee5af21c2977fb2dda122d8695136c0d660670b1f6b6e186"
|
||||
},
|
||||
{
|
||||
"original": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\edge-anchors-escape-gates-20260923\\targeted-01\\inputs-after.json",
|
||||
"archive": "gates/targeted-01/inputs-after.json",
|
||||
"bytes": 826699,
|
||||
"sha256": "e00c499308c9c61522abb61fe37dc391a17e87592e6e1c0b93cf1a55fcfc712e"
|
||||
},
|
||||
{
|
||||
"original": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\edge-anchors-escape-gates-20260923\\targeted-01\\inputs-before.json",
|
||||
"archive": "gates/targeted-01/inputs-before.json",
|
||||
"bytes": 826699,
|
||||
"sha256": "e00c499308c9c61522abb61fe37dc391a17e87592e6e1c0b93cf1a55fcfc712e"
|
||||
},
|
||||
{
|
||||
"original": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\edge-anchors-escape-gates-20260923\\targeted-01\\output.log",
|
||||
"archive": "gates/targeted-01/output.log",
|
||||
"bytes": 1139,
|
||||
"sha256": "d03b3f2f6346d5e3e75cba5ec51826e1cebc391928ad9bc889275e6e5520bf8c"
|
||||
},
|
||||
{
|
||||
"original": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\edge-anchors-escape-gates-20260923\\targeted-01\\result.json",
|
||||
"archive": "gates/targeted-01/result.json",
|
||||
"bytes": 1843,
|
||||
"sha256": "08fd3ce9dbd0e5b8ef2d2758b675d7de3900825d87b29b6d95e768fddf17d235"
|
||||
},
|
||||
{
|
||||
"original": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\edge-anchors-escape-gates-20260923\\toolchain\\changes.patch",
|
||||
"archive": "gates/toolchain/changes.patch",
|
||||
"bytes": 2929,
|
||||
"sha256": "850c245a488f478649790dbce88976a74f7bedf792eae0b3f429263243fb150c"
|
||||
},
|
||||
{
|
||||
"original": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\edge-anchors-escape-gates-20260923\\toolchain\\context.json",
|
||||
"archive": "gates/toolchain/context.json",
|
||||
"bytes": 1364,
|
||||
"sha256": "ccacde944d37ef0ef6ff0686967102e1d349b8768511bfab0f223357a91f65f2"
|
||||
},
|
||||
{
|
||||
"original": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\edge-anchors-escape-gates-20260923\\toolchain\\inputs-after.json",
|
||||
"archive": "gates/toolchain/inputs-after.json",
|
||||
"bytes": 826699,
|
||||
"sha256": "e00c499308c9c61522abb61fe37dc391a17e87592e6e1c0b93cf1a55fcfc712e"
|
||||
},
|
||||
{
|
||||
"original": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\edge-anchors-escape-gates-20260923\\toolchain\\inputs-before.json",
|
||||
"archive": "gates/toolchain/inputs-before.json",
|
||||
"bytes": 826699,
|
||||
"sha256": "e00c499308c9c61522abb61fe37dc391a17e87592e6e1c0b93cf1a55fcfc712e"
|
||||
},
|
||||
{
|
||||
"original": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\edge-anchors-escape-gates-20260923\\toolchain\\output.log",
|
||||
"archive": "gates/toolchain/output.log",
|
||||
"bytes": 197,
|
||||
"sha256": "cdaaa400be47332d69e678836251d4635b5ff2ecd34aa962b69d71f8961d274b"
|
||||
},
|
||||
{
|
||||
"original": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\edge-anchors-escape-gates-20260923\\toolchain\\result.json",
|
||||
"archive": "gates/toolchain/result.json",
|
||||
"bytes": 1717,
|
||||
"sha256": "8750fae7c035b368f5f1b1f07ddb38b309d0d3211168f37baae302aac319fdd8"
|
||||
},
|
||||
{
|
||||
"original": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\edge-anchors-escape-native-20260923\\baseline\\attachments.arcadia",
|
||||
"archive": "native/baseline/attachments.arcadia",
|
||||
"bytes": 9715,
|
||||
"sha256": "a05c43d13e9e65872f625456b45f30f8296069159de43c695793194beac7008d"
|
||||
},
|
||||
{
|
||||
"original": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\edge-anchors-escape-native-20260923\\baseline\\B.project.json",
|
||||
"archive": "native/baseline/B.project.json",
|
||||
"bytes": 24594,
|
||||
"sha256": "149fcc554b5f41bc41bfa68f1f70edda73e8df868d92f7e1ee8020967b609d67"
|
||||
},
|
||||
{
|
||||
"original": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\edge-anchors-escape-native-20260923\\baseline\\stderr.log",
|
||||
"archive": "native/baseline/stderr.log",
|
||||
"bytes": 0,
|
||||
"sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
|
||||
},
|
||||
{
|
||||
"original": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\edge-anchors-escape-native-20260923\\baseline\\stdout.log",
|
||||
"archive": "native/baseline/stdout.log",
|
||||
"bytes": 68,
|
||||
"sha256": "e128921d6c122c4a430aced7b98253b11641137c5e088899b0ed87a8f5469c93"
|
||||
},
|
||||
{
|
||||
"original": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\edge-anchors-escape-native-20260923\\capture.js",
|
||||
"archive": "native/capture.js",
|
||||
"bytes": 2281,
|
||||
"sha256": "b30a588ec99e3c78eef8c0fdaa158d60170e03915161682cfd8d3accf5c68e62"
|
||||
},
|
||||
{
|
||||
"original": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\edge-anchors-escape-native-20260923\\check.py",
|
||||
"archive": "native/check.py",
|
||||
"bytes": 3525,
|
||||
"sha256": "f038e4e1f75d8549ac23bce9e90e39799ced82ea6cbd0fd5d9b18908980d2187"
|
||||
},
|
||||
{
|
||||
"original": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\edge-anchors-escape-native-20260923\\expected\\A1.project.json",
|
||||
"archive": "native/expected/A1.project.json",
|
||||
"bytes": 24593,
|
||||
"sha256": "d46193e94a3abdc35c8fc90529d9530623a6d958fb3a30f181753805e23a1fea"
|
||||
},
|
||||
{
|
||||
"original": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\edge-anchors-escape-native-20260923\\expected\\B.project.json",
|
||||
"archive": "native/expected/B.project.json",
|
||||
"bytes": 24594,
|
||||
"sha256": "149fcc554b5f41bc41bfa68f1f70edda73e8df868d92f7e1ee8020967b609d67"
|
||||
},
|
||||
{
|
||||
"original": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\edge-anchors-escape-native-20260923\\expected\\catalog.json",
|
||||
"archive": "native/expected/catalog.json",
|
||||
"bytes": 917,
|
||||
"sha256": "b0cbf792bc3860a6ab851f8807eb8a841c16bf5870c93a7c36dedce39cd56fc7"
|
||||
},
|
||||
{
|
||||
"original": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\edge-anchors-escape-native-20260923\\input-manifest.json",
|
||||
"archive": "native/input-manifest.json",
|
||||
"bytes": 857940,
|
||||
"sha256": "450e15cc94899acfc5c30e005099c1dbbe9a9703e5aca9a8863eab620cfc7943"
|
||||
},
|
||||
{
|
||||
"original": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\edge-anchors-escape-native-20260923\\launch.ps1",
|
||||
"archive": "native/launch.ps1",
|
||||
"bytes": 6234,
|
||||
"sha256": "899b1ca6ac6c0cdd62eeaf2b6706d9be3072aa6c14dd5e801c8e5e1d4a6b89b2"
|
||||
},
|
||||
{
|
||||
"original": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\edge-anchors-escape-native-20260923\\native-plan.md",
|
||||
"archive": "native/native-plan.md",
|
||||
"bytes": 2974,
|
||||
"sha256": "8147e652ba49fb17a39eb19f2fb06b7eddbad37198160abade7aa4db19147fa6"
|
||||
},
|
||||
{
|
||||
"original": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\edge-anchors-escape-native-20260923\\preflight\\baseline.arcadia",
|
||||
"archive": "native/preflight/baseline.arcadia",
|
||||
"bytes": 9715,
|
||||
"sha256": "a05c43d13e9e65872f625456b45f30f8296069159de43c695793194beac7008d"
|
||||
},
|
||||
{
|
||||
"original": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\edge-anchors-escape-native-20260923\\preflight\\baseline.project.json",
|
||||
"archive": "native/preflight/baseline.project.json",
|
||||
"bytes": 24594,
|
||||
"sha256": "149fcc554b5f41bc41bfa68f1f70edda73e8df868d92f7e1ee8020967b609d67"
|
||||
},
|
||||
{
|
||||
"original": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\edge-anchors-escape-native-20260923\\preflight\\baseline.receipt.json",
|
||||
"archive": "native/preflight/baseline.receipt.json",
|
||||
"bytes": 2537,
|
||||
"sha256": "ecdad75580a7c9f74a0866e6993b9d0a6378d5a15c3d4b52df0c0c0b2b18afed"
|
||||
},
|
||||
{
|
||||
"original": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\edge-anchors-escape-native-20260923\\preflight\\baseline.stderr.log",
|
||||
"archive": "native/preflight/baseline.stderr.log",
|
||||
"bytes": 0,
|
||||
"sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
|
||||
},
|
||||
{
|
||||
"original": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\edge-anchors-escape-native-20260923\\preflight\\baseline.stdout.log",
|
||||
"archive": "native/preflight/baseline.stdout.log",
|
||||
"bytes": 68,
|
||||
"sha256": "e128921d6c122c4a430aced7b98253b11641137c5e088899b0ed87a8f5469c93"
|
||||
},
|
||||
{
|
||||
"original": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\edge-anchors-escape-native-20260923\\provenance\\binary-relocation.json",
|
||||
"archive": "native/provenance/binary-relocation.json",
|
||||
"bytes": 1454,
|
||||
"sha256": "b54c263141d92c863f58637deb8c65a1ddc442b972d14c23e54697e2a6b92884"
|
||||
},
|
||||
{
|
||||
"original": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\edge-anchors-escape-native-20260923\\provenance\\evaluator-reuse.json",
|
||||
"archive": "native/provenance/evaluator-reuse.json",
|
||||
"bytes": 854,
|
||||
"sha256": "f6f7e033b5eb24d890f7f0190759d554f6f64ec93ba1dd5f54885f0c52ac6941"
|
||||
},
|
||||
{
|
||||
"original": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\edge-anchors-escape-native-20260923\\runs\\run-01\\captures\\00-state-baseline.jpg",
|
||||
"archive": "native/runs/run-01/captures/00-state-baseline.jpg",
|
||||
"bytes": 141216,
|
||||
"sha256": "5ca5ac1168fc5db91165db98e9d271e34fd976923b434c4f8c59900578d1657f"
|
||||
},
|
||||
{
|
||||
"original": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\edge-anchors-escape-native-20260923\\runs\\run-01\\captures\\00-state-baseline.json",
|
||||
"archive": "native/runs/run-01/captures/00-state-baseline.json",
|
||||
"bytes": 1130,
|
||||
"sha256": "a59976bcccc8dbcafe6684d0cf94475dda44fc882ab37335240086fc81fc4af0"
|
||||
},
|
||||
{
|
||||
"original": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\edge-anchors-escape-native-20260923\\runs\\run-01\\captures\\01-source-armed.jpg",
|
||||
"archive": "native/runs/run-01/captures/01-source-armed.jpg",
|
||||
"bytes": 142363,
|
||||
"sha256": "b3745306b6a813325aa4b80a4dc48872479c544f72bddd3961b7d1d3a475c732"
|
||||
},
|
||||
{
|
||||
"original": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\edge-anchors-escape-native-20260923\\runs\\run-01\\captures\\01-source-armed.json",
|
||||
"archive": "native/runs/run-01/captures/01-source-armed.json",
|
||||
"bytes": 1140,
|
||||
"sha256": "53d4aa05988a70d481bf715d61bb433a6fbb51bc40043fa0faddea54ad7d1eb4"
|
||||
},
|
||||
{
|
||||
"original": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\edge-anchors-escape-native-20260923\\runs\\run-01\\captures\\02-source-escape-select.jpg",
|
||||
"archive": "native/runs/run-01/captures/02-source-escape-select.jpg",
|
||||
"bytes": 142528,
|
||||
"sha256": "0ca328d8e712d090038527969c052e8995fff313f42808d8eba5c5b52368cda9"
|
||||
},
|
||||
{
|
||||
"original": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\edge-anchors-escape-native-20260923\\runs\\run-01\\captures\\02-source-escape-select.json",
|
||||
"archive": "native/runs/run-01/captures/02-source-escape-select.json",
|
||||
"bytes": 1147,
|
||||
"sha256": "39a4f9cca02571d2ebd05c212ca5482ef3bd3040a7c905fb4daab8c7532a6a82"
|
||||
},
|
||||
{
|
||||
"original": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\edge-anchors-escape-native-20260923\\runs\\run-01\\captures\\03-target-armed.jpg",
|
||||
"archive": "native/runs/run-01/captures/03-target-armed.jpg",
|
||||
"bytes": 142391,
|
||||
"sha256": "125d6e6ef092fb24923fe2dcfc77ace3bb528f39699d4290230e2f83bcf63620"
|
||||
},
|
||||
{
|
||||
"original": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\edge-anchors-escape-native-20260923\\runs\\run-01\\captures\\03-target-armed.json",
|
||||
"archive": "native/runs/run-01/captures/03-target-armed.json",
|
||||
"bytes": 1121,
|
||||
"sha256": "b351c54bf0872a8a036604f588ab78e9f49320f3a725963ea275d45d86483e6b"
|
||||
},
|
||||
{
|
||||
"original": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\edge-anchors-escape-native-20260923\\runs\\run-01\\captures\\04-target-escape-select.jpg",
|
||||
"archive": "native/runs/run-01/captures/04-target-escape-select.jpg",
|
||||
"bytes": 142456,
|
||||
"sha256": "4b509d0ffe4d75bfe3b05443723cce87712fd5f21901596e4daf10cfd0b377c9"
|
||||
},
|
||||
{
|
||||
"original": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\edge-anchors-escape-native-20260923\\runs\\run-01\\captures\\04-target-escape-select.json",
|
||||
"archive": "native/runs/run-01/captures/04-target-escape-select.json",
|
||||
"bytes": 1145,
|
||||
"sha256": "aa07c4068ea5fe6052c14f8a7f3d5d637657a3cfb1c42777a272490b3341561c"
|
||||
},
|
||||
{
|
||||
"original": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\edge-anchors-escape-native-20260923\\runs\\run-01\\captures\\05-source-top-quarter.jpg",
|
||||
"archive": "native/runs/run-01/captures/05-source-top-quarter.jpg",
|
||||
"bytes": 143043,
|
||||
"sha256": "ed7780e6f5206835eb34f399ca9e216b16ff1028156563720edb957c265f619d"
|
||||
},
|
||||
{
|
||||
"original": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\edge-anchors-escape-native-20260923\\runs\\run-01\\captures\\05-source-top-quarter.json",
|
||||
"archive": "native/runs/run-01/captures/05-source-top-quarter.json",
|
||||
"bytes": 1157,
|
||||
"sha256": "319a68a9c22d4da6c46bc85b4d4cf7eef7bdcf023fa677c5ca607d0ff8a08d53"
|
||||
},
|
||||
{
|
||||
"original": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\edge-anchors-escape-native-20260923\\runs\\run-01\\captures\\06-undo.jpg",
|
||||
"archive": "native/runs/run-01/captures/06-undo.jpg",
|
||||
"bytes": 140069,
|
||||
"sha256": "9a454b2144c2357b7e188e14eb58568b2245f4c2321e7b3537d8c5d4b0e7440e"
|
||||
},
|
||||
{
|
||||
"original": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\edge-anchors-escape-native-20260923\\runs\\run-01\\captures\\06-undo.json",
|
||||
"archive": "native/runs/run-01/captures/06-undo.json",
|
||||
"bytes": 1091,
|
||||
"sha256": "7e535a1e3964fe3292f645d8a63aec370329d5dacc4832fbef1059c46eeb0c07"
|
||||
},
|
||||
{
|
||||
"original": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\edge-anchors-escape-native-20260923\\runs\\run-01\\captures\\07-redo.jpg",
|
||||
"archive": "native/runs/run-01/captures/07-redo.jpg",
|
||||
"bytes": 141706,
|
||||
"sha256": "6ba27bff465321e43a706b1ba5f1baa02af8762e65259e0807723655a5666120"
|
||||
},
|
||||
{
|
||||
"original": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\edge-anchors-escape-native-20260923\\runs\\run-01\\captures\\07-redo.json",
|
||||
"archive": "native/runs/run-01/captures/07-redo.json",
|
||||
"bytes": 1089,
|
||||
"sha256": "603c4bf7930db15ff17e6043237f00aaa562fd8da6afe263df914dc9a6bee48d"
|
||||
},
|
||||
{
|
||||
"original": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\edge-anchors-escape-native-20260923\\runs\\run-01\\captures\\08-saved-final.jpg",
|
||||
"archive": "native/runs/run-01/captures/08-saved-final.jpg",
|
||||
"bytes": 141555,
|
||||
"sha256": "e49ec9dc14ffb858324960b480709b34a7dc0bc5c27181e1e122cce935672723"
|
||||
},
|
||||
{
|
||||
"original": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\edge-anchors-escape-native-20260923\\runs\\run-01\\captures\\08-saved-final.json",
|
||||
"archive": "native/runs/run-01/captures/08-saved-final.json",
|
||||
"bytes": 1124,
|
||||
"sha256": "7e1e7c3b7d36ff22c5060e3141098c8f65a535a759ca4e2cdee0cb6d7631fc26"
|
||||
},
|
||||
{
|
||||
"original": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\edge-anchors-escape-native-20260923\\runs\\run-01\\checks\\00-cancel-baseline.arcadia",
|
||||
"archive": "native/runs/run-01/checks/00-cancel-baseline.arcadia",
|
||||
"bytes": 9715,
|
||||
"sha256": "a05c43d13e9e65872f625456b45f30f8296069159de43c695793194beac7008d"
|
||||
},
|
||||
{
|
||||
"original": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\edge-anchors-escape-native-20260923\\runs\\run-01\\checks\\00-cancel-baseline.project.json",
|
||||
"archive": "native/runs/run-01/checks/00-cancel-baseline.project.json",
|
||||
"bytes": 24594,
|
||||
"sha256": "149fcc554b5f41bc41bfa68f1f70edda73e8df868d92f7e1ee8020967b609d67"
|
||||
},
|
||||
{
|
||||
"original": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\edge-anchors-escape-native-20260923\\runs\\run-01\\checks\\00-cancel-baseline.receipt.json",
|
||||
"archive": "native/runs/run-01/checks/00-cancel-baseline.receipt.json",
|
||||
"bytes": 2621,
|
||||
"sha256": "255f023e30bfbcb507377c489ed23ca205470150f95fc3fec23e2a72d2b5979d"
|
||||
},
|
||||
{
|
||||
"original": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\edge-anchors-escape-native-20260923\\runs\\run-01\\checks\\00-cancel-baseline.stderr.log",
|
||||
"archive": "native/runs/run-01/checks/00-cancel-baseline.stderr.log",
|
||||
"bytes": 0,
|
||||
"sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
|
||||
},
|
||||
{
|
||||
"original": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\edge-anchors-escape-native-20260923\\runs\\run-01\\checks\\00-cancel-baseline.stdout.log",
|
||||
"archive": "native/runs/run-01/checks/00-cancel-baseline.stdout.log",
|
||||
"bytes": 68,
|
||||
"sha256": "e128921d6c122c4a430aced7b98253b11641137c5e088899b0ed87a8f5469c93"
|
||||
},
|
||||
{
|
||||
"original": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\edge-anchors-escape-native-20260923\\runs\\run-01\\checks\\01-adjusted.arcadia",
|
||||
"archive": "native/runs/run-01/checks/01-adjusted.arcadia",
|
||||
"bytes": 9714,
|
||||
"sha256": "41295c41e3b0b95073dba8c6e828ce310f097195a41f68d47a8ae4f2b7ab2aad"
|
||||
},
|
||||
{
|
||||
"original": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\edge-anchors-escape-native-20260923\\runs\\run-01\\checks\\01-adjusted.project.json",
|
||||
"archive": "native/runs/run-01/checks/01-adjusted.project.json",
|
||||
"bytes": 24593,
|
||||
"sha256": "d46193e94a3abdc35c8fc90529d9530623a6d958fb3a30f181753805e23a1fea"
|
||||
},
|
||||
{
|
||||
"original": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\edge-anchors-escape-native-20260923\\runs\\run-01\\checks\\01-adjusted.receipt.json",
|
||||
"archive": "native/runs/run-01/checks/01-adjusted.receipt.json",
|
||||
"bytes": 2595,
|
||||
"sha256": "6e577e75fdb380adc1dcfbbd3ca15ff1dd4846d0177cd7c8e2c6c96d61ef6e54"
|
||||
},
|
||||
{
|
||||
"original": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\edge-anchors-escape-native-20260923\\runs\\run-01\\checks\\01-adjusted.stderr.log",
|
||||
"archive": "native/runs/run-01/checks/01-adjusted.stderr.log",
|
||||
"bytes": 0,
|
||||
"sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
|
||||
},
|
||||
{
|
||||
"original": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\edge-anchors-escape-native-20260923\\runs\\run-01\\checks\\01-adjusted.stdout.log",
|
||||
"archive": "native/runs/run-01/checks/01-adjusted.stdout.log",
|
||||
"bytes": 68,
|
||||
"sha256": "e128921d6c122c4a430aced7b98253b11641137c5e088899b0ed87a8f5469c93"
|
||||
},
|
||||
{
|
||||
"original": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\edge-anchors-escape-native-20260923\\runs\\run-01\\checks\\02-undo.arcadia",
|
||||
"archive": "native/runs/run-01/checks/02-undo.arcadia",
|
||||
"bytes": 9715,
|
||||
"sha256": "a05c43d13e9e65872f625456b45f30f8296069159de43c695793194beac7008d"
|
||||
},
|
||||
{
|
||||
"original": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\edge-anchors-escape-native-20260923\\runs\\run-01\\checks\\02-undo.project.json",
|
||||
"archive": "native/runs/run-01/checks/02-undo.project.json",
|
||||
"bytes": 24594,
|
||||
"sha256": "149fcc554b5f41bc41bfa68f1f70edda73e8df868d92f7e1ee8020967b609d67"
|
||||
},
|
||||
{
|
||||
"original": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\edge-anchors-escape-native-20260923\\runs\\run-01\\checks\\02-undo.receipt.json",
|
||||
"archive": "native/runs/run-01/checks/02-undo.receipt.json",
|
||||
"bytes": 2577,
|
||||
"sha256": "1e85ecba2a823ea07577265df544643ce56f82e49a1f66239e79fb2d58f76c42"
|
||||
},
|
||||
{
|
||||
"original": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\edge-anchors-escape-native-20260923\\runs\\run-01\\checks\\02-undo.stderr.log",
|
||||
"archive": "native/runs/run-01/checks/02-undo.stderr.log",
|
||||
"bytes": 0,
|
||||
"sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
|
||||
},
|
||||
{
|
||||
"original": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\edge-anchors-escape-native-20260923\\runs\\run-01\\checks\\02-undo.stdout.log",
|
||||
"archive": "native/runs/run-01/checks/02-undo.stdout.log",
|
||||
"bytes": 68,
|
||||
"sha256": "e128921d6c122c4a430aced7b98253b11641137c5e088899b0ed87a8f5469c93"
|
||||
},
|
||||
{
|
||||
"original": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\edge-anchors-escape-native-20260923\\runs\\run-01\\checks\\03-redo.arcadia",
|
||||
"archive": "native/runs/run-01/checks/03-redo.arcadia",
|
||||
"bytes": 9714,
|
||||
"sha256": "41295c41e3b0b95073dba8c6e828ce310f097195a41f68d47a8ae4f2b7ab2aad"
|
||||
},
|
||||
{
|
||||
"original": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\edge-anchors-escape-native-20260923\\runs\\run-01\\checks\\03-redo.project.json",
|
||||
"archive": "native/runs/run-01/checks/03-redo.project.json",
|
||||
"bytes": 24593,
|
||||
"sha256": "d46193e94a3abdc35c8fc90529d9530623a6d958fb3a30f181753805e23a1fea"
|
||||
},
|
||||
{
|
||||
"original": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\edge-anchors-escape-native-20260923\\runs\\run-01\\checks\\03-redo.receipt.json",
|
||||
"archive": "native/runs/run-01/checks/03-redo.receipt.json",
|
||||
"bytes": 2579,
|
||||
"sha256": "aad75e177adc9e825c856447ce8ca49622b61c1fe05b2142eef258fd7e048e1a"
|
||||
},
|
||||
{
|
||||
"original": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\edge-anchors-escape-native-20260923\\runs\\run-01\\checks\\03-redo.stderr.log",
|
||||
"archive": "native/runs/run-01/checks/03-redo.stderr.log",
|
||||
"bytes": 0,
|
||||
"sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
|
||||
},
|
||||
{
|
||||
"original": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\edge-anchors-escape-native-20260923\\runs\\run-01\\checks\\03-redo.stdout.log",
|
||||
"archive": "native/runs/run-01/checks/03-redo.stdout.log",
|
||||
"bytes": 68,
|
||||
"sha256": "e128921d6c122c4a430aced7b98253b11641137c5e088899b0ed87a8f5469c93"
|
||||
},
|
||||
{
|
||||
"original": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\edge-anchors-escape-native-20260923\\runs\\run-01\\close-action.json",
|
||||
"archive": "native/runs/run-01/close-action.json",
|
||||
"bytes": 221,
|
||||
"sha256": "c528be2c31635abf25386bb93f05ae3882d0a908bd809b227cbf569969947e6a"
|
||||
},
|
||||
{
|
||||
"original": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\edge-anchors-escape-native-20260923\\runs\\run-01\\launch.json",
|
||||
"archive": "native/runs/run-01/launch.json",
|
||||
"bytes": 1934,
|
||||
"sha256": "a0eff5333d97d589ece2a3b2541ef959ed79e865fa985cc4ea3ed7a5034c907a"
|
||||
},
|
||||
{
|
||||
"original": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\edge-anchors-escape-native-20260923\\runs\\run-01\\logs\\studio.stderr.log",
|
||||
"archive": "native/runs/run-01/logs/studio.stderr.log",
|
||||
"bytes": 0,
|
||||
"sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
|
||||
},
|
||||
{
|
||||
"original": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\edge-anchors-escape-native-20260923\\runs\\run-01\\logs\\studio.stdout.log",
|
||||
"archive": "native/runs/run-01/logs/studio.stdout.log",
|
||||
"bytes": 0,
|
||||
"sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
|
||||
},
|
||||
{
|
||||
"original": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\edge-anchors-escape-native-20260923\\runs\\run-01\\normal-close.json",
|
||||
"archive": "native/runs/run-01/normal-close.json",
|
||||
"bytes": 1679,
|
||||
"sha256": "013e8826c7c9601959e6954186fe00a38c7afa9e7dabe6fdec76769a450737ce"
|
||||
},
|
||||
{
|
||||
"original": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\edge-anchors-escape-native-20260923\\runs\\run-02\\captures\\00-reopened-oa.jpg",
|
||||
"archive": "native/runs/run-02/captures/00-reopened-oa.jpg",
|
||||
"bytes": 112013,
|
||||
"sha256": "ebb25a616f1386a54cde2af88536076c9394816f701c218969c401dac443c81b"
|
||||
},
|
||||
{
|
||||
"original": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\edge-anchors-escape-native-20260923\\runs\\run-02\\captures\\00-reopened-oa.json",
|
||||
"archive": "native/runs/run-02/captures/00-reopened-oa.json",
|
||||
"bytes": 1130,
|
||||
"sha256": "0c652705646905c5bd63eb8d0f8b381b1bd71882c753de3257fc07a65b1bd7d8"
|
||||
},
|
||||
{
|
||||
"original": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\edge-anchors-escape-native-20260923\\runs\\run-02\\captures\\01-reopened-state.jpg",
|
||||
"archive": "native/runs/run-02/captures/01-reopened-state.jpg",
|
||||
"bytes": 143124,
|
||||
"sha256": "e91681d464fbedbd4803ed90e8119915c398e41e5462fd94bde29df0b9cef1b8"
|
||||
},
|
||||
{
|
||||
"original": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\edge-anchors-escape-native-20260923\\runs\\run-02\\captures\\01-reopened-state.json",
|
||||
"archive": "native/runs/run-02/captures/01-reopened-state.json",
|
||||
"bytes": 1154,
|
||||
"sha256": "816788a6910db2577750dbb26dcbb68e79c2a1633eae762cd2f7159b173134ae"
|
||||
},
|
||||
{
|
||||
"original": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\edge-anchors-escape-native-20260923\\runs\\run-02\\captures\\02-reopened-final-saved.jpg",
|
||||
"archive": "native/runs/run-02/captures/02-reopened-final-saved.jpg",
|
||||
"bytes": 141509,
|
||||
"sha256": "4b2bccd82dd161632bd294459a7caaba0fa5e2c513810463951923aeedfa385b"
|
||||
},
|
||||
{
|
||||
"original": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\edge-anchors-escape-native-20260923\\runs\\run-02\\captures\\02-reopened-final-saved.json",
|
||||
"archive": "native/runs/run-02/captures/02-reopened-final-saved.json",
|
||||
"bytes": 1148,
|
||||
"sha256": "bf5a9ed1ce8a62a61c2377ad3f059275c6ef9b8e138ce385c9747027528788a5"
|
||||
},
|
||||
{
|
||||
"original": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\edge-anchors-escape-native-20260923\\runs\\run-02\\checks\\00-reopened-saved.arcadia",
|
||||
"archive": "native/runs/run-02/checks/00-reopened-saved.arcadia",
|
||||
"bytes": 9714,
|
||||
"sha256": "41295c41e3b0b95073dba8c6e828ce310f097195a41f68d47a8ae4f2b7ab2aad"
|
||||
},
|
||||
{
|
||||
"original": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\edge-anchors-escape-native-20260923\\runs\\run-02\\checks\\00-reopened-saved.project.json",
|
||||
"archive": "native/runs/run-02/checks/00-reopened-saved.project.json",
|
||||
"bytes": 24593,
|
||||
"sha256": "d46193e94a3abdc35c8fc90529d9530623a6d958fb3a30f181753805e23a1fea"
|
||||
},
|
||||
{
|
||||
"original": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\edge-anchors-escape-native-20260923\\runs\\run-02\\checks\\00-reopened-saved.receipt.json",
|
||||
"archive": "native/runs/run-02/checks/00-reopened-saved.receipt.json",
|
||||
"bytes": 2619,
|
||||
"sha256": "cc0e027d64017ec8060bb178fd12de9097e945fb3002ab30e51c85c7b8f63d09"
|
||||
},
|
||||
{
|
||||
"original": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\edge-anchors-escape-native-20260923\\runs\\run-02\\checks\\00-reopened-saved.stderr.log",
|
||||
"archive": "native/runs/run-02/checks/00-reopened-saved.stderr.log",
|
||||
"bytes": 0,
|
||||
"sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
|
||||
},
|
||||
{
|
||||
"original": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\edge-anchors-escape-native-20260923\\runs\\run-02\\checks\\00-reopened-saved.stdout.log",
|
||||
"archive": "native/runs/run-02/checks/00-reopened-saved.stdout.log",
|
||||
"bytes": 68,
|
||||
"sha256": "e128921d6c122c4a430aced7b98253b11641137c5e088899b0ed87a8f5469c93"
|
||||
},
|
||||
{
|
||||
"original": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\edge-anchors-escape-native-20260923\\runs\\run-02\\close-action.json",
|
||||
"archive": "native/runs/run-02/close-action.json",
|
||||
"bytes": 341,
|
||||
"sha256": "c87ecdc7283fac8baf6d33c4a97f3b77ca9e187c8b4b37b81931d6d8425132ec"
|
||||
},
|
||||
{
|
||||
"original": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\edge-anchors-escape-native-20260923\\runs\\run-02\\launch.json",
|
||||
"archive": "native/runs/run-02/launch.json",
|
||||
"bytes": 1996,
|
||||
"sha256": "0da8b27b71d42c0b8a698d01cd63ee0dc153781eb1a004bceb642a6652abb0c8"
|
||||
},
|
||||
{
|
||||
"original": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\edge-anchors-escape-native-20260923\\runs\\run-02\\logs\\studio.stderr.log",
|
||||
"archive": "native/runs/run-02/logs/studio.stderr.log",
|
||||
"bytes": 0,
|
||||
"sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
|
||||
},
|
||||
{
|
||||
"original": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\edge-anchors-escape-native-20260923\\runs\\run-02\\logs\\studio.stdout.log",
|
||||
"archive": "native/runs/run-02/logs/studio.stdout.log",
|
||||
"bytes": 0,
|
||||
"sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
|
||||
},
|
||||
{
|
||||
"original": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\edge-anchors-escape-native-20260923\\runs\\run-02\\normal-close.json",
|
||||
"archive": "native/runs/run-02/normal-close.json",
|
||||
"bytes": 1679,
|
||||
"sha256": "ba7cbdef1cf94e7ec82c643358c099b3852343c52a3ae5e3a289b0b1a3155cec"
|
||||
},
|
||||
{
|
||||
"original": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\edge-anchors-escape-native-20260923\\stage.py",
|
||||
"archive": "native/stage.py",
|
||||
"bytes": 9495,
|
||||
"sha256": "3f1c439d485f4041d583e9eaf5cd3025c33b0c81ab58df5127b3a52c2b690095"
|
||||
},
|
||||
{
|
||||
"original": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\edge-anchors-escape-native-20260923\\staging-record.json",
|
||||
"archive": "native/staging-record.json",
|
||||
"bytes": 437,
|
||||
"sha256": "9e87fb89d6c788cd347af7f08cec80fdeac181868a906cf2f5f418b9ba8ac8bb"
|
||||
},
|
||||
{
|
||||
"original": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\edge-anchors-escape-native-20260923\\verify.ps1",
|
||||
"archive": "native/verify.ps1",
|
||||
"bytes": 924,
|
||||
"sha256": "e38f44c059b55e53282193a617ee7aed531902d49ec314686838c8c713875395"
|
||||
},
|
||||
{
|
||||
"original": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\edge-anchors-escape-native-20260923-failed-01\\baseline\\attachments.arcadia",
|
||||
"archive": "failed-stage-01/baseline/attachments.arcadia",
|
||||
"bytes": 9715,
|
||||
"sha256": "a05c43d13e9e65872f625456b45f30f8296069159de43c695793194beac7008d"
|
||||
},
|
||||
{
|
||||
"original": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\edge-anchors-escape-native-20260923-failed-01\\baseline\\B.project.json",
|
||||
"archive": "failed-stage-01/baseline/B.project.json",
|
||||
"bytes": 24594,
|
||||
"sha256": "149fcc554b5f41bc41bfa68f1f70edda73e8df868d92f7e1ee8020967b609d67"
|
||||
},
|
||||
{
|
||||
"original": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\edge-anchors-escape-native-20260923-failed-01\\baseline\\stderr.log",
|
||||
"archive": "failed-stage-01/baseline/stderr.log",
|
||||
"bytes": 0,
|
||||
"sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
|
||||
},
|
||||
{
|
||||
"original": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\edge-anchors-escape-native-20260923-failed-01\\baseline\\stdout.log",
|
||||
"archive": "failed-stage-01/baseline/stdout.log",
|
||||
"bytes": 68,
|
||||
"sha256": "e128921d6c122c4a430aced7b98253b11641137c5e088899b0ed87a8f5469c93"
|
||||
},
|
||||
{
|
||||
"original": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\edge-anchors-escape-native-20260923-failed-01\\capture.js",
|
||||
"archive": "failed-stage-01/capture.js",
|
||||
"bytes": 2281,
|
||||
"sha256": "b30a588ec99e3c78eef8c0fdaa158d60170e03915161682cfd8d3accf5c68e62"
|
||||
},
|
||||
{
|
||||
"original": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\edge-anchors-escape-native-20260923-failed-01\\check.py",
|
||||
"archive": "failed-stage-01/check.py",
|
||||
"bytes": 3525,
|
||||
"sha256": "f038e4e1f75d8549ac23bce9e90e39799ced82ea6cbd0fd5d9b18908980d2187"
|
||||
},
|
||||
{
|
||||
"original": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\edge-anchors-escape-native-20260923-failed-01\\launch.ps1",
|
||||
"archive": "failed-stage-01/launch.ps1",
|
||||
"bytes": 6234,
|
||||
"sha256": "899b1ca6ac6c0cdd62eeaf2b6706d9be3072aa6c14dd5e801c8e5e1d4a6b89b2"
|
||||
},
|
||||
{
|
||||
"original": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\edge-anchors-escape-native-20260923-failed-01\\native-plan.md",
|
||||
"archive": "failed-stage-01/native-plan.md",
|
||||
"bytes": 2974,
|
||||
"sha256": "8147e652ba49fb17a39eb19f2fb06b7eddbad37198160abade7aa4db19147fa6"
|
||||
},
|
||||
{
|
||||
"original": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\edge-anchors-escape-native-20260923-failed-01\\provenance\\binary-relocation.json",
|
||||
"archive": "failed-stage-01/provenance/binary-relocation.json",
|
||||
"bytes": 1454,
|
||||
"sha256": "b54c263141d92c863f58637deb8c65a1ddc442b972d14c23e54697e2a6b92884"
|
||||
},
|
||||
{
|
||||
"original": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\edge-anchors-escape-native-20260923-failed-01\\provenance\\evaluator-reuse.json",
|
||||
"archive": "failed-stage-01/provenance/evaluator-reuse.json",
|
||||
"bytes": 854,
|
||||
"sha256": "f6f7e033b5eb24d890f7f0190759d554f6f64ec93ba1dd5f54885f0c52ac6941"
|
||||
},
|
||||
{
|
||||
"original": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\edge-anchors-escape-native-20260923-failed-01\\stage.py",
|
||||
"archive": "failed-stage-01/stage.py",
|
||||
"bytes": 9476,
|
||||
"sha256": "715f6bfb68fc721be868f16635e41b88fad059e0b10dee7287240411ce79c82f"
|
||||
},
|
||||
{
|
||||
"original": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\edge-anchors-escape-native-20260923-failed-01\\verify.ps1",
|
||||
"archive": "failed-stage-01/verify.ps1",
|
||||
"bytes": 924,
|
||||
"sha256": "e38f44c059b55e53282193a617ee7aed531902d49ec314686838c8c713875395"
|
||||
},
|
||||
{
|
||||
"original": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\edge-anchors-escape-stage-review-20260923.md",
|
||||
"archive": "reviews/00-edge-anchors-escape-stage-review-20260923.md",
|
||||
"bytes": 3409,
|
||||
"sha256": "383bb506fe14bb2a0e05a67bd4b69fedf1db11c87ac09279fc49b845a5556f65"
|
||||
},
|
||||
{
|
||||
"original": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\edge-anchors-state-escape-review-20260922.md",
|
||||
"archive": "reviews/01-edge-anchors-state-escape-review-20260922.md",
|
||||
"bytes": 7063,
|
||||
"sha256": "df73163335531e69362bf7a5944433ce59b7261a652286d9b293fe3f1cba36e9"
|
||||
},
|
||||
{
|
||||
"original": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\edge-anchors-escape-native-run1-review-20260923.md",
|
||||
"archive": "reviews/02-edge-anchors-escape-native-run1-review-20260923.md",
|
||||
"bytes": 6646,
|
||||
"sha256": "d8357d6016bd50fe9cb364e469ec05b3a7c46cbd659168cd5df2d475de2a28db"
|
||||
},
|
||||
{
|
||||
"original": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\edge-anchors-escape-native-run2-review-20260923.md",
|
||||
"archive": "reviews/03-edge-anchors-escape-native-run2-review-20260923.md",
|
||||
"bytes": 4643,
|
||||
"sha256": "d87fa659b33ea1d1db75aafcb4462579c4044784a51e8882e38b4c50a20f5bc4"
|
||||
},
|
||||
{
|
||||
"original": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\edge-anchors-evidence-20260923\\verify-build.py",
|
||||
"archive": "verify-build.py",
|
||||
"bytes": 9556,
|
||||
"sha256": "4e92f820fe4ec888b395b51e37084b31b5b160408d52e27032886d60423df1db"
|
||||
},
|
||||
{
|
||||
"original": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\edge-anchors-evidence-20260923\\build-corrected.py",
|
||||
"archive": "build-corrected.py",
|
||||
"bytes": 4856,
|
||||
"sha256": "147fbcc1d01891b9ac78dfceb298aec064c1bcc7f0f6603b4e46b0572fddeb8f"
|
||||
}
|
||||
],
|
||||
"source_map": "source-map.json",
|
||||
"source_map_sha256": "748eda2b4aa059a203cb244dce2b800309ce5ea24779181bd41f8a3dd7b1c764",
|
||||
"prerequisite_archives": [
|
||||
{
|
||||
"name": "original-stage-01",
|
||||
"manifest_sha256": "2379fb100e529772ea6149554fee71aca80ab956539e97aa4d288b189ff55131"
|
||||
}
|
||||
],
|
||||
"excluded": "Binaries, profiles, mutable working. Original stage is separate immutable prerequisite."
|
||||
}
|
||||
@@ -0,0 +1,46 @@
|
||||
"""Build corrected evidence only after both native runs close. Original archive stays read-only."""
|
||||
from pathlib import Path
|
||||
import argparse,importlib.util,hashlib,json
|
||||
HERE=Path(__file__).resolve().parent
|
||||
spec=importlib.util.spec_from_file_location('evidence',HERE/'verify-build.py');h=importlib.util.module_from_spec(spec);spec.loader.exec_module(h)
|
||||
def main():
|
||||
p=argparse.ArgumentParser(description=__doc__);p.add_argument('--native',required=True);p.add_argument('--gate',required=True);p.add_argument('--repo',required=True);p.add_argument('--original-archive',required=True);p.add_argument('--failed-stage',required=True);p.add_argument('--extra',action='append',default=[]);p.add_argument('--output',required=True);a=p.parse_args()
|
||||
native=Path(a.native).resolve();gate=Path(a.gate).resolve();repo=Path(a.repo).resolve();out=Path(a.output).resolve();original=Path(a.original_archive).resolve()
|
||||
for n in (1,2):
|
||||
run=native/'runs'/f'run-{n:02d}'
|
||||
if not (run/'normal-close.json').is_file():raise RuntimeError('Both corrected runs must be closed before archive: '+str(run))
|
||||
close=h.read(run/'normal-close.json');launch=h.read(run/'launch.json')
|
||||
assert close['launch_sha256']==h.digest((run/'launch.json').read_bytes()) and close['pid']==launch['pid'] and close['started_utc']==launch['started_utc']
|
||||
if out.exists():raise RuntimeError('New output required')
|
||||
m=h.read(native/'input-manifest.json');pin=m['source_commit'];summary=h.read(gate/'summary.json');commit=h.read(gate/'commit-readback.json');assert commit['source_commit']==pin
|
||||
out.mkdir(parents=True);inventory=[];sources=[]
|
||||
def copy(src,rel):
|
||||
src=Path(src).resolve();raw=src.read_bytes();dest=out/rel;dest.parent.mkdir(parents=True,exist_ok=True)
|
||||
with dest.open('xb') as f:f.write(raw)
|
||||
assert src.read_bytes()==dest.read_bytes()
|
||||
inventory.append(dict(original=str(src),archive=rel,bytes=len(raw),sha256=h.digest(raw)))
|
||||
def tree(folder,prefix):
|
||||
for src in sorted(folder.rglob('*')):
|
||||
rel=src.relative_to(folder)
|
||||
if not src.is_file() or src.suffix.lower() in ('.exe','.dll','.pdb') or any(v in ('working','profile','package','unrelated-cwd','__pycache__') for v in rel.parts):continue
|
||||
copy(src,prefix+'/'+rel.as_posix())
|
||||
tree(gate,'gates');tree(native,'native');tree(Path(a.failed_stage).resolve(),'failed-stage-01')
|
||||
items=h.read(summary['source_manifest']['path']);paths=[Path(r['path']).resolve().relative_to(repo).as_posix() for r in items];blobs=dict(h.git_blobs(repo,pin,paths))
|
||||
for item,path in zip(items,paths):
|
||||
blob=blobs[path];row={'original':item['path'],'git_path':path,'commit':pin,'bytes':item['bytes'],'sha256':item['sha256']}
|
||||
if len(blob)==item['bytes'] and h.digest(blob)==item['sha256']:row['storage']='git'
|
||||
else:
|
||||
raw=Path(item['path']).read_bytes()
|
||||
if len(raw)!=item['bytes'] or h.digest(raw)!=item['sha256']:raise RuntimeError('Captured raw source changed: '+path)
|
||||
rel='source-overrides/'+pin+'/'+path;dest=out/rel;dest.parent.mkdir(parents=True,exist_ok=True)
|
||||
with dest.open('xb') as f:f.write(raw)
|
||||
row.update(storage='override',archive=rel)
|
||||
sources.append(row)
|
||||
for i,src in enumerate(a.extra):copy(src,f'reviews/{i:02d}-'+Path(src).name)
|
||||
copy(HERE/'verify-build.py','verify-build.py');copy(__file__,'build-corrected.py')
|
||||
h.write(out/'source-map.json',sources)
|
||||
h.write(out/'archive-manifest.json',{'original_receipts_unchanged':True,'files':inventory,'source_map':'source-map.json','source_map_sha256':h.digest((out/'source-map.json').read_bytes()),'prerequisite_archives':[{'name':original.name,'manifest_sha256':h.digest((original/'archive-manifest.json').read_bytes())}],'excluded':'Binaries, profiles, mutable working. Original stage is separate immutable prerequisite.'})
|
||||
(out/'.gitattributes').write_text('* -text\n',encoding='ascii')
|
||||
(out/'README.md').write_text('# Corrected State Escape evidence\n\nPrepared raw evidence for GUI '+pin+'; evaluator remains separately pinned to '+m['evaluator_source_commit']+'. Historical gate results retain their uncommitted-base description; commit-readback and exact captured source mapping establish the later commit. Binary relocation incident remains disclosed. Original archive is a required separate prerequisite, not overwritten or duplicated.\n\nVerify with `python verify-build.py verify --archive . --repo /repository --related-archive /original-stage-01`. Reviews and closed native receipts bound actual claims; preparation alone is not acceptance. Excluded binaries are reported as external. Final narrative and external-reference inventory require parent review before publication.\n',encoding='utf-8')
|
||||
print(json.dumps({'archive':str(out),'originals':len(inventory),'source_records':len(sources),'git_exact':sum(r['storage']=='git' for r in sources),'overrides':sum(r['storage']=='override' for r in sources)},indent=2))
|
||||
if __name__=='__main__':main()
|
||||
@@ -0,0 +1,860 @@
|
||||
{
|
||||
"schema_version": 7,
|
||||
"id": "ea202922-0033-4000-8000-000000000001",
|
||||
"alias": "endpoint_acceptance",
|
||||
"name": "Harbor dispatch — attachment acceptance",
|
||||
"description": "Small native fixture for presentation-only endpoint editing. Names describe stored source-to-target direction.",
|
||||
"elements": {
|
||||
"ea202922-0033-4000-8000-000000000010": {
|
||||
"id": "ea202922-0033-4000-8000-000000000010",
|
||||
"alias": "receive_report",
|
||||
"name": "Receive distress report",
|
||||
"description": "",
|
||||
"parent": null,
|
||||
"body": {
|
||||
"Oa": "Activity"
|
||||
}
|
||||
},
|
||||
"ea202922-0033-4000-8000-000000000011": {
|
||||
"id": "ea202922-0033-4000-8000-000000000011",
|
||||
"alias": "dispatch_crew",
|
||||
"name": "Dispatch rescue crew",
|
||||
"description": "",
|
||||
"parent": null,
|
||||
"body": {
|
||||
"Oa": "Activity"
|
||||
}
|
||||
},
|
||||
"ea202922-0033-4000-8000-000000000030": {
|
||||
"id": "ea202922-0033-4000-8000-000000000030",
|
||||
"alias": "controller",
|
||||
"name": "Rescue readiness controller",
|
||||
"description": "",
|
||||
"parent": null,
|
||||
"body": {
|
||||
"Sa": "System"
|
||||
}
|
||||
},
|
||||
"ea202922-0033-4000-8000-000000000031": {
|
||||
"id": "ea202922-0033-4000-8000-000000000031",
|
||||
"alias": "readiness",
|
||||
"name": "Rescue readiness",
|
||||
"description": "",
|
||||
"parent": "ea202922-0033-4000-8000-000000000030",
|
||||
"body": {
|
||||
"Sa": {
|
||||
"Shared": "StateMachine"
|
||||
}
|
||||
}
|
||||
},
|
||||
"ea202922-0033-4000-8000-000000000032": {
|
||||
"id": "ea202922-0033-4000-8000-000000000032",
|
||||
"alias": "main_region",
|
||||
"name": "Readiness region",
|
||||
"description": "",
|
||||
"parent": "ea202922-0033-4000-8000-000000000031",
|
||||
"body": {
|
||||
"Sa": {
|
||||
"Shared": "Region"
|
||||
}
|
||||
}
|
||||
},
|
||||
"ea202922-0033-4000-8000-000000000033": {
|
||||
"id": "ea202922-0033-4000-8000-000000000033",
|
||||
"alias": "start",
|
||||
"name": "Startup",
|
||||
"description": "",
|
||||
"parent": "ea202922-0033-4000-8000-000000000032",
|
||||
"body": {
|
||||
"Sa": {
|
||||
"Shared": {
|
||||
"State": {
|
||||
"kind": "Initial",
|
||||
"entry": "",
|
||||
"exit": "",
|
||||
"do_activity": ""
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"ea202922-0033-4000-8000-000000000034": {
|
||||
"id": "ea202922-0033-4000-8000-000000000034",
|
||||
"alias": "ready",
|
||||
"name": "Ready",
|
||||
"description": "",
|
||||
"parent": "ea202922-0033-4000-8000-000000000032",
|
||||
"body": {
|
||||
"Sa": {
|
||||
"Shared": {
|
||||
"State": {
|
||||
"kind": "State",
|
||||
"entry": "",
|
||||
"exit": "",
|
||||
"do_activity": ""
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"ea202922-0033-4000-8000-000000000035": {
|
||||
"id": "ea202922-0033-4000-8000-000000000035",
|
||||
"alias": "active",
|
||||
"name": "Active",
|
||||
"description": "",
|
||||
"parent": "ea202922-0033-4000-8000-000000000032",
|
||||
"body": {
|
||||
"Sa": {
|
||||
"Shared": {
|
||||
"State": {
|
||||
"kind": "State",
|
||||
"entry": "",
|
||||
"exit": "",
|
||||
"do_activity": ""
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"ea202922-0033-4000-8000-000000000036": {
|
||||
"id": "ea202922-0033-4000-8000-000000000036",
|
||||
"alias": "decision",
|
||||
"name": "Dispatch decision",
|
||||
"description": "",
|
||||
"parent": "ea202922-0033-4000-8000-000000000032",
|
||||
"body": {
|
||||
"Sa": {
|
||||
"Shared": {
|
||||
"State": {
|
||||
"kind": "Choice",
|
||||
"entry": "",
|
||||
"exit": "",
|
||||
"do_activity": ""
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"ea202922-0033-4000-8000-000000000037": {
|
||||
"id": "ea202922-0033-4000-8000-000000000037",
|
||||
"alias": "finished",
|
||||
"name": "Shutdown complete",
|
||||
"description": "",
|
||||
"parent": "ea202922-0033-4000-8000-000000000032",
|
||||
"body": {
|
||||
"Sa": {
|
||||
"Shared": {
|
||||
"State": {
|
||||
"kind": "Final",
|
||||
"entry": "",
|
||||
"exit": "",
|
||||
"do_activity": ""
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"ea202922-0033-4000-8000-000000000050": {
|
||||
"id": "ea202922-0033-4000-8000-000000000050",
|
||||
"alias": "emit_status",
|
||||
"name": "Emit readiness status",
|
||||
"description": "",
|
||||
"parent": null,
|
||||
"body": {
|
||||
"Sa": "Function"
|
||||
}
|
||||
},
|
||||
"ea202922-0033-4000-8000-000000000051": {
|
||||
"id": "ea202922-0033-4000-8000-000000000051",
|
||||
"alias": "display_status",
|
||||
"name": "Display readiness status",
|
||||
"description": "",
|
||||
"parent": null,
|
||||
"body": {
|
||||
"Sa": "Function"
|
||||
}
|
||||
},
|
||||
"ea202922-0033-4000-8000-000000000052": {
|
||||
"id": "ea202922-0033-4000-8000-000000000052",
|
||||
"alias": "status_out",
|
||||
"name": "Status output",
|
||||
"description": "",
|
||||
"parent": "ea202922-0033-4000-8000-000000000050",
|
||||
"body": {
|
||||
"Sa": {
|
||||
"Shared": {
|
||||
"Port": {
|
||||
"contract": {
|
||||
"FunctionOutput": {
|
||||
"outgoing_items": []
|
||||
}
|
||||
},
|
||||
"legacy": null
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"ea202922-0033-4000-8000-000000000053": {
|
||||
"id": "ea202922-0033-4000-8000-000000000053",
|
||||
"alias": "status_in",
|
||||
"name": "Status input",
|
||||
"description": "",
|
||||
"parent": "ea202922-0033-4000-8000-000000000051",
|
||||
"body": {
|
||||
"Sa": {
|
||||
"Shared": {
|
||||
"Port": {
|
||||
"contract": {
|
||||
"FunctionInput": {
|
||||
"incoming_items": []
|
||||
}
|
||||
},
|
||||
"legacy": null
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"relations": {
|
||||
"ea202922-0033-4000-8000-000000000020": {
|
||||
"id": "ea202922-0033-4000-8000-000000000020",
|
||||
"alias": "dispatch_request",
|
||||
"name": "Dispatch request: Receive → Dispatch",
|
||||
"description": "Semantic sentinel: retain this description and direction.",
|
||||
"body": {
|
||||
"Interaction": {
|
||||
"source": "ea202922-0033-4000-8000-000000000010",
|
||||
"target": "ea202922-0033-4000-8000-000000000011",
|
||||
"items": []
|
||||
}
|
||||
}
|
||||
},
|
||||
"ea202922-0033-4000-8000-000000000040": {
|
||||
"id": "ea202922-0033-4000-8000-000000000040",
|
||||
"alias": "initialize",
|
||||
"name": "Initialize: Startup → Ready",
|
||||
"description": "",
|
||||
"body": {
|
||||
"StateTransition": {
|
||||
"source": "ea202922-0033-4000-8000-000000000033",
|
||||
"target": "ea202922-0033-4000-8000-000000000034",
|
||||
"transition_kind": "External",
|
||||
"triggers": [],
|
||||
"effects": [],
|
||||
"trigger": "",
|
||||
"guard": "",
|
||||
"effect": ""
|
||||
}
|
||||
}
|
||||
},
|
||||
"ea202922-0033-4000-8000-000000000041": {
|
||||
"id": "ea202922-0033-4000-8000-000000000041",
|
||||
"alias": "activate",
|
||||
"name": "Activate: Ready → Active",
|
||||
"description": "",
|
||||
"body": {
|
||||
"StateTransition": {
|
||||
"source": "ea202922-0033-4000-8000-000000000034",
|
||||
"target": "ea202922-0033-4000-8000-000000000035",
|
||||
"transition_kind": "External",
|
||||
"triggers": [],
|
||||
"effects": [],
|
||||
"trigger": "",
|
||||
"guard": "crew_assigned",
|
||||
"effect": ""
|
||||
}
|
||||
}
|
||||
},
|
||||
"ea202922-0033-4000-8000-000000000042": {
|
||||
"id": "ea202922-0033-4000-8000-000000000042",
|
||||
"alias": "assess",
|
||||
"name": "Assess: Active → Decision",
|
||||
"description": "",
|
||||
"body": {
|
||||
"StateTransition": {
|
||||
"source": "ea202922-0033-4000-8000-000000000035",
|
||||
"target": "ea202922-0033-4000-8000-000000000036",
|
||||
"transition_kind": "External",
|
||||
"triggers": [],
|
||||
"effects": [],
|
||||
"trigger": "",
|
||||
"guard": "",
|
||||
"effect": ""
|
||||
}
|
||||
}
|
||||
},
|
||||
"ea202922-0033-4000-8000-000000000043": {
|
||||
"id": "ea202922-0033-4000-8000-000000000043",
|
||||
"alias": "retry",
|
||||
"name": "Retry: Decision → Ready",
|
||||
"description": "",
|
||||
"body": {
|
||||
"StateTransition": {
|
||||
"source": "ea202922-0033-4000-8000-000000000036",
|
||||
"target": "ea202922-0033-4000-8000-000000000034",
|
||||
"transition_kind": "External",
|
||||
"triggers": [],
|
||||
"effects": [],
|
||||
"trigger": "",
|
||||
"guard": "retry_requested",
|
||||
"effect": ""
|
||||
}
|
||||
}
|
||||
},
|
||||
"ea202922-0033-4000-8000-000000000044": {
|
||||
"id": "ea202922-0033-4000-8000-000000000044",
|
||||
"alias": "finish",
|
||||
"name": "Finish: Decision → Shutdown",
|
||||
"description": "",
|
||||
"body": {
|
||||
"StateTransition": {
|
||||
"source": "ea202922-0033-4000-8000-000000000036",
|
||||
"target": "ea202922-0033-4000-8000-000000000037",
|
||||
"transition_kind": "External",
|
||||
"triggers": [],
|
||||
"effects": [],
|
||||
"trigger": "",
|
||||
"guard": "else",
|
||||
"effect": ""
|
||||
}
|
||||
}
|
||||
},
|
||||
"ea202922-0033-4000-8000-000000000045": {
|
||||
"id": "ea202922-0033-4000-8000-000000000045",
|
||||
"alias": "refresh",
|
||||
"name": "Refresh: Active → Active",
|
||||
"description": "",
|
||||
"body": {
|
||||
"StateTransition": {
|
||||
"source": "ea202922-0033-4000-8000-000000000035",
|
||||
"target": "ea202922-0033-4000-8000-000000000035",
|
||||
"transition_kind": "External",
|
||||
"triggers": [],
|
||||
"effects": [],
|
||||
"trigger": "",
|
||||
"guard": "refresh_requested",
|
||||
"effect": ""
|
||||
}
|
||||
}
|
||||
},
|
||||
"ea202922-0033-4000-8000-000000000046": {
|
||||
"id": "ea202922-0033-4000-8000-000000000046",
|
||||
"alias": "internal_check",
|
||||
"name": "Internal status check",
|
||||
"description": "",
|
||||
"body": {
|
||||
"StateTransition": {
|
||||
"source": "ea202922-0033-4000-8000-000000000035",
|
||||
"target": "ea202922-0033-4000-8000-000000000035",
|
||||
"transition_kind": "Internal",
|
||||
"triggers": [],
|
||||
"effects": [],
|
||||
"trigger": "",
|
||||
"guard": "",
|
||||
"effect": "Status unchanged"
|
||||
}
|
||||
}
|
||||
},
|
||||
"ea202922-0033-4000-8000-000000000054": {
|
||||
"id": "ea202922-0033-4000-8000-000000000054",
|
||||
"alias": "status_exchange",
|
||||
"name": "Readiness status: Emit → Display",
|
||||
"description": "",
|
||||
"body": {
|
||||
"FunctionalExchange": {
|
||||
"source": "ea202922-0033-4000-8000-000000000050",
|
||||
"target": "ea202922-0033-4000-8000-000000000051",
|
||||
"source_port": "ea202922-0033-4000-8000-000000000052",
|
||||
"target_port": "ea202922-0033-4000-8000-000000000053",
|
||||
"items": []
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"diagrams": {
|
||||
"ea202922-0033-4000-8000-000000000100": {
|
||||
"id": "ea202922-0033-4000-8000-000000000100",
|
||||
"alias": "dispatch_view",
|
||||
"name": "01 Dispatch — edit attachments",
|
||||
"description": "",
|
||||
"layer": "Oa",
|
||||
"projection": "FunctionalDataflow",
|
||||
"view_options": {
|
||||
"hidden_edges": [],
|
||||
"relation_kinds": "All",
|
||||
"work_categories": "All",
|
||||
"participant_categories": "All",
|
||||
"coverage": "All",
|
||||
"work_contexts": "All",
|
||||
"exchange_labels": "Name"
|
||||
},
|
||||
"nodes": {
|
||||
"ea202922-0033-4000-8000-000000000110": {
|
||||
"id": "ea202922-0033-4000-8000-000000000110",
|
||||
"alias": "dispatch_view_receive",
|
||||
"element": "ea202922-0033-4000-8000-000000000010",
|
||||
"position": {
|
||||
"x": 100.0,
|
||||
"y": 180.0
|
||||
},
|
||||
"size": {
|
||||
"width": 240.0,
|
||||
"height": 120.0
|
||||
},
|
||||
"collapsed": false
|
||||
},
|
||||
"ea202922-0033-4000-8000-000000000111": {
|
||||
"id": "ea202922-0033-4000-8000-000000000111",
|
||||
"alias": "dispatch_view_dispatch",
|
||||
"element": "ea202922-0033-4000-8000-000000000011",
|
||||
"position": {
|
||||
"x": 600.0,
|
||||
"y": 180.0
|
||||
},
|
||||
"size": {
|
||||
"width": 240.0,
|
||||
"height": 120.0
|
||||
},
|
||||
"collapsed": false
|
||||
}
|
||||
},
|
||||
"routes": [
|
||||
{
|
||||
"edge": "ea202922-0033-4000-8000-000000000020",
|
||||
"source_attachment": {
|
||||
"side": "Right",
|
||||
"offset": 0.5
|
||||
},
|
||||
"target_attachment": {
|
||||
"side": "Left",
|
||||
"offset": 0.6
|
||||
},
|
||||
"waypoints": [
|
||||
{
|
||||
"x": 440.0,
|
||||
"y": 340.0
|
||||
}
|
||||
],
|
||||
"label": {
|
||||
"fraction": 0.5,
|
||||
"offset": {
|
||||
"x": 12.0,
|
||||
"y": -18.0
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
"ea202922-0033-4000-8000-000000000101": {
|
||||
"id": "ea202922-0033-4000-8000-000000000101",
|
||||
"alias": "dispatch_reference",
|
||||
"name": "02 Dispatch — untouched reference",
|
||||
"description": "",
|
||||
"layer": "Oa",
|
||||
"projection": "FunctionalDataflow",
|
||||
"view_options": {
|
||||
"hidden_edges": [],
|
||||
"relation_kinds": "All",
|
||||
"work_categories": "All",
|
||||
"participant_categories": "All",
|
||||
"coverage": "All",
|
||||
"work_contexts": "All",
|
||||
"exchange_labels": "Name"
|
||||
},
|
||||
"nodes": {
|
||||
"ea202922-0033-4000-8000-000000000120": {
|
||||
"id": "ea202922-0033-4000-8000-000000000120",
|
||||
"alias": "dispatch_reference_receive",
|
||||
"element": "ea202922-0033-4000-8000-000000000010",
|
||||
"position": {
|
||||
"x": 100.0,
|
||||
"y": 180.0
|
||||
},
|
||||
"size": {
|
||||
"width": 240.0,
|
||||
"height": 120.0
|
||||
},
|
||||
"collapsed": false
|
||||
},
|
||||
"ea202922-0033-4000-8000-000000000121": {
|
||||
"id": "ea202922-0033-4000-8000-000000000121",
|
||||
"alias": "dispatch_reference_dispatch",
|
||||
"element": "ea202922-0033-4000-8000-000000000011",
|
||||
"position": {
|
||||
"x": 600.0,
|
||||
"y": 180.0
|
||||
},
|
||||
"size": {
|
||||
"width": 240.0,
|
||||
"height": 120.0
|
||||
},
|
||||
"collapsed": false
|
||||
}
|
||||
},
|
||||
"routes": [
|
||||
{
|
||||
"edge": "ea202922-0033-4000-8000-000000000020",
|
||||
"target_attachment": {
|
||||
"side": "Bottom",
|
||||
"offset": 0.25
|
||||
},
|
||||
"waypoints": [],
|
||||
"label": null
|
||||
}
|
||||
]
|
||||
},
|
||||
"ea202922-0033-4000-8000-000000000200": {
|
||||
"id": "ea202922-0033-4000-8000-000000000200",
|
||||
"alias": "readiness_view",
|
||||
"name": "03 Readiness — edit attachments",
|
||||
"description": "",
|
||||
"layer": "Sa",
|
||||
"projection": {
|
||||
"StateMachine": {
|
||||
"machine": "ea202922-0033-4000-8000-000000000031"
|
||||
}
|
||||
},
|
||||
"view_options": {
|
||||
"hidden_edges": [],
|
||||
"relation_kinds": "All",
|
||||
"work_categories": "All",
|
||||
"participant_categories": "All",
|
||||
"coverage": "All",
|
||||
"work_contexts": "All",
|
||||
"exchange_labels": "Name"
|
||||
},
|
||||
"nodes": {
|
||||
"ea202922-0033-4000-8000-000000000210": {
|
||||
"id": "ea202922-0033-4000-8000-000000000210",
|
||||
"alias": "readiness_view_readiness",
|
||||
"element": "ea202922-0033-4000-8000-000000000031",
|
||||
"position": {
|
||||
"x": 40.0,
|
||||
"y": 40.0
|
||||
},
|
||||
"size": {
|
||||
"width": 980.0,
|
||||
"height": 590.0
|
||||
},
|
||||
"collapsed": false
|
||||
},
|
||||
"ea202922-0033-4000-8000-000000000211": {
|
||||
"id": "ea202922-0033-4000-8000-000000000211",
|
||||
"alias": "readiness_view_main_region",
|
||||
"element": "ea202922-0033-4000-8000-000000000032",
|
||||
"position": {
|
||||
"x": 64.0,
|
||||
"y": 104.0
|
||||
},
|
||||
"size": {
|
||||
"width": 932.0,
|
||||
"height": 500.0
|
||||
},
|
||||
"collapsed": false
|
||||
},
|
||||
"ea202922-0033-4000-8000-000000000212": {
|
||||
"id": "ea202922-0033-4000-8000-000000000212",
|
||||
"alias": "readiness_view_start",
|
||||
"element": "ea202922-0033-4000-8000-000000000033",
|
||||
"position": {
|
||||
"x": 110.0,
|
||||
"y": 252.0
|
||||
},
|
||||
"size": {
|
||||
"width": 20.0,
|
||||
"height": 20.0
|
||||
},
|
||||
"collapsed": false
|
||||
},
|
||||
"ea202922-0033-4000-8000-000000000213": {
|
||||
"id": "ea202922-0033-4000-8000-000000000213",
|
||||
"alias": "readiness_view_ready",
|
||||
"element": "ea202922-0033-4000-8000-000000000034",
|
||||
"position": {
|
||||
"x": 190.0,
|
||||
"y": 210.0
|
||||
},
|
||||
"size": {
|
||||
"width": 240.0,
|
||||
"height": 120.0
|
||||
},
|
||||
"collapsed": false
|
||||
},
|
||||
"ea202922-0033-4000-8000-000000000214": {
|
||||
"id": "ea202922-0033-4000-8000-000000000214",
|
||||
"alias": "readiness_view_active",
|
||||
"element": "ea202922-0033-4000-8000-000000000035",
|
||||
"position": {
|
||||
"x": 570.0,
|
||||
"y": 210.0
|
||||
},
|
||||
"size": {
|
||||
"width": 240.0,
|
||||
"height": 140.0
|
||||
},
|
||||
"collapsed": false
|
||||
},
|
||||
"ea202922-0033-4000-8000-000000000215": {
|
||||
"id": "ea202922-0033-4000-8000-000000000215",
|
||||
"alias": "readiness_view_decision",
|
||||
"element": "ea202922-0033-4000-8000-000000000036",
|
||||
"position": {
|
||||
"x": 670.0,
|
||||
"y": 430.0
|
||||
},
|
||||
"size": {
|
||||
"width": 40.0,
|
||||
"height": 40.0
|
||||
},
|
||||
"collapsed": false
|
||||
},
|
||||
"ea202922-0033-4000-8000-000000000216": {
|
||||
"id": "ea202922-0033-4000-8000-000000000216",
|
||||
"alias": "readiness_view_finished",
|
||||
"element": "ea202922-0033-4000-8000-000000000037",
|
||||
"position": {
|
||||
"x": 880.0,
|
||||
"y": 440.0
|
||||
},
|
||||
"size": {
|
||||
"width": 24.0,
|
||||
"height": 24.0
|
||||
},
|
||||
"collapsed": false
|
||||
}
|
||||
},
|
||||
"routes": [
|
||||
{
|
||||
"edge": "ea202922-0033-4000-8000-000000000041",
|
||||
"source_attachment": {
|
||||
"side": "Right",
|
||||
"offset": 0.5
|
||||
},
|
||||
"target_attachment": {
|
||||
"side": "Left",
|
||||
"offset": 0.6
|
||||
},
|
||||
"waypoints": [
|
||||
{
|
||||
"x": 500.0,
|
||||
"y": 310.0
|
||||
}
|
||||
],
|
||||
"label": {
|
||||
"fraction": 0.5,
|
||||
"offset": {
|
||||
"x": 8.0,
|
||||
"y": -16.0
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"edge": "ea202922-0033-4000-8000-000000000040",
|
||||
"source_attachment": {
|
||||
"side": "Right",
|
||||
"offset": 0.5
|
||||
},
|
||||
"waypoints": [],
|
||||
"label": null
|
||||
},
|
||||
{
|
||||
"edge": "ea202922-0033-4000-8000-000000000044",
|
||||
"source_attachment": {
|
||||
"side": "Right",
|
||||
"offset": 0.5
|
||||
},
|
||||
"waypoints": [],
|
||||
"label": null
|
||||
}
|
||||
]
|
||||
},
|
||||
"ea202922-0033-4000-8000-000000000201": {
|
||||
"id": "ea202922-0033-4000-8000-000000000201",
|
||||
"alias": "readiness_reference",
|
||||
"name": "04 Readiness — untouched reference",
|
||||
"description": "",
|
||||
"layer": "Sa",
|
||||
"projection": {
|
||||
"StateMachine": {
|
||||
"machine": "ea202922-0033-4000-8000-000000000031"
|
||||
}
|
||||
},
|
||||
"view_options": {
|
||||
"hidden_edges": [],
|
||||
"relation_kinds": "All",
|
||||
"work_categories": "All",
|
||||
"participant_categories": "All",
|
||||
"coverage": "All",
|
||||
"work_contexts": "All",
|
||||
"exchange_labels": "Name"
|
||||
},
|
||||
"nodes": {
|
||||
"ea202922-0033-4000-8000-000000000230": {
|
||||
"id": "ea202922-0033-4000-8000-000000000230",
|
||||
"alias": "readiness_reference_readiness",
|
||||
"element": "ea202922-0033-4000-8000-000000000031",
|
||||
"position": {
|
||||
"x": 40.0,
|
||||
"y": 40.0
|
||||
},
|
||||
"size": {
|
||||
"width": 980.0,
|
||||
"height": 590.0
|
||||
},
|
||||
"collapsed": false
|
||||
},
|
||||
"ea202922-0033-4000-8000-000000000231": {
|
||||
"id": "ea202922-0033-4000-8000-000000000231",
|
||||
"alias": "readiness_reference_main_region",
|
||||
"element": "ea202922-0033-4000-8000-000000000032",
|
||||
"position": {
|
||||
"x": 64.0,
|
||||
"y": 104.0
|
||||
},
|
||||
"size": {
|
||||
"width": 932.0,
|
||||
"height": 500.0
|
||||
},
|
||||
"collapsed": false
|
||||
},
|
||||
"ea202922-0033-4000-8000-000000000232": {
|
||||
"id": "ea202922-0033-4000-8000-000000000232",
|
||||
"alias": "readiness_reference_start",
|
||||
"element": "ea202922-0033-4000-8000-000000000033",
|
||||
"position": {
|
||||
"x": 110.0,
|
||||
"y": 212.0
|
||||
},
|
||||
"size": {
|
||||
"width": 20.0,
|
||||
"height": 20.0
|
||||
},
|
||||
"collapsed": false
|
||||
},
|
||||
"ea202922-0033-4000-8000-000000000233": {
|
||||
"id": "ea202922-0033-4000-8000-000000000233",
|
||||
"alias": "readiness_reference_ready",
|
||||
"element": "ea202922-0033-4000-8000-000000000034",
|
||||
"position": {
|
||||
"x": 190.0,
|
||||
"y": 170.0
|
||||
},
|
||||
"size": {
|
||||
"width": 240.0,
|
||||
"height": 120.0
|
||||
},
|
||||
"collapsed": false
|
||||
},
|
||||
"ea202922-0033-4000-8000-000000000234": {
|
||||
"id": "ea202922-0033-4000-8000-000000000234",
|
||||
"alias": "readiness_reference_active",
|
||||
"element": "ea202922-0033-4000-8000-000000000035",
|
||||
"position": {
|
||||
"x": 570.0,
|
||||
"y": 170.0
|
||||
},
|
||||
"size": {
|
||||
"width": 240.0,
|
||||
"height": 140.0
|
||||
},
|
||||
"collapsed": false
|
||||
},
|
||||
"ea202922-0033-4000-8000-000000000235": {
|
||||
"id": "ea202922-0033-4000-8000-000000000235",
|
||||
"alias": "readiness_reference_decision",
|
||||
"element": "ea202922-0033-4000-8000-000000000036",
|
||||
"position": {
|
||||
"x": 670.0,
|
||||
"y": 430.0
|
||||
},
|
||||
"size": {
|
||||
"width": 40.0,
|
||||
"height": 40.0
|
||||
},
|
||||
"collapsed": false
|
||||
},
|
||||
"ea202922-0033-4000-8000-000000000236": {
|
||||
"id": "ea202922-0033-4000-8000-000000000236",
|
||||
"alias": "readiness_reference_finished",
|
||||
"element": "ea202922-0033-4000-8000-000000000037",
|
||||
"position": {
|
||||
"x": 880.0,
|
||||
"y": 440.0
|
||||
},
|
||||
"size": {
|
||||
"width": 24.0,
|
||||
"height": 24.0
|
||||
},
|
||||
"collapsed": false
|
||||
}
|
||||
},
|
||||
"routes": []
|
||||
},
|
||||
"ea202922-0033-4000-8000-000000000300": {
|
||||
"id": "ea202922-0033-4000-8000-000000000300",
|
||||
"alias": "ports_view",
|
||||
"name": "05 Status — semantic ports regression",
|
||||
"description": "",
|
||||
"layer": "Sa",
|
||||
"projection": "FunctionalDataflow",
|
||||
"view_options": {
|
||||
"hidden_edges": [],
|
||||
"relation_kinds": "All",
|
||||
"work_categories": "All",
|
||||
"participant_categories": "All",
|
||||
"coverage": "All",
|
||||
"work_contexts": "All",
|
||||
"exchange_labels": "Name"
|
||||
},
|
||||
"nodes": {
|
||||
"ea202922-0033-4000-8000-000000000310": {
|
||||
"id": "ea202922-0033-4000-8000-000000000310",
|
||||
"alias": "ports_emit",
|
||||
"element": "ea202922-0033-4000-8000-000000000050",
|
||||
"position": {
|
||||
"x": 100.0,
|
||||
"y": 180.0
|
||||
},
|
||||
"size": {
|
||||
"width": 240.0,
|
||||
"height": 120.0
|
||||
},
|
||||
"collapsed": false,
|
||||
"port_anchors": [
|
||||
{
|
||||
"port": "ea202922-0033-4000-8000-000000000052",
|
||||
"side": "Right",
|
||||
"offset": 0.5
|
||||
}
|
||||
]
|
||||
},
|
||||
"ea202922-0033-4000-8000-000000000311": {
|
||||
"id": "ea202922-0033-4000-8000-000000000311",
|
||||
"alias": "ports_display",
|
||||
"element": "ea202922-0033-4000-8000-000000000051",
|
||||
"position": {
|
||||
"x": 600.0,
|
||||
"y": 180.0
|
||||
},
|
||||
"size": {
|
||||
"width": 240.0,
|
||||
"height": 120.0
|
||||
},
|
||||
"collapsed": false,
|
||||
"port_anchors": [
|
||||
{
|
||||
"port": "ea202922-0033-4000-8000-000000000053",
|
||||
"side": "Left",
|
||||
"offset": 0.5
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"routes": []
|
||||
}
|
||||
},
|
||||
"artifact_links": {},
|
||||
"traces": {}
|
||||
}
|
||||
@@ -0,0 +1,53 @@
|
||||
// Immutable acceptance baseline: copy before editing. Stable IDs are deliberate.
|
||||
arcadia 7;
|
||||
project endpoint_acceptance "Harbor dispatch — attachment acceptance" id "ea202922-0033-4000-8000-000000000001" {
|
||||
description "Small native fixture for presentation-only endpoint editing. Names describe stored source-to-target direction.";
|
||||
oa_activity receive_report "Receive distress report" id "ea202922-0033-4000-8000-000000000010" { }
|
||||
oa_activity dispatch_crew "Dispatch rescue crew" id "ea202922-0033-4000-8000-000000000011" { }
|
||||
interaction dispatch_request "Dispatch request: Receive → Dispatch" id "ea202922-0033-4000-8000-000000000020" { source @receive_report; target @dispatch_crew; description "Semantic sentinel: retain this description and direction."; }
|
||||
sa_system controller "Rescue readiness controller" id "ea202922-0033-4000-8000-000000000030" { }
|
||||
sa_state_machine readiness "Rescue readiness" id "ea202922-0033-4000-8000-000000000031" { parent @controller; }
|
||||
sa_region main_region "Readiness region" id "ea202922-0033-4000-8000-000000000032" { parent @readiness; }
|
||||
sa_initial start "Startup" id "ea202922-0033-4000-8000-000000000033" { parent @main_region; }
|
||||
sa_state ready "Ready" id "ea202922-0033-4000-8000-000000000034" { parent @main_region; }
|
||||
sa_state active "Active" id "ea202922-0033-4000-8000-000000000035" { parent @main_region; }
|
||||
sa_choice decision "Dispatch decision" id "ea202922-0033-4000-8000-000000000036" { parent @main_region; }
|
||||
sa_final finished "Shutdown complete" id "ea202922-0033-4000-8000-000000000037" { parent @main_region; }
|
||||
state_transition initialize "Initialize: Startup → Ready" id "ea202922-0033-4000-8000-000000000040" { source @start; target @ready; transition_kind External; triggers []; trigger ""; guard ""; effects []; effect ""; }
|
||||
state_transition activate "Activate: Ready → Active" id "ea202922-0033-4000-8000-000000000041" { source @ready; target @active; transition_kind External; triggers []; trigger ""; guard "crew_assigned"; effects []; effect ""; }
|
||||
state_transition assess "Assess: Active → Decision" id "ea202922-0033-4000-8000-000000000042" { source @active; target @decision; transition_kind External; triggers []; trigger ""; guard ""; effects []; effect ""; }
|
||||
state_transition retry "Retry: Decision → Ready" id "ea202922-0033-4000-8000-000000000043" { source @decision; target @ready; transition_kind External; triggers []; trigger ""; guard "retry_requested"; effects []; effect ""; }
|
||||
state_transition finish "Finish: Decision → Shutdown" id "ea202922-0033-4000-8000-000000000044" { source @decision; target @finished; transition_kind External; triggers []; trigger ""; guard "else"; effects []; effect ""; }
|
||||
state_transition refresh "Refresh: Active → Active" id "ea202922-0033-4000-8000-000000000045" { source @active; target @active; transition_kind External; triggers []; trigger ""; guard "refresh_requested"; effects []; effect ""; }
|
||||
state_transition internal_check "Internal status check" id "ea202922-0033-4000-8000-000000000046" { source @active; target @active; transition_kind Internal; triggers []; trigger ""; guard ""; effects []; effect "Status unchanged"; }
|
||||
sa_function emit_status "Emit readiness status" id "ea202922-0033-4000-8000-000000000050" { }
|
||||
sa_function display_status "Display readiness status" id "ea202922-0033-4000-8000-000000000051" { }
|
||||
sa_port status_out "Status output" id "ea202922-0033-4000-8000-000000000052" { parent @emit_status; contract { FunctionOutput { outgoing_items []; }; }; }
|
||||
sa_port status_in "Status input" id "ea202922-0033-4000-8000-000000000053" { parent @display_status; contract { FunctionInput { incoming_items []; }; }; }
|
||||
functional_exchange status_exchange "Readiness status: Emit → Display" id "ea202922-0033-4000-8000-000000000054" { source @emit_status; target @display_status; source_port @status_out; target_port @status_in; items []; }
|
||||
diagram dispatch_view "01 Dispatch — edit attachments" id "ea202922-0033-4000-8000-000000000100" { layer Oa; projection FunctionalDataflow; routes [{ edge @dispatch_request; waypoints [{ x 440; y 340; }]; label { fraction 0.5; offset { x 12; y -18; }; }; source_attachment { side Right; offset 0.5; }; target_attachment { side Left; offset 0.6; }; }]; }
|
||||
diagram dispatch_reference "02 Dispatch — untouched reference" id "ea202922-0033-4000-8000-000000000101" { layer Oa; projection FunctionalDataflow; routes [{ edge @dispatch_request; target_attachment { side Bottom; offset 0.25; }; }]; }
|
||||
node dispatch_view_receive id "ea202922-0033-4000-8000-000000000110" { diagram @dispatch_view; element @receive_report; position { x 100; y 180; }; size { width 240; height 120; }; collapsed false; }
|
||||
node dispatch_view_dispatch id "ea202922-0033-4000-8000-000000000111" { diagram @dispatch_view; element @dispatch_crew; position { x 600; y 180; }; size { width 240; height 120; }; collapsed false; }
|
||||
node dispatch_reference_receive id "ea202922-0033-4000-8000-000000000120" { diagram @dispatch_reference; element @receive_report; position { x 100; y 180; }; size { width 240; height 120; }; collapsed false; }
|
||||
node dispatch_reference_dispatch id "ea202922-0033-4000-8000-000000000121" { diagram @dispatch_reference; element @dispatch_crew; position { x 600; y 180; }; size { width 240; height 120; }; collapsed false; }
|
||||
diagram readiness_view "03 Readiness — edit attachments" id "ea202922-0033-4000-8000-000000000200" { layer Sa; projection { StateMachine { machine @readiness; }; }; routes [{ edge @activate; waypoints [{ x 500; y 310; }]; label { fraction 0.5; offset { x 8; y -16; }; }; source_attachment { side Right; offset 0.5; }; target_attachment { side Left; offset 0.6; }; }, { edge @initialize; source_attachment { side Right; offset 0.5; }; }, { edge @finish; source_attachment { side Right; offset 0.5; }; }]; }
|
||||
diagram readiness_reference "04 Readiness — untouched reference" id "ea202922-0033-4000-8000-000000000201" { layer Sa; projection { StateMachine { machine @readiness; }; }; routes []; }
|
||||
node readiness_view_readiness id "ea202922-0033-4000-8000-000000000210" { diagram @readiness_view; element @readiness; position { x 40; y 40; }; size { width 980; height 590; }; collapsed false; }
|
||||
node readiness_view_main_region id "ea202922-0033-4000-8000-000000000211" { diagram @readiness_view; element @main_region; position { x 64; y 104; }; size { width 932; height 500; }; collapsed false; }
|
||||
node readiness_view_start id "ea202922-0033-4000-8000-000000000212" { diagram @readiness_view; element @start; position { x 110; y 252; }; size { width 20; height 20; }; collapsed false; }
|
||||
node readiness_view_ready id "ea202922-0033-4000-8000-000000000213" { diagram @readiness_view; element @ready; position { x 190; y 210; }; size { width 240; height 120; }; collapsed false; }
|
||||
node readiness_view_active id "ea202922-0033-4000-8000-000000000214" { diagram @readiness_view; element @active; position { x 570; y 210; }; size { width 240; height 140; }; collapsed false; }
|
||||
node readiness_view_decision id "ea202922-0033-4000-8000-000000000215" { diagram @readiness_view; element @decision; position { x 670; y 430; }; size { width 40; height 40; }; collapsed false; }
|
||||
node readiness_view_finished id "ea202922-0033-4000-8000-000000000216" { diagram @readiness_view; element @finished; position { x 880; y 440; }; size { width 24; height 24; }; collapsed false; }
|
||||
node readiness_reference_readiness id "ea202922-0033-4000-8000-000000000230" { diagram @readiness_reference; element @readiness; position { x 40; y 40; }; size { width 980; height 590; }; collapsed false; }
|
||||
node readiness_reference_main_region id "ea202922-0033-4000-8000-000000000231" { diagram @readiness_reference; element @main_region; position { x 64; y 104; }; size { width 932; height 500; }; collapsed false; }
|
||||
node readiness_reference_start id "ea202922-0033-4000-8000-000000000232" { diagram @readiness_reference; element @start; position { x 110; y 212; }; size { width 20; height 20; }; collapsed false; }
|
||||
node readiness_reference_ready id "ea202922-0033-4000-8000-000000000233" { diagram @readiness_reference; element @ready; position { x 190; y 170; }; size { width 240; height 120; }; collapsed false; }
|
||||
node readiness_reference_active id "ea202922-0033-4000-8000-000000000234" { diagram @readiness_reference; element @active; position { x 570; y 170; }; size { width 240; height 140; }; collapsed false; }
|
||||
node readiness_reference_decision id "ea202922-0033-4000-8000-000000000235" { diagram @readiness_reference; element @decision; position { x 670; y 430; }; size { width 40; height 40; }; collapsed false; }
|
||||
node readiness_reference_finished id "ea202922-0033-4000-8000-000000000236" { diagram @readiness_reference; element @finished; position { x 880; y 440; }; size { width 24; height 24; }; collapsed false; }
|
||||
diagram ports_view "05 Status — semantic ports regression" id "ea202922-0033-4000-8000-000000000300" { layer Sa; projection FunctionalDataflow; routes []; }
|
||||
node ports_emit id "ea202922-0033-4000-8000-000000000310" { diagram @ports_view; element @emit_status; position { x 100; y 180; }; size { width 240; height 120; }; collapsed false; port_anchors [{ port @status_out; side Right; offset 0.5; }]; }
|
||||
node ports_display id "ea202922-0033-4000-8000-000000000311" { diagram @ports_view; element @display_status; position { x 600; y 180; }; size { width 240; height 120; }; collapsed false; port_anchors [{ port @status_in; side Left; offset 0.5; }]; }
|
||||
}
|
||||
@@ -0,0 +1 @@
|
||||
Validated 49 objects and 5 views; saved a complete Project snapshot
|
||||
@@ -0,0 +1,31 @@
|
||||
// Evidence serialization only. Root supplies a freshly observed Sky state.
|
||||
globalThis.captureEscapeState = async function(name, note, currentState) {
|
||||
if (!/^[a-zA-Z0-9_-]+$/.test(name)) throw Error('Invalid capture name');
|
||||
if (!currentState?.screenshots?.length) throw Error('Fresh screenshot required');
|
||||
const root = 'C:/Users/User/Documents/Git/ARCADIA-Studio/.local/edge-anchors-escape-native-20260923';
|
||||
const run = globalThis.escapeRunRoot;
|
||||
if (!run || !run.startsWith(root+'/runs/run-')) throw Error('Bind current run first');
|
||||
const file = await import('node:fs/promises');
|
||||
const crypto = await import('node:crypto');
|
||||
const hash = bytes => crypto.createHash('sha256').update(bytes).digest('hex');
|
||||
const launchBytes = await file.readFile(run+'/launch.json');
|
||||
const launch = JSON.parse(launchBytes.toString('utf8').replace(/^\uFEFF/,''));
|
||||
const manifestBytes = await file.readFile(root+'/input-manifest.json');
|
||||
if (hash(manifestBytes) !== launch.manifest_sha256) throw Error('Manifest changed');
|
||||
const working = await file.readFile(root+'/working/attachments.arcadia');
|
||||
const dir = run+'/captures';
|
||||
await file.mkdir(dir,{recursive:true});
|
||||
const images=[];
|
||||
for (let i=0;i<currentState.screenshots.length;i++) {
|
||||
const s=currentState.screenshots[i];
|
||||
const mime=s.url.slice(5,s.url.indexOf(';'));
|
||||
if (!['image/jpeg','image/png'].includes(mime)) throw Error('Unexpected image type');
|
||||
const bytes=Buffer.from(s.url.split(',')[1],'base64');
|
||||
const filename=name+(i ? '-'+i : '')+(mime==='image/jpeg'?'.jpg':'.png');
|
||||
await file.writeFile(dir+'/'+filename,bytes,{flag:'wx'});
|
||||
images.push({file:filename,id:s.id,width:s.width,height:s.height,originX:s.originX,originY:s.originY,zIndex:s.zIndex,mime,bytes:bytes.length,sha256:hash(bytes)});
|
||||
}
|
||||
const record={utc:new Date().toISOString(),source_commit:launch.source_commit,launch_sha256:hash(launchBytes),pid:launch.pid,process_started_utc:launch.started_utc,manifest_sha256:launch.manifest_sha256,window:currentState.window,images,working_source_sha256:hash(working),note};
|
||||
await file.writeFile(dir+'/'+name+'.json',JSON.stringify(record,null,2)+'\n',{flag:'wx'});
|
||||
return {name,images:images.length,source_commit:record.source_commit};
|
||||
};
|
||||
@@ -0,0 +1,40 @@
|
||||
"""Snapshot a saved source and compare its complete Project with a predeclared checkpoint."""
|
||||
from pathlib import Path
|
||||
import argparse, datetime, json, subprocess, sys
|
||||
sys.dont_write_bytecode=True
|
||||
from stage import HERE, child_env, copy_new, read, record, verify, write
|
||||
|
||||
def main():
|
||||
parser=argparse.ArgumentParser(description=__doc__)
|
||||
parser.add_argument('--expected',required=True,choices=['B','A1'])
|
||||
parser.add_argument('--output-prefix',required=True,type=Path)
|
||||
parser.add_argument('--actual',type=Path,default=HERE/'working/attachments.arcadia')
|
||||
args=parser.parse_args(); prefix=args.output_prefix.resolve()
|
||||
outputs={suffix:Path(str(prefix)+suffix) for suffix in ('.arcadia','.project.json','.stdout.log','.stderr.log','.receipt.json')}
|
||||
if any(path.exists() for path in outputs.values()): raise RuntimeError('Fresh output prefix required')
|
||||
stage=read(HERE/'staging-record.json'); verify(stage['manifest']); manifest=read(HERE/'input-manifest.json')
|
||||
if stage['source_commit']!=manifest['source_commit']: raise RuntimeError('Stage pin mismatch')
|
||||
for item in manifest['immutable_files']: verify(item)
|
||||
expected=read(HERE/'expected/catalog.json')['checkpoints'][args.expected]; verify(expected)
|
||||
prefix.parent.mkdir(parents=True,exist_ok=True)
|
||||
actual=record(args.actual); copy_new(args.actual,outputs['.arcadia'])
|
||||
started=datetime.datetime.now(datetime.timezone.utc).isoformat(); failure=None; exit_code=None; exact=False; unchanged=False
|
||||
try:
|
||||
with outputs['.stdout.log'].open('xb') as stdout, outputs['.stderr.log'].open('xb') as stderr:
|
||||
proc=subprocess.run([manifest['evaluator']['path'],str(outputs['.arcadia']),str(outputs['.project.json'])],cwd=HERE/'unrelated-cwd',env=child_env(),stdout=stdout,stderr=stderr)
|
||||
exit_code=proc.returncode
|
||||
if exit_code: raise RuntimeError('Snapshot evaluator failed')
|
||||
if outputs['.stderr.log'].stat().st_size: raise RuntimeError('Snapshot stderr is not empty')
|
||||
# Compare complete JSON including exact fields/types; formatting/key order alone are ignored.
|
||||
canonical=lambda value:json.dumps(value,sort_keys=True,ensure_ascii=False,separators=(',',':'),allow_nan=False)
|
||||
exact=canonical(read(outputs['.project.json']))==canonical(read(expected['path']))
|
||||
if not exact: failure='Complete Project differs from predeclared '+args.expected
|
||||
verify(actual)
|
||||
for item in manifest['immutable_files']: verify(item)
|
||||
verify(stage['manifest']); unchanged=True
|
||||
except Exception as error: failure=str(error)
|
||||
artifacts=[record(path) for suffix,path in outputs.items() if suffix!='.receipt.json' and path.exists()]
|
||||
write(outputs['.receipt.json'],{'source_commit':manifest['source_commit'],'evaluator_source_commit':manifest['evaluator_source_commit'],'started_utc':started,'finished_utc':datetime.datetime.now(datetime.timezone.utc).isoformat(),'expected':args.expected,'expected_file':expected,'input':actual,'evaluator':manifest['evaluator'],'manifest':stage['manifest'],'exit_code':exit_code,'failure':failure,'inputs_unchanged':unchanged,'full_project_exact':exact,'artifacts':artifacts,'scope':'Complete saved Project only; no native action/editor/history/camera claim'})
|
||||
if failure or not exact or not unchanged: raise SystemExit('Comparison failed; preserve outputs: '+str(failure))
|
||||
print(args.expected+': complete saved Project exact; inputs unchanged')
|
||||
if __name__=='__main__':main()
|
||||
@@ -0,0 +1,60 @@
|
||||
#Requires -Version 7.0
|
||||
param([ValidateRange(1,99)][int]$Run=1)
|
||||
$ErrorActionPreference='Stop'
|
||||
. (Join-Path $PSScriptRoot 'verify.ps1')
|
||||
$manifestPath=Join-Path $PSScriptRoot 'input-manifest.json'
|
||||
$stagePath=Join-Path $PSScriptRoot 'staging-record.json'
|
||||
$manifest=Read-NativeJson $manifestPath
|
||||
$stage=Read-NativeJson $stagePath
|
||||
if ($manifest.source_commit -notmatch '^[0-9a-f]{40}$' -or $stage.source_commit -cne $manifest.source_commit) { throw 'Wrong staged candidate' }
|
||||
Assert-NativeFiles @($stage.manifest)
|
||||
Assert-NativeFiles $manifest.immutable_files
|
||||
$stageHash=Get-NativeHash $stagePath
|
||||
$working=Join-Path $PSScriptRoot 'working/attachments.arcadia'
|
||||
$runRoot=Join-Path $PSScriptRoot ('runs/run-{0:d2}' -f $Run)
|
||||
$profile=Join-Path $PSScriptRoot 'profile'
|
||||
$cwd=Join-Path $PSScriptRoot 'unrelated-cwd'
|
||||
$previousHash=$null
|
||||
if (Test-Path -LiteralPath $runRoot) { throw 'Never overwrite existing run evidence' }
|
||||
if ($Run -eq 1) {
|
||||
if (Test-Path -LiteralPath (Join-Path $PSScriptRoot 'runs')) { throw 'First run requires fresh runs directory' }
|
||||
Assert-NativeFiles @($manifest.initial_working)
|
||||
foreach($dir in @($profile,$cwd)) { if (-not (Test-Path -LiteralPath $dir -PathType Container) -or @(Get-ChildItem -LiteralPath $dir -Force).Count) { throw 'First run requires staged empty private directories' } }
|
||||
} else {
|
||||
$prior=Join-Path $PSScriptRoot ('runs/run-{0:d2}' -f ($Run-1))
|
||||
$priorClose=Read-NativeJson (Join-Path $prior 'normal-close.json')
|
||||
$priorLaunch=Read-NativeJson (Join-Path $prior 'launch.json')
|
||||
if ($priorClose.exit_code -ne 0 -or $priorClose.stdout.bytes -ne 0 -or $priorClose.stderr.bytes -ne 0 -or -not $priorClose.immutable_inputs_unchanged -or $priorClose.source_commit -cne $manifest.source_commit -or $priorClose.launch_sha256 -cne (Get-NativeHash (Join-Path $prior 'launch.json')) -or $priorLaunch.manifest_sha256 -cne (Get-NativeHash $manifestPath) -or $priorLaunch.pid -ne $priorClose.pid -or $priorLaunch.started_utc -cne $priorClose.started_utc) { throw 'Previous successful bound close required' }
|
||||
Assert-NativeFiles @($priorClose.working_file,$priorClose.stdout,$priorClose.stderr)
|
||||
$previousHash=Get-NativeHash (Join-Path $prior 'normal-close.json')
|
||||
}
|
||||
$package=Join-Path $PSScriptRoot 'package'
|
||||
$childPath=$package+';'+(Join-Path $env:SystemRoot 'System32')+';'+$env:SystemRoot+';'+(Join-Path $env:SystemRoot 'System32/Wbem')
|
||||
$state=[ordered]@{run=$Run;source_commit=$manifest.source_commit;evaluator_source_commit=$manifest.evaluator_source_commit;manifest_sha256=(Get-NativeHash $manifestPath);staging_sha256=$stageHash;script_sha256=(Get-NativeHash $PSCommandPath);native_plan_sha256=$manifest.native_plan_sha256;previous_close_sha256=$previousHash;binary=$manifest.binary;runtime=$manifest.runtime;working_file_before=(Get-NativeRecord $working);localappdata=$profile;working_directory=$cwd;child_path=$childPath;arguments=@();pid=$null;started_utc=$null;environment_scope='Child ProcessStartInfo only'}
|
||||
$process=$null;$outStream=$null;$errStream=$null
|
||||
try {
|
||||
[void][IO.Directory]::CreateDirectory((Join-Path $runRoot 'logs'))
|
||||
$stdout=Join-Path $runRoot 'logs/studio.stdout.log';$stderr=Join-Path $runRoot 'logs/studio.stderr.log'
|
||||
$outStream=[IO.File]::Open($stdout,[IO.FileMode]::CreateNew,[IO.FileAccess]::Write,[IO.FileShare]::Read)
|
||||
$errStream=[IO.File]::Open($stderr,[IO.FileMode]::CreateNew,[IO.FileAccess]::Write,[IO.FileShare]::Read)
|
||||
$info=[Diagnostics.ProcessStartInfo]::new();$info.FileName=$manifest.binary.path;$info.WorkingDirectory=$cwd;$info.UseShellExecute=$false;$info.CreateNoWindow=$true;$info.WindowStyle=[Diagnostics.ProcessWindowStyle]::Hidden;$info.RedirectStandardOutput=$true;$info.RedirectStandardError=$true
|
||||
$info.Environment['LOCALAPPDATA']=$profile;$info.Environment['PATH']=$childPath
|
||||
$process=[Diagnostics.Process]::new();$process.StartInfo=$info
|
||||
if (-not $process.Start()) { throw 'Process start failed' }
|
||||
$outCopy=$process.StandardOutput.BaseStream.CopyToAsync($outStream);$errCopy=$process.StandardError.BaseStream.CopyToAsync($errStream)
|
||||
$state.pid=$process.Id;$state.started_utc=$process.StartTime.ToUniversalTime().ToString('o')
|
||||
Write-NativeJson (Join-Path $runRoot 'launch.json') $state
|
||||
$state|ConvertTo-Json -Depth 15|Write-Output
|
||||
$process.WaitForExit();[Threading.Tasks.Task]::WaitAll([Threading.Tasks.Task[]]@($outCopy,$errCopy))
|
||||
$outStream.Flush($true);$errStream.Flush($true);$outStream.Dispose();$outStream=$null;$errStream.Dispose();$errStream=$null
|
||||
$unchanged=$true;$verificationError=$null
|
||||
try { Assert-NativeFiles $manifest.immutable_files; Assert-NativeFiles @($stage.manifest);if ((Get-NativeHash $stagePath) -cne $stageHash) {throw 'Staging receipt changed'} } catch {$unchanged=$false;$verificationError=$_.Exception.Message}
|
||||
Write-NativeJson (Join-Path $runRoot 'normal-close.json') ([ordered]@{run=$Run;source_commit=$manifest.source_commit;evaluator_source_commit=$manifest.evaluator_source_commit;launch_sha256=(Get-NativeHash (Join-Path $runRoot 'launch.json'));pid=$state.pid;started_utc=$state.started_utc;observed_exit_utc=[DateTime]::UtcNow.ToString('o');exit_code=$process.ExitCode;immutable_inputs_unchanged=$unchanged;verification_error=$verificationError;baseline_file=(Get-NativeRecord (Join-Path $PSScriptRoot 'baseline/attachments.arcadia'));working_file=(Get-NativeRecord $working);stdout=(Get-NativeRecord $stdout);stderr=(Get-NativeRecord $stderr);scope='Observed process exit only; close cause and native interaction acceptance require root observation. No forced termination by observer.'})
|
||||
if (-not $unchanged) {throw $verificationError}
|
||||
if ($process.ExitCode -ne 0 -or (Get-Item -LiteralPath $stdout).Length -ne 0 -or (Get-Item -LiteralPath $stderr).Length -ne 0) {throw 'Nonzero process exit or nonempty GUI logs; preserve evidence and investigate'}
|
||||
} catch {
|
||||
Write-NativeJson (Join-Path $runRoot 'observer-failure.json') ([ordered]@{utc=[DateTime]::UtcNow.ToString('o');pid=$state.pid;error=$_.Exception.Message;owned_process_not_killed=$true})
|
||||
throw
|
||||
} finally {
|
||||
if ($null -ne $outStream) {$outStream.Dispose()};if ($null -ne $errStream) {$errStream.Dispose()};if ($null -ne $process) {$process.Dispose()}
|
||||
}
|
||||
@@ -0,0 +1,20 @@
|
||||
# Corrected State attachment Escape trial
|
||||
|
||||
Candidate: 53d01a3d4451b94792986f2dfac56f6f04e111a4. This is a bounded native revalidation after the original 3aa80de immediate post-menu Escape finding. The original active Run 2 is untouched.
|
||||
|
||||
Package GUI is the preserved gate artifact (SHA-256 9c7aa0249378cec31639bbbff5ea7b3eaab782333d1637b8ab5e8f3be5d65d2c). Core evaluator is reused from 3aa80de; core tree, Cargo manifests and lockfile are unchanged. Relocation and evaluator receipts state their separate provenance. Shared target executables are not live bindings of this stage.
|
||||
|
||||
Start a fresh observer with `pwsh -File launch.ps1 -Run 1`. Open this stage's `working/attachments.arcadia` using the native file dialog. Baseline is the original frozen authored fixture B, not an original-run saved working file.
|
||||
|
||||
1. Open the State view and select Activate. From its context menu choose Adjust source attachment. Capture armed tool/guidance. Press Escape immediately, without a canvas click. Capture Select / move and removed attachment guidance. Save; compare B.
|
||||
2. Repeat using Adjust target attachment, again with no intervening canvas click. Save; compare B. These two observations supply the native cancellation claim; saved JSON alone does not.
|
||||
3. Arm source attachment and drag Activate's source to Top, offset .25. Save; compare A1. A1 differs from B only in diagram200 relation41 source_attachment. Capture the placed handle and resulting source evidence.
|
||||
4. With canvas/model history ownership, one Undo then Save must compare B; one Redo then Save must compare A1. Record focus and actions, not only resulting snapshots.
|
||||
5. Choose final B (one Undo) or A1 (retain Redo) explicitly in the action record, Save and compare that predetermined catalog name. Close normally. The observer must record exit0 and empty logs. Do not force-close.
|
||||
6. Start `launch.ps1 -Run 2` using the same corrected stage. Reopen the saved working file and compare the same chosen final expected name. Record actual reopen and normal close separately.
|
||||
|
||||
For each closed saved checkpoint: `python check.py --expected B --output-prefix runs/run-01/comparisons/01-source-escape` (use A1 where declared). Output prefixes must be fresh. The checker copies the saved source, invokes the pinned evaluator, compares complete Project JSON, and writes hash-bound receipts. Expectations must not be adapted to observations.
|
||||
|
||||
Load capture.js in the authorized GUI tool session and set `escapeRunRoot` to the exact current run directory. `captureEscapeState(name, note, freshlyObservedState)` writes create-new images/metadata bound to launch PID, start time, manifest and working-source hash. Root owns actual GUI inputs, immediate reobservations, focus/history attribution and close cause.
|
||||
|
||||
This package does not claim broader attachment acceptance, modal/keyboard accessibility coverage, another platform, or continuous input immutability. Its preparation does not launch the GUI or rerun a compiler.
|
||||
@@ -0,0 +1,25 @@
|
||||
{
|
||||
"source_commit": "53d01a3d4451b94792986f2dfac56f6f04e111a4",
|
||||
"original_gate_output": {
|
||||
"path": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\target\\debug\\arcadia-studio.exe",
|
||||
"bytes": 117221376,
|
||||
"sha256": "9c7aa0249378cec31639bbbff5ea7b3eaab782333d1637b8ab5e8f3be5d65d2c"
|
||||
},
|
||||
"preserved_artifact": {
|
||||
"path": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\edge-anchors-escape-gates-20260923\\artifacts\\arcadia-studio.exe",
|
||||
"bytes": 117221376,
|
||||
"sha256": "9c7aa0249378cec31639bbbff5ea7b3eaab782333d1637b8ab5e8f3be5d65d2c"
|
||||
},
|
||||
"package": {
|
||||
"path": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\edge-anchors-escape-native-20260923\\package\\arcadia-studio.exe",
|
||||
"bytes": 117221376,
|
||||
"sha256": "9c7aa0249378cec31639bbbff5ea7b3eaab782333d1637b8ab5e8f3be5d65d2c"
|
||||
},
|
||||
"reason": "The corrected build overwrote a shared target output transitively bound by the original native stage. Parent preserved this exact corrected artifact, then restored the original target from its old staged package. This stage binds the preserved artifact, never the mutable shared target.",
|
||||
"incident": {
|
||||
"path": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\edge-anchors-native-20260922\\runs\\run-02\\shared-build-artifact-incident.json",
|
||||
"bytes": 1051,
|
||||
"sha256": "bacd25b20a2f3a88a87958e69a2382d78557fba95a4adc80b0eb5d3e316c703b"
|
||||
},
|
||||
"original_active_run_untouched": true
|
||||
}
|
||||
@@ -0,0 +1,20 @@
|
||||
{
|
||||
"source_commit": "53d01a3d4451b94792986f2dfac56f6f04e111a4",
|
||||
"evaluator_source_commit": "3aa80de89c5b79200286926781e8f3a192bc61f4",
|
||||
"evaluator": {
|
||||
"path": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\edge-anchors-native-20260922\\package\\attachment_snapshot.exe",
|
||||
"bytes": 18957824,
|
||||
"sha256": "4062f5f1301cb39c182ede32dfa928cdb75a14159c3660a375205d680388b110"
|
||||
},
|
||||
"original_gate": {
|
||||
"path": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\edge-anchor-gates-20260922\\frozen-02\\result.json",
|
||||
"bytes": 6353,
|
||||
"sha256": "25c3534d9f05c8c06356f0a31fd95e01712fe2dddc01887ea4ba11b7e6ec5643"
|
||||
},
|
||||
"same_committed_paths": [
|
||||
"crates/oa-core",
|
||||
"Cargo.lock",
|
||||
"Cargo.toml"
|
||||
],
|
||||
"scope": "Original admitted core evaluator reused for full Project parsing; no corrected evaluator build claim"
|
||||
}
|
||||
@@ -0,0 +1,101 @@
|
||||
"""Prepare immutable native inputs after a clean, successful frozen gate; never launch GUI."""
|
||||
from pathlib import Path
|
||||
import argparse, copy, datetime, hashlib, json, os, shutil, subprocess
|
||||
|
||||
HERE = Path(__file__).resolve().parent
|
||||
RUNTIME_SHA = 'aa282fa47bb2c4e210cea5e470cdbdca58568f0be0bc73e404d86ab9cd95ef6a'
|
||||
def record(path):
|
||||
path = Path(path).resolve(); data = path.read_bytes()
|
||||
return dict(path=str(path), bytes=len(data), sha256=hashlib.sha256(data).hexdigest())
|
||||
def read(path): return json.loads(Path(path).read_text(encoding='utf-8-sig'))
|
||||
def verify(item):
|
||||
actual = record(item['path'])
|
||||
if any(actual[k] != item[k] for k in ('bytes', 'sha256')): raise RuntimeError('Changed bound file: '+item['path'])
|
||||
def write(path, value):
|
||||
with Path(path).open('x', encoding='utf-8', newline='\n') as out:
|
||||
json.dump(value, out, indent=2, ensure_ascii=False); out.write('\n')
|
||||
def copy_new(source, target):
|
||||
with Path(source).open('rb') as src, Path(target).open('xb') as dest: shutil.copyfileobj(src, dest)
|
||||
if record(source)['sha256'] != record(target)['sha256']: raise RuntimeError('Copy mismatch')
|
||||
def child_env():
|
||||
env = os.environ.copy(); root = os.environ['SystemRoot']
|
||||
env['PATH'] = str(HERE/'package')+';'+root+'/System32;'+root
|
||||
env['LOCALAPPDATA'] = str(HERE/'profile')
|
||||
return env
|
||||
|
||||
def main():
|
||||
root=HERE.parent.parent
|
||||
repo=HERE.parent/'edge-anchors-escape-20260923'
|
||||
gates=HERE.parent/'edge-anchors-escape-gates-20260923'
|
||||
original=HERE.parent/'edge-anchors-native-20260922'
|
||||
pin='53d01a3d4451b94792986f2dfac56f6f04e111a4'
|
||||
base='3aa80de89c5b79200286926781e8f3a192bc61f4'
|
||||
def git(*args): return subprocess.check_output(['git','-c','core.longpaths=true',*args],cwd=repo)
|
||||
if git('rev-parse','HEAD').decode().strip()!=pin or git('status','--porcelain'): raise RuntimeError('Exact clean corrected source required')
|
||||
for name in ('package','baseline','working','profile','unrelated-cwd','expected','provenance','input-manifest.json','staging-record.json','runs'):
|
||||
if (HERE/name).exists(): raise RuntimeError('Fresh stage only: '+name)
|
||||
summary=read(gates/'summary.json'); commit=read(gates/'commit-readback.json')
|
||||
if commit['source_commit']!=pin or summary['base_source_commit']!=base: raise RuntimeError('Gate/commit mismatch')
|
||||
bound=[record(gates/'summary.json'),record(gates/'commit-readback.json')]
|
||||
inputs=read(summary['source_manifest']['path']);verify(summary['source_manifest'])
|
||||
for item in inputs: verify(item);bound.append(item)
|
||||
for step in ('targeted-01','desktop-01','clippy-01','build-01','toolchain'):
|
||||
result=read(gates/step/'result.json')
|
||||
if result['exit_code']!=0 or not result['inputs_unchanged']: raise RuntimeError('Failed corrected gate')
|
||||
if inputs!=read(gates/step/'inputs-before.json') or inputs!=read(gates/step/'inputs-after.json'): raise RuntimeError('Corrected gate source differs')
|
||||
verify(result['log']);verify(result['runner'])
|
||||
bound.extend(record(p) for p in sorted((gates/step).iterdir()) if p.is_file())
|
||||
bound.append(result['runner'])
|
||||
for item in commit['source_files']:
|
||||
raw=(repo/item['path']).read_bytes()
|
||||
if hashlib.sha256(raw).hexdigest()!=item['raw_sha256'] or git('show',pin+':'+item['path'])!=raw: raise RuntimeError('Committed tested bytes differ')
|
||||
preserved=commit['preserved_binary'];verify(preserved)
|
||||
if preserved['sha256']!=summary['binary']['sha256']: raise RuntimeError('Relocated build mismatch')
|
||||
bound.append(preserved)
|
||||
previous=read(original/'input-manifest.json'); previous_stage=read(original/'staging-record.json');verify(previous_stage['manifest'])
|
||||
if previous['source_commit']!=base or previous['evaluator_source_commit']!=base: raise RuntimeError('Original evaluator pin differs')
|
||||
evaluator=previous['evaluator']; runtime=previous['runtime'];verify(evaluator);verify(runtime)
|
||||
if runtime['sha256']!=RUNTIME_SHA: raise RuntimeError('Runtime mismatch')
|
||||
oldgate=Path(previous['gate']);oldresult=read(oldgate/'result.json')
|
||||
if not oldresult['passed'] or not oldresult['inputs_unchanged']: raise RuntimeError('Original gate failed')
|
||||
admitted=[e for e in oldresult['outputs'] if Path(e['path']).name=='attachment_snapshot.exe']
|
||||
if len(admitted)!=1 or admitted[0]['sha256']!=evaluator['sha256']: raise RuntimeError('Evaluator does not match original gate')
|
||||
# Compare committed core/build inputs; GUI-only repair does not rebuild this evaluator.
|
||||
core_paths=('crates/oa-core','Cargo.lock','Cargo.toml')
|
||||
for path in core_paths:
|
||||
if git('rev-parse',base+':'+path)!=git('rev-parse',pin+':'+path): raise RuntimeError('Evaluator reuse source changed')
|
||||
bound.extend([record(original/'input-manifest.json'),record(original/'staging-record.json'),record(oldgate/'result.json'),evaluator,runtime])
|
||||
baseline=original/'baseline/attachments.arcadia'
|
||||
admitted_baseline=next(e for e in previous['immutable_files'] if Path(e['path'])==baseline)
|
||||
verify(admitted_baseline);bound.append(admitted_baseline)
|
||||
incident=original/'runs/run-02/shared-build-artifact-incident.json';bound.append(record(incident))
|
||||
for name in ('stage.py','check.py','launch.ps1','verify.ps1','capture.js','native-plan.md'):bound.append(record(HERE/name))
|
||||
for name in ('package','baseline','working','profile','unrelated-cwd','expected','provenance'):(HERE/name).mkdir()
|
||||
copy_new(preserved['path'],HERE/'package/arcadia-studio.exe')
|
||||
copy_new(evaluator['path'],HERE/'package/attachment_snapshot.exe')
|
||||
copy_new(runtime['path'],HERE/'package/libunwind.dll')
|
||||
copy_new(baseline,HERE/'baseline/attachments.arcadia');copy_new(baseline,HERE/'working/attachments.arcadia')
|
||||
write(HERE/'provenance/binary-relocation.json',{'source_commit':pin,'original_gate_output':summary['binary'],'preserved_artifact':preserved,'package':record(HERE/'package/arcadia-studio.exe'),'reason':'The corrected build overwrote a shared target output transitively bound by the original native stage. Parent preserved this exact corrected artifact, then restored the original target from its old staged package. This stage binds the preserved artifact, never the mutable shared target.','incident':record(incident),'original_active_run_untouched':True})
|
||||
write(HERE/'provenance/evaluator-reuse.json',{'source_commit':pin,'evaluator_source_commit':base,'evaluator':evaluator,'original_gate':record(oldgate/'result.json'),'same_committed_paths':list(core_paths),'scope':'Original admitted core evaluator reused for full Project parsing; no corrected evaluator build claim'})
|
||||
with (HERE/'baseline/stdout.log').open('xb') as stdout,(HERE/'baseline/stderr.log').open('xb') as stderr:
|
||||
result=subprocess.run([str(HERE/'package/attachment_snapshot.exe'),str(HERE/'baseline/attachments.arcadia'),str(HERE/'baseline/B.project.json')],cwd=HERE/'unrelated-cwd',env=child_env(),stdout=stdout,stderr=stderr)
|
||||
if result.returncode or (HERE/'baseline/stderr.log').stat().st_size: raise RuntimeError('Baseline evaluator failed')
|
||||
b=read(HERE/'baseline/B.project.json');a=copy.deepcopy(b)
|
||||
uid=lambda n:'ea202922-0033-4000-8000-'+f'{n:012d}'
|
||||
routes=[v for v in a['diagrams'][uid(200)]['routes'] if v['edge']==uid(41)]
|
||||
if len(routes)!=1 or routes[0].get('source_attachment') is not None:raise RuntimeError('Predetermined baseline differs')
|
||||
routes[0]['source_attachment']={'side':'Top','offset':0.25}
|
||||
catalog={}
|
||||
for name,value in [('B',b),('A1',a)]:
|
||||
write(HERE/'expected'/(name+'.project.json'),value);catalog[name]=record(HERE/'expected'/(name+'.project.json'))
|
||||
write(HERE/'expected/catalog.json',{'source_commit':pin,'evaluator_source_commit':base,'basis':'Original frozen authored fixture B before corrected GUI launch; fixed recipe only','checkpoints':catalog,'edits':{'A1':'B with diagram200 Activate relation41 source_attachment Top offset0.25 only; Undo returns B; Redo returns A1'}})
|
||||
for folder in ('package','baseline','expected','provenance'):bound.extend(record(p) for p in sorted((HERE/folder).iterdir()) if p.is_file())
|
||||
for item in bound:verify(item)
|
||||
if git('status','--porcelain') or git('rev-parse','HEAD').decode().strip()!=pin:raise RuntimeError('Source changed')
|
||||
if any((HERE/'profile').iterdir()) or any((HERE/'unrelated-cwd').iterdir()):raise RuntimeError('Private dirs changed')
|
||||
manifest={'source_commit':pin,'evaluator_source_commit':base,'repo':str(repo),'immutable_files':bound,'binary':record(HERE/'package/arcadia-studio.exe'),'runtime':record(HERE/'package/libunwind.dll'),'evaluator':record(HERE/'package/attachment_snapshot.exe'),'initial_working':record(HERE/'working/attachments.arcadia'),'native_plan_sha256':record(HERE/'native-plan.md')['sha256'],'original_native_run_scope':'Read-only baseline/evaluator/provenance reuse; original active Run2 not modified','excluded_live_bindings':['Shared target executables','Original mutable working source','Original private profile','Original live run files except closed incident record']}
|
||||
write(HERE/'input-manifest.json',manifest)
|
||||
write(HERE/'staging-record.json',{'source_commit':pin,'utc':datetime.datetime.now(datetime.timezone.utc).isoformat(),'manifest':record(HERE/'input-manifest.json'),'scope':'Prepared only; no corrected GUI launch or native acceptance'})
|
||||
print('Corrected Escape package staged; no GUI launched')
|
||||
|
||||
if __name__=='__main__':main()
|
||||
@@ -0,0 +1,6 @@
|
||||
Set-StrictMode -Version Latest
|
||||
function Read-NativeJson([string]$Path) { Get-Content -LiteralPath $Path -Raw | ConvertFrom-Json }
|
||||
function Get-NativeHash([string]$Path) { (Get-FileHash -LiteralPath $Path -Algorithm SHA256).Hash.ToLowerInvariant() }
|
||||
function Get-NativeRecord([string]$Path) { [ordered]@{path=$Path;bytes=(Get-Item -LiteralPath $Path).Length;sha256=(Get-NativeHash $Path)} }
|
||||
function Assert-NativeFiles($Files) { foreach($entry in $Files) { if ((Get-Item -LiteralPath $entry.path).Length -ne $entry.bytes -or (Get-NativeHash $entry.path) -cne $entry.sha256) { throw "Bound file changed: $($entry.path)" } } }
|
||||
function Write-NativeJson([string]$Path,$Value) { $json=$Value|ConvertTo-Json -Depth 20; $bytes=[Text.UTF8Encoding]::new($false).GetBytes($json+[Environment]::NewLine); $stream=[IO.File]::Open($Path,[IO.FileMode]::CreateNew); try {$stream.Write($bytes,0,$bytes.Length)} finally {$stream.Dispose()} }
|
||||
@@ -0,0 +1,69 @@
|
||||
diff --git a/crates/oa-desktop/src/app.rs b/crates/oa-desktop/src/app.rs
|
||||
index 037a850..5d1dcdc 100644
|
||||
--- a/crates/oa-desktop/src/app.rs
|
||||
+++ b/crates/oa-desktop/src/app.rs
|
||||
@@ -2334,6 +2334,15 @@ impl App {
|
||||
} else if self.behavior.creation.has_pending() {
|
||||
self.behavior.creation.acknowledge_commit();
|
||||
self.status = "Behavior creation cancelled".into();
|
||||
+ } else if self.page == Page::Behavior
|
||||
+ && matches!(
|
||||
+ self.behavior.diagram.tool,
|
||||
+ behavior::state_edit::Tool::AdjustAttachment { .. }
|
||||
+ )
|
||||
+ {
|
||||
+ // Menu arming invalidates canvas keyboard ownership. Escape
|
||||
+ // must also cancel before the next canvas click grants it.
|
||||
+ self.behavior.diagram.tool = behavior::state_edit::Tool::Select;
|
||||
}
|
||||
if self.connection.take().is_some() {
|
||||
self.status = "Drawing cancelled · Select / move is active".into();
|
||||
diff --git a/crates/oa-desktop/src/app/state_diagram_tests.rs b/crates/oa-desktop/src/app/state_diagram_tests.rs
|
||||
index 0be1b78..b3a7bb5 100644
|
||||
--- a/crates/oa-desktop/src/app/state_diagram_tests.rs
|
||||
+++ b/crates/oa-desktop/src/app/state_diagram_tests.rs
|
||||
@@ -1,5 +1,7 @@
|
||||
//! App transaction and draft boundaries for captured state-canvas messages.
|
||||
use super::*;
|
||||
+#[path = "state_attachment_escape_tests.rs"]
|
||||
+mod attachment_escape;
|
||||
use crate::behavior::{
|
||||
self,
|
||||
state_edit::{self, Context, Endpoint, Event, Tool},
|
||||
diff --git a/crates/oa-desktop/src/behavior/canvas_workspace/tests.rs b/crates/oa-desktop/src/behavior/canvas_workspace/tests.rs
|
||||
index b9d9649..26313ee 100644
|
||||
--- a/crates/oa-desktop/src/behavior/canvas_workspace/tests.rs
|
||||
+++ b/crates/oa-desktop/src/behavior/canvas_workspace/tests.rs
|
||||
@@ -158,6 +158,14 @@ impl Mounted {
|
||||
events: &[iced::Event],
|
||||
cursor: mouse::Cursor,
|
||||
) -> Vec<Message> {
|
||||
+ self.input_with_status(app, events, cursor).0
|
||||
+ }
|
||||
+ pub fn input_with_status(
|
||||
+ &mut self,
|
||||
+ app: &App,
|
||||
+ events: &[iced::Event],
|
||||
+ cursor: mouse::Cursor,
|
||||
+ ) -> (Vec<Message>, Vec<iced::event::Status>) {
|
||||
let mut messages = vec![];
|
||||
let mut ui = UserInterface::build(
|
||||
app.view(),
|
||||
@@ -165,7 +173,7 @@ impl Mounted {
|
||||
std::mem::take(&mut self.cache),
|
||||
&mut self.renderer,
|
||||
);
|
||||
- let _ = ui.update(
|
||||
+ let (_, statuses) = ui.update(
|
||||
events,
|
||||
cursor,
|
||||
&mut self.renderer,
|
||||
@@ -173,7 +181,7 @@ impl Mounted {
|
||||
&mut messages,
|
||||
);
|
||||
self.cache = ui.into_cache();
|
||||
- messages
|
||||
+ (messages, statuses)
|
||||
}
|
||||
pub async fn perform(&mut self, app: &mut App, task: iced::Task<Message>) {
|
||||
let mut ready = vec![];
|
||||
@@ -0,0 +1,31 @@
|
||||
{
|
||||
"source_commit": "3aa80de89c5b79200286926781e8f3a192bc61f4",
|
||||
"working_changes": " M crates/oa-desktop/src/app.rs\n M crates/oa-desktop/src/app/state_diagram_tests.rs\n M crates/oa-desktop/src/behavior/canvas_workspace/tests.rs\n?? crates/oa-desktop/src/app/state_attachment_escape_tests.rs\n",
|
||||
"cwd": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\edge-anchors-escape-20260923",
|
||||
"argv": [
|
||||
"cargo",
|
||||
"build",
|
||||
"-p",
|
||||
"oa-desktop",
|
||||
"--bin",
|
||||
"arcadia-studio",
|
||||
"--locked",
|
||||
"--offline"
|
||||
],
|
||||
"started_utc": "2026-09-23T02:21:00.624971+00:00",
|
||||
"environment": {
|
||||
"CARGO_HOME": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo",
|
||||
"RUSTUP_HOME": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\rustup",
|
||||
"RUSTUP_TOOLCHAIN": "stable-x86_64-pc-windows-gnullvm",
|
||||
"CARGO_TARGET_DIR": "C:/Users/User/Documents/Git/ARCADIA-Studio/target",
|
||||
"CARGO_BUILD_JOBS": "1",
|
||||
"CARGO_INCREMENTAL": "0",
|
||||
"CARGO_TARGET_X86_64_PC_WINDOWS_GNULLVM_LINKER": "clang.exe",
|
||||
"RC": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\llvm-mingw-20260908-ucrt-x86_64\\bin\\llvm-windres.exe"
|
||||
},
|
||||
"runner": {
|
||||
"path": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\edge-anchors-escape-gates-20260923\\run.py",
|
||||
"bytes": 1881,
|
||||
"sha256": "99e0db19e19c9d0ae0c93b3f040872f6a4133e79034030fa294c1d29f0970e88"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,5 @@
|
||||
Compiling iced_widget v0.14.2 (C:\Users\User\Documents\Git\ARCADIA-Studio\.local\edge-anchors-escape-20260923\crates\vendor\iced_widget)
|
||||
Compiling iced v0.14.0
|
||||
Compiling oa-core v0.2.0 (C:\Users\User\Documents\Git\ARCADIA-Studio\.local\edge-anchors-escape-20260923\crates\oa-core)
|
||||
Compiling oa-desktop v0.2.0 (C:\Users\User\Documents\Git\ARCADIA-Studio\.local\edge-anchors-escape-20260923\crates\oa-desktop)
|
||||
Finished `dev` profile [unoptimized] target(s) in 2m 47s
|
||||
@@ -0,0 +1,39 @@
|
||||
{
|
||||
"source_commit": "3aa80de89c5b79200286926781e8f3a192bc61f4",
|
||||
"working_changes": " M crates/oa-desktop/src/app.rs\n M crates/oa-desktop/src/app/state_diagram_tests.rs\n M crates/oa-desktop/src/behavior/canvas_workspace/tests.rs\n?? crates/oa-desktop/src/app/state_attachment_escape_tests.rs\n",
|
||||
"cwd": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\edge-anchors-escape-20260923",
|
||||
"argv": [
|
||||
"cargo",
|
||||
"build",
|
||||
"-p",
|
||||
"oa-desktop",
|
||||
"--bin",
|
||||
"arcadia-studio",
|
||||
"--locked",
|
||||
"--offline"
|
||||
],
|
||||
"started_utc": "2026-09-23T02:21:00.624971+00:00",
|
||||
"environment": {
|
||||
"CARGO_HOME": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo",
|
||||
"RUSTUP_HOME": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\rustup",
|
||||
"RUSTUP_TOOLCHAIN": "stable-x86_64-pc-windows-gnullvm",
|
||||
"CARGO_TARGET_DIR": "C:/Users/User/Documents/Git/ARCADIA-Studio/target",
|
||||
"CARGO_BUILD_JOBS": "1",
|
||||
"CARGO_INCREMENTAL": "0",
|
||||
"CARGO_TARGET_X86_64_PC_WINDOWS_GNULLVM_LINKER": "clang.exe",
|
||||
"RC": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\llvm-mingw-20260908-ucrt-x86_64\\bin\\llvm-windres.exe"
|
||||
},
|
||||
"runner": {
|
||||
"path": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\edge-anchors-escape-gates-20260923\\run.py",
|
||||
"bytes": 1881,
|
||||
"sha256": "99e0db19e19c9d0ae0c93b3f040872f6a4133e79034030fa294c1d29f0970e88"
|
||||
},
|
||||
"exit_code": 0,
|
||||
"inputs_unchanged": true,
|
||||
"finished_utc": "2026-09-23T02:23:49.861421+00:00",
|
||||
"log": {
|
||||
"path": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\edge-anchors-escape-gates-20260923\\build-01\\output.log",
|
||||
"bytes": 481,
|
||||
"sha256": "af54f449edd35c87353ae13010cdff371f88d9542e883dcb193be21b701482fb"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,69 @@
|
||||
diff --git a/crates/oa-desktop/src/app.rs b/crates/oa-desktop/src/app.rs
|
||||
index 037a850..5d1dcdc 100644
|
||||
--- a/crates/oa-desktop/src/app.rs
|
||||
+++ b/crates/oa-desktop/src/app.rs
|
||||
@@ -2334,6 +2334,15 @@ impl App {
|
||||
} else if self.behavior.creation.has_pending() {
|
||||
self.behavior.creation.acknowledge_commit();
|
||||
self.status = "Behavior creation cancelled".into();
|
||||
+ } else if self.page == Page::Behavior
|
||||
+ && matches!(
|
||||
+ self.behavior.diagram.tool,
|
||||
+ behavior::state_edit::Tool::AdjustAttachment { .. }
|
||||
+ )
|
||||
+ {
|
||||
+ // Menu arming invalidates canvas keyboard ownership. Escape
|
||||
+ // must also cancel before the next canvas click grants it.
|
||||
+ self.behavior.diagram.tool = behavior::state_edit::Tool::Select;
|
||||
}
|
||||
if self.connection.take().is_some() {
|
||||
self.status = "Drawing cancelled · Select / move is active".into();
|
||||
diff --git a/crates/oa-desktop/src/app/state_diagram_tests.rs b/crates/oa-desktop/src/app/state_diagram_tests.rs
|
||||
index 0be1b78..b3a7bb5 100644
|
||||
--- a/crates/oa-desktop/src/app/state_diagram_tests.rs
|
||||
+++ b/crates/oa-desktop/src/app/state_diagram_tests.rs
|
||||
@@ -1,5 +1,7 @@
|
||||
//! App transaction and draft boundaries for captured state-canvas messages.
|
||||
use super::*;
|
||||
+#[path = "state_attachment_escape_tests.rs"]
|
||||
+mod attachment_escape;
|
||||
use crate::behavior::{
|
||||
self,
|
||||
state_edit::{self, Context, Endpoint, Event, Tool},
|
||||
diff --git a/crates/oa-desktop/src/behavior/canvas_workspace/tests.rs b/crates/oa-desktop/src/behavior/canvas_workspace/tests.rs
|
||||
index b9d9649..26313ee 100644
|
||||
--- a/crates/oa-desktop/src/behavior/canvas_workspace/tests.rs
|
||||
+++ b/crates/oa-desktop/src/behavior/canvas_workspace/tests.rs
|
||||
@@ -158,6 +158,14 @@ impl Mounted {
|
||||
events: &[iced::Event],
|
||||
cursor: mouse::Cursor,
|
||||
) -> Vec<Message> {
|
||||
+ self.input_with_status(app, events, cursor).0
|
||||
+ }
|
||||
+ pub fn input_with_status(
|
||||
+ &mut self,
|
||||
+ app: &App,
|
||||
+ events: &[iced::Event],
|
||||
+ cursor: mouse::Cursor,
|
||||
+ ) -> (Vec<Message>, Vec<iced::event::Status>) {
|
||||
let mut messages = vec![];
|
||||
let mut ui = UserInterface::build(
|
||||
app.view(),
|
||||
@@ -165,7 +173,7 @@ impl Mounted {
|
||||
std::mem::take(&mut self.cache),
|
||||
&mut self.renderer,
|
||||
);
|
||||
- let _ = ui.update(
|
||||
+ let (_, statuses) = ui.update(
|
||||
events,
|
||||
cursor,
|
||||
&mut self.renderer,
|
||||
@@ -173,7 +181,7 @@ impl Mounted {
|
||||
&mut messages,
|
||||
);
|
||||
self.cache = ui.into_cache();
|
||||
- messages
|
||||
+ (messages, statuses)
|
||||
}
|
||||
pub async fn perform(&mut self, app: &mut App, task: iced::Task<Message>) {
|
||||
let mut ready = vec![];
|
||||
@@ -0,0 +1,33 @@
|
||||
{
|
||||
"source_commit": "3aa80de89c5b79200286926781e8f3a192bc61f4",
|
||||
"working_changes": " M crates/oa-desktop/src/app.rs\n M crates/oa-desktop/src/app/state_diagram_tests.rs\n M crates/oa-desktop/src/behavior/canvas_workspace/tests.rs\n?? crates/oa-desktop/src/app/state_attachment_escape_tests.rs\n",
|
||||
"cwd": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\edge-anchors-escape-20260923",
|
||||
"argv": [
|
||||
"cargo",
|
||||
"clippy",
|
||||
"-p",
|
||||
"oa-desktop",
|
||||
"--all-targets",
|
||||
"--locked",
|
||||
"--offline",
|
||||
"--",
|
||||
"-D",
|
||||
"warnings"
|
||||
],
|
||||
"started_utc": "2026-09-23T02:18:46.550219+00:00",
|
||||
"environment": {
|
||||
"CARGO_HOME": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo",
|
||||
"RUSTUP_HOME": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\rustup",
|
||||
"RUSTUP_TOOLCHAIN": "stable-x86_64-pc-windows-gnullvm",
|
||||
"CARGO_TARGET_DIR": "C:/Users/User/Documents/Git/ARCADIA-Studio/target",
|
||||
"CARGO_BUILD_JOBS": "1",
|
||||
"CARGO_INCREMENTAL": "0",
|
||||
"CARGO_TARGET_X86_64_PC_WINDOWS_GNULLVM_LINKER": "clang.exe",
|
||||
"RC": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\llvm-mingw-20260908-ucrt-x86_64\\bin\\llvm-windres.exe"
|
||||
},
|
||||
"runner": {
|
||||
"path": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\edge-anchors-escape-gates-20260923\\run.py",
|
||||
"bytes": 1881,
|
||||
"sha256": "99e0db19e19c9d0ae0c93b3f040872f6a4133e79034030fa294c1d29f0970e88"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,6 @@
|
||||
Compiling oa-core v0.2.0 (C:\Users\User\Documents\Git\ARCADIA-Studio\.local\edge-anchors-escape-20260923\crates\oa-core)
|
||||
Checking iced_widget v0.14.2 (C:\Users\User\Documents\Git\ARCADIA-Studio\.local\edge-anchors-escape-20260923\crates\vendor\iced_widget)
|
||||
Compiling oa-server v0.2.0 (C:\Users\User\Documents\Git\ARCADIA-Studio\.local\edge-anchors-escape-20260923\crates\oa-server)
|
||||
Compiling oa-desktop v0.2.0 (C:\Users\User\Documents\Git\ARCADIA-Studio\.local\edge-anchors-escape-20260923\crates\oa-desktop)
|
||||
Checking iced v0.14.0
|
||||
Finished `dev` profile [unoptimized] target(s) in 1m 49s
|
||||
@@ -0,0 +1,41 @@
|
||||
{
|
||||
"source_commit": "3aa80de89c5b79200286926781e8f3a192bc61f4",
|
||||
"working_changes": " M crates/oa-desktop/src/app.rs\n M crates/oa-desktop/src/app/state_diagram_tests.rs\n M crates/oa-desktop/src/behavior/canvas_workspace/tests.rs\n?? crates/oa-desktop/src/app/state_attachment_escape_tests.rs\n",
|
||||
"cwd": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\edge-anchors-escape-20260923",
|
||||
"argv": [
|
||||
"cargo",
|
||||
"clippy",
|
||||
"-p",
|
||||
"oa-desktop",
|
||||
"--all-targets",
|
||||
"--locked",
|
||||
"--offline",
|
||||
"--",
|
||||
"-D",
|
||||
"warnings"
|
||||
],
|
||||
"started_utc": "2026-09-23T02:18:46.550219+00:00",
|
||||
"environment": {
|
||||
"CARGO_HOME": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo",
|
||||
"RUSTUP_HOME": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\rustup",
|
||||
"RUSTUP_TOOLCHAIN": "stable-x86_64-pc-windows-gnullvm",
|
||||
"CARGO_TARGET_DIR": "C:/Users/User/Documents/Git/ARCADIA-Studio/target",
|
||||
"CARGO_BUILD_JOBS": "1",
|
||||
"CARGO_INCREMENTAL": "0",
|
||||
"CARGO_TARGET_X86_64_PC_WINDOWS_GNULLVM_LINKER": "clang.exe",
|
||||
"RC": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\llvm-mingw-20260908-ucrt-x86_64\\bin\\llvm-windres.exe"
|
||||
},
|
||||
"runner": {
|
||||
"path": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\edge-anchors-escape-gates-20260923\\run.py",
|
||||
"bytes": 1881,
|
||||
"sha256": "99e0db19e19c9d0ae0c93b3f040872f6a4133e79034030fa294c1d29f0970e88"
|
||||
},
|
||||
"exit_code": 0,
|
||||
"inputs_unchanged": true,
|
||||
"finished_utc": "2026-09-23T02:20:37.590794+00:00",
|
||||
"log": {
|
||||
"path": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\edge-anchors-escape-gates-20260923\\clippy-01\\output.log",
|
||||
"bytes": 609,
|
||||
"sha256": "aa4982b41f961b4ae14ce18e81e8d768650132806989e5b0ab6deead887ac918"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,39 @@
|
||||
{
|
||||
"source_commit": "53d01a3d4451b94792986f2dfac56f6f04e111a4",
|
||||
"base_source_commit": "3aa80de89c5b79200286926781e8f3a192bc61f4",
|
||||
"identity": "Codex-ytr83r <Codex-ytr83r@example.com>",
|
||||
"worktree_clean": true,
|
||||
"source_files": [
|
||||
{
|
||||
"path": "crates/oa-desktop/src/app.rs",
|
||||
"raw_sha256": "f316dd20aeb4e3496a2cf629186adee551c4d32bd4abf8e858e03b2ee9269178",
|
||||
"git_blob_sha256": "f316dd20aeb4e3496a2cf629186adee551c4d32bd4abf8e858e03b2ee9269178",
|
||||
"git_blob_equals_tested_raw": true
|
||||
},
|
||||
{
|
||||
"path": "crates/oa-desktop/src/app/state_diagram_tests.rs",
|
||||
"raw_sha256": "07d08c724b761bd53c7f1b6d87eab27b645937f6ead146fc4380f29ec0b7f734",
|
||||
"git_blob_sha256": "07d08c724b761bd53c7f1b6d87eab27b645937f6ead146fc4380f29ec0b7f734",
|
||||
"git_blob_equals_tested_raw": true
|
||||
},
|
||||
{
|
||||
"path": "crates/oa-desktop/src/app/state_attachment_escape_tests.rs",
|
||||
"raw_sha256": "8540500b6fa85d831a3be50afd0513601d3740405a68c8f5b87d304527e7ba78",
|
||||
"git_blob_sha256": "8540500b6fa85d831a3be50afd0513601d3740405a68c8f5b87d304527e7ba78",
|
||||
"git_blob_equals_tested_raw": true
|
||||
},
|
||||
{
|
||||
"path": "crates/oa-desktop/src/behavior/canvas_workspace/tests.rs",
|
||||
"raw_sha256": "de13f0112b1a39fa03f32a9308dcbd30b235eef9ead877b440dde023c93bc5a3",
|
||||
"git_blob_sha256": "de13f0112b1a39fa03f32a9308dcbd30b235eef9ead877b440dde023c93bc5a3",
|
||||
"git_blob_equals_tested_raw": true
|
||||
}
|
||||
],
|
||||
"preserved_binary": {
|
||||
"path": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\edge-anchors-escape-gates-20260923\\artifacts\\arcadia-studio.exe",
|
||||
"bytes": 117221376,
|
||||
"sha256": "9c7aa0249378cec31639bbbff5ea7b3eaab782333d1637b8ab5e8f3be5d65d2c"
|
||||
},
|
||||
"utc": "2026-09-23T02:26:52.027886+00:00",
|
||||
"scope": "Commit/readback only; no build or push; original summary retains historical uncommitted gate status"
|
||||
}
|
||||
@@ -0,0 +1,69 @@
|
||||
diff --git a/crates/oa-desktop/src/app.rs b/crates/oa-desktop/src/app.rs
|
||||
index 037a850..5d1dcdc 100644
|
||||
--- a/crates/oa-desktop/src/app.rs
|
||||
+++ b/crates/oa-desktop/src/app.rs
|
||||
@@ -2334,6 +2334,15 @@ impl App {
|
||||
} else if self.behavior.creation.has_pending() {
|
||||
self.behavior.creation.acknowledge_commit();
|
||||
self.status = "Behavior creation cancelled".into();
|
||||
+ } else if self.page == Page::Behavior
|
||||
+ && matches!(
|
||||
+ self.behavior.diagram.tool,
|
||||
+ behavior::state_edit::Tool::AdjustAttachment { .. }
|
||||
+ )
|
||||
+ {
|
||||
+ // Menu arming invalidates canvas keyboard ownership. Escape
|
||||
+ // must also cancel before the next canvas click grants it.
|
||||
+ self.behavior.diagram.tool = behavior::state_edit::Tool::Select;
|
||||
}
|
||||
if self.connection.take().is_some() {
|
||||
self.status = "Drawing cancelled · Select / move is active".into();
|
||||
diff --git a/crates/oa-desktop/src/app/state_diagram_tests.rs b/crates/oa-desktop/src/app/state_diagram_tests.rs
|
||||
index 0be1b78..b3a7bb5 100644
|
||||
--- a/crates/oa-desktop/src/app/state_diagram_tests.rs
|
||||
+++ b/crates/oa-desktop/src/app/state_diagram_tests.rs
|
||||
@@ -1,5 +1,7 @@
|
||||
//! App transaction and draft boundaries for captured state-canvas messages.
|
||||
use super::*;
|
||||
+#[path = "state_attachment_escape_tests.rs"]
|
||||
+mod attachment_escape;
|
||||
use crate::behavior::{
|
||||
self,
|
||||
state_edit::{self, Context, Endpoint, Event, Tool},
|
||||
diff --git a/crates/oa-desktop/src/behavior/canvas_workspace/tests.rs b/crates/oa-desktop/src/behavior/canvas_workspace/tests.rs
|
||||
index b9d9649..26313ee 100644
|
||||
--- a/crates/oa-desktop/src/behavior/canvas_workspace/tests.rs
|
||||
+++ b/crates/oa-desktop/src/behavior/canvas_workspace/tests.rs
|
||||
@@ -158,6 +158,14 @@ impl Mounted {
|
||||
events: &[iced::Event],
|
||||
cursor: mouse::Cursor,
|
||||
) -> Vec<Message> {
|
||||
+ self.input_with_status(app, events, cursor).0
|
||||
+ }
|
||||
+ pub fn input_with_status(
|
||||
+ &mut self,
|
||||
+ app: &App,
|
||||
+ events: &[iced::Event],
|
||||
+ cursor: mouse::Cursor,
|
||||
+ ) -> (Vec<Message>, Vec<iced::event::Status>) {
|
||||
let mut messages = vec![];
|
||||
let mut ui = UserInterface::build(
|
||||
app.view(),
|
||||
@@ -165,7 +173,7 @@ impl Mounted {
|
||||
std::mem::take(&mut self.cache),
|
||||
&mut self.renderer,
|
||||
);
|
||||
- let _ = ui.update(
|
||||
+ let (_, statuses) = ui.update(
|
||||
events,
|
||||
cursor,
|
||||
&mut self.renderer,
|
||||
@@ -173,7 +181,7 @@ impl Mounted {
|
||||
&mut messages,
|
||||
);
|
||||
self.cache = ui.into_cache();
|
||||
- messages
|
||||
+ (messages, statuses)
|
||||
}
|
||||
pub async fn perform(&mut self, app: &mut App, task: iced::Task<Message>) {
|
||||
let mut ready = vec![];
|
||||
@@ -0,0 +1,29 @@
|
||||
{
|
||||
"source_commit": "3aa80de89c5b79200286926781e8f3a192bc61f4",
|
||||
"working_changes": " M crates/oa-desktop/src/app.rs\n M crates/oa-desktop/src/app/state_diagram_tests.rs\n M crates/oa-desktop/src/behavior/canvas_workspace/tests.rs\n?? crates/oa-desktop/src/app/state_attachment_escape_tests.rs\n",
|
||||
"cwd": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\edge-anchors-escape-20260923",
|
||||
"argv": [
|
||||
"cargo",
|
||||
"test",
|
||||
"-p",
|
||||
"oa-desktop",
|
||||
"--locked",
|
||||
"--offline"
|
||||
],
|
||||
"started_utc": "2026-09-23T02:14:02.570179+00:00",
|
||||
"environment": {
|
||||
"CARGO_HOME": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo",
|
||||
"RUSTUP_HOME": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\rustup",
|
||||
"RUSTUP_TOOLCHAIN": "stable-x86_64-pc-windows-gnullvm",
|
||||
"CARGO_TARGET_DIR": "C:/Users/User/Documents/Git/ARCADIA-Studio/target",
|
||||
"CARGO_BUILD_JOBS": "1",
|
||||
"CARGO_INCREMENTAL": "0",
|
||||
"CARGO_TARGET_X86_64_PC_WINDOWS_GNULLVM_LINKER": "clang.exe",
|
||||
"RC": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\llvm-mingw-20260908-ucrt-x86_64\\bin\\llvm-windres.exe"
|
||||
},
|
||||
"runner": {
|
||||
"path": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\edge-anchors-escape-gates-20260923\\run.py",
|
||||
"bytes": 1881,
|
||||
"sha256": "99e0db19e19c9d0ae0c93b3f040872f6a4133e79034030fa294c1d29f0970e88"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,37 @@
|
||||
{
|
||||
"source_commit": "3aa80de89c5b79200286926781e8f3a192bc61f4",
|
||||
"working_changes": " M crates/oa-desktop/src/app.rs\n M crates/oa-desktop/src/app/state_diagram_tests.rs\n M crates/oa-desktop/src/behavior/canvas_workspace/tests.rs\n?? crates/oa-desktop/src/app/state_attachment_escape_tests.rs\n",
|
||||
"cwd": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\edge-anchors-escape-20260923",
|
||||
"argv": [
|
||||
"cargo",
|
||||
"test",
|
||||
"-p",
|
||||
"oa-desktop",
|
||||
"--locked",
|
||||
"--offline"
|
||||
],
|
||||
"started_utc": "2026-09-23T02:14:02.570179+00:00",
|
||||
"environment": {
|
||||
"CARGO_HOME": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo",
|
||||
"RUSTUP_HOME": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\rustup",
|
||||
"RUSTUP_TOOLCHAIN": "stable-x86_64-pc-windows-gnullvm",
|
||||
"CARGO_TARGET_DIR": "C:/Users/User/Documents/Git/ARCADIA-Studio/target",
|
||||
"CARGO_BUILD_JOBS": "1",
|
||||
"CARGO_INCREMENTAL": "0",
|
||||
"CARGO_TARGET_X86_64_PC_WINDOWS_GNULLVM_LINKER": "clang.exe",
|
||||
"RC": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\llvm-mingw-20260908-ucrt-x86_64\\bin\\llvm-windres.exe"
|
||||
},
|
||||
"runner": {
|
||||
"path": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\edge-anchors-escape-gates-20260923\\run.py",
|
||||
"bytes": 1881,
|
||||
"sha256": "99e0db19e19c9d0ae0c93b3f040872f6a4133e79034030fa294c1d29f0970e88"
|
||||
},
|
||||
"exit_code": 0,
|
||||
"inputs_unchanged": true,
|
||||
"finished_utc": "2026-09-23T02:18:23.522648+00:00",
|
||||
"log": {
|
||||
"path": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\edge-anchors-escape-gates-20260923\\desktop-01\\output.log",
|
||||
"bytes": 138072,
|
||||
"sha256": "a8835aabb338957b9ebe6815bc70ecd6f0c9f23b2cdd45ab861d9be544ec7a5d"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,28 @@
|
||||
from pathlib import Path
|
||||
import datetime, hashlib, json, os, subprocess, sys
|
||||
|
||||
root=Path(__file__).resolve().parent
|
||||
repo=root.parent/'edge-anchors-escape-20260923'
|
||||
out=root/sys.argv[1]
|
||||
out.mkdir(exist_ok=False)
|
||||
def record(path):
|
||||
data=path.read_bytes()
|
||||
return {'path':str(path),'bytes':len(data),'sha256':hashlib.sha256(data).hexdigest()}
|
||||
def save(name,value):
|
||||
with (out/name).open('x',encoding='utf-8') as f: json.dump(value,f,indent=2);f.write('\n')
|
||||
def git(*args): return subprocess.check_output(['git','-c','core.longpaths=true',*args],cwd=repo)
|
||||
def inputs():
|
||||
paths=git('ls-files','--cached','--others','--exclude-standard','-z').decode().split('\0')
|
||||
return [record(repo/p) for p in paths if p and (repo/p).is_file()]
|
||||
before=inputs();save('inputs-before.json',before)
|
||||
context={'source_commit':git('rev-parse','HEAD').decode().strip(),'working_changes':git('status','--short').decode(),'cwd':str(repo),'argv':sys.argv[2:],'started_utc':datetime.datetime.now(datetime.timezone.utc).isoformat(),'environment':{k:os.environ.get(k) for k in ['CARGO_HOME','RUSTUP_HOME','RUSTUP_TOOLCHAIN','CARGO_TARGET_DIR','CARGO_BUILD_JOBS','CARGO_INCREMENTAL','CARGO_TARGET_X86_64_PC_WINDOWS_GNULLVM_LINKER','RC']},'runner':record(Path(__file__))}
|
||||
save('context.json',context)
|
||||
(out/'changes.patch').write_bytes(git('diff','--binary'))
|
||||
with (out/'output.log').open('xb') as log:
|
||||
result=subprocess.run(sys.argv[2:],cwd=repo,stdout=log,stderr=subprocess.STDOUT)
|
||||
after=inputs();save('inputs-after.json',after)
|
||||
context.update(exit_code=result.returncode,inputs_unchanged=before==after,finished_utc=datetime.datetime.now(datetime.timezone.utc).isoformat(),log=record(out/'output.log'))
|
||||
save('result.json',context)
|
||||
print(json.dumps(context,indent=2))
|
||||
print((out/'output.log').read_text(encoding='utf-8',errors='replace')[-16000:])
|
||||
sys.exit(result.returncode or int(before!=after))
|
||||
@@ -0,0 +1,88 @@
|
||||
{
|
||||
"base_source_commit": "3aa80de89c5b79200286926781e8f3a192bc61f4",
|
||||
"source_status": "uncommitted isolated Escape fix; not frozen published commit",
|
||||
"source_files": [
|
||||
{
|
||||
"path": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\edge-anchors-escape-20260923\\crates\\oa-desktop\\src\\app.rs",
|
||||
"bytes": 255720,
|
||||
"sha256": "f316dd20aeb4e3496a2cf629186adee551c4d32bd4abf8e858e03b2ee9269178"
|
||||
},
|
||||
{
|
||||
"path": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\edge-anchors-escape-20260923\\crates\\oa-desktop\\src\\app\\state_diagram_tests.rs",
|
||||
"bytes": 40025,
|
||||
"sha256": "07d08c724b761bd53c7f1b6d87eab27b645937f6ead146fc4380f29ec0b7f734"
|
||||
},
|
||||
{
|
||||
"path": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\edge-anchors-escape-20260923\\crates\\oa-desktop\\src\\app\\state_attachment_escape_tests.rs",
|
||||
"bytes": 5636,
|
||||
"sha256": "8540500b6fa85d831a3be50afd0513601d3740405a68c8f5b87d304527e7ba78"
|
||||
},
|
||||
{
|
||||
"path": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\edge-anchors-escape-20260923\\crates\\oa-desktop\\src\\behavior\\canvas_workspace\\tests.rs",
|
||||
"bytes": 27368,
|
||||
"sha256": "de13f0112b1a39fa03f32a9308dcbd30b235eef9ead877b440dde023c93bc5a3"
|
||||
}
|
||||
],
|
||||
"source_input_count": 2750,
|
||||
"source_manifest": {
|
||||
"path": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\edge-anchors-escape-gates-20260923\\build-01\\inputs-after.json",
|
||||
"bytes": 826699,
|
||||
"sha256": "e00c499308c9c61522abb61fe37dc391a17e87592e6e1c0b93cf1a55fcfc712e"
|
||||
},
|
||||
"all_steps_same_inputs": true,
|
||||
"results": [
|
||||
{
|
||||
"path": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\edge-anchors-escape-gates-20260923\\targeted-01\\result.json",
|
||||
"bytes": 1843,
|
||||
"sha256": "08fd3ce9dbd0e5b8ef2d2758b675d7de3900825d87b29b6d95e768fddf17d235"
|
||||
},
|
||||
{
|
||||
"path": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\edge-anchors-escape-gates-20260923\\desktop-01\\result.json",
|
||||
"bytes": 1787,
|
||||
"sha256": "a99c385122e8eb4b9786a01a4de1880e231967ea6ea5e431c003e3ae940bf14d"
|
||||
},
|
||||
{
|
||||
"path": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\edge-anchors-escape-gates-20260923\\clippy-01\\result.json",
|
||||
"bytes": 1846,
|
||||
"sha256": "2e1dc0d728ead0752cc37e5edbed52630510fa525a91f3f5adc3e361508aeef7"
|
||||
},
|
||||
{
|
||||
"path": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\edge-anchors-escape-gates-20260923\\build-01\\result.json",
|
||||
"bytes": 1820,
|
||||
"sha256": "bbef89cc4574a70b3cf88f94739b5919079587ef197cdd870365134bf1d2f560"
|
||||
},
|
||||
{
|
||||
"path": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\edge-anchors-escape-gates-20260923\\toolchain\\result.json",
|
||||
"bytes": 1717,
|
||||
"sha256": "8750fae7c035b368f5f1b1f07ddb38b309d0d3211168f37baae302aac319fdd8"
|
||||
}
|
||||
],
|
||||
"targeted": {
|
||||
"passed": 2,
|
||||
"failed": 0,
|
||||
"ignored": 0
|
||||
},
|
||||
"desktop": {
|
||||
"passed": 1194,
|
||||
"failed": 0,
|
||||
"ignored": 6
|
||||
},
|
||||
"strict_desktop_clippy": true,
|
||||
"desktop_build": true,
|
||||
"binary": {
|
||||
"path": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\target\\debug\\arcadia-studio.exe",
|
||||
"bytes": 117221376,
|
||||
"sha256": "9c7aa0249378cec31639bbbff5ea7b3eaab782333d1637b8ab5e8f3be5d65d2c"
|
||||
},
|
||||
"runtime": {
|
||||
"path": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\llvm-mingw-20260908-ucrt-x86_64\\bin\\libunwind.dll",
|
||||
"bytes": 190464,
|
||||
"sha256": "aa282fa47bb2c4e210cea5e470cdbdca58568f0be0bc73e404d86ab9cd95ef6a"
|
||||
},
|
||||
"utc": "2026-09-23T02:24:30.192839+00:00",
|
||||
"limits": [
|
||||
"Shared dependency/target cache reused; no clean-rebuild claim",
|
||||
"Native immediate post-menu Escape revalidation pending",
|
||||
"No commit or publication performed"
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,69 @@
|
||||
diff --git a/crates/oa-desktop/src/app.rs b/crates/oa-desktop/src/app.rs
|
||||
index 037a850..5d1dcdc 100644
|
||||
--- a/crates/oa-desktop/src/app.rs
|
||||
+++ b/crates/oa-desktop/src/app.rs
|
||||
@@ -2334,6 +2334,15 @@ impl App {
|
||||
} else if self.behavior.creation.has_pending() {
|
||||
self.behavior.creation.acknowledge_commit();
|
||||
self.status = "Behavior creation cancelled".into();
|
||||
+ } else if self.page == Page::Behavior
|
||||
+ && matches!(
|
||||
+ self.behavior.diagram.tool,
|
||||
+ behavior::state_edit::Tool::AdjustAttachment { .. }
|
||||
+ )
|
||||
+ {
|
||||
+ // Menu arming invalidates canvas keyboard ownership. Escape
|
||||
+ // must also cancel before the next canvas click grants it.
|
||||
+ self.behavior.diagram.tool = behavior::state_edit::Tool::Select;
|
||||
}
|
||||
if self.connection.take().is_some() {
|
||||
self.status = "Drawing cancelled · Select / move is active".into();
|
||||
diff --git a/crates/oa-desktop/src/app/state_diagram_tests.rs b/crates/oa-desktop/src/app/state_diagram_tests.rs
|
||||
index 0be1b78..b3a7bb5 100644
|
||||
--- a/crates/oa-desktop/src/app/state_diagram_tests.rs
|
||||
+++ b/crates/oa-desktop/src/app/state_diagram_tests.rs
|
||||
@@ -1,5 +1,7 @@
|
||||
//! App transaction and draft boundaries for captured state-canvas messages.
|
||||
use super::*;
|
||||
+#[path = "state_attachment_escape_tests.rs"]
|
||||
+mod attachment_escape;
|
||||
use crate::behavior::{
|
||||
self,
|
||||
state_edit::{self, Context, Endpoint, Event, Tool},
|
||||
diff --git a/crates/oa-desktop/src/behavior/canvas_workspace/tests.rs b/crates/oa-desktop/src/behavior/canvas_workspace/tests.rs
|
||||
index b9d9649..26313ee 100644
|
||||
--- a/crates/oa-desktop/src/behavior/canvas_workspace/tests.rs
|
||||
+++ b/crates/oa-desktop/src/behavior/canvas_workspace/tests.rs
|
||||
@@ -158,6 +158,14 @@ impl Mounted {
|
||||
events: &[iced::Event],
|
||||
cursor: mouse::Cursor,
|
||||
) -> Vec<Message> {
|
||||
+ self.input_with_status(app, events, cursor).0
|
||||
+ }
|
||||
+ pub fn input_with_status(
|
||||
+ &mut self,
|
||||
+ app: &App,
|
||||
+ events: &[iced::Event],
|
||||
+ cursor: mouse::Cursor,
|
||||
+ ) -> (Vec<Message>, Vec<iced::event::Status>) {
|
||||
let mut messages = vec![];
|
||||
let mut ui = UserInterface::build(
|
||||
app.view(),
|
||||
@@ -165,7 +173,7 @@ impl Mounted {
|
||||
std::mem::take(&mut self.cache),
|
||||
&mut self.renderer,
|
||||
);
|
||||
- let _ = ui.update(
|
||||
+ let (_, statuses) = ui.update(
|
||||
events,
|
||||
cursor,
|
||||
&mut self.renderer,
|
||||
@@ -173,7 +181,7 @@ impl Mounted {
|
||||
&mut messages,
|
||||
);
|
||||
self.cache = ui.into_cache();
|
||||
- messages
|
||||
+ (messages, statuses)
|
||||
}
|
||||
pub async fn perform(&mut self, app: &mut App, task: iced::Task<Message>) {
|
||||
let mut ready = vec![];
|
||||
@@ -0,0 +1,32 @@
|
||||
{
|
||||
"source_commit": "3aa80de89c5b79200286926781e8f3a192bc61f4",
|
||||
"working_changes": " M crates/oa-desktop/src/app.rs\n M crates/oa-desktop/src/app/state_diagram_tests.rs\n M crates/oa-desktop/src/behavior/canvas_workspace/tests.rs\n?? crates/oa-desktop/src/app/state_attachment_escape_tests.rs\n",
|
||||
"cwd": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\edge-anchors-escape-20260923",
|
||||
"argv": [
|
||||
"cargo",
|
||||
"test",
|
||||
"-p",
|
||||
"oa-desktop",
|
||||
"--locked",
|
||||
"--offline",
|
||||
"attachment_escape",
|
||||
"--",
|
||||
"--nocapture"
|
||||
],
|
||||
"started_utc": "2026-09-23T02:08:18.536866+00:00",
|
||||
"environment": {
|
||||
"CARGO_HOME": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo",
|
||||
"RUSTUP_HOME": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\rustup",
|
||||
"RUSTUP_TOOLCHAIN": "stable-x86_64-pc-windows-gnullvm",
|
||||
"CARGO_TARGET_DIR": "C:/Users/User/Documents/Git/ARCADIA-Studio/target",
|
||||
"CARGO_BUILD_JOBS": "1",
|
||||
"CARGO_INCREMENTAL": "0",
|
||||
"CARGO_TARGET_X86_64_PC_WINDOWS_GNULLVM_LINKER": "clang.exe",
|
||||
"RC": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\llvm-mingw-20260908-ucrt-x86_64\\bin\\llvm-windres.exe"
|
||||
},
|
||||
"runner": {
|
||||
"path": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\edge-anchors-escape-gates-20260923\\run.py",
|
||||
"bytes": 1881,
|
||||
"sha256": "99e0db19e19c9d0ae0c93b3f040872f6a4133e79034030fa294c1d29f0970e88"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,14 @@
|
||||
Compiling oa-core v0.2.0 (C:\Users\User\Documents\Git\ARCADIA-Studio\.local\edge-anchors-escape-20260923\crates\oa-core)
|
||||
Compiling oa-server v0.2.0 (C:\Users\User\Documents\Git\ARCADIA-Studio\.local\edge-anchors-escape-20260923\crates\oa-server)
|
||||
Compiling iced_widget v0.14.2 (C:\Users\User\Documents\Git\ARCADIA-Studio\.local\edge-anchors-escape-20260923\crates\vendor\iced_widget)
|
||||
Compiling oa-desktop v0.2.0 (C:\Users\User\Documents\Git\ARCADIA-Studio\.local\edge-anchors-escape-20260923\crates\oa-desktop)
|
||||
Compiling iced v0.14.0
|
||||
Finished `test` profile [unoptimized] target(s) in 5m 05s
|
||||
Running unittests src\main.rs (C:/Users/User/Documents/Git/ARCADIA-Studio/target\debug\deps\arcadia_studio-c5b42126ba36cd38.exe)
|
||||
|
||||
running 2 tests
|
||||
test app::state_diagram_tests::attachment_escape::mounted_menu_armed_attachment_escape_without_canvas_click_preserves_document_and_focus ... ok
|
||||
test app::state_diagram_tests::attachment_escape::mounted_attachment_escape_preserves_modal_priority_and_focused_canvas_control ... ok
|
||||
|
||||
test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 1198 filtered out; finished in 0.89s
|
||||
|
||||
@@ -0,0 +1,40 @@
|
||||
{
|
||||
"source_commit": "3aa80de89c5b79200286926781e8f3a192bc61f4",
|
||||
"working_changes": " M crates/oa-desktop/src/app.rs\n M crates/oa-desktop/src/app/state_diagram_tests.rs\n M crates/oa-desktop/src/behavior/canvas_workspace/tests.rs\n?? crates/oa-desktop/src/app/state_attachment_escape_tests.rs\n",
|
||||
"cwd": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\edge-anchors-escape-20260923",
|
||||
"argv": [
|
||||
"cargo",
|
||||
"test",
|
||||
"-p",
|
||||
"oa-desktop",
|
||||
"--locked",
|
||||
"--offline",
|
||||
"attachment_escape",
|
||||
"--",
|
||||
"--nocapture"
|
||||
],
|
||||
"started_utc": "2026-09-23T02:08:18.536866+00:00",
|
||||
"environment": {
|
||||
"CARGO_HOME": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo",
|
||||
"RUSTUP_HOME": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\rustup",
|
||||
"RUSTUP_TOOLCHAIN": "stable-x86_64-pc-windows-gnullvm",
|
||||
"CARGO_TARGET_DIR": "C:/Users/User/Documents/Git/ARCADIA-Studio/target",
|
||||
"CARGO_BUILD_JOBS": "1",
|
||||
"CARGO_INCREMENTAL": "0",
|
||||
"CARGO_TARGET_X86_64_PC_WINDOWS_GNULLVM_LINKER": "clang.exe",
|
||||
"RC": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\llvm-mingw-20260908-ucrt-x86_64\\bin\\llvm-windres.exe"
|
||||
},
|
||||
"runner": {
|
||||
"path": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\edge-anchors-escape-gates-20260923\\run.py",
|
||||
"bytes": 1881,
|
||||
"sha256": "99e0db19e19c9d0ae0c93b3f040872f6a4133e79034030fa294c1d29f0970e88"
|
||||
},
|
||||
"exit_code": 0,
|
||||
"inputs_unchanged": true,
|
||||
"finished_utc": "2026-09-23T02:13:27.063589+00:00",
|
||||
"log": {
|
||||
"path": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\edge-anchors-escape-gates-20260923\\targeted-01\\output.log",
|
||||
"bytes": 1139,
|
||||
"sha256": "d03b3f2f6346d5e3e75cba5ec51826e1cebc391928ad9bc889275e6e5520bf8c"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,69 @@
|
||||
diff --git a/crates/oa-desktop/src/app.rs b/crates/oa-desktop/src/app.rs
|
||||
index 037a850..5d1dcdc 100644
|
||||
--- a/crates/oa-desktop/src/app.rs
|
||||
+++ b/crates/oa-desktop/src/app.rs
|
||||
@@ -2334,6 +2334,15 @@ impl App {
|
||||
} else if self.behavior.creation.has_pending() {
|
||||
self.behavior.creation.acknowledge_commit();
|
||||
self.status = "Behavior creation cancelled".into();
|
||||
+ } else if self.page == Page::Behavior
|
||||
+ && matches!(
|
||||
+ self.behavior.diagram.tool,
|
||||
+ behavior::state_edit::Tool::AdjustAttachment { .. }
|
||||
+ )
|
||||
+ {
|
||||
+ // Menu arming invalidates canvas keyboard ownership. Escape
|
||||
+ // must also cancel before the next canvas click grants it.
|
||||
+ self.behavior.diagram.tool = behavior::state_edit::Tool::Select;
|
||||
}
|
||||
if self.connection.take().is_some() {
|
||||
self.status = "Drawing cancelled · Select / move is active".into();
|
||||
diff --git a/crates/oa-desktop/src/app/state_diagram_tests.rs b/crates/oa-desktop/src/app/state_diagram_tests.rs
|
||||
index 0be1b78..b3a7bb5 100644
|
||||
--- a/crates/oa-desktop/src/app/state_diagram_tests.rs
|
||||
+++ b/crates/oa-desktop/src/app/state_diagram_tests.rs
|
||||
@@ -1,5 +1,7 @@
|
||||
//! App transaction and draft boundaries for captured state-canvas messages.
|
||||
use super::*;
|
||||
+#[path = "state_attachment_escape_tests.rs"]
|
||||
+mod attachment_escape;
|
||||
use crate::behavior::{
|
||||
self,
|
||||
state_edit::{self, Context, Endpoint, Event, Tool},
|
||||
diff --git a/crates/oa-desktop/src/behavior/canvas_workspace/tests.rs b/crates/oa-desktop/src/behavior/canvas_workspace/tests.rs
|
||||
index b9d9649..26313ee 100644
|
||||
--- a/crates/oa-desktop/src/behavior/canvas_workspace/tests.rs
|
||||
+++ b/crates/oa-desktop/src/behavior/canvas_workspace/tests.rs
|
||||
@@ -158,6 +158,14 @@ impl Mounted {
|
||||
events: &[iced::Event],
|
||||
cursor: mouse::Cursor,
|
||||
) -> Vec<Message> {
|
||||
+ self.input_with_status(app, events, cursor).0
|
||||
+ }
|
||||
+ pub fn input_with_status(
|
||||
+ &mut self,
|
||||
+ app: &App,
|
||||
+ events: &[iced::Event],
|
||||
+ cursor: mouse::Cursor,
|
||||
+ ) -> (Vec<Message>, Vec<iced::event::Status>) {
|
||||
let mut messages = vec![];
|
||||
let mut ui = UserInterface::build(
|
||||
app.view(),
|
||||
@@ -165,7 +173,7 @@ impl Mounted {
|
||||
std::mem::take(&mut self.cache),
|
||||
&mut self.renderer,
|
||||
);
|
||||
- let _ = ui.update(
|
||||
+ let (_, statuses) = ui.update(
|
||||
events,
|
||||
cursor,
|
||||
&mut self.renderer,
|
||||
@@ -173,7 +181,7 @@ impl Mounted {
|
||||
&mut messages,
|
||||
);
|
||||
self.cache = ui.into_cache();
|
||||
- messages
|
||||
+ (messages, statuses)
|
||||
}
|
||||
pub async fn perform(&mut self, app: &mut App, task: iced::Task<Message>) {
|
||||
let mut ready = vec![];
|
||||
@@ -0,0 +1,25 @@
|
||||
{
|
||||
"source_commit": "3aa80de89c5b79200286926781e8f3a192bc61f4",
|
||||
"working_changes": " M crates/oa-desktop/src/app.rs\n M crates/oa-desktop/src/app/state_diagram_tests.rs\n M crates/oa-desktop/src/behavior/canvas_workspace/tests.rs\n?? crates/oa-desktop/src/app/state_attachment_escape_tests.rs\n",
|
||||
"cwd": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\edge-anchors-escape-20260923",
|
||||
"argv": [
|
||||
"rustc",
|
||||
"-vV"
|
||||
],
|
||||
"started_utc": "2026-09-23T02:08:55.569727+00:00",
|
||||
"environment": {
|
||||
"CARGO_HOME": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo",
|
||||
"RUSTUP_HOME": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\rustup",
|
||||
"RUSTUP_TOOLCHAIN": "stable-x86_64-pc-windows-gnullvm",
|
||||
"CARGO_TARGET_DIR": "C:/Users/User/Documents/Git/ARCADIA-Studio/target",
|
||||
"CARGO_BUILD_JOBS": "1",
|
||||
"CARGO_INCREMENTAL": "0",
|
||||
"CARGO_TARGET_X86_64_PC_WINDOWS_GNULLVM_LINKER": "clang.exe",
|
||||
"RC": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\llvm-mingw-20260908-ucrt-x86_64\\bin\\llvm-windres.exe"
|
||||
},
|
||||
"runner": {
|
||||
"path": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\edge-anchors-escape-gates-20260923\\run.py",
|
||||
"bytes": 1881,
|
||||
"sha256": "99e0db19e19c9d0ae0c93b3f040872f6a4133e79034030fa294c1d29f0970e88"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,7 @@
|
||||
rustc 1.98.1 (48a229cea 2026-09-01)
|
||||
binary: rustc
|
||||
commit-hash: 48a229ceaefd4985c50990b14116b6d856af0985
|
||||
commit-date: 2026-09-01
|
||||
host: x86_64-pc-windows-gnullvm
|
||||
release: 1.98.1
|
||||
LLVM version: 22.1.8
|
||||
@@ -0,0 +1,33 @@
|
||||
{
|
||||
"source_commit": "3aa80de89c5b79200286926781e8f3a192bc61f4",
|
||||
"working_changes": " M crates/oa-desktop/src/app.rs\n M crates/oa-desktop/src/app/state_diagram_tests.rs\n M crates/oa-desktop/src/behavior/canvas_workspace/tests.rs\n?? crates/oa-desktop/src/app/state_attachment_escape_tests.rs\n",
|
||||
"cwd": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\edge-anchors-escape-20260923",
|
||||
"argv": [
|
||||
"rustc",
|
||||
"-vV"
|
||||
],
|
||||
"started_utc": "2026-09-23T02:08:55.569727+00:00",
|
||||
"environment": {
|
||||
"CARGO_HOME": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo",
|
||||
"RUSTUP_HOME": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\rustup",
|
||||
"RUSTUP_TOOLCHAIN": "stable-x86_64-pc-windows-gnullvm",
|
||||
"CARGO_TARGET_DIR": "C:/Users/User/Documents/Git/ARCADIA-Studio/target",
|
||||
"CARGO_BUILD_JOBS": "1",
|
||||
"CARGO_INCREMENTAL": "0",
|
||||
"CARGO_TARGET_X86_64_PC_WINDOWS_GNULLVM_LINKER": "clang.exe",
|
||||
"RC": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\llvm-mingw-20260908-ucrt-x86_64\\bin\\llvm-windres.exe"
|
||||
},
|
||||
"runner": {
|
||||
"path": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\edge-anchors-escape-gates-20260923\\run.py",
|
||||
"bytes": 1881,
|
||||
"sha256": "99e0db19e19c9d0ae0c93b3f040872f6a4133e79034030fa294c1d29f0970e88"
|
||||
},
|
||||
"exit_code": 0,
|
||||
"inputs_unchanged": true,
|
||||
"finished_utc": "2026-09-23T02:08:57.932921+00:00",
|
||||
"log": {
|
||||
"path": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\edge-anchors-escape-gates-20260923\\toolchain\\output.log",
|
||||
"bytes": 197,
|
||||
"sha256": "cdaaa400be47332d69e678836251d4635b5ff2ecd34aa962b69d71f8961d274b"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,860 @@
|
||||
{
|
||||
"schema_version": 7,
|
||||
"id": "ea202922-0033-4000-8000-000000000001",
|
||||
"alias": "endpoint_acceptance",
|
||||
"name": "Harbor dispatch — attachment acceptance",
|
||||
"description": "Small native fixture for presentation-only endpoint editing. Names describe stored source-to-target direction.",
|
||||
"elements": {
|
||||
"ea202922-0033-4000-8000-000000000010": {
|
||||
"id": "ea202922-0033-4000-8000-000000000010",
|
||||
"alias": "receive_report",
|
||||
"name": "Receive distress report",
|
||||
"description": "",
|
||||
"parent": null,
|
||||
"body": {
|
||||
"Oa": "Activity"
|
||||
}
|
||||
},
|
||||
"ea202922-0033-4000-8000-000000000011": {
|
||||
"id": "ea202922-0033-4000-8000-000000000011",
|
||||
"alias": "dispatch_crew",
|
||||
"name": "Dispatch rescue crew",
|
||||
"description": "",
|
||||
"parent": null,
|
||||
"body": {
|
||||
"Oa": "Activity"
|
||||
}
|
||||
},
|
||||
"ea202922-0033-4000-8000-000000000030": {
|
||||
"id": "ea202922-0033-4000-8000-000000000030",
|
||||
"alias": "controller",
|
||||
"name": "Rescue readiness controller",
|
||||
"description": "",
|
||||
"parent": null,
|
||||
"body": {
|
||||
"Sa": "System"
|
||||
}
|
||||
},
|
||||
"ea202922-0033-4000-8000-000000000031": {
|
||||
"id": "ea202922-0033-4000-8000-000000000031",
|
||||
"alias": "readiness",
|
||||
"name": "Rescue readiness",
|
||||
"description": "",
|
||||
"parent": "ea202922-0033-4000-8000-000000000030",
|
||||
"body": {
|
||||
"Sa": {
|
||||
"Shared": "StateMachine"
|
||||
}
|
||||
}
|
||||
},
|
||||
"ea202922-0033-4000-8000-000000000032": {
|
||||
"id": "ea202922-0033-4000-8000-000000000032",
|
||||
"alias": "main_region",
|
||||
"name": "Readiness region",
|
||||
"description": "",
|
||||
"parent": "ea202922-0033-4000-8000-000000000031",
|
||||
"body": {
|
||||
"Sa": {
|
||||
"Shared": "Region"
|
||||
}
|
||||
}
|
||||
},
|
||||
"ea202922-0033-4000-8000-000000000033": {
|
||||
"id": "ea202922-0033-4000-8000-000000000033",
|
||||
"alias": "start",
|
||||
"name": "Startup",
|
||||
"description": "",
|
||||
"parent": "ea202922-0033-4000-8000-000000000032",
|
||||
"body": {
|
||||
"Sa": {
|
||||
"Shared": {
|
||||
"State": {
|
||||
"kind": "Initial",
|
||||
"entry": "",
|
||||
"exit": "",
|
||||
"do_activity": ""
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"ea202922-0033-4000-8000-000000000034": {
|
||||
"id": "ea202922-0033-4000-8000-000000000034",
|
||||
"alias": "ready",
|
||||
"name": "Ready",
|
||||
"description": "",
|
||||
"parent": "ea202922-0033-4000-8000-000000000032",
|
||||
"body": {
|
||||
"Sa": {
|
||||
"Shared": {
|
||||
"State": {
|
||||
"kind": "State",
|
||||
"entry": "",
|
||||
"exit": "",
|
||||
"do_activity": ""
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"ea202922-0033-4000-8000-000000000035": {
|
||||
"id": "ea202922-0033-4000-8000-000000000035",
|
||||
"alias": "active",
|
||||
"name": "Active",
|
||||
"description": "",
|
||||
"parent": "ea202922-0033-4000-8000-000000000032",
|
||||
"body": {
|
||||
"Sa": {
|
||||
"Shared": {
|
||||
"State": {
|
||||
"kind": "State",
|
||||
"entry": "",
|
||||
"exit": "",
|
||||
"do_activity": ""
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"ea202922-0033-4000-8000-000000000036": {
|
||||
"id": "ea202922-0033-4000-8000-000000000036",
|
||||
"alias": "decision",
|
||||
"name": "Dispatch decision",
|
||||
"description": "",
|
||||
"parent": "ea202922-0033-4000-8000-000000000032",
|
||||
"body": {
|
||||
"Sa": {
|
||||
"Shared": {
|
||||
"State": {
|
||||
"kind": "Choice",
|
||||
"entry": "",
|
||||
"exit": "",
|
||||
"do_activity": ""
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"ea202922-0033-4000-8000-000000000037": {
|
||||
"id": "ea202922-0033-4000-8000-000000000037",
|
||||
"alias": "finished",
|
||||
"name": "Shutdown complete",
|
||||
"description": "",
|
||||
"parent": "ea202922-0033-4000-8000-000000000032",
|
||||
"body": {
|
||||
"Sa": {
|
||||
"Shared": {
|
||||
"State": {
|
||||
"kind": "Final",
|
||||
"entry": "",
|
||||
"exit": "",
|
||||
"do_activity": ""
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"ea202922-0033-4000-8000-000000000050": {
|
||||
"id": "ea202922-0033-4000-8000-000000000050",
|
||||
"alias": "emit_status",
|
||||
"name": "Emit readiness status",
|
||||
"description": "",
|
||||
"parent": null,
|
||||
"body": {
|
||||
"Sa": "Function"
|
||||
}
|
||||
},
|
||||
"ea202922-0033-4000-8000-000000000051": {
|
||||
"id": "ea202922-0033-4000-8000-000000000051",
|
||||
"alias": "display_status",
|
||||
"name": "Display readiness status",
|
||||
"description": "",
|
||||
"parent": null,
|
||||
"body": {
|
||||
"Sa": "Function"
|
||||
}
|
||||
},
|
||||
"ea202922-0033-4000-8000-000000000052": {
|
||||
"id": "ea202922-0033-4000-8000-000000000052",
|
||||
"alias": "status_out",
|
||||
"name": "Status output",
|
||||
"description": "",
|
||||
"parent": "ea202922-0033-4000-8000-000000000050",
|
||||
"body": {
|
||||
"Sa": {
|
||||
"Shared": {
|
||||
"Port": {
|
||||
"contract": {
|
||||
"FunctionOutput": {
|
||||
"outgoing_items": []
|
||||
}
|
||||
},
|
||||
"legacy": null
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"ea202922-0033-4000-8000-000000000053": {
|
||||
"id": "ea202922-0033-4000-8000-000000000053",
|
||||
"alias": "status_in",
|
||||
"name": "Status input",
|
||||
"description": "",
|
||||
"parent": "ea202922-0033-4000-8000-000000000051",
|
||||
"body": {
|
||||
"Sa": {
|
||||
"Shared": {
|
||||
"Port": {
|
||||
"contract": {
|
||||
"FunctionInput": {
|
||||
"incoming_items": []
|
||||
}
|
||||
},
|
||||
"legacy": null
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"relations": {
|
||||
"ea202922-0033-4000-8000-000000000020": {
|
||||
"id": "ea202922-0033-4000-8000-000000000020",
|
||||
"alias": "dispatch_request",
|
||||
"name": "Dispatch request: Receive → Dispatch",
|
||||
"description": "Semantic sentinel: retain this description and direction.",
|
||||
"body": {
|
||||
"Interaction": {
|
||||
"source": "ea202922-0033-4000-8000-000000000010",
|
||||
"target": "ea202922-0033-4000-8000-000000000011",
|
||||
"items": []
|
||||
}
|
||||
}
|
||||
},
|
||||
"ea202922-0033-4000-8000-000000000040": {
|
||||
"id": "ea202922-0033-4000-8000-000000000040",
|
||||
"alias": "initialize",
|
||||
"name": "Initialize: Startup → Ready",
|
||||
"description": "",
|
||||
"body": {
|
||||
"StateTransition": {
|
||||
"source": "ea202922-0033-4000-8000-000000000033",
|
||||
"target": "ea202922-0033-4000-8000-000000000034",
|
||||
"transition_kind": "External",
|
||||
"triggers": [],
|
||||
"effects": [],
|
||||
"trigger": "",
|
||||
"guard": "",
|
||||
"effect": ""
|
||||
}
|
||||
}
|
||||
},
|
||||
"ea202922-0033-4000-8000-000000000041": {
|
||||
"id": "ea202922-0033-4000-8000-000000000041",
|
||||
"alias": "activate",
|
||||
"name": "Activate: Ready → Active",
|
||||
"description": "",
|
||||
"body": {
|
||||
"StateTransition": {
|
||||
"source": "ea202922-0033-4000-8000-000000000034",
|
||||
"target": "ea202922-0033-4000-8000-000000000035",
|
||||
"transition_kind": "External",
|
||||
"triggers": [],
|
||||
"effects": [],
|
||||
"trigger": "",
|
||||
"guard": "crew_assigned",
|
||||
"effect": ""
|
||||
}
|
||||
}
|
||||
},
|
||||
"ea202922-0033-4000-8000-000000000042": {
|
||||
"id": "ea202922-0033-4000-8000-000000000042",
|
||||
"alias": "assess",
|
||||
"name": "Assess: Active → Decision",
|
||||
"description": "",
|
||||
"body": {
|
||||
"StateTransition": {
|
||||
"source": "ea202922-0033-4000-8000-000000000035",
|
||||
"target": "ea202922-0033-4000-8000-000000000036",
|
||||
"transition_kind": "External",
|
||||
"triggers": [],
|
||||
"effects": [],
|
||||
"trigger": "",
|
||||
"guard": "",
|
||||
"effect": ""
|
||||
}
|
||||
}
|
||||
},
|
||||
"ea202922-0033-4000-8000-000000000043": {
|
||||
"id": "ea202922-0033-4000-8000-000000000043",
|
||||
"alias": "retry",
|
||||
"name": "Retry: Decision → Ready",
|
||||
"description": "",
|
||||
"body": {
|
||||
"StateTransition": {
|
||||
"source": "ea202922-0033-4000-8000-000000000036",
|
||||
"target": "ea202922-0033-4000-8000-000000000034",
|
||||
"transition_kind": "External",
|
||||
"triggers": [],
|
||||
"effects": [],
|
||||
"trigger": "",
|
||||
"guard": "retry_requested",
|
||||
"effect": ""
|
||||
}
|
||||
}
|
||||
},
|
||||
"ea202922-0033-4000-8000-000000000044": {
|
||||
"id": "ea202922-0033-4000-8000-000000000044",
|
||||
"alias": "finish",
|
||||
"name": "Finish: Decision → Shutdown",
|
||||
"description": "",
|
||||
"body": {
|
||||
"StateTransition": {
|
||||
"source": "ea202922-0033-4000-8000-000000000036",
|
||||
"target": "ea202922-0033-4000-8000-000000000037",
|
||||
"transition_kind": "External",
|
||||
"triggers": [],
|
||||
"effects": [],
|
||||
"trigger": "",
|
||||
"guard": "else",
|
||||
"effect": ""
|
||||
}
|
||||
}
|
||||
},
|
||||
"ea202922-0033-4000-8000-000000000045": {
|
||||
"id": "ea202922-0033-4000-8000-000000000045",
|
||||
"alias": "refresh",
|
||||
"name": "Refresh: Active → Active",
|
||||
"description": "",
|
||||
"body": {
|
||||
"StateTransition": {
|
||||
"source": "ea202922-0033-4000-8000-000000000035",
|
||||
"target": "ea202922-0033-4000-8000-000000000035",
|
||||
"transition_kind": "External",
|
||||
"triggers": [],
|
||||
"effects": [],
|
||||
"trigger": "",
|
||||
"guard": "refresh_requested",
|
||||
"effect": ""
|
||||
}
|
||||
}
|
||||
},
|
||||
"ea202922-0033-4000-8000-000000000046": {
|
||||
"id": "ea202922-0033-4000-8000-000000000046",
|
||||
"alias": "internal_check",
|
||||
"name": "Internal status check",
|
||||
"description": "",
|
||||
"body": {
|
||||
"StateTransition": {
|
||||
"source": "ea202922-0033-4000-8000-000000000035",
|
||||
"target": "ea202922-0033-4000-8000-000000000035",
|
||||
"transition_kind": "Internal",
|
||||
"triggers": [],
|
||||
"effects": [],
|
||||
"trigger": "",
|
||||
"guard": "",
|
||||
"effect": "Status unchanged"
|
||||
}
|
||||
}
|
||||
},
|
||||
"ea202922-0033-4000-8000-000000000054": {
|
||||
"id": "ea202922-0033-4000-8000-000000000054",
|
||||
"alias": "status_exchange",
|
||||
"name": "Readiness status: Emit → Display",
|
||||
"description": "",
|
||||
"body": {
|
||||
"FunctionalExchange": {
|
||||
"source": "ea202922-0033-4000-8000-000000000050",
|
||||
"target": "ea202922-0033-4000-8000-000000000051",
|
||||
"source_port": "ea202922-0033-4000-8000-000000000052",
|
||||
"target_port": "ea202922-0033-4000-8000-000000000053",
|
||||
"items": []
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"diagrams": {
|
||||
"ea202922-0033-4000-8000-000000000100": {
|
||||
"id": "ea202922-0033-4000-8000-000000000100",
|
||||
"alias": "dispatch_view",
|
||||
"name": "01 Dispatch — edit attachments",
|
||||
"description": "",
|
||||
"layer": "Oa",
|
||||
"projection": "FunctionalDataflow",
|
||||
"view_options": {
|
||||
"hidden_edges": [],
|
||||
"relation_kinds": "All",
|
||||
"work_categories": "All",
|
||||
"participant_categories": "All",
|
||||
"coverage": "All",
|
||||
"work_contexts": "All",
|
||||
"exchange_labels": "Name"
|
||||
},
|
||||
"nodes": {
|
||||
"ea202922-0033-4000-8000-000000000110": {
|
||||
"id": "ea202922-0033-4000-8000-000000000110",
|
||||
"alias": "dispatch_view_receive",
|
||||
"element": "ea202922-0033-4000-8000-000000000010",
|
||||
"position": {
|
||||
"x": 100.0,
|
||||
"y": 180.0
|
||||
},
|
||||
"size": {
|
||||
"width": 240.0,
|
||||
"height": 120.0
|
||||
},
|
||||
"collapsed": false
|
||||
},
|
||||
"ea202922-0033-4000-8000-000000000111": {
|
||||
"id": "ea202922-0033-4000-8000-000000000111",
|
||||
"alias": "dispatch_view_dispatch",
|
||||
"element": "ea202922-0033-4000-8000-000000000011",
|
||||
"position": {
|
||||
"x": 600.0,
|
||||
"y": 180.0
|
||||
},
|
||||
"size": {
|
||||
"width": 240.0,
|
||||
"height": 120.0
|
||||
},
|
||||
"collapsed": false
|
||||
}
|
||||
},
|
||||
"routes": [
|
||||
{
|
||||
"edge": "ea202922-0033-4000-8000-000000000020",
|
||||
"source_attachment": {
|
||||
"side": "Right",
|
||||
"offset": 0.5
|
||||
},
|
||||
"target_attachment": {
|
||||
"side": "Left",
|
||||
"offset": 0.6
|
||||
},
|
||||
"waypoints": [
|
||||
{
|
||||
"x": 440.0,
|
||||
"y": 340.0
|
||||
}
|
||||
],
|
||||
"label": {
|
||||
"fraction": 0.5,
|
||||
"offset": {
|
||||
"x": 12.0,
|
||||
"y": -18.0
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
"ea202922-0033-4000-8000-000000000101": {
|
||||
"id": "ea202922-0033-4000-8000-000000000101",
|
||||
"alias": "dispatch_reference",
|
||||
"name": "02 Dispatch — untouched reference",
|
||||
"description": "",
|
||||
"layer": "Oa",
|
||||
"projection": "FunctionalDataflow",
|
||||
"view_options": {
|
||||
"hidden_edges": [],
|
||||
"relation_kinds": "All",
|
||||
"work_categories": "All",
|
||||
"participant_categories": "All",
|
||||
"coverage": "All",
|
||||
"work_contexts": "All",
|
||||
"exchange_labels": "Name"
|
||||
},
|
||||
"nodes": {
|
||||
"ea202922-0033-4000-8000-000000000120": {
|
||||
"id": "ea202922-0033-4000-8000-000000000120",
|
||||
"alias": "dispatch_reference_receive",
|
||||
"element": "ea202922-0033-4000-8000-000000000010",
|
||||
"position": {
|
||||
"x": 100.0,
|
||||
"y": 180.0
|
||||
},
|
||||
"size": {
|
||||
"width": 240.0,
|
||||
"height": 120.0
|
||||
},
|
||||
"collapsed": false
|
||||
},
|
||||
"ea202922-0033-4000-8000-000000000121": {
|
||||
"id": "ea202922-0033-4000-8000-000000000121",
|
||||
"alias": "dispatch_reference_dispatch",
|
||||
"element": "ea202922-0033-4000-8000-000000000011",
|
||||
"position": {
|
||||
"x": 600.0,
|
||||
"y": 180.0
|
||||
},
|
||||
"size": {
|
||||
"width": 240.0,
|
||||
"height": 120.0
|
||||
},
|
||||
"collapsed": false
|
||||
}
|
||||
},
|
||||
"routes": [
|
||||
{
|
||||
"edge": "ea202922-0033-4000-8000-000000000020",
|
||||
"target_attachment": {
|
||||
"side": "Bottom",
|
||||
"offset": 0.25
|
||||
},
|
||||
"waypoints": [],
|
||||
"label": null
|
||||
}
|
||||
]
|
||||
},
|
||||
"ea202922-0033-4000-8000-000000000200": {
|
||||
"id": "ea202922-0033-4000-8000-000000000200",
|
||||
"alias": "readiness_view",
|
||||
"name": "03 Readiness — edit attachments",
|
||||
"description": "",
|
||||
"layer": "Sa",
|
||||
"projection": {
|
||||
"StateMachine": {
|
||||
"machine": "ea202922-0033-4000-8000-000000000031"
|
||||
}
|
||||
},
|
||||
"view_options": {
|
||||
"hidden_edges": [],
|
||||
"relation_kinds": "All",
|
||||
"work_categories": "All",
|
||||
"participant_categories": "All",
|
||||
"coverage": "All",
|
||||
"work_contexts": "All",
|
||||
"exchange_labels": "Name"
|
||||
},
|
||||
"nodes": {
|
||||
"ea202922-0033-4000-8000-000000000210": {
|
||||
"id": "ea202922-0033-4000-8000-000000000210",
|
||||
"alias": "readiness_view_readiness",
|
||||
"element": "ea202922-0033-4000-8000-000000000031",
|
||||
"position": {
|
||||
"x": 40.0,
|
||||
"y": 40.0
|
||||
},
|
||||
"size": {
|
||||
"width": 980.0,
|
||||
"height": 590.0
|
||||
},
|
||||
"collapsed": false
|
||||
},
|
||||
"ea202922-0033-4000-8000-000000000211": {
|
||||
"id": "ea202922-0033-4000-8000-000000000211",
|
||||
"alias": "readiness_view_main_region",
|
||||
"element": "ea202922-0033-4000-8000-000000000032",
|
||||
"position": {
|
||||
"x": 64.0,
|
||||
"y": 104.0
|
||||
},
|
||||
"size": {
|
||||
"width": 932.0,
|
||||
"height": 500.0
|
||||
},
|
||||
"collapsed": false
|
||||
},
|
||||
"ea202922-0033-4000-8000-000000000212": {
|
||||
"id": "ea202922-0033-4000-8000-000000000212",
|
||||
"alias": "readiness_view_start",
|
||||
"element": "ea202922-0033-4000-8000-000000000033",
|
||||
"position": {
|
||||
"x": 110.0,
|
||||
"y": 252.0
|
||||
},
|
||||
"size": {
|
||||
"width": 20.0,
|
||||
"height": 20.0
|
||||
},
|
||||
"collapsed": false
|
||||
},
|
||||
"ea202922-0033-4000-8000-000000000213": {
|
||||
"id": "ea202922-0033-4000-8000-000000000213",
|
||||
"alias": "readiness_view_ready",
|
||||
"element": "ea202922-0033-4000-8000-000000000034",
|
||||
"position": {
|
||||
"x": 190.0,
|
||||
"y": 210.0
|
||||
},
|
||||
"size": {
|
||||
"width": 240.0,
|
||||
"height": 120.0
|
||||
},
|
||||
"collapsed": false
|
||||
},
|
||||
"ea202922-0033-4000-8000-000000000214": {
|
||||
"id": "ea202922-0033-4000-8000-000000000214",
|
||||
"alias": "readiness_view_active",
|
||||
"element": "ea202922-0033-4000-8000-000000000035",
|
||||
"position": {
|
||||
"x": 570.0,
|
||||
"y": 210.0
|
||||
},
|
||||
"size": {
|
||||
"width": 240.0,
|
||||
"height": 140.0
|
||||
},
|
||||
"collapsed": false
|
||||
},
|
||||
"ea202922-0033-4000-8000-000000000215": {
|
||||
"id": "ea202922-0033-4000-8000-000000000215",
|
||||
"alias": "readiness_view_decision",
|
||||
"element": "ea202922-0033-4000-8000-000000000036",
|
||||
"position": {
|
||||
"x": 670.0,
|
||||
"y": 430.0
|
||||
},
|
||||
"size": {
|
||||
"width": 40.0,
|
||||
"height": 40.0
|
||||
},
|
||||
"collapsed": false
|
||||
},
|
||||
"ea202922-0033-4000-8000-000000000216": {
|
||||
"id": "ea202922-0033-4000-8000-000000000216",
|
||||
"alias": "readiness_view_finished",
|
||||
"element": "ea202922-0033-4000-8000-000000000037",
|
||||
"position": {
|
||||
"x": 880.0,
|
||||
"y": 440.0
|
||||
},
|
||||
"size": {
|
||||
"width": 24.0,
|
||||
"height": 24.0
|
||||
},
|
||||
"collapsed": false
|
||||
}
|
||||
},
|
||||
"routes": [
|
||||
{
|
||||
"edge": "ea202922-0033-4000-8000-000000000041",
|
||||
"source_attachment": {
|
||||
"side": "Right",
|
||||
"offset": 0.5
|
||||
},
|
||||
"target_attachment": {
|
||||
"side": "Left",
|
||||
"offset": 0.6
|
||||
},
|
||||
"waypoints": [
|
||||
{
|
||||
"x": 500.0,
|
||||
"y": 310.0
|
||||
}
|
||||
],
|
||||
"label": {
|
||||
"fraction": 0.5,
|
||||
"offset": {
|
||||
"x": 8.0,
|
||||
"y": -16.0
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"edge": "ea202922-0033-4000-8000-000000000040",
|
||||
"source_attachment": {
|
||||
"side": "Right",
|
||||
"offset": 0.5
|
||||
},
|
||||
"waypoints": [],
|
||||
"label": null
|
||||
},
|
||||
{
|
||||
"edge": "ea202922-0033-4000-8000-000000000044",
|
||||
"source_attachment": {
|
||||
"side": "Right",
|
||||
"offset": 0.5
|
||||
},
|
||||
"waypoints": [],
|
||||
"label": null
|
||||
}
|
||||
]
|
||||
},
|
||||
"ea202922-0033-4000-8000-000000000201": {
|
||||
"id": "ea202922-0033-4000-8000-000000000201",
|
||||
"alias": "readiness_reference",
|
||||
"name": "04 Readiness — untouched reference",
|
||||
"description": "",
|
||||
"layer": "Sa",
|
||||
"projection": {
|
||||
"StateMachine": {
|
||||
"machine": "ea202922-0033-4000-8000-000000000031"
|
||||
}
|
||||
},
|
||||
"view_options": {
|
||||
"hidden_edges": [],
|
||||
"relation_kinds": "All",
|
||||
"work_categories": "All",
|
||||
"participant_categories": "All",
|
||||
"coverage": "All",
|
||||
"work_contexts": "All",
|
||||
"exchange_labels": "Name"
|
||||
},
|
||||
"nodes": {
|
||||
"ea202922-0033-4000-8000-000000000230": {
|
||||
"id": "ea202922-0033-4000-8000-000000000230",
|
||||
"alias": "readiness_reference_readiness",
|
||||
"element": "ea202922-0033-4000-8000-000000000031",
|
||||
"position": {
|
||||
"x": 40.0,
|
||||
"y": 40.0
|
||||
},
|
||||
"size": {
|
||||
"width": 980.0,
|
||||
"height": 590.0
|
||||
},
|
||||
"collapsed": false
|
||||
},
|
||||
"ea202922-0033-4000-8000-000000000231": {
|
||||
"id": "ea202922-0033-4000-8000-000000000231",
|
||||
"alias": "readiness_reference_main_region",
|
||||
"element": "ea202922-0033-4000-8000-000000000032",
|
||||
"position": {
|
||||
"x": 64.0,
|
||||
"y": 104.0
|
||||
},
|
||||
"size": {
|
||||
"width": 932.0,
|
||||
"height": 500.0
|
||||
},
|
||||
"collapsed": false
|
||||
},
|
||||
"ea202922-0033-4000-8000-000000000232": {
|
||||
"id": "ea202922-0033-4000-8000-000000000232",
|
||||
"alias": "readiness_reference_start",
|
||||
"element": "ea202922-0033-4000-8000-000000000033",
|
||||
"position": {
|
||||
"x": 110.0,
|
||||
"y": 212.0
|
||||
},
|
||||
"size": {
|
||||
"width": 20.0,
|
||||
"height": 20.0
|
||||
},
|
||||
"collapsed": false
|
||||
},
|
||||
"ea202922-0033-4000-8000-000000000233": {
|
||||
"id": "ea202922-0033-4000-8000-000000000233",
|
||||
"alias": "readiness_reference_ready",
|
||||
"element": "ea202922-0033-4000-8000-000000000034",
|
||||
"position": {
|
||||
"x": 190.0,
|
||||
"y": 170.0
|
||||
},
|
||||
"size": {
|
||||
"width": 240.0,
|
||||
"height": 120.0
|
||||
},
|
||||
"collapsed": false
|
||||
},
|
||||
"ea202922-0033-4000-8000-000000000234": {
|
||||
"id": "ea202922-0033-4000-8000-000000000234",
|
||||
"alias": "readiness_reference_active",
|
||||
"element": "ea202922-0033-4000-8000-000000000035",
|
||||
"position": {
|
||||
"x": 570.0,
|
||||
"y": 170.0
|
||||
},
|
||||
"size": {
|
||||
"width": 240.0,
|
||||
"height": 140.0
|
||||
},
|
||||
"collapsed": false
|
||||
},
|
||||
"ea202922-0033-4000-8000-000000000235": {
|
||||
"id": "ea202922-0033-4000-8000-000000000235",
|
||||
"alias": "readiness_reference_decision",
|
||||
"element": "ea202922-0033-4000-8000-000000000036",
|
||||
"position": {
|
||||
"x": 670.0,
|
||||
"y": 430.0
|
||||
},
|
||||
"size": {
|
||||
"width": 40.0,
|
||||
"height": 40.0
|
||||
},
|
||||
"collapsed": false
|
||||
},
|
||||
"ea202922-0033-4000-8000-000000000236": {
|
||||
"id": "ea202922-0033-4000-8000-000000000236",
|
||||
"alias": "readiness_reference_finished",
|
||||
"element": "ea202922-0033-4000-8000-000000000037",
|
||||
"position": {
|
||||
"x": 880.0,
|
||||
"y": 440.0
|
||||
},
|
||||
"size": {
|
||||
"width": 24.0,
|
||||
"height": 24.0
|
||||
},
|
||||
"collapsed": false
|
||||
}
|
||||
},
|
||||
"routes": []
|
||||
},
|
||||
"ea202922-0033-4000-8000-000000000300": {
|
||||
"id": "ea202922-0033-4000-8000-000000000300",
|
||||
"alias": "ports_view",
|
||||
"name": "05 Status — semantic ports regression",
|
||||
"description": "",
|
||||
"layer": "Sa",
|
||||
"projection": "FunctionalDataflow",
|
||||
"view_options": {
|
||||
"hidden_edges": [],
|
||||
"relation_kinds": "All",
|
||||
"work_categories": "All",
|
||||
"participant_categories": "All",
|
||||
"coverage": "All",
|
||||
"work_contexts": "All",
|
||||
"exchange_labels": "Name"
|
||||
},
|
||||
"nodes": {
|
||||
"ea202922-0033-4000-8000-000000000310": {
|
||||
"id": "ea202922-0033-4000-8000-000000000310",
|
||||
"alias": "ports_emit",
|
||||
"element": "ea202922-0033-4000-8000-000000000050",
|
||||
"position": {
|
||||
"x": 100.0,
|
||||
"y": 180.0
|
||||
},
|
||||
"size": {
|
||||
"width": 240.0,
|
||||
"height": 120.0
|
||||
},
|
||||
"collapsed": false,
|
||||
"port_anchors": [
|
||||
{
|
||||
"port": "ea202922-0033-4000-8000-000000000052",
|
||||
"side": "Right",
|
||||
"offset": 0.5
|
||||
}
|
||||
]
|
||||
},
|
||||
"ea202922-0033-4000-8000-000000000311": {
|
||||
"id": "ea202922-0033-4000-8000-000000000311",
|
||||
"alias": "ports_display",
|
||||
"element": "ea202922-0033-4000-8000-000000000051",
|
||||
"position": {
|
||||
"x": 600.0,
|
||||
"y": 180.0
|
||||
},
|
||||
"size": {
|
||||
"width": 240.0,
|
||||
"height": 120.0
|
||||
},
|
||||
"collapsed": false,
|
||||
"port_anchors": [
|
||||
{
|
||||
"port": "ea202922-0033-4000-8000-000000000053",
|
||||
"side": "Left",
|
||||
"offset": 0.5
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"routes": []
|
||||
}
|
||||
},
|
||||
"artifact_links": {},
|
||||
"traces": {}
|
||||
}
|
||||
@@ -0,0 +1,53 @@
|
||||
// Immutable acceptance baseline: copy before editing. Stable IDs are deliberate.
|
||||
arcadia 7;
|
||||
project endpoint_acceptance "Harbor dispatch — attachment acceptance" id "ea202922-0033-4000-8000-000000000001" {
|
||||
description "Small native fixture for presentation-only endpoint editing. Names describe stored source-to-target direction.";
|
||||
oa_activity receive_report "Receive distress report" id "ea202922-0033-4000-8000-000000000010" { }
|
||||
oa_activity dispatch_crew "Dispatch rescue crew" id "ea202922-0033-4000-8000-000000000011" { }
|
||||
interaction dispatch_request "Dispatch request: Receive → Dispatch" id "ea202922-0033-4000-8000-000000000020" { source @receive_report; target @dispatch_crew; description "Semantic sentinel: retain this description and direction."; }
|
||||
sa_system controller "Rescue readiness controller" id "ea202922-0033-4000-8000-000000000030" { }
|
||||
sa_state_machine readiness "Rescue readiness" id "ea202922-0033-4000-8000-000000000031" { parent @controller; }
|
||||
sa_region main_region "Readiness region" id "ea202922-0033-4000-8000-000000000032" { parent @readiness; }
|
||||
sa_initial start "Startup" id "ea202922-0033-4000-8000-000000000033" { parent @main_region; }
|
||||
sa_state ready "Ready" id "ea202922-0033-4000-8000-000000000034" { parent @main_region; }
|
||||
sa_state active "Active" id "ea202922-0033-4000-8000-000000000035" { parent @main_region; }
|
||||
sa_choice decision "Dispatch decision" id "ea202922-0033-4000-8000-000000000036" { parent @main_region; }
|
||||
sa_final finished "Shutdown complete" id "ea202922-0033-4000-8000-000000000037" { parent @main_region; }
|
||||
state_transition initialize "Initialize: Startup → Ready" id "ea202922-0033-4000-8000-000000000040" { source @start; target @ready; transition_kind External; triggers []; trigger ""; guard ""; effects []; effect ""; }
|
||||
state_transition activate "Activate: Ready → Active" id "ea202922-0033-4000-8000-000000000041" { source @ready; target @active; transition_kind External; triggers []; trigger ""; guard "crew_assigned"; effects []; effect ""; }
|
||||
state_transition assess "Assess: Active → Decision" id "ea202922-0033-4000-8000-000000000042" { source @active; target @decision; transition_kind External; triggers []; trigger ""; guard ""; effects []; effect ""; }
|
||||
state_transition retry "Retry: Decision → Ready" id "ea202922-0033-4000-8000-000000000043" { source @decision; target @ready; transition_kind External; triggers []; trigger ""; guard "retry_requested"; effects []; effect ""; }
|
||||
state_transition finish "Finish: Decision → Shutdown" id "ea202922-0033-4000-8000-000000000044" { source @decision; target @finished; transition_kind External; triggers []; trigger ""; guard "else"; effects []; effect ""; }
|
||||
state_transition refresh "Refresh: Active → Active" id "ea202922-0033-4000-8000-000000000045" { source @active; target @active; transition_kind External; triggers []; trigger ""; guard "refresh_requested"; effects []; effect ""; }
|
||||
state_transition internal_check "Internal status check" id "ea202922-0033-4000-8000-000000000046" { source @active; target @active; transition_kind Internal; triggers []; trigger ""; guard ""; effects []; effect "Status unchanged"; }
|
||||
sa_function emit_status "Emit readiness status" id "ea202922-0033-4000-8000-000000000050" { }
|
||||
sa_function display_status "Display readiness status" id "ea202922-0033-4000-8000-000000000051" { }
|
||||
sa_port status_out "Status output" id "ea202922-0033-4000-8000-000000000052" { parent @emit_status; contract { FunctionOutput { outgoing_items []; }; }; }
|
||||
sa_port status_in "Status input" id "ea202922-0033-4000-8000-000000000053" { parent @display_status; contract { FunctionInput { incoming_items []; }; }; }
|
||||
functional_exchange status_exchange "Readiness status: Emit → Display" id "ea202922-0033-4000-8000-000000000054" { source @emit_status; target @display_status; source_port @status_out; target_port @status_in; items []; }
|
||||
diagram dispatch_view "01 Dispatch — edit attachments" id "ea202922-0033-4000-8000-000000000100" { layer Oa; projection FunctionalDataflow; routes [{ edge @dispatch_request; waypoints [{ x 440; y 340; }]; label { fraction 0.5; offset { x 12; y -18; }; }; source_attachment { side Right; offset 0.5; }; target_attachment { side Left; offset 0.6; }; }]; }
|
||||
diagram dispatch_reference "02 Dispatch — untouched reference" id "ea202922-0033-4000-8000-000000000101" { layer Oa; projection FunctionalDataflow; routes [{ edge @dispatch_request; target_attachment { side Bottom; offset 0.25; }; }]; }
|
||||
node dispatch_view_receive id "ea202922-0033-4000-8000-000000000110" { diagram @dispatch_view; element @receive_report; position { x 100; y 180; }; size { width 240; height 120; }; collapsed false; }
|
||||
node dispatch_view_dispatch id "ea202922-0033-4000-8000-000000000111" { diagram @dispatch_view; element @dispatch_crew; position { x 600; y 180; }; size { width 240; height 120; }; collapsed false; }
|
||||
node dispatch_reference_receive id "ea202922-0033-4000-8000-000000000120" { diagram @dispatch_reference; element @receive_report; position { x 100; y 180; }; size { width 240; height 120; }; collapsed false; }
|
||||
node dispatch_reference_dispatch id "ea202922-0033-4000-8000-000000000121" { diagram @dispatch_reference; element @dispatch_crew; position { x 600; y 180; }; size { width 240; height 120; }; collapsed false; }
|
||||
diagram readiness_view "03 Readiness — edit attachments" id "ea202922-0033-4000-8000-000000000200" { layer Sa; projection { StateMachine { machine @readiness; }; }; routes [{ edge @activate; waypoints [{ x 500; y 310; }]; label { fraction 0.5; offset { x 8; y -16; }; }; source_attachment { side Right; offset 0.5; }; target_attachment { side Left; offset 0.6; }; }, { edge @initialize; source_attachment { side Right; offset 0.5; }; }, { edge @finish; source_attachment { side Right; offset 0.5; }; }]; }
|
||||
diagram readiness_reference "04 Readiness — untouched reference" id "ea202922-0033-4000-8000-000000000201" { layer Sa; projection { StateMachine { machine @readiness; }; }; routes []; }
|
||||
node readiness_view_readiness id "ea202922-0033-4000-8000-000000000210" { diagram @readiness_view; element @readiness; position { x 40; y 40; }; size { width 980; height 590; }; collapsed false; }
|
||||
node readiness_view_main_region id "ea202922-0033-4000-8000-000000000211" { diagram @readiness_view; element @main_region; position { x 64; y 104; }; size { width 932; height 500; }; collapsed false; }
|
||||
node readiness_view_start id "ea202922-0033-4000-8000-000000000212" { diagram @readiness_view; element @start; position { x 110; y 252; }; size { width 20; height 20; }; collapsed false; }
|
||||
node readiness_view_ready id "ea202922-0033-4000-8000-000000000213" { diagram @readiness_view; element @ready; position { x 190; y 210; }; size { width 240; height 120; }; collapsed false; }
|
||||
node readiness_view_active id "ea202922-0033-4000-8000-000000000214" { diagram @readiness_view; element @active; position { x 570; y 210; }; size { width 240; height 140; }; collapsed false; }
|
||||
node readiness_view_decision id "ea202922-0033-4000-8000-000000000215" { diagram @readiness_view; element @decision; position { x 670; y 430; }; size { width 40; height 40; }; collapsed false; }
|
||||
node readiness_view_finished id "ea202922-0033-4000-8000-000000000216" { diagram @readiness_view; element @finished; position { x 880; y 440; }; size { width 24; height 24; }; collapsed false; }
|
||||
node readiness_reference_readiness id "ea202922-0033-4000-8000-000000000230" { diagram @readiness_reference; element @readiness; position { x 40; y 40; }; size { width 980; height 590; }; collapsed false; }
|
||||
node readiness_reference_main_region id "ea202922-0033-4000-8000-000000000231" { diagram @readiness_reference; element @main_region; position { x 64; y 104; }; size { width 932; height 500; }; collapsed false; }
|
||||
node readiness_reference_start id "ea202922-0033-4000-8000-000000000232" { diagram @readiness_reference; element @start; position { x 110; y 212; }; size { width 20; height 20; }; collapsed false; }
|
||||
node readiness_reference_ready id "ea202922-0033-4000-8000-000000000233" { diagram @readiness_reference; element @ready; position { x 190; y 170; }; size { width 240; height 120; }; collapsed false; }
|
||||
node readiness_reference_active id "ea202922-0033-4000-8000-000000000234" { diagram @readiness_reference; element @active; position { x 570; y 170; }; size { width 240; height 140; }; collapsed false; }
|
||||
node readiness_reference_decision id "ea202922-0033-4000-8000-000000000235" { diagram @readiness_reference; element @decision; position { x 670; y 430; }; size { width 40; height 40; }; collapsed false; }
|
||||
node readiness_reference_finished id "ea202922-0033-4000-8000-000000000236" { diagram @readiness_reference; element @finished; position { x 880; y 440; }; size { width 24; height 24; }; collapsed false; }
|
||||
diagram ports_view "05 Status — semantic ports regression" id "ea202922-0033-4000-8000-000000000300" { layer Sa; projection FunctionalDataflow; routes []; }
|
||||
node ports_emit id "ea202922-0033-4000-8000-000000000310" { diagram @ports_view; element @emit_status; position { x 100; y 180; }; size { width 240; height 120; }; collapsed false; port_anchors [{ port @status_out; side Right; offset 0.5; }]; }
|
||||
node ports_display id "ea202922-0033-4000-8000-000000000311" { diagram @ports_view; element @display_status; position { x 600; y 180; }; size { width 240; height 120; }; collapsed false; port_anchors [{ port @status_in; side Left; offset 0.5; }]; }
|
||||
}
|
||||
@@ -0,0 +1 @@
|
||||
Validated 49 objects and 5 views; saved a complete Project snapshot
|
||||
@@ -0,0 +1,31 @@
|
||||
// Evidence serialization only. Root supplies a freshly observed Sky state.
|
||||
globalThis.captureEscapeState = async function(name, note, currentState) {
|
||||
if (!/^[a-zA-Z0-9_-]+$/.test(name)) throw Error('Invalid capture name');
|
||||
if (!currentState?.screenshots?.length) throw Error('Fresh screenshot required');
|
||||
const root = 'C:/Users/User/Documents/Git/ARCADIA-Studio/.local/edge-anchors-escape-native-20260923';
|
||||
const run = globalThis.escapeRunRoot;
|
||||
if (!run || !run.startsWith(root+'/runs/run-')) throw Error('Bind current run first');
|
||||
const file = await import('node:fs/promises');
|
||||
const crypto = await import('node:crypto');
|
||||
const hash = bytes => crypto.createHash('sha256').update(bytes).digest('hex');
|
||||
const launchBytes = await file.readFile(run+'/launch.json');
|
||||
const launch = JSON.parse(launchBytes.toString('utf8').replace(/^\uFEFF/,''));
|
||||
const manifestBytes = await file.readFile(root+'/input-manifest.json');
|
||||
if (hash(manifestBytes) !== launch.manifest_sha256) throw Error('Manifest changed');
|
||||
const working = await file.readFile(root+'/working/attachments.arcadia');
|
||||
const dir = run+'/captures';
|
||||
await file.mkdir(dir,{recursive:true});
|
||||
const images=[];
|
||||
for (let i=0;i<currentState.screenshots.length;i++) {
|
||||
const s=currentState.screenshots[i];
|
||||
const mime=s.url.slice(5,s.url.indexOf(';'));
|
||||
if (!['image/jpeg','image/png'].includes(mime)) throw Error('Unexpected image type');
|
||||
const bytes=Buffer.from(s.url.split(',')[1],'base64');
|
||||
const filename=name+(i ? '-'+i : '')+(mime==='image/jpeg'?'.jpg':'.png');
|
||||
await file.writeFile(dir+'/'+filename,bytes,{flag:'wx'});
|
||||
images.push({file:filename,id:s.id,width:s.width,height:s.height,originX:s.originX,originY:s.originY,zIndex:s.zIndex,mime,bytes:bytes.length,sha256:hash(bytes)});
|
||||
}
|
||||
const record={utc:new Date().toISOString(),source_commit:launch.source_commit,launch_sha256:hash(launchBytes),pid:launch.pid,process_started_utc:launch.started_utc,manifest_sha256:launch.manifest_sha256,window:currentState.window,images,working_source_sha256:hash(working),note};
|
||||
await file.writeFile(dir+'/'+name+'.json',JSON.stringify(record,null,2)+'\n',{flag:'wx'});
|
||||
return {name,images:images.length,source_commit:record.source_commit};
|
||||
};
|
||||
@@ -0,0 +1,40 @@
|
||||
"""Snapshot a saved source and compare its complete Project with a predeclared checkpoint."""
|
||||
from pathlib import Path
|
||||
import argparse, datetime, json, subprocess, sys
|
||||
sys.dont_write_bytecode=True
|
||||
from stage import HERE, child_env, copy_new, read, record, verify, write
|
||||
|
||||
def main():
|
||||
parser=argparse.ArgumentParser(description=__doc__)
|
||||
parser.add_argument('--expected',required=True,choices=['B','A1'])
|
||||
parser.add_argument('--output-prefix',required=True,type=Path)
|
||||
parser.add_argument('--actual',type=Path,default=HERE/'working/attachments.arcadia')
|
||||
args=parser.parse_args(); prefix=args.output_prefix.resolve()
|
||||
outputs={suffix:Path(str(prefix)+suffix) for suffix in ('.arcadia','.project.json','.stdout.log','.stderr.log','.receipt.json')}
|
||||
if any(path.exists() for path in outputs.values()): raise RuntimeError('Fresh output prefix required')
|
||||
stage=read(HERE/'staging-record.json'); verify(stage['manifest']); manifest=read(HERE/'input-manifest.json')
|
||||
if stage['source_commit']!=manifest['source_commit']: raise RuntimeError('Stage pin mismatch')
|
||||
for item in manifest['immutable_files']: verify(item)
|
||||
expected=read(HERE/'expected/catalog.json')['checkpoints'][args.expected]; verify(expected)
|
||||
prefix.parent.mkdir(parents=True,exist_ok=True)
|
||||
actual=record(args.actual); copy_new(args.actual,outputs['.arcadia'])
|
||||
started=datetime.datetime.now(datetime.timezone.utc).isoformat(); failure=None; exit_code=None; exact=False; unchanged=False
|
||||
try:
|
||||
with outputs['.stdout.log'].open('xb') as stdout, outputs['.stderr.log'].open('xb') as stderr:
|
||||
proc=subprocess.run([manifest['evaluator']['path'],str(outputs['.arcadia']),str(outputs['.project.json'])],cwd=HERE/'unrelated-cwd',env=child_env(),stdout=stdout,stderr=stderr)
|
||||
exit_code=proc.returncode
|
||||
if exit_code: raise RuntimeError('Snapshot evaluator failed')
|
||||
if outputs['.stderr.log'].stat().st_size: raise RuntimeError('Snapshot stderr is not empty')
|
||||
# Compare complete JSON including exact fields/types; formatting/key order alone are ignored.
|
||||
canonical=lambda value:json.dumps(value,sort_keys=True,ensure_ascii=False,separators=(',',':'),allow_nan=False)
|
||||
exact=canonical(read(outputs['.project.json']))==canonical(read(expected['path']))
|
||||
if not exact: failure='Complete Project differs from predeclared '+args.expected
|
||||
verify(actual)
|
||||
for item in manifest['immutable_files']: verify(item)
|
||||
verify(stage['manifest']); unchanged=True
|
||||
except Exception as error: failure=str(error)
|
||||
artifacts=[record(path) for suffix,path in outputs.items() if suffix!='.receipt.json' and path.exists()]
|
||||
write(outputs['.receipt.json'],{'source_commit':manifest['source_commit'],'evaluator_source_commit':manifest['evaluator_source_commit'],'started_utc':started,'finished_utc':datetime.datetime.now(datetime.timezone.utc).isoformat(),'expected':args.expected,'expected_file':expected,'input':actual,'evaluator':manifest['evaluator'],'manifest':stage['manifest'],'exit_code':exit_code,'failure':failure,'inputs_unchanged':unchanged,'full_project_exact':exact,'artifacts':artifacts,'scope':'Complete saved Project only; no native action/editor/history/camera claim'})
|
||||
if failure or not exact or not unchanged: raise SystemExit('Comparison failed; preserve outputs: '+str(failure))
|
||||
print(args.expected+': complete saved Project exact; inputs unchanged')
|
||||
if __name__=='__main__':main()
|
||||
@@ -0,0 +1,860 @@
|
||||
{
|
||||
"schema_version": 7,
|
||||
"id": "ea202922-0033-4000-8000-000000000001",
|
||||
"alias": "endpoint_acceptance",
|
||||
"name": "Harbor dispatch — attachment acceptance",
|
||||
"description": "Small native fixture for presentation-only endpoint editing. Names describe stored source-to-target direction.",
|
||||
"elements": {
|
||||
"ea202922-0033-4000-8000-000000000010": {
|
||||
"id": "ea202922-0033-4000-8000-000000000010",
|
||||
"alias": "receive_report",
|
||||
"name": "Receive distress report",
|
||||
"description": "",
|
||||
"parent": null,
|
||||
"body": {
|
||||
"Oa": "Activity"
|
||||
}
|
||||
},
|
||||
"ea202922-0033-4000-8000-000000000011": {
|
||||
"id": "ea202922-0033-4000-8000-000000000011",
|
||||
"alias": "dispatch_crew",
|
||||
"name": "Dispatch rescue crew",
|
||||
"description": "",
|
||||
"parent": null,
|
||||
"body": {
|
||||
"Oa": "Activity"
|
||||
}
|
||||
},
|
||||
"ea202922-0033-4000-8000-000000000030": {
|
||||
"id": "ea202922-0033-4000-8000-000000000030",
|
||||
"alias": "controller",
|
||||
"name": "Rescue readiness controller",
|
||||
"description": "",
|
||||
"parent": null,
|
||||
"body": {
|
||||
"Sa": "System"
|
||||
}
|
||||
},
|
||||
"ea202922-0033-4000-8000-000000000031": {
|
||||
"id": "ea202922-0033-4000-8000-000000000031",
|
||||
"alias": "readiness",
|
||||
"name": "Rescue readiness",
|
||||
"description": "",
|
||||
"parent": "ea202922-0033-4000-8000-000000000030",
|
||||
"body": {
|
||||
"Sa": {
|
||||
"Shared": "StateMachine"
|
||||
}
|
||||
}
|
||||
},
|
||||
"ea202922-0033-4000-8000-000000000032": {
|
||||
"id": "ea202922-0033-4000-8000-000000000032",
|
||||
"alias": "main_region",
|
||||
"name": "Readiness region",
|
||||
"description": "",
|
||||
"parent": "ea202922-0033-4000-8000-000000000031",
|
||||
"body": {
|
||||
"Sa": {
|
||||
"Shared": "Region"
|
||||
}
|
||||
}
|
||||
},
|
||||
"ea202922-0033-4000-8000-000000000033": {
|
||||
"id": "ea202922-0033-4000-8000-000000000033",
|
||||
"alias": "start",
|
||||
"name": "Startup",
|
||||
"description": "",
|
||||
"parent": "ea202922-0033-4000-8000-000000000032",
|
||||
"body": {
|
||||
"Sa": {
|
||||
"Shared": {
|
||||
"State": {
|
||||
"kind": "Initial",
|
||||
"entry": "",
|
||||
"exit": "",
|
||||
"do_activity": ""
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"ea202922-0033-4000-8000-000000000034": {
|
||||
"id": "ea202922-0033-4000-8000-000000000034",
|
||||
"alias": "ready",
|
||||
"name": "Ready",
|
||||
"description": "",
|
||||
"parent": "ea202922-0033-4000-8000-000000000032",
|
||||
"body": {
|
||||
"Sa": {
|
||||
"Shared": {
|
||||
"State": {
|
||||
"kind": "State",
|
||||
"entry": "",
|
||||
"exit": "",
|
||||
"do_activity": ""
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"ea202922-0033-4000-8000-000000000035": {
|
||||
"id": "ea202922-0033-4000-8000-000000000035",
|
||||
"alias": "active",
|
||||
"name": "Active",
|
||||
"description": "",
|
||||
"parent": "ea202922-0033-4000-8000-000000000032",
|
||||
"body": {
|
||||
"Sa": {
|
||||
"Shared": {
|
||||
"State": {
|
||||
"kind": "State",
|
||||
"entry": "",
|
||||
"exit": "",
|
||||
"do_activity": ""
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"ea202922-0033-4000-8000-000000000036": {
|
||||
"id": "ea202922-0033-4000-8000-000000000036",
|
||||
"alias": "decision",
|
||||
"name": "Dispatch decision",
|
||||
"description": "",
|
||||
"parent": "ea202922-0033-4000-8000-000000000032",
|
||||
"body": {
|
||||
"Sa": {
|
||||
"Shared": {
|
||||
"State": {
|
||||
"kind": "Choice",
|
||||
"entry": "",
|
||||
"exit": "",
|
||||
"do_activity": ""
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"ea202922-0033-4000-8000-000000000037": {
|
||||
"id": "ea202922-0033-4000-8000-000000000037",
|
||||
"alias": "finished",
|
||||
"name": "Shutdown complete",
|
||||
"description": "",
|
||||
"parent": "ea202922-0033-4000-8000-000000000032",
|
||||
"body": {
|
||||
"Sa": {
|
||||
"Shared": {
|
||||
"State": {
|
||||
"kind": "Final",
|
||||
"entry": "",
|
||||
"exit": "",
|
||||
"do_activity": ""
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"ea202922-0033-4000-8000-000000000050": {
|
||||
"id": "ea202922-0033-4000-8000-000000000050",
|
||||
"alias": "emit_status",
|
||||
"name": "Emit readiness status",
|
||||
"description": "",
|
||||
"parent": null,
|
||||
"body": {
|
||||
"Sa": "Function"
|
||||
}
|
||||
},
|
||||
"ea202922-0033-4000-8000-000000000051": {
|
||||
"id": "ea202922-0033-4000-8000-000000000051",
|
||||
"alias": "display_status",
|
||||
"name": "Display readiness status",
|
||||
"description": "",
|
||||
"parent": null,
|
||||
"body": {
|
||||
"Sa": "Function"
|
||||
}
|
||||
},
|
||||
"ea202922-0033-4000-8000-000000000052": {
|
||||
"id": "ea202922-0033-4000-8000-000000000052",
|
||||
"alias": "status_out",
|
||||
"name": "Status output",
|
||||
"description": "",
|
||||
"parent": "ea202922-0033-4000-8000-000000000050",
|
||||
"body": {
|
||||
"Sa": {
|
||||
"Shared": {
|
||||
"Port": {
|
||||
"contract": {
|
||||
"FunctionOutput": {
|
||||
"outgoing_items": []
|
||||
}
|
||||
},
|
||||
"legacy": null
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"ea202922-0033-4000-8000-000000000053": {
|
||||
"id": "ea202922-0033-4000-8000-000000000053",
|
||||
"alias": "status_in",
|
||||
"name": "Status input",
|
||||
"description": "",
|
||||
"parent": "ea202922-0033-4000-8000-000000000051",
|
||||
"body": {
|
||||
"Sa": {
|
||||
"Shared": {
|
||||
"Port": {
|
||||
"contract": {
|
||||
"FunctionInput": {
|
||||
"incoming_items": []
|
||||
}
|
||||
},
|
||||
"legacy": null
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"relations": {
|
||||
"ea202922-0033-4000-8000-000000000020": {
|
||||
"id": "ea202922-0033-4000-8000-000000000020",
|
||||
"alias": "dispatch_request",
|
||||
"name": "Dispatch request: Receive → Dispatch",
|
||||
"description": "Semantic sentinel: retain this description and direction.",
|
||||
"body": {
|
||||
"Interaction": {
|
||||
"source": "ea202922-0033-4000-8000-000000000010",
|
||||
"target": "ea202922-0033-4000-8000-000000000011",
|
||||
"items": []
|
||||
}
|
||||
}
|
||||
},
|
||||
"ea202922-0033-4000-8000-000000000040": {
|
||||
"id": "ea202922-0033-4000-8000-000000000040",
|
||||
"alias": "initialize",
|
||||
"name": "Initialize: Startup → Ready",
|
||||
"description": "",
|
||||
"body": {
|
||||
"StateTransition": {
|
||||
"source": "ea202922-0033-4000-8000-000000000033",
|
||||
"target": "ea202922-0033-4000-8000-000000000034",
|
||||
"transition_kind": "External",
|
||||
"triggers": [],
|
||||
"effects": [],
|
||||
"trigger": "",
|
||||
"guard": "",
|
||||
"effect": ""
|
||||
}
|
||||
}
|
||||
},
|
||||
"ea202922-0033-4000-8000-000000000041": {
|
||||
"id": "ea202922-0033-4000-8000-000000000041",
|
||||
"alias": "activate",
|
||||
"name": "Activate: Ready → Active",
|
||||
"description": "",
|
||||
"body": {
|
||||
"StateTransition": {
|
||||
"source": "ea202922-0033-4000-8000-000000000034",
|
||||
"target": "ea202922-0033-4000-8000-000000000035",
|
||||
"transition_kind": "External",
|
||||
"triggers": [],
|
||||
"effects": [],
|
||||
"trigger": "",
|
||||
"guard": "crew_assigned",
|
||||
"effect": ""
|
||||
}
|
||||
}
|
||||
},
|
||||
"ea202922-0033-4000-8000-000000000042": {
|
||||
"id": "ea202922-0033-4000-8000-000000000042",
|
||||
"alias": "assess",
|
||||
"name": "Assess: Active → Decision",
|
||||
"description": "",
|
||||
"body": {
|
||||
"StateTransition": {
|
||||
"source": "ea202922-0033-4000-8000-000000000035",
|
||||
"target": "ea202922-0033-4000-8000-000000000036",
|
||||
"transition_kind": "External",
|
||||
"triggers": [],
|
||||
"effects": [],
|
||||
"trigger": "",
|
||||
"guard": "",
|
||||
"effect": ""
|
||||
}
|
||||
}
|
||||
},
|
||||
"ea202922-0033-4000-8000-000000000043": {
|
||||
"id": "ea202922-0033-4000-8000-000000000043",
|
||||
"alias": "retry",
|
||||
"name": "Retry: Decision → Ready",
|
||||
"description": "",
|
||||
"body": {
|
||||
"StateTransition": {
|
||||
"source": "ea202922-0033-4000-8000-000000000036",
|
||||
"target": "ea202922-0033-4000-8000-000000000034",
|
||||
"transition_kind": "External",
|
||||
"triggers": [],
|
||||
"effects": [],
|
||||
"trigger": "",
|
||||
"guard": "retry_requested",
|
||||
"effect": ""
|
||||
}
|
||||
}
|
||||
},
|
||||
"ea202922-0033-4000-8000-000000000044": {
|
||||
"id": "ea202922-0033-4000-8000-000000000044",
|
||||
"alias": "finish",
|
||||
"name": "Finish: Decision → Shutdown",
|
||||
"description": "",
|
||||
"body": {
|
||||
"StateTransition": {
|
||||
"source": "ea202922-0033-4000-8000-000000000036",
|
||||
"target": "ea202922-0033-4000-8000-000000000037",
|
||||
"transition_kind": "External",
|
||||
"triggers": [],
|
||||
"effects": [],
|
||||
"trigger": "",
|
||||
"guard": "else",
|
||||
"effect": ""
|
||||
}
|
||||
}
|
||||
},
|
||||
"ea202922-0033-4000-8000-000000000045": {
|
||||
"id": "ea202922-0033-4000-8000-000000000045",
|
||||
"alias": "refresh",
|
||||
"name": "Refresh: Active → Active",
|
||||
"description": "",
|
||||
"body": {
|
||||
"StateTransition": {
|
||||
"source": "ea202922-0033-4000-8000-000000000035",
|
||||
"target": "ea202922-0033-4000-8000-000000000035",
|
||||
"transition_kind": "External",
|
||||
"triggers": [],
|
||||
"effects": [],
|
||||
"trigger": "",
|
||||
"guard": "refresh_requested",
|
||||
"effect": ""
|
||||
}
|
||||
}
|
||||
},
|
||||
"ea202922-0033-4000-8000-000000000046": {
|
||||
"id": "ea202922-0033-4000-8000-000000000046",
|
||||
"alias": "internal_check",
|
||||
"name": "Internal status check",
|
||||
"description": "",
|
||||
"body": {
|
||||
"StateTransition": {
|
||||
"source": "ea202922-0033-4000-8000-000000000035",
|
||||
"target": "ea202922-0033-4000-8000-000000000035",
|
||||
"transition_kind": "Internal",
|
||||
"triggers": [],
|
||||
"effects": [],
|
||||
"trigger": "",
|
||||
"guard": "",
|
||||
"effect": "Status unchanged"
|
||||
}
|
||||
}
|
||||
},
|
||||
"ea202922-0033-4000-8000-000000000054": {
|
||||
"id": "ea202922-0033-4000-8000-000000000054",
|
||||
"alias": "status_exchange",
|
||||
"name": "Readiness status: Emit → Display",
|
||||
"description": "",
|
||||
"body": {
|
||||
"FunctionalExchange": {
|
||||
"source": "ea202922-0033-4000-8000-000000000050",
|
||||
"target": "ea202922-0033-4000-8000-000000000051",
|
||||
"source_port": "ea202922-0033-4000-8000-000000000052",
|
||||
"target_port": "ea202922-0033-4000-8000-000000000053",
|
||||
"items": []
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"diagrams": {
|
||||
"ea202922-0033-4000-8000-000000000100": {
|
||||
"id": "ea202922-0033-4000-8000-000000000100",
|
||||
"alias": "dispatch_view",
|
||||
"name": "01 Dispatch — edit attachments",
|
||||
"description": "",
|
||||
"layer": "Oa",
|
||||
"projection": "FunctionalDataflow",
|
||||
"view_options": {
|
||||
"hidden_edges": [],
|
||||
"relation_kinds": "All",
|
||||
"work_categories": "All",
|
||||
"participant_categories": "All",
|
||||
"coverage": "All",
|
||||
"work_contexts": "All",
|
||||
"exchange_labels": "Name"
|
||||
},
|
||||
"nodes": {
|
||||
"ea202922-0033-4000-8000-000000000110": {
|
||||
"id": "ea202922-0033-4000-8000-000000000110",
|
||||
"alias": "dispatch_view_receive",
|
||||
"element": "ea202922-0033-4000-8000-000000000010",
|
||||
"position": {
|
||||
"x": 100.0,
|
||||
"y": 180.0
|
||||
},
|
||||
"size": {
|
||||
"width": 240.0,
|
||||
"height": 120.0
|
||||
},
|
||||
"collapsed": false
|
||||
},
|
||||
"ea202922-0033-4000-8000-000000000111": {
|
||||
"id": "ea202922-0033-4000-8000-000000000111",
|
||||
"alias": "dispatch_view_dispatch",
|
||||
"element": "ea202922-0033-4000-8000-000000000011",
|
||||
"position": {
|
||||
"x": 600.0,
|
||||
"y": 180.0
|
||||
},
|
||||
"size": {
|
||||
"width": 240.0,
|
||||
"height": 120.0
|
||||
},
|
||||
"collapsed": false
|
||||
}
|
||||
},
|
||||
"routes": [
|
||||
{
|
||||
"edge": "ea202922-0033-4000-8000-000000000020",
|
||||
"source_attachment": {
|
||||
"side": "Right",
|
||||
"offset": 0.5
|
||||
},
|
||||
"target_attachment": {
|
||||
"side": "Left",
|
||||
"offset": 0.6
|
||||
},
|
||||
"waypoints": [
|
||||
{
|
||||
"x": 440.0,
|
||||
"y": 340.0
|
||||
}
|
||||
],
|
||||
"label": {
|
||||
"fraction": 0.5,
|
||||
"offset": {
|
||||
"x": 12.0,
|
||||
"y": -18.0
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
"ea202922-0033-4000-8000-000000000101": {
|
||||
"id": "ea202922-0033-4000-8000-000000000101",
|
||||
"alias": "dispatch_reference",
|
||||
"name": "02 Dispatch — untouched reference",
|
||||
"description": "",
|
||||
"layer": "Oa",
|
||||
"projection": "FunctionalDataflow",
|
||||
"view_options": {
|
||||
"hidden_edges": [],
|
||||
"relation_kinds": "All",
|
||||
"work_categories": "All",
|
||||
"participant_categories": "All",
|
||||
"coverage": "All",
|
||||
"work_contexts": "All",
|
||||
"exchange_labels": "Name"
|
||||
},
|
||||
"nodes": {
|
||||
"ea202922-0033-4000-8000-000000000120": {
|
||||
"id": "ea202922-0033-4000-8000-000000000120",
|
||||
"alias": "dispatch_reference_receive",
|
||||
"element": "ea202922-0033-4000-8000-000000000010",
|
||||
"position": {
|
||||
"x": 100.0,
|
||||
"y": 180.0
|
||||
},
|
||||
"size": {
|
||||
"width": 240.0,
|
||||
"height": 120.0
|
||||
},
|
||||
"collapsed": false
|
||||
},
|
||||
"ea202922-0033-4000-8000-000000000121": {
|
||||
"id": "ea202922-0033-4000-8000-000000000121",
|
||||
"alias": "dispatch_reference_dispatch",
|
||||
"element": "ea202922-0033-4000-8000-000000000011",
|
||||
"position": {
|
||||
"x": 600.0,
|
||||
"y": 180.0
|
||||
},
|
||||
"size": {
|
||||
"width": 240.0,
|
||||
"height": 120.0
|
||||
},
|
||||
"collapsed": false
|
||||
}
|
||||
},
|
||||
"routes": [
|
||||
{
|
||||
"edge": "ea202922-0033-4000-8000-000000000020",
|
||||
"target_attachment": {
|
||||
"side": "Bottom",
|
||||
"offset": 0.25
|
||||
},
|
||||
"waypoints": [],
|
||||
"label": null
|
||||
}
|
||||
]
|
||||
},
|
||||
"ea202922-0033-4000-8000-000000000200": {
|
||||
"id": "ea202922-0033-4000-8000-000000000200",
|
||||
"alias": "readiness_view",
|
||||
"name": "03 Readiness — edit attachments",
|
||||
"description": "",
|
||||
"layer": "Sa",
|
||||
"projection": {
|
||||
"StateMachine": {
|
||||
"machine": "ea202922-0033-4000-8000-000000000031"
|
||||
}
|
||||
},
|
||||
"view_options": {
|
||||
"hidden_edges": [],
|
||||
"relation_kinds": "All",
|
||||
"work_categories": "All",
|
||||
"participant_categories": "All",
|
||||
"coverage": "All",
|
||||
"work_contexts": "All",
|
||||
"exchange_labels": "Name"
|
||||
},
|
||||
"nodes": {
|
||||
"ea202922-0033-4000-8000-000000000210": {
|
||||
"id": "ea202922-0033-4000-8000-000000000210",
|
||||
"alias": "readiness_view_readiness",
|
||||
"element": "ea202922-0033-4000-8000-000000000031",
|
||||
"position": {
|
||||
"x": 40.0,
|
||||
"y": 40.0
|
||||
},
|
||||
"size": {
|
||||
"width": 980.0,
|
||||
"height": 590.0
|
||||
},
|
||||
"collapsed": false
|
||||
},
|
||||
"ea202922-0033-4000-8000-000000000211": {
|
||||
"id": "ea202922-0033-4000-8000-000000000211",
|
||||
"alias": "readiness_view_main_region",
|
||||
"element": "ea202922-0033-4000-8000-000000000032",
|
||||
"position": {
|
||||
"x": 64.0,
|
||||
"y": 104.0
|
||||
},
|
||||
"size": {
|
||||
"width": 932.0,
|
||||
"height": 500.0
|
||||
},
|
||||
"collapsed": false
|
||||
},
|
||||
"ea202922-0033-4000-8000-000000000212": {
|
||||
"id": "ea202922-0033-4000-8000-000000000212",
|
||||
"alias": "readiness_view_start",
|
||||
"element": "ea202922-0033-4000-8000-000000000033",
|
||||
"position": {
|
||||
"x": 110.0,
|
||||
"y": 252.0
|
||||
},
|
||||
"size": {
|
||||
"width": 20.0,
|
||||
"height": 20.0
|
||||
},
|
||||
"collapsed": false
|
||||
},
|
||||
"ea202922-0033-4000-8000-000000000213": {
|
||||
"id": "ea202922-0033-4000-8000-000000000213",
|
||||
"alias": "readiness_view_ready",
|
||||
"element": "ea202922-0033-4000-8000-000000000034",
|
||||
"position": {
|
||||
"x": 190.0,
|
||||
"y": 210.0
|
||||
},
|
||||
"size": {
|
||||
"width": 240.0,
|
||||
"height": 120.0
|
||||
},
|
||||
"collapsed": false
|
||||
},
|
||||
"ea202922-0033-4000-8000-000000000214": {
|
||||
"id": "ea202922-0033-4000-8000-000000000214",
|
||||
"alias": "readiness_view_active",
|
||||
"element": "ea202922-0033-4000-8000-000000000035",
|
||||
"position": {
|
||||
"x": 570.0,
|
||||
"y": 210.0
|
||||
},
|
||||
"size": {
|
||||
"width": 240.0,
|
||||
"height": 140.0
|
||||
},
|
||||
"collapsed": false
|
||||
},
|
||||
"ea202922-0033-4000-8000-000000000215": {
|
||||
"id": "ea202922-0033-4000-8000-000000000215",
|
||||
"alias": "readiness_view_decision",
|
||||
"element": "ea202922-0033-4000-8000-000000000036",
|
||||
"position": {
|
||||
"x": 670.0,
|
||||
"y": 430.0
|
||||
},
|
||||
"size": {
|
||||
"width": 40.0,
|
||||
"height": 40.0
|
||||
},
|
||||
"collapsed": false
|
||||
},
|
||||
"ea202922-0033-4000-8000-000000000216": {
|
||||
"id": "ea202922-0033-4000-8000-000000000216",
|
||||
"alias": "readiness_view_finished",
|
||||
"element": "ea202922-0033-4000-8000-000000000037",
|
||||
"position": {
|
||||
"x": 880.0,
|
||||
"y": 440.0
|
||||
},
|
||||
"size": {
|
||||
"width": 24.0,
|
||||
"height": 24.0
|
||||
},
|
||||
"collapsed": false
|
||||
}
|
||||
},
|
||||
"routes": [
|
||||
{
|
||||
"edge": "ea202922-0033-4000-8000-000000000041",
|
||||
"source_attachment": {
|
||||
"side": "Top",
|
||||
"offset": 0.25
|
||||
},
|
||||
"target_attachment": {
|
||||
"side": "Left",
|
||||
"offset": 0.6
|
||||
},
|
||||
"waypoints": [
|
||||
{
|
||||
"x": 500.0,
|
||||
"y": 310.0
|
||||
}
|
||||
],
|
||||
"label": {
|
||||
"fraction": 0.5,
|
||||
"offset": {
|
||||
"x": 8.0,
|
||||
"y": -16.0
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"edge": "ea202922-0033-4000-8000-000000000040",
|
||||
"source_attachment": {
|
||||
"side": "Right",
|
||||
"offset": 0.5
|
||||
},
|
||||
"waypoints": [],
|
||||
"label": null
|
||||
},
|
||||
{
|
||||
"edge": "ea202922-0033-4000-8000-000000000044",
|
||||
"source_attachment": {
|
||||
"side": "Right",
|
||||
"offset": 0.5
|
||||
},
|
||||
"waypoints": [],
|
||||
"label": null
|
||||
}
|
||||
]
|
||||
},
|
||||
"ea202922-0033-4000-8000-000000000201": {
|
||||
"id": "ea202922-0033-4000-8000-000000000201",
|
||||
"alias": "readiness_reference",
|
||||
"name": "04 Readiness — untouched reference",
|
||||
"description": "",
|
||||
"layer": "Sa",
|
||||
"projection": {
|
||||
"StateMachine": {
|
||||
"machine": "ea202922-0033-4000-8000-000000000031"
|
||||
}
|
||||
},
|
||||
"view_options": {
|
||||
"hidden_edges": [],
|
||||
"relation_kinds": "All",
|
||||
"work_categories": "All",
|
||||
"participant_categories": "All",
|
||||
"coverage": "All",
|
||||
"work_contexts": "All",
|
||||
"exchange_labels": "Name"
|
||||
},
|
||||
"nodes": {
|
||||
"ea202922-0033-4000-8000-000000000230": {
|
||||
"id": "ea202922-0033-4000-8000-000000000230",
|
||||
"alias": "readiness_reference_readiness",
|
||||
"element": "ea202922-0033-4000-8000-000000000031",
|
||||
"position": {
|
||||
"x": 40.0,
|
||||
"y": 40.0
|
||||
},
|
||||
"size": {
|
||||
"width": 980.0,
|
||||
"height": 590.0
|
||||
},
|
||||
"collapsed": false
|
||||
},
|
||||
"ea202922-0033-4000-8000-000000000231": {
|
||||
"id": "ea202922-0033-4000-8000-000000000231",
|
||||
"alias": "readiness_reference_main_region",
|
||||
"element": "ea202922-0033-4000-8000-000000000032",
|
||||
"position": {
|
||||
"x": 64.0,
|
||||
"y": 104.0
|
||||
},
|
||||
"size": {
|
||||
"width": 932.0,
|
||||
"height": 500.0
|
||||
},
|
||||
"collapsed": false
|
||||
},
|
||||
"ea202922-0033-4000-8000-000000000232": {
|
||||
"id": "ea202922-0033-4000-8000-000000000232",
|
||||
"alias": "readiness_reference_start",
|
||||
"element": "ea202922-0033-4000-8000-000000000033",
|
||||
"position": {
|
||||
"x": 110.0,
|
||||
"y": 212.0
|
||||
},
|
||||
"size": {
|
||||
"width": 20.0,
|
||||
"height": 20.0
|
||||
},
|
||||
"collapsed": false
|
||||
},
|
||||
"ea202922-0033-4000-8000-000000000233": {
|
||||
"id": "ea202922-0033-4000-8000-000000000233",
|
||||
"alias": "readiness_reference_ready",
|
||||
"element": "ea202922-0033-4000-8000-000000000034",
|
||||
"position": {
|
||||
"x": 190.0,
|
||||
"y": 170.0
|
||||
},
|
||||
"size": {
|
||||
"width": 240.0,
|
||||
"height": 120.0
|
||||
},
|
||||
"collapsed": false
|
||||
},
|
||||
"ea202922-0033-4000-8000-000000000234": {
|
||||
"id": "ea202922-0033-4000-8000-000000000234",
|
||||
"alias": "readiness_reference_active",
|
||||
"element": "ea202922-0033-4000-8000-000000000035",
|
||||
"position": {
|
||||
"x": 570.0,
|
||||
"y": 170.0
|
||||
},
|
||||
"size": {
|
||||
"width": 240.0,
|
||||
"height": 140.0
|
||||
},
|
||||
"collapsed": false
|
||||
},
|
||||
"ea202922-0033-4000-8000-000000000235": {
|
||||
"id": "ea202922-0033-4000-8000-000000000235",
|
||||
"alias": "readiness_reference_decision",
|
||||
"element": "ea202922-0033-4000-8000-000000000036",
|
||||
"position": {
|
||||
"x": 670.0,
|
||||
"y": 430.0
|
||||
},
|
||||
"size": {
|
||||
"width": 40.0,
|
||||
"height": 40.0
|
||||
},
|
||||
"collapsed": false
|
||||
},
|
||||
"ea202922-0033-4000-8000-000000000236": {
|
||||
"id": "ea202922-0033-4000-8000-000000000236",
|
||||
"alias": "readiness_reference_finished",
|
||||
"element": "ea202922-0033-4000-8000-000000000037",
|
||||
"position": {
|
||||
"x": 880.0,
|
||||
"y": 440.0
|
||||
},
|
||||
"size": {
|
||||
"width": 24.0,
|
||||
"height": 24.0
|
||||
},
|
||||
"collapsed": false
|
||||
}
|
||||
},
|
||||
"routes": []
|
||||
},
|
||||
"ea202922-0033-4000-8000-000000000300": {
|
||||
"id": "ea202922-0033-4000-8000-000000000300",
|
||||
"alias": "ports_view",
|
||||
"name": "05 Status — semantic ports regression",
|
||||
"description": "",
|
||||
"layer": "Sa",
|
||||
"projection": "FunctionalDataflow",
|
||||
"view_options": {
|
||||
"hidden_edges": [],
|
||||
"relation_kinds": "All",
|
||||
"work_categories": "All",
|
||||
"participant_categories": "All",
|
||||
"coverage": "All",
|
||||
"work_contexts": "All",
|
||||
"exchange_labels": "Name"
|
||||
},
|
||||
"nodes": {
|
||||
"ea202922-0033-4000-8000-000000000310": {
|
||||
"id": "ea202922-0033-4000-8000-000000000310",
|
||||
"alias": "ports_emit",
|
||||
"element": "ea202922-0033-4000-8000-000000000050",
|
||||
"position": {
|
||||
"x": 100.0,
|
||||
"y": 180.0
|
||||
},
|
||||
"size": {
|
||||
"width": 240.0,
|
||||
"height": 120.0
|
||||
},
|
||||
"collapsed": false,
|
||||
"port_anchors": [
|
||||
{
|
||||
"port": "ea202922-0033-4000-8000-000000000052",
|
||||
"side": "Right",
|
||||
"offset": 0.5
|
||||
}
|
||||
]
|
||||
},
|
||||
"ea202922-0033-4000-8000-000000000311": {
|
||||
"id": "ea202922-0033-4000-8000-000000000311",
|
||||
"alias": "ports_display",
|
||||
"element": "ea202922-0033-4000-8000-000000000051",
|
||||
"position": {
|
||||
"x": 600.0,
|
||||
"y": 180.0
|
||||
},
|
||||
"size": {
|
||||
"width": 240.0,
|
||||
"height": 120.0
|
||||
},
|
||||
"collapsed": false,
|
||||
"port_anchors": [
|
||||
{
|
||||
"port": "ea202922-0033-4000-8000-000000000053",
|
||||
"side": "Left",
|
||||
"offset": 0.5
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"routes": []
|
||||
}
|
||||
},
|
||||
"artifact_links": {},
|
||||
"traces": {}
|
||||
}
|
||||
@@ -0,0 +1,860 @@
|
||||
{
|
||||
"schema_version": 7,
|
||||
"id": "ea202922-0033-4000-8000-000000000001",
|
||||
"alias": "endpoint_acceptance",
|
||||
"name": "Harbor dispatch — attachment acceptance",
|
||||
"description": "Small native fixture for presentation-only endpoint editing. Names describe stored source-to-target direction.",
|
||||
"elements": {
|
||||
"ea202922-0033-4000-8000-000000000010": {
|
||||
"id": "ea202922-0033-4000-8000-000000000010",
|
||||
"alias": "receive_report",
|
||||
"name": "Receive distress report",
|
||||
"description": "",
|
||||
"parent": null,
|
||||
"body": {
|
||||
"Oa": "Activity"
|
||||
}
|
||||
},
|
||||
"ea202922-0033-4000-8000-000000000011": {
|
||||
"id": "ea202922-0033-4000-8000-000000000011",
|
||||
"alias": "dispatch_crew",
|
||||
"name": "Dispatch rescue crew",
|
||||
"description": "",
|
||||
"parent": null,
|
||||
"body": {
|
||||
"Oa": "Activity"
|
||||
}
|
||||
},
|
||||
"ea202922-0033-4000-8000-000000000030": {
|
||||
"id": "ea202922-0033-4000-8000-000000000030",
|
||||
"alias": "controller",
|
||||
"name": "Rescue readiness controller",
|
||||
"description": "",
|
||||
"parent": null,
|
||||
"body": {
|
||||
"Sa": "System"
|
||||
}
|
||||
},
|
||||
"ea202922-0033-4000-8000-000000000031": {
|
||||
"id": "ea202922-0033-4000-8000-000000000031",
|
||||
"alias": "readiness",
|
||||
"name": "Rescue readiness",
|
||||
"description": "",
|
||||
"parent": "ea202922-0033-4000-8000-000000000030",
|
||||
"body": {
|
||||
"Sa": {
|
||||
"Shared": "StateMachine"
|
||||
}
|
||||
}
|
||||
},
|
||||
"ea202922-0033-4000-8000-000000000032": {
|
||||
"id": "ea202922-0033-4000-8000-000000000032",
|
||||
"alias": "main_region",
|
||||
"name": "Readiness region",
|
||||
"description": "",
|
||||
"parent": "ea202922-0033-4000-8000-000000000031",
|
||||
"body": {
|
||||
"Sa": {
|
||||
"Shared": "Region"
|
||||
}
|
||||
}
|
||||
},
|
||||
"ea202922-0033-4000-8000-000000000033": {
|
||||
"id": "ea202922-0033-4000-8000-000000000033",
|
||||
"alias": "start",
|
||||
"name": "Startup",
|
||||
"description": "",
|
||||
"parent": "ea202922-0033-4000-8000-000000000032",
|
||||
"body": {
|
||||
"Sa": {
|
||||
"Shared": {
|
||||
"State": {
|
||||
"kind": "Initial",
|
||||
"entry": "",
|
||||
"exit": "",
|
||||
"do_activity": ""
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"ea202922-0033-4000-8000-000000000034": {
|
||||
"id": "ea202922-0033-4000-8000-000000000034",
|
||||
"alias": "ready",
|
||||
"name": "Ready",
|
||||
"description": "",
|
||||
"parent": "ea202922-0033-4000-8000-000000000032",
|
||||
"body": {
|
||||
"Sa": {
|
||||
"Shared": {
|
||||
"State": {
|
||||
"kind": "State",
|
||||
"entry": "",
|
||||
"exit": "",
|
||||
"do_activity": ""
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"ea202922-0033-4000-8000-000000000035": {
|
||||
"id": "ea202922-0033-4000-8000-000000000035",
|
||||
"alias": "active",
|
||||
"name": "Active",
|
||||
"description": "",
|
||||
"parent": "ea202922-0033-4000-8000-000000000032",
|
||||
"body": {
|
||||
"Sa": {
|
||||
"Shared": {
|
||||
"State": {
|
||||
"kind": "State",
|
||||
"entry": "",
|
||||
"exit": "",
|
||||
"do_activity": ""
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"ea202922-0033-4000-8000-000000000036": {
|
||||
"id": "ea202922-0033-4000-8000-000000000036",
|
||||
"alias": "decision",
|
||||
"name": "Dispatch decision",
|
||||
"description": "",
|
||||
"parent": "ea202922-0033-4000-8000-000000000032",
|
||||
"body": {
|
||||
"Sa": {
|
||||
"Shared": {
|
||||
"State": {
|
||||
"kind": "Choice",
|
||||
"entry": "",
|
||||
"exit": "",
|
||||
"do_activity": ""
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"ea202922-0033-4000-8000-000000000037": {
|
||||
"id": "ea202922-0033-4000-8000-000000000037",
|
||||
"alias": "finished",
|
||||
"name": "Shutdown complete",
|
||||
"description": "",
|
||||
"parent": "ea202922-0033-4000-8000-000000000032",
|
||||
"body": {
|
||||
"Sa": {
|
||||
"Shared": {
|
||||
"State": {
|
||||
"kind": "Final",
|
||||
"entry": "",
|
||||
"exit": "",
|
||||
"do_activity": ""
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"ea202922-0033-4000-8000-000000000050": {
|
||||
"id": "ea202922-0033-4000-8000-000000000050",
|
||||
"alias": "emit_status",
|
||||
"name": "Emit readiness status",
|
||||
"description": "",
|
||||
"parent": null,
|
||||
"body": {
|
||||
"Sa": "Function"
|
||||
}
|
||||
},
|
||||
"ea202922-0033-4000-8000-000000000051": {
|
||||
"id": "ea202922-0033-4000-8000-000000000051",
|
||||
"alias": "display_status",
|
||||
"name": "Display readiness status",
|
||||
"description": "",
|
||||
"parent": null,
|
||||
"body": {
|
||||
"Sa": "Function"
|
||||
}
|
||||
},
|
||||
"ea202922-0033-4000-8000-000000000052": {
|
||||
"id": "ea202922-0033-4000-8000-000000000052",
|
||||
"alias": "status_out",
|
||||
"name": "Status output",
|
||||
"description": "",
|
||||
"parent": "ea202922-0033-4000-8000-000000000050",
|
||||
"body": {
|
||||
"Sa": {
|
||||
"Shared": {
|
||||
"Port": {
|
||||
"contract": {
|
||||
"FunctionOutput": {
|
||||
"outgoing_items": []
|
||||
}
|
||||
},
|
||||
"legacy": null
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"ea202922-0033-4000-8000-000000000053": {
|
||||
"id": "ea202922-0033-4000-8000-000000000053",
|
||||
"alias": "status_in",
|
||||
"name": "Status input",
|
||||
"description": "",
|
||||
"parent": "ea202922-0033-4000-8000-000000000051",
|
||||
"body": {
|
||||
"Sa": {
|
||||
"Shared": {
|
||||
"Port": {
|
||||
"contract": {
|
||||
"FunctionInput": {
|
||||
"incoming_items": []
|
||||
}
|
||||
},
|
||||
"legacy": null
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"relations": {
|
||||
"ea202922-0033-4000-8000-000000000020": {
|
||||
"id": "ea202922-0033-4000-8000-000000000020",
|
||||
"alias": "dispatch_request",
|
||||
"name": "Dispatch request: Receive → Dispatch",
|
||||
"description": "Semantic sentinel: retain this description and direction.",
|
||||
"body": {
|
||||
"Interaction": {
|
||||
"source": "ea202922-0033-4000-8000-000000000010",
|
||||
"target": "ea202922-0033-4000-8000-000000000011",
|
||||
"items": []
|
||||
}
|
||||
}
|
||||
},
|
||||
"ea202922-0033-4000-8000-000000000040": {
|
||||
"id": "ea202922-0033-4000-8000-000000000040",
|
||||
"alias": "initialize",
|
||||
"name": "Initialize: Startup → Ready",
|
||||
"description": "",
|
||||
"body": {
|
||||
"StateTransition": {
|
||||
"source": "ea202922-0033-4000-8000-000000000033",
|
||||
"target": "ea202922-0033-4000-8000-000000000034",
|
||||
"transition_kind": "External",
|
||||
"triggers": [],
|
||||
"effects": [],
|
||||
"trigger": "",
|
||||
"guard": "",
|
||||
"effect": ""
|
||||
}
|
||||
}
|
||||
},
|
||||
"ea202922-0033-4000-8000-000000000041": {
|
||||
"id": "ea202922-0033-4000-8000-000000000041",
|
||||
"alias": "activate",
|
||||
"name": "Activate: Ready → Active",
|
||||
"description": "",
|
||||
"body": {
|
||||
"StateTransition": {
|
||||
"source": "ea202922-0033-4000-8000-000000000034",
|
||||
"target": "ea202922-0033-4000-8000-000000000035",
|
||||
"transition_kind": "External",
|
||||
"triggers": [],
|
||||
"effects": [],
|
||||
"trigger": "",
|
||||
"guard": "crew_assigned",
|
||||
"effect": ""
|
||||
}
|
||||
}
|
||||
},
|
||||
"ea202922-0033-4000-8000-000000000042": {
|
||||
"id": "ea202922-0033-4000-8000-000000000042",
|
||||
"alias": "assess",
|
||||
"name": "Assess: Active → Decision",
|
||||
"description": "",
|
||||
"body": {
|
||||
"StateTransition": {
|
||||
"source": "ea202922-0033-4000-8000-000000000035",
|
||||
"target": "ea202922-0033-4000-8000-000000000036",
|
||||
"transition_kind": "External",
|
||||
"triggers": [],
|
||||
"effects": [],
|
||||
"trigger": "",
|
||||
"guard": "",
|
||||
"effect": ""
|
||||
}
|
||||
}
|
||||
},
|
||||
"ea202922-0033-4000-8000-000000000043": {
|
||||
"id": "ea202922-0033-4000-8000-000000000043",
|
||||
"alias": "retry",
|
||||
"name": "Retry: Decision → Ready",
|
||||
"description": "",
|
||||
"body": {
|
||||
"StateTransition": {
|
||||
"source": "ea202922-0033-4000-8000-000000000036",
|
||||
"target": "ea202922-0033-4000-8000-000000000034",
|
||||
"transition_kind": "External",
|
||||
"triggers": [],
|
||||
"effects": [],
|
||||
"trigger": "",
|
||||
"guard": "retry_requested",
|
||||
"effect": ""
|
||||
}
|
||||
}
|
||||
},
|
||||
"ea202922-0033-4000-8000-000000000044": {
|
||||
"id": "ea202922-0033-4000-8000-000000000044",
|
||||
"alias": "finish",
|
||||
"name": "Finish: Decision → Shutdown",
|
||||
"description": "",
|
||||
"body": {
|
||||
"StateTransition": {
|
||||
"source": "ea202922-0033-4000-8000-000000000036",
|
||||
"target": "ea202922-0033-4000-8000-000000000037",
|
||||
"transition_kind": "External",
|
||||
"triggers": [],
|
||||
"effects": [],
|
||||
"trigger": "",
|
||||
"guard": "else",
|
||||
"effect": ""
|
||||
}
|
||||
}
|
||||
},
|
||||
"ea202922-0033-4000-8000-000000000045": {
|
||||
"id": "ea202922-0033-4000-8000-000000000045",
|
||||
"alias": "refresh",
|
||||
"name": "Refresh: Active → Active",
|
||||
"description": "",
|
||||
"body": {
|
||||
"StateTransition": {
|
||||
"source": "ea202922-0033-4000-8000-000000000035",
|
||||
"target": "ea202922-0033-4000-8000-000000000035",
|
||||
"transition_kind": "External",
|
||||
"triggers": [],
|
||||
"effects": [],
|
||||
"trigger": "",
|
||||
"guard": "refresh_requested",
|
||||
"effect": ""
|
||||
}
|
||||
}
|
||||
},
|
||||
"ea202922-0033-4000-8000-000000000046": {
|
||||
"id": "ea202922-0033-4000-8000-000000000046",
|
||||
"alias": "internal_check",
|
||||
"name": "Internal status check",
|
||||
"description": "",
|
||||
"body": {
|
||||
"StateTransition": {
|
||||
"source": "ea202922-0033-4000-8000-000000000035",
|
||||
"target": "ea202922-0033-4000-8000-000000000035",
|
||||
"transition_kind": "Internal",
|
||||
"triggers": [],
|
||||
"effects": [],
|
||||
"trigger": "",
|
||||
"guard": "",
|
||||
"effect": "Status unchanged"
|
||||
}
|
||||
}
|
||||
},
|
||||
"ea202922-0033-4000-8000-000000000054": {
|
||||
"id": "ea202922-0033-4000-8000-000000000054",
|
||||
"alias": "status_exchange",
|
||||
"name": "Readiness status: Emit → Display",
|
||||
"description": "",
|
||||
"body": {
|
||||
"FunctionalExchange": {
|
||||
"source": "ea202922-0033-4000-8000-000000000050",
|
||||
"target": "ea202922-0033-4000-8000-000000000051",
|
||||
"source_port": "ea202922-0033-4000-8000-000000000052",
|
||||
"target_port": "ea202922-0033-4000-8000-000000000053",
|
||||
"items": []
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"diagrams": {
|
||||
"ea202922-0033-4000-8000-000000000100": {
|
||||
"id": "ea202922-0033-4000-8000-000000000100",
|
||||
"alias": "dispatch_view",
|
||||
"name": "01 Dispatch — edit attachments",
|
||||
"description": "",
|
||||
"layer": "Oa",
|
||||
"projection": "FunctionalDataflow",
|
||||
"view_options": {
|
||||
"hidden_edges": [],
|
||||
"relation_kinds": "All",
|
||||
"work_categories": "All",
|
||||
"participant_categories": "All",
|
||||
"coverage": "All",
|
||||
"work_contexts": "All",
|
||||
"exchange_labels": "Name"
|
||||
},
|
||||
"nodes": {
|
||||
"ea202922-0033-4000-8000-000000000110": {
|
||||
"id": "ea202922-0033-4000-8000-000000000110",
|
||||
"alias": "dispatch_view_receive",
|
||||
"element": "ea202922-0033-4000-8000-000000000010",
|
||||
"position": {
|
||||
"x": 100.0,
|
||||
"y": 180.0
|
||||
},
|
||||
"size": {
|
||||
"width": 240.0,
|
||||
"height": 120.0
|
||||
},
|
||||
"collapsed": false
|
||||
},
|
||||
"ea202922-0033-4000-8000-000000000111": {
|
||||
"id": "ea202922-0033-4000-8000-000000000111",
|
||||
"alias": "dispatch_view_dispatch",
|
||||
"element": "ea202922-0033-4000-8000-000000000011",
|
||||
"position": {
|
||||
"x": 600.0,
|
||||
"y": 180.0
|
||||
},
|
||||
"size": {
|
||||
"width": 240.0,
|
||||
"height": 120.0
|
||||
},
|
||||
"collapsed": false
|
||||
}
|
||||
},
|
||||
"routes": [
|
||||
{
|
||||
"edge": "ea202922-0033-4000-8000-000000000020",
|
||||
"source_attachment": {
|
||||
"side": "Right",
|
||||
"offset": 0.5
|
||||
},
|
||||
"target_attachment": {
|
||||
"side": "Left",
|
||||
"offset": 0.6
|
||||
},
|
||||
"waypoints": [
|
||||
{
|
||||
"x": 440.0,
|
||||
"y": 340.0
|
||||
}
|
||||
],
|
||||
"label": {
|
||||
"fraction": 0.5,
|
||||
"offset": {
|
||||
"x": 12.0,
|
||||
"y": -18.0
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
"ea202922-0033-4000-8000-000000000101": {
|
||||
"id": "ea202922-0033-4000-8000-000000000101",
|
||||
"alias": "dispatch_reference",
|
||||
"name": "02 Dispatch — untouched reference",
|
||||
"description": "",
|
||||
"layer": "Oa",
|
||||
"projection": "FunctionalDataflow",
|
||||
"view_options": {
|
||||
"hidden_edges": [],
|
||||
"relation_kinds": "All",
|
||||
"work_categories": "All",
|
||||
"participant_categories": "All",
|
||||
"coverage": "All",
|
||||
"work_contexts": "All",
|
||||
"exchange_labels": "Name"
|
||||
},
|
||||
"nodes": {
|
||||
"ea202922-0033-4000-8000-000000000120": {
|
||||
"id": "ea202922-0033-4000-8000-000000000120",
|
||||
"alias": "dispatch_reference_receive",
|
||||
"element": "ea202922-0033-4000-8000-000000000010",
|
||||
"position": {
|
||||
"x": 100.0,
|
||||
"y": 180.0
|
||||
},
|
||||
"size": {
|
||||
"width": 240.0,
|
||||
"height": 120.0
|
||||
},
|
||||
"collapsed": false
|
||||
},
|
||||
"ea202922-0033-4000-8000-000000000121": {
|
||||
"id": "ea202922-0033-4000-8000-000000000121",
|
||||
"alias": "dispatch_reference_dispatch",
|
||||
"element": "ea202922-0033-4000-8000-000000000011",
|
||||
"position": {
|
||||
"x": 600.0,
|
||||
"y": 180.0
|
||||
},
|
||||
"size": {
|
||||
"width": 240.0,
|
||||
"height": 120.0
|
||||
},
|
||||
"collapsed": false
|
||||
}
|
||||
},
|
||||
"routes": [
|
||||
{
|
||||
"edge": "ea202922-0033-4000-8000-000000000020",
|
||||
"target_attachment": {
|
||||
"side": "Bottom",
|
||||
"offset": 0.25
|
||||
},
|
||||
"waypoints": [],
|
||||
"label": null
|
||||
}
|
||||
]
|
||||
},
|
||||
"ea202922-0033-4000-8000-000000000200": {
|
||||
"id": "ea202922-0033-4000-8000-000000000200",
|
||||
"alias": "readiness_view",
|
||||
"name": "03 Readiness — edit attachments",
|
||||
"description": "",
|
||||
"layer": "Sa",
|
||||
"projection": {
|
||||
"StateMachine": {
|
||||
"machine": "ea202922-0033-4000-8000-000000000031"
|
||||
}
|
||||
},
|
||||
"view_options": {
|
||||
"hidden_edges": [],
|
||||
"relation_kinds": "All",
|
||||
"work_categories": "All",
|
||||
"participant_categories": "All",
|
||||
"coverage": "All",
|
||||
"work_contexts": "All",
|
||||
"exchange_labels": "Name"
|
||||
},
|
||||
"nodes": {
|
||||
"ea202922-0033-4000-8000-000000000210": {
|
||||
"id": "ea202922-0033-4000-8000-000000000210",
|
||||
"alias": "readiness_view_readiness",
|
||||
"element": "ea202922-0033-4000-8000-000000000031",
|
||||
"position": {
|
||||
"x": 40.0,
|
||||
"y": 40.0
|
||||
},
|
||||
"size": {
|
||||
"width": 980.0,
|
||||
"height": 590.0
|
||||
},
|
||||
"collapsed": false
|
||||
},
|
||||
"ea202922-0033-4000-8000-000000000211": {
|
||||
"id": "ea202922-0033-4000-8000-000000000211",
|
||||
"alias": "readiness_view_main_region",
|
||||
"element": "ea202922-0033-4000-8000-000000000032",
|
||||
"position": {
|
||||
"x": 64.0,
|
||||
"y": 104.0
|
||||
},
|
||||
"size": {
|
||||
"width": 932.0,
|
||||
"height": 500.0
|
||||
},
|
||||
"collapsed": false
|
||||
},
|
||||
"ea202922-0033-4000-8000-000000000212": {
|
||||
"id": "ea202922-0033-4000-8000-000000000212",
|
||||
"alias": "readiness_view_start",
|
||||
"element": "ea202922-0033-4000-8000-000000000033",
|
||||
"position": {
|
||||
"x": 110.0,
|
||||
"y": 252.0
|
||||
},
|
||||
"size": {
|
||||
"width": 20.0,
|
||||
"height": 20.0
|
||||
},
|
||||
"collapsed": false
|
||||
},
|
||||
"ea202922-0033-4000-8000-000000000213": {
|
||||
"id": "ea202922-0033-4000-8000-000000000213",
|
||||
"alias": "readiness_view_ready",
|
||||
"element": "ea202922-0033-4000-8000-000000000034",
|
||||
"position": {
|
||||
"x": 190.0,
|
||||
"y": 210.0
|
||||
},
|
||||
"size": {
|
||||
"width": 240.0,
|
||||
"height": 120.0
|
||||
},
|
||||
"collapsed": false
|
||||
},
|
||||
"ea202922-0033-4000-8000-000000000214": {
|
||||
"id": "ea202922-0033-4000-8000-000000000214",
|
||||
"alias": "readiness_view_active",
|
||||
"element": "ea202922-0033-4000-8000-000000000035",
|
||||
"position": {
|
||||
"x": 570.0,
|
||||
"y": 210.0
|
||||
},
|
||||
"size": {
|
||||
"width": 240.0,
|
||||
"height": 140.0
|
||||
},
|
||||
"collapsed": false
|
||||
},
|
||||
"ea202922-0033-4000-8000-000000000215": {
|
||||
"id": "ea202922-0033-4000-8000-000000000215",
|
||||
"alias": "readiness_view_decision",
|
||||
"element": "ea202922-0033-4000-8000-000000000036",
|
||||
"position": {
|
||||
"x": 670.0,
|
||||
"y": 430.0
|
||||
},
|
||||
"size": {
|
||||
"width": 40.0,
|
||||
"height": 40.0
|
||||
},
|
||||
"collapsed": false
|
||||
},
|
||||
"ea202922-0033-4000-8000-000000000216": {
|
||||
"id": "ea202922-0033-4000-8000-000000000216",
|
||||
"alias": "readiness_view_finished",
|
||||
"element": "ea202922-0033-4000-8000-000000000037",
|
||||
"position": {
|
||||
"x": 880.0,
|
||||
"y": 440.0
|
||||
},
|
||||
"size": {
|
||||
"width": 24.0,
|
||||
"height": 24.0
|
||||
},
|
||||
"collapsed": false
|
||||
}
|
||||
},
|
||||
"routes": [
|
||||
{
|
||||
"edge": "ea202922-0033-4000-8000-000000000041",
|
||||
"source_attachment": {
|
||||
"side": "Right",
|
||||
"offset": 0.5
|
||||
},
|
||||
"target_attachment": {
|
||||
"side": "Left",
|
||||
"offset": 0.6
|
||||
},
|
||||
"waypoints": [
|
||||
{
|
||||
"x": 500.0,
|
||||
"y": 310.0
|
||||
}
|
||||
],
|
||||
"label": {
|
||||
"fraction": 0.5,
|
||||
"offset": {
|
||||
"x": 8.0,
|
||||
"y": -16.0
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"edge": "ea202922-0033-4000-8000-000000000040",
|
||||
"source_attachment": {
|
||||
"side": "Right",
|
||||
"offset": 0.5
|
||||
},
|
||||
"waypoints": [],
|
||||
"label": null
|
||||
},
|
||||
{
|
||||
"edge": "ea202922-0033-4000-8000-000000000044",
|
||||
"source_attachment": {
|
||||
"side": "Right",
|
||||
"offset": 0.5
|
||||
},
|
||||
"waypoints": [],
|
||||
"label": null
|
||||
}
|
||||
]
|
||||
},
|
||||
"ea202922-0033-4000-8000-000000000201": {
|
||||
"id": "ea202922-0033-4000-8000-000000000201",
|
||||
"alias": "readiness_reference",
|
||||
"name": "04 Readiness — untouched reference",
|
||||
"description": "",
|
||||
"layer": "Sa",
|
||||
"projection": {
|
||||
"StateMachine": {
|
||||
"machine": "ea202922-0033-4000-8000-000000000031"
|
||||
}
|
||||
},
|
||||
"view_options": {
|
||||
"hidden_edges": [],
|
||||
"relation_kinds": "All",
|
||||
"work_categories": "All",
|
||||
"participant_categories": "All",
|
||||
"coverage": "All",
|
||||
"work_contexts": "All",
|
||||
"exchange_labels": "Name"
|
||||
},
|
||||
"nodes": {
|
||||
"ea202922-0033-4000-8000-000000000230": {
|
||||
"id": "ea202922-0033-4000-8000-000000000230",
|
||||
"alias": "readiness_reference_readiness",
|
||||
"element": "ea202922-0033-4000-8000-000000000031",
|
||||
"position": {
|
||||
"x": 40.0,
|
||||
"y": 40.0
|
||||
},
|
||||
"size": {
|
||||
"width": 980.0,
|
||||
"height": 590.0
|
||||
},
|
||||
"collapsed": false
|
||||
},
|
||||
"ea202922-0033-4000-8000-000000000231": {
|
||||
"id": "ea202922-0033-4000-8000-000000000231",
|
||||
"alias": "readiness_reference_main_region",
|
||||
"element": "ea202922-0033-4000-8000-000000000032",
|
||||
"position": {
|
||||
"x": 64.0,
|
||||
"y": 104.0
|
||||
},
|
||||
"size": {
|
||||
"width": 932.0,
|
||||
"height": 500.0
|
||||
},
|
||||
"collapsed": false
|
||||
},
|
||||
"ea202922-0033-4000-8000-000000000232": {
|
||||
"id": "ea202922-0033-4000-8000-000000000232",
|
||||
"alias": "readiness_reference_start",
|
||||
"element": "ea202922-0033-4000-8000-000000000033",
|
||||
"position": {
|
||||
"x": 110.0,
|
||||
"y": 212.0
|
||||
},
|
||||
"size": {
|
||||
"width": 20.0,
|
||||
"height": 20.0
|
||||
},
|
||||
"collapsed": false
|
||||
},
|
||||
"ea202922-0033-4000-8000-000000000233": {
|
||||
"id": "ea202922-0033-4000-8000-000000000233",
|
||||
"alias": "readiness_reference_ready",
|
||||
"element": "ea202922-0033-4000-8000-000000000034",
|
||||
"position": {
|
||||
"x": 190.0,
|
||||
"y": 170.0
|
||||
},
|
||||
"size": {
|
||||
"width": 240.0,
|
||||
"height": 120.0
|
||||
},
|
||||
"collapsed": false
|
||||
},
|
||||
"ea202922-0033-4000-8000-000000000234": {
|
||||
"id": "ea202922-0033-4000-8000-000000000234",
|
||||
"alias": "readiness_reference_active",
|
||||
"element": "ea202922-0033-4000-8000-000000000035",
|
||||
"position": {
|
||||
"x": 570.0,
|
||||
"y": 170.0
|
||||
},
|
||||
"size": {
|
||||
"width": 240.0,
|
||||
"height": 140.0
|
||||
},
|
||||
"collapsed": false
|
||||
},
|
||||
"ea202922-0033-4000-8000-000000000235": {
|
||||
"id": "ea202922-0033-4000-8000-000000000235",
|
||||
"alias": "readiness_reference_decision",
|
||||
"element": "ea202922-0033-4000-8000-000000000036",
|
||||
"position": {
|
||||
"x": 670.0,
|
||||
"y": 430.0
|
||||
},
|
||||
"size": {
|
||||
"width": 40.0,
|
||||
"height": 40.0
|
||||
},
|
||||
"collapsed": false
|
||||
},
|
||||
"ea202922-0033-4000-8000-000000000236": {
|
||||
"id": "ea202922-0033-4000-8000-000000000236",
|
||||
"alias": "readiness_reference_finished",
|
||||
"element": "ea202922-0033-4000-8000-000000000037",
|
||||
"position": {
|
||||
"x": 880.0,
|
||||
"y": 440.0
|
||||
},
|
||||
"size": {
|
||||
"width": 24.0,
|
||||
"height": 24.0
|
||||
},
|
||||
"collapsed": false
|
||||
}
|
||||
},
|
||||
"routes": []
|
||||
},
|
||||
"ea202922-0033-4000-8000-000000000300": {
|
||||
"id": "ea202922-0033-4000-8000-000000000300",
|
||||
"alias": "ports_view",
|
||||
"name": "05 Status — semantic ports regression",
|
||||
"description": "",
|
||||
"layer": "Sa",
|
||||
"projection": "FunctionalDataflow",
|
||||
"view_options": {
|
||||
"hidden_edges": [],
|
||||
"relation_kinds": "All",
|
||||
"work_categories": "All",
|
||||
"participant_categories": "All",
|
||||
"coverage": "All",
|
||||
"work_contexts": "All",
|
||||
"exchange_labels": "Name"
|
||||
},
|
||||
"nodes": {
|
||||
"ea202922-0033-4000-8000-000000000310": {
|
||||
"id": "ea202922-0033-4000-8000-000000000310",
|
||||
"alias": "ports_emit",
|
||||
"element": "ea202922-0033-4000-8000-000000000050",
|
||||
"position": {
|
||||
"x": 100.0,
|
||||
"y": 180.0
|
||||
},
|
||||
"size": {
|
||||
"width": 240.0,
|
||||
"height": 120.0
|
||||
},
|
||||
"collapsed": false,
|
||||
"port_anchors": [
|
||||
{
|
||||
"port": "ea202922-0033-4000-8000-000000000052",
|
||||
"side": "Right",
|
||||
"offset": 0.5
|
||||
}
|
||||
]
|
||||
},
|
||||
"ea202922-0033-4000-8000-000000000311": {
|
||||
"id": "ea202922-0033-4000-8000-000000000311",
|
||||
"alias": "ports_display",
|
||||
"element": "ea202922-0033-4000-8000-000000000051",
|
||||
"position": {
|
||||
"x": 600.0,
|
||||
"y": 180.0
|
||||
},
|
||||
"size": {
|
||||
"width": 240.0,
|
||||
"height": 120.0
|
||||
},
|
||||
"collapsed": false,
|
||||
"port_anchors": [
|
||||
{
|
||||
"port": "ea202922-0033-4000-8000-000000000053",
|
||||
"side": "Left",
|
||||
"offset": 0.5
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"routes": []
|
||||
}
|
||||
},
|
||||
"artifact_links": {},
|
||||
"traces": {}
|
||||
}
|
||||
@@ -0,0 +1,20 @@
|
||||
{
|
||||
"source_commit": "53d01a3d4451b94792986f2dfac56f6f04e111a4",
|
||||
"evaluator_source_commit": "3aa80de89c5b79200286926781e8f3a192bc61f4",
|
||||
"basis": "Original frozen authored fixture B before corrected GUI launch; fixed recipe only",
|
||||
"checkpoints": {
|
||||
"B": {
|
||||
"path": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\edge-anchors-escape-native-20260923\\expected\\B.project.json",
|
||||
"bytes": 24594,
|
||||
"sha256": "149fcc554b5f41bc41bfa68f1f70edda73e8df868d92f7e1ee8020967b609d67"
|
||||
},
|
||||
"A1": {
|
||||
"path": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\edge-anchors-escape-native-20260923\\expected\\A1.project.json",
|
||||
"bytes": 24593,
|
||||
"sha256": "d46193e94a3abdc35c8fc90529d9530623a6d958fb3a30f181753805e23a1fea"
|
||||
}
|
||||
},
|
||||
"edits": {
|
||||
"A1": "B with diagram200 Activate relation41 source_attachment Top offset0.25 only; Undo returns B; Redo returns A1"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,60 @@
|
||||
#Requires -Version 7.0
|
||||
param([ValidateRange(1,99)][int]$Run=1)
|
||||
$ErrorActionPreference='Stop'
|
||||
. (Join-Path $PSScriptRoot 'verify.ps1')
|
||||
$manifestPath=Join-Path $PSScriptRoot 'input-manifest.json'
|
||||
$stagePath=Join-Path $PSScriptRoot 'staging-record.json'
|
||||
$manifest=Read-NativeJson $manifestPath
|
||||
$stage=Read-NativeJson $stagePath
|
||||
if ($manifest.source_commit -notmatch '^[0-9a-f]{40}$' -or $stage.source_commit -cne $manifest.source_commit) { throw 'Wrong staged candidate' }
|
||||
Assert-NativeFiles @($stage.manifest)
|
||||
Assert-NativeFiles $manifest.immutable_files
|
||||
$stageHash=Get-NativeHash $stagePath
|
||||
$working=Join-Path $PSScriptRoot 'working/attachments.arcadia'
|
||||
$runRoot=Join-Path $PSScriptRoot ('runs/run-{0:d2}' -f $Run)
|
||||
$profile=Join-Path $PSScriptRoot 'profile'
|
||||
$cwd=Join-Path $PSScriptRoot 'unrelated-cwd'
|
||||
$previousHash=$null
|
||||
if (Test-Path -LiteralPath $runRoot) { throw 'Never overwrite existing run evidence' }
|
||||
if ($Run -eq 1) {
|
||||
if (Test-Path -LiteralPath (Join-Path $PSScriptRoot 'runs')) { throw 'First run requires fresh runs directory' }
|
||||
Assert-NativeFiles @($manifest.initial_working)
|
||||
foreach($dir in @($profile,$cwd)) { if (-not (Test-Path -LiteralPath $dir -PathType Container) -or @(Get-ChildItem -LiteralPath $dir -Force).Count) { throw 'First run requires staged empty private directories' } }
|
||||
} else {
|
||||
$prior=Join-Path $PSScriptRoot ('runs/run-{0:d2}' -f ($Run-1))
|
||||
$priorClose=Read-NativeJson (Join-Path $prior 'normal-close.json')
|
||||
$priorLaunch=Read-NativeJson (Join-Path $prior 'launch.json')
|
||||
if ($priorClose.exit_code -ne 0 -or $priorClose.stdout.bytes -ne 0 -or $priorClose.stderr.bytes -ne 0 -or -not $priorClose.immutable_inputs_unchanged -or $priorClose.source_commit -cne $manifest.source_commit -or $priorClose.launch_sha256 -cne (Get-NativeHash (Join-Path $prior 'launch.json')) -or $priorLaunch.manifest_sha256 -cne (Get-NativeHash $manifestPath) -or $priorLaunch.pid -ne $priorClose.pid -or $priorLaunch.started_utc -cne $priorClose.started_utc) { throw 'Previous successful bound close required' }
|
||||
Assert-NativeFiles @($priorClose.working_file,$priorClose.stdout,$priorClose.stderr)
|
||||
$previousHash=Get-NativeHash (Join-Path $prior 'normal-close.json')
|
||||
}
|
||||
$package=Join-Path $PSScriptRoot 'package'
|
||||
$childPath=$package+';'+(Join-Path $env:SystemRoot 'System32')+';'+$env:SystemRoot+';'+(Join-Path $env:SystemRoot 'System32/Wbem')
|
||||
$state=[ordered]@{run=$Run;source_commit=$manifest.source_commit;evaluator_source_commit=$manifest.evaluator_source_commit;manifest_sha256=(Get-NativeHash $manifestPath);staging_sha256=$stageHash;script_sha256=(Get-NativeHash $PSCommandPath);native_plan_sha256=$manifest.native_plan_sha256;previous_close_sha256=$previousHash;binary=$manifest.binary;runtime=$manifest.runtime;working_file_before=(Get-NativeRecord $working);localappdata=$profile;working_directory=$cwd;child_path=$childPath;arguments=@();pid=$null;started_utc=$null;environment_scope='Child ProcessStartInfo only'}
|
||||
$process=$null;$outStream=$null;$errStream=$null
|
||||
try {
|
||||
[void][IO.Directory]::CreateDirectory((Join-Path $runRoot 'logs'))
|
||||
$stdout=Join-Path $runRoot 'logs/studio.stdout.log';$stderr=Join-Path $runRoot 'logs/studio.stderr.log'
|
||||
$outStream=[IO.File]::Open($stdout,[IO.FileMode]::CreateNew,[IO.FileAccess]::Write,[IO.FileShare]::Read)
|
||||
$errStream=[IO.File]::Open($stderr,[IO.FileMode]::CreateNew,[IO.FileAccess]::Write,[IO.FileShare]::Read)
|
||||
$info=[Diagnostics.ProcessStartInfo]::new();$info.FileName=$manifest.binary.path;$info.WorkingDirectory=$cwd;$info.UseShellExecute=$false;$info.CreateNoWindow=$true;$info.WindowStyle=[Diagnostics.ProcessWindowStyle]::Hidden;$info.RedirectStandardOutput=$true;$info.RedirectStandardError=$true
|
||||
$info.Environment['LOCALAPPDATA']=$profile;$info.Environment['PATH']=$childPath
|
||||
$process=[Diagnostics.Process]::new();$process.StartInfo=$info
|
||||
if (-not $process.Start()) { throw 'Process start failed' }
|
||||
$outCopy=$process.StandardOutput.BaseStream.CopyToAsync($outStream);$errCopy=$process.StandardError.BaseStream.CopyToAsync($errStream)
|
||||
$state.pid=$process.Id;$state.started_utc=$process.StartTime.ToUniversalTime().ToString('o')
|
||||
Write-NativeJson (Join-Path $runRoot 'launch.json') $state
|
||||
$state|ConvertTo-Json -Depth 15|Write-Output
|
||||
$process.WaitForExit();[Threading.Tasks.Task]::WaitAll([Threading.Tasks.Task[]]@($outCopy,$errCopy))
|
||||
$outStream.Flush($true);$errStream.Flush($true);$outStream.Dispose();$outStream=$null;$errStream.Dispose();$errStream=$null
|
||||
$unchanged=$true;$verificationError=$null
|
||||
try { Assert-NativeFiles $manifest.immutable_files; Assert-NativeFiles @($stage.manifest);if ((Get-NativeHash $stagePath) -cne $stageHash) {throw 'Staging receipt changed'} } catch {$unchanged=$false;$verificationError=$_.Exception.Message}
|
||||
Write-NativeJson (Join-Path $runRoot 'normal-close.json') ([ordered]@{run=$Run;source_commit=$manifest.source_commit;evaluator_source_commit=$manifest.evaluator_source_commit;launch_sha256=(Get-NativeHash (Join-Path $runRoot 'launch.json'));pid=$state.pid;started_utc=$state.started_utc;observed_exit_utc=[DateTime]::UtcNow.ToString('o');exit_code=$process.ExitCode;immutable_inputs_unchanged=$unchanged;verification_error=$verificationError;baseline_file=(Get-NativeRecord (Join-Path $PSScriptRoot 'baseline/attachments.arcadia'));working_file=(Get-NativeRecord $working);stdout=(Get-NativeRecord $stdout);stderr=(Get-NativeRecord $stderr);scope='Observed process exit only; close cause and native interaction acceptance require root observation. No forced termination by observer.'})
|
||||
if (-not $unchanged) {throw $verificationError}
|
||||
if ($process.ExitCode -ne 0 -or (Get-Item -LiteralPath $stdout).Length -ne 0 -or (Get-Item -LiteralPath $stderr).Length -ne 0) {throw 'Nonzero process exit or nonempty GUI logs; preserve evidence and investigate'}
|
||||
} catch {
|
||||
Write-NativeJson (Join-Path $runRoot 'observer-failure.json') ([ordered]@{utc=[DateTime]::UtcNow.ToString('o');pid=$state.pid;error=$_.Exception.Message;owned_process_not_killed=$true})
|
||||
throw
|
||||
} finally {
|
||||
if ($null -ne $outStream) {$outStream.Dispose()};if ($null -ne $errStream) {$errStream.Dispose()};if ($null -ne $process) {$process.Dispose()}
|
||||
}
|
||||
@@ -0,0 +1,20 @@
|
||||
# Corrected State attachment Escape trial
|
||||
|
||||
Candidate: 53d01a3d4451b94792986f2dfac56f6f04e111a4. This is a bounded native revalidation after the original 3aa80de immediate post-menu Escape finding. The original active Run 2 is untouched.
|
||||
|
||||
Package GUI is the preserved gate artifact (SHA-256 9c7aa0249378cec31639bbbff5ea7b3eaab782333d1637b8ab5e8f3be5d65d2c). Core evaluator is reused from 3aa80de; core tree, Cargo manifests and lockfile are unchanged. Relocation and evaluator receipts state their separate provenance. Shared target executables are not live bindings of this stage.
|
||||
|
||||
Start a fresh observer with `pwsh -File launch.ps1 -Run 1`. Open this stage's `working/attachments.arcadia` using the native file dialog. Baseline is the original frozen authored fixture B, not an original-run saved working file.
|
||||
|
||||
1. Open the State view and select Activate. From its context menu choose Adjust source attachment. Capture armed tool/guidance. Press Escape immediately, without a canvas click. Capture Select / move and removed attachment guidance. Save; compare B.
|
||||
2. Repeat using Adjust target attachment, again with no intervening canvas click. Save; compare B. These two observations supply the native cancellation claim; saved JSON alone does not.
|
||||
3. Arm source attachment and drag Activate's source to Top, offset .25. Save; compare A1. A1 differs from B only in diagram200 relation41 source_attachment. Capture the placed handle and resulting source evidence.
|
||||
4. With canvas/model history ownership, one Undo then Save must compare B; one Redo then Save must compare A1. Record focus and actions, not only resulting snapshots.
|
||||
5. Choose final B (one Undo) or A1 (retain Redo) explicitly in the action record, Save and compare that predetermined catalog name. Close normally. The observer must record exit0 and empty logs. Do not force-close.
|
||||
6. Start `launch.ps1 -Run 2` using the same corrected stage. Reopen the saved working file and compare the same chosen final expected name. Record actual reopen and normal close separately.
|
||||
|
||||
For each closed saved checkpoint: `python check.py --expected B --output-prefix runs/run-01/comparisons/01-source-escape` (use A1 where declared). Output prefixes must be fresh. The checker copies the saved source, invokes the pinned evaluator, compares complete Project JSON, and writes hash-bound receipts. Expectations must not be adapted to observations.
|
||||
|
||||
Load capture.js in the authorized GUI tool session and set `escapeRunRoot` to the exact current run directory. `captureEscapeState(name, note, freshlyObservedState)` writes create-new images/metadata bound to launch PID, start time, manifest and working-source hash. Root owns actual GUI inputs, immediate reobservations, focus/history attribution and close cause.
|
||||
|
||||
This package does not claim broader attachment acceptance, modal/keyboard accessibility coverage, another platform, or continuous input immutability. Its preparation does not launch the GUI or rerun a compiler.
|
||||
@@ -0,0 +1,53 @@
|
||||
// Immutable acceptance baseline: copy before editing. Stable IDs are deliberate.
|
||||
arcadia 7;
|
||||
project endpoint_acceptance "Harbor dispatch — attachment acceptance" id "ea202922-0033-4000-8000-000000000001" {
|
||||
description "Small native fixture for presentation-only endpoint editing. Names describe stored source-to-target direction.";
|
||||
oa_activity receive_report "Receive distress report" id "ea202922-0033-4000-8000-000000000010" { }
|
||||
oa_activity dispatch_crew "Dispatch rescue crew" id "ea202922-0033-4000-8000-000000000011" { }
|
||||
interaction dispatch_request "Dispatch request: Receive → Dispatch" id "ea202922-0033-4000-8000-000000000020" { source @receive_report; target @dispatch_crew; description "Semantic sentinel: retain this description and direction."; }
|
||||
sa_system controller "Rescue readiness controller" id "ea202922-0033-4000-8000-000000000030" { }
|
||||
sa_state_machine readiness "Rescue readiness" id "ea202922-0033-4000-8000-000000000031" { parent @controller; }
|
||||
sa_region main_region "Readiness region" id "ea202922-0033-4000-8000-000000000032" { parent @readiness; }
|
||||
sa_initial start "Startup" id "ea202922-0033-4000-8000-000000000033" { parent @main_region; }
|
||||
sa_state ready "Ready" id "ea202922-0033-4000-8000-000000000034" { parent @main_region; }
|
||||
sa_state active "Active" id "ea202922-0033-4000-8000-000000000035" { parent @main_region; }
|
||||
sa_choice decision "Dispatch decision" id "ea202922-0033-4000-8000-000000000036" { parent @main_region; }
|
||||
sa_final finished "Shutdown complete" id "ea202922-0033-4000-8000-000000000037" { parent @main_region; }
|
||||
state_transition initialize "Initialize: Startup → Ready" id "ea202922-0033-4000-8000-000000000040" { source @start; target @ready; transition_kind External; triggers []; trigger ""; guard ""; effects []; effect ""; }
|
||||
state_transition activate "Activate: Ready → Active" id "ea202922-0033-4000-8000-000000000041" { source @ready; target @active; transition_kind External; triggers []; trigger ""; guard "crew_assigned"; effects []; effect ""; }
|
||||
state_transition assess "Assess: Active → Decision" id "ea202922-0033-4000-8000-000000000042" { source @active; target @decision; transition_kind External; triggers []; trigger ""; guard ""; effects []; effect ""; }
|
||||
state_transition retry "Retry: Decision → Ready" id "ea202922-0033-4000-8000-000000000043" { source @decision; target @ready; transition_kind External; triggers []; trigger ""; guard "retry_requested"; effects []; effect ""; }
|
||||
state_transition finish "Finish: Decision → Shutdown" id "ea202922-0033-4000-8000-000000000044" { source @decision; target @finished; transition_kind External; triggers []; trigger ""; guard "else"; effects []; effect ""; }
|
||||
state_transition refresh "Refresh: Active → Active" id "ea202922-0033-4000-8000-000000000045" { source @active; target @active; transition_kind External; triggers []; trigger ""; guard "refresh_requested"; effects []; effect ""; }
|
||||
state_transition internal_check "Internal status check" id "ea202922-0033-4000-8000-000000000046" { source @active; target @active; transition_kind Internal; triggers []; trigger ""; guard ""; effects []; effect "Status unchanged"; }
|
||||
sa_function emit_status "Emit readiness status" id "ea202922-0033-4000-8000-000000000050" { }
|
||||
sa_function display_status "Display readiness status" id "ea202922-0033-4000-8000-000000000051" { }
|
||||
sa_port status_out "Status output" id "ea202922-0033-4000-8000-000000000052" { parent @emit_status; contract { FunctionOutput { outgoing_items []; }; }; }
|
||||
sa_port status_in "Status input" id "ea202922-0033-4000-8000-000000000053" { parent @display_status; contract { FunctionInput { incoming_items []; }; }; }
|
||||
functional_exchange status_exchange "Readiness status: Emit → Display" id "ea202922-0033-4000-8000-000000000054" { source @emit_status; target @display_status; source_port @status_out; target_port @status_in; items []; }
|
||||
diagram dispatch_view "01 Dispatch — edit attachments" id "ea202922-0033-4000-8000-000000000100" { layer Oa; projection FunctionalDataflow; routes [{ edge @dispatch_request; waypoints [{ x 440; y 340; }]; label { fraction 0.5; offset { x 12; y -18; }; }; source_attachment { side Right; offset 0.5; }; target_attachment { side Left; offset 0.6; }; }]; }
|
||||
diagram dispatch_reference "02 Dispatch — untouched reference" id "ea202922-0033-4000-8000-000000000101" { layer Oa; projection FunctionalDataflow; routes [{ edge @dispatch_request; target_attachment { side Bottom; offset 0.25; }; }]; }
|
||||
node dispatch_view_receive id "ea202922-0033-4000-8000-000000000110" { diagram @dispatch_view; element @receive_report; position { x 100; y 180; }; size { width 240; height 120; }; collapsed false; }
|
||||
node dispatch_view_dispatch id "ea202922-0033-4000-8000-000000000111" { diagram @dispatch_view; element @dispatch_crew; position { x 600; y 180; }; size { width 240; height 120; }; collapsed false; }
|
||||
node dispatch_reference_receive id "ea202922-0033-4000-8000-000000000120" { diagram @dispatch_reference; element @receive_report; position { x 100; y 180; }; size { width 240; height 120; }; collapsed false; }
|
||||
node dispatch_reference_dispatch id "ea202922-0033-4000-8000-000000000121" { diagram @dispatch_reference; element @dispatch_crew; position { x 600; y 180; }; size { width 240; height 120; }; collapsed false; }
|
||||
diagram readiness_view "03 Readiness — edit attachments" id "ea202922-0033-4000-8000-000000000200" { layer Sa; projection { StateMachine { machine @readiness; }; }; routes [{ edge @activate; waypoints [{ x 500; y 310; }]; label { fraction 0.5; offset { x 8; y -16; }; }; source_attachment { side Right; offset 0.5; }; target_attachment { side Left; offset 0.6; }; }, { edge @initialize; source_attachment { side Right; offset 0.5; }; }, { edge @finish; source_attachment { side Right; offset 0.5; }; }]; }
|
||||
diagram readiness_reference "04 Readiness — untouched reference" id "ea202922-0033-4000-8000-000000000201" { layer Sa; projection { StateMachine { machine @readiness; }; }; routes []; }
|
||||
node readiness_view_readiness id "ea202922-0033-4000-8000-000000000210" { diagram @readiness_view; element @readiness; position { x 40; y 40; }; size { width 980; height 590; }; collapsed false; }
|
||||
node readiness_view_main_region id "ea202922-0033-4000-8000-000000000211" { diagram @readiness_view; element @main_region; position { x 64; y 104; }; size { width 932; height 500; }; collapsed false; }
|
||||
node readiness_view_start id "ea202922-0033-4000-8000-000000000212" { diagram @readiness_view; element @start; position { x 110; y 252; }; size { width 20; height 20; }; collapsed false; }
|
||||
node readiness_view_ready id "ea202922-0033-4000-8000-000000000213" { diagram @readiness_view; element @ready; position { x 190; y 210; }; size { width 240; height 120; }; collapsed false; }
|
||||
node readiness_view_active id "ea202922-0033-4000-8000-000000000214" { diagram @readiness_view; element @active; position { x 570; y 210; }; size { width 240; height 140; }; collapsed false; }
|
||||
node readiness_view_decision id "ea202922-0033-4000-8000-000000000215" { diagram @readiness_view; element @decision; position { x 670; y 430; }; size { width 40; height 40; }; collapsed false; }
|
||||
node readiness_view_finished id "ea202922-0033-4000-8000-000000000216" { diagram @readiness_view; element @finished; position { x 880; y 440; }; size { width 24; height 24; }; collapsed false; }
|
||||
node readiness_reference_readiness id "ea202922-0033-4000-8000-000000000230" { diagram @readiness_reference; element @readiness; position { x 40; y 40; }; size { width 980; height 590; }; collapsed false; }
|
||||
node readiness_reference_main_region id "ea202922-0033-4000-8000-000000000231" { diagram @readiness_reference; element @main_region; position { x 64; y 104; }; size { width 932; height 500; }; collapsed false; }
|
||||
node readiness_reference_start id "ea202922-0033-4000-8000-000000000232" { diagram @readiness_reference; element @start; position { x 110; y 212; }; size { width 20; height 20; }; collapsed false; }
|
||||
node readiness_reference_ready id "ea202922-0033-4000-8000-000000000233" { diagram @readiness_reference; element @ready; position { x 190; y 170; }; size { width 240; height 120; }; collapsed false; }
|
||||
node readiness_reference_active id "ea202922-0033-4000-8000-000000000234" { diagram @readiness_reference; element @active; position { x 570; y 170; }; size { width 240; height 140; }; collapsed false; }
|
||||
node readiness_reference_decision id "ea202922-0033-4000-8000-000000000235" { diagram @readiness_reference; element @decision; position { x 670; y 430; }; size { width 40; height 40; }; collapsed false; }
|
||||
node readiness_reference_finished id "ea202922-0033-4000-8000-000000000236" { diagram @readiness_reference; element @finished; position { x 880; y 440; }; size { width 24; height 24; }; collapsed false; }
|
||||
diagram ports_view "05 Status — semantic ports regression" id "ea202922-0033-4000-8000-000000000300" { layer Sa; projection FunctionalDataflow; routes []; }
|
||||
node ports_emit id "ea202922-0033-4000-8000-000000000310" { diagram @ports_view; element @emit_status; position { x 100; y 180; }; size { width 240; height 120; }; collapsed false; port_anchors [{ port @status_out; side Right; offset 0.5; }]; }
|
||||
node ports_display id "ea202922-0033-4000-8000-000000000311" { diagram @ports_view; element @display_status; position { x 600; y 180; }; size { width 240; height 120; }; collapsed false; port_anchors [{ port @status_in; side Left; offset 0.5; }]; }
|
||||
}
|
||||
@@ -0,0 +1,860 @@
|
||||
{
|
||||
"schema_version": 7,
|
||||
"id": "ea202922-0033-4000-8000-000000000001",
|
||||
"alias": "endpoint_acceptance",
|
||||
"name": "Harbor dispatch — attachment acceptance",
|
||||
"description": "Small native fixture for presentation-only endpoint editing. Names describe stored source-to-target direction.",
|
||||
"elements": {
|
||||
"ea202922-0033-4000-8000-000000000010": {
|
||||
"id": "ea202922-0033-4000-8000-000000000010",
|
||||
"alias": "receive_report",
|
||||
"name": "Receive distress report",
|
||||
"description": "",
|
||||
"parent": null,
|
||||
"body": {
|
||||
"Oa": "Activity"
|
||||
}
|
||||
},
|
||||
"ea202922-0033-4000-8000-000000000011": {
|
||||
"id": "ea202922-0033-4000-8000-000000000011",
|
||||
"alias": "dispatch_crew",
|
||||
"name": "Dispatch rescue crew",
|
||||
"description": "",
|
||||
"parent": null,
|
||||
"body": {
|
||||
"Oa": "Activity"
|
||||
}
|
||||
},
|
||||
"ea202922-0033-4000-8000-000000000030": {
|
||||
"id": "ea202922-0033-4000-8000-000000000030",
|
||||
"alias": "controller",
|
||||
"name": "Rescue readiness controller",
|
||||
"description": "",
|
||||
"parent": null,
|
||||
"body": {
|
||||
"Sa": "System"
|
||||
}
|
||||
},
|
||||
"ea202922-0033-4000-8000-000000000031": {
|
||||
"id": "ea202922-0033-4000-8000-000000000031",
|
||||
"alias": "readiness",
|
||||
"name": "Rescue readiness",
|
||||
"description": "",
|
||||
"parent": "ea202922-0033-4000-8000-000000000030",
|
||||
"body": {
|
||||
"Sa": {
|
||||
"Shared": "StateMachine"
|
||||
}
|
||||
}
|
||||
},
|
||||
"ea202922-0033-4000-8000-000000000032": {
|
||||
"id": "ea202922-0033-4000-8000-000000000032",
|
||||
"alias": "main_region",
|
||||
"name": "Readiness region",
|
||||
"description": "",
|
||||
"parent": "ea202922-0033-4000-8000-000000000031",
|
||||
"body": {
|
||||
"Sa": {
|
||||
"Shared": "Region"
|
||||
}
|
||||
}
|
||||
},
|
||||
"ea202922-0033-4000-8000-000000000033": {
|
||||
"id": "ea202922-0033-4000-8000-000000000033",
|
||||
"alias": "start",
|
||||
"name": "Startup",
|
||||
"description": "",
|
||||
"parent": "ea202922-0033-4000-8000-000000000032",
|
||||
"body": {
|
||||
"Sa": {
|
||||
"Shared": {
|
||||
"State": {
|
||||
"kind": "Initial",
|
||||
"entry": "",
|
||||
"exit": "",
|
||||
"do_activity": ""
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"ea202922-0033-4000-8000-000000000034": {
|
||||
"id": "ea202922-0033-4000-8000-000000000034",
|
||||
"alias": "ready",
|
||||
"name": "Ready",
|
||||
"description": "",
|
||||
"parent": "ea202922-0033-4000-8000-000000000032",
|
||||
"body": {
|
||||
"Sa": {
|
||||
"Shared": {
|
||||
"State": {
|
||||
"kind": "State",
|
||||
"entry": "",
|
||||
"exit": "",
|
||||
"do_activity": ""
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"ea202922-0033-4000-8000-000000000035": {
|
||||
"id": "ea202922-0033-4000-8000-000000000035",
|
||||
"alias": "active",
|
||||
"name": "Active",
|
||||
"description": "",
|
||||
"parent": "ea202922-0033-4000-8000-000000000032",
|
||||
"body": {
|
||||
"Sa": {
|
||||
"Shared": {
|
||||
"State": {
|
||||
"kind": "State",
|
||||
"entry": "",
|
||||
"exit": "",
|
||||
"do_activity": ""
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"ea202922-0033-4000-8000-000000000036": {
|
||||
"id": "ea202922-0033-4000-8000-000000000036",
|
||||
"alias": "decision",
|
||||
"name": "Dispatch decision",
|
||||
"description": "",
|
||||
"parent": "ea202922-0033-4000-8000-000000000032",
|
||||
"body": {
|
||||
"Sa": {
|
||||
"Shared": {
|
||||
"State": {
|
||||
"kind": "Choice",
|
||||
"entry": "",
|
||||
"exit": "",
|
||||
"do_activity": ""
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"ea202922-0033-4000-8000-000000000037": {
|
||||
"id": "ea202922-0033-4000-8000-000000000037",
|
||||
"alias": "finished",
|
||||
"name": "Shutdown complete",
|
||||
"description": "",
|
||||
"parent": "ea202922-0033-4000-8000-000000000032",
|
||||
"body": {
|
||||
"Sa": {
|
||||
"Shared": {
|
||||
"State": {
|
||||
"kind": "Final",
|
||||
"entry": "",
|
||||
"exit": "",
|
||||
"do_activity": ""
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"ea202922-0033-4000-8000-000000000050": {
|
||||
"id": "ea202922-0033-4000-8000-000000000050",
|
||||
"alias": "emit_status",
|
||||
"name": "Emit readiness status",
|
||||
"description": "",
|
||||
"parent": null,
|
||||
"body": {
|
||||
"Sa": "Function"
|
||||
}
|
||||
},
|
||||
"ea202922-0033-4000-8000-000000000051": {
|
||||
"id": "ea202922-0033-4000-8000-000000000051",
|
||||
"alias": "display_status",
|
||||
"name": "Display readiness status",
|
||||
"description": "",
|
||||
"parent": null,
|
||||
"body": {
|
||||
"Sa": "Function"
|
||||
}
|
||||
},
|
||||
"ea202922-0033-4000-8000-000000000052": {
|
||||
"id": "ea202922-0033-4000-8000-000000000052",
|
||||
"alias": "status_out",
|
||||
"name": "Status output",
|
||||
"description": "",
|
||||
"parent": "ea202922-0033-4000-8000-000000000050",
|
||||
"body": {
|
||||
"Sa": {
|
||||
"Shared": {
|
||||
"Port": {
|
||||
"contract": {
|
||||
"FunctionOutput": {
|
||||
"outgoing_items": []
|
||||
}
|
||||
},
|
||||
"legacy": null
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"ea202922-0033-4000-8000-000000000053": {
|
||||
"id": "ea202922-0033-4000-8000-000000000053",
|
||||
"alias": "status_in",
|
||||
"name": "Status input",
|
||||
"description": "",
|
||||
"parent": "ea202922-0033-4000-8000-000000000051",
|
||||
"body": {
|
||||
"Sa": {
|
||||
"Shared": {
|
||||
"Port": {
|
||||
"contract": {
|
||||
"FunctionInput": {
|
||||
"incoming_items": []
|
||||
}
|
||||
},
|
||||
"legacy": null
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"relations": {
|
||||
"ea202922-0033-4000-8000-000000000020": {
|
||||
"id": "ea202922-0033-4000-8000-000000000020",
|
||||
"alias": "dispatch_request",
|
||||
"name": "Dispatch request: Receive → Dispatch",
|
||||
"description": "Semantic sentinel: retain this description and direction.",
|
||||
"body": {
|
||||
"Interaction": {
|
||||
"source": "ea202922-0033-4000-8000-000000000010",
|
||||
"target": "ea202922-0033-4000-8000-000000000011",
|
||||
"items": []
|
||||
}
|
||||
}
|
||||
},
|
||||
"ea202922-0033-4000-8000-000000000040": {
|
||||
"id": "ea202922-0033-4000-8000-000000000040",
|
||||
"alias": "initialize",
|
||||
"name": "Initialize: Startup → Ready",
|
||||
"description": "",
|
||||
"body": {
|
||||
"StateTransition": {
|
||||
"source": "ea202922-0033-4000-8000-000000000033",
|
||||
"target": "ea202922-0033-4000-8000-000000000034",
|
||||
"transition_kind": "External",
|
||||
"triggers": [],
|
||||
"effects": [],
|
||||
"trigger": "",
|
||||
"guard": "",
|
||||
"effect": ""
|
||||
}
|
||||
}
|
||||
},
|
||||
"ea202922-0033-4000-8000-000000000041": {
|
||||
"id": "ea202922-0033-4000-8000-000000000041",
|
||||
"alias": "activate",
|
||||
"name": "Activate: Ready → Active",
|
||||
"description": "",
|
||||
"body": {
|
||||
"StateTransition": {
|
||||
"source": "ea202922-0033-4000-8000-000000000034",
|
||||
"target": "ea202922-0033-4000-8000-000000000035",
|
||||
"transition_kind": "External",
|
||||
"triggers": [],
|
||||
"effects": [],
|
||||
"trigger": "",
|
||||
"guard": "crew_assigned",
|
||||
"effect": ""
|
||||
}
|
||||
}
|
||||
},
|
||||
"ea202922-0033-4000-8000-000000000042": {
|
||||
"id": "ea202922-0033-4000-8000-000000000042",
|
||||
"alias": "assess",
|
||||
"name": "Assess: Active → Decision",
|
||||
"description": "",
|
||||
"body": {
|
||||
"StateTransition": {
|
||||
"source": "ea202922-0033-4000-8000-000000000035",
|
||||
"target": "ea202922-0033-4000-8000-000000000036",
|
||||
"transition_kind": "External",
|
||||
"triggers": [],
|
||||
"effects": [],
|
||||
"trigger": "",
|
||||
"guard": "",
|
||||
"effect": ""
|
||||
}
|
||||
}
|
||||
},
|
||||
"ea202922-0033-4000-8000-000000000043": {
|
||||
"id": "ea202922-0033-4000-8000-000000000043",
|
||||
"alias": "retry",
|
||||
"name": "Retry: Decision → Ready",
|
||||
"description": "",
|
||||
"body": {
|
||||
"StateTransition": {
|
||||
"source": "ea202922-0033-4000-8000-000000000036",
|
||||
"target": "ea202922-0033-4000-8000-000000000034",
|
||||
"transition_kind": "External",
|
||||
"triggers": [],
|
||||
"effects": [],
|
||||
"trigger": "",
|
||||
"guard": "retry_requested",
|
||||
"effect": ""
|
||||
}
|
||||
}
|
||||
},
|
||||
"ea202922-0033-4000-8000-000000000044": {
|
||||
"id": "ea202922-0033-4000-8000-000000000044",
|
||||
"alias": "finish",
|
||||
"name": "Finish: Decision → Shutdown",
|
||||
"description": "",
|
||||
"body": {
|
||||
"StateTransition": {
|
||||
"source": "ea202922-0033-4000-8000-000000000036",
|
||||
"target": "ea202922-0033-4000-8000-000000000037",
|
||||
"transition_kind": "External",
|
||||
"triggers": [],
|
||||
"effects": [],
|
||||
"trigger": "",
|
||||
"guard": "else",
|
||||
"effect": ""
|
||||
}
|
||||
}
|
||||
},
|
||||
"ea202922-0033-4000-8000-000000000045": {
|
||||
"id": "ea202922-0033-4000-8000-000000000045",
|
||||
"alias": "refresh",
|
||||
"name": "Refresh: Active → Active",
|
||||
"description": "",
|
||||
"body": {
|
||||
"StateTransition": {
|
||||
"source": "ea202922-0033-4000-8000-000000000035",
|
||||
"target": "ea202922-0033-4000-8000-000000000035",
|
||||
"transition_kind": "External",
|
||||
"triggers": [],
|
||||
"effects": [],
|
||||
"trigger": "",
|
||||
"guard": "refresh_requested",
|
||||
"effect": ""
|
||||
}
|
||||
}
|
||||
},
|
||||
"ea202922-0033-4000-8000-000000000046": {
|
||||
"id": "ea202922-0033-4000-8000-000000000046",
|
||||
"alias": "internal_check",
|
||||
"name": "Internal status check",
|
||||
"description": "",
|
||||
"body": {
|
||||
"StateTransition": {
|
||||
"source": "ea202922-0033-4000-8000-000000000035",
|
||||
"target": "ea202922-0033-4000-8000-000000000035",
|
||||
"transition_kind": "Internal",
|
||||
"triggers": [],
|
||||
"effects": [],
|
||||
"trigger": "",
|
||||
"guard": "",
|
||||
"effect": "Status unchanged"
|
||||
}
|
||||
}
|
||||
},
|
||||
"ea202922-0033-4000-8000-000000000054": {
|
||||
"id": "ea202922-0033-4000-8000-000000000054",
|
||||
"alias": "status_exchange",
|
||||
"name": "Readiness status: Emit → Display",
|
||||
"description": "",
|
||||
"body": {
|
||||
"FunctionalExchange": {
|
||||
"source": "ea202922-0033-4000-8000-000000000050",
|
||||
"target": "ea202922-0033-4000-8000-000000000051",
|
||||
"source_port": "ea202922-0033-4000-8000-000000000052",
|
||||
"target_port": "ea202922-0033-4000-8000-000000000053",
|
||||
"items": []
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"diagrams": {
|
||||
"ea202922-0033-4000-8000-000000000100": {
|
||||
"id": "ea202922-0033-4000-8000-000000000100",
|
||||
"alias": "dispatch_view",
|
||||
"name": "01 Dispatch — edit attachments",
|
||||
"description": "",
|
||||
"layer": "Oa",
|
||||
"projection": "FunctionalDataflow",
|
||||
"view_options": {
|
||||
"hidden_edges": [],
|
||||
"relation_kinds": "All",
|
||||
"work_categories": "All",
|
||||
"participant_categories": "All",
|
||||
"coverage": "All",
|
||||
"work_contexts": "All",
|
||||
"exchange_labels": "Name"
|
||||
},
|
||||
"nodes": {
|
||||
"ea202922-0033-4000-8000-000000000110": {
|
||||
"id": "ea202922-0033-4000-8000-000000000110",
|
||||
"alias": "dispatch_view_receive",
|
||||
"element": "ea202922-0033-4000-8000-000000000010",
|
||||
"position": {
|
||||
"x": 100.0,
|
||||
"y": 180.0
|
||||
},
|
||||
"size": {
|
||||
"width": 240.0,
|
||||
"height": 120.0
|
||||
},
|
||||
"collapsed": false
|
||||
},
|
||||
"ea202922-0033-4000-8000-000000000111": {
|
||||
"id": "ea202922-0033-4000-8000-000000000111",
|
||||
"alias": "dispatch_view_dispatch",
|
||||
"element": "ea202922-0033-4000-8000-000000000011",
|
||||
"position": {
|
||||
"x": 600.0,
|
||||
"y": 180.0
|
||||
},
|
||||
"size": {
|
||||
"width": 240.0,
|
||||
"height": 120.0
|
||||
},
|
||||
"collapsed": false
|
||||
}
|
||||
},
|
||||
"routes": [
|
||||
{
|
||||
"edge": "ea202922-0033-4000-8000-000000000020",
|
||||
"source_attachment": {
|
||||
"side": "Right",
|
||||
"offset": 0.5
|
||||
},
|
||||
"target_attachment": {
|
||||
"side": "Left",
|
||||
"offset": 0.6
|
||||
},
|
||||
"waypoints": [
|
||||
{
|
||||
"x": 440.0,
|
||||
"y": 340.0
|
||||
}
|
||||
],
|
||||
"label": {
|
||||
"fraction": 0.5,
|
||||
"offset": {
|
||||
"x": 12.0,
|
||||
"y": -18.0
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
"ea202922-0033-4000-8000-000000000101": {
|
||||
"id": "ea202922-0033-4000-8000-000000000101",
|
||||
"alias": "dispatch_reference",
|
||||
"name": "02 Dispatch — untouched reference",
|
||||
"description": "",
|
||||
"layer": "Oa",
|
||||
"projection": "FunctionalDataflow",
|
||||
"view_options": {
|
||||
"hidden_edges": [],
|
||||
"relation_kinds": "All",
|
||||
"work_categories": "All",
|
||||
"participant_categories": "All",
|
||||
"coverage": "All",
|
||||
"work_contexts": "All",
|
||||
"exchange_labels": "Name"
|
||||
},
|
||||
"nodes": {
|
||||
"ea202922-0033-4000-8000-000000000120": {
|
||||
"id": "ea202922-0033-4000-8000-000000000120",
|
||||
"alias": "dispatch_reference_receive",
|
||||
"element": "ea202922-0033-4000-8000-000000000010",
|
||||
"position": {
|
||||
"x": 100.0,
|
||||
"y": 180.0
|
||||
},
|
||||
"size": {
|
||||
"width": 240.0,
|
||||
"height": 120.0
|
||||
},
|
||||
"collapsed": false
|
||||
},
|
||||
"ea202922-0033-4000-8000-000000000121": {
|
||||
"id": "ea202922-0033-4000-8000-000000000121",
|
||||
"alias": "dispatch_reference_dispatch",
|
||||
"element": "ea202922-0033-4000-8000-000000000011",
|
||||
"position": {
|
||||
"x": 600.0,
|
||||
"y": 180.0
|
||||
},
|
||||
"size": {
|
||||
"width": 240.0,
|
||||
"height": 120.0
|
||||
},
|
||||
"collapsed": false
|
||||
}
|
||||
},
|
||||
"routes": [
|
||||
{
|
||||
"edge": "ea202922-0033-4000-8000-000000000020",
|
||||
"target_attachment": {
|
||||
"side": "Bottom",
|
||||
"offset": 0.25
|
||||
},
|
||||
"waypoints": [],
|
||||
"label": null
|
||||
}
|
||||
]
|
||||
},
|
||||
"ea202922-0033-4000-8000-000000000200": {
|
||||
"id": "ea202922-0033-4000-8000-000000000200",
|
||||
"alias": "readiness_view",
|
||||
"name": "03 Readiness — edit attachments",
|
||||
"description": "",
|
||||
"layer": "Sa",
|
||||
"projection": {
|
||||
"StateMachine": {
|
||||
"machine": "ea202922-0033-4000-8000-000000000031"
|
||||
}
|
||||
},
|
||||
"view_options": {
|
||||
"hidden_edges": [],
|
||||
"relation_kinds": "All",
|
||||
"work_categories": "All",
|
||||
"participant_categories": "All",
|
||||
"coverage": "All",
|
||||
"work_contexts": "All",
|
||||
"exchange_labels": "Name"
|
||||
},
|
||||
"nodes": {
|
||||
"ea202922-0033-4000-8000-000000000210": {
|
||||
"id": "ea202922-0033-4000-8000-000000000210",
|
||||
"alias": "readiness_view_readiness",
|
||||
"element": "ea202922-0033-4000-8000-000000000031",
|
||||
"position": {
|
||||
"x": 40.0,
|
||||
"y": 40.0
|
||||
},
|
||||
"size": {
|
||||
"width": 980.0,
|
||||
"height": 590.0
|
||||
},
|
||||
"collapsed": false
|
||||
},
|
||||
"ea202922-0033-4000-8000-000000000211": {
|
||||
"id": "ea202922-0033-4000-8000-000000000211",
|
||||
"alias": "readiness_view_main_region",
|
||||
"element": "ea202922-0033-4000-8000-000000000032",
|
||||
"position": {
|
||||
"x": 64.0,
|
||||
"y": 104.0
|
||||
},
|
||||
"size": {
|
||||
"width": 932.0,
|
||||
"height": 500.0
|
||||
},
|
||||
"collapsed": false
|
||||
},
|
||||
"ea202922-0033-4000-8000-000000000212": {
|
||||
"id": "ea202922-0033-4000-8000-000000000212",
|
||||
"alias": "readiness_view_start",
|
||||
"element": "ea202922-0033-4000-8000-000000000033",
|
||||
"position": {
|
||||
"x": 110.0,
|
||||
"y": 252.0
|
||||
},
|
||||
"size": {
|
||||
"width": 20.0,
|
||||
"height": 20.0
|
||||
},
|
||||
"collapsed": false
|
||||
},
|
||||
"ea202922-0033-4000-8000-000000000213": {
|
||||
"id": "ea202922-0033-4000-8000-000000000213",
|
||||
"alias": "readiness_view_ready",
|
||||
"element": "ea202922-0033-4000-8000-000000000034",
|
||||
"position": {
|
||||
"x": 190.0,
|
||||
"y": 210.0
|
||||
},
|
||||
"size": {
|
||||
"width": 240.0,
|
||||
"height": 120.0
|
||||
},
|
||||
"collapsed": false
|
||||
},
|
||||
"ea202922-0033-4000-8000-000000000214": {
|
||||
"id": "ea202922-0033-4000-8000-000000000214",
|
||||
"alias": "readiness_view_active",
|
||||
"element": "ea202922-0033-4000-8000-000000000035",
|
||||
"position": {
|
||||
"x": 570.0,
|
||||
"y": 210.0
|
||||
},
|
||||
"size": {
|
||||
"width": 240.0,
|
||||
"height": 140.0
|
||||
},
|
||||
"collapsed": false
|
||||
},
|
||||
"ea202922-0033-4000-8000-000000000215": {
|
||||
"id": "ea202922-0033-4000-8000-000000000215",
|
||||
"alias": "readiness_view_decision",
|
||||
"element": "ea202922-0033-4000-8000-000000000036",
|
||||
"position": {
|
||||
"x": 670.0,
|
||||
"y": 430.0
|
||||
},
|
||||
"size": {
|
||||
"width": 40.0,
|
||||
"height": 40.0
|
||||
},
|
||||
"collapsed": false
|
||||
},
|
||||
"ea202922-0033-4000-8000-000000000216": {
|
||||
"id": "ea202922-0033-4000-8000-000000000216",
|
||||
"alias": "readiness_view_finished",
|
||||
"element": "ea202922-0033-4000-8000-000000000037",
|
||||
"position": {
|
||||
"x": 880.0,
|
||||
"y": 440.0
|
||||
},
|
||||
"size": {
|
||||
"width": 24.0,
|
||||
"height": 24.0
|
||||
},
|
||||
"collapsed": false
|
||||
}
|
||||
},
|
||||
"routes": [
|
||||
{
|
||||
"edge": "ea202922-0033-4000-8000-000000000041",
|
||||
"source_attachment": {
|
||||
"side": "Right",
|
||||
"offset": 0.5
|
||||
},
|
||||
"target_attachment": {
|
||||
"side": "Left",
|
||||
"offset": 0.6
|
||||
},
|
||||
"waypoints": [
|
||||
{
|
||||
"x": 500.0,
|
||||
"y": 310.0
|
||||
}
|
||||
],
|
||||
"label": {
|
||||
"fraction": 0.5,
|
||||
"offset": {
|
||||
"x": 8.0,
|
||||
"y": -16.0
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"edge": "ea202922-0033-4000-8000-000000000040",
|
||||
"source_attachment": {
|
||||
"side": "Right",
|
||||
"offset": 0.5
|
||||
},
|
||||
"waypoints": [],
|
||||
"label": null
|
||||
},
|
||||
{
|
||||
"edge": "ea202922-0033-4000-8000-000000000044",
|
||||
"source_attachment": {
|
||||
"side": "Right",
|
||||
"offset": 0.5
|
||||
},
|
||||
"waypoints": [],
|
||||
"label": null
|
||||
}
|
||||
]
|
||||
},
|
||||
"ea202922-0033-4000-8000-000000000201": {
|
||||
"id": "ea202922-0033-4000-8000-000000000201",
|
||||
"alias": "readiness_reference",
|
||||
"name": "04 Readiness — untouched reference",
|
||||
"description": "",
|
||||
"layer": "Sa",
|
||||
"projection": {
|
||||
"StateMachine": {
|
||||
"machine": "ea202922-0033-4000-8000-000000000031"
|
||||
}
|
||||
},
|
||||
"view_options": {
|
||||
"hidden_edges": [],
|
||||
"relation_kinds": "All",
|
||||
"work_categories": "All",
|
||||
"participant_categories": "All",
|
||||
"coverage": "All",
|
||||
"work_contexts": "All",
|
||||
"exchange_labels": "Name"
|
||||
},
|
||||
"nodes": {
|
||||
"ea202922-0033-4000-8000-000000000230": {
|
||||
"id": "ea202922-0033-4000-8000-000000000230",
|
||||
"alias": "readiness_reference_readiness",
|
||||
"element": "ea202922-0033-4000-8000-000000000031",
|
||||
"position": {
|
||||
"x": 40.0,
|
||||
"y": 40.0
|
||||
},
|
||||
"size": {
|
||||
"width": 980.0,
|
||||
"height": 590.0
|
||||
},
|
||||
"collapsed": false
|
||||
},
|
||||
"ea202922-0033-4000-8000-000000000231": {
|
||||
"id": "ea202922-0033-4000-8000-000000000231",
|
||||
"alias": "readiness_reference_main_region",
|
||||
"element": "ea202922-0033-4000-8000-000000000032",
|
||||
"position": {
|
||||
"x": 64.0,
|
||||
"y": 104.0
|
||||
},
|
||||
"size": {
|
||||
"width": 932.0,
|
||||
"height": 500.0
|
||||
},
|
||||
"collapsed": false
|
||||
},
|
||||
"ea202922-0033-4000-8000-000000000232": {
|
||||
"id": "ea202922-0033-4000-8000-000000000232",
|
||||
"alias": "readiness_reference_start",
|
||||
"element": "ea202922-0033-4000-8000-000000000033",
|
||||
"position": {
|
||||
"x": 110.0,
|
||||
"y": 212.0
|
||||
},
|
||||
"size": {
|
||||
"width": 20.0,
|
||||
"height": 20.0
|
||||
},
|
||||
"collapsed": false
|
||||
},
|
||||
"ea202922-0033-4000-8000-000000000233": {
|
||||
"id": "ea202922-0033-4000-8000-000000000233",
|
||||
"alias": "readiness_reference_ready",
|
||||
"element": "ea202922-0033-4000-8000-000000000034",
|
||||
"position": {
|
||||
"x": 190.0,
|
||||
"y": 170.0
|
||||
},
|
||||
"size": {
|
||||
"width": 240.0,
|
||||
"height": 120.0
|
||||
},
|
||||
"collapsed": false
|
||||
},
|
||||
"ea202922-0033-4000-8000-000000000234": {
|
||||
"id": "ea202922-0033-4000-8000-000000000234",
|
||||
"alias": "readiness_reference_active",
|
||||
"element": "ea202922-0033-4000-8000-000000000035",
|
||||
"position": {
|
||||
"x": 570.0,
|
||||
"y": 170.0
|
||||
},
|
||||
"size": {
|
||||
"width": 240.0,
|
||||
"height": 140.0
|
||||
},
|
||||
"collapsed": false
|
||||
},
|
||||
"ea202922-0033-4000-8000-000000000235": {
|
||||
"id": "ea202922-0033-4000-8000-000000000235",
|
||||
"alias": "readiness_reference_decision",
|
||||
"element": "ea202922-0033-4000-8000-000000000036",
|
||||
"position": {
|
||||
"x": 670.0,
|
||||
"y": 430.0
|
||||
},
|
||||
"size": {
|
||||
"width": 40.0,
|
||||
"height": 40.0
|
||||
},
|
||||
"collapsed": false
|
||||
},
|
||||
"ea202922-0033-4000-8000-000000000236": {
|
||||
"id": "ea202922-0033-4000-8000-000000000236",
|
||||
"alias": "readiness_reference_finished",
|
||||
"element": "ea202922-0033-4000-8000-000000000037",
|
||||
"position": {
|
||||
"x": 880.0,
|
||||
"y": 440.0
|
||||
},
|
||||
"size": {
|
||||
"width": 24.0,
|
||||
"height": 24.0
|
||||
},
|
||||
"collapsed": false
|
||||
}
|
||||
},
|
||||
"routes": []
|
||||
},
|
||||
"ea202922-0033-4000-8000-000000000300": {
|
||||
"id": "ea202922-0033-4000-8000-000000000300",
|
||||
"alias": "ports_view",
|
||||
"name": "05 Status — semantic ports regression",
|
||||
"description": "",
|
||||
"layer": "Sa",
|
||||
"projection": "FunctionalDataflow",
|
||||
"view_options": {
|
||||
"hidden_edges": [],
|
||||
"relation_kinds": "All",
|
||||
"work_categories": "All",
|
||||
"participant_categories": "All",
|
||||
"coverage": "All",
|
||||
"work_contexts": "All",
|
||||
"exchange_labels": "Name"
|
||||
},
|
||||
"nodes": {
|
||||
"ea202922-0033-4000-8000-000000000310": {
|
||||
"id": "ea202922-0033-4000-8000-000000000310",
|
||||
"alias": "ports_emit",
|
||||
"element": "ea202922-0033-4000-8000-000000000050",
|
||||
"position": {
|
||||
"x": 100.0,
|
||||
"y": 180.0
|
||||
},
|
||||
"size": {
|
||||
"width": 240.0,
|
||||
"height": 120.0
|
||||
},
|
||||
"collapsed": false,
|
||||
"port_anchors": [
|
||||
{
|
||||
"port": "ea202922-0033-4000-8000-000000000052",
|
||||
"side": "Right",
|
||||
"offset": 0.5
|
||||
}
|
||||
]
|
||||
},
|
||||
"ea202922-0033-4000-8000-000000000311": {
|
||||
"id": "ea202922-0033-4000-8000-000000000311",
|
||||
"alias": "ports_display",
|
||||
"element": "ea202922-0033-4000-8000-000000000051",
|
||||
"position": {
|
||||
"x": 600.0,
|
||||
"y": 180.0
|
||||
},
|
||||
"size": {
|
||||
"width": 240.0,
|
||||
"height": 120.0
|
||||
},
|
||||
"collapsed": false,
|
||||
"port_anchors": [
|
||||
{
|
||||
"port": "ea202922-0033-4000-8000-000000000053",
|
||||
"side": "Left",
|
||||
"offset": 0.5
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"routes": []
|
||||
}
|
||||
},
|
||||
"artifact_links": {},
|
||||
"traces": {}
|
||||
}
|
||||
@@ -0,0 +1,54 @@
|
||||
{
|
||||
"source_commit": "53d01a3d4451b94792986f2dfac56f6f04e111a4",
|
||||
"evaluator_source_commit": "3aa80de89c5b79200286926781e8f3a192bc61f4",
|
||||
"started_utc": "2026-09-23T02:32:45.384487+00:00",
|
||||
"finished_utc": "2026-09-23T02:32:51.616088+00:00",
|
||||
"expected": "B",
|
||||
"expected_file": {
|
||||
"path": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\edge-anchors-escape-native-20260923\\expected\\B.project.json",
|
||||
"bytes": 24594,
|
||||
"sha256": "149fcc554b5f41bc41bfa68f1f70edda73e8df868d92f7e1ee8020967b609d67"
|
||||
},
|
||||
"input": {
|
||||
"path": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\edge-anchors-escape-native-20260923\\working\\attachments.arcadia",
|
||||
"bytes": 9715,
|
||||
"sha256": "a05c43d13e9e65872f625456b45f30f8296069159de43c695793194beac7008d"
|
||||
},
|
||||
"evaluator": {
|
||||
"path": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\edge-anchors-escape-native-20260923\\package\\attachment_snapshot.exe",
|
||||
"bytes": 18957824,
|
||||
"sha256": "4062f5f1301cb39c182ede32dfa928cdb75a14159c3660a375205d680388b110"
|
||||
},
|
||||
"manifest": {
|
||||
"path": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\edge-anchors-escape-native-20260923\\input-manifest.json",
|
||||
"bytes": 857940,
|
||||
"sha256": "450e15cc94899acfc5c30e005099c1dbbe9a9703e5aca9a8863eab620cfc7943"
|
||||
},
|
||||
"exit_code": 0,
|
||||
"failure": null,
|
||||
"inputs_unchanged": true,
|
||||
"full_project_exact": true,
|
||||
"artifacts": [
|
||||
{
|
||||
"path": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\edge-anchors-escape-native-20260923\\preflight\\baseline.arcadia",
|
||||
"bytes": 9715,
|
||||
"sha256": "a05c43d13e9e65872f625456b45f30f8296069159de43c695793194beac7008d"
|
||||
},
|
||||
{
|
||||
"path": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\edge-anchors-escape-native-20260923\\preflight\\baseline.project.json",
|
||||
"bytes": 24594,
|
||||
"sha256": "149fcc554b5f41bc41bfa68f1f70edda73e8df868d92f7e1ee8020967b609d67"
|
||||
},
|
||||
{
|
||||
"path": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\edge-anchors-escape-native-20260923\\preflight\\baseline.stdout.log",
|
||||
"bytes": 68,
|
||||
"sha256": "e128921d6c122c4a430aced7b98253b11641137c5e088899b0ed87a8f5469c93"
|
||||
},
|
||||
{
|
||||
"path": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\edge-anchors-escape-native-20260923\\preflight\\baseline.stderr.log",
|
||||
"bytes": 0,
|
||||
"sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
|
||||
}
|
||||
],
|
||||
"scope": "Complete saved Project only; no native action/editor/history/camera claim"
|
||||
}
|
||||
@@ -0,0 +1 @@
|
||||
Validated 49 objects and 5 views; saved a complete Project snapshot
|
||||
@@ -0,0 +1,25 @@
|
||||
{
|
||||
"source_commit": "53d01a3d4451b94792986f2dfac56f6f04e111a4",
|
||||
"original_gate_output": {
|
||||
"path": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\target\\debug\\arcadia-studio.exe",
|
||||
"bytes": 117221376,
|
||||
"sha256": "9c7aa0249378cec31639bbbff5ea7b3eaab782333d1637b8ab5e8f3be5d65d2c"
|
||||
},
|
||||
"preserved_artifact": {
|
||||
"path": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\edge-anchors-escape-gates-20260923\\artifacts\\arcadia-studio.exe",
|
||||
"bytes": 117221376,
|
||||
"sha256": "9c7aa0249378cec31639bbbff5ea7b3eaab782333d1637b8ab5e8f3be5d65d2c"
|
||||
},
|
||||
"package": {
|
||||
"path": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\edge-anchors-escape-native-20260923\\package\\arcadia-studio.exe",
|
||||
"bytes": 117221376,
|
||||
"sha256": "9c7aa0249378cec31639bbbff5ea7b3eaab782333d1637b8ab5e8f3be5d65d2c"
|
||||
},
|
||||
"reason": "The corrected build overwrote a shared target output transitively bound by the original native stage. Parent preserved this exact corrected artifact, then restored the original target from its old staged package. This stage binds the preserved artifact, never the mutable shared target.",
|
||||
"incident": {
|
||||
"path": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\edge-anchors-native-20260922\\runs\\run-02\\shared-build-artifact-incident.json",
|
||||
"bytes": 1051,
|
||||
"sha256": "bacd25b20a2f3a88a87958e69a2382d78557fba95a4adc80b0eb5d3e316c703b"
|
||||
},
|
||||
"original_active_run_untouched": true
|
||||
}
|
||||
@@ -0,0 +1,20 @@
|
||||
{
|
||||
"source_commit": "53d01a3d4451b94792986f2dfac56f6f04e111a4",
|
||||
"evaluator_source_commit": "3aa80de89c5b79200286926781e8f3a192bc61f4",
|
||||
"evaluator": {
|
||||
"path": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\edge-anchors-native-20260922\\package\\attachment_snapshot.exe",
|
||||
"bytes": 18957824,
|
||||
"sha256": "4062f5f1301cb39c182ede32dfa928cdb75a14159c3660a375205d680388b110"
|
||||
},
|
||||
"original_gate": {
|
||||
"path": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\edge-anchor-gates-20260922\\frozen-02\\result.json",
|
||||
"bytes": 6353,
|
||||
"sha256": "25c3534d9f05c8c06356f0a31fd95e01712fe2dddc01887ea4ba11b7e6ec5643"
|
||||
},
|
||||
"same_committed_paths": [
|
||||
"crates/oa-core",
|
||||
"Cargo.lock",
|
||||
"Cargo.toml"
|
||||
],
|
||||
"scope": "Original admitted core evaluator reused for full Project parsing; no corrected evaluator build claim"
|
||||
}
|
||||
|
After Width: | Height: | Size: 138 KiB |
@@ -0,0 +1,29 @@
|
||||
{
|
||||
"utc": "2026-09-23T02:55:10.521Z",
|
||||
"source_commit": "53d01a3d4451b94792986f2dfac56f6f04e111a4",
|
||||
"launch_sha256": "a0eff5333d97d589ece2a3b2541ef959ed79e865fa985cc4ea3ed7a5034c907a",
|
||||
"pid": 6396,
|
||||
"process_started_utc": "2026-09-23T02:44:34.4571737Z",
|
||||
"manifest_sha256": "450e15cc94899acfc5c30e005099c1dbbe9a9703e5aca9a8863eab620cfc7943",
|
||||
"window": {
|
||||
"app": "process:C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\edge-anchors-escape-native-20260923\\package\\arcadia-studio.exe",
|
||||
"id": 656272,
|
||||
"title": "Harbor dispatch — attachment acceptance — Arcadia Studio"
|
||||
},
|
||||
"images": [
|
||||
{
|
||||
"file": "00-state-baseline.jpg",
|
||||
"id": "screenshot-0",
|
||||
"width": 1442,
|
||||
"height": 932,
|
||||
"originX": 137,
|
||||
"originY": 130,
|
||||
"zIndex": 0,
|
||||
"mime": "image/jpeg",
|
||||
"bytes": 141216,
|
||||
"sha256": "5ca5ac1168fc5db91165db98e9d271e34fd976923b434c4f8c59900578d1657f"
|
||||
}
|
||||
],
|
||||
"working_source_sha256": "a05c43d13e9e65872f625456b45f30f8296069159de43c695793194beac7008d",
|
||||
"note": "Corrected source53d, fresh B State view before endpoint cancellation checks."
|
||||
}
|
||||
|
After Width: | Height: | Size: 139 KiB |
@@ -0,0 +1,29 @@
|
||||
{
|
||||
"utc": "2026-09-23T02:55:56.977Z",
|
||||
"source_commit": "53d01a3d4451b94792986f2dfac56f6f04e111a4",
|
||||
"launch_sha256": "a0eff5333d97d589ece2a3b2541ef959ed79e865fa985cc4ea3ed7a5034c907a",
|
||||
"pid": 6396,
|
||||
"process_started_utc": "2026-09-23T02:44:34.4571737Z",
|
||||
"manifest_sha256": "450e15cc94899acfc5c30e005099c1dbbe9a9703e5aca9a8863eab620cfc7943",
|
||||
"window": {
|
||||
"app": "process:C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\edge-anchors-escape-native-20260923\\package\\arcadia-studio.exe",
|
||||
"id": 656272,
|
||||
"title": "Harbor dispatch — attachment acceptance — Arcadia Studio"
|
||||
},
|
||||
"images": [
|
||||
{
|
||||
"file": "01-source-armed.jpg",
|
||||
"id": "screenshot-0",
|
||||
"width": 1442,
|
||||
"height": 932,
|
||||
"originX": 137,
|
||||
"originY": 130,
|
||||
"zIndex": 0,
|
||||
"mime": "image/jpeg",
|
||||
"bytes": 142363,
|
||||
"sha256": "b3745306b6a813325aa4b80a4dc48872479c544f72bddd3961b7d1d3a475c732"
|
||||
}
|
||||
],
|
||||
"working_source_sha256": "a05c43d13e9e65872f625456b45f30f8296069159de43c695793194beac7008d",
|
||||
"note": "Source adjustment armed by context menu; no intervening canvas click before next Escape."
|
||||
}
|
||||
|
After Width: | Height: | Size: 139 KiB |
@@ -0,0 +1,29 @@
|
||||
{
|
||||
"utc": "2026-09-23T02:56:11.368Z",
|
||||
"source_commit": "53d01a3d4451b94792986f2dfac56f6f04e111a4",
|
||||
"launch_sha256": "a0eff5333d97d589ece2a3b2541ef959ed79e865fa985cc4ea3ed7a5034c907a",
|
||||
"pid": 6396,
|
||||
"process_started_utc": "2026-09-23T02:44:34.4571737Z",
|
||||
"manifest_sha256": "450e15cc94899acfc5c30e005099c1dbbe9a9703e5aca9a8863eab620cfc7943",
|
||||
"window": {
|
||||
"app": "process:C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\edge-anchors-escape-native-20260923\\package\\arcadia-studio.exe",
|
||||
"id": 656272,
|
||||
"title": "Harbor dispatch — attachment acceptance — Arcadia Studio"
|
||||
},
|
||||
"images": [
|
||||
{
|
||||
"file": "02-source-escape-select.jpg",
|
||||
"id": "screenshot-0",
|
||||
"width": 1442,
|
||||
"height": 932,
|
||||
"originX": 137,
|
||||
"originY": 130,
|
||||
"zIndex": 0,
|
||||
"mime": "image/jpeg",
|
||||
"bytes": 142528,
|
||||
"sha256": "0ca328d8e712d090038527969c052e8995fff313f42808d8eba5c5b52368cda9"
|
||||
}
|
||||
],
|
||||
"working_source_sha256": "a05c43d13e9e65872f625456b45f30f8296069159de43c695793194beac7008d",
|
||||
"note": "Immediate Escape returns to Select/move with no canvas click; no source mutation shown."
|
||||
}
|
||||
|
After Width: | Height: | Size: 139 KiB |
@@ -0,0 +1,29 @@
|
||||
{
|
||||
"utc": "2026-09-23T02:57:04.896Z",
|
||||
"source_commit": "53d01a3d4451b94792986f2dfac56f6f04e111a4",
|
||||
"launch_sha256": "a0eff5333d97d589ece2a3b2541ef959ed79e865fa985cc4ea3ed7a5034c907a",
|
||||
"pid": 6396,
|
||||
"process_started_utc": "2026-09-23T02:44:34.4571737Z",
|
||||
"manifest_sha256": "450e15cc94899acfc5c30e005099c1dbbe9a9703e5aca9a8863eab620cfc7943",
|
||||
"window": {
|
||||
"app": "process:C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\edge-anchors-escape-native-20260923\\package\\arcadia-studio.exe",
|
||||
"id": 656272,
|
||||
"title": "Harbor dispatch — attachment acceptance — Arcadia Studio"
|
||||
},
|
||||
"images": [
|
||||
{
|
||||
"file": "03-target-armed.jpg",
|
||||
"id": "screenshot-0",
|
||||
"width": 1442,
|
||||
"height": 932,
|
||||
"originX": 137,
|
||||
"originY": 130,
|
||||
"zIndex": 0,
|
||||
"mime": "image/jpeg",
|
||||
"bytes": 142391,
|
||||
"sha256": "125d6e6ef092fb24923fe2dcfc77ace3bb528f39699d4290230e2f83bcf63620"
|
||||
}
|
||||
],
|
||||
"working_source_sha256": "a05c43d13e9e65872f625456b45f30f8296069159de43c695793194beac7008d",
|
||||
"note": "Target adjustment armed by menu; Escape follows without canvas click."
|
||||
}
|
||||
|
After Width: | Height: | Size: 139 KiB |
@@ -0,0 +1,29 @@
|
||||
{
|
||||
"utc": "2026-09-23T02:57:20.751Z",
|
||||
"source_commit": "53d01a3d4451b94792986f2dfac56f6f04e111a4",
|
||||
"launch_sha256": "a0eff5333d97d589ece2a3b2541ef959ed79e865fa985cc4ea3ed7a5034c907a",
|
||||
"pid": 6396,
|
||||
"process_started_utc": "2026-09-23T02:44:34.4571737Z",
|
||||
"manifest_sha256": "450e15cc94899acfc5c30e005099c1dbbe9a9703e5aca9a8863eab620cfc7943",
|
||||
"window": {
|
||||
"app": "process:C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\edge-anchors-escape-native-20260923\\package\\arcadia-studio.exe",
|
||||
"id": 656272,
|
||||
"title": "Harbor dispatch — attachment acceptance — Arcadia Studio"
|
||||
},
|
||||
"images": [
|
||||
{
|
||||
"file": "04-target-escape-select.jpg",
|
||||
"id": "screenshot-0",
|
||||
"width": 1442,
|
||||
"height": 932,
|
||||
"originX": 137,
|
||||
"originY": 130,
|
||||
"zIndex": 0,
|
||||
"mime": "image/jpeg",
|
||||
"bytes": 142456,
|
||||
"sha256": "4b509d0ffe4d75bfe3b05443723cce87712fd5f21901596e4daf10cfd0b377c9"
|
||||
}
|
||||
],
|
||||
"working_source_sha256": "a05c43d13e9e65872f625456b45f30f8296069159de43c695793194beac7008d",
|
||||
"note": "Target immediate Escape also returns to Select/move without intervening canvas click."
|
||||
}
|
||||
|
After Width: | Height: | Size: 140 KiB |
@@ -0,0 +1,29 @@
|
||||
{
|
||||
"utc": "2026-09-23T02:58:36.205Z",
|
||||
"source_commit": "53d01a3d4451b94792986f2dfac56f6f04e111a4",
|
||||
"launch_sha256": "a0eff5333d97d589ece2a3b2541ef959ed79e865fa985cc4ea3ed7a5034c907a",
|
||||
"pid": 6396,
|
||||
"process_started_utc": "2026-09-23T02:44:34.4571737Z",
|
||||
"manifest_sha256": "450e15cc94899acfc5c30e005099c1dbbe9a9703e5aca9a8863eab620cfc7943",
|
||||
"window": {
|
||||
"app": "process:C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\edge-anchors-escape-native-20260923\\package\\arcadia-studio.exe",
|
||||
"id": 656272,
|
||||
"title": "Harbor dispatch — attachment acceptance * — Arcadia Studio"
|
||||
},
|
||||
"images": [
|
||||
{
|
||||
"file": "05-source-top-quarter.jpg",
|
||||
"id": "screenshot-0",
|
||||
"width": 1442,
|
||||
"height": 932,
|
||||
"originX": 137,
|
||||
"originY": 130,
|
||||
"zIndex": 0,
|
||||
"mime": "image/jpeg",
|
||||
"bytes": 143043,
|
||||
"sha256": "ed7780e6f5206835eb34f399ca9e216b16ff1028156563720edb957c265f619d"
|
||||
}
|
||||
],
|
||||
"working_source_sha256": "a05c43d13e9e65872f625456b45f30f8296069159de43c695793194beac7008d",
|
||||
"note": "Source endpoint dragged from right center to top quarter; target and route pin visually retained."
|
||||
}
|
||||
|
After Width: | Height: | Size: 137 KiB |
@@ -0,0 +1,29 @@
|
||||
{
|
||||
"utc": "2026-09-23T02:59:16.292Z",
|
||||
"source_commit": "53d01a3d4451b94792986f2dfac56f6f04e111a4",
|
||||
"launch_sha256": "a0eff5333d97d589ece2a3b2541ef959ed79e865fa985cc4ea3ed7a5034c907a",
|
||||
"pid": 6396,
|
||||
"process_started_utc": "2026-09-23T02:44:34.4571737Z",
|
||||
"manifest_sha256": "450e15cc94899acfc5c30e005099c1dbbe9a9703e5aca9a8863eab620cfc7943",
|
||||
"window": {
|
||||
"app": "process:C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\edge-anchors-escape-native-20260923\\package\\arcadia-studio.exe",
|
||||
"id": 656272,
|
||||
"title": "Harbor dispatch — attachment acceptance * — Arcadia Studio"
|
||||
},
|
||||
"images": [
|
||||
{
|
||||
"file": "06-undo.jpg",
|
||||
"id": "screenshot-0",
|
||||
"width": 1442,
|
||||
"height": 932,
|
||||
"originX": 137,
|
||||
"originY": 130,
|
||||
"zIndex": 0,
|
||||
"mime": "image/jpeg",
|
||||
"bytes": 140069,
|
||||
"sha256": "9a454b2144c2357b7e188e14eb58568b2245f4c2321e7b3537d8c5d4b0e7440e"
|
||||
}
|
||||
],
|
||||
"working_source_sha256": "41295c41e3b0b95073dba8c6e828ce310f097195a41f68d47a8ae4f2b7ab2aad",
|
||||
"note": "One Undo restores baseline source attachment."
|
||||
}
|
||||
|
After Width: | Height: | Size: 138 KiB |
@@ -0,0 +1,29 @@
|
||||
{
|
||||
"utc": "2026-09-23T02:59:50.345Z",
|
||||
"source_commit": "53d01a3d4451b94792986f2dfac56f6f04e111a4",
|
||||
"launch_sha256": "a0eff5333d97d589ece2a3b2541ef959ed79e865fa985cc4ea3ed7a5034c907a",
|
||||
"pid": 6396,
|
||||
"process_started_utc": "2026-09-23T02:44:34.4571737Z",
|
||||
"manifest_sha256": "450e15cc94899acfc5c30e005099c1dbbe9a9703e5aca9a8863eab620cfc7943",
|
||||
"window": {
|
||||
"app": "process:C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\edge-anchors-escape-native-20260923\\package\\arcadia-studio.exe",
|
||||
"id": 656272,
|
||||
"title": "Harbor dispatch — attachment acceptance * — Arcadia Studio"
|
||||
},
|
||||
"images": [
|
||||
{
|
||||
"file": "07-redo.jpg",
|
||||
"id": "screenshot-0",
|
||||
"width": 1442,
|
||||
"height": 932,
|
||||
"originX": 137,
|
||||
"originY": 130,
|
||||
"zIndex": 0,
|
||||
"mime": "image/jpeg",
|
||||
"bytes": 141706,
|
||||
"sha256": "6ba27bff465321e43a706b1ba5f1baa02af8762e65259e0807723655a5666120"
|
||||
}
|
||||
],
|
||||
"working_source_sha256": "a05c43d13e9e65872f625456b45f30f8296069159de43c695793194beac7008d",
|
||||
"note": "One Redo restores edited source attachment."
|
||||
}
|
||||
|
After Width: | Height: | Size: 138 KiB |
@@ -0,0 +1,29 @@
|
||||
{
|
||||
"utc": "2026-09-23T03:00:12.201Z",
|
||||
"source_commit": "53d01a3d4451b94792986f2dfac56f6f04e111a4",
|
||||
"launch_sha256": "a0eff5333d97d589ece2a3b2541ef959ed79e865fa985cc4ea3ed7a5034c907a",
|
||||
"pid": 6396,
|
||||
"process_started_utc": "2026-09-23T02:44:34.4571737Z",
|
||||
"manifest_sha256": "450e15cc94899acfc5c30e005099c1dbbe9a9703e5aca9a8863eab620cfc7943",
|
||||
"window": {
|
||||
"app": "process:C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\edge-anchors-escape-native-20260923\\package\\arcadia-studio.exe",
|
||||
"id": 656272,
|
||||
"title": "Harbor dispatch — attachment acceptance — Arcadia Studio"
|
||||
},
|
||||
"images": [
|
||||
{
|
||||
"file": "08-saved-final.jpg",
|
||||
"id": "screenshot-0",
|
||||
"width": 1442,
|
||||
"height": 932,
|
||||
"originX": 137,
|
||||
"originY": 130,
|
||||
"zIndex": 0,
|
||||
"mime": "image/jpeg",
|
||||
"bytes": 141555,
|
||||
"sha256": "e49ec9dc14ffb858324960b480709b34a7dc0bc5c27181e1e122cce935672723"
|
||||
}
|
||||
],
|
||||
"working_source_sha256": "41295c41e3b0b95073dba8c6e828ce310f097195a41f68d47a8ae4f2b7ab2aad",
|
||||
"note": "All changes saved; A1 full Project verified. Normal Alt+F4 close follows."
|
||||
}
|
||||
@@ -0,0 +1,53 @@
|
||||
// Immutable acceptance baseline: copy before editing. Stable IDs are deliberate.
|
||||
arcadia 7;
|
||||
project endpoint_acceptance "Harbor dispatch — attachment acceptance" id "ea202922-0033-4000-8000-000000000001" {
|
||||
description "Small native fixture for presentation-only endpoint editing. Names describe stored source-to-target direction.";
|
||||
oa_activity receive_report "Receive distress report" id "ea202922-0033-4000-8000-000000000010" { }
|
||||
oa_activity dispatch_crew "Dispatch rescue crew" id "ea202922-0033-4000-8000-000000000011" { }
|
||||
interaction dispatch_request "Dispatch request: Receive → Dispatch" id "ea202922-0033-4000-8000-000000000020" { source @receive_report; target @dispatch_crew; description "Semantic sentinel: retain this description and direction."; }
|
||||
sa_system controller "Rescue readiness controller" id "ea202922-0033-4000-8000-000000000030" { }
|
||||
sa_state_machine readiness "Rescue readiness" id "ea202922-0033-4000-8000-000000000031" { parent @controller; }
|
||||
sa_region main_region "Readiness region" id "ea202922-0033-4000-8000-000000000032" { parent @readiness; }
|
||||
sa_initial start "Startup" id "ea202922-0033-4000-8000-000000000033" { parent @main_region; }
|
||||
sa_state ready "Ready" id "ea202922-0033-4000-8000-000000000034" { parent @main_region; }
|
||||
sa_state active "Active" id "ea202922-0033-4000-8000-000000000035" { parent @main_region; }
|
||||
sa_choice decision "Dispatch decision" id "ea202922-0033-4000-8000-000000000036" { parent @main_region; }
|
||||
sa_final finished "Shutdown complete" id "ea202922-0033-4000-8000-000000000037" { parent @main_region; }
|
||||
state_transition initialize "Initialize: Startup → Ready" id "ea202922-0033-4000-8000-000000000040" { source @start; target @ready; transition_kind External; triggers []; trigger ""; guard ""; effects []; effect ""; }
|
||||
state_transition activate "Activate: Ready → Active" id "ea202922-0033-4000-8000-000000000041" { source @ready; target @active; transition_kind External; triggers []; trigger ""; guard "crew_assigned"; effects []; effect ""; }
|
||||
state_transition assess "Assess: Active → Decision" id "ea202922-0033-4000-8000-000000000042" { source @active; target @decision; transition_kind External; triggers []; trigger ""; guard ""; effects []; effect ""; }
|
||||
state_transition retry "Retry: Decision → Ready" id "ea202922-0033-4000-8000-000000000043" { source @decision; target @ready; transition_kind External; triggers []; trigger ""; guard "retry_requested"; effects []; effect ""; }
|
||||
state_transition finish "Finish: Decision → Shutdown" id "ea202922-0033-4000-8000-000000000044" { source @decision; target @finished; transition_kind External; triggers []; trigger ""; guard "else"; effects []; effect ""; }
|
||||
state_transition refresh "Refresh: Active → Active" id "ea202922-0033-4000-8000-000000000045" { source @active; target @active; transition_kind External; triggers []; trigger ""; guard "refresh_requested"; effects []; effect ""; }
|
||||
state_transition internal_check "Internal status check" id "ea202922-0033-4000-8000-000000000046" { source @active; target @active; transition_kind Internal; triggers []; trigger ""; guard ""; effects []; effect "Status unchanged"; }
|
||||
sa_function emit_status "Emit readiness status" id "ea202922-0033-4000-8000-000000000050" { }
|
||||
sa_function display_status "Display readiness status" id "ea202922-0033-4000-8000-000000000051" { }
|
||||
sa_port status_out "Status output" id "ea202922-0033-4000-8000-000000000052" { parent @emit_status; contract { FunctionOutput { outgoing_items []; }; }; }
|
||||
sa_port status_in "Status input" id "ea202922-0033-4000-8000-000000000053" { parent @display_status; contract { FunctionInput { incoming_items []; }; }; }
|
||||
functional_exchange status_exchange "Readiness status: Emit → Display" id "ea202922-0033-4000-8000-000000000054" { source @emit_status; target @display_status; source_port @status_out; target_port @status_in; items []; }
|
||||
diagram dispatch_view "01 Dispatch — edit attachments" id "ea202922-0033-4000-8000-000000000100" { layer Oa; projection FunctionalDataflow; routes [{ edge @dispatch_request; waypoints [{ x 440; y 340; }]; label { fraction 0.5; offset { x 12; y -18; }; }; source_attachment { side Right; offset 0.5; }; target_attachment { side Left; offset 0.6; }; }]; }
|
||||
diagram dispatch_reference "02 Dispatch — untouched reference" id "ea202922-0033-4000-8000-000000000101" { layer Oa; projection FunctionalDataflow; routes [{ edge @dispatch_request; target_attachment { side Bottom; offset 0.25; }; }]; }
|
||||
node dispatch_view_receive id "ea202922-0033-4000-8000-000000000110" { diagram @dispatch_view; element @receive_report; position { x 100; y 180; }; size { width 240; height 120; }; collapsed false; }
|
||||
node dispatch_view_dispatch id "ea202922-0033-4000-8000-000000000111" { diagram @dispatch_view; element @dispatch_crew; position { x 600; y 180; }; size { width 240; height 120; }; collapsed false; }
|
||||
node dispatch_reference_receive id "ea202922-0033-4000-8000-000000000120" { diagram @dispatch_reference; element @receive_report; position { x 100; y 180; }; size { width 240; height 120; }; collapsed false; }
|
||||
node dispatch_reference_dispatch id "ea202922-0033-4000-8000-000000000121" { diagram @dispatch_reference; element @dispatch_crew; position { x 600; y 180; }; size { width 240; height 120; }; collapsed false; }
|
||||
diagram readiness_view "03 Readiness — edit attachments" id "ea202922-0033-4000-8000-000000000200" { layer Sa; projection { StateMachine { machine @readiness; }; }; routes [{ edge @activate; waypoints [{ x 500; y 310; }]; label { fraction 0.5; offset { x 8; y -16; }; }; source_attachment { side Right; offset 0.5; }; target_attachment { side Left; offset 0.6; }; }, { edge @initialize; source_attachment { side Right; offset 0.5; }; }, { edge @finish; source_attachment { side Right; offset 0.5; }; }]; }
|
||||
diagram readiness_reference "04 Readiness — untouched reference" id "ea202922-0033-4000-8000-000000000201" { layer Sa; projection { StateMachine { machine @readiness; }; }; routes []; }
|
||||
node readiness_view_readiness id "ea202922-0033-4000-8000-000000000210" { diagram @readiness_view; element @readiness; position { x 40; y 40; }; size { width 980; height 590; }; collapsed false; }
|
||||
node readiness_view_main_region id "ea202922-0033-4000-8000-000000000211" { diagram @readiness_view; element @main_region; position { x 64; y 104; }; size { width 932; height 500; }; collapsed false; }
|
||||
node readiness_view_start id "ea202922-0033-4000-8000-000000000212" { diagram @readiness_view; element @start; position { x 110; y 252; }; size { width 20; height 20; }; collapsed false; }
|
||||
node readiness_view_ready id "ea202922-0033-4000-8000-000000000213" { diagram @readiness_view; element @ready; position { x 190; y 210; }; size { width 240; height 120; }; collapsed false; }
|
||||
node readiness_view_active id "ea202922-0033-4000-8000-000000000214" { diagram @readiness_view; element @active; position { x 570; y 210; }; size { width 240; height 140; }; collapsed false; }
|
||||
node readiness_view_decision id "ea202922-0033-4000-8000-000000000215" { diagram @readiness_view; element @decision; position { x 670; y 430; }; size { width 40; height 40; }; collapsed false; }
|
||||
node readiness_view_finished id "ea202922-0033-4000-8000-000000000216" { diagram @readiness_view; element @finished; position { x 880; y 440; }; size { width 24; height 24; }; collapsed false; }
|
||||
node readiness_reference_readiness id "ea202922-0033-4000-8000-000000000230" { diagram @readiness_reference; element @readiness; position { x 40; y 40; }; size { width 980; height 590; }; collapsed false; }
|
||||
node readiness_reference_main_region id "ea202922-0033-4000-8000-000000000231" { diagram @readiness_reference; element @main_region; position { x 64; y 104; }; size { width 932; height 500; }; collapsed false; }
|
||||
node readiness_reference_start id "ea202922-0033-4000-8000-000000000232" { diagram @readiness_reference; element @start; position { x 110; y 212; }; size { width 20; height 20; }; collapsed false; }
|
||||
node readiness_reference_ready id "ea202922-0033-4000-8000-000000000233" { diagram @readiness_reference; element @ready; position { x 190; y 170; }; size { width 240; height 120; }; collapsed false; }
|
||||
node readiness_reference_active id "ea202922-0033-4000-8000-000000000234" { diagram @readiness_reference; element @active; position { x 570; y 170; }; size { width 240; height 140; }; collapsed false; }
|
||||
node readiness_reference_decision id "ea202922-0033-4000-8000-000000000235" { diagram @readiness_reference; element @decision; position { x 670; y 430; }; size { width 40; height 40; }; collapsed false; }
|
||||
node readiness_reference_finished id "ea202922-0033-4000-8000-000000000236" { diagram @readiness_reference; element @finished; position { x 880; y 440; }; size { width 24; height 24; }; collapsed false; }
|
||||
diagram ports_view "05 Status — semantic ports regression" id "ea202922-0033-4000-8000-000000000300" { layer Sa; projection FunctionalDataflow; routes []; }
|
||||
node ports_emit id "ea202922-0033-4000-8000-000000000310" { diagram @ports_view; element @emit_status; position { x 100; y 180; }; size { width 240; height 120; }; collapsed false; port_anchors [{ port @status_out; side Right; offset 0.5; }]; }
|
||||
node ports_display id "ea202922-0033-4000-8000-000000000311" { diagram @ports_view; element @display_status; position { x 600; y 180; }; size { width 240; height 120; }; collapsed false; port_anchors [{ port @status_in; side Left; offset 0.5; }]; }
|
||||
}
|
||||
@@ -0,0 +1,860 @@
|
||||
{
|
||||
"schema_version": 7,
|
||||
"id": "ea202922-0033-4000-8000-000000000001",
|
||||
"alias": "endpoint_acceptance",
|
||||
"name": "Harbor dispatch — attachment acceptance",
|
||||
"description": "Small native fixture for presentation-only endpoint editing. Names describe stored source-to-target direction.",
|
||||
"elements": {
|
||||
"ea202922-0033-4000-8000-000000000010": {
|
||||
"id": "ea202922-0033-4000-8000-000000000010",
|
||||
"alias": "receive_report",
|
||||
"name": "Receive distress report",
|
||||
"description": "",
|
||||
"parent": null,
|
||||
"body": {
|
||||
"Oa": "Activity"
|
||||
}
|
||||
},
|
||||
"ea202922-0033-4000-8000-000000000011": {
|
||||
"id": "ea202922-0033-4000-8000-000000000011",
|
||||
"alias": "dispatch_crew",
|
||||
"name": "Dispatch rescue crew",
|
||||
"description": "",
|
||||
"parent": null,
|
||||
"body": {
|
||||
"Oa": "Activity"
|
||||
}
|
||||
},
|
||||
"ea202922-0033-4000-8000-000000000030": {
|
||||
"id": "ea202922-0033-4000-8000-000000000030",
|
||||
"alias": "controller",
|
||||
"name": "Rescue readiness controller",
|
||||
"description": "",
|
||||
"parent": null,
|
||||
"body": {
|
||||
"Sa": "System"
|
||||
}
|
||||
},
|
||||
"ea202922-0033-4000-8000-000000000031": {
|
||||
"id": "ea202922-0033-4000-8000-000000000031",
|
||||
"alias": "readiness",
|
||||
"name": "Rescue readiness",
|
||||
"description": "",
|
||||
"parent": "ea202922-0033-4000-8000-000000000030",
|
||||
"body": {
|
||||
"Sa": {
|
||||
"Shared": "StateMachine"
|
||||
}
|
||||
}
|
||||
},
|
||||
"ea202922-0033-4000-8000-000000000032": {
|
||||
"id": "ea202922-0033-4000-8000-000000000032",
|
||||
"alias": "main_region",
|
||||
"name": "Readiness region",
|
||||
"description": "",
|
||||
"parent": "ea202922-0033-4000-8000-000000000031",
|
||||
"body": {
|
||||
"Sa": {
|
||||
"Shared": "Region"
|
||||
}
|
||||
}
|
||||
},
|
||||
"ea202922-0033-4000-8000-000000000033": {
|
||||
"id": "ea202922-0033-4000-8000-000000000033",
|
||||
"alias": "start",
|
||||
"name": "Startup",
|
||||
"description": "",
|
||||
"parent": "ea202922-0033-4000-8000-000000000032",
|
||||
"body": {
|
||||
"Sa": {
|
||||
"Shared": {
|
||||
"State": {
|
||||
"kind": "Initial",
|
||||
"entry": "",
|
||||
"exit": "",
|
||||
"do_activity": ""
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"ea202922-0033-4000-8000-000000000034": {
|
||||
"id": "ea202922-0033-4000-8000-000000000034",
|
||||
"alias": "ready",
|
||||
"name": "Ready",
|
||||
"description": "",
|
||||
"parent": "ea202922-0033-4000-8000-000000000032",
|
||||
"body": {
|
||||
"Sa": {
|
||||
"Shared": {
|
||||
"State": {
|
||||
"kind": "State",
|
||||
"entry": "",
|
||||
"exit": "",
|
||||
"do_activity": ""
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"ea202922-0033-4000-8000-000000000035": {
|
||||
"id": "ea202922-0033-4000-8000-000000000035",
|
||||
"alias": "active",
|
||||
"name": "Active",
|
||||
"description": "",
|
||||
"parent": "ea202922-0033-4000-8000-000000000032",
|
||||
"body": {
|
||||
"Sa": {
|
||||
"Shared": {
|
||||
"State": {
|
||||
"kind": "State",
|
||||
"entry": "",
|
||||
"exit": "",
|
||||
"do_activity": ""
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"ea202922-0033-4000-8000-000000000036": {
|
||||
"id": "ea202922-0033-4000-8000-000000000036",
|
||||
"alias": "decision",
|
||||
"name": "Dispatch decision",
|
||||
"description": "",
|
||||
"parent": "ea202922-0033-4000-8000-000000000032",
|
||||
"body": {
|
||||
"Sa": {
|
||||
"Shared": {
|
||||
"State": {
|
||||
"kind": "Choice",
|
||||
"entry": "",
|
||||
"exit": "",
|
||||
"do_activity": ""
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"ea202922-0033-4000-8000-000000000037": {
|
||||
"id": "ea202922-0033-4000-8000-000000000037",
|
||||
"alias": "finished",
|
||||
"name": "Shutdown complete",
|
||||
"description": "",
|
||||
"parent": "ea202922-0033-4000-8000-000000000032",
|
||||
"body": {
|
||||
"Sa": {
|
||||
"Shared": {
|
||||
"State": {
|
||||
"kind": "Final",
|
||||
"entry": "",
|
||||
"exit": "",
|
||||
"do_activity": ""
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"ea202922-0033-4000-8000-000000000050": {
|
||||
"id": "ea202922-0033-4000-8000-000000000050",
|
||||
"alias": "emit_status",
|
||||
"name": "Emit readiness status",
|
||||
"description": "",
|
||||
"parent": null,
|
||||
"body": {
|
||||
"Sa": "Function"
|
||||
}
|
||||
},
|
||||
"ea202922-0033-4000-8000-000000000051": {
|
||||
"id": "ea202922-0033-4000-8000-000000000051",
|
||||
"alias": "display_status",
|
||||
"name": "Display readiness status",
|
||||
"description": "",
|
||||
"parent": null,
|
||||
"body": {
|
||||
"Sa": "Function"
|
||||
}
|
||||
},
|
||||
"ea202922-0033-4000-8000-000000000052": {
|
||||
"id": "ea202922-0033-4000-8000-000000000052",
|
||||
"alias": "status_out",
|
||||
"name": "Status output",
|
||||
"description": "",
|
||||
"parent": "ea202922-0033-4000-8000-000000000050",
|
||||
"body": {
|
||||
"Sa": {
|
||||
"Shared": {
|
||||
"Port": {
|
||||
"contract": {
|
||||
"FunctionOutput": {
|
||||
"outgoing_items": []
|
||||
}
|
||||
},
|
||||
"legacy": null
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"ea202922-0033-4000-8000-000000000053": {
|
||||
"id": "ea202922-0033-4000-8000-000000000053",
|
||||
"alias": "status_in",
|
||||
"name": "Status input",
|
||||
"description": "",
|
||||
"parent": "ea202922-0033-4000-8000-000000000051",
|
||||
"body": {
|
||||
"Sa": {
|
||||
"Shared": {
|
||||
"Port": {
|
||||
"contract": {
|
||||
"FunctionInput": {
|
||||
"incoming_items": []
|
||||
}
|
||||
},
|
||||
"legacy": null
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"relations": {
|
||||
"ea202922-0033-4000-8000-000000000020": {
|
||||
"id": "ea202922-0033-4000-8000-000000000020",
|
||||
"alias": "dispatch_request",
|
||||
"name": "Dispatch request: Receive → Dispatch",
|
||||
"description": "Semantic sentinel: retain this description and direction.",
|
||||
"body": {
|
||||
"Interaction": {
|
||||
"source": "ea202922-0033-4000-8000-000000000010",
|
||||
"target": "ea202922-0033-4000-8000-000000000011",
|
||||
"items": []
|
||||
}
|
||||
}
|
||||
},
|
||||
"ea202922-0033-4000-8000-000000000040": {
|
||||
"id": "ea202922-0033-4000-8000-000000000040",
|
||||
"alias": "initialize",
|
||||
"name": "Initialize: Startup → Ready",
|
||||
"description": "",
|
||||
"body": {
|
||||
"StateTransition": {
|
||||
"source": "ea202922-0033-4000-8000-000000000033",
|
||||
"target": "ea202922-0033-4000-8000-000000000034",
|
||||
"transition_kind": "External",
|
||||
"triggers": [],
|
||||
"effects": [],
|
||||
"trigger": "",
|
||||
"guard": "",
|
||||
"effect": ""
|
||||
}
|
||||
}
|
||||
},
|
||||
"ea202922-0033-4000-8000-000000000041": {
|
||||
"id": "ea202922-0033-4000-8000-000000000041",
|
||||
"alias": "activate",
|
||||
"name": "Activate: Ready → Active",
|
||||
"description": "",
|
||||
"body": {
|
||||
"StateTransition": {
|
||||
"source": "ea202922-0033-4000-8000-000000000034",
|
||||
"target": "ea202922-0033-4000-8000-000000000035",
|
||||
"transition_kind": "External",
|
||||
"triggers": [],
|
||||
"effects": [],
|
||||
"trigger": "",
|
||||
"guard": "crew_assigned",
|
||||
"effect": ""
|
||||
}
|
||||
}
|
||||
},
|
||||
"ea202922-0033-4000-8000-000000000042": {
|
||||
"id": "ea202922-0033-4000-8000-000000000042",
|
||||
"alias": "assess",
|
||||
"name": "Assess: Active → Decision",
|
||||
"description": "",
|
||||
"body": {
|
||||
"StateTransition": {
|
||||
"source": "ea202922-0033-4000-8000-000000000035",
|
||||
"target": "ea202922-0033-4000-8000-000000000036",
|
||||
"transition_kind": "External",
|
||||
"triggers": [],
|
||||
"effects": [],
|
||||
"trigger": "",
|
||||
"guard": "",
|
||||
"effect": ""
|
||||
}
|
||||
}
|
||||
},
|
||||
"ea202922-0033-4000-8000-000000000043": {
|
||||
"id": "ea202922-0033-4000-8000-000000000043",
|
||||
"alias": "retry",
|
||||
"name": "Retry: Decision → Ready",
|
||||
"description": "",
|
||||
"body": {
|
||||
"StateTransition": {
|
||||
"source": "ea202922-0033-4000-8000-000000000036",
|
||||
"target": "ea202922-0033-4000-8000-000000000034",
|
||||
"transition_kind": "External",
|
||||
"triggers": [],
|
||||
"effects": [],
|
||||
"trigger": "",
|
||||
"guard": "retry_requested",
|
||||
"effect": ""
|
||||
}
|
||||
}
|
||||
},
|
||||
"ea202922-0033-4000-8000-000000000044": {
|
||||
"id": "ea202922-0033-4000-8000-000000000044",
|
||||
"alias": "finish",
|
||||
"name": "Finish: Decision → Shutdown",
|
||||
"description": "",
|
||||
"body": {
|
||||
"StateTransition": {
|
||||
"source": "ea202922-0033-4000-8000-000000000036",
|
||||
"target": "ea202922-0033-4000-8000-000000000037",
|
||||
"transition_kind": "External",
|
||||
"triggers": [],
|
||||
"effects": [],
|
||||
"trigger": "",
|
||||
"guard": "else",
|
||||
"effect": ""
|
||||
}
|
||||
}
|
||||
},
|
||||
"ea202922-0033-4000-8000-000000000045": {
|
||||
"id": "ea202922-0033-4000-8000-000000000045",
|
||||
"alias": "refresh",
|
||||
"name": "Refresh: Active → Active",
|
||||
"description": "",
|
||||
"body": {
|
||||
"StateTransition": {
|
||||
"source": "ea202922-0033-4000-8000-000000000035",
|
||||
"target": "ea202922-0033-4000-8000-000000000035",
|
||||
"transition_kind": "External",
|
||||
"triggers": [],
|
||||
"effects": [],
|
||||
"trigger": "",
|
||||
"guard": "refresh_requested",
|
||||
"effect": ""
|
||||
}
|
||||
}
|
||||
},
|
||||
"ea202922-0033-4000-8000-000000000046": {
|
||||
"id": "ea202922-0033-4000-8000-000000000046",
|
||||
"alias": "internal_check",
|
||||
"name": "Internal status check",
|
||||
"description": "",
|
||||
"body": {
|
||||
"StateTransition": {
|
||||
"source": "ea202922-0033-4000-8000-000000000035",
|
||||
"target": "ea202922-0033-4000-8000-000000000035",
|
||||
"transition_kind": "Internal",
|
||||
"triggers": [],
|
||||
"effects": [],
|
||||
"trigger": "",
|
||||
"guard": "",
|
||||
"effect": "Status unchanged"
|
||||
}
|
||||
}
|
||||
},
|
||||
"ea202922-0033-4000-8000-000000000054": {
|
||||
"id": "ea202922-0033-4000-8000-000000000054",
|
||||
"alias": "status_exchange",
|
||||
"name": "Readiness status: Emit → Display",
|
||||
"description": "",
|
||||
"body": {
|
||||
"FunctionalExchange": {
|
||||
"source": "ea202922-0033-4000-8000-000000000050",
|
||||
"target": "ea202922-0033-4000-8000-000000000051",
|
||||
"source_port": "ea202922-0033-4000-8000-000000000052",
|
||||
"target_port": "ea202922-0033-4000-8000-000000000053",
|
||||
"items": []
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"diagrams": {
|
||||
"ea202922-0033-4000-8000-000000000100": {
|
||||
"id": "ea202922-0033-4000-8000-000000000100",
|
||||
"alias": "dispatch_view",
|
||||
"name": "01 Dispatch — edit attachments",
|
||||
"description": "",
|
||||
"layer": "Oa",
|
||||
"projection": "FunctionalDataflow",
|
||||
"view_options": {
|
||||
"hidden_edges": [],
|
||||
"relation_kinds": "All",
|
||||
"work_categories": "All",
|
||||
"participant_categories": "All",
|
||||
"coverage": "All",
|
||||
"work_contexts": "All",
|
||||
"exchange_labels": "Name"
|
||||
},
|
||||
"nodes": {
|
||||
"ea202922-0033-4000-8000-000000000110": {
|
||||
"id": "ea202922-0033-4000-8000-000000000110",
|
||||
"alias": "dispatch_view_receive",
|
||||
"element": "ea202922-0033-4000-8000-000000000010",
|
||||
"position": {
|
||||
"x": 100.0,
|
||||
"y": 180.0
|
||||
},
|
||||
"size": {
|
||||
"width": 240.0,
|
||||
"height": 120.0
|
||||
},
|
||||
"collapsed": false
|
||||
},
|
||||
"ea202922-0033-4000-8000-000000000111": {
|
||||
"id": "ea202922-0033-4000-8000-000000000111",
|
||||
"alias": "dispatch_view_dispatch",
|
||||
"element": "ea202922-0033-4000-8000-000000000011",
|
||||
"position": {
|
||||
"x": 600.0,
|
||||
"y": 180.0
|
||||
},
|
||||
"size": {
|
||||
"width": 240.0,
|
||||
"height": 120.0
|
||||
},
|
||||
"collapsed": false
|
||||
}
|
||||
},
|
||||
"routes": [
|
||||
{
|
||||
"edge": "ea202922-0033-4000-8000-000000000020",
|
||||
"source_attachment": {
|
||||
"side": "Right",
|
||||
"offset": 0.5
|
||||
},
|
||||
"target_attachment": {
|
||||
"side": "Left",
|
||||
"offset": 0.6
|
||||
},
|
||||
"waypoints": [
|
||||
{
|
||||
"x": 440.0,
|
||||
"y": 340.0
|
||||
}
|
||||
],
|
||||
"label": {
|
||||
"fraction": 0.5,
|
||||
"offset": {
|
||||
"x": 12.0,
|
||||
"y": -18.0
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
"ea202922-0033-4000-8000-000000000101": {
|
||||
"id": "ea202922-0033-4000-8000-000000000101",
|
||||
"alias": "dispatch_reference",
|
||||
"name": "02 Dispatch — untouched reference",
|
||||
"description": "",
|
||||
"layer": "Oa",
|
||||
"projection": "FunctionalDataflow",
|
||||
"view_options": {
|
||||
"hidden_edges": [],
|
||||
"relation_kinds": "All",
|
||||
"work_categories": "All",
|
||||
"participant_categories": "All",
|
||||
"coverage": "All",
|
||||
"work_contexts": "All",
|
||||
"exchange_labels": "Name"
|
||||
},
|
||||
"nodes": {
|
||||
"ea202922-0033-4000-8000-000000000120": {
|
||||
"id": "ea202922-0033-4000-8000-000000000120",
|
||||
"alias": "dispatch_reference_receive",
|
||||
"element": "ea202922-0033-4000-8000-000000000010",
|
||||
"position": {
|
||||
"x": 100.0,
|
||||
"y": 180.0
|
||||
},
|
||||
"size": {
|
||||
"width": 240.0,
|
||||
"height": 120.0
|
||||
},
|
||||
"collapsed": false
|
||||
},
|
||||
"ea202922-0033-4000-8000-000000000121": {
|
||||
"id": "ea202922-0033-4000-8000-000000000121",
|
||||
"alias": "dispatch_reference_dispatch",
|
||||
"element": "ea202922-0033-4000-8000-000000000011",
|
||||
"position": {
|
||||
"x": 600.0,
|
||||
"y": 180.0
|
||||
},
|
||||
"size": {
|
||||
"width": 240.0,
|
||||
"height": 120.0
|
||||
},
|
||||
"collapsed": false
|
||||
}
|
||||
},
|
||||
"routes": [
|
||||
{
|
||||
"edge": "ea202922-0033-4000-8000-000000000020",
|
||||
"target_attachment": {
|
||||
"side": "Bottom",
|
||||
"offset": 0.25
|
||||
},
|
||||
"waypoints": [],
|
||||
"label": null
|
||||
}
|
||||
]
|
||||
},
|
||||
"ea202922-0033-4000-8000-000000000200": {
|
||||
"id": "ea202922-0033-4000-8000-000000000200",
|
||||
"alias": "readiness_view",
|
||||
"name": "03 Readiness — edit attachments",
|
||||
"description": "",
|
||||
"layer": "Sa",
|
||||
"projection": {
|
||||
"StateMachine": {
|
||||
"machine": "ea202922-0033-4000-8000-000000000031"
|
||||
}
|
||||
},
|
||||
"view_options": {
|
||||
"hidden_edges": [],
|
||||
"relation_kinds": "All",
|
||||
"work_categories": "All",
|
||||
"participant_categories": "All",
|
||||
"coverage": "All",
|
||||
"work_contexts": "All",
|
||||
"exchange_labels": "Name"
|
||||
},
|
||||
"nodes": {
|
||||
"ea202922-0033-4000-8000-000000000210": {
|
||||
"id": "ea202922-0033-4000-8000-000000000210",
|
||||
"alias": "readiness_view_readiness",
|
||||
"element": "ea202922-0033-4000-8000-000000000031",
|
||||
"position": {
|
||||
"x": 40.0,
|
||||
"y": 40.0
|
||||
},
|
||||
"size": {
|
||||
"width": 980.0,
|
||||
"height": 590.0
|
||||
},
|
||||
"collapsed": false
|
||||
},
|
||||
"ea202922-0033-4000-8000-000000000211": {
|
||||
"id": "ea202922-0033-4000-8000-000000000211",
|
||||
"alias": "readiness_view_main_region",
|
||||
"element": "ea202922-0033-4000-8000-000000000032",
|
||||
"position": {
|
||||
"x": 64.0,
|
||||
"y": 104.0
|
||||
},
|
||||
"size": {
|
||||
"width": 932.0,
|
||||
"height": 500.0
|
||||
},
|
||||
"collapsed": false
|
||||
},
|
||||
"ea202922-0033-4000-8000-000000000212": {
|
||||
"id": "ea202922-0033-4000-8000-000000000212",
|
||||
"alias": "readiness_view_start",
|
||||
"element": "ea202922-0033-4000-8000-000000000033",
|
||||
"position": {
|
||||
"x": 110.0,
|
||||
"y": 252.0
|
||||
},
|
||||
"size": {
|
||||
"width": 20.0,
|
||||
"height": 20.0
|
||||
},
|
||||
"collapsed": false
|
||||
},
|
||||
"ea202922-0033-4000-8000-000000000213": {
|
||||
"id": "ea202922-0033-4000-8000-000000000213",
|
||||
"alias": "readiness_view_ready",
|
||||
"element": "ea202922-0033-4000-8000-000000000034",
|
||||
"position": {
|
||||
"x": 190.0,
|
||||
"y": 210.0
|
||||
},
|
||||
"size": {
|
||||
"width": 240.0,
|
||||
"height": 120.0
|
||||
},
|
||||
"collapsed": false
|
||||
},
|
||||
"ea202922-0033-4000-8000-000000000214": {
|
||||
"id": "ea202922-0033-4000-8000-000000000214",
|
||||
"alias": "readiness_view_active",
|
||||
"element": "ea202922-0033-4000-8000-000000000035",
|
||||
"position": {
|
||||
"x": 570.0,
|
||||
"y": 210.0
|
||||
},
|
||||
"size": {
|
||||
"width": 240.0,
|
||||
"height": 140.0
|
||||
},
|
||||
"collapsed": false
|
||||
},
|
||||
"ea202922-0033-4000-8000-000000000215": {
|
||||
"id": "ea202922-0033-4000-8000-000000000215",
|
||||
"alias": "readiness_view_decision",
|
||||
"element": "ea202922-0033-4000-8000-000000000036",
|
||||
"position": {
|
||||
"x": 670.0,
|
||||
"y": 430.0
|
||||
},
|
||||
"size": {
|
||||
"width": 40.0,
|
||||
"height": 40.0
|
||||
},
|
||||
"collapsed": false
|
||||
},
|
||||
"ea202922-0033-4000-8000-000000000216": {
|
||||
"id": "ea202922-0033-4000-8000-000000000216",
|
||||
"alias": "readiness_view_finished",
|
||||
"element": "ea202922-0033-4000-8000-000000000037",
|
||||
"position": {
|
||||
"x": 880.0,
|
||||
"y": 440.0
|
||||
},
|
||||
"size": {
|
||||
"width": 24.0,
|
||||
"height": 24.0
|
||||
},
|
||||
"collapsed": false
|
||||
}
|
||||
},
|
||||
"routes": [
|
||||
{
|
||||
"edge": "ea202922-0033-4000-8000-000000000041",
|
||||
"source_attachment": {
|
||||
"side": "Right",
|
||||
"offset": 0.5
|
||||
},
|
||||
"target_attachment": {
|
||||
"side": "Left",
|
||||
"offset": 0.6
|
||||
},
|
||||
"waypoints": [
|
||||
{
|
||||
"x": 500.0,
|
||||
"y": 310.0
|
||||
}
|
||||
],
|
||||
"label": {
|
||||
"fraction": 0.5,
|
||||
"offset": {
|
||||
"x": 8.0,
|
||||
"y": -16.0
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"edge": "ea202922-0033-4000-8000-000000000040",
|
||||
"source_attachment": {
|
||||
"side": "Right",
|
||||
"offset": 0.5
|
||||
},
|
||||
"waypoints": [],
|
||||
"label": null
|
||||
},
|
||||
{
|
||||
"edge": "ea202922-0033-4000-8000-000000000044",
|
||||
"source_attachment": {
|
||||
"side": "Right",
|
||||
"offset": 0.5
|
||||
},
|
||||
"waypoints": [],
|
||||
"label": null
|
||||
}
|
||||
]
|
||||
},
|
||||
"ea202922-0033-4000-8000-000000000201": {
|
||||
"id": "ea202922-0033-4000-8000-000000000201",
|
||||
"alias": "readiness_reference",
|
||||
"name": "04 Readiness — untouched reference",
|
||||
"description": "",
|
||||
"layer": "Sa",
|
||||
"projection": {
|
||||
"StateMachine": {
|
||||
"machine": "ea202922-0033-4000-8000-000000000031"
|
||||
}
|
||||
},
|
||||
"view_options": {
|
||||
"hidden_edges": [],
|
||||
"relation_kinds": "All",
|
||||
"work_categories": "All",
|
||||
"participant_categories": "All",
|
||||
"coverage": "All",
|
||||
"work_contexts": "All",
|
||||
"exchange_labels": "Name"
|
||||
},
|
||||
"nodes": {
|
||||
"ea202922-0033-4000-8000-000000000230": {
|
||||
"id": "ea202922-0033-4000-8000-000000000230",
|
||||
"alias": "readiness_reference_readiness",
|
||||
"element": "ea202922-0033-4000-8000-000000000031",
|
||||
"position": {
|
||||
"x": 40.0,
|
||||
"y": 40.0
|
||||
},
|
||||
"size": {
|
||||
"width": 980.0,
|
||||
"height": 590.0
|
||||
},
|
||||
"collapsed": false
|
||||
},
|
||||
"ea202922-0033-4000-8000-000000000231": {
|
||||
"id": "ea202922-0033-4000-8000-000000000231",
|
||||
"alias": "readiness_reference_main_region",
|
||||
"element": "ea202922-0033-4000-8000-000000000032",
|
||||
"position": {
|
||||
"x": 64.0,
|
||||
"y": 104.0
|
||||
},
|
||||
"size": {
|
||||
"width": 932.0,
|
||||
"height": 500.0
|
||||
},
|
||||
"collapsed": false
|
||||
},
|
||||
"ea202922-0033-4000-8000-000000000232": {
|
||||
"id": "ea202922-0033-4000-8000-000000000232",
|
||||
"alias": "readiness_reference_start",
|
||||
"element": "ea202922-0033-4000-8000-000000000033",
|
||||
"position": {
|
||||
"x": 110.0,
|
||||
"y": 212.0
|
||||
},
|
||||
"size": {
|
||||
"width": 20.0,
|
||||
"height": 20.0
|
||||
},
|
||||
"collapsed": false
|
||||
},
|
||||
"ea202922-0033-4000-8000-000000000233": {
|
||||
"id": "ea202922-0033-4000-8000-000000000233",
|
||||
"alias": "readiness_reference_ready",
|
||||
"element": "ea202922-0033-4000-8000-000000000034",
|
||||
"position": {
|
||||
"x": 190.0,
|
||||
"y": 170.0
|
||||
},
|
||||
"size": {
|
||||
"width": 240.0,
|
||||
"height": 120.0
|
||||
},
|
||||
"collapsed": false
|
||||
},
|
||||
"ea202922-0033-4000-8000-000000000234": {
|
||||
"id": "ea202922-0033-4000-8000-000000000234",
|
||||
"alias": "readiness_reference_active",
|
||||
"element": "ea202922-0033-4000-8000-000000000035",
|
||||
"position": {
|
||||
"x": 570.0,
|
||||
"y": 170.0
|
||||
},
|
||||
"size": {
|
||||
"width": 240.0,
|
||||
"height": 140.0
|
||||
},
|
||||
"collapsed": false
|
||||
},
|
||||
"ea202922-0033-4000-8000-000000000235": {
|
||||
"id": "ea202922-0033-4000-8000-000000000235",
|
||||
"alias": "readiness_reference_decision",
|
||||
"element": "ea202922-0033-4000-8000-000000000036",
|
||||
"position": {
|
||||
"x": 670.0,
|
||||
"y": 430.0
|
||||
},
|
||||
"size": {
|
||||
"width": 40.0,
|
||||
"height": 40.0
|
||||
},
|
||||
"collapsed": false
|
||||
},
|
||||
"ea202922-0033-4000-8000-000000000236": {
|
||||
"id": "ea202922-0033-4000-8000-000000000236",
|
||||
"alias": "readiness_reference_finished",
|
||||
"element": "ea202922-0033-4000-8000-000000000037",
|
||||
"position": {
|
||||
"x": 880.0,
|
||||
"y": 440.0
|
||||
},
|
||||
"size": {
|
||||
"width": 24.0,
|
||||
"height": 24.0
|
||||
},
|
||||
"collapsed": false
|
||||
}
|
||||
},
|
||||
"routes": []
|
||||
},
|
||||
"ea202922-0033-4000-8000-000000000300": {
|
||||
"id": "ea202922-0033-4000-8000-000000000300",
|
||||
"alias": "ports_view",
|
||||
"name": "05 Status — semantic ports regression",
|
||||
"description": "",
|
||||
"layer": "Sa",
|
||||
"projection": "FunctionalDataflow",
|
||||
"view_options": {
|
||||
"hidden_edges": [],
|
||||
"relation_kinds": "All",
|
||||
"work_categories": "All",
|
||||
"participant_categories": "All",
|
||||
"coverage": "All",
|
||||
"work_contexts": "All",
|
||||
"exchange_labels": "Name"
|
||||
},
|
||||
"nodes": {
|
||||
"ea202922-0033-4000-8000-000000000310": {
|
||||
"id": "ea202922-0033-4000-8000-000000000310",
|
||||
"alias": "ports_emit",
|
||||
"element": "ea202922-0033-4000-8000-000000000050",
|
||||
"position": {
|
||||
"x": 100.0,
|
||||
"y": 180.0
|
||||
},
|
||||
"size": {
|
||||
"width": 240.0,
|
||||
"height": 120.0
|
||||
},
|
||||
"collapsed": false,
|
||||
"port_anchors": [
|
||||
{
|
||||
"port": "ea202922-0033-4000-8000-000000000052",
|
||||
"side": "Right",
|
||||
"offset": 0.5
|
||||
}
|
||||
]
|
||||
},
|
||||
"ea202922-0033-4000-8000-000000000311": {
|
||||
"id": "ea202922-0033-4000-8000-000000000311",
|
||||
"alias": "ports_display",
|
||||
"element": "ea202922-0033-4000-8000-000000000051",
|
||||
"position": {
|
||||
"x": 600.0,
|
||||
"y": 180.0
|
||||
},
|
||||
"size": {
|
||||
"width": 240.0,
|
||||
"height": 120.0
|
||||
},
|
||||
"collapsed": false,
|
||||
"port_anchors": [
|
||||
{
|
||||
"port": "ea202922-0033-4000-8000-000000000053",
|
||||
"side": "Left",
|
||||
"offset": 0.5
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"routes": []
|
||||
}
|
||||
},
|
||||
"artifact_links": {},
|
||||
"traces": {}
|
||||
}
|
||||
@@ -0,0 +1,54 @@
|
||||
{
|
||||
"source_commit": "53d01a3d4451b94792986f2dfac56f6f04e111a4",
|
||||
"evaluator_source_commit": "3aa80de89c5b79200286926781e8f3a192bc61f4",
|
||||
"started_utc": "2026-09-23T02:57:27.474481+00:00",
|
||||
"finished_utc": "2026-09-23T02:57:31.180626+00:00",
|
||||
"expected": "B",
|
||||
"expected_file": {
|
||||
"path": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\edge-anchors-escape-native-20260923\\expected\\B.project.json",
|
||||
"bytes": 24594,
|
||||
"sha256": "149fcc554b5f41bc41bfa68f1f70edda73e8df868d92f7e1ee8020967b609d67"
|
||||
},
|
||||
"input": {
|
||||
"path": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\edge-anchors-escape-native-20260923\\working\\attachments.arcadia",
|
||||
"bytes": 9715,
|
||||
"sha256": "a05c43d13e9e65872f625456b45f30f8296069159de43c695793194beac7008d"
|
||||
},
|
||||
"evaluator": {
|
||||
"path": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\edge-anchors-escape-native-20260923\\package\\attachment_snapshot.exe",
|
||||
"bytes": 18957824,
|
||||
"sha256": "4062f5f1301cb39c182ede32dfa928cdb75a14159c3660a375205d680388b110"
|
||||
},
|
||||
"manifest": {
|
||||
"path": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\edge-anchors-escape-native-20260923\\input-manifest.json",
|
||||
"bytes": 857940,
|
||||
"sha256": "450e15cc94899acfc5c30e005099c1dbbe9a9703e5aca9a8863eab620cfc7943"
|
||||
},
|
||||
"exit_code": 0,
|
||||
"failure": null,
|
||||
"inputs_unchanged": true,
|
||||
"full_project_exact": true,
|
||||
"artifacts": [
|
||||
{
|
||||
"path": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\edge-anchors-escape-native-20260923\\runs\\run-01\\checks\\00-cancel-baseline.arcadia",
|
||||
"bytes": 9715,
|
||||
"sha256": "a05c43d13e9e65872f625456b45f30f8296069159de43c695793194beac7008d"
|
||||
},
|
||||
{
|
||||
"path": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\edge-anchors-escape-native-20260923\\runs\\run-01\\checks\\00-cancel-baseline.project.json",
|
||||
"bytes": 24594,
|
||||
"sha256": "149fcc554b5f41bc41bfa68f1f70edda73e8df868d92f7e1ee8020967b609d67"
|
||||
},
|
||||
{
|
||||
"path": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\edge-anchors-escape-native-20260923\\runs\\run-01\\checks\\00-cancel-baseline.stdout.log",
|
||||
"bytes": 68,
|
||||
"sha256": "e128921d6c122c4a430aced7b98253b11641137c5e088899b0ed87a8f5469c93"
|
||||
},
|
||||
{
|
||||
"path": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\edge-anchors-escape-native-20260923\\runs\\run-01\\checks\\00-cancel-baseline.stderr.log",
|
||||
"bytes": 0,
|
||||
"sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
|
||||
}
|
||||
],
|
||||
"scope": "Complete saved Project only; no native action/editor/history/camera claim"
|
||||
}
|
||||
@@ -0,0 +1 @@
|
||||
Validated 49 objects and 5 views; saved a complete Project snapshot
|
||||
@@ -0,0 +1,53 @@
|
||||
// Immutable acceptance baseline: copy before editing. Stable IDs are deliberate.
|
||||
arcadia 7;
|
||||
project endpoint_acceptance "Harbor dispatch — attachment acceptance" id "ea202922-0033-4000-8000-000000000001" {
|
||||
description "Small native fixture for presentation-only endpoint editing. Names describe stored source-to-target direction.";
|
||||
oa_activity receive_report "Receive distress report" id "ea202922-0033-4000-8000-000000000010" { }
|
||||
oa_activity dispatch_crew "Dispatch rescue crew" id "ea202922-0033-4000-8000-000000000011" { }
|
||||
interaction dispatch_request "Dispatch request: Receive → Dispatch" id "ea202922-0033-4000-8000-000000000020" { source @receive_report; target @dispatch_crew; description "Semantic sentinel: retain this description and direction."; }
|
||||
sa_system controller "Rescue readiness controller" id "ea202922-0033-4000-8000-000000000030" { }
|
||||
sa_state_machine readiness "Rescue readiness" id "ea202922-0033-4000-8000-000000000031" { parent @controller; }
|
||||
sa_region main_region "Readiness region" id "ea202922-0033-4000-8000-000000000032" { parent @readiness; }
|
||||
sa_initial start "Startup" id "ea202922-0033-4000-8000-000000000033" { parent @main_region; }
|
||||
sa_state ready "Ready" id "ea202922-0033-4000-8000-000000000034" { parent @main_region; }
|
||||
sa_state active "Active" id "ea202922-0033-4000-8000-000000000035" { parent @main_region; }
|
||||
sa_choice decision "Dispatch decision" id "ea202922-0033-4000-8000-000000000036" { parent @main_region; }
|
||||
sa_final finished "Shutdown complete" id "ea202922-0033-4000-8000-000000000037" { parent @main_region; }
|
||||
state_transition initialize "Initialize: Startup → Ready" id "ea202922-0033-4000-8000-000000000040" { source @start; target @ready; transition_kind External; triggers []; trigger ""; guard ""; effects []; effect ""; }
|
||||
state_transition activate "Activate: Ready → Active" id "ea202922-0033-4000-8000-000000000041" { source @ready; target @active; transition_kind External; triggers []; trigger ""; guard "crew_assigned"; effects []; effect ""; }
|
||||
state_transition assess "Assess: Active → Decision" id "ea202922-0033-4000-8000-000000000042" { source @active; target @decision; transition_kind External; triggers []; trigger ""; guard ""; effects []; effect ""; }
|
||||
state_transition retry "Retry: Decision → Ready" id "ea202922-0033-4000-8000-000000000043" { source @decision; target @ready; transition_kind External; triggers []; trigger ""; guard "retry_requested"; effects []; effect ""; }
|
||||
state_transition finish "Finish: Decision → Shutdown" id "ea202922-0033-4000-8000-000000000044" { source @decision; target @finished; transition_kind External; triggers []; trigger ""; guard "else"; effects []; effect ""; }
|
||||
state_transition refresh "Refresh: Active → Active" id "ea202922-0033-4000-8000-000000000045" { source @active; target @active; transition_kind External; triggers []; trigger ""; guard "refresh_requested"; effects []; effect ""; }
|
||||
state_transition internal_check "Internal status check" id "ea202922-0033-4000-8000-000000000046" { source @active; target @active; transition_kind Internal; triggers []; trigger ""; guard ""; effects []; effect "Status unchanged"; }
|
||||
sa_function emit_status "Emit readiness status" id "ea202922-0033-4000-8000-000000000050" { }
|
||||
sa_function display_status "Display readiness status" id "ea202922-0033-4000-8000-000000000051" { }
|
||||
sa_port status_out "Status output" id "ea202922-0033-4000-8000-000000000052" { parent @emit_status; contract { FunctionOutput { outgoing_items []; }; }; }
|
||||
sa_port status_in "Status input" id "ea202922-0033-4000-8000-000000000053" { parent @display_status; contract { FunctionInput { incoming_items []; }; }; }
|
||||
functional_exchange status_exchange "Readiness status: Emit → Display" id "ea202922-0033-4000-8000-000000000054" { source @emit_status; target @display_status; source_port @status_out; target_port @status_in; items []; }
|
||||
diagram dispatch_view "01 Dispatch — edit attachments" id "ea202922-0033-4000-8000-000000000100" { layer Oa; projection FunctionalDataflow; routes [{ edge @dispatch_request; waypoints [{ x 440; y 340; }]; label { fraction 0.5; offset { x 12; y -18; }; }; source_attachment { side Right; offset 0.5; }; target_attachment { side Left; offset 0.6; }; }]; }
|
||||
diagram dispatch_reference "02 Dispatch — untouched reference" id "ea202922-0033-4000-8000-000000000101" { layer Oa; projection FunctionalDataflow; routes [{ edge @dispatch_request; target_attachment { side Bottom; offset 0.25; }; }]; }
|
||||
node dispatch_view_receive id "ea202922-0033-4000-8000-000000000110" { diagram @dispatch_view; element @receive_report; position { x 100; y 180; }; size { width 240; height 120; }; collapsed false; }
|
||||
node dispatch_view_dispatch id "ea202922-0033-4000-8000-000000000111" { diagram @dispatch_view; element @dispatch_crew; position { x 600; y 180; }; size { width 240; height 120; }; collapsed false; }
|
||||
node dispatch_reference_receive id "ea202922-0033-4000-8000-000000000120" { diagram @dispatch_reference; element @receive_report; position { x 100; y 180; }; size { width 240; height 120; }; collapsed false; }
|
||||
node dispatch_reference_dispatch id "ea202922-0033-4000-8000-000000000121" { diagram @dispatch_reference; element @dispatch_crew; position { x 600; y 180; }; size { width 240; height 120; }; collapsed false; }
|
||||
diagram readiness_view "03 Readiness — edit attachments" id "ea202922-0033-4000-8000-000000000200" { layer Sa; projection { StateMachine { machine @readiness; }; }; routes [{ edge @activate; waypoints [{ x 500; y 310; }]; label { fraction 0.5; offset { x 8; y -16; }; }; source_attachment { side Top; offset 0.25; }; target_attachment { side Left; offset 0.6; }; }, { edge @initialize; source_attachment { side Right; offset 0.5; }; }, { edge @finish; source_attachment { side Right; offset 0.5; }; }]; }
|
||||
diagram readiness_reference "04 Readiness — untouched reference" id "ea202922-0033-4000-8000-000000000201" { layer Sa; projection { StateMachine { machine @readiness; }; }; routes []; }
|
||||
node readiness_view_readiness id "ea202922-0033-4000-8000-000000000210" { diagram @readiness_view; element @readiness; position { x 40; y 40; }; size { width 980; height 590; }; collapsed false; }
|
||||
node readiness_view_main_region id "ea202922-0033-4000-8000-000000000211" { diagram @readiness_view; element @main_region; position { x 64; y 104; }; size { width 932; height 500; }; collapsed false; }
|
||||
node readiness_view_start id "ea202922-0033-4000-8000-000000000212" { diagram @readiness_view; element @start; position { x 110; y 252; }; size { width 20; height 20; }; collapsed false; }
|
||||
node readiness_view_ready id "ea202922-0033-4000-8000-000000000213" { diagram @readiness_view; element @ready; position { x 190; y 210; }; size { width 240; height 120; }; collapsed false; }
|
||||
node readiness_view_active id "ea202922-0033-4000-8000-000000000214" { diagram @readiness_view; element @active; position { x 570; y 210; }; size { width 240; height 140; }; collapsed false; }
|
||||
node readiness_view_decision id "ea202922-0033-4000-8000-000000000215" { diagram @readiness_view; element @decision; position { x 670; y 430; }; size { width 40; height 40; }; collapsed false; }
|
||||
node readiness_view_finished id "ea202922-0033-4000-8000-000000000216" { diagram @readiness_view; element @finished; position { x 880; y 440; }; size { width 24; height 24; }; collapsed false; }
|
||||
node readiness_reference_readiness id "ea202922-0033-4000-8000-000000000230" { diagram @readiness_reference; element @readiness; position { x 40; y 40; }; size { width 980; height 590; }; collapsed false; }
|
||||
node readiness_reference_main_region id "ea202922-0033-4000-8000-000000000231" { diagram @readiness_reference; element @main_region; position { x 64; y 104; }; size { width 932; height 500; }; collapsed false; }
|
||||
node readiness_reference_start id "ea202922-0033-4000-8000-000000000232" { diagram @readiness_reference; element @start; position { x 110; y 212; }; size { width 20; height 20; }; collapsed false; }
|
||||
node readiness_reference_ready id "ea202922-0033-4000-8000-000000000233" { diagram @readiness_reference; element @ready; position { x 190; y 170; }; size { width 240; height 120; }; collapsed false; }
|
||||
node readiness_reference_active id "ea202922-0033-4000-8000-000000000234" { diagram @readiness_reference; element @active; position { x 570; y 170; }; size { width 240; height 140; }; collapsed false; }
|
||||
node readiness_reference_decision id "ea202922-0033-4000-8000-000000000235" { diagram @readiness_reference; element @decision; position { x 670; y 430; }; size { width 40; height 40; }; collapsed false; }
|
||||
node readiness_reference_finished id "ea202922-0033-4000-8000-000000000236" { diagram @readiness_reference; element @finished; position { x 880; y 440; }; size { width 24; height 24; }; collapsed false; }
|
||||
diagram ports_view "05 Status — semantic ports regression" id "ea202922-0033-4000-8000-000000000300" { layer Sa; projection FunctionalDataflow; routes []; }
|
||||
node ports_emit id "ea202922-0033-4000-8000-000000000310" { diagram @ports_view; element @emit_status; position { x 100; y 180; }; size { width 240; height 120; }; collapsed false; port_anchors [{ port @status_out; side Right; offset 0.5; }]; }
|
||||
node ports_display id "ea202922-0033-4000-8000-000000000311" { diagram @ports_view; element @display_status; position { x 600; y 180; }; size { width 240; height 120; }; collapsed false; port_anchors [{ port @status_in; side Left; offset 0.5; }]; }
|
||||
}
|
||||
@@ -0,0 +1,860 @@
|
||||
{
|
||||
"schema_version": 7,
|
||||
"id": "ea202922-0033-4000-8000-000000000001",
|
||||
"alias": "endpoint_acceptance",
|
||||
"name": "Harbor dispatch — attachment acceptance",
|
||||
"description": "Small native fixture for presentation-only endpoint editing. Names describe stored source-to-target direction.",
|
||||
"elements": {
|
||||
"ea202922-0033-4000-8000-000000000010": {
|
||||
"id": "ea202922-0033-4000-8000-000000000010",
|
||||
"alias": "receive_report",
|
||||
"name": "Receive distress report",
|
||||
"description": "",
|
||||
"parent": null,
|
||||
"body": {
|
||||
"Oa": "Activity"
|
||||
}
|
||||
},
|
||||
"ea202922-0033-4000-8000-000000000011": {
|
||||
"id": "ea202922-0033-4000-8000-000000000011",
|
||||
"alias": "dispatch_crew",
|
||||
"name": "Dispatch rescue crew",
|
||||
"description": "",
|
||||
"parent": null,
|
||||
"body": {
|
||||
"Oa": "Activity"
|
||||
}
|
||||
},
|
||||
"ea202922-0033-4000-8000-000000000030": {
|
||||
"id": "ea202922-0033-4000-8000-000000000030",
|
||||
"alias": "controller",
|
||||
"name": "Rescue readiness controller",
|
||||
"description": "",
|
||||
"parent": null,
|
||||
"body": {
|
||||
"Sa": "System"
|
||||
}
|
||||
},
|
||||
"ea202922-0033-4000-8000-000000000031": {
|
||||
"id": "ea202922-0033-4000-8000-000000000031",
|
||||
"alias": "readiness",
|
||||
"name": "Rescue readiness",
|
||||
"description": "",
|
||||
"parent": "ea202922-0033-4000-8000-000000000030",
|
||||
"body": {
|
||||
"Sa": {
|
||||
"Shared": "StateMachine"
|
||||
}
|
||||
}
|
||||
},
|
||||
"ea202922-0033-4000-8000-000000000032": {
|
||||
"id": "ea202922-0033-4000-8000-000000000032",
|
||||
"alias": "main_region",
|
||||
"name": "Readiness region",
|
||||
"description": "",
|
||||
"parent": "ea202922-0033-4000-8000-000000000031",
|
||||
"body": {
|
||||
"Sa": {
|
||||
"Shared": "Region"
|
||||
}
|
||||
}
|
||||
},
|
||||
"ea202922-0033-4000-8000-000000000033": {
|
||||
"id": "ea202922-0033-4000-8000-000000000033",
|
||||
"alias": "start",
|
||||
"name": "Startup",
|
||||
"description": "",
|
||||
"parent": "ea202922-0033-4000-8000-000000000032",
|
||||
"body": {
|
||||
"Sa": {
|
||||
"Shared": {
|
||||
"State": {
|
||||
"kind": "Initial",
|
||||
"entry": "",
|
||||
"exit": "",
|
||||
"do_activity": ""
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"ea202922-0033-4000-8000-000000000034": {
|
||||
"id": "ea202922-0033-4000-8000-000000000034",
|
||||
"alias": "ready",
|
||||
"name": "Ready",
|
||||
"description": "",
|
||||
"parent": "ea202922-0033-4000-8000-000000000032",
|
||||
"body": {
|
||||
"Sa": {
|
||||
"Shared": {
|
||||
"State": {
|
||||
"kind": "State",
|
||||
"entry": "",
|
||||
"exit": "",
|
||||
"do_activity": ""
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"ea202922-0033-4000-8000-000000000035": {
|
||||
"id": "ea202922-0033-4000-8000-000000000035",
|
||||
"alias": "active",
|
||||
"name": "Active",
|
||||
"description": "",
|
||||
"parent": "ea202922-0033-4000-8000-000000000032",
|
||||
"body": {
|
||||
"Sa": {
|
||||
"Shared": {
|
||||
"State": {
|
||||
"kind": "State",
|
||||
"entry": "",
|
||||
"exit": "",
|
||||
"do_activity": ""
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"ea202922-0033-4000-8000-000000000036": {
|
||||
"id": "ea202922-0033-4000-8000-000000000036",
|
||||
"alias": "decision",
|
||||
"name": "Dispatch decision",
|
||||
"description": "",
|
||||
"parent": "ea202922-0033-4000-8000-000000000032",
|
||||
"body": {
|
||||
"Sa": {
|
||||
"Shared": {
|
||||
"State": {
|
||||
"kind": "Choice",
|
||||
"entry": "",
|
||||
"exit": "",
|
||||
"do_activity": ""
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"ea202922-0033-4000-8000-000000000037": {
|
||||
"id": "ea202922-0033-4000-8000-000000000037",
|
||||
"alias": "finished",
|
||||
"name": "Shutdown complete",
|
||||
"description": "",
|
||||
"parent": "ea202922-0033-4000-8000-000000000032",
|
||||
"body": {
|
||||
"Sa": {
|
||||
"Shared": {
|
||||
"State": {
|
||||
"kind": "Final",
|
||||
"entry": "",
|
||||
"exit": "",
|
||||
"do_activity": ""
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"ea202922-0033-4000-8000-000000000050": {
|
||||
"id": "ea202922-0033-4000-8000-000000000050",
|
||||
"alias": "emit_status",
|
||||
"name": "Emit readiness status",
|
||||
"description": "",
|
||||
"parent": null,
|
||||
"body": {
|
||||
"Sa": "Function"
|
||||
}
|
||||
},
|
||||
"ea202922-0033-4000-8000-000000000051": {
|
||||
"id": "ea202922-0033-4000-8000-000000000051",
|
||||
"alias": "display_status",
|
||||
"name": "Display readiness status",
|
||||
"description": "",
|
||||
"parent": null,
|
||||
"body": {
|
||||
"Sa": "Function"
|
||||
}
|
||||
},
|
||||
"ea202922-0033-4000-8000-000000000052": {
|
||||
"id": "ea202922-0033-4000-8000-000000000052",
|
||||
"alias": "status_out",
|
||||
"name": "Status output",
|
||||
"description": "",
|
||||
"parent": "ea202922-0033-4000-8000-000000000050",
|
||||
"body": {
|
||||
"Sa": {
|
||||
"Shared": {
|
||||
"Port": {
|
||||
"contract": {
|
||||
"FunctionOutput": {
|
||||
"outgoing_items": []
|
||||
}
|
||||
},
|
||||
"legacy": null
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"ea202922-0033-4000-8000-000000000053": {
|
||||
"id": "ea202922-0033-4000-8000-000000000053",
|
||||
"alias": "status_in",
|
||||
"name": "Status input",
|
||||
"description": "",
|
||||
"parent": "ea202922-0033-4000-8000-000000000051",
|
||||
"body": {
|
||||
"Sa": {
|
||||
"Shared": {
|
||||
"Port": {
|
||||
"contract": {
|
||||
"FunctionInput": {
|
||||
"incoming_items": []
|
||||
}
|
||||
},
|
||||
"legacy": null
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"relations": {
|
||||
"ea202922-0033-4000-8000-000000000020": {
|
||||
"id": "ea202922-0033-4000-8000-000000000020",
|
||||
"alias": "dispatch_request",
|
||||
"name": "Dispatch request: Receive → Dispatch",
|
||||
"description": "Semantic sentinel: retain this description and direction.",
|
||||
"body": {
|
||||
"Interaction": {
|
||||
"source": "ea202922-0033-4000-8000-000000000010",
|
||||
"target": "ea202922-0033-4000-8000-000000000011",
|
||||
"items": []
|
||||
}
|
||||
}
|
||||
},
|
||||
"ea202922-0033-4000-8000-000000000040": {
|
||||
"id": "ea202922-0033-4000-8000-000000000040",
|
||||
"alias": "initialize",
|
||||
"name": "Initialize: Startup → Ready",
|
||||
"description": "",
|
||||
"body": {
|
||||
"StateTransition": {
|
||||
"source": "ea202922-0033-4000-8000-000000000033",
|
||||
"target": "ea202922-0033-4000-8000-000000000034",
|
||||
"transition_kind": "External",
|
||||
"triggers": [],
|
||||
"effects": [],
|
||||
"trigger": "",
|
||||
"guard": "",
|
||||
"effect": ""
|
||||
}
|
||||
}
|
||||
},
|
||||
"ea202922-0033-4000-8000-000000000041": {
|
||||
"id": "ea202922-0033-4000-8000-000000000041",
|
||||
"alias": "activate",
|
||||
"name": "Activate: Ready → Active",
|
||||
"description": "",
|
||||
"body": {
|
||||
"StateTransition": {
|
||||
"source": "ea202922-0033-4000-8000-000000000034",
|
||||
"target": "ea202922-0033-4000-8000-000000000035",
|
||||
"transition_kind": "External",
|
||||
"triggers": [],
|
||||
"effects": [],
|
||||
"trigger": "",
|
||||
"guard": "crew_assigned",
|
||||
"effect": ""
|
||||
}
|
||||
}
|
||||
},
|
||||
"ea202922-0033-4000-8000-000000000042": {
|
||||
"id": "ea202922-0033-4000-8000-000000000042",
|
||||
"alias": "assess",
|
||||
"name": "Assess: Active → Decision",
|
||||
"description": "",
|
||||
"body": {
|
||||
"StateTransition": {
|
||||
"source": "ea202922-0033-4000-8000-000000000035",
|
||||
"target": "ea202922-0033-4000-8000-000000000036",
|
||||
"transition_kind": "External",
|
||||
"triggers": [],
|
||||
"effects": [],
|
||||
"trigger": "",
|
||||
"guard": "",
|
||||
"effect": ""
|
||||
}
|
||||
}
|
||||
},
|
||||
"ea202922-0033-4000-8000-000000000043": {
|
||||
"id": "ea202922-0033-4000-8000-000000000043",
|
||||
"alias": "retry",
|
||||
"name": "Retry: Decision → Ready",
|
||||
"description": "",
|
||||
"body": {
|
||||
"StateTransition": {
|
||||
"source": "ea202922-0033-4000-8000-000000000036",
|
||||
"target": "ea202922-0033-4000-8000-000000000034",
|
||||
"transition_kind": "External",
|
||||
"triggers": [],
|
||||
"effects": [],
|
||||
"trigger": "",
|
||||
"guard": "retry_requested",
|
||||
"effect": ""
|
||||
}
|
||||
}
|
||||
},
|
||||
"ea202922-0033-4000-8000-000000000044": {
|
||||
"id": "ea202922-0033-4000-8000-000000000044",
|
||||
"alias": "finish",
|
||||
"name": "Finish: Decision → Shutdown",
|
||||
"description": "",
|
||||
"body": {
|
||||
"StateTransition": {
|
||||
"source": "ea202922-0033-4000-8000-000000000036",
|
||||
"target": "ea202922-0033-4000-8000-000000000037",
|
||||
"transition_kind": "External",
|
||||
"triggers": [],
|
||||
"effects": [],
|
||||
"trigger": "",
|
||||
"guard": "else",
|
||||
"effect": ""
|
||||
}
|
||||
}
|
||||
},
|
||||
"ea202922-0033-4000-8000-000000000045": {
|
||||
"id": "ea202922-0033-4000-8000-000000000045",
|
||||
"alias": "refresh",
|
||||
"name": "Refresh: Active → Active",
|
||||
"description": "",
|
||||
"body": {
|
||||
"StateTransition": {
|
||||
"source": "ea202922-0033-4000-8000-000000000035",
|
||||
"target": "ea202922-0033-4000-8000-000000000035",
|
||||
"transition_kind": "External",
|
||||
"triggers": [],
|
||||
"effects": [],
|
||||
"trigger": "",
|
||||
"guard": "refresh_requested",
|
||||
"effect": ""
|
||||
}
|
||||
}
|
||||
},
|
||||
"ea202922-0033-4000-8000-000000000046": {
|
||||
"id": "ea202922-0033-4000-8000-000000000046",
|
||||
"alias": "internal_check",
|
||||
"name": "Internal status check",
|
||||
"description": "",
|
||||
"body": {
|
||||
"StateTransition": {
|
||||
"source": "ea202922-0033-4000-8000-000000000035",
|
||||
"target": "ea202922-0033-4000-8000-000000000035",
|
||||
"transition_kind": "Internal",
|
||||
"triggers": [],
|
||||
"effects": [],
|
||||
"trigger": "",
|
||||
"guard": "",
|
||||
"effect": "Status unchanged"
|
||||
}
|
||||
}
|
||||
},
|
||||
"ea202922-0033-4000-8000-000000000054": {
|
||||
"id": "ea202922-0033-4000-8000-000000000054",
|
||||
"alias": "status_exchange",
|
||||
"name": "Readiness status: Emit → Display",
|
||||
"description": "",
|
||||
"body": {
|
||||
"FunctionalExchange": {
|
||||
"source": "ea202922-0033-4000-8000-000000000050",
|
||||
"target": "ea202922-0033-4000-8000-000000000051",
|
||||
"source_port": "ea202922-0033-4000-8000-000000000052",
|
||||
"target_port": "ea202922-0033-4000-8000-000000000053",
|
||||
"items": []
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"diagrams": {
|
||||
"ea202922-0033-4000-8000-000000000100": {
|
||||
"id": "ea202922-0033-4000-8000-000000000100",
|
||||
"alias": "dispatch_view",
|
||||
"name": "01 Dispatch — edit attachments",
|
||||
"description": "",
|
||||
"layer": "Oa",
|
||||
"projection": "FunctionalDataflow",
|
||||
"view_options": {
|
||||
"hidden_edges": [],
|
||||
"relation_kinds": "All",
|
||||
"work_categories": "All",
|
||||
"participant_categories": "All",
|
||||
"coverage": "All",
|
||||
"work_contexts": "All",
|
||||
"exchange_labels": "Name"
|
||||
},
|
||||
"nodes": {
|
||||
"ea202922-0033-4000-8000-000000000110": {
|
||||
"id": "ea202922-0033-4000-8000-000000000110",
|
||||
"alias": "dispatch_view_receive",
|
||||
"element": "ea202922-0033-4000-8000-000000000010",
|
||||
"position": {
|
||||
"x": 100.0,
|
||||
"y": 180.0
|
||||
},
|
||||
"size": {
|
||||
"width": 240.0,
|
||||
"height": 120.0
|
||||
},
|
||||
"collapsed": false
|
||||
},
|
||||
"ea202922-0033-4000-8000-000000000111": {
|
||||
"id": "ea202922-0033-4000-8000-000000000111",
|
||||
"alias": "dispatch_view_dispatch",
|
||||
"element": "ea202922-0033-4000-8000-000000000011",
|
||||
"position": {
|
||||
"x": 600.0,
|
||||
"y": 180.0
|
||||
},
|
||||
"size": {
|
||||
"width": 240.0,
|
||||
"height": 120.0
|
||||
},
|
||||
"collapsed": false
|
||||
}
|
||||
},
|
||||
"routes": [
|
||||
{
|
||||
"edge": "ea202922-0033-4000-8000-000000000020",
|
||||
"source_attachment": {
|
||||
"side": "Right",
|
||||
"offset": 0.5
|
||||
},
|
||||
"target_attachment": {
|
||||
"side": "Left",
|
||||
"offset": 0.6
|
||||
},
|
||||
"waypoints": [
|
||||
{
|
||||
"x": 440.0,
|
||||
"y": 340.0
|
||||
}
|
||||
],
|
||||
"label": {
|
||||
"fraction": 0.5,
|
||||
"offset": {
|
||||
"x": 12.0,
|
||||
"y": -18.0
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
"ea202922-0033-4000-8000-000000000101": {
|
||||
"id": "ea202922-0033-4000-8000-000000000101",
|
||||
"alias": "dispatch_reference",
|
||||
"name": "02 Dispatch — untouched reference",
|
||||
"description": "",
|
||||
"layer": "Oa",
|
||||
"projection": "FunctionalDataflow",
|
||||
"view_options": {
|
||||
"hidden_edges": [],
|
||||
"relation_kinds": "All",
|
||||
"work_categories": "All",
|
||||
"participant_categories": "All",
|
||||
"coverage": "All",
|
||||
"work_contexts": "All",
|
||||
"exchange_labels": "Name"
|
||||
},
|
||||
"nodes": {
|
||||
"ea202922-0033-4000-8000-000000000120": {
|
||||
"id": "ea202922-0033-4000-8000-000000000120",
|
||||
"alias": "dispatch_reference_receive",
|
||||
"element": "ea202922-0033-4000-8000-000000000010",
|
||||
"position": {
|
||||
"x": 100.0,
|
||||
"y": 180.0
|
||||
},
|
||||
"size": {
|
||||
"width": 240.0,
|
||||
"height": 120.0
|
||||
},
|
||||
"collapsed": false
|
||||
},
|
||||
"ea202922-0033-4000-8000-000000000121": {
|
||||
"id": "ea202922-0033-4000-8000-000000000121",
|
||||
"alias": "dispatch_reference_dispatch",
|
||||
"element": "ea202922-0033-4000-8000-000000000011",
|
||||
"position": {
|
||||
"x": 600.0,
|
||||
"y": 180.0
|
||||
},
|
||||
"size": {
|
||||
"width": 240.0,
|
||||
"height": 120.0
|
||||
},
|
||||
"collapsed": false
|
||||
}
|
||||
},
|
||||
"routes": [
|
||||
{
|
||||
"edge": "ea202922-0033-4000-8000-000000000020",
|
||||
"target_attachment": {
|
||||
"side": "Bottom",
|
||||
"offset": 0.25
|
||||
},
|
||||
"waypoints": [],
|
||||
"label": null
|
||||
}
|
||||
]
|
||||
},
|
||||
"ea202922-0033-4000-8000-000000000200": {
|
||||
"id": "ea202922-0033-4000-8000-000000000200",
|
||||
"alias": "readiness_view",
|
||||
"name": "03 Readiness — edit attachments",
|
||||
"description": "",
|
||||
"layer": "Sa",
|
||||
"projection": {
|
||||
"StateMachine": {
|
||||
"machine": "ea202922-0033-4000-8000-000000000031"
|
||||
}
|
||||
},
|
||||
"view_options": {
|
||||
"hidden_edges": [],
|
||||
"relation_kinds": "All",
|
||||
"work_categories": "All",
|
||||
"participant_categories": "All",
|
||||
"coverage": "All",
|
||||
"work_contexts": "All",
|
||||
"exchange_labels": "Name"
|
||||
},
|
||||
"nodes": {
|
||||
"ea202922-0033-4000-8000-000000000210": {
|
||||
"id": "ea202922-0033-4000-8000-000000000210",
|
||||
"alias": "readiness_view_readiness",
|
||||
"element": "ea202922-0033-4000-8000-000000000031",
|
||||
"position": {
|
||||
"x": 40.0,
|
||||
"y": 40.0
|
||||
},
|
||||
"size": {
|
||||
"width": 980.0,
|
||||
"height": 590.0
|
||||
},
|
||||
"collapsed": false
|
||||
},
|
||||
"ea202922-0033-4000-8000-000000000211": {
|
||||
"id": "ea202922-0033-4000-8000-000000000211",
|
||||
"alias": "readiness_view_main_region",
|
||||
"element": "ea202922-0033-4000-8000-000000000032",
|
||||
"position": {
|
||||
"x": 64.0,
|
||||
"y": 104.0
|
||||
},
|
||||
"size": {
|
||||
"width": 932.0,
|
||||
"height": 500.0
|
||||
},
|
||||
"collapsed": false
|
||||
},
|
||||
"ea202922-0033-4000-8000-000000000212": {
|
||||
"id": "ea202922-0033-4000-8000-000000000212",
|
||||
"alias": "readiness_view_start",
|
||||
"element": "ea202922-0033-4000-8000-000000000033",
|
||||
"position": {
|
||||
"x": 110.0,
|
||||
"y": 252.0
|
||||
},
|
||||
"size": {
|
||||
"width": 20.0,
|
||||
"height": 20.0
|
||||
},
|
||||
"collapsed": false
|
||||
},
|
||||
"ea202922-0033-4000-8000-000000000213": {
|
||||
"id": "ea202922-0033-4000-8000-000000000213",
|
||||
"alias": "readiness_view_ready",
|
||||
"element": "ea202922-0033-4000-8000-000000000034",
|
||||
"position": {
|
||||
"x": 190.0,
|
||||
"y": 210.0
|
||||
},
|
||||
"size": {
|
||||
"width": 240.0,
|
||||
"height": 120.0
|
||||
},
|
||||
"collapsed": false
|
||||
},
|
||||
"ea202922-0033-4000-8000-000000000214": {
|
||||
"id": "ea202922-0033-4000-8000-000000000214",
|
||||
"alias": "readiness_view_active",
|
||||
"element": "ea202922-0033-4000-8000-000000000035",
|
||||
"position": {
|
||||
"x": 570.0,
|
||||
"y": 210.0
|
||||
},
|
||||
"size": {
|
||||
"width": 240.0,
|
||||
"height": 140.0
|
||||
},
|
||||
"collapsed": false
|
||||
},
|
||||
"ea202922-0033-4000-8000-000000000215": {
|
||||
"id": "ea202922-0033-4000-8000-000000000215",
|
||||
"alias": "readiness_view_decision",
|
||||
"element": "ea202922-0033-4000-8000-000000000036",
|
||||
"position": {
|
||||
"x": 670.0,
|
||||
"y": 430.0
|
||||
},
|
||||
"size": {
|
||||
"width": 40.0,
|
||||
"height": 40.0
|
||||
},
|
||||
"collapsed": false
|
||||
},
|
||||
"ea202922-0033-4000-8000-000000000216": {
|
||||
"id": "ea202922-0033-4000-8000-000000000216",
|
||||
"alias": "readiness_view_finished",
|
||||
"element": "ea202922-0033-4000-8000-000000000037",
|
||||
"position": {
|
||||
"x": 880.0,
|
||||
"y": 440.0
|
||||
},
|
||||
"size": {
|
||||
"width": 24.0,
|
||||
"height": 24.0
|
||||
},
|
||||
"collapsed": false
|
||||
}
|
||||
},
|
||||
"routes": [
|
||||
{
|
||||
"edge": "ea202922-0033-4000-8000-000000000041",
|
||||
"source_attachment": {
|
||||
"side": "Top",
|
||||
"offset": 0.25
|
||||
},
|
||||
"target_attachment": {
|
||||
"side": "Left",
|
||||
"offset": 0.6
|
||||
},
|
||||
"waypoints": [
|
||||
{
|
||||
"x": 500.0,
|
||||
"y": 310.0
|
||||
}
|
||||
],
|
||||
"label": {
|
||||
"fraction": 0.5,
|
||||
"offset": {
|
||||
"x": 8.0,
|
||||
"y": -16.0
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"edge": "ea202922-0033-4000-8000-000000000040",
|
||||
"source_attachment": {
|
||||
"side": "Right",
|
||||
"offset": 0.5
|
||||
},
|
||||
"waypoints": [],
|
||||
"label": null
|
||||
},
|
||||
{
|
||||
"edge": "ea202922-0033-4000-8000-000000000044",
|
||||
"source_attachment": {
|
||||
"side": "Right",
|
||||
"offset": 0.5
|
||||
},
|
||||
"waypoints": [],
|
||||
"label": null
|
||||
}
|
||||
]
|
||||
},
|
||||
"ea202922-0033-4000-8000-000000000201": {
|
||||
"id": "ea202922-0033-4000-8000-000000000201",
|
||||
"alias": "readiness_reference",
|
||||
"name": "04 Readiness — untouched reference",
|
||||
"description": "",
|
||||
"layer": "Sa",
|
||||
"projection": {
|
||||
"StateMachine": {
|
||||
"machine": "ea202922-0033-4000-8000-000000000031"
|
||||
}
|
||||
},
|
||||
"view_options": {
|
||||
"hidden_edges": [],
|
||||
"relation_kinds": "All",
|
||||
"work_categories": "All",
|
||||
"participant_categories": "All",
|
||||
"coverage": "All",
|
||||
"work_contexts": "All",
|
||||
"exchange_labels": "Name"
|
||||
},
|
||||
"nodes": {
|
||||
"ea202922-0033-4000-8000-000000000230": {
|
||||
"id": "ea202922-0033-4000-8000-000000000230",
|
||||
"alias": "readiness_reference_readiness",
|
||||
"element": "ea202922-0033-4000-8000-000000000031",
|
||||
"position": {
|
||||
"x": 40.0,
|
||||
"y": 40.0
|
||||
},
|
||||
"size": {
|
||||
"width": 980.0,
|
||||
"height": 590.0
|
||||
},
|
||||
"collapsed": false
|
||||
},
|
||||
"ea202922-0033-4000-8000-000000000231": {
|
||||
"id": "ea202922-0033-4000-8000-000000000231",
|
||||
"alias": "readiness_reference_main_region",
|
||||
"element": "ea202922-0033-4000-8000-000000000032",
|
||||
"position": {
|
||||
"x": 64.0,
|
||||
"y": 104.0
|
||||
},
|
||||
"size": {
|
||||
"width": 932.0,
|
||||
"height": 500.0
|
||||
},
|
||||
"collapsed": false
|
||||
},
|
||||
"ea202922-0033-4000-8000-000000000232": {
|
||||
"id": "ea202922-0033-4000-8000-000000000232",
|
||||
"alias": "readiness_reference_start",
|
||||
"element": "ea202922-0033-4000-8000-000000000033",
|
||||
"position": {
|
||||
"x": 110.0,
|
||||
"y": 212.0
|
||||
},
|
||||
"size": {
|
||||
"width": 20.0,
|
||||
"height": 20.0
|
||||
},
|
||||
"collapsed": false
|
||||
},
|
||||
"ea202922-0033-4000-8000-000000000233": {
|
||||
"id": "ea202922-0033-4000-8000-000000000233",
|
||||
"alias": "readiness_reference_ready",
|
||||
"element": "ea202922-0033-4000-8000-000000000034",
|
||||
"position": {
|
||||
"x": 190.0,
|
||||
"y": 170.0
|
||||
},
|
||||
"size": {
|
||||
"width": 240.0,
|
||||
"height": 120.0
|
||||
},
|
||||
"collapsed": false
|
||||
},
|
||||
"ea202922-0033-4000-8000-000000000234": {
|
||||
"id": "ea202922-0033-4000-8000-000000000234",
|
||||
"alias": "readiness_reference_active",
|
||||
"element": "ea202922-0033-4000-8000-000000000035",
|
||||
"position": {
|
||||
"x": 570.0,
|
||||
"y": 170.0
|
||||
},
|
||||
"size": {
|
||||
"width": 240.0,
|
||||
"height": 140.0
|
||||
},
|
||||
"collapsed": false
|
||||
},
|
||||
"ea202922-0033-4000-8000-000000000235": {
|
||||
"id": "ea202922-0033-4000-8000-000000000235",
|
||||
"alias": "readiness_reference_decision",
|
||||
"element": "ea202922-0033-4000-8000-000000000036",
|
||||
"position": {
|
||||
"x": 670.0,
|
||||
"y": 430.0
|
||||
},
|
||||
"size": {
|
||||
"width": 40.0,
|
||||
"height": 40.0
|
||||
},
|
||||
"collapsed": false
|
||||
},
|
||||
"ea202922-0033-4000-8000-000000000236": {
|
||||
"id": "ea202922-0033-4000-8000-000000000236",
|
||||
"alias": "readiness_reference_finished",
|
||||
"element": "ea202922-0033-4000-8000-000000000037",
|
||||
"position": {
|
||||
"x": 880.0,
|
||||
"y": 440.0
|
||||
},
|
||||
"size": {
|
||||
"width": 24.0,
|
||||
"height": 24.0
|
||||
},
|
||||
"collapsed": false
|
||||
}
|
||||
},
|
||||
"routes": []
|
||||
},
|
||||
"ea202922-0033-4000-8000-000000000300": {
|
||||
"id": "ea202922-0033-4000-8000-000000000300",
|
||||
"alias": "ports_view",
|
||||
"name": "05 Status — semantic ports regression",
|
||||
"description": "",
|
||||
"layer": "Sa",
|
||||
"projection": "FunctionalDataflow",
|
||||
"view_options": {
|
||||
"hidden_edges": [],
|
||||
"relation_kinds": "All",
|
||||
"work_categories": "All",
|
||||
"participant_categories": "All",
|
||||
"coverage": "All",
|
||||
"work_contexts": "All",
|
||||
"exchange_labels": "Name"
|
||||
},
|
||||
"nodes": {
|
||||
"ea202922-0033-4000-8000-000000000310": {
|
||||
"id": "ea202922-0033-4000-8000-000000000310",
|
||||
"alias": "ports_emit",
|
||||
"element": "ea202922-0033-4000-8000-000000000050",
|
||||
"position": {
|
||||
"x": 100.0,
|
||||
"y": 180.0
|
||||
},
|
||||
"size": {
|
||||
"width": 240.0,
|
||||
"height": 120.0
|
||||
},
|
||||
"collapsed": false,
|
||||
"port_anchors": [
|
||||
{
|
||||
"port": "ea202922-0033-4000-8000-000000000052",
|
||||
"side": "Right",
|
||||
"offset": 0.5
|
||||
}
|
||||
]
|
||||
},
|
||||
"ea202922-0033-4000-8000-000000000311": {
|
||||
"id": "ea202922-0033-4000-8000-000000000311",
|
||||
"alias": "ports_display",
|
||||
"element": "ea202922-0033-4000-8000-000000000051",
|
||||
"position": {
|
||||
"x": 600.0,
|
||||
"y": 180.0
|
||||
},
|
||||
"size": {
|
||||
"width": 240.0,
|
||||
"height": 120.0
|
||||
},
|
||||
"collapsed": false,
|
||||
"port_anchors": [
|
||||
{
|
||||
"port": "ea202922-0033-4000-8000-000000000053",
|
||||
"side": "Left",
|
||||
"offset": 0.5
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"routes": []
|
||||
}
|
||||
},
|
||||
"artifact_links": {},
|
||||
"traces": {}
|
||||
}
|
||||
@@ -0,0 +1,54 @@
|
||||
{
|
||||
"source_commit": "53d01a3d4451b94792986f2dfac56f6f04e111a4",
|
||||
"evaluator_source_commit": "3aa80de89c5b79200286926781e8f3a192bc61f4",
|
||||
"started_utc": "2026-09-23T02:58:41.461169+00:00",
|
||||
"finished_utc": "2026-09-23T02:58:45.801992+00:00",
|
||||
"expected": "A1",
|
||||
"expected_file": {
|
||||
"path": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\edge-anchors-escape-native-20260923\\expected\\A1.project.json",
|
||||
"bytes": 24593,
|
||||
"sha256": "d46193e94a3abdc35c8fc90529d9530623a6d958fb3a30f181753805e23a1fea"
|
||||
},
|
||||
"input": {
|
||||
"path": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\edge-anchors-escape-native-20260923\\working\\attachments.arcadia",
|
||||
"bytes": 9714,
|
||||
"sha256": "41295c41e3b0b95073dba8c6e828ce310f097195a41f68d47a8ae4f2b7ab2aad"
|
||||
},
|
||||
"evaluator": {
|
||||
"path": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\edge-anchors-escape-native-20260923\\package\\attachment_snapshot.exe",
|
||||
"bytes": 18957824,
|
||||
"sha256": "4062f5f1301cb39c182ede32dfa928cdb75a14159c3660a375205d680388b110"
|
||||
},
|
||||
"manifest": {
|
||||
"path": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\edge-anchors-escape-native-20260923\\input-manifest.json",
|
||||
"bytes": 857940,
|
||||
"sha256": "450e15cc94899acfc5c30e005099c1dbbe9a9703e5aca9a8863eab620cfc7943"
|
||||
},
|
||||
"exit_code": 0,
|
||||
"failure": null,
|
||||
"inputs_unchanged": true,
|
||||
"full_project_exact": true,
|
||||
"artifacts": [
|
||||
{
|
||||
"path": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\edge-anchors-escape-native-20260923\\runs\\run-01\\checks\\01-adjusted.arcadia",
|
||||
"bytes": 9714,
|
||||
"sha256": "41295c41e3b0b95073dba8c6e828ce310f097195a41f68d47a8ae4f2b7ab2aad"
|
||||
},
|
||||
{
|
||||
"path": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\edge-anchors-escape-native-20260923\\runs\\run-01\\checks\\01-adjusted.project.json",
|
||||
"bytes": 24593,
|
||||
"sha256": "d46193e94a3abdc35c8fc90529d9530623a6d958fb3a30f181753805e23a1fea"
|
||||
},
|
||||
{
|
||||
"path": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\edge-anchors-escape-native-20260923\\runs\\run-01\\checks\\01-adjusted.stdout.log",
|
||||
"bytes": 68,
|
||||
"sha256": "e128921d6c122c4a430aced7b98253b11641137c5e088899b0ed87a8f5469c93"
|
||||
},
|
||||
{
|
||||
"path": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\edge-anchors-escape-native-20260923\\runs\\run-01\\checks\\01-adjusted.stderr.log",
|
||||
"bytes": 0,
|
||||
"sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
|
||||
}
|
||||
],
|
||||
"scope": "Complete saved Project only; no native action/editor/history/camera claim"
|
||||
}
|
||||
@@ -0,0 +1 @@
|
||||
Validated 49 objects and 5 views; saved a complete Project snapshot
|
||||
@@ -0,0 +1,53 @@
|
||||
// Immutable acceptance baseline: copy before editing. Stable IDs are deliberate.
|
||||
arcadia 7;
|
||||
project endpoint_acceptance "Harbor dispatch — attachment acceptance" id "ea202922-0033-4000-8000-000000000001" {
|
||||
description "Small native fixture for presentation-only endpoint editing. Names describe stored source-to-target direction.";
|
||||
oa_activity receive_report "Receive distress report" id "ea202922-0033-4000-8000-000000000010" { }
|
||||
oa_activity dispatch_crew "Dispatch rescue crew" id "ea202922-0033-4000-8000-000000000011" { }
|
||||
interaction dispatch_request "Dispatch request: Receive → Dispatch" id "ea202922-0033-4000-8000-000000000020" { source @receive_report; target @dispatch_crew; description "Semantic sentinel: retain this description and direction."; }
|
||||
sa_system controller "Rescue readiness controller" id "ea202922-0033-4000-8000-000000000030" { }
|
||||
sa_state_machine readiness "Rescue readiness" id "ea202922-0033-4000-8000-000000000031" { parent @controller; }
|
||||
sa_region main_region "Readiness region" id "ea202922-0033-4000-8000-000000000032" { parent @readiness; }
|
||||
sa_initial start "Startup" id "ea202922-0033-4000-8000-000000000033" { parent @main_region; }
|
||||
sa_state ready "Ready" id "ea202922-0033-4000-8000-000000000034" { parent @main_region; }
|
||||
sa_state active "Active" id "ea202922-0033-4000-8000-000000000035" { parent @main_region; }
|
||||
sa_choice decision "Dispatch decision" id "ea202922-0033-4000-8000-000000000036" { parent @main_region; }
|
||||
sa_final finished "Shutdown complete" id "ea202922-0033-4000-8000-000000000037" { parent @main_region; }
|
||||
state_transition initialize "Initialize: Startup → Ready" id "ea202922-0033-4000-8000-000000000040" { source @start; target @ready; transition_kind External; triggers []; trigger ""; guard ""; effects []; effect ""; }
|
||||
state_transition activate "Activate: Ready → Active" id "ea202922-0033-4000-8000-000000000041" { source @ready; target @active; transition_kind External; triggers []; trigger ""; guard "crew_assigned"; effects []; effect ""; }
|
||||
state_transition assess "Assess: Active → Decision" id "ea202922-0033-4000-8000-000000000042" { source @active; target @decision; transition_kind External; triggers []; trigger ""; guard ""; effects []; effect ""; }
|
||||
state_transition retry "Retry: Decision → Ready" id "ea202922-0033-4000-8000-000000000043" { source @decision; target @ready; transition_kind External; triggers []; trigger ""; guard "retry_requested"; effects []; effect ""; }
|
||||
state_transition finish "Finish: Decision → Shutdown" id "ea202922-0033-4000-8000-000000000044" { source @decision; target @finished; transition_kind External; triggers []; trigger ""; guard "else"; effects []; effect ""; }
|
||||
state_transition refresh "Refresh: Active → Active" id "ea202922-0033-4000-8000-000000000045" { source @active; target @active; transition_kind External; triggers []; trigger ""; guard "refresh_requested"; effects []; effect ""; }
|
||||
state_transition internal_check "Internal status check" id "ea202922-0033-4000-8000-000000000046" { source @active; target @active; transition_kind Internal; triggers []; trigger ""; guard ""; effects []; effect "Status unchanged"; }
|
||||
sa_function emit_status "Emit readiness status" id "ea202922-0033-4000-8000-000000000050" { }
|
||||
sa_function display_status "Display readiness status" id "ea202922-0033-4000-8000-000000000051" { }
|
||||
sa_port status_out "Status output" id "ea202922-0033-4000-8000-000000000052" { parent @emit_status; contract { FunctionOutput { outgoing_items []; }; }; }
|
||||
sa_port status_in "Status input" id "ea202922-0033-4000-8000-000000000053" { parent @display_status; contract { FunctionInput { incoming_items []; }; }; }
|
||||
functional_exchange status_exchange "Readiness status: Emit → Display" id "ea202922-0033-4000-8000-000000000054" { source @emit_status; target @display_status; source_port @status_out; target_port @status_in; items []; }
|
||||
diagram dispatch_view "01 Dispatch — edit attachments" id "ea202922-0033-4000-8000-000000000100" { layer Oa; projection FunctionalDataflow; routes [{ edge @dispatch_request; waypoints [{ x 440; y 340; }]; label { fraction 0.5; offset { x 12; y -18; }; }; source_attachment { side Right; offset 0.5; }; target_attachment { side Left; offset 0.6; }; }]; }
|
||||
diagram dispatch_reference "02 Dispatch — untouched reference" id "ea202922-0033-4000-8000-000000000101" { layer Oa; projection FunctionalDataflow; routes [{ edge @dispatch_request; target_attachment { side Bottom; offset 0.25; }; }]; }
|
||||
node dispatch_view_receive id "ea202922-0033-4000-8000-000000000110" { diagram @dispatch_view; element @receive_report; position { x 100; y 180; }; size { width 240; height 120; }; collapsed false; }
|
||||
node dispatch_view_dispatch id "ea202922-0033-4000-8000-000000000111" { diagram @dispatch_view; element @dispatch_crew; position { x 600; y 180; }; size { width 240; height 120; }; collapsed false; }
|
||||
node dispatch_reference_receive id "ea202922-0033-4000-8000-000000000120" { diagram @dispatch_reference; element @receive_report; position { x 100; y 180; }; size { width 240; height 120; }; collapsed false; }
|
||||
node dispatch_reference_dispatch id "ea202922-0033-4000-8000-000000000121" { diagram @dispatch_reference; element @dispatch_crew; position { x 600; y 180; }; size { width 240; height 120; }; collapsed false; }
|
||||
diagram readiness_view "03 Readiness — edit attachments" id "ea202922-0033-4000-8000-000000000200" { layer Sa; projection { StateMachine { machine @readiness; }; }; routes [{ edge @activate; waypoints [{ x 500; y 310; }]; label { fraction 0.5; offset { x 8; y -16; }; }; source_attachment { side Right; offset 0.5; }; target_attachment { side Left; offset 0.6; }; }, { edge @initialize; source_attachment { side Right; offset 0.5; }; }, { edge @finish; source_attachment { side Right; offset 0.5; }; }]; }
|
||||
diagram readiness_reference "04 Readiness — untouched reference" id "ea202922-0033-4000-8000-000000000201" { layer Sa; projection { StateMachine { machine @readiness; }; }; routes []; }
|
||||
node readiness_view_readiness id "ea202922-0033-4000-8000-000000000210" { diagram @readiness_view; element @readiness; position { x 40; y 40; }; size { width 980; height 590; }; collapsed false; }
|
||||
node readiness_view_main_region id "ea202922-0033-4000-8000-000000000211" { diagram @readiness_view; element @main_region; position { x 64; y 104; }; size { width 932; height 500; }; collapsed false; }
|
||||
node readiness_view_start id "ea202922-0033-4000-8000-000000000212" { diagram @readiness_view; element @start; position { x 110; y 252; }; size { width 20; height 20; }; collapsed false; }
|
||||
node readiness_view_ready id "ea202922-0033-4000-8000-000000000213" { diagram @readiness_view; element @ready; position { x 190; y 210; }; size { width 240; height 120; }; collapsed false; }
|
||||
node readiness_view_active id "ea202922-0033-4000-8000-000000000214" { diagram @readiness_view; element @active; position { x 570; y 210; }; size { width 240; height 140; }; collapsed false; }
|
||||
node readiness_view_decision id "ea202922-0033-4000-8000-000000000215" { diagram @readiness_view; element @decision; position { x 670; y 430; }; size { width 40; height 40; }; collapsed false; }
|
||||
node readiness_view_finished id "ea202922-0033-4000-8000-000000000216" { diagram @readiness_view; element @finished; position { x 880; y 440; }; size { width 24; height 24; }; collapsed false; }
|
||||
node readiness_reference_readiness id "ea202922-0033-4000-8000-000000000230" { diagram @readiness_reference; element @readiness; position { x 40; y 40; }; size { width 980; height 590; }; collapsed false; }
|
||||
node readiness_reference_main_region id "ea202922-0033-4000-8000-000000000231" { diagram @readiness_reference; element @main_region; position { x 64; y 104; }; size { width 932; height 500; }; collapsed false; }
|
||||
node readiness_reference_start id "ea202922-0033-4000-8000-000000000232" { diagram @readiness_reference; element @start; position { x 110; y 212; }; size { width 20; height 20; }; collapsed false; }
|
||||
node readiness_reference_ready id "ea202922-0033-4000-8000-000000000233" { diagram @readiness_reference; element @ready; position { x 190; y 170; }; size { width 240; height 120; }; collapsed false; }
|
||||
node readiness_reference_active id "ea202922-0033-4000-8000-000000000234" { diagram @readiness_reference; element @active; position { x 570; y 170; }; size { width 240; height 140; }; collapsed false; }
|
||||
node readiness_reference_decision id "ea202922-0033-4000-8000-000000000235" { diagram @readiness_reference; element @decision; position { x 670; y 430; }; size { width 40; height 40; }; collapsed false; }
|
||||
node readiness_reference_finished id "ea202922-0033-4000-8000-000000000236" { diagram @readiness_reference; element @finished; position { x 880; y 440; }; size { width 24; height 24; }; collapsed false; }
|
||||
diagram ports_view "05 Status — semantic ports regression" id "ea202922-0033-4000-8000-000000000300" { layer Sa; projection FunctionalDataflow; routes []; }
|
||||
node ports_emit id "ea202922-0033-4000-8000-000000000310" { diagram @ports_view; element @emit_status; position { x 100; y 180; }; size { width 240; height 120; }; collapsed false; port_anchors [{ port @status_out; side Right; offset 0.5; }]; }
|
||||
node ports_display id "ea202922-0033-4000-8000-000000000311" { diagram @ports_view; element @display_status; position { x 600; y 180; }; size { width 240; height 120; }; collapsed false; port_anchors [{ port @status_in; side Left; offset 0.5; }]; }
|
||||
}
|
||||
@@ -0,0 +1,860 @@
|
||||
{
|
||||
"schema_version": 7,
|
||||
"id": "ea202922-0033-4000-8000-000000000001",
|
||||
"alias": "endpoint_acceptance",
|
||||
"name": "Harbor dispatch — attachment acceptance",
|
||||
"description": "Small native fixture for presentation-only endpoint editing. Names describe stored source-to-target direction.",
|
||||
"elements": {
|
||||
"ea202922-0033-4000-8000-000000000010": {
|
||||
"id": "ea202922-0033-4000-8000-000000000010",
|
||||
"alias": "receive_report",
|
||||
"name": "Receive distress report",
|
||||
"description": "",
|
||||
"parent": null,
|
||||
"body": {
|
||||
"Oa": "Activity"
|
||||
}
|
||||
},
|
||||
"ea202922-0033-4000-8000-000000000011": {
|
||||
"id": "ea202922-0033-4000-8000-000000000011",
|
||||
"alias": "dispatch_crew",
|
||||
"name": "Dispatch rescue crew",
|
||||
"description": "",
|
||||
"parent": null,
|
||||
"body": {
|
||||
"Oa": "Activity"
|
||||
}
|
||||
},
|
||||
"ea202922-0033-4000-8000-000000000030": {
|
||||
"id": "ea202922-0033-4000-8000-000000000030",
|
||||
"alias": "controller",
|
||||
"name": "Rescue readiness controller",
|
||||
"description": "",
|
||||
"parent": null,
|
||||
"body": {
|
||||
"Sa": "System"
|
||||
}
|
||||
},
|
||||
"ea202922-0033-4000-8000-000000000031": {
|
||||
"id": "ea202922-0033-4000-8000-000000000031",
|
||||
"alias": "readiness",
|
||||
"name": "Rescue readiness",
|
||||
"description": "",
|
||||
"parent": "ea202922-0033-4000-8000-000000000030",
|
||||
"body": {
|
||||
"Sa": {
|
||||
"Shared": "StateMachine"
|
||||
}
|
||||
}
|
||||
},
|
||||
"ea202922-0033-4000-8000-000000000032": {
|
||||
"id": "ea202922-0033-4000-8000-000000000032",
|
||||
"alias": "main_region",
|
||||
"name": "Readiness region",
|
||||
"description": "",
|
||||
"parent": "ea202922-0033-4000-8000-000000000031",
|
||||
"body": {
|
||||
"Sa": {
|
||||
"Shared": "Region"
|
||||
}
|
||||
}
|
||||
},
|
||||
"ea202922-0033-4000-8000-000000000033": {
|
||||
"id": "ea202922-0033-4000-8000-000000000033",
|
||||
"alias": "start",
|
||||
"name": "Startup",
|
||||
"description": "",
|
||||
"parent": "ea202922-0033-4000-8000-000000000032",
|
||||
"body": {
|
||||
"Sa": {
|
||||
"Shared": {
|
||||
"State": {
|
||||
"kind": "Initial",
|
||||
"entry": "",
|
||||
"exit": "",
|
||||
"do_activity": ""
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"ea202922-0033-4000-8000-000000000034": {
|
||||
"id": "ea202922-0033-4000-8000-000000000034",
|
||||
"alias": "ready",
|
||||
"name": "Ready",
|
||||
"description": "",
|
||||
"parent": "ea202922-0033-4000-8000-000000000032",
|
||||
"body": {
|
||||
"Sa": {
|
||||
"Shared": {
|
||||
"State": {
|
||||
"kind": "State",
|
||||
"entry": "",
|
||||
"exit": "",
|
||||
"do_activity": ""
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"ea202922-0033-4000-8000-000000000035": {
|
||||
"id": "ea202922-0033-4000-8000-000000000035",
|
||||
"alias": "active",
|
||||
"name": "Active",
|
||||
"description": "",
|
||||
"parent": "ea202922-0033-4000-8000-000000000032",
|
||||
"body": {
|
||||
"Sa": {
|
||||
"Shared": {
|
||||
"State": {
|
||||
"kind": "State",
|
||||
"entry": "",
|
||||
"exit": "",
|
||||
"do_activity": ""
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"ea202922-0033-4000-8000-000000000036": {
|
||||
"id": "ea202922-0033-4000-8000-000000000036",
|
||||
"alias": "decision",
|
||||
"name": "Dispatch decision",
|
||||
"description": "",
|
||||
"parent": "ea202922-0033-4000-8000-000000000032",
|
||||
"body": {
|
||||
"Sa": {
|
||||
"Shared": {
|
||||
"State": {
|
||||
"kind": "Choice",
|
||||
"entry": "",
|
||||
"exit": "",
|
||||
"do_activity": ""
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"ea202922-0033-4000-8000-000000000037": {
|
||||
"id": "ea202922-0033-4000-8000-000000000037",
|
||||
"alias": "finished",
|
||||
"name": "Shutdown complete",
|
||||
"description": "",
|
||||
"parent": "ea202922-0033-4000-8000-000000000032",
|
||||
"body": {
|
||||
"Sa": {
|
||||
"Shared": {
|
||||
"State": {
|
||||
"kind": "Final",
|
||||
"entry": "",
|
||||
"exit": "",
|
||||
"do_activity": ""
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"ea202922-0033-4000-8000-000000000050": {
|
||||
"id": "ea202922-0033-4000-8000-000000000050",
|
||||
"alias": "emit_status",
|
||||
"name": "Emit readiness status",
|
||||
"description": "",
|
||||
"parent": null,
|
||||
"body": {
|
||||
"Sa": "Function"
|
||||
}
|
||||
},
|
||||
"ea202922-0033-4000-8000-000000000051": {
|
||||
"id": "ea202922-0033-4000-8000-000000000051",
|
||||
"alias": "display_status",
|
||||
"name": "Display readiness status",
|
||||
"description": "",
|
||||
"parent": null,
|
||||
"body": {
|
||||
"Sa": "Function"
|
||||
}
|
||||
},
|
||||
"ea202922-0033-4000-8000-000000000052": {
|
||||
"id": "ea202922-0033-4000-8000-000000000052",
|
||||
"alias": "status_out",
|
||||
"name": "Status output",
|
||||
"description": "",
|
||||
"parent": "ea202922-0033-4000-8000-000000000050",
|
||||
"body": {
|
||||
"Sa": {
|
||||
"Shared": {
|
||||
"Port": {
|
||||
"contract": {
|
||||
"FunctionOutput": {
|
||||
"outgoing_items": []
|
||||
}
|
||||
},
|
||||
"legacy": null
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"ea202922-0033-4000-8000-000000000053": {
|
||||
"id": "ea202922-0033-4000-8000-000000000053",
|
||||
"alias": "status_in",
|
||||
"name": "Status input",
|
||||
"description": "",
|
||||
"parent": "ea202922-0033-4000-8000-000000000051",
|
||||
"body": {
|
||||
"Sa": {
|
||||
"Shared": {
|
||||
"Port": {
|
||||
"contract": {
|
||||
"FunctionInput": {
|
||||
"incoming_items": []
|
||||
}
|
||||
},
|
||||
"legacy": null
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"relations": {
|
||||
"ea202922-0033-4000-8000-000000000020": {
|
||||
"id": "ea202922-0033-4000-8000-000000000020",
|
||||
"alias": "dispatch_request",
|
||||
"name": "Dispatch request: Receive → Dispatch",
|
||||
"description": "Semantic sentinel: retain this description and direction.",
|
||||
"body": {
|
||||
"Interaction": {
|
||||
"source": "ea202922-0033-4000-8000-000000000010",
|
||||
"target": "ea202922-0033-4000-8000-000000000011",
|
||||
"items": []
|
||||
}
|
||||
}
|
||||
},
|
||||
"ea202922-0033-4000-8000-000000000040": {
|
||||
"id": "ea202922-0033-4000-8000-000000000040",
|
||||
"alias": "initialize",
|
||||
"name": "Initialize: Startup → Ready",
|
||||
"description": "",
|
||||
"body": {
|
||||
"StateTransition": {
|
||||
"source": "ea202922-0033-4000-8000-000000000033",
|
||||
"target": "ea202922-0033-4000-8000-000000000034",
|
||||
"transition_kind": "External",
|
||||
"triggers": [],
|
||||
"effects": [],
|
||||
"trigger": "",
|
||||
"guard": "",
|
||||
"effect": ""
|
||||
}
|
||||
}
|
||||
},
|
||||
"ea202922-0033-4000-8000-000000000041": {
|
||||
"id": "ea202922-0033-4000-8000-000000000041",
|
||||
"alias": "activate",
|
||||
"name": "Activate: Ready → Active",
|
||||
"description": "",
|
||||
"body": {
|
||||
"StateTransition": {
|
||||
"source": "ea202922-0033-4000-8000-000000000034",
|
||||
"target": "ea202922-0033-4000-8000-000000000035",
|
||||
"transition_kind": "External",
|
||||
"triggers": [],
|
||||
"effects": [],
|
||||
"trigger": "",
|
||||
"guard": "crew_assigned",
|
||||
"effect": ""
|
||||
}
|
||||
}
|
||||
},
|
||||
"ea202922-0033-4000-8000-000000000042": {
|
||||
"id": "ea202922-0033-4000-8000-000000000042",
|
||||
"alias": "assess",
|
||||
"name": "Assess: Active → Decision",
|
||||
"description": "",
|
||||
"body": {
|
||||
"StateTransition": {
|
||||
"source": "ea202922-0033-4000-8000-000000000035",
|
||||
"target": "ea202922-0033-4000-8000-000000000036",
|
||||
"transition_kind": "External",
|
||||
"triggers": [],
|
||||
"effects": [],
|
||||
"trigger": "",
|
||||
"guard": "",
|
||||
"effect": ""
|
||||
}
|
||||
}
|
||||
},
|
||||
"ea202922-0033-4000-8000-000000000043": {
|
||||
"id": "ea202922-0033-4000-8000-000000000043",
|
||||
"alias": "retry",
|
||||
"name": "Retry: Decision → Ready",
|
||||
"description": "",
|
||||
"body": {
|
||||
"StateTransition": {
|
||||
"source": "ea202922-0033-4000-8000-000000000036",
|
||||
"target": "ea202922-0033-4000-8000-000000000034",
|
||||
"transition_kind": "External",
|
||||
"triggers": [],
|
||||
"effects": [],
|
||||
"trigger": "",
|
||||
"guard": "retry_requested",
|
||||
"effect": ""
|
||||
}
|
||||
}
|
||||
},
|
||||
"ea202922-0033-4000-8000-000000000044": {
|
||||
"id": "ea202922-0033-4000-8000-000000000044",
|
||||
"alias": "finish",
|
||||
"name": "Finish: Decision → Shutdown",
|
||||
"description": "",
|
||||
"body": {
|
||||
"StateTransition": {
|
||||
"source": "ea202922-0033-4000-8000-000000000036",
|
||||
"target": "ea202922-0033-4000-8000-000000000037",
|
||||
"transition_kind": "External",
|
||||
"triggers": [],
|
||||
"effects": [],
|
||||
"trigger": "",
|
||||
"guard": "else",
|
||||
"effect": ""
|
||||
}
|
||||
}
|
||||
},
|
||||
"ea202922-0033-4000-8000-000000000045": {
|
||||
"id": "ea202922-0033-4000-8000-000000000045",
|
||||
"alias": "refresh",
|
||||
"name": "Refresh: Active → Active",
|
||||
"description": "",
|
||||
"body": {
|
||||
"StateTransition": {
|
||||
"source": "ea202922-0033-4000-8000-000000000035",
|
||||
"target": "ea202922-0033-4000-8000-000000000035",
|
||||
"transition_kind": "External",
|
||||
"triggers": [],
|
||||
"effects": [],
|
||||
"trigger": "",
|
||||
"guard": "refresh_requested",
|
||||
"effect": ""
|
||||
}
|
||||
}
|
||||
},
|
||||
"ea202922-0033-4000-8000-000000000046": {
|
||||
"id": "ea202922-0033-4000-8000-000000000046",
|
||||
"alias": "internal_check",
|
||||
"name": "Internal status check",
|
||||
"description": "",
|
||||
"body": {
|
||||
"StateTransition": {
|
||||
"source": "ea202922-0033-4000-8000-000000000035",
|
||||
"target": "ea202922-0033-4000-8000-000000000035",
|
||||
"transition_kind": "Internal",
|
||||
"triggers": [],
|
||||
"effects": [],
|
||||
"trigger": "",
|
||||
"guard": "",
|
||||
"effect": "Status unchanged"
|
||||
}
|
||||
}
|
||||
},
|
||||
"ea202922-0033-4000-8000-000000000054": {
|
||||
"id": "ea202922-0033-4000-8000-000000000054",
|
||||
"alias": "status_exchange",
|
||||
"name": "Readiness status: Emit → Display",
|
||||
"description": "",
|
||||
"body": {
|
||||
"FunctionalExchange": {
|
||||
"source": "ea202922-0033-4000-8000-000000000050",
|
||||
"target": "ea202922-0033-4000-8000-000000000051",
|
||||
"source_port": "ea202922-0033-4000-8000-000000000052",
|
||||
"target_port": "ea202922-0033-4000-8000-000000000053",
|
||||
"items": []
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"diagrams": {
|
||||
"ea202922-0033-4000-8000-000000000100": {
|
||||
"id": "ea202922-0033-4000-8000-000000000100",
|
||||
"alias": "dispatch_view",
|
||||
"name": "01 Dispatch — edit attachments",
|
||||
"description": "",
|
||||
"layer": "Oa",
|
||||
"projection": "FunctionalDataflow",
|
||||
"view_options": {
|
||||
"hidden_edges": [],
|
||||
"relation_kinds": "All",
|
||||
"work_categories": "All",
|
||||
"participant_categories": "All",
|
||||
"coverage": "All",
|
||||
"work_contexts": "All",
|
||||
"exchange_labels": "Name"
|
||||
},
|
||||
"nodes": {
|
||||
"ea202922-0033-4000-8000-000000000110": {
|
||||
"id": "ea202922-0033-4000-8000-000000000110",
|
||||
"alias": "dispatch_view_receive",
|
||||
"element": "ea202922-0033-4000-8000-000000000010",
|
||||
"position": {
|
||||
"x": 100.0,
|
||||
"y": 180.0
|
||||
},
|
||||
"size": {
|
||||
"width": 240.0,
|
||||
"height": 120.0
|
||||
},
|
||||
"collapsed": false
|
||||
},
|
||||
"ea202922-0033-4000-8000-000000000111": {
|
||||
"id": "ea202922-0033-4000-8000-000000000111",
|
||||
"alias": "dispatch_view_dispatch",
|
||||
"element": "ea202922-0033-4000-8000-000000000011",
|
||||
"position": {
|
||||
"x": 600.0,
|
||||
"y": 180.0
|
||||
},
|
||||
"size": {
|
||||
"width": 240.0,
|
||||
"height": 120.0
|
||||
},
|
||||
"collapsed": false
|
||||
}
|
||||
},
|
||||
"routes": [
|
||||
{
|
||||
"edge": "ea202922-0033-4000-8000-000000000020",
|
||||
"source_attachment": {
|
||||
"side": "Right",
|
||||
"offset": 0.5
|
||||
},
|
||||
"target_attachment": {
|
||||
"side": "Left",
|
||||
"offset": 0.6
|
||||
},
|
||||
"waypoints": [
|
||||
{
|
||||
"x": 440.0,
|
||||
"y": 340.0
|
||||
}
|
||||
],
|
||||
"label": {
|
||||
"fraction": 0.5,
|
||||
"offset": {
|
||||
"x": 12.0,
|
||||
"y": -18.0
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
"ea202922-0033-4000-8000-000000000101": {
|
||||
"id": "ea202922-0033-4000-8000-000000000101",
|
||||
"alias": "dispatch_reference",
|
||||
"name": "02 Dispatch — untouched reference",
|
||||
"description": "",
|
||||
"layer": "Oa",
|
||||
"projection": "FunctionalDataflow",
|
||||
"view_options": {
|
||||
"hidden_edges": [],
|
||||
"relation_kinds": "All",
|
||||
"work_categories": "All",
|
||||
"participant_categories": "All",
|
||||
"coverage": "All",
|
||||
"work_contexts": "All",
|
||||
"exchange_labels": "Name"
|
||||
},
|
||||
"nodes": {
|
||||
"ea202922-0033-4000-8000-000000000120": {
|
||||
"id": "ea202922-0033-4000-8000-000000000120",
|
||||
"alias": "dispatch_reference_receive",
|
||||
"element": "ea202922-0033-4000-8000-000000000010",
|
||||
"position": {
|
||||
"x": 100.0,
|
||||
"y": 180.0
|
||||
},
|
||||
"size": {
|
||||
"width": 240.0,
|
||||
"height": 120.0
|
||||
},
|
||||
"collapsed": false
|
||||
},
|
||||
"ea202922-0033-4000-8000-000000000121": {
|
||||
"id": "ea202922-0033-4000-8000-000000000121",
|
||||
"alias": "dispatch_reference_dispatch",
|
||||
"element": "ea202922-0033-4000-8000-000000000011",
|
||||
"position": {
|
||||
"x": 600.0,
|
||||
"y": 180.0
|
||||
},
|
||||
"size": {
|
||||
"width": 240.0,
|
||||
"height": 120.0
|
||||
},
|
||||
"collapsed": false
|
||||
}
|
||||
},
|
||||
"routes": [
|
||||
{
|
||||
"edge": "ea202922-0033-4000-8000-000000000020",
|
||||
"target_attachment": {
|
||||
"side": "Bottom",
|
||||
"offset": 0.25
|
||||
},
|
||||
"waypoints": [],
|
||||
"label": null
|
||||
}
|
||||
]
|
||||
},
|
||||
"ea202922-0033-4000-8000-000000000200": {
|
||||
"id": "ea202922-0033-4000-8000-000000000200",
|
||||
"alias": "readiness_view",
|
||||
"name": "03 Readiness — edit attachments",
|
||||
"description": "",
|
||||
"layer": "Sa",
|
||||
"projection": {
|
||||
"StateMachine": {
|
||||
"machine": "ea202922-0033-4000-8000-000000000031"
|
||||
}
|
||||
},
|
||||
"view_options": {
|
||||
"hidden_edges": [],
|
||||
"relation_kinds": "All",
|
||||
"work_categories": "All",
|
||||
"participant_categories": "All",
|
||||
"coverage": "All",
|
||||
"work_contexts": "All",
|
||||
"exchange_labels": "Name"
|
||||
},
|
||||
"nodes": {
|
||||
"ea202922-0033-4000-8000-000000000210": {
|
||||
"id": "ea202922-0033-4000-8000-000000000210",
|
||||
"alias": "readiness_view_readiness",
|
||||
"element": "ea202922-0033-4000-8000-000000000031",
|
||||
"position": {
|
||||
"x": 40.0,
|
||||
"y": 40.0
|
||||
},
|
||||
"size": {
|
||||
"width": 980.0,
|
||||
"height": 590.0
|
||||
},
|
||||
"collapsed": false
|
||||
},
|
||||
"ea202922-0033-4000-8000-000000000211": {
|
||||
"id": "ea202922-0033-4000-8000-000000000211",
|
||||
"alias": "readiness_view_main_region",
|
||||
"element": "ea202922-0033-4000-8000-000000000032",
|
||||
"position": {
|
||||
"x": 64.0,
|
||||
"y": 104.0
|
||||
},
|
||||
"size": {
|
||||
"width": 932.0,
|
||||
"height": 500.0
|
||||
},
|
||||
"collapsed": false
|
||||
},
|
||||
"ea202922-0033-4000-8000-000000000212": {
|
||||
"id": "ea202922-0033-4000-8000-000000000212",
|
||||
"alias": "readiness_view_start",
|
||||
"element": "ea202922-0033-4000-8000-000000000033",
|
||||
"position": {
|
||||
"x": 110.0,
|
||||
"y": 252.0
|
||||
},
|
||||
"size": {
|
||||
"width": 20.0,
|
||||
"height": 20.0
|
||||
},
|
||||
"collapsed": false
|
||||
},
|
||||
"ea202922-0033-4000-8000-000000000213": {
|
||||
"id": "ea202922-0033-4000-8000-000000000213",
|
||||
"alias": "readiness_view_ready",
|
||||
"element": "ea202922-0033-4000-8000-000000000034",
|
||||
"position": {
|
||||
"x": 190.0,
|
||||
"y": 210.0
|
||||
},
|
||||
"size": {
|
||||
"width": 240.0,
|
||||
"height": 120.0
|
||||
},
|
||||
"collapsed": false
|
||||
},
|
||||
"ea202922-0033-4000-8000-000000000214": {
|
||||
"id": "ea202922-0033-4000-8000-000000000214",
|
||||
"alias": "readiness_view_active",
|
||||
"element": "ea202922-0033-4000-8000-000000000035",
|
||||
"position": {
|
||||
"x": 570.0,
|
||||
"y": 210.0
|
||||
},
|
||||
"size": {
|
||||
"width": 240.0,
|
||||
"height": 140.0
|
||||
},
|
||||
"collapsed": false
|
||||
},
|
||||
"ea202922-0033-4000-8000-000000000215": {
|
||||
"id": "ea202922-0033-4000-8000-000000000215",
|
||||
"alias": "readiness_view_decision",
|
||||
"element": "ea202922-0033-4000-8000-000000000036",
|
||||
"position": {
|
||||
"x": 670.0,
|
||||
"y": 430.0
|
||||
},
|
||||
"size": {
|
||||
"width": 40.0,
|
||||
"height": 40.0
|
||||
},
|
||||
"collapsed": false
|
||||
},
|
||||
"ea202922-0033-4000-8000-000000000216": {
|
||||
"id": "ea202922-0033-4000-8000-000000000216",
|
||||
"alias": "readiness_view_finished",
|
||||
"element": "ea202922-0033-4000-8000-000000000037",
|
||||
"position": {
|
||||
"x": 880.0,
|
||||
"y": 440.0
|
||||
},
|
||||
"size": {
|
||||
"width": 24.0,
|
||||
"height": 24.0
|
||||
},
|
||||
"collapsed": false
|
||||
}
|
||||
},
|
||||
"routes": [
|
||||
{
|
||||
"edge": "ea202922-0033-4000-8000-000000000041",
|
||||
"source_attachment": {
|
||||
"side": "Right",
|
||||
"offset": 0.5
|
||||
},
|
||||
"target_attachment": {
|
||||
"side": "Left",
|
||||
"offset": 0.6
|
||||
},
|
||||
"waypoints": [
|
||||
{
|
||||
"x": 500.0,
|
||||
"y": 310.0
|
||||
}
|
||||
],
|
||||
"label": {
|
||||
"fraction": 0.5,
|
||||
"offset": {
|
||||
"x": 8.0,
|
||||
"y": -16.0
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"edge": "ea202922-0033-4000-8000-000000000040",
|
||||
"source_attachment": {
|
||||
"side": "Right",
|
||||
"offset": 0.5
|
||||
},
|
||||
"waypoints": [],
|
||||
"label": null
|
||||
},
|
||||
{
|
||||
"edge": "ea202922-0033-4000-8000-000000000044",
|
||||
"source_attachment": {
|
||||
"side": "Right",
|
||||
"offset": 0.5
|
||||
},
|
||||
"waypoints": [],
|
||||
"label": null
|
||||
}
|
||||
]
|
||||
},
|
||||
"ea202922-0033-4000-8000-000000000201": {
|
||||
"id": "ea202922-0033-4000-8000-000000000201",
|
||||
"alias": "readiness_reference",
|
||||
"name": "04 Readiness — untouched reference",
|
||||
"description": "",
|
||||
"layer": "Sa",
|
||||
"projection": {
|
||||
"StateMachine": {
|
||||
"machine": "ea202922-0033-4000-8000-000000000031"
|
||||
}
|
||||
},
|
||||
"view_options": {
|
||||
"hidden_edges": [],
|
||||
"relation_kinds": "All",
|
||||
"work_categories": "All",
|
||||
"participant_categories": "All",
|
||||
"coverage": "All",
|
||||
"work_contexts": "All",
|
||||
"exchange_labels": "Name"
|
||||
},
|
||||
"nodes": {
|
||||
"ea202922-0033-4000-8000-000000000230": {
|
||||
"id": "ea202922-0033-4000-8000-000000000230",
|
||||
"alias": "readiness_reference_readiness",
|
||||
"element": "ea202922-0033-4000-8000-000000000031",
|
||||
"position": {
|
||||
"x": 40.0,
|
||||
"y": 40.0
|
||||
},
|
||||
"size": {
|
||||
"width": 980.0,
|
||||
"height": 590.0
|
||||
},
|
||||
"collapsed": false
|
||||
},
|
||||
"ea202922-0033-4000-8000-000000000231": {
|
||||
"id": "ea202922-0033-4000-8000-000000000231",
|
||||
"alias": "readiness_reference_main_region",
|
||||
"element": "ea202922-0033-4000-8000-000000000032",
|
||||
"position": {
|
||||
"x": 64.0,
|
||||
"y": 104.0
|
||||
},
|
||||
"size": {
|
||||
"width": 932.0,
|
||||
"height": 500.0
|
||||
},
|
||||
"collapsed": false
|
||||
},
|
||||
"ea202922-0033-4000-8000-000000000232": {
|
||||
"id": "ea202922-0033-4000-8000-000000000232",
|
||||
"alias": "readiness_reference_start",
|
||||
"element": "ea202922-0033-4000-8000-000000000033",
|
||||
"position": {
|
||||
"x": 110.0,
|
||||
"y": 212.0
|
||||
},
|
||||
"size": {
|
||||
"width": 20.0,
|
||||
"height": 20.0
|
||||
},
|
||||
"collapsed": false
|
||||
},
|
||||
"ea202922-0033-4000-8000-000000000233": {
|
||||
"id": "ea202922-0033-4000-8000-000000000233",
|
||||
"alias": "readiness_reference_ready",
|
||||
"element": "ea202922-0033-4000-8000-000000000034",
|
||||
"position": {
|
||||
"x": 190.0,
|
||||
"y": 170.0
|
||||
},
|
||||
"size": {
|
||||
"width": 240.0,
|
||||
"height": 120.0
|
||||
},
|
||||
"collapsed": false
|
||||
},
|
||||
"ea202922-0033-4000-8000-000000000234": {
|
||||
"id": "ea202922-0033-4000-8000-000000000234",
|
||||
"alias": "readiness_reference_active",
|
||||
"element": "ea202922-0033-4000-8000-000000000035",
|
||||
"position": {
|
||||
"x": 570.0,
|
||||
"y": 170.0
|
||||
},
|
||||
"size": {
|
||||
"width": 240.0,
|
||||
"height": 140.0
|
||||
},
|
||||
"collapsed": false
|
||||
},
|
||||
"ea202922-0033-4000-8000-000000000235": {
|
||||
"id": "ea202922-0033-4000-8000-000000000235",
|
||||
"alias": "readiness_reference_decision",
|
||||
"element": "ea202922-0033-4000-8000-000000000036",
|
||||
"position": {
|
||||
"x": 670.0,
|
||||
"y": 430.0
|
||||
},
|
||||
"size": {
|
||||
"width": 40.0,
|
||||
"height": 40.0
|
||||
},
|
||||
"collapsed": false
|
||||
},
|
||||
"ea202922-0033-4000-8000-000000000236": {
|
||||
"id": "ea202922-0033-4000-8000-000000000236",
|
||||
"alias": "readiness_reference_finished",
|
||||
"element": "ea202922-0033-4000-8000-000000000037",
|
||||
"position": {
|
||||
"x": 880.0,
|
||||
"y": 440.0
|
||||
},
|
||||
"size": {
|
||||
"width": 24.0,
|
||||
"height": 24.0
|
||||
},
|
||||
"collapsed": false
|
||||
}
|
||||
},
|
||||
"routes": []
|
||||
},
|
||||
"ea202922-0033-4000-8000-000000000300": {
|
||||
"id": "ea202922-0033-4000-8000-000000000300",
|
||||
"alias": "ports_view",
|
||||
"name": "05 Status — semantic ports regression",
|
||||
"description": "",
|
||||
"layer": "Sa",
|
||||
"projection": "FunctionalDataflow",
|
||||
"view_options": {
|
||||
"hidden_edges": [],
|
||||
"relation_kinds": "All",
|
||||
"work_categories": "All",
|
||||
"participant_categories": "All",
|
||||
"coverage": "All",
|
||||
"work_contexts": "All",
|
||||
"exchange_labels": "Name"
|
||||
},
|
||||
"nodes": {
|
||||
"ea202922-0033-4000-8000-000000000310": {
|
||||
"id": "ea202922-0033-4000-8000-000000000310",
|
||||
"alias": "ports_emit",
|
||||
"element": "ea202922-0033-4000-8000-000000000050",
|
||||
"position": {
|
||||
"x": 100.0,
|
||||
"y": 180.0
|
||||
},
|
||||
"size": {
|
||||
"width": 240.0,
|
||||
"height": 120.0
|
||||
},
|
||||
"collapsed": false,
|
||||
"port_anchors": [
|
||||
{
|
||||
"port": "ea202922-0033-4000-8000-000000000052",
|
||||
"side": "Right",
|
||||
"offset": 0.5
|
||||
}
|
||||
]
|
||||
},
|
||||
"ea202922-0033-4000-8000-000000000311": {
|
||||
"id": "ea202922-0033-4000-8000-000000000311",
|
||||
"alias": "ports_display",
|
||||
"element": "ea202922-0033-4000-8000-000000000051",
|
||||
"position": {
|
||||
"x": 600.0,
|
||||
"y": 180.0
|
||||
},
|
||||
"size": {
|
||||
"width": 240.0,
|
||||
"height": 120.0
|
||||
},
|
||||
"collapsed": false,
|
||||
"port_anchors": [
|
||||
{
|
||||
"port": "ea202922-0033-4000-8000-000000000053",
|
||||
"side": "Left",
|
||||
"offset": 0.5
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"routes": []
|
||||
}
|
||||
},
|
||||
"artifact_links": {},
|
||||
"traces": {}
|
||||
}
|
||||