Import corrected creation oracle and record exact SA action history
This commit is contained in:
@@ -39,3 +39,7 @@ harness/experiments/source-cli-independent-20260911/** -text whitespace=cr-at-eo
|
|||||||
scripts/windows-notices/GNOME-Cantarell-61362600e104-COPYING -text
|
scripts/windows-notices/GNOME-Cantarell-61362600e104-COPYING -text
|
||||||
scripts/windows-notices/Fira-OFL.txt -text
|
scripts/windows-notices/Fira-OFL.txt -text
|
||||||
scripts/windows-notices/FiraSans-Regular-NOTICE.txt -text
|
scripts/windows-notices/FiraSans-Regular-NOTICE.txt -text
|
||||||
|
harness/experiments/behavior-creation-native-20260911/** -text whitespace=cr-at-eol
|
||||||
|
harness/experiments/constructor-defaults-20260911/** -text whitespace=cr-at-eol
|
||||||
|
harness/experiments/constructor-defaults-20260911/results/*.arcadia whitespace=-blank-at-eol,cr-at-eol
|
||||||
|
harness/release-scenario-native-9e8r6t-20260911.md -text whitespace=cr-at-eol
|
||||||
|
|||||||
+38
-16
@@ -752,7 +752,7 @@ lists all additional fields. <span class="docutils literal">ref</span> means <sp
|
|||||||
</tr>
|
</tr>
|
||||||
<tr><td><p><span class="docutils literal">oa_scenario</span>, <span class="docutils literal">sa_scenario</span></p></td>
|
<tr><td><p><span class="docutils literal">oa_scenario</span>, <span class="docutils literal">sa_scenario</span></p></td>
|
||||||
<td><p><span class="docutils literal">viewpoint</span>: ScenarioViewpoint; <span class="docutils literal">context</span>: ref?; <span class="docutils literal">precondition</span>, <span class="docutils literal">postcondition</span>: strings; <span class="docutils literal">steps</span>: occurrence refs</p></td>
|
<td><p><span class="docutils literal">viewpoint</span>: ScenarioViewpoint; <span class="docutils literal">context</span>: ref?; <span class="docutils literal">precondition</span>, <span class="docutils literal">postcondition</span>: strings; <span class="docutils literal">steps</span>: occurrence refs</p></td>
|
||||||
<td><p>MixedLegacy for omitted schema-2 source; none; <span class="docutils literal">""</span>; <span class="docutils literal">""</span>; <span class="docutils literal">[]</span></p></td>
|
<td><p>MixedLegacy when viewpoint is omitted, including newly authored source 7 (see section 4.3); none; <span class="docutils literal">""</span>; <span class="docutils literal">""</span>; <span class="docutils literal">[]</span></p></td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr><td><p><span class="docutils literal">oa_lifeline</span>, <span class="docutils literal">sa_lifeline</span></p></td>
|
<tr><td><p><span class="docutils literal">oa_lifeline</span>, <span class="docutils literal">sa_lifeline</span></p></td>
|
||||||
<td><p><span class="docutils literal">represented</span>: participant, work, or role ref?</p></td>
|
<td><p><span class="docutils literal">represented</span>: participant, work, or role ref?</p></td>
|
||||||
@@ -792,49 +792,71 @@ An Enumeration contains unique string literals. For example:</p>
|
|||||||
<pre class="code text literal-block"><code>definition { Enumeration { literals ["Clear", "Fog"]; }; };
|
<pre class="code text literal-block"><code>definition { Enumeration { literals ["Clear", "Fog"]; }; };
|
||||||
type_ref { Named @weather_classification; };</code></pre>
|
type_ref { Named @weather_classification; };</code></pre>
|
||||||
<p>These are typed constructors with named fields, not embedded JSON documents.
|
<p>These are typed constructors with named fields, not embedded JSON documents.
|
||||||
Constructor field names and enum spellings are case-sensitive. When replacing
|
Constructor field names and enum spellings are case-sensitive. A selected
|
||||||
a constructor, all of its fields MUST be supplied; the containing declaration
|
constructor uses its own field contract; it does not inherit the payload of a
|
||||||
defaults do not silently fill a different constructor's missing fields.
|
different constructor from the declaration default. Required fields MUST be
|
||||||
During schema-2 compatibility, the new Exchange fields <span class="docutils literal">message_kind</span>,
|
supplied. Nullability and omission are separate properties: <span class="docutils literal">?</span> denotes a
|
||||||
<span class="docutils literal">reply_to</span> and <span class="docutils literal">values</span> are exceptions: omitted values hydrate as
|
value that can be <span class="docutils literal">none</span>; a constructor's omission contract determines whether
|
||||||
Asynchronous, none and [] respectively. Canonical output writes them explicitly.
|
the field may be absent. There is no general all-constructor-fields-required
|
||||||
This preserves older schema-2 source/JSON without inventing call correlation or
|
rule. Other typed constructors use their contracts in the corresponding
|
||||||
value annotations. It is not a rule for an unspecified future schema.</p>
|
sections; the occurrence rules below do not establish defaults for them.</p>
|
||||||
|
<p>The following table records the source-7 OccurrenceBody contracts. Optional
|
||||||
|
references may be omitted and then mean <span class="docutils literal">none</span>. Exchange also admits omitted
|
||||||
|
<span class="docutils literal">message_kind</span> and <span class="docutils literal">values</span>, meaning Asynchronous and <span class="docutils literal">[]</span> respectively.
|
||||||
|
These omissions are accepted in newly authored source 7, not only in schema-2
|
||||||
|
compatibility input. Earlier schema admission of constructors and fields is
|
||||||
|
still governed by its version rules.</p>
|
||||||
|
<p>Canonical formatting writes the hydrated occurrence references and default
|
||||||
|
<span class="docutils literal">message_kind</span>, <span class="docutils literal">reply_to</span> and <span class="docutils literal">values</span> explicitly. An absent
|
||||||
|
<span class="docutils literal">operation</span> remains omitted in canonical output. Lossless no-op updates and
|
||||||
|
unrelated name edits retain authored omissions; canonical formatting is a
|
||||||
|
different operation. An admitted incomplete occurrence can still produce model
|
||||||
|
checks requesting its missing work, exchange, lifeline or referenced scenario.</p>
|
||||||
<table>
|
<table>
|
||||||
<caption>Occurrence body constructors</caption>
|
<caption>Occurrence body constructors</caption>
|
||||||
<colgroup>
|
<colgroup>
|
||||||
<col style="width: 22.0%" />
|
<col style="width: 18.0%" />
|
||||||
<col style="width: 78.0%" />
|
<col style="width: 36.0%" />
|
||||||
|
<col style="width: 46.0%" />
|
||||||
</colgroup>
|
</colgroup>
|
||||||
<thead>
|
<thead>
|
||||||
<tr><th class="head"><p>Constructor</p></th>
|
<tr><th class="head"><p>Constructor</p></th>
|
||||||
<th class="head"><p>Required fields</p></th>
|
<th class="head"><p>Required fields</p></th>
|
||||||
|
<th class="head"><p>Fields that may be omitted, with their resulting values</p></th>
|
||||||
</tr>
|
</tr>
|
||||||
</thead>
|
</thead>
|
||||||
<tbody>
|
<tbody>
|
||||||
<tr><td><p>Exchange</p></td>
|
<tr><td><p>Exchange</p></td>
|
||||||
<td><p><span class="docutils literal">exchange</span>: exchange relation ref?; <span class="docutils literal">sender</span>, <span class="docutils literal">receiver</span>: lifeline refs?; <span class="docutils literal">message_kind</span>: MessageKind; <span class="docutils literal">reply_to</span>: occurrence ref?; <span class="docutils literal">values</span>: MessageValue records</p></td>
|
<td><p>None</p></td>
|
||||||
|
<td><p><span class="docutils literal">exchange</span>: exchange relation ref?, <span class="docutils literal">sender</span>, <span class="docutils literal">receiver</span>: lifeline refs?, <span class="docutils literal">reply_to</span>: occurrence ref?, <span class="docutils literal">operation</span>: OperationUse? → <span class="docutils literal">none</span>; <span class="docutils literal">message_kind</span>: MessageKind → Asynchronous; <span class="docutils literal">values</span>: MessageValue records → <span class="docutils literal">[]</span></p></td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr><td><p>Action</p></td>
|
<tr><td><p>Action</p></td>
|
||||||
<td><p><span class="docutils literal">action</span>: activity/function ref?; <span class="docutils literal">lifeline</span>: ref?</p></td>
|
<td><p>None</p></td>
|
||||||
|
<td><p><span class="docutils literal">action</span>: activity/function ref?, <span class="docutils literal">lifeline</span>: ref? → <span class="docutils literal">none</span></p></td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr><td><p>Control</p></td>
|
<tr><td><p>Control</p></td>
|
||||||
<td><p><span class="docutils literal">kind</span>: Choice, Merge, Fork, Join, Loop</p></td>
|
<td><p><span class="docutils literal">kind</span>: Choice, Merge, Fork, Join, Loop</p></td>
|
||||||
|
<td><p>None</p></td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr><td><p>SequenceReference</p></td>
|
<tr><td><p>SequenceReference</p></td>
|
||||||
<td><p><span class="docutils literal">sequence</span>: process/functional-chain ref?</p></td>
|
<td><p>None</p></td>
|
||||||
|
<td><p><span class="docutils literal">sequence</span>: process/functional-chain ref? → <span class="docutils literal">none</span></p></td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr><td><p>ScenarioUse</p></td>
|
<tr><td><p>ScenarioUse</p></td>
|
||||||
<td><p><span class="docutils literal">scenario</span>: scenario ref?; <span class="docutils literal">bindings</span>: LifelineBinding records</p></td>
|
<td><p><span class="docutils literal">bindings</span>: LifelineBinding records</p></td>
|
||||||
|
<td><p><span class="docutils literal">scenario</span>: scenario ref? → <span class="docutils literal">none</span></p></td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr><td><p>State</p></td>
|
<tr><td><p>State</p></td>
|
||||||
<td><p><span class="docutils literal">state</span>: state/mode ref?; <span class="docutils literal">lifeline</span>: ref?</p></td>
|
<td><p>None</p></td>
|
||||||
|
<td><p><span class="docutils literal">state</span>: state/mode ref?, <span class="docutils literal">lifeline</span>: ref? → <span class="docutils literal">none</span></p></td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr><td><p>Fragment</p></td>
|
<tr><td><p>Fragment</p></td>
|
||||||
<td><p><span class="docutils literal">operator</span>: Alternative, Parallel, Loop, Optional; <span class="docutils literal">branches</span>: branch occurrence refs</p></td>
|
<td><p><span class="docutils literal">operator</span>: Alternative, Parallel, Loop, Optional; <span class="docutils literal">branches</span>: branch occurrence refs</p></td>
|
||||||
|
<td><p>None</p></td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr><td><p>Branch</p></td>
|
<tr><td><p>Branch</p></td>
|
||||||
<td><p><span class="docutils literal">guard</span>: string; <span class="docutils literal">occurrences</span>: occurrence refs</p></td>
|
<td><p><span class="docutils literal">guard</span>: string; <span class="docutils literal">occurrences</span>: occurrence refs</p></td>
|
||||||
|
<td><p>None</p></td>
|
||||||
</tr>
|
</tr>
|
||||||
</tbody>
|
</tbody>
|
||||||
</table>
|
</table>
|
||||||
|
|||||||
+38
-15
@@ -120,7 +120,7 @@ lists all additional fields. ``ref`` means ``@alias``; ``ref?`` also accepts
|
|||||||
- No implicit contract; ``legacy`` defaults none. OA admits Legacy only.
|
- No implicit contract; ``legacy`` defaults none. OA admits Legacy only.
|
||||||
* - ``oa_scenario``, ``sa_scenario``
|
* - ``oa_scenario``, ``sa_scenario``
|
||||||
- ``viewpoint``: ScenarioViewpoint; ``context``: ref?; ``precondition``, ``postcondition``: strings; ``steps``: occurrence refs
|
- ``viewpoint``: ScenarioViewpoint; ``context``: ref?; ``precondition``, ``postcondition``: strings; ``steps``: occurrence refs
|
||||||
- MixedLegacy for omitted schema-2 source; none; ``""``; ``""``; ``[]``
|
- MixedLegacy when viewpoint is omitted, including newly authored source 7 (see section 4.3); none; ``""``; ``""``; ``[]``
|
||||||
* - ``oa_lifeline``, ``sa_lifeline``
|
* - ``oa_lifeline``, ``sa_lifeline``
|
||||||
- ``represented``: participant, work, or role ref?
|
- ``represented``: participant, work, or role ref?
|
||||||
- none
|
- none
|
||||||
@@ -155,37 +155,60 @@ An Enumeration contains unique string literals. For example:
|
|||||||
type_ref { Named @weather_classification; };
|
type_ref { Named @weather_classification; };
|
||||||
|
|
||||||
These are typed constructors with named fields, not embedded JSON documents.
|
These are typed constructors with named fields, not embedded JSON documents.
|
||||||
Constructor field names and enum spellings are case-sensitive. When replacing
|
Constructor field names and enum spellings are case-sensitive. A selected
|
||||||
a constructor, all of its fields MUST be supplied; the containing declaration
|
constructor uses its own field contract; it does not inherit the payload of a
|
||||||
defaults do not silently fill a different constructor's missing fields.
|
different constructor from the declaration default. Required fields MUST be
|
||||||
During schema-2 compatibility, the new Exchange fields ``message_kind``,
|
supplied. Nullability and omission are separate properties: ``?`` denotes a
|
||||||
``reply_to`` and ``values`` are exceptions: omitted values hydrate as
|
value that can be ``none``; a constructor's omission contract determines whether
|
||||||
Asynchronous, none and [] respectively. Canonical output writes them explicitly.
|
the field may be absent. There is no general all-constructor-fields-required
|
||||||
This preserves older schema-2 source/JSON without inventing call correlation or
|
rule. Other typed constructors use their contracts in the corresponding
|
||||||
value annotations. It is not a rule for an unspecified future schema.
|
sections; the occurrence rules below do not establish defaults for them.
|
||||||
|
|
||||||
|
The following table records the source-7 OccurrenceBody contracts. Optional
|
||||||
|
references may be omitted and then mean ``none``. Exchange also admits omitted
|
||||||
|
``message_kind`` and ``values``, meaning Asynchronous and ``[]`` respectively.
|
||||||
|
These omissions are accepted in newly authored source 7, not only in schema-2
|
||||||
|
compatibility input. Earlier schema admission of constructors and fields is
|
||||||
|
still governed by its version rules.
|
||||||
|
|
||||||
|
Canonical formatting writes the hydrated occurrence references and default
|
||||||
|
``message_kind``, ``reply_to`` and ``values`` explicitly. An absent
|
||||||
|
``operation`` remains omitted in canonical output. Lossless no-op updates and
|
||||||
|
unrelated name edits retain authored omissions; canonical formatting is a
|
||||||
|
different operation. An admitted incomplete occurrence can still produce model
|
||||||
|
checks requesting its missing work, exchange, lifeline or referenced scenario.
|
||||||
|
|
||||||
.. list-table:: Occurrence body constructors
|
.. list-table:: Occurrence body constructors
|
||||||
:header-rows: 1
|
:header-rows: 1
|
||||||
:widths: 22 78
|
:widths: 18 36 46
|
||||||
|
|
||||||
* - Constructor
|
* - Constructor
|
||||||
- Required fields
|
- Required fields
|
||||||
|
- Fields that may be omitted, with their resulting values
|
||||||
* - Exchange
|
* - Exchange
|
||||||
- ``exchange``: exchange relation ref?; ``sender``, ``receiver``: lifeline refs?; ``message_kind``: MessageKind; ``reply_to``: occurrence ref?; ``values``: MessageValue records
|
- None
|
||||||
|
- ``exchange``: exchange relation ref?, ``sender``, ``receiver``: lifeline refs?, ``reply_to``: occurrence ref?, ``operation``: OperationUse? → ``none``; ``message_kind``: MessageKind → Asynchronous; ``values``: MessageValue records → ``[]``
|
||||||
* - Action
|
* - Action
|
||||||
- ``action``: activity/function ref?; ``lifeline``: ref?
|
- None
|
||||||
|
- ``action``: activity/function ref?, ``lifeline``: ref? → ``none``
|
||||||
* - Control
|
* - Control
|
||||||
- ``kind``: Choice, Merge, Fork, Join, Loop
|
- ``kind``: Choice, Merge, Fork, Join, Loop
|
||||||
|
- None
|
||||||
* - SequenceReference
|
* - SequenceReference
|
||||||
- ``sequence``: process/functional-chain ref?
|
- None
|
||||||
|
- ``sequence``: process/functional-chain ref? → ``none``
|
||||||
* - ScenarioUse
|
* - ScenarioUse
|
||||||
- ``scenario``: scenario ref?; ``bindings``: LifelineBinding records
|
- ``bindings``: LifelineBinding records
|
||||||
|
- ``scenario``: scenario ref? → ``none``
|
||||||
* - State
|
* - State
|
||||||
- ``state``: state/mode ref?; ``lifeline``: ref?
|
- None
|
||||||
|
- ``state``: state/mode ref?, ``lifeline``: ref? → ``none``
|
||||||
* - Fragment
|
* - Fragment
|
||||||
- ``operator``: Alternative, Parallel, Loop, Optional; ``branches``: branch occurrence refs
|
- ``operator``: Alternative, Parallel, Loop, Optional; ``branches``: branch occurrence refs
|
||||||
|
- None
|
||||||
* - Branch
|
* - Branch
|
||||||
- ``guard``: string; ``occurrences``: occurrence refs
|
- ``guard``: string; ``occurrences``: occurrence refs
|
||||||
|
- None
|
||||||
|
|
||||||
For example, ``body { Action { action @assess; lifeline @operator_line; }; };``
|
For example, ``body { Action { action @assess; lifeline @operator_line; }; };``
|
||||||
selects an Action occurrence. Processes and functional chains contain Exchange,
|
selects an Action occurrence. Processes and functional chains contain Exchange,
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
//! Independent native creation oracle; no desktop producer is imported.
|
//! Independent native creation oracle; no desktop producer is imported.
|
||||||
//! self-check BASE | check STAGE BASE ACTUAL ROLES | same EXPECTED ACTUAL
|
//! self-check BASE | check STAGE BASE ACTUAL ROLES | same EXPECTED ACTUAL [UNDO_FROM]
|
||||||
use oa_core::{source_project::*, *};
|
use oa_core::{source_project::*, *};
|
||||||
use std::{
|
use std::{
|
||||||
collections::{BTreeMap, BTreeSet},
|
collections::{BTreeMap, BTreeSet},
|
||||||
@@ -41,7 +41,9 @@ impl Stage {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
fn source_paths(root: &Path, here: &Path, paths: &mut BTreeSet<String>) {
|
type DiskSources = BTreeMap<String, Vec<u8>>;
|
||||||
|
|
||||||
|
fn source_paths(root: &Path, here: &Path, paths: &mut DiskSources) {
|
||||||
for entry in fs::read_dir(here).unwrap() {
|
for entry in fs::read_dir(here).unwrap() {
|
||||||
let entry = entry.unwrap();
|
let entry = entry.unwrap();
|
||||||
let kind = entry.file_type().unwrap();
|
let kind = entry.file_type().unwrap();
|
||||||
@@ -61,11 +63,12 @@ fn source_paths(root: &Path, here: &Path, paths: &mut BTreeSet<String>) {
|
|||||||
.to_str()
|
.to_str()
|
||||||
.unwrap()
|
.unwrap()
|
||||||
.replace('\\', "/"),
|
.replace('\\', "/"),
|
||||||
|
fs::read(entry.path()).unwrap(),
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
fn load(entry: &Path) -> CompiledSourceProject {
|
fn load_checkpoint(entry: &Path) -> (CompiledSourceProject, DiskSources) {
|
||||||
let files = source_files::load_project(entry, ProjectLimits::default()).unwrap();
|
let files = source_files::load_project(entry, ProjectLimits::default()).unwrap();
|
||||||
let raw = files.reachable_bundle();
|
let raw = files.reachable_bundle();
|
||||||
let compiled = compile_bundle(&raw, ProjectLimits::default()).unwrap();
|
let compiled = compile_bundle(&raw, ProjectLimits::default()).unwrap();
|
||||||
@@ -74,13 +77,30 @@ fn load(entry: &Path) -> CompiledSourceProject {
|
|||||||
"No migration, normalization or implicit identity insertion"
|
"No migration, normalization or implicit identity insertion"
|
||||||
);
|
);
|
||||||
execute_batch(&compiled.decoded.project, &[]).unwrap();
|
execute_batch(&compiled.decoded.project, &[]).unwrap();
|
||||||
let mut disk = BTreeSet::new();
|
let mut disk = BTreeMap::new();
|
||||||
let root = entry.parent().unwrap();
|
let root = entry.parent().unwrap();
|
||||||
source_paths(root, root, &mut disk);
|
source_paths(root, root, &mut disk);
|
||||||
|
(compiled, disk)
|
||||||
|
}
|
||||||
|
fn predicted_disk(reachable: &SourceBundle, undo_from: Option<&DiskSources>) -> DiskSources {
|
||||||
|
// Saving Undo writes the restored reachable files and deliberately keeps
|
||||||
|
// detached files from the previously saved checkpoint. Never infer their
|
||||||
|
// bytes from the actual Undo directory: its explicit origin is the oracle.
|
||||||
|
let mut expected = undo_from.cloned().unwrap_or_default();
|
||||||
|
expected.extend(
|
||||||
|
reachable
|
||||||
|
.files
|
||||||
|
.iter()
|
||||||
|
.map(|(path, source)| (path.clone(), source.as_bytes().to_vec())),
|
||||||
|
);
|
||||||
|
expected
|
||||||
|
}
|
||||||
|
fn load(entry: &Path) -> CompiledSourceProject {
|
||||||
|
let (compiled, disk) = load_checkpoint(entry);
|
||||||
assert_eq!(
|
assert_eq!(
|
||||||
disk,
|
disk,
|
||||||
raw.files.keys().cloned().collect(),
|
predicted_disk(&compiled.bundle, None),
|
||||||
"Reject detached extra source files too"
|
"Ordinary checkpoints must contain exactly their reachable source files; retained Undo files require an explicit origin"
|
||||||
);
|
);
|
||||||
compiled
|
compiled
|
||||||
}
|
}
|
||||||
@@ -526,6 +546,76 @@ fn self_check(base: &CompiledSourceProject) {
|
|||||||
"Reject an altered baseline before use"
|
"Reject an altered baseline before use"
|
||||||
);
|
);
|
||||||
assert_equal(&original, base);
|
assert_equal(&original, base);
|
||||||
|
let before = predict(base, Stage::Scenario, &carrier);
|
||||||
|
let created = predict(base, Stage::Machine, &carrier);
|
||||||
|
let origin = predicted_disk(&created.bundle, None);
|
||||||
|
let detached: Vec<_> = created
|
||||||
|
.bundle
|
||||||
|
.files
|
||||||
|
.keys()
|
||||||
|
.filter(|path| !before.bundle.files.contains_key(*path))
|
||||||
|
.cloned()
|
||||||
|
.collect();
|
||||||
|
assert_eq!(
|
||||||
|
detached.len(),
|
||||||
|
1,
|
||||||
|
"A machine creation adds one source module"
|
||||||
|
);
|
||||||
|
// Independently simulate the saver's observable result: restored reachable
|
||||||
|
// bytes plus the one new module left on disk by the prior creation.
|
||||||
|
let mut retained = predicted_disk(&before.bundle, None);
|
||||||
|
retained.insert(
|
||||||
|
detached[0].clone(),
|
||||||
|
created.bundle.files[&detached[0]].as_bytes().to_vec(),
|
||||||
|
);
|
||||||
|
assert_eq!(
|
||||||
|
retained[&detached[0]], origin[&detached[0]],
|
||||||
|
"Retained bytes must come from the exact created checkpoint"
|
||||||
|
);
|
||||||
|
assert_ne!(
|
||||||
|
retained,
|
||||||
|
predicted_disk(&before.bundle, None),
|
||||||
|
"Ordinary comparison must not accept detached history files"
|
||||||
|
);
|
||||||
|
assert_eq!(
|
||||||
|
retained,
|
||||||
|
predicted_disk(&before.bundle, Some(&origin)),
|
||||||
|
"Explicit Undo origin permits only the expected retained bytes"
|
||||||
|
);
|
||||||
|
let mut unknown = retained.clone();
|
||||||
|
unknown.insert("unknown.arcadia".into(), b"// Unclaimed file\n".to_vec());
|
||||||
|
assert_ne!(
|
||||||
|
unknown,
|
||||||
|
predicted_disk(&before.bundle, Some(&origin)),
|
||||||
|
"Reject unknown detached files"
|
||||||
|
);
|
||||||
|
let mut changed = retained.clone();
|
||||||
|
changed.get_mut(&detached[0]).unwrap().push(b' ');
|
||||||
|
assert_ne!(
|
||||||
|
changed,
|
||||||
|
predicted_disk(&before.bundle, Some(&origin)),
|
||||||
|
"Reject changed detached bytes"
|
||||||
|
);
|
||||||
|
let mut missing = retained.clone();
|
||||||
|
missing.remove(&detached[0]);
|
||||||
|
assert_ne!(
|
||||||
|
missing,
|
||||||
|
predicted_disk(&before.bundle, Some(&origin)),
|
||||||
|
"The retained file set is exact, not optional"
|
||||||
|
);
|
||||||
|
let mut reachable_drift = retained.clone();
|
||||||
|
reachable_drift
|
||||||
|
.get_mut("rationale.arcadia")
|
||||||
|
.unwrap()
|
||||||
|
.push(b' ');
|
||||||
|
assert_ne!(
|
||||||
|
reachable_drift,
|
||||||
|
predicted_disk(&before.bundle, Some(&origin)),
|
||||||
|
"An Undo exemption cannot hide reachable-source changes"
|
||||||
|
);
|
||||||
|
println!(
|
||||||
|
"PASS explicit Undo disk contract: known detached retention accepted; unknown, changed, missing and reachable drift rejected"
|
||||||
|
);
|
||||||
println!("PASS baseline retained unchanged; no native acceptance claimed");
|
println!("PASS baseline retained unchanged; no native acceptance claimed");
|
||||||
}
|
}
|
||||||
fn main() {
|
fn main() {
|
||||||
@@ -554,15 +644,33 @@ fn main() {
|
|||||||
);
|
);
|
||||||
}
|
}
|
||||||
Some("same") => {
|
Some("same") => {
|
||||||
assert_eq!(args.len(), 4, "same EXPECTED_CHECKPOINT ACTUAL_CHECKPOINT");
|
assert!(
|
||||||
|
matches!(args.len(), 4 | 5),
|
||||||
|
"same EXPECTED_CHECKPOINT ACTUAL_CHECKPOINT [UNDO_FROM_CHECKPOINT]"
|
||||||
|
);
|
||||||
let expected = load(Path::new(&args[2]));
|
let expected = load(Path::new(&args[2]));
|
||||||
let actual = load(Path::new(&args[3]));
|
let (actual, disk) = load_checkpoint(Path::new(&args[3]));
|
||||||
assert_equal(&expected, &actual);
|
assert_equal(&expected, &actual);
|
||||||
|
let origin = args.get(4).map(|entry| {
|
||||||
|
// The first committed checkpoint is itself exact. This keeps
|
||||||
|
// arbitrary pre-existing detached files out of the exception.
|
||||||
|
let committed = load(Path::new(entry));
|
||||||
|
predicted_disk(&committed.bundle, None)
|
||||||
|
});
|
||||||
|
assert_eq!(
|
||||||
|
disk,
|
||||||
|
predicted_disk(&expected.bundle, origin.as_ref()),
|
||||||
|
"Disk source files differ from the exact checkpoint plus explicitly proven retained Undo files"
|
||||||
|
);
|
||||||
println!(
|
println!(
|
||||||
"PASS exact checkpoint identity/model/{}-file SourceBundle equality",
|
"PASS exact checkpoint identity/model/{}-file SourceBundle equality; {} exact disk files ({} known retained)",
|
||||||
actual.bundle.files.len()
|
actual.bundle.files.len(),
|
||||||
|
disk.len(),
|
||||||
|
disk.len() - actual.bundle.files.len()
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
_ => panic!("self-check BASE | check STAGE BASE ACTUAL ROLES | same EXPECTED ACTUAL"),
|
_ => panic!(
|
||||||
|
"self-check BASE | check STAGE BASE ACTUAL ROLES | same EXPECTED ACTUAL [UNDO_FROM]"
|
||||||
|
),
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -0,0 +1,671 @@
|
|||||||
|
{
|
||||||
|
"reviewer": "Codex-9e8r6t /root/palette_finish",
|
||||||
|
"started_utc": "2026-09-11T09:18:19.944507+00:00",
|
||||||
|
"finished_utc": "2026-09-11T09:18:23.213965+00:00",
|
||||||
|
"scope": "Frozen checkpoints only; no live work/profile/UI access or compilation.",
|
||||||
|
"artifacts": [
|
||||||
|
{
|
||||||
|
"path": ".local/behavior-creation-oracle-20260911/behavior-creation-contract-v2.exe",
|
||||||
|
"bytes": 20757504,
|
||||||
|
"sha256": "056eefd444924916bf6ac3c4897ab2ff4a8a4bb892e1dbc16adad32e59bf6a36"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": "harness/behavior-creation-contract.rs",
|
||||||
|
"bytes": 23982,
|
||||||
|
"sha256": "51ab2ffa1826dd949b79f3a9690042a2f9e38daf9ed91517cade3861482117ba"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": "harness/experiments/behavior-creation-native-20260911/verify.py",
|
||||||
|
"bytes": 5348,
|
||||||
|
"sha256": "4921c4615071240c3ac3bbe1223c0db3bf472fe5e3eec2ae5dac12f95b1674df"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": ".local/native-qa/behavior-20260911-v4/bin/arcadia-studio.exe",
|
||||||
|
"bytes": 111163904,
|
||||||
|
"sha256": "d4d9c2bd937e301ff1009d7cb93a34ee5aa6dfc837ff7e87d468c85371b20c31"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": ".local/native-qa/behavior-20260911-v4/bin/libunwind.dll",
|
||||||
|
"bytes": 190976,
|
||||||
|
"sha256": "f45604a12e8bcd839fd86f667c1be1cc7c4f9da2b3c69ff381ac708f0e1ae7d4"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": ".local/native-qa/behavior-20260911-v4/bin/manifest.json",
|
||||||
|
"bytes": 41579,
|
||||||
|
"sha256": "e0470afae0ae21941ac6da63fadfb3c70d0ce646317c65fafa5c186e94f18fe2"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": ".local/native-qa/behavior-20260911-v4/baseline-source-manifest.json",
|
||||||
|
"bytes": 927,
|
||||||
|
"sha256": "7b5bcd66739ad9f3ddaa3a50db7a4bba3be144d13d161e1db85d2d43f3038259"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": ".local/native-qa/behavior-20260911-v4/cancel-save-verification.json",
|
||||||
|
"bytes": 1439,
|
||||||
|
"sha256": "5fb79d14a000fa0ecc046fba64bcd2846d3bc2eb8708a88e334db0ede4ce16a1"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": ".local/native-qa/behavior-20260911-v4/scenario-empty-saved.png",
|
||||||
|
"bytes": 90419,
|
||||||
|
"sha256": "b03fb33d3f4cf1e5f95e7ac4198a4dee30ffd9af5e250d481e0d5dc2a2a0f90c"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": ".local/native-qa/behavior-20260911-v4/machine-created-saved.png",
|
||||||
|
"bytes": 98897,
|
||||||
|
"sha256": "1e7af3d6219c430eaafb0de5afd8df4c51b4efeb80de3f642084188633dcb65b"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"checkpoints": {
|
||||||
|
"baseline": {
|
||||||
|
"path": ".local/native-qa/palette-20260910-v3/checkpoint-transition-reopen",
|
||||||
|
"files": {
|
||||||
|
"oa/activities/activity_assess_incident.arcadia": {
|
||||||
|
"bytes": 376,
|
||||||
|
"sha256": "ae41d7c20b062b39c2edab7fb890a3d88a9ce18fd8d03018ef2d6f95eeff62e8"
|
||||||
|
},
|
||||||
|
"oa/participants.arcadia": {
|
||||||
|
"bytes": 403,
|
||||||
|
"sha256": "094cab67f34b64902942c10a35bbcd0f760886d862588a0816d6ceb57bacf51b"
|
||||||
|
},
|
||||||
|
"project.arcadia": {
|
||||||
|
"bytes": 4844,
|
||||||
|
"sha256": "b35a3f63f223cc4fe2760d6308e87b016ed1eadfbef0a3a4bd051b52c9080958"
|
||||||
|
},
|
||||||
|
"rationale.arcadia": {
|
||||||
|
"bytes": 57,
|
||||||
|
"sha256": "c01867c9dc0d40726853119fac3c6ad24a40d8d362a93a8b9d20df04ec2e273f"
|
||||||
|
},
|
||||||
|
"sa/participants.arcadia": {
|
||||||
|
"bytes": 124,
|
||||||
|
"sha256": "fb975b83d3ec164c38936bf27fe7d2021cc46805574902a534744b040f7d3ae8"
|
||||||
|
},
|
||||||
|
"traceability.arcadia": {
|
||||||
|
"bytes": 395,
|
||||||
|
"sha256": "f778acaaa85de0940cedcd9514cd803032a11e782d859454203235febb73e5f0"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"process": {
|
||||||
|
"path": ".local/native-qa/behavior-20260911-v4/checkpoint-process",
|
||||||
|
"files": {
|
||||||
|
"oa/activities/activity_assess_incident.arcadia": {
|
||||||
|
"bytes": 376,
|
||||||
|
"sha256": "ae41d7c20b062b39c2edab7fb890a3d88a9ce18fd8d03018ef2d6f95eeff62e8"
|
||||||
|
},
|
||||||
|
"oa/behavior/process_coordinate_rescue.arcadia": {
|
||||||
|
"bytes": 149,
|
||||||
|
"sha256": "8f393d1cee5e7eed5e41af14539b1fe7ae1c7300dd9383ca0ef1ee17254b6253"
|
||||||
|
},
|
||||||
|
"oa/participants.arcadia": {
|
||||||
|
"bytes": 403,
|
||||||
|
"sha256": "094cab67f34b64902942c10a35bbcd0f760886d862588a0816d6ceb57bacf51b"
|
||||||
|
},
|
||||||
|
"project.arcadia": {
|
||||||
|
"bytes": 4906,
|
||||||
|
"sha256": "961d99c287dd7728c8ece8b20ca1a7965ac2d0581b3eaedf11a2b243975b0ea8"
|
||||||
|
},
|
||||||
|
"rationale.arcadia": {
|
||||||
|
"bytes": 57,
|
||||||
|
"sha256": "c01867c9dc0d40726853119fac3c6ad24a40d8d362a93a8b9d20df04ec2e273f"
|
||||||
|
},
|
||||||
|
"sa/participants.arcadia": {
|
||||||
|
"bytes": 124,
|
||||||
|
"sha256": "fb975b83d3ec164c38936bf27fe7d2021cc46805574902a534744b040f7d3ae8"
|
||||||
|
},
|
||||||
|
"traceability.arcadia": {
|
||||||
|
"bytes": 395,
|
||||||
|
"sha256": "f778acaaa85de0940cedcd9514cd803032a11e782d859454203235febb73e5f0"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"process-undo": {
|
||||||
|
"path": ".local/native-qa/behavior-20260911-v4/checkpoint-process-undo",
|
||||||
|
"files": {
|
||||||
|
"oa/activities/activity_assess_incident.arcadia": {
|
||||||
|
"bytes": 376,
|
||||||
|
"sha256": "ae41d7c20b062b39c2edab7fb890a3d88a9ce18fd8d03018ef2d6f95eeff62e8"
|
||||||
|
},
|
||||||
|
"oa/behavior/process_coordinate_rescue.arcadia": {
|
||||||
|
"bytes": 149,
|
||||||
|
"sha256": "8f393d1cee5e7eed5e41af14539b1fe7ae1c7300dd9383ca0ef1ee17254b6253"
|
||||||
|
},
|
||||||
|
"oa/participants.arcadia": {
|
||||||
|
"bytes": 403,
|
||||||
|
"sha256": "094cab67f34b64902942c10a35bbcd0f760886d862588a0816d6ceb57bacf51b"
|
||||||
|
},
|
||||||
|
"project.arcadia": {
|
||||||
|
"bytes": 4844,
|
||||||
|
"sha256": "b35a3f63f223cc4fe2760d6308e87b016ed1eadfbef0a3a4bd051b52c9080958"
|
||||||
|
},
|
||||||
|
"rationale.arcadia": {
|
||||||
|
"bytes": 57,
|
||||||
|
"sha256": "c01867c9dc0d40726853119fac3c6ad24a40d8d362a93a8b9d20df04ec2e273f"
|
||||||
|
},
|
||||||
|
"sa/participants.arcadia": {
|
||||||
|
"bytes": 124,
|
||||||
|
"sha256": "fb975b83d3ec164c38936bf27fe7d2021cc46805574902a534744b040f7d3ae8"
|
||||||
|
},
|
||||||
|
"traceability.arcadia": {
|
||||||
|
"bytes": 395,
|
||||||
|
"sha256": "f778acaaa85de0940cedcd9514cd803032a11e782d859454203235febb73e5f0"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"process-redo": {
|
||||||
|
"path": ".local/native-qa/behavior-20260911-v4/checkpoint-process-redo",
|
||||||
|
"files": {
|
||||||
|
"oa/activities/activity_assess_incident.arcadia": {
|
||||||
|
"bytes": 376,
|
||||||
|
"sha256": "ae41d7c20b062b39c2edab7fb890a3d88a9ce18fd8d03018ef2d6f95eeff62e8"
|
||||||
|
},
|
||||||
|
"oa/behavior/process_coordinate_rescue.arcadia": {
|
||||||
|
"bytes": 149,
|
||||||
|
"sha256": "8f393d1cee5e7eed5e41af14539b1fe7ae1c7300dd9383ca0ef1ee17254b6253"
|
||||||
|
},
|
||||||
|
"oa/participants.arcadia": {
|
||||||
|
"bytes": 403,
|
||||||
|
"sha256": "094cab67f34b64902942c10a35bbcd0f760886d862588a0816d6ceb57bacf51b"
|
||||||
|
},
|
||||||
|
"project.arcadia": {
|
||||||
|
"bytes": 4906,
|
||||||
|
"sha256": "961d99c287dd7728c8ece8b20ca1a7965ac2d0581b3eaedf11a2b243975b0ea8"
|
||||||
|
},
|
||||||
|
"rationale.arcadia": {
|
||||||
|
"bytes": 57,
|
||||||
|
"sha256": "c01867c9dc0d40726853119fac3c6ad24a40d8d362a93a8b9d20df04ec2e273f"
|
||||||
|
},
|
||||||
|
"sa/participants.arcadia": {
|
||||||
|
"bytes": 124,
|
||||||
|
"sha256": "fb975b83d3ec164c38936bf27fe7d2021cc46805574902a534744b040f7d3ae8"
|
||||||
|
},
|
||||||
|
"traceability.arcadia": {
|
||||||
|
"bytes": 395,
|
||||||
|
"sha256": "f778acaaa85de0940cedcd9514cd803032a11e782d859454203235febb73e5f0"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"scenario": {
|
||||||
|
"path": ".local/native-qa/behavior-20260911-v4/checkpoint-scenario",
|
||||||
|
"files": {
|
||||||
|
"oa/activities/activity_assess_incident.arcadia": {
|
||||||
|
"bytes": 376,
|
||||||
|
"sha256": "ae41d7c20b062b39c2edab7fb890a3d88a9ce18fd8d03018ef2d6f95eeff62e8"
|
||||||
|
},
|
||||||
|
"oa/behavior/process_coordinate_rescue.arcadia": {
|
||||||
|
"bytes": 149,
|
||||||
|
"sha256": "8f393d1cee5e7eed5e41af14539b1fe7ae1c7300dd9383ca0ef1ee17254b6253"
|
||||||
|
},
|
||||||
|
"oa/behavior/scenario_rescue_coordination_conversation.arcadia": {
|
||||||
|
"bytes": 284,
|
||||||
|
"sha256": "8eed98446dfb4f4dbd5261f550ce8cae1a21d638975d91b32baaf6f309daba98"
|
||||||
|
},
|
||||||
|
"oa/participants.arcadia": {
|
||||||
|
"bytes": 403,
|
||||||
|
"sha256": "094cab67f34b64902942c10a35bbcd0f760886d862588a0816d6ceb57bacf51b"
|
||||||
|
},
|
||||||
|
"project.arcadia": {
|
||||||
|
"bytes": 4984,
|
||||||
|
"sha256": "1fa6dd826fd53ccdf3c93cfdcdd657487e344313d76dabe0c438e08128851ee6"
|
||||||
|
},
|
||||||
|
"rationale.arcadia": {
|
||||||
|
"bytes": 57,
|
||||||
|
"sha256": "c01867c9dc0d40726853119fac3c6ad24a40d8d362a93a8b9d20df04ec2e273f"
|
||||||
|
},
|
||||||
|
"sa/participants.arcadia": {
|
||||||
|
"bytes": 124,
|
||||||
|
"sha256": "fb975b83d3ec164c38936bf27fe7d2021cc46805574902a534744b040f7d3ae8"
|
||||||
|
},
|
||||||
|
"traceability.arcadia": {
|
||||||
|
"bytes": 395,
|
||||||
|
"sha256": "f778acaaa85de0940cedcd9514cd803032a11e782d859454203235febb73e5f0"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"scenario-undo": {
|
||||||
|
"path": ".local/native-qa/behavior-20260911-v4/checkpoint-scenario-undo",
|
||||||
|
"files": {
|
||||||
|
"oa/activities/activity_assess_incident.arcadia": {
|
||||||
|
"bytes": 376,
|
||||||
|
"sha256": "ae41d7c20b062b39c2edab7fb890a3d88a9ce18fd8d03018ef2d6f95eeff62e8"
|
||||||
|
},
|
||||||
|
"oa/behavior/process_coordinate_rescue.arcadia": {
|
||||||
|
"bytes": 149,
|
||||||
|
"sha256": "8f393d1cee5e7eed5e41af14539b1fe7ae1c7300dd9383ca0ef1ee17254b6253"
|
||||||
|
},
|
||||||
|
"oa/behavior/scenario_rescue_coordination_conversation.arcadia": {
|
||||||
|
"bytes": 284,
|
||||||
|
"sha256": "8eed98446dfb4f4dbd5261f550ce8cae1a21d638975d91b32baaf6f309daba98"
|
||||||
|
},
|
||||||
|
"oa/participants.arcadia": {
|
||||||
|
"bytes": 403,
|
||||||
|
"sha256": "094cab67f34b64902942c10a35bbcd0f760886d862588a0816d6ceb57bacf51b"
|
||||||
|
},
|
||||||
|
"project.arcadia": {
|
||||||
|
"bytes": 4906,
|
||||||
|
"sha256": "961d99c287dd7728c8ece8b20ca1a7965ac2d0581b3eaedf11a2b243975b0ea8"
|
||||||
|
},
|
||||||
|
"rationale.arcadia": {
|
||||||
|
"bytes": 57,
|
||||||
|
"sha256": "c01867c9dc0d40726853119fac3c6ad24a40d8d362a93a8b9d20df04ec2e273f"
|
||||||
|
},
|
||||||
|
"sa/participants.arcadia": {
|
||||||
|
"bytes": 124,
|
||||||
|
"sha256": "fb975b83d3ec164c38936bf27fe7d2021cc46805574902a534744b040f7d3ae8"
|
||||||
|
},
|
||||||
|
"traceability.arcadia": {
|
||||||
|
"bytes": 395,
|
||||||
|
"sha256": "f778acaaa85de0940cedcd9514cd803032a11e782d859454203235febb73e5f0"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"scenario-redo": {
|
||||||
|
"path": ".local/native-qa/behavior-20260911-v4/checkpoint-scenario-redo",
|
||||||
|
"files": {
|
||||||
|
"oa/activities/activity_assess_incident.arcadia": {
|
||||||
|
"bytes": 376,
|
||||||
|
"sha256": "ae41d7c20b062b39c2edab7fb890a3d88a9ce18fd8d03018ef2d6f95eeff62e8"
|
||||||
|
},
|
||||||
|
"oa/behavior/process_coordinate_rescue.arcadia": {
|
||||||
|
"bytes": 149,
|
||||||
|
"sha256": "8f393d1cee5e7eed5e41af14539b1fe7ae1c7300dd9383ca0ef1ee17254b6253"
|
||||||
|
},
|
||||||
|
"oa/behavior/scenario_rescue_coordination_conversation.arcadia": {
|
||||||
|
"bytes": 284,
|
||||||
|
"sha256": "8eed98446dfb4f4dbd5261f550ce8cae1a21d638975d91b32baaf6f309daba98"
|
||||||
|
},
|
||||||
|
"oa/participants.arcadia": {
|
||||||
|
"bytes": 403,
|
||||||
|
"sha256": "094cab67f34b64902942c10a35bbcd0f760886d862588a0816d6ceb57bacf51b"
|
||||||
|
},
|
||||||
|
"project.arcadia": {
|
||||||
|
"bytes": 4984,
|
||||||
|
"sha256": "1fa6dd826fd53ccdf3c93cfdcdd657487e344313d76dabe0c438e08128851ee6"
|
||||||
|
},
|
||||||
|
"rationale.arcadia": {
|
||||||
|
"bytes": 57,
|
||||||
|
"sha256": "c01867c9dc0d40726853119fac3c6ad24a40d8d362a93a8b9d20df04ec2e273f"
|
||||||
|
},
|
||||||
|
"sa/participants.arcadia": {
|
||||||
|
"bytes": 124,
|
||||||
|
"sha256": "fb975b83d3ec164c38936bf27fe7d2021cc46805574902a534744b040f7d3ae8"
|
||||||
|
},
|
||||||
|
"traceability.arcadia": {
|
||||||
|
"bytes": 395,
|
||||||
|
"sha256": "f778acaaa85de0940cedcd9514cd803032a11e782d859454203235febb73e5f0"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"machine": {
|
||||||
|
"path": ".local/native-qa/behavior-20260911-v4/checkpoint-machine",
|
||||||
|
"files": {
|
||||||
|
"oa/activities/activity_assess_incident.arcadia": {
|
||||||
|
"bytes": 376,
|
||||||
|
"sha256": "ae41d7c20b062b39c2edab7fb890a3d88a9ce18fd8d03018ef2d6f95eeff62e8"
|
||||||
|
},
|
||||||
|
"oa/behavior/process_coordinate_rescue.arcadia": {
|
||||||
|
"bytes": 149,
|
||||||
|
"sha256": "8f393d1cee5e7eed5e41af14539b1fe7ae1c7300dd9383ca0ef1ee17254b6253"
|
||||||
|
},
|
||||||
|
"oa/behavior/scenario_rescue_coordination_conversation.arcadia": {
|
||||||
|
"bytes": 284,
|
||||||
|
"sha256": "8eed98446dfb4f4dbd5261f550ce8cae1a21d638975d91b32baaf6f309daba98"
|
||||||
|
},
|
||||||
|
"oa/participants.arcadia": {
|
||||||
|
"bytes": 403,
|
||||||
|
"sha256": "094cab67f34b64902942c10a35bbcd0f760886d862588a0816d6ceb57bacf51b"
|
||||||
|
},
|
||||||
|
"project.arcadia": {
|
||||||
|
"bytes": 5057,
|
||||||
|
"sha256": "59b61b321b0cf4817c1ff9276fa59deafc09518765e761a2ebd9e5602afab9cb"
|
||||||
|
},
|
||||||
|
"rationale.arcadia": {
|
||||||
|
"bytes": 57,
|
||||||
|
"sha256": "c01867c9dc0d40726853119fac3c6ad24a40d8d362a93a8b9d20df04ec2e273f"
|
||||||
|
},
|
||||||
|
"sa/participants.arcadia": {
|
||||||
|
"bytes": 285,
|
||||||
|
"sha256": "9b77b88f66e4e80540ae33b83f1af1f3edcd37dafb98c33a861d4c34c66d2559"
|
||||||
|
},
|
||||||
|
"traceability.arcadia": {
|
||||||
|
"bytes": 395,
|
||||||
|
"sha256": "f778acaaa85de0940cedcd9514cd803032a11e782d859454203235febb73e5f0"
|
||||||
|
},
|
||||||
|
"views/diagram_rescue_team_operating_modes_states.arcadia": {
|
||||||
|
"bytes": 842,
|
||||||
|
"sha256": "498eab80da7ac4523883622a0d008b9033a1305e5bb5f168b8e9d4c41dde62de"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"machine-undo": {
|
||||||
|
"path": ".local/native-qa/behavior-20260911-v4/checkpoint-machine-undo",
|
||||||
|
"files": {
|
||||||
|
"oa/activities/activity_assess_incident.arcadia": {
|
||||||
|
"bytes": 376,
|
||||||
|
"sha256": "ae41d7c20b062b39c2edab7fb890a3d88a9ce18fd8d03018ef2d6f95eeff62e8"
|
||||||
|
},
|
||||||
|
"oa/behavior/process_coordinate_rescue.arcadia": {
|
||||||
|
"bytes": 149,
|
||||||
|
"sha256": "8f393d1cee5e7eed5e41af14539b1fe7ae1c7300dd9383ca0ef1ee17254b6253"
|
||||||
|
},
|
||||||
|
"oa/behavior/scenario_rescue_coordination_conversation.arcadia": {
|
||||||
|
"bytes": 284,
|
||||||
|
"sha256": "8eed98446dfb4f4dbd5261f550ce8cae1a21d638975d91b32baaf6f309daba98"
|
||||||
|
},
|
||||||
|
"oa/participants.arcadia": {
|
||||||
|
"bytes": 403,
|
||||||
|
"sha256": "094cab67f34b64902942c10a35bbcd0f760886d862588a0816d6ceb57bacf51b"
|
||||||
|
},
|
||||||
|
"project.arcadia": {
|
||||||
|
"bytes": 4984,
|
||||||
|
"sha256": "1fa6dd826fd53ccdf3c93cfdcdd657487e344313d76dabe0c438e08128851ee6"
|
||||||
|
},
|
||||||
|
"rationale.arcadia": {
|
||||||
|
"bytes": 57,
|
||||||
|
"sha256": "c01867c9dc0d40726853119fac3c6ad24a40d8d362a93a8b9d20df04ec2e273f"
|
||||||
|
},
|
||||||
|
"sa/participants.arcadia": {
|
||||||
|
"bytes": 124,
|
||||||
|
"sha256": "fb975b83d3ec164c38936bf27fe7d2021cc46805574902a534744b040f7d3ae8"
|
||||||
|
},
|
||||||
|
"traceability.arcadia": {
|
||||||
|
"bytes": 395,
|
||||||
|
"sha256": "f778acaaa85de0940cedcd9514cd803032a11e782d859454203235febb73e5f0"
|
||||||
|
},
|
||||||
|
"views/diagram_rescue_team_operating_modes_states.arcadia": {
|
||||||
|
"bytes": 842,
|
||||||
|
"sha256": "498eab80da7ac4523883622a0d008b9033a1305e5bb5f168b8e9d4c41dde62de"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"machine-redo": {
|
||||||
|
"path": ".local/native-qa/behavior-20260911-v4/checkpoint-machine-redo",
|
||||||
|
"files": {
|
||||||
|
"oa/activities/activity_assess_incident.arcadia": {
|
||||||
|
"bytes": 376,
|
||||||
|
"sha256": "ae41d7c20b062b39c2edab7fb890a3d88a9ce18fd8d03018ef2d6f95eeff62e8"
|
||||||
|
},
|
||||||
|
"oa/behavior/process_coordinate_rescue.arcadia": {
|
||||||
|
"bytes": 149,
|
||||||
|
"sha256": "8f393d1cee5e7eed5e41af14539b1fe7ae1c7300dd9383ca0ef1ee17254b6253"
|
||||||
|
},
|
||||||
|
"oa/behavior/scenario_rescue_coordination_conversation.arcadia": {
|
||||||
|
"bytes": 284,
|
||||||
|
"sha256": "8eed98446dfb4f4dbd5261f550ce8cae1a21d638975d91b32baaf6f309daba98"
|
||||||
|
},
|
||||||
|
"oa/participants.arcadia": {
|
||||||
|
"bytes": 403,
|
||||||
|
"sha256": "094cab67f34b64902942c10a35bbcd0f760886d862588a0816d6ceb57bacf51b"
|
||||||
|
},
|
||||||
|
"project.arcadia": {
|
||||||
|
"bytes": 5057,
|
||||||
|
"sha256": "59b61b321b0cf4817c1ff9276fa59deafc09518765e761a2ebd9e5602afab9cb"
|
||||||
|
},
|
||||||
|
"rationale.arcadia": {
|
||||||
|
"bytes": 57,
|
||||||
|
"sha256": "c01867c9dc0d40726853119fac3c6ad24a40d8d362a93a8b9d20df04ec2e273f"
|
||||||
|
},
|
||||||
|
"sa/participants.arcadia": {
|
||||||
|
"bytes": 285,
|
||||||
|
"sha256": "9b77b88f66e4e80540ae33b83f1af1f3edcd37dafb98c33a861d4c34c66d2559"
|
||||||
|
},
|
||||||
|
"traceability.arcadia": {
|
||||||
|
"bytes": 395,
|
||||||
|
"sha256": "f778acaaa85de0940cedcd9514cd803032a11e782d859454203235febb73e5f0"
|
||||||
|
},
|
||||||
|
"views/diagram_rescue_team_operating_modes_states.arcadia": {
|
||||||
|
"bytes": 842,
|
||||||
|
"sha256": "498eab80da7ac4523883622a0d008b9033a1305e5bb5f168b8e9d4c41dde62de"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"creation-reopen": {
|
||||||
|
"path": ".local/native-qa/behavior-20260911-v4/checkpoint-creation-reopen",
|
||||||
|
"files": {
|
||||||
|
"oa/activities/activity_assess_incident.arcadia": {
|
||||||
|
"bytes": 376,
|
||||||
|
"sha256": "ae41d7c20b062b39c2edab7fb890a3d88a9ce18fd8d03018ef2d6f95eeff62e8"
|
||||||
|
},
|
||||||
|
"oa/behavior/process_coordinate_rescue.arcadia": {
|
||||||
|
"bytes": 149,
|
||||||
|
"sha256": "8f393d1cee5e7eed5e41af14539b1fe7ae1c7300dd9383ca0ef1ee17254b6253"
|
||||||
|
},
|
||||||
|
"oa/behavior/scenario_rescue_coordination_conversation.arcadia": {
|
||||||
|
"bytes": 284,
|
||||||
|
"sha256": "8eed98446dfb4f4dbd5261f550ce8cae1a21d638975d91b32baaf6f309daba98"
|
||||||
|
},
|
||||||
|
"oa/participants.arcadia": {
|
||||||
|
"bytes": 403,
|
||||||
|
"sha256": "094cab67f34b64902942c10a35bbcd0f760886d862588a0816d6ceb57bacf51b"
|
||||||
|
},
|
||||||
|
"project.arcadia": {
|
||||||
|
"bytes": 5057,
|
||||||
|
"sha256": "59b61b321b0cf4817c1ff9276fa59deafc09518765e761a2ebd9e5602afab9cb"
|
||||||
|
},
|
||||||
|
"rationale.arcadia": {
|
||||||
|
"bytes": 57,
|
||||||
|
"sha256": "c01867c9dc0d40726853119fac3c6ad24a40d8d362a93a8b9d20df04ec2e273f"
|
||||||
|
},
|
||||||
|
"sa/participants.arcadia": {
|
||||||
|
"bytes": 285,
|
||||||
|
"sha256": "9b77b88f66e4e80540ae33b83f1af1f3edcd37dafb98c33a861d4c34c66d2559"
|
||||||
|
},
|
||||||
|
"traceability.arcadia": {
|
||||||
|
"bytes": 395,
|
||||||
|
"sha256": "f778acaaa85de0940cedcd9514cd803032a11e782d859454203235febb73e5f0"
|
||||||
|
},
|
||||||
|
"views/diagram_rescue_team_operating_modes_states.arcadia": {
|
||||||
|
"bytes": 842,
|
||||||
|
"sha256": "498eab80da7ac4523883622a0d008b9033a1305e5bb5f168b8e9d4c41dde62de"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"commands": [
|
||||||
|
{
|
||||||
|
"label": "self-check",
|
||||||
|
"command_argv": [
|
||||||
|
"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\behavior-creation-oracle-20260911\\behavior-creation-contract-v2.exe",
|
||||||
|
"self-check",
|
||||||
|
"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\native-qa\\palette-20260910-v3\\checkpoint-transition-reopen\\project.arcadia"
|
||||||
|
],
|
||||||
|
"exit_code": 0,
|
||||||
|
"elapsed_seconds": 0.967588,
|
||||||
|
"stdout": "PASS self-check Process: full source fixed point; false metadata, unrelated edits and source-only drift rejected\nPASS self-check Scenario: full source fixed point; false metadata, unrelated edits and source-only drift rejected\nPREDICT first view: Rescue team operating modes \u00b7 states; machine-root position Position { x: 60.0, y: 60.0 }, size Size { width: 336.0, height: 104.0 }; 9 exact source files\nPASS self-check Machine: full source fixed point; false metadata, unrelated edits and source-only drift rejected\nPASS explicit Undo disk contract: known detached retention accepted; unknown, changed, missing and reachable drift rejected\nPASS baseline retained unchanged; no native acceptance claimed\n",
|
||||||
|
"stderr": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"label": "baseline",
|
||||||
|
"command_argv": [
|
||||||
|
"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\behavior-creation-oracle-20260911\\behavior-creation-contract-v2.exe",
|
||||||
|
"check",
|
||||||
|
"baseline",
|
||||||
|
"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\native-qa\\palette-20260910-v3\\checkpoint-transition-reopen\\project.arcadia",
|
||||||
|
"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\native-qa\\palette-20260910-v3\\checkpoint-transition-reopen\\project.arcadia",
|
||||||
|
"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\native-qa\\palette-20260910-v3\\checkpoint-transition-reopen\\project.arcadia"
|
||||||
|
],
|
||||||
|
"exit_code": 0,
|
||||||
|
"elapsed_seconds": 0.119426,
|
||||||
|
"stdout": "PASS Baseline: complete Project + 6 exact source files; only fresh literal-role UUIDs borrowed\n",
|
||||||
|
"stderr": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"label": "process",
|
||||||
|
"command_argv": [
|
||||||
|
"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\behavior-creation-oracle-20260911\\behavior-creation-contract-v2.exe",
|
||||||
|
"check",
|
||||||
|
"process",
|
||||||
|
"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\native-qa\\palette-20260910-v3\\checkpoint-transition-reopen\\project.arcadia",
|
||||||
|
"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\native-qa\\behavior-20260911-v4\\checkpoint-process\\project.arcadia",
|
||||||
|
"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\native-qa\\behavior-20260911-v4\\checkpoint-process\\project.arcadia"
|
||||||
|
],
|
||||||
|
"exit_code": 0,
|
||||||
|
"elapsed_seconds": 0.163785,
|
||||||
|
"stdout": "PASS Process: complete Project + 7 exact source files; only fresh literal-role UUIDs borrowed\n",
|
||||||
|
"stderr": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"label": "process-undo",
|
||||||
|
"command_argv": [
|
||||||
|
"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\behavior-creation-oracle-20260911\\behavior-creation-contract-v2.exe",
|
||||||
|
"same",
|
||||||
|
"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\native-qa\\palette-20260910-v3\\checkpoint-transition-reopen\\project.arcadia",
|
||||||
|
"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\native-qa\\behavior-20260911-v4\\checkpoint-process-undo\\project.arcadia",
|
||||||
|
"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\native-qa\\behavior-20260911-v4\\checkpoint-process\\project.arcadia"
|
||||||
|
],
|
||||||
|
"exit_code": 0,
|
||||||
|
"elapsed_seconds": 0.155607,
|
||||||
|
"stdout": "PASS exact checkpoint identity/model/6-file SourceBundle equality; 7 exact disk files (1 known retained)\n",
|
||||||
|
"stderr": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"label": "process-redo",
|
||||||
|
"command_argv": [
|
||||||
|
"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\behavior-creation-oracle-20260911\\behavior-creation-contract-v2.exe",
|
||||||
|
"check",
|
||||||
|
"process",
|
||||||
|
"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\native-qa\\palette-20260910-v3\\checkpoint-transition-reopen\\project.arcadia",
|
||||||
|
"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\native-qa\\behavior-20260911-v4\\checkpoint-process-redo\\project.arcadia",
|
||||||
|
"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\native-qa\\behavior-20260911-v4\\checkpoint-process\\project.arcadia"
|
||||||
|
],
|
||||||
|
"exit_code": 0,
|
||||||
|
"elapsed_seconds": 0.187937,
|
||||||
|
"stdout": "PASS Process: complete Project + 7 exact source files; only fresh literal-role UUIDs borrowed\n",
|
||||||
|
"stderr": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"label": "scenario",
|
||||||
|
"command_argv": [
|
||||||
|
"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\behavior-creation-oracle-20260911\\behavior-creation-contract-v2.exe",
|
||||||
|
"check",
|
||||||
|
"scenario",
|
||||||
|
"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\native-qa\\palette-20260910-v3\\checkpoint-transition-reopen\\project.arcadia",
|
||||||
|
"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\native-qa\\behavior-20260911-v4\\checkpoint-scenario\\project.arcadia",
|
||||||
|
"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\native-qa\\behavior-20260911-v4\\checkpoint-scenario\\project.arcadia"
|
||||||
|
],
|
||||||
|
"exit_code": 0,
|
||||||
|
"elapsed_seconds": 0.253057,
|
||||||
|
"stdout": "PASS Scenario: complete Project + 8 exact source files; only fresh literal-role UUIDs borrowed\n",
|
||||||
|
"stderr": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"label": "scenario-undo",
|
||||||
|
"command_argv": [
|
||||||
|
"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\behavior-creation-oracle-20260911\\behavior-creation-contract-v2.exe",
|
||||||
|
"same",
|
||||||
|
"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\native-qa\\behavior-20260911-v4\\checkpoint-process\\project.arcadia",
|
||||||
|
"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\native-qa\\behavior-20260911-v4\\checkpoint-scenario-undo\\project.arcadia",
|
||||||
|
"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\native-qa\\behavior-20260911-v4\\checkpoint-scenario\\project.arcadia"
|
||||||
|
],
|
||||||
|
"exit_code": 0,
|
||||||
|
"elapsed_seconds": 0.160712,
|
||||||
|
"stdout": "PASS exact checkpoint identity/model/7-file SourceBundle equality; 8 exact disk files (1 known retained)\n",
|
||||||
|
"stderr": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"label": "scenario-redo",
|
||||||
|
"command_argv": [
|
||||||
|
"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\behavior-creation-oracle-20260911\\behavior-creation-contract-v2.exe",
|
||||||
|
"check",
|
||||||
|
"scenario",
|
||||||
|
"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\native-qa\\palette-20260910-v3\\checkpoint-transition-reopen\\project.arcadia",
|
||||||
|
"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\native-qa\\behavior-20260911-v4\\checkpoint-scenario-redo\\project.arcadia",
|
||||||
|
"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\native-qa\\behavior-20260911-v4\\checkpoint-scenario\\project.arcadia"
|
||||||
|
],
|
||||||
|
"exit_code": 0,
|
||||||
|
"elapsed_seconds": 0.222,
|
||||||
|
"stdout": "PASS Scenario: complete Project + 8 exact source files; only fresh literal-role UUIDs borrowed\n",
|
||||||
|
"stderr": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"label": "machine",
|
||||||
|
"command_argv": [
|
||||||
|
"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\behavior-creation-oracle-20260911\\behavior-creation-contract-v2.exe",
|
||||||
|
"check",
|
||||||
|
"machine",
|
||||||
|
"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\native-qa\\palette-20260910-v3\\checkpoint-transition-reopen\\project.arcadia",
|
||||||
|
"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\native-qa\\behavior-20260911-v4\\checkpoint-machine\\project.arcadia",
|
||||||
|
"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\native-qa\\behavior-20260911-v4\\checkpoint-machine\\project.arcadia"
|
||||||
|
],
|
||||||
|
"exit_code": 0,
|
||||||
|
"elapsed_seconds": 0.266748,
|
||||||
|
"stdout": "PASS Machine: complete Project + 9 exact source files; only fresh literal-role UUIDs borrowed\n",
|
||||||
|
"stderr": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"label": "machine-undo",
|
||||||
|
"command_argv": [
|
||||||
|
"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\behavior-creation-oracle-20260911\\behavior-creation-contract-v2.exe",
|
||||||
|
"same",
|
||||||
|
"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\native-qa\\behavior-20260911-v4\\checkpoint-scenario\\project.arcadia",
|
||||||
|
"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\native-qa\\behavior-20260911-v4\\checkpoint-machine-undo\\project.arcadia",
|
||||||
|
"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\native-qa\\behavior-20260911-v4\\checkpoint-machine\\project.arcadia"
|
||||||
|
],
|
||||||
|
"exit_code": 0,
|
||||||
|
"elapsed_seconds": 0.122982,
|
||||||
|
"stdout": "PASS exact checkpoint identity/model/8-file SourceBundle equality; 9 exact disk files (1 known retained)\n",
|
||||||
|
"stderr": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"label": "machine-redo",
|
||||||
|
"command_argv": [
|
||||||
|
"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\behavior-creation-oracle-20260911\\behavior-creation-contract-v2.exe",
|
||||||
|
"check",
|
||||||
|
"machine",
|
||||||
|
"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\native-qa\\palette-20260910-v3\\checkpoint-transition-reopen\\project.arcadia",
|
||||||
|
"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\native-qa\\behavior-20260911-v4\\checkpoint-machine-redo\\project.arcadia",
|
||||||
|
"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\native-qa\\behavior-20260911-v4\\checkpoint-machine\\project.arcadia"
|
||||||
|
],
|
||||||
|
"exit_code": 0,
|
||||||
|
"elapsed_seconds": 0.229706,
|
||||||
|
"stdout": "PASS Machine: complete Project + 9 exact source files; only fresh literal-role UUIDs borrowed\n",
|
||||||
|
"stderr": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"label": "reopen-contract",
|
||||||
|
"command_argv": [
|
||||||
|
"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\behavior-creation-oracle-20260911\\behavior-creation-contract-v2.exe",
|
||||||
|
"check",
|
||||||
|
"machine",
|
||||||
|
"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\native-qa\\palette-20260910-v3\\checkpoint-transition-reopen\\project.arcadia",
|
||||||
|
"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\native-qa\\behavior-20260911-v4\\checkpoint-creation-reopen\\project.arcadia",
|
||||||
|
"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\native-qa\\behavior-20260911-v4\\checkpoint-machine\\project.arcadia"
|
||||||
|
],
|
||||||
|
"exit_code": 0,
|
||||||
|
"elapsed_seconds": 0.192465,
|
||||||
|
"stdout": "PASS Machine: complete Project + 9 exact source files; only fresh literal-role UUIDs borrowed\n",
|
||||||
|
"stderr": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"label": "reopen-exact-redo",
|
||||||
|
"command_argv": [
|
||||||
|
"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\behavior-creation-oracle-20260911\\behavior-creation-contract-v2.exe",
|
||||||
|
"same",
|
||||||
|
"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\native-qa\\behavior-20260911-v4\\checkpoint-machine-redo\\project.arcadia",
|
||||||
|
"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\native-qa\\behavior-20260911-v4\\checkpoint-creation-reopen\\project.arcadia"
|
||||||
|
],
|
||||||
|
"exit_code": 0,
|
||||||
|
"elapsed_seconds": 0.131742,
|
||||||
|
"stdout": "PASS exact checkpoint identity/model/9-file SourceBundle equality; 9 exact disk files (0 known retained)\n",
|
||||||
|
"stderr": ""
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"all_checkpoint_files_unchanged": true,
|
||||||
|
"machine_redo_reopen_inventory_equal": true,
|
||||||
|
"machine_redo_reopen_direct_byte_comparisons": {
|
||||||
|
"oa/activities/activity_assess_incident.arcadia": true,
|
||||||
|
"oa/behavior/process_coordinate_rescue.arcadia": true,
|
||||||
|
"oa/behavior/scenario_rescue_coordination_conversation.arcadia": true,
|
||||||
|
"oa/participants.arcadia": true,
|
||||||
|
"project.arcadia": true,
|
||||||
|
"rationale.arcadia": true,
|
||||||
|
"sa/participants.arcadia": true,
|
||||||
|
"traceability.arcadia": true,
|
||||||
|
"views/diagram_rescue_team_operating_modes_states.arcadia": true
|
||||||
|
},
|
||||||
|
"log": {
|
||||||
|
"path": "harness/experiments/behavior-creation-native-20260911/commands-results.log",
|
||||||
|
"bytes": 9392,
|
||||||
|
"sha256": "f5bfbee185f7064419b1bd9fe33ec6a48526b5bbe3f818c006feb74eddf8e189"
|
||||||
|
},
|
||||||
|
"pass": true
|
||||||
|
}
|
||||||
@@ -0,0 +1,200 @@
|
|||||||
|
{
|
||||||
|
"reviewer": "Codex-9e8r6t /root/palette_finish",
|
||||||
|
"started_utc": "2026-09-11T09:22:33.387447+00:00",
|
||||||
|
"finished_utc": "2026-09-11T09:22:34.502189+00:00",
|
||||||
|
"scope": "Immutable evidence only; native observations supplied separately by root. No live work/profile/UI/Cargo access; no persisted Undo claim.",
|
||||||
|
"artifacts": [
|
||||||
|
{
|
||||||
|
"path": "harness/experiments/behavior-creation-native-20260911/verify-recovery.py",
|
||||||
|
"bytes": 5560,
|
||||||
|
"sha256": "3546b4fe68d3e1a2474015be1b652a665af238e5fcf63e04bac3f25df3d35e90"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": "harness/experiments/behavior-creation-native-20260911/manifest.json",
|
||||||
|
"bytes": 30406,
|
||||||
|
"sha256": "356dfbb27dec04764a4b3f2372602f39953b472baac0a3de3e72acd9c1d76b8a"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": ".local/behavior-creation-oracle-20260911/behavior-creation-contract-v2.exe",
|
||||||
|
"bytes": 20757504,
|
||||||
|
"sha256": "056eefd444924916bf6ac3c4897ab2ff4a8a4bb892e1dbc16adad32e59bf6a36"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": ".local/native-qa/behavior-20260911-v4/recovery-evidence/before-interruption.json",
|
||||||
|
"bytes": 27382,
|
||||||
|
"sha256": "0c355aa3c7b9be623d767ff35c4b85cf7b2907eb9bc3be39d619aa610c989692"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": ".local/native-qa/behavior-20260911-v4/recovery-evidence/after-recovery-and-typing.json",
|
||||||
|
"bytes": 27263,
|
||||||
|
"sha256": "fafa7a884275bac09afab365f8ab0063f998ca56c5ffc70be596db6f78a10103"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": ".local/native-qa/behavior-20260911-v4/recovery-evidence/restored-draft.png",
|
||||||
|
"bytes": 113820,
|
||||||
|
"sha256": "8ae0fe8957d5a935b6e2605a6ffb68934bd0e8840f3594c43e63865ab89d03c9"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": ".local/native-qa/behavior-20260911-v4/recovery-launch.json",
|
||||||
|
"bytes": 812,
|
||||||
|
"sha256": "641ff05ea50d551a51e642f728650cf254dbf131cfb2f585865db436a8877396"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": ".local/native-qa/behavior-20260911-v4/bin/arcadia-studio.exe",
|
||||||
|
"bytes": 111163904,
|
||||||
|
"sha256": "d4d9c2bd937e301ff1009d7cb93a34ee5aa6dfc837ff7e87d468c85371b20c31"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"input_file_inventories": {
|
||||||
|
".local\\native-qa\\behavior-20260911-v4\\checkpoint-creation-reopen": {
|
||||||
|
"oa/activities/activity_assess_incident.arcadia": {
|
||||||
|
"path": ".local/native-qa/behavior-20260911-v4/checkpoint-creation-reopen/oa/activities/activity_assess_incident.arcadia",
|
||||||
|
"bytes": 376,
|
||||||
|
"sha256": "ae41d7c20b062b39c2edab7fb890a3d88a9ce18fd8d03018ef2d6f95eeff62e8"
|
||||||
|
},
|
||||||
|
"oa/behavior/process_coordinate_rescue.arcadia": {
|
||||||
|
"path": ".local/native-qa/behavior-20260911-v4/checkpoint-creation-reopen/oa/behavior/process_coordinate_rescue.arcadia",
|
||||||
|
"bytes": 149,
|
||||||
|
"sha256": "8f393d1cee5e7eed5e41af14539b1fe7ae1c7300dd9383ca0ef1ee17254b6253"
|
||||||
|
},
|
||||||
|
"oa/behavior/scenario_rescue_coordination_conversation.arcadia": {
|
||||||
|
"path": ".local/native-qa/behavior-20260911-v4/checkpoint-creation-reopen/oa/behavior/scenario_rescue_coordination_conversation.arcadia",
|
||||||
|
"bytes": 284,
|
||||||
|
"sha256": "8eed98446dfb4f4dbd5261f550ce8cae1a21d638975d91b32baaf6f309daba98"
|
||||||
|
},
|
||||||
|
"oa/participants.arcadia": {
|
||||||
|
"path": ".local/native-qa/behavior-20260911-v4/checkpoint-creation-reopen/oa/participants.arcadia",
|
||||||
|
"bytes": 403,
|
||||||
|
"sha256": "094cab67f34b64902942c10a35bbcd0f760886d862588a0816d6ceb57bacf51b"
|
||||||
|
},
|
||||||
|
"project.arcadia": {
|
||||||
|
"path": ".local/native-qa/behavior-20260911-v4/checkpoint-creation-reopen/project.arcadia",
|
||||||
|
"bytes": 5057,
|
||||||
|
"sha256": "59b61b321b0cf4817c1ff9276fa59deafc09518765e761a2ebd9e5602afab9cb"
|
||||||
|
},
|
||||||
|
"rationale.arcadia": {
|
||||||
|
"path": ".local/native-qa/behavior-20260911-v4/checkpoint-creation-reopen/rationale.arcadia",
|
||||||
|
"bytes": 57,
|
||||||
|
"sha256": "c01867c9dc0d40726853119fac3c6ad24a40d8d362a93a8b9d20df04ec2e273f"
|
||||||
|
},
|
||||||
|
"sa/participants.arcadia": {
|
||||||
|
"path": ".local/native-qa/behavior-20260911-v4/checkpoint-creation-reopen/sa/participants.arcadia",
|
||||||
|
"bytes": 285,
|
||||||
|
"sha256": "9b77b88f66e4e80540ae33b83f1af1f3edcd37dafb98c33a861d4c34c66d2559"
|
||||||
|
},
|
||||||
|
"traceability.arcadia": {
|
||||||
|
"path": ".local/native-qa/behavior-20260911-v4/checkpoint-creation-reopen/traceability.arcadia",
|
||||||
|
"bytes": 395,
|
||||||
|
"sha256": "f778acaaa85de0940cedcd9514cd803032a11e782d859454203235febb73e5f0"
|
||||||
|
},
|
||||||
|
"views/diagram_rescue_team_operating_modes_states.arcadia": {
|
||||||
|
"path": ".local/native-qa/behavior-20260911-v4/checkpoint-creation-reopen/views/diagram_rescue_team_operating_modes_states.arcadia",
|
||||||
|
"bytes": 842,
|
||||||
|
"sha256": "498eab80da7ac4523883622a0d008b9033a1305e5bb5f168b8e9d4c41dde62de"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
".local\\native-qa\\behavior-20260911-v4\\checkpoint-recovery-cancel": {
|
||||||
|
"oa/activities/activity_assess_incident.arcadia": {
|
||||||
|
"path": ".local/native-qa/behavior-20260911-v4/checkpoint-recovery-cancel/oa/activities/activity_assess_incident.arcadia",
|
||||||
|
"bytes": 376,
|
||||||
|
"sha256": "ae41d7c20b062b39c2edab7fb890a3d88a9ce18fd8d03018ef2d6f95eeff62e8"
|
||||||
|
},
|
||||||
|
"oa/behavior/process_coordinate_rescue.arcadia": {
|
||||||
|
"path": ".local/native-qa/behavior-20260911-v4/checkpoint-recovery-cancel/oa/behavior/process_coordinate_rescue.arcadia",
|
||||||
|
"bytes": 149,
|
||||||
|
"sha256": "8f393d1cee5e7eed5e41af14539b1fe7ae1c7300dd9383ca0ef1ee17254b6253"
|
||||||
|
},
|
||||||
|
"oa/behavior/scenario_rescue_coordination_conversation.arcadia": {
|
||||||
|
"path": ".local/native-qa/behavior-20260911-v4/checkpoint-recovery-cancel/oa/behavior/scenario_rescue_coordination_conversation.arcadia",
|
||||||
|
"bytes": 284,
|
||||||
|
"sha256": "8eed98446dfb4f4dbd5261f550ce8cae1a21d638975d91b32baaf6f309daba98"
|
||||||
|
},
|
||||||
|
"oa/participants.arcadia": {
|
||||||
|
"path": ".local/native-qa/behavior-20260911-v4/checkpoint-recovery-cancel/oa/participants.arcadia",
|
||||||
|
"bytes": 403,
|
||||||
|
"sha256": "094cab67f34b64902942c10a35bbcd0f760886d862588a0816d6ceb57bacf51b"
|
||||||
|
},
|
||||||
|
"project.arcadia": {
|
||||||
|
"path": ".local/native-qa/behavior-20260911-v4/checkpoint-recovery-cancel/project.arcadia",
|
||||||
|
"bytes": 5057,
|
||||||
|
"sha256": "59b61b321b0cf4817c1ff9276fa59deafc09518765e761a2ebd9e5602afab9cb"
|
||||||
|
},
|
||||||
|
"rationale.arcadia": {
|
||||||
|
"path": ".local/native-qa/behavior-20260911-v4/checkpoint-recovery-cancel/rationale.arcadia",
|
||||||
|
"bytes": 57,
|
||||||
|
"sha256": "c01867c9dc0d40726853119fac3c6ad24a40d8d362a93a8b9d20df04ec2e273f"
|
||||||
|
},
|
||||||
|
"sa/participants.arcadia": {
|
||||||
|
"path": ".local/native-qa/behavior-20260911-v4/checkpoint-recovery-cancel/sa/participants.arcadia",
|
||||||
|
"bytes": 285,
|
||||||
|
"sha256": "9b77b88f66e4e80540ae33b83f1af1f3edcd37dafb98c33a861d4c34c66d2559"
|
||||||
|
},
|
||||||
|
"traceability.arcadia": {
|
||||||
|
"path": ".local/native-qa/behavior-20260911-v4/checkpoint-recovery-cancel/traceability.arcadia",
|
||||||
|
"bytes": 395,
|
||||||
|
"sha256": "f778acaaa85de0940cedcd9514cd803032a11e782d859454203235febb73e5f0"
|
||||||
|
},
|
||||||
|
"views/diagram_rescue_team_operating_modes_states.arcadia": {
|
||||||
|
"path": ".local/native-qa/behavior-20260911-v4/checkpoint-recovery-cancel/views/diagram_rescue_team_operating_modes_states.arcadia",
|
||||||
|
"bytes": 842,
|
||||||
|
"sha256": "498eab80da7ac4523883622a0d008b9033a1305e5bb5f168b8e9d4c41dde62de"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"checks": {
|
||||||
|
"literal_name_before": true,
|
||||||
|
"literal_name_after": true,
|
||||||
|
"sa_machine": true,
|
||||||
|
"selected_exact_system_actor": true,
|
||||||
|
"first_view_selected": true,
|
||||||
|
"complete_behavior_equal_except_deliberate_suffix": true,
|
||||||
|
"accepted_exact_json_equality": true,
|
||||||
|
"workspace_exact_json_equality": true,
|
||||||
|
"property_exact_json_equality": true,
|
||||||
|
"workflow_exact_json_equality": true,
|
||||||
|
"selected_exact_json_equality": true,
|
||||||
|
"reserved_ids_unchanged": true,
|
||||||
|
"complete_file_inventory_equal": true,
|
||||||
|
"complete_file_bytes_equal": true,
|
||||||
|
"accepted_snapshot_exactly_matches_saved_checkpoint": true,
|
||||||
|
"reserved_objects_not_committed": true,
|
||||||
|
"oracle_same_pass": true,
|
||||||
|
"input_files_unchanged": true,
|
||||||
|
"evidence_and_prior_manifest_unchanged": true
|
||||||
|
},
|
||||||
|
"reserved_ids": {
|
||||||
|
"element": "c6f559f5-401e-4e0d-af93-91faee68d3f5",
|
||||||
|
"diagram": "11ad8f0a-73aa-416a-bbeb-9b886bf39854",
|
||||||
|
"placement": "171f7d7e-3a8f-4200-86f6-a9e2efd87610"
|
||||||
|
},
|
||||||
|
"reopen_recovery_cancel_direct_byte_comparisons": {
|
||||||
|
"views/diagram_rescue_team_operating_modes_states.arcadia": true,
|
||||||
|
"traceability.arcadia": true,
|
||||||
|
"oa/activities/activity_assess_incident.arcadia": true,
|
||||||
|
"sa/participants.arcadia": true,
|
||||||
|
"rationale.arcadia": true,
|
||||||
|
"oa/behavior/process_coordinate_rescue.arcadia": true,
|
||||||
|
"project.arcadia": true,
|
||||||
|
"oa/participants.arcadia": true,
|
||||||
|
"oa/behavior/scenario_rescue_coordination_conversation.arcadia": true
|
||||||
|
},
|
||||||
|
"comparison_origin": "checkpoint-creation-reopen",
|
||||||
|
"command": {
|
||||||
|
"command_argv": [
|
||||||
|
"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\behavior-creation-oracle-20260911\\behavior-creation-contract-v2.exe",
|
||||||
|
"same",
|
||||||
|
"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\native-qa\\behavior-20260911-v4\\checkpoint-creation-reopen\\project.arcadia",
|
||||||
|
"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\native-qa\\behavior-20260911-v4\\checkpoint-recovery-cancel\\project.arcadia"
|
||||||
|
],
|
||||||
|
"exit_code": 0,
|
||||||
|
"elapsed_seconds": 0.147209,
|
||||||
|
"stdout": "PASS exact checkpoint identity/model/9-file SourceBundle equality; 9 exact disk files (0 known retained)\n",
|
||||||
|
"stderr": ""
|
||||||
|
},
|
||||||
|
"log": {
|
||||||
|
"path": "harness/experiments/behavior-creation-native-20260911/recovery-commands-results.log",
|
||||||
|
"bytes": 641,
|
||||||
|
"sha256": "1dc3e89aa46660bfad796e7b6bf821bebd7e5bc5a7902a826021d461a3e74c68"
|
||||||
|
},
|
||||||
|
"pass": true
|
||||||
|
}
|
||||||
@@ -0,0 +1,89 @@
|
|||||||
|
"""Verify immutable recovery evidence; never access live profile/work or UI."""
|
||||||
|
from pathlib import Path
|
||||||
|
import copy
|
||||||
|
import datetime
|
||||||
|
import hashlib
|
||||||
|
import json
|
||||||
|
import os
|
||||||
|
import subprocess
|
||||||
|
import time
|
||||||
|
|
||||||
|
ROOT = Path(__file__).resolve().parents[3]
|
||||||
|
OUT = Path(__file__).resolve().parent
|
||||||
|
STAGE = ROOT / '.local/native-qa/behavior-20260911-v4'
|
||||||
|
EVIDENCE = STAGE / 'recovery-evidence'
|
||||||
|
EXPECTED = STAGE / 'checkpoint-creation-reopen'
|
||||||
|
ACTUAL = STAGE / 'checkpoint-recovery-cancel'
|
||||||
|
EXE = ROOT / '.local/behavior-creation-oracle-20260911/behavior-creation-contract-v2.exe'
|
||||||
|
|
||||||
|
|
||||||
|
def record(path):
|
||||||
|
data = path.read_bytes()
|
||||||
|
return {'path': path.relative_to(ROOT).as_posix(), 'bytes': len(data),
|
||||||
|
'sha256': hashlib.sha256(data).hexdigest()}
|
||||||
|
|
||||||
|
|
||||||
|
def inventory(directory):
|
||||||
|
return {p.relative_to(directory).as_posix(): record(p)
|
||||||
|
for p in sorted(directory.rglob('*')) if p.is_file()}
|
||||||
|
|
||||||
|
|
||||||
|
artifacts = [record(p) for p in (Path(__file__), OUT / 'manifest.json', EXE,
|
||||||
|
EVIDENCE / 'before-interruption.json', EVIDENCE / 'after-recovery-and-typing.json',
|
||||||
|
EVIDENCE / 'restored-draft.png', STAGE / 'recovery-launch.json', STAGE / 'bin/arcadia-studio.exe')]
|
||||||
|
assert artifacts[1]['sha256'] == '356dfbb27dec04764a4b3f2372602f39953b472baac0a3de3e72acd9c1d76b8a'
|
||||||
|
assert artifacts[2]['sha256'] == '056eefd444924916bf6ac3c4897ab2ff4a8a4bb892e1dbc16adad32e59bf6a36'
|
||||||
|
before = json.loads((EVIDENCE / 'before-interruption.json').read_text(encoding='utf-8-sig'))
|
||||||
|
after = json.loads((EVIDENCE / 'after-recovery-and-typing.json').read_text(encoding='utf-8-sig'))
|
||||||
|
draft = before['behavior']['draft']
|
||||||
|
expected_name = 'Recovery — secours Δ «operating modes»'
|
||||||
|
checks = {'literal_name_before': draft['name'] == expected_name,
|
||||||
|
'literal_name_after': after['behavior']['draft']['name'] == expected_name + ' · resumed',
|
||||||
|
'sa_machine': draft['layer'] == 'Sa' and draft['family'] == 'Machine',
|
||||||
|
'selected_exact_system_actor': draft['owner'] == 'c0629449-1209-4b50-afac-f558a9a0fc7f',
|
||||||
|
'first_view_selected': draft['first_view'] is True}
|
||||||
|
normalized = copy.deepcopy(after['behavior'])
|
||||||
|
if checks['literal_name_after']:
|
||||||
|
normalized['draft']['name'] = expected_name
|
||||||
|
checks['complete_behavior_equal_except_deliberate_suffix'] = normalized == before['behavior']
|
||||||
|
for field in ('accepted', 'workspace', 'property', 'workflow', 'selected'):
|
||||||
|
checks[field + '_exact_json_equality'] = before[field] == after[field]
|
||||||
|
reserved = {field: draft[field] for field in ('element', 'diagram', 'placement')}
|
||||||
|
checks['reserved_ids_unchanged'] = all(after['behavior']['draft'][k] == v for k, v in reserved.items())
|
||||||
|
inputs = {str(p.relative_to(ROOT)): inventory(p) for p in (EXPECTED, ACTUAL)}
|
||||||
|
expected_names = set(inputs[str(EXPECTED.relative_to(ROOT))])
|
||||||
|
actual_names = set(inputs[str(ACTUAL.relative_to(ROOT))])
|
||||||
|
checks['complete_file_inventory_equal'] = expected_names == actual_names
|
||||||
|
byte_results = {name: (EXPECTED / name).read_bytes() == (ACTUAL / name).read_bytes()
|
||||||
|
for name in expected_names if name in actual_names}
|
||||||
|
checks['complete_file_bytes_equal'] = all(byte_results.values()) and len(byte_results) == len(expected_names)
|
||||||
|
checks['accepted_snapshot_exactly_matches_saved_checkpoint'] = (
|
||||||
|
set(before['accepted']['files']) == expected_names and
|
||||||
|
all(text.encode('utf-8') == (EXPECTED / name).read_bytes()
|
||||||
|
for name, text in before['accepted']['files'].items()))
|
||||||
|
checks['reserved_objects_not_committed'] = all(
|
||||||
|
all(value.encode('utf-8') not in (ACTUAL / name).read_bytes() for value in reserved.values())
|
||||||
|
for name in actual_names)
|
||||||
|
command = [str(EXE), 'same', str(EXPECTED / 'project.arcadia'), str(ACTUAL / 'project.arcadia')]
|
||||||
|
env = os.environ.copy()
|
||||||
|
env['PATH'] = str(STAGE / 'bin') + os.pathsep + env.get('PATH', '')
|
||||||
|
started = datetime.datetime.now(datetime.timezone.utc).isoformat()
|
||||||
|
tick = time.perf_counter()
|
||||||
|
run = subprocess.run(command, cwd=ROOT, env=env, capture_output=True, text=True, encoding='utf-8', errors='replace', timeout=60)
|
||||||
|
elapsed = time.perf_counter() - tick
|
||||||
|
checks['oracle_same_pass'] = run.returncode == 0
|
||||||
|
checks['input_files_unchanged'] = inputs == {str(p.relative_to(ROOT)): inventory(p) for p in (EXPECTED, ACTUAL)}
|
||||||
|
checks['evidence_and_prior_manifest_unchanged'] = artifacts == [record(ROOT / item['path']) for item in artifacts]
|
||||||
|
result = {'command_argv': command, 'exit_code': run.returncode,
|
||||||
|
'elapsed_seconds': round(elapsed, 6), 'stdout': run.stdout, 'stderr': run.stderr}
|
||||||
|
(OUT / 'recovery-commands-results.log').write_text(json.dumps(result, indent=2) + '\n', encoding='utf-8', newline='\n')
|
||||||
|
manifest = {'reviewer': 'Codex-9e8r6t /root/palette_finish', 'started_utc': started,
|
||||||
|
'finished_utc': datetime.datetime.now(datetime.timezone.utc).isoformat(),
|
||||||
|
'scope': 'Immutable evidence only; native observations supplied separately by root. No live work/profile/UI/Cargo access; no persisted Undo claim.',
|
||||||
|
'artifacts': artifacts, 'input_file_inventories': inputs, 'checks': checks,
|
||||||
|
'reserved_ids': reserved, 'reopen_recovery_cancel_direct_byte_comparisons': byte_results,
|
||||||
|
'comparison_origin': 'checkpoint-creation-reopen', 'command': result,
|
||||||
|
'log': record(OUT / 'recovery-commands-results.log'), 'pass': all(checks.values())}
|
||||||
|
(OUT / 'recovery-manifest.json').write_text(json.dumps(manifest, indent=2) + '\n', encoding='utf-8', newline='\n')
|
||||||
|
print(json.dumps({'pass': manifest['pass'], 'checks': checks, 'manifest': record(OUT / 'recovery-manifest.json')}))
|
||||||
|
raise SystemExit(0 if manifest['pass'] else 1)
|
||||||
@@ -0,0 +1,93 @@
|
|||||||
|
"""Read only frozen checkpoints; run the existing v2 oracle without compiling."""
|
||||||
|
from pathlib import Path
|
||||||
|
import datetime
|
||||||
|
import hashlib
|
||||||
|
import json
|
||||||
|
import os
|
||||||
|
import subprocess
|
||||||
|
import time
|
||||||
|
|
||||||
|
ROOT = Path(__file__).resolve().parents[3]
|
||||||
|
OUT = Path(__file__).resolve().parent
|
||||||
|
STAGE = ROOT / '.local/native-qa/behavior-20260911-v4'
|
||||||
|
BASE = ROOT / '.local/native-qa/palette-20260910-v3/checkpoint-transition-reopen'
|
||||||
|
EXE = ROOT / '.local/behavior-creation-oracle-20260911/behavior-creation-contract-v2.exe'
|
||||||
|
|
||||||
|
|
||||||
|
def record(path):
|
||||||
|
data = path.read_bytes()
|
||||||
|
return {'path': path.relative_to(ROOT).as_posix(), 'bytes': len(data),
|
||||||
|
'sha256': hashlib.sha256(data).hexdigest()}
|
||||||
|
|
||||||
|
|
||||||
|
def inventory(directory):
|
||||||
|
return {p.relative_to(directory).as_posix(): {
|
||||||
|
'bytes': p.stat().st_size, 'sha256': hashlib.sha256(p.read_bytes()).hexdigest()
|
||||||
|
} for p in sorted(directory.rglob('*')) if p.is_file()}
|
||||||
|
|
||||||
|
|
||||||
|
def entry(directory):
|
||||||
|
return str(directory / 'project.arcadia')
|
||||||
|
|
||||||
|
|
||||||
|
checkpoints = {'baseline': BASE}
|
||||||
|
for family in ('process', 'scenario', 'machine'):
|
||||||
|
for suffix in ('', '-undo', '-redo'):
|
||||||
|
checkpoints[family + suffix] = STAGE / ('checkpoint-' + family + suffix)
|
||||||
|
checkpoints['creation-reopen'] = STAGE / 'checkpoint-creation-reopen'
|
||||||
|
before = {name: inventory(path) for name, path in checkpoints.items()}
|
||||||
|
artifacts = [record(p) for p in (
|
||||||
|
EXE, ROOT / 'harness/behavior-creation-contract.rs', Path(__file__),
|
||||||
|
STAGE / 'bin/arcadia-studio.exe', STAGE / 'bin/libunwind.dll',
|
||||||
|
STAGE / 'bin/manifest.json', STAGE / 'baseline-source-manifest.json',
|
||||||
|
STAGE / 'cancel-save-verification.json', STAGE / 'scenario-empty-saved.png',
|
||||||
|
STAGE / 'machine-created-saved.png')]
|
||||||
|
assert artifacts[0]['sha256'] == '056eefd444924916bf6ac3c4897ab2ff4a8a4bb892e1dbc16adad32e59bf6a36'
|
||||||
|
assert artifacts[1]['sha256'] == '51ab2ffa1826dd949b79f3a9690042a2f9e38daf9ed91517cade3861482117ba'
|
||||||
|
commands = [('self-check', ['self-check', entry(BASE)]),
|
||||||
|
('baseline', ['check', 'baseline', entry(BASE), entry(BASE), entry(BASE)])]
|
||||||
|
previous = BASE
|
||||||
|
for family in ('process', 'scenario', 'machine'):
|
||||||
|
first = checkpoints[family]
|
||||||
|
commands.extend([
|
||||||
|
(family, ['check', family, entry(BASE), entry(first), entry(first)]),
|
||||||
|
(family + '-undo', ['same', entry(previous), entry(checkpoints[family + '-undo']), entry(first)]),
|
||||||
|
(family + '-redo', ['check', family, entry(BASE), entry(checkpoints[family + '-redo']), entry(first)])])
|
||||||
|
previous = first
|
||||||
|
commands.extend([
|
||||||
|
('reopen-contract', ['check', 'machine', entry(BASE), entry(checkpoints['creation-reopen']), entry(checkpoints['machine'])]),
|
||||||
|
('reopen-exact-redo', ['same', entry(checkpoints['machine-redo']), entry(checkpoints['creation-reopen'])])])
|
||||||
|
env = os.environ.copy()
|
||||||
|
env['PATH'] = str(STAGE / 'bin') + os.pathsep + env.get('PATH', '')
|
||||||
|
started = datetime.datetime.now(datetime.timezone.utc).isoformat()
|
||||||
|
results = []
|
||||||
|
for label, args in commands:
|
||||||
|
t = time.perf_counter()
|
||||||
|
command = [str(EXE), *args]
|
||||||
|
run = subprocess.run(command, cwd=ROOT, env=env, capture_output=True, text=True, encoding='utf-8', errors='replace', timeout=60)
|
||||||
|
results.append({'label': label, 'command_argv': command, 'exit_code': run.returncode,
|
||||||
|
'elapsed_seconds': round(time.perf_counter() - t, 6),
|
||||||
|
'stdout': run.stdout, 'stderr': run.stderr})
|
||||||
|
after = {name: inventory(path) for name, path in checkpoints.items()}
|
||||||
|
redo_files = checkpoints['machine-redo']
|
||||||
|
reopen_files = checkpoints['creation-reopen']
|
||||||
|
same_names = set(before['machine-redo']) == set(before['creation-reopen'])
|
||||||
|
byte_results = {name: (redo_files / name).read_bytes() == (reopen_files / name).read_bytes()
|
||||||
|
for name in before['machine-redo'] if (reopen_files / name).is_file()}
|
||||||
|
success = (all(r['exit_code'] == 0 for r in results) and before == after
|
||||||
|
and same_names and all(byte_results.values()))
|
||||||
|
log = '\n\n'.join(f"[{r['label']}] argv={json.dumps(r['command_argv'])}\nexit={r['exit_code']} elapsed={r['elapsed_seconds']}s\nstdout:\n{r['stdout']}stderr:\n{r['stderr']}" for r in results)
|
||||||
|
(OUT / 'commands-results.log').write_text(log + '\n', encoding='utf-8', newline='\n')
|
||||||
|
manifest = {'reviewer': 'Codex-9e8r6t /root/palette_finish', 'started_utc': started,
|
||||||
|
'finished_utc': datetime.datetime.now(datetime.timezone.utc).isoformat(),
|
||||||
|
'scope': 'Frozen checkpoints only; no live work/profile/UI access or compilation.',
|
||||||
|
'artifacts': artifacts, 'checkpoints': {name: {'path': path.relative_to(ROOT).as_posix(), 'files': before[name]} for name, path in checkpoints.items()},
|
||||||
|
'commands': results, 'all_checkpoint_files_unchanged': before == after,
|
||||||
|
'machine_redo_reopen_inventory_equal': same_names,
|
||||||
|
'machine_redo_reopen_direct_byte_comparisons': byte_results,
|
||||||
|
'log': record(OUT / 'commands-results.log'), 'pass': success}
|
||||||
|
(OUT / 'manifest.json').write_text(json.dumps(manifest, indent=2) + '\n', encoding='utf-8', newline='\n')
|
||||||
|
print(json.dumps({'pass': success, 'commands_passed': sum(r['exit_code'] == 0 for r in results),
|
||||||
|
'commands_total': len(results), 'unchanged_checkpoints': before == after,
|
||||||
|
'reopen_exact_files': len(byte_results), 'manifest': record(OUT / 'manifest.json')}))
|
||||||
|
raise SystemExit(0 if success else 1)
|
||||||
@@ -0,0 +1,37 @@
|
|||||||
|
# Existing source-7 constructor defaults
|
||||||
|
|
||||||
|
Compatibility experiment, not proposed grammar. `probe.rs` imports only the
|
||||||
|
matching existing `oa_core` rlib; it performs no production or Cargo edits.
|
||||||
|
|
||||||
|
In a coordinated direct-rustc writer slot:
|
||||||
|
|
||||||
|
```powershell
|
||||||
|
. .local/toolchain/env.ps1
|
||||||
|
rustc --edition 2024 -D warnings --crate-name constructor_defaults_probe harness/experiments/constructor-defaults-20260911/probe.rs --extern oa_core=.local/target-gnullvm/debug/deps/liboa_core-3e81c616fea1d901.rlib -L dependency=.local/target-gnullvm/debug/deps -C linker=clang.exe -o .local/constructor-defaults-20260911/probe.exe
|
||||||
|
& .local/constructor-defaults-20260911/probe.exe NEW_ISOLATED_OUTPUT_DIRECTORY
|
||||||
|
```
|
||||||
|
|
||||||
|
Use a fresh output directory when reproducing so the committed evidence is not
|
||||||
|
overwritten. The rlib SHA256 is
|
||||||
|
`5018A1FD7286ED9DFEDCBBF5B68B399AD5D143F2A9AAAED3078CFC934C9589C4`.
|
||||||
|
The exact compiler, core source hashes, executable hash and result inventory
|
||||||
|
are in `provenance.json`.
|
||||||
|
|
||||||
|
`results/results.tsv` records **54 admitted explicit/omitted cases** and
|
||||||
|
**12 missing-required-field refusals**, covering both OA and SA source 7.
|
||||||
|
Every admitted occurrence is compared with a literal expected typed body and
|
||||||
|
the full explicit-case Project. It also requires exact source retention on
|
||||||
|
stabilization/no-op, a name-only patch retaining omissions, and canonical
|
||||||
|
format/reparse equality. Both scenario viewpoint omission cases separately
|
||||||
|
require MixedLegacy equality and canonical stability.
|
||||||
|
|
||||||
|
The `.canonical.arcadia` siblings intentionally expand hydrated defaults;
|
||||||
|
they are not expected to retain authored omission. Exchange `operation none`
|
||||||
|
is deliberately omitted by canonical serialization. Files named
|
||||||
|
`omit-bindings`, `omit-kind`, `omit-operator`, `omit-branches`, `omit-guard`, or
|
||||||
|
`omit-occurrences` are **expected invalid fixtures**, retained to show the
|
||||||
|
specific missing-field diagnostic. They are not modeling examples.
|
||||||
|
|
||||||
|
The program/result files are durable evidence. The compiled executable and
|
||||||
|
initial/final build logs remain in ignored `.local/constructor-defaults-20260911/`.
|
||||||
|
Other constructor families and old schema versions were not exhaustively tested.
|
||||||
@@ -0,0 +1,316 @@
|
|||||||
|
//! Existing source-7 admission experiment; imports no desktop producer.
|
||||||
|
use oa_core::{source_project::*, *};
|
||||||
|
use std::{fs, path::Path};
|
||||||
|
|
||||||
|
struct Case {
|
||||||
|
kind: &'static str,
|
||||||
|
fields: Vec<(&'static str, &'static str, bool)>,
|
||||||
|
expected: OccurrenceBody,
|
||||||
|
}
|
||||||
|
fn cases() -> Vec<Case> {
|
||||||
|
vec![
|
||||||
|
Case {
|
||||||
|
kind: "Exchange",
|
||||||
|
fields: vec![
|
||||||
|
("exchange", "none", false),
|
||||||
|
("sender", "none", false),
|
||||||
|
("receiver", "none", false),
|
||||||
|
("message_kind", "Asynchronous", false),
|
||||||
|
("reply_to", "none", false),
|
||||||
|
("values", "[]", false),
|
||||||
|
("operation", "none", false),
|
||||||
|
],
|
||||||
|
expected: OccurrenceBody::Exchange {
|
||||||
|
exchange: None,
|
||||||
|
sender: None,
|
||||||
|
receiver: None,
|
||||||
|
message_kind: MessageKind::Asynchronous,
|
||||||
|
reply_to: None,
|
||||||
|
values: vec![],
|
||||||
|
operation: None,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
Case {
|
||||||
|
kind: "Action",
|
||||||
|
fields: vec![("action", "none", false), ("lifeline", "none", false)],
|
||||||
|
expected: OccurrenceBody::Action {
|
||||||
|
action: None,
|
||||||
|
lifeline: None,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
Case {
|
||||||
|
kind: "State",
|
||||||
|
fields: vec![("state", "none", false), ("lifeline", "none", false)],
|
||||||
|
expected: OccurrenceBody::State {
|
||||||
|
state: None,
|
||||||
|
lifeline: None,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
Case {
|
||||||
|
kind: "SequenceReference",
|
||||||
|
fields: vec![("sequence", "none", false)],
|
||||||
|
expected: OccurrenceBody::SequenceReference { sequence: None },
|
||||||
|
},
|
||||||
|
Case {
|
||||||
|
kind: "ScenarioUse",
|
||||||
|
fields: vec![("scenario", "none", false), ("bindings", "[]", true)],
|
||||||
|
expected: OccurrenceBody::ScenarioUse {
|
||||||
|
scenario: None,
|
||||||
|
bindings: vec![],
|
||||||
|
},
|
||||||
|
},
|
||||||
|
Case {
|
||||||
|
kind: "Control",
|
||||||
|
fields: vec![("kind", "Choice", true)],
|
||||||
|
expected: OccurrenceBody::Control {
|
||||||
|
kind: ControlKind::Choice,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
Case {
|
||||||
|
kind: "Fragment",
|
||||||
|
fields: vec![("operator", "Alternative", true), ("branches", "[]", true)],
|
||||||
|
expected: OccurrenceBody::Fragment {
|
||||||
|
operator: FragmentOperator::Alternative,
|
||||||
|
branches: vec![],
|
||||||
|
},
|
||||||
|
},
|
||||||
|
Case {
|
||||||
|
kind: "Branch",
|
||||||
|
fields: vec![("guard", "\"\"", true), ("occurrences", "[]", true)],
|
||||||
|
expected: OccurrenceBody::Branch {
|
||||||
|
guard: String::new(),
|
||||||
|
occurrences: vec![],
|
||||||
|
},
|
||||||
|
},
|
||||||
|
]
|
||||||
|
}
|
||||||
|
fn id(last: u8) -> Id {
|
||||||
|
Id::parse_str(&format!("00000000-0000-4000-8000-{last:012}")).unwrap()
|
||||||
|
}
|
||||||
|
fn fixture(layer: Layer, kind: &str, fields: &str) -> String {
|
||||||
|
let prefix = if layer == Layer::Oa { "oa" } else { "sa" };
|
||||||
|
let sequence = if layer == Layer::Oa {
|
||||||
|
"oa_process"
|
||||||
|
} else {
|
||||||
|
"sa_functional_chain"
|
||||||
|
};
|
||||||
|
let viewpoint = if layer == Layer::Oa {
|
||||||
|
"OperationalActivity"
|
||||||
|
} else {
|
||||||
|
"Functional"
|
||||||
|
};
|
||||||
|
let root_sequence = matches!(
|
||||||
|
kind,
|
||||||
|
"Exchange" | "Action" | "Control" | "SequenceReference"
|
||||||
|
);
|
||||||
|
let owner_kind = if root_sequence {
|
||||||
|
sequence.to_owned()
|
||||||
|
} else {
|
||||||
|
format!("{prefix}_scenario")
|
||||||
|
};
|
||||||
|
let owner_view = if root_sequence {
|
||||||
|
String::new()
|
||||||
|
} else {
|
||||||
|
format!("viewpoint {viewpoint};")
|
||||||
|
};
|
||||||
|
let step = if kind == "Branch" {
|
||||||
|
"holder"
|
||||||
|
} else {
|
||||||
|
"subject"
|
||||||
|
};
|
||||||
|
let parent = if kind == "Branch" { "holder" } else { "owner" };
|
||||||
|
let holder = if kind == "Branch" {
|
||||||
|
format!(
|
||||||
|
"{prefix}_occurrence holder \"Fragment owner\" id \"{}\" {{ parent @owner; body {{ Fragment {{ operator Alternative; branches [@subject]; }}; }}; }}",
|
||||||
|
id(4)
|
||||||
|
)
|
||||||
|
} else {
|
||||||
|
String::new()
|
||||||
|
};
|
||||||
|
format!(
|
||||||
|
"arcadia 7;\nproject defaults \"Constructor defaults\" id \"{}\" {{\n {owner_kind} owner \"Owner\" id \"{}\" {{ {owner_view} steps [@{step}]; }}\n {holder}\n // Authored omissions must stay omitted through no-op and a name edit.\n {prefix}_occurrence subject \"Subject\" id \"{}\" {{ parent @{parent}; body {{ {kind} {{ {fields} }}; }}; }}\n}}\n",
|
||||||
|
id(1),
|
||||||
|
id(2),
|
||||||
|
id(3)
|
||||||
|
)
|
||||||
|
}
|
||||||
|
fn bundle(source: &str) -> SourceBundle {
|
||||||
|
SourceBundle {
|
||||||
|
entry: "project.arcadia".into(),
|
||||||
|
files: [("project.arcadia".into(), source.into())]
|
||||||
|
.into_iter()
|
||||||
|
.collect(),
|
||||||
|
}
|
||||||
|
}
|
||||||
|
fn compile(source: &str) -> Result<CompiledSourceProject, Vec<SourceDiagnostic>> {
|
||||||
|
compile_bundle(&bundle(source), ProjectLimits::default())
|
||||||
|
}
|
||||||
|
fn body(project: &Project) -> &OccurrenceBody {
|
||||||
|
let Some(SharedBody::Occurrence { body, .. }) = project.elements[&id(3)].shared() else {
|
||||||
|
panic!("Subject is not an occurrence")
|
||||||
|
};
|
||||||
|
body
|
||||||
|
}
|
||||||
|
fn accepted(out: &Path, name: &str, source: &str, expected: &Project) -> usize {
|
||||||
|
fs::write(out.join(format!("{name}.arcadia")), source).unwrap();
|
||||||
|
let compiled = compile(source).unwrap_or_else(|e| panic!("{name}: {e:?}"));
|
||||||
|
assert_eq!(
|
||||||
|
&compiled.decoded.project, expected,
|
||||||
|
"{name}: exact complete Project"
|
||||||
|
);
|
||||||
|
assert_eq!(
|
||||||
|
compiled.bundle,
|
||||||
|
bundle(source),
|
||||||
|
"{name}: explicit UUIDs need no stabilization edit"
|
||||||
|
);
|
||||||
|
execute_batch(expected, &[]).unwrap();
|
||||||
|
let noop = update_bundle(&compiled, expected, ProjectLimits::default()).unwrap();
|
||||||
|
assert_eq!(
|
||||||
|
noop.bundle, compiled.bundle,
|
||||||
|
"{name}: no-op preserves all authored omissions"
|
||||||
|
);
|
||||||
|
let renamed = execute_batch(
|
||||||
|
expected,
|
||||||
|
&[Command::Rename(id(3), "Renamed subject".into())],
|
||||||
|
)
|
||||||
|
.unwrap();
|
||||||
|
let edited = update_bundle(&compiled, &renamed, ProjectLimits::default()).unwrap();
|
||||||
|
assert_eq!(
|
||||||
|
edited.bundle,
|
||||||
|
bundle(&source.replace("\"Subject\"", "\"Renamed subject\"")),
|
||||||
|
"{name}: name-only edit preserves constructor spelling"
|
||||||
|
);
|
||||||
|
let canonical = language::format(expected);
|
||||||
|
fs::write(out.join(format!("{name}.canonical.arcadia")), &canonical).unwrap();
|
||||||
|
assert_eq!(
|
||||||
|
compile(&canonical).unwrap().decoded.project,
|
||||||
|
*expected,
|
||||||
|
"{name}: canonical roundtrip"
|
||||||
|
);
|
||||||
|
if matches!(
|
||||||
|
body(expected),
|
||||||
|
OccurrenceBody::Exchange {
|
||||||
|
operation: None,
|
||||||
|
..
|
||||||
|
}
|
||||||
|
) {
|
||||||
|
assert!(canonical.contains("message_kind Asynchronous;"));
|
||||||
|
assert!(canonical.contains("reply_to none;") && canonical.contains("values [];"));
|
||||||
|
assert!(
|
||||||
|
!canonical.contains("operation "),
|
||||||
|
"None operation is deliberately skipped by canonical serialization"
|
||||||
|
);
|
||||||
|
}
|
||||||
|
validation::validate(expected).len()
|
||||||
|
}
|
||||||
|
fn main() {
|
||||||
|
let out_arg = std::env::args().nth(1).expect("output directory");
|
||||||
|
let out = Path::new(&out_arg);
|
||||||
|
fs::create_dir_all(out).unwrap();
|
||||||
|
let mut rows = String::from("case\tlayer\tresult\tdetail\n");
|
||||||
|
let mut passes = 0;
|
||||||
|
let mut rejects = 0;
|
||||||
|
for layer in [Layer::Oa, Layer::Sa] {
|
||||||
|
for case in cases() {
|
||||||
|
let explicit_fields = case
|
||||||
|
.fields
|
||||||
|
.iter()
|
||||||
|
.map(|(name, value, _)| format!("{name} {value};"))
|
||||||
|
.collect::<Vec<_>>()
|
||||||
|
.join(" ");
|
||||||
|
let explicit = fixture(layer, case.kind, &explicit_fields);
|
||||||
|
let baseline = compile(&explicit)
|
||||||
|
.unwrap_or_else(|e| panic!("{layer} {} explicit: {e:?}", case.kind));
|
||||||
|
assert_eq!(body(&baseline.decoded.project), &case.expected);
|
||||||
|
let name = format!("{layer}-{}-explicit", case.kind);
|
||||||
|
let issues = accepted(out, &name, &explicit, &baseline.decoded.project);
|
||||||
|
rows.push_str(&format!("{name}\t{layer}\taccept\texact Project, raw/no-op/name/canonical; {issues} model issues\n"));
|
||||||
|
passes += 1;
|
||||||
|
for (omit, _, required) in &case.fields {
|
||||||
|
let fields = case
|
||||||
|
.fields
|
||||||
|
.iter()
|
||||||
|
.filter(|(field, _, _)| field != omit)
|
||||||
|
.map(|(field, value, _)| format!("{field} {value};"))
|
||||||
|
.collect::<Vec<_>>()
|
||||||
|
.join(" ");
|
||||||
|
let source = fixture(layer, case.kind, &fields);
|
||||||
|
let name = format!("{layer}-{}-omit-{omit}", case.kind);
|
||||||
|
if *required {
|
||||||
|
fs::write(out.join(format!("{name}.arcadia")), &source).unwrap();
|
||||||
|
let errors = compile(&source).expect_err("Required field omission must reject");
|
||||||
|
let detail = format!("{errors:?}");
|
||||||
|
assert!(
|
||||||
|
detail.contains("missing field") && detail.contains(omit),
|
||||||
|
"{name}: must fail on the missing constructor field: {detail}"
|
||||||
|
);
|
||||||
|
rows.push_str(&format!("{name}\t{layer}\treject\t{detail}\n"));
|
||||||
|
rejects += 1;
|
||||||
|
} else {
|
||||||
|
let issues = accepted(out, &name, &source, &baseline.decoded.project);
|
||||||
|
rows.push_str(&format!("{name}\t{layer}\taccept\texact Project, raw/no-op/name/canonical; {issues} model issues\n"));
|
||||||
|
passes += 1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if case.fields.iter().any(|(_, _, required)| !required) {
|
||||||
|
let fields = case
|
||||||
|
.fields
|
||||||
|
.iter()
|
||||||
|
.filter(|(_, _, required)| *required)
|
||||||
|
.map(|(field, value, _)| format!("{field} {value};"))
|
||||||
|
.collect::<Vec<_>>()
|
||||||
|
.join(" ");
|
||||||
|
let name = format!("{layer}-{}-omit-all-optional", case.kind);
|
||||||
|
let issues = accepted(
|
||||||
|
out,
|
||||||
|
&name,
|
||||||
|
&fixture(layer, case.kind, &fields),
|
||||||
|
&baseline.decoded.project,
|
||||||
|
);
|
||||||
|
rows.push_str(&format!("{name}\t{layer}\taccept\texact Project, raw/no-op/name/canonical; {issues} model issues\n"));
|
||||||
|
passes += 1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
let prefix = if layer == Layer::Oa { "oa" } else { "sa" };
|
||||||
|
let source = format!(
|
||||||
|
"arcadia 7;\nproject defaults \"Defaults\" id \"{}\" {{ {prefix}_scenario scene \"Scene\" id \"{}\" {{ }} }}\n",
|
||||||
|
id(1),
|
||||||
|
id(2)
|
||||||
|
);
|
||||||
|
let compiled = compile(&source).unwrap();
|
||||||
|
let explicit = source.replace("{ }", "{ viewpoint MixedLegacy; }");
|
||||||
|
assert_eq!(
|
||||||
|
compiled.decoded.project,
|
||||||
|
compile(&explicit).unwrap().decoded.project
|
||||||
|
);
|
||||||
|
assert_eq!(compiled.bundle, bundle(&source));
|
||||||
|
assert!(matches!(
|
||||||
|
compiled.decoded.project.elements[&id(2)].shared(),
|
||||||
|
Some(SharedBody::Scenario {
|
||||||
|
viewpoint: ScenarioViewpoint::MixedLegacy,
|
||||||
|
..
|
||||||
|
})
|
||||||
|
));
|
||||||
|
let canonical = language::format(&compiled.decoded.project);
|
||||||
|
assert_eq!(
|
||||||
|
compile(&canonical).unwrap().decoded.project,
|
||||||
|
compiled.decoded.project
|
||||||
|
);
|
||||||
|
fs::write(
|
||||||
|
out.join(format!("{layer}-scenario-viewpoint-omitted.arcadia")),
|
||||||
|
source,
|
||||||
|
)
|
||||||
|
.unwrap();
|
||||||
|
fs::write(
|
||||||
|
out.join(format!("{layer}-scenario-viewpoint-explicit.arcadia")),
|
||||||
|
explicit,
|
||||||
|
)
|
||||||
|
.unwrap();
|
||||||
|
rows.push_str(&format!("{layer}-scenario-viewpoint\t{layer}\taccept\texact MixedLegacy Project, retained omission, canonical roundtrip\n"));
|
||||||
|
passes += 1;
|
||||||
|
}
|
||||||
|
fs::write(out.join("results.tsv"), rows).unwrap();
|
||||||
|
println!(
|
||||||
|
"PASS: {passes} accepted explicit/omitted comparisons; {rejects} missing-required-field refusals; both source-7 layers. Full Project, canonical roundtrip, no-op and exact name-only source retention checked."
|
||||||
|
);
|
||||||
|
}
|
||||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,7 @@
|
|||||||
|
arcadia 7;
|
||||||
|
project defaults "Constructor defaults" id "00000000-0000-4000-8000-000000000001" {
|
||||||
|
oa_process owner "Owner" id "00000000-0000-4000-8000-000000000002" { steps [@subject]; }
|
||||||
|
|
||||||
|
// Authored omissions must stay omitted through no-op and a name edit.
|
||||||
|
oa_occurrence subject "Subject" id "00000000-0000-4000-8000-000000000003" { parent @owner; body { Action { action none; lifeline none; }; }; }
|
||||||
|
}
|
||||||
+24
@@ -0,0 +1,24 @@
|
|||||||
|
arcadia 7;
|
||||||
|
project defaults "Constructor defaults" id "00000000-0000-4000-8000-000000000001" {
|
||||||
|
description "";
|
||||||
|
|
||||||
|
oa_process owner "Owner" id "00000000-0000-4000-8000-000000000002" {
|
||||||
|
description "";
|
||||||
|
parent none;
|
||||||
|
steps [@subject];
|
||||||
|
}
|
||||||
|
|
||||||
|
oa_occurrence subject "Subject" id "00000000-0000-4000-8000-000000000003" {
|
||||||
|
body {
|
||||||
|
Action {
|
||||||
|
action none;
|
||||||
|
lifeline none;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
description "";
|
||||||
|
parent @owner;
|
||||||
|
postcondition "";
|
||||||
|
precondition "";
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
+7
@@ -0,0 +1,7 @@
|
|||||||
|
arcadia 7;
|
||||||
|
project defaults "Constructor defaults" id "00000000-0000-4000-8000-000000000001" {
|
||||||
|
oa_process owner "Owner" id "00000000-0000-4000-8000-000000000002" { steps [@subject]; }
|
||||||
|
|
||||||
|
// Authored omissions must stay omitted through no-op and a name edit.
|
||||||
|
oa_occurrence subject "Subject" id "00000000-0000-4000-8000-000000000003" { parent @owner; body { Action { lifeline none; }; }; }
|
||||||
|
}
|
||||||
+24
@@ -0,0 +1,24 @@
|
|||||||
|
arcadia 7;
|
||||||
|
project defaults "Constructor defaults" id "00000000-0000-4000-8000-000000000001" {
|
||||||
|
description "";
|
||||||
|
|
||||||
|
oa_process owner "Owner" id "00000000-0000-4000-8000-000000000002" {
|
||||||
|
description "";
|
||||||
|
parent none;
|
||||||
|
steps [@subject];
|
||||||
|
}
|
||||||
|
|
||||||
|
oa_occurrence subject "Subject" id "00000000-0000-4000-8000-000000000003" {
|
||||||
|
body {
|
||||||
|
Action {
|
||||||
|
action none;
|
||||||
|
lifeline none;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
description "";
|
||||||
|
parent @owner;
|
||||||
|
postcondition "";
|
||||||
|
precondition "";
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
+7
@@ -0,0 +1,7 @@
|
|||||||
|
arcadia 7;
|
||||||
|
project defaults "Constructor defaults" id "00000000-0000-4000-8000-000000000001" {
|
||||||
|
oa_process owner "Owner" id "00000000-0000-4000-8000-000000000002" { steps [@subject]; }
|
||||||
|
|
||||||
|
// Authored omissions must stay omitted through no-op and a name edit.
|
||||||
|
oa_occurrence subject "Subject" id "00000000-0000-4000-8000-000000000003" { parent @owner; body { Action { }; }; }
|
||||||
|
}
|
||||||
+24
@@ -0,0 +1,24 @@
|
|||||||
|
arcadia 7;
|
||||||
|
project defaults "Constructor defaults" id "00000000-0000-4000-8000-000000000001" {
|
||||||
|
description "";
|
||||||
|
|
||||||
|
oa_process owner "Owner" id "00000000-0000-4000-8000-000000000002" {
|
||||||
|
description "";
|
||||||
|
parent none;
|
||||||
|
steps [@subject];
|
||||||
|
}
|
||||||
|
|
||||||
|
oa_occurrence subject "Subject" id "00000000-0000-4000-8000-000000000003" {
|
||||||
|
body {
|
||||||
|
Action {
|
||||||
|
action none;
|
||||||
|
lifeline none;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
description "";
|
||||||
|
parent @owner;
|
||||||
|
postcondition "";
|
||||||
|
precondition "";
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
+7
@@ -0,0 +1,7 @@
|
|||||||
|
arcadia 7;
|
||||||
|
project defaults "Constructor defaults" id "00000000-0000-4000-8000-000000000001" {
|
||||||
|
oa_process owner "Owner" id "00000000-0000-4000-8000-000000000002" { steps [@subject]; }
|
||||||
|
|
||||||
|
// Authored omissions must stay omitted through no-op and a name edit.
|
||||||
|
oa_occurrence subject "Subject" id "00000000-0000-4000-8000-000000000003" { parent @owner; body { Action { action none; }; }; }
|
||||||
|
}
|
||||||
+24
@@ -0,0 +1,24 @@
|
|||||||
|
arcadia 7;
|
||||||
|
project defaults "Constructor defaults" id "00000000-0000-4000-8000-000000000001" {
|
||||||
|
description "";
|
||||||
|
|
||||||
|
oa_process owner "Owner" id "00000000-0000-4000-8000-000000000002" {
|
||||||
|
description "";
|
||||||
|
parent none;
|
||||||
|
steps [@subject];
|
||||||
|
}
|
||||||
|
|
||||||
|
oa_occurrence subject "Subject" id "00000000-0000-4000-8000-000000000003" {
|
||||||
|
body {
|
||||||
|
Action {
|
||||||
|
action none;
|
||||||
|
lifeline none;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
description "";
|
||||||
|
parent @owner;
|
||||||
|
postcondition "";
|
||||||
|
precondition "";
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,7 @@
|
|||||||
|
arcadia 7;
|
||||||
|
project defaults "Constructor defaults" id "00000000-0000-4000-8000-000000000001" {
|
||||||
|
oa_scenario owner "Owner" id "00000000-0000-4000-8000-000000000002" { viewpoint OperationalActivity; steps [@holder]; }
|
||||||
|
oa_occurrence holder "Fragment owner" id "00000000-0000-4000-8000-000000000004" { parent @owner; body { Fragment { operator Alternative; branches [@subject]; }; }; }
|
||||||
|
// Authored omissions must stay omitted through no-op and a name edit.
|
||||||
|
oa_occurrence subject "Subject" id "00000000-0000-4000-8000-000000000003" { parent @holder; body { Branch { guard ""; occurrences []; }; }; }
|
||||||
|
}
|
||||||
+41
@@ -0,0 +1,41 @@
|
|||||||
|
arcadia 7;
|
||||||
|
project defaults "Constructor defaults" id "00000000-0000-4000-8000-000000000001" {
|
||||||
|
description "";
|
||||||
|
|
||||||
|
oa_scenario owner "Owner" id "00000000-0000-4000-8000-000000000002" {
|
||||||
|
context none;
|
||||||
|
description "";
|
||||||
|
parent none;
|
||||||
|
postcondition "";
|
||||||
|
precondition "";
|
||||||
|
steps [@holder];
|
||||||
|
viewpoint OperationalActivity;
|
||||||
|
}
|
||||||
|
|
||||||
|
oa_occurrence subject "Subject" id "00000000-0000-4000-8000-000000000003" {
|
||||||
|
body {
|
||||||
|
Branch {
|
||||||
|
guard "";
|
||||||
|
occurrences [];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
description "";
|
||||||
|
parent @holder;
|
||||||
|
postcondition "";
|
||||||
|
precondition "";
|
||||||
|
}
|
||||||
|
|
||||||
|
oa_occurrence holder "Fragment owner" id "00000000-0000-4000-8000-000000000004" {
|
||||||
|
body {
|
||||||
|
Fragment {
|
||||||
|
branches [@subject];
|
||||||
|
operator Alternative;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
description "";
|
||||||
|
parent @owner;
|
||||||
|
postcondition "";
|
||||||
|
precondition "";
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,7 @@
|
|||||||
|
arcadia 7;
|
||||||
|
project defaults "Constructor defaults" id "00000000-0000-4000-8000-000000000001" {
|
||||||
|
oa_scenario owner "Owner" id "00000000-0000-4000-8000-000000000002" { viewpoint OperationalActivity; steps [@holder]; }
|
||||||
|
oa_occurrence holder "Fragment owner" id "00000000-0000-4000-8000-000000000004" { parent @owner; body { Fragment { operator Alternative; branches [@subject]; }; }; }
|
||||||
|
// Authored omissions must stay omitted through no-op and a name edit.
|
||||||
|
oa_occurrence subject "Subject" id "00000000-0000-4000-8000-000000000003" { parent @holder; body { Branch { occurrences []; }; }; }
|
||||||
|
}
|
||||||
+7
@@ -0,0 +1,7 @@
|
|||||||
|
arcadia 7;
|
||||||
|
project defaults "Constructor defaults" id "00000000-0000-4000-8000-000000000001" {
|
||||||
|
oa_scenario owner "Owner" id "00000000-0000-4000-8000-000000000002" { viewpoint OperationalActivity; steps [@holder]; }
|
||||||
|
oa_occurrence holder "Fragment owner" id "00000000-0000-4000-8000-000000000004" { parent @owner; body { Fragment { operator Alternative; branches [@subject]; }; }; }
|
||||||
|
// Authored omissions must stay omitted through no-op and a name edit.
|
||||||
|
oa_occurrence subject "Subject" id "00000000-0000-4000-8000-000000000003" { parent @holder; body { Branch { guard ""; }; }; }
|
||||||
|
}
|
||||||
@@ -0,0 +1,7 @@
|
|||||||
|
arcadia 7;
|
||||||
|
project defaults "Constructor defaults" id "00000000-0000-4000-8000-000000000001" {
|
||||||
|
oa_process owner "Owner" id "00000000-0000-4000-8000-000000000002" { steps [@subject]; }
|
||||||
|
|
||||||
|
// Authored omissions must stay omitted through no-op and a name edit.
|
||||||
|
oa_occurrence subject "Subject" id "00000000-0000-4000-8000-000000000003" { parent @owner; body { Control { kind Choice; }; }; }
|
||||||
|
}
|
||||||
+23
@@ -0,0 +1,23 @@
|
|||||||
|
arcadia 7;
|
||||||
|
project defaults "Constructor defaults" id "00000000-0000-4000-8000-000000000001" {
|
||||||
|
description "";
|
||||||
|
|
||||||
|
oa_process owner "Owner" id "00000000-0000-4000-8000-000000000002" {
|
||||||
|
description "";
|
||||||
|
parent none;
|
||||||
|
steps [@subject];
|
||||||
|
}
|
||||||
|
|
||||||
|
oa_occurrence subject "Subject" id "00000000-0000-4000-8000-000000000003" {
|
||||||
|
body {
|
||||||
|
Control {
|
||||||
|
kind Choice;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
description "";
|
||||||
|
parent @owner;
|
||||||
|
postcondition "";
|
||||||
|
precondition "";
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,7 @@
|
|||||||
|
arcadia 7;
|
||||||
|
project defaults "Constructor defaults" id "00000000-0000-4000-8000-000000000001" {
|
||||||
|
oa_process owner "Owner" id "00000000-0000-4000-8000-000000000002" { steps [@subject]; }
|
||||||
|
|
||||||
|
// Authored omissions must stay omitted through no-op and a name edit.
|
||||||
|
oa_occurrence subject "Subject" id "00000000-0000-4000-8000-000000000003" { parent @owner; body { Control { }; }; }
|
||||||
|
}
|
||||||
@@ -0,0 +1,7 @@
|
|||||||
|
arcadia 7;
|
||||||
|
project defaults "Constructor defaults" id "00000000-0000-4000-8000-000000000001" {
|
||||||
|
oa_process owner "Owner" id "00000000-0000-4000-8000-000000000002" { steps [@subject]; }
|
||||||
|
|
||||||
|
// Authored omissions must stay omitted through no-op and a name edit.
|
||||||
|
oa_occurrence subject "Subject" id "00000000-0000-4000-8000-000000000003" { parent @owner; body { Exchange { exchange none; sender none; receiver none; message_kind Asynchronous; reply_to none; values []; operation none; }; }; }
|
||||||
|
}
|
||||||
+28
@@ -0,0 +1,28 @@
|
|||||||
|
arcadia 7;
|
||||||
|
project defaults "Constructor defaults" id "00000000-0000-4000-8000-000000000001" {
|
||||||
|
description "";
|
||||||
|
|
||||||
|
oa_process owner "Owner" id "00000000-0000-4000-8000-000000000002" {
|
||||||
|
description "";
|
||||||
|
parent none;
|
||||||
|
steps [@subject];
|
||||||
|
}
|
||||||
|
|
||||||
|
oa_occurrence subject "Subject" id "00000000-0000-4000-8000-000000000003" {
|
||||||
|
body {
|
||||||
|
Exchange {
|
||||||
|
exchange none;
|
||||||
|
message_kind Asynchronous;
|
||||||
|
receiver none;
|
||||||
|
reply_to none;
|
||||||
|
sender none;
|
||||||
|
values [];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
description "";
|
||||||
|
parent @owner;
|
||||||
|
postcondition "";
|
||||||
|
precondition "";
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
+7
@@ -0,0 +1,7 @@
|
|||||||
|
arcadia 7;
|
||||||
|
project defaults "Constructor defaults" id "00000000-0000-4000-8000-000000000001" {
|
||||||
|
oa_process owner "Owner" id "00000000-0000-4000-8000-000000000002" { steps [@subject]; }
|
||||||
|
|
||||||
|
// Authored omissions must stay omitted through no-op and a name edit.
|
||||||
|
oa_occurrence subject "Subject" id "00000000-0000-4000-8000-000000000003" { parent @owner; body { Exchange { }; }; }
|
||||||
|
}
|
||||||
+28
@@ -0,0 +1,28 @@
|
|||||||
|
arcadia 7;
|
||||||
|
project defaults "Constructor defaults" id "00000000-0000-4000-8000-000000000001" {
|
||||||
|
description "";
|
||||||
|
|
||||||
|
oa_process owner "Owner" id "00000000-0000-4000-8000-000000000002" {
|
||||||
|
description "";
|
||||||
|
parent none;
|
||||||
|
steps [@subject];
|
||||||
|
}
|
||||||
|
|
||||||
|
oa_occurrence subject "Subject" id "00000000-0000-4000-8000-000000000003" {
|
||||||
|
body {
|
||||||
|
Exchange {
|
||||||
|
exchange none;
|
||||||
|
message_kind Asynchronous;
|
||||||
|
receiver none;
|
||||||
|
reply_to none;
|
||||||
|
sender none;
|
||||||
|
values [];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
description "";
|
||||||
|
parent @owner;
|
||||||
|
postcondition "";
|
||||||
|
precondition "";
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
+7
@@ -0,0 +1,7 @@
|
|||||||
|
arcadia 7;
|
||||||
|
project defaults "Constructor defaults" id "00000000-0000-4000-8000-000000000001" {
|
||||||
|
oa_process owner "Owner" id "00000000-0000-4000-8000-000000000002" { steps [@subject]; }
|
||||||
|
|
||||||
|
// Authored omissions must stay omitted through no-op and a name edit.
|
||||||
|
oa_occurrence subject "Subject" id "00000000-0000-4000-8000-000000000003" { parent @owner; body { Exchange { sender none; receiver none; message_kind Asynchronous; reply_to none; values []; operation none; }; }; }
|
||||||
|
}
|
||||||
+28
@@ -0,0 +1,28 @@
|
|||||||
|
arcadia 7;
|
||||||
|
project defaults "Constructor defaults" id "00000000-0000-4000-8000-000000000001" {
|
||||||
|
description "";
|
||||||
|
|
||||||
|
oa_process owner "Owner" id "00000000-0000-4000-8000-000000000002" {
|
||||||
|
description "";
|
||||||
|
parent none;
|
||||||
|
steps [@subject];
|
||||||
|
}
|
||||||
|
|
||||||
|
oa_occurrence subject "Subject" id "00000000-0000-4000-8000-000000000003" {
|
||||||
|
body {
|
||||||
|
Exchange {
|
||||||
|
exchange none;
|
||||||
|
message_kind Asynchronous;
|
||||||
|
receiver none;
|
||||||
|
reply_to none;
|
||||||
|
sender none;
|
||||||
|
values [];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
description "";
|
||||||
|
parent @owner;
|
||||||
|
postcondition "";
|
||||||
|
precondition "";
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
+7
@@ -0,0 +1,7 @@
|
|||||||
|
arcadia 7;
|
||||||
|
project defaults "Constructor defaults" id "00000000-0000-4000-8000-000000000001" {
|
||||||
|
oa_process owner "Owner" id "00000000-0000-4000-8000-000000000002" { steps [@subject]; }
|
||||||
|
|
||||||
|
// Authored omissions must stay omitted through no-op and a name edit.
|
||||||
|
oa_occurrence subject "Subject" id "00000000-0000-4000-8000-000000000003" { parent @owner; body { Exchange { exchange none; sender none; receiver none; reply_to none; values []; operation none; }; }; }
|
||||||
|
}
|
||||||
+28
@@ -0,0 +1,28 @@
|
|||||||
|
arcadia 7;
|
||||||
|
project defaults "Constructor defaults" id "00000000-0000-4000-8000-000000000001" {
|
||||||
|
description "";
|
||||||
|
|
||||||
|
oa_process owner "Owner" id "00000000-0000-4000-8000-000000000002" {
|
||||||
|
description "";
|
||||||
|
parent none;
|
||||||
|
steps [@subject];
|
||||||
|
}
|
||||||
|
|
||||||
|
oa_occurrence subject "Subject" id "00000000-0000-4000-8000-000000000003" {
|
||||||
|
body {
|
||||||
|
Exchange {
|
||||||
|
exchange none;
|
||||||
|
message_kind Asynchronous;
|
||||||
|
receiver none;
|
||||||
|
reply_to none;
|
||||||
|
sender none;
|
||||||
|
values [];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
description "";
|
||||||
|
parent @owner;
|
||||||
|
postcondition "";
|
||||||
|
precondition "";
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
+7
@@ -0,0 +1,7 @@
|
|||||||
|
arcadia 7;
|
||||||
|
project defaults "Constructor defaults" id "00000000-0000-4000-8000-000000000001" {
|
||||||
|
oa_process owner "Owner" id "00000000-0000-4000-8000-000000000002" { steps [@subject]; }
|
||||||
|
|
||||||
|
// Authored omissions must stay omitted through no-op and a name edit.
|
||||||
|
oa_occurrence subject "Subject" id "00000000-0000-4000-8000-000000000003" { parent @owner; body { Exchange { exchange none; sender none; receiver none; message_kind Asynchronous; reply_to none; values []; }; }; }
|
||||||
|
}
|
||||||
+28
@@ -0,0 +1,28 @@
|
|||||||
|
arcadia 7;
|
||||||
|
project defaults "Constructor defaults" id "00000000-0000-4000-8000-000000000001" {
|
||||||
|
description "";
|
||||||
|
|
||||||
|
oa_process owner "Owner" id "00000000-0000-4000-8000-000000000002" {
|
||||||
|
description "";
|
||||||
|
parent none;
|
||||||
|
steps [@subject];
|
||||||
|
}
|
||||||
|
|
||||||
|
oa_occurrence subject "Subject" id "00000000-0000-4000-8000-000000000003" {
|
||||||
|
body {
|
||||||
|
Exchange {
|
||||||
|
exchange none;
|
||||||
|
message_kind Asynchronous;
|
||||||
|
receiver none;
|
||||||
|
reply_to none;
|
||||||
|
sender none;
|
||||||
|
values [];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
description "";
|
||||||
|
parent @owner;
|
||||||
|
postcondition "";
|
||||||
|
precondition "";
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
+7
@@ -0,0 +1,7 @@
|
|||||||
|
arcadia 7;
|
||||||
|
project defaults "Constructor defaults" id "00000000-0000-4000-8000-000000000001" {
|
||||||
|
oa_process owner "Owner" id "00000000-0000-4000-8000-000000000002" { steps [@subject]; }
|
||||||
|
|
||||||
|
// Authored omissions must stay omitted through no-op and a name edit.
|
||||||
|
oa_occurrence subject "Subject" id "00000000-0000-4000-8000-000000000003" { parent @owner; body { Exchange { exchange none; sender none; message_kind Asynchronous; reply_to none; values []; operation none; }; }; }
|
||||||
|
}
|
||||||
+28
@@ -0,0 +1,28 @@
|
|||||||
|
arcadia 7;
|
||||||
|
project defaults "Constructor defaults" id "00000000-0000-4000-8000-000000000001" {
|
||||||
|
description "";
|
||||||
|
|
||||||
|
oa_process owner "Owner" id "00000000-0000-4000-8000-000000000002" {
|
||||||
|
description "";
|
||||||
|
parent none;
|
||||||
|
steps [@subject];
|
||||||
|
}
|
||||||
|
|
||||||
|
oa_occurrence subject "Subject" id "00000000-0000-4000-8000-000000000003" {
|
||||||
|
body {
|
||||||
|
Exchange {
|
||||||
|
exchange none;
|
||||||
|
message_kind Asynchronous;
|
||||||
|
receiver none;
|
||||||
|
reply_to none;
|
||||||
|
sender none;
|
||||||
|
values [];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
description "";
|
||||||
|
parent @owner;
|
||||||
|
postcondition "";
|
||||||
|
precondition "";
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
+7
@@ -0,0 +1,7 @@
|
|||||||
|
arcadia 7;
|
||||||
|
project defaults "Constructor defaults" id "00000000-0000-4000-8000-000000000001" {
|
||||||
|
oa_process owner "Owner" id "00000000-0000-4000-8000-000000000002" { steps [@subject]; }
|
||||||
|
|
||||||
|
// Authored omissions must stay omitted through no-op and a name edit.
|
||||||
|
oa_occurrence subject "Subject" id "00000000-0000-4000-8000-000000000003" { parent @owner; body { Exchange { exchange none; sender none; receiver none; message_kind Asynchronous; values []; operation none; }; }; }
|
||||||
|
}
|
||||||
+28
@@ -0,0 +1,28 @@
|
|||||||
|
arcadia 7;
|
||||||
|
project defaults "Constructor defaults" id "00000000-0000-4000-8000-000000000001" {
|
||||||
|
description "";
|
||||||
|
|
||||||
|
oa_process owner "Owner" id "00000000-0000-4000-8000-000000000002" {
|
||||||
|
description "";
|
||||||
|
parent none;
|
||||||
|
steps [@subject];
|
||||||
|
}
|
||||||
|
|
||||||
|
oa_occurrence subject "Subject" id "00000000-0000-4000-8000-000000000003" {
|
||||||
|
body {
|
||||||
|
Exchange {
|
||||||
|
exchange none;
|
||||||
|
message_kind Asynchronous;
|
||||||
|
receiver none;
|
||||||
|
reply_to none;
|
||||||
|
sender none;
|
||||||
|
values [];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
description "";
|
||||||
|
parent @owner;
|
||||||
|
postcondition "";
|
||||||
|
precondition "";
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
+7
@@ -0,0 +1,7 @@
|
|||||||
|
arcadia 7;
|
||||||
|
project defaults "Constructor defaults" id "00000000-0000-4000-8000-000000000001" {
|
||||||
|
oa_process owner "Owner" id "00000000-0000-4000-8000-000000000002" { steps [@subject]; }
|
||||||
|
|
||||||
|
// Authored omissions must stay omitted through no-op and a name edit.
|
||||||
|
oa_occurrence subject "Subject" id "00000000-0000-4000-8000-000000000003" { parent @owner; body { Exchange { exchange none; receiver none; message_kind Asynchronous; reply_to none; values []; operation none; }; }; }
|
||||||
|
}
|
||||||
+28
@@ -0,0 +1,28 @@
|
|||||||
|
arcadia 7;
|
||||||
|
project defaults "Constructor defaults" id "00000000-0000-4000-8000-000000000001" {
|
||||||
|
description "";
|
||||||
|
|
||||||
|
oa_process owner "Owner" id "00000000-0000-4000-8000-000000000002" {
|
||||||
|
description "";
|
||||||
|
parent none;
|
||||||
|
steps [@subject];
|
||||||
|
}
|
||||||
|
|
||||||
|
oa_occurrence subject "Subject" id "00000000-0000-4000-8000-000000000003" {
|
||||||
|
body {
|
||||||
|
Exchange {
|
||||||
|
exchange none;
|
||||||
|
message_kind Asynchronous;
|
||||||
|
receiver none;
|
||||||
|
reply_to none;
|
||||||
|
sender none;
|
||||||
|
values [];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
description "";
|
||||||
|
parent @owner;
|
||||||
|
postcondition "";
|
||||||
|
precondition "";
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
+7
@@ -0,0 +1,7 @@
|
|||||||
|
arcadia 7;
|
||||||
|
project defaults "Constructor defaults" id "00000000-0000-4000-8000-000000000001" {
|
||||||
|
oa_process owner "Owner" id "00000000-0000-4000-8000-000000000002" { steps [@subject]; }
|
||||||
|
|
||||||
|
// Authored omissions must stay omitted through no-op and a name edit.
|
||||||
|
oa_occurrence subject "Subject" id "00000000-0000-4000-8000-000000000003" { parent @owner; body { Exchange { exchange none; sender none; receiver none; message_kind Asynchronous; reply_to none; operation none; }; }; }
|
||||||
|
}
|
||||||
+28
@@ -0,0 +1,28 @@
|
|||||||
|
arcadia 7;
|
||||||
|
project defaults "Constructor defaults" id "00000000-0000-4000-8000-000000000001" {
|
||||||
|
description "";
|
||||||
|
|
||||||
|
oa_process owner "Owner" id "00000000-0000-4000-8000-000000000002" {
|
||||||
|
description "";
|
||||||
|
parent none;
|
||||||
|
steps [@subject];
|
||||||
|
}
|
||||||
|
|
||||||
|
oa_occurrence subject "Subject" id "00000000-0000-4000-8000-000000000003" {
|
||||||
|
body {
|
||||||
|
Exchange {
|
||||||
|
exchange none;
|
||||||
|
message_kind Asynchronous;
|
||||||
|
receiver none;
|
||||||
|
reply_to none;
|
||||||
|
sender none;
|
||||||
|
values [];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
description "";
|
||||||
|
parent @owner;
|
||||||
|
postcondition "";
|
||||||
|
precondition "";
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,7 @@
|
|||||||
|
arcadia 7;
|
||||||
|
project defaults "Constructor defaults" id "00000000-0000-4000-8000-000000000001" {
|
||||||
|
oa_scenario owner "Owner" id "00000000-0000-4000-8000-000000000002" { viewpoint OperationalActivity; steps [@subject]; }
|
||||||
|
|
||||||
|
// Authored omissions must stay omitted through no-op and a name edit.
|
||||||
|
oa_occurrence subject "Subject" id "00000000-0000-4000-8000-000000000003" { parent @owner; body { Fragment { operator Alternative; branches []; }; }; }
|
||||||
|
}
|
||||||
+28
@@ -0,0 +1,28 @@
|
|||||||
|
arcadia 7;
|
||||||
|
project defaults "Constructor defaults" id "00000000-0000-4000-8000-000000000001" {
|
||||||
|
description "";
|
||||||
|
|
||||||
|
oa_scenario owner "Owner" id "00000000-0000-4000-8000-000000000002" {
|
||||||
|
context none;
|
||||||
|
description "";
|
||||||
|
parent none;
|
||||||
|
postcondition "";
|
||||||
|
precondition "";
|
||||||
|
steps [@subject];
|
||||||
|
viewpoint OperationalActivity;
|
||||||
|
}
|
||||||
|
|
||||||
|
oa_occurrence subject "Subject" id "00000000-0000-4000-8000-000000000003" {
|
||||||
|
body {
|
||||||
|
Fragment {
|
||||||
|
branches [];
|
||||||
|
operator Alternative;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
description "";
|
||||||
|
parent @owner;
|
||||||
|
postcondition "";
|
||||||
|
precondition "";
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
+7
@@ -0,0 +1,7 @@
|
|||||||
|
arcadia 7;
|
||||||
|
project defaults "Constructor defaults" id "00000000-0000-4000-8000-000000000001" {
|
||||||
|
oa_scenario owner "Owner" id "00000000-0000-4000-8000-000000000002" { viewpoint OperationalActivity; steps [@subject]; }
|
||||||
|
|
||||||
|
// Authored omissions must stay omitted through no-op and a name edit.
|
||||||
|
oa_occurrence subject "Subject" id "00000000-0000-4000-8000-000000000003" { parent @owner; body { Fragment { operator Alternative; }; }; }
|
||||||
|
}
|
||||||
+7
@@ -0,0 +1,7 @@
|
|||||||
|
arcadia 7;
|
||||||
|
project defaults "Constructor defaults" id "00000000-0000-4000-8000-000000000001" {
|
||||||
|
oa_scenario owner "Owner" id "00000000-0000-4000-8000-000000000002" { viewpoint OperationalActivity; steps [@subject]; }
|
||||||
|
|
||||||
|
// Authored omissions must stay omitted through no-op and a name edit.
|
||||||
|
oa_occurrence subject "Subject" id "00000000-0000-4000-8000-000000000003" { parent @owner; body { Fragment { branches []; }; }; }
|
||||||
|
}
|
||||||
+7
@@ -0,0 +1,7 @@
|
|||||||
|
arcadia 7;
|
||||||
|
project defaults "Constructor defaults" id "00000000-0000-4000-8000-000000000001" {
|
||||||
|
oa_scenario owner "Owner" id "00000000-0000-4000-8000-000000000002" { viewpoint OperationalActivity; steps [@subject]; }
|
||||||
|
|
||||||
|
// Authored omissions must stay omitted through no-op and a name edit.
|
||||||
|
oa_occurrence subject "Subject" id "00000000-0000-4000-8000-000000000003" { parent @owner; body { ScenarioUse { scenario none; bindings []; }; }; }
|
||||||
|
}
|
||||||
+28
@@ -0,0 +1,28 @@
|
|||||||
|
arcadia 7;
|
||||||
|
project defaults "Constructor defaults" id "00000000-0000-4000-8000-000000000001" {
|
||||||
|
description "";
|
||||||
|
|
||||||
|
oa_scenario owner "Owner" id "00000000-0000-4000-8000-000000000002" {
|
||||||
|
context none;
|
||||||
|
description "";
|
||||||
|
parent none;
|
||||||
|
postcondition "";
|
||||||
|
precondition "";
|
||||||
|
steps [@subject];
|
||||||
|
viewpoint OperationalActivity;
|
||||||
|
}
|
||||||
|
|
||||||
|
oa_occurrence subject "Subject" id "00000000-0000-4000-8000-000000000003" {
|
||||||
|
body {
|
||||||
|
ScenarioUse {
|
||||||
|
bindings [];
|
||||||
|
scenario none;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
description "";
|
||||||
|
parent @owner;
|
||||||
|
postcondition "";
|
||||||
|
precondition "";
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
+7
@@ -0,0 +1,7 @@
|
|||||||
|
arcadia 7;
|
||||||
|
project defaults "Constructor defaults" id "00000000-0000-4000-8000-000000000001" {
|
||||||
|
oa_scenario owner "Owner" id "00000000-0000-4000-8000-000000000002" { viewpoint OperationalActivity; steps [@subject]; }
|
||||||
|
|
||||||
|
// Authored omissions must stay omitted through no-op and a name edit.
|
||||||
|
oa_occurrence subject "Subject" id "00000000-0000-4000-8000-000000000003" { parent @owner; body { ScenarioUse { bindings []; }; }; }
|
||||||
|
}
|
||||||
+28
@@ -0,0 +1,28 @@
|
|||||||
|
arcadia 7;
|
||||||
|
project defaults "Constructor defaults" id "00000000-0000-4000-8000-000000000001" {
|
||||||
|
description "";
|
||||||
|
|
||||||
|
oa_scenario owner "Owner" id "00000000-0000-4000-8000-000000000002" {
|
||||||
|
context none;
|
||||||
|
description "";
|
||||||
|
parent none;
|
||||||
|
postcondition "";
|
||||||
|
precondition "";
|
||||||
|
steps [@subject];
|
||||||
|
viewpoint OperationalActivity;
|
||||||
|
}
|
||||||
|
|
||||||
|
oa_occurrence subject "Subject" id "00000000-0000-4000-8000-000000000003" {
|
||||||
|
body {
|
||||||
|
ScenarioUse {
|
||||||
|
bindings [];
|
||||||
|
scenario none;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
description "";
|
||||||
|
parent @owner;
|
||||||
|
postcondition "";
|
||||||
|
precondition "";
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
+7
@@ -0,0 +1,7 @@
|
|||||||
|
arcadia 7;
|
||||||
|
project defaults "Constructor defaults" id "00000000-0000-4000-8000-000000000001" {
|
||||||
|
oa_scenario owner "Owner" id "00000000-0000-4000-8000-000000000002" { viewpoint OperationalActivity; steps [@subject]; }
|
||||||
|
|
||||||
|
// Authored omissions must stay omitted through no-op and a name edit.
|
||||||
|
oa_occurrence subject "Subject" id "00000000-0000-4000-8000-000000000003" { parent @owner; body { ScenarioUse { scenario none; }; }; }
|
||||||
|
}
|
||||||
+7
@@ -0,0 +1,7 @@
|
|||||||
|
arcadia 7;
|
||||||
|
project defaults "Constructor defaults" id "00000000-0000-4000-8000-000000000001" {
|
||||||
|
oa_scenario owner "Owner" id "00000000-0000-4000-8000-000000000002" { viewpoint OperationalActivity; steps [@subject]; }
|
||||||
|
|
||||||
|
// Authored omissions must stay omitted through no-op and a name edit.
|
||||||
|
oa_occurrence subject "Subject" id "00000000-0000-4000-8000-000000000003" { parent @owner; body { ScenarioUse { bindings []; }; }; }
|
||||||
|
}
|
||||||
+28
@@ -0,0 +1,28 @@
|
|||||||
|
arcadia 7;
|
||||||
|
project defaults "Constructor defaults" id "00000000-0000-4000-8000-000000000001" {
|
||||||
|
description "";
|
||||||
|
|
||||||
|
oa_scenario owner "Owner" id "00000000-0000-4000-8000-000000000002" {
|
||||||
|
context none;
|
||||||
|
description "";
|
||||||
|
parent none;
|
||||||
|
postcondition "";
|
||||||
|
precondition "";
|
||||||
|
steps [@subject];
|
||||||
|
viewpoint OperationalActivity;
|
||||||
|
}
|
||||||
|
|
||||||
|
oa_occurrence subject "Subject" id "00000000-0000-4000-8000-000000000003" {
|
||||||
|
body {
|
||||||
|
ScenarioUse {
|
||||||
|
bindings [];
|
||||||
|
scenario none;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
description "";
|
||||||
|
parent @owner;
|
||||||
|
postcondition "";
|
||||||
|
precondition "";
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
+7
@@ -0,0 +1,7 @@
|
|||||||
|
arcadia 7;
|
||||||
|
project defaults "Constructor defaults" id "00000000-0000-4000-8000-000000000001" {
|
||||||
|
oa_process owner "Owner" id "00000000-0000-4000-8000-000000000002" { steps [@subject]; }
|
||||||
|
|
||||||
|
// Authored omissions must stay omitted through no-op and a name edit.
|
||||||
|
oa_occurrence subject "Subject" id "00000000-0000-4000-8000-000000000003" { parent @owner; body { SequenceReference { sequence none; }; }; }
|
||||||
|
}
|
||||||
+23
@@ -0,0 +1,23 @@
|
|||||||
|
arcadia 7;
|
||||||
|
project defaults "Constructor defaults" id "00000000-0000-4000-8000-000000000001" {
|
||||||
|
description "";
|
||||||
|
|
||||||
|
oa_process owner "Owner" id "00000000-0000-4000-8000-000000000002" {
|
||||||
|
description "";
|
||||||
|
parent none;
|
||||||
|
steps [@subject];
|
||||||
|
}
|
||||||
|
|
||||||
|
oa_occurrence subject "Subject" id "00000000-0000-4000-8000-000000000003" {
|
||||||
|
body {
|
||||||
|
SequenceReference {
|
||||||
|
sequence none;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
description "";
|
||||||
|
parent @owner;
|
||||||
|
postcondition "";
|
||||||
|
precondition "";
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
+7
@@ -0,0 +1,7 @@
|
|||||||
|
arcadia 7;
|
||||||
|
project defaults "Constructor defaults" id "00000000-0000-4000-8000-000000000001" {
|
||||||
|
oa_process owner "Owner" id "00000000-0000-4000-8000-000000000002" { steps [@subject]; }
|
||||||
|
|
||||||
|
// Authored omissions must stay omitted through no-op and a name edit.
|
||||||
|
oa_occurrence subject "Subject" id "00000000-0000-4000-8000-000000000003" { parent @owner; body { SequenceReference { }; }; }
|
||||||
|
}
|
||||||
+23
@@ -0,0 +1,23 @@
|
|||||||
|
arcadia 7;
|
||||||
|
project defaults "Constructor defaults" id "00000000-0000-4000-8000-000000000001" {
|
||||||
|
description "";
|
||||||
|
|
||||||
|
oa_process owner "Owner" id "00000000-0000-4000-8000-000000000002" {
|
||||||
|
description "";
|
||||||
|
parent none;
|
||||||
|
steps [@subject];
|
||||||
|
}
|
||||||
|
|
||||||
|
oa_occurrence subject "Subject" id "00000000-0000-4000-8000-000000000003" {
|
||||||
|
body {
|
||||||
|
SequenceReference {
|
||||||
|
sequence none;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
description "";
|
||||||
|
parent @owner;
|
||||||
|
postcondition "";
|
||||||
|
precondition "";
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
+7
@@ -0,0 +1,7 @@
|
|||||||
|
arcadia 7;
|
||||||
|
project defaults "Constructor defaults" id "00000000-0000-4000-8000-000000000001" {
|
||||||
|
oa_process owner "Owner" id "00000000-0000-4000-8000-000000000002" { steps [@subject]; }
|
||||||
|
|
||||||
|
// Authored omissions must stay omitted through no-op and a name edit.
|
||||||
|
oa_occurrence subject "Subject" id "00000000-0000-4000-8000-000000000003" { parent @owner; body { SequenceReference { }; }; }
|
||||||
|
}
|
||||||
+23
@@ -0,0 +1,23 @@
|
|||||||
|
arcadia 7;
|
||||||
|
project defaults "Constructor defaults" id "00000000-0000-4000-8000-000000000001" {
|
||||||
|
description "";
|
||||||
|
|
||||||
|
oa_process owner "Owner" id "00000000-0000-4000-8000-000000000002" {
|
||||||
|
description "";
|
||||||
|
parent none;
|
||||||
|
steps [@subject];
|
||||||
|
}
|
||||||
|
|
||||||
|
oa_occurrence subject "Subject" id "00000000-0000-4000-8000-000000000003" {
|
||||||
|
body {
|
||||||
|
SequenceReference {
|
||||||
|
sequence none;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
description "";
|
||||||
|
parent @owner;
|
||||||
|
postcondition "";
|
||||||
|
precondition "";
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,7 @@
|
|||||||
|
arcadia 7;
|
||||||
|
project defaults "Constructor defaults" id "00000000-0000-4000-8000-000000000001" {
|
||||||
|
oa_scenario owner "Owner" id "00000000-0000-4000-8000-000000000002" { viewpoint OperationalActivity; steps [@subject]; }
|
||||||
|
|
||||||
|
// Authored omissions must stay omitted through no-op and a name edit.
|
||||||
|
oa_occurrence subject "Subject" id "00000000-0000-4000-8000-000000000003" { parent @owner; body { State { state none; lifeline none; }; }; }
|
||||||
|
}
|
||||||
+28
@@ -0,0 +1,28 @@
|
|||||||
|
arcadia 7;
|
||||||
|
project defaults "Constructor defaults" id "00000000-0000-4000-8000-000000000001" {
|
||||||
|
description "";
|
||||||
|
|
||||||
|
oa_scenario owner "Owner" id "00000000-0000-4000-8000-000000000002" {
|
||||||
|
context none;
|
||||||
|
description "";
|
||||||
|
parent none;
|
||||||
|
postcondition "";
|
||||||
|
precondition "";
|
||||||
|
steps [@subject];
|
||||||
|
viewpoint OperationalActivity;
|
||||||
|
}
|
||||||
|
|
||||||
|
oa_occurrence subject "Subject" id "00000000-0000-4000-8000-000000000003" {
|
||||||
|
body {
|
||||||
|
State {
|
||||||
|
lifeline none;
|
||||||
|
state none;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
description "";
|
||||||
|
parent @owner;
|
||||||
|
postcondition "";
|
||||||
|
precondition "";
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
+7
@@ -0,0 +1,7 @@
|
|||||||
|
arcadia 7;
|
||||||
|
project defaults "Constructor defaults" id "00000000-0000-4000-8000-000000000001" {
|
||||||
|
oa_scenario owner "Owner" id "00000000-0000-4000-8000-000000000002" { viewpoint OperationalActivity; steps [@subject]; }
|
||||||
|
|
||||||
|
// Authored omissions must stay omitted through no-op and a name edit.
|
||||||
|
oa_occurrence subject "Subject" id "00000000-0000-4000-8000-000000000003" { parent @owner; body { State { }; }; }
|
||||||
|
}
|
||||||
+28
@@ -0,0 +1,28 @@
|
|||||||
|
arcadia 7;
|
||||||
|
project defaults "Constructor defaults" id "00000000-0000-4000-8000-000000000001" {
|
||||||
|
description "";
|
||||||
|
|
||||||
|
oa_scenario owner "Owner" id "00000000-0000-4000-8000-000000000002" {
|
||||||
|
context none;
|
||||||
|
description "";
|
||||||
|
parent none;
|
||||||
|
postcondition "";
|
||||||
|
precondition "";
|
||||||
|
steps [@subject];
|
||||||
|
viewpoint OperationalActivity;
|
||||||
|
}
|
||||||
|
|
||||||
|
oa_occurrence subject "Subject" id "00000000-0000-4000-8000-000000000003" {
|
||||||
|
body {
|
||||||
|
State {
|
||||||
|
lifeline none;
|
||||||
|
state none;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
description "";
|
||||||
|
parent @owner;
|
||||||
|
postcondition "";
|
||||||
|
precondition "";
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
+7
@@ -0,0 +1,7 @@
|
|||||||
|
arcadia 7;
|
||||||
|
project defaults "Constructor defaults" id "00000000-0000-4000-8000-000000000001" {
|
||||||
|
oa_scenario owner "Owner" id "00000000-0000-4000-8000-000000000002" { viewpoint OperationalActivity; steps [@subject]; }
|
||||||
|
|
||||||
|
// Authored omissions must stay omitted through no-op and a name edit.
|
||||||
|
oa_occurrence subject "Subject" id "00000000-0000-4000-8000-000000000003" { parent @owner; body { State { state none; }; }; }
|
||||||
|
}
|
||||||
+28
@@ -0,0 +1,28 @@
|
|||||||
|
arcadia 7;
|
||||||
|
project defaults "Constructor defaults" id "00000000-0000-4000-8000-000000000001" {
|
||||||
|
description "";
|
||||||
|
|
||||||
|
oa_scenario owner "Owner" id "00000000-0000-4000-8000-000000000002" {
|
||||||
|
context none;
|
||||||
|
description "";
|
||||||
|
parent none;
|
||||||
|
postcondition "";
|
||||||
|
precondition "";
|
||||||
|
steps [@subject];
|
||||||
|
viewpoint OperationalActivity;
|
||||||
|
}
|
||||||
|
|
||||||
|
oa_occurrence subject "Subject" id "00000000-0000-4000-8000-000000000003" {
|
||||||
|
body {
|
||||||
|
State {
|
||||||
|
lifeline none;
|
||||||
|
state none;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
description "";
|
||||||
|
parent @owner;
|
||||||
|
postcondition "";
|
||||||
|
precondition "";
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,7 @@
|
|||||||
|
arcadia 7;
|
||||||
|
project defaults "Constructor defaults" id "00000000-0000-4000-8000-000000000001" {
|
||||||
|
oa_scenario owner "Owner" id "00000000-0000-4000-8000-000000000002" { viewpoint OperationalActivity; steps [@subject]; }
|
||||||
|
|
||||||
|
// Authored omissions must stay omitted through no-op and a name edit.
|
||||||
|
oa_occurrence subject "Subject" id "00000000-0000-4000-8000-000000000003" { parent @owner; body { State { lifeline none; }; }; }
|
||||||
|
}
|
||||||
+28
@@ -0,0 +1,28 @@
|
|||||||
|
arcadia 7;
|
||||||
|
project defaults "Constructor defaults" id "00000000-0000-4000-8000-000000000001" {
|
||||||
|
description "";
|
||||||
|
|
||||||
|
oa_scenario owner "Owner" id "00000000-0000-4000-8000-000000000002" {
|
||||||
|
context none;
|
||||||
|
description "";
|
||||||
|
parent none;
|
||||||
|
postcondition "";
|
||||||
|
precondition "";
|
||||||
|
steps [@subject];
|
||||||
|
viewpoint OperationalActivity;
|
||||||
|
}
|
||||||
|
|
||||||
|
oa_occurrence subject "Subject" id "00000000-0000-4000-8000-000000000003" {
|
||||||
|
body {
|
||||||
|
State {
|
||||||
|
lifeline none;
|
||||||
|
state none;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
description "";
|
||||||
|
parent @owner;
|
||||||
|
postcondition "";
|
||||||
|
precondition "";
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
+2
@@ -0,0 +1,2 @@
|
|||||||
|
arcadia 7;
|
||||||
|
project defaults "Defaults" id "00000000-0000-4000-8000-000000000001" { oa_scenario scene "Scene" id "00000000-0000-4000-8000-000000000002" { viewpoint MixedLegacy; } }
|
||||||
+2
@@ -0,0 +1,2 @@
|
|||||||
|
arcadia 7;
|
||||||
|
project defaults "Defaults" id "00000000-0000-4000-8000-000000000001" { oa_scenario scene "Scene" id "00000000-0000-4000-8000-000000000002" { } }
|
||||||
@@ -0,0 +1,7 @@
|
|||||||
|
arcadia 7;
|
||||||
|
project defaults "Constructor defaults" id "00000000-0000-4000-8000-000000000001" {
|
||||||
|
sa_functional_chain owner "Owner" id "00000000-0000-4000-8000-000000000002" { steps [@subject]; }
|
||||||
|
|
||||||
|
// Authored omissions must stay omitted through no-op and a name edit.
|
||||||
|
sa_occurrence subject "Subject" id "00000000-0000-4000-8000-000000000003" { parent @owner; body { Action { action none; lifeline none; }; }; }
|
||||||
|
}
|
||||||
+24
@@ -0,0 +1,24 @@
|
|||||||
|
arcadia 7;
|
||||||
|
project defaults "Constructor defaults" id "00000000-0000-4000-8000-000000000001" {
|
||||||
|
description "";
|
||||||
|
|
||||||
|
sa_functional_chain owner "Owner" id "00000000-0000-4000-8000-000000000002" {
|
||||||
|
description "";
|
||||||
|
parent none;
|
||||||
|
steps [@subject];
|
||||||
|
}
|
||||||
|
|
||||||
|
sa_occurrence subject "Subject" id "00000000-0000-4000-8000-000000000003" {
|
||||||
|
body {
|
||||||
|
Action {
|
||||||
|
action none;
|
||||||
|
lifeline none;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
description "";
|
||||||
|
parent @owner;
|
||||||
|
postcondition "";
|
||||||
|
precondition "";
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
+7
@@ -0,0 +1,7 @@
|
|||||||
|
arcadia 7;
|
||||||
|
project defaults "Constructor defaults" id "00000000-0000-4000-8000-000000000001" {
|
||||||
|
sa_functional_chain owner "Owner" id "00000000-0000-4000-8000-000000000002" { steps [@subject]; }
|
||||||
|
|
||||||
|
// Authored omissions must stay omitted through no-op and a name edit.
|
||||||
|
sa_occurrence subject "Subject" id "00000000-0000-4000-8000-000000000003" { parent @owner; body { Action { lifeline none; }; }; }
|
||||||
|
}
|
||||||
+24
@@ -0,0 +1,24 @@
|
|||||||
|
arcadia 7;
|
||||||
|
project defaults "Constructor defaults" id "00000000-0000-4000-8000-000000000001" {
|
||||||
|
description "";
|
||||||
|
|
||||||
|
sa_functional_chain owner "Owner" id "00000000-0000-4000-8000-000000000002" {
|
||||||
|
description "";
|
||||||
|
parent none;
|
||||||
|
steps [@subject];
|
||||||
|
}
|
||||||
|
|
||||||
|
sa_occurrence subject "Subject" id "00000000-0000-4000-8000-000000000003" {
|
||||||
|
body {
|
||||||
|
Action {
|
||||||
|
action none;
|
||||||
|
lifeline none;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
description "";
|
||||||
|
parent @owner;
|
||||||
|
postcondition "";
|
||||||
|
precondition "";
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
+7
@@ -0,0 +1,7 @@
|
|||||||
|
arcadia 7;
|
||||||
|
project defaults "Constructor defaults" id "00000000-0000-4000-8000-000000000001" {
|
||||||
|
sa_functional_chain owner "Owner" id "00000000-0000-4000-8000-000000000002" { steps [@subject]; }
|
||||||
|
|
||||||
|
// Authored omissions must stay omitted through no-op and a name edit.
|
||||||
|
sa_occurrence subject "Subject" id "00000000-0000-4000-8000-000000000003" { parent @owner; body { Action { }; }; }
|
||||||
|
}
|
||||||
+24
@@ -0,0 +1,24 @@
|
|||||||
|
arcadia 7;
|
||||||
|
project defaults "Constructor defaults" id "00000000-0000-4000-8000-000000000001" {
|
||||||
|
description "";
|
||||||
|
|
||||||
|
sa_functional_chain owner "Owner" id "00000000-0000-4000-8000-000000000002" {
|
||||||
|
description "";
|
||||||
|
parent none;
|
||||||
|
steps [@subject];
|
||||||
|
}
|
||||||
|
|
||||||
|
sa_occurrence subject "Subject" id "00000000-0000-4000-8000-000000000003" {
|
||||||
|
body {
|
||||||
|
Action {
|
||||||
|
action none;
|
||||||
|
lifeline none;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
description "";
|
||||||
|
parent @owner;
|
||||||
|
postcondition "";
|
||||||
|
precondition "";
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
+7
@@ -0,0 +1,7 @@
|
|||||||
|
arcadia 7;
|
||||||
|
project defaults "Constructor defaults" id "00000000-0000-4000-8000-000000000001" {
|
||||||
|
sa_functional_chain owner "Owner" id "00000000-0000-4000-8000-000000000002" { steps [@subject]; }
|
||||||
|
|
||||||
|
// Authored omissions must stay omitted through no-op and a name edit.
|
||||||
|
sa_occurrence subject "Subject" id "00000000-0000-4000-8000-000000000003" { parent @owner; body { Action { action none; }; }; }
|
||||||
|
}
|
||||||
+24
@@ -0,0 +1,24 @@
|
|||||||
|
arcadia 7;
|
||||||
|
project defaults "Constructor defaults" id "00000000-0000-4000-8000-000000000001" {
|
||||||
|
description "";
|
||||||
|
|
||||||
|
sa_functional_chain owner "Owner" id "00000000-0000-4000-8000-000000000002" {
|
||||||
|
description "";
|
||||||
|
parent none;
|
||||||
|
steps [@subject];
|
||||||
|
}
|
||||||
|
|
||||||
|
sa_occurrence subject "Subject" id "00000000-0000-4000-8000-000000000003" {
|
||||||
|
body {
|
||||||
|
Action {
|
||||||
|
action none;
|
||||||
|
lifeline none;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
description "";
|
||||||
|
parent @owner;
|
||||||
|
postcondition "";
|
||||||
|
precondition "";
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,7 @@
|
|||||||
|
arcadia 7;
|
||||||
|
project defaults "Constructor defaults" id "00000000-0000-4000-8000-000000000001" {
|
||||||
|
sa_scenario owner "Owner" id "00000000-0000-4000-8000-000000000002" { viewpoint Functional; steps [@holder]; }
|
||||||
|
sa_occurrence holder "Fragment owner" id "00000000-0000-4000-8000-000000000004" { parent @owner; body { Fragment { operator Alternative; branches [@subject]; }; }; }
|
||||||
|
// Authored omissions must stay omitted through no-op and a name edit.
|
||||||
|
sa_occurrence subject "Subject" id "00000000-0000-4000-8000-000000000003" { parent @holder; body { Branch { guard ""; occurrences []; }; }; }
|
||||||
|
}
|
||||||
+41
@@ -0,0 +1,41 @@
|
|||||||
|
arcadia 7;
|
||||||
|
project defaults "Constructor defaults" id "00000000-0000-4000-8000-000000000001" {
|
||||||
|
description "";
|
||||||
|
|
||||||
|
sa_scenario owner "Owner" id "00000000-0000-4000-8000-000000000002" {
|
||||||
|
context none;
|
||||||
|
description "";
|
||||||
|
parent none;
|
||||||
|
postcondition "";
|
||||||
|
precondition "";
|
||||||
|
steps [@holder];
|
||||||
|
viewpoint Functional;
|
||||||
|
}
|
||||||
|
|
||||||
|
sa_occurrence subject "Subject" id "00000000-0000-4000-8000-000000000003" {
|
||||||
|
body {
|
||||||
|
Branch {
|
||||||
|
guard "";
|
||||||
|
occurrences [];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
description "";
|
||||||
|
parent @holder;
|
||||||
|
postcondition "";
|
||||||
|
precondition "";
|
||||||
|
}
|
||||||
|
|
||||||
|
sa_occurrence holder "Fragment owner" id "00000000-0000-4000-8000-000000000004" {
|
||||||
|
body {
|
||||||
|
Fragment {
|
||||||
|
branches [@subject];
|
||||||
|
operator Alternative;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
description "";
|
||||||
|
parent @owner;
|
||||||
|
postcondition "";
|
||||||
|
precondition "";
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,7 @@
|
|||||||
|
arcadia 7;
|
||||||
|
project defaults "Constructor defaults" id "00000000-0000-4000-8000-000000000001" {
|
||||||
|
sa_scenario owner "Owner" id "00000000-0000-4000-8000-000000000002" { viewpoint Functional; steps [@holder]; }
|
||||||
|
sa_occurrence holder "Fragment owner" id "00000000-0000-4000-8000-000000000004" { parent @owner; body { Fragment { operator Alternative; branches [@subject]; }; }; }
|
||||||
|
// Authored omissions must stay omitted through no-op and a name edit.
|
||||||
|
sa_occurrence subject "Subject" id "00000000-0000-4000-8000-000000000003" { parent @holder; body { Branch { occurrences []; }; }; }
|
||||||
|
}
|
||||||
+7
@@ -0,0 +1,7 @@
|
|||||||
|
arcadia 7;
|
||||||
|
project defaults "Constructor defaults" id "00000000-0000-4000-8000-000000000001" {
|
||||||
|
sa_scenario owner "Owner" id "00000000-0000-4000-8000-000000000002" { viewpoint Functional; steps [@holder]; }
|
||||||
|
sa_occurrence holder "Fragment owner" id "00000000-0000-4000-8000-000000000004" { parent @owner; body { Fragment { operator Alternative; branches [@subject]; }; }; }
|
||||||
|
// Authored omissions must stay omitted through no-op and a name edit.
|
||||||
|
sa_occurrence subject "Subject" id "00000000-0000-4000-8000-000000000003" { parent @holder; body { Branch { guard ""; }; }; }
|
||||||
|
}
|
||||||
@@ -0,0 +1,7 @@
|
|||||||
|
arcadia 7;
|
||||||
|
project defaults "Constructor defaults" id "00000000-0000-4000-8000-000000000001" {
|
||||||
|
sa_functional_chain owner "Owner" id "00000000-0000-4000-8000-000000000002" { steps [@subject]; }
|
||||||
|
|
||||||
|
// Authored omissions must stay omitted through no-op and a name edit.
|
||||||
|
sa_occurrence subject "Subject" id "00000000-0000-4000-8000-000000000003" { parent @owner; body { Control { kind Choice; }; }; }
|
||||||
|
}
|
||||||
+23
@@ -0,0 +1,23 @@
|
|||||||
|
arcadia 7;
|
||||||
|
project defaults "Constructor defaults" id "00000000-0000-4000-8000-000000000001" {
|
||||||
|
description "";
|
||||||
|
|
||||||
|
sa_functional_chain owner "Owner" id "00000000-0000-4000-8000-000000000002" {
|
||||||
|
description "";
|
||||||
|
parent none;
|
||||||
|
steps [@subject];
|
||||||
|
}
|
||||||
|
|
||||||
|
sa_occurrence subject "Subject" id "00000000-0000-4000-8000-000000000003" {
|
||||||
|
body {
|
||||||
|
Control {
|
||||||
|
kind Choice;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
description "";
|
||||||
|
parent @owner;
|
||||||
|
postcondition "";
|
||||||
|
precondition "";
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,7 @@
|
|||||||
|
arcadia 7;
|
||||||
|
project defaults "Constructor defaults" id "00000000-0000-4000-8000-000000000001" {
|
||||||
|
sa_functional_chain owner "Owner" id "00000000-0000-4000-8000-000000000002" { steps [@subject]; }
|
||||||
|
|
||||||
|
// Authored omissions must stay omitted through no-op and a name edit.
|
||||||
|
sa_occurrence subject "Subject" id "00000000-0000-4000-8000-000000000003" { parent @owner; body { Control { }; }; }
|
||||||
|
}
|
||||||
@@ -0,0 +1,7 @@
|
|||||||
|
arcadia 7;
|
||||||
|
project defaults "Constructor defaults" id "00000000-0000-4000-8000-000000000001" {
|
||||||
|
sa_functional_chain owner "Owner" id "00000000-0000-4000-8000-000000000002" { steps [@subject]; }
|
||||||
|
|
||||||
|
// Authored omissions must stay omitted through no-op and a name edit.
|
||||||
|
sa_occurrence subject "Subject" id "00000000-0000-4000-8000-000000000003" { parent @owner; body { Exchange { exchange none; sender none; receiver none; message_kind Asynchronous; reply_to none; values []; operation none; }; }; }
|
||||||
|
}
|
||||||
+28
@@ -0,0 +1,28 @@
|
|||||||
|
arcadia 7;
|
||||||
|
project defaults "Constructor defaults" id "00000000-0000-4000-8000-000000000001" {
|
||||||
|
description "";
|
||||||
|
|
||||||
|
sa_functional_chain owner "Owner" id "00000000-0000-4000-8000-000000000002" {
|
||||||
|
description "";
|
||||||
|
parent none;
|
||||||
|
steps [@subject];
|
||||||
|
}
|
||||||
|
|
||||||
|
sa_occurrence subject "Subject" id "00000000-0000-4000-8000-000000000003" {
|
||||||
|
body {
|
||||||
|
Exchange {
|
||||||
|
exchange none;
|
||||||
|
message_kind Asynchronous;
|
||||||
|
receiver none;
|
||||||
|
reply_to none;
|
||||||
|
sender none;
|
||||||
|
values [];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
description "";
|
||||||
|
parent @owner;
|
||||||
|
postcondition "";
|
||||||
|
precondition "";
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
+7
@@ -0,0 +1,7 @@
|
|||||||
|
arcadia 7;
|
||||||
|
project defaults "Constructor defaults" id "00000000-0000-4000-8000-000000000001" {
|
||||||
|
sa_functional_chain owner "Owner" id "00000000-0000-4000-8000-000000000002" { steps [@subject]; }
|
||||||
|
|
||||||
|
// Authored omissions must stay omitted through no-op and a name edit.
|
||||||
|
sa_occurrence subject "Subject" id "00000000-0000-4000-8000-000000000003" { parent @owner; body { Exchange { }; }; }
|
||||||
|
}
|
||||||
+28
@@ -0,0 +1,28 @@
|
|||||||
|
arcadia 7;
|
||||||
|
project defaults "Constructor defaults" id "00000000-0000-4000-8000-000000000001" {
|
||||||
|
description "";
|
||||||
|
|
||||||
|
sa_functional_chain owner "Owner" id "00000000-0000-4000-8000-000000000002" {
|
||||||
|
description "";
|
||||||
|
parent none;
|
||||||
|
steps [@subject];
|
||||||
|
}
|
||||||
|
|
||||||
|
sa_occurrence subject "Subject" id "00000000-0000-4000-8000-000000000003" {
|
||||||
|
body {
|
||||||
|
Exchange {
|
||||||
|
exchange none;
|
||||||
|
message_kind Asynchronous;
|
||||||
|
receiver none;
|
||||||
|
reply_to none;
|
||||||
|
sender none;
|
||||||
|
values [];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
description "";
|
||||||
|
parent @owner;
|
||||||
|
postcondition "";
|
||||||
|
precondition "";
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
+7
@@ -0,0 +1,7 @@
|
|||||||
|
arcadia 7;
|
||||||
|
project defaults "Constructor defaults" id "00000000-0000-4000-8000-000000000001" {
|
||||||
|
sa_functional_chain owner "Owner" id "00000000-0000-4000-8000-000000000002" { steps [@subject]; }
|
||||||
|
|
||||||
|
// Authored omissions must stay omitted through no-op and a name edit.
|
||||||
|
sa_occurrence subject "Subject" id "00000000-0000-4000-8000-000000000003" { parent @owner; body { Exchange { sender none; receiver none; message_kind Asynchronous; reply_to none; values []; operation none; }; }; }
|
||||||
|
}
|
||||||
+28
@@ -0,0 +1,28 @@
|
|||||||
|
arcadia 7;
|
||||||
|
project defaults "Constructor defaults" id "00000000-0000-4000-8000-000000000001" {
|
||||||
|
description "";
|
||||||
|
|
||||||
|
sa_functional_chain owner "Owner" id "00000000-0000-4000-8000-000000000002" {
|
||||||
|
description "";
|
||||||
|
parent none;
|
||||||
|
steps [@subject];
|
||||||
|
}
|
||||||
|
|
||||||
|
sa_occurrence subject "Subject" id "00000000-0000-4000-8000-000000000003" {
|
||||||
|
body {
|
||||||
|
Exchange {
|
||||||
|
exchange none;
|
||||||
|
message_kind Asynchronous;
|
||||||
|
receiver none;
|
||||||
|
reply_to none;
|
||||||
|
sender none;
|
||||||
|
values [];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
description "";
|
||||||
|
parent @owner;
|
||||||
|
postcondition "";
|
||||||
|
precondition "";
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
+7
@@ -0,0 +1,7 @@
|
|||||||
|
arcadia 7;
|
||||||
|
project defaults "Constructor defaults" id "00000000-0000-4000-8000-000000000001" {
|
||||||
|
sa_functional_chain owner "Owner" id "00000000-0000-4000-8000-000000000002" { steps [@subject]; }
|
||||||
|
|
||||||
|
// Authored omissions must stay omitted through no-op and a name edit.
|
||||||
|
sa_occurrence subject "Subject" id "00000000-0000-4000-8000-000000000003" { parent @owner; body { Exchange { exchange none; sender none; receiver none; reply_to none; values []; operation none; }; }; }
|
||||||
|
}
|
||||||
+28
@@ -0,0 +1,28 @@
|
|||||||
|
arcadia 7;
|
||||||
|
project defaults "Constructor defaults" id "00000000-0000-4000-8000-000000000001" {
|
||||||
|
description "";
|
||||||
|
|
||||||
|
sa_functional_chain owner "Owner" id "00000000-0000-4000-8000-000000000002" {
|
||||||
|
description "";
|
||||||
|
parent none;
|
||||||
|
steps [@subject];
|
||||||
|
}
|
||||||
|
|
||||||
|
sa_occurrence subject "Subject" id "00000000-0000-4000-8000-000000000003" {
|
||||||
|
body {
|
||||||
|
Exchange {
|
||||||
|
exchange none;
|
||||||
|
message_kind Asynchronous;
|
||||||
|
receiver none;
|
||||||
|
reply_to none;
|
||||||
|
sender none;
|
||||||
|
values [];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
description "";
|
||||||
|
parent @owner;
|
||||||
|
postcondition "";
|
||||||
|
precondition "";
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
+7
@@ -0,0 +1,7 @@
|
|||||||
|
arcadia 7;
|
||||||
|
project defaults "Constructor defaults" id "00000000-0000-4000-8000-000000000001" {
|
||||||
|
sa_functional_chain owner "Owner" id "00000000-0000-4000-8000-000000000002" { steps [@subject]; }
|
||||||
|
|
||||||
|
// Authored omissions must stay omitted through no-op and a name edit.
|
||||||
|
sa_occurrence subject "Subject" id "00000000-0000-4000-8000-000000000003" { parent @owner; body { Exchange { exchange none; sender none; receiver none; message_kind Asynchronous; reply_to none; values []; }; }; }
|
||||||
|
}
|
||||||
+28
@@ -0,0 +1,28 @@
|
|||||||
|
arcadia 7;
|
||||||
|
project defaults "Constructor defaults" id "00000000-0000-4000-8000-000000000001" {
|
||||||
|
description "";
|
||||||
|
|
||||||
|
sa_functional_chain owner "Owner" id "00000000-0000-4000-8000-000000000002" {
|
||||||
|
description "";
|
||||||
|
parent none;
|
||||||
|
steps [@subject];
|
||||||
|
}
|
||||||
|
|
||||||
|
sa_occurrence subject "Subject" id "00000000-0000-4000-8000-000000000003" {
|
||||||
|
body {
|
||||||
|
Exchange {
|
||||||
|
exchange none;
|
||||||
|
message_kind Asynchronous;
|
||||||
|
receiver none;
|
||||||
|
reply_to none;
|
||||||
|
sender none;
|
||||||
|
values [];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
description "";
|
||||||
|
parent @owner;
|
||||||
|
postcondition "";
|
||||||
|
precondition "";
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
+7
@@ -0,0 +1,7 @@
|
|||||||
|
arcadia 7;
|
||||||
|
project defaults "Constructor defaults" id "00000000-0000-4000-8000-000000000001" {
|
||||||
|
sa_functional_chain owner "Owner" id "00000000-0000-4000-8000-000000000002" { steps [@subject]; }
|
||||||
|
|
||||||
|
// Authored omissions must stay omitted through no-op and a name edit.
|
||||||
|
sa_occurrence subject "Subject" id "00000000-0000-4000-8000-000000000003" { parent @owner; body { Exchange { exchange none; sender none; message_kind Asynchronous; reply_to none; values []; operation none; }; }; }
|
||||||
|
}
|
||||||
+28
@@ -0,0 +1,28 @@
|
|||||||
|
arcadia 7;
|
||||||
|
project defaults "Constructor defaults" id "00000000-0000-4000-8000-000000000001" {
|
||||||
|
description "";
|
||||||
|
|
||||||
|
sa_functional_chain owner "Owner" id "00000000-0000-4000-8000-000000000002" {
|
||||||
|
description "";
|
||||||
|
parent none;
|
||||||
|
steps [@subject];
|
||||||
|
}
|
||||||
|
|
||||||
|
sa_occurrence subject "Subject" id "00000000-0000-4000-8000-000000000003" {
|
||||||
|
body {
|
||||||
|
Exchange {
|
||||||
|
exchange none;
|
||||||
|
message_kind Asynchronous;
|
||||||
|
receiver none;
|
||||||
|
reply_to none;
|
||||||
|
sender none;
|
||||||
|
values [];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
description "";
|
||||||
|
parent @owner;
|
||||||
|
postcondition "";
|
||||||
|
precondition "";
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
+7
@@ -0,0 +1,7 @@
|
|||||||
|
arcadia 7;
|
||||||
|
project defaults "Constructor defaults" id "00000000-0000-4000-8000-000000000001" {
|
||||||
|
sa_functional_chain owner "Owner" id "00000000-0000-4000-8000-000000000002" { steps [@subject]; }
|
||||||
|
|
||||||
|
// Authored omissions must stay omitted through no-op and a name edit.
|
||||||
|
sa_occurrence subject "Subject" id "00000000-0000-4000-8000-000000000003" { parent @owner; body { Exchange { exchange none; sender none; receiver none; message_kind Asynchronous; values []; operation none; }; }; }
|
||||||
|
}
|
||||||
+28
@@ -0,0 +1,28 @@
|
|||||||
|
arcadia 7;
|
||||||
|
project defaults "Constructor defaults" id "00000000-0000-4000-8000-000000000001" {
|
||||||
|
description "";
|
||||||
|
|
||||||
|
sa_functional_chain owner "Owner" id "00000000-0000-4000-8000-000000000002" {
|
||||||
|
description "";
|
||||||
|
parent none;
|
||||||
|
steps [@subject];
|
||||||
|
}
|
||||||
|
|
||||||
|
sa_occurrence subject "Subject" id "00000000-0000-4000-8000-000000000003" {
|
||||||
|
body {
|
||||||
|
Exchange {
|
||||||
|
exchange none;
|
||||||
|
message_kind Asynchronous;
|
||||||
|
receiver none;
|
||||||
|
reply_to none;
|
||||||
|
sender none;
|
||||||
|
values [];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
description "";
|
||||||
|
parent @owner;
|
||||||
|
postcondition "";
|
||||||
|
precondition "";
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user