Checkpoint source 7 workflows and in-progress diagram authoring redesign
Rust checks / check (ubuntu-latest) (push) Canceled after 0s
Rust checks / check (windows-latest) (push) Canceled after 0s
Rust checks / check (ubuntu-latest) (push) Canceled after 0s
Rust checks / check (windows-latest) (push) Canceled after 0s
Preserve current core, source, REST, desktop, recovery, documentation and validation work, including AGENTS.md and the development summary. This is a work-in-progress checkpoint: the new compact palette has outstanding compilation errors and native acceptance; earlier passing gates retain their documented scope.
This commit is contained in:
@@ -0,0 +1,56 @@
|
||||
# Basic editing native contract
|
||||
|
||||
Status: standalone `-D warnings` compilation, self-check, generation and exact baseline check passed on 2026-09-07. Native execution remains pending. This fixture does not establish acceptance by itself.
|
||||
|
||||
`harness/basic-editing-contract.rs` owns an independent UUID namespace. It generates six seed elements and four views, with **none** of the Entity/Actor/new Activity/counterpart the operator must create. The first view UUID is a valid SA StateMachine view with an actual machine, region and state; the next is SA Capabilities. The desired OA and SA Allocation views follow. Capabilities legitimately admits SystemActor, but is an unchosen nonpreferred view; the state view is the strong incompatible-destination counterexample. The unplaced OA Activity **Report status**, unrelated OA capability and SA function distinguish context filtering from global browsing. A second source retains a Unicode comment and CRLF bytes.
|
||||
|
||||
Build the standalone checker only after the root grants a brief direct-rustc lease; it does not write Cargo outputs. Use the currently verified matching `oa_core` and `serde_json` rlibs, the toolchain's clang linker, `--edition 2024 -D warnings`, and output `.local/native-qa/basic-editing-contract.exe`. Then:
|
||||
|
||||
```powershell
|
||||
. .local/toolchain/env.ps1
|
||||
.local/native-qa/basic-editing-contract.exe self-check
|
||||
.local/native-qa/basic-editing-contract.exe generate harness/fixtures/basic-editing/base
|
||||
.local/native-qa/basic-editing-contract.exe check baseline harness/fixtures/basic-editing/base/project.arcadia
|
||||
```
|
||||
|
||||
Generation refuses an existing directory. Copy the **whole** generated base directory into a fresh native working directory. Preserve the base and all measured Save checkpoints. Do not edit an expected payload to match observed output.
|
||||
|
||||
## Minimal native sequence
|
||||
|
||||
Use the **Operational rescue architecture** view at 1100 × 700. Set 100% and note the camera and canvas origin. The selected redesign uses a **36 px contextual side palette**, explicitly expandable to **156 px**, with tooltips and selected-tool feedback. Entity, Actor, Activity and applicable connections belong here; advanced general inventory remains available elsewhere. Only explicitly expanding/collapsing the palette may resize the canvas. Arming a tool, choosing a point, editing a name, validation, commit and cancellation must retain its origin and camera. This interaction contract follows [the native benchmark and redesign decision](../../release-capella-basic-editing-20260907.md); it does not imply the new executable has passed.
|
||||
|
||||
1. Choose **Entity** in the palette, click the intended canvas point, type **Rescue team** in the in-place name editor and press **Enter**. No placeholder element is accepted before Enter. Observe the clicked position and stable origin through all four phases. Set its placement properties to **x=120, y=120** for the exact persisted oracle. Save a copy; `check entity ENTRY` must pass. Undo creation before changing properties, or capture the exact command boundary separately: creation itself must be one model+placement undo. A second cancelled creation must add nothing.
|
||||
2. Choose **Actor**, click a blank canvas point, name **Control centre**, Enter; then use ordinary **Activity** creation for **Assess incident**, in that order. After each creation, explicitly set placement coordinates respectively **680,120** and **160,300**. These are ordinary root creations and remain unallocated. Do **not** use the participant's contextual **Add activity** in this oracle sequence: that separate action intentionally creates work plus an Allocation atomically and is covered by the supplementary matrix below.
|
||||
3. Use Add existing from this view; find **Report status** by name/alias. The SA function and OA capability must not appear as suggested compatible choices. Place the existing Activity and set its placement to **680,300**. Its seeded identity `b451c000-0000-4000-8000-00000000001e` must remain unchanged. Showing already placed entries must offer Locate instead of a duplicate placement.
|
||||
4. Explicitly create Allocation **Rescue team → Assess incident**, naming it **Performs** in the relationship form. Choose **Interaction** from the same contextual palette and draw **Assess incident → Report status**; retain its generated engineering name **Interaction: Assess incident → Report status**. Then select the Activity, press **F2**, enter **Assess rescue incident** in place and press **Enter**; its original alias and the authored Interaction name remain unchanged. Save; `check basic ENTRY` must pass.
|
||||
5. Select **Rescue team**, create its SA counterpart, explicitly choose **SystemActor**, **Selected only**, and destination **System rescue architecture**. Apply must reveal this Allocation view, select the resulting **Rescue team** SystemActor and retain a typed trace. Both decoy views remain byte-for-byte unchanged. Save; `check transition ENTRY` must pass. The core's explicit destination placement starts at **60,60**, size **224×94**; no observed geometry is imported into the prediction.
|
||||
6. Undo the whole transition and Save: `check basic ENTRY`. Redo and Save: `check transition ENTRY`. Reopen that entry and run the same check. Reopening counterpart creation should expose the existing counterpart, not silently create a duplicate.
|
||||
|
||||
Run one meaningful move at 100% and one with pan/zoom, restoring the declared coordinates before the final oracle. Check one rejected raw property or creation draft: typing Delete/arrows must stay inside its focused text field; attempted unrelated selection/action must retain its raw text and a reachable correction/cancel route. These camera, focus and click-position observations are separate native evidence, not implied by saved JSON.
|
||||
|
||||
## Supplementary redesign acceptance
|
||||
|
||||
Run these on fresh copies or restore the preserved main-sequence state afterwards. The existing checker remains unchanged. **Supplementary accepted model changes need their own independently prepared expected model and source bundle before any exact-data claim.** UI observations and before/after byte equality for a cancelled action are narrower evidence; they do not prove a new model-producing workflow.
|
||||
|
||||
| Case | Native action and observable result | Exact-data boundary |
|
||||
| --- | --- | --- |
|
||||
| F2 and keyboard focus | Select an existing node, F2, edit its label, Enter; one rename undo. Repeat F2 with a long name, arrow/Delete editing and Escape; original label retained, no canvas deletion or movement. | Main step 4 covers the declared Activity rename. Additional committed names require a separate expected edit; cancellation must retain the prior model and source bytes. |
|
||||
| Escape before and after point | Arm Entity then Escape before clicking; separately arm, click, type a partial name and Escape. Neither accepts a placeholder or placement; Select/move becomes reachable. | Compare each cancelled case with its complete pre-case bundle. No new expected object is allowed. |
|
||||
| Explicit allocated work | On OA Entity/Actor choose **Add activity**; on SA System/SystemActor choose **Add function**. The editor names the performer; Enter creates root work, its graphical presence and an explicit Allocation as one undoable action. Compare with ordinary palette work creation, which stays unallocated. | These participant actions are **not** represented by the existing `basic` oracle. Prepare independent expected identities, relation metadata and placement policy before claiming exact Save/Undo/Redo. Do not silently substitute them for step 2. |
|
||||
| Fixed canvas origin | At wide size and 1100 × 700, record canvas origin at idle, tool armed, point chosen, name edited/rejected, Enter and Escape. Repeat with the palette held at 36 px and at 156 px; only its explicit width toggle may resize the canvas. | Visual/pointer evidence must establish stable origin and clicked position. Existing final world coordinates stay literal; do not adjust them from observed rendering. |
|
||||
| Long names and edge placement | Choose a point near each relevant canvas edge, type a long name and inspect editor clamping, readable text, Enter/Escape and access to the chosen point. | Cancellation compares against the pre-case bundle. Committed extra objects require a separate expected model, not the current fixture oracle. |
|
||||
| Draft recovery | Before Enter, preserve a checkpoint with exact raw name, chosen point and intended tool; recover and inspect the reconstructed in-place editor. Also cover a pending F2 rename and explicit allocated-work draft if implemented. Recovery must not accept a placeholder or execute the pending command. | Independently specify/compare the full pending draft and accepted baseline first. A subsequent committed rename or allocated-work recovery requires its own expected model/source; no such supplementary recovery pass is claimed here. |
|
||||
|
||||
## What equality proves
|
||||
|
||||
The checker reads new UUIDv4 identities only through exact literal kind/layer/name, relationship endpoint, placement diagram+element and OA/SA trace roles. Each role must be unique, fresh relative to the fixture and distinct from every other role. It constructs every other field through typed core commands, independently fixed names/coordinates/default sizes and an explicit core transition request. The complete Project **and** complete two-file SourceBundle must match, including unused seed records, all placements, aliases, trace baseline, source ordering and included comment bytes. Final equality also rejects any unclaimed extra object or UUID.
|
||||
|
||||
No geometry is normalized. Explicit final placement properties make the full persisted comparison reproducible without pretending that coordinates copied from the actual model prove a correct click transform. Separate visual evidence must establish the original clicked spot and stable camera. Save/Undo/Redo checks must preserve distinct copies; checking only the final state does not prove history.
|
||||
|
||||
## Frozen seams / review boundaries
|
||||
|
||||
The existing oracle pins ordinary root creation: raw name retained exactly, whitespace-only refused, core `make_element` alias, parent `None`, one CreateElement+default CreateNode batch, no insertion layout or implied allocation, exact world point and stable camera. The redesign changes its interaction order to tool → point → in-place name → Enter, not these expected records. Its additional explicit participant Add activity/function action has a separate atomic-allocation contract and must not alter this oracle's ordinary-creation expectations. Existing placement adds only a node. The transition oracle requires the explicit core destination request, not first-UUID fallback. No native pass for the redesign is claimed here.
|
||||
|
||||
The self-check supplies deliberately false role-carrier geometry/metadata, verifies the oracle does not adopt it, verifies complete basic and transition source fixed points, rejects an unrelated metadata edit, and checks the actual incompatible state-view counterexample. It also pins the legitimate Capabilities participant admission rather than weakening the core to match an incorrect test assumption. A native placement alias collision uses the UUID-derived suffix predicted from the proven new placement identity; the observed alias is never copied.
|
||||
|
||||
Final compilation took 6.691 seconds. Checker SHA256: `EFB96BD5C96F4346474F9DDFA053C53584D5F75E984258E9B8F48DB4837D3FBA`; harness source SHA256: `9AB6C2D0CDED28A7F94A24F01D5E91709BCCE5D6B648C188DA62A7EB66D890F8`. `manifest.json` pins all three generated baseline files. Logs: `.local/native-qa/basic-editing-contract-build5.log` and `basic-editing-contract-selfcheck5.log`; earlier failed attempts remain preserved (missing explicit imports, missing seed Region, temporary-UUID alias collision and the incorrect Capabilities-refusal expectation were harness-only corrections).
|
||||
@@ -0,0 +1,167 @@
|
||||
{
|
||||
"schema_version": 7,
|
||||
"id": "b451c000-0000-4000-8000-000000000001",
|
||||
"alias": "basic_editing",
|
||||
"name": "Basic rescue architecture",
|
||||
"description": "",
|
||||
"elements": {
|
||||
"b451c000-0000-4000-8000-000000000014": {
|
||||
"id": "b451c000-0000-4000-8000-000000000014",
|
||||
"alias": "basic_20",
|
||||
"name": "Decoy operating modes",
|
||||
"description": "",
|
||||
"parent": null,
|
||||
"body": {
|
||||
"Sa": {
|
||||
"Shared": "StateMachine"
|
||||
}
|
||||
}
|
||||
},
|
||||
"b451c000-0000-4000-8000-000000000015": {
|
||||
"id": "b451c000-0000-4000-8000-000000000015",
|
||||
"alias": "basic_21",
|
||||
"name": "Standby",
|
||||
"description": "",
|
||||
"parent": "b451c000-0000-4000-8000-000000000016",
|
||||
"body": {
|
||||
"Sa": {
|
||||
"Shared": {
|
||||
"State": {
|
||||
"kind": "State",
|
||||
"entry": "",
|
||||
"exit": "",
|
||||
"do_activity": ""
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"b451c000-0000-4000-8000-000000000016": {
|
||||
"id": "b451c000-0000-4000-8000-000000000016",
|
||||
"alias": "basic_22",
|
||||
"name": "Main",
|
||||
"description": "",
|
||||
"parent": "b451c000-0000-4000-8000-000000000014",
|
||||
"body": {
|
||||
"Sa": {
|
||||
"Shared": "Region"
|
||||
}
|
||||
}
|
||||
},
|
||||
"b451c000-0000-4000-8000-00000000001e": {
|
||||
"id": "b451c000-0000-4000-8000-00000000001e",
|
||||
"alias": "basic_30",
|
||||
"name": "Report status",
|
||||
"description": "",
|
||||
"parent": null,
|
||||
"body": {
|
||||
"Oa": "Activity"
|
||||
}
|
||||
},
|
||||
"b451c000-0000-4000-8000-00000000001f": {
|
||||
"id": "b451c000-0000-4000-8000-00000000001f",
|
||||
"alias": "basic_31",
|
||||
"name": "Rescue capability",
|
||||
"description": "",
|
||||
"parent": null,
|
||||
"body": {
|
||||
"Oa": "Capability"
|
||||
}
|
||||
},
|
||||
"b451c000-0000-4000-8000-000000000020": {
|
||||
"id": "b451c000-0000-4000-8000-000000000020",
|
||||
"alias": "basic_32",
|
||||
"name": "Unrelated function",
|
||||
"description": "",
|
||||
"parent": null,
|
||||
"body": {
|
||||
"Sa": "Function"
|
||||
}
|
||||
}
|
||||
},
|
||||
"relations": {},
|
||||
"diagrams": {
|
||||
"b451c000-0000-4000-8000-000000000002": {
|
||||
"id": "b451c000-0000-4000-8000-000000000002",
|
||||
"alias": "basic_view_2",
|
||||
"name": "A · Operating modes (not an architecture destination)",
|
||||
"description": "",
|
||||
"layer": "Sa",
|
||||
"projection": {
|
||||
"StateMachine": {
|
||||
"machine": "b451c000-0000-4000-8000-000000000014"
|
||||
}
|
||||
},
|
||||
"view_options": {
|
||||
"hidden_edges": [],
|
||||
"relation_kinds": "All",
|
||||
"work_categories": "All",
|
||||
"participant_categories": "All",
|
||||
"coverage": "All",
|
||||
"work_contexts": "All",
|
||||
"exchange_labels": "Name"
|
||||
},
|
||||
"nodes": {},
|
||||
"routes": []
|
||||
},
|
||||
"b451c000-0000-4000-8000-000000000003": {
|
||||
"id": "b451c000-0000-4000-8000-000000000003",
|
||||
"alias": "basic_view_3",
|
||||
"name": "B · Capabilities (not an allocation view)",
|
||||
"description": "",
|
||||
"layer": "Sa",
|
||||
"projection": "Capabilities",
|
||||
"view_options": {
|
||||
"hidden_edges": [],
|
||||
"relation_kinds": "All",
|
||||
"work_categories": "All",
|
||||
"participant_categories": "All",
|
||||
"coverage": "All",
|
||||
"work_contexts": "All",
|
||||
"exchange_labels": "Name"
|
||||
},
|
||||
"nodes": {},
|
||||
"routes": []
|
||||
},
|
||||
"b451c000-0000-4000-8000-000000000004": {
|
||||
"id": "b451c000-0000-4000-8000-000000000004",
|
||||
"alias": "basic_view_4",
|
||||
"name": "Operational rescue architecture",
|
||||
"description": "",
|
||||
"layer": "Oa",
|
||||
"projection": "Allocation",
|
||||
"view_options": {
|
||||
"hidden_edges": [],
|
||||
"relation_kinds": "All",
|
||||
"work_categories": "All",
|
||||
"participant_categories": "All",
|
||||
"coverage": "All",
|
||||
"work_contexts": "All",
|
||||
"exchange_labels": "Name"
|
||||
},
|
||||
"nodes": {},
|
||||
"routes": []
|
||||
},
|
||||
"b451c000-0000-4000-8000-000000000005": {
|
||||
"id": "b451c000-0000-4000-8000-000000000005",
|
||||
"alias": "basic_view_5",
|
||||
"name": "System rescue architecture",
|
||||
"description": "",
|
||||
"layer": "Sa",
|
||||
"projection": "Allocation",
|
||||
"view_options": {
|
||||
"hidden_edges": [],
|
||||
"relation_kinds": "All",
|
||||
"work_categories": "All",
|
||||
"participant_categories": "All",
|
||||
"coverage": "All",
|
||||
"work_contexts": "All",
|
||||
"exchange_labels": "Name"
|
||||
},
|
||||
"nodes": {},
|
||||
"routes": []
|
||||
}
|
||||
},
|
||||
"artifact_links": {},
|
||||
"traces": {}
|
||||
}
|
||||
@@ -0,0 +1,108 @@
|
||||
arcadia 7;
|
||||
project basic_editing "Basic rescue architecture" id "b451c000-0000-4000-8000-000000000001" {
|
||||
include "rationale.arcadia";
|
||||
description "";
|
||||
|
||||
sa_state_machine basic_20 "Decoy operating modes" id "b451c000-0000-4000-8000-000000000014" {
|
||||
description "";
|
||||
parent none;
|
||||
}
|
||||
|
||||
sa_state basic_21 "Standby" id "b451c000-0000-4000-8000-000000000015" {
|
||||
description "";
|
||||
do_activity "";
|
||||
entry "";
|
||||
exit "";
|
||||
kind State;
|
||||
parent @basic_22;
|
||||
}
|
||||
|
||||
sa_region basic_22 "Main" id "b451c000-0000-4000-8000-000000000016" {
|
||||
description "";
|
||||
parent @basic_20;
|
||||
}
|
||||
|
||||
oa_activity basic_30 "Report status" id "b451c000-0000-4000-8000-00000000001e" {
|
||||
description "";
|
||||
parent none;
|
||||
}
|
||||
|
||||
oa_capability basic_31 "Rescue capability" id "b451c000-0000-4000-8000-00000000001f" {
|
||||
description "";
|
||||
parent none;
|
||||
}
|
||||
|
||||
sa_function basic_32 "Unrelated function" id "b451c000-0000-4000-8000-000000000020" {
|
||||
description "";
|
||||
parent none;
|
||||
}
|
||||
|
||||
diagram basic_view_2 "A · Operating modes (not an architecture destination)" id "b451c000-0000-4000-8000-000000000002" {
|
||||
description "";
|
||||
layer Sa;
|
||||
projection {
|
||||
StateMachine {
|
||||
machine @basic_20;
|
||||
};
|
||||
};
|
||||
routes [];
|
||||
view_options {
|
||||
coverage "All";
|
||||
exchange_labels "Name";
|
||||
hidden_edges [];
|
||||
participant_categories "All";
|
||||
relation_kinds "All";
|
||||
work_categories "All";
|
||||
work_contexts "All";
|
||||
};
|
||||
}
|
||||
|
||||
diagram basic_view_3 "B · Capabilities (not an allocation view)" id "b451c000-0000-4000-8000-000000000003" {
|
||||
description "";
|
||||
layer Sa;
|
||||
projection Capabilities;
|
||||
routes [];
|
||||
view_options {
|
||||
coverage "All";
|
||||
exchange_labels "Name";
|
||||
hidden_edges [];
|
||||
participant_categories "All";
|
||||
relation_kinds "All";
|
||||
work_categories "All";
|
||||
work_contexts "All";
|
||||
};
|
||||
}
|
||||
|
||||
diagram basic_view_4 "Operational rescue architecture" id "b451c000-0000-4000-8000-000000000004" {
|
||||
description "";
|
||||
layer Oa;
|
||||
projection Allocation;
|
||||
routes [];
|
||||
view_options {
|
||||
coverage "All";
|
||||
exchange_labels "Name";
|
||||
hidden_edges [];
|
||||
participant_categories "All";
|
||||
relation_kinds "All";
|
||||
work_categories "All";
|
||||
work_contexts "All";
|
||||
};
|
||||
}
|
||||
|
||||
diagram basic_view_5 "System rescue architecture" id "b451c000-0000-4000-8000-000000000005" {
|
||||
description "";
|
||||
layer Sa;
|
||||
projection Allocation;
|
||||
routes [];
|
||||
view_options {
|
||||
coverage "All";
|
||||
exchange_labels "Name";
|
||||
hidden_edges [];
|
||||
participant_categories "All";
|
||||
relation_kinds "All";
|
||||
work_categories "All";
|
||||
work_contexts "All";
|
||||
};
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1 @@
|
||||
// Preserve this included engineering note: rescue 雨.
|
||||
@@ -0,0 +1,17 @@
|
||||
[
|
||||
{
|
||||
"path": "expected-baseline.json",
|
||||
"bytes": 4524,
|
||||
"sha256": "F239E728D650B0AF32BB8F3DCAF6B27C99B9C5041132AC14E51756EA6563D978"
|
||||
},
|
||||
{
|
||||
"path": "project.arcadia",
|
||||
"bytes": 3077,
|
||||
"sha256": "045CB047D7BFBCA72C3FB30DB4C81A30AD463D3AF7FC51604906AD7FA75A1FF8"
|
||||
},
|
||||
{
|
||||
"path": "rationale.arcadia",
|
||||
"bytes": 57,
|
||||
"sha256": "C01867C9DC0D40726853119FAC3C6AD24A40D8D362A93A8B9D20DF04EC2E273F"
|
||||
}
|
||||
]
|
||||
@@ -0,0 +1,115 @@
|
||||
# Source7 native acceptance fixture
|
||||
|
||||
This is the frozen baseline for separately scoped native cases. Current passes
|
||||
and remaining rendering/workflow gates are recorded in the
|
||||
[native acceptance report](../../release-source7-native-acceptance-20260907.md);
|
||||
fixture generation alone is not native acceptance. `base/project.arcadia` and its included
|
||||
`rationale.arcadia` contain43elements and9relations: OA and SA callers each reuse
|
||||
an A→B→C procedure twice and through one nested wrapper. A direct X contribution
|
||||
allows a caller link specifically into B. The SA boundary has two parameterless
|
||||
operations and a correlated Reply. All identities are deterministic.
|
||||
|
||||
Copy the complete `base` directory into a fresh working directory per case. Keep
|
||||
the baseline unchanged. `harness/source7-native-contract.rs` generates it and
|
||||
checks actual saved results against an independently constructed complete model
|
||||
and source update. It refuses migration, UUID stabilization or whitespace
|
||||
normalization. Current exact baseline generation and comparison passed against
|
||||
the source7 core; this does not constitute UI acceptance.
|
||||
|
||||
Cases for the actual compiled desktop:
|
||||
|
||||
- `operation-reset`: edit the first existing Call (`@operation_probe_43`) to
|
||||
select Reset's exact allocation (`@operation_probe_30`). Reply remains
|
||||
independently identified and derives this Call's operation. No new model
|
||||
records are expected.
|
||||
- `operation-status`: on a separate baseline copy, select ReadStatus's allocation
|
||||
(`@operation_probe_31`) on the same Call. Its authored message name is retained.
|
||||
- `oa-link` / `sa-link`: in the appropriate `@oa_caller` / `@sa_caller`, create
|
||||
one contextual Precedence from direct `@oa_x` / `@sa_x` into B through the first
|
||||
reference R1. Enter name `First assessment gate` and guard `Check accepted`.
|
||||
Repeated reference R2 and the procedure definition must remain unchanged.
|
||||
- `oa-nested` / `sa-nested`: target B through R3 and its Inner assessment reference.
|
||||
The exact two-component instance path is required.
|
||||
- `baseline`: Undo the one accepted edit, save, and compare all model/source
|
||||
bytes. Redo and saved reopen must return the same accepted identity and fields.
|
||||
|
||||
For creation checks, exactly one newly allocated v4 relation UUID is permitted.
|
||||
Only that fresh nonce is read from the native result; every authored field,
|
||||
alias, owner, path, purpose, dependency and complete source update is predicted.
|
||||
No existing identity or unrelated record is excluded from comparison. Preserve
|
||||
the accepted files/hashes to prove that Redo/reopen retain this allocated UUID.
|
||||
|
||||
Build the checker using the current source7 core library and matching serde_json
|
||||
library, then run `CHECKER generate NEW_DIRECTORY` or
|
||||
`CHECKER check MODE WORKING_DIRECTORY/project.arcadia`. Source6 teaching and
|
||||
historical recovery oracles remain in their separate fixture directories.
|
||||
|
||||
## Additional purpose cases: validated oracles, native pending
|
||||
|
||||
New source in `harness/source7-native-contract.rs` adds two independent incidence
|
||||
oracles. Direct-rustc `-D warnings` compilation passed in4.05s during a coordinated
|
||||
brief lease; both purpose self-checks passed. Existing base bytes and its manifest
|
||||
remain unchanged. Native purpose authoring/history is not yet accepted.
|
||||
|
||||
Validated checker: `.local/native-qa/source7-native-contract-incidence.exe`, SHA256
|
||||
`16994DC437F5CCC5E5F6FBB4212C03449F2389AE4615FA98B2930B3637468EE3`.
|
||||
The original checker remains unchanged at SHA256
|
||||
`4AC615A099F23A78F111BAD3966A3CCB808FCA1C5FC46FBAC9A947508A568600`.
|
||||
Logs: `.local/native-qa/source7-incidence-{build,selfcheck,generation}.log`.
|
||||
Generated separate fixture `.local/native-qa/source7-incidence-base` passed the
|
||||
complete baseline check; entry SHA256
|
||||
`77C26FD2DD71514AB89C0FA71113825AC8F3DBD8F71A56EFAE8E5430C92D99B8`.
|
||||
Regenerated original baseline matched all three manifest hashes; preserved native
|
||||
OA-link and operation-Reset accepted cases also passed the extended checker.
|
||||
|
||||
To reproduce, build the checker against matching current core/serde libraries, preserving the
|
||||
old checker executable, and first run `CHECKER verify-incidence-contract`. This
|
||||
constructs expected typed commands, proves complete core analysis with exactly
|
||||
one assembly record and unchanged precedence/entries/exits, checks invalid
|
||||
direction/work counterfactuals, and checks stable source updates. Native check
|
||||
modes predict the entire Project and two-file source bundle; only the new link's
|
||||
v4 nonce is taken from actual output, never its name, endpoints, purpose or evidence.
|
||||
|
||||
### OA Exchange assembly
|
||||
|
||||
Run `CHECKER generate-incidence NEW_DIRECTORY`; this separate deterministic variant
|
||||
adds one Interaction, `@oa_assessment_handoff`, **Assessment handoff X to B**,
|
||||
from `@oa_work_x` to `@oa_work_b`. It contains43elements/10relations/two sources.
|
||||
Do not replace `base` with this variant. Check the clean copy with
|
||||
`CHECKER check incidence-baseline NEW_DIRECTORY/project.arcadia`.
|
||||
|
||||
In OA caller, choose **Tools → Qualified link / assembly…**. Set source to direct
|
||||
X (`[]/oa_x`); Choose target → Enter First assessment → B (`[oa_r1]/oa_b`). Enter
|
||||
name **Caller assessment handoff**. Choose **Exchange assembly** and first leave
|
||||
evidence empty: Apply must refuse. Then select the exact **Assessment handoff X to B**
|
||||
Interaction; Apply should become available. Apply once and Save a fresh copy.
|
||||
|
||||
Run `CHECKER check oa-exchange-assembly SAVED/project.arcadia`. Undo/Save uses
|
||||
`incidence-baseline`; Redo/Save uses `oa-exchange-assembly` and must preserve the
|
||||
same accepted UUID/bytes. The link is incidence: no precedence arrow/guard or
|
||||
merged execution is inferred. Core proof checks its exchange contributes to this
|
||||
caller’s behavior coverage, not the shared procedure’s global coverage. The
|
||||
reversed contextual endpoint counterfactual must be rejected; deleting the
|
||||
evidence exchange removes its dependent incidence link (automated oracle only).
|
||||
|
||||
### SA Common work incidence
|
||||
|
||||
Use a fresh copy of the original unchanged `base`, not the exchange variant.
|
||||
In SA caller, choose **Tools → Qualified link / assembly…**. For source Enter
|
||||
First assessment → B (`[sa_r1]/sa_b`); for target return Root then Enter Second
|
||||
assessment → B (`[sa_r2]/sa_b`). Enter name **Shared assessment work** and select
|
||||
**Common work incidence**. Choosing **X · Check authorization** (`@sa_work_x`)
|
||||
as evidence must reject; repair to exact **B · Review assessment** (`@sa_work_b`).
|
||||
Both full reference paths must remain distinct while the shared work identity is
|
||||
the same. Apply once and Save a fresh copy.
|
||||
|
||||
Run `CHECKER check sa-common-work SAVED/project.arcadia`. Undo/Save uses `baseline`;
|
||||
Redo/Save uses `sa-common-work` and exact accepted UUID/byte comparison. This records
|
||||
shared identity; it neither fuses the two occurrences nor creates execution order.
|
||||
The complete-model oracle rejects renamed/duplicated work, collapsed instance
|
||||
paths, wrong evidence or unrelated record changes.
|
||||
|
||||
After compiling, also regenerate original `generate` into a fresh scratch folder
|
||||
and compare its three hashes with the existing manifest, then rerun a preserved
|
||||
old accepted case. These checks establish that extending the checker did not alter
|
||||
the already-measured baseline or existing expected results.
|
||||
@@ -0,0 +1,936 @@
|
||||
{
|
||||
"schema_version": 7,
|
||||
"id": "52060906-0000-4000-8000-000000000001",
|
||||
"alias": "source7_native_contract",
|
||||
"name": "Reusable procedures and operation identity",
|
||||
"description": "",
|
||||
"elements": {
|
||||
"071edc32-5c27-5c1d-91ff-337c80b462d5": {
|
||||
"id": "071edc32-5c27-5c1d-91ff-337c80b462d5",
|
||||
"alias": "sa_work_a",
|
||||
"name": "A · Begin assessment",
|
||||
"description": "",
|
||||
"parent": null,
|
||||
"body": {
|
||||
"Sa": "Function"
|
||||
}
|
||||
},
|
||||
"08ff2083-dac1-5f4b-ad6a-7cc81d7be29d": {
|
||||
"id": "08ff2083-dac1-5f4b-ad6a-7cc81d7be29d",
|
||||
"alias": "oa_x",
|
||||
"name": "X · Check authorization",
|
||||
"description": "",
|
||||
"parent": "2100ac23-79ee-54e1-b3cf-69f3d4f3b30a",
|
||||
"body": {
|
||||
"Oa": {
|
||||
"Shared": {
|
||||
"Occurrence": {
|
||||
"body": {
|
||||
"Action": {
|
||||
"action": "e78d841a-a37e-5106-8356-b1e3ce6d2501",
|
||||
"lifeline": null
|
||||
}
|
||||
},
|
||||
"precondition": "",
|
||||
"postcondition": ""
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"14d1133a-697d-5b54-b624-eed0fb04a354": {
|
||||
"id": "14d1133a-697d-5b54-b624-eed0fb04a354",
|
||||
"alias": "sa_a",
|
||||
"name": "A · Begin assessment",
|
||||
"description": "",
|
||||
"parent": "c1d4eda2-fac7-5621-a7ac-25f985911bf5",
|
||||
"body": {
|
||||
"Sa": {
|
||||
"Shared": {
|
||||
"Occurrence": {
|
||||
"body": {
|
||||
"Action": {
|
||||
"action": "071edc32-5c27-5c1d-91ff-337c80b462d5",
|
||||
"lifeline": null
|
||||
}
|
||||
},
|
||||
"precondition": "",
|
||||
"postcondition": ""
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"1a215aed-f0b1-521d-b52f-0c1cfbbf1c36": {
|
||||
"id": "1a215aed-f0b1-521d-b52f-0c1cfbbf1c36",
|
||||
"alias": "sa_c",
|
||||
"name": "C · Finish assessment",
|
||||
"description": "",
|
||||
"parent": "c1d4eda2-fac7-5621-a7ac-25f985911bf5",
|
||||
"body": {
|
||||
"Sa": {
|
||||
"Shared": {
|
||||
"Occurrence": {
|
||||
"body": {
|
||||
"Action": {
|
||||
"action": "6575bce8-4185-519b-a004-d96650da63dc",
|
||||
"lifeline": null
|
||||
}
|
||||
},
|
||||
"precondition": "",
|
||||
"postcondition": ""
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"1e27be58-3e3e-5869-ad30-e94a28ea2a2e": {
|
||||
"id": "1e27be58-3e3e-5869-ad30-e94a28ea2a2e",
|
||||
"alias": "oa_r2",
|
||||
"name": "Second assessment",
|
||||
"description": "",
|
||||
"parent": "2100ac23-79ee-54e1-b3cf-69f3d4f3b30a",
|
||||
"body": {
|
||||
"Oa": {
|
||||
"Shared": {
|
||||
"Occurrence": {
|
||||
"body": {
|
||||
"SequenceReference": {
|
||||
"sequence": "af139b27-7e42-5729-9e49-53b2ac62c9e7"
|
||||
}
|
||||
},
|
||||
"precondition": "",
|
||||
"postcondition": ""
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"2100ac23-79ee-54e1-b3cf-69f3d4f3b30a": {
|
||||
"id": "2100ac23-79ee-54e1-b3cf-69f3d4f3b30a",
|
||||
"alias": "oa_caller",
|
||||
"name": "Caller with three assessments",
|
||||
"description": "",
|
||||
"parent": null,
|
||||
"body": {
|
||||
"Oa": {
|
||||
"Process": {
|
||||
"steps": [
|
||||
"08ff2083-dac1-5f4b-ad6a-7cc81d7be29d",
|
||||
"d48951ad-c6db-5eae-923a-edccab97155e",
|
||||
"1e27be58-3e3e-5869-ad30-e94a28ea2a2e",
|
||||
"fc986c5c-eae7-5363-bcd5-b832d565a89a"
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"25fdfe13-c45d-5822-830a-192ff13f660d": {
|
||||
"id": "25fdfe13-c45d-5822-830a-192ff13f660d",
|
||||
"alias": "oa_work_a",
|
||||
"name": "A · Begin assessment",
|
||||
"description": "",
|
||||
"parent": null,
|
||||
"body": {
|
||||
"Oa": "Activity"
|
||||
}
|
||||
},
|
||||
"273d8df8-83c8-5d75-99d1-59a7c9fdb705": {
|
||||
"id": "273d8df8-83c8-5d75-99d1-59a7c9fdb705",
|
||||
"alias": "oa_nested_definition",
|
||||
"name": "Nested assessment wrapper",
|
||||
"description": "",
|
||||
"parent": null,
|
||||
"body": {
|
||||
"Oa": {
|
||||
"Process": {
|
||||
"steps": [
|
||||
"e16033cd-3184-56ef-b462-5559ad212c84"
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"3360ccb1-68ac-51cd-8d9a-8893000c80ef": {
|
||||
"id": "3360ccb1-68ac-51cd-8d9a-8893000c80ef",
|
||||
"alias": "sa_work_b",
|
||||
"name": "B · Review assessment",
|
||||
"description": "",
|
||||
"parent": null,
|
||||
"body": {
|
||||
"Sa": "Function"
|
||||
}
|
||||
},
|
||||
"47335738-0876-5f90-b25e-1636c7448e93": {
|
||||
"id": "47335738-0876-5f90-b25e-1636c7448e93",
|
||||
"alias": "oa_work_c",
|
||||
"name": "C · Finish assessment",
|
||||
"description": "",
|
||||
"parent": null,
|
||||
"body": {
|
||||
"Oa": "Activity"
|
||||
}
|
||||
},
|
||||
"4a65dad8-e2a1-51dc-87a0-02ea4ab69384": {
|
||||
"id": "4a65dad8-e2a1-51dc-87a0-02ea4ab69384",
|
||||
"alias": "sa_r3",
|
||||
"name": "Nested assessment",
|
||||
"description": "",
|
||||
"parent": "d4911fd0-52ed-535c-9f87-170e8f5731d2",
|
||||
"body": {
|
||||
"Sa": {
|
||||
"Shared": {
|
||||
"Occurrence": {
|
||||
"body": {
|
||||
"SequenceReference": {
|
||||
"sequence": "7932ab3a-6b60-5059-a3a0-fca3a2f9a197"
|
||||
}
|
||||
},
|
||||
"precondition": "",
|
||||
"postcondition": ""
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"52060906-0000-4000-8000-00000000000a": {
|
||||
"id": "52060906-0000-4000-8000-00000000000a",
|
||||
"alias": "operation_probe_10",
|
||||
"name": "Operator console",
|
||||
"description": "",
|
||||
"parent": null,
|
||||
"body": {
|
||||
"Sa": "Actor"
|
||||
}
|
||||
},
|
||||
"52060906-0000-4000-8000-00000000000b": {
|
||||
"id": "52060906-0000-4000-8000-00000000000b",
|
||||
"alias": "operation_probe_11",
|
||||
"name": "Valve service",
|
||||
"description": "",
|
||||
"parent": null,
|
||||
"body": {
|
||||
"Sa": "System"
|
||||
}
|
||||
},
|
||||
"52060906-0000-4000-8000-00000000000c": {
|
||||
"id": "52060906-0000-4000-8000-00000000000c",
|
||||
"alias": "operation_probe_12",
|
||||
"name": "Service socket",
|
||||
"description": "",
|
||||
"parent": "52060906-0000-4000-8000-00000000000a",
|
||||
"body": {
|
||||
"Sa": {
|
||||
"Shared": {
|
||||
"Port": {
|
||||
"contract": {
|
||||
"Component": {
|
||||
"kind": "Standard",
|
||||
"orientation": "Unset"
|
||||
}
|
||||
},
|
||||
"legacy": null
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"52060906-0000-4000-8000-00000000000d": {
|
||||
"id": "52060906-0000-4000-8000-00000000000d",
|
||||
"alias": "operation_probe_13",
|
||||
"name": "Service socket",
|
||||
"description": "",
|
||||
"parent": "52060906-0000-4000-8000-00000000000b",
|
||||
"body": {
|
||||
"Sa": {
|
||||
"Shared": {
|
||||
"Port": {
|
||||
"contract": {
|
||||
"Component": {
|
||||
"kind": "Standard",
|
||||
"orientation": "Unset"
|
||||
}
|
||||
},
|
||||
"legacy": null
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"52060906-0000-4000-8000-000000000014": {
|
||||
"id": "52060906-0000-4000-8000-000000000014",
|
||||
"alias": "operation_probe_20",
|
||||
"name": "Reset",
|
||||
"description": "",
|
||||
"parent": null,
|
||||
"body": {
|
||||
"Sa": {
|
||||
"Shared": {
|
||||
"ExchangeItem": {
|
||||
"kind": "Information",
|
||||
"mechanism": "Operation",
|
||||
"supertype": null
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"52060906-0000-4000-8000-000000000015": {
|
||||
"id": "52060906-0000-4000-8000-000000000015",
|
||||
"alias": "operation_probe_21",
|
||||
"name": "ReadStatus",
|
||||
"description": "",
|
||||
"parent": null,
|
||||
"body": {
|
||||
"Sa": {
|
||||
"Shared": {
|
||||
"ExchangeItem": {
|
||||
"kind": "Information",
|
||||
"mechanism": "Operation",
|
||||
"supertype": null
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"52060906-0000-4000-8000-000000000016": {
|
||||
"id": "52060906-0000-4000-8000-000000000016",
|
||||
"alias": "operation_probe_22",
|
||||
"name": "Valve commands",
|
||||
"description": "",
|
||||
"parent": null,
|
||||
"body": {
|
||||
"Sa": {
|
||||
"Shared": {
|
||||
"Interface": {
|
||||
"supertype": null
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"52060906-0000-4000-8000-000000000028": {
|
||||
"id": "52060906-0000-4000-8000-000000000028",
|
||||
"alias": "operation_probe_40",
|
||||
"name": "Reset then read status",
|
||||
"description": "",
|
||||
"parent": null,
|
||||
"body": {
|
||||
"Sa": {
|
||||
"Shared": {
|
||||
"Scenario": {
|
||||
"viewpoint": "BoundaryInterface",
|
||||
"context": null,
|
||||
"precondition": "",
|
||||
"postcondition": "",
|
||||
"steps": [
|
||||
"52060906-0000-4000-8000-00000000002b",
|
||||
"52060906-0000-4000-8000-00000000002c",
|
||||
"aa8b674f-012f-583f-8dc7-a76407d1f8a7"
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"52060906-0000-4000-8000-000000000029": {
|
||||
"id": "52060906-0000-4000-8000-000000000029",
|
||||
"alias": "operation_probe_41",
|
||||
"name": "Service participant",
|
||||
"description": "",
|
||||
"parent": "52060906-0000-4000-8000-000000000028",
|
||||
"body": {
|
||||
"Sa": {
|
||||
"Shared": {
|
||||
"Lifeline": {
|
||||
"represented": "52060906-0000-4000-8000-00000000000a"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"52060906-0000-4000-8000-00000000002a": {
|
||||
"id": "52060906-0000-4000-8000-00000000002a",
|
||||
"alias": "operation_probe_42",
|
||||
"name": "Service participant",
|
||||
"description": "",
|
||||
"parent": "52060906-0000-4000-8000-000000000028",
|
||||
"body": {
|
||||
"Sa": {
|
||||
"Shared": {
|
||||
"Lifeline": {
|
||||
"represented": "52060906-0000-4000-8000-00000000000b"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"52060906-0000-4000-8000-00000000002b": {
|
||||
"id": "52060906-0000-4000-8000-00000000002b",
|
||||
"alias": "operation_probe_43",
|
||||
"name": "Call Reset",
|
||||
"description": "",
|
||||
"parent": "52060906-0000-4000-8000-000000000028",
|
||||
"body": {
|
||||
"Sa": {
|
||||
"Shared": {
|
||||
"Occurrence": {
|
||||
"body": {
|
||||
"Exchange": {
|
||||
"exchange": "52060906-0000-4000-8000-000000000022",
|
||||
"sender": "52060906-0000-4000-8000-000000000029",
|
||||
"receiver": "52060906-0000-4000-8000-00000000002a",
|
||||
"message_kind": "Call",
|
||||
"reply_to": null,
|
||||
"values": []
|
||||
}
|
||||
},
|
||||
"precondition": "",
|
||||
"postcondition": ""
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"52060906-0000-4000-8000-00000000002c": {
|
||||
"id": "52060906-0000-4000-8000-00000000002c",
|
||||
"alias": "operation_probe_44",
|
||||
"name": "Call ReadStatus",
|
||||
"description": "",
|
||||
"parent": "52060906-0000-4000-8000-000000000028",
|
||||
"body": {
|
||||
"Sa": {
|
||||
"Shared": {
|
||||
"Occurrence": {
|
||||
"body": {
|
||||
"Exchange": {
|
||||
"exchange": "52060906-0000-4000-8000-000000000022",
|
||||
"sender": "52060906-0000-4000-8000-000000000029",
|
||||
"receiver": "52060906-0000-4000-8000-00000000002a",
|
||||
"message_kind": "Call",
|
||||
"reply_to": null,
|
||||
"values": []
|
||||
}
|
||||
},
|
||||
"precondition": "",
|
||||
"postcondition": ""
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"53ad2109-ba9d-5859-b258-64cdaab5c4a8": {
|
||||
"id": "53ad2109-ba9d-5859-b258-64cdaab5c4a8",
|
||||
"alias": "sa_x",
|
||||
"name": "X · Check authorization",
|
||||
"description": "",
|
||||
"parent": "d4911fd0-52ed-535c-9f87-170e8f5731d2",
|
||||
"body": {
|
||||
"Sa": {
|
||||
"Shared": {
|
||||
"Occurrence": {
|
||||
"body": {
|
||||
"Action": {
|
||||
"action": "8c3d9b89-aa12-5218-9de9-12b8b5d4e4b3",
|
||||
"lifeline": null
|
||||
}
|
||||
},
|
||||
"precondition": "",
|
||||
"postcondition": ""
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"62cfdab1-a18b-5b06-8ee7-cd0b320e4024": {
|
||||
"id": "62cfdab1-a18b-5b06-8ee7-cd0b320e4024",
|
||||
"alias": "sa_r1",
|
||||
"name": "First assessment",
|
||||
"description": "",
|
||||
"parent": "d4911fd0-52ed-535c-9f87-170e8f5731d2",
|
||||
"body": {
|
||||
"Sa": {
|
||||
"Shared": {
|
||||
"Occurrence": {
|
||||
"body": {
|
||||
"SequenceReference": {
|
||||
"sequence": "c1d4eda2-fac7-5621-a7ac-25f985911bf5"
|
||||
}
|
||||
},
|
||||
"precondition": "",
|
||||
"postcondition": ""
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"6575bce8-4185-519b-a004-d96650da63dc": {
|
||||
"id": "6575bce8-4185-519b-a004-d96650da63dc",
|
||||
"alias": "sa_work_c",
|
||||
"name": "C · Finish assessment",
|
||||
"description": "",
|
||||
"parent": null,
|
||||
"body": {
|
||||
"Sa": "Function"
|
||||
}
|
||||
},
|
||||
"7932ab3a-6b60-5059-a3a0-fca3a2f9a197": {
|
||||
"id": "7932ab3a-6b60-5059-a3a0-fca3a2f9a197",
|
||||
"alias": "sa_nested_definition",
|
||||
"name": "Nested assessment wrapper",
|
||||
"description": "",
|
||||
"parent": null,
|
||||
"body": {
|
||||
"Sa": {
|
||||
"FunctionalChain": {
|
||||
"steps": [
|
||||
"e21febd2-30ec-5e9d-aa4c-3c54c95c2c9f"
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"8c3d9b89-aa12-5218-9de9-12b8b5d4e4b3": {
|
||||
"id": "8c3d9b89-aa12-5218-9de9-12b8b5d4e4b3",
|
||||
"alias": "sa_work_x",
|
||||
"name": "X · Check authorization",
|
||||
"description": "",
|
||||
"parent": null,
|
||||
"body": {
|
||||
"Sa": "Function"
|
||||
}
|
||||
},
|
||||
"999b5e15-903f-5ca1-bc11-e51fadf80762": {
|
||||
"id": "999b5e15-903f-5ca1-bc11-e51fadf80762",
|
||||
"alias": "sa_r2",
|
||||
"name": "Second assessment",
|
||||
"description": "",
|
||||
"parent": "d4911fd0-52ed-535c-9f87-170e8f5731d2",
|
||||
"body": {
|
||||
"Sa": {
|
||||
"Shared": {
|
||||
"Occurrence": {
|
||||
"body": {
|
||||
"SequenceReference": {
|
||||
"sequence": "c1d4eda2-fac7-5621-a7ac-25f985911bf5"
|
||||
}
|
||||
},
|
||||
"precondition": "",
|
||||
"postcondition": ""
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"a39639dc-0ece-5b71-981d-c9523fed4914": {
|
||||
"id": "a39639dc-0ece-5b71-981d-c9523fed4914",
|
||||
"alias": "oa_work_b",
|
||||
"name": "B · Review assessment",
|
||||
"description": "",
|
||||
"parent": null,
|
||||
"body": {
|
||||
"Oa": "Activity"
|
||||
}
|
||||
},
|
||||
"aa8b674f-012f-583f-8dc7-a76407d1f8a7": {
|
||||
"id": "aa8b674f-012f-583f-8dc7-a76407d1f8a7",
|
||||
"alias": "reset_reply",
|
||||
"name": "Correlated reset reply",
|
||||
"description": "",
|
||||
"parent": "52060906-0000-4000-8000-000000000028",
|
||||
"body": {
|
||||
"Sa": {
|
||||
"Shared": {
|
||||
"Occurrence": {
|
||||
"body": {
|
||||
"Exchange": {
|
||||
"exchange": "52060906-0000-4000-8000-000000000022",
|
||||
"sender": "52060906-0000-4000-8000-00000000002a",
|
||||
"receiver": "52060906-0000-4000-8000-000000000029",
|
||||
"message_kind": "Reply",
|
||||
"reply_to": "52060906-0000-4000-8000-00000000002b",
|
||||
"values": []
|
||||
}
|
||||
},
|
||||
"precondition": "",
|
||||
"postcondition": ""
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"af139b27-7e42-5729-9e49-53b2ac62c9e7": {
|
||||
"id": "af139b27-7e42-5729-9e49-53b2ac62c9e7",
|
||||
"alias": "oa_procedure",
|
||||
"name": "Reusable assessment A to C",
|
||||
"description": "",
|
||||
"parent": null,
|
||||
"body": {
|
||||
"Oa": {
|
||||
"Process": {
|
||||
"steps": [
|
||||
"dc17769b-7e1e-5f15-99bb-0caf98bcb006",
|
||||
"ef2a06af-6013-5f0b-a56d-db705f0685ce",
|
||||
"c40c2011-4497-52f0-9e0e-10323b3150a8"
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"bf9ba00e-2aaa-5f04-9ba1-2c242d07b938": {
|
||||
"id": "bf9ba00e-2aaa-5f04-9ba1-2c242d07b938",
|
||||
"alias": "sa_b",
|
||||
"name": "B · Review assessment",
|
||||
"description": "",
|
||||
"parent": "c1d4eda2-fac7-5621-a7ac-25f985911bf5",
|
||||
"body": {
|
||||
"Sa": {
|
||||
"Shared": {
|
||||
"Occurrence": {
|
||||
"body": {
|
||||
"Action": {
|
||||
"action": "3360ccb1-68ac-51cd-8d9a-8893000c80ef",
|
||||
"lifeline": null
|
||||
}
|
||||
},
|
||||
"precondition": "",
|
||||
"postcondition": ""
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"c1d4eda2-fac7-5621-a7ac-25f985911bf5": {
|
||||
"id": "c1d4eda2-fac7-5621-a7ac-25f985911bf5",
|
||||
"alias": "sa_procedure",
|
||||
"name": "Reusable assessment A to C",
|
||||
"description": "",
|
||||
"parent": null,
|
||||
"body": {
|
||||
"Sa": {
|
||||
"FunctionalChain": {
|
||||
"steps": [
|
||||
"14d1133a-697d-5b54-b624-eed0fb04a354",
|
||||
"bf9ba00e-2aaa-5f04-9ba1-2c242d07b938",
|
||||
"1a215aed-f0b1-521d-b52f-0c1cfbbf1c36"
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"c40c2011-4497-52f0-9e0e-10323b3150a8": {
|
||||
"id": "c40c2011-4497-52f0-9e0e-10323b3150a8",
|
||||
"alias": "oa_c",
|
||||
"name": "C · Finish assessment",
|
||||
"description": "",
|
||||
"parent": "af139b27-7e42-5729-9e49-53b2ac62c9e7",
|
||||
"body": {
|
||||
"Oa": {
|
||||
"Shared": {
|
||||
"Occurrence": {
|
||||
"body": {
|
||||
"Action": {
|
||||
"action": "47335738-0876-5f90-b25e-1636c7448e93",
|
||||
"lifeline": null
|
||||
}
|
||||
},
|
||||
"precondition": "",
|
||||
"postcondition": ""
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"d48951ad-c6db-5eae-923a-edccab97155e": {
|
||||
"id": "d48951ad-c6db-5eae-923a-edccab97155e",
|
||||
"alias": "oa_r1",
|
||||
"name": "First assessment",
|
||||
"description": "",
|
||||
"parent": "2100ac23-79ee-54e1-b3cf-69f3d4f3b30a",
|
||||
"body": {
|
||||
"Oa": {
|
||||
"Shared": {
|
||||
"Occurrence": {
|
||||
"body": {
|
||||
"SequenceReference": {
|
||||
"sequence": "af139b27-7e42-5729-9e49-53b2ac62c9e7"
|
||||
}
|
||||
},
|
||||
"precondition": "",
|
||||
"postcondition": ""
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"d4911fd0-52ed-535c-9f87-170e8f5731d2": {
|
||||
"id": "d4911fd0-52ed-535c-9f87-170e8f5731d2",
|
||||
"alias": "sa_caller",
|
||||
"name": "Caller with three assessments",
|
||||
"description": "",
|
||||
"parent": null,
|
||||
"body": {
|
||||
"Sa": {
|
||||
"FunctionalChain": {
|
||||
"steps": [
|
||||
"53ad2109-ba9d-5859-b258-64cdaab5c4a8",
|
||||
"62cfdab1-a18b-5b06-8ee7-cd0b320e4024",
|
||||
"999b5e15-903f-5ca1-bc11-e51fadf80762",
|
||||
"4a65dad8-e2a1-51dc-87a0-02ea4ab69384"
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"dc17769b-7e1e-5f15-99bb-0caf98bcb006": {
|
||||
"id": "dc17769b-7e1e-5f15-99bb-0caf98bcb006",
|
||||
"alias": "oa_a",
|
||||
"name": "A · Begin assessment",
|
||||
"description": "",
|
||||
"parent": "af139b27-7e42-5729-9e49-53b2ac62c9e7",
|
||||
"body": {
|
||||
"Oa": {
|
||||
"Shared": {
|
||||
"Occurrence": {
|
||||
"body": {
|
||||
"Action": {
|
||||
"action": "25fdfe13-c45d-5822-830a-192ff13f660d",
|
||||
"lifeline": null
|
||||
}
|
||||
},
|
||||
"precondition": "",
|
||||
"postcondition": ""
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"e16033cd-3184-56ef-b462-5559ad212c84": {
|
||||
"id": "e16033cd-3184-56ef-b462-5559ad212c84",
|
||||
"alias": "oa_inner",
|
||||
"name": "Inner assessment",
|
||||
"description": "",
|
||||
"parent": "273d8df8-83c8-5d75-99d1-59a7c9fdb705",
|
||||
"body": {
|
||||
"Oa": {
|
||||
"Shared": {
|
||||
"Occurrence": {
|
||||
"body": {
|
||||
"SequenceReference": {
|
||||
"sequence": "af139b27-7e42-5729-9e49-53b2ac62c9e7"
|
||||
}
|
||||
},
|
||||
"precondition": "",
|
||||
"postcondition": ""
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"e21febd2-30ec-5e9d-aa4c-3c54c95c2c9f": {
|
||||
"id": "e21febd2-30ec-5e9d-aa4c-3c54c95c2c9f",
|
||||
"alias": "sa_inner",
|
||||
"name": "Inner assessment",
|
||||
"description": "",
|
||||
"parent": "7932ab3a-6b60-5059-a3a0-fca3a2f9a197",
|
||||
"body": {
|
||||
"Sa": {
|
||||
"Shared": {
|
||||
"Occurrence": {
|
||||
"body": {
|
||||
"SequenceReference": {
|
||||
"sequence": "c1d4eda2-fac7-5621-a7ac-25f985911bf5"
|
||||
}
|
||||
},
|
||||
"precondition": "",
|
||||
"postcondition": ""
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"e78d841a-a37e-5106-8356-b1e3ce6d2501": {
|
||||
"id": "e78d841a-a37e-5106-8356-b1e3ce6d2501",
|
||||
"alias": "oa_work_x",
|
||||
"name": "X · Check authorization",
|
||||
"description": "",
|
||||
"parent": null,
|
||||
"body": {
|
||||
"Oa": "Activity"
|
||||
}
|
||||
},
|
||||
"ef2a06af-6013-5f0b-a56d-db705f0685ce": {
|
||||
"id": "ef2a06af-6013-5f0b-a56d-db705f0685ce",
|
||||
"alias": "oa_b",
|
||||
"name": "B · Review assessment",
|
||||
"description": "",
|
||||
"parent": "af139b27-7e42-5729-9e49-53b2ac62c9e7",
|
||||
"body": {
|
||||
"Oa": {
|
||||
"Shared": {
|
||||
"Occurrence": {
|
||||
"body": {
|
||||
"Action": {
|
||||
"action": "a39639dc-0ece-5b71-981d-c9523fed4914",
|
||||
"lifeline": null
|
||||
}
|
||||
},
|
||||
"precondition": "",
|
||||
"postcondition": ""
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"fc986c5c-eae7-5363-bcd5-b832d565a89a": {
|
||||
"id": "fc986c5c-eae7-5363-bcd5-b832d565a89a",
|
||||
"alias": "oa_r3",
|
||||
"name": "Nested assessment",
|
||||
"description": "",
|
||||
"parent": "2100ac23-79ee-54e1-b3cf-69f3d4f3b30a",
|
||||
"body": {
|
||||
"Oa": {
|
||||
"Shared": {
|
||||
"Occurrence": {
|
||||
"body": {
|
||||
"SequenceReference": {
|
||||
"sequence": "273d8df8-83c8-5d75-99d1-59a7c9fdb705"
|
||||
}
|
||||
},
|
||||
"precondition": "",
|
||||
"postcondition": ""
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"relations": {
|
||||
"0fc11ada-23a6-5f39-9891-e7f363a1edfb": {
|
||||
"id": "0fc11ada-23a6-5f39-9891-e7f363a1edfb",
|
||||
"alias": "oa_a_then_b",
|
||||
"name": "a then b",
|
||||
"description": "",
|
||||
"body": {
|
||||
"SequenceLink": {
|
||||
"source": "dc17769b-7e1e-5f15-99bb-0caf98bcb006",
|
||||
"target": "ef2a06af-6013-5f0b-a56d-db705f0685ce",
|
||||
"guard": ""
|
||||
}
|
||||
}
|
||||
},
|
||||
"169f558e-a466-5fcc-b0d7-53e481952714": {
|
||||
"id": "169f558e-a466-5fcc-b0d7-53e481952714",
|
||||
"alias": "oa_b_then_c",
|
||||
"name": "b then c",
|
||||
"description": "",
|
||||
"body": {
|
||||
"SequenceLink": {
|
||||
"source": "ef2a06af-6013-5f0b-a56d-db705f0685ce",
|
||||
"target": "c40c2011-4497-52f0-9e0e-10323b3150a8",
|
||||
"guard": ""
|
||||
}
|
||||
}
|
||||
},
|
||||
"52060906-0000-4000-8000-00000000001e": {
|
||||
"id": "52060906-0000-4000-8000-00000000001e",
|
||||
"alias": "operation_probe_30",
|
||||
"name": "InterfaceItemAllocation 30",
|
||||
"description": "",
|
||||
"body": {
|
||||
"InterfaceItemAllocation": {
|
||||
"source": "52060906-0000-4000-8000-000000000016",
|
||||
"target": "52060906-0000-4000-8000-000000000014",
|
||||
"order": 0,
|
||||
"transmission": "Synchronous",
|
||||
"acquisition": "Unspecified"
|
||||
}
|
||||
}
|
||||
},
|
||||
"52060906-0000-4000-8000-00000000001f": {
|
||||
"id": "52060906-0000-4000-8000-00000000001f",
|
||||
"alias": "operation_probe_31",
|
||||
"name": "InterfaceItemAllocation 31",
|
||||
"description": "",
|
||||
"body": {
|
||||
"InterfaceItemAllocation": {
|
||||
"source": "52060906-0000-4000-8000-000000000016",
|
||||
"target": "52060906-0000-4000-8000-000000000015",
|
||||
"order": 0,
|
||||
"transmission": "Synchronous",
|
||||
"acquisition": "Unspecified"
|
||||
}
|
||||
}
|
||||
},
|
||||
"52060906-0000-4000-8000-000000000020": {
|
||||
"id": "52060906-0000-4000-8000-000000000020",
|
||||
"alias": "operation_probe_32",
|
||||
"name": "InterfaceRequirement 32",
|
||||
"description": "",
|
||||
"body": {
|
||||
"InterfaceRequirement": {
|
||||
"source": "52060906-0000-4000-8000-00000000000c",
|
||||
"target": "52060906-0000-4000-8000-000000000016"
|
||||
}
|
||||
}
|
||||
},
|
||||
"52060906-0000-4000-8000-000000000021": {
|
||||
"id": "52060906-0000-4000-8000-000000000021",
|
||||
"alias": "operation_probe_33",
|
||||
"name": "InterfaceProvision 33",
|
||||
"description": "",
|
||||
"body": {
|
||||
"InterfaceProvision": {
|
||||
"source": "52060906-0000-4000-8000-00000000000d",
|
||||
"target": "52060906-0000-4000-8000-000000000016"
|
||||
}
|
||||
}
|
||||
},
|
||||
"52060906-0000-4000-8000-000000000022": {
|
||||
"id": "52060906-0000-4000-8000-000000000022",
|
||||
"alias": "operation_probe_34",
|
||||
"name": "BoundaryExchange 34",
|
||||
"description": "",
|
||||
"body": {
|
||||
"BoundaryExchange": {
|
||||
"source": "52060906-0000-4000-8000-00000000000c",
|
||||
"target": "52060906-0000-4000-8000-00000000000d",
|
||||
"oriented": false,
|
||||
"items": [
|
||||
"52060906-0000-4000-8000-000000000014",
|
||||
"52060906-0000-4000-8000-000000000015"
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
"661511e2-3604-5faf-9deb-f741925615bb": {
|
||||
"id": "661511e2-3604-5faf-9deb-f741925615bb",
|
||||
"alias": "sa_a_then_b",
|
||||
"name": "a then b",
|
||||
"description": "",
|
||||
"body": {
|
||||
"SequenceLink": {
|
||||
"source": "14d1133a-697d-5b54-b624-eed0fb04a354",
|
||||
"target": "bf9ba00e-2aaa-5f04-9ba1-2c242d07b938",
|
||||
"guard": ""
|
||||
}
|
||||
}
|
||||
},
|
||||
"aedc3e72-fd4b-5dcd-b9c1-ced7aee3e0d1": {
|
||||
"id": "aedc3e72-fd4b-5dcd-b9c1-ced7aee3e0d1",
|
||||
"alias": "sa_b_then_c",
|
||||
"name": "b then c",
|
||||
"description": "",
|
||||
"body": {
|
||||
"SequenceLink": {
|
||||
"source": "bf9ba00e-2aaa-5f04-9ba1-2c242d07b938",
|
||||
"target": "1a215aed-f0b1-521d-b52f-0c1cfbbf1c36",
|
||||
"guard": ""
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"diagrams": {},
|
||||
"artifact_links": {},
|
||||
"traces": {}
|
||||
}
|
||||
@@ -0,0 +1,477 @@
|
||||
arcadia 7;
|
||||
project source7_native_contract "Reusable procedures and operation identity" id "52060906-0000-4000-8000-000000000001" {
|
||||
include "rationale.arcadia";
|
||||
description "";
|
||||
|
||||
sa_function sa_work_a "A · Begin assessment" id "071edc32-5c27-5c1d-91ff-337c80b462d5" {
|
||||
description "";
|
||||
parent none;
|
||||
}
|
||||
|
||||
oa_occurrence oa_x "X · Check authorization" id "08ff2083-dac1-5f4b-ad6a-7cc81d7be29d" {
|
||||
body {
|
||||
Action {
|
||||
action @oa_work_x;
|
||||
lifeline none;
|
||||
};
|
||||
};
|
||||
description "";
|
||||
parent @oa_caller;
|
||||
postcondition "";
|
||||
precondition "";
|
||||
}
|
||||
|
||||
sa_occurrence sa_a "A · Begin assessment" id "14d1133a-697d-5b54-b624-eed0fb04a354" {
|
||||
body {
|
||||
Action {
|
||||
action @sa_work_a;
|
||||
lifeline none;
|
||||
};
|
||||
};
|
||||
description "";
|
||||
parent @sa_procedure;
|
||||
postcondition "";
|
||||
precondition "";
|
||||
}
|
||||
|
||||
sa_occurrence sa_c "C · Finish assessment" id "1a215aed-f0b1-521d-b52f-0c1cfbbf1c36" {
|
||||
body {
|
||||
Action {
|
||||
action @sa_work_c;
|
||||
lifeline none;
|
||||
};
|
||||
};
|
||||
description "";
|
||||
parent @sa_procedure;
|
||||
postcondition "";
|
||||
precondition "";
|
||||
}
|
||||
|
||||
oa_occurrence oa_r2 "Second assessment" id "1e27be58-3e3e-5869-ad30-e94a28ea2a2e" {
|
||||
body {
|
||||
SequenceReference {
|
||||
sequence @oa_procedure;
|
||||
};
|
||||
};
|
||||
description "";
|
||||
parent @oa_caller;
|
||||
postcondition "";
|
||||
precondition "";
|
||||
}
|
||||
|
||||
oa_process oa_caller "Caller with three assessments" id "2100ac23-79ee-54e1-b3cf-69f3d4f3b30a" {
|
||||
description "";
|
||||
parent none;
|
||||
steps [@oa_x, @oa_r1, @oa_r2, @oa_r3];
|
||||
}
|
||||
|
||||
oa_activity oa_work_a "A · Begin assessment" id "25fdfe13-c45d-5822-830a-192ff13f660d" {
|
||||
description "";
|
||||
parent none;
|
||||
}
|
||||
|
||||
oa_process oa_nested_definition "Nested assessment wrapper" id "273d8df8-83c8-5d75-99d1-59a7c9fdb705" {
|
||||
description "";
|
||||
parent none;
|
||||
steps [@oa_inner];
|
||||
}
|
||||
|
||||
sa_function sa_work_b "B · Review assessment" id "3360ccb1-68ac-51cd-8d9a-8893000c80ef" {
|
||||
description "";
|
||||
parent none;
|
||||
}
|
||||
|
||||
oa_activity oa_work_c "C · Finish assessment" id "47335738-0876-5f90-b25e-1636c7448e93" {
|
||||
description "";
|
||||
parent none;
|
||||
}
|
||||
|
||||
sa_occurrence sa_r3 "Nested assessment" id "4a65dad8-e2a1-51dc-87a0-02ea4ab69384" {
|
||||
body {
|
||||
SequenceReference {
|
||||
sequence @sa_nested_definition;
|
||||
};
|
||||
};
|
||||
description "";
|
||||
parent @sa_caller;
|
||||
postcondition "";
|
||||
precondition "";
|
||||
}
|
||||
|
||||
sa_actor operation_probe_10 "Operator console" id "52060906-0000-4000-8000-00000000000a" {
|
||||
description "";
|
||||
parent none;
|
||||
}
|
||||
|
||||
sa_system operation_probe_11 "Valve service" id "52060906-0000-4000-8000-00000000000b" {
|
||||
description "";
|
||||
parent none;
|
||||
}
|
||||
|
||||
sa_port operation_probe_12 "Service socket" id "52060906-0000-4000-8000-00000000000c" {
|
||||
contract {
|
||||
Component {
|
||||
kind Standard;
|
||||
orientation Unset;
|
||||
};
|
||||
};
|
||||
description "";
|
||||
legacy none;
|
||||
parent @operation_probe_10;
|
||||
}
|
||||
|
||||
sa_port operation_probe_13 "Service socket" id "52060906-0000-4000-8000-00000000000d" {
|
||||
contract {
|
||||
Component {
|
||||
kind Standard;
|
||||
orientation Unset;
|
||||
};
|
||||
};
|
||||
description "";
|
||||
legacy none;
|
||||
parent @operation_probe_11;
|
||||
}
|
||||
|
||||
sa_exchange_item operation_probe_20 "Reset" id "52060906-0000-4000-8000-000000000014" {
|
||||
description "";
|
||||
kind Information;
|
||||
mechanism Operation;
|
||||
parent none;
|
||||
supertype none;
|
||||
}
|
||||
|
||||
sa_exchange_item operation_probe_21 "ReadStatus" id "52060906-0000-4000-8000-000000000015" {
|
||||
description "";
|
||||
kind Information;
|
||||
mechanism Operation;
|
||||
parent none;
|
||||
supertype none;
|
||||
}
|
||||
|
||||
sa_interface operation_probe_22 "Valve commands" id "52060906-0000-4000-8000-000000000016" {
|
||||
description "";
|
||||
parent none;
|
||||
supertype none;
|
||||
}
|
||||
|
||||
sa_scenario operation_probe_40 "Reset then read status" id "52060906-0000-4000-8000-000000000028" {
|
||||
context none;
|
||||
description "";
|
||||
parent none;
|
||||
postcondition "";
|
||||
precondition "";
|
||||
steps [@operation_probe_43, @operation_probe_44, @reset_reply];
|
||||
viewpoint BoundaryInterface;
|
||||
}
|
||||
|
||||
sa_lifeline operation_probe_41 "Service participant" id "52060906-0000-4000-8000-000000000029" {
|
||||
description "";
|
||||
parent @operation_probe_40;
|
||||
represented @operation_probe_10;
|
||||
}
|
||||
|
||||
sa_lifeline operation_probe_42 "Service participant" id "52060906-0000-4000-8000-00000000002a" {
|
||||
description "";
|
||||
parent @operation_probe_40;
|
||||
represented @operation_probe_11;
|
||||
}
|
||||
|
||||
sa_occurrence operation_probe_43 "Call Reset" id "52060906-0000-4000-8000-00000000002b" {
|
||||
body {
|
||||
Exchange {
|
||||
exchange @operation_probe_34;
|
||||
message_kind Call;
|
||||
receiver @operation_probe_42;
|
||||
reply_to none;
|
||||
sender @operation_probe_41;
|
||||
values [];
|
||||
};
|
||||
};
|
||||
description "";
|
||||
parent @operation_probe_40;
|
||||
postcondition "";
|
||||
precondition "";
|
||||
}
|
||||
|
||||
sa_occurrence operation_probe_44 "Call ReadStatus" id "52060906-0000-4000-8000-00000000002c" {
|
||||
body {
|
||||
Exchange {
|
||||
exchange @operation_probe_34;
|
||||
message_kind Call;
|
||||
receiver @operation_probe_42;
|
||||
reply_to none;
|
||||
sender @operation_probe_41;
|
||||
values [];
|
||||
};
|
||||
};
|
||||
description "";
|
||||
parent @operation_probe_40;
|
||||
postcondition "";
|
||||
precondition "";
|
||||
}
|
||||
|
||||
sa_occurrence sa_x "X · Check authorization" id "53ad2109-ba9d-5859-b258-64cdaab5c4a8" {
|
||||
body {
|
||||
Action {
|
||||
action @sa_work_x;
|
||||
lifeline none;
|
||||
};
|
||||
};
|
||||
description "";
|
||||
parent @sa_caller;
|
||||
postcondition "";
|
||||
precondition "";
|
||||
}
|
||||
|
||||
sa_occurrence sa_r1 "First assessment" id "62cfdab1-a18b-5b06-8ee7-cd0b320e4024" {
|
||||
body {
|
||||
SequenceReference {
|
||||
sequence @sa_procedure;
|
||||
};
|
||||
};
|
||||
description "";
|
||||
parent @sa_caller;
|
||||
postcondition "";
|
||||
precondition "";
|
||||
}
|
||||
|
||||
sa_function sa_work_c "C · Finish assessment" id "6575bce8-4185-519b-a004-d96650da63dc" {
|
||||
description "";
|
||||
parent none;
|
||||
}
|
||||
|
||||
sa_functional_chain sa_nested_definition "Nested assessment wrapper" id "7932ab3a-6b60-5059-a3a0-fca3a2f9a197" {
|
||||
description "";
|
||||
parent none;
|
||||
steps [@sa_inner];
|
||||
}
|
||||
|
||||
sa_function sa_work_x "X · Check authorization" id "8c3d9b89-aa12-5218-9de9-12b8b5d4e4b3" {
|
||||
description "";
|
||||
parent none;
|
||||
}
|
||||
|
||||
sa_occurrence sa_r2 "Second assessment" id "999b5e15-903f-5ca1-bc11-e51fadf80762" {
|
||||
body {
|
||||
SequenceReference {
|
||||
sequence @sa_procedure;
|
||||
};
|
||||
};
|
||||
description "";
|
||||
parent @sa_caller;
|
||||
postcondition "";
|
||||
precondition "";
|
||||
}
|
||||
|
||||
oa_activity oa_work_b "B · Review assessment" id "a39639dc-0ece-5b71-981d-c9523fed4914" {
|
||||
description "";
|
||||
parent none;
|
||||
}
|
||||
|
||||
sa_occurrence reset_reply "Correlated reset reply" id "aa8b674f-012f-583f-8dc7-a76407d1f8a7" {
|
||||
body {
|
||||
Exchange {
|
||||
exchange @operation_probe_34;
|
||||
message_kind Reply;
|
||||
receiver @operation_probe_41;
|
||||
reply_to @operation_probe_43;
|
||||
sender @operation_probe_42;
|
||||
values [];
|
||||
};
|
||||
};
|
||||
description "";
|
||||
parent @operation_probe_40;
|
||||
postcondition "";
|
||||
precondition "";
|
||||
}
|
||||
|
||||
oa_process oa_procedure "Reusable assessment A to C" id "af139b27-7e42-5729-9e49-53b2ac62c9e7" {
|
||||
description "";
|
||||
parent none;
|
||||
steps [@oa_a, @oa_b, @oa_c];
|
||||
}
|
||||
|
||||
sa_occurrence sa_b "B · Review assessment" id "bf9ba00e-2aaa-5f04-9ba1-2c242d07b938" {
|
||||
body {
|
||||
Action {
|
||||
action @sa_work_b;
|
||||
lifeline none;
|
||||
};
|
||||
};
|
||||
description "";
|
||||
parent @sa_procedure;
|
||||
postcondition "";
|
||||
precondition "";
|
||||
}
|
||||
|
||||
sa_functional_chain sa_procedure "Reusable assessment A to C" id "c1d4eda2-fac7-5621-a7ac-25f985911bf5" {
|
||||
description "";
|
||||
parent none;
|
||||
steps [@sa_a, @sa_b, @sa_c];
|
||||
}
|
||||
|
||||
oa_occurrence oa_c "C · Finish assessment" id "c40c2011-4497-52f0-9e0e-10323b3150a8" {
|
||||
body {
|
||||
Action {
|
||||
action @oa_work_c;
|
||||
lifeline none;
|
||||
};
|
||||
};
|
||||
description "";
|
||||
parent @oa_procedure;
|
||||
postcondition "";
|
||||
precondition "";
|
||||
}
|
||||
|
||||
oa_occurrence oa_r1 "First assessment" id "d48951ad-c6db-5eae-923a-edccab97155e" {
|
||||
body {
|
||||
SequenceReference {
|
||||
sequence @oa_procedure;
|
||||
};
|
||||
};
|
||||
description "";
|
||||
parent @oa_caller;
|
||||
postcondition "";
|
||||
precondition "";
|
||||
}
|
||||
|
||||
sa_functional_chain sa_caller "Caller with three assessments" id "d4911fd0-52ed-535c-9f87-170e8f5731d2" {
|
||||
description "";
|
||||
parent none;
|
||||
steps [@sa_x, @sa_r1, @sa_r2, @sa_r3];
|
||||
}
|
||||
|
||||
oa_occurrence oa_a "A · Begin assessment" id "dc17769b-7e1e-5f15-99bb-0caf98bcb006" {
|
||||
body {
|
||||
Action {
|
||||
action @oa_work_a;
|
||||
lifeline none;
|
||||
};
|
||||
};
|
||||
description "";
|
||||
parent @oa_procedure;
|
||||
postcondition "";
|
||||
precondition "";
|
||||
}
|
||||
|
||||
oa_occurrence oa_inner "Inner assessment" id "e16033cd-3184-56ef-b462-5559ad212c84" {
|
||||
body {
|
||||
SequenceReference {
|
||||
sequence @oa_procedure;
|
||||
};
|
||||
};
|
||||
description "";
|
||||
parent @oa_nested_definition;
|
||||
postcondition "";
|
||||
precondition "";
|
||||
}
|
||||
|
||||
sa_occurrence sa_inner "Inner assessment" id "e21febd2-30ec-5e9d-aa4c-3c54c95c2c9f" {
|
||||
body {
|
||||
SequenceReference {
|
||||
sequence @sa_procedure;
|
||||
};
|
||||
};
|
||||
description "";
|
||||
parent @sa_nested_definition;
|
||||
postcondition "";
|
||||
precondition "";
|
||||
}
|
||||
|
||||
oa_activity oa_work_x "X · Check authorization" id "e78d841a-a37e-5106-8356-b1e3ce6d2501" {
|
||||
description "";
|
||||
parent none;
|
||||
}
|
||||
|
||||
oa_occurrence oa_b "B · Review assessment" id "ef2a06af-6013-5f0b-a56d-db705f0685ce" {
|
||||
body {
|
||||
Action {
|
||||
action @oa_work_b;
|
||||
lifeline none;
|
||||
};
|
||||
};
|
||||
description "";
|
||||
parent @oa_procedure;
|
||||
postcondition "";
|
||||
precondition "";
|
||||
}
|
||||
|
||||
oa_occurrence oa_r3 "Nested assessment" id "fc986c5c-eae7-5363-bcd5-b832d565a89a" {
|
||||
body {
|
||||
SequenceReference {
|
||||
sequence @oa_nested_definition;
|
||||
};
|
||||
};
|
||||
description "";
|
||||
parent @oa_caller;
|
||||
postcondition "";
|
||||
precondition "";
|
||||
}
|
||||
|
||||
sequence_link oa_a_then_b "a then b" id "0fc11ada-23a6-5f39-9891-e7f363a1edfb" {
|
||||
description "";
|
||||
guard "";
|
||||
source @oa_a;
|
||||
target @oa_b;
|
||||
}
|
||||
|
||||
sequence_link oa_b_then_c "b then c" id "169f558e-a466-5fcc-b0d7-53e481952714" {
|
||||
description "";
|
||||
guard "";
|
||||
source @oa_b;
|
||||
target @oa_c;
|
||||
}
|
||||
|
||||
interface_item_allocation operation_probe_30 "InterfaceItemAllocation 30" id "52060906-0000-4000-8000-00000000001e" {
|
||||
acquisition Unspecified;
|
||||
description "";
|
||||
order 0;
|
||||
source @operation_probe_22;
|
||||
target @operation_probe_20;
|
||||
transmission Synchronous;
|
||||
}
|
||||
|
||||
interface_item_allocation operation_probe_31 "InterfaceItemAllocation 31" id "52060906-0000-4000-8000-00000000001f" {
|
||||
acquisition Unspecified;
|
||||
description "";
|
||||
order 0;
|
||||
source @operation_probe_22;
|
||||
target @operation_probe_21;
|
||||
transmission Synchronous;
|
||||
}
|
||||
|
||||
interface_requirement operation_probe_32 "InterfaceRequirement 32" id "52060906-0000-4000-8000-000000000020" {
|
||||
description "";
|
||||
source @operation_probe_12;
|
||||
target @operation_probe_22;
|
||||
}
|
||||
|
||||
interface_provision operation_probe_33 "InterfaceProvision 33" id "52060906-0000-4000-8000-000000000021" {
|
||||
description "";
|
||||
source @operation_probe_13;
|
||||
target @operation_probe_22;
|
||||
}
|
||||
|
||||
boundary_exchange operation_probe_34 "BoundaryExchange 34" id "52060906-0000-4000-8000-000000000022" {
|
||||
description "";
|
||||
items [@operation_probe_20, @operation_probe_21];
|
||||
oriented false;
|
||||
source @operation_probe_12;
|
||||
target @operation_probe_13;
|
||||
}
|
||||
|
||||
sequence_link sa_a_then_b "a then b" id "661511e2-3604-5faf-9deb-f741925615bb" {
|
||||
description "";
|
||||
guard "";
|
||||
source @sa_a;
|
||||
target @sa_b;
|
||||
}
|
||||
|
||||
sequence_link sa_b_then_c "b then c" id "aedc3e72-fd4b-5dcd-b9c1-ced7aee3e0d1" {
|
||||
description "";
|
||||
guard "";
|
||||
source @sa_b;
|
||||
target @sa_c;
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1 @@
|
||||
// Native oracle: retain this authored 雨 note and CRLF.
|
||||
@@ -0,0 +1,14 @@
|
||||
{
|
||||
"expected-baseline.json": {
|
||||
"bytes": 26428,
|
||||
"sha256": "e2882a58f841f460f45d9d67db1606440e0d7997b9b29a784569ae48e4b23bfb"
|
||||
},
|
||||
"project.arcadia": {
|
||||
"bytes": 13616,
|
||||
"sha256": "5474d8ca05fd1375220dc0ad40d913631fde51159e9632bb9f290d1ecdab8dd7"
|
||||
},
|
||||
"rationale.arcadia": {
|
||||
"bytes": 59,
|
||||
"sha256": "e6a600e13036d4ad594a65380ed1b3d82d1772d583041bb0a624c9588a73047a"
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user