diff --git a/.gitattributes b/.gitattributes index d91c1543..5ba8e76c 100644 --- a/.gitattributes +++ b/.gitattributes @@ -80,3 +80,4 @@ harness/experiments/runtime-notices-20260913/** -text whitespace=-blank-at-eol,- harness/experiments/analysis-checked-save-windows-20260913/** -text whitespace=-blank-at-eol,-blank-at-eof,cr-at-eol harness/experiments/canvas-native-dd39e1f-20260913/** -text whitespace=-blank-at-eol,-blank-at-eof,cr-at-eol harness/experiments/navigation-palette-e124029-windows-20260913/** -text whitespace=-blank-at-eol,-blank-at-eof,cr-at-eol +harness/experiments/navigation-native-preparation-e124029-20260913/** -text whitespace=-blank-at-eol,-blank-at-eof,cr-at-eol diff --git a/harness/STATE.md b/harness/STATE.md index ea508c68..8fc1d6e6 100644 --- a/harness/STATE.md +++ b/harness/STATE.md @@ -17,6 +17,11 @@ listing,17 cross-feature tests,4 mounted preview-scroll tests and strict all-tar Clippy pass on578 unchanged inputs. Combined full-suite, GUI/native and package acceptance are not established; a shared Find Close selection defect remains an explicit acceptance concern. [Exact partial evidence](release-navigation-palette-e124029-windows-20260913.md). +The matching core comparator and migrated fixtures pass their bounded preparation +checks, including an independently specified six-token rename. The original +migration-evaluator failure and its correction are preserved in +[preparation evidence](release-navigation-native-preparation-20260913.md); these +results do not establish GUI editing or save/reopen acceptance. Earlier source **e44f07565cc7599d5c5a15a6b5599b4f5d105718** combines direct process/scenario authoring, allocation interaction, focused deletion and Save/Undo focus fixes, @@ -65,7 +70,10 @@ failures and corrections. Earlier authoring and allocation checkpoints remain in Analysis/core source checkpoint **2c515cf3bdb3f707beee320be8fed90cffb40757**, publication branch `codex/analysis-core-956atf-20260911`, is not integrated into production. It adds source-save decode/equality containment and a private staged -expression parser with15 authored tests; those additions are not yet executed. +expression parser. All11 parser and4 save-guard tests pass on518 unchanged inputs +in separate focused Windows runs. The full library run has98 passes and16 failures: +14 reject the unsupported source8 header and2 expose a legacy migration envelope +containing the new definitions field. Strict checks remain pending. Its design and source reviews are preserved in that branch's `harness/analysis-source8-20260913/`. Public source8 support remains incomplete. At its earlier **847b1caa7e75bb82f6ce5193c45bcfc45973ad1a** base, Windows checks diff --git a/harness/experiments/navigation-native-preparation-e124029-20260913/README.md b/harness/experiments/navigation-native-preparation-e124029-20260913/README.md new file mode 100644 index 00000000..0555daca --- /dev/null +++ b/harness/experiments/navigation-native-preparation-e124029-20260913/README.md @@ -0,0 +1,15 @@ +# Native comparator and fixture preparation evidence + +Historical source pin: `e1240295bd114d23d3f67a69e6b38bdb2e25bb0d`. This archive records actual native core comparator builds and executions, migration preparation, and independent source expectations. It does not establish desktop GUI behavior or completion of navigation acceptance. + +[manifest.json](manifest.json) binds 152 copied files (953,046 bytes) to their original repository-relative paths with SHA-256 and byte counts. `evidence/` retains original bytes and absolute provenance paths in receipts. Executables, libraries, toolchains and private profiles are omitted; original receipts bind the relevant omitted binaries and dependencies by hash. Launch commands require reconstruction in a matching build environment; this is a source/evidence archive, not a runnable binary distribution. + +Three build receipts passed with unchanged input manifests. The oracle binary hash is `8937a59a0e1c51619087b43ab059a6e9af3eef9d69dd2735601143ece3452ada`; corrected migration binary hash is `cb7acce0e8bea1ae400bef773c387ed3b5caa4f6d4a6031254282ef64f426c82`. Build logs and preserved source copies are retained beside each receipt. + +Under `evidence/.local/native-qa/navigation-palette-20260913-01/`, eight run receipts preserve full input bindings and stdout/stderr: oracle self-check, original migration (exit 101), corrected migration (exit 0), four baseline/work admissions (exit 0), and independent six-token rename comparison (exit 0). All eight record unchanged inputs. Baseline/work source pairs are byte-identical admission inputs, not evidence of GUI editing. + +The first migration failed an overly strict evaluator assumption: OA's original comment/string sequence remained present, with two newly explicit empty description strings. The correction permits only four owner-qualified formerly omitted empty descriptions: OA owners 107/108 and SA reporting owners 406/407 (full UUIDs in the retained result). The corrected run verifies these exact exceptions, full independent Project equality, current readmission and preservation of the originals. It retains candidate and accepted outputs. Historical source-only reviews remain verbatim and their “unrun” statements refer to their review time; actual later execution is evidenced by the receipts. The failure is preserved rather than recast as a passing migration. + +The six-token expectation is constructed without the source updater: four exact substitutions in `sa/reporting.arcadia`, two in `views.arcadia`, with every other byte retained across six files. The recorded native oracle compares that result against public SetAlias, a complete alias-only expected Project, and exact SourceBundle equality. Archive verification independently reconstructs all six edits. This is bounded evidence for this fixture; shared public semantic code remains in the comparator and migration checks. + +Archive checks verified every copied byte/hash, all three build log/source bindings, eight recorded input-diff outcomes, sixteen run log hashes, archived inputs referenced by run receipts, and complete baseline/work and six-token expected bytes. No compiler or UI was run during archiving. Focus, selection, dialogs, cancellation, stale confirmations, Undo/Redo, save timing and reopen interaction still require separate native GUI evidence. diff --git a/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/build-navigation-palette-probe.py b/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/build-navigation-palette-probe.py new file mode 100644 index 00000000..005cac22 --- /dev/null +++ b/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/build-navigation-palette-probe.py @@ -0,0 +1,181 @@ +"""Bind a standalone native oracle to the admitted desktop test dependencies.""" +from pathlib import Path +from datetime import datetime, timezone +import hashlib +import json +import os +import shutil +import re +import subprocess +import sys + +root = Path(__file__).resolve().parent.parent +source, listing, label, probe_arg = sys.argv[1:5] +assert all(re.fullmatch(r'[a-zA-Z0-9-]+', n) for n in (listing, label)) +probe = (root / probe_arg).resolve() +assert probe.is_relative_to(root / '.local') and probe.suffix == '.rs' +gate = root / '.local/navigation-palette-gates-20260913' +def identity(path): + raw = path.read_bytes() + return {'bytes': len(raw), 'sha256': hashlib.sha256(raw).hexdigest()} + + +def include_inputs(path, text): + # Bounded literal syntax; unsupported macros fail instead of being omitted. + macros = list(re.finditer(r'\binclude(?:_str|_bytes)?\b', text)) + literal = re.compile(r'include_str\s*!\s*\(\s*"([^"\\\r\n]+)"\s*\)') + found = [] + for macro in macros: + cursor = macro.end() + while cursor < len(text): + if text[cursor].isspace(): + cursor += 1 + elif text.startswith('//', cursor): + end = text.find('\n', cursor) + cursor = len(text) if end < 0 else end + 1 + elif text.startswith('/*', cursor): + cursor, depth = cursor + 2, 1 + while depth and cursor < len(text): + if text.startswith('/*', cursor): + depth, cursor = depth + 1, cursor + 2 + elif text.startswith('*/', cursor): + depth, cursor = depth - 1, cursor + 2 + else: + cursor += 1 + assert not depth, 'Unterminated comment after include identifier' + else: + break + if text[cursor:cursor + 1] != '!': + continue + match = literal.match(text, macro.start()) + assert match, 'Only simple literal include_str!("path") inputs are supported' + included = (path.parent / match[1]).resolve() + assert included.is_relative_to(root / '.local'), included + assert included.is_file(), included + found.append(included) + return list(dict.fromkeys(found)) + + +out = root / '.local/native-qa' / label +out.mkdir(exist_ok=False) +scopes = ['Cargo.toml', 'Cargo.lock', 'rust-toolchain.toml', '.cargo', 'build', + 'crates', 'assets', 'docs', 'examples', 'harness/fixtures', 'scripts'] +before, source_inputs, manifest, tools = {}, [], {'inputs': []}, {} +command, run, head_after, status_after = [], None, None, None +changed, failure, phase = [], None, 'listing/input admission' +start = datetime.now(timezone.utc).isoformat() +binary = out / (label + '.exe') +try: + result_path = gate / (listing + '.result.json') + result = json.loads(result_path.read_bytes()) + admission_path = gate / (listing + '.admission.json') + admission = json.loads(admission_path.read_bytes()) + + assert admission['mode'] == 'list' and admission['result_sha256'] == identity(result_path)['sha256'] + assert result['source'] == admission['source'] == source == result['head_after'] + assert result['exit'] == 0 and not result['changed_inputs'] + assert not subprocess.check_output(['git', 'status', '--porcelain', '--untracked-files=all', '--', *scopes], cwd=root) + assert subprocess.check_output(['git', 'rev-parse', 'HEAD'], cwd=root).decode().strip() == source + manifest_path = gate / result['inputs'] + manifest = json.loads(manifest_path.read_bytes()) + assert manifest['source'] == source + assert admission['inputs_sha256'] == identity(manifest_path)['sha256'] + for item in manifest['inputs']: + assert identity(root / item['path']) == {k:item[k] for k in ('bytes', 'sha256')}, item['path'] + log_path = gate / (listing + '.log') + required_path = root / '.local/navigation-palette-required-tests-20260913.json' + assert admission['log_sha256'] == identity(log_path)['sha256'] + assert admission['required_names_sha256'] == identity(required_path)['sha256'] + assert len(result['artifacts']) == 1 + test = result['artifacts'][0] + test_path = (root / test['path']).resolve() + assert identity(test_path) == {k:test[k] for k in ('bytes', 'sha256')} + assert admission['artifact'] == test + suffix = test_path.stem.rsplit('-', 1)[1] + deps = test_path.parent + fingerprints = deps.parent / '.fingerprint' + anchor = fingerprints / ('oa-desktop-' + suffix) / 'test-bin-arcadia-studio.json' + desktop = json.loads(anchor.read_bytes()) + dependencies, fingerprint_files = {}, [] + for _, name, _, expected in desktop['deps']: + if name not in ('oa_core', 'serde_json'): + continue + assert name not in dependencies + matches = [] + for path in fingerprints.glob('*/lib-' + name): + if int.from_bytes(bytes.fromhex(path.read_text().strip()), 'little') == expected: + crate_suffix = path.parent.name.rsplit('-', 1)[1] + rlib = deps / ('lib' + name + '-' + crate_suffix + '.rlib') + if rlib.is_file(): + matches.append((rlib, path)) + assert len(matches) == 1, (name, matches) + dependencies[name], fingerprint = matches[0] + fingerprint_files += [fingerprint, fingerprint.with_suffix('.json')] + assert set(dependencies) == {'oa_core', 'serde_json'} + phase = 'probe source/tool admission' + probe_raw = probe.read_bytes() + compile_inputs = [probe, *include_inputs(probe, probe_raw.decode('utf-8'))] + watched = [Path(__file__).resolve(), *compile_inputs, test_path, anchor, + *fingerprint_files, *dependencies.values(), result_path, admission_path, + manifest_path, log_path, required_path] + for name, requested, args in [('rustc', os.environ.get('RUSTC', 'rustc'), ['-Vv']), + ('clang', 'clang.exe', ['--version'])]: + resolved = shutil.which(requested) + assert resolved, f'Required tool unavailable: {requested}' + path = Path(resolved).resolve() + tools[name] = {'path': str(path), **identity(path), + 'version': subprocess.check_output([str(path), *args], cwd=root).decode()} + watched.append(path) + assert 'host: x86_64-pc-windows-gnullvm' in tools['rustc']['version'] + before = {str(path): identity(path) for path in watched} + assert before[str(probe)] == {'bytes': len(probe_raw), 'sha256': hashlib.sha256(probe_raw).hexdigest()} + for path in compile_inputs: + saved = out / 'source-inputs' / path.relative_to(root / '.local') + saved.parent.mkdir(parents=True, exist_ok=True) + with saved.open('xb') as stream: + stream.write(path.read_bytes()) + assert identity(saved) == before[str(path)] + source_inputs.append({'path': str(path), 'preserved': str(saved), **identity(saved)}) + command = [tools['rustc']['path'], '--edition=2024', '-D', 'warnings', '-C', + 'linker=' + tools['clang']['path'], '-L', 'dependency=' + str(deps)] + for name, rlib in dependencies.items(): + command += ['--extern', name + '=' + str(rlib)] + command += [str(probe), '-o', str(binary)] + phase = 'rustc invocation' + with (out / 'stdout.log').open('xb') as stdout, (out / 'stderr.log').open('xb') as stderr: + run = subprocess.run(command, cwd=root, stdout=stdout, stderr=stderr) + if run.returncode == 0: + assert binary.is_file(), 'Successful rustc did not emit the requested executable' +except Exception as error: + failure = {'phase': phase, 'type': type(error).__name__, 'message': str(error)} + +try: + changed = [path for path, item in before.items() if not Path(path).is_file() or identity(Path(path)) != item] + changed += [item['path'] for item in manifest['inputs'] + if not (root / item['path']).is_file() + or identity(root / item['path']) != {k: item[k] for k in ('bytes', 'sha256')}] + head_after = subprocess.check_output(['git', 'rev-parse', 'HEAD'], cwd=root).decode().strip() + status_after = subprocess.check_output(['git', 'status', '--porcelain', '--untracked-files=all', '--', *scopes], cwd=root).decode() +except Exception as error: + postflight = {'phase': 'final input admission', 'type': type(error).__name__, 'message': str(error)} + if failure is None: + failure = postflight + else: + failure['postflight'] = postflight +code = run.returncode if run is not None else None +passed = code == 0 and failure is None and not changed and head_after == source and status_after == '' +record = {'source': source, 'head_after': head_after, 'start': start, + 'end': datetime.now(timezone.utc).isoformat(), 'command': command, 'exit': code, + 'outcome': 'passed' if passed else 'failed', 'failure': failure, + 'inputs_before': before, 'source_inputs': source_inputs, 'changed_inputs': changed, + 'status_after': status_after, 'compiler': tools.get('rustc', {}).get('version'), + 'tools': tools, 'launcher': identity(Path(__file__)), + 'binary': {'path': str(binary), **identity(binary)} if binary.is_file() else None, + 'scope': 'Standalone probe built against dependency fingerprints of the exact admitted desktop test. Execution is separate.'} +for key in ['stdout', 'stderr']: + path = out / (key + '.log') + record[key] = identity(path) if path.is_file() else None +with (out / 'build.json').open('x', encoding='utf-8', newline='\n') as stream: + stream.write(json.dumps(record, indent=2) + '\n') +print(json.dumps(record)) +sys.exit(0 if passed else (code or 1)) diff --git a/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/migration-empty-description-failure-preservation-20260913.json b/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/migration-empty-description-failure-preservation-20260913.json new file mode 100644 index 00000000..69953772 --- /dev/null +++ b/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/migration-empty-description-failure-preservation-20260913.json @@ -0,0 +1,85 @@ +{ + "scope": "Original exit101 and partial output retained in place without mutation. Exact pre-fix helper preserved separately.", + "files": [ + { + "path": ".local/native-qa/navigation-palette-20260913-01/migrate-example-e124029/run.json", + "bytes": 4792, + "sha256": "dd075b76223170a97393ac33a2dd5933dbe65d411f4d2d21d305168e0b45f52d" + }, + { + "path": ".local/native-qa/navigation-palette-20260913-01/migrate-example-e124029/stderr.log", + "bytes": 4025, + "sha256": "03c7fef2f8f5985ecc6597229d66d1b48ed634bd1d445111d6f93f5b9f6e66a1" + }, + { + "path": ".local/native-qa/navigation-palette-20260913-01/migrate-example-e124029/stdout.log", + "bytes": 0, + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "path": ".local/native-qa/navigation-palette-20260913-01/migrate-example-e124029/verified-core-inputs.json", + "bytes": 18326, + "sha256": "6bbe6b8c2175c2f5d1e7b71989159ed438c4ab0eb708a27ec891eed08e983cd0" + }, + { + "path": ".local/native-qa/navigation-palette-20260913-01/source-example-migration/independent-flattened-legacy.arcadia", + "bytes": 10867, + "sha256": "5a58cf149871ce3c068131f8b4c0285e323052a54bbe2ad0b4de57ebad82bdd8" + }, + { + "path": ".local/native-qa/navigation-palette-20260913-01/source-example-migration/independent-legacy-project.json", + "bytes": 23047, + "sha256": "236eb85ad89eb8ef4cf0bbe2b49d0d08d48a0c2017e1e79cad5495468752329e" + }, + { + "path": ".local/native-qa/navigation-palette-20260913-01/source-example-migration/independent-reference-project.json", + "bytes": 23047, + "sha256": "236eb85ad89eb8ef4cf0bbe2b49d0d08d48a0c2017e1e79cad5495468752329e" + }, + { + "path": ".local/native-qa/navigation-palette-20260913-01/source-example-migration/independent-reference-source-bundle.json", + "bytes": 11849, + "sha256": "88270278c3f28f4ebfa94548978000eaaa8a8e52da7828bdb16c9dfe7472f6eb" + }, + { + "path": ".local/native-qa/navigation-palette-20260913-01/source-example-migration/intent.json", + "bytes": 881, + "sha256": "c99ab5832c05f5fb77754b1a977dd90f610834b063408403f9120bff406d59df" + }, + { + "path": ".local/native-qa/navigation-palette-20260913-01/source-example-migration/legacy-input/oa.arcadia", + "bytes": 2142, + "sha256": "5f60642f211b2d352a951092faeeb7503d4fb7f6f7fca99e810347231101d31c" + }, + { + "path": ".local/native-qa/navigation-palette-20260913-01/source-example-migration/legacy-input/project.arcadia", + "bytes": 606, + "sha256": "787f6b67b179ffd221f7e5faf1a4edd74cfd116aa1e3b5e9ed9f22fbff612d8d" + }, + { + "path": ".local/native-qa/navigation-palette-20260913-01/source-example-migration/legacy-input/sa/assurance.arcadia", + "bytes": 682, + "sha256": "ab76044836e4dcd42a82d316846ec87da2108939aa2037640c5bca1d2ecdee0f" + }, + { + "path": ".local/native-qa/navigation-palette-20260913-01/source-example-migration/legacy-input/sa/participants.arcadia", + "bytes": 1231, + "sha256": "1abad579812e77877b45a3d8e3c3e9da734be2d04a0254cc730a5257ebd2dc88" + }, + { + "path": ".local/native-qa/navigation-palette-20260913-01/source-example-migration/legacy-input/sa/reporting.arcadia", + "bytes": 2839, + "sha256": "f0b7443f728912ca163de39b6055876b533a77feaa3219b2d40a2dd65712e058" + }, + { + "path": ".local/native-qa/navigation-palette-20260913-01/source-example-migration/legacy-input/views.arcadia", + "bytes": 3508, + "sha256": "e29ad3f406a6a50d2f0ae2ca2a53ee3b0c18222cd4098704a46d4f48b64ea17f" + }, + { + "path": ".local/native-qa/navigation-palette-20260913-01/source-example-migration/legacy-source-bundle.json", + "bytes": 11667, + "sha256": "ec42a1b9e8ab8516485679b74bf4fbef2519686e406288bd195bd3757351659e" + } + ] +} \ No newline at end of file diff --git a/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/migration-fixture-e124029-r2/build.json b/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/migration-fixture-e124029-r2/build.json new file mode 100644 index 00000000..03e1e8b5 --- /dev/null +++ b/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/migration-fixture-e124029-r2/build.json @@ -0,0 +1,199 @@ +{ + "source": "e1240295bd114d23d3f67a69e6b38bdb2e25bb0d", + "head_after": "e1240295bd114d23d3f67a69e6b38bdb2e25bb0d", + "start": "2026-09-13T03:51:26.738820+00:00", + "end": "2026-09-13T03:51:59.778688+00:00", + "command": [ + "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\bin\\rustc.exe", + "--edition=2024", + "-D", + "warnings", + "-C", + "linker=C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\llvm-mingw-20260908-ucrt-x86_64\\bin\\clang.exe", + "-L", + "dependency=C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\target\\debug\\deps", + "--extern", + "serde_json=C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\target\\debug\\deps\\libserde_json-da2c4f333fc47818.rlib", + "--extern", + "oa_core=C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\target\\debug\\deps\\liboa_core-145180297aa692e4.rlib", + "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\navigation-palette-migrate-fixture.rs", + "-o", + "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\native-qa\\migration-fixture-e124029-r2\\migration-fixture-e124029-r2.exe" + ], + "exit": 0, + "outcome": "passed", + "failure": null, + "inputs_before": { + "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\build-navigation-palette-probe.py": { + "bytes": 9681, + "sha256": "c3dee4258cb2a2523c6395f70facad6966a663f4c496201b094f4e613a84cf96" + }, + "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\navigation-palette-migrate-fixture.rs": { + "bytes": 19714, + "sha256": "388f857e6940e231b8c7a26ec24842dbe03136b6cdaa7b16333dc573236f5567" + }, + "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\navigation-palette-migrate-fixture-inputs\\project.arcadia": { + "bytes": 606, + "sha256": "787f6b67b179ffd221f7e5faf1a4edd74cfd116aa1e3b5e9ed9f22fbff612d8d" + }, + "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\navigation-palette-migrate-fixture-inputs\\oa.arcadia": { + "bytes": 2142, + "sha256": "5f60642f211b2d352a951092faeeb7503d4fb7f6f7fca99e810347231101d31c" + }, + "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\navigation-palette-migrate-fixture-inputs\\sa\\participants.arcadia": { + "bytes": 1231, + "sha256": "1abad579812e77877b45a3d8e3c3e9da734be2d04a0254cc730a5257ebd2dc88" + }, + "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\navigation-palette-migrate-fixture-inputs\\sa\\reporting.arcadia": { + "bytes": 2839, + "sha256": "f0b7443f728912ca163de39b6055876b533a77feaa3219b2d40a2dd65712e058" + }, + "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\navigation-palette-migrate-fixture-inputs\\sa\\assurance.arcadia": { + "bytes": 682, + "sha256": "ab76044836e4dcd42a82d316846ec87da2108939aa2037640c5bca1d2ecdee0f" + }, + "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\navigation-palette-migrate-fixture-inputs\\views.arcadia": { + "bytes": 3508, + "sha256": "e29ad3f406a6a50d2f0ae2ca2a53ee3b0c18222cd4098704a46d4f48b64ea17f" + }, + "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\target\\debug\\deps\\arcadia_studio-ac73ce8f77f371eb.exe": { + "bytes": 150072832, + "sha256": "d1e4f672ca53fc914be70712cf87cb828f15181513fc9020cd02fb4d92af5c4e" + }, + "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\target\\debug\\.fingerprint\\oa-desktop-ac73ce8f77f371eb\\test-bin-arcadia-studio.json": { + "bytes": 1151, + "sha256": "157536ab9cab28f6d24809704b20addf692346836fc35a49a11ef1f717798bd3" + }, + "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\target\\debug\\.fingerprint\\serde_json-da2c4f333fc47818\\lib-serde_json": { + "bytes": 16, + "sha256": "e8cfaf50bfe2915903f506b08dac38787bb055882151fe786a2c061f35685b93" + }, + "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\target\\debug\\.fingerprint\\serde_json-da2c4f333fc47818\\lib-serde_json.json": { + "bytes": 838, + "sha256": "03eccf1185608696b40525cef5939679537f47f50165c2b392c88c56e382e6cf" + }, + "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\target\\debug\\.fingerprint\\oa-core-145180297aa692e4\\lib-oa_core": { + "bytes": 16, + "sha256": "05a8e6e4cf06e5080690151599e1c3b9ef8a591ac41e8de7fe92726cd6b07b85" + }, + "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\target\\debug\\.fingerprint\\oa-core-145180297aa692e4\\lib-oa_core.json": { + "bytes": 957, + "sha256": "6fb87df12cce497194402698471d05117bbac68e1d0d501799ca7f276872b5c0" + }, + "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\target\\debug\\deps\\libserde_json-da2c4f333fc47818.rlib": { + "bytes": 2991440, + "sha256": "485300d4125a69de7da5413f832eb4b9cde547e60f103f3b284e49aee4194d05" + }, + "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\target\\debug\\deps\\liboa_core-145180297aa692e4.rlib": { + "bytes": 102931760, + "sha256": "4033d79b63c3438c513f937d16d0a14737314f68d7a5123a3d5504c909af5c20" + }, + "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\navigation-palette-gates-20260913\\list-e124029.result.json": { + "bytes": 119298, + "sha256": "f7fbb70f7984cd8adb089c0ad749d8240ec92f363679205a2d1adf805a15c2a6" + }, + "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\navigation-palette-gates-20260913\\list-e124029.admission.json": { + "bytes": 23467, + "sha256": "36cd297979d854db50add69f7bebd8225b73093c1c5d7c9feed95bbbd7fdb0e8" + }, + "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\navigation-palette-gates-20260913\\list-e124029.inputs.json": { + "bytes": 107751, + "sha256": "a011170b83ddc0c835428c10b2079b0df02d2bd6f90167f16b1297c683601a87" + }, + "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\navigation-palette-gates-20260913\\list-e124029.log": { + "bytes": 117338, + "sha256": "8dbd49a9c36a6eff682049e6a3a919666e75e4e312a53d4c1ff60b82e46b8404" + }, + "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\navigation-palette-required-tests-20260913.json": { + "bytes": 3318, + "sha256": "e426be35c31925d91b5ce6df15abe30f814ba6134a8013ce47208c365df7127a" + }, + "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\bin\\rustc.exe": { + "bytes": 12721664, + "sha256": "6f4bef66261261fcb43131be8720bab817d403a09edec7455c371974b90bdb7e" + }, + "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\llvm-mingw-20260908-ucrt-x86_64\\bin\\clang.exe": { + "bytes": 14336, + "sha256": "93303edd5791e4b60682f819267a34c349e5f52d052d067e006e76d21cc82ea4" + } + }, + "source_inputs": [ + { + "path": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\navigation-palette-migrate-fixture.rs", + "preserved": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\native-qa\\migration-fixture-e124029-r2\\source-inputs\\navigation-palette-migrate-fixture.rs", + "bytes": 19714, + "sha256": "388f857e6940e231b8c7a26ec24842dbe03136b6cdaa7b16333dc573236f5567" + }, + { + "path": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\navigation-palette-migrate-fixture-inputs\\project.arcadia", + "preserved": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\native-qa\\migration-fixture-e124029-r2\\source-inputs\\navigation-palette-migrate-fixture-inputs\\project.arcadia", + "bytes": 606, + "sha256": "787f6b67b179ffd221f7e5faf1a4edd74cfd116aa1e3b5e9ed9f22fbff612d8d" + }, + { + "path": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\navigation-palette-migrate-fixture-inputs\\oa.arcadia", + "preserved": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\native-qa\\migration-fixture-e124029-r2\\source-inputs\\navigation-palette-migrate-fixture-inputs\\oa.arcadia", + "bytes": 2142, + "sha256": "5f60642f211b2d352a951092faeeb7503d4fb7f6f7fca99e810347231101d31c" + }, + { + "path": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\navigation-palette-migrate-fixture-inputs\\sa\\participants.arcadia", + "preserved": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\native-qa\\migration-fixture-e124029-r2\\source-inputs\\navigation-palette-migrate-fixture-inputs\\sa\\participants.arcadia", + "bytes": 1231, + "sha256": "1abad579812e77877b45a3d8e3c3e9da734be2d04a0254cc730a5257ebd2dc88" + }, + { + "path": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\navigation-palette-migrate-fixture-inputs\\sa\\reporting.arcadia", + "preserved": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\native-qa\\migration-fixture-e124029-r2\\source-inputs\\navigation-palette-migrate-fixture-inputs\\sa\\reporting.arcadia", + "bytes": 2839, + "sha256": "f0b7443f728912ca163de39b6055876b533a77feaa3219b2d40a2dd65712e058" + }, + { + "path": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\navigation-palette-migrate-fixture-inputs\\sa\\assurance.arcadia", + "preserved": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\native-qa\\migration-fixture-e124029-r2\\source-inputs\\navigation-palette-migrate-fixture-inputs\\sa\\assurance.arcadia", + "bytes": 682, + "sha256": "ab76044836e4dcd42a82d316846ec87da2108939aa2037640c5bca1d2ecdee0f" + }, + { + "path": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\navigation-palette-migrate-fixture-inputs\\views.arcadia", + "preserved": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\native-qa\\migration-fixture-e124029-r2\\source-inputs\\navigation-palette-migrate-fixture-inputs\\views.arcadia", + "bytes": 3508, + "sha256": "e29ad3f406a6a50d2f0ae2ca2a53ee3b0c18222cd4098704a46d4f48b64ea17f" + } + ], + "changed_inputs": [], + "status_after": "", + "compiler": "rustc 1.98.1 (48a229cea 2026-09-01)\nbinary: rustc\ncommit-hash: 48a229ceaefd4985c50990b14116b6d856af0985\ncommit-date: 2026-09-01\nhost: x86_64-pc-windows-gnullvm\nrelease: 1.98.1\nLLVM version: 22.1.8\n", + "tools": { + "rustc": { + "path": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\bin\\rustc.exe", + "bytes": 12721664, + "sha256": "6f4bef66261261fcb43131be8720bab817d403a09edec7455c371974b90bdb7e", + "version": "rustc 1.98.1 (48a229cea 2026-09-01)\nbinary: rustc\ncommit-hash: 48a229ceaefd4985c50990b14116b6d856af0985\ncommit-date: 2026-09-01\nhost: x86_64-pc-windows-gnullvm\nrelease: 1.98.1\nLLVM version: 22.1.8\n" + }, + "clang": { + "path": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\llvm-mingw-20260908-ucrt-x86_64\\bin\\clang.exe", + "bytes": 14336, + "sha256": "93303edd5791e4b60682f819267a34c349e5f52d052d067e006e76d21cc82ea4", + "version": "clang version 23.1.1 (https://github.com/llvm/llvm-project.git 6dfe1677ab8dffbc6ec13d53a1e0215d75147689)\nTarget: x86_64-w64-windows-gnu\nThread model: posix\nInstalledDir: C:/Users/User/Documents/Git/ARCADIA-Studio/.local/toolchain/llvm-mingw-20260908-ucrt-x86_64/bin\nConfiguration file: C:/Users/User/Documents/Git/ARCADIA-Studio/.local/toolchain/llvm-mingw-20260908-ucrt-x86_64/bin/x86_64-w64-windows-gnu.cfg\n" + } + }, + "launcher": { + "bytes": 9681, + "sha256": "c3dee4258cb2a2523c6395f70facad6966a663f4c496201b094f4e613a84cf96" + }, + "binary": { + "path": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\native-qa\\migration-fixture-e124029-r2\\migration-fixture-e124029-r2.exe", + "bytes": 21606912, + "sha256": "cb7acce0e8bea1ae400bef773c387ed3b5caa4f6d4a6031254282ef64f426c82" + }, + "scope": "Standalone probe built against dependency fingerprints of the exact admitted desktop test. Execution is separate.", + "stdout": { + "bytes": 0, + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "stderr": { + "bytes": 0, + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + } +} diff --git a/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/migration-fixture-e124029-r2/source-inputs/navigation-palette-migrate-fixture-inputs/oa.arcadia b/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/migration-fixture-e124029-r2/source-inputs/navigation-palette-migrate-fixture-inputs/oa.arcadia new file mode 100644 index 00000000..0aa8c9dd --- /dev/null +++ b/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/migration-fixture-e124029-r2/source-inputs/navigation-palette-migrate-fixture-inputs/oa.arcadia @@ -0,0 +1,41 @@ +// Operational Analysis describes the need without choosing a technical solution. +oa_actor vessel "Vessel in distress" id "00000000-0000-4000-8000-000000000101" { + description "The vessel's crew needs to communicate its position and obtain assistance."; +} +oa_entity rescue_team "Rescue coordination" id "00000000-0000-4000-8000-000000000102" { + description "The coordination team assesses the report and decides on a response."; +} + +// This is work decomposition. It does not assign either activity to a participant. +oa_activity respond "Respond to distress" id "00000000-0000-4000-8000-000000000103" { + // Keep the crew's reporting responsibility visible when decomposing the need. + oa_activity report_distress "Report distress" id "00000000-0000-4000-8000-000000000104" { + description "Provide the vessel's situation and last known position."; + } + oa_activity assess_incident "Assess incident" id "00000000-0000-4000-8000-000000000105" { + description "Decide which assistance is needed using the received report."; + } +} + +oa_capability protect_life "Protect life at sea" id "00000000-0000-4000-8000-000000000106" {} +oa_exchange_item oa_report_data "Distress report" id "00000000-0000-4000-8000-000000000107" { + kind Information; + oa_data_field reported_latitude "Reported latitude" id "00000000-0000-4000-8000-000000000108" { + type_ref Real; + unit "degrees north"; + } +} + +// Allocation remains explicit even though the saved architecture view nests work. +allocation crew_reports "Crew reports distress" id "00000000-0000-4000-8000-000000000201" { + source @vessel; target @report_distress; +} +allocation team_assesses "Team assesses incident" id "00000000-0000-4000-8000-000000000202" { + source @rescue_team; target @assess_incident; +} +interaction distress_signal "Distress signal" id "00000000-0000-4000-8000-000000000203" { + source @report_distress; target @assess_incident; items [@oa_report_data]; +} +capability_involvement operational_contribution "Assessment supports rescue" id "00000000-0000-4000-8000-000000000204" { + source @assess_incident; target @protect_life; +} diff --git a/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/migration-fixture-e124029-r2/source-inputs/navigation-palette-migrate-fixture-inputs/project.arcadia b/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/migration-fixture-e124029-r2/source-inputs/navigation-palette-migrate-fixture-inputs/project.arcadia new file mode 100644 index 00000000..8bb4292f --- /dev/null +++ b/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/migration-fixture-e124029-r2/source-inputs/navigation-palette-migrate-fixture-inputs/project.arcadia @@ -0,0 +1,11 @@ +arcadia 3; +project distress_response "Distress response — nested source project" id "00000000-0000-4000-8000-000000000001" { + description "A small OA/SA model for learning source ownership, typed ports and reviewed graphical edits. Open this file. Start with the saved allocation views, then browse Handle distress reports and use Source for selection."; + + // Includes organize documents; aliases are shared by the whole project. + include "oa.arcadia"; + include "sa/participants.arcadia"; + include "sa/reporting.arcadia"; + include "sa/assurance.arcadia"; + include "views.arcadia"; +} diff --git a/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/migration-fixture-e124029-r2/source-inputs/navigation-palette-migrate-fixture-inputs/sa/assurance.arcadia b/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/migration-fixture-e124029-r2/source-inputs/navigation-palette-migrate-fixture-inputs/sa/assurance.arcadia new file mode 100644 index 00000000..b9678cbe --- /dev/null +++ b/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/migration-fixture-e124029-r2/source-inputs/navigation-palette-migrate-fixture-inputs/sa/assurance.arcadia @@ -0,0 +1,11 @@ +// A separate functional aggregate provides a cross-file reparenting example. +// Move Assess report here through Properties, then inspect both source files. +sa_function assure_response "Assure response quality" id "00000000-0000-4000-8000-000000000411" { + description "Review the service response independently of report transport."; + sa_function review_response "Review response" id "00000000-0000-4000-8000-000000000412" { + description "Check that a coordinator can review the received information."; + } +} +allocation system_reviews "System supports response review" id "00000000-0000-4000-8000-000000000504" { + source @rescue_system; target @review_response; +} diff --git a/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/migration-fixture-e124029-r2/source-inputs/navigation-palette-migrate-fixture-inputs/sa/participants.arcadia b/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/migration-fixture-e124029-r2/source-inputs/navigation-palette-migrate-fixture-inputs/sa/participants.arcadia new file mode 100644 index 00000000..cdd7f402 --- /dev/null +++ b/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/migration-fixture-e124029-r2/source-inputs/navigation-palette-migrate-fixture-inputs/sa/participants.arcadia @@ -0,0 +1,22 @@ +// System Analysis identifies one system of interest and its external participant. +sa_system rescue_system "Rescue coordination system" id "00000000-0000-4000-8000-000000000301" { + description "The selected system receives reports and supports the coordinator."; + // A component port belongs to its participant, not to an allocated function. + sa_port reporting_input "Reporting input" id "00000000-0000-4000-8000-000000000303" { + contract { Component { kind Flow; orientation In; }; }; + } +} +sa_actor vessel_service "Vessel communication service" id "00000000-0000-4000-8000-000000000302" { + description "An external service sends distress information across the system boundary."; + sa_port reporting_output "Reporting output" id "00000000-0000-4000-8000-000000000304" { + contract { Component { kind Flow; orientation Out; }; }; + } +} + +// The boundary exchange connects actual participant ports. Function realization +// is declared separately in reporting.arcadia using port/exchange allocations. +boundary_exchange radio_reporting "Radio reporting" id "00000000-0000-4000-8000-000000000501" { + source @reporting_output; target @reporting_input; + oriented true; + items [@sa_report_data]; +} diff --git a/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/migration-fixture-e124029-r2/source-inputs/navigation-palette-migrate-fixture-inputs/sa/reporting.arcadia b/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/migration-fixture-e124029-r2/source-inputs/navigation-palette-migrate-fixture-inputs/sa/reporting.arcadia new file mode 100644 index 00000000..bfeac4b0 --- /dev/null +++ b/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/migration-fixture-e124029-r2/source-inputs/navigation-palette-migrate-fixture-inputs/sa/reporting.arcadia @@ -0,0 +1,52 @@ +// Functional containment is independent of the participant allocations below. +sa_function handle_reports "Handle distress reports" id "00000000-0000-4000-8000-000000000401" { + description "A functional decomposition of reporting and assessment."; + sa_function transmit_report "Transmit report" id "00000000-0000-4000-8000-000000000402" { + description "Encode and send the vessel's distress report."; + sa_port report_out "Report output" id "00000000-0000-4000-8000-000000000404" { + contract { FunctionOutput { outgoing_items [@sa_report_data]; }; }; + } + } + // Assessment rationale travels with this declaration when it is reparented. + sa_function assess_report "Assess report" id "00000000-0000-4000-8000-000000000403" { + description "Validate the received report and present it to the coordinator."; + sa_port report_in "Report input" id "00000000-0000-4000-8000-000000000405" { + contract { FunctionInput { incoming_items [@sa_report_data]; }; }; + } + } // Assessment remains performed by rescue_system after a hierarchy edit. +} + +// This group comment stays in this file; it is not attached to the function above. + +sa_exchange_item sa_report_data "Digital distress report" id "00000000-0000-4000-8000-000000000406" { + kind Information; + sa_data_field encoded_latitude "Encoded latitude" id "00000000-0000-4000-8000-000000000407" { + type_ref Real; + unit "degrees north"; + } +} +sa_capability coordinate_response "Coordinate distress response" id "00000000-0000-4000-8000-000000000408" {} + +allocation vessel_transmits "Vessel service transmits" id "00000000-0000-4000-8000-000000000502" { + source @vessel_service; target @transmit_report; +} +allocation system_assesses "System assesses report" id "00000000-0000-4000-8000-000000000503" { + source @rescue_system; target @assess_report; +} +functional_exchange validated_report "Validated report" id "00000000-0000-4000-8000-000000000505" { + source @transmit_report; source_port @report_out; + target @assess_report; target_port @report_in; + items [@sa_report_data]; +} +port_allocation output_realization "Reporting output realizes function output" id "00000000-0000-4000-8000-000000000506" { + source @reporting_output; target @report_out; +} +port_allocation input_realization "Reporting input realizes function input" id "00000000-0000-4000-8000-000000000507" { + source @reporting_input; target @report_in; +} +exchange_allocation report_transport "Radio reporting carries the function exchange" id "00000000-0000-4000-8000-000000000508" { + source @radio_reporting; target @validated_report; +} +capability_involvement system_contribution "Assessment supports coordination" id "00000000-0000-4000-8000-000000000509" { + source @assess_report; target @coordinate_response; +} diff --git a/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/migration-fixture-e124029-r2/source-inputs/navigation-palette-migrate-fixture-inputs/views.arcadia b/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/migration-fixture-e124029-r2/source-inputs/navigation-palette-migrate-fixture-inputs/views.arcadia new file mode 100644 index 00000000..62d9b5cb --- /dev/null +++ b/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/migration-fixture-e124029-r2/source-inputs/navigation-palette-migrate-fixture-inputs/views.arcadia @@ -0,0 +1,71 @@ +// Views are projections. Their visual allocation containers do not set parent. +diagram oa_architecture "OA — participants and activities" id "00000000-0000-4000-8000-000000000601" { + description "The crew reports; the coordination team assesses. Containment of work is shown separately in the Model explorer."; + layer Oa; projection Allocation; +} +node oa_vessel_view id "00000000-0000-4000-8000-000000000701" { + diagram @oa_architecture; element @vessel; + position { x 60; y 60; }; size { width 272; height 210; }; +} +node oa_team_view id "00000000-0000-4000-8000-000000000702" { + diagram @oa_architecture; element @rescue_team; + position { x 540; y 60; }; size { width 300; height 210; }; +} +node oa_report_view id "00000000-0000-4000-8000-000000000703" { + diagram @oa_architecture; element @report_distress; + position { x 84; y 128; }; size { width 224; height 104; }; +} +node oa_assessment_view id "00000000-0000-4000-8000-000000000704" { + diagram @oa_architecture; element @assess_incident; + position { x 564; y 128; }; size { width 252; height 104; }; +} + +diagram sa_architecture "SA — system boundary and functions" id "00000000-0000-4000-8000-000000000602" { + description "Flow component ports define the boundary; separate function ports carry the functional exchange."; + layer Sa; projection Allocation; +} +node sa_vessel_view id "00000000-0000-4000-8000-000000000711" { + diagram @sa_architecture; element @vessel_service; + position { x 60; y 60; }; size { width 272; height 220; }; +} +node sa_system_view id "00000000-0000-4000-8000-000000000712" { + diagram @sa_architecture; element @rescue_system; + position { x 540; y 60; }; size { width 300; height 340; }; +} +node sa_transmission_view id "00000000-0000-4000-8000-000000000713" { + diagram @sa_architecture; element @transmit_report; + position { x 84; y 128; }; size { width 224; height 104; }; +} +node sa_assessment_view id "00000000-0000-4000-8000-000000000714" { + diagram @sa_architecture; element @assess_report; + position { x 564; y 128; }; size { width 252; height 104; }; +} +node sa_review_view id "00000000-0000-4000-8000-000000000715" { + diagram @sa_architecture; element @review_response; + position { x 564; y 272; }; size { width 252; height 104; }; +} + +diagram sa_decomposition "SA — functional containment" id "00000000-0000-4000-8000-000000000603" { + description "These containers represent real function parents. Compare them with the explicit allocations in the architecture view."; + layer Sa; projection FunctionalDataflow; +} +node handling_view id "00000000-0000-4000-8000-000000000721" { + diagram @sa_decomposition; element @handle_reports; + position { x 40; y 60; }; size { width 500; height 230; }; +} +node transmission_view id "00000000-0000-4000-8000-000000000722" { + diagram @sa_decomposition; element @transmit_report; + position { x 64; y 136; }; size { width 204; height 104; }; +} +node assessment_view id "00000000-0000-4000-8000-000000000723" { + diagram @sa_decomposition; element @assess_report; + position { x 310; y 136; }; size { width 204; height 104; }; +} +node assurance_view id "00000000-0000-4000-8000-000000000724" { + diagram @sa_decomposition; element @assure_response; + position { x 590; y 60; }; size { width 300; height 230; }; +} +node review_view id "00000000-0000-4000-8000-000000000725" { + diagram @sa_decomposition; element @review_response; + position { x 614; y 136; }; size { width 252; height 104; }; +} diff --git a/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/migration-fixture-e124029-r2/source-inputs/navigation-palette-migrate-fixture.rs b/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/migration-fixture-e124029-r2/source-inputs/navigation-palette-migrate-fixture.rs new file mode 100644 index 00000000..b653ca6f --- /dev/null +++ b/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/migration-fixture-e124029-r2/source-inputs/navigation-palette-migrate-fixture.rs @@ -0,0 +1,517 @@ +//! Bounded preparation of this exact six-file source3 example. Not a save oracle. +//! migrate LEGACY_ENTRY NEW_OUTPUT; never edits the legacy input or an existing output. +use oa_core::{source_project::*, *}; +use serde_json::json; +use std::{ + collections::{BTreeMap, BTreeSet}, + fs::{self, OpenOptions}, + io::Write, + path::Path, +}; + +const INPUTS: [(&str, &str); 6] = [ + ( + "project.arcadia", + include_str!("navigation-palette-migrate-fixture-inputs/project.arcadia"), + ), + ( + "oa.arcadia", + include_str!("navigation-palette-migrate-fixture-inputs/oa.arcadia"), + ), + ( + "sa/participants.arcadia", + include_str!("navigation-palette-migrate-fixture-inputs/sa/participants.arcadia"), + ), + ( + "sa/reporting.arcadia", + include_str!("navigation-palette-migrate-fixture-inputs/sa/reporting.arcadia"), + ), + ( + "sa/assurance.arcadia", + include_str!("navigation-palette-migrate-fixture-inputs/sa/assurance.arcadia"), + ), + ( + "views.arcadia", + include_str!("navigation-palette-migrate-fixture-inputs/views.arcadia"), + ), +]; +fn write_new(path: &Path, bytes: &[u8]) { + fs::create_dir_all(path.parent().unwrap()).expect("create owned output parent"); + let mut file = OpenOptions::new() + .write(true) + .create_new(true) + .open(path) + .expect("create new output file"); + file.write_all(bytes).unwrap(); + file.sync_all().unwrap(); + assert_eq!(fs::read(path).unwrap(), bytes, "exact output readback"); +} +macro_rules! write_json { + ($path:expr, $value:expr $(,)?) => {{ + let mut bytes = serde_json::to_vec_pretty($value).unwrap(); + bytes.push(b'\n'); + write_new($path, &bytes); + }}; +} + +fn once(text: &mut String, old: &str, new: &str) { + assert_eq!( + text.matches(old).count(), + 1, + "exact fixed fixture edit: {old}" + ); + *text = text.replacen(old, new, 1); +} +fn literal_reference(raw: &SourceBundle) -> SourceBundle { + // Independently specified current-schema semantics, not copied from migration output. + let mut current = raw.clone(); + once( + current.files.get_mut("project.arcadia").unwrap(), + "arcadia 3;", + "arcadia 7;", + ); + for path in ["oa.arcadia", "sa/reporting.arcadia"] { + let source = current.files.get_mut(path).unwrap(); + once( + source, + "kind Information;", + "kind Information; mechanism Unspecified; supertype none;", + ); + once( + source, + "unit \"degrees north\";", + "unit \"degrees north\"; direction Unspecified; storage Value; default none;", + ); + } + current +} +fn flattened_legacy(raw: &SourceBundle) -> String { + // Fixed, shallow include graph only. This is independent of bundle assembly/upgrading. + let mut flat = raw.files["project.arcadia"].clone(); + for path in [ + "oa.arcadia", + "sa/participants.arcadia", + "sa/reporting.arcadia", + "sa/assurance.arcadia", + "views.arcadia", + ] { + assert!( + inspect_includes(path, &raw.files[path], false, ProjectLimits::default()) + .unwrap() + .is_empty() + ); + once(&mut flat, &format!("include \"{path}\";"), &raw.files[path]); + } + flat +} +fn comments_and_strings<'a>( + source: &'a str, + added: &[language::Span], +) -> Vec<(language::TokenClass, &'a str)> { + language::tokenize(source) + .into_iter() + .filter(|token| { + !added.contains(&token.span) + && matches!( + token.class, + language::TokenClass::Comment | language::TokenClass::String + ) + }) + .map(|token| (token.class, &source[token.span.start..token.span.end])) + .collect() +} +fn added_empty_descriptions( + reference: &CompiledSourceProject, + migrated: &CompiledSourceProject, +) -> BTreeMap> { + let mut added: BTreeMap> = BTreeMap::new(); + // Canonical writing makes existing empty semantic descriptions explicit only + // on these four body-migrated records. No other empty string is exempted. + for (path, number) in [ + ("oa.arcadia", 107), + ("oa.arcadia", 108), + ("sa/reporting.arcadia", 406), + ("sa/reporting.arcadia", 407), + ] { + let id: Id = format!("00000000-0000-4000-8000-{number:012}") + .parse() + .unwrap(); + let key = (id, "description".to_string()); + assert!( + !reference.index.fields.contains_key(&key), + "description was originally omitted: {id}" + ); + assert!( + reference.decoded.project.elements[&id] + .description + .is_empty() + ); + assert!( + migrated.decoded.project.elements[&id] + .description + .is_empty() + ); + let location = migrated + .index + .fields + .get(&key) + .expect("specific added description field"); + assert_eq!( + location.path, path, + "description stays with its fixed owner/file" + ); + let source = &migrated.bundle.files[path]; + assert_eq!( + &source[location.span.start..location.span.end], + "\"\"", + "only exact empty description literal is qualified: {id}" + ); + assert_eq!( + language::tokenize(source) + .into_iter() + .filter(|token| { + token.span == location.span && token.class == language::TokenClass::String + }) + .count(), + 1, + "qualified field is exactly one string token" + ); + let body = &migrated.index.declaration_bodies[&id]; + assert_eq!(body.path, path); + assert!(body.span.start <= location.span.start && location.span.end <= body.span.end); + added.entry(path.into()).or_default().push(location.span); + } + assert_eq!(added.values().map(Vec::len).sum::(), 4); + added +} +fn aliases(bundle: &SourceBundle) -> BTreeMap> { + bundle + .files + .iter() + .filter_map(|(path, text)| { + let starts: Vec<_> = language::tokenize(text) + .into_iter() + .filter(|token| { + token.class == language::TokenClass::Identifier + && &text[token.span.start..token.span.end] == "assess_report" + }) + .map(|token| token.span.start) + .collect(); + (!starts.is_empty()).then(|| (path.clone(), starts)) + }) + .collect() +} +fn run(entry: &Path, output: &Path) { + assert_eq!( + SCHEMA_VERSION, 7, + "this bounded fixture preparer requires current schema7 core" + ); + assert_eq!( + entry.file_name().and_then(|name| name.to_str()), + Some("project.arcadia") + ); + let disk = + source_files::load_project(entry, ProjectLimits::default()).expect("legacy disk discovery"); + assert!( + !disk + .diagnostics + .iter() + .any(|issue| issue.diagnostic.severity == validation::Severity::Error), + "legacy disk errors" + ); + let raw = disk.reachable_bundle(); + assert_eq!( + raw, disk.bundle, + "no detached or invalid discovered buffers" + ); + let pinned = SourceBundle { + entry: "project.arcadia".into(), + files: INPUTS + .iter() + .map(|(path, text)| (path.to_string(), text.to_string())) + .collect(), + }; + assert_eq!( + raw, pinned, + "only exact pinned original six-file fixture is admitted" + ); + let parent = output + .parent() + .expect("new output parent") + .canonicalize() + .expect("existing output parent"); + let out = parent.join(output.file_name().expect("new output directory name")); + let input_root = entry.canonicalize().unwrap().parent().unwrap().to_owned(); + assert!( + !out.starts_with(&input_root) && !input_root.starts_with(&out), + "output and input trees must not overlap" + ); + fs::create_dir(&out).expect("new output directory must not exist"); + for (path, text) in &raw.files { + write_new(&out.join("legacy-input").join(path), text.as_bytes()); + } + write_json!(&out.join("legacy-source-bundle.json"), &raw); + write_json!( + &out.join("intent.json"), + &json!({ + "scope":"Bounded fixture migration preparation, not native acceptance or general migration proof", + "from_schema":3,"to_schema":7,"original_files":6, + "intended_defaults":{ + "00000000-0000-4000-8000-000000000107":"Information retained; mechanism Unspecified; supertype absent", + "00000000-0000-4000-8000-000000000406":"Information retained; mechanism Unspecified; supertype absent", + "00000000-0000-4000-8000-000000000108":"type/multiplicity/unit retained; direction Unspecified; storage Value; default absent", + "00000000-0000-4000-8000-000000000407":"type/multiplicity/unit retained; direction Unspecified; storage Value; default absent" + }, + "expected_changed_paths":["project.arcadia","oa.arcadia","sa/reporting.arcadia"], + "expected_rename_target":"00000000-0000-4000-8000-000000000403", + "execution_complete":false + }), + ); + + // Establish an explicit current-schema full Project BEFORE calling the legacy bundle migrator. + let reference_bundle = literal_reference(&raw); + let reference = compile_bundle(&reference_bundle, ProjectLimits::default()) + .expect("explicit current-schema reference admission"); + assert_eq!( + reference.bundle, reference_bundle, + "reference must need no UUID insertion or normalization" + ); + assert!( + reference.decoded.migration.is_none(), + "reference is already current-schema" + ); + validate_candidate(&reference.decoded.project).expect("reference full-model admission"); + write_json!( + &out.join("independent-reference-source-bundle.json"), + &reference_bundle, + ); + write_json!( + &out.join("independent-reference-project.json"), + &reference.decoded.project, + ); + let flat = flattened_legacy(&raw); + let legacy = language::parse_with_report_limited(&flat, ProjectLimits::default().model) + .expect("independent flattened legacy parse"); + assert_eq!( + legacy.project, reference.decoded.project, + "flattened legacy semantics equal independently specified current-schema Project" + ); + write_new( + &out.join("independent-flattened-legacy.arcadia"), + flat.as_bytes(), + ); + write_json!( + &out.join("independent-legacy-project.json"), + &legacy.project, + ); + + let migrated = compile_bundle(&raw, ProjectLimits::default()).expect("public bundle migration"); + // Retain the actual candidate even if any following independent admission fails. + // These files are evidence, never a PASS receipt or an admitted baseline. + write_json!(&out.join("candidate-source-bundle.json"), &migrated.bundle); + write_json!( + &out.join("candidate-project.json"), + &migrated.decoded.project + ); + write_json!( + &out.join("candidate-migration-report.json"), + &migrated.decoded.migration + ); + for (path, text) in &migrated.bundle.files { + write_new(&out.join("candidate").join(path), text.as_bytes()); + } + assert_eq!( + migrated.decoded.project, reference.decoded.project, + "complete independent Project equality before baseline admission" + ); + assert_eq!( + migrated.decoded.migration, legacy.migration, + "both legacy assembly paths report the same migration" + ); + let report = migrated + .decoded + .migration + .as_ref() + .expect("explicit migration report"); + assert_eq!((report.from_schema, report.to_schema), (3, 7)); + let expected_defaults: BTreeSet<_> = [107, 108, 406, 407] + .into_iter() + .map(|n| { + ( + format!("00000000-0000-4000-8000-{n:012}") + .parse::() + .unwrap(), + "body".to_string(), + ) + }) + .collect(); + assert_eq!( + report + .semantic_defaults + .iter() + .map(|d| (d.object, d.field.clone())) + .collect::>(), + expected_defaults + ); + assert_eq!( + report.semantic_defaults.len(), + 4, + "no duplicate or undeclared semantic defaults" + ); + assert!( + report.preserved_ports.is_empty() + && report.generated_endpoints.is_empty() + && report.orientation_defaults.is_empty() + && report.required_resolutions.is_empty() + && report.generated_interface_allocations.is_empty() + && report.unresolved_message_values.is_empty(), + "this fixture needs no generated identities, port repairs, traces or unresolved migrations" + ); + assert_eq!(migrated.bundle.entry, raw.entry); + assert!( + migrated.bundle.files.keys().eq(raw.files.keys()), + "all original file names survive" + ); + let added_descriptions = added_empty_descriptions(&reference, &migrated); + write_json!( + &out.join("qualified-empty-description-fields.json"), + &json!({ + "scope": "Only four formerly omitted description fields become explicit empty literals; no original string or comment is exempted", + "owners": [ + {"path":"oa.arcadia","id":"00000000-0000-4000-8000-000000000107","field":"description","value":""}, + {"path":"oa.arcadia","id":"00000000-0000-4000-8000-000000000108","field":"description","value":""}, + {"path":"sa/reporting.arcadia","id":"00000000-0000-4000-8000-000000000406","field":"description","value":""}, + {"path":"sa/reporting.arcadia","id":"00000000-0000-4000-8000-000000000407","field":"description","value":""} + ] + }) + ); + let mut changes = Vec::new(); + for (path, before) in &raw.files { + let after = &migrated.bundle.files[path]; + let qualified = added_descriptions.get(path).map_or(&[][..], Vec::as_slice); + assert_eq!( + comments_and_strings(before, &[]), + comments_and_strings(after, qualified), + "all original comments/strings/UUID spellings remain exact in {path}" + ); + let extra_empty = format!("{after}\ndescription \"\";"); + assert_ne!( + comments_and_strings(before, &[]), + comments_and_strings(&extra_empty, qualified), + "an additional unqualified empty string must never be filtered" + ); + for class in [language::TokenClass::Comment, language::TokenClass::String] { + if let Some(token) = language::tokenize(after) + .into_iter() + .find(|token| token.class == class && !qualified.contains(&token.span)) + { + let mut omitted = after.clone(); + omitted.replace_range( + token.span.start..token.span.end, + &" ".repeat(token.span.end - token.span.start), + ); + assert_ne!( + comments_and_strings(before, &[]), + comments_and_strings(&omitted, qualified), + "omitting an original {class:?} must be detected in {path}" + ); + } + } + if before != after { + changes.push(path.clone()); + } + } + assert_eq!( + changes, + vec!["oa.arcadia", "project.arcadia", "sa/reporting.arcadia"], + "only declared schema/default paths may change" + ); + let mut expected_header = raw.files["project.arcadia"].clone(); + once(&mut expected_header, "arcadia 3;", "arcadia 7;"); + assert_eq!( + migrated.bundle.files["project.arcadia"], expected_header, + "entry changes only its schema token" + ); + assert_eq!( + aliases(&raw) + .iter() + .map(|(p, v)| (p.clone(), v.len())) + .collect::>(), + BTreeMap::from([ + ("sa/reporting.arcadia".into(), 4), + ("views.arcadia".into(), 2) + ]) + ); + assert_eq!( + aliases(&migrated.bundle) + .iter() + .map(|(p, v)| (p.clone(), v.len())) + .collect::>(), + BTreeMap::from([ + ("sa/reporting.arcadia".into(), 4), + ("views.arcadia".into(), 2) + ]) + ); + let current = compile_bundle(&migrated.bundle, ProjectLimits::default()) + .expect("current baseline re-admission"); + assert!(current.decoded.migration.is_none()); + assert_eq!( + current.bundle, migrated.bundle, + "current baseline has no further normalization" + ); + assert_eq!(current.decoded.project, reference.decoded.project); + validate_candidate(¤t.decoded.project).unwrap(); + for (path, text) in ¤t.bundle.files { + write_new(&out.join("baseline").join(path), text.as_bytes()); + } + let readback = source_files::load_project( + &out.join("baseline/project.arcadia"), + ProjectLimits::default(), + ) + .expect("baseline disk readback"); + assert_eq!(readback.bundle, current.bundle); + assert_eq!(readback.reachable_bundle(), current.bundle); + assert!( + !readback + .diagnostics + .iter() + .any(|d| d.diagnostic.severity == validation::Severity::Error) + ); + let original_after = source_files::load_project(entry, ProjectLimits::default()).unwrap(); + assert_eq!( + original_after.bundle, raw, + "original source must remain untouched" + ); + for (path, text) in &raw.files { + assert_eq!( + fs::read(out.join("legacy-input").join(path)).unwrap(), + text.as_bytes() + ); + } + write_json!(&out.join("migration-report.json"), report); + write_json!(&out.join("baseline-source-bundle.json"), ¤t.bundle); + write_json!(&out.join("baseline-project.json"), ¤t.decoded.project); + write_json!( + &out.join("baseline-alias-offsets.json"), + &aliases(¤t.bundle), + ); + write_json!( + &out.join("result.json"), + &json!({"status":"PASS","original_files":6,"baseline_files":6, + "changed_paths":changes,"from_schema":3,"to_schema":7,"semantic_defaults":4, + "independent_full_project_equal":true,"current_readmission_exact":true, + "originals_preserved":true,"qualified_added_empty_descriptions":4,"alias_tokens":6,"alias_files":2, + "scope":"Exact fixture migration preparation only; full equality uses public shared semantic code with independently authored current-schema defaults. Not independent migration implementation, canonical model proof or GUI acceptance."}), + ); + println!( + "PASS migrate: six originals preserved; explicit current-schema reference and flattened legacy full Project agree; public schema3-to7 migration and current re-admission exact; six alias tokens rebound" + ); +} +fn main() { + let args: Vec<_> = std::env::args().collect(); + assert!( + args.len() == 4 && args[1] == "migrate", + "usage: migrate LEGACY_ENTRY NEW_OUTPUT" + ); + run(Path::new(&args[2]), Path::new(&args[3])); +} diff --git a/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/migration-fixture-e124029-r2/stderr.log b/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/migration-fixture-e124029-r2/stderr.log new file mode 100644 index 00000000..e69de29b diff --git a/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/migration-fixture-e124029-r2/stdout.log b/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/migration-fixture-e124029-r2/stdout.log new file mode 100644 index 00000000..e69de29b diff --git a/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/migration-fixture-e124029/build.json b/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/migration-fixture-e124029/build.json new file mode 100644 index 00000000..4783bb8a --- /dev/null +++ b/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/migration-fixture-e124029/build.json @@ -0,0 +1,199 @@ +{ + "source": "e1240295bd114d23d3f67a69e6b38bdb2e25bb0d", + "head_after": "e1240295bd114d23d3f67a69e6b38bdb2e25bb0d", + "start": "2026-09-13T03:35:51.026235+00:00", + "end": "2026-09-13T03:36:21.236382+00:00", + "command": [ + "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\bin\\rustc.exe", + "--edition=2024", + "-D", + "warnings", + "-C", + "linker=C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\llvm-mingw-20260908-ucrt-x86_64\\bin\\clang.exe", + "-L", + "dependency=C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\target\\debug\\deps", + "--extern", + "serde_json=C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\target\\debug\\deps\\libserde_json-da2c4f333fc47818.rlib", + "--extern", + "oa_core=C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\target\\debug\\deps\\liboa_core-145180297aa692e4.rlib", + "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\navigation-palette-migrate-fixture.rs", + "-o", + "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\native-qa\\migration-fixture-e124029\\migration-fixture-e124029.exe" + ], + "exit": 0, + "outcome": "passed", + "failure": null, + "inputs_before": { + "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\build-navigation-palette-probe.py": { + "bytes": 9681, + "sha256": "c3dee4258cb2a2523c6395f70facad6966a663f4c496201b094f4e613a84cf96" + }, + "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\navigation-palette-migrate-fixture.rs": { + "bytes": 14644, + "sha256": "40b036d5bd56a8266209bf7dfb21e3469a428d87bd788c82a584bbd549514fc2" + }, + "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\navigation-palette-migrate-fixture-inputs\\project.arcadia": { + "bytes": 606, + "sha256": "787f6b67b179ffd221f7e5faf1a4edd74cfd116aa1e3b5e9ed9f22fbff612d8d" + }, + "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\navigation-palette-migrate-fixture-inputs\\oa.arcadia": { + "bytes": 2142, + "sha256": "5f60642f211b2d352a951092faeeb7503d4fb7f6f7fca99e810347231101d31c" + }, + "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\navigation-palette-migrate-fixture-inputs\\sa\\participants.arcadia": { + "bytes": 1231, + "sha256": "1abad579812e77877b45a3d8e3c3e9da734be2d04a0254cc730a5257ebd2dc88" + }, + "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\navigation-palette-migrate-fixture-inputs\\sa\\reporting.arcadia": { + "bytes": 2839, + "sha256": "f0b7443f728912ca163de39b6055876b533a77feaa3219b2d40a2dd65712e058" + }, + "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\navigation-palette-migrate-fixture-inputs\\sa\\assurance.arcadia": { + "bytes": 682, + "sha256": "ab76044836e4dcd42a82d316846ec87da2108939aa2037640c5bca1d2ecdee0f" + }, + "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\navigation-palette-migrate-fixture-inputs\\views.arcadia": { + "bytes": 3508, + "sha256": "e29ad3f406a6a50d2f0ae2ca2a53ee3b0c18222cd4098704a46d4f48b64ea17f" + }, + "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\target\\debug\\deps\\arcadia_studio-ac73ce8f77f371eb.exe": { + "bytes": 150072832, + "sha256": "d1e4f672ca53fc914be70712cf87cb828f15181513fc9020cd02fb4d92af5c4e" + }, + "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\target\\debug\\.fingerprint\\oa-desktop-ac73ce8f77f371eb\\test-bin-arcadia-studio.json": { + "bytes": 1151, + "sha256": "157536ab9cab28f6d24809704b20addf692346836fc35a49a11ef1f717798bd3" + }, + "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\target\\debug\\.fingerprint\\serde_json-da2c4f333fc47818\\lib-serde_json": { + "bytes": 16, + "sha256": "e8cfaf50bfe2915903f506b08dac38787bb055882151fe786a2c061f35685b93" + }, + "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\target\\debug\\.fingerprint\\serde_json-da2c4f333fc47818\\lib-serde_json.json": { + "bytes": 838, + "sha256": "03eccf1185608696b40525cef5939679537f47f50165c2b392c88c56e382e6cf" + }, + "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\target\\debug\\.fingerprint\\oa-core-145180297aa692e4\\lib-oa_core": { + "bytes": 16, + "sha256": "05a8e6e4cf06e5080690151599e1c3b9ef8a591ac41e8de7fe92726cd6b07b85" + }, + "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\target\\debug\\.fingerprint\\oa-core-145180297aa692e4\\lib-oa_core.json": { + "bytes": 957, + "sha256": "6fb87df12cce497194402698471d05117bbac68e1d0d501799ca7f276872b5c0" + }, + "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\target\\debug\\deps\\libserde_json-da2c4f333fc47818.rlib": { + "bytes": 2991440, + "sha256": "485300d4125a69de7da5413f832eb4b9cde547e60f103f3b284e49aee4194d05" + }, + "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\target\\debug\\deps\\liboa_core-145180297aa692e4.rlib": { + "bytes": 102931760, + "sha256": "4033d79b63c3438c513f937d16d0a14737314f68d7a5123a3d5504c909af5c20" + }, + "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\navigation-palette-gates-20260913\\list-e124029.result.json": { + "bytes": 119298, + "sha256": "f7fbb70f7984cd8adb089c0ad749d8240ec92f363679205a2d1adf805a15c2a6" + }, + "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\navigation-palette-gates-20260913\\list-e124029.admission.json": { + "bytes": 23467, + "sha256": "36cd297979d854db50add69f7bebd8225b73093c1c5d7c9feed95bbbd7fdb0e8" + }, + "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\navigation-palette-gates-20260913\\list-e124029.inputs.json": { + "bytes": 107751, + "sha256": "a011170b83ddc0c835428c10b2079b0df02d2bd6f90167f16b1297c683601a87" + }, + "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\navigation-palette-gates-20260913\\list-e124029.log": { + "bytes": 117338, + "sha256": "8dbd49a9c36a6eff682049e6a3a919666e75e4e312a53d4c1ff60b82e46b8404" + }, + "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\navigation-palette-required-tests-20260913.json": { + "bytes": 3318, + "sha256": "e426be35c31925d91b5ce6df15abe30f814ba6134a8013ce47208c365df7127a" + }, + "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\bin\\rustc.exe": { + "bytes": 12721664, + "sha256": "6f4bef66261261fcb43131be8720bab817d403a09edec7455c371974b90bdb7e" + }, + "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\llvm-mingw-20260908-ucrt-x86_64\\bin\\clang.exe": { + "bytes": 14336, + "sha256": "93303edd5791e4b60682f819267a34c349e5f52d052d067e006e76d21cc82ea4" + } + }, + "source_inputs": [ + { + "path": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\navigation-palette-migrate-fixture.rs", + "preserved": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\native-qa\\migration-fixture-e124029\\source-inputs\\navigation-palette-migrate-fixture.rs", + "bytes": 14644, + "sha256": "40b036d5bd56a8266209bf7dfb21e3469a428d87bd788c82a584bbd549514fc2" + }, + { + "path": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\navigation-palette-migrate-fixture-inputs\\project.arcadia", + "preserved": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\native-qa\\migration-fixture-e124029\\source-inputs\\navigation-palette-migrate-fixture-inputs\\project.arcadia", + "bytes": 606, + "sha256": "787f6b67b179ffd221f7e5faf1a4edd74cfd116aa1e3b5e9ed9f22fbff612d8d" + }, + { + "path": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\navigation-palette-migrate-fixture-inputs\\oa.arcadia", + "preserved": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\native-qa\\migration-fixture-e124029\\source-inputs\\navigation-palette-migrate-fixture-inputs\\oa.arcadia", + "bytes": 2142, + "sha256": "5f60642f211b2d352a951092faeeb7503d4fb7f6f7fca99e810347231101d31c" + }, + { + "path": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\navigation-palette-migrate-fixture-inputs\\sa\\participants.arcadia", + "preserved": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\native-qa\\migration-fixture-e124029\\source-inputs\\navigation-palette-migrate-fixture-inputs\\sa\\participants.arcadia", + "bytes": 1231, + "sha256": "1abad579812e77877b45a3d8e3c3e9da734be2d04a0254cc730a5257ebd2dc88" + }, + { + "path": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\navigation-palette-migrate-fixture-inputs\\sa\\reporting.arcadia", + "preserved": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\native-qa\\migration-fixture-e124029\\source-inputs\\navigation-palette-migrate-fixture-inputs\\sa\\reporting.arcadia", + "bytes": 2839, + "sha256": "f0b7443f728912ca163de39b6055876b533a77feaa3219b2d40a2dd65712e058" + }, + { + "path": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\navigation-palette-migrate-fixture-inputs\\sa\\assurance.arcadia", + "preserved": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\native-qa\\migration-fixture-e124029\\source-inputs\\navigation-palette-migrate-fixture-inputs\\sa\\assurance.arcadia", + "bytes": 682, + "sha256": "ab76044836e4dcd42a82d316846ec87da2108939aa2037640c5bca1d2ecdee0f" + }, + { + "path": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\navigation-palette-migrate-fixture-inputs\\views.arcadia", + "preserved": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\native-qa\\migration-fixture-e124029\\source-inputs\\navigation-palette-migrate-fixture-inputs\\views.arcadia", + "bytes": 3508, + "sha256": "e29ad3f406a6a50d2f0ae2ca2a53ee3b0c18222cd4098704a46d4f48b64ea17f" + } + ], + "changed_inputs": [], + "status_after": "", + "compiler": "rustc 1.98.1 (48a229cea 2026-09-01)\nbinary: rustc\ncommit-hash: 48a229ceaefd4985c50990b14116b6d856af0985\ncommit-date: 2026-09-01\nhost: x86_64-pc-windows-gnullvm\nrelease: 1.98.1\nLLVM version: 22.1.8\n", + "tools": { + "rustc": { + "path": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\bin\\rustc.exe", + "bytes": 12721664, + "sha256": "6f4bef66261261fcb43131be8720bab817d403a09edec7455c371974b90bdb7e", + "version": "rustc 1.98.1 (48a229cea 2026-09-01)\nbinary: rustc\ncommit-hash: 48a229ceaefd4985c50990b14116b6d856af0985\ncommit-date: 2026-09-01\nhost: x86_64-pc-windows-gnullvm\nrelease: 1.98.1\nLLVM version: 22.1.8\n" + }, + "clang": { + "path": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\llvm-mingw-20260908-ucrt-x86_64\\bin\\clang.exe", + "bytes": 14336, + "sha256": "93303edd5791e4b60682f819267a34c349e5f52d052d067e006e76d21cc82ea4", + "version": "clang version 23.1.1 (https://github.com/llvm/llvm-project.git 6dfe1677ab8dffbc6ec13d53a1e0215d75147689)\nTarget: x86_64-w64-windows-gnu\nThread model: posix\nInstalledDir: C:/Users/User/Documents/Git/ARCADIA-Studio/.local/toolchain/llvm-mingw-20260908-ucrt-x86_64/bin\nConfiguration file: C:/Users/User/Documents/Git/ARCADIA-Studio/.local/toolchain/llvm-mingw-20260908-ucrt-x86_64/bin/x86_64-w64-windows-gnu.cfg\n" + } + }, + "launcher": { + "bytes": 9681, + "sha256": "c3dee4258cb2a2523c6395f70facad6966a663f4c496201b094f4e613a84cf96" + }, + "binary": { + "path": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\native-qa\\migration-fixture-e124029\\migration-fixture-e124029.exe", + "bytes": 21502976, + "sha256": "daf788d0c4326f43ec2c4318c3299fcb91575fba148f27ef4a806e46f90a3ac2" + }, + "scope": "Standalone probe built against dependency fingerprints of the exact admitted desktop test. Execution is separate.", + "stdout": { + "bytes": 0, + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "stderr": { + "bytes": 0, + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + } +} diff --git a/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/migration-fixture-e124029/source-inputs/navigation-palette-migrate-fixture-inputs/oa.arcadia b/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/migration-fixture-e124029/source-inputs/navigation-palette-migrate-fixture-inputs/oa.arcadia new file mode 100644 index 00000000..0aa8c9dd --- /dev/null +++ b/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/migration-fixture-e124029/source-inputs/navigation-palette-migrate-fixture-inputs/oa.arcadia @@ -0,0 +1,41 @@ +// Operational Analysis describes the need without choosing a technical solution. +oa_actor vessel "Vessel in distress" id "00000000-0000-4000-8000-000000000101" { + description "The vessel's crew needs to communicate its position and obtain assistance."; +} +oa_entity rescue_team "Rescue coordination" id "00000000-0000-4000-8000-000000000102" { + description "The coordination team assesses the report and decides on a response."; +} + +// This is work decomposition. It does not assign either activity to a participant. +oa_activity respond "Respond to distress" id "00000000-0000-4000-8000-000000000103" { + // Keep the crew's reporting responsibility visible when decomposing the need. + oa_activity report_distress "Report distress" id "00000000-0000-4000-8000-000000000104" { + description "Provide the vessel's situation and last known position."; + } + oa_activity assess_incident "Assess incident" id "00000000-0000-4000-8000-000000000105" { + description "Decide which assistance is needed using the received report."; + } +} + +oa_capability protect_life "Protect life at sea" id "00000000-0000-4000-8000-000000000106" {} +oa_exchange_item oa_report_data "Distress report" id "00000000-0000-4000-8000-000000000107" { + kind Information; + oa_data_field reported_latitude "Reported latitude" id "00000000-0000-4000-8000-000000000108" { + type_ref Real; + unit "degrees north"; + } +} + +// Allocation remains explicit even though the saved architecture view nests work. +allocation crew_reports "Crew reports distress" id "00000000-0000-4000-8000-000000000201" { + source @vessel; target @report_distress; +} +allocation team_assesses "Team assesses incident" id "00000000-0000-4000-8000-000000000202" { + source @rescue_team; target @assess_incident; +} +interaction distress_signal "Distress signal" id "00000000-0000-4000-8000-000000000203" { + source @report_distress; target @assess_incident; items [@oa_report_data]; +} +capability_involvement operational_contribution "Assessment supports rescue" id "00000000-0000-4000-8000-000000000204" { + source @assess_incident; target @protect_life; +} diff --git a/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/migration-fixture-e124029/source-inputs/navigation-palette-migrate-fixture-inputs/project.arcadia b/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/migration-fixture-e124029/source-inputs/navigation-palette-migrate-fixture-inputs/project.arcadia new file mode 100644 index 00000000..8bb4292f --- /dev/null +++ b/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/migration-fixture-e124029/source-inputs/navigation-palette-migrate-fixture-inputs/project.arcadia @@ -0,0 +1,11 @@ +arcadia 3; +project distress_response "Distress response — nested source project" id "00000000-0000-4000-8000-000000000001" { + description "A small OA/SA model for learning source ownership, typed ports and reviewed graphical edits. Open this file. Start with the saved allocation views, then browse Handle distress reports and use Source for selection."; + + // Includes organize documents; aliases are shared by the whole project. + include "oa.arcadia"; + include "sa/participants.arcadia"; + include "sa/reporting.arcadia"; + include "sa/assurance.arcadia"; + include "views.arcadia"; +} diff --git a/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/migration-fixture-e124029/source-inputs/navigation-palette-migrate-fixture-inputs/sa/assurance.arcadia b/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/migration-fixture-e124029/source-inputs/navigation-palette-migrate-fixture-inputs/sa/assurance.arcadia new file mode 100644 index 00000000..b9678cbe --- /dev/null +++ b/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/migration-fixture-e124029/source-inputs/navigation-palette-migrate-fixture-inputs/sa/assurance.arcadia @@ -0,0 +1,11 @@ +// A separate functional aggregate provides a cross-file reparenting example. +// Move Assess report here through Properties, then inspect both source files. +sa_function assure_response "Assure response quality" id "00000000-0000-4000-8000-000000000411" { + description "Review the service response independently of report transport."; + sa_function review_response "Review response" id "00000000-0000-4000-8000-000000000412" { + description "Check that a coordinator can review the received information."; + } +} +allocation system_reviews "System supports response review" id "00000000-0000-4000-8000-000000000504" { + source @rescue_system; target @review_response; +} diff --git a/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/migration-fixture-e124029/source-inputs/navigation-palette-migrate-fixture-inputs/sa/participants.arcadia b/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/migration-fixture-e124029/source-inputs/navigation-palette-migrate-fixture-inputs/sa/participants.arcadia new file mode 100644 index 00000000..cdd7f402 --- /dev/null +++ b/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/migration-fixture-e124029/source-inputs/navigation-palette-migrate-fixture-inputs/sa/participants.arcadia @@ -0,0 +1,22 @@ +// System Analysis identifies one system of interest and its external participant. +sa_system rescue_system "Rescue coordination system" id "00000000-0000-4000-8000-000000000301" { + description "The selected system receives reports and supports the coordinator."; + // A component port belongs to its participant, not to an allocated function. + sa_port reporting_input "Reporting input" id "00000000-0000-4000-8000-000000000303" { + contract { Component { kind Flow; orientation In; }; }; + } +} +sa_actor vessel_service "Vessel communication service" id "00000000-0000-4000-8000-000000000302" { + description "An external service sends distress information across the system boundary."; + sa_port reporting_output "Reporting output" id "00000000-0000-4000-8000-000000000304" { + contract { Component { kind Flow; orientation Out; }; }; + } +} + +// The boundary exchange connects actual participant ports. Function realization +// is declared separately in reporting.arcadia using port/exchange allocations. +boundary_exchange radio_reporting "Radio reporting" id "00000000-0000-4000-8000-000000000501" { + source @reporting_output; target @reporting_input; + oriented true; + items [@sa_report_data]; +} diff --git a/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/migration-fixture-e124029/source-inputs/navigation-palette-migrate-fixture-inputs/sa/reporting.arcadia b/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/migration-fixture-e124029/source-inputs/navigation-palette-migrate-fixture-inputs/sa/reporting.arcadia new file mode 100644 index 00000000..bfeac4b0 --- /dev/null +++ b/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/migration-fixture-e124029/source-inputs/navigation-palette-migrate-fixture-inputs/sa/reporting.arcadia @@ -0,0 +1,52 @@ +// Functional containment is independent of the participant allocations below. +sa_function handle_reports "Handle distress reports" id "00000000-0000-4000-8000-000000000401" { + description "A functional decomposition of reporting and assessment."; + sa_function transmit_report "Transmit report" id "00000000-0000-4000-8000-000000000402" { + description "Encode and send the vessel's distress report."; + sa_port report_out "Report output" id "00000000-0000-4000-8000-000000000404" { + contract { FunctionOutput { outgoing_items [@sa_report_data]; }; }; + } + } + // Assessment rationale travels with this declaration when it is reparented. + sa_function assess_report "Assess report" id "00000000-0000-4000-8000-000000000403" { + description "Validate the received report and present it to the coordinator."; + sa_port report_in "Report input" id "00000000-0000-4000-8000-000000000405" { + contract { FunctionInput { incoming_items [@sa_report_data]; }; }; + } + } // Assessment remains performed by rescue_system after a hierarchy edit. +} + +// This group comment stays in this file; it is not attached to the function above. + +sa_exchange_item sa_report_data "Digital distress report" id "00000000-0000-4000-8000-000000000406" { + kind Information; + sa_data_field encoded_latitude "Encoded latitude" id "00000000-0000-4000-8000-000000000407" { + type_ref Real; + unit "degrees north"; + } +} +sa_capability coordinate_response "Coordinate distress response" id "00000000-0000-4000-8000-000000000408" {} + +allocation vessel_transmits "Vessel service transmits" id "00000000-0000-4000-8000-000000000502" { + source @vessel_service; target @transmit_report; +} +allocation system_assesses "System assesses report" id "00000000-0000-4000-8000-000000000503" { + source @rescue_system; target @assess_report; +} +functional_exchange validated_report "Validated report" id "00000000-0000-4000-8000-000000000505" { + source @transmit_report; source_port @report_out; + target @assess_report; target_port @report_in; + items [@sa_report_data]; +} +port_allocation output_realization "Reporting output realizes function output" id "00000000-0000-4000-8000-000000000506" { + source @reporting_output; target @report_out; +} +port_allocation input_realization "Reporting input realizes function input" id "00000000-0000-4000-8000-000000000507" { + source @reporting_input; target @report_in; +} +exchange_allocation report_transport "Radio reporting carries the function exchange" id "00000000-0000-4000-8000-000000000508" { + source @radio_reporting; target @validated_report; +} +capability_involvement system_contribution "Assessment supports coordination" id "00000000-0000-4000-8000-000000000509" { + source @assess_report; target @coordinate_response; +} diff --git a/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/migration-fixture-e124029/source-inputs/navigation-palette-migrate-fixture-inputs/views.arcadia b/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/migration-fixture-e124029/source-inputs/navigation-palette-migrate-fixture-inputs/views.arcadia new file mode 100644 index 00000000..62d9b5cb --- /dev/null +++ b/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/migration-fixture-e124029/source-inputs/navigation-palette-migrate-fixture-inputs/views.arcadia @@ -0,0 +1,71 @@ +// Views are projections. Their visual allocation containers do not set parent. +diagram oa_architecture "OA — participants and activities" id "00000000-0000-4000-8000-000000000601" { + description "The crew reports; the coordination team assesses. Containment of work is shown separately in the Model explorer."; + layer Oa; projection Allocation; +} +node oa_vessel_view id "00000000-0000-4000-8000-000000000701" { + diagram @oa_architecture; element @vessel; + position { x 60; y 60; }; size { width 272; height 210; }; +} +node oa_team_view id "00000000-0000-4000-8000-000000000702" { + diagram @oa_architecture; element @rescue_team; + position { x 540; y 60; }; size { width 300; height 210; }; +} +node oa_report_view id "00000000-0000-4000-8000-000000000703" { + diagram @oa_architecture; element @report_distress; + position { x 84; y 128; }; size { width 224; height 104; }; +} +node oa_assessment_view id "00000000-0000-4000-8000-000000000704" { + diagram @oa_architecture; element @assess_incident; + position { x 564; y 128; }; size { width 252; height 104; }; +} + +diagram sa_architecture "SA — system boundary and functions" id "00000000-0000-4000-8000-000000000602" { + description "Flow component ports define the boundary; separate function ports carry the functional exchange."; + layer Sa; projection Allocation; +} +node sa_vessel_view id "00000000-0000-4000-8000-000000000711" { + diagram @sa_architecture; element @vessel_service; + position { x 60; y 60; }; size { width 272; height 220; }; +} +node sa_system_view id "00000000-0000-4000-8000-000000000712" { + diagram @sa_architecture; element @rescue_system; + position { x 540; y 60; }; size { width 300; height 340; }; +} +node sa_transmission_view id "00000000-0000-4000-8000-000000000713" { + diagram @sa_architecture; element @transmit_report; + position { x 84; y 128; }; size { width 224; height 104; }; +} +node sa_assessment_view id "00000000-0000-4000-8000-000000000714" { + diagram @sa_architecture; element @assess_report; + position { x 564; y 128; }; size { width 252; height 104; }; +} +node sa_review_view id "00000000-0000-4000-8000-000000000715" { + diagram @sa_architecture; element @review_response; + position { x 564; y 272; }; size { width 252; height 104; }; +} + +diagram sa_decomposition "SA — functional containment" id "00000000-0000-4000-8000-000000000603" { + description "These containers represent real function parents. Compare them with the explicit allocations in the architecture view."; + layer Sa; projection FunctionalDataflow; +} +node handling_view id "00000000-0000-4000-8000-000000000721" { + diagram @sa_decomposition; element @handle_reports; + position { x 40; y 60; }; size { width 500; height 230; }; +} +node transmission_view id "00000000-0000-4000-8000-000000000722" { + diagram @sa_decomposition; element @transmit_report; + position { x 64; y 136; }; size { width 204; height 104; }; +} +node assessment_view id "00000000-0000-4000-8000-000000000723" { + diagram @sa_decomposition; element @assess_report; + position { x 310; y 136; }; size { width 204; height 104; }; +} +node assurance_view id "00000000-0000-4000-8000-000000000724" { + diagram @sa_decomposition; element @assure_response; + position { x 590; y 60; }; size { width 300; height 230; }; +} +node review_view id "00000000-0000-4000-8000-000000000725" { + diagram @sa_decomposition; element @review_response; + position { x 614; y 136; }; size { width 252; height 104; }; +} diff --git a/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/migration-fixture-e124029/source-inputs/navigation-palette-migrate-fixture.rs b/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/migration-fixture-e124029/source-inputs/navigation-palette-migrate-fixture.rs new file mode 100644 index 00000000..4a492cf2 --- /dev/null +++ b/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/migration-fixture-e124029/source-inputs/navigation-palette-migrate-fixture.rs @@ -0,0 +1,398 @@ +//! Bounded preparation of this exact six-file source3 example. Not a save oracle. +//! migrate LEGACY_ENTRY NEW_OUTPUT; never edits the legacy input or an existing output. +use oa_core::{source_project::*, *}; +use serde_json::json; +use std::{ + collections::{BTreeMap, BTreeSet}, + fs::{self, OpenOptions}, + io::Write, + path::Path, +}; + +const INPUTS: [(&str, &str); 6] = [ + ( + "project.arcadia", + include_str!("navigation-palette-migrate-fixture-inputs/project.arcadia"), + ), + ( + "oa.arcadia", + include_str!("navigation-palette-migrate-fixture-inputs/oa.arcadia"), + ), + ( + "sa/participants.arcadia", + include_str!("navigation-palette-migrate-fixture-inputs/sa/participants.arcadia"), + ), + ( + "sa/reporting.arcadia", + include_str!("navigation-palette-migrate-fixture-inputs/sa/reporting.arcadia"), + ), + ( + "sa/assurance.arcadia", + include_str!("navigation-palette-migrate-fixture-inputs/sa/assurance.arcadia"), + ), + ( + "views.arcadia", + include_str!("navigation-palette-migrate-fixture-inputs/views.arcadia"), + ), +]; +fn write_new(path: &Path, bytes: &[u8]) { + fs::create_dir_all(path.parent().unwrap()).expect("create owned output parent"); + let mut file = OpenOptions::new() + .write(true) + .create_new(true) + .open(path) + .expect("create new output file"); + file.write_all(bytes).unwrap(); + file.sync_all().unwrap(); + assert_eq!(fs::read(path).unwrap(), bytes, "exact output readback"); +} +macro_rules! write_json { + ($path:expr, $value:expr $(,)?) => {{ + let mut bytes = serde_json::to_vec_pretty($value).unwrap(); + bytes.push(b'\n'); + write_new($path, &bytes); + }}; +} + +fn once(text: &mut String, old: &str, new: &str) { + assert_eq!( + text.matches(old).count(), + 1, + "exact fixed fixture edit: {old}" + ); + *text = text.replacen(old, new, 1); +} +fn literal_reference(raw: &SourceBundle) -> SourceBundle { + // Independently specified current-schema semantics, not copied from migration output. + let mut current = raw.clone(); + once( + current.files.get_mut("project.arcadia").unwrap(), + "arcadia 3;", + "arcadia 7;", + ); + for path in ["oa.arcadia", "sa/reporting.arcadia"] { + let source = current.files.get_mut(path).unwrap(); + once( + source, + "kind Information;", + "kind Information; mechanism Unspecified; supertype none;", + ); + once( + source, + "unit \"degrees north\";", + "unit \"degrees north\"; direction Unspecified; storage Value; default none;", + ); + } + current +} +fn flattened_legacy(raw: &SourceBundle) -> String { + // Fixed, shallow include graph only. This is independent of bundle assembly/upgrading. + let mut flat = raw.files["project.arcadia"].clone(); + for path in [ + "oa.arcadia", + "sa/participants.arcadia", + "sa/reporting.arcadia", + "sa/assurance.arcadia", + "views.arcadia", + ] { + assert!( + inspect_includes(path, &raw.files[path], false, ProjectLimits::default()) + .unwrap() + .is_empty() + ); + once(&mut flat, &format!("include \"{path}\";"), &raw.files[path]); + } + flat +} +fn comments_and_strings(source: &str) -> Vec<(language::TokenClass, &str)> { + language::tokenize(source) + .into_iter() + .filter(|token| { + matches!( + token.class, + language::TokenClass::Comment | language::TokenClass::String + ) + }) + .map(|token| (token.class, &source[token.span.start..token.span.end])) + .collect() +} +fn aliases(bundle: &SourceBundle) -> BTreeMap> { + bundle + .files + .iter() + .filter_map(|(path, text)| { + let starts: Vec<_> = language::tokenize(text) + .into_iter() + .filter(|token| { + token.class == language::TokenClass::Identifier + && &text[token.span.start..token.span.end] == "assess_report" + }) + .map(|token| token.span.start) + .collect(); + (!starts.is_empty()).then(|| (path.clone(), starts)) + }) + .collect() +} +fn run(entry: &Path, output: &Path) { + assert_eq!( + SCHEMA_VERSION, 7, + "this bounded fixture preparer requires current schema7 core" + ); + assert_eq!( + entry.file_name().and_then(|name| name.to_str()), + Some("project.arcadia") + ); + let disk = + source_files::load_project(entry, ProjectLimits::default()).expect("legacy disk discovery"); + assert!( + !disk + .diagnostics + .iter() + .any(|issue| issue.diagnostic.severity == validation::Severity::Error), + "legacy disk errors" + ); + let raw = disk.reachable_bundle(); + assert_eq!( + raw, disk.bundle, + "no detached or invalid discovered buffers" + ); + let pinned = SourceBundle { + entry: "project.arcadia".into(), + files: INPUTS + .iter() + .map(|(path, text)| (path.to_string(), text.to_string())) + .collect(), + }; + assert_eq!( + raw, pinned, + "only exact pinned original six-file fixture is admitted" + ); + let parent = output + .parent() + .expect("new output parent") + .canonicalize() + .expect("existing output parent"); + let out = parent.join(output.file_name().expect("new output directory name")); + let input_root = entry.canonicalize().unwrap().parent().unwrap().to_owned(); + assert!( + !out.starts_with(&input_root) && !input_root.starts_with(&out), + "output and input trees must not overlap" + ); + fs::create_dir(&out).expect("new output directory must not exist"); + for (path, text) in &raw.files { + write_new(&out.join("legacy-input").join(path), text.as_bytes()); + } + write_json!(&out.join("legacy-source-bundle.json"), &raw); + write_json!( + &out.join("intent.json"), + &json!({ + "scope":"Bounded fixture migration preparation, not native acceptance or general migration proof", + "from_schema":3,"to_schema":7,"original_files":6, + "intended_defaults":{ + "00000000-0000-4000-8000-000000000107":"Information retained; mechanism Unspecified; supertype absent", + "00000000-0000-4000-8000-000000000406":"Information retained; mechanism Unspecified; supertype absent", + "00000000-0000-4000-8000-000000000108":"type/multiplicity/unit retained; direction Unspecified; storage Value; default absent", + "00000000-0000-4000-8000-000000000407":"type/multiplicity/unit retained; direction Unspecified; storage Value; default absent" + }, + "expected_changed_paths":["project.arcadia","oa.arcadia","sa/reporting.arcadia"], + "expected_rename_target":"00000000-0000-4000-8000-000000000403", + "execution_complete":false + }), + ); + + // Establish an explicit current-schema full Project BEFORE calling the legacy bundle migrator. + let reference_bundle = literal_reference(&raw); + let reference = compile_bundle(&reference_bundle, ProjectLimits::default()) + .expect("explicit current-schema reference admission"); + assert_eq!( + reference.bundle, reference_bundle, + "reference must need no UUID insertion or normalization" + ); + assert!( + reference.decoded.migration.is_none(), + "reference is already current-schema" + ); + validate_candidate(&reference.decoded.project).expect("reference full-model admission"); + write_json!( + &out.join("independent-reference-source-bundle.json"), + &reference_bundle, + ); + write_json!( + &out.join("independent-reference-project.json"), + &reference.decoded.project, + ); + let flat = flattened_legacy(&raw); + let legacy = language::parse_with_report_limited(&flat, ProjectLimits::default().model) + .expect("independent flattened legacy parse"); + assert_eq!( + legacy.project, reference.decoded.project, + "flattened legacy semantics equal independently specified current-schema Project" + ); + write_new( + &out.join("independent-flattened-legacy.arcadia"), + flat.as_bytes(), + ); + write_json!( + &out.join("independent-legacy-project.json"), + &legacy.project, + ); + + let migrated = compile_bundle(&raw, ProjectLimits::default()).expect("public bundle migration"); + assert_eq!( + migrated.decoded.project, reference.decoded.project, + "complete independent Project equality before baseline admission" + ); + assert_eq!( + migrated.decoded.migration, legacy.migration, + "both legacy assembly paths report the same migration" + ); + let report = migrated + .decoded + .migration + .as_ref() + .expect("explicit migration report"); + assert_eq!((report.from_schema, report.to_schema), (3, 7)); + let expected_defaults: BTreeSet<_> = [107, 108, 406, 407] + .into_iter() + .map(|n| { + ( + format!("00000000-0000-4000-8000-{n:012}") + .parse::() + .unwrap(), + "body".to_string(), + ) + }) + .collect(); + assert_eq!( + report + .semantic_defaults + .iter() + .map(|d| (d.object, d.field.clone())) + .collect::>(), + expected_defaults + ); + assert_eq!( + report.semantic_defaults.len(), + 4, + "no duplicate or undeclared semantic defaults" + ); + assert!( + report.preserved_ports.is_empty() + && report.generated_endpoints.is_empty() + && report.orientation_defaults.is_empty() + && report.required_resolutions.is_empty() + && report.generated_interface_allocations.is_empty() + && report.unresolved_message_values.is_empty(), + "this fixture needs no generated identities, port repairs, traces or unresolved migrations" + ); + assert_eq!(migrated.bundle.entry, raw.entry); + assert!( + migrated.bundle.files.keys().eq(raw.files.keys()), + "all original file names survive" + ); + let mut changes = Vec::new(); + for (path, before) in &raw.files { + let after = &migrated.bundle.files[path]; + assert_eq!( + comments_and_strings(before), + comments_and_strings(after), + "all original comments/strings/UUID spellings remain exact in {path}" + ); + if before != after { + changes.push(path.clone()); + } + } + assert_eq!( + changes, + vec!["oa.arcadia", "project.arcadia", "sa/reporting.arcadia"], + "only declared schema/default paths may change" + ); + let mut expected_header = raw.files["project.arcadia"].clone(); + once(&mut expected_header, "arcadia 3;", "arcadia 7;"); + assert_eq!( + migrated.bundle.files["project.arcadia"], expected_header, + "entry changes only its schema token" + ); + assert_eq!( + aliases(&raw) + .iter() + .map(|(p, v)| (p.clone(), v.len())) + .collect::>(), + BTreeMap::from([ + ("sa/reporting.arcadia".into(), 4), + ("views.arcadia".into(), 2) + ]) + ); + assert_eq!( + aliases(&migrated.bundle) + .iter() + .map(|(p, v)| (p.clone(), v.len())) + .collect::>(), + BTreeMap::from([ + ("sa/reporting.arcadia".into(), 4), + ("views.arcadia".into(), 2) + ]) + ); + let current = compile_bundle(&migrated.bundle, ProjectLimits::default()) + .expect("current baseline re-admission"); + assert!(current.decoded.migration.is_none()); + assert_eq!( + current.bundle, migrated.bundle, + "current baseline has no further normalization" + ); + assert_eq!(current.decoded.project, reference.decoded.project); + validate_candidate(¤t.decoded.project).unwrap(); + for (path, text) in ¤t.bundle.files { + write_new(&out.join("baseline").join(path), text.as_bytes()); + } + let readback = source_files::load_project( + &out.join("baseline/project.arcadia"), + ProjectLimits::default(), + ) + .expect("baseline disk readback"); + assert_eq!(readback.bundle, current.bundle); + assert_eq!(readback.reachable_bundle(), current.bundle); + assert!( + !readback + .diagnostics + .iter() + .any(|d| d.diagnostic.severity == validation::Severity::Error) + ); + let original_after = source_files::load_project(entry, ProjectLimits::default()).unwrap(); + assert_eq!( + original_after.bundle, raw, + "original source must remain untouched" + ); + for (path, text) in &raw.files { + assert_eq!( + fs::read(out.join("legacy-input").join(path)).unwrap(), + text.as_bytes() + ); + } + write_json!(&out.join("migration-report.json"), report); + write_json!(&out.join("baseline-source-bundle.json"), ¤t.bundle); + write_json!(&out.join("baseline-project.json"), ¤t.decoded.project); + write_json!( + &out.join("baseline-alias-offsets.json"), + &aliases(¤t.bundle), + ); + write_json!( + &out.join("result.json"), + &json!({"status":"PASS","original_files":6,"baseline_files":6, + "changed_paths":changes,"from_schema":3,"to_schema":7,"semantic_defaults":4, + "independent_full_project_equal":true,"current_readmission_exact":true, + "originals_preserved":true,"alias_tokens":6,"alias_files":2, + "scope":"Exact fixture migration preparation only; full equality uses public shared semantic code with independently authored current-schema defaults. Not independent migration implementation, canonical model proof or GUI acceptance."}), + ); + println!( + "PASS migrate: six originals preserved; explicit current-schema reference and flattened legacy full Project agree; public schema3-to7 migration and current re-admission exact; six alias tokens rebound" + ); +} +fn main() { + let args: Vec<_> = std::env::args().collect(); + assert!( + args.len() == 4 && args[1] == "migrate", + "usage: migrate LEGACY_ENTRY NEW_OUTPUT" + ); + run(Path::new(&args[2]), Path::new(&args[3])); +} diff --git a/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/migration-fixture-e124029/stderr.log b/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/migration-fixture-e124029/stderr.log new file mode 100644 index 00000000..e69de29b diff --git a/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/migration-fixture-e124029/stdout.log b/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/migration-fixture-e124029/stdout.log new file mode 100644 index 00000000..e69de29b diff --git a/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/navigation-oracle-e124029/build.json b/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/navigation-oracle-e124029/build.json new file mode 100644 index 00000000..eff81912 --- /dev/null +++ b/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/navigation-oracle-e124029/build.json @@ -0,0 +1,139 @@ +{ + "source": "e1240295bd114d23d3f67a69e6b38bdb2e25bb0d", + "head_after": "e1240295bd114d23d3f67a69e6b38bdb2e25bb0d", + "start": "2026-09-13T03:34:46.637583+00:00", + "end": "2026-09-13T03:35:21.854867+00:00", + "command": [ + "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\bin\\rustc.exe", + "--edition=2024", + "-D", + "warnings", + "-C", + "linker=C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\llvm-mingw-20260908-ucrt-x86_64\\bin\\clang.exe", + "-L", + "dependency=C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\target\\debug\\deps", + "--extern", + "serde_json=C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\target\\debug\\deps\\libserde_json-da2c4f333fc47818.rlib", + "--extern", + "oa_core=C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\target\\debug\\deps\\liboa_core-145180297aa692e4.rlib", + "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\navigation-palette-native-oracle.rs", + "-o", + "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\native-qa\\navigation-oracle-e124029\\navigation-oracle-e124029.exe" + ], + "exit": 0, + "outcome": "passed", + "failure": null, + "inputs_before": { + "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\build-navigation-palette-probe.py": { + "bytes": 9681, + "sha256": "c3dee4258cb2a2523c6395f70facad6966a663f4c496201b094f4e613a84cf96" + }, + "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\navigation-palette-native-oracle.rs": { + "bytes": 24949, + "sha256": "fc3ec08dbea3adf69026acb37b41c3d1afe2705094caa96a826687c4e781ac7d" + }, + "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\target\\debug\\deps\\arcadia_studio-ac73ce8f77f371eb.exe": { + "bytes": 150072832, + "sha256": "d1e4f672ca53fc914be70712cf87cb828f15181513fc9020cd02fb4d92af5c4e" + }, + "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\target\\debug\\.fingerprint\\oa-desktop-ac73ce8f77f371eb\\test-bin-arcadia-studio.json": { + "bytes": 1151, + "sha256": "157536ab9cab28f6d24809704b20addf692346836fc35a49a11ef1f717798bd3" + }, + "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\target\\debug\\.fingerprint\\serde_json-da2c4f333fc47818\\lib-serde_json": { + "bytes": 16, + "sha256": "e8cfaf50bfe2915903f506b08dac38787bb055882151fe786a2c061f35685b93" + }, + "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\target\\debug\\.fingerprint\\serde_json-da2c4f333fc47818\\lib-serde_json.json": { + "bytes": 838, + "sha256": "03eccf1185608696b40525cef5939679537f47f50165c2b392c88c56e382e6cf" + }, + "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\target\\debug\\.fingerprint\\oa-core-145180297aa692e4\\lib-oa_core": { + "bytes": 16, + "sha256": "05a8e6e4cf06e5080690151599e1c3b9ef8a591ac41e8de7fe92726cd6b07b85" + }, + "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\target\\debug\\.fingerprint\\oa-core-145180297aa692e4\\lib-oa_core.json": { + "bytes": 957, + "sha256": "6fb87df12cce497194402698471d05117bbac68e1d0d501799ca7f276872b5c0" + }, + "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\target\\debug\\deps\\libserde_json-da2c4f333fc47818.rlib": { + "bytes": 2991440, + "sha256": "485300d4125a69de7da5413f832eb4b9cde547e60f103f3b284e49aee4194d05" + }, + "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\target\\debug\\deps\\liboa_core-145180297aa692e4.rlib": { + "bytes": 102931760, + "sha256": "4033d79b63c3438c513f937d16d0a14737314f68d7a5123a3d5504c909af5c20" + }, + "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\navigation-palette-gates-20260913\\list-e124029.result.json": { + "bytes": 119298, + "sha256": "f7fbb70f7984cd8adb089c0ad749d8240ec92f363679205a2d1adf805a15c2a6" + }, + "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\navigation-palette-gates-20260913\\list-e124029.admission.json": { + "bytes": 23467, + "sha256": "36cd297979d854db50add69f7bebd8225b73093c1c5d7c9feed95bbbd7fdb0e8" + }, + "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\navigation-palette-gates-20260913\\list-e124029.inputs.json": { + "bytes": 107751, + "sha256": "a011170b83ddc0c835428c10b2079b0df02d2bd6f90167f16b1297c683601a87" + }, + "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\navigation-palette-gates-20260913\\list-e124029.log": { + "bytes": 117338, + "sha256": "8dbd49a9c36a6eff682049e6a3a919666e75e4e312a53d4c1ff60b82e46b8404" + }, + "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\navigation-palette-required-tests-20260913.json": { + "bytes": 3318, + "sha256": "e426be35c31925d91b5ce6df15abe30f814ba6134a8013ce47208c365df7127a" + }, + "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\bin\\rustc.exe": { + "bytes": 12721664, + "sha256": "6f4bef66261261fcb43131be8720bab817d403a09edec7455c371974b90bdb7e" + }, + "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\llvm-mingw-20260908-ucrt-x86_64\\bin\\clang.exe": { + "bytes": 14336, + "sha256": "93303edd5791e4b60682f819267a34c349e5f52d052d067e006e76d21cc82ea4" + } + }, + "source_inputs": [ + { + "path": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\navigation-palette-native-oracle.rs", + "preserved": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\native-qa\\navigation-oracle-e124029\\source-inputs\\navigation-palette-native-oracle.rs", + "bytes": 24949, + "sha256": "fc3ec08dbea3adf69026acb37b41c3d1afe2705094caa96a826687c4e781ac7d" + } + ], + "changed_inputs": [], + "status_after": "", + "compiler": "rustc 1.98.1 (48a229cea 2026-09-01)\nbinary: rustc\ncommit-hash: 48a229ceaefd4985c50990b14116b6d856af0985\ncommit-date: 2026-09-01\nhost: x86_64-pc-windows-gnullvm\nrelease: 1.98.1\nLLVM version: 22.1.8\n", + "tools": { + "rustc": { + "path": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\bin\\rustc.exe", + "bytes": 12721664, + "sha256": "6f4bef66261261fcb43131be8720bab817d403a09edec7455c371974b90bdb7e", + "version": "rustc 1.98.1 (48a229cea 2026-09-01)\nbinary: rustc\ncommit-hash: 48a229ceaefd4985c50990b14116b6d856af0985\ncommit-date: 2026-09-01\nhost: x86_64-pc-windows-gnullvm\nrelease: 1.98.1\nLLVM version: 22.1.8\n" + }, + "clang": { + "path": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\llvm-mingw-20260908-ucrt-x86_64\\bin\\clang.exe", + "bytes": 14336, + "sha256": "93303edd5791e4b60682f819267a34c349e5f52d052d067e006e76d21cc82ea4", + "version": "clang version 23.1.1 (https://github.com/llvm/llvm-project.git 6dfe1677ab8dffbc6ec13d53a1e0215d75147689)\nTarget: x86_64-w64-windows-gnu\nThread model: posix\nInstalledDir: C:/Users/User/Documents/Git/ARCADIA-Studio/.local/toolchain/llvm-mingw-20260908-ucrt-x86_64/bin\nConfiguration file: C:/Users/User/Documents/Git/ARCADIA-Studio/.local/toolchain/llvm-mingw-20260908-ucrt-x86_64/bin/x86_64-w64-windows-gnu.cfg\n" + } + }, + "launcher": { + "bytes": 9681, + "sha256": "c3dee4258cb2a2523c6395f70facad6966a663f4c496201b094f4e613a84cf96" + }, + "binary": { + "path": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\native-qa\\navigation-oracle-e124029\\navigation-oracle-e124029.exe", + "bytes": 21025792, + "sha256": "8937a59a0e1c51619087b43ab059a6e9af3eef9d69dd2735601143ece3452ada" + }, + "scope": "Standalone probe built against dependency fingerprints of the exact admitted desktop test. Execution is separate.", + "stdout": { + "bytes": 0, + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "stderr": { + "bytes": 0, + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + } +} diff --git a/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/navigation-oracle-e124029/source-inputs/navigation-palette-native-oracle.rs b/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/navigation-oracle-e124029/source-inputs/navigation-palette-native-oracle.rs new file mode 100644 index 00000000..8b1c0f1a --- /dev/null +++ b/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/navigation-oracle-e124029/source-inputs/navigation-palette-native-oracle.rs @@ -0,0 +1,678 @@ +//! Current-schema core-only native deletion/alias oracle. No desktop code or actual-derived expectation. +//! renamed BASE_ENTRY ACTUAL_ENTRY TARGET_UUID NEW_ALIAS | removed BASE_ENTRY ACTUAL_ENTRY TARGET_UUID +//! same BASE_ENTRY ACTUAL_ENTRY | self-check | generate NEW_DIR +use oa_core::{source_project::*, *}; +use std::{collections::BTreeMap, fs, path::Path}; + +fn compile_exact(raw: &SourceBundle) -> CompiledSourceProject { + let result = compile_bundle(raw, ProjectLimits::default()).expect("source admission"); + assert_eq!( + &result.bundle, raw, + "source migration/normalization is not permitted" + ); + assert_eq!( + SCHEMA_VERSION, 7, + "this oracle is admitted only for current schema 7 core" + ); + assert_eq!( + result.decoded.project.schema_version, 7, + "schema 7 required" + ); + validate_candidate(&result.decoded.project).expect("model admission"); + result +} +fn load(entry: &Path) -> CompiledSourceProject { + try_load(entry).unwrap_or_else(|error| panic!("{}: {error}", entry.display())) +} +fn try_load(entry: &Path) -> Result { + let disk = source_files::load_project(entry, ProjectLimits::default()) + .map_err(|error| format!("load source project: {error}"))?; + let errors: Vec<_> = disk + .diagnostics + .iter() + .filter(|issue| issue.diagnostic.severity == validation::Severity::Error) + .collect(); + if !errors.is_empty() { + return Err(format!("source/discovery errors: {errors:?}")); + } + for issue in &disk.diagnostics { + eprintln!( + "Permitted non-error diagnostic in {}: {:?}", + entry.display(), + issue + ); + } + let raw = disk.reachable_bundle(); + if disk.bundle != raw { + return Err("detached/invalid discovered buffers are not admitted".into()); + } + let compiled = compile_bundle(&raw, ProjectLimits::default()) + .map_err(|issues| format!("source admission: {issues:?}"))?; + if compiled.bundle != raw { + return Err("source migration/normalization is not permitted".into()); + } + if SCHEMA_VERSION != 7 || compiled.decoded.project.schema_version != 7 { + return Err("this oracle requires current schema 7 core and source".into()); + } + validate_candidate(&compiled.decoded.project) + .map_err(|error| format!("model admission: {error}"))?; + Ok(compiled) +} +fn removed(base: &CompiledSourceProject, target: Id) -> CompiledSourceProject { + assert!( + base.decoded.project.contains(target), + "target absent from baseline" + ); + let candidate = prepare_command(&base.decoded.project, &Command::Delete(target)) + .expect("baseline Delete must be admissible"); + assert!( + !candidate.project.contains(target), + "Delete must remove requested identity" + ); + assert_ne!( + candidate.project, base.decoded.project, + "Delete must change model" + ); + let result = update_bundle_with_identity_map( + base, + &candidate.project, + &candidate.identity_map, + ProjectLimits::default(), + ) + .expect("ordinary source patch must be admissible"); + assert_eq!( + result.decoded.project, candidate.project, + "source must exactly represent candidate" + ); + assert_eq!( + result.bundle.files.keys().collect::>(), + base.bundle.files.keys().collect::>(), + "Delete must retain source files, including newly empty files" + ); + result +} + +// Independent model expectation: alter only the selected alias field. The public +// command must agree with it before the source updater receives the candidate. +fn assign_alias_only(project: &mut Project, target: Id, alias: &str) { + if project.id == target { + project.alias = alias.into(); + } else if let Some(record) = project.elements.get_mut(&target) { + record.alias = alias.into(); + } else if let Some(record) = project.relations.get_mut(&target) { + record.alias = alias.into(); + } else if let Some(record) = project.diagrams.get_mut(&target) { + record.alias = alias.into(); + } else if let Some(record) = project.artifact_links.get_mut(&target) { + record.alias = alias.into(); + } else if let Some(record) = project.traces.get_mut(&target) { + record.alias = alias.into(); + } else { + project + .diagrams + .values_mut() + .find_map(|view| view.nodes.get_mut(&target)) + .expect("fixed alias target absent from baseline") + .alias = alias.into(); + } +} +fn renamed(base: &CompiledSourceProject, target: Id, alias: &str) -> CompiledSourceProject { + assert_eq!( + SCHEMA_VERSION, 7, + "this oracle requires current schema 7 core" + ); + assert_eq!(base.decoded.project.schema_version, 7); + let old_alias = base + .decoded + .project + .identities() + .into_iter() + .find_map(|(identity, old)| (identity == target).then(|| old.to_owned())) + .expect("fixed alias target absent from baseline"); + assert_ne!( + old_alias, alias, + "rename mode requires an actual alias change" + ); + let mut expected_project = base.decoded.project.clone(); + assign_alias_only(&mut expected_project, target, alias); + let candidate = prepare_command( + &base.decoded.project, + &Command::SetAlias(target, alias.into()), + ) + .expect("baseline alias rename must be admissible"); + assert_eq!( + candidate.project, expected_project, + "only requested alias may change" + ); + let identities: BTreeMap<_, _> = base + .decoded + .project + .identities() + .into_iter() + .map(|(identity, _)| (identity, identity)) + .collect(); + assert_eq!( + candidate.identity_map, identities, + "all UUIDs must remain unchanged" + ); + let result = update_bundle_with_identity_map( + base, + &candidate.project, + &candidate.identity_map, + ProjectLimits::default(), + ) + .expect("ordinary alias source patch must be admissible"); + assert_eq!( + result.decoded.project, expected_project, + "complete alias-only expected model" + ); + assert_eq!( + result.bundle.entry, base.bundle.entry, + "entry name must remain unchanged" + ); + assert!( + result.bundle.files.keys().eq(base.bundle.files.keys()), + "file membership must remain unchanged" + ); + assert_eq!( + result.index.lexical_owners, base.index.lexical_owners, + "lexical ownership must remain unchanged" + ); + assert!( + base.index + .declarations + .iter() + .map(|(id, loc)| (id, &loc.path)) + .eq(result + .index + .declarations + .iter() + .map(|(id, loc)| (id, &loc.path))), + "declaration file ownership must remain unchanged" + ); + result +} +fn rename_fixture() -> CompiledSourceProject { + let raw = SourceBundle { + entry: "project.arcadia".into(), + files: BTreeMap::from([ + ( + "project.arcadia".into(), + format!( + "arcadia 7;\r\nproject rename_oracle \"Alias oracle\" id \"{}\" {{\r\n include \"target.arcadia\";\r\n include \"references.arcadia\";\r\n include \"notes.arcadia\";\r\n}}\r\n", + id(100) + ), + ), + ( + "target.arcadia".into(), + format!( + "// Preserve rename_target comment 雨.\r\noa_activity rename_target \"Target engineering name\" id \"{}\" {{\r\n description \"Literal rename_target is not a reference.\";\r\n}}\r\noa_entity rename_team \"Team\" id \"{}\" {{}}\r\n", + id(101), + id(102) + ), + ), + ( + "references.arcadia".into(), + format!( + "// Preserve @rename_target comment Ω.\r\nallocation rename_allocation \"Team performs target\" id \"{}\" {{\r\n source @rename_team; target @rename_target;\r\n}}\r\n", + id(103) + ), + ), + ( + "notes.arcadia".into(), + "// Unrelated rename_target bytes 雨.\r\n\r\n".into(), + ), + ]), + }; + compile_exact(&raw) +} +fn rename_self_check() { + let base = rename_fixture(); + let expected = renamed(&base, id(101), "rename_target_union"); + // This fixed fixture's independently authored source expectation does not + // call the command or updater and does not inspect any actual saved input. + let mut expected_text = base.bundle.clone(); + for (path, before, after) in [ + ( + "target.arcadia", + "oa_activity rename_target ", + "oa_activity rename_target_union ", + ), + ( + "references.arcadia", + "target @rename_target;", + "target @rename_target_union;", + ), + ] { + let text = expected_text.files.get_mut(path).unwrap(); + assert_eq!(text.matches(before).count(), 1, "exact fixed fixture token"); + *text = text.replacen(before, after, 1); + } + assert_eq!( + expected.bundle, expected_text, + "only declaration/reference tokens change; comments, strings, CRLF and other files remain exact" + ); + check(&expected, &compile_exact(&expected_text)); + let mut independently_expected = base.decoded.project.clone(); + independently_expected + .elements + .get_mut(&id(101)) + .unwrap() + .alias = "rename_target_union".into(); + assert_eq!(expected.decoded.project, independently_expected); + assert_eq!( + base.bundle.files["notes.arcadia"], + expected.bundle.files["notes.arcadia"] + ); + assert_eq!( + base.bundle.files["project.arcadia"], + expected.bundle.files["project.arcadia"] + ); + assert!( + !same(&expected, &base), + "rename must reject unchanged baseline" + ); + let wrong = renamed(&base, id(101), "rename_target_wrong"); + assert!(!same(&expected, &wrong), "rename must reject wrong alias"); + let wrong_target = renamed(&base, id(102), "rename_team_union"); + assert!( + !same(&expected, &wrong_target), + "rename must reject wrong target" + ); + let mut partial = expected.bundle.clone(); + let references = partial.files.get_mut("references.arcadia").unwrap(); + *references = references.replacen("target @rename_target_union;", "target @rename_target;", 1); + assert!( + compile_bundle(&partial, ProjectLimits::default()).is_err(), + "a stale partial reference must fail source admission before equality" + ); + let mut unrelated = expected.bundle.clone(); + unrelated + .files + .get_mut("notes.arcadia") + .unwrap() + .push_str("// unrelated alteration\r\n"); + let altered = compile_exact(&unrelated); + assert_eq!(altered.decoded.project, expected.decoded.project); + assert!( + !same(&expected, &altered), + "same model cannot hide altered unrelated file" + ); + println!( + "PASS alias self-check: exact token expectation, full alias-only model/UUIDs, comments/strings/CRLF/other files, no-op/wrong alias/wrong target/partial reference/unrelated-file refusals" + ); +} + +fn same(expected: &CompiledSourceProject, actual: &CompiledSourceProject) -> bool { + expected.decoded.project == actual.decoded.project && expected.bundle == actual.bundle +} +fn check(expected: &CompiledSourceProject, actual: &CompiledSourceProject) { + assert_eq!( + actual.decoded.project, expected.decoded.project, + "complete Project differs" + ); + assert_eq!( + actual.bundle, expected.bundle, + "complete SourceBundle differs (paths or exact UTF-8 bytes)" + ); +} +fn id(n: u128) -> Id { + Id::from_u128(0xde1e7e00000040008000000000000000 + n) +} +fn fixture() -> CompiledSourceProject { + let mut p = Project::empty(); + p.id = id(1); + p.alias = "delete_oracle".into(); + p.name = "Delete oracle".into(); + for (n, kind, name, parent) in [ + (10, Kind::Activity, "Target work", None), + (11, Kind::Activity, "Untouched work", None), + (20, Kind::Scenario, "Reference scenario", None), + (21, Kind::Lifeline, "Target reference", Some(id(20))), + ] { + let mut e = p.make_element(kind, Layer::Oa, name, parent).unwrap(); + e.id = id(n); + e.alias = format!("delete_{n}"); + p.elements.insert(e.id, e); + } + *p.elements.get_mut(&id(21)).unwrap().shared_mut().unwrap() = SharedBody::Lifeline { + represented: Some(id(10)), + }; + for (view, placement) in [(30, 31), (40, 41)] { + let node = NodePlacement { + id: id(placement), + alias: format!("node_{placement}"), + element: id(10), + position: Position { x: 80., y: 80. }, + size: Size { + width: 180., + height: 90., + }, + collapsed: false, + port_anchors: vec![], + }; + p.diagrams.insert( + id(view), + Diagram { + id: id(view), + alias: format!("view_{view}"), + name: format!("Work view {view}"), + description: String::new(), + layer: Layer::Oa, + projection: ProjectionKind::Allocation, + view_options: Default::default(), + nodes: BTreeMap::from([(node.id, node)]), + routes: vec![], + }, + ); + } + for (n, kind, layer, name, parent) in [ + (12, Kind::Entity, Layer::Oa, "OA Dispatch team", None), + ( + 50, + Kind::Function, + Layer::Sa, + "SA Initialize controller", + None, + ), + ( + 51, + Kind::StateMachine, + Layer::Sa, + "SA Controller modes", + None, + ), + (52, Kind::Region, Layer::Sa, "SA Main region", Some(id(51))), + (53, Kind::State, Layer::Sa, "SA Ready", Some(id(52))), + ] { + let mut e = p.make_element(kind, layer, name, parent).unwrap(); + e.id = id(n); + e.alias = format!("delete_{n}"); + p.elements.insert(e.id, e); + } + for (n, kind, name, source, target) in [ + ( + 13, + RelationKind::Allocation, + "OA performs target work", + 12, + 10, + ), + (54, RelationKind::StateAction, "SA Entry initialize", 53, 50), + ] { + let generated = p.relate(kind, name, id(source), id(target)); + let mut relation = p.relations.remove(&generated).unwrap(); + relation.id = id(n); + relation.alias = format!("delete_{n}"); + if let RelationBody::StateAction { phase, .. } = &mut relation.body { + *phase = StateActionKind::Entry; + } + p.relations.insert(relation.id, relation); + } + for (view, placement) in [(30, 32), (40, 42)] { + p.diagrams.get_mut(&id(view)).unwrap().nodes.insert( + id(placement), + NodePlacement { + id: id(placement), + alias: format!("node_{placement}"), + element: id(12), + position: Position { x: 40., y: 40. }, + size: Size { + width: 380., + height: 230., + }, + collapsed: false, + port_anchors: vec![], + }, + ); + } + let nodes = [ + (61, 51, 40., 40., 620., 460.), + (62, 52, 60., 95., 580., 380.), + (63, 53, 100., 155., 320., 190.), + ] + .into_iter() + .map(|(n, element, x, y, width, height)| { + ( + id(n), + NodePlacement { + id: id(n), + alias: format!("node_{n}"), + element: id(element), + position: Position { x, y }, + size: Size { width, height }, + collapsed: false, + port_anchors: vec![], + }, + ) + }) + .collect(); + p.diagrams.insert( + id(60), + Diagram { + id: id(60), + alias: "sa_modes_view".into(), + name: "SA Controller modes view".into(), + description: String::new(), + layer: Layer::Sa, + projection: ProjectionKind::StateMachine { machine: id(51) }, + view_options: Default::default(), + nodes, + routes: vec![], + }, + ); + validate_candidate(&p).unwrap(); + let entry = language::format(&p).replacen("{\n", "{\n include \"notes.arcadia\";\n", 1); + let raw = SourceBundle { + entry: "project.arcadia".into(), + files: BTreeMap::from([ + ("project.arcadia".into(), entry), + ( + "notes.arcadia".into(), + "// Preserve deletion evidence 雨.\r\n// Exact bytes matter.\r\n".into(), + ), + ]), + }; + let compiled = compile_exact(&raw); + assert_eq!(compiled.decoded.project, p); + compiled +} +fn self_check() { + let base = fixture(); + let expected = removed(&base, id(10)); + check(&expected, &compile_exact(&expected.bundle)); + assert!(!same(&expected, &base), "must reject no-op"); + let wrong = removed(&base, id(11)); + assert!(!same(&expected, &wrong), "must reject wrong deletion"); + let placement = removed(&base, id(31)); + assert!(placement.decoded.project.contains(id(10))); + assert!(placement.decoded.project.contains(id(41))); + assert!( + !same(&expected, &placement), + "placement removal is not semantic deletion" + ); + assert!(!expected.decoded.project.contains(id(31))); + assert!(!expected.decoded.project.contains(id(41))); + assert!( + !expected.decoded.project.contains(id(13)), + "semantic deletion removes allocation" + ); + assert!( + placement.decoded.project.contains(id(13)), + "placement removal retains allocation" + ); + let entry_row = removed(&base, id(54)); + assert!( + entry_row.decoded.project.contains(id(50)), + "Entry row removal retains function" + ); + assert!( + entry_row.decoded.project.contains(id(53)), + "Entry row removal retains state" + ); + assert!( + !same(&entry_row, &removed(&base, id(50))), + "row removal differs from function deletion" + ); + assert!( + matches!( + expected.decoded.project.elements[&id(21)].shared(), + Some(SharedBody::Lifeline { represented: None }) + ), + "cross-reference must clear" + ); + let extra = prepare_command( + &expected.decoded.project, + &Command::Rename(id(11), "Unrelated damage".into()), + ) + .unwrap(); + let unrelated = update_bundle(&expected, &extra.project, ProjectLimits::default()).unwrap(); + assert!( + !same(&expected, &unrelated), + "must reject unrelated semantic change" + ); + for text in [ + "// Preserve deletion evidence 雨.\n// Exact bytes matter.\n", + "// Damaged\r\n", + ] { + let mut raw = expected.bundle.clone(); + raw.files.insert("notes.arcadia".into(), text.into()); + let tampered = compile_exact(&raw); + assert_eq!(tampered.decoded.project, expected.decoded.project); + assert!( + !same(&expected, &tampered), + "must reject source-only changes" + ); + } + let mut missing = expected.bundle.clone(); + missing.files.remove("notes.arcadia"); + assert!(compile_bundle(&missing, ProjectLimits::default()).is_err()); + check(&base, &compile_exact(&base.bundle)); + assert!( + !same(&base, &expected), + "restoration must reject deleted snapshot" + ); + assert_eq!( + base.bundle.files["notes.arcadia"], + expected.bundle.files["notes.arcadia"] + ); + disk_self_check(&base); + rename_self_check(); + println!( + "PASS self-check: exact candidate/source, wrong target, no-op, unrelated changes, placement/model distinction, crossrefs, source-byte falsifiers, disk warning admission and missing-include/syntax rejection" + ); +} +fn disk_self_check(base: &CompiledSourceProject) { + let nonce = std::time::SystemTime::now() + .duration_since(std::time::UNIX_EPOCH) + .unwrap() + .as_nanos(); + let dir = std::env::temp_dir().join(format!( + "arcadia-delete-oracle-{}-{nonce}", + std::process::id() + )); + fs::create_dir(&dir).expect("create unique owned disk self-check directory"); + for (path, text) in &base.bundle.files { + fs::write(dir.join(path), text).unwrap(); + } + let entry = dir.join(&base.bundle.entry); + let disk = source_files::load_project(&entry, ProjectLimits::default()).unwrap(); + assert!( + disk.diagnostics + .iter() + .any(|issue| issue.diagnostic.severity == validation::Severity::Warning), + "fixture must exercise legitimate warning admission" + ); + check( + base, + &try_load(&entry).expect("valid fixture with completeness warnings must load"), + ); + fs::remove_file(dir.join("notes.arcadia")).unwrap(); + assert!( + try_load(&entry).is_err(), + "missing include must fail disk admission" + ); + fs::write( + dir.join("notes.arcadia"), + &base.bundle.files["notes.arcadia"], + ) + .unwrap(); + fs::write(&entry, "this is not valid Arcadia source").unwrap(); + assert!( + try_load(&entry).is_err(), + "malformed source must fail disk admission" + ); + // Remove only exact files created above; no recursive deletion or borrowed fixture mutation. + for path in base.bundle.files.keys() { + fs::remove_file(dir.join(path)).unwrap(); + } + fs::remove_dir(&dir).unwrap(); +} +fn generate(dir: &Path) { + let baseline = fixture(); + fs::create_dir(dir).expect("output directory must not already exist; parent must exist"); + for (path, text) in &baseline.bundle.files { + fs::write(dir.join(path), text).expect("write new fixture"); + } + check(&baseline, &load(&dir.join(&baseline.bundle.entry))); + println!("PASS generated exact fixture {}", dir.display()); + for (n, label) in [ + (10, "OA target activity"), + (12, "OA entity"), + (13, "OA allocation"), + (30, "first architecture view"), + (31, "first activity placement"), + (32, "first entity placement"), + (40, "second architecture view"), + (41, "second activity placement"), + (42, "second entity placement"), + (50, "SA Entry function"), + (51, "SA machine"), + (52, "SA region"), + (53, "SA Ready state"), + (54, "SA Entry row relation"), + (60, "SA state view"), + (63, "SA Ready placement"), + ] { + println!("{label}: {}", id(n)); + } +} +fn main() { + let args: Vec<_> = std::env::args().collect(); + match args.get(1).map(String::as_str) { + Some("self-check") if args.len() == 2 => self_check(), + Some("generate") if args.len() == 3 => generate(Path::new(&args[2])), + Some("same") if args.len() == 4 => { + let base = load(Path::new(&args[2])); + let actual = load(Path::new(&args[3])); + check(&base, &actual); + println!("PASS same: complete Project and exact SourceBundle restored"); + } + Some("renamed") if args.len() == 6 => { + let base = load(Path::new(&args[2])); + let target: Id = args[4].parse().expect("TARGET_UUID must be a UUID"); + // Complete expected model and source are fixed before actual is loaded. + let expected = renamed(&base, target, &args[5]); + let actual = load(Path::new(&args[3])); + check(&expected, &actual); + println!( + "PASS renamed {target} to {}: complete baseline-derived alias-only Project and exact SourceBundle", + args[5] + ); + } + Some("removed") if args.len() == 5 => { + let base = load(Path::new(&args[2])); + let target: Id = args[4].parse().expect("TARGET_UUID must be a UUID"); + // Expected is fully fixed before actual is loaded. + let expected = removed(&base, target); + let actual = load(Path::new(&args[3])); + check(&expected, &actual); + println!( + "PASS removed {target}: exact baseline-derived Delete candidate and normal source patch" + ); + } + _ => panic!( + "usage: renamed BASE_ENTRY ACTUAL_ENTRY TARGET_UUID NEW_ALIAS | removed BASE_ENTRY ACTUAL_ENTRY TARGET_UUID | same BASE_ENTRY ACTUAL_ENTRY | self-check | generate NEW_DIR" + ), + } +} diff --git a/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/navigation-oracle-e124029/stderr.log b/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/navigation-oracle-e124029/stderr.log new file mode 100644 index 00000000..e69de29b diff --git a/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/navigation-oracle-e124029/stdout.log b/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/navigation-oracle-e124029/stdout.log new file mode 100644 index 00000000..e69de29b diff --git a/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/navigation-palette-20260913-01/admit-compact-e124029/run.json b/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/navigation-palette-20260913-01/admit-compact-e124029/run.json new file mode 100644 index 00000000..f01b4068 --- /dev/null +++ b/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/navigation-palette-20260913-01/admit-compact-e124029/run.json @@ -0,0 +1,88 @@ +{ + "start": "2026-09-13T03:46:59.965721+00:00", + "end": "2026-09-13T03:47:02.617595+00:00", + "source": "e1240295bd114d23d3f67a69e6b38bdb2e25bb0d", + "command": [ + "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\native-qa\\navigation-oracle-e124029\\navigation-oracle-e124029.exe", + "same", + "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\native-qa\\navigation-palette-20260913-01\\compact-baseline\\project.arcadia", + "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\native-qa\\navigation-palette-20260913-01\\compact-work\\project.arcadia" + ], + "exit": 0, + "outcome": "passed", + "failure": null, + "changed_inputs": [], + "inputs_unchanged": true, + "inputs_before": { + "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\native-qa\\navigation-oracle-e124029\\navigation-oracle-e124029.exe": { + "bytes": 21025792, + "sha256": "8937a59a0e1c51619087b43ab059a6e9af3eef9d69dd2735601143ece3452ada" + }, + "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\llvm-mingw-20260908-ucrt-x86_64\\bin\\libunwind.dll": { + "bytes": 190464, + "sha256": "aa282fa47bb2c4e210cea5e470cdbdca58568f0be0bc73e404d86ab9cd95ef6a" + }, + "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\native-qa\\navigation-oracle-e124029\\build.json": { + "bytes": 7770, + "sha256": "27ff0d612a5b9e4c378ae135745f266acfbf498af9f503d9e04f45ceed19a35a" + }, + "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\navigation-palette-gates-20260913\\list-e124029.inputs.json": { + "bytes": 107751, + "sha256": "a011170b83ddc0c835428c10b2079b0df02d2bd6f90167f16b1297c683601a87" + }, + "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\native-qa\\navigation-palette-20260913-01\\compact-baseline\\notes.arcadia": { + "bytes": 60, + "sha256": "adb1445555f1f47cf2ac92e2271e54df7c5d2eaf1d9363fe5a79d02298670a4e" + }, + "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\native-qa\\navigation-palette-20260913-01\\compact-baseline\\project.arcadia": { + "bytes": 5566, + "sha256": "246e7316f3932df2bc64c70459352ecef2a7fe2b5d8ead03d1f5664587c813bf" + }, + "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\native-qa\\navigation-palette-20260913-01\\compact-work\\notes.arcadia": { + "bytes": 60, + "sha256": "adb1445555f1f47cf2ac92e2271e54df7c5d2eaf1d9363fe5a79d02298670a4e" + }, + "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\native-qa\\navigation-palette-20260913-01\\compact-work\\project.arcadia": { + "bytes": 5566, + "sha256": "246e7316f3932df2bc64c70459352ecef2a7fe2b5d8ead03d1f5664587c813bf" + } + }, + "input_trees": [ + { + "folder": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\native-qa\\navigation-palette-20260913-01\\compact-baseline", + "paths": [ + "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\native-qa\\navigation-palette-20260913-01\\compact-baseline\\notes.arcadia", + "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\native-qa\\navigation-palette-20260913-01\\compact-baseline\\project.arcadia" + ] + }, + { + "folder": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\native-qa\\navigation-palette-20260913-01\\compact-work", + "paths": [ + "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\native-qa\\navigation-palette-20260913-01\\compact-work\\notes.arcadia", + "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\native-qa\\navigation-palette-20260913-01\\compact-work\\project.arcadia" + ] + } + ], + "verified_core_inputs": 111, + "oracle_sha256": "8937a59a0e1c51619087b43ab059a6e9af3eef9d69dd2735601143ece3452ada", + "build": { + "path": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\native-qa\\navigation-oracle-e124029\\build.json", + "bytes": 7770, + "sha256": "27ff0d612a5b9e4c378ae135745f266acfbf498af9f503d9e04f45ceed19a35a" + }, + "launcher": { + "bytes": 5078, + "sha256": "b1d56ec226d7b6d5d5d1d00e4bc8727c016e44a6208831ea8d35ae142c097288" + }, + "scope": "Actual comparator/preparer execution; native actions are separate.", + "stdout": { + "path": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\native-qa\\navigation-palette-20260913-01\\admit-compact-e124029\\stdout.log", + "bytes": 60, + "sha256": "be2b96d3c8af6419bdc3bbfcb5956cdd3427a26d1ecca310c2be84d46c22116d" + }, + "stderr": { + "path": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\native-qa\\navigation-palette-20260913-01\\admit-compact-e124029\\stderr.log", + "bytes": 10218, + "sha256": "cabd1a4e38d6099635f9f1a9051b26c7c031464da1e87f5930649e2f78589f59" + } +} diff --git a/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/navigation-palette-20260913-01/admit-compact-e124029/stderr.log b/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/navigation-palette-20260913-01/admit-compact-e124029/stderr.log new file mode 100644 index 00000000..9325e8b3 --- /dev/null +++ b/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/navigation-palette-20260913-01/admit-compact-e124029/stderr.log @@ -0,0 +1,20 @@ +Permitted non-error diagnostic in C:\Users\User\Documents\Git\ARCADIA-Studio\.local\native-qa\navigation-palette-20260913-01\compact-baseline\project.arcadia: SourceDiagnostic { path: "project.arcadia", diagnostic: Diagnostic { severity: Warning, code: "missing_system", object_id: Some(de1e7e00-0000-4000-8000-000000000001), field: Some("elements"), line: 2, column: 1, message: "Identify the SA system of interest.", span: Span { start: 11, end: 91 } }, related: [] } +Permitted non-error diagnostic in C:\Users\User\Documents\Git\ARCADIA-Studio\.local\native-qa\navigation-palette-20260913-01\compact-baseline\project.arcadia: SourceDiagnostic { path: "project.arcadia", diagnostic: Diagnostic { severity: Warning, code: "unallocated_leaf", object_id: Some(de1e7e00-0000-4000-8000-00000000000b), field: Some("allocation"), line: 11, column: 5, message: "Allocate leaf 'Untouched work' to a performer.", span: Span { start: 283, end: 416 } }, related: [] } +Permitted non-error diagnostic in C:\Users\User\Documents\Git\ARCADIA-Studio\.local\native-qa\navigation-palette-20260913-01\compact-baseline\project.arcadia: SourceDiagnostic { path: "project.arcadia", diagnostic: Diagnostic { severity: Warning, code: "empty_sequence", object_id: Some(de1e7e00-0000-4000-8000-000000000014), field: Some("steps"), line: 27, column: 15, message: "Add ordered occurrences.", span: Span { start: 780, end: 782 } }, related: [] } +Permitted non-error diagnostic in C:\Users\User\Documents\Git\ARCADIA-Studio\.local\native-qa\navigation-palette-20260913-01\compact-baseline\project.arcadia: SourceDiagnostic { path: "project.arcadia", diagnostic: Diagnostic { severity: Warning, code: "unallocated_leaf", object_id: Some(de1e7e00-0000-4000-8000-000000000032), field: Some("allocation"), line: 37, column: 5, message: "Allocate leaf 'SA Initialize controller' to a performer.", span: Span { start: 1013, end: 1156 } }, related: [] } +Permitted non-error diagnostic in C:\Users\User\Documents\Git\ARCADIA-Studio\.local\native-qa\navigation-palette-20260913-01\compact-baseline\project.arcadia: SourceDiagnostic { path: "project.arcadia", diagnostic: Diagnostic { severity: Warning, code: "machine_owner", object_id: Some(de1e7e00-0000-4000-8000-000000000033), field: Some("parent"), line: 44, column: 16, message: "Assign a state-machine owner.", span: Span { start: 1294, end: 1298 } }, related: [] } +Permitted non-error diagnostic in C:\Users\User\Documents\Git\ARCADIA-Studio\.local\native-qa\navigation-palette-20260913-01\compact-baseline\project.arcadia: SourceDiagnostic { path: "project.arcadia", diagnostic: Diagnostic { severity: Warning, code: "unreachable_state", object_id: Some(de1e7e00-0000-4000-8000-000000000035), field: Some("body"), line: 52, column: 5, message: "No structural path from a machine entry reaches this vertex; review entry, nesting and transitions (guards are not executed).", span: Span { start: 1454, end: 1663 } }, related: [] } +Permitted non-error diagnostic in C:\Users\User\Documents\Git\ARCADIA-Studio\.local\native-qa\navigation-palette-20260913-01\compact-baseline\project.arcadia: SourceDiagnostic { path: "project.arcadia", diagnostic: Diagnostic { severity: Warning, code: "missing_initial", object_id: Some(de1e7e00-0000-4000-8000-000000000034), field: Some("parent"), line: 49, column: 16, message: "Add an Initial default entry or an explicit incoming entry path for this region.", span: Span { start: 1431, end: 1441 } }, related: [] } +Permitted non-error diagnostic in C:\Users\User\Documents\Git\ARCADIA-Studio\.local\native-qa\navigation-palette-20260913-01\compact-baseline\project.arcadia: SourceDiagnostic { path: "project.arcadia", diagnostic: Diagnostic { severity: Warning, code: "work_without_behavior_context", object_id: Some(de1e7e00-0000-4000-8000-00000000000a), field: None, line: 6, column: 5, message: "Include this leaf activity/function in a process/chain or scenario through a work action or exchange occurrence.", span: Span { start: 147, end: 277 } }, related: [] } +Permitted non-error diagnostic in C:\Users\User\Documents\Git\ARCADIA-Studio\.local\native-qa\navigation-palette-20260913-01\compact-baseline\project.arcadia: SourceDiagnostic { path: "project.arcadia", diagnostic: Diagnostic { severity: Warning, code: "work_without_behavior_context", object_id: Some(de1e7e00-0000-4000-8000-00000000000b), field: None, line: 11, column: 5, message: "Include this leaf activity/function in a process/chain or scenario through a work action or exchange occurrence.", span: Span { start: 283, end: 416 } }, related: [] } +Permitted non-error diagnostic in C:\Users\User\Documents\Git\ARCADIA-Studio\.local\native-qa\navigation-palette-20260913-01\compact-baseline\project.arcadia: SourceDiagnostic { path: "project.arcadia", diagnostic: Diagnostic { severity: Warning, code: "work_without_behavior_context", object_id: Some(de1e7e00-0000-4000-8000-000000000032), field: None, line: 37, column: 5, message: "Include this leaf activity/function in a process/chain or scenario through a work action or exchange occurrence.", span: Span { start: 1013, end: 1156 } }, related: [] } +Permitted non-error diagnostic in C:\Users\User\Documents\Git\ARCADIA-Studio\.local\native-qa\navigation-palette-20260913-01\compact-work\project.arcadia: SourceDiagnostic { path: "project.arcadia", diagnostic: Diagnostic { severity: Warning, code: "missing_system", object_id: Some(de1e7e00-0000-4000-8000-000000000001), field: Some("elements"), line: 2, column: 1, message: "Identify the SA system of interest.", span: Span { start: 11, end: 91 } }, related: [] } +Permitted non-error diagnostic in C:\Users\User\Documents\Git\ARCADIA-Studio\.local\native-qa\navigation-palette-20260913-01\compact-work\project.arcadia: SourceDiagnostic { path: "project.arcadia", diagnostic: Diagnostic { severity: Warning, code: "unallocated_leaf", object_id: Some(de1e7e00-0000-4000-8000-00000000000b), field: Some("allocation"), line: 11, column: 5, message: "Allocate leaf 'Untouched work' to a performer.", span: Span { start: 283, end: 416 } }, related: [] } +Permitted non-error diagnostic in C:\Users\User\Documents\Git\ARCADIA-Studio\.local\native-qa\navigation-palette-20260913-01\compact-work\project.arcadia: SourceDiagnostic { path: "project.arcadia", diagnostic: Diagnostic { severity: Warning, code: "empty_sequence", object_id: Some(de1e7e00-0000-4000-8000-000000000014), field: Some("steps"), line: 27, column: 15, message: "Add ordered occurrences.", span: Span { start: 780, end: 782 } }, related: [] } +Permitted non-error diagnostic in C:\Users\User\Documents\Git\ARCADIA-Studio\.local\native-qa\navigation-palette-20260913-01\compact-work\project.arcadia: SourceDiagnostic { path: "project.arcadia", diagnostic: Diagnostic { severity: Warning, code: "unallocated_leaf", object_id: Some(de1e7e00-0000-4000-8000-000000000032), field: Some("allocation"), line: 37, column: 5, message: "Allocate leaf 'SA Initialize controller' to a performer.", span: Span { start: 1013, end: 1156 } }, related: [] } +Permitted non-error diagnostic in C:\Users\User\Documents\Git\ARCADIA-Studio\.local\native-qa\navigation-palette-20260913-01\compact-work\project.arcadia: SourceDiagnostic { path: "project.arcadia", diagnostic: Diagnostic { severity: Warning, code: "machine_owner", object_id: Some(de1e7e00-0000-4000-8000-000000000033), field: Some("parent"), line: 44, column: 16, message: "Assign a state-machine owner.", span: Span { start: 1294, end: 1298 } }, related: [] } +Permitted non-error diagnostic in C:\Users\User\Documents\Git\ARCADIA-Studio\.local\native-qa\navigation-palette-20260913-01\compact-work\project.arcadia: SourceDiagnostic { path: "project.arcadia", diagnostic: Diagnostic { severity: Warning, code: "unreachable_state", object_id: Some(de1e7e00-0000-4000-8000-000000000035), field: Some("body"), line: 52, column: 5, message: "No structural path from a machine entry reaches this vertex; review entry, nesting and transitions (guards are not executed).", span: Span { start: 1454, end: 1663 } }, related: [] } +Permitted non-error diagnostic in C:\Users\User\Documents\Git\ARCADIA-Studio\.local\native-qa\navigation-palette-20260913-01\compact-work\project.arcadia: SourceDiagnostic { path: "project.arcadia", diagnostic: Diagnostic { severity: Warning, code: "missing_initial", object_id: Some(de1e7e00-0000-4000-8000-000000000034), field: Some("parent"), line: 49, column: 16, message: "Add an Initial default entry or an explicit incoming entry path for this region.", span: Span { start: 1431, end: 1441 } }, related: [] } +Permitted non-error diagnostic in C:\Users\User\Documents\Git\ARCADIA-Studio\.local\native-qa\navigation-palette-20260913-01\compact-work\project.arcadia: SourceDiagnostic { path: "project.arcadia", diagnostic: Diagnostic { severity: Warning, code: "work_without_behavior_context", object_id: Some(de1e7e00-0000-4000-8000-00000000000a), field: None, line: 6, column: 5, message: "Include this leaf activity/function in a process/chain or scenario through a work action or exchange occurrence.", span: Span { start: 147, end: 277 } }, related: [] } +Permitted non-error diagnostic in C:\Users\User\Documents\Git\ARCADIA-Studio\.local\native-qa\navigation-palette-20260913-01\compact-work\project.arcadia: SourceDiagnostic { path: "project.arcadia", diagnostic: Diagnostic { severity: Warning, code: "work_without_behavior_context", object_id: Some(de1e7e00-0000-4000-8000-00000000000b), field: None, line: 11, column: 5, message: "Include this leaf activity/function in a process/chain or scenario through a work action or exchange occurrence.", span: Span { start: 283, end: 416 } }, related: [] } +Permitted non-error diagnostic in C:\Users\User\Documents\Git\ARCADIA-Studio\.local\native-qa\navigation-palette-20260913-01\compact-work\project.arcadia: SourceDiagnostic { path: "project.arcadia", diagnostic: Diagnostic { severity: Warning, code: "work_without_behavior_context", object_id: Some(de1e7e00-0000-4000-8000-000000000032), field: None, line: 37, column: 5, message: "Include this leaf activity/function in a process/chain or scenario through a work action or exchange occurrence.", span: Span { start: 1013, end: 1156 } }, related: [] } diff --git a/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/navigation-palette-20260913-01/admit-compact-e124029/stdout.log b/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/navigation-palette-20260913-01/admit-compact-e124029/stdout.log new file mode 100644 index 00000000..ffec8880 --- /dev/null +++ b/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/navigation-palette-20260913-01/admit-compact-e124029/stdout.log @@ -0,0 +1 @@ +PASS same: complete Project and exact SourceBundle restored diff --git a/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/navigation-palette-20260913-01/admit-compact-e124029/verified-core-inputs.json b/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/navigation-palette-20260913-01/admit-compact-e124029/verified-core-inputs.json new file mode 100644 index 00000000..45621455 --- /dev/null +++ b/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/navigation-palette-20260913-01/admit-compact-e124029/verified-core-inputs.json @@ -0,0 +1,557 @@ +[ + { + "path": "Cargo.lock", + "bytes": 119998, + "sha256": "826fad8a8176d7acbb9007db88c123dd25b8a5efcad7a33a8da8a4e0c6e3394f" + }, + { + "path": "Cargo.toml", + "bytes": 400, + "sha256": "369f5b4b2b60705a94623c8c0b68f8e0b048f263280ce07ae0629ad353797d62" + }, + { + "path": "crates/oa-core/Cargo.toml", + "bytes": 408, + "sha256": "6b5c062474ebb62d5082e07dabed99ee85e4a833edf26690fb4f887028d3416f" + }, + { + "path": "crates/oa-core/build.rs", + "bytes": 45, + "sha256": "ab1be6ae1fd8bf3ebaeef6348347a9d5e666bde693126f199e041659e0b094a9" + }, + { + "path": "crates/oa-core/examples/generate_demo.rs", + "bytes": 795, + "sha256": "e26f432c95331aeca50985dbb3ad2c558affd43023b585811f0f7bfaa59f6661" + }, + { + "path": "crates/oa-core/examples/generate_release1.rs", + "bytes": 1798, + "sha256": "1d5f11165d74893e4bc18dbf3a2f2111f4026bd89fd06ee7f0bae69e45c4d4b5" + }, + { + "path": "crates/oa-core/examples/release_dense_views.rs", + "bytes": 14664, + "sha256": "a83158488ef9b7394f136c52b1496719be935c4e5bdfe457cab5c9894f5f9412" + }, + { + "path": "crates/oa-core/examples/routing_workshop.rs", + "bytes": 17248, + "sha256": "571307b18b6d4fa04700c5a4d4b0c2154c419e93a21292b2028e7b6f46a2faa7" + }, + { + "path": "crates/oa-core/src/analysis_numeric.rs", + "bytes": 3735, + "sha256": "6c88eef3119162aeb6c07b9e75812c3af9fbfe75554b0503ad00f103cb478408" + }, + { + "path": "crates/oa-core/src/analysis_numeric/dimension.rs", + "bytes": 3045, + "sha256": "d4ad8e5307a1620e31791d724a0e31fdba860d00dc83e3e1f2209d9c5e22a340" + }, + { + "path": "crates/oa-core/src/analysis_numeric/exact.rs", + "bytes": 17338, + "sha256": "4eb8cb0f66b10e5da204899af82ee26adfec74bab47b1a6c9842b5488ee04c4d" + }, + { + "path": "crates/oa-core/src/analysis_numeric/fixtures/r7-literal-boundaries.json", + "bytes": 6085, + "sha256": "3b959dec5e100a6f03817f5314bef497347ba579ebd235476516d4bd83399181" + }, + { + "path": "crates/oa-core/src/analysis_numeric/meter.rs", + "bytes": 7129, + "sha256": "1f7174beb992935b4c399acdef91114af73faf041070feab968455ac827e8ee4" + }, + { + "path": "crates/oa-core/src/analysis_numeric/quantity.rs", + "bytes": 12257, + "sha256": "ead5142d6eeea8f99399d57e02d8f7d819980923de76387cd454694d6a747aee" + }, + { + "path": "crates/oa-core/src/analysis_numeric/tests.rs", + "bytes": 27486, + "sha256": "323ce82fc057d36f44463569fd8ea324c7d700fddfbf32bce15e04bd2a66970b" + }, + { + "path": "crates/oa-core/src/data.rs", + "bytes": 42696, + "sha256": "7f9c7c7dd8353cb5a38597b92cde6d3e890203d392473187eb387d41ff37414a" + }, + { + "path": "crates/oa-core/src/demo.rs", + "bytes": 20657, + "sha256": "ad62123f96c20ff023cafc1a9849b0fa06bc62edd1fb9701799e4599b458600c" + }, + { + "path": "crates/oa-core/src/language.rs", + "bytes": 105312, + "sha256": "34cbb144a111e6f0ddadfca7d40636a8e3323fe65ea8920fd2402f0352b41f57" + }, + { + "path": "crates/oa-core/src/language/semantic_source.rs", + "bytes": 7326, + "sha256": "584b5bb59d87a7b8d44d5dd2d124c3a1323b21492b138a17bc9526c0087c9e29" + }, + { + "path": "crates/oa-core/src/language_nesting_tests.rs", + "bytes": 20639, + "sha256": "bd061611e8cb6f28ab203c73e544ac98bf275eb464cd314ad5fbd25f773df33b" + }, + { + "path": "crates/oa-core/src/language_outline_tests.rs", + "bytes": 14877, + "sha256": "4c79a01e8aea243dd9ef66ce71b9fae263d0e79c319a46c51223679897e8b9df" + }, + { + "path": "crates/oa-core/src/lib.rs", + "bytes": 549, + "sha256": "ea1d9bf5acba8381ba204db12ff5b5fe1f320417d17af517e46b90fd6bcb241c" + }, + { + "path": "crates/oa-core/src/migration_v2/README.md", + "bytes": 1515, + "sha256": "fb61d3faa33d7bdfba73415415a0882c0fbd3e0b45df42f972a19aec6da927b9" + }, + { + "path": "crates/oa-core/src/migration_v2/adapter.rs", + "bytes": 9490, + "sha256": "66741b4c8354a23b8a932ecc5bf1bc3bb6e74279558757b8c35bc2157a7e51b5" + }, + { + "path": "crates/oa-core/src/migration_v2/mod.rs", + "bytes": 1158, + "sha256": "857d8bb13b6814daba6780ca770c16352943c01cb130245d055f11b3b957b3e9" + }, + { + "path": "crates/oa-core/src/migration_v2/model.rs", + "bytes": 52059, + "sha256": "8ac63eb59b2e57bdecff2477ee0634096090924d3dd1851e1c454880a889dacb" + }, + { + "path": "crates/oa-core/src/migration_v2/references.rs", + "bytes": 13369, + "sha256": "33a6819abc83139fdaebeebd1b553238a328637106cce7dd5a535f1791d43e20" + }, + { + "path": "crates/oa-core/src/migration_v2/source.rs", + "bytes": 21946, + "sha256": "74fee9b24e7c912182c998ab9d9aeec125e2009c3214959229e844c67afe2bf6" + }, + { + "path": "crates/oa-core/src/migration_v2/state_validation.rs", + "bytes": 15769, + "sha256": "e29ef071bab0a68460ddf55c46131c6f66c022d52c3c602c37c013c3649da1b0" + }, + { + "path": "crates/oa-core/src/migration_v2/transitions.rs", + "bytes": 704, + "sha256": "f74174c532ba56b57c80b719a11fb4adea0a78ccc2828fff72fe2b9eda5a10b1" + }, + { + "path": "crates/oa-core/src/migration_v2/validation.rs", + "bytes": 98736, + "sha256": "6d5e4a4e2805ae5045bf789a0485e14a61c63346587bace2b4a91173a688f780" + }, + { + "path": "crates/oa-core/src/migration_v3/README.md", + "bytes": 2128, + "sha256": "3755a63f840d7f0eadf68afa7a9d587877a9468ff982d3610539e8a0bb067a82" + }, + { + "path": "crates/oa-core/src/migration_v3/mod.rs", + "bytes": 23023, + "sha256": "f4edb6a0b50ecfe8670973776d703047b064420cb1f05913129c00fc656b3722" + }, + { + "path": "crates/oa-core/src/migration_v4.rs", + "bytes": 4020, + "sha256": "50c652964f0f309e7f3f54b6ef12c40d42fcecc0490f005995c713df1179af70" + }, + { + "path": "crates/oa-core/src/model.rs", + "bytes": 66352, + "sha256": "4585c895c64c4a183941c92cf047a9e52ff0cbe41971e16e78d229ea9dc101fb" + }, + { + "path": "crates/oa-core/src/operations.rs", + "bytes": 11405, + "sha256": "a5ffbbf54cd440316a106d1188bfb699b57dae59f466edcb33618c333cd19f41" + }, + { + "path": "crates/oa-core/src/persistence.rs", + "bytes": 31774, + "sha256": "1c01474f906a63e552c0d590b272c95821c00a100b3e79e58e67dbbeac341a14" + }, + { + "path": "crates/oa-core/src/ports.rs", + "bytes": 45413, + "sha256": "5cac12eea70a54ebebbd6be77b63ce92e3195325c4bc7d27705c518686cbac80" + }, + { + "path": "crates/oa-core/src/projection.rs", + "bytes": 21374, + "sha256": "69ed12bace2cc5024e151752a174ab14034ac2d05eb741fcf13e9a27521c059b" + }, + { + "path": "crates/oa-core/src/projection/port_layout.rs", + "bytes": 13474, + "sha256": "a08d17d10a58bb8b206dd001b19b91d5aa3a9f743b298a4da57d503223c20079" + }, + { + "path": "crates/oa-core/src/projection/state.rs", + "bytes": 5233, + "sha256": "73a607bac713ec7ff49a509fefb1a53c7686dca93ee241ffc835564d743afb28" + }, + { + "path": "crates/oa-core/src/references.rs", + "bytes": 21957, + "sha256": "93553c234f32da35f1f41a7b83ad81c471c9803efa78ca222cf7de3c2f86c0bb" + }, + { + "path": "crates/oa-core/src/routing.rs", + "bytes": 50309, + "sha256": "c5ebb350ba76f731f5c48d968bfbba4b6ef68ec046eb5893d116c4637ef15080" + }, + { + "path": "crates/oa-core/src/semantic.rs", + "bytes": 540, + "sha256": "f9895dd5b8fb27d10d4cfbb41c3542ef2018365a589b8d5778e5674ae5a1f239" + }, + { + "path": "crates/oa-core/src/semantic/catalog.rs", + "bytes": 49407, + "sha256": "1ff74fcca18084d178681d7ff38ee1ccac632c27c4de0595ba1ceab8067ab3a4" + }, + { + "path": "crates/oa-core/src/semantic/historical.rs", + "bytes": 15271, + "sha256": "eaf3284bf234312698514cdb636bc8348e1b5d746cb16b18df777e77d312abfb" + }, + { + "path": "crates/oa-core/src/semantic/linked.rs", + "bytes": 6035, + "sha256": "6f335b14e809aecfc35defcaf77cb821b080d1506dbc46297912b25af98c07a2" + }, + { + "path": "crates/oa-core/src/semantic/mutate.rs", + "bytes": 22683, + "sha256": "dc2b4c4a6eb156fe468eaa8c85fd37a505c0cd8ea1f226cb69cd01689afd3d9d" + }, + { + "path": "crates/oa-core/src/semantic/review.rs", + "bytes": 51116, + "sha256": "0c157d2c327e72e89cca3b423e71ee73798105c5bb7271439c1a101642c91e3e" + }, + { + "path": "crates/oa-core/src/semantic/types.rs", + "bytes": 10405, + "sha256": "6922fe35089f12fad43ab0ce1c6886d01a3855f90b8e2543e99802ac5e6f1bbb" + }, + { + "path": "crates/oa-core/src/session.rs", + "bytes": 35237, + "sha256": "1eb77b329b2986fc6f5dc0171e77fd860375cdfd8c769a1367b445d6c49ebe00" + }, + { + "path": "crates/oa-core/src/source_files.rs", + "bytes": 74803, + "sha256": "669491dbddb8e8e6556161426dffa1a49ac1c826d31020bff0956d81a4d84683" + }, + { + "path": "crates/oa-core/src/source_project.rs", + "bytes": 61843, + "sha256": "1394370bcc5908873b830c2c11312e6e1611af41f46c4f43ca0a6bcb713bb466" + }, + { + "path": "crates/oa-core/src/source_project/source_migration.rs", + "bytes": 4700, + "sha256": "add463ae85c420f853d324b00a221f0f874164cc3f3ed6bbb07557a9ed7a8c95" + }, + { + "path": "crates/oa-core/src/source_project/source_structure.rs", + "bytes": 20225, + "sha256": "9f1f83315856a7025fe662c0fbb13452f31613224a03663150d6225d1ddc162f" + }, + { + "path": "crates/oa-core/src/state_validation.rs", + "bytes": 15665, + "sha256": "e28d7f74385e2a78763716b34491bd73a00bfeccc085970ceb130627e3faee18" + }, + { + "path": "crates/oa-core/src/topology_context.rs", + "bytes": 13734, + "sha256": "16de69b297de95d93c73808621607833b713af811dd082f0169186ae1e5c3e2d" + }, + { + "path": "crates/oa-core/src/topology_context/analysis.rs", + "bytes": 20036, + "sha256": "dead6194f0aa60cc46045c0e5ee10dbdbb689158c38634dfbbbc45d2ba88ac65" + }, + { + "path": "crates/oa-core/src/topology_context/analysis_tests.rs", + "bytes": 5258, + "sha256": "17839263410815e96fe027d4eba3aae0a9ab3b82b16947e2b29ebe0d09782b56" + }, + { + "path": "crates/oa-core/src/transitions.rs", + "bytes": 51998, + "sha256": "fadd1b07b89cae4117b91abb4f1ac9ea81ff818ef20f2175e76ee8cf21fb708d" + }, + { + "path": "crates/oa-core/src/transitions/communication.rs", + "bytes": 8634, + "sha256": "2b476630a88edd9021b9156ca12a5402e01604095f0d4002afb452671903a028" + }, + { + "path": "crates/oa-core/src/validation.rs", + "bytes": 112792, + "sha256": "7c1b4ae5e4ebba13e99af9158ccde138dfc5e9a7afb580e76fba72d0b64ba74e" + }, + { + "path": "crates/oa-core/src/validation/coverage.rs", + "bytes": 6478, + "sha256": "b08e4b344ecad055714168c83beff7fe29ba4edc53edbffa2eae04e5580a4d5f" + }, + { + "path": "crates/oa-core/src/view_options.rs", + "bytes": 24481, + "sha256": "421ede0a04c593ca1df0e6e0d06fabcfcc8113cdbcfb0adc7f5c8ef4d1724208" + }, + { + "path": "crates/oa-core/src/view_options_tests.rs", + "bytes": 21433, + "sha256": "64aac44de2df42a1012239a3dd75c473daf0c8990b3170b7bf7e78a556080208" + }, + { + "path": "crates/oa-core/tests/communication_boundary_scenarios.rs", + "bytes": 8816, + "sha256": "e1100b8f363910a487d90c73acc7df543dc6d532158c3c63ad11cd3d40d8e12b" + }, + { + "path": "crates/oa-core/tests/communication_means.rs", + "bytes": 18102, + "sha256": "a25f2749180bc6f4beb1445bfad3351eedf0669131a7439b633ab804439e95a4" + }, + { + "path": "crates/oa-core/tests/coverage_diagnostics.rs", + "bytes": 20527, + "sha256": "e2e9c3996daab47f2bd23f5d8c48b4e372af33331152f5fc85b76f06d04fcdf4" + }, + { + "path": "crates/oa-core/tests/fixtures/v2-coastal-rescue.arcadia", + "bytes": 29220, + "sha256": "f0df129c1914bfc01d0b047b0cd4b520d8cf0c249ea9ced085de400c0be87ff3" + }, + { + "path": "crates/oa-core/tests/fixtures/v2-coastal-rescue.json", + "bytes": 43990, + "sha256": "3ed53508eb544bbd788832f7bebea2ec31b3d66191f24f45098cc9750ec4c005" + }, + { + "path": "crates/oa-core/tests/fixtures/v3-data-contract.arcadia", + "bytes": 2450, + "sha256": "305f19d1b79f99f8d4cf627ba2e9ca6836bb7959cc0070227815937a699eafea" + }, + { + "path": "crates/oa-core/tests/fixtures/v3-data-contract.json", + "bytes": 8240, + "sha256": "1b41299c53204e6232397d25a58d5bccdbbc16e770c75e8edb55ce36ccfe58a2" + }, + { + "path": "crates/oa-core/tests/fixtures/v4-reviewed-prose.arcadia", + "bytes": 1222, + "sha256": "5fa53a26a5ad010c8e59eb56d9b2b52003569e66c0377ffb58840590168ad0c1" + }, + { + "path": "crates/oa-core/tests/fixtures/v4-reviewed-prose.json", + "bytes": 1734, + "sha256": "2808088afcc165f4bd6da5129151143411c997041c3de61d600ab76e05d24a47" + }, + { + "path": "crates/oa-core/tests/language.rs", + "bytes": 56482, + "sha256": "77f6cb2a69976bfb5f60b243b71c07fb0edc7505002c1e9e73fcd6ddf6d9496e" + }, + { + "path": "crates/oa-core/tests/port_anchors.rs", + "bytes": 26893, + "sha256": "efbc0fa18733b1aaac501f9785a4c392fc49c05c45a5778d26e9b5dd951ca6fa" + }, + { + "path": "crates/oa-core/tests/port_migration.rs", + "bytes": 15620, + "sha256": "1801c376a5435ac7efb2a8342348b2c7ffef930bba65deca4acb66b06e0483d7" + }, + { + "path": "crates/oa-core/tests/port_source.rs", + "bytes": 4858, + "sha256": "8d2ddaca4045d330f6eda2591561497b858aad53769a823249d0bea4f5916e12" + }, + { + "path": "crates/oa-core/tests/prepared_commands.rs", + "bytes": 9555, + "sha256": "52cab1c668064777412df0a6a3c20d74d579b33794b4b00525b9f151c06eac9b" + }, + { + "path": "crates/oa-core/tests/process_diagnostics.rs", + "bytes": 1104, + "sha256": "1dbbc590239ef7542be4a2bdc9543aaa64d108417b03dd312a0894e364745906" + }, + { + "path": "crates/oa-core/tests/r3_constructor_ack.rs", + "bytes": 24163, + "sha256": "e5c44676ea0aab97f2e091ddac2f4bc4a4a90f5877f7bbf08b61229600944dd0" + }, + { + "path": "crates/oa-core/tests/r3_migration.rs", + "bytes": 6590, + "sha256": "ebd04120f5215b3956fdc79ee78f6e38734c7d13392f1fc28aaba957912265bd" + }, + { + "path": "crates/oa-core/tests/r3_semantic.rs", + "bytes": 77473, + "sha256": "49c3763eaf2131070a7c46cc23a84f917d292d41610b6404510e5607f8890c32" + }, + { + "path": "crates/oa-core/tests/r3_source.rs", + "bytes": 15311, + "sha256": "f31f60659df3c7ef601650d1cff140589d8729f01a3f65a4a6a6c2272f15c408" + }, + { + "path": "crates/oa-core/tests/r6_data.rs", + "bytes": 41437, + "sha256": "5f7ffb3bc73c3c85423623fe56f8680646dc97040327bdbead9d47a37e80f155" + }, + { + "path": "crates/oa-core/tests/r6_migration.rs", + "bytes": 9174, + "sha256": "81519bc1512f5e069432e9a1cdad04c10216d492df01b4b75b02102480ebd6a1" + }, + { + "path": "crates/oa-core/tests/r6_source.rs", + "bytes": 9519, + "sha256": "88a0aa087a7678e2898ff6057538072ca92072190712f05fff08372cc56ebed6" + }, + { + "path": "crates/oa-core/tests/release1_teaching.rs", + "bytes": 10010, + "sha256": "be179290d871125dc97cfd2a3067c7ac89c8a538fdb0afafc5b825bcdfb2bef2" + }, + { + "path": "crates/oa-core/tests/release_capabilities.rs", + "bytes": 19422, + "sha256": "b92cba2a562e78287ddd7dc3e94557848d17faa0c8a102601b50286b9af48a30" + }, + { + "path": "crates/oa-core/tests/release_diagrams.rs", + "bytes": 7689, + "sha256": "cefcc0582d91266d5de6ee5daefcfe41b606ab971ab235b59034a8e1dbc24b7d" + }, + { + "path": "crates/oa-core/tests/release_language_limits.rs", + "bytes": 5204, + "sha256": "8578da4f76bbd2d0e1bfe295ab1259e2162a3fe3d0d2ba8901915d7a40942806" + }, + { + "path": "crates/oa-core/tests/release_ports.rs", + "bytes": 32740, + "sha256": "506e62beab0c7ec0cece83e9e0c1a810fa1f99285c9e1cab0c77f06de55a40e1" + }, + { + "path": "crates/oa-core/tests/release_routing.rs", + "bytes": 23165, + "sha256": "ae168faaba23769b7ca1fd65f217b9db671726e67276eb5a04e5e72b1447a462" + }, + { + "path": "crates/oa-core/tests/release_scenarios.rs", + "bytes": 41067, + "sha256": "0f5d876badeec653fc7b12610a77d867e9a53582e605253deff8d379da21572f" + }, + { + "path": "crates/oa-core/tests/release_states.rs", + "bytes": 26873, + "sha256": "b1a26acee95eaba7f9920f9da738a1e33606552eb078e6d298895daff7e3d811" + }, + { + "path": "crates/oa-core/tests/release_topology.rs", + "bytes": 17643, + "sha256": "c51dbe5aa5a038f9ed830daa02aa67714472179eb7fd6da5ce36dc6931c8b3a9" + }, + { + "path": "crates/oa-core/tests/review_regressions.rs", + "bytes": 21823, + "sha256": "f154e5c88d35e31512e2b07733a1327ea3e2fcfd1ef8eb23066a4e9573f387c1" + }, + { + "path": "crates/oa-core/tests/route_source.rs", + "bytes": 7270, + "sha256": "1a73fdbac0d0ae0e84d8d67b6ad398e11223958f5dca007f73757c91827decfb" + }, + { + "path": "crates/oa-core/tests/routing_geometry.rs", + "bytes": 31890, + "sha256": "2d8eea4a2bba535ed0ea6daabccdaf87b375828c404baa10518c7bd7fd6253d3" + }, + { + "path": "crates/oa-core/tests/routing_labels.rs", + "bytes": 5530, + "sha256": "dff884d799c3c5c9257210248c55767e294e3cb317c605cbd0ddc9600c216eb6" + }, + { + "path": "crates/oa-core/tests/semantic_artifact_absence_oracle.rs", + "bytes": 4640, + "sha256": "d93eaf9667f4221232168bef0fe9f069e5be1b1f23410bda5dd67010b96e5c8a" + }, + { + "path": "crates/oa-core/tests/semantic_attachments_gui_oracle.rs", + "bytes": 14957, + "sha256": "7f526d363ba05e7ac89faf0fead0796e419c34ee204edf44a1b46c78308b0970" + }, + { + "path": "crates/oa-core/tests/source6_view_contract.rs", + "bytes": 14307, + "sha256": "fa566de53946d40bbbd9033edfeed177180c4dc44afa2f2f4667ffdc622eb3bb" + }, + { + "path": "crates/oa-core/tests/source7_contract.rs", + "bytes": 43262, + "sha256": "cad4f1a135ddbd947bdf3c71d1b44f1e438725095ea8c4d893464bc721c2363f" + }, + { + "path": "crates/oa-core/tests/source_files.rs", + "bytes": 13168, + "sha256": "f0429a0b89a443458ea9af7083c1e4e7411417a7e6b47e618bfbb9266dc164f9" + }, + { + "path": "crates/oa-core/tests/source_identity_updates.rs", + "bytes": 5139, + "sha256": "f52aa38b4d317e532c641ad7463472e4b40e802e60052cf0017556ffc63da06c" + }, + { + "path": "crates/oa-core/tests/source_nested_updates.rs", + "bytes": 16892, + "sha256": "9ac3390936c0d250651ea94a1b8faf0adfb680f061ececc56f2a52909b5ba855" + }, + { + "path": "crates/oa-core/tests/source_project.rs", + "bytes": 45910, + "sha256": "cef58adb16aa4d2527ddc0628aec3e26f0b42b4be70014a7e360fafdac13a942" + }, + { + "path": "crates/oa-core/tests/state_diagrams.rs", + "bytes": 23973, + "sha256": "6b02b387a3ae559cb3ad72de24292a5abcb76aaac0adbab5d2aa5211b22cd2e5" + }, + { + "path": "crates/oa-core/tests/workflows.rs", + "bytes": 33426, + "sha256": "bd843dfddbd5724ec08f657571f887496203056fe2fa5864ef50a168a613b89b" + }, + { + "path": "rust-toolchain.toml", + "bytes": 66, + "sha256": "a6a0bbd29ffaa8182dc22d1d9149709f1091e47df40ed96eb8a78a711c66a4ce" + } +] diff --git a/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/navigation-palette-20260913-01/admit-lifecycle-e124029/run.json b/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/navigation-palette-20260913-01/admit-lifecycle-e124029/run.json new file mode 100644 index 00000000..c80b9570 --- /dev/null +++ b/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/navigation-palette-20260913-01/admit-lifecycle-e124029/run.json @@ -0,0 +1,108 @@ +{ + "start": "2026-09-13T03:47:20.448152+00:00", + "end": "2026-09-13T03:47:23.815841+00:00", + "source": "e1240295bd114d23d3f67a69e6b38bdb2e25bb0d", + "command": [ + "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\native-qa\\navigation-oracle-e124029\\navigation-oracle-e124029.exe", + "same", + "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\native-qa\\navigation-palette-20260913-01\\lifecycle-baseline\\lifecycle-native.arcadia", + "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\native-qa\\navigation-palette-20260913-01\\lifecycle-work\\lifecycle-native.arcadia" + ], + "exit": 0, + "outcome": "passed", + "failure": null, + "changed_inputs": [], + "inputs_unchanged": true, + "inputs_before": { + "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\native-qa\\navigation-oracle-e124029\\navigation-oracle-e124029.exe": { + "bytes": 21025792, + "sha256": "8937a59a0e1c51619087b43ab059a6e9af3eef9d69dd2735601143ece3452ada" + }, + "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\llvm-mingw-20260908-ucrt-x86_64\\bin\\libunwind.dll": { + "bytes": 190464, + "sha256": "aa282fa47bb2c4e210cea5e470cdbdca58568f0be0bc73e404d86ab9cd95ef6a" + }, + "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\native-qa\\navigation-oracle-e124029\\build.json": { + "bytes": 7770, + "sha256": "27ff0d612a5b9e4c378ae135745f266acfbf498af9f503d9e04f45ceed19a35a" + }, + "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\navigation-palette-gates-20260913\\list-e124029.inputs.json": { + "bytes": 107751, + "sha256": "a011170b83ddc0c835428c10b2079b0df02d2bd6f90167f16b1297c683601a87" + }, + "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\native-qa\\navigation-palette-20260913-01\\lifecycle-baseline\\identities.tsv": { + "bytes": 3891, + "sha256": "4741e9b4ffd21338834cf757bd2083ff9ef43460bdce55fbba50e6f02a978d76" + }, + "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\native-qa\\navigation-palette-20260913-01\\lifecycle-baseline\\lifecycle-native.arcadia": { + "bytes": 23772, + "sha256": "998a2fd3e2474e72fc013f4da422e49bad61e118de62eccfbd71bf06b863ce7f" + }, + "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\native-qa\\navigation-palette-20260913-01\\lifecycle-baseline\\preflight.rs": { + "bytes": 4423, + "sha256": "bf2eb9b908ae36198d15d47ae79d56e4bb181f506598cc4e76a76175041f633e" + }, + "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\native-qa\\navigation-palette-20260913-01\\lifecycle-baseline\\README.md": { + "bytes": 12852, + "sha256": "b2b28a34c65897a52eb1f5729f6aa834273e9dc9e205600b8e46776a9dcea4b4" + }, + "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\native-qa\\navigation-palette-20260913-01\\lifecycle-work\\identities.tsv": { + "bytes": 3891, + "sha256": "4741e9b4ffd21338834cf757bd2083ff9ef43460bdce55fbba50e6f02a978d76" + }, + "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\native-qa\\navigation-palette-20260913-01\\lifecycle-work\\lifecycle-native.arcadia": { + "bytes": 23772, + "sha256": "998a2fd3e2474e72fc013f4da422e49bad61e118de62eccfbd71bf06b863ce7f" + }, + "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\native-qa\\navigation-palette-20260913-01\\lifecycle-work\\preflight.rs": { + "bytes": 4423, + "sha256": "bf2eb9b908ae36198d15d47ae79d56e4bb181f506598cc4e76a76175041f633e" + }, + "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\native-qa\\navigation-palette-20260913-01\\lifecycle-work\\README.md": { + "bytes": 12852, + "sha256": "b2b28a34c65897a52eb1f5729f6aa834273e9dc9e205600b8e46776a9dcea4b4" + } + }, + "input_trees": [ + { + "folder": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\native-qa\\navigation-palette-20260913-01\\lifecycle-baseline", + "paths": [ + "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\native-qa\\navigation-palette-20260913-01\\lifecycle-baseline\\README.md", + "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\native-qa\\navigation-palette-20260913-01\\lifecycle-baseline\\identities.tsv", + "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\native-qa\\navigation-palette-20260913-01\\lifecycle-baseline\\lifecycle-native.arcadia", + "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\native-qa\\navigation-palette-20260913-01\\lifecycle-baseline\\preflight.rs" + ] + }, + { + "folder": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\native-qa\\navigation-palette-20260913-01\\lifecycle-work", + "paths": [ + "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\native-qa\\navigation-palette-20260913-01\\lifecycle-work\\README.md", + "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\native-qa\\navigation-palette-20260913-01\\lifecycle-work\\identities.tsv", + "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\native-qa\\navigation-palette-20260913-01\\lifecycle-work\\lifecycle-native.arcadia", + "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\native-qa\\navigation-palette-20260913-01\\lifecycle-work\\preflight.rs" + ] + } + ], + "verified_core_inputs": 111, + "oracle_sha256": "8937a59a0e1c51619087b43ab059a6e9af3eef9d69dd2735601143ece3452ada", + "build": { + "path": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\native-qa\\navigation-oracle-e124029\\build.json", + "bytes": 7770, + "sha256": "27ff0d612a5b9e4c378ae135745f266acfbf498af9f503d9e04f45ceed19a35a" + }, + "launcher": { + "bytes": 5078, + "sha256": "b1d56ec226d7b6d5d5d1d00e4bc8727c016e44a6208831ea8d35ae142c097288" + }, + "scope": "Actual comparator/preparer execution; native actions are separate.", + "stdout": { + "path": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\native-qa\\navigation-palette-20260913-01\\admit-lifecycle-e124029\\stdout.log", + "bytes": 60, + "sha256": "be2b96d3c8af6419bdc3bbfcb5956cdd3427a26d1ecca310c2be84d46c22116d" + }, + "stderr": { + "path": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\native-qa\\navigation-palette-20260913-01\\admit-lifecycle-e124029\\stderr.log", + "bytes": 17504, + "sha256": "d69d5e31c30e451c19d2df488b980d782d99288ebe6d67a29a97a3459954cc66" + } +} diff --git a/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/navigation-palette-20260913-01/admit-lifecycle-e124029/stderr.log b/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/navigation-palette-20260913-01/admit-lifecycle-e124029/stderr.log new file mode 100644 index 00000000..50cdba3a --- /dev/null +++ b/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/navigation-palette-20260913-01/admit-lifecycle-e124029/stderr.log @@ -0,0 +1,36 @@ +Permitted non-error diagnostic in C:\Users\User\Documents\Git\ARCADIA-Studio\.local\native-qa\navigation-palette-20260913-01\lifecycle-baseline\lifecycle-native.arcadia: SourceDiagnostic { path: "lifecycle-native.arcadia", diagnostic: Diagnostic { severity: Warning, code: "unallocated_leaf", object_id: Some(21c0fe00-0000-4000-8000-000000000064), field: Some("allocation"), line: 7, column: 5, message: "Allocate leaf 'Review pressure demand' to a performer.", span: Span { start: 497, end: 638 } }, related: [] } +Permitted non-error diagnostic in C:\Users\User\Documents\Git\ARCADIA-Studio\.local\native-qa\navigation-palette-20260913-01\lifecycle-baseline\lifecycle-native.arcadia: SourceDiagnostic { path: "lifecycle-native.arcadia", diagnostic: Diagnostic { severity: Warning, code: "unallocated_leaf", object_id: Some(21c0fe00-0000-4000-8000-000000000065), field: Some("allocation"), line: 12, column: 5, message: "Allocate leaf 'WWWWWWWWWWWWWWWWWW pressure inspection activity' to a performer.", span: Span { start: 644, end: 810 } }, related: [] } +Permitted non-error diagnostic in C:\Users\User\Documents\Git\ARCADIA-Studio\.local\native-qa\navigation-palette-20260913-01\lifecycle-baseline\lifecycle-native.arcadia: SourceDiagnostic { path: "lifecycle-native.arcadia", diagnostic: Diagnostic { severity: Warning, code: "missing_exchange", object_id: Some(21c0fe00-0000-4000-8000-0000000003ed), field: Some("exchange"), line: 179, column: 5, message: "Choose an exchange.", span: Span { start: 5495, end: 5955 } }, related: [] } +Permitted non-error diagnostic in C:\Users\User\Documents\Git\ARCADIA-Studio\.local\native-qa\navigation-palette-20260913-01\lifecycle-baseline\lifecycle-native.arcadia: SourceDiagnostic { path: "lifecycle-native.arcadia", diagnostic: Diagnostic { severity: Warning, code: "missing_exchange", object_id: Some(21c0fe00-0000-4000-8000-00000000042e), field: Some("exchange"), line: 280, column: 5, message: "Choose an exchange.", span: Span { start: 8337, end: 8797 } }, related: [] } +Permitted non-error diagnostic in C:\Users\User\Documents\Git\ARCADIA-Studio\.local\native-qa\navigation-palette-20260913-01\lifecycle-baseline\lifecycle-native.arcadia: SourceDiagnostic { path: "lifecycle-native.arcadia", diagnostic: Diagnostic { severity: Warning, code: "missing_exchange", object_id: Some(21c0fe00-0000-4000-8000-0000000007d5), field: Some("exchange"), line: 319, column: 5, message: "Choose an exchange.", span: Span { start: 9677, end: 10137 } }, related: [] } +Permitted non-error diagnostic in C:\Users\User\Documents\Git\ARCADIA-Studio\.local\native-qa\navigation-palette-20260913-01\lifecycle-baseline\lifecycle-native.arcadia: SourceDiagnostic { path: "lifecycle-native.arcadia", diagnostic: Diagnostic { severity: Warning, code: "missing_exchange", object_id: Some(21c0fe00-0000-4000-8000-000000000816), field: Some("exchange"), line: 426, column: 5, message: "Choose an exchange.", span: Span { start: 12699, end: 13159 } }, related: [] } +Permitted non-error diagnostic in C:\Users\User\Documents\Git\ARCADIA-Studio\.local\native-qa\navigation-palette-20260913-01\lifecycle-baseline\lifecycle-native.arcadia: SourceDiagnostic { path: "lifecycle-native.arcadia", diagnostic: Diagnostic { severity: Warning, code: "missing_exchange", object_id: Some(21c0fe00-0000-4000-8000-000000000bcc), field: Some("exchange"), line: 478, column: 5, message: "Choose an exchange.", span: Span { start: 14322, end: 14777 } }, related: [] } +Permitted non-error diagnostic in C:\Users\User\Documents\Git\ARCADIA-Studio\.local\native-qa\navigation-palette-20260913-01\lifecycle-baseline\lifecycle-native.arcadia: SourceDiagnostic { path: "lifecycle-native.arcadia", diagnostic: Diagnostic { severity: Warning, code: "missing_exchange", object_id: Some(21c0fe00-0000-4000-8000-000000000be0), field: Some("exchange"), line: 495, column: 5, message: "Choose an exchange.", span: Span { start: 14783, end: 15234 } }, related: [] } +Permitted non-error diagnostic in C:\Users\User\Documents\Git\ARCADIA-Studio\.local\native-qa\navigation-palette-20260913-01\lifecycle-baseline\lifecycle-native.arcadia: SourceDiagnostic { path: "lifecycle-native.arcadia", diagnostic: Diagnostic { severity: Warning, code: "missing_exchange", object_id: Some(21c0fe00-0000-4000-8000-000000000bea), field: Some("exchange"), line: 512, column: 5, message: "Choose an exchange.", span: Span { start: 15240, end: 15700 } }, related: [] } +Permitted non-error diagnostic in C:\Users\User\Documents\Git\ARCADIA-Studio\.local\native-qa\navigation-palette-20260913-01\lifecycle-baseline\lifecycle-native.arcadia: SourceDiagnostic { path: "lifecycle-native.arcadia", diagnostic: Diagnostic { severity: Warning, code: "missing_exchange", object_id: Some(21c0fe00-0000-4000-8000-000000000bfe), field: Some("exchange"), line: 529, column: 5, message: "Choose an exchange.", span: Span { start: 15706, end: 16161 } }, related: [] } +Permitted non-error diagnostic in C:\Users\User\Documents\Git\ARCADIA-Studio\.local\native-qa\navigation-palette-20260913-01\lifecycle-baseline\lifecycle-native.arcadia: SourceDiagnostic { path: "lifecycle-native.arcadia", diagnostic: Diagnostic { severity: Warning, code: "missing_exchange", object_id: Some(21c0fe00-0000-4000-8000-000000000fc8), field: Some("exchange"), line: 568, column: 5, message: "Choose an exchange.", span: Span { start: 16923, end: 17380 } }, related: [] } +Permitted non-error diagnostic in C:\Users\User\Documents\Git\ARCADIA-Studio\.local\native-qa\navigation-palette-20260913-01\lifecycle-baseline\lifecycle-native.arcadia: SourceDiagnostic { path: "lifecycle-native.arcadia", diagnostic: Diagnostic { severity: Warning, code: "missing_exchange", object_id: Some(21c0fe00-0000-4000-8000-000000000fe6), field: Some("exchange"), line: 585, column: 5, message: "Choose an exchange.", span: Span { start: 17386, end: 17850 } }, related: [] } +Permitted non-error diagnostic in C:\Users\User\Documents\Git\ARCADIA-Studio\.local\native-qa\navigation-palette-20260913-01\lifecycle-baseline\lifecycle-native.arcadia: SourceDiagnostic { path: "lifecycle-native.arcadia", diagnostic: Diagnostic { severity: Warning, code: "missing_exchange", object_id: Some(21c0fe00-0000-4000-8000-0000000013b0), field: Some("exchange"), line: 663, column: 5, message: "Choose an exchange.", span: Span { start: 19642, end: 20099 } }, related: [] } +Permitted non-error diagnostic in C:\Users\User\Documents\Git\ARCADIA-Studio\.local\native-qa\navigation-palette-20260913-01\lifecycle-baseline\lifecycle-native.arcadia: SourceDiagnostic { path: "lifecycle-native.arcadia", diagnostic: Diagnostic { severity: Warning, code: "missing_exchange", object_id: Some(21c0fe00-0000-4000-8000-0000000013ba), field: Some("exchange"), line: 680, column: 5, message: "Choose an exchange.", span: Span { start: 20105, end: 20578 } }, related: [] } +Permitted non-error diagnostic in C:\Users\User\Documents\Git\ARCADIA-Studio\.local\native-qa\navigation-palette-20260913-01\lifecycle-baseline\lifecycle-native.arcadia: SourceDiagnostic { path: "lifecycle-native.arcadia", diagnostic: Diagnostic { severity: Warning, code: "missing_lifeline", object_id: Some(21c0fe00-0000-4000-8000-0000000013ba), field: Some("sender"), line: 680, column: 5, message: "Choose sender.", span: Span { start: 20105, end: 20578 } }, related: [] } +Permitted non-error diagnostic in C:\Users\User\Documents\Git\ARCADIA-Studio\.local\native-qa\navigation-palette-20260913-01\lifecycle-baseline\lifecycle-native.arcadia: SourceDiagnostic { path: "lifecycle-native.arcadia", diagnostic: Diagnostic { severity: Warning, code: "missing_exchange", object_id: Some(21c0fe00-0000-4000-8000-0000000013ce), field: Some("exchange"), line: 697, column: 5, message: "Choose an exchange.", span: Span { start: 20584, end: 21042 } }, related: [] } +Permitted non-error diagnostic in C:\Users\User\Documents\Git\ARCADIA-Studio\.local\native-qa\navigation-palette-20260913-01\lifecycle-baseline\lifecycle-native.arcadia: SourceDiagnostic { path: "lifecycle-native.arcadia", diagnostic: Diagnostic { severity: Warning, code: "missing_exchange", object_id: Some(21c0fe00-0000-4000-8000-000000001775), field: Some("exchange"), line: 736, column: 5, message: "Choose an exchange.", span: Span { start: 21794, end: 22252 } }, related: [] } +Permitted non-error diagnostic in C:\Users\User\Documents\Git\ARCADIA-Studio\.local\native-qa\navigation-palette-20260913-01\lifecycle-baseline\lifecycle-native.arcadia: SourceDiagnostic { path: "lifecycle-native.arcadia", diagnostic: Diagnostic { severity: Warning, code: "missing_exchange", object_id: Some(21c0fe00-0000-4000-8000-000000001798), field: Some("exchange"), line: 753, column: 5, message: "Choose an exchange.", span: Span { start: 22258, end: 22729 } }, related: [] } +Permitted non-error diagnostic in C:\Users\User\Documents\Git\ARCADIA-Studio\.local\native-qa\navigation-palette-20260913-01\lifecycle-work\lifecycle-native.arcadia: SourceDiagnostic { path: "lifecycle-native.arcadia", diagnostic: Diagnostic { severity: Warning, code: "unallocated_leaf", object_id: Some(21c0fe00-0000-4000-8000-000000000064), field: Some("allocation"), line: 7, column: 5, message: "Allocate leaf 'Review pressure demand' to a performer.", span: Span { start: 497, end: 638 } }, related: [] } +Permitted non-error diagnostic in C:\Users\User\Documents\Git\ARCADIA-Studio\.local\native-qa\navigation-palette-20260913-01\lifecycle-work\lifecycle-native.arcadia: SourceDiagnostic { path: "lifecycle-native.arcadia", diagnostic: Diagnostic { severity: Warning, code: "unallocated_leaf", object_id: Some(21c0fe00-0000-4000-8000-000000000065), field: Some("allocation"), line: 12, column: 5, message: "Allocate leaf 'WWWWWWWWWWWWWWWWWW pressure inspection activity' to a performer.", span: Span { start: 644, end: 810 } }, related: [] } +Permitted non-error diagnostic in C:\Users\User\Documents\Git\ARCADIA-Studio\.local\native-qa\navigation-palette-20260913-01\lifecycle-work\lifecycle-native.arcadia: SourceDiagnostic { path: "lifecycle-native.arcadia", diagnostic: Diagnostic { severity: Warning, code: "missing_exchange", object_id: Some(21c0fe00-0000-4000-8000-0000000003ed), field: Some("exchange"), line: 179, column: 5, message: "Choose an exchange.", span: Span { start: 5495, end: 5955 } }, related: [] } +Permitted non-error diagnostic in C:\Users\User\Documents\Git\ARCADIA-Studio\.local\native-qa\navigation-palette-20260913-01\lifecycle-work\lifecycle-native.arcadia: SourceDiagnostic { path: "lifecycle-native.arcadia", diagnostic: Diagnostic { severity: Warning, code: "missing_exchange", object_id: Some(21c0fe00-0000-4000-8000-00000000042e), field: Some("exchange"), line: 280, column: 5, message: "Choose an exchange.", span: Span { start: 8337, end: 8797 } }, related: [] } +Permitted non-error diagnostic in C:\Users\User\Documents\Git\ARCADIA-Studio\.local\native-qa\navigation-palette-20260913-01\lifecycle-work\lifecycle-native.arcadia: SourceDiagnostic { path: "lifecycle-native.arcadia", diagnostic: Diagnostic { severity: Warning, code: "missing_exchange", object_id: Some(21c0fe00-0000-4000-8000-0000000007d5), field: Some("exchange"), line: 319, column: 5, message: "Choose an exchange.", span: Span { start: 9677, end: 10137 } }, related: [] } +Permitted non-error diagnostic in C:\Users\User\Documents\Git\ARCADIA-Studio\.local\native-qa\navigation-palette-20260913-01\lifecycle-work\lifecycle-native.arcadia: SourceDiagnostic { path: "lifecycle-native.arcadia", diagnostic: Diagnostic { severity: Warning, code: "missing_exchange", object_id: Some(21c0fe00-0000-4000-8000-000000000816), field: Some("exchange"), line: 426, column: 5, message: "Choose an exchange.", span: Span { start: 12699, end: 13159 } }, related: [] } +Permitted non-error diagnostic in C:\Users\User\Documents\Git\ARCADIA-Studio\.local\native-qa\navigation-palette-20260913-01\lifecycle-work\lifecycle-native.arcadia: SourceDiagnostic { path: "lifecycle-native.arcadia", diagnostic: Diagnostic { severity: Warning, code: "missing_exchange", object_id: Some(21c0fe00-0000-4000-8000-000000000bcc), field: Some("exchange"), line: 478, column: 5, message: "Choose an exchange.", span: Span { start: 14322, end: 14777 } }, related: [] } +Permitted non-error diagnostic in C:\Users\User\Documents\Git\ARCADIA-Studio\.local\native-qa\navigation-palette-20260913-01\lifecycle-work\lifecycle-native.arcadia: SourceDiagnostic { path: "lifecycle-native.arcadia", diagnostic: Diagnostic { severity: Warning, code: "missing_exchange", object_id: Some(21c0fe00-0000-4000-8000-000000000be0), field: Some("exchange"), line: 495, column: 5, message: "Choose an exchange.", span: Span { start: 14783, end: 15234 } }, related: [] } +Permitted non-error diagnostic in C:\Users\User\Documents\Git\ARCADIA-Studio\.local\native-qa\navigation-palette-20260913-01\lifecycle-work\lifecycle-native.arcadia: SourceDiagnostic { path: "lifecycle-native.arcadia", diagnostic: Diagnostic { severity: Warning, code: "missing_exchange", object_id: Some(21c0fe00-0000-4000-8000-000000000bea), field: Some("exchange"), line: 512, column: 5, message: "Choose an exchange.", span: Span { start: 15240, end: 15700 } }, related: [] } +Permitted non-error diagnostic in C:\Users\User\Documents\Git\ARCADIA-Studio\.local\native-qa\navigation-palette-20260913-01\lifecycle-work\lifecycle-native.arcadia: SourceDiagnostic { path: "lifecycle-native.arcadia", diagnostic: Diagnostic { severity: Warning, code: "missing_exchange", object_id: Some(21c0fe00-0000-4000-8000-000000000bfe), field: Some("exchange"), line: 529, column: 5, message: "Choose an exchange.", span: Span { start: 15706, end: 16161 } }, related: [] } +Permitted non-error diagnostic in C:\Users\User\Documents\Git\ARCADIA-Studio\.local\native-qa\navigation-palette-20260913-01\lifecycle-work\lifecycle-native.arcadia: SourceDiagnostic { path: "lifecycle-native.arcadia", diagnostic: Diagnostic { severity: Warning, code: "missing_exchange", object_id: Some(21c0fe00-0000-4000-8000-000000000fc8), field: Some("exchange"), line: 568, column: 5, message: "Choose an exchange.", span: Span { start: 16923, end: 17380 } }, related: [] } +Permitted non-error diagnostic in C:\Users\User\Documents\Git\ARCADIA-Studio\.local\native-qa\navigation-palette-20260913-01\lifecycle-work\lifecycle-native.arcadia: SourceDiagnostic { path: "lifecycle-native.arcadia", diagnostic: Diagnostic { severity: Warning, code: "missing_exchange", object_id: Some(21c0fe00-0000-4000-8000-000000000fe6), field: Some("exchange"), line: 585, column: 5, message: "Choose an exchange.", span: Span { start: 17386, end: 17850 } }, related: [] } +Permitted non-error diagnostic in C:\Users\User\Documents\Git\ARCADIA-Studio\.local\native-qa\navigation-palette-20260913-01\lifecycle-work\lifecycle-native.arcadia: SourceDiagnostic { path: "lifecycle-native.arcadia", diagnostic: Diagnostic { severity: Warning, code: "missing_exchange", object_id: Some(21c0fe00-0000-4000-8000-0000000013b0), field: Some("exchange"), line: 663, column: 5, message: "Choose an exchange.", span: Span { start: 19642, end: 20099 } }, related: [] } +Permitted non-error diagnostic in C:\Users\User\Documents\Git\ARCADIA-Studio\.local\native-qa\navigation-palette-20260913-01\lifecycle-work\lifecycle-native.arcadia: SourceDiagnostic { path: "lifecycle-native.arcadia", diagnostic: Diagnostic { severity: Warning, code: "missing_exchange", object_id: Some(21c0fe00-0000-4000-8000-0000000013ba), field: Some("exchange"), line: 680, column: 5, message: "Choose an exchange.", span: Span { start: 20105, end: 20578 } }, related: [] } +Permitted non-error diagnostic in C:\Users\User\Documents\Git\ARCADIA-Studio\.local\native-qa\navigation-palette-20260913-01\lifecycle-work\lifecycle-native.arcadia: SourceDiagnostic { path: "lifecycle-native.arcadia", diagnostic: Diagnostic { severity: Warning, code: "missing_lifeline", object_id: Some(21c0fe00-0000-4000-8000-0000000013ba), field: Some("sender"), line: 680, column: 5, message: "Choose sender.", span: Span { start: 20105, end: 20578 } }, related: [] } +Permitted non-error diagnostic in C:\Users\User\Documents\Git\ARCADIA-Studio\.local\native-qa\navigation-palette-20260913-01\lifecycle-work\lifecycle-native.arcadia: SourceDiagnostic { path: "lifecycle-native.arcadia", diagnostic: Diagnostic { severity: Warning, code: "missing_exchange", object_id: Some(21c0fe00-0000-4000-8000-0000000013ce), field: Some("exchange"), line: 697, column: 5, message: "Choose an exchange.", span: Span { start: 20584, end: 21042 } }, related: [] } +Permitted non-error diagnostic in C:\Users\User\Documents\Git\ARCADIA-Studio\.local\native-qa\navigation-palette-20260913-01\lifecycle-work\lifecycle-native.arcadia: SourceDiagnostic { path: "lifecycle-native.arcadia", diagnostic: Diagnostic { severity: Warning, code: "missing_exchange", object_id: Some(21c0fe00-0000-4000-8000-000000001775), field: Some("exchange"), line: 736, column: 5, message: "Choose an exchange.", span: Span { start: 21794, end: 22252 } }, related: [] } +Permitted non-error diagnostic in C:\Users\User\Documents\Git\ARCADIA-Studio\.local\native-qa\navigation-palette-20260913-01\lifecycle-work\lifecycle-native.arcadia: SourceDiagnostic { path: "lifecycle-native.arcadia", diagnostic: Diagnostic { severity: Warning, code: "missing_exchange", object_id: Some(21c0fe00-0000-4000-8000-000000001798), field: Some("exchange"), line: 753, column: 5, message: "Choose an exchange.", span: Span { start: 22258, end: 22729 } }, related: [] } diff --git a/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/navigation-palette-20260913-01/admit-lifecycle-e124029/stdout.log b/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/navigation-palette-20260913-01/admit-lifecycle-e124029/stdout.log new file mode 100644 index 00000000..ffec8880 --- /dev/null +++ b/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/navigation-palette-20260913-01/admit-lifecycle-e124029/stdout.log @@ -0,0 +1 @@ +PASS same: complete Project and exact SourceBundle restored diff --git a/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/navigation-palette-20260913-01/admit-lifecycle-e124029/verified-core-inputs.json b/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/navigation-palette-20260913-01/admit-lifecycle-e124029/verified-core-inputs.json new file mode 100644 index 00000000..45621455 --- /dev/null +++ b/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/navigation-palette-20260913-01/admit-lifecycle-e124029/verified-core-inputs.json @@ -0,0 +1,557 @@ +[ + { + "path": "Cargo.lock", + "bytes": 119998, + "sha256": "826fad8a8176d7acbb9007db88c123dd25b8a5efcad7a33a8da8a4e0c6e3394f" + }, + { + "path": "Cargo.toml", + "bytes": 400, + "sha256": "369f5b4b2b60705a94623c8c0b68f8e0b048f263280ce07ae0629ad353797d62" + }, + { + "path": "crates/oa-core/Cargo.toml", + "bytes": 408, + "sha256": "6b5c062474ebb62d5082e07dabed99ee85e4a833edf26690fb4f887028d3416f" + }, + { + "path": "crates/oa-core/build.rs", + "bytes": 45, + "sha256": "ab1be6ae1fd8bf3ebaeef6348347a9d5e666bde693126f199e041659e0b094a9" + }, + { + "path": "crates/oa-core/examples/generate_demo.rs", + "bytes": 795, + "sha256": "e26f432c95331aeca50985dbb3ad2c558affd43023b585811f0f7bfaa59f6661" + }, + { + "path": "crates/oa-core/examples/generate_release1.rs", + "bytes": 1798, + "sha256": "1d5f11165d74893e4bc18dbf3a2f2111f4026bd89fd06ee7f0bae69e45c4d4b5" + }, + { + "path": "crates/oa-core/examples/release_dense_views.rs", + "bytes": 14664, + "sha256": "a83158488ef9b7394f136c52b1496719be935c4e5bdfe457cab5c9894f5f9412" + }, + { + "path": "crates/oa-core/examples/routing_workshop.rs", + "bytes": 17248, + "sha256": "571307b18b6d4fa04700c5a4d4b0c2154c419e93a21292b2028e7b6f46a2faa7" + }, + { + "path": "crates/oa-core/src/analysis_numeric.rs", + "bytes": 3735, + "sha256": "6c88eef3119162aeb6c07b9e75812c3af9fbfe75554b0503ad00f103cb478408" + }, + { + "path": "crates/oa-core/src/analysis_numeric/dimension.rs", + "bytes": 3045, + "sha256": "d4ad8e5307a1620e31791d724a0e31fdba860d00dc83e3e1f2209d9c5e22a340" + }, + { + "path": "crates/oa-core/src/analysis_numeric/exact.rs", + "bytes": 17338, + "sha256": "4eb8cb0f66b10e5da204899af82ee26adfec74bab47b1a6c9842b5488ee04c4d" + }, + { + "path": "crates/oa-core/src/analysis_numeric/fixtures/r7-literal-boundaries.json", + "bytes": 6085, + "sha256": "3b959dec5e100a6f03817f5314bef497347ba579ebd235476516d4bd83399181" + }, + { + "path": "crates/oa-core/src/analysis_numeric/meter.rs", + "bytes": 7129, + "sha256": "1f7174beb992935b4c399acdef91114af73faf041070feab968455ac827e8ee4" + }, + { + "path": "crates/oa-core/src/analysis_numeric/quantity.rs", + "bytes": 12257, + "sha256": "ead5142d6eeea8f99399d57e02d8f7d819980923de76387cd454694d6a747aee" + }, + { + "path": "crates/oa-core/src/analysis_numeric/tests.rs", + "bytes": 27486, + "sha256": "323ce82fc057d36f44463569fd8ea324c7d700fddfbf32bce15e04bd2a66970b" + }, + { + "path": "crates/oa-core/src/data.rs", + "bytes": 42696, + "sha256": "7f9c7c7dd8353cb5a38597b92cde6d3e890203d392473187eb387d41ff37414a" + }, + { + "path": "crates/oa-core/src/demo.rs", + "bytes": 20657, + "sha256": "ad62123f96c20ff023cafc1a9849b0fa06bc62edd1fb9701799e4599b458600c" + }, + { + "path": "crates/oa-core/src/language.rs", + "bytes": 105312, + "sha256": "34cbb144a111e6f0ddadfca7d40636a8e3323fe65ea8920fd2402f0352b41f57" + }, + { + "path": "crates/oa-core/src/language/semantic_source.rs", + "bytes": 7326, + "sha256": "584b5bb59d87a7b8d44d5dd2d124c3a1323b21492b138a17bc9526c0087c9e29" + }, + { + "path": "crates/oa-core/src/language_nesting_tests.rs", + "bytes": 20639, + "sha256": "bd061611e8cb6f28ab203c73e544ac98bf275eb464cd314ad5fbd25f773df33b" + }, + { + "path": "crates/oa-core/src/language_outline_tests.rs", + "bytes": 14877, + "sha256": "4c79a01e8aea243dd9ef66ce71b9fae263d0e79c319a46c51223679897e8b9df" + }, + { + "path": "crates/oa-core/src/lib.rs", + "bytes": 549, + "sha256": "ea1d9bf5acba8381ba204db12ff5b5fe1f320417d17af517e46b90fd6bcb241c" + }, + { + "path": "crates/oa-core/src/migration_v2/README.md", + "bytes": 1515, + "sha256": "fb61d3faa33d7bdfba73415415a0882c0fbd3e0b45df42f972a19aec6da927b9" + }, + { + "path": "crates/oa-core/src/migration_v2/adapter.rs", + "bytes": 9490, + "sha256": "66741b4c8354a23b8a932ecc5bf1bc3bb6e74279558757b8c35bc2157a7e51b5" + }, + { + "path": "crates/oa-core/src/migration_v2/mod.rs", + "bytes": 1158, + "sha256": "857d8bb13b6814daba6780ca770c16352943c01cb130245d055f11b3b957b3e9" + }, + { + "path": "crates/oa-core/src/migration_v2/model.rs", + "bytes": 52059, + "sha256": "8ac63eb59b2e57bdecff2477ee0634096090924d3dd1851e1c454880a889dacb" + }, + { + "path": "crates/oa-core/src/migration_v2/references.rs", + "bytes": 13369, + "sha256": "33a6819abc83139fdaebeebd1b553238a328637106cce7dd5a535f1791d43e20" + }, + { + "path": "crates/oa-core/src/migration_v2/source.rs", + "bytes": 21946, + "sha256": "74fee9b24e7c912182c998ab9d9aeec125e2009c3214959229e844c67afe2bf6" + }, + { + "path": "crates/oa-core/src/migration_v2/state_validation.rs", + "bytes": 15769, + "sha256": "e29ef071bab0a68460ddf55c46131c6f66c022d52c3c602c37c013c3649da1b0" + }, + { + "path": "crates/oa-core/src/migration_v2/transitions.rs", + "bytes": 704, + "sha256": "f74174c532ba56b57c80b719a11fb4adea0a78ccc2828fff72fe2b9eda5a10b1" + }, + { + "path": "crates/oa-core/src/migration_v2/validation.rs", + "bytes": 98736, + "sha256": "6d5e4a4e2805ae5045bf789a0485e14a61c63346587bace2b4a91173a688f780" + }, + { + "path": "crates/oa-core/src/migration_v3/README.md", + "bytes": 2128, + "sha256": "3755a63f840d7f0eadf68afa7a9d587877a9468ff982d3610539e8a0bb067a82" + }, + { + "path": "crates/oa-core/src/migration_v3/mod.rs", + "bytes": 23023, + "sha256": "f4edb6a0b50ecfe8670973776d703047b064420cb1f05913129c00fc656b3722" + }, + { + "path": "crates/oa-core/src/migration_v4.rs", + "bytes": 4020, + "sha256": "50c652964f0f309e7f3f54b6ef12c40d42fcecc0490f005995c713df1179af70" + }, + { + "path": "crates/oa-core/src/model.rs", + "bytes": 66352, + "sha256": "4585c895c64c4a183941c92cf047a9e52ff0cbe41971e16e78d229ea9dc101fb" + }, + { + "path": "crates/oa-core/src/operations.rs", + "bytes": 11405, + "sha256": "a5ffbbf54cd440316a106d1188bfb699b57dae59f466edcb33618c333cd19f41" + }, + { + "path": "crates/oa-core/src/persistence.rs", + "bytes": 31774, + "sha256": "1c01474f906a63e552c0d590b272c95821c00a100b3e79e58e67dbbeac341a14" + }, + { + "path": "crates/oa-core/src/ports.rs", + "bytes": 45413, + "sha256": "5cac12eea70a54ebebbd6be77b63ce92e3195325c4bc7d27705c518686cbac80" + }, + { + "path": "crates/oa-core/src/projection.rs", + "bytes": 21374, + "sha256": "69ed12bace2cc5024e151752a174ab14034ac2d05eb741fcf13e9a27521c059b" + }, + { + "path": "crates/oa-core/src/projection/port_layout.rs", + "bytes": 13474, + "sha256": "a08d17d10a58bb8b206dd001b19b91d5aa3a9f743b298a4da57d503223c20079" + }, + { + "path": "crates/oa-core/src/projection/state.rs", + "bytes": 5233, + "sha256": "73a607bac713ec7ff49a509fefb1a53c7686dca93ee241ffc835564d743afb28" + }, + { + "path": "crates/oa-core/src/references.rs", + "bytes": 21957, + "sha256": "93553c234f32da35f1f41a7b83ad81c471c9803efa78ca222cf7de3c2f86c0bb" + }, + { + "path": "crates/oa-core/src/routing.rs", + "bytes": 50309, + "sha256": "c5ebb350ba76f731f5c48d968bfbba4b6ef68ec046eb5893d116c4637ef15080" + }, + { + "path": "crates/oa-core/src/semantic.rs", + "bytes": 540, + "sha256": "f9895dd5b8fb27d10d4cfbb41c3542ef2018365a589b8d5778e5674ae5a1f239" + }, + { + "path": "crates/oa-core/src/semantic/catalog.rs", + "bytes": 49407, + "sha256": "1ff74fcca18084d178681d7ff38ee1ccac632c27c4de0595ba1ceab8067ab3a4" + }, + { + "path": "crates/oa-core/src/semantic/historical.rs", + "bytes": 15271, + "sha256": "eaf3284bf234312698514cdb636bc8348e1b5d746cb16b18df777e77d312abfb" + }, + { + "path": "crates/oa-core/src/semantic/linked.rs", + "bytes": 6035, + "sha256": "6f335b14e809aecfc35defcaf77cb821b080d1506dbc46297912b25af98c07a2" + }, + { + "path": "crates/oa-core/src/semantic/mutate.rs", + "bytes": 22683, + "sha256": "dc2b4c4a6eb156fe468eaa8c85fd37a505c0cd8ea1f226cb69cd01689afd3d9d" + }, + { + "path": "crates/oa-core/src/semantic/review.rs", + "bytes": 51116, + "sha256": "0c157d2c327e72e89cca3b423e71ee73798105c5bb7271439c1a101642c91e3e" + }, + { + "path": "crates/oa-core/src/semantic/types.rs", + "bytes": 10405, + "sha256": "6922fe35089f12fad43ab0ce1c6886d01a3855f90b8e2543e99802ac5e6f1bbb" + }, + { + "path": "crates/oa-core/src/session.rs", + "bytes": 35237, + "sha256": "1eb77b329b2986fc6f5dc0171e77fd860375cdfd8c769a1367b445d6c49ebe00" + }, + { + "path": "crates/oa-core/src/source_files.rs", + "bytes": 74803, + "sha256": "669491dbddb8e8e6556161426dffa1a49ac1c826d31020bff0956d81a4d84683" + }, + { + "path": "crates/oa-core/src/source_project.rs", + "bytes": 61843, + "sha256": "1394370bcc5908873b830c2c11312e6e1611af41f46c4f43ca0a6bcb713bb466" + }, + { + "path": "crates/oa-core/src/source_project/source_migration.rs", + "bytes": 4700, + "sha256": "add463ae85c420f853d324b00a221f0f874164cc3f3ed6bbb07557a9ed7a8c95" + }, + { + "path": "crates/oa-core/src/source_project/source_structure.rs", + "bytes": 20225, + "sha256": "9f1f83315856a7025fe662c0fbb13452f31613224a03663150d6225d1ddc162f" + }, + { + "path": "crates/oa-core/src/state_validation.rs", + "bytes": 15665, + "sha256": "e28d7f74385e2a78763716b34491bd73a00bfeccc085970ceb130627e3faee18" + }, + { + "path": "crates/oa-core/src/topology_context.rs", + "bytes": 13734, + "sha256": "16de69b297de95d93c73808621607833b713af811dd082f0169186ae1e5c3e2d" + }, + { + "path": "crates/oa-core/src/topology_context/analysis.rs", + "bytes": 20036, + "sha256": "dead6194f0aa60cc46045c0e5ee10dbdbb689158c38634dfbbbc45d2ba88ac65" + }, + { + "path": "crates/oa-core/src/topology_context/analysis_tests.rs", + "bytes": 5258, + "sha256": "17839263410815e96fe027d4eba3aae0a9ab3b82b16947e2b29ebe0d09782b56" + }, + { + "path": "crates/oa-core/src/transitions.rs", + "bytes": 51998, + "sha256": "fadd1b07b89cae4117b91abb4f1ac9ea81ff818ef20f2175e76ee8cf21fb708d" + }, + { + "path": "crates/oa-core/src/transitions/communication.rs", + "bytes": 8634, + "sha256": "2b476630a88edd9021b9156ca12a5402e01604095f0d4002afb452671903a028" + }, + { + "path": "crates/oa-core/src/validation.rs", + "bytes": 112792, + "sha256": "7c1b4ae5e4ebba13e99af9158ccde138dfc5e9a7afb580e76fba72d0b64ba74e" + }, + { + "path": "crates/oa-core/src/validation/coverage.rs", + "bytes": 6478, + "sha256": "b08e4b344ecad055714168c83beff7fe29ba4edc53edbffa2eae04e5580a4d5f" + }, + { + "path": "crates/oa-core/src/view_options.rs", + "bytes": 24481, + "sha256": "421ede0a04c593ca1df0e6e0d06fabcfcc8113cdbcfb0adc7f5c8ef4d1724208" + }, + { + "path": "crates/oa-core/src/view_options_tests.rs", + "bytes": 21433, + "sha256": "64aac44de2df42a1012239a3dd75c473daf0c8990b3170b7bf7e78a556080208" + }, + { + "path": "crates/oa-core/tests/communication_boundary_scenarios.rs", + "bytes": 8816, + "sha256": "e1100b8f363910a487d90c73acc7df543dc6d532158c3c63ad11cd3d40d8e12b" + }, + { + "path": "crates/oa-core/tests/communication_means.rs", + "bytes": 18102, + "sha256": "a25f2749180bc6f4beb1445bfad3351eedf0669131a7439b633ab804439e95a4" + }, + { + "path": "crates/oa-core/tests/coverage_diagnostics.rs", + "bytes": 20527, + "sha256": "e2e9c3996daab47f2bd23f5d8c48b4e372af33331152f5fc85b76f06d04fcdf4" + }, + { + "path": "crates/oa-core/tests/fixtures/v2-coastal-rescue.arcadia", + "bytes": 29220, + "sha256": "f0df129c1914bfc01d0b047b0cd4b520d8cf0c249ea9ced085de400c0be87ff3" + }, + { + "path": "crates/oa-core/tests/fixtures/v2-coastal-rescue.json", + "bytes": 43990, + "sha256": "3ed53508eb544bbd788832f7bebea2ec31b3d66191f24f45098cc9750ec4c005" + }, + { + "path": "crates/oa-core/tests/fixtures/v3-data-contract.arcadia", + "bytes": 2450, + "sha256": "305f19d1b79f99f8d4cf627ba2e9ca6836bb7959cc0070227815937a699eafea" + }, + { + "path": "crates/oa-core/tests/fixtures/v3-data-contract.json", + "bytes": 8240, + "sha256": "1b41299c53204e6232397d25a58d5bccdbbc16e770c75e8edb55ce36ccfe58a2" + }, + { + "path": "crates/oa-core/tests/fixtures/v4-reviewed-prose.arcadia", + "bytes": 1222, + "sha256": "5fa53a26a5ad010c8e59eb56d9b2b52003569e66c0377ffb58840590168ad0c1" + }, + { + "path": "crates/oa-core/tests/fixtures/v4-reviewed-prose.json", + "bytes": 1734, + "sha256": "2808088afcc165f4bd6da5129151143411c997041c3de61d600ab76e05d24a47" + }, + { + "path": "crates/oa-core/tests/language.rs", + "bytes": 56482, + "sha256": "77f6cb2a69976bfb5f60b243b71c07fb0edc7505002c1e9e73fcd6ddf6d9496e" + }, + { + "path": "crates/oa-core/tests/port_anchors.rs", + "bytes": 26893, + "sha256": "efbc0fa18733b1aaac501f9785a4c392fc49c05c45a5778d26e9b5dd951ca6fa" + }, + { + "path": "crates/oa-core/tests/port_migration.rs", + "bytes": 15620, + "sha256": "1801c376a5435ac7efb2a8342348b2c7ffef930bba65deca4acb66b06e0483d7" + }, + { + "path": "crates/oa-core/tests/port_source.rs", + "bytes": 4858, + "sha256": "8d2ddaca4045d330f6eda2591561497b858aad53769a823249d0bea4f5916e12" + }, + { + "path": "crates/oa-core/tests/prepared_commands.rs", + "bytes": 9555, + "sha256": "52cab1c668064777412df0a6a3c20d74d579b33794b4b00525b9f151c06eac9b" + }, + { + "path": "crates/oa-core/tests/process_diagnostics.rs", + "bytes": 1104, + "sha256": "1dbbc590239ef7542be4a2bdc9543aaa64d108417b03dd312a0894e364745906" + }, + { + "path": "crates/oa-core/tests/r3_constructor_ack.rs", + "bytes": 24163, + "sha256": "e5c44676ea0aab97f2e091ddac2f4bc4a4a90f5877f7bbf08b61229600944dd0" + }, + { + "path": "crates/oa-core/tests/r3_migration.rs", + "bytes": 6590, + "sha256": "ebd04120f5215b3956fdc79ee78f6e38734c7d13392f1fc28aaba957912265bd" + }, + { + "path": "crates/oa-core/tests/r3_semantic.rs", + "bytes": 77473, + "sha256": "49c3763eaf2131070a7c46cc23a84f917d292d41610b6404510e5607f8890c32" + }, + { + "path": "crates/oa-core/tests/r3_source.rs", + "bytes": 15311, + "sha256": "f31f60659df3c7ef601650d1cff140589d8729f01a3f65a4a6a6c2272f15c408" + }, + { + "path": "crates/oa-core/tests/r6_data.rs", + "bytes": 41437, + "sha256": "5f7ffb3bc73c3c85423623fe56f8680646dc97040327bdbead9d47a37e80f155" + }, + { + "path": "crates/oa-core/tests/r6_migration.rs", + "bytes": 9174, + "sha256": "81519bc1512f5e069432e9a1cdad04c10216d492df01b4b75b02102480ebd6a1" + }, + { + "path": "crates/oa-core/tests/r6_source.rs", + "bytes": 9519, + "sha256": "88a0aa087a7678e2898ff6057538072ca92072190712f05fff08372cc56ebed6" + }, + { + "path": "crates/oa-core/tests/release1_teaching.rs", + "bytes": 10010, + "sha256": "be179290d871125dc97cfd2a3067c7ac89c8a538fdb0afafc5b825bcdfb2bef2" + }, + { + "path": "crates/oa-core/tests/release_capabilities.rs", + "bytes": 19422, + "sha256": "b92cba2a562e78287ddd7dc3e94557848d17faa0c8a102601b50286b9af48a30" + }, + { + "path": "crates/oa-core/tests/release_diagrams.rs", + "bytes": 7689, + "sha256": "cefcc0582d91266d5de6ee5daefcfe41b606ab971ab235b59034a8e1dbc24b7d" + }, + { + "path": "crates/oa-core/tests/release_language_limits.rs", + "bytes": 5204, + "sha256": "8578da4f76bbd2d0e1bfe295ab1259e2162a3fe3d0d2ba8901915d7a40942806" + }, + { + "path": "crates/oa-core/tests/release_ports.rs", + "bytes": 32740, + "sha256": "506e62beab0c7ec0cece83e9e0c1a810fa1f99285c9e1cab0c77f06de55a40e1" + }, + { + "path": "crates/oa-core/tests/release_routing.rs", + "bytes": 23165, + "sha256": "ae168faaba23769b7ca1fd65f217b9db671726e67276eb5a04e5e72b1447a462" + }, + { + "path": "crates/oa-core/tests/release_scenarios.rs", + "bytes": 41067, + "sha256": "0f5d876badeec653fc7b12610a77d867e9a53582e605253deff8d379da21572f" + }, + { + "path": "crates/oa-core/tests/release_states.rs", + "bytes": 26873, + "sha256": "b1a26acee95eaba7f9920f9da738a1e33606552eb078e6d298895daff7e3d811" + }, + { + "path": "crates/oa-core/tests/release_topology.rs", + "bytes": 17643, + "sha256": "c51dbe5aa5a038f9ed830daa02aa67714472179eb7fd6da5ce36dc6931c8b3a9" + }, + { + "path": "crates/oa-core/tests/review_regressions.rs", + "bytes": 21823, + "sha256": "f154e5c88d35e31512e2b07733a1327ea3e2fcfd1ef8eb23066a4e9573f387c1" + }, + { + "path": "crates/oa-core/tests/route_source.rs", + "bytes": 7270, + "sha256": "1a73fdbac0d0ae0e84d8d67b6ad398e11223958f5dca007f73757c91827decfb" + }, + { + "path": "crates/oa-core/tests/routing_geometry.rs", + "bytes": 31890, + "sha256": "2d8eea4a2bba535ed0ea6daabccdaf87b375828c404baa10518c7bd7fd6253d3" + }, + { + "path": "crates/oa-core/tests/routing_labels.rs", + "bytes": 5530, + "sha256": "dff884d799c3c5c9257210248c55767e294e3cb317c605cbd0ddc9600c216eb6" + }, + { + "path": "crates/oa-core/tests/semantic_artifact_absence_oracle.rs", + "bytes": 4640, + "sha256": "d93eaf9667f4221232168bef0fe9f069e5be1b1f23410bda5dd67010b96e5c8a" + }, + { + "path": "crates/oa-core/tests/semantic_attachments_gui_oracle.rs", + "bytes": 14957, + "sha256": "7f526d363ba05e7ac89faf0fead0796e419c34ee204edf44a1b46c78308b0970" + }, + { + "path": "crates/oa-core/tests/source6_view_contract.rs", + "bytes": 14307, + "sha256": "fa566de53946d40bbbd9033edfeed177180c4dc44afa2f2f4667ffdc622eb3bb" + }, + { + "path": "crates/oa-core/tests/source7_contract.rs", + "bytes": 43262, + "sha256": "cad4f1a135ddbd947bdf3c71d1b44f1e438725095ea8c4d893464bc721c2363f" + }, + { + "path": "crates/oa-core/tests/source_files.rs", + "bytes": 13168, + "sha256": "f0429a0b89a443458ea9af7083c1e4e7411417a7e6b47e618bfbb9266dc164f9" + }, + { + "path": "crates/oa-core/tests/source_identity_updates.rs", + "bytes": 5139, + "sha256": "f52aa38b4d317e532c641ad7463472e4b40e802e60052cf0017556ffc63da06c" + }, + { + "path": "crates/oa-core/tests/source_nested_updates.rs", + "bytes": 16892, + "sha256": "9ac3390936c0d250651ea94a1b8faf0adfb680f061ececc56f2a52909b5ba855" + }, + { + "path": "crates/oa-core/tests/source_project.rs", + "bytes": 45910, + "sha256": "cef58adb16aa4d2527ddc0628aec3e26f0b42b4be70014a7e360fafdac13a942" + }, + { + "path": "crates/oa-core/tests/state_diagrams.rs", + "bytes": 23973, + "sha256": "6b02b387a3ae559cb3ad72de24292a5abcb76aaac0adbab5d2aa5211b22cd2e5" + }, + { + "path": "crates/oa-core/tests/workflows.rs", + "bytes": 33426, + "sha256": "bd843dfddbd5724ec08f657571f887496203056fe2fa5864ef50a168a613b89b" + }, + { + "path": "rust-toolchain.toml", + "bytes": 66, + "sha256": "a6a0bbd29ffaa8182dc22d1d9149709f1091e47df40ed96eb8a78a711c66a4ce" + } +] diff --git a/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/navigation-palette-20260913-01/admit-source-e124029/run.json b/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/navigation-palette-20260913-01/admit-source-e124029/run.json new file mode 100644 index 00000000..7d05e117 --- /dev/null +++ b/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/navigation-palette-20260913-01/admit-source-e124029/run.json @@ -0,0 +1,128 @@ +{ + "start": "2026-09-13T03:58:02.654294+00:00", + "end": "2026-09-13T03:58:04.852453+00:00", + "source": "e1240295bd114d23d3f67a69e6b38bdb2e25bb0d", + "command": [ + "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\native-qa\\navigation-oracle-e124029\\navigation-oracle-e124029.exe", + "same", + "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\native-qa\\navigation-palette-20260913-01\\source-baseline\\project.arcadia", + "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\native-qa\\navigation-palette-20260913-01\\source-work\\project.arcadia" + ], + "exit": 0, + "outcome": "passed", + "failure": null, + "changed_inputs": [], + "inputs_unchanged": true, + "inputs_before": { + "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\native-qa\\navigation-oracle-e124029\\navigation-oracle-e124029.exe": { + "bytes": 21025792, + "sha256": "8937a59a0e1c51619087b43ab059a6e9af3eef9d69dd2735601143ece3452ada" + }, + "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\llvm-mingw-20260908-ucrt-x86_64\\bin\\libunwind.dll": { + "bytes": 190464, + "sha256": "aa282fa47bb2c4e210cea5e470cdbdca58568f0be0bc73e404d86ab9cd95ef6a" + }, + "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\native-qa\\navigation-oracle-e124029\\build.json": { + "bytes": 7770, + "sha256": "27ff0d612a5b9e4c378ae135745f266acfbf498af9f503d9e04f45ceed19a35a" + }, + "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\navigation-palette-gates-20260913\\list-e124029.inputs.json": { + "bytes": 107751, + "sha256": "a011170b83ddc0c835428c10b2079b0df02d2bd6f90167f16b1297c683601a87" + }, + "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\native-qa\\navigation-palette-20260913-01\\source-baseline\\oa.arcadia": { + "bytes": 2364, + "sha256": "c04efaa1ae5a2053e63aac70f79ea7bb845ef1db1ff8e68f23abfe24f1bc180f" + }, + "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\native-qa\\navigation-palette-20260913-01\\source-baseline\\project.arcadia": { + "bytes": 606, + "sha256": "260505b7f54a0d256bce2af8499bb46cc78ffe564628bd5f976ce358d1796f3a" + }, + "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\native-qa\\navigation-palette-20260913-01\\source-baseline\\views.arcadia": { + "bytes": 3508, + "sha256": "e29ad3f406a6a50d2f0ae2ca2a53ee3b0c18222cd4098704a46d4f48b64ea17f" + }, + "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\native-qa\\navigation-palette-20260913-01\\source-baseline\\sa\\assurance.arcadia": { + "bytes": 682, + "sha256": "ab76044836e4dcd42a82d316846ec87da2108939aa2037640c5bca1d2ecdee0f" + }, + "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\native-qa\\navigation-palette-20260913-01\\source-baseline\\sa\\participants.arcadia": { + "bytes": 1231, + "sha256": "1abad579812e77877b45a3d8e3c3e9da734be2d04a0254cc730a5257ebd2dc88" + }, + "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\native-qa\\navigation-palette-20260913-01\\source-baseline\\sa\\reporting.arcadia": { + "bytes": 3061, + "sha256": "893050516ce47f07039f04879474c7a019b8b2f7b6002a8d950b005334e34692" + }, + "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\native-qa\\navigation-palette-20260913-01\\source-work\\oa.arcadia": { + "bytes": 2364, + "sha256": "c04efaa1ae5a2053e63aac70f79ea7bb845ef1db1ff8e68f23abfe24f1bc180f" + }, + "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\native-qa\\navigation-palette-20260913-01\\source-work\\project.arcadia": { + "bytes": 606, + "sha256": "260505b7f54a0d256bce2af8499bb46cc78ffe564628bd5f976ce358d1796f3a" + }, + "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\native-qa\\navigation-palette-20260913-01\\source-work\\views.arcadia": { + "bytes": 3508, + "sha256": "e29ad3f406a6a50d2f0ae2ca2a53ee3b0c18222cd4098704a46d4f48b64ea17f" + }, + "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\native-qa\\navigation-palette-20260913-01\\source-work\\sa\\assurance.arcadia": { + "bytes": 682, + "sha256": "ab76044836e4dcd42a82d316846ec87da2108939aa2037640c5bca1d2ecdee0f" + }, + "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\native-qa\\navigation-palette-20260913-01\\source-work\\sa\\participants.arcadia": { + "bytes": 1231, + "sha256": "1abad579812e77877b45a3d8e3c3e9da734be2d04a0254cc730a5257ebd2dc88" + }, + "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\native-qa\\navigation-palette-20260913-01\\source-work\\sa\\reporting.arcadia": { + "bytes": 3061, + "sha256": "893050516ce47f07039f04879474c7a019b8b2f7b6002a8d950b005334e34692" + } + }, + "input_trees": [ + { + "folder": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\native-qa\\navigation-palette-20260913-01\\source-baseline", + "paths": [ + "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\native-qa\\navigation-palette-20260913-01\\source-baseline\\oa.arcadia", + "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\native-qa\\navigation-palette-20260913-01\\source-baseline\\project.arcadia", + "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\native-qa\\navigation-palette-20260913-01\\source-baseline\\sa\\assurance.arcadia", + "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\native-qa\\navigation-palette-20260913-01\\source-baseline\\sa\\participants.arcadia", + "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\native-qa\\navigation-palette-20260913-01\\source-baseline\\sa\\reporting.arcadia", + "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\native-qa\\navigation-palette-20260913-01\\source-baseline\\views.arcadia" + ] + }, + { + "folder": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\native-qa\\navigation-palette-20260913-01\\source-work", + "paths": [ + "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\native-qa\\navigation-palette-20260913-01\\source-work\\oa.arcadia", + "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\native-qa\\navigation-palette-20260913-01\\source-work\\project.arcadia", + "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\native-qa\\navigation-palette-20260913-01\\source-work\\sa\\assurance.arcadia", + "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\native-qa\\navigation-palette-20260913-01\\source-work\\sa\\participants.arcadia", + "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\native-qa\\navigation-palette-20260913-01\\source-work\\sa\\reporting.arcadia", + "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\native-qa\\navigation-palette-20260913-01\\source-work\\views.arcadia" + ] + } + ], + "verified_core_inputs": 111, + "oracle_sha256": "8937a59a0e1c51619087b43ab059a6e9af3eef9d69dd2735601143ece3452ada", + "build": { + "path": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\native-qa\\navigation-oracle-e124029\\build.json", + "bytes": 7770, + "sha256": "27ff0d612a5b9e4c378ae135745f266acfbf498af9f503d9e04f45ceed19a35a" + }, + "launcher": { + "bytes": 5078, + "sha256": "b1d56ec226d7b6d5d5d1d00e4bc8727c016e44a6208831ea8d35ae142c097288" + }, + "scope": "Actual comparator/preparer execution; native actions are separate.", + "stdout": { + "path": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\native-qa\\navigation-palette-20260913-01\\admit-source-e124029\\stdout.log", + "bytes": 60, + "sha256": "be2b96d3c8af6419bdc3bbfcb5956cdd3427a26d1ecca310c2be84d46c22116d" + }, + "stderr": { + "path": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\native-qa\\navigation-palette-20260913-01\\admit-source-e124029\\stderr.log", + "bytes": 11818, + "sha256": "af9017506225bab63ef527ac9df65bdb2c028e0deb09b7920743159104e221d7" + } +} diff --git a/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/navigation-palette-20260913-01/admit-source-e124029/stderr.log b/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/navigation-palette-20260913-01/admit-source-e124029/stderr.log new file mode 100644 index 00000000..d7f8b0ea --- /dev/null +++ b/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/navigation-palette-20260913-01/admit-source-e124029/stderr.log @@ -0,0 +1,22 @@ +Permitted non-error diagnostic in C:\Users\User\Documents\Git\ARCADIA-Studio\.local\native-qa\navigation-palette-20260913-01\source-baseline\project.arcadia: SourceDiagnostic { path: "oa.arcadia", diagnostic: Diagnostic { severity: Warning, code: "unspecified_exchange_mechanism", object_id: Some(00000000-0000-4000-8000-000000000107), field: Some("mechanism"), line: 34, column: 15, message: "Choose the exchange mechanism when its contract is known.", span: Span { start: 1598, end: 1609 } }, related: [] } +Permitted non-error diagnostic in C:\Users\User\Documents\Git\ARCADIA-Studio\.local\native-qa\navigation-palette-20260913-01\source-baseline\project.arcadia: SourceDiagnostic { path: "sa/reporting.arcadia", diagnostic: Diagnostic { severity: Warning, code: "unspecified_exchange_mechanism", object_id: Some(00000000-0000-4000-8000-000000000406), field: Some("mechanism"), line: 34, column: 15, message: "Choose the exchange mechanism when its contract is known.", span: Span { start: 1649, end: 1660 } }, related: [] } +Permitted non-error diagnostic in C:\Users\User\Documents\Git\ARCADIA-Studio\.local\native-qa\navigation-palette-20260913-01\source-baseline\project.arcadia: SourceDiagnostic { path: "oa.arcadia", diagnostic: Diagnostic { severity: Warning, code: "work_without_behavior_context", object_id: Some(00000000-0000-4000-8000-000000000104), field: None, line: 12, column: 5, message: "Include this leaf activity/function in a process/chain or scenario through a work action or exchange occurrence.", span: Span { start: 695, end: 869 } }, related: [] } +Permitted non-error diagnostic in C:\Users\User\Documents\Git\ARCADIA-Studio\.local\native-qa\navigation-palette-20260913-01\source-baseline\project.arcadia: SourceDiagnostic { path: "oa.arcadia", diagnostic: Diagnostic { severity: Warning, code: "work_without_behavior_context", object_id: Some(00000000-0000-4000-8000-000000000105), field: None, line: 15, column: 5, message: "Include this leaf activity/function in a process/chain or scenario through a work action or exchange occurrence.", span: Span { start: 874, end: 1053 } }, related: [] } +Permitted non-error diagnostic in C:\Users\User\Documents\Git\ARCADIA-Studio\.local\native-qa\navigation-palette-20260913-01\source-baseline\project.arcadia: SourceDiagnostic { path: "oa.arcadia", diagnostic: Diagnostic { severity: Warning, code: "capability_without_behavior_context", object_id: Some(00000000-0000-4000-8000-000000000106), field: None, line: 20, column: 1, message: "Add an explicit behavior context: link a process/chain with Chain involvement, or set a scenario's Context to this capability.", span: Span { start: 1057, end: 1150 } }, related: [] } +Permitted non-error diagnostic in C:\Users\User\Documents\Git\ARCADIA-Studio\.local\native-qa\navigation-palette-20260913-01\source-baseline\project.arcadia: SourceDiagnostic { path: "sa/reporting.arcadia", diagnostic: Diagnostic { severity: Warning, code: "work_without_behavior_context", object_id: Some(00000000-0000-4000-8000-000000000402), field: None, line: 4, column: 5, message: "Include this leaf activity/function in a process/chain or scenario through a work action or exchange occurrence.", span: Span { start: 255, end: 596 } }, related: [] } +Permitted non-error diagnostic in C:\Users\User\Documents\Git\ARCADIA-Studio\.local\native-qa\navigation-palette-20260913-01\source-baseline\project.arcadia: SourceDiagnostic { path: "sa/reporting.arcadia", diagnostic: Diagnostic { severity: Warning, code: "work_without_behavior_context", object_id: Some(00000000-0000-4000-8000-000000000403), field: None, line: 11, column: 5, message: "Include this leaf activity/function in a process/chain or scenario through a work action or exchange occurrence.", span: Span { start: 682, end: 1034 } }, related: [] } +Permitted non-error diagnostic in C:\Users\User\Documents\Git\ARCADIA-Studio\.local\native-qa\navigation-palette-20260913-01\source-baseline\project.arcadia: SourceDiagnostic { path: "sa/reporting.arcadia", diagnostic: Diagnostic { severity: Warning, code: "capability_without_behavior_context", object_id: Some(00000000-0000-4000-8000-000000000408), field: None, line: 38, column: 1, message: "Add an explicit behavior context: link a process/chain with Chain involvement, or set a scenario's Context to this capability.", span: Span { start: 1701, end: 1810 } }, related: [] } +Permitted non-error diagnostic in C:\Users\User\Documents\Git\ARCADIA-Studio\.local\native-qa\navigation-palette-20260913-01\source-baseline\project.arcadia: SourceDiagnostic { path: "sa/assurance.arcadia", diagnostic: Diagnostic { severity: Warning, code: "work_without_behavior_context", object_id: Some(00000000-0000-4000-8000-000000000412), field: None, line: 5, column: 5, message: "Include this leaf activity/function in a process/chain or scenario through a work action or exchange occurrence.", span: Span { start: 341, end: 521 } }, related: [] } +Permitted non-error diagnostic in C:\Users\User\Documents\Git\ARCADIA-Studio\.local\native-qa\navigation-palette-20260913-01\source-baseline\project.arcadia: SourceDiagnostic { path: "oa.arcadia", diagnostic: Diagnostic { severity: Warning, code: "exchange_without_behavior_context", object_id: Some(00000000-0000-4000-8000-000000000203), field: None, line: 46, column: 1, message: "Use this exchange in a process/chain or scenario.", span: Span { start: 2019, end: 2189 } }, related: [] } +Permitted non-error diagnostic in C:\Users\User\Documents\Git\ARCADIA-Studio\.local\native-qa\navigation-palette-20260913-01\source-baseline\project.arcadia: SourceDiagnostic { path: "sa/reporting.arcadia", diagnostic: Diagnostic { severity: Warning, code: "exchange_without_behavior_context", object_id: Some(00000000-0000-4000-8000-000000000505), field: None, line: 46, column: 1, message: "Use this exchange in a process/chain or scenario.", span: Span { start: 2114, end: 2349 } }, related: [] } +Permitted non-error diagnostic in C:\Users\User\Documents\Git\ARCADIA-Studio\.local\native-qa\navigation-palette-20260913-01\source-work\project.arcadia: SourceDiagnostic { path: "oa.arcadia", diagnostic: Diagnostic { severity: Warning, code: "unspecified_exchange_mechanism", object_id: Some(00000000-0000-4000-8000-000000000107), field: Some("mechanism"), line: 34, column: 15, message: "Choose the exchange mechanism when its contract is known.", span: Span { start: 1598, end: 1609 } }, related: [] } +Permitted non-error diagnostic in C:\Users\User\Documents\Git\ARCADIA-Studio\.local\native-qa\navigation-palette-20260913-01\source-work\project.arcadia: SourceDiagnostic { path: "sa/reporting.arcadia", diagnostic: Diagnostic { severity: Warning, code: "unspecified_exchange_mechanism", object_id: Some(00000000-0000-4000-8000-000000000406), field: Some("mechanism"), line: 34, column: 15, message: "Choose the exchange mechanism when its contract is known.", span: Span { start: 1649, end: 1660 } }, related: [] } +Permitted non-error diagnostic in C:\Users\User\Documents\Git\ARCADIA-Studio\.local\native-qa\navigation-palette-20260913-01\source-work\project.arcadia: SourceDiagnostic { path: "oa.arcadia", diagnostic: Diagnostic { severity: Warning, code: "work_without_behavior_context", object_id: Some(00000000-0000-4000-8000-000000000104), field: None, line: 12, column: 5, message: "Include this leaf activity/function in a process/chain or scenario through a work action or exchange occurrence.", span: Span { start: 695, end: 869 } }, related: [] } +Permitted non-error diagnostic in C:\Users\User\Documents\Git\ARCADIA-Studio\.local\native-qa\navigation-palette-20260913-01\source-work\project.arcadia: SourceDiagnostic { path: "oa.arcadia", diagnostic: Diagnostic { severity: Warning, code: "work_without_behavior_context", object_id: Some(00000000-0000-4000-8000-000000000105), field: None, line: 15, column: 5, message: "Include this leaf activity/function in a process/chain or scenario through a work action or exchange occurrence.", span: Span { start: 874, end: 1053 } }, related: [] } +Permitted non-error diagnostic in C:\Users\User\Documents\Git\ARCADIA-Studio\.local\native-qa\navigation-palette-20260913-01\source-work\project.arcadia: SourceDiagnostic { path: "oa.arcadia", diagnostic: Diagnostic { severity: Warning, code: "capability_without_behavior_context", object_id: Some(00000000-0000-4000-8000-000000000106), field: None, line: 20, column: 1, message: "Add an explicit behavior context: link a process/chain with Chain involvement, or set a scenario's Context to this capability.", span: Span { start: 1057, end: 1150 } }, related: [] } +Permitted non-error diagnostic in C:\Users\User\Documents\Git\ARCADIA-Studio\.local\native-qa\navigation-palette-20260913-01\source-work\project.arcadia: SourceDiagnostic { path: "sa/reporting.arcadia", diagnostic: Diagnostic { severity: Warning, code: "work_without_behavior_context", object_id: Some(00000000-0000-4000-8000-000000000402), field: None, line: 4, column: 5, message: "Include this leaf activity/function in a process/chain or scenario through a work action or exchange occurrence.", span: Span { start: 255, end: 596 } }, related: [] } +Permitted non-error diagnostic in C:\Users\User\Documents\Git\ARCADIA-Studio\.local\native-qa\navigation-palette-20260913-01\source-work\project.arcadia: SourceDiagnostic { path: "sa/reporting.arcadia", diagnostic: Diagnostic { severity: Warning, code: "work_without_behavior_context", object_id: Some(00000000-0000-4000-8000-000000000403), field: None, line: 11, column: 5, message: "Include this leaf activity/function in a process/chain or scenario through a work action or exchange occurrence.", span: Span { start: 682, end: 1034 } }, related: [] } +Permitted non-error diagnostic in C:\Users\User\Documents\Git\ARCADIA-Studio\.local\native-qa\navigation-palette-20260913-01\source-work\project.arcadia: SourceDiagnostic { path: "sa/reporting.arcadia", diagnostic: Diagnostic { severity: Warning, code: "capability_without_behavior_context", object_id: Some(00000000-0000-4000-8000-000000000408), field: None, line: 38, column: 1, message: "Add an explicit behavior context: link a process/chain with Chain involvement, or set a scenario's Context to this capability.", span: Span { start: 1701, end: 1810 } }, related: [] } +Permitted non-error diagnostic in C:\Users\User\Documents\Git\ARCADIA-Studio\.local\native-qa\navigation-palette-20260913-01\source-work\project.arcadia: SourceDiagnostic { path: "sa/assurance.arcadia", diagnostic: Diagnostic { severity: Warning, code: "work_without_behavior_context", object_id: Some(00000000-0000-4000-8000-000000000412), field: None, line: 5, column: 5, message: "Include this leaf activity/function in a process/chain or scenario through a work action or exchange occurrence.", span: Span { start: 341, end: 521 } }, related: [] } +Permitted non-error diagnostic in C:\Users\User\Documents\Git\ARCADIA-Studio\.local\native-qa\navigation-palette-20260913-01\source-work\project.arcadia: SourceDiagnostic { path: "oa.arcadia", diagnostic: Diagnostic { severity: Warning, code: "exchange_without_behavior_context", object_id: Some(00000000-0000-4000-8000-000000000203), field: None, line: 46, column: 1, message: "Use this exchange in a process/chain or scenario.", span: Span { start: 2019, end: 2189 } }, related: [] } +Permitted non-error diagnostic in C:\Users\User\Documents\Git\ARCADIA-Studio\.local\native-qa\navigation-palette-20260913-01\source-work\project.arcadia: SourceDiagnostic { path: "sa/reporting.arcadia", diagnostic: Diagnostic { severity: Warning, code: "exchange_without_behavior_context", object_id: Some(00000000-0000-4000-8000-000000000505), field: None, line: 46, column: 1, message: "Use this exchange in a process/chain or scenario.", span: Span { start: 2114, end: 2349 } }, related: [] } diff --git a/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/navigation-palette-20260913-01/admit-source-e124029/stdout.log b/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/navigation-palette-20260913-01/admit-source-e124029/stdout.log new file mode 100644 index 00000000..ffec8880 --- /dev/null +++ b/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/navigation-palette-20260913-01/admit-source-e124029/stdout.log @@ -0,0 +1 @@ +PASS same: complete Project and exact SourceBundle restored diff --git a/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/navigation-palette-20260913-01/admit-source-e124029/verified-core-inputs.json b/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/navigation-palette-20260913-01/admit-source-e124029/verified-core-inputs.json new file mode 100644 index 00000000..45621455 --- /dev/null +++ b/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/navigation-palette-20260913-01/admit-source-e124029/verified-core-inputs.json @@ -0,0 +1,557 @@ +[ + { + "path": "Cargo.lock", + "bytes": 119998, + "sha256": "826fad8a8176d7acbb9007db88c123dd25b8a5efcad7a33a8da8a4e0c6e3394f" + }, + { + "path": "Cargo.toml", + "bytes": 400, + "sha256": "369f5b4b2b60705a94623c8c0b68f8e0b048f263280ce07ae0629ad353797d62" + }, + { + "path": "crates/oa-core/Cargo.toml", + "bytes": 408, + "sha256": "6b5c062474ebb62d5082e07dabed99ee85e4a833edf26690fb4f887028d3416f" + }, + { + "path": "crates/oa-core/build.rs", + "bytes": 45, + "sha256": "ab1be6ae1fd8bf3ebaeef6348347a9d5e666bde693126f199e041659e0b094a9" + }, + { + "path": "crates/oa-core/examples/generate_demo.rs", + "bytes": 795, + "sha256": "e26f432c95331aeca50985dbb3ad2c558affd43023b585811f0f7bfaa59f6661" + }, + { + "path": "crates/oa-core/examples/generate_release1.rs", + "bytes": 1798, + "sha256": "1d5f11165d74893e4bc18dbf3a2f2111f4026bd89fd06ee7f0bae69e45c4d4b5" + }, + { + "path": "crates/oa-core/examples/release_dense_views.rs", + "bytes": 14664, + "sha256": "a83158488ef9b7394f136c52b1496719be935c4e5bdfe457cab5c9894f5f9412" + }, + { + "path": "crates/oa-core/examples/routing_workshop.rs", + "bytes": 17248, + "sha256": "571307b18b6d4fa04700c5a4d4b0c2154c419e93a21292b2028e7b6f46a2faa7" + }, + { + "path": "crates/oa-core/src/analysis_numeric.rs", + "bytes": 3735, + "sha256": "6c88eef3119162aeb6c07b9e75812c3af9fbfe75554b0503ad00f103cb478408" + }, + { + "path": "crates/oa-core/src/analysis_numeric/dimension.rs", + "bytes": 3045, + "sha256": "d4ad8e5307a1620e31791d724a0e31fdba860d00dc83e3e1f2209d9c5e22a340" + }, + { + "path": "crates/oa-core/src/analysis_numeric/exact.rs", + "bytes": 17338, + "sha256": "4eb8cb0f66b10e5da204899af82ee26adfec74bab47b1a6c9842b5488ee04c4d" + }, + { + "path": "crates/oa-core/src/analysis_numeric/fixtures/r7-literal-boundaries.json", + "bytes": 6085, + "sha256": "3b959dec5e100a6f03817f5314bef497347ba579ebd235476516d4bd83399181" + }, + { + "path": "crates/oa-core/src/analysis_numeric/meter.rs", + "bytes": 7129, + "sha256": "1f7174beb992935b4c399acdef91114af73faf041070feab968455ac827e8ee4" + }, + { + "path": "crates/oa-core/src/analysis_numeric/quantity.rs", + "bytes": 12257, + "sha256": "ead5142d6eeea8f99399d57e02d8f7d819980923de76387cd454694d6a747aee" + }, + { + "path": "crates/oa-core/src/analysis_numeric/tests.rs", + "bytes": 27486, + "sha256": "323ce82fc057d36f44463569fd8ea324c7d700fddfbf32bce15e04bd2a66970b" + }, + { + "path": "crates/oa-core/src/data.rs", + "bytes": 42696, + "sha256": "7f9c7c7dd8353cb5a38597b92cde6d3e890203d392473187eb387d41ff37414a" + }, + { + "path": "crates/oa-core/src/demo.rs", + "bytes": 20657, + "sha256": "ad62123f96c20ff023cafc1a9849b0fa06bc62edd1fb9701799e4599b458600c" + }, + { + "path": "crates/oa-core/src/language.rs", + "bytes": 105312, + "sha256": "34cbb144a111e6f0ddadfca7d40636a8e3323fe65ea8920fd2402f0352b41f57" + }, + { + "path": "crates/oa-core/src/language/semantic_source.rs", + "bytes": 7326, + "sha256": "584b5bb59d87a7b8d44d5dd2d124c3a1323b21492b138a17bc9526c0087c9e29" + }, + { + "path": "crates/oa-core/src/language_nesting_tests.rs", + "bytes": 20639, + "sha256": "bd061611e8cb6f28ab203c73e544ac98bf275eb464cd314ad5fbd25f773df33b" + }, + { + "path": "crates/oa-core/src/language_outline_tests.rs", + "bytes": 14877, + "sha256": "4c79a01e8aea243dd9ef66ce71b9fae263d0e79c319a46c51223679897e8b9df" + }, + { + "path": "crates/oa-core/src/lib.rs", + "bytes": 549, + "sha256": "ea1d9bf5acba8381ba204db12ff5b5fe1f320417d17af517e46b90fd6bcb241c" + }, + { + "path": "crates/oa-core/src/migration_v2/README.md", + "bytes": 1515, + "sha256": "fb61d3faa33d7bdfba73415415a0882c0fbd3e0b45df42f972a19aec6da927b9" + }, + { + "path": "crates/oa-core/src/migration_v2/adapter.rs", + "bytes": 9490, + "sha256": "66741b4c8354a23b8a932ecc5bf1bc3bb6e74279558757b8c35bc2157a7e51b5" + }, + { + "path": "crates/oa-core/src/migration_v2/mod.rs", + "bytes": 1158, + "sha256": "857d8bb13b6814daba6780ca770c16352943c01cb130245d055f11b3b957b3e9" + }, + { + "path": "crates/oa-core/src/migration_v2/model.rs", + "bytes": 52059, + "sha256": "8ac63eb59b2e57bdecff2477ee0634096090924d3dd1851e1c454880a889dacb" + }, + { + "path": "crates/oa-core/src/migration_v2/references.rs", + "bytes": 13369, + "sha256": "33a6819abc83139fdaebeebd1b553238a328637106cce7dd5a535f1791d43e20" + }, + { + "path": "crates/oa-core/src/migration_v2/source.rs", + "bytes": 21946, + "sha256": "74fee9b24e7c912182c998ab9d9aeec125e2009c3214959229e844c67afe2bf6" + }, + { + "path": "crates/oa-core/src/migration_v2/state_validation.rs", + "bytes": 15769, + "sha256": "e29ef071bab0a68460ddf55c46131c6f66c022d52c3c602c37c013c3649da1b0" + }, + { + "path": "crates/oa-core/src/migration_v2/transitions.rs", + "bytes": 704, + "sha256": "f74174c532ba56b57c80b719a11fb4adea0a78ccc2828fff72fe2b9eda5a10b1" + }, + { + "path": "crates/oa-core/src/migration_v2/validation.rs", + "bytes": 98736, + "sha256": "6d5e4a4e2805ae5045bf789a0485e14a61c63346587bace2b4a91173a688f780" + }, + { + "path": "crates/oa-core/src/migration_v3/README.md", + "bytes": 2128, + "sha256": "3755a63f840d7f0eadf68afa7a9d587877a9468ff982d3610539e8a0bb067a82" + }, + { + "path": "crates/oa-core/src/migration_v3/mod.rs", + "bytes": 23023, + "sha256": "f4edb6a0b50ecfe8670973776d703047b064420cb1f05913129c00fc656b3722" + }, + { + "path": "crates/oa-core/src/migration_v4.rs", + "bytes": 4020, + "sha256": "50c652964f0f309e7f3f54b6ef12c40d42fcecc0490f005995c713df1179af70" + }, + { + "path": "crates/oa-core/src/model.rs", + "bytes": 66352, + "sha256": "4585c895c64c4a183941c92cf047a9e52ff0cbe41971e16e78d229ea9dc101fb" + }, + { + "path": "crates/oa-core/src/operations.rs", + "bytes": 11405, + "sha256": "a5ffbbf54cd440316a106d1188bfb699b57dae59f466edcb33618c333cd19f41" + }, + { + "path": "crates/oa-core/src/persistence.rs", + "bytes": 31774, + "sha256": "1c01474f906a63e552c0d590b272c95821c00a100b3e79e58e67dbbeac341a14" + }, + { + "path": "crates/oa-core/src/ports.rs", + "bytes": 45413, + "sha256": "5cac12eea70a54ebebbd6be77b63ce92e3195325c4bc7d27705c518686cbac80" + }, + { + "path": "crates/oa-core/src/projection.rs", + "bytes": 21374, + "sha256": "69ed12bace2cc5024e151752a174ab14034ac2d05eb741fcf13e9a27521c059b" + }, + { + "path": "crates/oa-core/src/projection/port_layout.rs", + "bytes": 13474, + "sha256": "a08d17d10a58bb8b206dd001b19b91d5aa3a9f743b298a4da57d503223c20079" + }, + { + "path": "crates/oa-core/src/projection/state.rs", + "bytes": 5233, + "sha256": "73a607bac713ec7ff49a509fefb1a53c7686dca93ee241ffc835564d743afb28" + }, + { + "path": "crates/oa-core/src/references.rs", + "bytes": 21957, + "sha256": "93553c234f32da35f1f41a7b83ad81c471c9803efa78ca222cf7de3c2f86c0bb" + }, + { + "path": "crates/oa-core/src/routing.rs", + "bytes": 50309, + "sha256": "c5ebb350ba76f731f5c48d968bfbba4b6ef68ec046eb5893d116c4637ef15080" + }, + { + "path": "crates/oa-core/src/semantic.rs", + "bytes": 540, + "sha256": "f9895dd5b8fb27d10d4cfbb41c3542ef2018365a589b8d5778e5674ae5a1f239" + }, + { + "path": "crates/oa-core/src/semantic/catalog.rs", + "bytes": 49407, + "sha256": "1ff74fcca18084d178681d7ff38ee1ccac632c27c4de0595ba1ceab8067ab3a4" + }, + { + "path": "crates/oa-core/src/semantic/historical.rs", + "bytes": 15271, + "sha256": "eaf3284bf234312698514cdb636bc8348e1b5d746cb16b18df777e77d312abfb" + }, + { + "path": "crates/oa-core/src/semantic/linked.rs", + "bytes": 6035, + "sha256": "6f335b14e809aecfc35defcaf77cb821b080d1506dbc46297912b25af98c07a2" + }, + { + "path": "crates/oa-core/src/semantic/mutate.rs", + "bytes": 22683, + "sha256": "dc2b4c4a6eb156fe468eaa8c85fd37a505c0cd8ea1f226cb69cd01689afd3d9d" + }, + { + "path": "crates/oa-core/src/semantic/review.rs", + "bytes": 51116, + "sha256": "0c157d2c327e72e89cca3b423e71ee73798105c5bb7271439c1a101642c91e3e" + }, + { + "path": "crates/oa-core/src/semantic/types.rs", + "bytes": 10405, + "sha256": "6922fe35089f12fad43ab0ce1c6886d01a3855f90b8e2543e99802ac5e6f1bbb" + }, + { + "path": "crates/oa-core/src/session.rs", + "bytes": 35237, + "sha256": "1eb77b329b2986fc6f5dc0171e77fd860375cdfd8c769a1367b445d6c49ebe00" + }, + { + "path": "crates/oa-core/src/source_files.rs", + "bytes": 74803, + "sha256": "669491dbddb8e8e6556161426dffa1a49ac1c826d31020bff0956d81a4d84683" + }, + { + "path": "crates/oa-core/src/source_project.rs", + "bytes": 61843, + "sha256": "1394370bcc5908873b830c2c11312e6e1611af41f46c4f43ca0a6bcb713bb466" + }, + { + "path": "crates/oa-core/src/source_project/source_migration.rs", + "bytes": 4700, + "sha256": "add463ae85c420f853d324b00a221f0f874164cc3f3ed6bbb07557a9ed7a8c95" + }, + { + "path": "crates/oa-core/src/source_project/source_structure.rs", + "bytes": 20225, + "sha256": "9f1f83315856a7025fe662c0fbb13452f31613224a03663150d6225d1ddc162f" + }, + { + "path": "crates/oa-core/src/state_validation.rs", + "bytes": 15665, + "sha256": "e28d7f74385e2a78763716b34491bd73a00bfeccc085970ceb130627e3faee18" + }, + { + "path": "crates/oa-core/src/topology_context.rs", + "bytes": 13734, + "sha256": "16de69b297de95d93c73808621607833b713af811dd082f0169186ae1e5c3e2d" + }, + { + "path": "crates/oa-core/src/topology_context/analysis.rs", + "bytes": 20036, + "sha256": "dead6194f0aa60cc46045c0e5ee10dbdbb689158c38634dfbbbc45d2ba88ac65" + }, + { + "path": "crates/oa-core/src/topology_context/analysis_tests.rs", + "bytes": 5258, + "sha256": "17839263410815e96fe027d4eba3aae0a9ab3b82b16947e2b29ebe0d09782b56" + }, + { + "path": "crates/oa-core/src/transitions.rs", + "bytes": 51998, + "sha256": "fadd1b07b89cae4117b91abb4f1ac9ea81ff818ef20f2175e76ee8cf21fb708d" + }, + { + "path": "crates/oa-core/src/transitions/communication.rs", + "bytes": 8634, + "sha256": "2b476630a88edd9021b9156ca12a5402e01604095f0d4002afb452671903a028" + }, + { + "path": "crates/oa-core/src/validation.rs", + "bytes": 112792, + "sha256": "7c1b4ae5e4ebba13e99af9158ccde138dfc5e9a7afb580e76fba72d0b64ba74e" + }, + { + "path": "crates/oa-core/src/validation/coverage.rs", + "bytes": 6478, + "sha256": "b08e4b344ecad055714168c83beff7fe29ba4edc53edbffa2eae04e5580a4d5f" + }, + { + "path": "crates/oa-core/src/view_options.rs", + "bytes": 24481, + "sha256": "421ede0a04c593ca1df0e6e0d06fabcfcc8113cdbcfb0adc7f5c8ef4d1724208" + }, + { + "path": "crates/oa-core/src/view_options_tests.rs", + "bytes": 21433, + "sha256": "64aac44de2df42a1012239a3dd75c473daf0c8990b3170b7bf7e78a556080208" + }, + { + "path": "crates/oa-core/tests/communication_boundary_scenarios.rs", + "bytes": 8816, + "sha256": "e1100b8f363910a487d90c73acc7df543dc6d532158c3c63ad11cd3d40d8e12b" + }, + { + "path": "crates/oa-core/tests/communication_means.rs", + "bytes": 18102, + "sha256": "a25f2749180bc6f4beb1445bfad3351eedf0669131a7439b633ab804439e95a4" + }, + { + "path": "crates/oa-core/tests/coverage_diagnostics.rs", + "bytes": 20527, + "sha256": "e2e9c3996daab47f2bd23f5d8c48b4e372af33331152f5fc85b76f06d04fcdf4" + }, + { + "path": "crates/oa-core/tests/fixtures/v2-coastal-rescue.arcadia", + "bytes": 29220, + "sha256": "f0df129c1914bfc01d0b047b0cd4b520d8cf0c249ea9ced085de400c0be87ff3" + }, + { + "path": "crates/oa-core/tests/fixtures/v2-coastal-rescue.json", + "bytes": 43990, + "sha256": "3ed53508eb544bbd788832f7bebea2ec31b3d66191f24f45098cc9750ec4c005" + }, + { + "path": "crates/oa-core/tests/fixtures/v3-data-contract.arcadia", + "bytes": 2450, + "sha256": "305f19d1b79f99f8d4cf627ba2e9ca6836bb7959cc0070227815937a699eafea" + }, + { + "path": "crates/oa-core/tests/fixtures/v3-data-contract.json", + "bytes": 8240, + "sha256": "1b41299c53204e6232397d25a58d5bccdbbc16e770c75e8edb55ce36ccfe58a2" + }, + { + "path": "crates/oa-core/tests/fixtures/v4-reviewed-prose.arcadia", + "bytes": 1222, + "sha256": "5fa53a26a5ad010c8e59eb56d9b2b52003569e66c0377ffb58840590168ad0c1" + }, + { + "path": "crates/oa-core/tests/fixtures/v4-reviewed-prose.json", + "bytes": 1734, + "sha256": "2808088afcc165f4bd6da5129151143411c997041c3de61d600ab76e05d24a47" + }, + { + "path": "crates/oa-core/tests/language.rs", + "bytes": 56482, + "sha256": "77f6cb2a69976bfb5f60b243b71c07fb0edc7505002c1e9e73fcd6ddf6d9496e" + }, + { + "path": "crates/oa-core/tests/port_anchors.rs", + "bytes": 26893, + "sha256": "efbc0fa18733b1aaac501f9785a4c392fc49c05c45a5778d26e9b5dd951ca6fa" + }, + { + "path": "crates/oa-core/tests/port_migration.rs", + "bytes": 15620, + "sha256": "1801c376a5435ac7efb2a8342348b2c7ffef930bba65deca4acb66b06e0483d7" + }, + { + "path": "crates/oa-core/tests/port_source.rs", + "bytes": 4858, + "sha256": "8d2ddaca4045d330f6eda2591561497b858aad53769a823249d0bea4f5916e12" + }, + { + "path": "crates/oa-core/tests/prepared_commands.rs", + "bytes": 9555, + "sha256": "52cab1c668064777412df0a6a3c20d74d579b33794b4b00525b9f151c06eac9b" + }, + { + "path": "crates/oa-core/tests/process_diagnostics.rs", + "bytes": 1104, + "sha256": "1dbbc590239ef7542be4a2bdc9543aaa64d108417b03dd312a0894e364745906" + }, + { + "path": "crates/oa-core/tests/r3_constructor_ack.rs", + "bytes": 24163, + "sha256": "e5c44676ea0aab97f2e091ddac2f4bc4a4a90f5877f7bbf08b61229600944dd0" + }, + { + "path": "crates/oa-core/tests/r3_migration.rs", + "bytes": 6590, + "sha256": "ebd04120f5215b3956fdc79ee78f6e38734c7d13392f1fc28aaba957912265bd" + }, + { + "path": "crates/oa-core/tests/r3_semantic.rs", + "bytes": 77473, + "sha256": "49c3763eaf2131070a7c46cc23a84f917d292d41610b6404510e5607f8890c32" + }, + { + "path": "crates/oa-core/tests/r3_source.rs", + "bytes": 15311, + "sha256": "f31f60659df3c7ef601650d1cff140589d8729f01a3f65a4a6a6c2272f15c408" + }, + { + "path": "crates/oa-core/tests/r6_data.rs", + "bytes": 41437, + "sha256": "5f7ffb3bc73c3c85423623fe56f8680646dc97040327bdbead9d47a37e80f155" + }, + { + "path": "crates/oa-core/tests/r6_migration.rs", + "bytes": 9174, + "sha256": "81519bc1512f5e069432e9a1cdad04c10216d492df01b4b75b02102480ebd6a1" + }, + { + "path": "crates/oa-core/tests/r6_source.rs", + "bytes": 9519, + "sha256": "88a0aa087a7678e2898ff6057538072ca92072190712f05fff08372cc56ebed6" + }, + { + "path": "crates/oa-core/tests/release1_teaching.rs", + "bytes": 10010, + "sha256": "be179290d871125dc97cfd2a3067c7ac89c8a538fdb0afafc5b825bcdfb2bef2" + }, + { + "path": "crates/oa-core/tests/release_capabilities.rs", + "bytes": 19422, + "sha256": "b92cba2a562e78287ddd7dc3e94557848d17faa0c8a102601b50286b9af48a30" + }, + { + "path": "crates/oa-core/tests/release_diagrams.rs", + "bytes": 7689, + "sha256": "cefcc0582d91266d5de6ee5daefcfe41b606ab971ab235b59034a8e1dbc24b7d" + }, + { + "path": "crates/oa-core/tests/release_language_limits.rs", + "bytes": 5204, + "sha256": "8578da4f76bbd2d0e1bfe295ab1259e2162a3fe3d0d2ba8901915d7a40942806" + }, + { + "path": "crates/oa-core/tests/release_ports.rs", + "bytes": 32740, + "sha256": "506e62beab0c7ec0cece83e9e0c1a810fa1f99285c9e1cab0c77f06de55a40e1" + }, + { + "path": "crates/oa-core/tests/release_routing.rs", + "bytes": 23165, + "sha256": "ae168faaba23769b7ca1fd65f217b9db671726e67276eb5a04e5e72b1447a462" + }, + { + "path": "crates/oa-core/tests/release_scenarios.rs", + "bytes": 41067, + "sha256": "0f5d876badeec653fc7b12610a77d867e9a53582e605253deff8d379da21572f" + }, + { + "path": "crates/oa-core/tests/release_states.rs", + "bytes": 26873, + "sha256": "b1a26acee95eaba7f9920f9da738a1e33606552eb078e6d298895daff7e3d811" + }, + { + "path": "crates/oa-core/tests/release_topology.rs", + "bytes": 17643, + "sha256": "c51dbe5aa5a038f9ed830daa02aa67714472179eb7fd6da5ce36dc6931c8b3a9" + }, + { + "path": "crates/oa-core/tests/review_regressions.rs", + "bytes": 21823, + "sha256": "f154e5c88d35e31512e2b07733a1327ea3e2fcfd1ef8eb23066a4e9573f387c1" + }, + { + "path": "crates/oa-core/tests/route_source.rs", + "bytes": 7270, + "sha256": "1a73fdbac0d0ae0e84d8d67b6ad398e11223958f5dca007f73757c91827decfb" + }, + { + "path": "crates/oa-core/tests/routing_geometry.rs", + "bytes": 31890, + "sha256": "2d8eea4a2bba535ed0ea6daabccdaf87b375828c404baa10518c7bd7fd6253d3" + }, + { + "path": "crates/oa-core/tests/routing_labels.rs", + "bytes": 5530, + "sha256": "dff884d799c3c5c9257210248c55767e294e3cb317c605cbd0ddc9600c216eb6" + }, + { + "path": "crates/oa-core/tests/semantic_artifact_absence_oracle.rs", + "bytes": 4640, + "sha256": "d93eaf9667f4221232168bef0fe9f069e5be1b1f23410bda5dd67010b96e5c8a" + }, + { + "path": "crates/oa-core/tests/semantic_attachments_gui_oracle.rs", + "bytes": 14957, + "sha256": "7f526d363ba05e7ac89faf0fead0796e419c34ee204edf44a1b46c78308b0970" + }, + { + "path": "crates/oa-core/tests/source6_view_contract.rs", + "bytes": 14307, + "sha256": "fa566de53946d40bbbd9033edfeed177180c4dc44afa2f2f4667ffdc622eb3bb" + }, + { + "path": "crates/oa-core/tests/source7_contract.rs", + "bytes": 43262, + "sha256": "cad4f1a135ddbd947bdf3c71d1b44f1e438725095ea8c4d893464bc721c2363f" + }, + { + "path": "crates/oa-core/tests/source_files.rs", + "bytes": 13168, + "sha256": "f0429a0b89a443458ea9af7083c1e4e7411417a7e6b47e618bfbb9266dc164f9" + }, + { + "path": "crates/oa-core/tests/source_identity_updates.rs", + "bytes": 5139, + "sha256": "f52aa38b4d317e532c641ad7463472e4b40e802e60052cf0017556ffc63da06c" + }, + { + "path": "crates/oa-core/tests/source_nested_updates.rs", + "bytes": 16892, + "sha256": "9ac3390936c0d250651ea94a1b8faf0adfb680f061ececc56f2a52909b5ba855" + }, + { + "path": "crates/oa-core/tests/source_project.rs", + "bytes": 45910, + "sha256": "cef58adb16aa4d2527ddc0628aec3e26f0b42b4be70014a7e360fafdac13a942" + }, + { + "path": "crates/oa-core/tests/state_diagrams.rs", + "bytes": 23973, + "sha256": "6b02b387a3ae559cb3ad72de24292a5abcb76aaac0adbab5d2aa5211b22cd2e5" + }, + { + "path": "crates/oa-core/tests/workflows.rs", + "bytes": 33426, + "sha256": "bd843dfddbd5724ec08f657571f887496203056fe2fa5864ef50a168a613b89b" + }, + { + "path": "rust-toolchain.toml", + "bytes": 66, + "sha256": "a6a0bbd29ffaa8182dc22d1d9149709f1091e47df40ed96eb8a78a711c66a4ce" + } +] diff --git a/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/navigation-palette-20260913-01/admit-topology-e124029/run.json b/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/navigation-palette-20260913-01/admit-topology-e124029/run.json new file mode 100644 index 00000000..e5efb57a --- /dev/null +++ b/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/navigation-palette-20260913-01/admit-topology-e124029/run.json @@ -0,0 +1,88 @@ +{ + "start": "2026-09-13T03:47:10.269651+00:00", + "end": "2026-09-13T03:47:12.214709+00:00", + "source": "e1240295bd114d23d3f67a69e6b38bdb2e25bb0d", + "command": [ + "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\native-qa\\navigation-oracle-e124029\\navigation-oracle-e124029.exe", + "same", + "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\native-qa\\navigation-palette-20260913-01\\topology-baseline\\project.arcadia", + "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\native-qa\\navigation-palette-20260913-01\\topology-work\\project.arcadia" + ], + "exit": 0, + "outcome": "passed", + "failure": null, + "changed_inputs": [], + "inputs_unchanged": true, + "inputs_before": { + "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\native-qa\\navigation-oracle-e124029\\navigation-oracle-e124029.exe": { + "bytes": 21025792, + "sha256": "8937a59a0e1c51619087b43ab059a6e9af3eef9d69dd2735601143ece3452ada" + }, + "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\llvm-mingw-20260908-ucrt-x86_64\\bin\\libunwind.dll": { + "bytes": 190464, + "sha256": "aa282fa47bb2c4e210cea5e470cdbdca58568f0be0bc73e404d86ab9cd95ef6a" + }, + "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\native-qa\\navigation-oracle-e124029\\build.json": { + "bytes": 7770, + "sha256": "27ff0d612a5b9e4c378ae135745f266acfbf498af9f503d9e04f45ceed19a35a" + }, + "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\navigation-palette-gates-20260913\\list-e124029.inputs.json": { + "bytes": 107751, + "sha256": "a011170b83ddc0c835428c10b2079b0df02d2bd6f90167f16b1297c683601a87" + }, + "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\native-qa\\navigation-palette-20260913-01\\topology-baseline\\project.arcadia": { + "bytes": 13616, + "sha256": "5474d8ca05fd1375220dc0ad40d913631fde51159e9632bb9f290d1ecdab8dd7" + }, + "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\native-qa\\navigation-palette-20260913-01\\topology-baseline\\rationale.arcadia": { + "bytes": 59, + "sha256": "e6a600e13036d4ad594a65380ed1b3d82d1772d583041bb0a624c9588a73047a" + }, + "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\native-qa\\navigation-palette-20260913-01\\topology-work\\project.arcadia": { + "bytes": 13616, + "sha256": "5474d8ca05fd1375220dc0ad40d913631fde51159e9632bb9f290d1ecdab8dd7" + }, + "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\native-qa\\navigation-palette-20260913-01\\topology-work\\rationale.arcadia": { + "bytes": 59, + "sha256": "e6a600e13036d4ad594a65380ed1b3d82d1772d583041bb0a624c9588a73047a" + } + }, + "input_trees": [ + { + "folder": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\native-qa\\navigation-palette-20260913-01\\topology-baseline", + "paths": [ + "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\native-qa\\navigation-palette-20260913-01\\topology-baseline\\project.arcadia", + "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\native-qa\\navigation-palette-20260913-01\\topology-baseline\\rationale.arcadia" + ] + }, + { + "folder": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\native-qa\\navigation-palette-20260913-01\\topology-work", + "paths": [ + "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\native-qa\\navigation-palette-20260913-01\\topology-work\\project.arcadia", + "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\native-qa\\navigation-palette-20260913-01\\topology-work\\rationale.arcadia" + ] + } + ], + "verified_core_inputs": 111, + "oracle_sha256": "8937a59a0e1c51619087b43ab059a6e9af3eef9d69dd2735601143ece3452ada", + "build": { + "path": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\native-qa\\navigation-oracle-e124029\\build.json", + "bytes": 7770, + "sha256": "27ff0d612a5b9e4c378ae135745f266acfbf498af9f503d9e04f45ceed19a35a" + }, + "launcher": { + "bytes": 5078, + "sha256": "b1d56ec226d7b6d5d5d1d00e4bc8727c016e44a6208831ea8d35ae142c097288" + }, + "scope": "Actual comparator/preparer execution; native actions are separate.", + "stdout": { + "path": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\native-qa\\navigation-palette-20260913-01\\admit-topology-e124029\\stdout.log", + "bytes": 60, + "sha256": "be2b96d3c8af6419bdc3bbfcb5956cdd3427a26d1ecca310c2be84d46c22116d" + }, + "stderr": { + "path": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\native-qa\\navigation-palette-20260913-01\\admit-topology-e124029\\stderr.log", + "bytes": 20544, + "sha256": "81e6f5dc5e077de7416e241e2e2f9456ad05f5cf8d139dca51d5f467e8d70966" + } +} diff --git a/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/navigation-palette-20260913-01/admit-topology-e124029/stderr.log b/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/navigation-palette-20260913-01/admit-topology-e124029/stderr.log new file mode 100644 index 00000000..64f9442a --- /dev/null +++ b/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/navigation-palette-20260913-01/admit-topology-e124029/stderr.log @@ -0,0 +1,40 @@ +Permitted non-error diagnostic in C:\Users\User\Documents\Git\ARCADIA-Studio\.local\native-qa\navigation-palette-20260913-01\topology-baseline\project.arcadia: SourceDiagnostic { path: "project.arcadia", diagnostic: Diagnostic { severity: Warning, code: "unallocated_leaf", object_id: Some(071edc32-5c27-5c1d-91ff-337c80b462d5), field: Some("allocation"), line: 6, column: 5, message: "Allocate leaf 'A · Begin assessment' to a performer.", span: Span { start: 190, end: 330 } }, related: [] } +Permitted non-error diagnostic in C:\Users\User\Documents\Git\ARCADIA-Studio\.local\native-qa\navigation-palette-20260913-01\topology-baseline\project.arcadia: SourceDiagnostic { path: "project.arcadia", diagnostic: Diagnostic { severity: Warning, code: "sequence_starts", object_id: Some(2100ac23-79ee-54e1-b3cf-69f3d4f3b30a), field: Some("steps"), line: 65, column: 15, message: "Process/chain 'Caller with three assessments' has 4 start contributions; connect a clear entry/exit or review the intended independent paths.", span: Span { start: 1796, end: 1827 } }, related: [] } +Permitted non-error diagnostic in C:\Users\User\Documents\Git\ARCADIA-Studio\.local\native-qa\navigation-palette-20260913-01\topology-baseline\project.arcadia: SourceDiagnostic { path: "project.arcadia", diagnostic: Diagnostic { severity: Warning, code: "sequence_ends", object_id: Some(2100ac23-79ee-54e1-b3cf-69f3d4f3b30a), field: Some("steps"), line: 65, column: 15, message: "Process/chain 'Caller with three assessments' has 4 end contributions; connect a clear entry/exit or review the intended independent paths.", span: Span { start: 1796, end: 1827 } }, related: [] } +Permitted non-error diagnostic in C:\Users\User\Documents\Git\ARCADIA-Studio\.local\native-qa\navigation-palette-20260913-01\topology-baseline\project.arcadia: SourceDiagnostic { path: "project.arcadia", diagnostic: Diagnostic { severity: Warning, code: "isolated_contribution", object_id: Some(08ff2083-dac1-5f4b-ad6a-7cc81d7be29d), field: Some("parent"), line: 19, column: 16, message: "Connect this contribution to its process/chain path.", span: Span { start: 593, end: 603 } }, related: [] } +Permitted non-error diagnostic in C:\Users\User\Documents\Git\ARCADIA-Studio\.local\native-qa\navigation-palette-20260913-01\topology-baseline\project.arcadia: SourceDiagnostic { path: "project.arcadia", diagnostic: Diagnostic { severity: Warning, code: "isolated_contribution", object_id: Some(d48951ad-c6db-5eae-923a-edccab97155e), field: Some("parent"), line: 333, column: 16, message: "Connect this contribution to its process/chain path.", span: Span { start: 9505, end: 9515 } }, related: [] } +Permitted non-error diagnostic in C:\Users\User\Documents\Git\ARCADIA-Studio\.local\native-qa\navigation-palette-20260913-01\topology-baseline\project.arcadia: SourceDiagnostic { path: "project.arcadia", diagnostic: Diagnostic { severity: Warning, code: "isolated_contribution", object_id: Some(1e27be58-3e3e-5869-ad30-e94a28ea2a2e), field: Some("parent"), line: 57, column: 16, message: "Connect this contribution to its process/chain path.", span: Span { start: 1566, end: 1576 } }, related: [] } +Permitted non-error diagnostic in C:\Users\User\Documents\Git\ARCADIA-Studio\.local\native-qa\navigation-palette-20260913-01\topology-baseline\project.arcadia: SourceDiagnostic { path: "project.arcadia", diagnostic: Diagnostic { severity: Warning, code: "isolated_contribution", object_id: Some(fc986c5c-eae7-5363-bcd5-b832d565a89a), field: Some("parent"), line: 406, column: 16, message: "Connect this contribution to its process/chain path.", span: Span { start: 11490, end: 11500 } }, related: [] } +Permitted non-error diagnostic in C:\Users\User\Documents\Git\ARCADIA-Studio\.local\native-qa\navigation-palette-20260913-01\topology-baseline\project.arcadia: SourceDiagnostic { path: "project.arcadia", diagnostic: Diagnostic { severity: Warning, code: "unallocated_leaf", object_id: Some(25fdfe13-c45d-5822-830a-192ff13f660d), field: Some("allocation"), line: 68, column: 5, message: "Allocate leaf 'A · Begin assessment' to a performer.", span: Span { start: 1840, end: 1980 } }, related: [] } +Permitted non-error diagnostic in C:\Users\User\Documents\Git\ARCADIA-Studio\.local\native-qa\navigation-palette-20260913-01\topology-baseline\project.arcadia: SourceDiagnostic { path: "project.arcadia", diagnostic: Diagnostic { severity: Warning, code: "unallocated_leaf", object_id: Some(3360ccb1-68ac-51cd-8d9a-8893000c80ef), field: Some("allocation"), line: 79, column: 5, message: "Allocate leaf 'B · Review assessment' to a performer.", span: Span { start: 2173, end: 2314 } }, related: [] } +Permitted non-error diagnostic in C:\Users\User\Documents\Git\ARCADIA-Studio\.local\native-qa\navigation-palette-20260913-01\topology-baseline\project.arcadia: SourceDiagnostic { path: "project.arcadia", diagnostic: Diagnostic { severity: Warning, code: "unallocated_leaf", object_id: Some(47335738-0876-5f90-b25e-1636c7448e93), field: Some("allocation"), line: 84, column: 5, message: "Allocate leaf 'C · Finish assessment' to a performer.", span: Span { start: 2320, end: 2461 } }, related: [] } +Permitted non-error diagnostic in C:\Users\User\Documents\Git\ARCADIA-Studio\.local\native-qa\navigation-palette-20260913-01\topology-baseline\project.arcadia: SourceDiagnostic { path: "project.arcadia", diagnostic: Diagnostic { severity: Warning, code: "unallocated_leaf", object_id: Some(6575bce8-4185-519b-a004-d96650da63dc), field: Some("allocation"), line: 238, column: 5, message: "Allocate leaf 'C · Finish assessment' to a performer.", span: Span { start: 6742, end: 6883 } }, related: [] } +Permitted non-error diagnostic in C:\Users\User\Documents\Git\ARCADIA-Studio\.local\native-qa\navigation-palette-20260913-01\topology-baseline\project.arcadia: SourceDiagnostic { path: "project.arcadia", diagnostic: Diagnostic { severity: Warning, code: "unallocated_leaf", object_id: Some(8c3d9b89-aa12-5218-9de9-12b8b5d4e4b3), field: Some("allocation"), line: 249, column: 5, message: "Allocate leaf 'X · Check authorization' to a performer.", span: Span { start: 7085, end: 7228 } }, related: [] } +Permitted non-error diagnostic in C:\Users\User\Documents\Git\ARCADIA-Studio\.local\native-qa\navigation-palette-20260913-01\topology-baseline\project.arcadia: SourceDiagnostic { path: "project.arcadia", diagnostic: Diagnostic { severity: Warning, code: "unallocated_leaf", object_id: Some(a39639dc-0ece-5b71-981d-c9523fed4914), field: Some("allocation"), line: 266, column: 5, message: "Allocate leaf 'B · Review assessment' to a performer.", span: Span { start: 7544, end: 7685 } }, related: [] } +Permitted non-error diagnostic in C:\Users\User\Documents\Git\ARCADIA-Studio\.local\native-qa\navigation-palette-20260913-01\topology-baseline\project.arcadia: SourceDiagnostic { path: "project.arcadia", diagnostic: Diagnostic { severity: Warning, code: "sequence_starts", object_id: Some(d4911fd0-52ed-535c-9f87-170e8f5731d2), field: Some("steps"), line: 341, column: 15, message: "Process/chain 'Caller with three assessments' has 4 start contributions; connect a clear entry/exit or review the intended independent paths.", span: Span { start: 9744, end: 9775 } }, related: [] } +Permitted non-error diagnostic in C:\Users\User\Documents\Git\ARCADIA-Studio\.local\native-qa\navigation-palette-20260913-01\topology-baseline\project.arcadia: SourceDiagnostic { path: "project.arcadia", diagnostic: Diagnostic { severity: Warning, code: "sequence_ends", object_id: Some(d4911fd0-52ed-535c-9f87-170e8f5731d2), field: Some("steps"), line: 341, column: 15, message: "Process/chain 'Caller with three assessments' has 4 end contributions; connect a clear entry/exit or review the intended independent paths.", span: Span { start: 9744, end: 9775 } }, related: [] } +Permitted non-error diagnostic in C:\Users\User\Documents\Git\ARCADIA-Studio\.local\native-qa\navigation-palette-20260913-01\topology-baseline\project.arcadia: SourceDiagnostic { path: "project.arcadia", diagnostic: Diagnostic { severity: Warning, code: "isolated_contribution", object_id: Some(53ad2109-ba9d-5859-b258-64cdaab5c4a8), field: Some("parent"), line: 221, column: 16, message: "Connect this contribution to its process/chain path.", span: Span { start: 6359, end: 6369 } }, related: [] } +Permitted non-error diagnostic in C:\Users\User\Documents\Git\ARCADIA-Studio\.local\native-qa\navigation-palette-20260913-01\topology-baseline\project.arcadia: SourceDiagnostic { path: "project.arcadia", diagnostic: Diagnostic { severity: Warning, code: "isolated_contribution", object_id: Some(62cfdab1-a18b-5b06-8ee7-cd0b320e4024), field: Some("parent"), line: 233, column: 16, message: "Connect this contribution to its process/chain path.", span: Span { start: 6668, end: 6678 } }, related: [] } +Permitted non-error diagnostic in C:\Users\User\Documents\Git\ARCADIA-Studio\.local\native-qa\navigation-palette-20260913-01\topology-baseline\project.arcadia: SourceDiagnostic { path: "project.arcadia", diagnostic: Diagnostic { severity: Warning, code: "isolated_contribution", object_id: Some(999b5e15-903f-5ca1-bc11-e51fadf80762), field: Some("parent"), line: 261, column: 16, message: "Connect this contribution to its process/chain path.", span: Span { start: 7470, end: 7480 } }, related: [] } +Permitted non-error diagnostic in C:\Users\User\Documents\Git\ARCADIA-Studio\.local\native-qa\navigation-palette-20260913-01\topology-baseline\project.arcadia: SourceDiagnostic { path: "project.arcadia", diagnostic: Diagnostic { severity: Warning, code: "isolated_contribution", object_id: Some(4a65dad8-e2a1-51dc-87a0-02ea4ab69384), field: Some("parent"), line: 96, column: 16, message: "Connect this contribution to its process/chain path.", span: Span { start: 2711, end: 2721 } }, related: [] } +Permitted non-error diagnostic in C:\Users\User\Documents\Git\ARCADIA-Studio\.local\native-qa\navigation-palette-20260913-01\topology-baseline\project.arcadia: SourceDiagnostic { path: "project.arcadia", diagnostic: Diagnostic { severity: Warning, code: "unallocated_leaf", object_id: Some(e78d841a-a37e-5106-8356-b1e3ce6d2501), field: Some("allocation"), line: 381, column: 5, message: "Allocate leaf 'X · Check authorization' to a performer.", span: Span { start: 10765, end: 10908 } }, related: [] } +Permitted non-error diagnostic in C:\Users\User\Documents\Git\ARCADIA-Studio\.local\native-qa\navigation-palette-20260913-01\topology-work\project.arcadia: SourceDiagnostic { path: "project.arcadia", diagnostic: Diagnostic { severity: Warning, code: "unallocated_leaf", object_id: Some(071edc32-5c27-5c1d-91ff-337c80b462d5), field: Some("allocation"), line: 6, column: 5, message: "Allocate leaf 'A · Begin assessment' to a performer.", span: Span { start: 190, end: 330 } }, related: [] } +Permitted non-error diagnostic in C:\Users\User\Documents\Git\ARCADIA-Studio\.local\native-qa\navigation-palette-20260913-01\topology-work\project.arcadia: SourceDiagnostic { path: "project.arcadia", diagnostic: Diagnostic { severity: Warning, code: "sequence_starts", object_id: Some(2100ac23-79ee-54e1-b3cf-69f3d4f3b30a), field: Some("steps"), line: 65, column: 15, message: "Process/chain 'Caller with three assessments' has 4 start contributions; connect a clear entry/exit or review the intended independent paths.", span: Span { start: 1796, end: 1827 } }, related: [] } +Permitted non-error diagnostic in C:\Users\User\Documents\Git\ARCADIA-Studio\.local\native-qa\navigation-palette-20260913-01\topology-work\project.arcadia: SourceDiagnostic { path: "project.arcadia", diagnostic: Diagnostic { severity: Warning, code: "sequence_ends", object_id: Some(2100ac23-79ee-54e1-b3cf-69f3d4f3b30a), field: Some("steps"), line: 65, column: 15, message: "Process/chain 'Caller with three assessments' has 4 end contributions; connect a clear entry/exit or review the intended independent paths.", span: Span { start: 1796, end: 1827 } }, related: [] } +Permitted non-error diagnostic in C:\Users\User\Documents\Git\ARCADIA-Studio\.local\native-qa\navigation-palette-20260913-01\topology-work\project.arcadia: SourceDiagnostic { path: "project.arcadia", diagnostic: Diagnostic { severity: Warning, code: "isolated_contribution", object_id: Some(08ff2083-dac1-5f4b-ad6a-7cc81d7be29d), field: Some("parent"), line: 19, column: 16, message: "Connect this contribution to its process/chain path.", span: Span { start: 593, end: 603 } }, related: [] } +Permitted non-error diagnostic in C:\Users\User\Documents\Git\ARCADIA-Studio\.local\native-qa\navigation-palette-20260913-01\topology-work\project.arcadia: SourceDiagnostic { path: "project.arcadia", diagnostic: Diagnostic { severity: Warning, code: "isolated_contribution", object_id: Some(d48951ad-c6db-5eae-923a-edccab97155e), field: Some("parent"), line: 333, column: 16, message: "Connect this contribution to its process/chain path.", span: Span { start: 9505, end: 9515 } }, related: [] } +Permitted non-error diagnostic in C:\Users\User\Documents\Git\ARCADIA-Studio\.local\native-qa\navigation-palette-20260913-01\topology-work\project.arcadia: SourceDiagnostic { path: "project.arcadia", diagnostic: Diagnostic { severity: Warning, code: "isolated_contribution", object_id: Some(1e27be58-3e3e-5869-ad30-e94a28ea2a2e), field: Some("parent"), line: 57, column: 16, message: "Connect this contribution to its process/chain path.", span: Span { start: 1566, end: 1576 } }, related: [] } +Permitted non-error diagnostic in C:\Users\User\Documents\Git\ARCADIA-Studio\.local\native-qa\navigation-palette-20260913-01\topology-work\project.arcadia: SourceDiagnostic { path: "project.arcadia", diagnostic: Diagnostic { severity: Warning, code: "isolated_contribution", object_id: Some(fc986c5c-eae7-5363-bcd5-b832d565a89a), field: Some("parent"), line: 406, column: 16, message: "Connect this contribution to its process/chain path.", span: Span { start: 11490, end: 11500 } }, related: [] } +Permitted non-error diagnostic in C:\Users\User\Documents\Git\ARCADIA-Studio\.local\native-qa\navigation-palette-20260913-01\topology-work\project.arcadia: SourceDiagnostic { path: "project.arcadia", diagnostic: Diagnostic { severity: Warning, code: "unallocated_leaf", object_id: Some(25fdfe13-c45d-5822-830a-192ff13f660d), field: Some("allocation"), line: 68, column: 5, message: "Allocate leaf 'A · Begin assessment' to a performer.", span: Span { start: 1840, end: 1980 } }, related: [] } +Permitted non-error diagnostic in C:\Users\User\Documents\Git\ARCADIA-Studio\.local\native-qa\navigation-palette-20260913-01\topology-work\project.arcadia: SourceDiagnostic { path: "project.arcadia", diagnostic: Diagnostic { severity: Warning, code: "unallocated_leaf", object_id: Some(3360ccb1-68ac-51cd-8d9a-8893000c80ef), field: Some("allocation"), line: 79, column: 5, message: "Allocate leaf 'B · Review assessment' to a performer.", span: Span { start: 2173, end: 2314 } }, related: [] } +Permitted non-error diagnostic in C:\Users\User\Documents\Git\ARCADIA-Studio\.local\native-qa\navigation-palette-20260913-01\topology-work\project.arcadia: SourceDiagnostic { path: "project.arcadia", diagnostic: Diagnostic { severity: Warning, code: "unallocated_leaf", object_id: Some(47335738-0876-5f90-b25e-1636c7448e93), field: Some("allocation"), line: 84, column: 5, message: "Allocate leaf 'C · Finish assessment' to a performer.", span: Span { start: 2320, end: 2461 } }, related: [] } +Permitted non-error diagnostic in C:\Users\User\Documents\Git\ARCADIA-Studio\.local\native-qa\navigation-palette-20260913-01\topology-work\project.arcadia: SourceDiagnostic { path: "project.arcadia", diagnostic: Diagnostic { severity: Warning, code: "unallocated_leaf", object_id: Some(6575bce8-4185-519b-a004-d96650da63dc), field: Some("allocation"), line: 238, column: 5, message: "Allocate leaf 'C · Finish assessment' to a performer.", span: Span { start: 6742, end: 6883 } }, related: [] } +Permitted non-error diagnostic in C:\Users\User\Documents\Git\ARCADIA-Studio\.local\native-qa\navigation-palette-20260913-01\topology-work\project.arcadia: SourceDiagnostic { path: "project.arcadia", diagnostic: Diagnostic { severity: Warning, code: "unallocated_leaf", object_id: Some(8c3d9b89-aa12-5218-9de9-12b8b5d4e4b3), field: Some("allocation"), line: 249, column: 5, message: "Allocate leaf 'X · Check authorization' to a performer.", span: Span { start: 7085, end: 7228 } }, related: [] } +Permitted non-error diagnostic in C:\Users\User\Documents\Git\ARCADIA-Studio\.local\native-qa\navigation-palette-20260913-01\topology-work\project.arcadia: SourceDiagnostic { path: "project.arcadia", diagnostic: Diagnostic { severity: Warning, code: "unallocated_leaf", object_id: Some(a39639dc-0ece-5b71-981d-c9523fed4914), field: Some("allocation"), line: 266, column: 5, message: "Allocate leaf 'B · Review assessment' to a performer.", span: Span { start: 7544, end: 7685 } }, related: [] } +Permitted non-error diagnostic in C:\Users\User\Documents\Git\ARCADIA-Studio\.local\native-qa\navigation-palette-20260913-01\topology-work\project.arcadia: SourceDiagnostic { path: "project.arcadia", diagnostic: Diagnostic { severity: Warning, code: "sequence_starts", object_id: Some(d4911fd0-52ed-535c-9f87-170e8f5731d2), field: Some("steps"), line: 341, column: 15, message: "Process/chain 'Caller with three assessments' has 4 start contributions; connect a clear entry/exit or review the intended independent paths.", span: Span { start: 9744, end: 9775 } }, related: [] } +Permitted non-error diagnostic in C:\Users\User\Documents\Git\ARCADIA-Studio\.local\native-qa\navigation-palette-20260913-01\topology-work\project.arcadia: SourceDiagnostic { path: "project.arcadia", diagnostic: Diagnostic { severity: Warning, code: "sequence_ends", object_id: Some(d4911fd0-52ed-535c-9f87-170e8f5731d2), field: Some("steps"), line: 341, column: 15, message: "Process/chain 'Caller with three assessments' has 4 end contributions; connect a clear entry/exit or review the intended independent paths.", span: Span { start: 9744, end: 9775 } }, related: [] } +Permitted non-error diagnostic in C:\Users\User\Documents\Git\ARCADIA-Studio\.local\native-qa\navigation-palette-20260913-01\topology-work\project.arcadia: SourceDiagnostic { path: "project.arcadia", diagnostic: Diagnostic { severity: Warning, code: "isolated_contribution", object_id: Some(53ad2109-ba9d-5859-b258-64cdaab5c4a8), field: Some("parent"), line: 221, column: 16, message: "Connect this contribution to its process/chain path.", span: Span { start: 6359, end: 6369 } }, related: [] } +Permitted non-error diagnostic in C:\Users\User\Documents\Git\ARCADIA-Studio\.local\native-qa\navigation-palette-20260913-01\topology-work\project.arcadia: SourceDiagnostic { path: "project.arcadia", diagnostic: Diagnostic { severity: Warning, code: "isolated_contribution", object_id: Some(62cfdab1-a18b-5b06-8ee7-cd0b320e4024), field: Some("parent"), line: 233, column: 16, message: "Connect this contribution to its process/chain path.", span: Span { start: 6668, end: 6678 } }, related: [] } +Permitted non-error diagnostic in C:\Users\User\Documents\Git\ARCADIA-Studio\.local\native-qa\navigation-palette-20260913-01\topology-work\project.arcadia: SourceDiagnostic { path: "project.arcadia", diagnostic: Diagnostic { severity: Warning, code: "isolated_contribution", object_id: Some(999b5e15-903f-5ca1-bc11-e51fadf80762), field: Some("parent"), line: 261, column: 16, message: "Connect this contribution to its process/chain path.", span: Span { start: 7470, end: 7480 } }, related: [] } +Permitted non-error diagnostic in C:\Users\User\Documents\Git\ARCADIA-Studio\.local\native-qa\navigation-palette-20260913-01\topology-work\project.arcadia: SourceDiagnostic { path: "project.arcadia", diagnostic: Diagnostic { severity: Warning, code: "isolated_contribution", object_id: Some(4a65dad8-e2a1-51dc-87a0-02ea4ab69384), field: Some("parent"), line: 96, column: 16, message: "Connect this contribution to its process/chain path.", span: Span { start: 2711, end: 2721 } }, related: [] } +Permitted non-error diagnostic in C:\Users\User\Documents\Git\ARCADIA-Studio\.local\native-qa\navigation-palette-20260913-01\topology-work\project.arcadia: SourceDiagnostic { path: "project.arcadia", diagnostic: Diagnostic { severity: Warning, code: "unallocated_leaf", object_id: Some(e78d841a-a37e-5106-8356-b1e3ce6d2501), field: Some("allocation"), line: 381, column: 5, message: "Allocate leaf 'X · Check authorization' to a performer.", span: Span { start: 10765, end: 10908 } }, related: [] } diff --git a/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/navigation-palette-20260913-01/admit-topology-e124029/stdout.log b/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/navigation-palette-20260913-01/admit-topology-e124029/stdout.log new file mode 100644 index 00000000..ffec8880 --- /dev/null +++ b/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/navigation-palette-20260913-01/admit-topology-e124029/stdout.log @@ -0,0 +1 @@ +PASS same: complete Project and exact SourceBundle restored diff --git a/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/navigation-palette-20260913-01/admit-topology-e124029/verified-core-inputs.json b/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/navigation-palette-20260913-01/admit-topology-e124029/verified-core-inputs.json new file mode 100644 index 00000000..45621455 --- /dev/null +++ b/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/navigation-palette-20260913-01/admit-topology-e124029/verified-core-inputs.json @@ -0,0 +1,557 @@ +[ + { + "path": "Cargo.lock", + "bytes": 119998, + "sha256": "826fad8a8176d7acbb9007db88c123dd25b8a5efcad7a33a8da8a4e0c6e3394f" + }, + { + "path": "Cargo.toml", + "bytes": 400, + "sha256": "369f5b4b2b60705a94623c8c0b68f8e0b048f263280ce07ae0629ad353797d62" + }, + { + "path": "crates/oa-core/Cargo.toml", + "bytes": 408, + "sha256": "6b5c062474ebb62d5082e07dabed99ee85e4a833edf26690fb4f887028d3416f" + }, + { + "path": "crates/oa-core/build.rs", + "bytes": 45, + "sha256": "ab1be6ae1fd8bf3ebaeef6348347a9d5e666bde693126f199e041659e0b094a9" + }, + { + "path": "crates/oa-core/examples/generate_demo.rs", + "bytes": 795, + "sha256": "e26f432c95331aeca50985dbb3ad2c558affd43023b585811f0f7bfaa59f6661" + }, + { + "path": "crates/oa-core/examples/generate_release1.rs", + "bytes": 1798, + "sha256": "1d5f11165d74893e4bc18dbf3a2f2111f4026bd89fd06ee7f0bae69e45c4d4b5" + }, + { + "path": "crates/oa-core/examples/release_dense_views.rs", + "bytes": 14664, + "sha256": "a83158488ef9b7394f136c52b1496719be935c4e5bdfe457cab5c9894f5f9412" + }, + { + "path": "crates/oa-core/examples/routing_workshop.rs", + "bytes": 17248, + "sha256": "571307b18b6d4fa04700c5a4d4b0c2154c419e93a21292b2028e7b6f46a2faa7" + }, + { + "path": "crates/oa-core/src/analysis_numeric.rs", + "bytes": 3735, + "sha256": "6c88eef3119162aeb6c07b9e75812c3af9fbfe75554b0503ad00f103cb478408" + }, + { + "path": "crates/oa-core/src/analysis_numeric/dimension.rs", + "bytes": 3045, + "sha256": "d4ad8e5307a1620e31791d724a0e31fdba860d00dc83e3e1f2209d9c5e22a340" + }, + { + "path": "crates/oa-core/src/analysis_numeric/exact.rs", + "bytes": 17338, + "sha256": "4eb8cb0f66b10e5da204899af82ee26adfec74bab47b1a6c9842b5488ee04c4d" + }, + { + "path": "crates/oa-core/src/analysis_numeric/fixtures/r7-literal-boundaries.json", + "bytes": 6085, + "sha256": "3b959dec5e100a6f03817f5314bef497347ba579ebd235476516d4bd83399181" + }, + { + "path": "crates/oa-core/src/analysis_numeric/meter.rs", + "bytes": 7129, + "sha256": "1f7174beb992935b4c399acdef91114af73faf041070feab968455ac827e8ee4" + }, + { + "path": "crates/oa-core/src/analysis_numeric/quantity.rs", + "bytes": 12257, + "sha256": "ead5142d6eeea8f99399d57e02d8f7d819980923de76387cd454694d6a747aee" + }, + { + "path": "crates/oa-core/src/analysis_numeric/tests.rs", + "bytes": 27486, + "sha256": "323ce82fc057d36f44463569fd8ea324c7d700fddfbf32bce15e04bd2a66970b" + }, + { + "path": "crates/oa-core/src/data.rs", + "bytes": 42696, + "sha256": "7f9c7c7dd8353cb5a38597b92cde6d3e890203d392473187eb387d41ff37414a" + }, + { + "path": "crates/oa-core/src/demo.rs", + "bytes": 20657, + "sha256": "ad62123f96c20ff023cafc1a9849b0fa06bc62edd1fb9701799e4599b458600c" + }, + { + "path": "crates/oa-core/src/language.rs", + "bytes": 105312, + "sha256": "34cbb144a111e6f0ddadfca7d40636a8e3323fe65ea8920fd2402f0352b41f57" + }, + { + "path": "crates/oa-core/src/language/semantic_source.rs", + "bytes": 7326, + "sha256": "584b5bb59d87a7b8d44d5dd2d124c3a1323b21492b138a17bc9526c0087c9e29" + }, + { + "path": "crates/oa-core/src/language_nesting_tests.rs", + "bytes": 20639, + "sha256": "bd061611e8cb6f28ab203c73e544ac98bf275eb464cd314ad5fbd25f773df33b" + }, + { + "path": "crates/oa-core/src/language_outline_tests.rs", + "bytes": 14877, + "sha256": "4c79a01e8aea243dd9ef66ce71b9fae263d0e79c319a46c51223679897e8b9df" + }, + { + "path": "crates/oa-core/src/lib.rs", + "bytes": 549, + "sha256": "ea1d9bf5acba8381ba204db12ff5b5fe1f320417d17af517e46b90fd6bcb241c" + }, + { + "path": "crates/oa-core/src/migration_v2/README.md", + "bytes": 1515, + "sha256": "fb61d3faa33d7bdfba73415415a0882c0fbd3e0b45df42f972a19aec6da927b9" + }, + { + "path": "crates/oa-core/src/migration_v2/adapter.rs", + "bytes": 9490, + "sha256": "66741b4c8354a23b8a932ecc5bf1bc3bb6e74279558757b8c35bc2157a7e51b5" + }, + { + "path": "crates/oa-core/src/migration_v2/mod.rs", + "bytes": 1158, + "sha256": "857d8bb13b6814daba6780ca770c16352943c01cb130245d055f11b3b957b3e9" + }, + { + "path": "crates/oa-core/src/migration_v2/model.rs", + "bytes": 52059, + "sha256": "8ac63eb59b2e57bdecff2477ee0634096090924d3dd1851e1c454880a889dacb" + }, + { + "path": "crates/oa-core/src/migration_v2/references.rs", + "bytes": 13369, + "sha256": "33a6819abc83139fdaebeebd1b553238a328637106cce7dd5a535f1791d43e20" + }, + { + "path": "crates/oa-core/src/migration_v2/source.rs", + "bytes": 21946, + "sha256": "74fee9b24e7c912182c998ab9d9aeec125e2009c3214959229e844c67afe2bf6" + }, + { + "path": "crates/oa-core/src/migration_v2/state_validation.rs", + "bytes": 15769, + "sha256": "e29ef071bab0a68460ddf55c46131c6f66c022d52c3c602c37c013c3649da1b0" + }, + { + "path": "crates/oa-core/src/migration_v2/transitions.rs", + "bytes": 704, + "sha256": "f74174c532ba56b57c80b719a11fb4adea0a78ccc2828fff72fe2b9eda5a10b1" + }, + { + "path": "crates/oa-core/src/migration_v2/validation.rs", + "bytes": 98736, + "sha256": "6d5e4a4e2805ae5045bf789a0485e14a61c63346587bace2b4a91173a688f780" + }, + { + "path": "crates/oa-core/src/migration_v3/README.md", + "bytes": 2128, + "sha256": "3755a63f840d7f0eadf68afa7a9d587877a9468ff982d3610539e8a0bb067a82" + }, + { + "path": "crates/oa-core/src/migration_v3/mod.rs", + "bytes": 23023, + "sha256": "f4edb6a0b50ecfe8670973776d703047b064420cb1f05913129c00fc656b3722" + }, + { + "path": "crates/oa-core/src/migration_v4.rs", + "bytes": 4020, + "sha256": "50c652964f0f309e7f3f54b6ef12c40d42fcecc0490f005995c713df1179af70" + }, + { + "path": "crates/oa-core/src/model.rs", + "bytes": 66352, + "sha256": "4585c895c64c4a183941c92cf047a9e52ff0cbe41971e16e78d229ea9dc101fb" + }, + { + "path": "crates/oa-core/src/operations.rs", + "bytes": 11405, + "sha256": "a5ffbbf54cd440316a106d1188bfb699b57dae59f466edcb33618c333cd19f41" + }, + { + "path": "crates/oa-core/src/persistence.rs", + "bytes": 31774, + "sha256": "1c01474f906a63e552c0d590b272c95821c00a100b3e79e58e67dbbeac341a14" + }, + { + "path": "crates/oa-core/src/ports.rs", + "bytes": 45413, + "sha256": "5cac12eea70a54ebebbd6be77b63ce92e3195325c4bc7d27705c518686cbac80" + }, + { + "path": "crates/oa-core/src/projection.rs", + "bytes": 21374, + "sha256": "69ed12bace2cc5024e151752a174ab14034ac2d05eb741fcf13e9a27521c059b" + }, + { + "path": "crates/oa-core/src/projection/port_layout.rs", + "bytes": 13474, + "sha256": "a08d17d10a58bb8b206dd001b19b91d5aa3a9f743b298a4da57d503223c20079" + }, + { + "path": "crates/oa-core/src/projection/state.rs", + "bytes": 5233, + "sha256": "73a607bac713ec7ff49a509fefb1a53c7686dca93ee241ffc835564d743afb28" + }, + { + "path": "crates/oa-core/src/references.rs", + "bytes": 21957, + "sha256": "93553c234f32da35f1f41a7b83ad81c471c9803efa78ca222cf7de3c2f86c0bb" + }, + { + "path": "crates/oa-core/src/routing.rs", + "bytes": 50309, + "sha256": "c5ebb350ba76f731f5c48d968bfbba4b6ef68ec046eb5893d116c4637ef15080" + }, + { + "path": "crates/oa-core/src/semantic.rs", + "bytes": 540, + "sha256": "f9895dd5b8fb27d10d4cfbb41c3542ef2018365a589b8d5778e5674ae5a1f239" + }, + { + "path": "crates/oa-core/src/semantic/catalog.rs", + "bytes": 49407, + "sha256": "1ff74fcca18084d178681d7ff38ee1ccac632c27c4de0595ba1ceab8067ab3a4" + }, + { + "path": "crates/oa-core/src/semantic/historical.rs", + "bytes": 15271, + "sha256": "eaf3284bf234312698514cdb636bc8348e1b5d746cb16b18df777e77d312abfb" + }, + { + "path": "crates/oa-core/src/semantic/linked.rs", + "bytes": 6035, + "sha256": "6f335b14e809aecfc35defcaf77cb821b080d1506dbc46297912b25af98c07a2" + }, + { + "path": "crates/oa-core/src/semantic/mutate.rs", + "bytes": 22683, + "sha256": "dc2b4c4a6eb156fe468eaa8c85fd37a505c0cd8ea1f226cb69cd01689afd3d9d" + }, + { + "path": "crates/oa-core/src/semantic/review.rs", + "bytes": 51116, + "sha256": "0c157d2c327e72e89cca3b423e71ee73798105c5bb7271439c1a101642c91e3e" + }, + { + "path": "crates/oa-core/src/semantic/types.rs", + "bytes": 10405, + "sha256": "6922fe35089f12fad43ab0ce1c6886d01a3855f90b8e2543e99802ac5e6f1bbb" + }, + { + "path": "crates/oa-core/src/session.rs", + "bytes": 35237, + "sha256": "1eb77b329b2986fc6f5dc0171e77fd860375cdfd8c769a1367b445d6c49ebe00" + }, + { + "path": "crates/oa-core/src/source_files.rs", + "bytes": 74803, + "sha256": "669491dbddb8e8e6556161426dffa1a49ac1c826d31020bff0956d81a4d84683" + }, + { + "path": "crates/oa-core/src/source_project.rs", + "bytes": 61843, + "sha256": "1394370bcc5908873b830c2c11312e6e1611af41f46c4f43ca0a6bcb713bb466" + }, + { + "path": "crates/oa-core/src/source_project/source_migration.rs", + "bytes": 4700, + "sha256": "add463ae85c420f853d324b00a221f0f874164cc3f3ed6bbb07557a9ed7a8c95" + }, + { + "path": "crates/oa-core/src/source_project/source_structure.rs", + "bytes": 20225, + "sha256": "9f1f83315856a7025fe662c0fbb13452f31613224a03663150d6225d1ddc162f" + }, + { + "path": "crates/oa-core/src/state_validation.rs", + "bytes": 15665, + "sha256": "e28d7f74385e2a78763716b34491bd73a00bfeccc085970ceb130627e3faee18" + }, + { + "path": "crates/oa-core/src/topology_context.rs", + "bytes": 13734, + "sha256": "16de69b297de95d93c73808621607833b713af811dd082f0169186ae1e5c3e2d" + }, + { + "path": "crates/oa-core/src/topology_context/analysis.rs", + "bytes": 20036, + "sha256": "dead6194f0aa60cc46045c0e5ee10dbdbb689158c38634dfbbbc45d2ba88ac65" + }, + { + "path": "crates/oa-core/src/topology_context/analysis_tests.rs", + "bytes": 5258, + "sha256": "17839263410815e96fe027d4eba3aae0a9ab3b82b16947e2b29ebe0d09782b56" + }, + { + "path": "crates/oa-core/src/transitions.rs", + "bytes": 51998, + "sha256": "fadd1b07b89cae4117b91abb4f1ac9ea81ff818ef20f2175e76ee8cf21fb708d" + }, + { + "path": "crates/oa-core/src/transitions/communication.rs", + "bytes": 8634, + "sha256": "2b476630a88edd9021b9156ca12a5402e01604095f0d4002afb452671903a028" + }, + { + "path": "crates/oa-core/src/validation.rs", + "bytes": 112792, + "sha256": "7c1b4ae5e4ebba13e99af9158ccde138dfc5e9a7afb580e76fba72d0b64ba74e" + }, + { + "path": "crates/oa-core/src/validation/coverage.rs", + "bytes": 6478, + "sha256": "b08e4b344ecad055714168c83beff7fe29ba4edc53edbffa2eae04e5580a4d5f" + }, + { + "path": "crates/oa-core/src/view_options.rs", + "bytes": 24481, + "sha256": "421ede0a04c593ca1df0e6e0d06fabcfcc8113cdbcfb0adc7f5c8ef4d1724208" + }, + { + "path": "crates/oa-core/src/view_options_tests.rs", + "bytes": 21433, + "sha256": "64aac44de2df42a1012239a3dd75c473daf0c8990b3170b7bf7e78a556080208" + }, + { + "path": "crates/oa-core/tests/communication_boundary_scenarios.rs", + "bytes": 8816, + "sha256": "e1100b8f363910a487d90c73acc7df543dc6d532158c3c63ad11cd3d40d8e12b" + }, + { + "path": "crates/oa-core/tests/communication_means.rs", + "bytes": 18102, + "sha256": "a25f2749180bc6f4beb1445bfad3351eedf0669131a7439b633ab804439e95a4" + }, + { + "path": "crates/oa-core/tests/coverage_diagnostics.rs", + "bytes": 20527, + "sha256": "e2e9c3996daab47f2bd23f5d8c48b4e372af33331152f5fc85b76f06d04fcdf4" + }, + { + "path": "crates/oa-core/tests/fixtures/v2-coastal-rescue.arcadia", + "bytes": 29220, + "sha256": "f0df129c1914bfc01d0b047b0cd4b520d8cf0c249ea9ced085de400c0be87ff3" + }, + { + "path": "crates/oa-core/tests/fixtures/v2-coastal-rescue.json", + "bytes": 43990, + "sha256": "3ed53508eb544bbd788832f7bebea2ec31b3d66191f24f45098cc9750ec4c005" + }, + { + "path": "crates/oa-core/tests/fixtures/v3-data-contract.arcadia", + "bytes": 2450, + "sha256": "305f19d1b79f99f8d4cf627ba2e9ca6836bb7959cc0070227815937a699eafea" + }, + { + "path": "crates/oa-core/tests/fixtures/v3-data-contract.json", + "bytes": 8240, + "sha256": "1b41299c53204e6232397d25a58d5bccdbbc16e770c75e8edb55ce36ccfe58a2" + }, + { + "path": "crates/oa-core/tests/fixtures/v4-reviewed-prose.arcadia", + "bytes": 1222, + "sha256": "5fa53a26a5ad010c8e59eb56d9b2b52003569e66c0377ffb58840590168ad0c1" + }, + { + "path": "crates/oa-core/tests/fixtures/v4-reviewed-prose.json", + "bytes": 1734, + "sha256": "2808088afcc165f4bd6da5129151143411c997041c3de61d600ab76e05d24a47" + }, + { + "path": "crates/oa-core/tests/language.rs", + "bytes": 56482, + "sha256": "77f6cb2a69976bfb5f60b243b71c07fb0edc7505002c1e9e73fcd6ddf6d9496e" + }, + { + "path": "crates/oa-core/tests/port_anchors.rs", + "bytes": 26893, + "sha256": "efbc0fa18733b1aaac501f9785a4c392fc49c05c45a5778d26e9b5dd951ca6fa" + }, + { + "path": "crates/oa-core/tests/port_migration.rs", + "bytes": 15620, + "sha256": "1801c376a5435ac7efb2a8342348b2c7ffef930bba65deca4acb66b06e0483d7" + }, + { + "path": "crates/oa-core/tests/port_source.rs", + "bytes": 4858, + "sha256": "8d2ddaca4045d330f6eda2591561497b858aad53769a823249d0bea4f5916e12" + }, + { + "path": "crates/oa-core/tests/prepared_commands.rs", + "bytes": 9555, + "sha256": "52cab1c668064777412df0a6a3c20d74d579b33794b4b00525b9f151c06eac9b" + }, + { + "path": "crates/oa-core/tests/process_diagnostics.rs", + "bytes": 1104, + "sha256": "1dbbc590239ef7542be4a2bdc9543aaa64d108417b03dd312a0894e364745906" + }, + { + "path": "crates/oa-core/tests/r3_constructor_ack.rs", + "bytes": 24163, + "sha256": "e5c44676ea0aab97f2e091ddac2f4bc4a4a90f5877f7bbf08b61229600944dd0" + }, + { + "path": "crates/oa-core/tests/r3_migration.rs", + "bytes": 6590, + "sha256": "ebd04120f5215b3956fdc79ee78f6e38734c7d13392f1fc28aaba957912265bd" + }, + { + "path": "crates/oa-core/tests/r3_semantic.rs", + "bytes": 77473, + "sha256": "49c3763eaf2131070a7c46cc23a84f917d292d41610b6404510e5607f8890c32" + }, + { + "path": "crates/oa-core/tests/r3_source.rs", + "bytes": 15311, + "sha256": "f31f60659df3c7ef601650d1cff140589d8729f01a3f65a4a6a6c2272f15c408" + }, + { + "path": "crates/oa-core/tests/r6_data.rs", + "bytes": 41437, + "sha256": "5f7ffb3bc73c3c85423623fe56f8680646dc97040327bdbead9d47a37e80f155" + }, + { + "path": "crates/oa-core/tests/r6_migration.rs", + "bytes": 9174, + "sha256": "81519bc1512f5e069432e9a1cdad04c10216d492df01b4b75b02102480ebd6a1" + }, + { + "path": "crates/oa-core/tests/r6_source.rs", + "bytes": 9519, + "sha256": "88a0aa087a7678e2898ff6057538072ca92072190712f05fff08372cc56ebed6" + }, + { + "path": "crates/oa-core/tests/release1_teaching.rs", + "bytes": 10010, + "sha256": "be179290d871125dc97cfd2a3067c7ac89c8a538fdb0afafc5b825bcdfb2bef2" + }, + { + "path": "crates/oa-core/tests/release_capabilities.rs", + "bytes": 19422, + "sha256": "b92cba2a562e78287ddd7dc3e94557848d17faa0c8a102601b50286b9af48a30" + }, + { + "path": "crates/oa-core/tests/release_diagrams.rs", + "bytes": 7689, + "sha256": "cefcc0582d91266d5de6ee5daefcfe41b606ab971ab235b59034a8e1dbc24b7d" + }, + { + "path": "crates/oa-core/tests/release_language_limits.rs", + "bytes": 5204, + "sha256": "8578da4f76bbd2d0e1bfe295ab1259e2162a3fe3d0d2ba8901915d7a40942806" + }, + { + "path": "crates/oa-core/tests/release_ports.rs", + "bytes": 32740, + "sha256": "506e62beab0c7ec0cece83e9e0c1a810fa1f99285c9e1cab0c77f06de55a40e1" + }, + { + "path": "crates/oa-core/tests/release_routing.rs", + "bytes": 23165, + "sha256": "ae168faaba23769b7ca1fd65f217b9db671726e67276eb5a04e5e72b1447a462" + }, + { + "path": "crates/oa-core/tests/release_scenarios.rs", + "bytes": 41067, + "sha256": "0f5d876badeec653fc7b12610a77d867e9a53582e605253deff8d379da21572f" + }, + { + "path": "crates/oa-core/tests/release_states.rs", + "bytes": 26873, + "sha256": "b1a26acee95eaba7f9920f9da738a1e33606552eb078e6d298895daff7e3d811" + }, + { + "path": "crates/oa-core/tests/release_topology.rs", + "bytes": 17643, + "sha256": "c51dbe5aa5a038f9ed830daa02aa67714472179eb7fd6da5ce36dc6931c8b3a9" + }, + { + "path": "crates/oa-core/tests/review_regressions.rs", + "bytes": 21823, + "sha256": "f154e5c88d35e31512e2b07733a1327ea3e2fcfd1ef8eb23066a4e9573f387c1" + }, + { + "path": "crates/oa-core/tests/route_source.rs", + "bytes": 7270, + "sha256": "1a73fdbac0d0ae0e84d8d67b6ad398e11223958f5dca007f73757c91827decfb" + }, + { + "path": "crates/oa-core/tests/routing_geometry.rs", + "bytes": 31890, + "sha256": "2d8eea4a2bba535ed0ea6daabccdaf87b375828c404baa10518c7bd7fd6253d3" + }, + { + "path": "crates/oa-core/tests/routing_labels.rs", + "bytes": 5530, + "sha256": "dff884d799c3c5c9257210248c55767e294e3cb317c605cbd0ddc9600c216eb6" + }, + { + "path": "crates/oa-core/tests/semantic_artifact_absence_oracle.rs", + "bytes": 4640, + "sha256": "d93eaf9667f4221232168bef0fe9f069e5be1b1f23410bda5dd67010b96e5c8a" + }, + { + "path": "crates/oa-core/tests/semantic_attachments_gui_oracle.rs", + "bytes": 14957, + "sha256": "7f526d363ba05e7ac89faf0fead0796e419c34ee204edf44a1b46c78308b0970" + }, + { + "path": "crates/oa-core/tests/source6_view_contract.rs", + "bytes": 14307, + "sha256": "fa566de53946d40bbbd9033edfeed177180c4dc44afa2f2f4667ffdc622eb3bb" + }, + { + "path": "crates/oa-core/tests/source7_contract.rs", + "bytes": 43262, + "sha256": "cad4f1a135ddbd947bdf3c71d1b44f1e438725095ea8c4d893464bc721c2363f" + }, + { + "path": "crates/oa-core/tests/source_files.rs", + "bytes": 13168, + "sha256": "f0429a0b89a443458ea9af7083c1e4e7411417a7e6b47e618bfbb9266dc164f9" + }, + { + "path": "crates/oa-core/tests/source_identity_updates.rs", + "bytes": 5139, + "sha256": "f52aa38b4d317e532c641ad7463472e4b40e802e60052cf0017556ffc63da06c" + }, + { + "path": "crates/oa-core/tests/source_nested_updates.rs", + "bytes": 16892, + "sha256": "9ac3390936c0d250651ea94a1b8faf0adfb680f061ececc56f2a52909b5ba855" + }, + { + "path": "crates/oa-core/tests/source_project.rs", + "bytes": 45910, + "sha256": "cef58adb16aa4d2527ddc0628aec3e26f0b42b4be70014a7e360fafdac13a942" + }, + { + "path": "crates/oa-core/tests/state_diagrams.rs", + "bytes": 23973, + "sha256": "6b02b387a3ae559cb3ad72de24292a5abcb76aaac0adbab5d2aa5211b22cd2e5" + }, + { + "path": "crates/oa-core/tests/workflows.rs", + "bytes": 33426, + "sha256": "bd843dfddbd5724ec08f657571f887496203056fe2fa5864ef50a168a613b89b" + }, + { + "path": "rust-toolchain.toml", + "bytes": 66, + "sha256": "a6a0bbd29ffaa8182dc22d1d9149709f1091e47df40ed96eb8a78a711c66a4ce" + } +] diff --git a/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/navigation-palette-20260913-01/compact-baseline/notes.arcadia b/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/navigation-palette-20260913-01/compact-baseline/notes.arcadia new file mode 100644 index 00000000..e65a1fc7 --- /dev/null +++ b/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/navigation-palette-20260913-01/compact-baseline/notes.arcadia @@ -0,0 +1,2 @@ +// Preserve deletion evidence 雨. +// Exact bytes matter. diff --git a/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/navigation-palette-20260913-01/compact-baseline/project.arcadia b/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/navigation-palette-20260913-01/compact-baseline/project.arcadia new file mode 100644 index 00000000..80374746 --- /dev/null +++ b/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/navigation-palette-20260913-01/compact-baseline/project.arcadia @@ -0,0 +1,224 @@ +arcadia 7; +project delete_oracle "Delete oracle" id "de1e7e00-0000-4000-8000-000000000001" { + include "notes.arcadia"; + description ""; + + oa_activity delete_10 "Target work" id "de1e7e00-0000-4000-8000-00000000000a" { + description ""; + parent none; + } + + oa_activity delete_11 "Untouched work" id "de1e7e00-0000-4000-8000-00000000000b" { + description ""; + parent none; + } + + oa_entity delete_12 "OA Dispatch team" id "de1e7e00-0000-4000-8000-00000000000c" { + description ""; + parent none; + } + + oa_scenario delete_20 "Reference scenario" id "de1e7e00-0000-4000-8000-000000000014" { + context none; + description ""; + parent none; + postcondition ""; + precondition ""; + steps []; + viewpoint OperationalActivity; + } + + oa_lifeline delete_21 "Target reference" id "de1e7e00-0000-4000-8000-000000000015" { + description ""; + parent @delete_20; + represented @delete_10; + } + + sa_function delete_50 "SA Initialize controller" id "de1e7e00-0000-4000-8000-000000000032" { + description ""; + parent none; + } + + sa_state_machine delete_51 "SA Controller modes" id "de1e7e00-0000-4000-8000-000000000033" { + description ""; + parent none; + } + + sa_region delete_52 "SA Main region" id "de1e7e00-0000-4000-8000-000000000034" { + description ""; + parent @delete_51; + } + + sa_state delete_53 "SA Ready" id "de1e7e00-0000-4000-8000-000000000035" { + description ""; + do_activity ""; + entry ""; + exit ""; + kind State; + parent @delete_52; + } + + allocation delete_13 "OA performs target work" id "de1e7e00-0000-4000-8000-00000000000d" { + description ""; + source @delete_12; + target @delete_10; + } + + state_action delete_54 "SA Entry initialize" id "de1e7e00-0000-4000-8000-000000000036" { + description ""; + phase Entry; + source @delete_53; + target @delete_50; + } + + diagram view_30 "Work view 30" id "de1e7e00-0000-4000-8000-00000000001e" { + description ""; + layer Oa; + projection Allocation; + routes []; + view_options { + coverage "All"; + exchange_labels "Name"; + hidden_edges []; + participant_categories "All"; + relation_kinds "All"; + work_categories "All"; + work_contexts "All"; + }; + } + + node node_31 id "de1e7e00-0000-4000-8000-00000000001f" { + collapsed false; + diagram @view_30; + element @delete_10; + position { + x 80.0; + y 80.0; + }; + size { + height 90.0; + width 180.0; + }; + } + + node node_32 id "de1e7e00-0000-4000-8000-000000000020" { + collapsed false; + diagram @view_30; + element @delete_12; + position { + x 40.0; + y 40.0; + }; + size { + height 230.0; + width 380.0; + }; + } + + diagram view_40 "Work view 40" id "de1e7e00-0000-4000-8000-000000000028" { + description ""; + layer Oa; + projection Allocation; + routes []; + view_options { + coverage "All"; + exchange_labels "Name"; + hidden_edges []; + participant_categories "All"; + relation_kinds "All"; + work_categories "All"; + work_contexts "All"; + }; + } + + node node_41 id "de1e7e00-0000-4000-8000-000000000029" { + collapsed false; + diagram @view_40; + element @delete_10; + position { + x 80.0; + y 80.0; + }; + size { + height 90.0; + width 180.0; + }; + } + + node node_42 id "de1e7e00-0000-4000-8000-00000000002a" { + collapsed false; + diagram @view_40; + element @delete_12; + position { + x 40.0; + y 40.0; + }; + size { + height 230.0; + width 380.0; + }; + } + + diagram sa_modes_view "SA Controller modes view" id "de1e7e00-0000-4000-8000-00000000003c" { + description ""; + layer Sa; + projection { + StateMachine { + machine @delete_51; + }; + }; + routes []; + view_options { + coverage "All"; + exchange_labels "Name"; + hidden_edges []; + participant_categories "All"; + relation_kinds "All"; + work_categories "All"; + work_contexts "All"; + }; + } + + node node_61 id "de1e7e00-0000-4000-8000-00000000003d" { + collapsed false; + diagram @sa_modes_view; + element @delete_51; + position { + x 40.0; + y 40.0; + }; + size { + height 460.0; + width 620.0; + }; + } + + node node_62 id "de1e7e00-0000-4000-8000-00000000003e" { + collapsed false; + diagram @sa_modes_view; + element @delete_52; + position { + x 60.0; + y 95.0; + }; + size { + height 380.0; + width 580.0; + }; + } + + node node_63 id "de1e7e00-0000-4000-8000-00000000003f" { + collapsed false; + diagram @sa_modes_view; + element @delete_53; + position { + x 100.0; + y 155.0; + }; + size { + height 190.0; + width 320.0; + }; + } + +} diff --git a/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/navigation-palette-20260913-01/compact-work/notes.arcadia b/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/navigation-palette-20260913-01/compact-work/notes.arcadia new file mode 100644 index 00000000..e65a1fc7 --- /dev/null +++ b/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/navigation-palette-20260913-01/compact-work/notes.arcadia @@ -0,0 +1,2 @@ +// Preserve deletion evidence 雨. +// Exact bytes matter. diff --git a/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/navigation-palette-20260913-01/compact-work/project.arcadia b/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/navigation-palette-20260913-01/compact-work/project.arcadia new file mode 100644 index 00000000..80374746 --- /dev/null +++ b/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/navigation-palette-20260913-01/compact-work/project.arcadia @@ -0,0 +1,224 @@ +arcadia 7; +project delete_oracle "Delete oracle" id "de1e7e00-0000-4000-8000-000000000001" { + include "notes.arcadia"; + description ""; + + oa_activity delete_10 "Target work" id "de1e7e00-0000-4000-8000-00000000000a" { + description ""; + parent none; + } + + oa_activity delete_11 "Untouched work" id "de1e7e00-0000-4000-8000-00000000000b" { + description ""; + parent none; + } + + oa_entity delete_12 "OA Dispatch team" id "de1e7e00-0000-4000-8000-00000000000c" { + description ""; + parent none; + } + + oa_scenario delete_20 "Reference scenario" id "de1e7e00-0000-4000-8000-000000000014" { + context none; + description ""; + parent none; + postcondition ""; + precondition ""; + steps []; + viewpoint OperationalActivity; + } + + oa_lifeline delete_21 "Target reference" id "de1e7e00-0000-4000-8000-000000000015" { + description ""; + parent @delete_20; + represented @delete_10; + } + + sa_function delete_50 "SA Initialize controller" id "de1e7e00-0000-4000-8000-000000000032" { + description ""; + parent none; + } + + sa_state_machine delete_51 "SA Controller modes" id "de1e7e00-0000-4000-8000-000000000033" { + description ""; + parent none; + } + + sa_region delete_52 "SA Main region" id "de1e7e00-0000-4000-8000-000000000034" { + description ""; + parent @delete_51; + } + + sa_state delete_53 "SA Ready" id "de1e7e00-0000-4000-8000-000000000035" { + description ""; + do_activity ""; + entry ""; + exit ""; + kind State; + parent @delete_52; + } + + allocation delete_13 "OA performs target work" id "de1e7e00-0000-4000-8000-00000000000d" { + description ""; + source @delete_12; + target @delete_10; + } + + state_action delete_54 "SA Entry initialize" id "de1e7e00-0000-4000-8000-000000000036" { + description ""; + phase Entry; + source @delete_53; + target @delete_50; + } + + diagram view_30 "Work view 30" id "de1e7e00-0000-4000-8000-00000000001e" { + description ""; + layer Oa; + projection Allocation; + routes []; + view_options { + coverage "All"; + exchange_labels "Name"; + hidden_edges []; + participant_categories "All"; + relation_kinds "All"; + work_categories "All"; + work_contexts "All"; + }; + } + + node node_31 id "de1e7e00-0000-4000-8000-00000000001f" { + collapsed false; + diagram @view_30; + element @delete_10; + position { + x 80.0; + y 80.0; + }; + size { + height 90.0; + width 180.0; + }; + } + + node node_32 id "de1e7e00-0000-4000-8000-000000000020" { + collapsed false; + diagram @view_30; + element @delete_12; + position { + x 40.0; + y 40.0; + }; + size { + height 230.0; + width 380.0; + }; + } + + diagram view_40 "Work view 40" id "de1e7e00-0000-4000-8000-000000000028" { + description ""; + layer Oa; + projection Allocation; + routes []; + view_options { + coverage "All"; + exchange_labels "Name"; + hidden_edges []; + participant_categories "All"; + relation_kinds "All"; + work_categories "All"; + work_contexts "All"; + }; + } + + node node_41 id "de1e7e00-0000-4000-8000-000000000029" { + collapsed false; + diagram @view_40; + element @delete_10; + position { + x 80.0; + y 80.0; + }; + size { + height 90.0; + width 180.0; + }; + } + + node node_42 id "de1e7e00-0000-4000-8000-00000000002a" { + collapsed false; + diagram @view_40; + element @delete_12; + position { + x 40.0; + y 40.0; + }; + size { + height 230.0; + width 380.0; + }; + } + + diagram sa_modes_view "SA Controller modes view" id "de1e7e00-0000-4000-8000-00000000003c" { + description ""; + layer Sa; + projection { + StateMachine { + machine @delete_51; + }; + }; + routes []; + view_options { + coverage "All"; + exchange_labels "Name"; + hidden_edges []; + participant_categories "All"; + relation_kinds "All"; + work_categories "All"; + work_contexts "All"; + }; + } + + node node_61 id "de1e7e00-0000-4000-8000-00000000003d" { + collapsed false; + diagram @sa_modes_view; + element @delete_51; + position { + x 40.0; + y 40.0; + }; + size { + height 460.0; + width 620.0; + }; + } + + node node_62 id "de1e7e00-0000-4000-8000-00000000003e" { + collapsed false; + diagram @sa_modes_view; + element @delete_52; + position { + x 60.0; + y 95.0; + }; + size { + height 380.0; + width 580.0; + }; + } + + node node_63 id "de1e7e00-0000-4000-8000-00000000003f" { + collapsed false; + diagram @sa_modes_view; + element @delete_53; + position { + x 100.0; + y 155.0; + }; + size { + height 190.0; + width 320.0; + }; + } + +} diff --git a/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/navigation-palette-20260913-01/independent-six-token-rename-e124029/run.json b/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/navigation-palette-20260913-01/independent-six-token-rename-e124029/run.json new file mode 100644 index 00000000..5cd60097 --- /dev/null +++ b/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/navigation-palette-20260913-01/independent-six-token-rename-e124029/run.json @@ -0,0 +1,130 @@ +{ + "start": "2026-09-13T03:58:12.655071+00:00", + "end": "2026-09-13T03:58:14.205093+00:00", + "source": "e1240295bd114d23d3f67a69e6b38bdb2e25bb0d", + "command": [ + "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\native-qa\\navigation-oracle-e124029\\navigation-oracle-e124029.exe", + "renamed", + "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\native-qa\\navigation-palette-20260913-01\\source-baseline\\project.arcadia", + "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\native-qa\\navigation-palette-20260913-01\\source-rename-expected\\expected\\project.arcadia", + "00000000-0000-4000-8000-000000000403", + "assess_report_union" + ], + "exit": 0, + "outcome": "passed", + "failure": null, + "changed_inputs": [], + "inputs_unchanged": true, + "inputs_before": { + "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\native-qa\\navigation-oracle-e124029\\navigation-oracle-e124029.exe": { + "bytes": 21025792, + "sha256": "8937a59a0e1c51619087b43ab059a6e9af3eef9d69dd2735601143ece3452ada" + }, + "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\llvm-mingw-20260908-ucrt-x86_64\\bin\\libunwind.dll": { + "bytes": 190464, + "sha256": "aa282fa47bb2c4e210cea5e470cdbdca58568f0be0bc73e404d86ab9cd95ef6a" + }, + "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\native-qa\\navigation-oracle-e124029\\build.json": { + "bytes": 7770, + "sha256": "27ff0d612a5b9e4c378ae135745f266acfbf498af9f503d9e04f45ceed19a35a" + }, + "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\navigation-palette-gates-20260913\\list-e124029.inputs.json": { + "bytes": 107751, + "sha256": "a011170b83ddc0c835428c10b2079b0df02d2bd6f90167f16b1297c683601a87" + }, + "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\native-qa\\navigation-palette-20260913-01\\source-baseline\\oa.arcadia": { + "bytes": 2364, + "sha256": "c04efaa1ae5a2053e63aac70f79ea7bb845ef1db1ff8e68f23abfe24f1bc180f" + }, + "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\native-qa\\navigation-palette-20260913-01\\source-baseline\\project.arcadia": { + "bytes": 606, + "sha256": "260505b7f54a0d256bce2af8499bb46cc78ffe564628bd5f976ce358d1796f3a" + }, + "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\native-qa\\navigation-palette-20260913-01\\source-baseline\\views.arcadia": { + "bytes": 3508, + "sha256": "e29ad3f406a6a50d2f0ae2ca2a53ee3b0c18222cd4098704a46d4f48b64ea17f" + }, + "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\native-qa\\navigation-palette-20260913-01\\source-baseline\\sa\\assurance.arcadia": { + "bytes": 682, + "sha256": "ab76044836e4dcd42a82d316846ec87da2108939aa2037640c5bca1d2ecdee0f" + }, + "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\native-qa\\navigation-palette-20260913-01\\source-baseline\\sa\\participants.arcadia": { + "bytes": 1231, + "sha256": "1abad579812e77877b45a3d8e3c3e9da734be2d04a0254cc730a5257ebd2dc88" + }, + "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\native-qa\\navigation-palette-20260913-01\\source-baseline\\sa\\reporting.arcadia": { + "bytes": 3061, + "sha256": "893050516ce47f07039f04879474c7a019b8b2f7b6002a8d950b005334e34692" + }, + "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\native-qa\\navigation-palette-20260913-01\\source-rename-expected\\expected\\oa.arcadia": { + "bytes": 2364, + "sha256": "c04efaa1ae5a2053e63aac70f79ea7bb845ef1db1ff8e68f23abfe24f1bc180f" + }, + "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\native-qa\\navigation-palette-20260913-01\\source-rename-expected\\expected\\project.arcadia": { + "bytes": 606, + "sha256": "260505b7f54a0d256bce2af8499bb46cc78ffe564628bd5f976ce358d1796f3a" + }, + "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\native-qa\\navigation-palette-20260913-01\\source-rename-expected\\expected\\views.arcadia": { + "bytes": 3520, + "sha256": "51c3caafbf4e9279d9c472cff89a2d0422a52139b761f835dca98aea5571d14a" + }, + "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\native-qa\\navigation-palette-20260913-01\\source-rename-expected\\expected\\sa\\assurance.arcadia": { + "bytes": 682, + "sha256": "ab76044836e4dcd42a82d316846ec87da2108939aa2037640c5bca1d2ecdee0f" + }, + "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\native-qa\\navigation-palette-20260913-01\\source-rename-expected\\expected\\sa\\participants.arcadia": { + "bytes": 1231, + "sha256": "1abad579812e77877b45a3d8e3c3e9da734be2d04a0254cc730a5257ebd2dc88" + }, + "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\native-qa\\navigation-palette-20260913-01\\source-rename-expected\\expected\\sa\\reporting.arcadia": { + "bytes": 3085, + "sha256": "9ef920a3abe1cbd9537cc1b89a641a8c04af53eb2a3839aecc615917f5c129f0" + } + }, + "input_trees": [ + { + "folder": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\native-qa\\navigation-palette-20260913-01\\source-baseline", + "paths": [ + "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\native-qa\\navigation-palette-20260913-01\\source-baseline\\oa.arcadia", + "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\native-qa\\navigation-palette-20260913-01\\source-baseline\\project.arcadia", + "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\native-qa\\navigation-palette-20260913-01\\source-baseline\\sa\\assurance.arcadia", + "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\native-qa\\navigation-palette-20260913-01\\source-baseline\\sa\\participants.arcadia", + "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\native-qa\\navigation-palette-20260913-01\\source-baseline\\sa\\reporting.arcadia", + "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\native-qa\\navigation-palette-20260913-01\\source-baseline\\views.arcadia" + ] + }, + { + "folder": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\native-qa\\navigation-palette-20260913-01\\source-rename-expected\\expected", + "paths": [ + "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\native-qa\\navigation-palette-20260913-01\\source-rename-expected\\expected\\oa.arcadia", + "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\native-qa\\navigation-palette-20260913-01\\source-rename-expected\\expected\\project.arcadia", + "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\native-qa\\navigation-palette-20260913-01\\source-rename-expected\\expected\\sa\\assurance.arcadia", + "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\native-qa\\navigation-palette-20260913-01\\source-rename-expected\\expected\\sa\\participants.arcadia", + "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\native-qa\\navigation-palette-20260913-01\\source-rename-expected\\expected\\sa\\reporting.arcadia", + "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\native-qa\\navigation-palette-20260913-01\\source-rename-expected\\expected\\views.arcadia" + ] + } + ], + "verified_core_inputs": 111, + "oracle_sha256": "8937a59a0e1c51619087b43ab059a6e9af3eef9d69dd2735601143ece3452ada", + "build": { + "path": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\native-qa\\navigation-oracle-e124029\\build.json", + "bytes": 7770, + "sha256": "27ff0d612a5b9e4c378ae135745f266acfbf498af9f503d9e04f45ceed19a35a" + }, + "launcher": { + "bytes": 5078, + "sha256": "b1d56ec226d7b6d5d5d1d00e4bc8727c016e44a6208831ea8d35ae142c097288" + }, + "scope": "Actual comparator/preparer execution; native actions are separate.", + "stdout": { + "path": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\native-qa\\navigation-palette-20260913-01\\independent-six-token-rename-e124029\\stdout.log", + "bytes": 142, + "sha256": "2bf5514006189566e7a16c18e6404b33a4c160149397fbe543f142073619ec9b" + }, + "stderr": { + "path": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\native-qa\\navigation-palette-20260913-01\\independent-six-token-rename-e124029\\stderr.log", + "bytes": 12038, + "sha256": "d2cffd02914a1ea37903e66085781c18b146718ec1e53ad9510cd0fc7bf35ba3" + } +} diff --git a/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/navigation-palette-20260913-01/independent-six-token-rename-e124029/stderr.log b/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/navigation-palette-20260913-01/independent-six-token-rename-e124029/stderr.log new file mode 100644 index 00000000..d6bc6f6a --- /dev/null +++ b/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/navigation-palette-20260913-01/independent-six-token-rename-e124029/stderr.log @@ -0,0 +1,22 @@ +Permitted non-error diagnostic in C:\Users\User\Documents\Git\ARCADIA-Studio\.local\native-qa\navigation-palette-20260913-01\source-baseline\project.arcadia: SourceDiagnostic { path: "oa.arcadia", diagnostic: Diagnostic { severity: Warning, code: "unspecified_exchange_mechanism", object_id: Some(00000000-0000-4000-8000-000000000107), field: Some("mechanism"), line: 34, column: 15, message: "Choose the exchange mechanism when its contract is known.", span: Span { start: 1598, end: 1609 } }, related: [] } +Permitted non-error diagnostic in C:\Users\User\Documents\Git\ARCADIA-Studio\.local\native-qa\navigation-palette-20260913-01\source-baseline\project.arcadia: SourceDiagnostic { path: "sa/reporting.arcadia", diagnostic: Diagnostic { severity: Warning, code: "unspecified_exchange_mechanism", object_id: Some(00000000-0000-4000-8000-000000000406), field: Some("mechanism"), line: 34, column: 15, message: "Choose the exchange mechanism when its contract is known.", span: Span { start: 1649, end: 1660 } }, related: [] } +Permitted non-error diagnostic in C:\Users\User\Documents\Git\ARCADIA-Studio\.local\native-qa\navigation-palette-20260913-01\source-baseline\project.arcadia: SourceDiagnostic { path: "oa.arcadia", diagnostic: Diagnostic { severity: Warning, code: "work_without_behavior_context", object_id: Some(00000000-0000-4000-8000-000000000104), field: None, line: 12, column: 5, message: "Include this leaf activity/function in a process/chain or scenario through a work action or exchange occurrence.", span: Span { start: 695, end: 869 } }, related: [] } +Permitted non-error diagnostic in C:\Users\User\Documents\Git\ARCADIA-Studio\.local\native-qa\navigation-palette-20260913-01\source-baseline\project.arcadia: SourceDiagnostic { path: "oa.arcadia", diagnostic: Diagnostic { severity: Warning, code: "work_without_behavior_context", object_id: Some(00000000-0000-4000-8000-000000000105), field: None, line: 15, column: 5, message: "Include this leaf activity/function in a process/chain or scenario through a work action or exchange occurrence.", span: Span { start: 874, end: 1053 } }, related: [] } +Permitted non-error diagnostic in C:\Users\User\Documents\Git\ARCADIA-Studio\.local\native-qa\navigation-palette-20260913-01\source-baseline\project.arcadia: SourceDiagnostic { path: "oa.arcadia", diagnostic: Diagnostic { severity: Warning, code: "capability_without_behavior_context", object_id: Some(00000000-0000-4000-8000-000000000106), field: None, line: 20, column: 1, message: "Add an explicit behavior context: link a process/chain with Chain involvement, or set a scenario's Context to this capability.", span: Span { start: 1057, end: 1150 } }, related: [] } +Permitted non-error diagnostic in C:\Users\User\Documents\Git\ARCADIA-Studio\.local\native-qa\navigation-palette-20260913-01\source-baseline\project.arcadia: SourceDiagnostic { path: "sa/reporting.arcadia", diagnostic: Diagnostic { severity: Warning, code: "work_without_behavior_context", object_id: Some(00000000-0000-4000-8000-000000000402), field: None, line: 4, column: 5, message: "Include this leaf activity/function in a process/chain or scenario through a work action or exchange occurrence.", span: Span { start: 255, end: 596 } }, related: [] } +Permitted non-error diagnostic in C:\Users\User\Documents\Git\ARCADIA-Studio\.local\native-qa\navigation-palette-20260913-01\source-baseline\project.arcadia: SourceDiagnostic { path: "sa/reporting.arcadia", diagnostic: Diagnostic { severity: Warning, code: "work_without_behavior_context", object_id: Some(00000000-0000-4000-8000-000000000403), field: None, line: 11, column: 5, message: "Include this leaf activity/function in a process/chain or scenario through a work action or exchange occurrence.", span: Span { start: 682, end: 1034 } }, related: [] } +Permitted non-error diagnostic in C:\Users\User\Documents\Git\ARCADIA-Studio\.local\native-qa\navigation-palette-20260913-01\source-baseline\project.arcadia: SourceDiagnostic { path: "sa/reporting.arcadia", diagnostic: Diagnostic { severity: Warning, code: "capability_without_behavior_context", object_id: Some(00000000-0000-4000-8000-000000000408), field: None, line: 38, column: 1, message: "Add an explicit behavior context: link a process/chain with Chain involvement, or set a scenario's Context to this capability.", span: Span { start: 1701, end: 1810 } }, related: [] } +Permitted non-error diagnostic in C:\Users\User\Documents\Git\ARCADIA-Studio\.local\native-qa\navigation-palette-20260913-01\source-baseline\project.arcadia: SourceDiagnostic { path: "sa/assurance.arcadia", diagnostic: Diagnostic { severity: Warning, code: "work_without_behavior_context", object_id: Some(00000000-0000-4000-8000-000000000412), field: None, line: 5, column: 5, message: "Include this leaf activity/function in a process/chain or scenario through a work action or exchange occurrence.", span: Span { start: 341, end: 521 } }, related: [] } +Permitted non-error diagnostic in C:\Users\User\Documents\Git\ARCADIA-Studio\.local\native-qa\navigation-palette-20260913-01\source-baseline\project.arcadia: SourceDiagnostic { path: "oa.arcadia", diagnostic: Diagnostic { severity: Warning, code: "exchange_without_behavior_context", object_id: Some(00000000-0000-4000-8000-000000000203), field: None, line: 46, column: 1, message: "Use this exchange in a process/chain or scenario.", span: Span { start: 2019, end: 2189 } }, related: [] } +Permitted non-error diagnostic in C:\Users\User\Documents\Git\ARCADIA-Studio\.local\native-qa\navigation-palette-20260913-01\source-baseline\project.arcadia: SourceDiagnostic { path: "sa/reporting.arcadia", diagnostic: Diagnostic { severity: Warning, code: "exchange_without_behavior_context", object_id: Some(00000000-0000-4000-8000-000000000505), field: None, line: 46, column: 1, message: "Use this exchange in a process/chain or scenario.", span: Span { start: 2114, end: 2349 } }, related: [] } +Permitted non-error diagnostic in C:\Users\User\Documents\Git\ARCADIA-Studio\.local\native-qa\navigation-palette-20260913-01\source-rename-expected\expected\project.arcadia: SourceDiagnostic { path: "oa.arcadia", diagnostic: Diagnostic { severity: Warning, code: "unspecified_exchange_mechanism", object_id: Some(00000000-0000-4000-8000-000000000107), field: Some("mechanism"), line: 34, column: 15, message: "Choose the exchange mechanism when its contract is known.", span: Span { start: 1598, end: 1609 } }, related: [] } +Permitted non-error diagnostic in C:\Users\User\Documents\Git\ARCADIA-Studio\.local\native-qa\navigation-palette-20260913-01\source-rename-expected\expected\project.arcadia: SourceDiagnostic { path: "sa/reporting.arcadia", diagnostic: Diagnostic { severity: Warning, code: "unspecified_exchange_mechanism", object_id: Some(00000000-0000-4000-8000-000000000406), field: Some("mechanism"), line: 34, column: 15, message: "Choose the exchange mechanism when its contract is known.", span: Span { start: 1655, end: 1666 } }, related: [] } +Permitted non-error diagnostic in C:\Users\User\Documents\Git\ARCADIA-Studio\.local\native-qa\navigation-palette-20260913-01\source-rename-expected\expected\project.arcadia: SourceDiagnostic { path: "oa.arcadia", diagnostic: Diagnostic { severity: Warning, code: "work_without_behavior_context", object_id: Some(00000000-0000-4000-8000-000000000104), field: None, line: 12, column: 5, message: "Include this leaf activity/function in a process/chain or scenario through a work action or exchange occurrence.", span: Span { start: 695, end: 869 } }, related: [] } +Permitted non-error diagnostic in C:\Users\User\Documents\Git\ARCADIA-Studio\.local\native-qa\navigation-palette-20260913-01\source-rename-expected\expected\project.arcadia: SourceDiagnostic { path: "oa.arcadia", diagnostic: Diagnostic { severity: Warning, code: "work_without_behavior_context", object_id: Some(00000000-0000-4000-8000-000000000105), field: None, line: 15, column: 5, message: "Include this leaf activity/function in a process/chain or scenario through a work action or exchange occurrence.", span: Span { start: 874, end: 1053 } }, related: [] } +Permitted non-error diagnostic in C:\Users\User\Documents\Git\ARCADIA-Studio\.local\native-qa\navigation-palette-20260913-01\source-rename-expected\expected\project.arcadia: SourceDiagnostic { path: "oa.arcadia", diagnostic: Diagnostic { severity: Warning, code: "capability_without_behavior_context", object_id: Some(00000000-0000-4000-8000-000000000106), field: None, line: 20, column: 1, message: "Add an explicit behavior context: link a process/chain with Chain involvement, or set a scenario's Context to this capability.", span: Span { start: 1057, end: 1150 } }, related: [] } +Permitted non-error diagnostic in C:\Users\User\Documents\Git\ARCADIA-Studio\.local\native-qa\navigation-palette-20260913-01\source-rename-expected\expected\project.arcadia: SourceDiagnostic { path: "sa/reporting.arcadia", diagnostic: Diagnostic { severity: Warning, code: "work_without_behavior_context", object_id: Some(00000000-0000-4000-8000-000000000402), field: None, line: 4, column: 5, message: "Include this leaf activity/function in a process/chain or scenario through a work action or exchange occurrence.", span: Span { start: 255, end: 596 } }, related: [] } +Permitted non-error diagnostic in C:\Users\User\Documents\Git\ARCADIA-Studio\.local\native-qa\navigation-palette-20260913-01\source-rename-expected\expected\project.arcadia: SourceDiagnostic { path: "sa/reporting.arcadia", diagnostic: Diagnostic { severity: Warning, code: "work_without_behavior_context", object_id: Some(00000000-0000-4000-8000-000000000403), field: None, line: 11, column: 5, message: "Include this leaf activity/function in a process/chain or scenario through a work action or exchange occurrence.", span: Span { start: 682, end: 1040 } }, related: [] } +Permitted non-error diagnostic in C:\Users\User\Documents\Git\ARCADIA-Studio\.local\native-qa\navigation-palette-20260913-01\source-rename-expected\expected\project.arcadia: SourceDiagnostic { path: "sa/reporting.arcadia", diagnostic: Diagnostic { severity: Warning, code: "capability_without_behavior_context", object_id: Some(00000000-0000-4000-8000-000000000408), field: None, line: 38, column: 1, message: "Add an explicit behavior context: link a process/chain with Chain involvement, or set a scenario's Context to this capability.", span: Span { start: 1707, end: 1816 } }, related: [] } +Permitted non-error diagnostic in C:\Users\User\Documents\Git\ARCADIA-Studio\.local\native-qa\navigation-palette-20260913-01\source-rename-expected\expected\project.arcadia: SourceDiagnostic { path: "sa/assurance.arcadia", diagnostic: Diagnostic { severity: Warning, code: "work_without_behavior_context", object_id: Some(00000000-0000-4000-8000-000000000412), field: None, line: 5, column: 5, message: "Include this leaf activity/function in a process/chain or scenario through a work action or exchange occurrence.", span: Span { start: 341, end: 521 } }, related: [] } +Permitted non-error diagnostic in C:\Users\User\Documents\Git\ARCADIA-Studio\.local\native-qa\navigation-palette-20260913-01\source-rename-expected\expected\project.arcadia: SourceDiagnostic { path: "oa.arcadia", diagnostic: Diagnostic { severity: Warning, code: "exchange_without_behavior_context", object_id: Some(00000000-0000-4000-8000-000000000203), field: None, line: 46, column: 1, message: "Use this exchange in a process/chain or scenario.", span: Span { start: 2019, end: 2189 } }, related: [] } +Permitted non-error diagnostic in C:\Users\User\Documents\Git\ARCADIA-Studio\.local\native-qa\navigation-palette-20260913-01\source-rename-expected\expected\project.arcadia: SourceDiagnostic { path: "sa/reporting.arcadia", diagnostic: Diagnostic { severity: Warning, code: "exchange_without_behavior_context", object_id: Some(00000000-0000-4000-8000-000000000505), field: None, line: 46, column: 1, message: "Use this exchange in a process/chain or scenario.", span: Span { start: 2126, end: 2367 } }, related: [] } diff --git a/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/navigation-palette-20260913-01/independent-six-token-rename-e124029/stdout.log b/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/navigation-palette-20260913-01/independent-six-token-rename-e124029/stdout.log new file mode 100644 index 00000000..2d719e91 --- /dev/null +++ b/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/navigation-palette-20260913-01/independent-six-token-rename-e124029/stdout.log @@ -0,0 +1 @@ +PASS renamed 00000000-0000-4000-8000-000000000403 to assess_report_union: complete baseline-derived alias-only Project and exact SourceBundle diff --git a/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/navigation-palette-20260913-01/independent-six-token-rename-e124029/verified-core-inputs.json b/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/navigation-palette-20260913-01/independent-six-token-rename-e124029/verified-core-inputs.json new file mode 100644 index 00000000..45621455 --- /dev/null +++ b/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/navigation-palette-20260913-01/independent-six-token-rename-e124029/verified-core-inputs.json @@ -0,0 +1,557 @@ +[ + { + "path": "Cargo.lock", + "bytes": 119998, + "sha256": "826fad8a8176d7acbb9007db88c123dd25b8a5efcad7a33a8da8a4e0c6e3394f" + }, + { + "path": "Cargo.toml", + "bytes": 400, + "sha256": "369f5b4b2b60705a94623c8c0b68f8e0b048f263280ce07ae0629ad353797d62" + }, + { + "path": "crates/oa-core/Cargo.toml", + "bytes": 408, + "sha256": "6b5c062474ebb62d5082e07dabed99ee85e4a833edf26690fb4f887028d3416f" + }, + { + "path": "crates/oa-core/build.rs", + "bytes": 45, + "sha256": "ab1be6ae1fd8bf3ebaeef6348347a9d5e666bde693126f199e041659e0b094a9" + }, + { + "path": "crates/oa-core/examples/generate_demo.rs", + "bytes": 795, + "sha256": "e26f432c95331aeca50985dbb3ad2c558affd43023b585811f0f7bfaa59f6661" + }, + { + "path": "crates/oa-core/examples/generate_release1.rs", + "bytes": 1798, + "sha256": "1d5f11165d74893e4bc18dbf3a2f2111f4026bd89fd06ee7f0bae69e45c4d4b5" + }, + { + "path": "crates/oa-core/examples/release_dense_views.rs", + "bytes": 14664, + "sha256": "a83158488ef9b7394f136c52b1496719be935c4e5bdfe457cab5c9894f5f9412" + }, + { + "path": "crates/oa-core/examples/routing_workshop.rs", + "bytes": 17248, + "sha256": "571307b18b6d4fa04700c5a4d4b0c2154c419e93a21292b2028e7b6f46a2faa7" + }, + { + "path": "crates/oa-core/src/analysis_numeric.rs", + "bytes": 3735, + "sha256": "6c88eef3119162aeb6c07b9e75812c3af9fbfe75554b0503ad00f103cb478408" + }, + { + "path": "crates/oa-core/src/analysis_numeric/dimension.rs", + "bytes": 3045, + "sha256": "d4ad8e5307a1620e31791d724a0e31fdba860d00dc83e3e1f2209d9c5e22a340" + }, + { + "path": "crates/oa-core/src/analysis_numeric/exact.rs", + "bytes": 17338, + "sha256": "4eb8cb0f66b10e5da204899af82ee26adfec74bab47b1a6c9842b5488ee04c4d" + }, + { + "path": "crates/oa-core/src/analysis_numeric/fixtures/r7-literal-boundaries.json", + "bytes": 6085, + "sha256": "3b959dec5e100a6f03817f5314bef497347ba579ebd235476516d4bd83399181" + }, + { + "path": "crates/oa-core/src/analysis_numeric/meter.rs", + "bytes": 7129, + "sha256": "1f7174beb992935b4c399acdef91114af73faf041070feab968455ac827e8ee4" + }, + { + "path": "crates/oa-core/src/analysis_numeric/quantity.rs", + "bytes": 12257, + "sha256": "ead5142d6eeea8f99399d57e02d8f7d819980923de76387cd454694d6a747aee" + }, + { + "path": "crates/oa-core/src/analysis_numeric/tests.rs", + "bytes": 27486, + "sha256": "323ce82fc057d36f44463569fd8ea324c7d700fddfbf32bce15e04bd2a66970b" + }, + { + "path": "crates/oa-core/src/data.rs", + "bytes": 42696, + "sha256": "7f9c7c7dd8353cb5a38597b92cde6d3e890203d392473187eb387d41ff37414a" + }, + { + "path": "crates/oa-core/src/demo.rs", + "bytes": 20657, + "sha256": "ad62123f96c20ff023cafc1a9849b0fa06bc62edd1fb9701799e4599b458600c" + }, + { + "path": "crates/oa-core/src/language.rs", + "bytes": 105312, + "sha256": "34cbb144a111e6f0ddadfca7d40636a8e3323fe65ea8920fd2402f0352b41f57" + }, + { + "path": "crates/oa-core/src/language/semantic_source.rs", + "bytes": 7326, + "sha256": "584b5bb59d87a7b8d44d5dd2d124c3a1323b21492b138a17bc9526c0087c9e29" + }, + { + "path": "crates/oa-core/src/language_nesting_tests.rs", + "bytes": 20639, + "sha256": "bd061611e8cb6f28ab203c73e544ac98bf275eb464cd314ad5fbd25f773df33b" + }, + { + "path": "crates/oa-core/src/language_outline_tests.rs", + "bytes": 14877, + "sha256": "4c79a01e8aea243dd9ef66ce71b9fae263d0e79c319a46c51223679897e8b9df" + }, + { + "path": "crates/oa-core/src/lib.rs", + "bytes": 549, + "sha256": "ea1d9bf5acba8381ba204db12ff5b5fe1f320417d17af517e46b90fd6bcb241c" + }, + { + "path": "crates/oa-core/src/migration_v2/README.md", + "bytes": 1515, + "sha256": "fb61d3faa33d7bdfba73415415a0882c0fbd3e0b45df42f972a19aec6da927b9" + }, + { + "path": "crates/oa-core/src/migration_v2/adapter.rs", + "bytes": 9490, + "sha256": "66741b4c8354a23b8a932ecc5bf1bc3bb6e74279558757b8c35bc2157a7e51b5" + }, + { + "path": "crates/oa-core/src/migration_v2/mod.rs", + "bytes": 1158, + "sha256": "857d8bb13b6814daba6780ca770c16352943c01cb130245d055f11b3b957b3e9" + }, + { + "path": "crates/oa-core/src/migration_v2/model.rs", + "bytes": 52059, + "sha256": "8ac63eb59b2e57bdecff2477ee0634096090924d3dd1851e1c454880a889dacb" + }, + { + "path": "crates/oa-core/src/migration_v2/references.rs", + "bytes": 13369, + "sha256": "33a6819abc83139fdaebeebd1b553238a328637106cce7dd5a535f1791d43e20" + }, + { + "path": "crates/oa-core/src/migration_v2/source.rs", + "bytes": 21946, + "sha256": "74fee9b24e7c912182c998ab9d9aeec125e2009c3214959229e844c67afe2bf6" + }, + { + "path": "crates/oa-core/src/migration_v2/state_validation.rs", + "bytes": 15769, + "sha256": "e29ef071bab0a68460ddf55c46131c6f66c022d52c3c602c37c013c3649da1b0" + }, + { + "path": "crates/oa-core/src/migration_v2/transitions.rs", + "bytes": 704, + "sha256": "f74174c532ba56b57c80b719a11fb4adea0a78ccc2828fff72fe2b9eda5a10b1" + }, + { + "path": "crates/oa-core/src/migration_v2/validation.rs", + "bytes": 98736, + "sha256": "6d5e4a4e2805ae5045bf789a0485e14a61c63346587bace2b4a91173a688f780" + }, + { + "path": "crates/oa-core/src/migration_v3/README.md", + "bytes": 2128, + "sha256": "3755a63f840d7f0eadf68afa7a9d587877a9468ff982d3610539e8a0bb067a82" + }, + { + "path": "crates/oa-core/src/migration_v3/mod.rs", + "bytes": 23023, + "sha256": "f4edb6a0b50ecfe8670973776d703047b064420cb1f05913129c00fc656b3722" + }, + { + "path": "crates/oa-core/src/migration_v4.rs", + "bytes": 4020, + "sha256": "50c652964f0f309e7f3f54b6ef12c40d42fcecc0490f005995c713df1179af70" + }, + { + "path": "crates/oa-core/src/model.rs", + "bytes": 66352, + "sha256": "4585c895c64c4a183941c92cf047a9e52ff0cbe41971e16e78d229ea9dc101fb" + }, + { + "path": "crates/oa-core/src/operations.rs", + "bytes": 11405, + "sha256": "a5ffbbf54cd440316a106d1188bfb699b57dae59f466edcb33618c333cd19f41" + }, + { + "path": "crates/oa-core/src/persistence.rs", + "bytes": 31774, + "sha256": "1c01474f906a63e552c0d590b272c95821c00a100b3e79e58e67dbbeac341a14" + }, + { + "path": "crates/oa-core/src/ports.rs", + "bytes": 45413, + "sha256": "5cac12eea70a54ebebbd6be77b63ce92e3195325c4bc7d27705c518686cbac80" + }, + { + "path": "crates/oa-core/src/projection.rs", + "bytes": 21374, + "sha256": "69ed12bace2cc5024e151752a174ab14034ac2d05eb741fcf13e9a27521c059b" + }, + { + "path": "crates/oa-core/src/projection/port_layout.rs", + "bytes": 13474, + "sha256": "a08d17d10a58bb8b206dd001b19b91d5aa3a9f743b298a4da57d503223c20079" + }, + { + "path": "crates/oa-core/src/projection/state.rs", + "bytes": 5233, + "sha256": "73a607bac713ec7ff49a509fefb1a53c7686dca93ee241ffc835564d743afb28" + }, + { + "path": "crates/oa-core/src/references.rs", + "bytes": 21957, + "sha256": "93553c234f32da35f1f41a7b83ad81c471c9803efa78ca222cf7de3c2f86c0bb" + }, + { + "path": "crates/oa-core/src/routing.rs", + "bytes": 50309, + "sha256": "c5ebb350ba76f731f5c48d968bfbba4b6ef68ec046eb5893d116c4637ef15080" + }, + { + "path": "crates/oa-core/src/semantic.rs", + "bytes": 540, + "sha256": "f9895dd5b8fb27d10d4cfbb41c3542ef2018365a589b8d5778e5674ae5a1f239" + }, + { + "path": "crates/oa-core/src/semantic/catalog.rs", + "bytes": 49407, + "sha256": "1ff74fcca18084d178681d7ff38ee1ccac632c27c4de0595ba1ceab8067ab3a4" + }, + { + "path": "crates/oa-core/src/semantic/historical.rs", + "bytes": 15271, + "sha256": "eaf3284bf234312698514cdb636bc8348e1b5d746cb16b18df777e77d312abfb" + }, + { + "path": "crates/oa-core/src/semantic/linked.rs", + "bytes": 6035, + "sha256": "6f335b14e809aecfc35defcaf77cb821b080d1506dbc46297912b25af98c07a2" + }, + { + "path": "crates/oa-core/src/semantic/mutate.rs", + "bytes": 22683, + "sha256": "dc2b4c4a6eb156fe468eaa8c85fd37a505c0cd8ea1f226cb69cd01689afd3d9d" + }, + { + "path": "crates/oa-core/src/semantic/review.rs", + "bytes": 51116, + "sha256": "0c157d2c327e72e89cca3b423e71ee73798105c5bb7271439c1a101642c91e3e" + }, + { + "path": "crates/oa-core/src/semantic/types.rs", + "bytes": 10405, + "sha256": "6922fe35089f12fad43ab0ce1c6886d01a3855f90b8e2543e99802ac5e6f1bbb" + }, + { + "path": "crates/oa-core/src/session.rs", + "bytes": 35237, + "sha256": "1eb77b329b2986fc6f5dc0171e77fd860375cdfd8c769a1367b445d6c49ebe00" + }, + { + "path": "crates/oa-core/src/source_files.rs", + "bytes": 74803, + "sha256": "669491dbddb8e8e6556161426dffa1a49ac1c826d31020bff0956d81a4d84683" + }, + { + "path": "crates/oa-core/src/source_project.rs", + "bytes": 61843, + "sha256": "1394370bcc5908873b830c2c11312e6e1611af41f46c4f43ca0a6bcb713bb466" + }, + { + "path": "crates/oa-core/src/source_project/source_migration.rs", + "bytes": 4700, + "sha256": "add463ae85c420f853d324b00a221f0f874164cc3f3ed6bbb07557a9ed7a8c95" + }, + { + "path": "crates/oa-core/src/source_project/source_structure.rs", + "bytes": 20225, + "sha256": "9f1f83315856a7025fe662c0fbb13452f31613224a03663150d6225d1ddc162f" + }, + { + "path": "crates/oa-core/src/state_validation.rs", + "bytes": 15665, + "sha256": "e28d7f74385e2a78763716b34491bd73a00bfeccc085970ceb130627e3faee18" + }, + { + "path": "crates/oa-core/src/topology_context.rs", + "bytes": 13734, + "sha256": "16de69b297de95d93c73808621607833b713af811dd082f0169186ae1e5c3e2d" + }, + { + "path": "crates/oa-core/src/topology_context/analysis.rs", + "bytes": 20036, + "sha256": "dead6194f0aa60cc46045c0e5ee10dbdbb689158c38634dfbbbc45d2ba88ac65" + }, + { + "path": "crates/oa-core/src/topology_context/analysis_tests.rs", + "bytes": 5258, + "sha256": "17839263410815e96fe027d4eba3aae0a9ab3b82b16947e2b29ebe0d09782b56" + }, + { + "path": "crates/oa-core/src/transitions.rs", + "bytes": 51998, + "sha256": "fadd1b07b89cae4117b91abb4f1ac9ea81ff818ef20f2175e76ee8cf21fb708d" + }, + { + "path": "crates/oa-core/src/transitions/communication.rs", + "bytes": 8634, + "sha256": "2b476630a88edd9021b9156ca12a5402e01604095f0d4002afb452671903a028" + }, + { + "path": "crates/oa-core/src/validation.rs", + "bytes": 112792, + "sha256": "7c1b4ae5e4ebba13e99af9158ccde138dfc5e9a7afb580e76fba72d0b64ba74e" + }, + { + "path": "crates/oa-core/src/validation/coverage.rs", + "bytes": 6478, + "sha256": "b08e4b344ecad055714168c83beff7fe29ba4edc53edbffa2eae04e5580a4d5f" + }, + { + "path": "crates/oa-core/src/view_options.rs", + "bytes": 24481, + "sha256": "421ede0a04c593ca1df0e6e0d06fabcfcc8113cdbcfb0adc7f5c8ef4d1724208" + }, + { + "path": "crates/oa-core/src/view_options_tests.rs", + "bytes": 21433, + "sha256": "64aac44de2df42a1012239a3dd75c473daf0c8990b3170b7bf7e78a556080208" + }, + { + "path": "crates/oa-core/tests/communication_boundary_scenarios.rs", + "bytes": 8816, + "sha256": "e1100b8f363910a487d90c73acc7df543dc6d532158c3c63ad11cd3d40d8e12b" + }, + { + "path": "crates/oa-core/tests/communication_means.rs", + "bytes": 18102, + "sha256": "a25f2749180bc6f4beb1445bfad3351eedf0669131a7439b633ab804439e95a4" + }, + { + "path": "crates/oa-core/tests/coverage_diagnostics.rs", + "bytes": 20527, + "sha256": "e2e9c3996daab47f2bd23f5d8c48b4e372af33331152f5fc85b76f06d04fcdf4" + }, + { + "path": "crates/oa-core/tests/fixtures/v2-coastal-rescue.arcadia", + "bytes": 29220, + "sha256": "f0df129c1914bfc01d0b047b0cd4b520d8cf0c249ea9ced085de400c0be87ff3" + }, + { + "path": "crates/oa-core/tests/fixtures/v2-coastal-rescue.json", + "bytes": 43990, + "sha256": "3ed53508eb544bbd788832f7bebea2ec31b3d66191f24f45098cc9750ec4c005" + }, + { + "path": "crates/oa-core/tests/fixtures/v3-data-contract.arcadia", + "bytes": 2450, + "sha256": "305f19d1b79f99f8d4cf627ba2e9ca6836bb7959cc0070227815937a699eafea" + }, + { + "path": "crates/oa-core/tests/fixtures/v3-data-contract.json", + "bytes": 8240, + "sha256": "1b41299c53204e6232397d25a58d5bccdbbc16e770c75e8edb55ce36ccfe58a2" + }, + { + "path": "crates/oa-core/tests/fixtures/v4-reviewed-prose.arcadia", + "bytes": 1222, + "sha256": "5fa53a26a5ad010c8e59eb56d9b2b52003569e66c0377ffb58840590168ad0c1" + }, + { + "path": "crates/oa-core/tests/fixtures/v4-reviewed-prose.json", + "bytes": 1734, + "sha256": "2808088afcc165f4bd6da5129151143411c997041c3de61d600ab76e05d24a47" + }, + { + "path": "crates/oa-core/tests/language.rs", + "bytes": 56482, + "sha256": "77f6cb2a69976bfb5f60b243b71c07fb0edc7505002c1e9e73fcd6ddf6d9496e" + }, + { + "path": "crates/oa-core/tests/port_anchors.rs", + "bytes": 26893, + "sha256": "efbc0fa18733b1aaac501f9785a4c392fc49c05c45a5778d26e9b5dd951ca6fa" + }, + { + "path": "crates/oa-core/tests/port_migration.rs", + "bytes": 15620, + "sha256": "1801c376a5435ac7efb2a8342348b2c7ffef930bba65deca4acb66b06e0483d7" + }, + { + "path": "crates/oa-core/tests/port_source.rs", + "bytes": 4858, + "sha256": "8d2ddaca4045d330f6eda2591561497b858aad53769a823249d0bea4f5916e12" + }, + { + "path": "crates/oa-core/tests/prepared_commands.rs", + "bytes": 9555, + "sha256": "52cab1c668064777412df0a6a3c20d74d579b33794b4b00525b9f151c06eac9b" + }, + { + "path": "crates/oa-core/tests/process_diagnostics.rs", + "bytes": 1104, + "sha256": "1dbbc590239ef7542be4a2bdc9543aaa64d108417b03dd312a0894e364745906" + }, + { + "path": "crates/oa-core/tests/r3_constructor_ack.rs", + "bytes": 24163, + "sha256": "e5c44676ea0aab97f2e091ddac2f4bc4a4a90f5877f7bbf08b61229600944dd0" + }, + { + "path": "crates/oa-core/tests/r3_migration.rs", + "bytes": 6590, + "sha256": "ebd04120f5215b3956fdc79ee78f6e38734c7d13392f1fc28aaba957912265bd" + }, + { + "path": "crates/oa-core/tests/r3_semantic.rs", + "bytes": 77473, + "sha256": "49c3763eaf2131070a7c46cc23a84f917d292d41610b6404510e5607f8890c32" + }, + { + "path": "crates/oa-core/tests/r3_source.rs", + "bytes": 15311, + "sha256": "f31f60659df3c7ef601650d1cff140589d8729f01a3f65a4a6a6c2272f15c408" + }, + { + "path": "crates/oa-core/tests/r6_data.rs", + "bytes": 41437, + "sha256": "5f7ffb3bc73c3c85423623fe56f8680646dc97040327bdbead9d47a37e80f155" + }, + { + "path": "crates/oa-core/tests/r6_migration.rs", + "bytes": 9174, + "sha256": "81519bc1512f5e069432e9a1cdad04c10216d492df01b4b75b02102480ebd6a1" + }, + { + "path": "crates/oa-core/tests/r6_source.rs", + "bytes": 9519, + "sha256": "88a0aa087a7678e2898ff6057538072ca92072190712f05fff08372cc56ebed6" + }, + { + "path": "crates/oa-core/tests/release1_teaching.rs", + "bytes": 10010, + "sha256": "be179290d871125dc97cfd2a3067c7ac89c8a538fdb0afafc5b825bcdfb2bef2" + }, + { + "path": "crates/oa-core/tests/release_capabilities.rs", + "bytes": 19422, + "sha256": "b92cba2a562e78287ddd7dc3e94557848d17faa0c8a102601b50286b9af48a30" + }, + { + "path": "crates/oa-core/tests/release_diagrams.rs", + "bytes": 7689, + "sha256": "cefcc0582d91266d5de6ee5daefcfe41b606ab971ab235b59034a8e1dbc24b7d" + }, + { + "path": "crates/oa-core/tests/release_language_limits.rs", + "bytes": 5204, + "sha256": "8578da4f76bbd2d0e1bfe295ab1259e2162a3fe3d0d2ba8901915d7a40942806" + }, + { + "path": "crates/oa-core/tests/release_ports.rs", + "bytes": 32740, + "sha256": "506e62beab0c7ec0cece83e9e0c1a810fa1f99285c9e1cab0c77f06de55a40e1" + }, + { + "path": "crates/oa-core/tests/release_routing.rs", + "bytes": 23165, + "sha256": "ae168faaba23769b7ca1fd65f217b9db671726e67276eb5a04e5e72b1447a462" + }, + { + "path": "crates/oa-core/tests/release_scenarios.rs", + "bytes": 41067, + "sha256": "0f5d876badeec653fc7b12610a77d867e9a53582e605253deff8d379da21572f" + }, + { + "path": "crates/oa-core/tests/release_states.rs", + "bytes": 26873, + "sha256": "b1a26acee95eaba7f9920f9da738a1e33606552eb078e6d298895daff7e3d811" + }, + { + "path": "crates/oa-core/tests/release_topology.rs", + "bytes": 17643, + "sha256": "c51dbe5aa5a038f9ed830daa02aa67714472179eb7fd6da5ce36dc6931c8b3a9" + }, + { + "path": "crates/oa-core/tests/review_regressions.rs", + "bytes": 21823, + "sha256": "f154e5c88d35e31512e2b07733a1327ea3e2fcfd1ef8eb23066a4e9573f387c1" + }, + { + "path": "crates/oa-core/tests/route_source.rs", + "bytes": 7270, + "sha256": "1a73fdbac0d0ae0e84d8d67b6ad398e11223958f5dca007f73757c91827decfb" + }, + { + "path": "crates/oa-core/tests/routing_geometry.rs", + "bytes": 31890, + "sha256": "2d8eea4a2bba535ed0ea6daabccdaf87b375828c404baa10518c7bd7fd6253d3" + }, + { + "path": "crates/oa-core/tests/routing_labels.rs", + "bytes": 5530, + "sha256": "dff884d799c3c5c9257210248c55767e294e3cb317c605cbd0ddc9600c216eb6" + }, + { + "path": "crates/oa-core/tests/semantic_artifact_absence_oracle.rs", + "bytes": 4640, + "sha256": "d93eaf9667f4221232168bef0fe9f069e5be1b1f23410bda5dd67010b96e5c8a" + }, + { + "path": "crates/oa-core/tests/semantic_attachments_gui_oracle.rs", + "bytes": 14957, + "sha256": "7f526d363ba05e7ac89faf0fead0796e419c34ee204edf44a1b46c78308b0970" + }, + { + "path": "crates/oa-core/tests/source6_view_contract.rs", + "bytes": 14307, + "sha256": "fa566de53946d40bbbd9033edfeed177180c4dc44afa2f2f4667ffdc622eb3bb" + }, + { + "path": "crates/oa-core/tests/source7_contract.rs", + "bytes": 43262, + "sha256": "cad4f1a135ddbd947bdf3c71d1b44f1e438725095ea8c4d893464bc721c2363f" + }, + { + "path": "crates/oa-core/tests/source_files.rs", + "bytes": 13168, + "sha256": "f0429a0b89a443458ea9af7083c1e4e7411417a7e6b47e618bfbb9266dc164f9" + }, + { + "path": "crates/oa-core/tests/source_identity_updates.rs", + "bytes": 5139, + "sha256": "f52aa38b4d317e532c641ad7463472e4b40e802e60052cf0017556ffc63da06c" + }, + { + "path": "crates/oa-core/tests/source_nested_updates.rs", + "bytes": 16892, + "sha256": "9ac3390936c0d250651ea94a1b8faf0adfb680f061ececc56f2a52909b5ba855" + }, + { + "path": "crates/oa-core/tests/source_project.rs", + "bytes": 45910, + "sha256": "cef58adb16aa4d2527ddc0628aec3e26f0b42b4be70014a7e360fafdac13a942" + }, + { + "path": "crates/oa-core/tests/state_diagrams.rs", + "bytes": 23973, + "sha256": "6b02b387a3ae559cb3ad72de24292a5abcb76aaac0adbab5d2aa5211b22cd2e5" + }, + { + "path": "crates/oa-core/tests/workflows.rs", + "bytes": 33426, + "sha256": "bd843dfddbd5724ec08f657571f887496203056fe2fa5864ef50a168a613b89b" + }, + { + "path": "rust-toolchain.toml", + "bytes": 66, + "sha256": "a6a0bbd29ffaa8182dc22d1d9149709f1091e47df40ed96eb8a78a711c66a4ce" + } +] diff --git a/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/navigation-palette-20260913-01/lifecycle-baseline/README.md b/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/navigation-palette-20260913-01/lifecycle-baseline/README.md new file mode 100644 index 00000000..8afc2a8e --- /dev/null +++ b/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/navigation-palette-20260913-01/lifecycle-baseline/README.md @@ -0,0 +1,62 @@ +# Native lifecycle union fixtures — strong core preflight passed; GUI pending + +## Strong actual-core preflight — 2026-09-13 00:14 UTC + +The unchanged prepared `preflight.rs` compiled with Rust edition 2024, `-D warnings` and the documented LLVM-MinGW linker, then passed on the unchanged fixture. Build and run both exited 0. See [build/provenance receipt](strong-preflight-d61-r1/build.json), [run receipt](strong-preflight-d61-r1/run.json), [full assertion result and diagnostics](strong-preflight-d61-r1/run.stdout.log), and [exact verified core/config/lock inputs](strong-preflight-d61-r1/verified-core-config-inputs.json). Compiler and runtime stderr were empty. The executable SHA-256 is `d5d1d6c547c0e0a8a4fe1e64b2fd1023017596eefe6ca499c7159051f95395b7`. + +The existing `liboa_core-145180297aa692e4.rlib` SHA-256 `d395dbe1f761d41bce3cb850f44cdc0343b0db172bd03abf89e455c44f4b7e86` matches its identified prior425 build receipt. All 110 scoped core/configuration/lock inputs match both the prior425 and closed d61 full gate manifests, and the current committed `aadc6396d39ff336d05381d58d545093d3f37a73` core/configuration has no tracked or untracked changes. The closed d61 gate source is `d61f1f38779ab70a77efcde523ae31c432aefcfd`. No core rebuild or newest-artifact substitution occurred. The exact driver, probe, fixture snapshot, earlier build receipt, commands and tool hashes are preserved in the new result directory. + +Executed assertions establish: six scenarios, 61 elements, five relations, zero Errors and 18 completeness warnings; ordinary candidate admission; exact original SourceBundle preservation including comments/Unicode/IDs; complete Project equality through canonical format/parse and formatting stability; all six root step orders; all eight carried pressure values; four SA invocation/allocation/caller/provider proofs; and the intentional incomplete Reply sender/receiver/correlation tuple. Native geometry, pixels, selection, save/reopen interaction, focus and monitor appearance remain pending. The compiler lease was explicitly closed after this run; this helper does not establish desktop-renderer or release acceptance. + +## Preliminary admission receipt — 2026-09-13 00:04 UTC + +The existing identified core oracle passed `same lifecycle-native.arcadia lifecycle-native.arcadia`, exit 0. See [exact command, identities and exit](preliminary-admission-42511f0-r2/run.json), [stdout](preliminary-admission-42511f0-r2/stdout.log), and [all diagnostics](preliminary-admission-42511f0-r2/stderr.log). Each of its two independent loads reported 18 warnings: 15 `missing_exchange`, one `missing_lifeline`, and two `unallocated_leaf`; no Errors. The fixture SHA-256 remained `998a2fd3e2474e72fc013f4da422e49bad61e118de62eccfbd71bf06b863ce7f`. + +The executable SHA-256 `9796aa73544c6414003e6230a668a6cf1435978a310187ef2560af67e35f3466` and compiled oracle source SHA-256 `fbc001a3c14d075fa9d5fce90188cc06055c12b02d4c5929818ac4325fb82c5e` were verified against its original build receipt before execution. Core identity is `42511f0f8ae46f29e11ae18c1030face654c2994`. [Preserved inputs and original build receipt](preliminary-admission-42511f0-r1/run.json) accompany byte-for-byte fixture and oracle source snapshots in that directory. The first launch exited `-1073741515` (`0xC0000135`) with empty output before admission; the successful second launch prepended the repository's documented LLVM-MinGW runtime directory to this process's PATH. Runtime DLL hashes and the exact PATH prefix are in r2. No executable was replaced or rebuilt. + +Source review confirms `same` calls full source-project discovery/load, rejects discovery Errors and detached buffers, calls `compile_bundle` without allowing migration/normalization, and calls `validate_candidate` on the entire decoded Project. It then compares the complete Project and exact SourceBundle. The self-comparison establishes parse/source/model admission with that identified core; its identity comparison is tautological and **does not establish canonical roundtrip, execute `preflight.rs` assertions, validate the updated desktop renderer, or establish GUI acceptance**. At that preliminary checkpoint, the stronger checks were pending; the subsequent stronger core run is recorded above. The source-preparation notes below describe the earlier preparation stage. + +The unchanged `lifecycle-native.arcadia` is now ready for the parent's native acceptance workflow after the successful core preflight. This is one project containing six small scenarios, 61 elements and five relations. `identities.tsv` gives every scenario, lifeline and occurrence alias/UUID. IDs use the new deterministic namespace `21c0fe00-0000-4000-8000-...`; the last 12 hex digits encode the alias's decimal suffix. Source comments include Ω, 戻り値, a combining-accent `é`, and `👩‍🔧` for exact save/reopen retention. + +Target renderer source: reviewed union `f6595ebf66e88ec42c37b5c1a3c014f5e52cb32d`, before any later root corrections. The fixture was newly authored source; validation of the earlier bound-call artifact was not reused as proof for this edited project. No compiler, fixture execution, native interaction, Gitea mutation or root tracked edit was performed during preparation. Standalone rustfmt only parsed/formatted `preflight.rs`. + +## Contents and expected geometry + +The coordinates below are **source-derived world-coordinate expectations**, not measured screen pixels. At the current Scene layout, L1 is x=160 and L2 is x=400. Pan, Fit and zoom transform these coordinates. Marker capsules are 140×28, centered on L2. Activation bars use the reviewed 12-unit width/6-unit nesting offset; these are current implementation checks, not new permanent specification dimensions. + +| Scenario / owner alias | Ordered events | Expected result | +| --- | --- | --- | +| **OA 1 Nested lifetime — Latin** / `bound_1000` | Create1005, C1=1040, C2=1030, R2=1060, R1=1050, Delete1070 | Rows148,240,332,424,516,608. L2 alive148–608. Outer C1 rectangle x394,y240,w12,h276; inner C2 x400,y332,w12,h92. Calls end and replies start on their corresponding left activation edges. Create ends x330,y148 at capsule edge; Delete ends x400,y608 at cross. No unanswered cue. | +| **SA 2 Nested lifetime — Unicode** / `bound_2000` | Create2005, C1=2040, C2=2030, R2=2060, R1=2050, Delete2070 | Same rows and activation geometry as OA. Four Call/Reply messages retain the exact synchronous interface-operation allocation `bound_220`, caller port202, provider port203 and carried values. | +| **OA 3 Self lifecycle and call** / `bound_3000` | Action3010, self-Create3020, self-Call3040, self-Reply3050, self-Delete3070 | Action row148, box bottom193. Self-Create marker row259, send235, label207; it clears the action. Self-Call send351, receive375; bar begins375. Self-Reply send443, receive467; bar ends443. Self-Delete send527, marker receive551. Execution x394,y375,w12,h68. Self-Call points `(400,351),(466,351),(466,375),(406,375)`; self-Reply `(406,443),(466,443),(466,467),(400,467)`. Create elbow is x512 and ends on capsule right edge470; Delete elbow512 returns to lane400. | +| **OA 4 Death in one ALT operand** / `bound_4000` | Call4040; ALT4080: left4081 contains Delete4070, right4082 is empty | Preserve parent pre-frame activation, a left piece ending at Delete with Terminated metadata, and a separate 26-unit open right piece. No definite post-frame activation. The death path, empty open sibling and uncertain parent retain distinct cues. Source-derived rows: Call148, frame240, Delete385; left scope starts343, right525; right open piece525–551. | +| **SA 5 Death and incomplete reply** / `bound_5000` | Call5040, Delete5070, incomplete Reply5050 | Call row148 to death240. One terminated execution and unanswered cue. Reply row332 is a repair card: sender is intentionally absent, receiver5001 and reply_to5040 remain. It must not become a detached Reply arrow or fabricate an answered execution. | +| **SA 6 Unresolved lifetime, visible cue** / `bound_6000` | ALT6080: left6081 Create6005, right6082 Call6040 | Exclusive operands share conservative entry state. Create marker is visible in left; right lifetime is unresolved. The right Call remains visible and lane-anchored, with an unanswered cue even though there is no activation rectangle. Source-derived Create row293, Call475; cue around y494. | + +The first two cases intentionally retain C2's numerically lower UUID despite C1 appearing first in semantic `steps`, exercising order independence. C1 input is420.0 kPa, R1 return418.0; C2 input380.0, R2 return378.0. OA calls use the actual Interaction/Operation-item contract; SA calls use the concrete BoundaryExchange, required/provided interfaces and synchronous operation allocation copied from the earlier bound fixture. Lifecycle Create/Delete messages and the self/incomplete cases intentionally have no exchange/operation binding; they are draft-capable, explicitly identified lifeline events with expected completeness warnings. + +Long-name witnesses are in both the actual lifeline/capsule name and represented activity/system detail. OA uses wide Latin `W` glyphs; SA uses long CJK text and an emoji ZWJ sequence; the self case includes combining accents. Full names should remain in Properties/source while painted text stays inside its padded header/capsule clip. + +## Admission and round-trip expectations + +At source preparation, the fixture was checked against the actual constructors/tests and core rules. The stronger executed checks are recorded above: + +- Bound contracts and original Call/Reply values derive from `.local/native-qa/bound-nested-fixture-r1-20260912/bound-nested-calls.arcadia`; that earlier artifact's validation does **not** validate this edited project. +- Model shape and admitted lifetime cases follow `scenario_lifecycle/render_tests.rs` and `union_tests.rs` at f659. The source notation uses the same Exchange, Action, Fragment and Branch variants as their actual core constructors. +- Core `validation.rs:1766–1791` rejects explicit receiver use before Create or after Delete. These fixtures contain no such same-path use. The self scenario's preceding Action uses L1, not the created L2. In SA5, the later Reply's dead sender endpoint is absent. In SA6, Create and Call occupy distinct exclusive ALT operands; `possibly_before` treats them as mutually exclusive. +- Each reply names its guaranteed earlier call and reverses the known endpoints; missing endpoints remain missing. No recreated-after-death or fully bound late-reply invalid model is included. +- Expect **zero Errors**, with completeness warnings from deliberately unbound messages, unfinished calls and draft endpoint/analysis fields. Do not hide warnings or report this as a complete system design. +- Require actual source-project admission, exact original bundle equality (comments/Unicode/explicit IDs), complete Project equality through canonical format/parse, and canonical formatting stability. Compare all fields, not just scenario steps. + +`preflight.rs` is the standalone actual-core check now compiled and executed successfully as recorded above. It reads only the source, performs those checks, verifies all six root step orders and the eight preserved pressure values, and resolves all four SA messages to the exact Call/allocation/ports. It prints diagnostics and a PASS line only after every assertion succeeds; it writes no files. A future rerun must preserve a new receipt label and retain exact dependency provenance. + +## Native acceptance checklist + +Use the named scenarios in Behavior. Check normal-scale and Fit appearance; compare selected and unselected bars and each exposed shoulder, including the three label-backplate bands above nested C2/R2/R1. Exact message/arrow points must still select their own occurrence. Birth capsules and death crosses must select their Create/Delete IDs at pan/zoom. Confirm the long header/capsule labels are clipped without text leaking outside or disappearing after pan, and self-event captions clear the preceding Action. In Properties, inspect pressure values/correlations and the intentionally missing SA5 sender. + +For ALT cases, do not interpret vertically stacked operands as consecutive execution. Check each operand and the uncertain continuation independently. Save/reopen a writable acceptance copy and compare the complete Project and original comments/Unicode. This fixture does not establish free positioning, min-scale shoulder usability, global palette improvement, platform completion, or release acceptance; those retain their separate gates. + +Source identity before root execution: + +- `lifecycle-native.arcadia`: SHA-256 `998A2FD3E2474E72FC013F4DA422E49BAD61E118DE62ECCFBD71BF06B863CE7F`. +- `preflight.rs`: SHA-256 `BF2EB9B908AE36198D15D47AE79D56E4BB181F506598CC4E76A76175041F633E`. diff --git a/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/navigation-palette-20260913-01/lifecycle-baseline/identities.tsv b/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/navigation-palette-20260913-01/lifecycle-baseline/identities.tsv new file mode 100644 index 00000000..273eb37a --- /dev/null +++ b/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/navigation-palette-20260913-01/lifecycle-baseline/identities.tsv @@ -0,0 +1,49 @@ +alias id kind name +bound_1000 21c0fe00-0000-4000-8000-0000000003e8 oa_scenario OA 1 Nested lifetime — Latin +bound_1001 21c0fe00-0000-4000-8000-0000000003e9 oa_lifeline L1 Console +bound_1002 21c0fe00-0000-4000-8000-0000000003ea oa_lifeline L2 WWWWWWWWWWWWWWWWWW Inspector +bound_1005 21c0fe00-0000-4000-8000-0000000003ed oa_occurrence Create inspector +bound_1030 21c0fe00-0000-4000-8000-000000000406 oa_occurrence C2 380 kPa +bound_1040 21c0fe00-0000-4000-8000-000000000410 oa_occurrence C1 420 kPa +bound_1050 21c0fe00-0000-4000-8000-00000000041a oa_occurrence R1 418 kPa +bound_1060 21c0fe00-0000-4000-8000-000000000424 oa_occurrence R2 378 kPa +bound_1070 21c0fe00-0000-4000-8000-00000000042e oa_occurrence Delete inspector +bound_2000 21c0fe00-0000-4000-8000-0000000007d0 sa_scenario SA 2 Nested lifetime — Unicode +bound_2001 21c0fe00-0000-4000-8000-0000000007d1 sa_lifeline L1 Console +bound_2002 21c0fe00-0000-4000-8000-0000000007d2 sa_lifeline L2 界界界界界界界界界界界界 戻り値 👩‍🔧 +bound_2005 21c0fe00-0000-4000-8000-0000000007d5 sa_occurrence Create inspector +bound_2030 21c0fe00-0000-4000-8000-0000000007ee sa_occurrence C2 380 kPa +bound_2040 21c0fe00-0000-4000-8000-0000000007f8 sa_occurrence C1 420 kPa +bound_2050 21c0fe00-0000-4000-8000-000000000802 sa_occurrence R1 418 kPa +bound_2060 21c0fe00-0000-4000-8000-00000000080c sa_occurrence R2 378 kPa +bound_2070 21c0fe00-0000-4000-8000-000000000816 sa_occurrence Delete inspector +bound_3000 21c0fe00-0000-4000-8000-000000000bb8 oa_scenario OA 3 Self lifecycle and call +bound_3001 21c0fe00-0000-4000-8000-000000000bb9 oa_lifeline L1 Creator +bound_3002 21c0fe00-0000-4000-8000-000000000bba oa_lifeline L2 自己検査 é é é 👩‍🔧 確認担当 +bound_3010 21c0fe00-0000-4000-8000-000000000bc2 oa_occurrence Prepare creation +bound_3020 21c0fe00-0000-4000-8000-000000000bcc oa_occurrence Self create +bound_3040 21c0fe00-0000-4000-8000-000000000be0 oa_occurrence Self call +bound_3050 21c0fe00-0000-4000-8000-000000000bea oa_occurrence Self reply +bound_3070 21c0fe00-0000-4000-8000-000000000bfe oa_occurrence Self delete +bound_4000 21c0fe00-0000-4000-8000-000000000fa0 oa_scenario OA 4 Death in one ALT operand +bound_4001 21c0fe00-0000-4000-8000-000000000fa1 oa_lifeline L1 Requester +bound_4002 21c0fe00-0000-4000-8000-000000000fa2 oa_lifeline L2 Conditional inspector +bound_4040 21c0fe00-0000-4000-8000-000000000fc8 oa_occurrence Unanswered call +bound_4070 21c0fe00-0000-4000-8000-000000000fe6 oa_occurrence Delete without reply +bound_4080 21c0fe00-0000-4000-8000-000000000ff0 oa_occurrence Delete or keep alive +bound_4081 21c0fe00-0000-4000-8000-000000000ff1 oa_occurrence Delete path +bound_4082 21c0fe00-0000-4000-8000-000000000ff2 oa_occurrence Open path +bound_5000 21c0fe00-0000-4000-8000-000000001388 sa_scenario SA 5 Death and incomplete reply +bound_5001 21c0fe00-0000-4000-8000-000000001389 sa_lifeline L1 Requester +bound_5002 21c0fe00-0000-4000-8000-00000000138a sa_lifeline L2 Terminated service +bound_5040 21c0fe00-0000-4000-8000-0000000013b0 sa_occurrence Unanswered call +bound_5050 21c0fe00-0000-4000-8000-0000000013ba sa_occurrence Incomplete reply — no sender +bound_5070 21c0fe00-0000-4000-8000-0000000013ce sa_occurrence Delete service +bound_6000 21c0fe00-0000-4000-8000-000000001770 sa_scenario SA 6 Unresolved lifetime, visible cue +bound_6001 21c0fe00-0000-4000-8000-000000001771 sa_lifeline L1 Requester +bound_6002 21c0fe00-0000-4000-8000-000000001772 sa_lifeline L2 Unresolved service +bound_6005 21c0fe00-0000-4000-8000-000000001775 sa_occurrence Create service +bound_6040 21c0fe00-0000-4000-8000-000000001798 sa_occurrence Call with unresolved lifetime +bound_6080 21c0fe00-0000-4000-8000-0000000017c0 sa_occurrence Birth is path dependent +bound_6081 21c0fe00-0000-4000-8000-0000000017c1 sa_occurrence Create path +bound_6082 21c0fe00-0000-4000-8000-0000000017c2 sa_occurrence Call path diff --git a/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/navigation-palette-20260913-01/lifecycle-baseline/lifecycle-native.arcadia b/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/navigation-palette-20260913-01/lifecycle-baseline/lifecycle-native.arcadia new file mode 100644 index 00000000..bee722f7 --- /dev/null +++ b/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/navigation-palette-20260913-01/lifecycle-baseline/lifecycle-native.arcadia @@ -0,0 +1,809 @@ +// Source-only fixture: validation and native acceptance have NOT been executed. +// Preserve this comment and Unicode Ω, 戻り値, é and 👩‍🔧 during save/reopen. +arcadia 7; +project lifecycle_native "Nested lifecycle union acceptance" id "21c0fe00-0000-4000-8000-000000000001" { + description "Six compact scenarios for typed activations, birth/death, long labels and admitted incomplete paths. Fixture preparation is source review only; run preflight before native acceptance."; + + oa_activity bound_100 "Review pressure demand" id "21c0fe00-0000-4000-8000-000000000064" { + description ""; + parent none; + } + + oa_activity bound_101 "WWWWWWWWWWWWWWWWWW pressure inspection activity" id "21c0fe00-0000-4000-8000-000000000065" { + description ""; + parent none; + } + + oa_exchange_item bound_110 "Check pressure" id "21c0fe00-0000-4000-8000-00000000006e" { + description ""; + kind Information; + mechanism Operation; + parent none; + supertype none; + } + + oa_data_field bound_111 "requested_pressure" id "21c0fe00-0000-4000-8000-00000000006f" { + default none; + description ""; + direction In; + maximum 1; + minimum 1; + parent @bound_110; + storage Value; + type_ref Real; + unit "kPa"; + } + + oa_data_field bound_112 "measured_pressure" id "21c0fe00-0000-4000-8000-000000000070" { + default none; + description ""; + direction Return; + maximum 1; + minimum 1; + parent @bound_110; + storage Value; + type_ref Real; + unit "kPa"; + } + + interaction bound_120 "Pressure check" id "21c0fe00-0000-4000-8000-000000000078" { + description ""; + items [@bound_110]; + source @bound_100; + target @bound_101; + } + + sa_actor bound_200 "Operator console" id "21c0fe00-0000-4000-8000-0000000000c8" { + description ""; + parent none; + } + + sa_system bound_201 "界界界界界界界界界界界界 圧力確認サービス 👩‍🔧" id "21c0fe00-0000-4000-8000-0000000000c9" { + description ""; + parent none; + } + + sa_port bound_202 "Client socket" id "21c0fe00-0000-4000-8000-0000000000ca" { + contract { + Component { + kind Standard; + orientation Unset; + }; + }; + description ""; + legacy none; + parent @bound_200; + } + + sa_port bound_203 "Service socket" id "21c0fe00-0000-4000-8000-0000000000cb" { + contract { + Component { + kind Standard; + orientation Unset; + }; + }; + description ""; + legacy none; + parent @bound_201; + } + + sa_exchange_item bound_210 "Check pressure" id "21c0fe00-0000-4000-8000-0000000000d2" { + description ""; + kind Information; + mechanism Operation; + parent none; + supertype none; + } + + sa_data_field bound_211 "requested_pressure" id "21c0fe00-0000-4000-8000-0000000000d3" { + default none; + description ""; + direction In; + maximum 1; + minimum 1; + parent @bound_210; + storage Value; + type_ref Real; + unit "kPa"; + } + + sa_data_field bound_212 "measured_pressure" id "21c0fe00-0000-4000-8000-0000000000d4" { + default none; + description ""; + direction Return; + maximum 1; + minimum 1; + parent @bound_210; + storage Value; + type_ref Real; + unit "kPa"; + } + + sa_interface bound_213 "Pressure check API" id "21c0fe00-0000-4000-8000-0000000000d5" { + description ""; + parent none; + supertype none; + } + + interface_item_allocation bound_220 "Synchronous pressure check" id "21c0fe00-0000-4000-8000-0000000000dc" { + acquisition Unspecified; + description ""; + order 0; + source @bound_213; + target @bound_210; + transmission Synchronous; + } + + interface_requirement bound_221 "Console requires check" id "21c0fe00-0000-4000-8000-0000000000dd" { + description ""; + source @bound_202; + target @bound_213; + } + + interface_provision bound_222 "Service provides check" id "21c0fe00-0000-4000-8000-0000000000de" { + description ""; + source @bound_203; + target @bound_213; + } + + boundary_exchange bound_223 "Pressure channel" id "21c0fe00-0000-4000-8000-0000000000df" { + description ""; + items [@bound_210]; + oriented false; + source @bound_202; + target @bound_203; + } + + oa_scenario bound_1000 "OA 1 Nested lifetime — Latin" id "21c0fe00-0000-4000-8000-0000000003e8" { + context none; + description ""; + parent none; + postcondition "Each reply retains its own requested and measured values"; + precondition "Two pressure checks are reviewed before the outer reply"; + steps [@bound_1005, @bound_1040, @bound_1030, @bound_1060, @bound_1050, @bound_1070]; + viewpoint OperationalActivity; + } + + oa_lifeline bound_1001 "L1 Console" id "21c0fe00-0000-4000-8000-0000000003e9" { + description ""; + parent @bound_1000; + represented @bound_100; + } + + oa_lifeline bound_1002 "L2 WWWWWWWWWWWWWWWWWW Inspector" id "21c0fe00-0000-4000-8000-0000000003ea" { + description ""; + parent @bound_1000; + represented @bound_101; + } + + oa_occurrence bound_1005 "Create inspector" id "21c0fe00-0000-4000-8000-0000000003ed" { + body { + Exchange { + exchange none; + message_kind Create; + receiver @bound_1002; + reply_to none; + sender @bound_1001; + values []; + }; + }; + description ""; + parent @bound_1000; + postcondition ""; + precondition ""; + } + + oa_occurrence bound_1030 "C2 380 kPa" id "21c0fe00-0000-4000-8000-000000000406" { + body { + Exchange { + exchange @bound_120; + message_kind Call; + receiver @bound_1002; + reply_to none; + sender @bound_1001; + values [{ + expression "380.0"; + field @bound_111; + path []; + }]; + }; + }; + description ""; + parent @bound_1000; + postcondition ""; + precondition ""; + } + + oa_occurrence bound_1040 "C1 420 kPa" id "21c0fe00-0000-4000-8000-000000000410" { + body { + Exchange { + exchange @bound_120; + message_kind Call; + receiver @bound_1002; + reply_to none; + sender @bound_1001; + values [{ + expression "420.0"; + field @bound_111; + path []; + }]; + }; + }; + description ""; + parent @bound_1000; + postcondition ""; + precondition ""; + } + + oa_occurrence bound_1050 "R1 418 kPa" id "21c0fe00-0000-4000-8000-00000000041a" { + body { + Exchange { + exchange @bound_120; + message_kind Reply; + receiver @bound_1001; + reply_to @bound_1040; + sender @bound_1002; + values [{ + expression "418.0"; + field @bound_112; + path []; + }]; + }; + }; + description ""; + parent @bound_1000; + postcondition ""; + precondition ""; + } + + oa_occurrence bound_1060 "R2 378 kPa" id "21c0fe00-0000-4000-8000-000000000424" { + body { + Exchange { + exchange @bound_120; + message_kind Reply; + receiver @bound_1001; + reply_to @bound_1030; + sender @bound_1002; + values [{ + expression "378.0"; + field @bound_112; + path []; + }]; + }; + }; + description ""; + parent @bound_1000; + postcondition ""; + precondition ""; + } + + oa_occurrence bound_1070 "Delete inspector" id "21c0fe00-0000-4000-8000-00000000042e" { + body { + Exchange { + exchange none; + message_kind Delete; + receiver @bound_1002; + reply_to none; + sender @bound_1001; + values []; + }; + }; + description ""; + parent @bound_1000; + postcondition ""; + precondition ""; + } + + sa_scenario bound_2000 "SA 2 Nested lifetime — Unicode" id "21c0fe00-0000-4000-8000-0000000007d0" { + context none; + description ""; + parent none; + postcondition "Each reply retains its own requested and measured values"; + precondition "Two pressure checks are reviewed before the outer reply"; + steps [@bound_2005, @bound_2040, @bound_2030, @bound_2060, @bound_2050, @bound_2070]; + viewpoint BoundaryInterface; + } + + sa_lifeline bound_2001 "L1 Console" id "21c0fe00-0000-4000-8000-0000000007d1" { + description ""; + parent @bound_2000; + represented @bound_200; + } + + sa_lifeline bound_2002 "L2 界界界界界界界界界界界界 戻り値 👩‍🔧" id "21c0fe00-0000-4000-8000-0000000007d2" { + description ""; + parent @bound_2000; + represented @bound_201; + } + + sa_occurrence bound_2005 "Create inspector" id "21c0fe00-0000-4000-8000-0000000007d5" { + body { + Exchange { + exchange none; + message_kind Create; + receiver @bound_2002; + reply_to none; + sender @bound_2001; + values []; + }; + }; + description ""; + parent @bound_2000; + postcondition ""; + precondition ""; + } + + sa_occurrence bound_2030 "C2 380 kPa" id "21c0fe00-0000-4000-8000-0000000007ee" { + body { + Exchange { + exchange @bound_223; + message_kind Call; + operation { + allocation @bound_220; + }; + receiver @bound_2002; + reply_to none; + sender @bound_2001; + values [{ + expression "380.0"; + field @bound_211; + path []; + }]; + }; + }; + description ""; + parent @bound_2000; + postcondition ""; + precondition ""; + } + + sa_occurrence bound_2040 "C1 420 kPa" id "21c0fe00-0000-4000-8000-0000000007f8" { + body { + Exchange { + exchange @bound_223; + message_kind Call; + operation { + allocation @bound_220; + }; + receiver @bound_2002; + reply_to none; + sender @bound_2001; + values [{ + expression "420.0"; + field @bound_211; + path []; + }]; + }; + }; + description ""; + parent @bound_2000; + postcondition ""; + precondition ""; + } + + sa_occurrence bound_2050 "R1 418 kPa" id "21c0fe00-0000-4000-8000-000000000802" { + body { + Exchange { + exchange @bound_223; + message_kind Reply; + receiver @bound_2001; + reply_to @bound_2040; + sender @bound_2002; + values [{ + expression "418.0"; + field @bound_212; + path []; + }]; + }; + }; + description ""; + parent @bound_2000; + postcondition ""; + precondition ""; + } + + sa_occurrence bound_2060 "R2 378 kPa" id "21c0fe00-0000-4000-8000-00000000080c" { + body { + Exchange { + exchange @bound_223; + message_kind Reply; + receiver @bound_2001; + reply_to @bound_2030; + sender @bound_2002; + values [{ + expression "378.0"; + field @bound_212; + path []; + }]; + }; + }; + description ""; + parent @bound_2000; + postcondition ""; + precondition ""; + } + + sa_occurrence bound_2070 "Delete inspector" id "21c0fe00-0000-4000-8000-000000000816" { + body { + Exchange { + exchange none; + message_kind Delete; + receiver @bound_2002; + reply_to none; + sender @bound_2001; + values []; + }; + }; + description ""; + parent @bound_2000; + postcondition ""; + precondition ""; + } + + oa_scenario bound_3000 "OA 3 Self lifecycle and call" id "21c0fe00-0000-4000-8000-000000000bb8" { + context none; + description "Native lifecycle union acceptance fixture; completeness warnings are intentional."; + parent none; + postcondition ""; + precondition ""; + steps [@bound_3010, @bound_3020, @bound_3040, @bound_3050, @bound_3070]; + viewpoint OperationalActivity; + } + + oa_lifeline bound_3001 "L1 Creator" id "21c0fe00-0000-4000-8000-000000000bb9" { + description ""; + parent @bound_3000; + represented @bound_100; + } + + oa_lifeline bound_3002 "L2 自己検査 é é é 👩‍🔧 確認担当" id "21c0fe00-0000-4000-8000-000000000bba" { + description ""; + parent @bound_3000; + represented @bound_101; + } + + oa_occurrence bound_3010 "Prepare creation" id "21c0fe00-0000-4000-8000-000000000bc2" { + body { + Action { + action @bound_100; + lifeline @bound_3001; + }; + }; + description ""; + parent @bound_3000; + postcondition ""; + precondition ""; + } + + oa_occurrence bound_3020 "Self create" id "21c0fe00-0000-4000-8000-000000000bcc" { + body { + Exchange { + exchange none; + message_kind Create; + receiver @bound_3002; + reply_to none; + sender @bound_3002; + values []; + }; + }; + description ""; + parent @bound_3000; + postcondition ""; + precondition ""; + } + + oa_occurrence bound_3040 "Self call" id "21c0fe00-0000-4000-8000-000000000be0" { + body { + Exchange { + exchange none; + message_kind Call; + receiver @bound_3002; + reply_to none; + sender @bound_3002; + values []; + }; + }; + description ""; + parent @bound_3000; + postcondition ""; + precondition ""; + } + + oa_occurrence bound_3050 "Self reply" id "21c0fe00-0000-4000-8000-000000000bea" { + body { + Exchange { + exchange none; + message_kind Reply; + receiver @bound_3002; + reply_to @bound_3040; + sender @bound_3002; + values []; + }; + }; + description ""; + parent @bound_3000; + postcondition ""; + precondition ""; + } + + oa_occurrence bound_3070 "Self delete" id "21c0fe00-0000-4000-8000-000000000bfe" { + body { + Exchange { + exchange none; + message_kind Delete; + receiver @bound_3002; + reply_to none; + sender @bound_3002; + values []; + }; + }; + description ""; + parent @bound_3000; + postcondition ""; + precondition ""; + } + + oa_scenario bound_4000 "OA 4 Death in one ALT operand" id "21c0fe00-0000-4000-8000-000000000fa0" { + context none; + description "Native lifecycle union acceptance fixture; completeness warnings are intentional."; + parent none; + postcondition ""; + precondition ""; + steps [@bound_4040, @bound_4080]; + viewpoint OperationalActivity; + } + + oa_lifeline bound_4001 "L1 Requester" id "21c0fe00-0000-4000-8000-000000000fa1" { + description ""; + parent @bound_4000; + represented @bound_100; + } + + oa_lifeline bound_4002 "L2 Conditional inspector" id "21c0fe00-0000-4000-8000-000000000fa2" { + description ""; + parent @bound_4000; + represented @bound_101; + } + + oa_occurrence bound_4040 "Unanswered call" id "21c0fe00-0000-4000-8000-000000000fc8" { + body { + Exchange { + exchange none; + message_kind Call; + receiver @bound_4002; + reply_to none; + sender @bound_4001; + values []; + }; + }; + description ""; + parent @bound_4000; + postcondition ""; + precondition ""; + } + + oa_occurrence bound_4070 "Delete without reply" id "21c0fe00-0000-4000-8000-000000000fe6" { + body { + Exchange { + exchange none; + message_kind Delete; + receiver @bound_4002; + reply_to none; + sender @bound_4001; + values []; + }; + }; + description ""; + parent @bound_4081; + postcondition ""; + precondition ""; + } + + oa_occurrence bound_4080 "Delete or keep alive" id "21c0fe00-0000-4000-8000-000000000ff0" { + body { + Fragment { + operator Alternative; + branches [@bound_4081, @bound_4082]; + }; + }; + description ""; + parent @bound_4000; + postcondition ""; + precondition ""; + } + + oa_occurrence bound_4081 "Delete path" id "21c0fe00-0000-4000-8000-000000000ff1" { + body { + Branch { + guard "shutdown"; + occurrences [@bound_4070]; + }; + }; + description ""; + parent @bound_4080; + postcondition ""; + precondition ""; + } + + oa_occurrence bound_4082 "Open path" id "21c0fe00-0000-4000-8000-000000000ff2" { + body { + Branch { + guard "continue"; + occurrences []; + }; + }; + description ""; + parent @bound_4080; + postcondition ""; + precondition ""; + } + + sa_scenario bound_5000 "SA 5 Death and incomplete reply" id "21c0fe00-0000-4000-8000-000000001388" { + context none; + description "Native lifecycle union acceptance fixture; completeness warnings are intentional."; + parent none; + postcondition ""; + precondition ""; + steps [@bound_5040, @bound_5070, @bound_5050]; + viewpoint BoundaryInterface; + } + + sa_lifeline bound_5001 "L1 Requester" id "21c0fe00-0000-4000-8000-000000001389" { + description ""; + parent @bound_5000; + represented @bound_200; + } + + sa_lifeline bound_5002 "L2 Terminated service" id "21c0fe00-0000-4000-8000-00000000138a" { + description ""; + parent @bound_5000; + represented @bound_201; + } + + sa_occurrence bound_5040 "Unanswered call" id "21c0fe00-0000-4000-8000-0000000013b0" { + body { + Exchange { + exchange none; + message_kind Call; + receiver @bound_5002; + reply_to none; + sender @bound_5001; + values []; + }; + }; + description ""; + parent @bound_5000; + postcondition ""; + precondition ""; + } + + sa_occurrence bound_5050 "Incomplete reply — no sender" id "21c0fe00-0000-4000-8000-0000000013ba" { + body { + Exchange { + exchange none; + message_kind Reply; + receiver @bound_5001; + reply_to @bound_5040; + sender none; + values []; + }; + }; + description ""; + parent @bound_5000; + postcondition ""; + precondition ""; + } + + sa_occurrence bound_5070 "Delete service" id "21c0fe00-0000-4000-8000-0000000013ce" { + body { + Exchange { + exchange none; + message_kind Delete; + receiver @bound_5002; + reply_to none; + sender @bound_5001; + values []; + }; + }; + description ""; + parent @bound_5000; + postcondition ""; + precondition ""; + } + + sa_scenario bound_6000 "SA 6 Unresolved lifetime, visible cue" id "21c0fe00-0000-4000-8000-000000001770" { + context none; + description "Native lifecycle union acceptance fixture; completeness warnings are intentional."; + parent none; + postcondition ""; + precondition ""; + steps [@bound_6080]; + viewpoint BoundaryInterface; + } + + sa_lifeline bound_6001 "L1 Requester" id "21c0fe00-0000-4000-8000-000000001771" { + description ""; + parent @bound_6000; + represented @bound_200; + } + + sa_lifeline bound_6002 "L2 Unresolved service" id "21c0fe00-0000-4000-8000-000000001772" { + description ""; + parent @bound_6000; + represented @bound_201; + } + + sa_occurrence bound_6005 "Create service" id "21c0fe00-0000-4000-8000-000000001775" { + body { + Exchange { + exchange none; + message_kind Create; + receiver @bound_6002; + reply_to none; + sender @bound_6001; + values []; + }; + }; + description ""; + parent @bound_6081; + postcondition ""; + precondition ""; + } + + sa_occurrence bound_6040 "Call with unresolved lifetime" id "21c0fe00-0000-4000-8000-000000001798" { + body { + Exchange { + exchange none; + message_kind Call; + receiver @bound_6002; + reply_to none; + sender @bound_6001; + values []; + }; + }; + description ""; + parent @bound_6082; + postcondition ""; + precondition ""; + } + + sa_occurrence bound_6080 "Birth is path dependent" id "21c0fe00-0000-4000-8000-0000000017c0" { + body { + Fragment { + operator Alternative; + branches [@bound_6081, @bound_6082]; + }; + }; + description ""; + parent @bound_6000; + postcondition ""; + precondition ""; + } + + sa_occurrence bound_6081 "Create path" id "21c0fe00-0000-4000-8000-0000000017c1" { + body { + Branch { + guard "start new"; + occurrences [@bound_6005]; + }; + }; + description ""; + parent @bound_6080; + postcondition ""; + precondition ""; + } + + sa_occurrence bound_6082 "Call path" id "21c0fe00-0000-4000-8000-0000000017c2" { + body { + Branch { + guard "use existing"; + occurrences [@bound_6040]; + }; + }; + description ""; + parent @bound_6080; + postcondition ""; + precondition ""; + } +} + diff --git a/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/navigation-palette-20260913-01/lifecycle-baseline/preflight.rs b/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/navigation-palette-20260913-01/lifecycle-baseline/preflight.rs new file mode 100644 index 00000000..a9f65d37 --- /dev/null +++ b/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/navigation-palette-20260913-01/lifecycle-baseline/preflight.rs @@ -0,0 +1,116 @@ +//! Source-only preflight; parent compiles/runs this against its exact oa-core. +//! Usage: preflight.exe PATH_TO_lifecycle-native.arcadia +use oa_core::{operations, source_project, validation, *}; +use std::collections::BTreeMap; + +fn id(n: u128) -> Id { + Id::from_u128(0x21c0fe00000040008000000000000000 + n) +} +fn main() { + let args: Vec<_> = std::env::args().collect(); + assert_eq!(args.len(), 2, "Pass the prepared source file"); + let source = std::fs::read_to_string(&args[1]).unwrap(); + let p = language::parse(&source).expect("Prepared source must parse through actual core"); + let issues = validation::validate(&p); + let errors: Vec<_> = issues + .iter() + .filter(|issue| issue.severity == validation::Severity::Error) + .collect(); + assert!(errors.is_empty(), "Fixture admission failed: {errors:#?}"); + validate_candidate(&p).expect("Ordinary command admission must accept the whole Project"); + let bundle = source_project::SourceBundle { + entry: "lifecycle-native.arcadia".into(), + files: BTreeMap::from([("lifecycle-native.arcadia".into(), source.clone())]), + }; + let compiled = source_project::compile_bundle(&bundle, Default::default()) + .expect("Use the actual source-project admission path"); + assert_eq!( + compiled.bundle, bundle, + "Keep comments, Unicode and all explicit IDs byte-for-byte" + ); + assert_eq!(compiled.decoded.project, p); + let canonical = language::format(&p); + let reparsed = language::parse(&canonical).unwrap(); + assert_eq!( + reparsed, p, + "Compare the entire Project, not selected elements" + ); + assert_eq!(language::format(&reparsed), canonical); + assert_eq!(p.elements.len(), 61); + assert_eq!(p.relations.len(), 5); + for (owner, steps) in [ + (1000, vec![1005, 1040, 1030, 1060, 1050, 1070]), + (2000, vec![2005, 2040, 2030, 2060, 2050, 2070]), + (3000, vec![3010, 3020, 3040, 3050, 3070]), + (4000, vec![4040, 4080]), + (5000, vec![5040, 5070, 5050]), + (6000, vec![6080]), + ] { + assert_eq!( + p.elements[&id(owner)].steps().unwrap(), + &steps.into_iter().map(id).collect::>() + ); + } + for base in [1000, 2000] { + for (offset, call, expression) in [ + (40, 40, "420.0"), + (30, 30, "380.0"), + (60, 30, "378.0"), + (50, 40, "418.0"), + ] { + let occurrence = id(base + offset); + let Some(SharedBody::Occurrence { + body: OccurrenceBody::Exchange { values, .. }, + .. + }) = p.elements[&occurrence].shared() + else { + panic!("Expected an exchange occurrence") + }; + assert_eq!(values.len(), 1); + assert_eq!(values[0].expression, expression); + if base == 2000 { + let operations::OperationResolution::Selected(proof) = + operations::resolve(&p, occurrence).unwrap() + else { + panic!("SA pressure operation must remain actually bound") + }; + assert_eq!(proof.invocation, id(base + call)); + assert_eq!(proof.allocation, id(220)); + assert_eq!(proof.caller_port, id(202)); + assert_eq!(proof.provider_port, id(203)); + } else { + assert_eq!( + operations::resolve(&p, occurrence).unwrap(), + operations::OperationResolution::Ordinary + ); + } + } + } + let Some(SharedBody::Occurrence { + body: + OccurrenceBody::Exchange { + sender, + receiver, + reply_to, + .. + }, + .. + }) = p.elements[&id(5050)].shared() + else { + panic!("Expected incomplete reply") + }; + assert_eq!( + (*sender, *receiver, *reply_to), + (None, Some(id(5001)), Some(id(5040))) + ); + for issue in &issues { + println!( + "{:?} {} {:?}: {}", + issue.severity, issue.code, issue.element, issue.message + ); + } + println!( + "PASS: six scenarios,61 elements,5 relations,zero Errors,{} warnings; exact source bundle and whole-Project roundtrip; bound OA values and SA operation proofs preserved", + issues.len() + ); +} diff --git a/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/navigation-palette-20260913-01/lifecycle-work/README.md b/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/navigation-palette-20260913-01/lifecycle-work/README.md new file mode 100644 index 00000000..8afc2a8e --- /dev/null +++ b/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/navigation-palette-20260913-01/lifecycle-work/README.md @@ -0,0 +1,62 @@ +# Native lifecycle union fixtures — strong core preflight passed; GUI pending + +## Strong actual-core preflight — 2026-09-13 00:14 UTC + +The unchanged prepared `preflight.rs` compiled with Rust edition 2024, `-D warnings` and the documented LLVM-MinGW linker, then passed on the unchanged fixture. Build and run both exited 0. See [build/provenance receipt](strong-preflight-d61-r1/build.json), [run receipt](strong-preflight-d61-r1/run.json), [full assertion result and diagnostics](strong-preflight-d61-r1/run.stdout.log), and [exact verified core/config/lock inputs](strong-preflight-d61-r1/verified-core-config-inputs.json). Compiler and runtime stderr were empty. The executable SHA-256 is `d5d1d6c547c0e0a8a4fe1e64b2fd1023017596eefe6ca499c7159051f95395b7`. + +The existing `liboa_core-145180297aa692e4.rlib` SHA-256 `d395dbe1f761d41bce3cb850f44cdc0343b0db172bd03abf89e455c44f4b7e86` matches its identified prior425 build receipt. All 110 scoped core/configuration/lock inputs match both the prior425 and closed d61 full gate manifests, and the current committed `aadc6396d39ff336d05381d58d545093d3f37a73` core/configuration has no tracked or untracked changes. The closed d61 gate source is `d61f1f38779ab70a77efcde523ae31c432aefcfd`. No core rebuild or newest-artifact substitution occurred. The exact driver, probe, fixture snapshot, earlier build receipt, commands and tool hashes are preserved in the new result directory. + +Executed assertions establish: six scenarios, 61 elements, five relations, zero Errors and 18 completeness warnings; ordinary candidate admission; exact original SourceBundle preservation including comments/Unicode/IDs; complete Project equality through canonical format/parse and formatting stability; all six root step orders; all eight carried pressure values; four SA invocation/allocation/caller/provider proofs; and the intentional incomplete Reply sender/receiver/correlation tuple. Native geometry, pixels, selection, save/reopen interaction, focus and monitor appearance remain pending. The compiler lease was explicitly closed after this run; this helper does not establish desktop-renderer or release acceptance. + +## Preliminary admission receipt — 2026-09-13 00:04 UTC + +The existing identified core oracle passed `same lifecycle-native.arcadia lifecycle-native.arcadia`, exit 0. See [exact command, identities and exit](preliminary-admission-42511f0-r2/run.json), [stdout](preliminary-admission-42511f0-r2/stdout.log), and [all diagnostics](preliminary-admission-42511f0-r2/stderr.log). Each of its two independent loads reported 18 warnings: 15 `missing_exchange`, one `missing_lifeline`, and two `unallocated_leaf`; no Errors. The fixture SHA-256 remained `998a2fd3e2474e72fc013f4da422e49bad61e118de62eccfbd71bf06b863ce7f`. + +The executable SHA-256 `9796aa73544c6414003e6230a668a6cf1435978a310187ef2560af67e35f3466` and compiled oracle source SHA-256 `fbc001a3c14d075fa9d5fce90188cc06055c12b02d4c5929818ac4325fb82c5e` were verified against its original build receipt before execution. Core identity is `42511f0f8ae46f29e11ae18c1030face654c2994`. [Preserved inputs and original build receipt](preliminary-admission-42511f0-r1/run.json) accompany byte-for-byte fixture and oracle source snapshots in that directory. The first launch exited `-1073741515` (`0xC0000135`) with empty output before admission; the successful second launch prepended the repository's documented LLVM-MinGW runtime directory to this process's PATH. Runtime DLL hashes and the exact PATH prefix are in r2. No executable was replaced or rebuilt. + +Source review confirms `same` calls full source-project discovery/load, rejects discovery Errors and detached buffers, calls `compile_bundle` without allowing migration/normalization, and calls `validate_candidate` on the entire decoded Project. It then compares the complete Project and exact SourceBundle. The self-comparison establishes parse/source/model admission with that identified core; its identity comparison is tautological and **does not establish canonical roundtrip, execute `preflight.rs` assertions, validate the updated desktop renderer, or establish GUI acceptance**. At that preliminary checkpoint, the stronger checks were pending; the subsequent stronger core run is recorded above. The source-preparation notes below describe the earlier preparation stage. + +The unchanged `lifecycle-native.arcadia` is now ready for the parent's native acceptance workflow after the successful core preflight. This is one project containing six small scenarios, 61 elements and five relations. `identities.tsv` gives every scenario, lifeline and occurrence alias/UUID. IDs use the new deterministic namespace `21c0fe00-0000-4000-8000-...`; the last 12 hex digits encode the alias's decimal suffix. Source comments include Ω, 戻り値, a combining-accent `é`, and `👩‍🔧` for exact save/reopen retention. + +Target renderer source: reviewed union `f6595ebf66e88ec42c37b5c1a3c014f5e52cb32d`, before any later root corrections. The fixture was newly authored source; validation of the earlier bound-call artifact was not reused as proof for this edited project. No compiler, fixture execution, native interaction, Gitea mutation or root tracked edit was performed during preparation. Standalone rustfmt only parsed/formatted `preflight.rs`. + +## Contents and expected geometry + +The coordinates below are **source-derived world-coordinate expectations**, not measured screen pixels. At the current Scene layout, L1 is x=160 and L2 is x=400. Pan, Fit and zoom transform these coordinates. Marker capsules are 140×28, centered on L2. Activation bars use the reviewed 12-unit width/6-unit nesting offset; these are current implementation checks, not new permanent specification dimensions. + +| Scenario / owner alias | Ordered events | Expected result | +| --- | --- | --- | +| **OA 1 Nested lifetime — Latin** / `bound_1000` | Create1005, C1=1040, C2=1030, R2=1060, R1=1050, Delete1070 | Rows148,240,332,424,516,608. L2 alive148–608. Outer C1 rectangle x394,y240,w12,h276; inner C2 x400,y332,w12,h92. Calls end and replies start on their corresponding left activation edges. Create ends x330,y148 at capsule edge; Delete ends x400,y608 at cross. No unanswered cue. | +| **SA 2 Nested lifetime — Unicode** / `bound_2000` | Create2005, C1=2040, C2=2030, R2=2060, R1=2050, Delete2070 | Same rows and activation geometry as OA. Four Call/Reply messages retain the exact synchronous interface-operation allocation `bound_220`, caller port202, provider port203 and carried values. | +| **OA 3 Self lifecycle and call** / `bound_3000` | Action3010, self-Create3020, self-Call3040, self-Reply3050, self-Delete3070 | Action row148, box bottom193. Self-Create marker row259, send235, label207; it clears the action. Self-Call send351, receive375; bar begins375. Self-Reply send443, receive467; bar ends443. Self-Delete send527, marker receive551. Execution x394,y375,w12,h68. Self-Call points `(400,351),(466,351),(466,375),(406,375)`; self-Reply `(406,443),(466,443),(466,467),(400,467)`. Create elbow is x512 and ends on capsule right edge470; Delete elbow512 returns to lane400. | +| **OA 4 Death in one ALT operand** / `bound_4000` | Call4040; ALT4080: left4081 contains Delete4070, right4082 is empty | Preserve parent pre-frame activation, a left piece ending at Delete with Terminated metadata, and a separate 26-unit open right piece. No definite post-frame activation. The death path, empty open sibling and uncertain parent retain distinct cues. Source-derived rows: Call148, frame240, Delete385; left scope starts343, right525; right open piece525–551. | +| **SA 5 Death and incomplete reply** / `bound_5000` | Call5040, Delete5070, incomplete Reply5050 | Call row148 to death240. One terminated execution and unanswered cue. Reply row332 is a repair card: sender is intentionally absent, receiver5001 and reply_to5040 remain. It must not become a detached Reply arrow or fabricate an answered execution. | +| **SA 6 Unresolved lifetime, visible cue** / `bound_6000` | ALT6080: left6081 Create6005, right6082 Call6040 | Exclusive operands share conservative entry state. Create marker is visible in left; right lifetime is unresolved. The right Call remains visible and lane-anchored, with an unanswered cue even though there is no activation rectangle. Source-derived Create row293, Call475; cue around y494. | + +The first two cases intentionally retain C2's numerically lower UUID despite C1 appearing first in semantic `steps`, exercising order independence. C1 input is420.0 kPa, R1 return418.0; C2 input380.0, R2 return378.0. OA calls use the actual Interaction/Operation-item contract; SA calls use the concrete BoundaryExchange, required/provided interfaces and synchronous operation allocation copied from the earlier bound fixture. Lifecycle Create/Delete messages and the self/incomplete cases intentionally have no exchange/operation binding; they are draft-capable, explicitly identified lifeline events with expected completeness warnings. + +Long-name witnesses are in both the actual lifeline/capsule name and represented activity/system detail. OA uses wide Latin `W` glyphs; SA uses long CJK text and an emoji ZWJ sequence; the self case includes combining accents. Full names should remain in Properties/source while painted text stays inside its padded header/capsule clip. + +## Admission and round-trip expectations + +At source preparation, the fixture was checked against the actual constructors/tests and core rules. The stronger executed checks are recorded above: + +- Bound contracts and original Call/Reply values derive from `.local/native-qa/bound-nested-fixture-r1-20260912/bound-nested-calls.arcadia`; that earlier artifact's validation does **not** validate this edited project. +- Model shape and admitted lifetime cases follow `scenario_lifecycle/render_tests.rs` and `union_tests.rs` at f659. The source notation uses the same Exchange, Action, Fragment and Branch variants as their actual core constructors. +- Core `validation.rs:1766–1791` rejects explicit receiver use before Create or after Delete. These fixtures contain no such same-path use. The self scenario's preceding Action uses L1, not the created L2. In SA5, the later Reply's dead sender endpoint is absent. In SA6, Create and Call occupy distinct exclusive ALT operands; `possibly_before` treats them as mutually exclusive. +- Each reply names its guaranteed earlier call and reverses the known endpoints; missing endpoints remain missing. No recreated-after-death or fully bound late-reply invalid model is included. +- Expect **zero Errors**, with completeness warnings from deliberately unbound messages, unfinished calls and draft endpoint/analysis fields. Do not hide warnings or report this as a complete system design. +- Require actual source-project admission, exact original bundle equality (comments/Unicode/explicit IDs), complete Project equality through canonical format/parse, and canonical formatting stability. Compare all fields, not just scenario steps. + +`preflight.rs` is the standalone actual-core check now compiled and executed successfully as recorded above. It reads only the source, performs those checks, verifies all six root step orders and the eight preserved pressure values, and resolves all four SA messages to the exact Call/allocation/ports. It prints diagnostics and a PASS line only after every assertion succeeds; it writes no files. A future rerun must preserve a new receipt label and retain exact dependency provenance. + +## Native acceptance checklist + +Use the named scenarios in Behavior. Check normal-scale and Fit appearance; compare selected and unselected bars and each exposed shoulder, including the three label-backplate bands above nested C2/R2/R1. Exact message/arrow points must still select their own occurrence. Birth capsules and death crosses must select their Create/Delete IDs at pan/zoom. Confirm the long header/capsule labels are clipped without text leaking outside or disappearing after pan, and self-event captions clear the preceding Action. In Properties, inspect pressure values/correlations and the intentionally missing SA5 sender. + +For ALT cases, do not interpret vertically stacked operands as consecutive execution. Check each operand and the uncertain continuation independently. Save/reopen a writable acceptance copy and compare the complete Project and original comments/Unicode. This fixture does not establish free positioning, min-scale shoulder usability, global palette improvement, platform completion, or release acceptance; those retain their separate gates. + +Source identity before root execution: + +- `lifecycle-native.arcadia`: SHA-256 `998A2FD3E2474E72FC013F4DA422E49BAD61E118DE62ECCFBD71BF06B863CE7F`. +- `preflight.rs`: SHA-256 `BF2EB9B908AE36198D15D47AE79D56E4BB181F506598CC4E76A76175041F633E`. diff --git a/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/navigation-palette-20260913-01/lifecycle-work/identities.tsv b/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/navigation-palette-20260913-01/lifecycle-work/identities.tsv new file mode 100644 index 00000000..273eb37a --- /dev/null +++ b/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/navigation-palette-20260913-01/lifecycle-work/identities.tsv @@ -0,0 +1,49 @@ +alias id kind name +bound_1000 21c0fe00-0000-4000-8000-0000000003e8 oa_scenario OA 1 Nested lifetime — Latin +bound_1001 21c0fe00-0000-4000-8000-0000000003e9 oa_lifeline L1 Console +bound_1002 21c0fe00-0000-4000-8000-0000000003ea oa_lifeline L2 WWWWWWWWWWWWWWWWWW Inspector +bound_1005 21c0fe00-0000-4000-8000-0000000003ed oa_occurrence Create inspector +bound_1030 21c0fe00-0000-4000-8000-000000000406 oa_occurrence C2 380 kPa +bound_1040 21c0fe00-0000-4000-8000-000000000410 oa_occurrence C1 420 kPa +bound_1050 21c0fe00-0000-4000-8000-00000000041a oa_occurrence R1 418 kPa +bound_1060 21c0fe00-0000-4000-8000-000000000424 oa_occurrence R2 378 kPa +bound_1070 21c0fe00-0000-4000-8000-00000000042e oa_occurrence Delete inspector +bound_2000 21c0fe00-0000-4000-8000-0000000007d0 sa_scenario SA 2 Nested lifetime — Unicode +bound_2001 21c0fe00-0000-4000-8000-0000000007d1 sa_lifeline L1 Console +bound_2002 21c0fe00-0000-4000-8000-0000000007d2 sa_lifeline L2 界界界界界界界界界界界界 戻り値 👩‍🔧 +bound_2005 21c0fe00-0000-4000-8000-0000000007d5 sa_occurrence Create inspector +bound_2030 21c0fe00-0000-4000-8000-0000000007ee sa_occurrence C2 380 kPa +bound_2040 21c0fe00-0000-4000-8000-0000000007f8 sa_occurrence C1 420 kPa +bound_2050 21c0fe00-0000-4000-8000-000000000802 sa_occurrence R1 418 kPa +bound_2060 21c0fe00-0000-4000-8000-00000000080c sa_occurrence R2 378 kPa +bound_2070 21c0fe00-0000-4000-8000-000000000816 sa_occurrence Delete inspector +bound_3000 21c0fe00-0000-4000-8000-000000000bb8 oa_scenario OA 3 Self lifecycle and call +bound_3001 21c0fe00-0000-4000-8000-000000000bb9 oa_lifeline L1 Creator +bound_3002 21c0fe00-0000-4000-8000-000000000bba oa_lifeline L2 自己検査 é é é 👩‍🔧 確認担当 +bound_3010 21c0fe00-0000-4000-8000-000000000bc2 oa_occurrence Prepare creation +bound_3020 21c0fe00-0000-4000-8000-000000000bcc oa_occurrence Self create +bound_3040 21c0fe00-0000-4000-8000-000000000be0 oa_occurrence Self call +bound_3050 21c0fe00-0000-4000-8000-000000000bea oa_occurrence Self reply +bound_3070 21c0fe00-0000-4000-8000-000000000bfe oa_occurrence Self delete +bound_4000 21c0fe00-0000-4000-8000-000000000fa0 oa_scenario OA 4 Death in one ALT operand +bound_4001 21c0fe00-0000-4000-8000-000000000fa1 oa_lifeline L1 Requester +bound_4002 21c0fe00-0000-4000-8000-000000000fa2 oa_lifeline L2 Conditional inspector +bound_4040 21c0fe00-0000-4000-8000-000000000fc8 oa_occurrence Unanswered call +bound_4070 21c0fe00-0000-4000-8000-000000000fe6 oa_occurrence Delete without reply +bound_4080 21c0fe00-0000-4000-8000-000000000ff0 oa_occurrence Delete or keep alive +bound_4081 21c0fe00-0000-4000-8000-000000000ff1 oa_occurrence Delete path +bound_4082 21c0fe00-0000-4000-8000-000000000ff2 oa_occurrence Open path +bound_5000 21c0fe00-0000-4000-8000-000000001388 sa_scenario SA 5 Death and incomplete reply +bound_5001 21c0fe00-0000-4000-8000-000000001389 sa_lifeline L1 Requester +bound_5002 21c0fe00-0000-4000-8000-00000000138a sa_lifeline L2 Terminated service +bound_5040 21c0fe00-0000-4000-8000-0000000013b0 sa_occurrence Unanswered call +bound_5050 21c0fe00-0000-4000-8000-0000000013ba sa_occurrence Incomplete reply — no sender +bound_5070 21c0fe00-0000-4000-8000-0000000013ce sa_occurrence Delete service +bound_6000 21c0fe00-0000-4000-8000-000000001770 sa_scenario SA 6 Unresolved lifetime, visible cue +bound_6001 21c0fe00-0000-4000-8000-000000001771 sa_lifeline L1 Requester +bound_6002 21c0fe00-0000-4000-8000-000000001772 sa_lifeline L2 Unresolved service +bound_6005 21c0fe00-0000-4000-8000-000000001775 sa_occurrence Create service +bound_6040 21c0fe00-0000-4000-8000-000000001798 sa_occurrence Call with unresolved lifetime +bound_6080 21c0fe00-0000-4000-8000-0000000017c0 sa_occurrence Birth is path dependent +bound_6081 21c0fe00-0000-4000-8000-0000000017c1 sa_occurrence Create path +bound_6082 21c0fe00-0000-4000-8000-0000000017c2 sa_occurrence Call path diff --git a/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/navigation-palette-20260913-01/lifecycle-work/lifecycle-native.arcadia b/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/navigation-palette-20260913-01/lifecycle-work/lifecycle-native.arcadia new file mode 100644 index 00000000..bee722f7 --- /dev/null +++ b/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/navigation-palette-20260913-01/lifecycle-work/lifecycle-native.arcadia @@ -0,0 +1,809 @@ +// Source-only fixture: validation and native acceptance have NOT been executed. +// Preserve this comment and Unicode Ω, 戻り値, é and 👩‍🔧 during save/reopen. +arcadia 7; +project lifecycle_native "Nested lifecycle union acceptance" id "21c0fe00-0000-4000-8000-000000000001" { + description "Six compact scenarios for typed activations, birth/death, long labels and admitted incomplete paths. Fixture preparation is source review only; run preflight before native acceptance."; + + oa_activity bound_100 "Review pressure demand" id "21c0fe00-0000-4000-8000-000000000064" { + description ""; + parent none; + } + + oa_activity bound_101 "WWWWWWWWWWWWWWWWWW pressure inspection activity" id "21c0fe00-0000-4000-8000-000000000065" { + description ""; + parent none; + } + + oa_exchange_item bound_110 "Check pressure" id "21c0fe00-0000-4000-8000-00000000006e" { + description ""; + kind Information; + mechanism Operation; + parent none; + supertype none; + } + + oa_data_field bound_111 "requested_pressure" id "21c0fe00-0000-4000-8000-00000000006f" { + default none; + description ""; + direction In; + maximum 1; + minimum 1; + parent @bound_110; + storage Value; + type_ref Real; + unit "kPa"; + } + + oa_data_field bound_112 "measured_pressure" id "21c0fe00-0000-4000-8000-000000000070" { + default none; + description ""; + direction Return; + maximum 1; + minimum 1; + parent @bound_110; + storage Value; + type_ref Real; + unit "kPa"; + } + + interaction bound_120 "Pressure check" id "21c0fe00-0000-4000-8000-000000000078" { + description ""; + items [@bound_110]; + source @bound_100; + target @bound_101; + } + + sa_actor bound_200 "Operator console" id "21c0fe00-0000-4000-8000-0000000000c8" { + description ""; + parent none; + } + + sa_system bound_201 "界界界界界界界界界界界界 圧力確認サービス 👩‍🔧" id "21c0fe00-0000-4000-8000-0000000000c9" { + description ""; + parent none; + } + + sa_port bound_202 "Client socket" id "21c0fe00-0000-4000-8000-0000000000ca" { + contract { + Component { + kind Standard; + orientation Unset; + }; + }; + description ""; + legacy none; + parent @bound_200; + } + + sa_port bound_203 "Service socket" id "21c0fe00-0000-4000-8000-0000000000cb" { + contract { + Component { + kind Standard; + orientation Unset; + }; + }; + description ""; + legacy none; + parent @bound_201; + } + + sa_exchange_item bound_210 "Check pressure" id "21c0fe00-0000-4000-8000-0000000000d2" { + description ""; + kind Information; + mechanism Operation; + parent none; + supertype none; + } + + sa_data_field bound_211 "requested_pressure" id "21c0fe00-0000-4000-8000-0000000000d3" { + default none; + description ""; + direction In; + maximum 1; + minimum 1; + parent @bound_210; + storage Value; + type_ref Real; + unit "kPa"; + } + + sa_data_field bound_212 "measured_pressure" id "21c0fe00-0000-4000-8000-0000000000d4" { + default none; + description ""; + direction Return; + maximum 1; + minimum 1; + parent @bound_210; + storage Value; + type_ref Real; + unit "kPa"; + } + + sa_interface bound_213 "Pressure check API" id "21c0fe00-0000-4000-8000-0000000000d5" { + description ""; + parent none; + supertype none; + } + + interface_item_allocation bound_220 "Synchronous pressure check" id "21c0fe00-0000-4000-8000-0000000000dc" { + acquisition Unspecified; + description ""; + order 0; + source @bound_213; + target @bound_210; + transmission Synchronous; + } + + interface_requirement bound_221 "Console requires check" id "21c0fe00-0000-4000-8000-0000000000dd" { + description ""; + source @bound_202; + target @bound_213; + } + + interface_provision bound_222 "Service provides check" id "21c0fe00-0000-4000-8000-0000000000de" { + description ""; + source @bound_203; + target @bound_213; + } + + boundary_exchange bound_223 "Pressure channel" id "21c0fe00-0000-4000-8000-0000000000df" { + description ""; + items [@bound_210]; + oriented false; + source @bound_202; + target @bound_203; + } + + oa_scenario bound_1000 "OA 1 Nested lifetime — Latin" id "21c0fe00-0000-4000-8000-0000000003e8" { + context none; + description ""; + parent none; + postcondition "Each reply retains its own requested and measured values"; + precondition "Two pressure checks are reviewed before the outer reply"; + steps [@bound_1005, @bound_1040, @bound_1030, @bound_1060, @bound_1050, @bound_1070]; + viewpoint OperationalActivity; + } + + oa_lifeline bound_1001 "L1 Console" id "21c0fe00-0000-4000-8000-0000000003e9" { + description ""; + parent @bound_1000; + represented @bound_100; + } + + oa_lifeline bound_1002 "L2 WWWWWWWWWWWWWWWWWW Inspector" id "21c0fe00-0000-4000-8000-0000000003ea" { + description ""; + parent @bound_1000; + represented @bound_101; + } + + oa_occurrence bound_1005 "Create inspector" id "21c0fe00-0000-4000-8000-0000000003ed" { + body { + Exchange { + exchange none; + message_kind Create; + receiver @bound_1002; + reply_to none; + sender @bound_1001; + values []; + }; + }; + description ""; + parent @bound_1000; + postcondition ""; + precondition ""; + } + + oa_occurrence bound_1030 "C2 380 kPa" id "21c0fe00-0000-4000-8000-000000000406" { + body { + Exchange { + exchange @bound_120; + message_kind Call; + receiver @bound_1002; + reply_to none; + sender @bound_1001; + values [{ + expression "380.0"; + field @bound_111; + path []; + }]; + }; + }; + description ""; + parent @bound_1000; + postcondition ""; + precondition ""; + } + + oa_occurrence bound_1040 "C1 420 kPa" id "21c0fe00-0000-4000-8000-000000000410" { + body { + Exchange { + exchange @bound_120; + message_kind Call; + receiver @bound_1002; + reply_to none; + sender @bound_1001; + values [{ + expression "420.0"; + field @bound_111; + path []; + }]; + }; + }; + description ""; + parent @bound_1000; + postcondition ""; + precondition ""; + } + + oa_occurrence bound_1050 "R1 418 kPa" id "21c0fe00-0000-4000-8000-00000000041a" { + body { + Exchange { + exchange @bound_120; + message_kind Reply; + receiver @bound_1001; + reply_to @bound_1040; + sender @bound_1002; + values [{ + expression "418.0"; + field @bound_112; + path []; + }]; + }; + }; + description ""; + parent @bound_1000; + postcondition ""; + precondition ""; + } + + oa_occurrence bound_1060 "R2 378 kPa" id "21c0fe00-0000-4000-8000-000000000424" { + body { + Exchange { + exchange @bound_120; + message_kind Reply; + receiver @bound_1001; + reply_to @bound_1030; + sender @bound_1002; + values [{ + expression "378.0"; + field @bound_112; + path []; + }]; + }; + }; + description ""; + parent @bound_1000; + postcondition ""; + precondition ""; + } + + oa_occurrence bound_1070 "Delete inspector" id "21c0fe00-0000-4000-8000-00000000042e" { + body { + Exchange { + exchange none; + message_kind Delete; + receiver @bound_1002; + reply_to none; + sender @bound_1001; + values []; + }; + }; + description ""; + parent @bound_1000; + postcondition ""; + precondition ""; + } + + sa_scenario bound_2000 "SA 2 Nested lifetime — Unicode" id "21c0fe00-0000-4000-8000-0000000007d0" { + context none; + description ""; + parent none; + postcondition "Each reply retains its own requested and measured values"; + precondition "Two pressure checks are reviewed before the outer reply"; + steps [@bound_2005, @bound_2040, @bound_2030, @bound_2060, @bound_2050, @bound_2070]; + viewpoint BoundaryInterface; + } + + sa_lifeline bound_2001 "L1 Console" id "21c0fe00-0000-4000-8000-0000000007d1" { + description ""; + parent @bound_2000; + represented @bound_200; + } + + sa_lifeline bound_2002 "L2 界界界界界界界界界界界界 戻り値 👩‍🔧" id "21c0fe00-0000-4000-8000-0000000007d2" { + description ""; + parent @bound_2000; + represented @bound_201; + } + + sa_occurrence bound_2005 "Create inspector" id "21c0fe00-0000-4000-8000-0000000007d5" { + body { + Exchange { + exchange none; + message_kind Create; + receiver @bound_2002; + reply_to none; + sender @bound_2001; + values []; + }; + }; + description ""; + parent @bound_2000; + postcondition ""; + precondition ""; + } + + sa_occurrence bound_2030 "C2 380 kPa" id "21c0fe00-0000-4000-8000-0000000007ee" { + body { + Exchange { + exchange @bound_223; + message_kind Call; + operation { + allocation @bound_220; + }; + receiver @bound_2002; + reply_to none; + sender @bound_2001; + values [{ + expression "380.0"; + field @bound_211; + path []; + }]; + }; + }; + description ""; + parent @bound_2000; + postcondition ""; + precondition ""; + } + + sa_occurrence bound_2040 "C1 420 kPa" id "21c0fe00-0000-4000-8000-0000000007f8" { + body { + Exchange { + exchange @bound_223; + message_kind Call; + operation { + allocation @bound_220; + }; + receiver @bound_2002; + reply_to none; + sender @bound_2001; + values [{ + expression "420.0"; + field @bound_211; + path []; + }]; + }; + }; + description ""; + parent @bound_2000; + postcondition ""; + precondition ""; + } + + sa_occurrence bound_2050 "R1 418 kPa" id "21c0fe00-0000-4000-8000-000000000802" { + body { + Exchange { + exchange @bound_223; + message_kind Reply; + receiver @bound_2001; + reply_to @bound_2040; + sender @bound_2002; + values [{ + expression "418.0"; + field @bound_212; + path []; + }]; + }; + }; + description ""; + parent @bound_2000; + postcondition ""; + precondition ""; + } + + sa_occurrence bound_2060 "R2 378 kPa" id "21c0fe00-0000-4000-8000-00000000080c" { + body { + Exchange { + exchange @bound_223; + message_kind Reply; + receiver @bound_2001; + reply_to @bound_2030; + sender @bound_2002; + values [{ + expression "378.0"; + field @bound_212; + path []; + }]; + }; + }; + description ""; + parent @bound_2000; + postcondition ""; + precondition ""; + } + + sa_occurrence bound_2070 "Delete inspector" id "21c0fe00-0000-4000-8000-000000000816" { + body { + Exchange { + exchange none; + message_kind Delete; + receiver @bound_2002; + reply_to none; + sender @bound_2001; + values []; + }; + }; + description ""; + parent @bound_2000; + postcondition ""; + precondition ""; + } + + oa_scenario bound_3000 "OA 3 Self lifecycle and call" id "21c0fe00-0000-4000-8000-000000000bb8" { + context none; + description "Native lifecycle union acceptance fixture; completeness warnings are intentional."; + parent none; + postcondition ""; + precondition ""; + steps [@bound_3010, @bound_3020, @bound_3040, @bound_3050, @bound_3070]; + viewpoint OperationalActivity; + } + + oa_lifeline bound_3001 "L1 Creator" id "21c0fe00-0000-4000-8000-000000000bb9" { + description ""; + parent @bound_3000; + represented @bound_100; + } + + oa_lifeline bound_3002 "L2 自己検査 é é é 👩‍🔧 確認担当" id "21c0fe00-0000-4000-8000-000000000bba" { + description ""; + parent @bound_3000; + represented @bound_101; + } + + oa_occurrence bound_3010 "Prepare creation" id "21c0fe00-0000-4000-8000-000000000bc2" { + body { + Action { + action @bound_100; + lifeline @bound_3001; + }; + }; + description ""; + parent @bound_3000; + postcondition ""; + precondition ""; + } + + oa_occurrence bound_3020 "Self create" id "21c0fe00-0000-4000-8000-000000000bcc" { + body { + Exchange { + exchange none; + message_kind Create; + receiver @bound_3002; + reply_to none; + sender @bound_3002; + values []; + }; + }; + description ""; + parent @bound_3000; + postcondition ""; + precondition ""; + } + + oa_occurrence bound_3040 "Self call" id "21c0fe00-0000-4000-8000-000000000be0" { + body { + Exchange { + exchange none; + message_kind Call; + receiver @bound_3002; + reply_to none; + sender @bound_3002; + values []; + }; + }; + description ""; + parent @bound_3000; + postcondition ""; + precondition ""; + } + + oa_occurrence bound_3050 "Self reply" id "21c0fe00-0000-4000-8000-000000000bea" { + body { + Exchange { + exchange none; + message_kind Reply; + receiver @bound_3002; + reply_to @bound_3040; + sender @bound_3002; + values []; + }; + }; + description ""; + parent @bound_3000; + postcondition ""; + precondition ""; + } + + oa_occurrence bound_3070 "Self delete" id "21c0fe00-0000-4000-8000-000000000bfe" { + body { + Exchange { + exchange none; + message_kind Delete; + receiver @bound_3002; + reply_to none; + sender @bound_3002; + values []; + }; + }; + description ""; + parent @bound_3000; + postcondition ""; + precondition ""; + } + + oa_scenario bound_4000 "OA 4 Death in one ALT operand" id "21c0fe00-0000-4000-8000-000000000fa0" { + context none; + description "Native lifecycle union acceptance fixture; completeness warnings are intentional."; + parent none; + postcondition ""; + precondition ""; + steps [@bound_4040, @bound_4080]; + viewpoint OperationalActivity; + } + + oa_lifeline bound_4001 "L1 Requester" id "21c0fe00-0000-4000-8000-000000000fa1" { + description ""; + parent @bound_4000; + represented @bound_100; + } + + oa_lifeline bound_4002 "L2 Conditional inspector" id "21c0fe00-0000-4000-8000-000000000fa2" { + description ""; + parent @bound_4000; + represented @bound_101; + } + + oa_occurrence bound_4040 "Unanswered call" id "21c0fe00-0000-4000-8000-000000000fc8" { + body { + Exchange { + exchange none; + message_kind Call; + receiver @bound_4002; + reply_to none; + sender @bound_4001; + values []; + }; + }; + description ""; + parent @bound_4000; + postcondition ""; + precondition ""; + } + + oa_occurrence bound_4070 "Delete without reply" id "21c0fe00-0000-4000-8000-000000000fe6" { + body { + Exchange { + exchange none; + message_kind Delete; + receiver @bound_4002; + reply_to none; + sender @bound_4001; + values []; + }; + }; + description ""; + parent @bound_4081; + postcondition ""; + precondition ""; + } + + oa_occurrence bound_4080 "Delete or keep alive" id "21c0fe00-0000-4000-8000-000000000ff0" { + body { + Fragment { + operator Alternative; + branches [@bound_4081, @bound_4082]; + }; + }; + description ""; + parent @bound_4000; + postcondition ""; + precondition ""; + } + + oa_occurrence bound_4081 "Delete path" id "21c0fe00-0000-4000-8000-000000000ff1" { + body { + Branch { + guard "shutdown"; + occurrences [@bound_4070]; + }; + }; + description ""; + parent @bound_4080; + postcondition ""; + precondition ""; + } + + oa_occurrence bound_4082 "Open path" id "21c0fe00-0000-4000-8000-000000000ff2" { + body { + Branch { + guard "continue"; + occurrences []; + }; + }; + description ""; + parent @bound_4080; + postcondition ""; + precondition ""; + } + + sa_scenario bound_5000 "SA 5 Death and incomplete reply" id "21c0fe00-0000-4000-8000-000000001388" { + context none; + description "Native lifecycle union acceptance fixture; completeness warnings are intentional."; + parent none; + postcondition ""; + precondition ""; + steps [@bound_5040, @bound_5070, @bound_5050]; + viewpoint BoundaryInterface; + } + + sa_lifeline bound_5001 "L1 Requester" id "21c0fe00-0000-4000-8000-000000001389" { + description ""; + parent @bound_5000; + represented @bound_200; + } + + sa_lifeline bound_5002 "L2 Terminated service" id "21c0fe00-0000-4000-8000-00000000138a" { + description ""; + parent @bound_5000; + represented @bound_201; + } + + sa_occurrence bound_5040 "Unanswered call" id "21c0fe00-0000-4000-8000-0000000013b0" { + body { + Exchange { + exchange none; + message_kind Call; + receiver @bound_5002; + reply_to none; + sender @bound_5001; + values []; + }; + }; + description ""; + parent @bound_5000; + postcondition ""; + precondition ""; + } + + sa_occurrence bound_5050 "Incomplete reply — no sender" id "21c0fe00-0000-4000-8000-0000000013ba" { + body { + Exchange { + exchange none; + message_kind Reply; + receiver @bound_5001; + reply_to @bound_5040; + sender none; + values []; + }; + }; + description ""; + parent @bound_5000; + postcondition ""; + precondition ""; + } + + sa_occurrence bound_5070 "Delete service" id "21c0fe00-0000-4000-8000-0000000013ce" { + body { + Exchange { + exchange none; + message_kind Delete; + receiver @bound_5002; + reply_to none; + sender @bound_5001; + values []; + }; + }; + description ""; + parent @bound_5000; + postcondition ""; + precondition ""; + } + + sa_scenario bound_6000 "SA 6 Unresolved lifetime, visible cue" id "21c0fe00-0000-4000-8000-000000001770" { + context none; + description "Native lifecycle union acceptance fixture; completeness warnings are intentional."; + parent none; + postcondition ""; + precondition ""; + steps [@bound_6080]; + viewpoint BoundaryInterface; + } + + sa_lifeline bound_6001 "L1 Requester" id "21c0fe00-0000-4000-8000-000000001771" { + description ""; + parent @bound_6000; + represented @bound_200; + } + + sa_lifeline bound_6002 "L2 Unresolved service" id "21c0fe00-0000-4000-8000-000000001772" { + description ""; + parent @bound_6000; + represented @bound_201; + } + + sa_occurrence bound_6005 "Create service" id "21c0fe00-0000-4000-8000-000000001775" { + body { + Exchange { + exchange none; + message_kind Create; + receiver @bound_6002; + reply_to none; + sender @bound_6001; + values []; + }; + }; + description ""; + parent @bound_6081; + postcondition ""; + precondition ""; + } + + sa_occurrence bound_6040 "Call with unresolved lifetime" id "21c0fe00-0000-4000-8000-000000001798" { + body { + Exchange { + exchange none; + message_kind Call; + receiver @bound_6002; + reply_to none; + sender @bound_6001; + values []; + }; + }; + description ""; + parent @bound_6082; + postcondition ""; + precondition ""; + } + + sa_occurrence bound_6080 "Birth is path dependent" id "21c0fe00-0000-4000-8000-0000000017c0" { + body { + Fragment { + operator Alternative; + branches [@bound_6081, @bound_6082]; + }; + }; + description ""; + parent @bound_6000; + postcondition ""; + precondition ""; + } + + sa_occurrence bound_6081 "Create path" id "21c0fe00-0000-4000-8000-0000000017c1" { + body { + Branch { + guard "start new"; + occurrences [@bound_6005]; + }; + }; + description ""; + parent @bound_6080; + postcondition ""; + precondition ""; + } + + sa_occurrence bound_6082 "Call path" id "21c0fe00-0000-4000-8000-0000000017c2" { + body { + Branch { + guard "use existing"; + occurrences [@bound_6040]; + }; + }; + description ""; + parent @bound_6080; + postcondition ""; + precondition ""; + } +} + diff --git a/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/navigation-palette-20260913-01/lifecycle-work/preflight.rs b/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/navigation-palette-20260913-01/lifecycle-work/preflight.rs new file mode 100644 index 00000000..a9f65d37 --- /dev/null +++ b/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/navigation-palette-20260913-01/lifecycle-work/preflight.rs @@ -0,0 +1,116 @@ +//! Source-only preflight; parent compiles/runs this against its exact oa-core. +//! Usage: preflight.exe PATH_TO_lifecycle-native.arcadia +use oa_core::{operations, source_project, validation, *}; +use std::collections::BTreeMap; + +fn id(n: u128) -> Id { + Id::from_u128(0x21c0fe00000040008000000000000000 + n) +} +fn main() { + let args: Vec<_> = std::env::args().collect(); + assert_eq!(args.len(), 2, "Pass the prepared source file"); + let source = std::fs::read_to_string(&args[1]).unwrap(); + let p = language::parse(&source).expect("Prepared source must parse through actual core"); + let issues = validation::validate(&p); + let errors: Vec<_> = issues + .iter() + .filter(|issue| issue.severity == validation::Severity::Error) + .collect(); + assert!(errors.is_empty(), "Fixture admission failed: {errors:#?}"); + validate_candidate(&p).expect("Ordinary command admission must accept the whole Project"); + let bundle = source_project::SourceBundle { + entry: "lifecycle-native.arcadia".into(), + files: BTreeMap::from([("lifecycle-native.arcadia".into(), source.clone())]), + }; + let compiled = source_project::compile_bundle(&bundle, Default::default()) + .expect("Use the actual source-project admission path"); + assert_eq!( + compiled.bundle, bundle, + "Keep comments, Unicode and all explicit IDs byte-for-byte" + ); + assert_eq!(compiled.decoded.project, p); + let canonical = language::format(&p); + let reparsed = language::parse(&canonical).unwrap(); + assert_eq!( + reparsed, p, + "Compare the entire Project, not selected elements" + ); + assert_eq!(language::format(&reparsed), canonical); + assert_eq!(p.elements.len(), 61); + assert_eq!(p.relations.len(), 5); + for (owner, steps) in [ + (1000, vec![1005, 1040, 1030, 1060, 1050, 1070]), + (2000, vec![2005, 2040, 2030, 2060, 2050, 2070]), + (3000, vec![3010, 3020, 3040, 3050, 3070]), + (4000, vec![4040, 4080]), + (5000, vec![5040, 5070, 5050]), + (6000, vec![6080]), + ] { + assert_eq!( + p.elements[&id(owner)].steps().unwrap(), + &steps.into_iter().map(id).collect::>() + ); + } + for base in [1000, 2000] { + for (offset, call, expression) in [ + (40, 40, "420.0"), + (30, 30, "380.0"), + (60, 30, "378.0"), + (50, 40, "418.0"), + ] { + let occurrence = id(base + offset); + let Some(SharedBody::Occurrence { + body: OccurrenceBody::Exchange { values, .. }, + .. + }) = p.elements[&occurrence].shared() + else { + panic!("Expected an exchange occurrence") + }; + assert_eq!(values.len(), 1); + assert_eq!(values[0].expression, expression); + if base == 2000 { + let operations::OperationResolution::Selected(proof) = + operations::resolve(&p, occurrence).unwrap() + else { + panic!("SA pressure operation must remain actually bound") + }; + assert_eq!(proof.invocation, id(base + call)); + assert_eq!(proof.allocation, id(220)); + assert_eq!(proof.caller_port, id(202)); + assert_eq!(proof.provider_port, id(203)); + } else { + assert_eq!( + operations::resolve(&p, occurrence).unwrap(), + operations::OperationResolution::Ordinary + ); + } + } + } + let Some(SharedBody::Occurrence { + body: + OccurrenceBody::Exchange { + sender, + receiver, + reply_to, + .. + }, + .. + }) = p.elements[&id(5050)].shared() + else { + panic!("Expected incomplete reply") + }; + assert_eq!( + (*sender, *receiver, *reply_to), + (None, Some(id(5001)), Some(id(5040))) + ); + for issue in &issues { + println!( + "{:?} {} {:?}: {}", + issue.severity, issue.code, issue.element, issue.message + ); + } + println!( + "PASS: six scenarios,61 elements,5 relations,zero Errors,{} warnings; exact source bundle and whole-Project roundtrip; bound OA values and SA operation proofs preserved", + issues.len() + ); +} diff --git a/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/navigation-palette-20260913-01/migrate-example-e124029-r2/run.json b/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/navigation-palette-20260913-01/migrate-example-e124029-r2/run.json new file mode 100644 index 00000000..6f2f1dc0 --- /dev/null +++ b/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/navigation-palette-20260913-01/migrate-example-e124029-r2/run.json @@ -0,0 +1,93 @@ +{ + "start": "2026-09-13T03:53:39.405418+00:00", + "end": "2026-09-13T03:53:40.693223+00:00", + "source": "e1240295bd114d23d3f67a69e6b38bdb2e25bb0d", + "command": [ + "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\native-qa\\migration-fixture-e124029-r2\\migration-fixture-e124029-r2.exe", + "migrate", + "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\examples\\source-project\\project.arcadia", + "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\native-qa\\navigation-palette-20260913-01\\source-example-migration-r2" + ], + "exit": 0, + "outcome": "passed", + "failure": null, + "changed_inputs": [], + "inputs_unchanged": true, + "inputs_before": { + "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\native-qa\\migration-fixture-e124029-r2\\migration-fixture-e124029-r2.exe": { + "bytes": 21606912, + "sha256": "cb7acce0e8bea1ae400bef773c387ed3b5caa4f6d4a6031254282ef64f426c82" + }, + "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\llvm-mingw-20260908-ucrt-x86_64\\bin\\libunwind.dll": { + "bytes": 190464, + "sha256": "aa282fa47bb2c4e210cea5e470cdbdca58568f0be0bc73e404d86ab9cd95ef6a" + }, + "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\native-qa\\migration-fixture-e124029-r2\\build.json": { + "bytes": 11911, + "sha256": "a9c5ce92791948aa8f39c2f2114747b6a1e6274a6205af387c341f8bb8de524f" + }, + "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\navigation-palette-gates-20260913\\list-e124029.inputs.json": { + "bytes": 107751, + "sha256": "a011170b83ddc0c835428c10b2079b0df02d2bd6f90167f16b1297c683601a87" + }, + "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\examples\\source-project\\oa.arcadia": { + "bytes": 2142, + "sha256": "5f60642f211b2d352a951092faeeb7503d4fb7f6f7fca99e810347231101d31c" + }, + "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\examples\\source-project\\project.arcadia": { + "bytes": 606, + "sha256": "787f6b67b179ffd221f7e5faf1a4edd74cfd116aa1e3b5e9ed9f22fbff612d8d" + }, + "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\examples\\source-project\\views.arcadia": { + "bytes": 3508, + "sha256": "e29ad3f406a6a50d2f0ae2ca2a53ee3b0c18222cd4098704a46d4f48b64ea17f" + }, + "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\examples\\source-project\\sa\\assurance.arcadia": { + "bytes": 682, + "sha256": "ab76044836e4dcd42a82d316846ec87da2108939aa2037640c5bca1d2ecdee0f" + }, + "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\examples\\source-project\\sa\\participants.arcadia": { + "bytes": 1231, + "sha256": "1abad579812e77877b45a3d8e3c3e9da734be2d04a0254cc730a5257ebd2dc88" + }, + "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\examples\\source-project\\sa\\reporting.arcadia": { + "bytes": 2839, + "sha256": "f0b7443f728912ca163de39b6055876b533a77feaa3219b2d40a2dd65712e058" + } + }, + "input_trees": [ + { + "folder": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\examples\\source-project", + "paths": [ + "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\examples\\source-project\\oa.arcadia", + "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\examples\\source-project\\project.arcadia", + "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\examples\\source-project\\sa\\assurance.arcadia", + "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\examples\\source-project\\sa\\participants.arcadia", + "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\examples\\source-project\\sa\\reporting.arcadia", + "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\examples\\source-project\\views.arcadia" + ] + } + ], + "verified_core_inputs": 111, + "oracle_sha256": "cb7acce0e8bea1ae400bef773c387ed3b5caa4f6d4a6031254282ef64f426c82", + "build": { + "path": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\native-qa\\migration-fixture-e124029-r2\\build.json", + "bytes": 11911, + "sha256": "a9c5ce92791948aa8f39c2f2114747b6a1e6274a6205af387c341f8bb8de524f" + }, + "launcher": { + "bytes": 5078, + "sha256": "b1d56ec226d7b6d5d5d1d00e4bc8727c016e44a6208831ea8d35ae142c097288" + }, + "scope": "Actual comparator/preparer execution; native actions are separate.", + "stdout": { + "path": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\native-qa\\navigation-palette-20260913-01\\migrate-example-e124029-r2\\stdout.log", + "bytes": 200, + "sha256": "8f2f5a5a2f520632f0d573e42d53b93d71f6f88b508c3f02c8b0693de29ad601" + }, + "stderr": { + "path": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\native-qa\\navigation-palette-20260913-01\\migrate-example-e124029-r2\\stderr.log", + "bytes": 0, + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + } +} diff --git a/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/navigation-palette-20260913-01/migrate-example-e124029-r2/stderr.log b/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/navigation-palette-20260913-01/migrate-example-e124029-r2/stderr.log new file mode 100644 index 00000000..e69de29b diff --git a/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/navigation-palette-20260913-01/migrate-example-e124029-r2/stdout.log b/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/navigation-palette-20260913-01/migrate-example-e124029-r2/stdout.log new file mode 100644 index 00000000..8b2be63a --- /dev/null +++ b/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/navigation-palette-20260913-01/migrate-example-e124029-r2/stdout.log @@ -0,0 +1 @@ +PASS migrate: six originals preserved; explicit current-schema reference and flattened legacy full Project agree; public schema3-to7 migration and current re-admission exact; six alias tokens rebound diff --git a/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/navigation-palette-20260913-01/migrate-example-e124029-r2/verified-core-inputs.json b/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/navigation-palette-20260913-01/migrate-example-e124029-r2/verified-core-inputs.json new file mode 100644 index 00000000..45621455 --- /dev/null +++ b/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/navigation-palette-20260913-01/migrate-example-e124029-r2/verified-core-inputs.json @@ -0,0 +1,557 @@ +[ + { + "path": "Cargo.lock", + "bytes": 119998, + "sha256": "826fad8a8176d7acbb9007db88c123dd25b8a5efcad7a33a8da8a4e0c6e3394f" + }, + { + "path": "Cargo.toml", + "bytes": 400, + "sha256": "369f5b4b2b60705a94623c8c0b68f8e0b048f263280ce07ae0629ad353797d62" + }, + { + "path": "crates/oa-core/Cargo.toml", + "bytes": 408, + "sha256": "6b5c062474ebb62d5082e07dabed99ee85e4a833edf26690fb4f887028d3416f" + }, + { + "path": "crates/oa-core/build.rs", + "bytes": 45, + "sha256": "ab1be6ae1fd8bf3ebaeef6348347a9d5e666bde693126f199e041659e0b094a9" + }, + { + "path": "crates/oa-core/examples/generate_demo.rs", + "bytes": 795, + "sha256": "e26f432c95331aeca50985dbb3ad2c558affd43023b585811f0f7bfaa59f6661" + }, + { + "path": "crates/oa-core/examples/generate_release1.rs", + "bytes": 1798, + "sha256": "1d5f11165d74893e4bc18dbf3a2f2111f4026bd89fd06ee7f0bae69e45c4d4b5" + }, + { + "path": "crates/oa-core/examples/release_dense_views.rs", + "bytes": 14664, + "sha256": "a83158488ef9b7394f136c52b1496719be935c4e5bdfe457cab5c9894f5f9412" + }, + { + "path": "crates/oa-core/examples/routing_workshop.rs", + "bytes": 17248, + "sha256": "571307b18b6d4fa04700c5a4d4b0c2154c419e93a21292b2028e7b6f46a2faa7" + }, + { + "path": "crates/oa-core/src/analysis_numeric.rs", + "bytes": 3735, + "sha256": "6c88eef3119162aeb6c07b9e75812c3af9fbfe75554b0503ad00f103cb478408" + }, + { + "path": "crates/oa-core/src/analysis_numeric/dimension.rs", + "bytes": 3045, + "sha256": "d4ad8e5307a1620e31791d724a0e31fdba860d00dc83e3e1f2209d9c5e22a340" + }, + { + "path": "crates/oa-core/src/analysis_numeric/exact.rs", + "bytes": 17338, + "sha256": "4eb8cb0f66b10e5da204899af82ee26adfec74bab47b1a6c9842b5488ee04c4d" + }, + { + "path": "crates/oa-core/src/analysis_numeric/fixtures/r7-literal-boundaries.json", + "bytes": 6085, + "sha256": "3b959dec5e100a6f03817f5314bef497347ba579ebd235476516d4bd83399181" + }, + { + "path": "crates/oa-core/src/analysis_numeric/meter.rs", + "bytes": 7129, + "sha256": "1f7174beb992935b4c399acdef91114af73faf041070feab968455ac827e8ee4" + }, + { + "path": "crates/oa-core/src/analysis_numeric/quantity.rs", + "bytes": 12257, + "sha256": "ead5142d6eeea8f99399d57e02d8f7d819980923de76387cd454694d6a747aee" + }, + { + "path": "crates/oa-core/src/analysis_numeric/tests.rs", + "bytes": 27486, + "sha256": "323ce82fc057d36f44463569fd8ea324c7d700fddfbf32bce15e04bd2a66970b" + }, + { + "path": "crates/oa-core/src/data.rs", + "bytes": 42696, + "sha256": "7f9c7c7dd8353cb5a38597b92cde6d3e890203d392473187eb387d41ff37414a" + }, + { + "path": "crates/oa-core/src/demo.rs", + "bytes": 20657, + "sha256": "ad62123f96c20ff023cafc1a9849b0fa06bc62edd1fb9701799e4599b458600c" + }, + { + "path": "crates/oa-core/src/language.rs", + "bytes": 105312, + "sha256": "34cbb144a111e6f0ddadfca7d40636a8e3323fe65ea8920fd2402f0352b41f57" + }, + { + "path": "crates/oa-core/src/language/semantic_source.rs", + "bytes": 7326, + "sha256": "584b5bb59d87a7b8d44d5dd2d124c3a1323b21492b138a17bc9526c0087c9e29" + }, + { + "path": "crates/oa-core/src/language_nesting_tests.rs", + "bytes": 20639, + "sha256": "bd061611e8cb6f28ab203c73e544ac98bf275eb464cd314ad5fbd25f773df33b" + }, + { + "path": "crates/oa-core/src/language_outline_tests.rs", + "bytes": 14877, + "sha256": "4c79a01e8aea243dd9ef66ce71b9fae263d0e79c319a46c51223679897e8b9df" + }, + { + "path": "crates/oa-core/src/lib.rs", + "bytes": 549, + "sha256": "ea1d9bf5acba8381ba204db12ff5b5fe1f320417d17af517e46b90fd6bcb241c" + }, + { + "path": "crates/oa-core/src/migration_v2/README.md", + "bytes": 1515, + "sha256": "fb61d3faa33d7bdfba73415415a0882c0fbd3e0b45df42f972a19aec6da927b9" + }, + { + "path": "crates/oa-core/src/migration_v2/adapter.rs", + "bytes": 9490, + "sha256": "66741b4c8354a23b8a932ecc5bf1bc3bb6e74279558757b8c35bc2157a7e51b5" + }, + { + "path": "crates/oa-core/src/migration_v2/mod.rs", + "bytes": 1158, + "sha256": "857d8bb13b6814daba6780ca770c16352943c01cb130245d055f11b3b957b3e9" + }, + { + "path": "crates/oa-core/src/migration_v2/model.rs", + "bytes": 52059, + "sha256": "8ac63eb59b2e57bdecff2477ee0634096090924d3dd1851e1c454880a889dacb" + }, + { + "path": "crates/oa-core/src/migration_v2/references.rs", + "bytes": 13369, + "sha256": "33a6819abc83139fdaebeebd1b553238a328637106cce7dd5a535f1791d43e20" + }, + { + "path": "crates/oa-core/src/migration_v2/source.rs", + "bytes": 21946, + "sha256": "74fee9b24e7c912182c998ab9d9aeec125e2009c3214959229e844c67afe2bf6" + }, + { + "path": "crates/oa-core/src/migration_v2/state_validation.rs", + "bytes": 15769, + "sha256": "e29ef071bab0a68460ddf55c46131c6f66c022d52c3c602c37c013c3649da1b0" + }, + { + "path": "crates/oa-core/src/migration_v2/transitions.rs", + "bytes": 704, + "sha256": "f74174c532ba56b57c80b719a11fb4adea0a78ccc2828fff72fe2b9eda5a10b1" + }, + { + "path": "crates/oa-core/src/migration_v2/validation.rs", + "bytes": 98736, + "sha256": "6d5e4a4e2805ae5045bf789a0485e14a61c63346587bace2b4a91173a688f780" + }, + { + "path": "crates/oa-core/src/migration_v3/README.md", + "bytes": 2128, + "sha256": "3755a63f840d7f0eadf68afa7a9d587877a9468ff982d3610539e8a0bb067a82" + }, + { + "path": "crates/oa-core/src/migration_v3/mod.rs", + "bytes": 23023, + "sha256": "f4edb6a0b50ecfe8670973776d703047b064420cb1f05913129c00fc656b3722" + }, + { + "path": "crates/oa-core/src/migration_v4.rs", + "bytes": 4020, + "sha256": "50c652964f0f309e7f3f54b6ef12c40d42fcecc0490f005995c713df1179af70" + }, + { + "path": "crates/oa-core/src/model.rs", + "bytes": 66352, + "sha256": "4585c895c64c4a183941c92cf047a9e52ff0cbe41971e16e78d229ea9dc101fb" + }, + { + "path": "crates/oa-core/src/operations.rs", + "bytes": 11405, + "sha256": "a5ffbbf54cd440316a106d1188bfb699b57dae59f466edcb33618c333cd19f41" + }, + { + "path": "crates/oa-core/src/persistence.rs", + "bytes": 31774, + "sha256": "1c01474f906a63e552c0d590b272c95821c00a100b3e79e58e67dbbeac341a14" + }, + { + "path": "crates/oa-core/src/ports.rs", + "bytes": 45413, + "sha256": "5cac12eea70a54ebebbd6be77b63ce92e3195325c4bc7d27705c518686cbac80" + }, + { + "path": "crates/oa-core/src/projection.rs", + "bytes": 21374, + "sha256": "69ed12bace2cc5024e151752a174ab14034ac2d05eb741fcf13e9a27521c059b" + }, + { + "path": "crates/oa-core/src/projection/port_layout.rs", + "bytes": 13474, + "sha256": "a08d17d10a58bb8b206dd001b19b91d5aa3a9f743b298a4da57d503223c20079" + }, + { + "path": "crates/oa-core/src/projection/state.rs", + "bytes": 5233, + "sha256": "73a607bac713ec7ff49a509fefb1a53c7686dca93ee241ffc835564d743afb28" + }, + { + "path": "crates/oa-core/src/references.rs", + "bytes": 21957, + "sha256": "93553c234f32da35f1f41a7b83ad81c471c9803efa78ca222cf7de3c2f86c0bb" + }, + { + "path": "crates/oa-core/src/routing.rs", + "bytes": 50309, + "sha256": "c5ebb350ba76f731f5c48d968bfbba4b6ef68ec046eb5893d116c4637ef15080" + }, + { + "path": "crates/oa-core/src/semantic.rs", + "bytes": 540, + "sha256": "f9895dd5b8fb27d10d4cfbb41c3542ef2018365a589b8d5778e5674ae5a1f239" + }, + { + "path": "crates/oa-core/src/semantic/catalog.rs", + "bytes": 49407, + "sha256": "1ff74fcca18084d178681d7ff38ee1ccac632c27c4de0595ba1ceab8067ab3a4" + }, + { + "path": "crates/oa-core/src/semantic/historical.rs", + "bytes": 15271, + "sha256": "eaf3284bf234312698514cdb636bc8348e1b5d746cb16b18df777e77d312abfb" + }, + { + "path": "crates/oa-core/src/semantic/linked.rs", + "bytes": 6035, + "sha256": "6f335b14e809aecfc35defcaf77cb821b080d1506dbc46297912b25af98c07a2" + }, + { + "path": "crates/oa-core/src/semantic/mutate.rs", + "bytes": 22683, + "sha256": "dc2b4c4a6eb156fe468eaa8c85fd37a505c0cd8ea1f226cb69cd01689afd3d9d" + }, + { + "path": "crates/oa-core/src/semantic/review.rs", + "bytes": 51116, + "sha256": "0c157d2c327e72e89cca3b423e71ee73798105c5bb7271439c1a101642c91e3e" + }, + { + "path": "crates/oa-core/src/semantic/types.rs", + "bytes": 10405, + "sha256": "6922fe35089f12fad43ab0ce1c6886d01a3855f90b8e2543e99802ac5e6f1bbb" + }, + { + "path": "crates/oa-core/src/session.rs", + "bytes": 35237, + "sha256": "1eb77b329b2986fc6f5dc0171e77fd860375cdfd8c769a1367b445d6c49ebe00" + }, + { + "path": "crates/oa-core/src/source_files.rs", + "bytes": 74803, + "sha256": "669491dbddb8e8e6556161426dffa1a49ac1c826d31020bff0956d81a4d84683" + }, + { + "path": "crates/oa-core/src/source_project.rs", + "bytes": 61843, + "sha256": "1394370bcc5908873b830c2c11312e6e1611af41f46c4f43ca0a6bcb713bb466" + }, + { + "path": "crates/oa-core/src/source_project/source_migration.rs", + "bytes": 4700, + "sha256": "add463ae85c420f853d324b00a221f0f874164cc3f3ed6bbb07557a9ed7a8c95" + }, + { + "path": "crates/oa-core/src/source_project/source_structure.rs", + "bytes": 20225, + "sha256": "9f1f83315856a7025fe662c0fbb13452f31613224a03663150d6225d1ddc162f" + }, + { + "path": "crates/oa-core/src/state_validation.rs", + "bytes": 15665, + "sha256": "e28d7f74385e2a78763716b34491bd73a00bfeccc085970ceb130627e3faee18" + }, + { + "path": "crates/oa-core/src/topology_context.rs", + "bytes": 13734, + "sha256": "16de69b297de95d93c73808621607833b713af811dd082f0169186ae1e5c3e2d" + }, + { + "path": "crates/oa-core/src/topology_context/analysis.rs", + "bytes": 20036, + "sha256": "dead6194f0aa60cc46045c0e5ee10dbdbb689158c38634dfbbbc45d2ba88ac65" + }, + { + "path": "crates/oa-core/src/topology_context/analysis_tests.rs", + "bytes": 5258, + "sha256": "17839263410815e96fe027d4eba3aae0a9ab3b82b16947e2b29ebe0d09782b56" + }, + { + "path": "crates/oa-core/src/transitions.rs", + "bytes": 51998, + "sha256": "fadd1b07b89cae4117b91abb4f1ac9ea81ff818ef20f2175e76ee8cf21fb708d" + }, + { + "path": "crates/oa-core/src/transitions/communication.rs", + "bytes": 8634, + "sha256": "2b476630a88edd9021b9156ca12a5402e01604095f0d4002afb452671903a028" + }, + { + "path": "crates/oa-core/src/validation.rs", + "bytes": 112792, + "sha256": "7c1b4ae5e4ebba13e99af9158ccde138dfc5e9a7afb580e76fba72d0b64ba74e" + }, + { + "path": "crates/oa-core/src/validation/coverage.rs", + "bytes": 6478, + "sha256": "b08e4b344ecad055714168c83beff7fe29ba4edc53edbffa2eae04e5580a4d5f" + }, + { + "path": "crates/oa-core/src/view_options.rs", + "bytes": 24481, + "sha256": "421ede0a04c593ca1df0e6e0d06fabcfcc8113cdbcfb0adc7f5c8ef4d1724208" + }, + { + "path": "crates/oa-core/src/view_options_tests.rs", + "bytes": 21433, + "sha256": "64aac44de2df42a1012239a3dd75c473daf0c8990b3170b7bf7e78a556080208" + }, + { + "path": "crates/oa-core/tests/communication_boundary_scenarios.rs", + "bytes": 8816, + "sha256": "e1100b8f363910a487d90c73acc7df543dc6d532158c3c63ad11cd3d40d8e12b" + }, + { + "path": "crates/oa-core/tests/communication_means.rs", + "bytes": 18102, + "sha256": "a25f2749180bc6f4beb1445bfad3351eedf0669131a7439b633ab804439e95a4" + }, + { + "path": "crates/oa-core/tests/coverage_diagnostics.rs", + "bytes": 20527, + "sha256": "e2e9c3996daab47f2bd23f5d8c48b4e372af33331152f5fc85b76f06d04fcdf4" + }, + { + "path": "crates/oa-core/tests/fixtures/v2-coastal-rescue.arcadia", + "bytes": 29220, + "sha256": "f0df129c1914bfc01d0b047b0cd4b520d8cf0c249ea9ced085de400c0be87ff3" + }, + { + "path": "crates/oa-core/tests/fixtures/v2-coastal-rescue.json", + "bytes": 43990, + "sha256": "3ed53508eb544bbd788832f7bebea2ec31b3d66191f24f45098cc9750ec4c005" + }, + { + "path": "crates/oa-core/tests/fixtures/v3-data-contract.arcadia", + "bytes": 2450, + "sha256": "305f19d1b79f99f8d4cf627ba2e9ca6836bb7959cc0070227815937a699eafea" + }, + { + "path": "crates/oa-core/tests/fixtures/v3-data-contract.json", + "bytes": 8240, + "sha256": "1b41299c53204e6232397d25a58d5bccdbbc16e770c75e8edb55ce36ccfe58a2" + }, + { + "path": "crates/oa-core/tests/fixtures/v4-reviewed-prose.arcadia", + "bytes": 1222, + "sha256": "5fa53a26a5ad010c8e59eb56d9b2b52003569e66c0377ffb58840590168ad0c1" + }, + { + "path": "crates/oa-core/tests/fixtures/v4-reviewed-prose.json", + "bytes": 1734, + "sha256": "2808088afcc165f4bd6da5129151143411c997041c3de61d600ab76e05d24a47" + }, + { + "path": "crates/oa-core/tests/language.rs", + "bytes": 56482, + "sha256": "77f6cb2a69976bfb5f60b243b71c07fb0edc7505002c1e9e73fcd6ddf6d9496e" + }, + { + "path": "crates/oa-core/tests/port_anchors.rs", + "bytes": 26893, + "sha256": "efbc0fa18733b1aaac501f9785a4c392fc49c05c45a5778d26e9b5dd951ca6fa" + }, + { + "path": "crates/oa-core/tests/port_migration.rs", + "bytes": 15620, + "sha256": "1801c376a5435ac7efb2a8342348b2c7ffef930bba65deca4acb66b06e0483d7" + }, + { + "path": "crates/oa-core/tests/port_source.rs", + "bytes": 4858, + "sha256": "8d2ddaca4045d330f6eda2591561497b858aad53769a823249d0bea4f5916e12" + }, + { + "path": "crates/oa-core/tests/prepared_commands.rs", + "bytes": 9555, + "sha256": "52cab1c668064777412df0a6a3c20d74d579b33794b4b00525b9f151c06eac9b" + }, + { + "path": "crates/oa-core/tests/process_diagnostics.rs", + "bytes": 1104, + "sha256": "1dbbc590239ef7542be4a2bdc9543aaa64d108417b03dd312a0894e364745906" + }, + { + "path": "crates/oa-core/tests/r3_constructor_ack.rs", + "bytes": 24163, + "sha256": "e5c44676ea0aab97f2e091ddac2f4bc4a4a90f5877f7bbf08b61229600944dd0" + }, + { + "path": "crates/oa-core/tests/r3_migration.rs", + "bytes": 6590, + "sha256": "ebd04120f5215b3956fdc79ee78f6e38734c7d13392f1fc28aaba957912265bd" + }, + { + "path": "crates/oa-core/tests/r3_semantic.rs", + "bytes": 77473, + "sha256": "49c3763eaf2131070a7c46cc23a84f917d292d41610b6404510e5607f8890c32" + }, + { + "path": "crates/oa-core/tests/r3_source.rs", + "bytes": 15311, + "sha256": "f31f60659df3c7ef601650d1cff140589d8729f01a3f65a4a6a6c2272f15c408" + }, + { + "path": "crates/oa-core/tests/r6_data.rs", + "bytes": 41437, + "sha256": "5f7ffb3bc73c3c85423623fe56f8680646dc97040327bdbead9d47a37e80f155" + }, + { + "path": "crates/oa-core/tests/r6_migration.rs", + "bytes": 9174, + "sha256": "81519bc1512f5e069432e9a1cdad04c10216d492df01b4b75b02102480ebd6a1" + }, + { + "path": "crates/oa-core/tests/r6_source.rs", + "bytes": 9519, + "sha256": "88a0aa087a7678e2898ff6057538072ca92072190712f05fff08372cc56ebed6" + }, + { + "path": "crates/oa-core/tests/release1_teaching.rs", + "bytes": 10010, + "sha256": "be179290d871125dc97cfd2a3067c7ac89c8a538fdb0afafc5b825bcdfb2bef2" + }, + { + "path": "crates/oa-core/tests/release_capabilities.rs", + "bytes": 19422, + "sha256": "b92cba2a562e78287ddd7dc3e94557848d17faa0c8a102601b50286b9af48a30" + }, + { + "path": "crates/oa-core/tests/release_diagrams.rs", + "bytes": 7689, + "sha256": "cefcc0582d91266d5de6ee5daefcfe41b606ab971ab235b59034a8e1dbc24b7d" + }, + { + "path": "crates/oa-core/tests/release_language_limits.rs", + "bytes": 5204, + "sha256": "8578da4f76bbd2d0e1bfe295ab1259e2162a3fe3d0d2ba8901915d7a40942806" + }, + { + "path": "crates/oa-core/tests/release_ports.rs", + "bytes": 32740, + "sha256": "506e62beab0c7ec0cece83e9e0c1a810fa1f99285c9e1cab0c77f06de55a40e1" + }, + { + "path": "crates/oa-core/tests/release_routing.rs", + "bytes": 23165, + "sha256": "ae168faaba23769b7ca1fd65f217b9db671726e67276eb5a04e5e72b1447a462" + }, + { + "path": "crates/oa-core/tests/release_scenarios.rs", + "bytes": 41067, + "sha256": "0f5d876badeec653fc7b12610a77d867e9a53582e605253deff8d379da21572f" + }, + { + "path": "crates/oa-core/tests/release_states.rs", + "bytes": 26873, + "sha256": "b1a26acee95eaba7f9920f9da738a1e33606552eb078e6d298895daff7e3d811" + }, + { + "path": "crates/oa-core/tests/release_topology.rs", + "bytes": 17643, + "sha256": "c51dbe5aa5a038f9ed830daa02aa67714472179eb7fd6da5ce36dc6931c8b3a9" + }, + { + "path": "crates/oa-core/tests/review_regressions.rs", + "bytes": 21823, + "sha256": "f154e5c88d35e31512e2b07733a1327ea3e2fcfd1ef8eb23066a4e9573f387c1" + }, + { + "path": "crates/oa-core/tests/route_source.rs", + "bytes": 7270, + "sha256": "1a73fdbac0d0ae0e84d8d67b6ad398e11223958f5dca007f73757c91827decfb" + }, + { + "path": "crates/oa-core/tests/routing_geometry.rs", + "bytes": 31890, + "sha256": "2d8eea4a2bba535ed0ea6daabccdaf87b375828c404baa10518c7bd7fd6253d3" + }, + { + "path": "crates/oa-core/tests/routing_labels.rs", + "bytes": 5530, + "sha256": "dff884d799c3c5c9257210248c55767e294e3cb317c605cbd0ddc9600c216eb6" + }, + { + "path": "crates/oa-core/tests/semantic_artifact_absence_oracle.rs", + "bytes": 4640, + "sha256": "d93eaf9667f4221232168bef0fe9f069e5be1b1f23410bda5dd67010b96e5c8a" + }, + { + "path": "crates/oa-core/tests/semantic_attachments_gui_oracle.rs", + "bytes": 14957, + "sha256": "7f526d363ba05e7ac89faf0fead0796e419c34ee204edf44a1b46c78308b0970" + }, + { + "path": "crates/oa-core/tests/source6_view_contract.rs", + "bytes": 14307, + "sha256": "fa566de53946d40bbbd9033edfeed177180c4dc44afa2f2f4667ffdc622eb3bb" + }, + { + "path": "crates/oa-core/tests/source7_contract.rs", + "bytes": 43262, + "sha256": "cad4f1a135ddbd947bdf3c71d1b44f1e438725095ea8c4d893464bc721c2363f" + }, + { + "path": "crates/oa-core/tests/source_files.rs", + "bytes": 13168, + "sha256": "f0429a0b89a443458ea9af7083c1e4e7411417a7e6b47e618bfbb9266dc164f9" + }, + { + "path": "crates/oa-core/tests/source_identity_updates.rs", + "bytes": 5139, + "sha256": "f52aa38b4d317e532c641ad7463472e4b40e802e60052cf0017556ffc63da06c" + }, + { + "path": "crates/oa-core/tests/source_nested_updates.rs", + "bytes": 16892, + "sha256": "9ac3390936c0d250651ea94a1b8faf0adfb680f061ececc56f2a52909b5ba855" + }, + { + "path": "crates/oa-core/tests/source_project.rs", + "bytes": 45910, + "sha256": "cef58adb16aa4d2527ddc0628aec3e26f0b42b4be70014a7e360fafdac13a942" + }, + { + "path": "crates/oa-core/tests/state_diagrams.rs", + "bytes": 23973, + "sha256": "6b02b387a3ae559cb3ad72de24292a5abcb76aaac0adbab5d2aa5211b22cd2e5" + }, + { + "path": "crates/oa-core/tests/workflows.rs", + "bytes": 33426, + "sha256": "bd843dfddbd5724ec08f657571f887496203056fe2fa5864ef50a168a613b89b" + }, + { + "path": "rust-toolchain.toml", + "bytes": 66, + "sha256": "a6a0bbd29ffaa8182dc22d1d9149709f1091e47df40ed96eb8a78a711c66a4ce" + } +] diff --git a/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/navigation-palette-20260913-01/migrate-example-e124029/run.json b/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/navigation-palette-20260913-01/migrate-example-e124029/run.json new file mode 100644 index 00000000..0822dd7b --- /dev/null +++ b/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/navigation-palette-20260913-01/migrate-example-e124029/run.json @@ -0,0 +1,93 @@ +{ + "start": "2026-09-13T03:37:23.761887+00:00", + "end": "2026-09-13T03:37:25.015639+00:00", + "source": "e1240295bd114d23d3f67a69e6b38bdb2e25bb0d", + "command": [ + "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\native-qa\\migration-fixture-e124029\\migration-fixture-e124029.exe", + "migrate", + "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\examples\\source-project\\project.arcadia", + "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\native-qa\\navigation-palette-20260913-01\\source-example-migration" + ], + "exit": 101, + "outcome": "failed", + "failure": null, + "changed_inputs": [], + "inputs_unchanged": true, + "inputs_before": { + "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\native-qa\\migration-fixture-e124029\\migration-fixture-e124029.exe": { + "bytes": 21502976, + "sha256": "daf788d0c4326f43ec2c4318c3299fcb91575fba148f27ef4a806e46f90a3ac2" + }, + "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\llvm-mingw-20260908-ucrt-x86_64\\bin\\libunwind.dll": { + "bytes": 190464, + "sha256": "aa282fa47bb2c4e210cea5e470cdbdca58568f0be0bc73e404d86ab9cd95ef6a" + }, + "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\native-qa\\migration-fixture-e124029\\build.json": { + "bytes": 11878, + "sha256": "df4e27196fe226727c1dc1affdcea7b0248dcecb2f927718b8a29eed407aac1f" + }, + "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\navigation-palette-gates-20260913\\list-e124029.inputs.json": { + "bytes": 107751, + "sha256": "a011170b83ddc0c835428c10b2079b0df02d2bd6f90167f16b1297c683601a87" + }, + "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\examples\\source-project\\oa.arcadia": { + "bytes": 2142, + "sha256": "5f60642f211b2d352a951092faeeb7503d4fb7f6f7fca99e810347231101d31c" + }, + "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\examples\\source-project\\project.arcadia": { + "bytes": 606, + "sha256": "787f6b67b179ffd221f7e5faf1a4edd74cfd116aa1e3b5e9ed9f22fbff612d8d" + }, + "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\examples\\source-project\\views.arcadia": { + "bytes": 3508, + "sha256": "e29ad3f406a6a50d2f0ae2ca2a53ee3b0c18222cd4098704a46d4f48b64ea17f" + }, + "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\examples\\source-project\\sa\\assurance.arcadia": { + "bytes": 682, + "sha256": "ab76044836e4dcd42a82d316846ec87da2108939aa2037640c5bca1d2ecdee0f" + }, + "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\examples\\source-project\\sa\\participants.arcadia": { + "bytes": 1231, + "sha256": "1abad579812e77877b45a3d8e3c3e9da734be2d04a0254cc730a5257ebd2dc88" + }, + "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\examples\\source-project\\sa\\reporting.arcadia": { + "bytes": 2839, + "sha256": "f0b7443f728912ca163de39b6055876b533a77feaa3219b2d40a2dd65712e058" + } + }, + "input_trees": [ + { + "folder": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\examples\\source-project", + "paths": [ + "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\examples\\source-project\\oa.arcadia", + "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\examples\\source-project\\project.arcadia", + "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\examples\\source-project\\sa\\assurance.arcadia", + "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\examples\\source-project\\sa\\participants.arcadia", + "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\examples\\source-project\\sa\\reporting.arcadia", + "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\examples\\source-project\\views.arcadia" + ] + } + ], + "verified_core_inputs": 111, + "oracle_sha256": "daf788d0c4326f43ec2c4318c3299fcb91575fba148f27ef4a806e46f90a3ac2", + "build": { + "path": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\native-qa\\migration-fixture-e124029\\build.json", + "bytes": 11878, + "sha256": "df4e27196fe226727c1dc1affdcea7b0248dcecb2f927718b8a29eed407aac1f" + }, + "launcher": { + "bytes": 5078, + "sha256": "b1d56ec226d7b6d5d5d1d00e4bc8727c016e44a6208831ea8d35ae142c097288" + }, + "scope": "Actual comparator/preparer execution; native actions are separate.", + "stdout": { + "path": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\native-qa\\navigation-palette-20260913-01\\migrate-example-e124029\\stdout.log", + "bytes": 0, + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "stderr": { + "path": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\native-qa\\navigation-palette-20260913-01\\migrate-example-e124029\\stderr.log", + "bytes": 4025, + "sha256": "03c7fef2f8f5985ecc6597229d66d1b48ed634bd1d445111d6f93f5b9f6e66a1" + } +} diff --git a/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/navigation-palette-20260913-01/migrate-example-e124029/stderr.log b/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/navigation-palette-20260913-01/migrate-example-e124029/stderr.log new file mode 100644 index 00000000..719441b6 --- /dev/null +++ b/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/navigation-palette-20260913-01/migrate-example-e124029/stderr.log @@ -0,0 +1,6 @@ + +thread 'main' (9624) panicked at C:\Users\User\Documents\Git\ARCADIA-Studio\.local\navigation-palette-migrate-fixture.rs:296:9: +assertion `left == right` failed: all original comments/strings/UUID spellings remain exact in oa.arcadia + left: [(Comment, "// Operational Analysis describes the need without choosing a technical solution."), (String, "\"Vessel in distress\""), (String, "\"00000000-0000-4000-8000-000000000101\""), (String, "\"The vessel's crew needs to communicate its position and obtain assistance.\""), (String, "\"Rescue coordination\""), (String, "\"00000000-0000-4000-8000-000000000102\""), (String, "\"The coordination team assesses the report and decides on a response.\""), (Comment, "// This is work decomposition. It does not assign either activity to a participant."), (String, "\"Respond to distress\""), (String, "\"00000000-0000-4000-8000-000000000103\""), (Comment, "// Keep the crew's reporting responsibility visible when decomposing the need."), (String, "\"Report distress\""), (String, "\"00000000-0000-4000-8000-000000000104\""), (String, "\"Provide the vessel's situation and last known position.\""), (String, "\"Assess incident\""), (String, "\"00000000-0000-4000-8000-000000000105\""), (String, "\"Decide which assistance is needed using the received report.\""), (String, "\"Protect life at sea\""), (String, "\"00000000-0000-4000-8000-000000000106\""), (String, "\"Distress report\""), (String, "\"00000000-0000-4000-8000-000000000107\""), (String, "\"Reported latitude\""), (String, "\"00000000-0000-4000-8000-000000000108\""), (String, "\"degrees north\""), (Comment, "// Allocation remains explicit even though the saved architecture view nests work."), (String, "\"Crew reports distress\""), (String, "\"00000000-0000-4000-8000-000000000201\""), (String, "\"Team assesses incident\""), (String, "\"00000000-0000-4000-8000-000000000202\""), (String, "\"Distress signal\""), (String, "\"00000000-0000-4000-8000-000000000203\""), (String, "\"Assessment supports rescue\""), (String, "\"00000000-0000-4000-8000-000000000204\"")] + right: [(Comment, "// Operational Analysis describes the need without choosing a technical solution."), (String, "\"Vessel in distress\""), (String, "\"00000000-0000-4000-8000-000000000101\""), (String, "\"The vessel's crew needs to communicate its position and obtain assistance.\""), (String, "\"Rescue coordination\""), (String, "\"00000000-0000-4000-8000-000000000102\""), (String, "\"The coordination team assesses the report and decides on a response.\""), (Comment, "// This is work decomposition. It does not assign either activity to a participant."), (String, "\"Respond to distress\""), (String, "\"00000000-0000-4000-8000-000000000103\""), (Comment, "// Keep the crew's reporting responsibility visible when decomposing the need."), (String, "\"Report distress\""), (String, "\"00000000-0000-4000-8000-000000000104\""), (String, "\"Provide the vessel's situation and last known position.\""), (String, "\"Assess incident\""), (String, "\"00000000-0000-4000-8000-000000000105\""), (String, "\"Decide which assistance is needed using the received report.\""), (String, "\"Protect life at sea\""), (String, "\"00000000-0000-4000-8000-000000000106\""), (String, "\"Distress report\""), (String, "\"00000000-0000-4000-8000-000000000107\""), (String, "\"Reported latitude\""), (String, "\"00000000-0000-4000-8000-000000000108\""), (String, "\"degrees north\""), (String, "\"\""), (String, "\"\""), (Comment, "// Allocation remains explicit even though the saved architecture view nests work."), (String, "\"Crew reports distress\""), (String, "\"00000000-0000-4000-8000-000000000201\""), (String, "\"Team assesses incident\""), (String, "\"00000000-0000-4000-8000-000000000202\""), (String, "\"Distress signal\""), (String, "\"00000000-0000-4000-8000-000000000203\""), (String, "\"Assessment supports rescue\""), (String, "\"00000000-0000-4000-8000-000000000204\"")] +note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace diff --git a/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/navigation-palette-20260913-01/migrate-example-e124029/stdout.log b/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/navigation-palette-20260913-01/migrate-example-e124029/stdout.log new file mode 100644 index 00000000..e69de29b diff --git a/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/navigation-palette-20260913-01/migrate-example-e124029/verified-core-inputs.json b/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/navigation-palette-20260913-01/migrate-example-e124029/verified-core-inputs.json new file mode 100644 index 00000000..45621455 --- /dev/null +++ b/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/navigation-palette-20260913-01/migrate-example-e124029/verified-core-inputs.json @@ -0,0 +1,557 @@ +[ + { + "path": "Cargo.lock", + "bytes": 119998, + "sha256": "826fad8a8176d7acbb9007db88c123dd25b8a5efcad7a33a8da8a4e0c6e3394f" + }, + { + "path": "Cargo.toml", + "bytes": 400, + "sha256": "369f5b4b2b60705a94623c8c0b68f8e0b048f263280ce07ae0629ad353797d62" + }, + { + "path": "crates/oa-core/Cargo.toml", + "bytes": 408, + "sha256": "6b5c062474ebb62d5082e07dabed99ee85e4a833edf26690fb4f887028d3416f" + }, + { + "path": "crates/oa-core/build.rs", + "bytes": 45, + "sha256": "ab1be6ae1fd8bf3ebaeef6348347a9d5e666bde693126f199e041659e0b094a9" + }, + { + "path": "crates/oa-core/examples/generate_demo.rs", + "bytes": 795, + "sha256": "e26f432c95331aeca50985dbb3ad2c558affd43023b585811f0f7bfaa59f6661" + }, + { + "path": "crates/oa-core/examples/generate_release1.rs", + "bytes": 1798, + "sha256": "1d5f11165d74893e4bc18dbf3a2f2111f4026bd89fd06ee7f0bae69e45c4d4b5" + }, + { + "path": "crates/oa-core/examples/release_dense_views.rs", + "bytes": 14664, + "sha256": "a83158488ef9b7394f136c52b1496719be935c4e5bdfe457cab5c9894f5f9412" + }, + { + "path": "crates/oa-core/examples/routing_workshop.rs", + "bytes": 17248, + "sha256": "571307b18b6d4fa04700c5a4d4b0c2154c419e93a21292b2028e7b6f46a2faa7" + }, + { + "path": "crates/oa-core/src/analysis_numeric.rs", + "bytes": 3735, + "sha256": "6c88eef3119162aeb6c07b9e75812c3af9fbfe75554b0503ad00f103cb478408" + }, + { + "path": "crates/oa-core/src/analysis_numeric/dimension.rs", + "bytes": 3045, + "sha256": "d4ad8e5307a1620e31791d724a0e31fdba860d00dc83e3e1f2209d9c5e22a340" + }, + { + "path": "crates/oa-core/src/analysis_numeric/exact.rs", + "bytes": 17338, + "sha256": "4eb8cb0f66b10e5da204899af82ee26adfec74bab47b1a6c9842b5488ee04c4d" + }, + { + "path": "crates/oa-core/src/analysis_numeric/fixtures/r7-literal-boundaries.json", + "bytes": 6085, + "sha256": "3b959dec5e100a6f03817f5314bef497347ba579ebd235476516d4bd83399181" + }, + { + "path": "crates/oa-core/src/analysis_numeric/meter.rs", + "bytes": 7129, + "sha256": "1f7174beb992935b4c399acdef91114af73faf041070feab968455ac827e8ee4" + }, + { + "path": "crates/oa-core/src/analysis_numeric/quantity.rs", + "bytes": 12257, + "sha256": "ead5142d6eeea8f99399d57e02d8f7d819980923de76387cd454694d6a747aee" + }, + { + "path": "crates/oa-core/src/analysis_numeric/tests.rs", + "bytes": 27486, + "sha256": "323ce82fc057d36f44463569fd8ea324c7d700fddfbf32bce15e04bd2a66970b" + }, + { + "path": "crates/oa-core/src/data.rs", + "bytes": 42696, + "sha256": "7f9c7c7dd8353cb5a38597b92cde6d3e890203d392473187eb387d41ff37414a" + }, + { + "path": "crates/oa-core/src/demo.rs", + "bytes": 20657, + "sha256": "ad62123f96c20ff023cafc1a9849b0fa06bc62edd1fb9701799e4599b458600c" + }, + { + "path": "crates/oa-core/src/language.rs", + "bytes": 105312, + "sha256": "34cbb144a111e6f0ddadfca7d40636a8e3323fe65ea8920fd2402f0352b41f57" + }, + { + "path": "crates/oa-core/src/language/semantic_source.rs", + "bytes": 7326, + "sha256": "584b5bb59d87a7b8d44d5dd2d124c3a1323b21492b138a17bc9526c0087c9e29" + }, + { + "path": "crates/oa-core/src/language_nesting_tests.rs", + "bytes": 20639, + "sha256": "bd061611e8cb6f28ab203c73e544ac98bf275eb464cd314ad5fbd25f773df33b" + }, + { + "path": "crates/oa-core/src/language_outline_tests.rs", + "bytes": 14877, + "sha256": "4c79a01e8aea243dd9ef66ce71b9fae263d0e79c319a46c51223679897e8b9df" + }, + { + "path": "crates/oa-core/src/lib.rs", + "bytes": 549, + "sha256": "ea1d9bf5acba8381ba204db12ff5b5fe1f320417d17af517e46b90fd6bcb241c" + }, + { + "path": "crates/oa-core/src/migration_v2/README.md", + "bytes": 1515, + "sha256": "fb61d3faa33d7bdfba73415415a0882c0fbd3e0b45df42f972a19aec6da927b9" + }, + { + "path": "crates/oa-core/src/migration_v2/adapter.rs", + "bytes": 9490, + "sha256": "66741b4c8354a23b8a932ecc5bf1bc3bb6e74279558757b8c35bc2157a7e51b5" + }, + { + "path": "crates/oa-core/src/migration_v2/mod.rs", + "bytes": 1158, + "sha256": "857d8bb13b6814daba6780ca770c16352943c01cb130245d055f11b3b957b3e9" + }, + { + "path": "crates/oa-core/src/migration_v2/model.rs", + "bytes": 52059, + "sha256": "8ac63eb59b2e57bdecff2477ee0634096090924d3dd1851e1c454880a889dacb" + }, + { + "path": "crates/oa-core/src/migration_v2/references.rs", + "bytes": 13369, + "sha256": "33a6819abc83139fdaebeebd1b553238a328637106cce7dd5a535f1791d43e20" + }, + { + "path": "crates/oa-core/src/migration_v2/source.rs", + "bytes": 21946, + "sha256": "74fee9b24e7c912182c998ab9d9aeec125e2009c3214959229e844c67afe2bf6" + }, + { + "path": "crates/oa-core/src/migration_v2/state_validation.rs", + "bytes": 15769, + "sha256": "e29ef071bab0a68460ddf55c46131c6f66c022d52c3c602c37c013c3649da1b0" + }, + { + "path": "crates/oa-core/src/migration_v2/transitions.rs", + "bytes": 704, + "sha256": "f74174c532ba56b57c80b719a11fb4adea0a78ccc2828fff72fe2b9eda5a10b1" + }, + { + "path": "crates/oa-core/src/migration_v2/validation.rs", + "bytes": 98736, + "sha256": "6d5e4a4e2805ae5045bf789a0485e14a61c63346587bace2b4a91173a688f780" + }, + { + "path": "crates/oa-core/src/migration_v3/README.md", + "bytes": 2128, + "sha256": "3755a63f840d7f0eadf68afa7a9d587877a9468ff982d3610539e8a0bb067a82" + }, + { + "path": "crates/oa-core/src/migration_v3/mod.rs", + "bytes": 23023, + "sha256": "f4edb6a0b50ecfe8670973776d703047b064420cb1f05913129c00fc656b3722" + }, + { + "path": "crates/oa-core/src/migration_v4.rs", + "bytes": 4020, + "sha256": "50c652964f0f309e7f3f54b6ef12c40d42fcecc0490f005995c713df1179af70" + }, + { + "path": "crates/oa-core/src/model.rs", + "bytes": 66352, + "sha256": "4585c895c64c4a183941c92cf047a9e52ff0cbe41971e16e78d229ea9dc101fb" + }, + { + "path": "crates/oa-core/src/operations.rs", + "bytes": 11405, + "sha256": "a5ffbbf54cd440316a106d1188bfb699b57dae59f466edcb33618c333cd19f41" + }, + { + "path": "crates/oa-core/src/persistence.rs", + "bytes": 31774, + "sha256": "1c01474f906a63e552c0d590b272c95821c00a100b3e79e58e67dbbeac341a14" + }, + { + "path": "crates/oa-core/src/ports.rs", + "bytes": 45413, + "sha256": "5cac12eea70a54ebebbd6be77b63ce92e3195325c4bc7d27705c518686cbac80" + }, + { + "path": "crates/oa-core/src/projection.rs", + "bytes": 21374, + "sha256": "69ed12bace2cc5024e151752a174ab14034ac2d05eb741fcf13e9a27521c059b" + }, + { + "path": "crates/oa-core/src/projection/port_layout.rs", + "bytes": 13474, + "sha256": "a08d17d10a58bb8b206dd001b19b91d5aa3a9f743b298a4da57d503223c20079" + }, + { + "path": "crates/oa-core/src/projection/state.rs", + "bytes": 5233, + "sha256": "73a607bac713ec7ff49a509fefb1a53c7686dca93ee241ffc835564d743afb28" + }, + { + "path": "crates/oa-core/src/references.rs", + "bytes": 21957, + "sha256": "93553c234f32da35f1f41a7b83ad81c471c9803efa78ca222cf7de3c2f86c0bb" + }, + { + "path": "crates/oa-core/src/routing.rs", + "bytes": 50309, + "sha256": "c5ebb350ba76f731f5c48d968bfbba4b6ef68ec046eb5893d116c4637ef15080" + }, + { + "path": "crates/oa-core/src/semantic.rs", + "bytes": 540, + "sha256": "f9895dd5b8fb27d10d4cfbb41c3542ef2018365a589b8d5778e5674ae5a1f239" + }, + { + "path": "crates/oa-core/src/semantic/catalog.rs", + "bytes": 49407, + "sha256": "1ff74fcca18084d178681d7ff38ee1ccac632c27c4de0595ba1ceab8067ab3a4" + }, + { + "path": "crates/oa-core/src/semantic/historical.rs", + "bytes": 15271, + "sha256": "eaf3284bf234312698514cdb636bc8348e1b5d746cb16b18df777e77d312abfb" + }, + { + "path": "crates/oa-core/src/semantic/linked.rs", + "bytes": 6035, + "sha256": "6f335b14e809aecfc35defcaf77cb821b080d1506dbc46297912b25af98c07a2" + }, + { + "path": "crates/oa-core/src/semantic/mutate.rs", + "bytes": 22683, + "sha256": "dc2b4c4a6eb156fe468eaa8c85fd37a505c0cd8ea1f226cb69cd01689afd3d9d" + }, + { + "path": "crates/oa-core/src/semantic/review.rs", + "bytes": 51116, + "sha256": "0c157d2c327e72e89cca3b423e71ee73798105c5bb7271439c1a101642c91e3e" + }, + { + "path": "crates/oa-core/src/semantic/types.rs", + "bytes": 10405, + "sha256": "6922fe35089f12fad43ab0ce1c6886d01a3855f90b8e2543e99802ac5e6f1bbb" + }, + { + "path": "crates/oa-core/src/session.rs", + "bytes": 35237, + "sha256": "1eb77b329b2986fc6f5dc0171e77fd860375cdfd8c769a1367b445d6c49ebe00" + }, + { + "path": "crates/oa-core/src/source_files.rs", + "bytes": 74803, + "sha256": "669491dbddb8e8e6556161426dffa1a49ac1c826d31020bff0956d81a4d84683" + }, + { + "path": "crates/oa-core/src/source_project.rs", + "bytes": 61843, + "sha256": "1394370bcc5908873b830c2c11312e6e1611af41f46c4f43ca0a6bcb713bb466" + }, + { + "path": "crates/oa-core/src/source_project/source_migration.rs", + "bytes": 4700, + "sha256": "add463ae85c420f853d324b00a221f0f874164cc3f3ed6bbb07557a9ed7a8c95" + }, + { + "path": "crates/oa-core/src/source_project/source_structure.rs", + "bytes": 20225, + "sha256": "9f1f83315856a7025fe662c0fbb13452f31613224a03663150d6225d1ddc162f" + }, + { + "path": "crates/oa-core/src/state_validation.rs", + "bytes": 15665, + "sha256": "e28d7f74385e2a78763716b34491bd73a00bfeccc085970ceb130627e3faee18" + }, + { + "path": "crates/oa-core/src/topology_context.rs", + "bytes": 13734, + "sha256": "16de69b297de95d93c73808621607833b713af811dd082f0169186ae1e5c3e2d" + }, + { + "path": "crates/oa-core/src/topology_context/analysis.rs", + "bytes": 20036, + "sha256": "dead6194f0aa60cc46045c0e5ee10dbdbb689158c38634dfbbbc45d2ba88ac65" + }, + { + "path": "crates/oa-core/src/topology_context/analysis_tests.rs", + "bytes": 5258, + "sha256": "17839263410815e96fe027d4eba3aae0a9ab3b82b16947e2b29ebe0d09782b56" + }, + { + "path": "crates/oa-core/src/transitions.rs", + "bytes": 51998, + "sha256": "fadd1b07b89cae4117b91abb4f1ac9ea81ff818ef20f2175e76ee8cf21fb708d" + }, + { + "path": "crates/oa-core/src/transitions/communication.rs", + "bytes": 8634, + "sha256": "2b476630a88edd9021b9156ca12a5402e01604095f0d4002afb452671903a028" + }, + { + "path": "crates/oa-core/src/validation.rs", + "bytes": 112792, + "sha256": "7c1b4ae5e4ebba13e99af9158ccde138dfc5e9a7afb580e76fba72d0b64ba74e" + }, + { + "path": "crates/oa-core/src/validation/coverage.rs", + "bytes": 6478, + "sha256": "b08e4b344ecad055714168c83beff7fe29ba4edc53edbffa2eae04e5580a4d5f" + }, + { + "path": "crates/oa-core/src/view_options.rs", + "bytes": 24481, + "sha256": "421ede0a04c593ca1df0e6e0d06fabcfcc8113cdbcfb0adc7f5c8ef4d1724208" + }, + { + "path": "crates/oa-core/src/view_options_tests.rs", + "bytes": 21433, + "sha256": "64aac44de2df42a1012239a3dd75c473daf0c8990b3170b7bf7e78a556080208" + }, + { + "path": "crates/oa-core/tests/communication_boundary_scenarios.rs", + "bytes": 8816, + "sha256": "e1100b8f363910a487d90c73acc7df543dc6d532158c3c63ad11cd3d40d8e12b" + }, + { + "path": "crates/oa-core/tests/communication_means.rs", + "bytes": 18102, + "sha256": "a25f2749180bc6f4beb1445bfad3351eedf0669131a7439b633ab804439e95a4" + }, + { + "path": "crates/oa-core/tests/coverage_diagnostics.rs", + "bytes": 20527, + "sha256": "e2e9c3996daab47f2bd23f5d8c48b4e372af33331152f5fc85b76f06d04fcdf4" + }, + { + "path": "crates/oa-core/tests/fixtures/v2-coastal-rescue.arcadia", + "bytes": 29220, + "sha256": "f0df129c1914bfc01d0b047b0cd4b520d8cf0c249ea9ced085de400c0be87ff3" + }, + { + "path": "crates/oa-core/tests/fixtures/v2-coastal-rescue.json", + "bytes": 43990, + "sha256": "3ed53508eb544bbd788832f7bebea2ec31b3d66191f24f45098cc9750ec4c005" + }, + { + "path": "crates/oa-core/tests/fixtures/v3-data-contract.arcadia", + "bytes": 2450, + "sha256": "305f19d1b79f99f8d4cf627ba2e9ca6836bb7959cc0070227815937a699eafea" + }, + { + "path": "crates/oa-core/tests/fixtures/v3-data-contract.json", + "bytes": 8240, + "sha256": "1b41299c53204e6232397d25a58d5bccdbbc16e770c75e8edb55ce36ccfe58a2" + }, + { + "path": "crates/oa-core/tests/fixtures/v4-reviewed-prose.arcadia", + "bytes": 1222, + "sha256": "5fa53a26a5ad010c8e59eb56d9b2b52003569e66c0377ffb58840590168ad0c1" + }, + { + "path": "crates/oa-core/tests/fixtures/v4-reviewed-prose.json", + "bytes": 1734, + "sha256": "2808088afcc165f4bd6da5129151143411c997041c3de61d600ab76e05d24a47" + }, + { + "path": "crates/oa-core/tests/language.rs", + "bytes": 56482, + "sha256": "77f6cb2a69976bfb5f60b243b71c07fb0edc7505002c1e9e73fcd6ddf6d9496e" + }, + { + "path": "crates/oa-core/tests/port_anchors.rs", + "bytes": 26893, + "sha256": "efbc0fa18733b1aaac501f9785a4c392fc49c05c45a5778d26e9b5dd951ca6fa" + }, + { + "path": "crates/oa-core/tests/port_migration.rs", + "bytes": 15620, + "sha256": "1801c376a5435ac7efb2a8342348b2c7ffef930bba65deca4acb66b06e0483d7" + }, + { + "path": "crates/oa-core/tests/port_source.rs", + "bytes": 4858, + "sha256": "8d2ddaca4045d330f6eda2591561497b858aad53769a823249d0bea4f5916e12" + }, + { + "path": "crates/oa-core/tests/prepared_commands.rs", + "bytes": 9555, + "sha256": "52cab1c668064777412df0a6a3c20d74d579b33794b4b00525b9f151c06eac9b" + }, + { + "path": "crates/oa-core/tests/process_diagnostics.rs", + "bytes": 1104, + "sha256": "1dbbc590239ef7542be4a2bdc9543aaa64d108417b03dd312a0894e364745906" + }, + { + "path": "crates/oa-core/tests/r3_constructor_ack.rs", + "bytes": 24163, + "sha256": "e5c44676ea0aab97f2e091ddac2f4bc4a4a90f5877f7bbf08b61229600944dd0" + }, + { + "path": "crates/oa-core/tests/r3_migration.rs", + "bytes": 6590, + "sha256": "ebd04120f5215b3956fdc79ee78f6e38734c7d13392f1fc28aaba957912265bd" + }, + { + "path": "crates/oa-core/tests/r3_semantic.rs", + "bytes": 77473, + "sha256": "49c3763eaf2131070a7c46cc23a84f917d292d41610b6404510e5607f8890c32" + }, + { + "path": "crates/oa-core/tests/r3_source.rs", + "bytes": 15311, + "sha256": "f31f60659df3c7ef601650d1cff140589d8729f01a3f65a4a6a6c2272f15c408" + }, + { + "path": "crates/oa-core/tests/r6_data.rs", + "bytes": 41437, + "sha256": "5f7ffb3bc73c3c85423623fe56f8680646dc97040327bdbead9d47a37e80f155" + }, + { + "path": "crates/oa-core/tests/r6_migration.rs", + "bytes": 9174, + "sha256": "81519bc1512f5e069432e9a1cdad04c10216d492df01b4b75b02102480ebd6a1" + }, + { + "path": "crates/oa-core/tests/r6_source.rs", + "bytes": 9519, + "sha256": "88a0aa087a7678e2898ff6057538072ca92072190712f05fff08372cc56ebed6" + }, + { + "path": "crates/oa-core/tests/release1_teaching.rs", + "bytes": 10010, + "sha256": "be179290d871125dc97cfd2a3067c7ac89c8a538fdb0afafc5b825bcdfb2bef2" + }, + { + "path": "crates/oa-core/tests/release_capabilities.rs", + "bytes": 19422, + "sha256": "b92cba2a562e78287ddd7dc3e94557848d17faa0c8a102601b50286b9af48a30" + }, + { + "path": "crates/oa-core/tests/release_diagrams.rs", + "bytes": 7689, + "sha256": "cefcc0582d91266d5de6ee5daefcfe41b606ab971ab235b59034a8e1dbc24b7d" + }, + { + "path": "crates/oa-core/tests/release_language_limits.rs", + "bytes": 5204, + "sha256": "8578da4f76bbd2d0e1bfe295ab1259e2162a3fe3d0d2ba8901915d7a40942806" + }, + { + "path": "crates/oa-core/tests/release_ports.rs", + "bytes": 32740, + "sha256": "506e62beab0c7ec0cece83e9e0c1a810fa1f99285c9e1cab0c77f06de55a40e1" + }, + { + "path": "crates/oa-core/tests/release_routing.rs", + "bytes": 23165, + "sha256": "ae168faaba23769b7ca1fd65f217b9db671726e67276eb5a04e5e72b1447a462" + }, + { + "path": "crates/oa-core/tests/release_scenarios.rs", + "bytes": 41067, + "sha256": "0f5d876badeec653fc7b12610a77d867e9a53582e605253deff8d379da21572f" + }, + { + "path": "crates/oa-core/tests/release_states.rs", + "bytes": 26873, + "sha256": "b1a26acee95eaba7f9920f9da738a1e33606552eb078e6d298895daff7e3d811" + }, + { + "path": "crates/oa-core/tests/release_topology.rs", + "bytes": 17643, + "sha256": "c51dbe5aa5a038f9ed830daa02aa67714472179eb7fd6da5ce36dc6931c8b3a9" + }, + { + "path": "crates/oa-core/tests/review_regressions.rs", + "bytes": 21823, + "sha256": "f154e5c88d35e31512e2b07733a1327ea3e2fcfd1ef8eb23066a4e9573f387c1" + }, + { + "path": "crates/oa-core/tests/route_source.rs", + "bytes": 7270, + "sha256": "1a73fdbac0d0ae0e84d8d67b6ad398e11223958f5dca007f73757c91827decfb" + }, + { + "path": "crates/oa-core/tests/routing_geometry.rs", + "bytes": 31890, + "sha256": "2d8eea4a2bba535ed0ea6daabccdaf87b375828c404baa10518c7bd7fd6253d3" + }, + { + "path": "crates/oa-core/tests/routing_labels.rs", + "bytes": 5530, + "sha256": "dff884d799c3c5c9257210248c55767e294e3cb317c605cbd0ddc9600c216eb6" + }, + { + "path": "crates/oa-core/tests/semantic_artifact_absence_oracle.rs", + "bytes": 4640, + "sha256": "d93eaf9667f4221232168bef0fe9f069e5be1b1f23410bda5dd67010b96e5c8a" + }, + { + "path": "crates/oa-core/tests/semantic_attachments_gui_oracle.rs", + "bytes": 14957, + "sha256": "7f526d363ba05e7ac89faf0fead0796e419c34ee204edf44a1b46c78308b0970" + }, + { + "path": "crates/oa-core/tests/source6_view_contract.rs", + "bytes": 14307, + "sha256": "fa566de53946d40bbbd9033edfeed177180c4dc44afa2f2f4667ffdc622eb3bb" + }, + { + "path": "crates/oa-core/tests/source7_contract.rs", + "bytes": 43262, + "sha256": "cad4f1a135ddbd947bdf3c71d1b44f1e438725095ea8c4d893464bc721c2363f" + }, + { + "path": "crates/oa-core/tests/source_files.rs", + "bytes": 13168, + "sha256": "f0429a0b89a443458ea9af7083c1e4e7411417a7e6b47e618bfbb9266dc164f9" + }, + { + "path": "crates/oa-core/tests/source_identity_updates.rs", + "bytes": 5139, + "sha256": "f52aa38b4d317e532c641ad7463472e4b40e802e60052cf0017556ffc63da06c" + }, + { + "path": "crates/oa-core/tests/source_nested_updates.rs", + "bytes": 16892, + "sha256": "9ac3390936c0d250651ea94a1b8faf0adfb680f061ececc56f2a52909b5ba855" + }, + { + "path": "crates/oa-core/tests/source_project.rs", + "bytes": 45910, + "sha256": "cef58adb16aa4d2527ddc0628aec3e26f0b42b4be70014a7e360fafdac13a942" + }, + { + "path": "crates/oa-core/tests/state_diagrams.rs", + "bytes": 23973, + "sha256": "6b02b387a3ae559cb3ad72de24292a5abcb76aaac0adbab5d2aa5211b22cd2e5" + }, + { + "path": "crates/oa-core/tests/workflows.rs", + "bytes": 33426, + "sha256": "bd843dfddbd5724ec08f657571f887496203056fe2fa5864ef50a168a613b89b" + }, + { + "path": "rust-toolchain.toml", + "bytes": 66, + "sha256": "a6a0bbd29ffaa8182dc22d1d9149709f1091e47df40ed96eb8a78a711c66a4ce" + } +] diff --git a/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/navigation-palette-20260913-01/oracle-self-check-e124029/run.json b/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/navigation-palette-20260913-01/oracle-self-check-e124029/run.json new file mode 100644 index 00000000..3763072f --- /dev/null +++ b/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/navigation-palette-20260913-01/oracle-self-check-e124029/run.json @@ -0,0 +1,55 @@ +{ + "start": "2026-09-13T03:36:59.821654+00:00", + "end": "2026-09-13T03:37:01.684528+00:00", + "source": "e1240295bd114d23d3f67a69e6b38bdb2e25bb0d", + "command": [ + "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\native-qa\\navigation-oracle-e124029\\navigation-oracle-e124029.exe", + "self-check" + ], + "exit": 0, + "outcome": "passed", + "failure": null, + "changed_inputs": [], + "inputs_unchanged": true, + "inputs_before": { + "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\native-qa\\navigation-oracle-e124029\\navigation-oracle-e124029.exe": { + "bytes": 21025792, + "sha256": "8937a59a0e1c51619087b43ab059a6e9af3eef9d69dd2735601143ece3452ada" + }, + "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\llvm-mingw-20260908-ucrt-x86_64\\bin\\libunwind.dll": { + "bytes": 190464, + "sha256": "aa282fa47bb2c4e210cea5e470cdbdca58568f0be0bc73e404d86ab9cd95ef6a" + }, + "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\native-qa\\navigation-oracle-e124029\\build.json": { + "bytes": 7770, + "sha256": "27ff0d612a5b9e4c378ae135745f266acfbf498af9f503d9e04f45ceed19a35a" + }, + "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\navigation-palette-gates-20260913\\list-e124029.inputs.json": { + "bytes": 107751, + "sha256": "a011170b83ddc0c835428c10b2079b0df02d2bd6f90167f16b1297c683601a87" + } + }, + "input_trees": [], + "verified_core_inputs": 111, + "oracle_sha256": "8937a59a0e1c51619087b43ab059a6e9af3eef9d69dd2735601143ece3452ada", + "build": { + "path": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\native-qa\\navigation-oracle-e124029\\build.json", + "bytes": 7770, + "sha256": "27ff0d612a5b9e4c378ae135745f266acfbf498af9f503d9e04f45ceed19a35a" + }, + "launcher": { + "bytes": 5078, + "sha256": "b1d56ec226d7b6d5d5d1d00e4bc8727c016e44a6208831ea8d35ae142c097288" + }, + "scope": "Actual comparator/preparer execution; native actions are separate.", + "stdout": { + "path": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\native-qa\\navigation-palette-20260913-01\\oracle-self-check-e124029\\stdout.log", + "bytes": 390, + "sha256": "62cc1b1debb3f5f2d8d849bf33368acff09cd6a2997828ea4e124e95556849d7" + }, + "stderr": { + "path": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\native-qa\\navigation-palette-20260913-01\\oracle-self-check-e124029\\stderr.log", + "bytes": 4599, + "sha256": "c543d37239989250a2263cb890c42be01e49e45f6e9df3553daeda7628a91538" + } +} diff --git a/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/navigation-palette-20260913-01/oracle-self-check-e124029/stderr.log b/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/navigation-palette-20260913-01/oracle-self-check-e124029/stderr.log new file mode 100644 index 00000000..ae3f06bf --- /dev/null +++ b/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/navigation-palette-20260913-01/oracle-self-check-e124029/stderr.log @@ -0,0 +1,10 @@ +Permitted non-error diagnostic in C:\Temp\arcadia-delete-oracle-9064-1789270620839468500\project.arcadia: SourceDiagnostic { path: "project.arcadia", diagnostic: Diagnostic { severity: Warning, code: "missing_system", object_id: Some(de1e7e00-0000-4000-8000-000000000001), field: Some("elements"), line: 2, column: 1, message: "Identify the SA system of interest.", span: Span { start: 11, end: 91 } }, related: [] } +Permitted non-error diagnostic in C:\Temp\arcadia-delete-oracle-9064-1789270620839468500\project.arcadia: SourceDiagnostic { path: "project.arcadia", diagnostic: Diagnostic { severity: Warning, code: "unallocated_leaf", object_id: Some(de1e7e00-0000-4000-8000-00000000000b), field: Some("allocation"), line: 11, column: 5, message: "Allocate leaf 'Untouched work' to a performer.", span: Span { start: 283, end: 416 } }, related: [] } +Permitted non-error diagnostic in C:\Temp\arcadia-delete-oracle-9064-1789270620839468500\project.arcadia: SourceDiagnostic { path: "project.arcadia", diagnostic: Diagnostic { severity: Warning, code: "empty_sequence", object_id: Some(de1e7e00-0000-4000-8000-000000000014), field: Some("steps"), line: 27, column: 15, message: "Add ordered occurrences.", span: Span { start: 780, end: 782 } }, related: [] } +Permitted non-error diagnostic in C:\Temp\arcadia-delete-oracle-9064-1789270620839468500\project.arcadia: SourceDiagnostic { path: "project.arcadia", diagnostic: Diagnostic { severity: Warning, code: "unallocated_leaf", object_id: Some(de1e7e00-0000-4000-8000-000000000032), field: Some("allocation"), line: 37, column: 5, message: "Allocate leaf 'SA Initialize controller' to a performer.", span: Span { start: 1013, end: 1156 } }, related: [] } +Permitted non-error diagnostic in C:\Temp\arcadia-delete-oracle-9064-1789270620839468500\project.arcadia: SourceDiagnostic { path: "project.arcadia", diagnostic: Diagnostic { severity: Warning, code: "machine_owner", object_id: Some(de1e7e00-0000-4000-8000-000000000033), field: Some("parent"), line: 44, column: 16, message: "Assign a state-machine owner.", span: Span { start: 1294, end: 1298 } }, related: [] } +Permitted non-error diagnostic in C:\Temp\arcadia-delete-oracle-9064-1789270620839468500\project.arcadia: SourceDiagnostic { path: "project.arcadia", diagnostic: Diagnostic { severity: Warning, code: "unreachable_state", object_id: Some(de1e7e00-0000-4000-8000-000000000035), field: Some("body"), line: 52, column: 5, message: "No structural path from a machine entry reaches this vertex; review entry, nesting and transitions (guards are not executed).", span: Span { start: 1454, end: 1663 } }, related: [] } +Permitted non-error diagnostic in C:\Temp\arcadia-delete-oracle-9064-1789270620839468500\project.arcadia: SourceDiagnostic { path: "project.arcadia", diagnostic: Diagnostic { severity: Warning, code: "missing_initial", object_id: Some(de1e7e00-0000-4000-8000-000000000034), field: Some("parent"), line: 49, column: 16, message: "Add an Initial default entry or an explicit incoming entry path for this region.", span: Span { start: 1431, end: 1441 } }, related: [] } +Permitted non-error diagnostic in C:\Temp\arcadia-delete-oracle-9064-1789270620839468500\project.arcadia: SourceDiagnostic { path: "project.arcadia", diagnostic: Diagnostic { severity: Warning, code: "work_without_behavior_context", object_id: Some(de1e7e00-0000-4000-8000-00000000000a), field: None, line: 6, column: 5, message: "Include this leaf activity/function in a process/chain or scenario through a work action or exchange occurrence.", span: Span { start: 147, end: 277 } }, related: [] } +Permitted non-error diagnostic in C:\Temp\arcadia-delete-oracle-9064-1789270620839468500\project.arcadia: SourceDiagnostic { path: "project.arcadia", diagnostic: Diagnostic { severity: Warning, code: "work_without_behavior_context", object_id: Some(de1e7e00-0000-4000-8000-00000000000b), field: None, line: 11, column: 5, message: "Include this leaf activity/function in a process/chain or scenario through a work action or exchange occurrence.", span: Span { start: 283, end: 416 } }, related: [] } +Permitted non-error diagnostic in C:\Temp\arcadia-delete-oracle-9064-1789270620839468500\project.arcadia: SourceDiagnostic { path: "project.arcadia", diagnostic: Diagnostic { severity: Warning, code: "work_without_behavior_context", object_id: Some(de1e7e00-0000-4000-8000-000000000032), field: None, line: 37, column: 5, message: "Include this leaf activity/function in a process/chain or scenario through a work action or exchange occurrence.", span: Span { start: 1013, end: 1156 } }, related: [] } diff --git a/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/navigation-palette-20260913-01/oracle-self-check-e124029/stdout.log b/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/navigation-palette-20260913-01/oracle-self-check-e124029/stdout.log new file mode 100644 index 00000000..6cfaaff1 --- /dev/null +++ b/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/navigation-palette-20260913-01/oracle-self-check-e124029/stdout.log @@ -0,0 +1,2 @@ +PASS alias self-check: exact token expectation, full alias-only model/UUIDs, comments/strings/CRLF/other files, no-op/wrong alias/wrong target/partial reference/unrelated-file refusals +PASS self-check: exact candidate/source, wrong target, no-op, unrelated changes, placement/model distinction, crossrefs, source-byte falsifiers, disk warning admission and missing-include/syntax rejection diff --git a/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/navigation-palette-20260913-01/oracle-self-check-e124029/verified-core-inputs.json b/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/navigation-palette-20260913-01/oracle-self-check-e124029/verified-core-inputs.json new file mode 100644 index 00000000..45621455 --- /dev/null +++ b/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/navigation-palette-20260913-01/oracle-self-check-e124029/verified-core-inputs.json @@ -0,0 +1,557 @@ +[ + { + "path": "Cargo.lock", + "bytes": 119998, + "sha256": "826fad8a8176d7acbb9007db88c123dd25b8a5efcad7a33a8da8a4e0c6e3394f" + }, + { + "path": "Cargo.toml", + "bytes": 400, + "sha256": "369f5b4b2b60705a94623c8c0b68f8e0b048f263280ce07ae0629ad353797d62" + }, + { + "path": "crates/oa-core/Cargo.toml", + "bytes": 408, + "sha256": "6b5c062474ebb62d5082e07dabed99ee85e4a833edf26690fb4f887028d3416f" + }, + { + "path": "crates/oa-core/build.rs", + "bytes": 45, + "sha256": "ab1be6ae1fd8bf3ebaeef6348347a9d5e666bde693126f199e041659e0b094a9" + }, + { + "path": "crates/oa-core/examples/generate_demo.rs", + "bytes": 795, + "sha256": "e26f432c95331aeca50985dbb3ad2c558affd43023b585811f0f7bfaa59f6661" + }, + { + "path": "crates/oa-core/examples/generate_release1.rs", + "bytes": 1798, + "sha256": "1d5f11165d74893e4bc18dbf3a2f2111f4026bd89fd06ee7f0bae69e45c4d4b5" + }, + { + "path": "crates/oa-core/examples/release_dense_views.rs", + "bytes": 14664, + "sha256": "a83158488ef9b7394f136c52b1496719be935c4e5bdfe457cab5c9894f5f9412" + }, + { + "path": "crates/oa-core/examples/routing_workshop.rs", + "bytes": 17248, + "sha256": "571307b18b6d4fa04700c5a4d4b0c2154c419e93a21292b2028e7b6f46a2faa7" + }, + { + "path": "crates/oa-core/src/analysis_numeric.rs", + "bytes": 3735, + "sha256": "6c88eef3119162aeb6c07b9e75812c3af9fbfe75554b0503ad00f103cb478408" + }, + { + "path": "crates/oa-core/src/analysis_numeric/dimension.rs", + "bytes": 3045, + "sha256": "d4ad8e5307a1620e31791d724a0e31fdba860d00dc83e3e1f2209d9c5e22a340" + }, + { + "path": "crates/oa-core/src/analysis_numeric/exact.rs", + "bytes": 17338, + "sha256": "4eb8cb0f66b10e5da204899af82ee26adfec74bab47b1a6c9842b5488ee04c4d" + }, + { + "path": "crates/oa-core/src/analysis_numeric/fixtures/r7-literal-boundaries.json", + "bytes": 6085, + "sha256": "3b959dec5e100a6f03817f5314bef497347ba579ebd235476516d4bd83399181" + }, + { + "path": "crates/oa-core/src/analysis_numeric/meter.rs", + "bytes": 7129, + "sha256": "1f7174beb992935b4c399acdef91114af73faf041070feab968455ac827e8ee4" + }, + { + "path": "crates/oa-core/src/analysis_numeric/quantity.rs", + "bytes": 12257, + "sha256": "ead5142d6eeea8f99399d57e02d8f7d819980923de76387cd454694d6a747aee" + }, + { + "path": "crates/oa-core/src/analysis_numeric/tests.rs", + "bytes": 27486, + "sha256": "323ce82fc057d36f44463569fd8ea324c7d700fddfbf32bce15e04bd2a66970b" + }, + { + "path": "crates/oa-core/src/data.rs", + "bytes": 42696, + "sha256": "7f9c7c7dd8353cb5a38597b92cde6d3e890203d392473187eb387d41ff37414a" + }, + { + "path": "crates/oa-core/src/demo.rs", + "bytes": 20657, + "sha256": "ad62123f96c20ff023cafc1a9849b0fa06bc62edd1fb9701799e4599b458600c" + }, + { + "path": "crates/oa-core/src/language.rs", + "bytes": 105312, + "sha256": "34cbb144a111e6f0ddadfca7d40636a8e3323fe65ea8920fd2402f0352b41f57" + }, + { + "path": "crates/oa-core/src/language/semantic_source.rs", + "bytes": 7326, + "sha256": "584b5bb59d87a7b8d44d5dd2d124c3a1323b21492b138a17bc9526c0087c9e29" + }, + { + "path": "crates/oa-core/src/language_nesting_tests.rs", + "bytes": 20639, + "sha256": "bd061611e8cb6f28ab203c73e544ac98bf275eb464cd314ad5fbd25f773df33b" + }, + { + "path": "crates/oa-core/src/language_outline_tests.rs", + "bytes": 14877, + "sha256": "4c79a01e8aea243dd9ef66ce71b9fae263d0e79c319a46c51223679897e8b9df" + }, + { + "path": "crates/oa-core/src/lib.rs", + "bytes": 549, + "sha256": "ea1d9bf5acba8381ba204db12ff5b5fe1f320417d17af517e46b90fd6bcb241c" + }, + { + "path": "crates/oa-core/src/migration_v2/README.md", + "bytes": 1515, + "sha256": "fb61d3faa33d7bdfba73415415a0882c0fbd3e0b45df42f972a19aec6da927b9" + }, + { + "path": "crates/oa-core/src/migration_v2/adapter.rs", + "bytes": 9490, + "sha256": "66741b4c8354a23b8a932ecc5bf1bc3bb6e74279558757b8c35bc2157a7e51b5" + }, + { + "path": "crates/oa-core/src/migration_v2/mod.rs", + "bytes": 1158, + "sha256": "857d8bb13b6814daba6780ca770c16352943c01cb130245d055f11b3b957b3e9" + }, + { + "path": "crates/oa-core/src/migration_v2/model.rs", + "bytes": 52059, + "sha256": "8ac63eb59b2e57bdecff2477ee0634096090924d3dd1851e1c454880a889dacb" + }, + { + "path": "crates/oa-core/src/migration_v2/references.rs", + "bytes": 13369, + "sha256": "33a6819abc83139fdaebeebd1b553238a328637106cce7dd5a535f1791d43e20" + }, + { + "path": "crates/oa-core/src/migration_v2/source.rs", + "bytes": 21946, + "sha256": "74fee9b24e7c912182c998ab9d9aeec125e2009c3214959229e844c67afe2bf6" + }, + { + "path": "crates/oa-core/src/migration_v2/state_validation.rs", + "bytes": 15769, + "sha256": "e29ef071bab0a68460ddf55c46131c6f66c022d52c3c602c37c013c3649da1b0" + }, + { + "path": "crates/oa-core/src/migration_v2/transitions.rs", + "bytes": 704, + "sha256": "f74174c532ba56b57c80b719a11fb4adea0a78ccc2828fff72fe2b9eda5a10b1" + }, + { + "path": "crates/oa-core/src/migration_v2/validation.rs", + "bytes": 98736, + "sha256": "6d5e4a4e2805ae5045bf789a0485e14a61c63346587bace2b4a91173a688f780" + }, + { + "path": "crates/oa-core/src/migration_v3/README.md", + "bytes": 2128, + "sha256": "3755a63f840d7f0eadf68afa7a9d587877a9468ff982d3610539e8a0bb067a82" + }, + { + "path": "crates/oa-core/src/migration_v3/mod.rs", + "bytes": 23023, + "sha256": "f4edb6a0b50ecfe8670973776d703047b064420cb1f05913129c00fc656b3722" + }, + { + "path": "crates/oa-core/src/migration_v4.rs", + "bytes": 4020, + "sha256": "50c652964f0f309e7f3f54b6ef12c40d42fcecc0490f005995c713df1179af70" + }, + { + "path": "crates/oa-core/src/model.rs", + "bytes": 66352, + "sha256": "4585c895c64c4a183941c92cf047a9e52ff0cbe41971e16e78d229ea9dc101fb" + }, + { + "path": "crates/oa-core/src/operations.rs", + "bytes": 11405, + "sha256": "a5ffbbf54cd440316a106d1188bfb699b57dae59f466edcb33618c333cd19f41" + }, + { + "path": "crates/oa-core/src/persistence.rs", + "bytes": 31774, + "sha256": "1c01474f906a63e552c0d590b272c95821c00a100b3e79e58e67dbbeac341a14" + }, + { + "path": "crates/oa-core/src/ports.rs", + "bytes": 45413, + "sha256": "5cac12eea70a54ebebbd6be77b63ce92e3195325c4bc7d27705c518686cbac80" + }, + { + "path": "crates/oa-core/src/projection.rs", + "bytes": 21374, + "sha256": "69ed12bace2cc5024e151752a174ab14034ac2d05eb741fcf13e9a27521c059b" + }, + { + "path": "crates/oa-core/src/projection/port_layout.rs", + "bytes": 13474, + "sha256": "a08d17d10a58bb8b206dd001b19b91d5aa3a9f743b298a4da57d503223c20079" + }, + { + "path": "crates/oa-core/src/projection/state.rs", + "bytes": 5233, + "sha256": "73a607bac713ec7ff49a509fefb1a53c7686dca93ee241ffc835564d743afb28" + }, + { + "path": "crates/oa-core/src/references.rs", + "bytes": 21957, + "sha256": "93553c234f32da35f1f41a7b83ad81c471c9803efa78ca222cf7de3c2f86c0bb" + }, + { + "path": "crates/oa-core/src/routing.rs", + "bytes": 50309, + "sha256": "c5ebb350ba76f731f5c48d968bfbba4b6ef68ec046eb5893d116c4637ef15080" + }, + { + "path": "crates/oa-core/src/semantic.rs", + "bytes": 540, + "sha256": "f9895dd5b8fb27d10d4cfbb41c3542ef2018365a589b8d5778e5674ae5a1f239" + }, + { + "path": "crates/oa-core/src/semantic/catalog.rs", + "bytes": 49407, + "sha256": "1ff74fcca18084d178681d7ff38ee1ccac632c27c4de0595ba1ceab8067ab3a4" + }, + { + "path": "crates/oa-core/src/semantic/historical.rs", + "bytes": 15271, + "sha256": "eaf3284bf234312698514cdb636bc8348e1b5d746cb16b18df777e77d312abfb" + }, + { + "path": "crates/oa-core/src/semantic/linked.rs", + "bytes": 6035, + "sha256": "6f335b14e809aecfc35defcaf77cb821b080d1506dbc46297912b25af98c07a2" + }, + { + "path": "crates/oa-core/src/semantic/mutate.rs", + "bytes": 22683, + "sha256": "dc2b4c4a6eb156fe468eaa8c85fd37a505c0cd8ea1f226cb69cd01689afd3d9d" + }, + { + "path": "crates/oa-core/src/semantic/review.rs", + "bytes": 51116, + "sha256": "0c157d2c327e72e89cca3b423e71ee73798105c5bb7271439c1a101642c91e3e" + }, + { + "path": "crates/oa-core/src/semantic/types.rs", + "bytes": 10405, + "sha256": "6922fe35089f12fad43ab0ce1c6886d01a3855f90b8e2543e99802ac5e6f1bbb" + }, + { + "path": "crates/oa-core/src/session.rs", + "bytes": 35237, + "sha256": "1eb77b329b2986fc6f5dc0171e77fd860375cdfd8c769a1367b445d6c49ebe00" + }, + { + "path": "crates/oa-core/src/source_files.rs", + "bytes": 74803, + "sha256": "669491dbddb8e8e6556161426dffa1a49ac1c826d31020bff0956d81a4d84683" + }, + { + "path": "crates/oa-core/src/source_project.rs", + "bytes": 61843, + "sha256": "1394370bcc5908873b830c2c11312e6e1611af41f46c4f43ca0a6bcb713bb466" + }, + { + "path": "crates/oa-core/src/source_project/source_migration.rs", + "bytes": 4700, + "sha256": "add463ae85c420f853d324b00a221f0f874164cc3f3ed6bbb07557a9ed7a8c95" + }, + { + "path": "crates/oa-core/src/source_project/source_structure.rs", + "bytes": 20225, + "sha256": "9f1f83315856a7025fe662c0fbb13452f31613224a03663150d6225d1ddc162f" + }, + { + "path": "crates/oa-core/src/state_validation.rs", + "bytes": 15665, + "sha256": "e28d7f74385e2a78763716b34491bd73a00bfeccc085970ceb130627e3faee18" + }, + { + "path": "crates/oa-core/src/topology_context.rs", + "bytes": 13734, + "sha256": "16de69b297de95d93c73808621607833b713af811dd082f0169186ae1e5c3e2d" + }, + { + "path": "crates/oa-core/src/topology_context/analysis.rs", + "bytes": 20036, + "sha256": "dead6194f0aa60cc46045c0e5ee10dbdbb689158c38634dfbbbc45d2ba88ac65" + }, + { + "path": "crates/oa-core/src/topology_context/analysis_tests.rs", + "bytes": 5258, + "sha256": "17839263410815e96fe027d4eba3aae0a9ab3b82b16947e2b29ebe0d09782b56" + }, + { + "path": "crates/oa-core/src/transitions.rs", + "bytes": 51998, + "sha256": "fadd1b07b89cae4117b91abb4f1ac9ea81ff818ef20f2175e76ee8cf21fb708d" + }, + { + "path": "crates/oa-core/src/transitions/communication.rs", + "bytes": 8634, + "sha256": "2b476630a88edd9021b9156ca12a5402e01604095f0d4002afb452671903a028" + }, + { + "path": "crates/oa-core/src/validation.rs", + "bytes": 112792, + "sha256": "7c1b4ae5e4ebba13e99af9158ccde138dfc5e9a7afb580e76fba72d0b64ba74e" + }, + { + "path": "crates/oa-core/src/validation/coverage.rs", + "bytes": 6478, + "sha256": "b08e4b344ecad055714168c83beff7fe29ba4edc53edbffa2eae04e5580a4d5f" + }, + { + "path": "crates/oa-core/src/view_options.rs", + "bytes": 24481, + "sha256": "421ede0a04c593ca1df0e6e0d06fabcfcc8113cdbcfb0adc7f5c8ef4d1724208" + }, + { + "path": "crates/oa-core/src/view_options_tests.rs", + "bytes": 21433, + "sha256": "64aac44de2df42a1012239a3dd75c473daf0c8990b3170b7bf7e78a556080208" + }, + { + "path": "crates/oa-core/tests/communication_boundary_scenarios.rs", + "bytes": 8816, + "sha256": "e1100b8f363910a487d90c73acc7df543dc6d532158c3c63ad11cd3d40d8e12b" + }, + { + "path": "crates/oa-core/tests/communication_means.rs", + "bytes": 18102, + "sha256": "a25f2749180bc6f4beb1445bfad3351eedf0669131a7439b633ab804439e95a4" + }, + { + "path": "crates/oa-core/tests/coverage_diagnostics.rs", + "bytes": 20527, + "sha256": "e2e9c3996daab47f2bd23f5d8c48b4e372af33331152f5fc85b76f06d04fcdf4" + }, + { + "path": "crates/oa-core/tests/fixtures/v2-coastal-rescue.arcadia", + "bytes": 29220, + "sha256": "f0df129c1914bfc01d0b047b0cd4b520d8cf0c249ea9ced085de400c0be87ff3" + }, + { + "path": "crates/oa-core/tests/fixtures/v2-coastal-rescue.json", + "bytes": 43990, + "sha256": "3ed53508eb544bbd788832f7bebea2ec31b3d66191f24f45098cc9750ec4c005" + }, + { + "path": "crates/oa-core/tests/fixtures/v3-data-contract.arcadia", + "bytes": 2450, + "sha256": "305f19d1b79f99f8d4cf627ba2e9ca6836bb7959cc0070227815937a699eafea" + }, + { + "path": "crates/oa-core/tests/fixtures/v3-data-contract.json", + "bytes": 8240, + "sha256": "1b41299c53204e6232397d25a58d5bccdbbc16e770c75e8edb55ce36ccfe58a2" + }, + { + "path": "crates/oa-core/tests/fixtures/v4-reviewed-prose.arcadia", + "bytes": 1222, + "sha256": "5fa53a26a5ad010c8e59eb56d9b2b52003569e66c0377ffb58840590168ad0c1" + }, + { + "path": "crates/oa-core/tests/fixtures/v4-reviewed-prose.json", + "bytes": 1734, + "sha256": "2808088afcc165f4bd6da5129151143411c997041c3de61d600ab76e05d24a47" + }, + { + "path": "crates/oa-core/tests/language.rs", + "bytes": 56482, + "sha256": "77f6cb2a69976bfb5f60b243b71c07fb0edc7505002c1e9e73fcd6ddf6d9496e" + }, + { + "path": "crates/oa-core/tests/port_anchors.rs", + "bytes": 26893, + "sha256": "efbc0fa18733b1aaac501f9785a4c392fc49c05c45a5778d26e9b5dd951ca6fa" + }, + { + "path": "crates/oa-core/tests/port_migration.rs", + "bytes": 15620, + "sha256": "1801c376a5435ac7efb2a8342348b2c7ffef930bba65deca4acb66b06e0483d7" + }, + { + "path": "crates/oa-core/tests/port_source.rs", + "bytes": 4858, + "sha256": "8d2ddaca4045d330f6eda2591561497b858aad53769a823249d0bea4f5916e12" + }, + { + "path": "crates/oa-core/tests/prepared_commands.rs", + "bytes": 9555, + "sha256": "52cab1c668064777412df0a6a3c20d74d579b33794b4b00525b9f151c06eac9b" + }, + { + "path": "crates/oa-core/tests/process_diagnostics.rs", + "bytes": 1104, + "sha256": "1dbbc590239ef7542be4a2bdc9543aaa64d108417b03dd312a0894e364745906" + }, + { + "path": "crates/oa-core/tests/r3_constructor_ack.rs", + "bytes": 24163, + "sha256": "e5c44676ea0aab97f2e091ddac2f4bc4a4a90f5877f7bbf08b61229600944dd0" + }, + { + "path": "crates/oa-core/tests/r3_migration.rs", + "bytes": 6590, + "sha256": "ebd04120f5215b3956fdc79ee78f6e38734c7d13392f1fc28aaba957912265bd" + }, + { + "path": "crates/oa-core/tests/r3_semantic.rs", + "bytes": 77473, + "sha256": "49c3763eaf2131070a7c46cc23a84f917d292d41610b6404510e5607f8890c32" + }, + { + "path": "crates/oa-core/tests/r3_source.rs", + "bytes": 15311, + "sha256": "f31f60659df3c7ef601650d1cff140589d8729f01a3f65a4a6a6c2272f15c408" + }, + { + "path": "crates/oa-core/tests/r6_data.rs", + "bytes": 41437, + "sha256": "5f7ffb3bc73c3c85423623fe56f8680646dc97040327bdbead9d47a37e80f155" + }, + { + "path": "crates/oa-core/tests/r6_migration.rs", + "bytes": 9174, + "sha256": "81519bc1512f5e069432e9a1cdad04c10216d492df01b4b75b02102480ebd6a1" + }, + { + "path": "crates/oa-core/tests/r6_source.rs", + "bytes": 9519, + "sha256": "88a0aa087a7678e2898ff6057538072ca92072190712f05fff08372cc56ebed6" + }, + { + "path": "crates/oa-core/tests/release1_teaching.rs", + "bytes": 10010, + "sha256": "be179290d871125dc97cfd2a3067c7ac89c8a538fdb0afafc5b825bcdfb2bef2" + }, + { + "path": "crates/oa-core/tests/release_capabilities.rs", + "bytes": 19422, + "sha256": "b92cba2a562e78287ddd7dc3e94557848d17faa0c8a102601b50286b9af48a30" + }, + { + "path": "crates/oa-core/tests/release_diagrams.rs", + "bytes": 7689, + "sha256": "cefcc0582d91266d5de6ee5daefcfe41b606ab971ab235b59034a8e1dbc24b7d" + }, + { + "path": "crates/oa-core/tests/release_language_limits.rs", + "bytes": 5204, + "sha256": "8578da4f76bbd2d0e1bfe295ab1259e2162a3fe3d0d2ba8901915d7a40942806" + }, + { + "path": "crates/oa-core/tests/release_ports.rs", + "bytes": 32740, + "sha256": "506e62beab0c7ec0cece83e9e0c1a810fa1f99285c9e1cab0c77f06de55a40e1" + }, + { + "path": "crates/oa-core/tests/release_routing.rs", + "bytes": 23165, + "sha256": "ae168faaba23769b7ca1fd65f217b9db671726e67276eb5a04e5e72b1447a462" + }, + { + "path": "crates/oa-core/tests/release_scenarios.rs", + "bytes": 41067, + "sha256": "0f5d876badeec653fc7b12610a77d867e9a53582e605253deff8d379da21572f" + }, + { + "path": "crates/oa-core/tests/release_states.rs", + "bytes": 26873, + "sha256": "b1a26acee95eaba7f9920f9da738a1e33606552eb078e6d298895daff7e3d811" + }, + { + "path": "crates/oa-core/tests/release_topology.rs", + "bytes": 17643, + "sha256": "c51dbe5aa5a038f9ed830daa02aa67714472179eb7fd6da5ce36dc6931c8b3a9" + }, + { + "path": "crates/oa-core/tests/review_regressions.rs", + "bytes": 21823, + "sha256": "f154e5c88d35e31512e2b07733a1327ea3e2fcfd1ef8eb23066a4e9573f387c1" + }, + { + "path": "crates/oa-core/tests/route_source.rs", + "bytes": 7270, + "sha256": "1a73fdbac0d0ae0e84d8d67b6ad398e11223958f5dca007f73757c91827decfb" + }, + { + "path": "crates/oa-core/tests/routing_geometry.rs", + "bytes": 31890, + "sha256": "2d8eea4a2bba535ed0ea6daabccdaf87b375828c404baa10518c7bd7fd6253d3" + }, + { + "path": "crates/oa-core/tests/routing_labels.rs", + "bytes": 5530, + "sha256": "dff884d799c3c5c9257210248c55767e294e3cb317c605cbd0ddc9600c216eb6" + }, + { + "path": "crates/oa-core/tests/semantic_artifact_absence_oracle.rs", + "bytes": 4640, + "sha256": "d93eaf9667f4221232168bef0fe9f069e5be1b1f23410bda5dd67010b96e5c8a" + }, + { + "path": "crates/oa-core/tests/semantic_attachments_gui_oracle.rs", + "bytes": 14957, + "sha256": "7f526d363ba05e7ac89faf0fead0796e419c34ee204edf44a1b46c78308b0970" + }, + { + "path": "crates/oa-core/tests/source6_view_contract.rs", + "bytes": 14307, + "sha256": "fa566de53946d40bbbd9033edfeed177180c4dc44afa2f2f4667ffdc622eb3bb" + }, + { + "path": "crates/oa-core/tests/source7_contract.rs", + "bytes": 43262, + "sha256": "cad4f1a135ddbd947bdf3c71d1b44f1e438725095ea8c4d893464bc721c2363f" + }, + { + "path": "crates/oa-core/tests/source_files.rs", + "bytes": 13168, + "sha256": "f0429a0b89a443458ea9af7083c1e4e7411417a7e6b47e618bfbb9266dc164f9" + }, + { + "path": "crates/oa-core/tests/source_identity_updates.rs", + "bytes": 5139, + "sha256": "f52aa38b4d317e532c641ad7463472e4b40e802e60052cf0017556ffc63da06c" + }, + { + "path": "crates/oa-core/tests/source_nested_updates.rs", + "bytes": 16892, + "sha256": "9ac3390936c0d250651ea94a1b8faf0adfb680f061ececc56f2a52909b5ba855" + }, + { + "path": "crates/oa-core/tests/source_project.rs", + "bytes": 45910, + "sha256": "cef58adb16aa4d2527ddc0628aec3e26f0b42b4be70014a7e360fafdac13a942" + }, + { + "path": "crates/oa-core/tests/state_diagrams.rs", + "bytes": 23973, + "sha256": "6b02b387a3ae559cb3ad72de24292a5abcb76aaac0adbab5d2aa5211b22cd2e5" + }, + { + "path": "crates/oa-core/tests/workflows.rs", + "bytes": 33426, + "sha256": "bd843dfddbd5724ec08f657571f887496203056fe2fa5864ef50a168a613b89b" + }, + { + "path": "rust-toolchain.toml", + "bytes": 66, + "sha256": "a6a0bbd29ffaa8182dc22d1d9149709f1091e47df40ed96eb8a78a711c66a4ce" + } +] diff --git a/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/navigation-palette-20260913-01/preparation.json b/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/navigation-palette-20260913-01/preparation.json new file mode 100644 index 00000000..8859a91b --- /dev/null +++ b/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/navigation-palette-20260913-01/preparation.json @@ -0,0 +1,106 @@ +{ + "utc": "2026-09-13T02:56:46.970520+00:00", + "scope": "Prepared fixture copies only. Requires future identified union GUI/oracle admission and native acceptance.", + "provenance_manifest": { + "path": "harness/experiments/canvas-native-dd39e1f-20260913/manifest.json", + "sha256": "daffa509094e807f469dbdcc6f517fc3902b3362646f3e502ce789fb5e618eac" + }, + "files": [ + { + "path": "compact-baseline/notes.arcadia", + "source": "harness/experiments/canvas-native-dd39e1f-20260913/compact-baseline/notes.arcadia", + "bytes": 60, + "sha256": "adb1445555f1f47cf2ac92e2271e54df7c5d2eaf1d9363fe5a79d02298670a4e" + }, + { + "path": "compact-work/notes.arcadia", + "source": "harness/experiments/canvas-native-dd39e1f-20260913/compact-baseline/notes.arcadia", + "bytes": 60, + "sha256": "adb1445555f1f47cf2ac92e2271e54df7c5d2eaf1d9363fe5a79d02298670a4e" + }, + { + "path": "compact-baseline/project.arcadia", + "source": "harness/experiments/canvas-native-dd39e1f-20260913/compact-baseline/project.arcadia", + "bytes": 5566, + "sha256": "246e7316f3932df2bc64c70459352ecef2a7fe2b5d8ead03d1f5664587c813bf" + }, + { + "path": "compact-work/project.arcadia", + "source": "harness/experiments/canvas-native-dd39e1f-20260913/compact-baseline/project.arcadia", + "bytes": 5566, + "sha256": "246e7316f3932df2bc64c70459352ecef2a7fe2b5d8ead03d1f5664587c813bf" + }, + { + "path": "topology-baseline/project.arcadia", + "source": "harness/experiments/canvas-native-dd39e1f-20260913/topology-baseline/project.arcadia", + "bytes": 13616, + "sha256": "5474d8ca05fd1375220dc0ad40d913631fde51159e9632bb9f290d1ecdab8dd7" + }, + { + "path": "topology-work/project.arcadia", + "source": "harness/experiments/canvas-native-dd39e1f-20260913/topology-baseline/project.arcadia", + "bytes": 13616, + "sha256": "5474d8ca05fd1375220dc0ad40d913631fde51159e9632bb9f290d1ecdab8dd7" + }, + { + "path": "topology-baseline/rationale.arcadia", + "source": "harness/experiments/canvas-native-dd39e1f-20260913/topology-baseline/rationale.arcadia", + "bytes": 59, + "sha256": "e6a600e13036d4ad594a65380ed1b3d82d1772d583041bb0a624c9588a73047a" + }, + { + "path": "topology-work/rationale.arcadia", + "source": "harness/experiments/canvas-native-dd39e1f-20260913/topology-baseline/rationale.arcadia", + "bytes": 59, + "sha256": "e6a600e13036d4ad594a65380ed1b3d82d1772d583041bb0a624c9588a73047a" + }, + { + "path": "lifecycle-baseline/identities.tsv", + "source": "harness/experiments/canvas-native-dd39e1f-20260913/lifecycle-baseline/identities.tsv", + "bytes": 3891, + "sha256": "4741e9b4ffd21338834cf757bd2083ff9ef43460bdce55fbba50e6f02a978d76" + }, + { + "path": "lifecycle-work/identities.tsv", + "source": "harness/experiments/canvas-native-dd39e1f-20260913/lifecycle-baseline/identities.tsv", + "bytes": 3891, + "sha256": "4741e9b4ffd21338834cf757bd2083ff9ef43460bdce55fbba50e6f02a978d76" + }, + { + "path": "lifecycle-baseline/lifecycle-native.arcadia", + "source": "harness/experiments/canvas-native-dd39e1f-20260913/lifecycle-baseline/lifecycle-native.arcadia", + "bytes": 23772, + "sha256": "998a2fd3e2474e72fc013f4da422e49bad61e118de62eccfbd71bf06b863ce7f" + }, + { + "path": "lifecycle-work/lifecycle-native.arcadia", + "source": "harness/experiments/canvas-native-dd39e1f-20260913/lifecycle-baseline/lifecycle-native.arcadia", + "bytes": 23772, + "sha256": "998a2fd3e2474e72fc013f4da422e49bad61e118de62eccfbd71bf06b863ce7f" + }, + { + "path": "lifecycle-baseline/preflight.rs", + "source": "harness/experiments/canvas-native-dd39e1f-20260913/lifecycle-baseline/preflight.rs", + "bytes": 4423, + "sha256": "bf2eb9b908ae36198d15d47ae79d56e4bb181f506598cc4e76a76175041f633e" + }, + { + "path": "lifecycle-work/preflight.rs", + "source": "harness/experiments/canvas-native-dd39e1f-20260913/lifecycle-baseline/preflight.rs", + "bytes": 4423, + "sha256": "bf2eb9b908ae36198d15d47ae79d56e4bb181f506598cc4e76a76175041f633e" + }, + { + "path": "lifecycle-baseline/README.md", + "source": "harness/experiments/canvas-native-dd39e1f-20260913/lifecycle-baseline/README.md", + "bytes": 12852, + "sha256": "b2b28a34c65897a52eb1f5729f6aa834273e9dc9e205600b8e46776a9dcea4b4" + }, + { + "path": "lifecycle-work/README.md", + "source": "harness/experiments/canvas-native-dd39e1f-20260913/lifecycle-baseline/README.md", + "bytes": 12852, + "sha256": "b2b28a34c65897a52eb1f5729f6aa834273e9dc9e205600b8e46776a9dcea4b4" + } + ] +} diff --git a/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/navigation-palette-20260913-01/source-baseline/oa.arcadia b/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/navigation-palette-20260913-01/source-baseline/oa.arcadia new file mode 100644 index 00000000..cc257d81 --- /dev/null +++ b/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/navigation-palette-20260913-01/source-baseline/oa.arcadia @@ -0,0 +1,51 @@ +// Operational Analysis describes the need without choosing a technical solution. +oa_actor vessel "Vessel in distress" id "00000000-0000-4000-8000-000000000101" { + description "The vessel's crew needs to communicate its position and obtain assistance."; +} +oa_entity rescue_team "Rescue coordination" id "00000000-0000-4000-8000-000000000102" { + description "The coordination team assesses the report and decides on a response."; +} + +// This is work decomposition. It does not assign either activity to a participant. +oa_activity respond "Respond to distress" id "00000000-0000-4000-8000-000000000103" { + // Keep the crew's reporting responsibility visible when decomposing the need. + oa_activity report_distress "Report distress" id "00000000-0000-4000-8000-000000000104" { + description "Provide the vessel's situation and last known position."; + } + oa_activity assess_incident "Assess incident" id "00000000-0000-4000-8000-000000000105" { + description "Decide which assistance is needed using the received report."; + } +} + +oa_capability protect_life "Protect life at sea" id "00000000-0000-4000-8000-000000000106" {} +oa_exchange_item oa_report_data "Distress report" id "00000000-0000-4000-8000-000000000107" { + kind Information; + oa_data_field reported_latitude "Reported latitude" id "00000000-0000-4000-8000-000000000108" { + type_ref Real; + unit "degrees north"; + default none; + description ""; + direction Unspecified; + maximum 1; + minimum 1; + storage Value; + } + description ""; + mechanism Unspecified; + parent none; + supertype none; +} + +// Allocation remains explicit even though the saved architecture view nests work. +allocation crew_reports "Crew reports distress" id "00000000-0000-4000-8000-000000000201" { + source @vessel; target @report_distress; +} +allocation team_assesses "Team assesses incident" id "00000000-0000-4000-8000-000000000202" { + source @rescue_team; target @assess_incident; +} +interaction distress_signal "Distress signal" id "00000000-0000-4000-8000-000000000203" { + source @report_distress; target @assess_incident; items [@oa_report_data]; +} +capability_involvement operational_contribution "Assessment supports rescue" id "00000000-0000-4000-8000-000000000204" { + source @assess_incident; target @protect_life; +} diff --git a/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/navigation-palette-20260913-01/source-baseline/project.arcadia b/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/navigation-palette-20260913-01/source-baseline/project.arcadia new file mode 100644 index 00000000..caa10202 --- /dev/null +++ b/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/navigation-palette-20260913-01/source-baseline/project.arcadia @@ -0,0 +1,11 @@ +arcadia 7; +project distress_response "Distress response — nested source project" id "00000000-0000-4000-8000-000000000001" { + description "A small OA/SA model for learning source ownership, typed ports and reviewed graphical edits. Open this file. Start with the saved allocation views, then browse Handle distress reports and use Source for selection."; + + // Includes organize documents; aliases are shared by the whole project. + include "oa.arcadia"; + include "sa/participants.arcadia"; + include "sa/reporting.arcadia"; + include "sa/assurance.arcadia"; + include "views.arcadia"; +} diff --git a/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/navigation-palette-20260913-01/source-baseline/sa/assurance.arcadia b/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/navigation-palette-20260913-01/source-baseline/sa/assurance.arcadia new file mode 100644 index 00000000..b9678cbe --- /dev/null +++ b/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/navigation-palette-20260913-01/source-baseline/sa/assurance.arcadia @@ -0,0 +1,11 @@ +// A separate functional aggregate provides a cross-file reparenting example. +// Move Assess report here through Properties, then inspect both source files. +sa_function assure_response "Assure response quality" id "00000000-0000-4000-8000-000000000411" { + description "Review the service response independently of report transport."; + sa_function review_response "Review response" id "00000000-0000-4000-8000-000000000412" { + description "Check that a coordinator can review the received information."; + } +} +allocation system_reviews "System supports response review" id "00000000-0000-4000-8000-000000000504" { + source @rescue_system; target @review_response; +} diff --git a/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/navigation-palette-20260913-01/source-baseline/sa/participants.arcadia b/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/navigation-palette-20260913-01/source-baseline/sa/participants.arcadia new file mode 100644 index 00000000..cdd7f402 --- /dev/null +++ b/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/navigation-palette-20260913-01/source-baseline/sa/participants.arcadia @@ -0,0 +1,22 @@ +// System Analysis identifies one system of interest and its external participant. +sa_system rescue_system "Rescue coordination system" id "00000000-0000-4000-8000-000000000301" { + description "The selected system receives reports and supports the coordinator."; + // A component port belongs to its participant, not to an allocated function. + sa_port reporting_input "Reporting input" id "00000000-0000-4000-8000-000000000303" { + contract { Component { kind Flow; orientation In; }; }; + } +} +sa_actor vessel_service "Vessel communication service" id "00000000-0000-4000-8000-000000000302" { + description "An external service sends distress information across the system boundary."; + sa_port reporting_output "Reporting output" id "00000000-0000-4000-8000-000000000304" { + contract { Component { kind Flow; orientation Out; }; }; + } +} + +// The boundary exchange connects actual participant ports. Function realization +// is declared separately in reporting.arcadia using port/exchange allocations. +boundary_exchange radio_reporting "Radio reporting" id "00000000-0000-4000-8000-000000000501" { + source @reporting_output; target @reporting_input; + oriented true; + items [@sa_report_data]; +} diff --git a/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/navigation-palette-20260913-01/source-baseline/sa/reporting.arcadia b/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/navigation-palette-20260913-01/source-baseline/sa/reporting.arcadia new file mode 100644 index 00000000..a413d9ee --- /dev/null +++ b/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/navigation-palette-20260913-01/source-baseline/sa/reporting.arcadia @@ -0,0 +1,62 @@ +// Functional containment is independent of the participant allocations below. +sa_function handle_reports "Handle distress reports" id "00000000-0000-4000-8000-000000000401" { + description "A functional decomposition of reporting and assessment."; + sa_function transmit_report "Transmit report" id "00000000-0000-4000-8000-000000000402" { + description "Encode and send the vessel's distress report."; + sa_port report_out "Report output" id "00000000-0000-4000-8000-000000000404" { + contract { FunctionOutput { outgoing_items [@sa_report_data]; }; }; + } + } + // Assessment rationale travels with this declaration when it is reparented. + sa_function assess_report "Assess report" id "00000000-0000-4000-8000-000000000403" { + description "Validate the received report and present it to the coordinator."; + sa_port report_in "Report input" id "00000000-0000-4000-8000-000000000405" { + contract { FunctionInput { incoming_items [@sa_report_data]; }; }; + } + } // Assessment remains performed by rescue_system after a hierarchy edit. +} + +// This group comment stays in this file; it is not attached to the function above. + +sa_exchange_item sa_report_data "Digital distress report" id "00000000-0000-4000-8000-000000000406" { + kind Information; + sa_data_field encoded_latitude "Encoded latitude" id "00000000-0000-4000-8000-000000000407" { + type_ref Real; + unit "degrees north"; + default none; + description ""; + direction Unspecified; + maximum 1; + minimum 1; + storage Value; + } + description ""; + mechanism Unspecified; + parent none; + supertype none; +} +sa_capability coordinate_response "Coordinate distress response" id "00000000-0000-4000-8000-000000000408" {} + +allocation vessel_transmits "Vessel service transmits" id "00000000-0000-4000-8000-000000000502" { + source @vessel_service; target @transmit_report; +} +allocation system_assesses "System assesses report" id "00000000-0000-4000-8000-000000000503" { + source @rescue_system; target @assess_report; +} +functional_exchange validated_report "Validated report" id "00000000-0000-4000-8000-000000000505" { + source @transmit_report; source_port @report_out; + target @assess_report; target_port @report_in; + items [@sa_report_data]; +} +port_allocation output_realization "Reporting output realizes function output" id "00000000-0000-4000-8000-000000000506" { + source @reporting_output; target @report_out; +} +port_allocation input_realization "Reporting input realizes function input" id "00000000-0000-4000-8000-000000000507" { + source @reporting_input; target @report_in; +} +exchange_allocation report_transport "Radio reporting carries the function exchange" id "00000000-0000-4000-8000-000000000508" { + source @radio_reporting; target @validated_report; +} +capability_involvement system_contribution "Assessment supports coordination" id "00000000-0000-4000-8000-000000000509" { + source @assess_report; target @coordinate_response; +} diff --git a/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/navigation-palette-20260913-01/source-baseline/views.arcadia b/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/navigation-palette-20260913-01/source-baseline/views.arcadia new file mode 100644 index 00000000..62d9b5cb --- /dev/null +++ b/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/navigation-palette-20260913-01/source-baseline/views.arcadia @@ -0,0 +1,71 @@ +// Views are projections. Their visual allocation containers do not set parent. +diagram oa_architecture "OA — participants and activities" id "00000000-0000-4000-8000-000000000601" { + description "The crew reports; the coordination team assesses. Containment of work is shown separately in the Model explorer."; + layer Oa; projection Allocation; +} +node oa_vessel_view id "00000000-0000-4000-8000-000000000701" { + diagram @oa_architecture; element @vessel; + position { x 60; y 60; }; size { width 272; height 210; }; +} +node oa_team_view id "00000000-0000-4000-8000-000000000702" { + diagram @oa_architecture; element @rescue_team; + position { x 540; y 60; }; size { width 300; height 210; }; +} +node oa_report_view id "00000000-0000-4000-8000-000000000703" { + diagram @oa_architecture; element @report_distress; + position { x 84; y 128; }; size { width 224; height 104; }; +} +node oa_assessment_view id "00000000-0000-4000-8000-000000000704" { + diagram @oa_architecture; element @assess_incident; + position { x 564; y 128; }; size { width 252; height 104; }; +} + +diagram sa_architecture "SA — system boundary and functions" id "00000000-0000-4000-8000-000000000602" { + description "Flow component ports define the boundary; separate function ports carry the functional exchange."; + layer Sa; projection Allocation; +} +node sa_vessel_view id "00000000-0000-4000-8000-000000000711" { + diagram @sa_architecture; element @vessel_service; + position { x 60; y 60; }; size { width 272; height 220; }; +} +node sa_system_view id "00000000-0000-4000-8000-000000000712" { + diagram @sa_architecture; element @rescue_system; + position { x 540; y 60; }; size { width 300; height 340; }; +} +node sa_transmission_view id "00000000-0000-4000-8000-000000000713" { + diagram @sa_architecture; element @transmit_report; + position { x 84; y 128; }; size { width 224; height 104; }; +} +node sa_assessment_view id "00000000-0000-4000-8000-000000000714" { + diagram @sa_architecture; element @assess_report; + position { x 564; y 128; }; size { width 252; height 104; }; +} +node sa_review_view id "00000000-0000-4000-8000-000000000715" { + diagram @sa_architecture; element @review_response; + position { x 564; y 272; }; size { width 252; height 104; }; +} + +diagram sa_decomposition "SA — functional containment" id "00000000-0000-4000-8000-000000000603" { + description "These containers represent real function parents. Compare them with the explicit allocations in the architecture view."; + layer Sa; projection FunctionalDataflow; +} +node handling_view id "00000000-0000-4000-8000-000000000721" { + diagram @sa_decomposition; element @handle_reports; + position { x 40; y 60; }; size { width 500; height 230; }; +} +node transmission_view id "00000000-0000-4000-8000-000000000722" { + diagram @sa_decomposition; element @transmit_report; + position { x 64; y 136; }; size { width 204; height 104; }; +} +node assessment_view id "00000000-0000-4000-8000-000000000723" { + diagram @sa_decomposition; element @assess_report; + position { x 310; y 136; }; size { width 204; height 104; }; +} +node assurance_view id "00000000-0000-4000-8000-000000000724" { + diagram @sa_decomposition; element @assure_response; + position { x 590; y 60; }; size { width 300; height 230; }; +} +node review_view id "00000000-0000-4000-8000-000000000725" { + diagram @sa_decomposition; element @review_response; + position { x 614; y 136; }; size { width 252; height 104; }; +} diff --git a/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/navigation-palette-20260913-01/source-example-migration-r2/baseline-alias-offsets.json b/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/navigation-palette-20260913-01/source-example-migration-r2/baseline-alias-offsets.json new file mode 100644 index 00000000..b9c400ee --- /dev/null +++ b/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/navigation-palette-20260913-01/source-example-migration-r2/baseline-alias-offsets.json @@ -0,0 +1,12 @@ +{ + "sa/reporting.arcadia": [ + 694, + 2097, + 2280, + 3015 + ], + "views.arcadia": [ + 2019, + 3054 + ] +} diff --git a/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/navigation-palette-20260913-01/source-example-migration-r2/baseline-project.json b/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/navigation-palette-20260913-01/source-example-migration-r2/baseline-project.json new file mode 100644 index 00000000..8d8468f5 --- /dev/null +++ b/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/navigation-palette-20260913-01/source-example-migration-r2/baseline-project.json @@ -0,0 +1,749 @@ +{ + "schema_version": 7, + "id": "00000000-0000-4000-8000-000000000001", + "alias": "distress_response", + "name": "Distress response — nested source project", + "description": "A small OA/SA model for learning source ownership, typed ports and reviewed graphical edits. Open this file. Start with the saved allocation views, then browse Handle distress reports and use Source for selection.", + "elements": { + "00000000-0000-4000-8000-000000000101": { + "id": "00000000-0000-4000-8000-000000000101", + "alias": "vessel", + "name": "Vessel in distress", + "description": "The vessel's crew needs to communicate its position and obtain assistance.", + "parent": null, + "body": { + "Oa": "Actor" + } + }, + "00000000-0000-4000-8000-000000000102": { + "id": "00000000-0000-4000-8000-000000000102", + "alias": "rescue_team", + "name": "Rescue coordination", + "description": "The coordination team assesses the report and decides on a response.", + "parent": null, + "body": { + "Oa": "Entity" + } + }, + "00000000-0000-4000-8000-000000000103": { + "id": "00000000-0000-4000-8000-000000000103", + "alias": "respond", + "name": "Respond to distress", + "description": "", + "parent": null, + "body": { + "Oa": "Activity" + } + }, + "00000000-0000-4000-8000-000000000104": { + "id": "00000000-0000-4000-8000-000000000104", + "alias": "report_distress", + "name": "Report distress", + "description": "Provide the vessel's situation and last known position.", + "parent": "00000000-0000-4000-8000-000000000103", + "body": { + "Oa": "Activity" + } + }, + "00000000-0000-4000-8000-000000000105": { + "id": "00000000-0000-4000-8000-000000000105", + "alias": "assess_incident", + "name": "Assess incident", + "description": "Decide which assistance is needed using the received report.", + "parent": "00000000-0000-4000-8000-000000000103", + "body": { + "Oa": "Activity" + } + }, + "00000000-0000-4000-8000-000000000106": { + "id": "00000000-0000-4000-8000-000000000106", + "alias": "protect_life", + "name": "Protect life at sea", + "description": "", + "parent": null, + "body": { + "Oa": "Capability" + } + }, + "00000000-0000-4000-8000-000000000107": { + "id": "00000000-0000-4000-8000-000000000107", + "alias": "oa_report_data", + "name": "Distress report", + "description": "", + "parent": null, + "body": { + "Oa": { + "Shared": { + "ExchangeItem": { + "kind": "Information", + "mechanism": "Unspecified", + "supertype": null + } + } + } + } + }, + "00000000-0000-4000-8000-000000000108": { + "id": "00000000-0000-4000-8000-000000000108", + "alias": "reported_latitude", + "name": "Reported latitude", + "description": "", + "parent": "00000000-0000-4000-8000-000000000107", + "body": { + "Oa": { + "Shared": { + "DataField": { + "type_ref": "Real", + "minimum": 1, + "maximum": 1, + "unit": "degrees north", + "direction": "Unspecified", + "storage": "Value", + "default": null + } + } + } + } + }, + "00000000-0000-4000-8000-000000000301": { + "id": "00000000-0000-4000-8000-000000000301", + "alias": "rescue_system", + "name": "Rescue coordination system", + "description": "The selected system receives reports and supports the coordinator.", + "parent": null, + "body": { + "Sa": "System" + } + }, + "00000000-0000-4000-8000-000000000302": { + "id": "00000000-0000-4000-8000-000000000302", + "alias": "vessel_service", + "name": "Vessel communication service", + "description": "An external service sends distress information across the system boundary.", + "parent": null, + "body": { + "Sa": "Actor" + } + }, + "00000000-0000-4000-8000-000000000303": { + "id": "00000000-0000-4000-8000-000000000303", + "alias": "reporting_input", + "name": "Reporting input", + "description": "", + "parent": "00000000-0000-4000-8000-000000000301", + "body": { + "Sa": { + "Shared": { + "Port": { + "contract": { + "Component": { + "kind": "Flow", + "orientation": "In" + } + }, + "legacy": null + } + } + } + } + }, + "00000000-0000-4000-8000-000000000304": { + "id": "00000000-0000-4000-8000-000000000304", + "alias": "reporting_output", + "name": "Reporting output", + "description": "", + "parent": "00000000-0000-4000-8000-000000000302", + "body": { + "Sa": { + "Shared": { + "Port": { + "contract": { + "Component": { + "kind": "Flow", + "orientation": "Out" + } + }, + "legacy": null + } + } + } + } + }, + "00000000-0000-4000-8000-000000000401": { + "id": "00000000-0000-4000-8000-000000000401", + "alias": "handle_reports", + "name": "Handle distress reports", + "description": "A functional decomposition of reporting and assessment.", + "parent": null, + "body": { + "Sa": "Function" + } + }, + "00000000-0000-4000-8000-000000000402": { + "id": "00000000-0000-4000-8000-000000000402", + "alias": "transmit_report", + "name": "Transmit report", + "description": "Encode and send the vessel's distress report.", + "parent": "00000000-0000-4000-8000-000000000401", + "body": { + "Sa": "Function" + } + }, + "00000000-0000-4000-8000-000000000403": { + "id": "00000000-0000-4000-8000-000000000403", + "alias": "assess_report", + "name": "Assess report", + "description": "Validate the received report and present it to the coordinator.", + "parent": "00000000-0000-4000-8000-000000000401", + "body": { + "Sa": "Function" + } + }, + "00000000-0000-4000-8000-000000000404": { + "id": "00000000-0000-4000-8000-000000000404", + "alias": "report_out", + "name": "Report output", + "description": "", + "parent": "00000000-0000-4000-8000-000000000402", + "body": { + "Sa": { + "Shared": { + "Port": { + "contract": { + "FunctionOutput": { + "outgoing_items": [ + "00000000-0000-4000-8000-000000000406" + ] + } + }, + "legacy": null + } + } + } + } + }, + "00000000-0000-4000-8000-000000000405": { + "id": "00000000-0000-4000-8000-000000000405", + "alias": "report_in", + "name": "Report input", + "description": "", + "parent": "00000000-0000-4000-8000-000000000403", + "body": { + "Sa": { + "Shared": { + "Port": { + "contract": { + "FunctionInput": { + "incoming_items": [ + "00000000-0000-4000-8000-000000000406" + ] + } + }, + "legacy": null + } + } + } + } + }, + "00000000-0000-4000-8000-000000000406": { + "id": "00000000-0000-4000-8000-000000000406", + "alias": "sa_report_data", + "name": "Digital distress report", + "description": "", + "parent": null, + "body": { + "Sa": { + "Shared": { + "ExchangeItem": { + "kind": "Information", + "mechanism": "Unspecified", + "supertype": null + } + } + } + } + }, + "00000000-0000-4000-8000-000000000407": { + "id": "00000000-0000-4000-8000-000000000407", + "alias": "encoded_latitude", + "name": "Encoded latitude", + "description": "", + "parent": "00000000-0000-4000-8000-000000000406", + "body": { + "Sa": { + "Shared": { + "DataField": { + "type_ref": "Real", + "minimum": 1, + "maximum": 1, + "unit": "degrees north", + "direction": "Unspecified", + "storage": "Value", + "default": null + } + } + } + } + }, + "00000000-0000-4000-8000-000000000408": { + "id": "00000000-0000-4000-8000-000000000408", + "alias": "coordinate_response", + "name": "Coordinate distress response", + "description": "", + "parent": null, + "body": { + "Sa": "Capability" + } + }, + "00000000-0000-4000-8000-000000000411": { + "id": "00000000-0000-4000-8000-000000000411", + "alias": "assure_response", + "name": "Assure response quality", + "description": "Review the service response independently of report transport.", + "parent": null, + "body": { + "Sa": "Function" + } + }, + "00000000-0000-4000-8000-000000000412": { + "id": "00000000-0000-4000-8000-000000000412", + "alias": "review_response", + "name": "Review response", + "description": "Check that a coordinator can review the received information.", + "parent": "00000000-0000-4000-8000-000000000411", + "body": { + "Sa": "Function" + } + } + }, + "relations": { + "00000000-0000-4000-8000-000000000201": { + "id": "00000000-0000-4000-8000-000000000201", + "alias": "crew_reports", + "name": "Crew reports distress", + "description": "", + "body": { + "Allocation": { + "source": "00000000-0000-4000-8000-000000000101", + "target": "00000000-0000-4000-8000-000000000104" + } + } + }, + "00000000-0000-4000-8000-000000000202": { + "id": "00000000-0000-4000-8000-000000000202", + "alias": "team_assesses", + "name": "Team assesses incident", + "description": "", + "body": { + "Allocation": { + "source": "00000000-0000-4000-8000-000000000102", + "target": "00000000-0000-4000-8000-000000000105" + } + } + }, + "00000000-0000-4000-8000-000000000203": { + "id": "00000000-0000-4000-8000-000000000203", + "alias": "distress_signal", + "name": "Distress signal", + "description": "", + "body": { + "Interaction": { + "source": "00000000-0000-4000-8000-000000000104", + "target": "00000000-0000-4000-8000-000000000105", + "items": [ + "00000000-0000-4000-8000-000000000107" + ] + } + } + }, + "00000000-0000-4000-8000-000000000204": { + "id": "00000000-0000-4000-8000-000000000204", + "alias": "operational_contribution", + "name": "Assessment supports rescue", + "description": "", + "body": { + "CapabilityInvolvement": { + "source": "00000000-0000-4000-8000-000000000105", + "target": "00000000-0000-4000-8000-000000000106" + } + } + }, + "00000000-0000-4000-8000-000000000501": { + "id": "00000000-0000-4000-8000-000000000501", + "alias": "radio_reporting", + "name": "Radio reporting", + "description": "", + "body": { + "BoundaryExchange": { + "source": "00000000-0000-4000-8000-000000000304", + "target": "00000000-0000-4000-8000-000000000303", + "oriented": true, + "items": [ + "00000000-0000-4000-8000-000000000406" + ] + } + } + }, + "00000000-0000-4000-8000-000000000502": { + "id": "00000000-0000-4000-8000-000000000502", + "alias": "vessel_transmits", + "name": "Vessel service transmits", + "description": "", + "body": { + "Allocation": { + "source": "00000000-0000-4000-8000-000000000302", + "target": "00000000-0000-4000-8000-000000000402" + } + } + }, + "00000000-0000-4000-8000-000000000503": { + "id": "00000000-0000-4000-8000-000000000503", + "alias": "system_assesses", + "name": "System assesses report", + "description": "", + "body": { + "Allocation": { + "source": "00000000-0000-4000-8000-000000000301", + "target": "00000000-0000-4000-8000-000000000403" + } + } + }, + "00000000-0000-4000-8000-000000000504": { + "id": "00000000-0000-4000-8000-000000000504", + "alias": "system_reviews", + "name": "System supports response review", + "description": "", + "body": { + "Allocation": { + "source": "00000000-0000-4000-8000-000000000301", + "target": "00000000-0000-4000-8000-000000000412" + } + } + }, + "00000000-0000-4000-8000-000000000505": { + "id": "00000000-0000-4000-8000-000000000505", + "alias": "validated_report", + "name": "Validated report", + "description": "", + "body": { + "FunctionalExchange": { + "source": "00000000-0000-4000-8000-000000000402", + "target": "00000000-0000-4000-8000-000000000403", + "source_port": "00000000-0000-4000-8000-000000000404", + "target_port": "00000000-0000-4000-8000-000000000405", + "items": [ + "00000000-0000-4000-8000-000000000406" + ] + } + } + }, + "00000000-0000-4000-8000-000000000506": { + "id": "00000000-0000-4000-8000-000000000506", + "alias": "output_realization", + "name": "Reporting output realizes function output", + "description": "", + "body": { + "PortAllocation": { + "source": "00000000-0000-4000-8000-000000000304", + "target": "00000000-0000-4000-8000-000000000404" + } + } + }, + "00000000-0000-4000-8000-000000000507": { + "id": "00000000-0000-4000-8000-000000000507", + "alias": "input_realization", + "name": "Reporting input realizes function input", + "description": "", + "body": { + "PortAllocation": { + "source": "00000000-0000-4000-8000-000000000303", + "target": "00000000-0000-4000-8000-000000000405" + } + } + }, + "00000000-0000-4000-8000-000000000508": { + "id": "00000000-0000-4000-8000-000000000508", + "alias": "report_transport", + "name": "Radio reporting carries the function exchange", + "description": "", + "body": { + "ExchangeAllocation": { + "source": "00000000-0000-4000-8000-000000000501", + "target": "00000000-0000-4000-8000-000000000505" + } + } + }, + "00000000-0000-4000-8000-000000000509": { + "id": "00000000-0000-4000-8000-000000000509", + "alias": "system_contribution", + "name": "Assessment supports coordination", + "description": "", + "body": { + "CapabilityInvolvement": { + "source": "00000000-0000-4000-8000-000000000403", + "target": "00000000-0000-4000-8000-000000000408" + } + } + } + }, + "diagrams": { + "00000000-0000-4000-8000-000000000601": { + "id": "00000000-0000-4000-8000-000000000601", + "alias": "oa_architecture", + "name": "OA — participants and activities", + "description": "The crew reports; the coordination team assesses. Containment of work is shown separately in the Model explorer.", + "layer": "Oa", + "projection": "Allocation", + "view_options": { + "hidden_edges": [], + "relation_kinds": "All", + "work_categories": "All", + "participant_categories": "All", + "coverage": "All", + "work_contexts": "All", + "exchange_labels": "Name" + }, + "nodes": { + "00000000-0000-4000-8000-000000000701": { + "id": "00000000-0000-4000-8000-000000000701", + "alias": "oa_vessel_view", + "element": "00000000-0000-4000-8000-000000000101", + "position": { + "x": 60.0, + "y": 60.0 + }, + "size": { + "width": 272.0, + "height": 210.0 + }, + "collapsed": false + }, + "00000000-0000-4000-8000-000000000702": { + "id": "00000000-0000-4000-8000-000000000702", + "alias": "oa_team_view", + "element": "00000000-0000-4000-8000-000000000102", + "position": { + "x": 540.0, + "y": 60.0 + }, + "size": { + "width": 300.0, + "height": 210.0 + }, + "collapsed": false + }, + "00000000-0000-4000-8000-000000000703": { + "id": "00000000-0000-4000-8000-000000000703", + "alias": "oa_report_view", + "element": "00000000-0000-4000-8000-000000000104", + "position": { + "x": 84.0, + "y": 128.0 + }, + "size": { + "width": 224.0, + "height": 104.0 + }, + "collapsed": false + }, + "00000000-0000-4000-8000-000000000704": { + "id": "00000000-0000-4000-8000-000000000704", + "alias": "oa_assessment_view", + "element": "00000000-0000-4000-8000-000000000105", + "position": { + "x": 564.0, + "y": 128.0 + }, + "size": { + "width": 252.0, + "height": 104.0 + }, + "collapsed": false + } + }, + "routes": [] + }, + "00000000-0000-4000-8000-000000000602": { + "id": "00000000-0000-4000-8000-000000000602", + "alias": "sa_architecture", + "name": "SA — system boundary and functions", + "description": "Flow component ports define the boundary; separate function ports carry the functional exchange.", + "layer": "Sa", + "projection": "Allocation", + "view_options": { + "hidden_edges": [], + "relation_kinds": "All", + "work_categories": "All", + "participant_categories": "All", + "coverage": "All", + "work_contexts": "All", + "exchange_labels": "Name" + }, + "nodes": { + "00000000-0000-4000-8000-000000000711": { + "id": "00000000-0000-4000-8000-000000000711", + "alias": "sa_vessel_view", + "element": "00000000-0000-4000-8000-000000000302", + "position": { + "x": 60.0, + "y": 60.0 + }, + "size": { + "width": 272.0, + "height": 220.0 + }, + "collapsed": false + }, + "00000000-0000-4000-8000-000000000712": { + "id": "00000000-0000-4000-8000-000000000712", + "alias": "sa_system_view", + "element": "00000000-0000-4000-8000-000000000301", + "position": { + "x": 540.0, + "y": 60.0 + }, + "size": { + "width": 300.0, + "height": 340.0 + }, + "collapsed": false + }, + "00000000-0000-4000-8000-000000000713": { + "id": "00000000-0000-4000-8000-000000000713", + "alias": "sa_transmission_view", + "element": "00000000-0000-4000-8000-000000000402", + "position": { + "x": 84.0, + "y": 128.0 + }, + "size": { + "width": 224.0, + "height": 104.0 + }, + "collapsed": false + }, + "00000000-0000-4000-8000-000000000714": { + "id": "00000000-0000-4000-8000-000000000714", + "alias": "sa_assessment_view", + "element": "00000000-0000-4000-8000-000000000403", + "position": { + "x": 564.0, + "y": 128.0 + }, + "size": { + "width": 252.0, + "height": 104.0 + }, + "collapsed": false + }, + "00000000-0000-4000-8000-000000000715": { + "id": "00000000-0000-4000-8000-000000000715", + "alias": "sa_review_view", + "element": "00000000-0000-4000-8000-000000000412", + "position": { + "x": 564.0, + "y": 272.0 + }, + "size": { + "width": 252.0, + "height": 104.0 + }, + "collapsed": false + } + }, + "routes": [] + }, + "00000000-0000-4000-8000-000000000603": { + "id": "00000000-0000-4000-8000-000000000603", + "alias": "sa_decomposition", + "name": "SA — functional containment", + "description": "These containers represent real function parents. Compare them with the explicit allocations in the architecture view.", + "layer": "Sa", + "projection": "FunctionalDataflow", + "view_options": { + "hidden_edges": [], + "relation_kinds": "All", + "work_categories": "All", + "participant_categories": "All", + "coverage": "All", + "work_contexts": "All", + "exchange_labels": "Name" + }, + "nodes": { + "00000000-0000-4000-8000-000000000721": { + "id": "00000000-0000-4000-8000-000000000721", + "alias": "handling_view", + "element": "00000000-0000-4000-8000-000000000401", + "position": { + "x": 40.0, + "y": 60.0 + }, + "size": { + "width": 500.0, + "height": 230.0 + }, + "collapsed": false + }, + "00000000-0000-4000-8000-000000000722": { + "id": "00000000-0000-4000-8000-000000000722", + "alias": "transmission_view", + "element": "00000000-0000-4000-8000-000000000402", + "position": { + "x": 64.0, + "y": 136.0 + }, + "size": { + "width": 204.0, + "height": 104.0 + }, + "collapsed": false + }, + "00000000-0000-4000-8000-000000000723": { + "id": "00000000-0000-4000-8000-000000000723", + "alias": "assessment_view", + "element": "00000000-0000-4000-8000-000000000403", + "position": { + "x": 310.0, + "y": 136.0 + }, + "size": { + "width": 204.0, + "height": 104.0 + }, + "collapsed": false + }, + "00000000-0000-4000-8000-000000000724": { + "id": "00000000-0000-4000-8000-000000000724", + "alias": "assurance_view", + "element": "00000000-0000-4000-8000-000000000411", + "position": { + "x": 590.0, + "y": 60.0 + }, + "size": { + "width": 300.0, + "height": 230.0 + }, + "collapsed": false + }, + "00000000-0000-4000-8000-000000000725": { + "id": "00000000-0000-4000-8000-000000000725", + "alias": "review_view", + "element": "00000000-0000-4000-8000-000000000412", + "position": { + "x": 614.0, + "y": 136.0 + }, + "size": { + "width": 252.0, + "height": 104.0 + }, + "collapsed": false + } + }, + "routes": [] + } + }, + "artifact_links": {}, + "traces": {} +} diff --git a/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/navigation-palette-20260913-01/source-example-migration-r2/baseline-source-bundle.json b/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/navigation-palette-20260913-01/source-example-migration-r2/baseline-source-bundle.json new file mode 100644 index 00000000..a7b86893 --- /dev/null +++ b/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/navigation-palette-20260913-01/source-example-migration-r2/baseline-source-bundle.json @@ -0,0 +1,11 @@ +{ + "entry": "project.arcadia", + "files": { + "oa.arcadia": "// Operational Analysis describes the need without choosing a technical solution.\noa_actor vessel \"Vessel in distress\" id \"00000000-0000-4000-8000-000000000101\" {\n description \"The vessel's crew needs to communicate its position and obtain assistance.\";\n}\noa_entity rescue_team \"Rescue coordination\" id \"00000000-0000-4000-8000-000000000102\" {\n description \"The coordination team assesses the report and decides on a response.\";\n}\n\n// This is work decomposition. It does not assign either activity to a participant.\noa_activity respond \"Respond to distress\" id \"00000000-0000-4000-8000-000000000103\" {\n // Keep the crew's reporting responsibility visible when decomposing the need.\n oa_activity report_distress \"Report distress\" id \"00000000-0000-4000-8000-000000000104\" {\n description \"Provide the vessel's situation and last known position.\";\n }\n oa_activity assess_incident \"Assess incident\" id \"00000000-0000-4000-8000-000000000105\" {\n description \"Decide which assistance is needed using the received report.\";\n }\n}\n\noa_capability protect_life \"Protect life at sea\" id \"00000000-0000-4000-8000-000000000106\" {}\noa_exchange_item oa_report_data \"Distress report\" id \"00000000-0000-4000-8000-000000000107\" {\n kind Information;\n oa_data_field reported_latitude \"Reported latitude\" id \"00000000-0000-4000-8000-000000000108\" {\n type_ref Real;\n unit \"degrees north\";\n default none;\n description \"\";\n direction Unspecified;\n maximum 1;\n minimum 1;\n storage Value;\n }\n description \"\";\n mechanism Unspecified;\n parent none;\n supertype none;\n}\n\n// Allocation remains explicit even though the saved architecture view nests work.\nallocation crew_reports \"Crew reports distress\" id \"00000000-0000-4000-8000-000000000201\" {\n source @vessel; target @report_distress;\n}\nallocation team_assesses \"Team assesses incident\" id \"00000000-0000-4000-8000-000000000202\" {\n source @rescue_team; target @assess_incident;\n}\ninteraction distress_signal \"Distress signal\" id \"00000000-0000-4000-8000-000000000203\" {\n source @report_distress; target @assess_incident; items [@oa_report_data];\n}\ncapability_involvement operational_contribution \"Assessment supports rescue\" id \"00000000-0000-4000-8000-000000000204\" {\n source @assess_incident; target @protect_life;\n}\n", + "project.arcadia": "arcadia 7;\nproject distress_response \"Distress response — nested source project\" id \"00000000-0000-4000-8000-000000000001\" {\n description \"A small OA/SA model for learning source ownership, typed ports and reviewed graphical edits. Open this file. Start with the saved allocation views, then browse Handle distress reports and use Source for selection.\";\n\n // Includes organize documents; aliases are shared by the whole project.\n include \"oa.arcadia\";\n include \"sa/participants.arcadia\";\n include \"sa/reporting.arcadia\";\n include \"sa/assurance.arcadia\";\n include \"views.arcadia\";\n}\n", + "sa/assurance.arcadia": "// A separate functional aggregate provides a cross-file reparenting example.\n// Move Assess report here through Properties, then inspect both source files.\nsa_function assure_response \"Assure response quality\" id \"00000000-0000-4000-8000-000000000411\" {\n description \"Review the service response independently of report transport.\";\n sa_function review_response \"Review response\" id \"00000000-0000-4000-8000-000000000412\" {\n description \"Check that a coordinator can review the received information.\";\n }\n}\nallocation system_reviews \"System supports response review\" id \"00000000-0000-4000-8000-000000000504\" {\n source @rescue_system; target @review_response;\n}\n", + "sa/participants.arcadia": "// System Analysis identifies one system of interest and its external participant.\nsa_system rescue_system \"Rescue coordination system\" id \"00000000-0000-4000-8000-000000000301\" {\n description \"The selected system receives reports and supports the coordinator.\";\n // A component port belongs to its participant, not to an allocated function.\n sa_port reporting_input \"Reporting input\" id \"00000000-0000-4000-8000-000000000303\" {\n contract { Component { kind Flow; orientation In; }; };\n }\n}\nsa_actor vessel_service \"Vessel communication service\" id \"00000000-0000-4000-8000-000000000302\" {\n description \"An external service sends distress information across the system boundary.\";\n sa_port reporting_output \"Reporting output\" id \"00000000-0000-4000-8000-000000000304\" {\n contract { Component { kind Flow; orientation Out; }; };\n }\n}\n\n// The boundary exchange connects actual participant ports. Function realization\n// is declared separately in reporting.arcadia using port/exchange allocations.\nboundary_exchange radio_reporting \"Radio reporting\" id \"00000000-0000-4000-8000-000000000501\" {\n source @reporting_output; target @reporting_input;\n oriented true;\n items [@sa_report_data];\n}\n", + "sa/reporting.arcadia": "// Functional containment is independent of the participant allocations below.\nsa_function handle_reports \"Handle distress reports\" id \"00000000-0000-4000-8000-000000000401\" {\n description \"A functional decomposition of reporting and assessment.\";\n sa_function transmit_report \"Transmit report\" id \"00000000-0000-4000-8000-000000000402\" {\n description \"Encode and send the vessel's distress report.\";\n sa_port report_out \"Report output\" id \"00000000-0000-4000-8000-000000000404\" {\n contract { FunctionOutput { outgoing_items [@sa_report_data]; }; };\n }\n }\n // Assessment rationale travels with this declaration when it is reparented.\n sa_function assess_report \"Assess report\" id \"00000000-0000-4000-8000-000000000403\" {\n description \"Validate the received report and present it to the coordinator.\";\n sa_port report_in \"Report input\" id \"00000000-0000-4000-8000-000000000405\" {\n contract { FunctionInput { incoming_items [@sa_report_data]; }; };\n }\n } // Assessment remains performed by rescue_system after a hierarchy edit.\n}\n\n// This group comment stays in this file; it is not attached to the function above.\n\nsa_exchange_item sa_report_data \"Digital distress report\" id \"00000000-0000-4000-8000-000000000406\" {\n kind Information;\n sa_data_field encoded_latitude \"Encoded latitude\" id \"00000000-0000-4000-8000-000000000407\" {\n type_ref Real;\n unit \"degrees north\";\n default none;\n description \"\";\n direction Unspecified;\n maximum 1;\n minimum 1;\n storage Value;\n }\n description \"\";\n mechanism Unspecified;\n parent none;\n supertype none;\n}\nsa_capability coordinate_response \"Coordinate distress response\" id \"00000000-0000-4000-8000-000000000408\" {}\n\nallocation vessel_transmits \"Vessel service transmits\" id \"00000000-0000-4000-8000-000000000502\" {\n source @vessel_service; target @transmit_report;\n}\nallocation system_assesses \"System assesses report\" id \"00000000-0000-4000-8000-000000000503\" {\n source @rescue_system; target @assess_report;\n}\nfunctional_exchange validated_report \"Validated report\" id \"00000000-0000-4000-8000-000000000505\" {\n source @transmit_report; source_port @report_out;\n target @assess_report; target_port @report_in;\n items [@sa_report_data];\n}\nport_allocation output_realization \"Reporting output realizes function output\" id \"00000000-0000-4000-8000-000000000506\" {\n source @reporting_output; target @report_out;\n}\nport_allocation input_realization \"Reporting input realizes function input\" id \"00000000-0000-4000-8000-000000000507\" {\n source @reporting_input; target @report_in;\n}\nexchange_allocation report_transport \"Radio reporting carries the function exchange\" id \"00000000-0000-4000-8000-000000000508\" {\n source @radio_reporting; target @validated_report;\n}\ncapability_involvement system_contribution \"Assessment supports coordination\" id \"00000000-0000-4000-8000-000000000509\" {\n source @assess_report; target @coordinate_response;\n}\n", + "views.arcadia": "// Views are projections. Their visual allocation containers do not set parent.\ndiagram oa_architecture \"OA — participants and activities\" id \"00000000-0000-4000-8000-000000000601\" {\n description \"The crew reports; the coordination team assesses. Containment of work is shown separately in the Model explorer.\";\n layer Oa; projection Allocation;\n}\nnode oa_vessel_view id \"00000000-0000-4000-8000-000000000701\" {\n diagram @oa_architecture; element @vessel;\n position { x 60; y 60; }; size { width 272; height 210; };\n}\nnode oa_team_view id \"00000000-0000-4000-8000-000000000702\" {\n diagram @oa_architecture; element @rescue_team;\n position { x 540; y 60; }; size { width 300; height 210; };\n}\nnode oa_report_view id \"00000000-0000-4000-8000-000000000703\" {\n diagram @oa_architecture; element @report_distress;\n position { x 84; y 128; }; size { width 224; height 104; };\n}\nnode oa_assessment_view id \"00000000-0000-4000-8000-000000000704\" {\n diagram @oa_architecture; element @assess_incident;\n position { x 564; y 128; }; size { width 252; height 104; };\n}\n\ndiagram sa_architecture \"SA — system boundary and functions\" id \"00000000-0000-4000-8000-000000000602\" {\n description \"Flow component ports define the boundary; separate function ports carry the functional exchange.\";\n layer Sa; projection Allocation;\n}\nnode sa_vessel_view id \"00000000-0000-4000-8000-000000000711\" {\n diagram @sa_architecture; element @vessel_service;\n position { x 60; y 60; }; size { width 272; height 220; };\n}\nnode sa_system_view id \"00000000-0000-4000-8000-000000000712\" {\n diagram @sa_architecture; element @rescue_system;\n position { x 540; y 60; }; size { width 300; height 340; };\n}\nnode sa_transmission_view id \"00000000-0000-4000-8000-000000000713\" {\n diagram @sa_architecture; element @transmit_report;\n position { x 84; y 128; }; size { width 224; height 104; };\n}\nnode sa_assessment_view id \"00000000-0000-4000-8000-000000000714\" {\n diagram @sa_architecture; element @assess_report;\n position { x 564; y 128; }; size { width 252; height 104; };\n}\nnode sa_review_view id \"00000000-0000-4000-8000-000000000715\" {\n diagram @sa_architecture; element @review_response;\n position { x 564; y 272; }; size { width 252; height 104; };\n}\n\ndiagram sa_decomposition \"SA — functional containment\" id \"00000000-0000-4000-8000-000000000603\" {\n description \"These containers represent real function parents. Compare them with the explicit allocations in the architecture view.\";\n layer Sa; projection FunctionalDataflow;\n}\nnode handling_view id \"00000000-0000-4000-8000-000000000721\" {\n diagram @sa_decomposition; element @handle_reports;\n position { x 40; y 60; }; size { width 500; height 230; };\n}\nnode transmission_view id \"00000000-0000-4000-8000-000000000722\" {\n diagram @sa_decomposition; element @transmit_report;\n position { x 64; y 136; }; size { width 204; height 104; };\n}\nnode assessment_view id \"00000000-0000-4000-8000-000000000723\" {\n diagram @sa_decomposition; element @assess_report;\n position { x 310; y 136; }; size { width 204; height 104; };\n}\nnode assurance_view id \"00000000-0000-4000-8000-000000000724\" {\n diagram @sa_decomposition; element @assure_response;\n position { x 590; y 60; }; size { width 300; height 230; };\n}\nnode review_view id \"00000000-0000-4000-8000-000000000725\" {\n diagram @sa_decomposition; element @review_response;\n position { x 614; y 136; }; size { width 252; height 104; };\n}\n" + } +} diff --git a/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/navigation-palette-20260913-01/source-example-migration-r2/baseline/oa.arcadia b/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/navigation-palette-20260913-01/source-example-migration-r2/baseline/oa.arcadia new file mode 100644 index 00000000..cc257d81 --- /dev/null +++ b/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/navigation-palette-20260913-01/source-example-migration-r2/baseline/oa.arcadia @@ -0,0 +1,51 @@ +// Operational Analysis describes the need without choosing a technical solution. +oa_actor vessel "Vessel in distress" id "00000000-0000-4000-8000-000000000101" { + description "The vessel's crew needs to communicate its position and obtain assistance."; +} +oa_entity rescue_team "Rescue coordination" id "00000000-0000-4000-8000-000000000102" { + description "The coordination team assesses the report and decides on a response."; +} + +// This is work decomposition. It does not assign either activity to a participant. +oa_activity respond "Respond to distress" id "00000000-0000-4000-8000-000000000103" { + // Keep the crew's reporting responsibility visible when decomposing the need. + oa_activity report_distress "Report distress" id "00000000-0000-4000-8000-000000000104" { + description "Provide the vessel's situation and last known position."; + } + oa_activity assess_incident "Assess incident" id "00000000-0000-4000-8000-000000000105" { + description "Decide which assistance is needed using the received report."; + } +} + +oa_capability protect_life "Protect life at sea" id "00000000-0000-4000-8000-000000000106" {} +oa_exchange_item oa_report_data "Distress report" id "00000000-0000-4000-8000-000000000107" { + kind Information; + oa_data_field reported_latitude "Reported latitude" id "00000000-0000-4000-8000-000000000108" { + type_ref Real; + unit "degrees north"; + default none; + description ""; + direction Unspecified; + maximum 1; + minimum 1; + storage Value; + } + description ""; + mechanism Unspecified; + parent none; + supertype none; +} + +// Allocation remains explicit even though the saved architecture view nests work. +allocation crew_reports "Crew reports distress" id "00000000-0000-4000-8000-000000000201" { + source @vessel; target @report_distress; +} +allocation team_assesses "Team assesses incident" id "00000000-0000-4000-8000-000000000202" { + source @rescue_team; target @assess_incident; +} +interaction distress_signal "Distress signal" id "00000000-0000-4000-8000-000000000203" { + source @report_distress; target @assess_incident; items [@oa_report_data]; +} +capability_involvement operational_contribution "Assessment supports rescue" id "00000000-0000-4000-8000-000000000204" { + source @assess_incident; target @protect_life; +} diff --git a/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/navigation-palette-20260913-01/source-example-migration-r2/baseline/project.arcadia b/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/navigation-palette-20260913-01/source-example-migration-r2/baseline/project.arcadia new file mode 100644 index 00000000..caa10202 --- /dev/null +++ b/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/navigation-palette-20260913-01/source-example-migration-r2/baseline/project.arcadia @@ -0,0 +1,11 @@ +arcadia 7; +project distress_response "Distress response — nested source project" id "00000000-0000-4000-8000-000000000001" { + description "A small OA/SA model for learning source ownership, typed ports and reviewed graphical edits. Open this file. Start with the saved allocation views, then browse Handle distress reports and use Source for selection."; + + // Includes organize documents; aliases are shared by the whole project. + include "oa.arcadia"; + include "sa/participants.arcadia"; + include "sa/reporting.arcadia"; + include "sa/assurance.arcadia"; + include "views.arcadia"; +} diff --git a/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/navigation-palette-20260913-01/source-example-migration-r2/baseline/sa/assurance.arcadia b/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/navigation-palette-20260913-01/source-example-migration-r2/baseline/sa/assurance.arcadia new file mode 100644 index 00000000..b9678cbe --- /dev/null +++ b/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/navigation-palette-20260913-01/source-example-migration-r2/baseline/sa/assurance.arcadia @@ -0,0 +1,11 @@ +// A separate functional aggregate provides a cross-file reparenting example. +// Move Assess report here through Properties, then inspect both source files. +sa_function assure_response "Assure response quality" id "00000000-0000-4000-8000-000000000411" { + description "Review the service response independently of report transport."; + sa_function review_response "Review response" id "00000000-0000-4000-8000-000000000412" { + description "Check that a coordinator can review the received information."; + } +} +allocation system_reviews "System supports response review" id "00000000-0000-4000-8000-000000000504" { + source @rescue_system; target @review_response; +} diff --git a/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/navigation-palette-20260913-01/source-example-migration-r2/baseline/sa/participants.arcadia b/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/navigation-palette-20260913-01/source-example-migration-r2/baseline/sa/participants.arcadia new file mode 100644 index 00000000..cdd7f402 --- /dev/null +++ b/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/navigation-palette-20260913-01/source-example-migration-r2/baseline/sa/participants.arcadia @@ -0,0 +1,22 @@ +// System Analysis identifies one system of interest and its external participant. +sa_system rescue_system "Rescue coordination system" id "00000000-0000-4000-8000-000000000301" { + description "The selected system receives reports and supports the coordinator."; + // A component port belongs to its participant, not to an allocated function. + sa_port reporting_input "Reporting input" id "00000000-0000-4000-8000-000000000303" { + contract { Component { kind Flow; orientation In; }; }; + } +} +sa_actor vessel_service "Vessel communication service" id "00000000-0000-4000-8000-000000000302" { + description "An external service sends distress information across the system boundary."; + sa_port reporting_output "Reporting output" id "00000000-0000-4000-8000-000000000304" { + contract { Component { kind Flow; orientation Out; }; }; + } +} + +// The boundary exchange connects actual participant ports. Function realization +// is declared separately in reporting.arcadia using port/exchange allocations. +boundary_exchange radio_reporting "Radio reporting" id "00000000-0000-4000-8000-000000000501" { + source @reporting_output; target @reporting_input; + oriented true; + items [@sa_report_data]; +} diff --git a/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/navigation-palette-20260913-01/source-example-migration-r2/baseline/sa/reporting.arcadia b/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/navigation-palette-20260913-01/source-example-migration-r2/baseline/sa/reporting.arcadia new file mode 100644 index 00000000..a413d9ee --- /dev/null +++ b/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/navigation-palette-20260913-01/source-example-migration-r2/baseline/sa/reporting.arcadia @@ -0,0 +1,62 @@ +// Functional containment is independent of the participant allocations below. +sa_function handle_reports "Handle distress reports" id "00000000-0000-4000-8000-000000000401" { + description "A functional decomposition of reporting and assessment."; + sa_function transmit_report "Transmit report" id "00000000-0000-4000-8000-000000000402" { + description "Encode and send the vessel's distress report."; + sa_port report_out "Report output" id "00000000-0000-4000-8000-000000000404" { + contract { FunctionOutput { outgoing_items [@sa_report_data]; }; }; + } + } + // Assessment rationale travels with this declaration when it is reparented. + sa_function assess_report "Assess report" id "00000000-0000-4000-8000-000000000403" { + description "Validate the received report and present it to the coordinator."; + sa_port report_in "Report input" id "00000000-0000-4000-8000-000000000405" { + contract { FunctionInput { incoming_items [@sa_report_data]; }; }; + } + } // Assessment remains performed by rescue_system after a hierarchy edit. +} + +// This group comment stays in this file; it is not attached to the function above. + +sa_exchange_item sa_report_data "Digital distress report" id "00000000-0000-4000-8000-000000000406" { + kind Information; + sa_data_field encoded_latitude "Encoded latitude" id "00000000-0000-4000-8000-000000000407" { + type_ref Real; + unit "degrees north"; + default none; + description ""; + direction Unspecified; + maximum 1; + minimum 1; + storage Value; + } + description ""; + mechanism Unspecified; + parent none; + supertype none; +} +sa_capability coordinate_response "Coordinate distress response" id "00000000-0000-4000-8000-000000000408" {} + +allocation vessel_transmits "Vessel service transmits" id "00000000-0000-4000-8000-000000000502" { + source @vessel_service; target @transmit_report; +} +allocation system_assesses "System assesses report" id "00000000-0000-4000-8000-000000000503" { + source @rescue_system; target @assess_report; +} +functional_exchange validated_report "Validated report" id "00000000-0000-4000-8000-000000000505" { + source @transmit_report; source_port @report_out; + target @assess_report; target_port @report_in; + items [@sa_report_data]; +} +port_allocation output_realization "Reporting output realizes function output" id "00000000-0000-4000-8000-000000000506" { + source @reporting_output; target @report_out; +} +port_allocation input_realization "Reporting input realizes function input" id "00000000-0000-4000-8000-000000000507" { + source @reporting_input; target @report_in; +} +exchange_allocation report_transport "Radio reporting carries the function exchange" id "00000000-0000-4000-8000-000000000508" { + source @radio_reporting; target @validated_report; +} +capability_involvement system_contribution "Assessment supports coordination" id "00000000-0000-4000-8000-000000000509" { + source @assess_report; target @coordinate_response; +} diff --git a/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/navigation-palette-20260913-01/source-example-migration-r2/baseline/views.arcadia b/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/navigation-palette-20260913-01/source-example-migration-r2/baseline/views.arcadia new file mode 100644 index 00000000..62d9b5cb --- /dev/null +++ b/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/navigation-palette-20260913-01/source-example-migration-r2/baseline/views.arcadia @@ -0,0 +1,71 @@ +// Views are projections. Their visual allocation containers do not set parent. +diagram oa_architecture "OA — participants and activities" id "00000000-0000-4000-8000-000000000601" { + description "The crew reports; the coordination team assesses. Containment of work is shown separately in the Model explorer."; + layer Oa; projection Allocation; +} +node oa_vessel_view id "00000000-0000-4000-8000-000000000701" { + diagram @oa_architecture; element @vessel; + position { x 60; y 60; }; size { width 272; height 210; }; +} +node oa_team_view id "00000000-0000-4000-8000-000000000702" { + diagram @oa_architecture; element @rescue_team; + position { x 540; y 60; }; size { width 300; height 210; }; +} +node oa_report_view id "00000000-0000-4000-8000-000000000703" { + diagram @oa_architecture; element @report_distress; + position { x 84; y 128; }; size { width 224; height 104; }; +} +node oa_assessment_view id "00000000-0000-4000-8000-000000000704" { + diagram @oa_architecture; element @assess_incident; + position { x 564; y 128; }; size { width 252; height 104; }; +} + +diagram sa_architecture "SA — system boundary and functions" id "00000000-0000-4000-8000-000000000602" { + description "Flow component ports define the boundary; separate function ports carry the functional exchange."; + layer Sa; projection Allocation; +} +node sa_vessel_view id "00000000-0000-4000-8000-000000000711" { + diagram @sa_architecture; element @vessel_service; + position { x 60; y 60; }; size { width 272; height 220; }; +} +node sa_system_view id "00000000-0000-4000-8000-000000000712" { + diagram @sa_architecture; element @rescue_system; + position { x 540; y 60; }; size { width 300; height 340; }; +} +node sa_transmission_view id "00000000-0000-4000-8000-000000000713" { + diagram @sa_architecture; element @transmit_report; + position { x 84; y 128; }; size { width 224; height 104; }; +} +node sa_assessment_view id "00000000-0000-4000-8000-000000000714" { + diagram @sa_architecture; element @assess_report; + position { x 564; y 128; }; size { width 252; height 104; }; +} +node sa_review_view id "00000000-0000-4000-8000-000000000715" { + diagram @sa_architecture; element @review_response; + position { x 564; y 272; }; size { width 252; height 104; }; +} + +diagram sa_decomposition "SA — functional containment" id "00000000-0000-4000-8000-000000000603" { + description "These containers represent real function parents. Compare them with the explicit allocations in the architecture view."; + layer Sa; projection FunctionalDataflow; +} +node handling_view id "00000000-0000-4000-8000-000000000721" { + diagram @sa_decomposition; element @handle_reports; + position { x 40; y 60; }; size { width 500; height 230; }; +} +node transmission_view id "00000000-0000-4000-8000-000000000722" { + diagram @sa_decomposition; element @transmit_report; + position { x 64; y 136; }; size { width 204; height 104; }; +} +node assessment_view id "00000000-0000-4000-8000-000000000723" { + diagram @sa_decomposition; element @assess_report; + position { x 310; y 136; }; size { width 204; height 104; }; +} +node assurance_view id "00000000-0000-4000-8000-000000000724" { + diagram @sa_decomposition; element @assure_response; + position { x 590; y 60; }; size { width 300; height 230; }; +} +node review_view id "00000000-0000-4000-8000-000000000725" { + diagram @sa_decomposition; element @review_response; + position { x 614; y 136; }; size { width 252; height 104; }; +} diff --git a/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/navigation-palette-20260913-01/source-example-migration-r2/candidate-migration-report.json b/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/navigation-palette-20260913-01/source-example-migration-r2/candidate-migration-report.json new file mode 100644 index 00000000..da306444 --- /dev/null +++ b/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/navigation-palette-20260913-01/source-example-migration-r2/candidate-migration-report.json @@ -0,0 +1,32 @@ +{ + "from_schema": 3, + "to_schema": 7, + "preserved_ports": [], + "generated_endpoints": [], + "orientation_defaults": [], + "required_resolutions": [], + "semantic_defaults": [ + { + "object": "00000000-0000-4000-8000-000000000107", + "field": "body", + "description": "Nature is retained; mechanism is Unspecified and supertype is absent." + }, + { + "object": "00000000-0000-4000-8000-000000000108", + "field": "body", + "description": "Type, ownership, multiplicity and unit are retained; direction is Unspecified, storage is Value and default is absent." + }, + { + "object": "00000000-0000-4000-8000-000000000406", + "field": "body", + "description": "Nature is retained; mechanism is Unspecified and supertype is absent." + }, + { + "object": "00000000-0000-4000-8000-000000000407", + "field": "body", + "description": "Type, ownership, multiplicity and unit are retained; direction is Unspecified, storage is Value and default is absent." + } + ], + "generated_interface_allocations": [], + "unresolved_message_values": [] +} diff --git a/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/navigation-palette-20260913-01/source-example-migration-r2/candidate-project.json b/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/navigation-palette-20260913-01/source-example-migration-r2/candidate-project.json new file mode 100644 index 00000000..8d8468f5 --- /dev/null +++ b/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/navigation-palette-20260913-01/source-example-migration-r2/candidate-project.json @@ -0,0 +1,749 @@ +{ + "schema_version": 7, + "id": "00000000-0000-4000-8000-000000000001", + "alias": "distress_response", + "name": "Distress response — nested source project", + "description": "A small OA/SA model for learning source ownership, typed ports and reviewed graphical edits. Open this file. Start with the saved allocation views, then browse Handle distress reports and use Source for selection.", + "elements": { + "00000000-0000-4000-8000-000000000101": { + "id": "00000000-0000-4000-8000-000000000101", + "alias": "vessel", + "name": "Vessel in distress", + "description": "The vessel's crew needs to communicate its position and obtain assistance.", + "parent": null, + "body": { + "Oa": "Actor" + } + }, + "00000000-0000-4000-8000-000000000102": { + "id": "00000000-0000-4000-8000-000000000102", + "alias": "rescue_team", + "name": "Rescue coordination", + "description": "The coordination team assesses the report and decides on a response.", + "parent": null, + "body": { + "Oa": "Entity" + } + }, + "00000000-0000-4000-8000-000000000103": { + "id": "00000000-0000-4000-8000-000000000103", + "alias": "respond", + "name": "Respond to distress", + "description": "", + "parent": null, + "body": { + "Oa": "Activity" + } + }, + "00000000-0000-4000-8000-000000000104": { + "id": "00000000-0000-4000-8000-000000000104", + "alias": "report_distress", + "name": "Report distress", + "description": "Provide the vessel's situation and last known position.", + "parent": "00000000-0000-4000-8000-000000000103", + "body": { + "Oa": "Activity" + } + }, + "00000000-0000-4000-8000-000000000105": { + "id": "00000000-0000-4000-8000-000000000105", + "alias": "assess_incident", + "name": "Assess incident", + "description": "Decide which assistance is needed using the received report.", + "parent": "00000000-0000-4000-8000-000000000103", + "body": { + "Oa": "Activity" + } + }, + "00000000-0000-4000-8000-000000000106": { + "id": "00000000-0000-4000-8000-000000000106", + "alias": "protect_life", + "name": "Protect life at sea", + "description": "", + "parent": null, + "body": { + "Oa": "Capability" + } + }, + "00000000-0000-4000-8000-000000000107": { + "id": "00000000-0000-4000-8000-000000000107", + "alias": "oa_report_data", + "name": "Distress report", + "description": "", + "parent": null, + "body": { + "Oa": { + "Shared": { + "ExchangeItem": { + "kind": "Information", + "mechanism": "Unspecified", + "supertype": null + } + } + } + } + }, + "00000000-0000-4000-8000-000000000108": { + "id": "00000000-0000-4000-8000-000000000108", + "alias": "reported_latitude", + "name": "Reported latitude", + "description": "", + "parent": "00000000-0000-4000-8000-000000000107", + "body": { + "Oa": { + "Shared": { + "DataField": { + "type_ref": "Real", + "minimum": 1, + "maximum": 1, + "unit": "degrees north", + "direction": "Unspecified", + "storage": "Value", + "default": null + } + } + } + } + }, + "00000000-0000-4000-8000-000000000301": { + "id": "00000000-0000-4000-8000-000000000301", + "alias": "rescue_system", + "name": "Rescue coordination system", + "description": "The selected system receives reports and supports the coordinator.", + "parent": null, + "body": { + "Sa": "System" + } + }, + "00000000-0000-4000-8000-000000000302": { + "id": "00000000-0000-4000-8000-000000000302", + "alias": "vessel_service", + "name": "Vessel communication service", + "description": "An external service sends distress information across the system boundary.", + "parent": null, + "body": { + "Sa": "Actor" + } + }, + "00000000-0000-4000-8000-000000000303": { + "id": "00000000-0000-4000-8000-000000000303", + "alias": "reporting_input", + "name": "Reporting input", + "description": "", + "parent": "00000000-0000-4000-8000-000000000301", + "body": { + "Sa": { + "Shared": { + "Port": { + "contract": { + "Component": { + "kind": "Flow", + "orientation": "In" + } + }, + "legacy": null + } + } + } + } + }, + "00000000-0000-4000-8000-000000000304": { + "id": "00000000-0000-4000-8000-000000000304", + "alias": "reporting_output", + "name": "Reporting output", + "description": "", + "parent": "00000000-0000-4000-8000-000000000302", + "body": { + "Sa": { + "Shared": { + "Port": { + "contract": { + "Component": { + "kind": "Flow", + "orientation": "Out" + } + }, + "legacy": null + } + } + } + } + }, + "00000000-0000-4000-8000-000000000401": { + "id": "00000000-0000-4000-8000-000000000401", + "alias": "handle_reports", + "name": "Handle distress reports", + "description": "A functional decomposition of reporting and assessment.", + "parent": null, + "body": { + "Sa": "Function" + } + }, + "00000000-0000-4000-8000-000000000402": { + "id": "00000000-0000-4000-8000-000000000402", + "alias": "transmit_report", + "name": "Transmit report", + "description": "Encode and send the vessel's distress report.", + "parent": "00000000-0000-4000-8000-000000000401", + "body": { + "Sa": "Function" + } + }, + "00000000-0000-4000-8000-000000000403": { + "id": "00000000-0000-4000-8000-000000000403", + "alias": "assess_report", + "name": "Assess report", + "description": "Validate the received report and present it to the coordinator.", + "parent": "00000000-0000-4000-8000-000000000401", + "body": { + "Sa": "Function" + } + }, + "00000000-0000-4000-8000-000000000404": { + "id": "00000000-0000-4000-8000-000000000404", + "alias": "report_out", + "name": "Report output", + "description": "", + "parent": "00000000-0000-4000-8000-000000000402", + "body": { + "Sa": { + "Shared": { + "Port": { + "contract": { + "FunctionOutput": { + "outgoing_items": [ + "00000000-0000-4000-8000-000000000406" + ] + } + }, + "legacy": null + } + } + } + } + }, + "00000000-0000-4000-8000-000000000405": { + "id": "00000000-0000-4000-8000-000000000405", + "alias": "report_in", + "name": "Report input", + "description": "", + "parent": "00000000-0000-4000-8000-000000000403", + "body": { + "Sa": { + "Shared": { + "Port": { + "contract": { + "FunctionInput": { + "incoming_items": [ + "00000000-0000-4000-8000-000000000406" + ] + } + }, + "legacy": null + } + } + } + } + }, + "00000000-0000-4000-8000-000000000406": { + "id": "00000000-0000-4000-8000-000000000406", + "alias": "sa_report_data", + "name": "Digital distress report", + "description": "", + "parent": null, + "body": { + "Sa": { + "Shared": { + "ExchangeItem": { + "kind": "Information", + "mechanism": "Unspecified", + "supertype": null + } + } + } + } + }, + "00000000-0000-4000-8000-000000000407": { + "id": "00000000-0000-4000-8000-000000000407", + "alias": "encoded_latitude", + "name": "Encoded latitude", + "description": "", + "parent": "00000000-0000-4000-8000-000000000406", + "body": { + "Sa": { + "Shared": { + "DataField": { + "type_ref": "Real", + "minimum": 1, + "maximum": 1, + "unit": "degrees north", + "direction": "Unspecified", + "storage": "Value", + "default": null + } + } + } + } + }, + "00000000-0000-4000-8000-000000000408": { + "id": "00000000-0000-4000-8000-000000000408", + "alias": "coordinate_response", + "name": "Coordinate distress response", + "description": "", + "parent": null, + "body": { + "Sa": "Capability" + } + }, + "00000000-0000-4000-8000-000000000411": { + "id": "00000000-0000-4000-8000-000000000411", + "alias": "assure_response", + "name": "Assure response quality", + "description": "Review the service response independently of report transport.", + "parent": null, + "body": { + "Sa": "Function" + } + }, + "00000000-0000-4000-8000-000000000412": { + "id": "00000000-0000-4000-8000-000000000412", + "alias": "review_response", + "name": "Review response", + "description": "Check that a coordinator can review the received information.", + "parent": "00000000-0000-4000-8000-000000000411", + "body": { + "Sa": "Function" + } + } + }, + "relations": { + "00000000-0000-4000-8000-000000000201": { + "id": "00000000-0000-4000-8000-000000000201", + "alias": "crew_reports", + "name": "Crew reports distress", + "description": "", + "body": { + "Allocation": { + "source": "00000000-0000-4000-8000-000000000101", + "target": "00000000-0000-4000-8000-000000000104" + } + } + }, + "00000000-0000-4000-8000-000000000202": { + "id": "00000000-0000-4000-8000-000000000202", + "alias": "team_assesses", + "name": "Team assesses incident", + "description": "", + "body": { + "Allocation": { + "source": "00000000-0000-4000-8000-000000000102", + "target": "00000000-0000-4000-8000-000000000105" + } + } + }, + "00000000-0000-4000-8000-000000000203": { + "id": "00000000-0000-4000-8000-000000000203", + "alias": "distress_signal", + "name": "Distress signal", + "description": "", + "body": { + "Interaction": { + "source": "00000000-0000-4000-8000-000000000104", + "target": "00000000-0000-4000-8000-000000000105", + "items": [ + "00000000-0000-4000-8000-000000000107" + ] + } + } + }, + "00000000-0000-4000-8000-000000000204": { + "id": "00000000-0000-4000-8000-000000000204", + "alias": "operational_contribution", + "name": "Assessment supports rescue", + "description": "", + "body": { + "CapabilityInvolvement": { + "source": "00000000-0000-4000-8000-000000000105", + "target": "00000000-0000-4000-8000-000000000106" + } + } + }, + "00000000-0000-4000-8000-000000000501": { + "id": "00000000-0000-4000-8000-000000000501", + "alias": "radio_reporting", + "name": "Radio reporting", + "description": "", + "body": { + "BoundaryExchange": { + "source": "00000000-0000-4000-8000-000000000304", + "target": "00000000-0000-4000-8000-000000000303", + "oriented": true, + "items": [ + "00000000-0000-4000-8000-000000000406" + ] + } + } + }, + "00000000-0000-4000-8000-000000000502": { + "id": "00000000-0000-4000-8000-000000000502", + "alias": "vessel_transmits", + "name": "Vessel service transmits", + "description": "", + "body": { + "Allocation": { + "source": "00000000-0000-4000-8000-000000000302", + "target": "00000000-0000-4000-8000-000000000402" + } + } + }, + "00000000-0000-4000-8000-000000000503": { + "id": "00000000-0000-4000-8000-000000000503", + "alias": "system_assesses", + "name": "System assesses report", + "description": "", + "body": { + "Allocation": { + "source": "00000000-0000-4000-8000-000000000301", + "target": "00000000-0000-4000-8000-000000000403" + } + } + }, + "00000000-0000-4000-8000-000000000504": { + "id": "00000000-0000-4000-8000-000000000504", + "alias": "system_reviews", + "name": "System supports response review", + "description": "", + "body": { + "Allocation": { + "source": "00000000-0000-4000-8000-000000000301", + "target": "00000000-0000-4000-8000-000000000412" + } + } + }, + "00000000-0000-4000-8000-000000000505": { + "id": "00000000-0000-4000-8000-000000000505", + "alias": "validated_report", + "name": "Validated report", + "description": "", + "body": { + "FunctionalExchange": { + "source": "00000000-0000-4000-8000-000000000402", + "target": "00000000-0000-4000-8000-000000000403", + "source_port": "00000000-0000-4000-8000-000000000404", + "target_port": "00000000-0000-4000-8000-000000000405", + "items": [ + "00000000-0000-4000-8000-000000000406" + ] + } + } + }, + "00000000-0000-4000-8000-000000000506": { + "id": "00000000-0000-4000-8000-000000000506", + "alias": "output_realization", + "name": "Reporting output realizes function output", + "description": "", + "body": { + "PortAllocation": { + "source": "00000000-0000-4000-8000-000000000304", + "target": "00000000-0000-4000-8000-000000000404" + } + } + }, + "00000000-0000-4000-8000-000000000507": { + "id": "00000000-0000-4000-8000-000000000507", + "alias": "input_realization", + "name": "Reporting input realizes function input", + "description": "", + "body": { + "PortAllocation": { + "source": "00000000-0000-4000-8000-000000000303", + "target": "00000000-0000-4000-8000-000000000405" + } + } + }, + "00000000-0000-4000-8000-000000000508": { + "id": "00000000-0000-4000-8000-000000000508", + "alias": "report_transport", + "name": "Radio reporting carries the function exchange", + "description": "", + "body": { + "ExchangeAllocation": { + "source": "00000000-0000-4000-8000-000000000501", + "target": "00000000-0000-4000-8000-000000000505" + } + } + }, + "00000000-0000-4000-8000-000000000509": { + "id": "00000000-0000-4000-8000-000000000509", + "alias": "system_contribution", + "name": "Assessment supports coordination", + "description": "", + "body": { + "CapabilityInvolvement": { + "source": "00000000-0000-4000-8000-000000000403", + "target": "00000000-0000-4000-8000-000000000408" + } + } + } + }, + "diagrams": { + "00000000-0000-4000-8000-000000000601": { + "id": "00000000-0000-4000-8000-000000000601", + "alias": "oa_architecture", + "name": "OA — participants and activities", + "description": "The crew reports; the coordination team assesses. Containment of work is shown separately in the Model explorer.", + "layer": "Oa", + "projection": "Allocation", + "view_options": { + "hidden_edges": [], + "relation_kinds": "All", + "work_categories": "All", + "participant_categories": "All", + "coverage": "All", + "work_contexts": "All", + "exchange_labels": "Name" + }, + "nodes": { + "00000000-0000-4000-8000-000000000701": { + "id": "00000000-0000-4000-8000-000000000701", + "alias": "oa_vessel_view", + "element": "00000000-0000-4000-8000-000000000101", + "position": { + "x": 60.0, + "y": 60.0 + }, + "size": { + "width": 272.0, + "height": 210.0 + }, + "collapsed": false + }, + "00000000-0000-4000-8000-000000000702": { + "id": "00000000-0000-4000-8000-000000000702", + "alias": "oa_team_view", + "element": "00000000-0000-4000-8000-000000000102", + "position": { + "x": 540.0, + "y": 60.0 + }, + "size": { + "width": 300.0, + "height": 210.0 + }, + "collapsed": false + }, + "00000000-0000-4000-8000-000000000703": { + "id": "00000000-0000-4000-8000-000000000703", + "alias": "oa_report_view", + "element": "00000000-0000-4000-8000-000000000104", + "position": { + "x": 84.0, + "y": 128.0 + }, + "size": { + "width": 224.0, + "height": 104.0 + }, + "collapsed": false + }, + "00000000-0000-4000-8000-000000000704": { + "id": "00000000-0000-4000-8000-000000000704", + "alias": "oa_assessment_view", + "element": "00000000-0000-4000-8000-000000000105", + "position": { + "x": 564.0, + "y": 128.0 + }, + "size": { + "width": 252.0, + "height": 104.0 + }, + "collapsed": false + } + }, + "routes": [] + }, + "00000000-0000-4000-8000-000000000602": { + "id": "00000000-0000-4000-8000-000000000602", + "alias": "sa_architecture", + "name": "SA — system boundary and functions", + "description": "Flow component ports define the boundary; separate function ports carry the functional exchange.", + "layer": "Sa", + "projection": "Allocation", + "view_options": { + "hidden_edges": [], + "relation_kinds": "All", + "work_categories": "All", + "participant_categories": "All", + "coverage": "All", + "work_contexts": "All", + "exchange_labels": "Name" + }, + "nodes": { + "00000000-0000-4000-8000-000000000711": { + "id": "00000000-0000-4000-8000-000000000711", + "alias": "sa_vessel_view", + "element": "00000000-0000-4000-8000-000000000302", + "position": { + "x": 60.0, + "y": 60.0 + }, + "size": { + "width": 272.0, + "height": 220.0 + }, + "collapsed": false + }, + "00000000-0000-4000-8000-000000000712": { + "id": "00000000-0000-4000-8000-000000000712", + "alias": "sa_system_view", + "element": "00000000-0000-4000-8000-000000000301", + "position": { + "x": 540.0, + "y": 60.0 + }, + "size": { + "width": 300.0, + "height": 340.0 + }, + "collapsed": false + }, + "00000000-0000-4000-8000-000000000713": { + "id": "00000000-0000-4000-8000-000000000713", + "alias": "sa_transmission_view", + "element": "00000000-0000-4000-8000-000000000402", + "position": { + "x": 84.0, + "y": 128.0 + }, + "size": { + "width": 224.0, + "height": 104.0 + }, + "collapsed": false + }, + "00000000-0000-4000-8000-000000000714": { + "id": "00000000-0000-4000-8000-000000000714", + "alias": "sa_assessment_view", + "element": "00000000-0000-4000-8000-000000000403", + "position": { + "x": 564.0, + "y": 128.0 + }, + "size": { + "width": 252.0, + "height": 104.0 + }, + "collapsed": false + }, + "00000000-0000-4000-8000-000000000715": { + "id": "00000000-0000-4000-8000-000000000715", + "alias": "sa_review_view", + "element": "00000000-0000-4000-8000-000000000412", + "position": { + "x": 564.0, + "y": 272.0 + }, + "size": { + "width": 252.0, + "height": 104.0 + }, + "collapsed": false + } + }, + "routes": [] + }, + "00000000-0000-4000-8000-000000000603": { + "id": "00000000-0000-4000-8000-000000000603", + "alias": "sa_decomposition", + "name": "SA — functional containment", + "description": "These containers represent real function parents. Compare them with the explicit allocations in the architecture view.", + "layer": "Sa", + "projection": "FunctionalDataflow", + "view_options": { + "hidden_edges": [], + "relation_kinds": "All", + "work_categories": "All", + "participant_categories": "All", + "coverage": "All", + "work_contexts": "All", + "exchange_labels": "Name" + }, + "nodes": { + "00000000-0000-4000-8000-000000000721": { + "id": "00000000-0000-4000-8000-000000000721", + "alias": "handling_view", + "element": "00000000-0000-4000-8000-000000000401", + "position": { + "x": 40.0, + "y": 60.0 + }, + "size": { + "width": 500.0, + "height": 230.0 + }, + "collapsed": false + }, + "00000000-0000-4000-8000-000000000722": { + "id": "00000000-0000-4000-8000-000000000722", + "alias": "transmission_view", + "element": "00000000-0000-4000-8000-000000000402", + "position": { + "x": 64.0, + "y": 136.0 + }, + "size": { + "width": 204.0, + "height": 104.0 + }, + "collapsed": false + }, + "00000000-0000-4000-8000-000000000723": { + "id": "00000000-0000-4000-8000-000000000723", + "alias": "assessment_view", + "element": "00000000-0000-4000-8000-000000000403", + "position": { + "x": 310.0, + "y": 136.0 + }, + "size": { + "width": 204.0, + "height": 104.0 + }, + "collapsed": false + }, + "00000000-0000-4000-8000-000000000724": { + "id": "00000000-0000-4000-8000-000000000724", + "alias": "assurance_view", + "element": "00000000-0000-4000-8000-000000000411", + "position": { + "x": 590.0, + "y": 60.0 + }, + "size": { + "width": 300.0, + "height": 230.0 + }, + "collapsed": false + }, + "00000000-0000-4000-8000-000000000725": { + "id": "00000000-0000-4000-8000-000000000725", + "alias": "review_view", + "element": "00000000-0000-4000-8000-000000000412", + "position": { + "x": 614.0, + "y": 136.0 + }, + "size": { + "width": 252.0, + "height": 104.0 + }, + "collapsed": false + } + }, + "routes": [] + } + }, + "artifact_links": {}, + "traces": {} +} diff --git a/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/navigation-palette-20260913-01/source-example-migration-r2/candidate-source-bundle.json b/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/navigation-palette-20260913-01/source-example-migration-r2/candidate-source-bundle.json new file mode 100644 index 00000000..a7b86893 --- /dev/null +++ b/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/navigation-palette-20260913-01/source-example-migration-r2/candidate-source-bundle.json @@ -0,0 +1,11 @@ +{ + "entry": "project.arcadia", + "files": { + "oa.arcadia": "// Operational Analysis describes the need without choosing a technical solution.\noa_actor vessel \"Vessel in distress\" id \"00000000-0000-4000-8000-000000000101\" {\n description \"The vessel's crew needs to communicate its position and obtain assistance.\";\n}\noa_entity rescue_team \"Rescue coordination\" id \"00000000-0000-4000-8000-000000000102\" {\n description \"The coordination team assesses the report and decides on a response.\";\n}\n\n// This is work decomposition. It does not assign either activity to a participant.\noa_activity respond \"Respond to distress\" id \"00000000-0000-4000-8000-000000000103\" {\n // Keep the crew's reporting responsibility visible when decomposing the need.\n oa_activity report_distress \"Report distress\" id \"00000000-0000-4000-8000-000000000104\" {\n description \"Provide the vessel's situation and last known position.\";\n }\n oa_activity assess_incident \"Assess incident\" id \"00000000-0000-4000-8000-000000000105\" {\n description \"Decide which assistance is needed using the received report.\";\n }\n}\n\noa_capability protect_life \"Protect life at sea\" id \"00000000-0000-4000-8000-000000000106\" {}\noa_exchange_item oa_report_data \"Distress report\" id \"00000000-0000-4000-8000-000000000107\" {\n kind Information;\n oa_data_field reported_latitude \"Reported latitude\" id \"00000000-0000-4000-8000-000000000108\" {\n type_ref Real;\n unit \"degrees north\";\n default none;\n description \"\";\n direction Unspecified;\n maximum 1;\n minimum 1;\n storage Value;\n }\n description \"\";\n mechanism Unspecified;\n parent none;\n supertype none;\n}\n\n// Allocation remains explicit even though the saved architecture view nests work.\nallocation crew_reports \"Crew reports distress\" id \"00000000-0000-4000-8000-000000000201\" {\n source @vessel; target @report_distress;\n}\nallocation team_assesses \"Team assesses incident\" id \"00000000-0000-4000-8000-000000000202\" {\n source @rescue_team; target @assess_incident;\n}\ninteraction distress_signal \"Distress signal\" id \"00000000-0000-4000-8000-000000000203\" {\n source @report_distress; target @assess_incident; items [@oa_report_data];\n}\ncapability_involvement operational_contribution \"Assessment supports rescue\" id \"00000000-0000-4000-8000-000000000204\" {\n source @assess_incident; target @protect_life;\n}\n", + "project.arcadia": "arcadia 7;\nproject distress_response \"Distress response — nested source project\" id \"00000000-0000-4000-8000-000000000001\" {\n description \"A small OA/SA model for learning source ownership, typed ports and reviewed graphical edits. Open this file. Start with the saved allocation views, then browse Handle distress reports and use Source for selection.\";\n\n // Includes organize documents; aliases are shared by the whole project.\n include \"oa.arcadia\";\n include \"sa/participants.arcadia\";\n include \"sa/reporting.arcadia\";\n include \"sa/assurance.arcadia\";\n include \"views.arcadia\";\n}\n", + "sa/assurance.arcadia": "// A separate functional aggregate provides a cross-file reparenting example.\n// Move Assess report here through Properties, then inspect both source files.\nsa_function assure_response \"Assure response quality\" id \"00000000-0000-4000-8000-000000000411\" {\n description \"Review the service response independently of report transport.\";\n sa_function review_response \"Review response\" id \"00000000-0000-4000-8000-000000000412\" {\n description \"Check that a coordinator can review the received information.\";\n }\n}\nallocation system_reviews \"System supports response review\" id \"00000000-0000-4000-8000-000000000504\" {\n source @rescue_system; target @review_response;\n}\n", + "sa/participants.arcadia": "// System Analysis identifies one system of interest and its external participant.\nsa_system rescue_system \"Rescue coordination system\" id \"00000000-0000-4000-8000-000000000301\" {\n description \"The selected system receives reports and supports the coordinator.\";\n // A component port belongs to its participant, not to an allocated function.\n sa_port reporting_input \"Reporting input\" id \"00000000-0000-4000-8000-000000000303\" {\n contract { Component { kind Flow; orientation In; }; };\n }\n}\nsa_actor vessel_service \"Vessel communication service\" id \"00000000-0000-4000-8000-000000000302\" {\n description \"An external service sends distress information across the system boundary.\";\n sa_port reporting_output \"Reporting output\" id \"00000000-0000-4000-8000-000000000304\" {\n contract { Component { kind Flow; orientation Out; }; };\n }\n}\n\n// The boundary exchange connects actual participant ports. Function realization\n// is declared separately in reporting.arcadia using port/exchange allocations.\nboundary_exchange radio_reporting \"Radio reporting\" id \"00000000-0000-4000-8000-000000000501\" {\n source @reporting_output; target @reporting_input;\n oriented true;\n items [@sa_report_data];\n}\n", + "sa/reporting.arcadia": "// Functional containment is independent of the participant allocations below.\nsa_function handle_reports \"Handle distress reports\" id \"00000000-0000-4000-8000-000000000401\" {\n description \"A functional decomposition of reporting and assessment.\";\n sa_function transmit_report \"Transmit report\" id \"00000000-0000-4000-8000-000000000402\" {\n description \"Encode and send the vessel's distress report.\";\n sa_port report_out \"Report output\" id \"00000000-0000-4000-8000-000000000404\" {\n contract { FunctionOutput { outgoing_items [@sa_report_data]; }; };\n }\n }\n // Assessment rationale travels with this declaration when it is reparented.\n sa_function assess_report \"Assess report\" id \"00000000-0000-4000-8000-000000000403\" {\n description \"Validate the received report and present it to the coordinator.\";\n sa_port report_in \"Report input\" id \"00000000-0000-4000-8000-000000000405\" {\n contract { FunctionInput { incoming_items [@sa_report_data]; }; };\n }\n } // Assessment remains performed by rescue_system after a hierarchy edit.\n}\n\n// This group comment stays in this file; it is not attached to the function above.\n\nsa_exchange_item sa_report_data \"Digital distress report\" id \"00000000-0000-4000-8000-000000000406\" {\n kind Information;\n sa_data_field encoded_latitude \"Encoded latitude\" id \"00000000-0000-4000-8000-000000000407\" {\n type_ref Real;\n unit \"degrees north\";\n default none;\n description \"\";\n direction Unspecified;\n maximum 1;\n minimum 1;\n storage Value;\n }\n description \"\";\n mechanism Unspecified;\n parent none;\n supertype none;\n}\nsa_capability coordinate_response \"Coordinate distress response\" id \"00000000-0000-4000-8000-000000000408\" {}\n\nallocation vessel_transmits \"Vessel service transmits\" id \"00000000-0000-4000-8000-000000000502\" {\n source @vessel_service; target @transmit_report;\n}\nallocation system_assesses \"System assesses report\" id \"00000000-0000-4000-8000-000000000503\" {\n source @rescue_system; target @assess_report;\n}\nfunctional_exchange validated_report \"Validated report\" id \"00000000-0000-4000-8000-000000000505\" {\n source @transmit_report; source_port @report_out;\n target @assess_report; target_port @report_in;\n items [@sa_report_data];\n}\nport_allocation output_realization \"Reporting output realizes function output\" id \"00000000-0000-4000-8000-000000000506\" {\n source @reporting_output; target @report_out;\n}\nport_allocation input_realization \"Reporting input realizes function input\" id \"00000000-0000-4000-8000-000000000507\" {\n source @reporting_input; target @report_in;\n}\nexchange_allocation report_transport \"Radio reporting carries the function exchange\" id \"00000000-0000-4000-8000-000000000508\" {\n source @radio_reporting; target @validated_report;\n}\ncapability_involvement system_contribution \"Assessment supports coordination\" id \"00000000-0000-4000-8000-000000000509\" {\n source @assess_report; target @coordinate_response;\n}\n", + "views.arcadia": "// Views are projections. Their visual allocation containers do not set parent.\ndiagram oa_architecture \"OA — participants and activities\" id \"00000000-0000-4000-8000-000000000601\" {\n description \"The crew reports; the coordination team assesses. Containment of work is shown separately in the Model explorer.\";\n layer Oa; projection Allocation;\n}\nnode oa_vessel_view id \"00000000-0000-4000-8000-000000000701\" {\n diagram @oa_architecture; element @vessel;\n position { x 60; y 60; }; size { width 272; height 210; };\n}\nnode oa_team_view id \"00000000-0000-4000-8000-000000000702\" {\n diagram @oa_architecture; element @rescue_team;\n position { x 540; y 60; }; size { width 300; height 210; };\n}\nnode oa_report_view id \"00000000-0000-4000-8000-000000000703\" {\n diagram @oa_architecture; element @report_distress;\n position { x 84; y 128; }; size { width 224; height 104; };\n}\nnode oa_assessment_view id \"00000000-0000-4000-8000-000000000704\" {\n diagram @oa_architecture; element @assess_incident;\n position { x 564; y 128; }; size { width 252; height 104; };\n}\n\ndiagram sa_architecture \"SA — system boundary and functions\" id \"00000000-0000-4000-8000-000000000602\" {\n description \"Flow component ports define the boundary; separate function ports carry the functional exchange.\";\n layer Sa; projection Allocation;\n}\nnode sa_vessel_view id \"00000000-0000-4000-8000-000000000711\" {\n diagram @sa_architecture; element @vessel_service;\n position { x 60; y 60; }; size { width 272; height 220; };\n}\nnode sa_system_view id \"00000000-0000-4000-8000-000000000712\" {\n diagram @sa_architecture; element @rescue_system;\n position { x 540; y 60; }; size { width 300; height 340; };\n}\nnode sa_transmission_view id \"00000000-0000-4000-8000-000000000713\" {\n diagram @sa_architecture; element @transmit_report;\n position { x 84; y 128; }; size { width 224; height 104; };\n}\nnode sa_assessment_view id \"00000000-0000-4000-8000-000000000714\" {\n diagram @sa_architecture; element @assess_report;\n position { x 564; y 128; }; size { width 252; height 104; };\n}\nnode sa_review_view id \"00000000-0000-4000-8000-000000000715\" {\n diagram @sa_architecture; element @review_response;\n position { x 564; y 272; }; size { width 252; height 104; };\n}\n\ndiagram sa_decomposition \"SA — functional containment\" id \"00000000-0000-4000-8000-000000000603\" {\n description \"These containers represent real function parents. Compare them with the explicit allocations in the architecture view.\";\n layer Sa; projection FunctionalDataflow;\n}\nnode handling_view id \"00000000-0000-4000-8000-000000000721\" {\n diagram @sa_decomposition; element @handle_reports;\n position { x 40; y 60; }; size { width 500; height 230; };\n}\nnode transmission_view id \"00000000-0000-4000-8000-000000000722\" {\n diagram @sa_decomposition; element @transmit_report;\n position { x 64; y 136; }; size { width 204; height 104; };\n}\nnode assessment_view id \"00000000-0000-4000-8000-000000000723\" {\n diagram @sa_decomposition; element @assess_report;\n position { x 310; y 136; }; size { width 204; height 104; };\n}\nnode assurance_view id \"00000000-0000-4000-8000-000000000724\" {\n diagram @sa_decomposition; element @assure_response;\n position { x 590; y 60; }; size { width 300; height 230; };\n}\nnode review_view id \"00000000-0000-4000-8000-000000000725\" {\n diagram @sa_decomposition; element @review_response;\n position { x 614; y 136; }; size { width 252; height 104; };\n}\n" + } +} diff --git a/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/navigation-palette-20260913-01/source-example-migration-r2/candidate/oa.arcadia b/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/navigation-palette-20260913-01/source-example-migration-r2/candidate/oa.arcadia new file mode 100644 index 00000000..cc257d81 --- /dev/null +++ b/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/navigation-palette-20260913-01/source-example-migration-r2/candidate/oa.arcadia @@ -0,0 +1,51 @@ +// Operational Analysis describes the need without choosing a technical solution. +oa_actor vessel "Vessel in distress" id "00000000-0000-4000-8000-000000000101" { + description "The vessel's crew needs to communicate its position and obtain assistance."; +} +oa_entity rescue_team "Rescue coordination" id "00000000-0000-4000-8000-000000000102" { + description "The coordination team assesses the report and decides on a response."; +} + +// This is work decomposition. It does not assign either activity to a participant. +oa_activity respond "Respond to distress" id "00000000-0000-4000-8000-000000000103" { + // Keep the crew's reporting responsibility visible when decomposing the need. + oa_activity report_distress "Report distress" id "00000000-0000-4000-8000-000000000104" { + description "Provide the vessel's situation and last known position."; + } + oa_activity assess_incident "Assess incident" id "00000000-0000-4000-8000-000000000105" { + description "Decide which assistance is needed using the received report."; + } +} + +oa_capability protect_life "Protect life at sea" id "00000000-0000-4000-8000-000000000106" {} +oa_exchange_item oa_report_data "Distress report" id "00000000-0000-4000-8000-000000000107" { + kind Information; + oa_data_field reported_latitude "Reported latitude" id "00000000-0000-4000-8000-000000000108" { + type_ref Real; + unit "degrees north"; + default none; + description ""; + direction Unspecified; + maximum 1; + minimum 1; + storage Value; + } + description ""; + mechanism Unspecified; + parent none; + supertype none; +} + +// Allocation remains explicit even though the saved architecture view nests work. +allocation crew_reports "Crew reports distress" id "00000000-0000-4000-8000-000000000201" { + source @vessel; target @report_distress; +} +allocation team_assesses "Team assesses incident" id "00000000-0000-4000-8000-000000000202" { + source @rescue_team; target @assess_incident; +} +interaction distress_signal "Distress signal" id "00000000-0000-4000-8000-000000000203" { + source @report_distress; target @assess_incident; items [@oa_report_data]; +} +capability_involvement operational_contribution "Assessment supports rescue" id "00000000-0000-4000-8000-000000000204" { + source @assess_incident; target @protect_life; +} diff --git a/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/navigation-palette-20260913-01/source-example-migration-r2/candidate/project.arcadia b/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/navigation-palette-20260913-01/source-example-migration-r2/candidate/project.arcadia new file mode 100644 index 00000000..caa10202 --- /dev/null +++ b/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/navigation-palette-20260913-01/source-example-migration-r2/candidate/project.arcadia @@ -0,0 +1,11 @@ +arcadia 7; +project distress_response "Distress response — nested source project" id "00000000-0000-4000-8000-000000000001" { + description "A small OA/SA model for learning source ownership, typed ports and reviewed graphical edits. Open this file. Start with the saved allocation views, then browse Handle distress reports and use Source for selection."; + + // Includes organize documents; aliases are shared by the whole project. + include "oa.arcadia"; + include "sa/participants.arcadia"; + include "sa/reporting.arcadia"; + include "sa/assurance.arcadia"; + include "views.arcadia"; +} diff --git a/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/navigation-palette-20260913-01/source-example-migration-r2/candidate/sa/assurance.arcadia b/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/navigation-palette-20260913-01/source-example-migration-r2/candidate/sa/assurance.arcadia new file mode 100644 index 00000000..b9678cbe --- /dev/null +++ b/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/navigation-palette-20260913-01/source-example-migration-r2/candidate/sa/assurance.arcadia @@ -0,0 +1,11 @@ +// A separate functional aggregate provides a cross-file reparenting example. +// Move Assess report here through Properties, then inspect both source files. +sa_function assure_response "Assure response quality" id "00000000-0000-4000-8000-000000000411" { + description "Review the service response independently of report transport."; + sa_function review_response "Review response" id "00000000-0000-4000-8000-000000000412" { + description "Check that a coordinator can review the received information."; + } +} +allocation system_reviews "System supports response review" id "00000000-0000-4000-8000-000000000504" { + source @rescue_system; target @review_response; +} diff --git a/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/navigation-palette-20260913-01/source-example-migration-r2/candidate/sa/participants.arcadia b/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/navigation-palette-20260913-01/source-example-migration-r2/candidate/sa/participants.arcadia new file mode 100644 index 00000000..cdd7f402 --- /dev/null +++ b/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/navigation-palette-20260913-01/source-example-migration-r2/candidate/sa/participants.arcadia @@ -0,0 +1,22 @@ +// System Analysis identifies one system of interest and its external participant. +sa_system rescue_system "Rescue coordination system" id "00000000-0000-4000-8000-000000000301" { + description "The selected system receives reports and supports the coordinator."; + // A component port belongs to its participant, not to an allocated function. + sa_port reporting_input "Reporting input" id "00000000-0000-4000-8000-000000000303" { + contract { Component { kind Flow; orientation In; }; }; + } +} +sa_actor vessel_service "Vessel communication service" id "00000000-0000-4000-8000-000000000302" { + description "An external service sends distress information across the system boundary."; + sa_port reporting_output "Reporting output" id "00000000-0000-4000-8000-000000000304" { + contract { Component { kind Flow; orientation Out; }; }; + } +} + +// The boundary exchange connects actual participant ports. Function realization +// is declared separately in reporting.arcadia using port/exchange allocations. +boundary_exchange radio_reporting "Radio reporting" id "00000000-0000-4000-8000-000000000501" { + source @reporting_output; target @reporting_input; + oriented true; + items [@sa_report_data]; +} diff --git a/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/navigation-palette-20260913-01/source-example-migration-r2/candidate/sa/reporting.arcadia b/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/navigation-palette-20260913-01/source-example-migration-r2/candidate/sa/reporting.arcadia new file mode 100644 index 00000000..a413d9ee --- /dev/null +++ b/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/navigation-palette-20260913-01/source-example-migration-r2/candidate/sa/reporting.arcadia @@ -0,0 +1,62 @@ +// Functional containment is independent of the participant allocations below. +sa_function handle_reports "Handle distress reports" id "00000000-0000-4000-8000-000000000401" { + description "A functional decomposition of reporting and assessment."; + sa_function transmit_report "Transmit report" id "00000000-0000-4000-8000-000000000402" { + description "Encode and send the vessel's distress report."; + sa_port report_out "Report output" id "00000000-0000-4000-8000-000000000404" { + contract { FunctionOutput { outgoing_items [@sa_report_data]; }; }; + } + } + // Assessment rationale travels with this declaration when it is reparented. + sa_function assess_report "Assess report" id "00000000-0000-4000-8000-000000000403" { + description "Validate the received report and present it to the coordinator."; + sa_port report_in "Report input" id "00000000-0000-4000-8000-000000000405" { + contract { FunctionInput { incoming_items [@sa_report_data]; }; }; + } + } // Assessment remains performed by rescue_system after a hierarchy edit. +} + +// This group comment stays in this file; it is not attached to the function above. + +sa_exchange_item sa_report_data "Digital distress report" id "00000000-0000-4000-8000-000000000406" { + kind Information; + sa_data_field encoded_latitude "Encoded latitude" id "00000000-0000-4000-8000-000000000407" { + type_ref Real; + unit "degrees north"; + default none; + description ""; + direction Unspecified; + maximum 1; + minimum 1; + storage Value; + } + description ""; + mechanism Unspecified; + parent none; + supertype none; +} +sa_capability coordinate_response "Coordinate distress response" id "00000000-0000-4000-8000-000000000408" {} + +allocation vessel_transmits "Vessel service transmits" id "00000000-0000-4000-8000-000000000502" { + source @vessel_service; target @transmit_report; +} +allocation system_assesses "System assesses report" id "00000000-0000-4000-8000-000000000503" { + source @rescue_system; target @assess_report; +} +functional_exchange validated_report "Validated report" id "00000000-0000-4000-8000-000000000505" { + source @transmit_report; source_port @report_out; + target @assess_report; target_port @report_in; + items [@sa_report_data]; +} +port_allocation output_realization "Reporting output realizes function output" id "00000000-0000-4000-8000-000000000506" { + source @reporting_output; target @report_out; +} +port_allocation input_realization "Reporting input realizes function input" id "00000000-0000-4000-8000-000000000507" { + source @reporting_input; target @report_in; +} +exchange_allocation report_transport "Radio reporting carries the function exchange" id "00000000-0000-4000-8000-000000000508" { + source @radio_reporting; target @validated_report; +} +capability_involvement system_contribution "Assessment supports coordination" id "00000000-0000-4000-8000-000000000509" { + source @assess_report; target @coordinate_response; +} diff --git a/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/navigation-palette-20260913-01/source-example-migration-r2/candidate/views.arcadia b/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/navigation-palette-20260913-01/source-example-migration-r2/candidate/views.arcadia new file mode 100644 index 00000000..62d9b5cb --- /dev/null +++ b/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/navigation-palette-20260913-01/source-example-migration-r2/candidate/views.arcadia @@ -0,0 +1,71 @@ +// Views are projections. Their visual allocation containers do not set parent. +diagram oa_architecture "OA — participants and activities" id "00000000-0000-4000-8000-000000000601" { + description "The crew reports; the coordination team assesses. Containment of work is shown separately in the Model explorer."; + layer Oa; projection Allocation; +} +node oa_vessel_view id "00000000-0000-4000-8000-000000000701" { + diagram @oa_architecture; element @vessel; + position { x 60; y 60; }; size { width 272; height 210; }; +} +node oa_team_view id "00000000-0000-4000-8000-000000000702" { + diagram @oa_architecture; element @rescue_team; + position { x 540; y 60; }; size { width 300; height 210; }; +} +node oa_report_view id "00000000-0000-4000-8000-000000000703" { + diagram @oa_architecture; element @report_distress; + position { x 84; y 128; }; size { width 224; height 104; }; +} +node oa_assessment_view id "00000000-0000-4000-8000-000000000704" { + diagram @oa_architecture; element @assess_incident; + position { x 564; y 128; }; size { width 252; height 104; }; +} + +diagram sa_architecture "SA — system boundary and functions" id "00000000-0000-4000-8000-000000000602" { + description "Flow component ports define the boundary; separate function ports carry the functional exchange."; + layer Sa; projection Allocation; +} +node sa_vessel_view id "00000000-0000-4000-8000-000000000711" { + diagram @sa_architecture; element @vessel_service; + position { x 60; y 60; }; size { width 272; height 220; }; +} +node sa_system_view id "00000000-0000-4000-8000-000000000712" { + diagram @sa_architecture; element @rescue_system; + position { x 540; y 60; }; size { width 300; height 340; }; +} +node sa_transmission_view id "00000000-0000-4000-8000-000000000713" { + diagram @sa_architecture; element @transmit_report; + position { x 84; y 128; }; size { width 224; height 104; }; +} +node sa_assessment_view id "00000000-0000-4000-8000-000000000714" { + diagram @sa_architecture; element @assess_report; + position { x 564; y 128; }; size { width 252; height 104; }; +} +node sa_review_view id "00000000-0000-4000-8000-000000000715" { + diagram @sa_architecture; element @review_response; + position { x 564; y 272; }; size { width 252; height 104; }; +} + +diagram sa_decomposition "SA — functional containment" id "00000000-0000-4000-8000-000000000603" { + description "These containers represent real function parents. Compare them with the explicit allocations in the architecture view."; + layer Sa; projection FunctionalDataflow; +} +node handling_view id "00000000-0000-4000-8000-000000000721" { + diagram @sa_decomposition; element @handle_reports; + position { x 40; y 60; }; size { width 500; height 230; }; +} +node transmission_view id "00000000-0000-4000-8000-000000000722" { + diagram @sa_decomposition; element @transmit_report; + position { x 64; y 136; }; size { width 204; height 104; }; +} +node assessment_view id "00000000-0000-4000-8000-000000000723" { + diagram @sa_decomposition; element @assess_report; + position { x 310; y 136; }; size { width 204; height 104; }; +} +node assurance_view id "00000000-0000-4000-8000-000000000724" { + diagram @sa_decomposition; element @assure_response; + position { x 590; y 60; }; size { width 300; height 230; }; +} +node review_view id "00000000-0000-4000-8000-000000000725" { + diagram @sa_decomposition; element @review_response; + position { x 614; y 136; }; size { width 252; height 104; }; +} diff --git a/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/navigation-palette-20260913-01/source-example-migration-r2/independent-flattened-legacy.arcadia b/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/navigation-palette-20260913-01/source-example-migration-r2/independent-flattened-legacy.arcadia new file mode 100644 index 00000000..8db7c299 --- /dev/null +++ b/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/navigation-palette-20260913-01/source-example-migration-r2/independent-flattened-legacy.arcadia @@ -0,0 +1,208 @@ +arcadia 3; +project distress_response "Distress response — nested source project" id "00000000-0000-4000-8000-000000000001" { + description "A small OA/SA model for learning source ownership, typed ports and reviewed graphical edits. Open this file. Start with the saved allocation views, then browse Handle distress reports and use Source for selection."; + + // Includes organize documents; aliases are shared by the whole project. + // Operational Analysis describes the need without choosing a technical solution. +oa_actor vessel "Vessel in distress" id "00000000-0000-4000-8000-000000000101" { + description "The vessel's crew needs to communicate its position and obtain assistance."; +} +oa_entity rescue_team "Rescue coordination" id "00000000-0000-4000-8000-000000000102" { + description "The coordination team assesses the report and decides on a response."; +} + +// This is work decomposition. It does not assign either activity to a participant. +oa_activity respond "Respond to distress" id "00000000-0000-4000-8000-000000000103" { + // Keep the crew's reporting responsibility visible when decomposing the need. + oa_activity report_distress "Report distress" id "00000000-0000-4000-8000-000000000104" { + description "Provide the vessel's situation and last known position."; + } + oa_activity assess_incident "Assess incident" id "00000000-0000-4000-8000-000000000105" { + description "Decide which assistance is needed using the received report."; + } +} + +oa_capability protect_life "Protect life at sea" id "00000000-0000-4000-8000-000000000106" {} +oa_exchange_item oa_report_data "Distress report" id "00000000-0000-4000-8000-000000000107" { + kind Information; + oa_data_field reported_latitude "Reported latitude" id "00000000-0000-4000-8000-000000000108" { + type_ref Real; + unit "degrees north"; + } +} + +// Allocation remains explicit even though the saved architecture view nests work. +allocation crew_reports "Crew reports distress" id "00000000-0000-4000-8000-000000000201" { + source @vessel; target @report_distress; +} +allocation team_assesses "Team assesses incident" id "00000000-0000-4000-8000-000000000202" { + source @rescue_team; target @assess_incident; +} +interaction distress_signal "Distress signal" id "00000000-0000-4000-8000-000000000203" { + source @report_distress; target @assess_incident; items [@oa_report_data]; +} +capability_involvement operational_contribution "Assessment supports rescue" id "00000000-0000-4000-8000-000000000204" { + source @assess_incident; target @protect_life; +} + + // System Analysis identifies one system of interest and its external participant. +sa_system rescue_system "Rescue coordination system" id "00000000-0000-4000-8000-000000000301" { + description "The selected system receives reports and supports the coordinator."; + // A component port belongs to its participant, not to an allocated function. + sa_port reporting_input "Reporting input" id "00000000-0000-4000-8000-000000000303" { + contract { Component { kind Flow; orientation In; }; }; + } +} +sa_actor vessel_service "Vessel communication service" id "00000000-0000-4000-8000-000000000302" { + description "An external service sends distress information across the system boundary."; + sa_port reporting_output "Reporting output" id "00000000-0000-4000-8000-000000000304" { + contract { Component { kind Flow; orientation Out; }; }; + } +} + +// The boundary exchange connects actual participant ports. Function realization +// is declared separately in reporting.arcadia using port/exchange allocations. +boundary_exchange radio_reporting "Radio reporting" id "00000000-0000-4000-8000-000000000501" { + source @reporting_output; target @reporting_input; + oriented true; + items [@sa_report_data]; +} + + // Functional containment is independent of the participant allocations below. +sa_function handle_reports "Handle distress reports" id "00000000-0000-4000-8000-000000000401" { + description "A functional decomposition of reporting and assessment."; + sa_function transmit_report "Transmit report" id "00000000-0000-4000-8000-000000000402" { + description "Encode and send the vessel's distress report."; + sa_port report_out "Report output" id "00000000-0000-4000-8000-000000000404" { + contract { FunctionOutput { outgoing_items [@sa_report_data]; }; }; + } + } + // Assessment rationale travels with this declaration when it is reparented. + sa_function assess_report "Assess report" id "00000000-0000-4000-8000-000000000403" { + description "Validate the received report and present it to the coordinator."; + sa_port report_in "Report input" id "00000000-0000-4000-8000-000000000405" { + contract { FunctionInput { incoming_items [@sa_report_data]; }; }; + } + } // Assessment remains performed by rescue_system after a hierarchy edit. +} + +// This group comment stays in this file; it is not attached to the function above. + +sa_exchange_item sa_report_data "Digital distress report" id "00000000-0000-4000-8000-000000000406" { + kind Information; + sa_data_field encoded_latitude "Encoded latitude" id "00000000-0000-4000-8000-000000000407" { + type_ref Real; + unit "degrees north"; + } +} +sa_capability coordinate_response "Coordinate distress response" id "00000000-0000-4000-8000-000000000408" {} + +allocation vessel_transmits "Vessel service transmits" id "00000000-0000-4000-8000-000000000502" { + source @vessel_service; target @transmit_report; +} +allocation system_assesses "System assesses report" id "00000000-0000-4000-8000-000000000503" { + source @rescue_system; target @assess_report; +} +functional_exchange validated_report "Validated report" id "00000000-0000-4000-8000-000000000505" { + source @transmit_report; source_port @report_out; + target @assess_report; target_port @report_in; + items [@sa_report_data]; +} +port_allocation output_realization "Reporting output realizes function output" id "00000000-0000-4000-8000-000000000506" { + source @reporting_output; target @report_out; +} +port_allocation input_realization "Reporting input realizes function input" id "00000000-0000-4000-8000-000000000507" { + source @reporting_input; target @report_in; +} +exchange_allocation report_transport "Radio reporting carries the function exchange" id "00000000-0000-4000-8000-000000000508" { + source @radio_reporting; target @validated_report; +} +capability_involvement system_contribution "Assessment supports coordination" id "00000000-0000-4000-8000-000000000509" { + source @assess_report; target @coordinate_response; +} + + // A separate functional aggregate provides a cross-file reparenting example. +// Move Assess report here through Properties, then inspect both source files. +sa_function assure_response "Assure response quality" id "00000000-0000-4000-8000-000000000411" { + description "Review the service response independently of report transport."; + sa_function review_response "Review response" id "00000000-0000-4000-8000-000000000412" { + description "Check that a coordinator can review the received information."; + } +} +allocation system_reviews "System supports response review" id "00000000-0000-4000-8000-000000000504" { + source @rescue_system; target @review_response; +} + + // Views are projections. Their visual allocation containers do not set parent. +diagram oa_architecture "OA — participants and activities" id "00000000-0000-4000-8000-000000000601" { + description "The crew reports; the coordination team assesses. Containment of work is shown separately in the Model explorer."; + layer Oa; projection Allocation; +} +node oa_vessel_view id "00000000-0000-4000-8000-000000000701" { + diagram @oa_architecture; element @vessel; + position { x 60; y 60; }; size { width 272; height 210; }; +} +node oa_team_view id "00000000-0000-4000-8000-000000000702" { + diagram @oa_architecture; element @rescue_team; + position { x 540; y 60; }; size { width 300; height 210; }; +} +node oa_report_view id "00000000-0000-4000-8000-000000000703" { + diagram @oa_architecture; element @report_distress; + position { x 84; y 128; }; size { width 224; height 104; }; +} +node oa_assessment_view id "00000000-0000-4000-8000-000000000704" { + diagram @oa_architecture; element @assess_incident; + position { x 564; y 128; }; size { width 252; height 104; }; +} + +diagram sa_architecture "SA — system boundary and functions" id "00000000-0000-4000-8000-000000000602" { + description "Flow component ports define the boundary; separate function ports carry the functional exchange."; + layer Sa; projection Allocation; +} +node sa_vessel_view id "00000000-0000-4000-8000-000000000711" { + diagram @sa_architecture; element @vessel_service; + position { x 60; y 60; }; size { width 272; height 220; }; +} +node sa_system_view id "00000000-0000-4000-8000-000000000712" { + diagram @sa_architecture; element @rescue_system; + position { x 540; y 60; }; size { width 300; height 340; }; +} +node sa_transmission_view id "00000000-0000-4000-8000-000000000713" { + diagram @sa_architecture; element @transmit_report; + position { x 84; y 128; }; size { width 224; height 104; }; +} +node sa_assessment_view id "00000000-0000-4000-8000-000000000714" { + diagram @sa_architecture; element @assess_report; + position { x 564; y 128; }; size { width 252; height 104; }; +} +node sa_review_view id "00000000-0000-4000-8000-000000000715" { + diagram @sa_architecture; element @review_response; + position { x 564; y 272; }; size { width 252; height 104; }; +} + +diagram sa_decomposition "SA — functional containment" id "00000000-0000-4000-8000-000000000603" { + description "These containers represent real function parents. Compare them with the explicit allocations in the architecture view."; + layer Sa; projection FunctionalDataflow; +} +node handling_view id "00000000-0000-4000-8000-000000000721" { + diagram @sa_decomposition; element @handle_reports; + position { x 40; y 60; }; size { width 500; height 230; }; +} +node transmission_view id "00000000-0000-4000-8000-000000000722" { + diagram @sa_decomposition; element @transmit_report; + position { x 64; y 136; }; size { width 204; height 104; }; +} +node assessment_view id "00000000-0000-4000-8000-000000000723" { + diagram @sa_decomposition; element @assess_report; + position { x 310; y 136; }; size { width 204; height 104; }; +} +node assurance_view id "00000000-0000-4000-8000-000000000724" { + diagram @sa_decomposition; element @assure_response; + position { x 590; y 60; }; size { width 300; height 230; }; +} +node review_view id "00000000-0000-4000-8000-000000000725" { + diagram @sa_decomposition; element @review_response; + position { x 614; y 136; }; size { width 252; height 104; }; +} + +} diff --git a/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/navigation-palette-20260913-01/source-example-migration-r2/independent-legacy-project.json b/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/navigation-palette-20260913-01/source-example-migration-r2/independent-legacy-project.json new file mode 100644 index 00000000..8d8468f5 --- /dev/null +++ b/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/navigation-palette-20260913-01/source-example-migration-r2/independent-legacy-project.json @@ -0,0 +1,749 @@ +{ + "schema_version": 7, + "id": "00000000-0000-4000-8000-000000000001", + "alias": "distress_response", + "name": "Distress response — nested source project", + "description": "A small OA/SA model for learning source ownership, typed ports and reviewed graphical edits. Open this file. Start with the saved allocation views, then browse Handle distress reports and use Source for selection.", + "elements": { + "00000000-0000-4000-8000-000000000101": { + "id": "00000000-0000-4000-8000-000000000101", + "alias": "vessel", + "name": "Vessel in distress", + "description": "The vessel's crew needs to communicate its position and obtain assistance.", + "parent": null, + "body": { + "Oa": "Actor" + } + }, + "00000000-0000-4000-8000-000000000102": { + "id": "00000000-0000-4000-8000-000000000102", + "alias": "rescue_team", + "name": "Rescue coordination", + "description": "The coordination team assesses the report and decides on a response.", + "parent": null, + "body": { + "Oa": "Entity" + } + }, + "00000000-0000-4000-8000-000000000103": { + "id": "00000000-0000-4000-8000-000000000103", + "alias": "respond", + "name": "Respond to distress", + "description": "", + "parent": null, + "body": { + "Oa": "Activity" + } + }, + "00000000-0000-4000-8000-000000000104": { + "id": "00000000-0000-4000-8000-000000000104", + "alias": "report_distress", + "name": "Report distress", + "description": "Provide the vessel's situation and last known position.", + "parent": "00000000-0000-4000-8000-000000000103", + "body": { + "Oa": "Activity" + } + }, + "00000000-0000-4000-8000-000000000105": { + "id": "00000000-0000-4000-8000-000000000105", + "alias": "assess_incident", + "name": "Assess incident", + "description": "Decide which assistance is needed using the received report.", + "parent": "00000000-0000-4000-8000-000000000103", + "body": { + "Oa": "Activity" + } + }, + "00000000-0000-4000-8000-000000000106": { + "id": "00000000-0000-4000-8000-000000000106", + "alias": "protect_life", + "name": "Protect life at sea", + "description": "", + "parent": null, + "body": { + "Oa": "Capability" + } + }, + "00000000-0000-4000-8000-000000000107": { + "id": "00000000-0000-4000-8000-000000000107", + "alias": "oa_report_data", + "name": "Distress report", + "description": "", + "parent": null, + "body": { + "Oa": { + "Shared": { + "ExchangeItem": { + "kind": "Information", + "mechanism": "Unspecified", + "supertype": null + } + } + } + } + }, + "00000000-0000-4000-8000-000000000108": { + "id": "00000000-0000-4000-8000-000000000108", + "alias": "reported_latitude", + "name": "Reported latitude", + "description": "", + "parent": "00000000-0000-4000-8000-000000000107", + "body": { + "Oa": { + "Shared": { + "DataField": { + "type_ref": "Real", + "minimum": 1, + "maximum": 1, + "unit": "degrees north", + "direction": "Unspecified", + "storage": "Value", + "default": null + } + } + } + } + }, + "00000000-0000-4000-8000-000000000301": { + "id": "00000000-0000-4000-8000-000000000301", + "alias": "rescue_system", + "name": "Rescue coordination system", + "description": "The selected system receives reports and supports the coordinator.", + "parent": null, + "body": { + "Sa": "System" + } + }, + "00000000-0000-4000-8000-000000000302": { + "id": "00000000-0000-4000-8000-000000000302", + "alias": "vessel_service", + "name": "Vessel communication service", + "description": "An external service sends distress information across the system boundary.", + "parent": null, + "body": { + "Sa": "Actor" + } + }, + "00000000-0000-4000-8000-000000000303": { + "id": "00000000-0000-4000-8000-000000000303", + "alias": "reporting_input", + "name": "Reporting input", + "description": "", + "parent": "00000000-0000-4000-8000-000000000301", + "body": { + "Sa": { + "Shared": { + "Port": { + "contract": { + "Component": { + "kind": "Flow", + "orientation": "In" + } + }, + "legacy": null + } + } + } + } + }, + "00000000-0000-4000-8000-000000000304": { + "id": "00000000-0000-4000-8000-000000000304", + "alias": "reporting_output", + "name": "Reporting output", + "description": "", + "parent": "00000000-0000-4000-8000-000000000302", + "body": { + "Sa": { + "Shared": { + "Port": { + "contract": { + "Component": { + "kind": "Flow", + "orientation": "Out" + } + }, + "legacy": null + } + } + } + } + }, + "00000000-0000-4000-8000-000000000401": { + "id": "00000000-0000-4000-8000-000000000401", + "alias": "handle_reports", + "name": "Handle distress reports", + "description": "A functional decomposition of reporting and assessment.", + "parent": null, + "body": { + "Sa": "Function" + } + }, + "00000000-0000-4000-8000-000000000402": { + "id": "00000000-0000-4000-8000-000000000402", + "alias": "transmit_report", + "name": "Transmit report", + "description": "Encode and send the vessel's distress report.", + "parent": "00000000-0000-4000-8000-000000000401", + "body": { + "Sa": "Function" + } + }, + "00000000-0000-4000-8000-000000000403": { + "id": "00000000-0000-4000-8000-000000000403", + "alias": "assess_report", + "name": "Assess report", + "description": "Validate the received report and present it to the coordinator.", + "parent": "00000000-0000-4000-8000-000000000401", + "body": { + "Sa": "Function" + } + }, + "00000000-0000-4000-8000-000000000404": { + "id": "00000000-0000-4000-8000-000000000404", + "alias": "report_out", + "name": "Report output", + "description": "", + "parent": "00000000-0000-4000-8000-000000000402", + "body": { + "Sa": { + "Shared": { + "Port": { + "contract": { + "FunctionOutput": { + "outgoing_items": [ + "00000000-0000-4000-8000-000000000406" + ] + } + }, + "legacy": null + } + } + } + } + }, + "00000000-0000-4000-8000-000000000405": { + "id": "00000000-0000-4000-8000-000000000405", + "alias": "report_in", + "name": "Report input", + "description": "", + "parent": "00000000-0000-4000-8000-000000000403", + "body": { + "Sa": { + "Shared": { + "Port": { + "contract": { + "FunctionInput": { + "incoming_items": [ + "00000000-0000-4000-8000-000000000406" + ] + } + }, + "legacy": null + } + } + } + } + }, + "00000000-0000-4000-8000-000000000406": { + "id": "00000000-0000-4000-8000-000000000406", + "alias": "sa_report_data", + "name": "Digital distress report", + "description": "", + "parent": null, + "body": { + "Sa": { + "Shared": { + "ExchangeItem": { + "kind": "Information", + "mechanism": "Unspecified", + "supertype": null + } + } + } + } + }, + "00000000-0000-4000-8000-000000000407": { + "id": "00000000-0000-4000-8000-000000000407", + "alias": "encoded_latitude", + "name": "Encoded latitude", + "description": "", + "parent": "00000000-0000-4000-8000-000000000406", + "body": { + "Sa": { + "Shared": { + "DataField": { + "type_ref": "Real", + "minimum": 1, + "maximum": 1, + "unit": "degrees north", + "direction": "Unspecified", + "storage": "Value", + "default": null + } + } + } + } + }, + "00000000-0000-4000-8000-000000000408": { + "id": "00000000-0000-4000-8000-000000000408", + "alias": "coordinate_response", + "name": "Coordinate distress response", + "description": "", + "parent": null, + "body": { + "Sa": "Capability" + } + }, + "00000000-0000-4000-8000-000000000411": { + "id": "00000000-0000-4000-8000-000000000411", + "alias": "assure_response", + "name": "Assure response quality", + "description": "Review the service response independently of report transport.", + "parent": null, + "body": { + "Sa": "Function" + } + }, + "00000000-0000-4000-8000-000000000412": { + "id": "00000000-0000-4000-8000-000000000412", + "alias": "review_response", + "name": "Review response", + "description": "Check that a coordinator can review the received information.", + "parent": "00000000-0000-4000-8000-000000000411", + "body": { + "Sa": "Function" + } + } + }, + "relations": { + "00000000-0000-4000-8000-000000000201": { + "id": "00000000-0000-4000-8000-000000000201", + "alias": "crew_reports", + "name": "Crew reports distress", + "description": "", + "body": { + "Allocation": { + "source": "00000000-0000-4000-8000-000000000101", + "target": "00000000-0000-4000-8000-000000000104" + } + } + }, + "00000000-0000-4000-8000-000000000202": { + "id": "00000000-0000-4000-8000-000000000202", + "alias": "team_assesses", + "name": "Team assesses incident", + "description": "", + "body": { + "Allocation": { + "source": "00000000-0000-4000-8000-000000000102", + "target": "00000000-0000-4000-8000-000000000105" + } + } + }, + "00000000-0000-4000-8000-000000000203": { + "id": "00000000-0000-4000-8000-000000000203", + "alias": "distress_signal", + "name": "Distress signal", + "description": "", + "body": { + "Interaction": { + "source": "00000000-0000-4000-8000-000000000104", + "target": "00000000-0000-4000-8000-000000000105", + "items": [ + "00000000-0000-4000-8000-000000000107" + ] + } + } + }, + "00000000-0000-4000-8000-000000000204": { + "id": "00000000-0000-4000-8000-000000000204", + "alias": "operational_contribution", + "name": "Assessment supports rescue", + "description": "", + "body": { + "CapabilityInvolvement": { + "source": "00000000-0000-4000-8000-000000000105", + "target": "00000000-0000-4000-8000-000000000106" + } + } + }, + "00000000-0000-4000-8000-000000000501": { + "id": "00000000-0000-4000-8000-000000000501", + "alias": "radio_reporting", + "name": "Radio reporting", + "description": "", + "body": { + "BoundaryExchange": { + "source": "00000000-0000-4000-8000-000000000304", + "target": "00000000-0000-4000-8000-000000000303", + "oriented": true, + "items": [ + "00000000-0000-4000-8000-000000000406" + ] + } + } + }, + "00000000-0000-4000-8000-000000000502": { + "id": "00000000-0000-4000-8000-000000000502", + "alias": "vessel_transmits", + "name": "Vessel service transmits", + "description": "", + "body": { + "Allocation": { + "source": "00000000-0000-4000-8000-000000000302", + "target": "00000000-0000-4000-8000-000000000402" + } + } + }, + "00000000-0000-4000-8000-000000000503": { + "id": "00000000-0000-4000-8000-000000000503", + "alias": "system_assesses", + "name": "System assesses report", + "description": "", + "body": { + "Allocation": { + "source": "00000000-0000-4000-8000-000000000301", + "target": "00000000-0000-4000-8000-000000000403" + } + } + }, + "00000000-0000-4000-8000-000000000504": { + "id": "00000000-0000-4000-8000-000000000504", + "alias": "system_reviews", + "name": "System supports response review", + "description": "", + "body": { + "Allocation": { + "source": "00000000-0000-4000-8000-000000000301", + "target": "00000000-0000-4000-8000-000000000412" + } + } + }, + "00000000-0000-4000-8000-000000000505": { + "id": "00000000-0000-4000-8000-000000000505", + "alias": "validated_report", + "name": "Validated report", + "description": "", + "body": { + "FunctionalExchange": { + "source": "00000000-0000-4000-8000-000000000402", + "target": "00000000-0000-4000-8000-000000000403", + "source_port": "00000000-0000-4000-8000-000000000404", + "target_port": "00000000-0000-4000-8000-000000000405", + "items": [ + "00000000-0000-4000-8000-000000000406" + ] + } + } + }, + "00000000-0000-4000-8000-000000000506": { + "id": "00000000-0000-4000-8000-000000000506", + "alias": "output_realization", + "name": "Reporting output realizes function output", + "description": "", + "body": { + "PortAllocation": { + "source": "00000000-0000-4000-8000-000000000304", + "target": "00000000-0000-4000-8000-000000000404" + } + } + }, + "00000000-0000-4000-8000-000000000507": { + "id": "00000000-0000-4000-8000-000000000507", + "alias": "input_realization", + "name": "Reporting input realizes function input", + "description": "", + "body": { + "PortAllocation": { + "source": "00000000-0000-4000-8000-000000000303", + "target": "00000000-0000-4000-8000-000000000405" + } + } + }, + "00000000-0000-4000-8000-000000000508": { + "id": "00000000-0000-4000-8000-000000000508", + "alias": "report_transport", + "name": "Radio reporting carries the function exchange", + "description": "", + "body": { + "ExchangeAllocation": { + "source": "00000000-0000-4000-8000-000000000501", + "target": "00000000-0000-4000-8000-000000000505" + } + } + }, + "00000000-0000-4000-8000-000000000509": { + "id": "00000000-0000-4000-8000-000000000509", + "alias": "system_contribution", + "name": "Assessment supports coordination", + "description": "", + "body": { + "CapabilityInvolvement": { + "source": "00000000-0000-4000-8000-000000000403", + "target": "00000000-0000-4000-8000-000000000408" + } + } + } + }, + "diagrams": { + "00000000-0000-4000-8000-000000000601": { + "id": "00000000-0000-4000-8000-000000000601", + "alias": "oa_architecture", + "name": "OA — participants and activities", + "description": "The crew reports; the coordination team assesses. Containment of work is shown separately in the Model explorer.", + "layer": "Oa", + "projection": "Allocation", + "view_options": { + "hidden_edges": [], + "relation_kinds": "All", + "work_categories": "All", + "participant_categories": "All", + "coverage": "All", + "work_contexts": "All", + "exchange_labels": "Name" + }, + "nodes": { + "00000000-0000-4000-8000-000000000701": { + "id": "00000000-0000-4000-8000-000000000701", + "alias": "oa_vessel_view", + "element": "00000000-0000-4000-8000-000000000101", + "position": { + "x": 60.0, + "y": 60.0 + }, + "size": { + "width": 272.0, + "height": 210.0 + }, + "collapsed": false + }, + "00000000-0000-4000-8000-000000000702": { + "id": "00000000-0000-4000-8000-000000000702", + "alias": "oa_team_view", + "element": "00000000-0000-4000-8000-000000000102", + "position": { + "x": 540.0, + "y": 60.0 + }, + "size": { + "width": 300.0, + "height": 210.0 + }, + "collapsed": false + }, + "00000000-0000-4000-8000-000000000703": { + "id": "00000000-0000-4000-8000-000000000703", + "alias": "oa_report_view", + "element": "00000000-0000-4000-8000-000000000104", + "position": { + "x": 84.0, + "y": 128.0 + }, + "size": { + "width": 224.0, + "height": 104.0 + }, + "collapsed": false + }, + "00000000-0000-4000-8000-000000000704": { + "id": "00000000-0000-4000-8000-000000000704", + "alias": "oa_assessment_view", + "element": "00000000-0000-4000-8000-000000000105", + "position": { + "x": 564.0, + "y": 128.0 + }, + "size": { + "width": 252.0, + "height": 104.0 + }, + "collapsed": false + } + }, + "routes": [] + }, + "00000000-0000-4000-8000-000000000602": { + "id": "00000000-0000-4000-8000-000000000602", + "alias": "sa_architecture", + "name": "SA — system boundary and functions", + "description": "Flow component ports define the boundary; separate function ports carry the functional exchange.", + "layer": "Sa", + "projection": "Allocation", + "view_options": { + "hidden_edges": [], + "relation_kinds": "All", + "work_categories": "All", + "participant_categories": "All", + "coverage": "All", + "work_contexts": "All", + "exchange_labels": "Name" + }, + "nodes": { + "00000000-0000-4000-8000-000000000711": { + "id": "00000000-0000-4000-8000-000000000711", + "alias": "sa_vessel_view", + "element": "00000000-0000-4000-8000-000000000302", + "position": { + "x": 60.0, + "y": 60.0 + }, + "size": { + "width": 272.0, + "height": 220.0 + }, + "collapsed": false + }, + "00000000-0000-4000-8000-000000000712": { + "id": "00000000-0000-4000-8000-000000000712", + "alias": "sa_system_view", + "element": "00000000-0000-4000-8000-000000000301", + "position": { + "x": 540.0, + "y": 60.0 + }, + "size": { + "width": 300.0, + "height": 340.0 + }, + "collapsed": false + }, + "00000000-0000-4000-8000-000000000713": { + "id": "00000000-0000-4000-8000-000000000713", + "alias": "sa_transmission_view", + "element": "00000000-0000-4000-8000-000000000402", + "position": { + "x": 84.0, + "y": 128.0 + }, + "size": { + "width": 224.0, + "height": 104.0 + }, + "collapsed": false + }, + "00000000-0000-4000-8000-000000000714": { + "id": "00000000-0000-4000-8000-000000000714", + "alias": "sa_assessment_view", + "element": "00000000-0000-4000-8000-000000000403", + "position": { + "x": 564.0, + "y": 128.0 + }, + "size": { + "width": 252.0, + "height": 104.0 + }, + "collapsed": false + }, + "00000000-0000-4000-8000-000000000715": { + "id": "00000000-0000-4000-8000-000000000715", + "alias": "sa_review_view", + "element": "00000000-0000-4000-8000-000000000412", + "position": { + "x": 564.0, + "y": 272.0 + }, + "size": { + "width": 252.0, + "height": 104.0 + }, + "collapsed": false + } + }, + "routes": [] + }, + "00000000-0000-4000-8000-000000000603": { + "id": "00000000-0000-4000-8000-000000000603", + "alias": "sa_decomposition", + "name": "SA — functional containment", + "description": "These containers represent real function parents. Compare them with the explicit allocations in the architecture view.", + "layer": "Sa", + "projection": "FunctionalDataflow", + "view_options": { + "hidden_edges": [], + "relation_kinds": "All", + "work_categories": "All", + "participant_categories": "All", + "coverage": "All", + "work_contexts": "All", + "exchange_labels": "Name" + }, + "nodes": { + "00000000-0000-4000-8000-000000000721": { + "id": "00000000-0000-4000-8000-000000000721", + "alias": "handling_view", + "element": "00000000-0000-4000-8000-000000000401", + "position": { + "x": 40.0, + "y": 60.0 + }, + "size": { + "width": 500.0, + "height": 230.0 + }, + "collapsed": false + }, + "00000000-0000-4000-8000-000000000722": { + "id": "00000000-0000-4000-8000-000000000722", + "alias": "transmission_view", + "element": "00000000-0000-4000-8000-000000000402", + "position": { + "x": 64.0, + "y": 136.0 + }, + "size": { + "width": 204.0, + "height": 104.0 + }, + "collapsed": false + }, + "00000000-0000-4000-8000-000000000723": { + "id": "00000000-0000-4000-8000-000000000723", + "alias": "assessment_view", + "element": "00000000-0000-4000-8000-000000000403", + "position": { + "x": 310.0, + "y": 136.0 + }, + "size": { + "width": 204.0, + "height": 104.0 + }, + "collapsed": false + }, + "00000000-0000-4000-8000-000000000724": { + "id": "00000000-0000-4000-8000-000000000724", + "alias": "assurance_view", + "element": "00000000-0000-4000-8000-000000000411", + "position": { + "x": 590.0, + "y": 60.0 + }, + "size": { + "width": 300.0, + "height": 230.0 + }, + "collapsed": false + }, + "00000000-0000-4000-8000-000000000725": { + "id": "00000000-0000-4000-8000-000000000725", + "alias": "review_view", + "element": "00000000-0000-4000-8000-000000000412", + "position": { + "x": 614.0, + "y": 136.0 + }, + "size": { + "width": 252.0, + "height": 104.0 + }, + "collapsed": false + } + }, + "routes": [] + } + }, + "artifact_links": {}, + "traces": {} +} diff --git a/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/navigation-palette-20260913-01/source-example-migration-r2/independent-reference-project.json b/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/navigation-palette-20260913-01/source-example-migration-r2/independent-reference-project.json new file mode 100644 index 00000000..8d8468f5 --- /dev/null +++ b/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/navigation-palette-20260913-01/source-example-migration-r2/independent-reference-project.json @@ -0,0 +1,749 @@ +{ + "schema_version": 7, + "id": "00000000-0000-4000-8000-000000000001", + "alias": "distress_response", + "name": "Distress response — nested source project", + "description": "A small OA/SA model for learning source ownership, typed ports and reviewed graphical edits. Open this file. Start with the saved allocation views, then browse Handle distress reports and use Source for selection.", + "elements": { + "00000000-0000-4000-8000-000000000101": { + "id": "00000000-0000-4000-8000-000000000101", + "alias": "vessel", + "name": "Vessel in distress", + "description": "The vessel's crew needs to communicate its position and obtain assistance.", + "parent": null, + "body": { + "Oa": "Actor" + } + }, + "00000000-0000-4000-8000-000000000102": { + "id": "00000000-0000-4000-8000-000000000102", + "alias": "rescue_team", + "name": "Rescue coordination", + "description": "The coordination team assesses the report and decides on a response.", + "parent": null, + "body": { + "Oa": "Entity" + } + }, + "00000000-0000-4000-8000-000000000103": { + "id": "00000000-0000-4000-8000-000000000103", + "alias": "respond", + "name": "Respond to distress", + "description": "", + "parent": null, + "body": { + "Oa": "Activity" + } + }, + "00000000-0000-4000-8000-000000000104": { + "id": "00000000-0000-4000-8000-000000000104", + "alias": "report_distress", + "name": "Report distress", + "description": "Provide the vessel's situation and last known position.", + "parent": "00000000-0000-4000-8000-000000000103", + "body": { + "Oa": "Activity" + } + }, + "00000000-0000-4000-8000-000000000105": { + "id": "00000000-0000-4000-8000-000000000105", + "alias": "assess_incident", + "name": "Assess incident", + "description": "Decide which assistance is needed using the received report.", + "parent": "00000000-0000-4000-8000-000000000103", + "body": { + "Oa": "Activity" + } + }, + "00000000-0000-4000-8000-000000000106": { + "id": "00000000-0000-4000-8000-000000000106", + "alias": "protect_life", + "name": "Protect life at sea", + "description": "", + "parent": null, + "body": { + "Oa": "Capability" + } + }, + "00000000-0000-4000-8000-000000000107": { + "id": "00000000-0000-4000-8000-000000000107", + "alias": "oa_report_data", + "name": "Distress report", + "description": "", + "parent": null, + "body": { + "Oa": { + "Shared": { + "ExchangeItem": { + "kind": "Information", + "mechanism": "Unspecified", + "supertype": null + } + } + } + } + }, + "00000000-0000-4000-8000-000000000108": { + "id": "00000000-0000-4000-8000-000000000108", + "alias": "reported_latitude", + "name": "Reported latitude", + "description": "", + "parent": "00000000-0000-4000-8000-000000000107", + "body": { + "Oa": { + "Shared": { + "DataField": { + "type_ref": "Real", + "minimum": 1, + "maximum": 1, + "unit": "degrees north", + "direction": "Unspecified", + "storage": "Value", + "default": null + } + } + } + } + }, + "00000000-0000-4000-8000-000000000301": { + "id": "00000000-0000-4000-8000-000000000301", + "alias": "rescue_system", + "name": "Rescue coordination system", + "description": "The selected system receives reports and supports the coordinator.", + "parent": null, + "body": { + "Sa": "System" + } + }, + "00000000-0000-4000-8000-000000000302": { + "id": "00000000-0000-4000-8000-000000000302", + "alias": "vessel_service", + "name": "Vessel communication service", + "description": "An external service sends distress information across the system boundary.", + "parent": null, + "body": { + "Sa": "Actor" + } + }, + "00000000-0000-4000-8000-000000000303": { + "id": "00000000-0000-4000-8000-000000000303", + "alias": "reporting_input", + "name": "Reporting input", + "description": "", + "parent": "00000000-0000-4000-8000-000000000301", + "body": { + "Sa": { + "Shared": { + "Port": { + "contract": { + "Component": { + "kind": "Flow", + "orientation": "In" + } + }, + "legacy": null + } + } + } + } + }, + "00000000-0000-4000-8000-000000000304": { + "id": "00000000-0000-4000-8000-000000000304", + "alias": "reporting_output", + "name": "Reporting output", + "description": "", + "parent": "00000000-0000-4000-8000-000000000302", + "body": { + "Sa": { + "Shared": { + "Port": { + "contract": { + "Component": { + "kind": "Flow", + "orientation": "Out" + } + }, + "legacy": null + } + } + } + } + }, + "00000000-0000-4000-8000-000000000401": { + "id": "00000000-0000-4000-8000-000000000401", + "alias": "handle_reports", + "name": "Handle distress reports", + "description": "A functional decomposition of reporting and assessment.", + "parent": null, + "body": { + "Sa": "Function" + } + }, + "00000000-0000-4000-8000-000000000402": { + "id": "00000000-0000-4000-8000-000000000402", + "alias": "transmit_report", + "name": "Transmit report", + "description": "Encode and send the vessel's distress report.", + "parent": "00000000-0000-4000-8000-000000000401", + "body": { + "Sa": "Function" + } + }, + "00000000-0000-4000-8000-000000000403": { + "id": "00000000-0000-4000-8000-000000000403", + "alias": "assess_report", + "name": "Assess report", + "description": "Validate the received report and present it to the coordinator.", + "parent": "00000000-0000-4000-8000-000000000401", + "body": { + "Sa": "Function" + } + }, + "00000000-0000-4000-8000-000000000404": { + "id": "00000000-0000-4000-8000-000000000404", + "alias": "report_out", + "name": "Report output", + "description": "", + "parent": "00000000-0000-4000-8000-000000000402", + "body": { + "Sa": { + "Shared": { + "Port": { + "contract": { + "FunctionOutput": { + "outgoing_items": [ + "00000000-0000-4000-8000-000000000406" + ] + } + }, + "legacy": null + } + } + } + } + }, + "00000000-0000-4000-8000-000000000405": { + "id": "00000000-0000-4000-8000-000000000405", + "alias": "report_in", + "name": "Report input", + "description": "", + "parent": "00000000-0000-4000-8000-000000000403", + "body": { + "Sa": { + "Shared": { + "Port": { + "contract": { + "FunctionInput": { + "incoming_items": [ + "00000000-0000-4000-8000-000000000406" + ] + } + }, + "legacy": null + } + } + } + } + }, + "00000000-0000-4000-8000-000000000406": { + "id": "00000000-0000-4000-8000-000000000406", + "alias": "sa_report_data", + "name": "Digital distress report", + "description": "", + "parent": null, + "body": { + "Sa": { + "Shared": { + "ExchangeItem": { + "kind": "Information", + "mechanism": "Unspecified", + "supertype": null + } + } + } + } + }, + "00000000-0000-4000-8000-000000000407": { + "id": "00000000-0000-4000-8000-000000000407", + "alias": "encoded_latitude", + "name": "Encoded latitude", + "description": "", + "parent": "00000000-0000-4000-8000-000000000406", + "body": { + "Sa": { + "Shared": { + "DataField": { + "type_ref": "Real", + "minimum": 1, + "maximum": 1, + "unit": "degrees north", + "direction": "Unspecified", + "storage": "Value", + "default": null + } + } + } + } + }, + "00000000-0000-4000-8000-000000000408": { + "id": "00000000-0000-4000-8000-000000000408", + "alias": "coordinate_response", + "name": "Coordinate distress response", + "description": "", + "parent": null, + "body": { + "Sa": "Capability" + } + }, + "00000000-0000-4000-8000-000000000411": { + "id": "00000000-0000-4000-8000-000000000411", + "alias": "assure_response", + "name": "Assure response quality", + "description": "Review the service response independently of report transport.", + "parent": null, + "body": { + "Sa": "Function" + } + }, + "00000000-0000-4000-8000-000000000412": { + "id": "00000000-0000-4000-8000-000000000412", + "alias": "review_response", + "name": "Review response", + "description": "Check that a coordinator can review the received information.", + "parent": "00000000-0000-4000-8000-000000000411", + "body": { + "Sa": "Function" + } + } + }, + "relations": { + "00000000-0000-4000-8000-000000000201": { + "id": "00000000-0000-4000-8000-000000000201", + "alias": "crew_reports", + "name": "Crew reports distress", + "description": "", + "body": { + "Allocation": { + "source": "00000000-0000-4000-8000-000000000101", + "target": "00000000-0000-4000-8000-000000000104" + } + } + }, + "00000000-0000-4000-8000-000000000202": { + "id": "00000000-0000-4000-8000-000000000202", + "alias": "team_assesses", + "name": "Team assesses incident", + "description": "", + "body": { + "Allocation": { + "source": "00000000-0000-4000-8000-000000000102", + "target": "00000000-0000-4000-8000-000000000105" + } + } + }, + "00000000-0000-4000-8000-000000000203": { + "id": "00000000-0000-4000-8000-000000000203", + "alias": "distress_signal", + "name": "Distress signal", + "description": "", + "body": { + "Interaction": { + "source": "00000000-0000-4000-8000-000000000104", + "target": "00000000-0000-4000-8000-000000000105", + "items": [ + "00000000-0000-4000-8000-000000000107" + ] + } + } + }, + "00000000-0000-4000-8000-000000000204": { + "id": "00000000-0000-4000-8000-000000000204", + "alias": "operational_contribution", + "name": "Assessment supports rescue", + "description": "", + "body": { + "CapabilityInvolvement": { + "source": "00000000-0000-4000-8000-000000000105", + "target": "00000000-0000-4000-8000-000000000106" + } + } + }, + "00000000-0000-4000-8000-000000000501": { + "id": "00000000-0000-4000-8000-000000000501", + "alias": "radio_reporting", + "name": "Radio reporting", + "description": "", + "body": { + "BoundaryExchange": { + "source": "00000000-0000-4000-8000-000000000304", + "target": "00000000-0000-4000-8000-000000000303", + "oriented": true, + "items": [ + "00000000-0000-4000-8000-000000000406" + ] + } + } + }, + "00000000-0000-4000-8000-000000000502": { + "id": "00000000-0000-4000-8000-000000000502", + "alias": "vessel_transmits", + "name": "Vessel service transmits", + "description": "", + "body": { + "Allocation": { + "source": "00000000-0000-4000-8000-000000000302", + "target": "00000000-0000-4000-8000-000000000402" + } + } + }, + "00000000-0000-4000-8000-000000000503": { + "id": "00000000-0000-4000-8000-000000000503", + "alias": "system_assesses", + "name": "System assesses report", + "description": "", + "body": { + "Allocation": { + "source": "00000000-0000-4000-8000-000000000301", + "target": "00000000-0000-4000-8000-000000000403" + } + } + }, + "00000000-0000-4000-8000-000000000504": { + "id": "00000000-0000-4000-8000-000000000504", + "alias": "system_reviews", + "name": "System supports response review", + "description": "", + "body": { + "Allocation": { + "source": "00000000-0000-4000-8000-000000000301", + "target": "00000000-0000-4000-8000-000000000412" + } + } + }, + "00000000-0000-4000-8000-000000000505": { + "id": "00000000-0000-4000-8000-000000000505", + "alias": "validated_report", + "name": "Validated report", + "description": "", + "body": { + "FunctionalExchange": { + "source": "00000000-0000-4000-8000-000000000402", + "target": "00000000-0000-4000-8000-000000000403", + "source_port": "00000000-0000-4000-8000-000000000404", + "target_port": "00000000-0000-4000-8000-000000000405", + "items": [ + "00000000-0000-4000-8000-000000000406" + ] + } + } + }, + "00000000-0000-4000-8000-000000000506": { + "id": "00000000-0000-4000-8000-000000000506", + "alias": "output_realization", + "name": "Reporting output realizes function output", + "description": "", + "body": { + "PortAllocation": { + "source": "00000000-0000-4000-8000-000000000304", + "target": "00000000-0000-4000-8000-000000000404" + } + } + }, + "00000000-0000-4000-8000-000000000507": { + "id": "00000000-0000-4000-8000-000000000507", + "alias": "input_realization", + "name": "Reporting input realizes function input", + "description": "", + "body": { + "PortAllocation": { + "source": "00000000-0000-4000-8000-000000000303", + "target": "00000000-0000-4000-8000-000000000405" + } + } + }, + "00000000-0000-4000-8000-000000000508": { + "id": "00000000-0000-4000-8000-000000000508", + "alias": "report_transport", + "name": "Radio reporting carries the function exchange", + "description": "", + "body": { + "ExchangeAllocation": { + "source": "00000000-0000-4000-8000-000000000501", + "target": "00000000-0000-4000-8000-000000000505" + } + } + }, + "00000000-0000-4000-8000-000000000509": { + "id": "00000000-0000-4000-8000-000000000509", + "alias": "system_contribution", + "name": "Assessment supports coordination", + "description": "", + "body": { + "CapabilityInvolvement": { + "source": "00000000-0000-4000-8000-000000000403", + "target": "00000000-0000-4000-8000-000000000408" + } + } + } + }, + "diagrams": { + "00000000-0000-4000-8000-000000000601": { + "id": "00000000-0000-4000-8000-000000000601", + "alias": "oa_architecture", + "name": "OA — participants and activities", + "description": "The crew reports; the coordination team assesses. Containment of work is shown separately in the Model explorer.", + "layer": "Oa", + "projection": "Allocation", + "view_options": { + "hidden_edges": [], + "relation_kinds": "All", + "work_categories": "All", + "participant_categories": "All", + "coverage": "All", + "work_contexts": "All", + "exchange_labels": "Name" + }, + "nodes": { + "00000000-0000-4000-8000-000000000701": { + "id": "00000000-0000-4000-8000-000000000701", + "alias": "oa_vessel_view", + "element": "00000000-0000-4000-8000-000000000101", + "position": { + "x": 60.0, + "y": 60.0 + }, + "size": { + "width": 272.0, + "height": 210.0 + }, + "collapsed": false + }, + "00000000-0000-4000-8000-000000000702": { + "id": "00000000-0000-4000-8000-000000000702", + "alias": "oa_team_view", + "element": "00000000-0000-4000-8000-000000000102", + "position": { + "x": 540.0, + "y": 60.0 + }, + "size": { + "width": 300.0, + "height": 210.0 + }, + "collapsed": false + }, + "00000000-0000-4000-8000-000000000703": { + "id": "00000000-0000-4000-8000-000000000703", + "alias": "oa_report_view", + "element": "00000000-0000-4000-8000-000000000104", + "position": { + "x": 84.0, + "y": 128.0 + }, + "size": { + "width": 224.0, + "height": 104.0 + }, + "collapsed": false + }, + "00000000-0000-4000-8000-000000000704": { + "id": "00000000-0000-4000-8000-000000000704", + "alias": "oa_assessment_view", + "element": "00000000-0000-4000-8000-000000000105", + "position": { + "x": 564.0, + "y": 128.0 + }, + "size": { + "width": 252.0, + "height": 104.0 + }, + "collapsed": false + } + }, + "routes": [] + }, + "00000000-0000-4000-8000-000000000602": { + "id": "00000000-0000-4000-8000-000000000602", + "alias": "sa_architecture", + "name": "SA — system boundary and functions", + "description": "Flow component ports define the boundary; separate function ports carry the functional exchange.", + "layer": "Sa", + "projection": "Allocation", + "view_options": { + "hidden_edges": [], + "relation_kinds": "All", + "work_categories": "All", + "participant_categories": "All", + "coverage": "All", + "work_contexts": "All", + "exchange_labels": "Name" + }, + "nodes": { + "00000000-0000-4000-8000-000000000711": { + "id": "00000000-0000-4000-8000-000000000711", + "alias": "sa_vessel_view", + "element": "00000000-0000-4000-8000-000000000302", + "position": { + "x": 60.0, + "y": 60.0 + }, + "size": { + "width": 272.0, + "height": 220.0 + }, + "collapsed": false + }, + "00000000-0000-4000-8000-000000000712": { + "id": "00000000-0000-4000-8000-000000000712", + "alias": "sa_system_view", + "element": "00000000-0000-4000-8000-000000000301", + "position": { + "x": 540.0, + "y": 60.0 + }, + "size": { + "width": 300.0, + "height": 340.0 + }, + "collapsed": false + }, + "00000000-0000-4000-8000-000000000713": { + "id": "00000000-0000-4000-8000-000000000713", + "alias": "sa_transmission_view", + "element": "00000000-0000-4000-8000-000000000402", + "position": { + "x": 84.0, + "y": 128.0 + }, + "size": { + "width": 224.0, + "height": 104.0 + }, + "collapsed": false + }, + "00000000-0000-4000-8000-000000000714": { + "id": "00000000-0000-4000-8000-000000000714", + "alias": "sa_assessment_view", + "element": "00000000-0000-4000-8000-000000000403", + "position": { + "x": 564.0, + "y": 128.0 + }, + "size": { + "width": 252.0, + "height": 104.0 + }, + "collapsed": false + }, + "00000000-0000-4000-8000-000000000715": { + "id": "00000000-0000-4000-8000-000000000715", + "alias": "sa_review_view", + "element": "00000000-0000-4000-8000-000000000412", + "position": { + "x": 564.0, + "y": 272.0 + }, + "size": { + "width": 252.0, + "height": 104.0 + }, + "collapsed": false + } + }, + "routes": [] + }, + "00000000-0000-4000-8000-000000000603": { + "id": "00000000-0000-4000-8000-000000000603", + "alias": "sa_decomposition", + "name": "SA — functional containment", + "description": "These containers represent real function parents. Compare them with the explicit allocations in the architecture view.", + "layer": "Sa", + "projection": "FunctionalDataflow", + "view_options": { + "hidden_edges": [], + "relation_kinds": "All", + "work_categories": "All", + "participant_categories": "All", + "coverage": "All", + "work_contexts": "All", + "exchange_labels": "Name" + }, + "nodes": { + "00000000-0000-4000-8000-000000000721": { + "id": "00000000-0000-4000-8000-000000000721", + "alias": "handling_view", + "element": "00000000-0000-4000-8000-000000000401", + "position": { + "x": 40.0, + "y": 60.0 + }, + "size": { + "width": 500.0, + "height": 230.0 + }, + "collapsed": false + }, + "00000000-0000-4000-8000-000000000722": { + "id": "00000000-0000-4000-8000-000000000722", + "alias": "transmission_view", + "element": "00000000-0000-4000-8000-000000000402", + "position": { + "x": 64.0, + "y": 136.0 + }, + "size": { + "width": 204.0, + "height": 104.0 + }, + "collapsed": false + }, + "00000000-0000-4000-8000-000000000723": { + "id": "00000000-0000-4000-8000-000000000723", + "alias": "assessment_view", + "element": "00000000-0000-4000-8000-000000000403", + "position": { + "x": 310.0, + "y": 136.0 + }, + "size": { + "width": 204.0, + "height": 104.0 + }, + "collapsed": false + }, + "00000000-0000-4000-8000-000000000724": { + "id": "00000000-0000-4000-8000-000000000724", + "alias": "assurance_view", + "element": "00000000-0000-4000-8000-000000000411", + "position": { + "x": 590.0, + "y": 60.0 + }, + "size": { + "width": 300.0, + "height": 230.0 + }, + "collapsed": false + }, + "00000000-0000-4000-8000-000000000725": { + "id": "00000000-0000-4000-8000-000000000725", + "alias": "review_view", + "element": "00000000-0000-4000-8000-000000000412", + "position": { + "x": 614.0, + "y": 136.0 + }, + "size": { + "width": 252.0, + "height": 104.0 + }, + "collapsed": false + } + }, + "routes": [] + } + }, + "artifact_links": {}, + "traces": {} +} diff --git a/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/navigation-palette-20260913-01/source-example-migration-r2/independent-reference-source-bundle.json b/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/navigation-palette-20260913-01/source-example-migration-r2/independent-reference-source-bundle.json new file mode 100644 index 00000000..67214af6 --- /dev/null +++ b/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/navigation-palette-20260913-01/source-example-migration-r2/independent-reference-source-bundle.json @@ -0,0 +1,11 @@ +{ + "entry": "project.arcadia", + "files": { + "oa.arcadia": "// Operational Analysis describes the need without choosing a technical solution.\noa_actor vessel \"Vessel in distress\" id \"00000000-0000-4000-8000-000000000101\" {\n description \"The vessel's crew needs to communicate its position and obtain assistance.\";\n}\noa_entity rescue_team \"Rescue coordination\" id \"00000000-0000-4000-8000-000000000102\" {\n description \"The coordination team assesses the report and decides on a response.\";\n}\n\n// This is work decomposition. It does not assign either activity to a participant.\noa_activity respond \"Respond to distress\" id \"00000000-0000-4000-8000-000000000103\" {\n // Keep the crew's reporting responsibility visible when decomposing the need.\n oa_activity report_distress \"Report distress\" id \"00000000-0000-4000-8000-000000000104\" {\n description \"Provide the vessel's situation and last known position.\";\n }\n oa_activity assess_incident \"Assess incident\" id \"00000000-0000-4000-8000-000000000105\" {\n description \"Decide which assistance is needed using the received report.\";\n }\n}\n\noa_capability protect_life \"Protect life at sea\" id \"00000000-0000-4000-8000-000000000106\" {}\noa_exchange_item oa_report_data \"Distress report\" id \"00000000-0000-4000-8000-000000000107\" {\n kind Information; mechanism Unspecified; supertype none;\n oa_data_field reported_latitude \"Reported latitude\" id \"00000000-0000-4000-8000-000000000108\" {\n type_ref Real;\n unit \"degrees north\"; direction Unspecified; storage Value; default none;\n }\n}\n\n// Allocation remains explicit even though the saved architecture view nests work.\nallocation crew_reports \"Crew reports distress\" id \"00000000-0000-4000-8000-000000000201\" {\n source @vessel; target @report_distress;\n}\nallocation team_assesses \"Team assesses incident\" id \"00000000-0000-4000-8000-000000000202\" {\n source @rescue_team; target @assess_incident;\n}\ninteraction distress_signal \"Distress signal\" id \"00000000-0000-4000-8000-000000000203\" {\n source @report_distress; target @assess_incident; items [@oa_report_data];\n}\ncapability_involvement operational_contribution \"Assessment supports rescue\" id \"00000000-0000-4000-8000-000000000204\" {\n source @assess_incident; target @protect_life;\n}\n", + "project.arcadia": "arcadia 7;\nproject distress_response \"Distress response — nested source project\" id \"00000000-0000-4000-8000-000000000001\" {\n description \"A small OA/SA model for learning source ownership, typed ports and reviewed graphical edits. Open this file. Start with the saved allocation views, then browse Handle distress reports and use Source for selection.\";\n\n // Includes organize documents; aliases are shared by the whole project.\n include \"oa.arcadia\";\n include \"sa/participants.arcadia\";\n include \"sa/reporting.arcadia\";\n include \"sa/assurance.arcadia\";\n include \"views.arcadia\";\n}\n", + "sa/assurance.arcadia": "// A separate functional aggregate provides a cross-file reparenting example.\n// Move Assess report here through Properties, then inspect both source files.\nsa_function assure_response \"Assure response quality\" id \"00000000-0000-4000-8000-000000000411\" {\n description \"Review the service response independently of report transport.\";\n sa_function review_response \"Review response\" id \"00000000-0000-4000-8000-000000000412\" {\n description \"Check that a coordinator can review the received information.\";\n }\n}\nallocation system_reviews \"System supports response review\" id \"00000000-0000-4000-8000-000000000504\" {\n source @rescue_system; target @review_response;\n}\n", + "sa/participants.arcadia": "// System Analysis identifies one system of interest and its external participant.\nsa_system rescue_system \"Rescue coordination system\" id \"00000000-0000-4000-8000-000000000301\" {\n description \"The selected system receives reports and supports the coordinator.\";\n // A component port belongs to its participant, not to an allocated function.\n sa_port reporting_input \"Reporting input\" id \"00000000-0000-4000-8000-000000000303\" {\n contract { Component { kind Flow; orientation In; }; };\n }\n}\nsa_actor vessel_service \"Vessel communication service\" id \"00000000-0000-4000-8000-000000000302\" {\n description \"An external service sends distress information across the system boundary.\";\n sa_port reporting_output \"Reporting output\" id \"00000000-0000-4000-8000-000000000304\" {\n contract { Component { kind Flow; orientation Out; }; };\n }\n}\n\n// The boundary exchange connects actual participant ports. Function realization\n// is declared separately in reporting.arcadia using port/exchange allocations.\nboundary_exchange radio_reporting \"Radio reporting\" id \"00000000-0000-4000-8000-000000000501\" {\n source @reporting_output; target @reporting_input;\n oriented true;\n items [@sa_report_data];\n}\n", + "sa/reporting.arcadia": "// Functional containment is independent of the participant allocations below.\nsa_function handle_reports \"Handle distress reports\" id \"00000000-0000-4000-8000-000000000401\" {\n description \"A functional decomposition of reporting and assessment.\";\n sa_function transmit_report \"Transmit report\" id \"00000000-0000-4000-8000-000000000402\" {\n description \"Encode and send the vessel's distress report.\";\n sa_port report_out \"Report output\" id \"00000000-0000-4000-8000-000000000404\" {\n contract { FunctionOutput { outgoing_items [@sa_report_data]; }; };\n }\n }\n // Assessment rationale travels with this declaration when it is reparented.\n sa_function assess_report \"Assess report\" id \"00000000-0000-4000-8000-000000000403\" {\n description \"Validate the received report and present it to the coordinator.\";\n sa_port report_in \"Report input\" id \"00000000-0000-4000-8000-000000000405\" {\n contract { FunctionInput { incoming_items [@sa_report_data]; }; };\n }\n } // Assessment remains performed by rescue_system after a hierarchy edit.\n}\n\n// This group comment stays in this file; it is not attached to the function above.\n\nsa_exchange_item sa_report_data \"Digital distress report\" id \"00000000-0000-4000-8000-000000000406\" {\n kind Information; mechanism Unspecified; supertype none;\n sa_data_field encoded_latitude \"Encoded latitude\" id \"00000000-0000-4000-8000-000000000407\" {\n type_ref Real;\n unit \"degrees north\"; direction Unspecified; storage Value; default none;\n }\n}\nsa_capability coordinate_response \"Coordinate distress response\" id \"00000000-0000-4000-8000-000000000408\" {}\n\nallocation vessel_transmits \"Vessel service transmits\" id \"00000000-0000-4000-8000-000000000502\" {\n source @vessel_service; target @transmit_report;\n}\nallocation system_assesses \"System assesses report\" id \"00000000-0000-4000-8000-000000000503\" {\n source @rescue_system; target @assess_report;\n}\nfunctional_exchange validated_report \"Validated report\" id \"00000000-0000-4000-8000-000000000505\" {\n source @transmit_report; source_port @report_out;\n target @assess_report; target_port @report_in;\n items [@sa_report_data];\n}\nport_allocation output_realization \"Reporting output realizes function output\" id \"00000000-0000-4000-8000-000000000506\" {\n source @reporting_output; target @report_out;\n}\nport_allocation input_realization \"Reporting input realizes function input\" id \"00000000-0000-4000-8000-000000000507\" {\n source @reporting_input; target @report_in;\n}\nexchange_allocation report_transport \"Radio reporting carries the function exchange\" id \"00000000-0000-4000-8000-000000000508\" {\n source @radio_reporting; target @validated_report;\n}\ncapability_involvement system_contribution \"Assessment supports coordination\" id \"00000000-0000-4000-8000-000000000509\" {\n source @assess_report; target @coordinate_response;\n}\n", + "views.arcadia": "// Views are projections. Their visual allocation containers do not set parent.\ndiagram oa_architecture \"OA — participants and activities\" id \"00000000-0000-4000-8000-000000000601\" {\n description \"The crew reports; the coordination team assesses. Containment of work is shown separately in the Model explorer.\";\n layer Oa; projection Allocation;\n}\nnode oa_vessel_view id \"00000000-0000-4000-8000-000000000701\" {\n diagram @oa_architecture; element @vessel;\n position { x 60; y 60; }; size { width 272; height 210; };\n}\nnode oa_team_view id \"00000000-0000-4000-8000-000000000702\" {\n diagram @oa_architecture; element @rescue_team;\n position { x 540; y 60; }; size { width 300; height 210; };\n}\nnode oa_report_view id \"00000000-0000-4000-8000-000000000703\" {\n diagram @oa_architecture; element @report_distress;\n position { x 84; y 128; }; size { width 224; height 104; };\n}\nnode oa_assessment_view id \"00000000-0000-4000-8000-000000000704\" {\n diagram @oa_architecture; element @assess_incident;\n position { x 564; y 128; }; size { width 252; height 104; };\n}\n\ndiagram sa_architecture \"SA — system boundary and functions\" id \"00000000-0000-4000-8000-000000000602\" {\n description \"Flow component ports define the boundary; separate function ports carry the functional exchange.\";\n layer Sa; projection Allocation;\n}\nnode sa_vessel_view id \"00000000-0000-4000-8000-000000000711\" {\n diagram @sa_architecture; element @vessel_service;\n position { x 60; y 60; }; size { width 272; height 220; };\n}\nnode sa_system_view id \"00000000-0000-4000-8000-000000000712\" {\n diagram @sa_architecture; element @rescue_system;\n position { x 540; y 60; }; size { width 300; height 340; };\n}\nnode sa_transmission_view id \"00000000-0000-4000-8000-000000000713\" {\n diagram @sa_architecture; element @transmit_report;\n position { x 84; y 128; }; size { width 224; height 104; };\n}\nnode sa_assessment_view id \"00000000-0000-4000-8000-000000000714\" {\n diagram @sa_architecture; element @assess_report;\n position { x 564; y 128; }; size { width 252; height 104; };\n}\nnode sa_review_view id \"00000000-0000-4000-8000-000000000715\" {\n diagram @sa_architecture; element @review_response;\n position { x 564; y 272; }; size { width 252; height 104; };\n}\n\ndiagram sa_decomposition \"SA — functional containment\" id \"00000000-0000-4000-8000-000000000603\" {\n description \"These containers represent real function parents. Compare them with the explicit allocations in the architecture view.\";\n layer Sa; projection FunctionalDataflow;\n}\nnode handling_view id \"00000000-0000-4000-8000-000000000721\" {\n diagram @sa_decomposition; element @handle_reports;\n position { x 40; y 60; }; size { width 500; height 230; };\n}\nnode transmission_view id \"00000000-0000-4000-8000-000000000722\" {\n diagram @sa_decomposition; element @transmit_report;\n position { x 64; y 136; }; size { width 204; height 104; };\n}\nnode assessment_view id \"00000000-0000-4000-8000-000000000723\" {\n diagram @sa_decomposition; element @assess_report;\n position { x 310; y 136; }; size { width 204; height 104; };\n}\nnode assurance_view id \"00000000-0000-4000-8000-000000000724\" {\n diagram @sa_decomposition; element @assure_response;\n position { x 590; y 60; }; size { width 300; height 230; };\n}\nnode review_view id \"00000000-0000-4000-8000-000000000725\" {\n diagram @sa_decomposition; element @review_response;\n position { x 614; y 136; }; size { width 252; height 104; };\n}\n" + } +} diff --git a/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/navigation-palette-20260913-01/source-example-migration-r2/intent.json b/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/navigation-palette-20260913-01/source-example-migration-r2/intent.json new file mode 100644 index 00000000..f3d55876 --- /dev/null +++ b/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/navigation-palette-20260913-01/source-example-migration-r2/intent.json @@ -0,0 +1,19 @@ +{ + "execution_complete": false, + "expected_changed_paths": [ + "project.arcadia", + "oa.arcadia", + "sa/reporting.arcadia" + ], + "expected_rename_target": "00000000-0000-4000-8000-000000000403", + "from_schema": 3, + "intended_defaults": { + "00000000-0000-4000-8000-000000000107": "Information retained; mechanism Unspecified; supertype absent", + "00000000-0000-4000-8000-000000000108": "type/multiplicity/unit retained; direction Unspecified; storage Value; default absent", + "00000000-0000-4000-8000-000000000406": "Information retained; mechanism Unspecified; supertype absent", + "00000000-0000-4000-8000-000000000407": "type/multiplicity/unit retained; direction Unspecified; storage Value; default absent" + }, + "original_files": 6, + "scope": "Bounded fixture migration preparation, not native acceptance or general migration proof", + "to_schema": 7 +} diff --git a/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/navigation-palette-20260913-01/source-example-migration-r2/legacy-input/oa.arcadia b/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/navigation-palette-20260913-01/source-example-migration-r2/legacy-input/oa.arcadia new file mode 100644 index 00000000..0aa8c9dd --- /dev/null +++ b/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/navigation-palette-20260913-01/source-example-migration-r2/legacy-input/oa.arcadia @@ -0,0 +1,41 @@ +// Operational Analysis describes the need without choosing a technical solution. +oa_actor vessel "Vessel in distress" id "00000000-0000-4000-8000-000000000101" { + description "The vessel's crew needs to communicate its position and obtain assistance."; +} +oa_entity rescue_team "Rescue coordination" id "00000000-0000-4000-8000-000000000102" { + description "The coordination team assesses the report and decides on a response."; +} + +// This is work decomposition. It does not assign either activity to a participant. +oa_activity respond "Respond to distress" id "00000000-0000-4000-8000-000000000103" { + // Keep the crew's reporting responsibility visible when decomposing the need. + oa_activity report_distress "Report distress" id "00000000-0000-4000-8000-000000000104" { + description "Provide the vessel's situation and last known position."; + } + oa_activity assess_incident "Assess incident" id "00000000-0000-4000-8000-000000000105" { + description "Decide which assistance is needed using the received report."; + } +} + +oa_capability protect_life "Protect life at sea" id "00000000-0000-4000-8000-000000000106" {} +oa_exchange_item oa_report_data "Distress report" id "00000000-0000-4000-8000-000000000107" { + kind Information; + oa_data_field reported_latitude "Reported latitude" id "00000000-0000-4000-8000-000000000108" { + type_ref Real; + unit "degrees north"; + } +} + +// Allocation remains explicit even though the saved architecture view nests work. +allocation crew_reports "Crew reports distress" id "00000000-0000-4000-8000-000000000201" { + source @vessel; target @report_distress; +} +allocation team_assesses "Team assesses incident" id "00000000-0000-4000-8000-000000000202" { + source @rescue_team; target @assess_incident; +} +interaction distress_signal "Distress signal" id "00000000-0000-4000-8000-000000000203" { + source @report_distress; target @assess_incident; items [@oa_report_data]; +} +capability_involvement operational_contribution "Assessment supports rescue" id "00000000-0000-4000-8000-000000000204" { + source @assess_incident; target @protect_life; +} diff --git a/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/navigation-palette-20260913-01/source-example-migration-r2/legacy-input/project.arcadia b/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/navigation-palette-20260913-01/source-example-migration-r2/legacy-input/project.arcadia new file mode 100644 index 00000000..8bb4292f --- /dev/null +++ b/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/navigation-palette-20260913-01/source-example-migration-r2/legacy-input/project.arcadia @@ -0,0 +1,11 @@ +arcadia 3; +project distress_response "Distress response — nested source project" id "00000000-0000-4000-8000-000000000001" { + description "A small OA/SA model for learning source ownership, typed ports and reviewed graphical edits. Open this file. Start with the saved allocation views, then browse Handle distress reports and use Source for selection."; + + // Includes organize documents; aliases are shared by the whole project. + include "oa.arcadia"; + include "sa/participants.arcadia"; + include "sa/reporting.arcadia"; + include "sa/assurance.arcadia"; + include "views.arcadia"; +} diff --git a/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/navigation-palette-20260913-01/source-example-migration-r2/legacy-input/sa/assurance.arcadia b/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/navigation-palette-20260913-01/source-example-migration-r2/legacy-input/sa/assurance.arcadia new file mode 100644 index 00000000..b9678cbe --- /dev/null +++ b/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/navigation-palette-20260913-01/source-example-migration-r2/legacy-input/sa/assurance.arcadia @@ -0,0 +1,11 @@ +// A separate functional aggregate provides a cross-file reparenting example. +// Move Assess report here through Properties, then inspect both source files. +sa_function assure_response "Assure response quality" id "00000000-0000-4000-8000-000000000411" { + description "Review the service response independently of report transport."; + sa_function review_response "Review response" id "00000000-0000-4000-8000-000000000412" { + description "Check that a coordinator can review the received information."; + } +} +allocation system_reviews "System supports response review" id "00000000-0000-4000-8000-000000000504" { + source @rescue_system; target @review_response; +} diff --git a/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/navigation-palette-20260913-01/source-example-migration-r2/legacy-input/sa/participants.arcadia b/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/navigation-palette-20260913-01/source-example-migration-r2/legacy-input/sa/participants.arcadia new file mode 100644 index 00000000..cdd7f402 --- /dev/null +++ b/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/navigation-palette-20260913-01/source-example-migration-r2/legacy-input/sa/participants.arcadia @@ -0,0 +1,22 @@ +// System Analysis identifies one system of interest and its external participant. +sa_system rescue_system "Rescue coordination system" id "00000000-0000-4000-8000-000000000301" { + description "The selected system receives reports and supports the coordinator."; + // A component port belongs to its participant, not to an allocated function. + sa_port reporting_input "Reporting input" id "00000000-0000-4000-8000-000000000303" { + contract { Component { kind Flow; orientation In; }; }; + } +} +sa_actor vessel_service "Vessel communication service" id "00000000-0000-4000-8000-000000000302" { + description "An external service sends distress information across the system boundary."; + sa_port reporting_output "Reporting output" id "00000000-0000-4000-8000-000000000304" { + contract { Component { kind Flow; orientation Out; }; }; + } +} + +// The boundary exchange connects actual participant ports. Function realization +// is declared separately in reporting.arcadia using port/exchange allocations. +boundary_exchange radio_reporting "Radio reporting" id "00000000-0000-4000-8000-000000000501" { + source @reporting_output; target @reporting_input; + oriented true; + items [@sa_report_data]; +} diff --git a/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/navigation-palette-20260913-01/source-example-migration-r2/legacy-input/sa/reporting.arcadia b/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/navigation-palette-20260913-01/source-example-migration-r2/legacy-input/sa/reporting.arcadia new file mode 100644 index 00000000..bfeac4b0 --- /dev/null +++ b/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/navigation-palette-20260913-01/source-example-migration-r2/legacy-input/sa/reporting.arcadia @@ -0,0 +1,52 @@ +// Functional containment is independent of the participant allocations below. +sa_function handle_reports "Handle distress reports" id "00000000-0000-4000-8000-000000000401" { + description "A functional decomposition of reporting and assessment."; + sa_function transmit_report "Transmit report" id "00000000-0000-4000-8000-000000000402" { + description "Encode and send the vessel's distress report."; + sa_port report_out "Report output" id "00000000-0000-4000-8000-000000000404" { + contract { FunctionOutput { outgoing_items [@sa_report_data]; }; }; + } + } + // Assessment rationale travels with this declaration when it is reparented. + sa_function assess_report "Assess report" id "00000000-0000-4000-8000-000000000403" { + description "Validate the received report and present it to the coordinator."; + sa_port report_in "Report input" id "00000000-0000-4000-8000-000000000405" { + contract { FunctionInput { incoming_items [@sa_report_data]; }; }; + } + } // Assessment remains performed by rescue_system after a hierarchy edit. +} + +// This group comment stays in this file; it is not attached to the function above. + +sa_exchange_item sa_report_data "Digital distress report" id "00000000-0000-4000-8000-000000000406" { + kind Information; + sa_data_field encoded_latitude "Encoded latitude" id "00000000-0000-4000-8000-000000000407" { + type_ref Real; + unit "degrees north"; + } +} +sa_capability coordinate_response "Coordinate distress response" id "00000000-0000-4000-8000-000000000408" {} + +allocation vessel_transmits "Vessel service transmits" id "00000000-0000-4000-8000-000000000502" { + source @vessel_service; target @transmit_report; +} +allocation system_assesses "System assesses report" id "00000000-0000-4000-8000-000000000503" { + source @rescue_system; target @assess_report; +} +functional_exchange validated_report "Validated report" id "00000000-0000-4000-8000-000000000505" { + source @transmit_report; source_port @report_out; + target @assess_report; target_port @report_in; + items [@sa_report_data]; +} +port_allocation output_realization "Reporting output realizes function output" id "00000000-0000-4000-8000-000000000506" { + source @reporting_output; target @report_out; +} +port_allocation input_realization "Reporting input realizes function input" id "00000000-0000-4000-8000-000000000507" { + source @reporting_input; target @report_in; +} +exchange_allocation report_transport "Radio reporting carries the function exchange" id "00000000-0000-4000-8000-000000000508" { + source @radio_reporting; target @validated_report; +} +capability_involvement system_contribution "Assessment supports coordination" id "00000000-0000-4000-8000-000000000509" { + source @assess_report; target @coordinate_response; +} diff --git a/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/navigation-palette-20260913-01/source-example-migration-r2/legacy-input/views.arcadia b/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/navigation-palette-20260913-01/source-example-migration-r2/legacy-input/views.arcadia new file mode 100644 index 00000000..62d9b5cb --- /dev/null +++ b/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/navigation-palette-20260913-01/source-example-migration-r2/legacy-input/views.arcadia @@ -0,0 +1,71 @@ +// Views are projections. Their visual allocation containers do not set parent. +diagram oa_architecture "OA — participants and activities" id "00000000-0000-4000-8000-000000000601" { + description "The crew reports; the coordination team assesses. Containment of work is shown separately in the Model explorer."; + layer Oa; projection Allocation; +} +node oa_vessel_view id "00000000-0000-4000-8000-000000000701" { + diagram @oa_architecture; element @vessel; + position { x 60; y 60; }; size { width 272; height 210; }; +} +node oa_team_view id "00000000-0000-4000-8000-000000000702" { + diagram @oa_architecture; element @rescue_team; + position { x 540; y 60; }; size { width 300; height 210; }; +} +node oa_report_view id "00000000-0000-4000-8000-000000000703" { + diagram @oa_architecture; element @report_distress; + position { x 84; y 128; }; size { width 224; height 104; }; +} +node oa_assessment_view id "00000000-0000-4000-8000-000000000704" { + diagram @oa_architecture; element @assess_incident; + position { x 564; y 128; }; size { width 252; height 104; }; +} + +diagram sa_architecture "SA — system boundary and functions" id "00000000-0000-4000-8000-000000000602" { + description "Flow component ports define the boundary; separate function ports carry the functional exchange."; + layer Sa; projection Allocation; +} +node sa_vessel_view id "00000000-0000-4000-8000-000000000711" { + diagram @sa_architecture; element @vessel_service; + position { x 60; y 60; }; size { width 272; height 220; }; +} +node sa_system_view id "00000000-0000-4000-8000-000000000712" { + diagram @sa_architecture; element @rescue_system; + position { x 540; y 60; }; size { width 300; height 340; }; +} +node sa_transmission_view id "00000000-0000-4000-8000-000000000713" { + diagram @sa_architecture; element @transmit_report; + position { x 84; y 128; }; size { width 224; height 104; }; +} +node sa_assessment_view id "00000000-0000-4000-8000-000000000714" { + diagram @sa_architecture; element @assess_report; + position { x 564; y 128; }; size { width 252; height 104; }; +} +node sa_review_view id "00000000-0000-4000-8000-000000000715" { + diagram @sa_architecture; element @review_response; + position { x 564; y 272; }; size { width 252; height 104; }; +} + +diagram sa_decomposition "SA — functional containment" id "00000000-0000-4000-8000-000000000603" { + description "These containers represent real function parents. Compare them with the explicit allocations in the architecture view."; + layer Sa; projection FunctionalDataflow; +} +node handling_view id "00000000-0000-4000-8000-000000000721" { + diagram @sa_decomposition; element @handle_reports; + position { x 40; y 60; }; size { width 500; height 230; }; +} +node transmission_view id "00000000-0000-4000-8000-000000000722" { + diagram @sa_decomposition; element @transmit_report; + position { x 64; y 136; }; size { width 204; height 104; }; +} +node assessment_view id "00000000-0000-4000-8000-000000000723" { + diagram @sa_decomposition; element @assess_report; + position { x 310; y 136; }; size { width 204; height 104; }; +} +node assurance_view id "00000000-0000-4000-8000-000000000724" { + diagram @sa_decomposition; element @assure_response; + position { x 590; y 60; }; size { width 300; height 230; }; +} +node review_view id "00000000-0000-4000-8000-000000000725" { + diagram @sa_decomposition; element @review_response; + position { x 614; y 136; }; size { width 252; height 104; }; +} diff --git a/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/navigation-palette-20260913-01/source-example-migration-r2/legacy-source-bundle.json b/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/navigation-palette-20260913-01/source-example-migration-r2/legacy-source-bundle.json new file mode 100644 index 00000000..2d887cc1 --- /dev/null +++ b/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/navigation-palette-20260913-01/source-example-migration-r2/legacy-source-bundle.json @@ -0,0 +1,11 @@ +{ + "entry": "project.arcadia", + "files": { + "oa.arcadia": "// Operational Analysis describes the need without choosing a technical solution.\noa_actor vessel \"Vessel in distress\" id \"00000000-0000-4000-8000-000000000101\" {\n description \"The vessel's crew needs to communicate its position and obtain assistance.\";\n}\noa_entity rescue_team \"Rescue coordination\" id \"00000000-0000-4000-8000-000000000102\" {\n description \"The coordination team assesses the report and decides on a response.\";\n}\n\n// This is work decomposition. It does not assign either activity to a participant.\noa_activity respond \"Respond to distress\" id \"00000000-0000-4000-8000-000000000103\" {\n // Keep the crew's reporting responsibility visible when decomposing the need.\n oa_activity report_distress \"Report distress\" id \"00000000-0000-4000-8000-000000000104\" {\n description \"Provide the vessel's situation and last known position.\";\n }\n oa_activity assess_incident \"Assess incident\" id \"00000000-0000-4000-8000-000000000105\" {\n description \"Decide which assistance is needed using the received report.\";\n }\n}\n\noa_capability protect_life \"Protect life at sea\" id \"00000000-0000-4000-8000-000000000106\" {}\noa_exchange_item oa_report_data \"Distress report\" id \"00000000-0000-4000-8000-000000000107\" {\n kind Information;\n oa_data_field reported_latitude \"Reported latitude\" id \"00000000-0000-4000-8000-000000000108\" {\n type_ref Real;\n unit \"degrees north\";\n }\n}\n\n// Allocation remains explicit even though the saved architecture view nests work.\nallocation crew_reports \"Crew reports distress\" id \"00000000-0000-4000-8000-000000000201\" {\n source @vessel; target @report_distress;\n}\nallocation team_assesses \"Team assesses incident\" id \"00000000-0000-4000-8000-000000000202\" {\n source @rescue_team; target @assess_incident;\n}\ninteraction distress_signal \"Distress signal\" id \"00000000-0000-4000-8000-000000000203\" {\n source @report_distress; target @assess_incident; items [@oa_report_data];\n}\ncapability_involvement operational_contribution \"Assessment supports rescue\" id \"00000000-0000-4000-8000-000000000204\" {\n source @assess_incident; target @protect_life;\n}\n", + "project.arcadia": "arcadia 3;\nproject distress_response \"Distress response — nested source project\" id \"00000000-0000-4000-8000-000000000001\" {\n description \"A small OA/SA model for learning source ownership, typed ports and reviewed graphical edits. Open this file. Start with the saved allocation views, then browse Handle distress reports and use Source for selection.\";\n\n // Includes organize documents; aliases are shared by the whole project.\n include \"oa.arcadia\";\n include \"sa/participants.arcadia\";\n include \"sa/reporting.arcadia\";\n include \"sa/assurance.arcadia\";\n include \"views.arcadia\";\n}\n", + "sa/assurance.arcadia": "// A separate functional aggregate provides a cross-file reparenting example.\n// Move Assess report here through Properties, then inspect both source files.\nsa_function assure_response \"Assure response quality\" id \"00000000-0000-4000-8000-000000000411\" {\n description \"Review the service response independently of report transport.\";\n sa_function review_response \"Review response\" id \"00000000-0000-4000-8000-000000000412\" {\n description \"Check that a coordinator can review the received information.\";\n }\n}\nallocation system_reviews \"System supports response review\" id \"00000000-0000-4000-8000-000000000504\" {\n source @rescue_system; target @review_response;\n}\n", + "sa/participants.arcadia": "// System Analysis identifies one system of interest and its external participant.\nsa_system rescue_system \"Rescue coordination system\" id \"00000000-0000-4000-8000-000000000301\" {\n description \"The selected system receives reports and supports the coordinator.\";\n // A component port belongs to its participant, not to an allocated function.\n sa_port reporting_input \"Reporting input\" id \"00000000-0000-4000-8000-000000000303\" {\n contract { Component { kind Flow; orientation In; }; };\n }\n}\nsa_actor vessel_service \"Vessel communication service\" id \"00000000-0000-4000-8000-000000000302\" {\n description \"An external service sends distress information across the system boundary.\";\n sa_port reporting_output \"Reporting output\" id \"00000000-0000-4000-8000-000000000304\" {\n contract { Component { kind Flow; orientation Out; }; };\n }\n}\n\n// The boundary exchange connects actual participant ports. Function realization\n// is declared separately in reporting.arcadia using port/exchange allocations.\nboundary_exchange radio_reporting \"Radio reporting\" id \"00000000-0000-4000-8000-000000000501\" {\n source @reporting_output; target @reporting_input;\n oriented true;\n items [@sa_report_data];\n}\n", + "sa/reporting.arcadia": "// Functional containment is independent of the participant allocations below.\nsa_function handle_reports \"Handle distress reports\" id \"00000000-0000-4000-8000-000000000401\" {\n description \"A functional decomposition of reporting and assessment.\";\n sa_function transmit_report \"Transmit report\" id \"00000000-0000-4000-8000-000000000402\" {\n description \"Encode and send the vessel's distress report.\";\n sa_port report_out \"Report output\" id \"00000000-0000-4000-8000-000000000404\" {\n contract { FunctionOutput { outgoing_items [@sa_report_data]; }; };\n }\n }\n // Assessment rationale travels with this declaration when it is reparented.\n sa_function assess_report \"Assess report\" id \"00000000-0000-4000-8000-000000000403\" {\n description \"Validate the received report and present it to the coordinator.\";\n sa_port report_in \"Report input\" id \"00000000-0000-4000-8000-000000000405\" {\n contract { FunctionInput { incoming_items [@sa_report_data]; }; };\n }\n } // Assessment remains performed by rescue_system after a hierarchy edit.\n}\n\n// This group comment stays in this file; it is not attached to the function above.\n\nsa_exchange_item sa_report_data \"Digital distress report\" id \"00000000-0000-4000-8000-000000000406\" {\n kind Information;\n sa_data_field encoded_latitude \"Encoded latitude\" id \"00000000-0000-4000-8000-000000000407\" {\n type_ref Real;\n unit \"degrees north\";\n }\n}\nsa_capability coordinate_response \"Coordinate distress response\" id \"00000000-0000-4000-8000-000000000408\" {}\n\nallocation vessel_transmits \"Vessel service transmits\" id \"00000000-0000-4000-8000-000000000502\" {\n source @vessel_service; target @transmit_report;\n}\nallocation system_assesses \"System assesses report\" id \"00000000-0000-4000-8000-000000000503\" {\n source @rescue_system; target @assess_report;\n}\nfunctional_exchange validated_report \"Validated report\" id \"00000000-0000-4000-8000-000000000505\" {\n source @transmit_report; source_port @report_out;\n target @assess_report; target_port @report_in;\n items [@sa_report_data];\n}\nport_allocation output_realization \"Reporting output realizes function output\" id \"00000000-0000-4000-8000-000000000506\" {\n source @reporting_output; target @report_out;\n}\nport_allocation input_realization \"Reporting input realizes function input\" id \"00000000-0000-4000-8000-000000000507\" {\n source @reporting_input; target @report_in;\n}\nexchange_allocation report_transport \"Radio reporting carries the function exchange\" id \"00000000-0000-4000-8000-000000000508\" {\n source @radio_reporting; target @validated_report;\n}\ncapability_involvement system_contribution \"Assessment supports coordination\" id \"00000000-0000-4000-8000-000000000509\" {\n source @assess_report; target @coordinate_response;\n}\n", + "views.arcadia": "// Views are projections. Their visual allocation containers do not set parent.\ndiagram oa_architecture \"OA — participants and activities\" id \"00000000-0000-4000-8000-000000000601\" {\n description \"The crew reports; the coordination team assesses. Containment of work is shown separately in the Model explorer.\";\n layer Oa; projection Allocation;\n}\nnode oa_vessel_view id \"00000000-0000-4000-8000-000000000701\" {\n diagram @oa_architecture; element @vessel;\n position { x 60; y 60; }; size { width 272; height 210; };\n}\nnode oa_team_view id \"00000000-0000-4000-8000-000000000702\" {\n diagram @oa_architecture; element @rescue_team;\n position { x 540; y 60; }; size { width 300; height 210; };\n}\nnode oa_report_view id \"00000000-0000-4000-8000-000000000703\" {\n diagram @oa_architecture; element @report_distress;\n position { x 84; y 128; }; size { width 224; height 104; };\n}\nnode oa_assessment_view id \"00000000-0000-4000-8000-000000000704\" {\n diagram @oa_architecture; element @assess_incident;\n position { x 564; y 128; }; size { width 252; height 104; };\n}\n\ndiagram sa_architecture \"SA — system boundary and functions\" id \"00000000-0000-4000-8000-000000000602\" {\n description \"Flow component ports define the boundary; separate function ports carry the functional exchange.\";\n layer Sa; projection Allocation;\n}\nnode sa_vessel_view id \"00000000-0000-4000-8000-000000000711\" {\n diagram @sa_architecture; element @vessel_service;\n position { x 60; y 60; }; size { width 272; height 220; };\n}\nnode sa_system_view id \"00000000-0000-4000-8000-000000000712\" {\n diagram @sa_architecture; element @rescue_system;\n position { x 540; y 60; }; size { width 300; height 340; };\n}\nnode sa_transmission_view id \"00000000-0000-4000-8000-000000000713\" {\n diagram @sa_architecture; element @transmit_report;\n position { x 84; y 128; }; size { width 224; height 104; };\n}\nnode sa_assessment_view id \"00000000-0000-4000-8000-000000000714\" {\n diagram @sa_architecture; element @assess_report;\n position { x 564; y 128; }; size { width 252; height 104; };\n}\nnode sa_review_view id \"00000000-0000-4000-8000-000000000715\" {\n diagram @sa_architecture; element @review_response;\n position { x 564; y 272; }; size { width 252; height 104; };\n}\n\ndiagram sa_decomposition \"SA — functional containment\" id \"00000000-0000-4000-8000-000000000603\" {\n description \"These containers represent real function parents. Compare them with the explicit allocations in the architecture view.\";\n layer Sa; projection FunctionalDataflow;\n}\nnode handling_view id \"00000000-0000-4000-8000-000000000721\" {\n diagram @sa_decomposition; element @handle_reports;\n position { x 40; y 60; }; size { width 500; height 230; };\n}\nnode transmission_view id \"00000000-0000-4000-8000-000000000722\" {\n diagram @sa_decomposition; element @transmit_report;\n position { x 64; y 136; }; size { width 204; height 104; };\n}\nnode assessment_view id \"00000000-0000-4000-8000-000000000723\" {\n diagram @sa_decomposition; element @assess_report;\n position { x 310; y 136; }; size { width 204; height 104; };\n}\nnode assurance_view id \"00000000-0000-4000-8000-000000000724\" {\n diagram @sa_decomposition; element @assure_response;\n position { x 590; y 60; }; size { width 300; height 230; };\n}\nnode review_view id \"00000000-0000-4000-8000-000000000725\" {\n diagram @sa_decomposition; element @review_response;\n position { x 614; y 136; }; size { width 252; height 104; };\n}\n" + } +} diff --git a/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/navigation-palette-20260913-01/source-example-migration-r2/migration-report.json b/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/navigation-palette-20260913-01/source-example-migration-r2/migration-report.json new file mode 100644 index 00000000..da306444 --- /dev/null +++ b/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/navigation-palette-20260913-01/source-example-migration-r2/migration-report.json @@ -0,0 +1,32 @@ +{ + "from_schema": 3, + "to_schema": 7, + "preserved_ports": [], + "generated_endpoints": [], + "orientation_defaults": [], + "required_resolutions": [], + "semantic_defaults": [ + { + "object": "00000000-0000-4000-8000-000000000107", + "field": "body", + "description": "Nature is retained; mechanism is Unspecified and supertype is absent." + }, + { + "object": "00000000-0000-4000-8000-000000000108", + "field": "body", + "description": "Type, ownership, multiplicity and unit are retained; direction is Unspecified, storage is Value and default is absent." + }, + { + "object": "00000000-0000-4000-8000-000000000406", + "field": "body", + "description": "Nature is retained; mechanism is Unspecified and supertype is absent." + }, + { + "object": "00000000-0000-4000-8000-000000000407", + "field": "body", + "description": "Type, ownership, multiplicity and unit are retained; direction is Unspecified, storage is Value and default is absent." + } + ], + "generated_interface_allocations": [], + "unresolved_message_values": [] +} diff --git a/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/navigation-palette-20260913-01/source-example-migration-r2/qualified-empty-description-fields.json b/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/navigation-palette-20260913-01/source-example-migration-r2/qualified-empty-description-fields.json new file mode 100644 index 00000000..cb9ec73a --- /dev/null +++ b/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/navigation-palette-20260913-01/source-example-migration-r2/qualified-empty-description-fields.json @@ -0,0 +1,29 @@ +{ + "owners": [ + { + "field": "description", + "id": "00000000-0000-4000-8000-000000000107", + "path": "oa.arcadia", + "value": "" + }, + { + "field": "description", + "id": "00000000-0000-4000-8000-000000000108", + "path": "oa.arcadia", + "value": "" + }, + { + "field": "description", + "id": "00000000-0000-4000-8000-000000000406", + "path": "sa/reporting.arcadia", + "value": "" + }, + { + "field": "description", + "id": "00000000-0000-4000-8000-000000000407", + "path": "sa/reporting.arcadia", + "value": "" + } + ], + "scope": "Only four formerly omitted description fields become explicit empty literals; no original string or comment is exempted" +} diff --git a/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/navigation-palette-20260913-01/source-example-migration-r2/result.json b/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/navigation-palette-20260913-01/source-example-migration-r2/result.json new file mode 100644 index 00000000..daec63af --- /dev/null +++ b/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/navigation-palette-20260913-01/source-example-migration-r2/result.json @@ -0,0 +1,20 @@ +{ + "alias_files": 2, + "alias_tokens": 6, + "baseline_files": 6, + "changed_paths": [ + "oa.arcadia", + "project.arcadia", + "sa/reporting.arcadia" + ], + "current_readmission_exact": true, + "from_schema": 3, + "independent_full_project_equal": true, + "original_files": 6, + "originals_preserved": true, + "qualified_added_empty_descriptions": 4, + "scope": "Exact fixture migration preparation only; full equality uses public shared semantic code with independently authored current-schema defaults. Not independent migration implementation, canonical model proof or GUI acceptance.", + "semantic_defaults": 4, + "status": "PASS", + "to_schema": 7 +} diff --git a/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/navigation-palette-20260913-01/source-example-migration/independent-flattened-legacy.arcadia b/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/navigation-palette-20260913-01/source-example-migration/independent-flattened-legacy.arcadia new file mode 100644 index 00000000..8db7c299 --- /dev/null +++ b/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/navigation-palette-20260913-01/source-example-migration/independent-flattened-legacy.arcadia @@ -0,0 +1,208 @@ +arcadia 3; +project distress_response "Distress response — nested source project" id "00000000-0000-4000-8000-000000000001" { + description "A small OA/SA model for learning source ownership, typed ports and reviewed graphical edits. Open this file. Start with the saved allocation views, then browse Handle distress reports and use Source for selection."; + + // Includes organize documents; aliases are shared by the whole project. + // Operational Analysis describes the need without choosing a technical solution. +oa_actor vessel "Vessel in distress" id "00000000-0000-4000-8000-000000000101" { + description "The vessel's crew needs to communicate its position and obtain assistance."; +} +oa_entity rescue_team "Rescue coordination" id "00000000-0000-4000-8000-000000000102" { + description "The coordination team assesses the report and decides on a response."; +} + +// This is work decomposition. It does not assign either activity to a participant. +oa_activity respond "Respond to distress" id "00000000-0000-4000-8000-000000000103" { + // Keep the crew's reporting responsibility visible when decomposing the need. + oa_activity report_distress "Report distress" id "00000000-0000-4000-8000-000000000104" { + description "Provide the vessel's situation and last known position."; + } + oa_activity assess_incident "Assess incident" id "00000000-0000-4000-8000-000000000105" { + description "Decide which assistance is needed using the received report."; + } +} + +oa_capability protect_life "Protect life at sea" id "00000000-0000-4000-8000-000000000106" {} +oa_exchange_item oa_report_data "Distress report" id "00000000-0000-4000-8000-000000000107" { + kind Information; + oa_data_field reported_latitude "Reported latitude" id "00000000-0000-4000-8000-000000000108" { + type_ref Real; + unit "degrees north"; + } +} + +// Allocation remains explicit even though the saved architecture view nests work. +allocation crew_reports "Crew reports distress" id "00000000-0000-4000-8000-000000000201" { + source @vessel; target @report_distress; +} +allocation team_assesses "Team assesses incident" id "00000000-0000-4000-8000-000000000202" { + source @rescue_team; target @assess_incident; +} +interaction distress_signal "Distress signal" id "00000000-0000-4000-8000-000000000203" { + source @report_distress; target @assess_incident; items [@oa_report_data]; +} +capability_involvement operational_contribution "Assessment supports rescue" id "00000000-0000-4000-8000-000000000204" { + source @assess_incident; target @protect_life; +} + + // System Analysis identifies one system of interest and its external participant. +sa_system rescue_system "Rescue coordination system" id "00000000-0000-4000-8000-000000000301" { + description "The selected system receives reports and supports the coordinator."; + // A component port belongs to its participant, not to an allocated function. + sa_port reporting_input "Reporting input" id "00000000-0000-4000-8000-000000000303" { + contract { Component { kind Flow; orientation In; }; }; + } +} +sa_actor vessel_service "Vessel communication service" id "00000000-0000-4000-8000-000000000302" { + description "An external service sends distress information across the system boundary."; + sa_port reporting_output "Reporting output" id "00000000-0000-4000-8000-000000000304" { + contract { Component { kind Flow; orientation Out; }; }; + } +} + +// The boundary exchange connects actual participant ports. Function realization +// is declared separately in reporting.arcadia using port/exchange allocations. +boundary_exchange radio_reporting "Radio reporting" id "00000000-0000-4000-8000-000000000501" { + source @reporting_output; target @reporting_input; + oriented true; + items [@sa_report_data]; +} + + // Functional containment is independent of the participant allocations below. +sa_function handle_reports "Handle distress reports" id "00000000-0000-4000-8000-000000000401" { + description "A functional decomposition of reporting and assessment."; + sa_function transmit_report "Transmit report" id "00000000-0000-4000-8000-000000000402" { + description "Encode and send the vessel's distress report."; + sa_port report_out "Report output" id "00000000-0000-4000-8000-000000000404" { + contract { FunctionOutput { outgoing_items [@sa_report_data]; }; }; + } + } + // Assessment rationale travels with this declaration when it is reparented. + sa_function assess_report "Assess report" id "00000000-0000-4000-8000-000000000403" { + description "Validate the received report and present it to the coordinator."; + sa_port report_in "Report input" id "00000000-0000-4000-8000-000000000405" { + contract { FunctionInput { incoming_items [@sa_report_data]; }; }; + } + } // Assessment remains performed by rescue_system after a hierarchy edit. +} + +// This group comment stays in this file; it is not attached to the function above. + +sa_exchange_item sa_report_data "Digital distress report" id "00000000-0000-4000-8000-000000000406" { + kind Information; + sa_data_field encoded_latitude "Encoded latitude" id "00000000-0000-4000-8000-000000000407" { + type_ref Real; + unit "degrees north"; + } +} +sa_capability coordinate_response "Coordinate distress response" id "00000000-0000-4000-8000-000000000408" {} + +allocation vessel_transmits "Vessel service transmits" id "00000000-0000-4000-8000-000000000502" { + source @vessel_service; target @transmit_report; +} +allocation system_assesses "System assesses report" id "00000000-0000-4000-8000-000000000503" { + source @rescue_system; target @assess_report; +} +functional_exchange validated_report "Validated report" id "00000000-0000-4000-8000-000000000505" { + source @transmit_report; source_port @report_out; + target @assess_report; target_port @report_in; + items [@sa_report_data]; +} +port_allocation output_realization "Reporting output realizes function output" id "00000000-0000-4000-8000-000000000506" { + source @reporting_output; target @report_out; +} +port_allocation input_realization "Reporting input realizes function input" id "00000000-0000-4000-8000-000000000507" { + source @reporting_input; target @report_in; +} +exchange_allocation report_transport "Radio reporting carries the function exchange" id "00000000-0000-4000-8000-000000000508" { + source @radio_reporting; target @validated_report; +} +capability_involvement system_contribution "Assessment supports coordination" id "00000000-0000-4000-8000-000000000509" { + source @assess_report; target @coordinate_response; +} + + // A separate functional aggregate provides a cross-file reparenting example. +// Move Assess report here through Properties, then inspect both source files. +sa_function assure_response "Assure response quality" id "00000000-0000-4000-8000-000000000411" { + description "Review the service response independently of report transport."; + sa_function review_response "Review response" id "00000000-0000-4000-8000-000000000412" { + description "Check that a coordinator can review the received information."; + } +} +allocation system_reviews "System supports response review" id "00000000-0000-4000-8000-000000000504" { + source @rescue_system; target @review_response; +} + + // Views are projections. Their visual allocation containers do not set parent. +diagram oa_architecture "OA — participants and activities" id "00000000-0000-4000-8000-000000000601" { + description "The crew reports; the coordination team assesses. Containment of work is shown separately in the Model explorer."; + layer Oa; projection Allocation; +} +node oa_vessel_view id "00000000-0000-4000-8000-000000000701" { + diagram @oa_architecture; element @vessel; + position { x 60; y 60; }; size { width 272; height 210; }; +} +node oa_team_view id "00000000-0000-4000-8000-000000000702" { + diagram @oa_architecture; element @rescue_team; + position { x 540; y 60; }; size { width 300; height 210; }; +} +node oa_report_view id "00000000-0000-4000-8000-000000000703" { + diagram @oa_architecture; element @report_distress; + position { x 84; y 128; }; size { width 224; height 104; }; +} +node oa_assessment_view id "00000000-0000-4000-8000-000000000704" { + diagram @oa_architecture; element @assess_incident; + position { x 564; y 128; }; size { width 252; height 104; }; +} + +diagram sa_architecture "SA — system boundary and functions" id "00000000-0000-4000-8000-000000000602" { + description "Flow component ports define the boundary; separate function ports carry the functional exchange."; + layer Sa; projection Allocation; +} +node sa_vessel_view id "00000000-0000-4000-8000-000000000711" { + diagram @sa_architecture; element @vessel_service; + position { x 60; y 60; }; size { width 272; height 220; }; +} +node sa_system_view id "00000000-0000-4000-8000-000000000712" { + diagram @sa_architecture; element @rescue_system; + position { x 540; y 60; }; size { width 300; height 340; }; +} +node sa_transmission_view id "00000000-0000-4000-8000-000000000713" { + diagram @sa_architecture; element @transmit_report; + position { x 84; y 128; }; size { width 224; height 104; }; +} +node sa_assessment_view id "00000000-0000-4000-8000-000000000714" { + diagram @sa_architecture; element @assess_report; + position { x 564; y 128; }; size { width 252; height 104; }; +} +node sa_review_view id "00000000-0000-4000-8000-000000000715" { + diagram @sa_architecture; element @review_response; + position { x 564; y 272; }; size { width 252; height 104; }; +} + +diagram sa_decomposition "SA — functional containment" id "00000000-0000-4000-8000-000000000603" { + description "These containers represent real function parents. Compare them with the explicit allocations in the architecture view."; + layer Sa; projection FunctionalDataflow; +} +node handling_view id "00000000-0000-4000-8000-000000000721" { + diagram @sa_decomposition; element @handle_reports; + position { x 40; y 60; }; size { width 500; height 230; }; +} +node transmission_view id "00000000-0000-4000-8000-000000000722" { + diagram @sa_decomposition; element @transmit_report; + position { x 64; y 136; }; size { width 204; height 104; }; +} +node assessment_view id "00000000-0000-4000-8000-000000000723" { + diagram @sa_decomposition; element @assess_report; + position { x 310; y 136; }; size { width 204; height 104; }; +} +node assurance_view id "00000000-0000-4000-8000-000000000724" { + diagram @sa_decomposition; element @assure_response; + position { x 590; y 60; }; size { width 300; height 230; }; +} +node review_view id "00000000-0000-4000-8000-000000000725" { + diagram @sa_decomposition; element @review_response; + position { x 614; y 136; }; size { width 252; height 104; }; +} + +} diff --git a/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/navigation-palette-20260913-01/source-example-migration/independent-legacy-project.json b/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/navigation-palette-20260913-01/source-example-migration/independent-legacy-project.json new file mode 100644 index 00000000..8d8468f5 --- /dev/null +++ b/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/navigation-palette-20260913-01/source-example-migration/independent-legacy-project.json @@ -0,0 +1,749 @@ +{ + "schema_version": 7, + "id": "00000000-0000-4000-8000-000000000001", + "alias": "distress_response", + "name": "Distress response — nested source project", + "description": "A small OA/SA model for learning source ownership, typed ports and reviewed graphical edits. Open this file. Start with the saved allocation views, then browse Handle distress reports and use Source for selection.", + "elements": { + "00000000-0000-4000-8000-000000000101": { + "id": "00000000-0000-4000-8000-000000000101", + "alias": "vessel", + "name": "Vessel in distress", + "description": "The vessel's crew needs to communicate its position and obtain assistance.", + "parent": null, + "body": { + "Oa": "Actor" + } + }, + "00000000-0000-4000-8000-000000000102": { + "id": "00000000-0000-4000-8000-000000000102", + "alias": "rescue_team", + "name": "Rescue coordination", + "description": "The coordination team assesses the report and decides on a response.", + "parent": null, + "body": { + "Oa": "Entity" + } + }, + "00000000-0000-4000-8000-000000000103": { + "id": "00000000-0000-4000-8000-000000000103", + "alias": "respond", + "name": "Respond to distress", + "description": "", + "parent": null, + "body": { + "Oa": "Activity" + } + }, + "00000000-0000-4000-8000-000000000104": { + "id": "00000000-0000-4000-8000-000000000104", + "alias": "report_distress", + "name": "Report distress", + "description": "Provide the vessel's situation and last known position.", + "parent": "00000000-0000-4000-8000-000000000103", + "body": { + "Oa": "Activity" + } + }, + "00000000-0000-4000-8000-000000000105": { + "id": "00000000-0000-4000-8000-000000000105", + "alias": "assess_incident", + "name": "Assess incident", + "description": "Decide which assistance is needed using the received report.", + "parent": "00000000-0000-4000-8000-000000000103", + "body": { + "Oa": "Activity" + } + }, + "00000000-0000-4000-8000-000000000106": { + "id": "00000000-0000-4000-8000-000000000106", + "alias": "protect_life", + "name": "Protect life at sea", + "description": "", + "parent": null, + "body": { + "Oa": "Capability" + } + }, + "00000000-0000-4000-8000-000000000107": { + "id": "00000000-0000-4000-8000-000000000107", + "alias": "oa_report_data", + "name": "Distress report", + "description": "", + "parent": null, + "body": { + "Oa": { + "Shared": { + "ExchangeItem": { + "kind": "Information", + "mechanism": "Unspecified", + "supertype": null + } + } + } + } + }, + "00000000-0000-4000-8000-000000000108": { + "id": "00000000-0000-4000-8000-000000000108", + "alias": "reported_latitude", + "name": "Reported latitude", + "description": "", + "parent": "00000000-0000-4000-8000-000000000107", + "body": { + "Oa": { + "Shared": { + "DataField": { + "type_ref": "Real", + "minimum": 1, + "maximum": 1, + "unit": "degrees north", + "direction": "Unspecified", + "storage": "Value", + "default": null + } + } + } + } + }, + "00000000-0000-4000-8000-000000000301": { + "id": "00000000-0000-4000-8000-000000000301", + "alias": "rescue_system", + "name": "Rescue coordination system", + "description": "The selected system receives reports and supports the coordinator.", + "parent": null, + "body": { + "Sa": "System" + } + }, + "00000000-0000-4000-8000-000000000302": { + "id": "00000000-0000-4000-8000-000000000302", + "alias": "vessel_service", + "name": "Vessel communication service", + "description": "An external service sends distress information across the system boundary.", + "parent": null, + "body": { + "Sa": "Actor" + } + }, + "00000000-0000-4000-8000-000000000303": { + "id": "00000000-0000-4000-8000-000000000303", + "alias": "reporting_input", + "name": "Reporting input", + "description": "", + "parent": "00000000-0000-4000-8000-000000000301", + "body": { + "Sa": { + "Shared": { + "Port": { + "contract": { + "Component": { + "kind": "Flow", + "orientation": "In" + } + }, + "legacy": null + } + } + } + } + }, + "00000000-0000-4000-8000-000000000304": { + "id": "00000000-0000-4000-8000-000000000304", + "alias": "reporting_output", + "name": "Reporting output", + "description": "", + "parent": "00000000-0000-4000-8000-000000000302", + "body": { + "Sa": { + "Shared": { + "Port": { + "contract": { + "Component": { + "kind": "Flow", + "orientation": "Out" + } + }, + "legacy": null + } + } + } + } + }, + "00000000-0000-4000-8000-000000000401": { + "id": "00000000-0000-4000-8000-000000000401", + "alias": "handle_reports", + "name": "Handle distress reports", + "description": "A functional decomposition of reporting and assessment.", + "parent": null, + "body": { + "Sa": "Function" + } + }, + "00000000-0000-4000-8000-000000000402": { + "id": "00000000-0000-4000-8000-000000000402", + "alias": "transmit_report", + "name": "Transmit report", + "description": "Encode and send the vessel's distress report.", + "parent": "00000000-0000-4000-8000-000000000401", + "body": { + "Sa": "Function" + } + }, + "00000000-0000-4000-8000-000000000403": { + "id": "00000000-0000-4000-8000-000000000403", + "alias": "assess_report", + "name": "Assess report", + "description": "Validate the received report and present it to the coordinator.", + "parent": "00000000-0000-4000-8000-000000000401", + "body": { + "Sa": "Function" + } + }, + "00000000-0000-4000-8000-000000000404": { + "id": "00000000-0000-4000-8000-000000000404", + "alias": "report_out", + "name": "Report output", + "description": "", + "parent": "00000000-0000-4000-8000-000000000402", + "body": { + "Sa": { + "Shared": { + "Port": { + "contract": { + "FunctionOutput": { + "outgoing_items": [ + "00000000-0000-4000-8000-000000000406" + ] + } + }, + "legacy": null + } + } + } + } + }, + "00000000-0000-4000-8000-000000000405": { + "id": "00000000-0000-4000-8000-000000000405", + "alias": "report_in", + "name": "Report input", + "description": "", + "parent": "00000000-0000-4000-8000-000000000403", + "body": { + "Sa": { + "Shared": { + "Port": { + "contract": { + "FunctionInput": { + "incoming_items": [ + "00000000-0000-4000-8000-000000000406" + ] + } + }, + "legacy": null + } + } + } + } + }, + "00000000-0000-4000-8000-000000000406": { + "id": "00000000-0000-4000-8000-000000000406", + "alias": "sa_report_data", + "name": "Digital distress report", + "description": "", + "parent": null, + "body": { + "Sa": { + "Shared": { + "ExchangeItem": { + "kind": "Information", + "mechanism": "Unspecified", + "supertype": null + } + } + } + } + }, + "00000000-0000-4000-8000-000000000407": { + "id": "00000000-0000-4000-8000-000000000407", + "alias": "encoded_latitude", + "name": "Encoded latitude", + "description": "", + "parent": "00000000-0000-4000-8000-000000000406", + "body": { + "Sa": { + "Shared": { + "DataField": { + "type_ref": "Real", + "minimum": 1, + "maximum": 1, + "unit": "degrees north", + "direction": "Unspecified", + "storage": "Value", + "default": null + } + } + } + } + }, + "00000000-0000-4000-8000-000000000408": { + "id": "00000000-0000-4000-8000-000000000408", + "alias": "coordinate_response", + "name": "Coordinate distress response", + "description": "", + "parent": null, + "body": { + "Sa": "Capability" + } + }, + "00000000-0000-4000-8000-000000000411": { + "id": "00000000-0000-4000-8000-000000000411", + "alias": "assure_response", + "name": "Assure response quality", + "description": "Review the service response independently of report transport.", + "parent": null, + "body": { + "Sa": "Function" + } + }, + "00000000-0000-4000-8000-000000000412": { + "id": "00000000-0000-4000-8000-000000000412", + "alias": "review_response", + "name": "Review response", + "description": "Check that a coordinator can review the received information.", + "parent": "00000000-0000-4000-8000-000000000411", + "body": { + "Sa": "Function" + } + } + }, + "relations": { + "00000000-0000-4000-8000-000000000201": { + "id": "00000000-0000-4000-8000-000000000201", + "alias": "crew_reports", + "name": "Crew reports distress", + "description": "", + "body": { + "Allocation": { + "source": "00000000-0000-4000-8000-000000000101", + "target": "00000000-0000-4000-8000-000000000104" + } + } + }, + "00000000-0000-4000-8000-000000000202": { + "id": "00000000-0000-4000-8000-000000000202", + "alias": "team_assesses", + "name": "Team assesses incident", + "description": "", + "body": { + "Allocation": { + "source": "00000000-0000-4000-8000-000000000102", + "target": "00000000-0000-4000-8000-000000000105" + } + } + }, + "00000000-0000-4000-8000-000000000203": { + "id": "00000000-0000-4000-8000-000000000203", + "alias": "distress_signal", + "name": "Distress signal", + "description": "", + "body": { + "Interaction": { + "source": "00000000-0000-4000-8000-000000000104", + "target": "00000000-0000-4000-8000-000000000105", + "items": [ + "00000000-0000-4000-8000-000000000107" + ] + } + } + }, + "00000000-0000-4000-8000-000000000204": { + "id": "00000000-0000-4000-8000-000000000204", + "alias": "operational_contribution", + "name": "Assessment supports rescue", + "description": "", + "body": { + "CapabilityInvolvement": { + "source": "00000000-0000-4000-8000-000000000105", + "target": "00000000-0000-4000-8000-000000000106" + } + } + }, + "00000000-0000-4000-8000-000000000501": { + "id": "00000000-0000-4000-8000-000000000501", + "alias": "radio_reporting", + "name": "Radio reporting", + "description": "", + "body": { + "BoundaryExchange": { + "source": "00000000-0000-4000-8000-000000000304", + "target": "00000000-0000-4000-8000-000000000303", + "oriented": true, + "items": [ + "00000000-0000-4000-8000-000000000406" + ] + } + } + }, + "00000000-0000-4000-8000-000000000502": { + "id": "00000000-0000-4000-8000-000000000502", + "alias": "vessel_transmits", + "name": "Vessel service transmits", + "description": "", + "body": { + "Allocation": { + "source": "00000000-0000-4000-8000-000000000302", + "target": "00000000-0000-4000-8000-000000000402" + } + } + }, + "00000000-0000-4000-8000-000000000503": { + "id": "00000000-0000-4000-8000-000000000503", + "alias": "system_assesses", + "name": "System assesses report", + "description": "", + "body": { + "Allocation": { + "source": "00000000-0000-4000-8000-000000000301", + "target": "00000000-0000-4000-8000-000000000403" + } + } + }, + "00000000-0000-4000-8000-000000000504": { + "id": "00000000-0000-4000-8000-000000000504", + "alias": "system_reviews", + "name": "System supports response review", + "description": "", + "body": { + "Allocation": { + "source": "00000000-0000-4000-8000-000000000301", + "target": "00000000-0000-4000-8000-000000000412" + } + } + }, + "00000000-0000-4000-8000-000000000505": { + "id": "00000000-0000-4000-8000-000000000505", + "alias": "validated_report", + "name": "Validated report", + "description": "", + "body": { + "FunctionalExchange": { + "source": "00000000-0000-4000-8000-000000000402", + "target": "00000000-0000-4000-8000-000000000403", + "source_port": "00000000-0000-4000-8000-000000000404", + "target_port": "00000000-0000-4000-8000-000000000405", + "items": [ + "00000000-0000-4000-8000-000000000406" + ] + } + } + }, + "00000000-0000-4000-8000-000000000506": { + "id": "00000000-0000-4000-8000-000000000506", + "alias": "output_realization", + "name": "Reporting output realizes function output", + "description": "", + "body": { + "PortAllocation": { + "source": "00000000-0000-4000-8000-000000000304", + "target": "00000000-0000-4000-8000-000000000404" + } + } + }, + "00000000-0000-4000-8000-000000000507": { + "id": "00000000-0000-4000-8000-000000000507", + "alias": "input_realization", + "name": "Reporting input realizes function input", + "description": "", + "body": { + "PortAllocation": { + "source": "00000000-0000-4000-8000-000000000303", + "target": "00000000-0000-4000-8000-000000000405" + } + } + }, + "00000000-0000-4000-8000-000000000508": { + "id": "00000000-0000-4000-8000-000000000508", + "alias": "report_transport", + "name": "Radio reporting carries the function exchange", + "description": "", + "body": { + "ExchangeAllocation": { + "source": "00000000-0000-4000-8000-000000000501", + "target": "00000000-0000-4000-8000-000000000505" + } + } + }, + "00000000-0000-4000-8000-000000000509": { + "id": "00000000-0000-4000-8000-000000000509", + "alias": "system_contribution", + "name": "Assessment supports coordination", + "description": "", + "body": { + "CapabilityInvolvement": { + "source": "00000000-0000-4000-8000-000000000403", + "target": "00000000-0000-4000-8000-000000000408" + } + } + } + }, + "diagrams": { + "00000000-0000-4000-8000-000000000601": { + "id": "00000000-0000-4000-8000-000000000601", + "alias": "oa_architecture", + "name": "OA — participants and activities", + "description": "The crew reports; the coordination team assesses. Containment of work is shown separately in the Model explorer.", + "layer": "Oa", + "projection": "Allocation", + "view_options": { + "hidden_edges": [], + "relation_kinds": "All", + "work_categories": "All", + "participant_categories": "All", + "coverage": "All", + "work_contexts": "All", + "exchange_labels": "Name" + }, + "nodes": { + "00000000-0000-4000-8000-000000000701": { + "id": "00000000-0000-4000-8000-000000000701", + "alias": "oa_vessel_view", + "element": "00000000-0000-4000-8000-000000000101", + "position": { + "x": 60.0, + "y": 60.0 + }, + "size": { + "width": 272.0, + "height": 210.0 + }, + "collapsed": false + }, + "00000000-0000-4000-8000-000000000702": { + "id": "00000000-0000-4000-8000-000000000702", + "alias": "oa_team_view", + "element": "00000000-0000-4000-8000-000000000102", + "position": { + "x": 540.0, + "y": 60.0 + }, + "size": { + "width": 300.0, + "height": 210.0 + }, + "collapsed": false + }, + "00000000-0000-4000-8000-000000000703": { + "id": "00000000-0000-4000-8000-000000000703", + "alias": "oa_report_view", + "element": "00000000-0000-4000-8000-000000000104", + "position": { + "x": 84.0, + "y": 128.0 + }, + "size": { + "width": 224.0, + "height": 104.0 + }, + "collapsed": false + }, + "00000000-0000-4000-8000-000000000704": { + "id": "00000000-0000-4000-8000-000000000704", + "alias": "oa_assessment_view", + "element": "00000000-0000-4000-8000-000000000105", + "position": { + "x": 564.0, + "y": 128.0 + }, + "size": { + "width": 252.0, + "height": 104.0 + }, + "collapsed": false + } + }, + "routes": [] + }, + "00000000-0000-4000-8000-000000000602": { + "id": "00000000-0000-4000-8000-000000000602", + "alias": "sa_architecture", + "name": "SA — system boundary and functions", + "description": "Flow component ports define the boundary; separate function ports carry the functional exchange.", + "layer": "Sa", + "projection": "Allocation", + "view_options": { + "hidden_edges": [], + "relation_kinds": "All", + "work_categories": "All", + "participant_categories": "All", + "coverage": "All", + "work_contexts": "All", + "exchange_labels": "Name" + }, + "nodes": { + "00000000-0000-4000-8000-000000000711": { + "id": "00000000-0000-4000-8000-000000000711", + "alias": "sa_vessel_view", + "element": "00000000-0000-4000-8000-000000000302", + "position": { + "x": 60.0, + "y": 60.0 + }, + "size": { + "width": 272.0, + "height": 220.0 + }, + "collapsed": false + }, + "00000000-0000-4000-8000-000000000712": { + "id": "00000000-0000-4000-8000-000000000712", + "alias": "sa_system_view", + "element": "00000000-0000-4000-8000-000000000301", + "position": { + "x": 540.0, + "y": 60.0 + }, + "size": { + "width": 300.0, + "height": 340.0 + }, + "collapsed": false + }, + "00000000-0000-4000-8000-000000000713": { + "id": "00000000-0000-4000-8000-000000000713", + "alias": "sa_transmission_view", + "element": "00000000-0000-4000-8000-000000000402", + "position": { + "x": 84.0, + "y": 128.0 + }, + "size": { + "width": 224.0, + "height": 104.0 + }, + "collapsed": false + }, + "00000000-0000-4000-8000-000000000714": { + "id": "00000000-0000-4000-8000-000000000714", + "alias": "sa_assessment_view", + "element": "00000000-0000-4000-8000-000000000403", + "position": { + "x": 564.0, + "y": 128.0 + }, + "size": { + "width": 252.0, + "height": 104.0 + }, + "collapsed": false + }, + "00000000-0000-4000-8000-000000000715": { + "id": "00000000-0000-4000-8000-000000000715", + "alias": "sa_review_view", + "element": "00000000-0000-4000-8000-000000000412", + "position": { + "x": 564.0, + "y": 272.0 + }, + "size": { + "width": 252.0, + "height": 104.0 + }, + "collapsed": false + } + }, + "routes": [] + }, + "00000000-0000-4000-8000-000000000603": { + "id": "00000000-0000-4000-8000-000000000603", + "alias": "sa_decomposition", + "name": "SA — functional containment", + "description": "These containers represent real function parents. Compare them with the explicit allocations in the architecture view.", + "layer": "Sa", + "projection": "FunctionalDataflow", + "view_options": { + "hidden_edges": [], + "relation_kinds": "All", + "work_categories": "All", + "participant_categories": "All", + "coverage": "All", + "work_contexts": "All", + "exchange_labels": "Name" + }, + "nodes": { + "00000000-0000-4000-8000-000000000721": { + "id": "00000000-0000-4000-8000-000000000721", + "alias": "handling_view", + "element": "00000000-0000-4000-8000-000000000401", + "position": { + "x": 40.0, + "y": 60.0 + }, + "size": { + "width": 500.0, + "height": 230.0 + }, + "collapsed": false + }, + "00000000-0000-4000-8000-000000000722": { + "id": "00000000-0000-4000-8000-000000000722", + "alias": "transmission_view", + "element": "00000000-0000-4000-8000-000000000402", + "position": { + "x": 64.0, + "y": 136.0 + }, + "size": { + "width": 204.0, + "height": 104.0 + }, + "collapsed": false + }, + "00000000-0000-4000-8000-000000000723": { + "id": "00000000-0000-4000-8000-000000000723", + "alias": "assessment_view", + "element": "00000000-0000-4000-8000-000000000403", + "position": { + "x": 310.0, + "y": 136.0 + }, + "size": { + "width": 204.0, + "height": 104.0 + }, + "collapsed": false + }, + "00000000-0000-4000-8000-000000000724": { + "id": "00000000-0000-4000-8000-000000000724", + "alias": "assurance_view", + "element": "00000000-0000-4000-8000-000000000411", + "position": { + "x": 590.0, + "y": 60.0 + }, + "size": { + "width": 300.0, + "height": 230.0 + }, + "collapsed": false + }, + "00000000-0000-4000-8000-000000000725": { + "id": "00000000-0000-4000-8000-000000000725", + "alias": "review_view", + "element": "00000000-0000-4000-8000-000000000412", + "position": { + "x": 614.0, + "y": 136.0 + }, + "size": { + "width": 252.0, + "height": 104.0 + }, + "collapsed": false + } + }, + "routes": [] + } + }, + "artifact_links": {}, + "traces": {} +} diff --git a/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/navigation-palette-20260913-01/source-example-migration/independent-reference-project.json b/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/navigation-palette-20260913-01/source-example-migration/independent-reference-project.json new file mode 100644 index 00000000..8d8468f5 --- /dev/null +++ b/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/navigation-palette-20260913-01/source-example-migration/independent-reference-project.json @@ -0,0 +1,749 @@ +{ + "schema_version": 7, + "id": "00000000-0000-4000-8000-000000000001", + "alias": "distress_response", + "name": "Distress response — nested source project", + "description": "A small OA/SA model for learning source ownership, typed ports and reviewed graphical edits. Open this file. Start with the saved allocation views, then browse Handle distress reports and use Source for selection.", + "elements": { + "00000000-0000-4000-8000-000000000101": { + "id": "00000000-0000-4000-8000-000000000101", + "alias": "vessel", + "name": "Vessel in distress", + "description": "The vessel's crew needs to communicate its position and obtain assistance.", + "parent": null, + "body": { + "Oa": "Actor" + } + }, + "00000000-0000-4000-8000-000000000102": { + "id": "00000000-0000-4000-8000-000000000102", + "alias": "rescue_team", + "name": "Rescue coordination", + "description": "The coordination team assesses the report and decides on a response.", + "parent": null, + "body": { + "Oa": "Entity" + } + }, + "00000000-0000-4000-8000-000000000103": { + "id": "00000000-0000-4000-8000-000000000103", + "alias": "respond", + "name": "Respond to distress", + "description": "", + "parent": null, + "body": { + "Oa": "Activity" + } + }, + "00000000-0000-4000-8000-000000000104": { + "id": "00000000-0000-4000-8000-000000000104", + "alias": "report_distress", + "name": "Report distress", + "description": "Provide the vessel's situation and last known position.", + "parent": "00000000-0000-4000-8000-000000000103", + "body": { + "Oa": "Activity" + } + }, + "00000000-0000-4000-8000-000000000105": { + "id": "00000000-0000-4000-8000-000000000105", + "alias": "assess_incident", + "name": "Assess incident", + "description": "Decide which assistance is needed using the received report.", + "parent": "00000000-0000-4000-8000-000000000103", + "body": { + "Oa": "Activity" + } + }, + "00000000-0000-4000-8000-000000000106": { + "id": "00000000-0000-4000-8000-000000000106", + "alias": "protect_life", + "name": "Protect life at sea", + "description": "", + "parent": null, + "body": { + "Oa": "Capability" + } + }, + "00000000-0000-4000-8000-000000000107": { + "id": "00000000-0000-4000-8000-000000000107", + "alias": "oa_report_data", + "name": "Distress report", + "description": "", + "parent": null, + "body": { + "Oa": { + "Shared": { + "ExchangeItem": { + "kind": "Information", + "mechanism": "Unspecified", + "supertype": null + } + } + } + } + }, + "00000000-0000-4000-8000-000000000108": { + "id": "00000000-0000-4000-8000-000000000108", + "alias": "reported_latitude", + "name": "Reported latitude", + "description": "", + "parent": "00000000-0000-4000-8000-000000000107", + "body": { + "Oa": { + "Shared": { + "DataField": { + "type_ref": "Real", + "minimum": 1, + "maximum": 1, + "unit": "degrees north", + "direction": "Unspecified", + "storage": "Value", + "default": null + } + } + } + } + }, + "00000000-0000-4000-8000-000000000301": { + "id": "00000000-0000-4000-8000-000000000301", + "alias": "rescue_system", + "name": "Rescue coordination system", + "description": "The selected system receives reports and supports the coordinator.", + "parent": null, + "body": { + "Sa": "System" + } + }, + "00000000-0000-4000-8000-000000000302": { + "id": "00000000-0000-4000-8000-000000000302", + "alias": "vessel_service", + "name": "Vessel communication service", + "description": "An external service sends distress information across the system boundary.", + "parent": null, + "body": { + "Sa": "Actor" + } + }, + "00000000-0000-4000-8000-000000000303": { + "id": "00000000-0000-4000-8000-000000000303", + "alias": "reporting_input", + "name": "Reporting input", + "description": "", + "parent": "00000000-0000-4000-8000-000000000301", + "body": { + "Sa": { + "Shared": { + "Port": { + "contract": { + "Component": { + "kind": "Flow", + "orientation": "In" + } + }, + "legacy": null + } + } + } + } + }, + "00000000-0000-4000-8000-000000000304": { + "id": "00000000-0000-4000-8000-000000000304", + "alias": "reporting_output", + "name": "Reporting output", + "description": "", + "parent": "00000000-0000-4000-8000-000000000302", + "body": { + "Sa": { + "Shared": { + "Port": { + "contract": { + "Component": { + "kind": "Flow", + "orientation": "Out" + } + }, + "legacy": null + } + } + } + } + }, + "00000000-0000-4000-8000-000000000401": { + "id": "00000000-0000-4000-8000-000000000401", + "alias": "handle_reports", + "name": "Handle distress reports", + "description": "A functional decomposition of reporting and assessment.", + "parent": null, + "body": { + "Sa": "Function" + } + }, + "00000000-0000-4000-8000-000000000402": { + "id": "00000000-0000-4000-8000-000000000402", + "alias": "transmit_report", + "name": "Transmit report", + "description": "Encode and send the vessel's distress report.", + "parent": "00000000-0000-4000-8000-000000000401", + "body": { + "Sa": "Function" + } + }, + "00000000-0000-4000-8000-000000000403": { + "id": "00000000-0000-4000-8000-000000000403", + "alias": "assess_report", + "name": "Assess report", + "description": "Validate the received report and present it to the coordinator.", + "parent": "00000000-0000-4000-8000-000000000401", + "body": { + "Sa": "Function" + } + }, + "00000000-0000-4000-8000-000000000404": { + "id": "00000000-0000-4000-8000-000000000404", + "alias": "report_out", + "name": "Report output", + "description": "", + "parent": "00000000-0000-4000-8000-000000000402", + "body": { + "Sa": { + "Shared": { + "Port": { + "contract": { + "FunctionOutput": { + "outgoing_items": [ + "00000000-0000-4000-8000-000000000406" + ] + } + }, + "legacy": null + } + } + } + } + }, + "00000000-0000-4000-8000-000000000405": { + "id": "00000000-0000-4000-8000-000000000405", + "alias": "report_in", + "name": "Report input", + "description": "", + "parent": "00000000-0000-4000-8000-000000000403", + "body": { + "Sa": { + "Shared": { + "Port": { + "contract": { + "FunctionInput": { + "incoming_items": [ + "00000000-0000-4000-8000-000000000406" + ] + } + }, + "legacy": null + } + } + } + } + }, + "00000000-0000-4000-8000-000000000406": { + "id": "00000000-0000-4000-8000-000000000406", + "alias": "sa_report_data", + "name": "Digital distress report", + "description": "", + "parent": null, + "body": { + "Sa": { + "Shared": { + "ExchangeItem": { + "kind": "Information", + "mechanism": "Unspecified", + "supertype": null + } + } + } + } + }, + "00000000-0000-4000-8000-000000000407": { + "id": "00000000-0000-4000-8000-000000000407", + "alias": "encoded_latitude", + "name": "Encoded latitude", + "description": "", + "parent": "00000000-0000-4000-8000-000000000406", + "body": { + "Sa": { + "Shared": { + "DataField": { + "type_ref": "Real", + "minimum": 1, + "maximum": 1, + "unit": "degrees north", + "direction": "Unspecified", + "storage": "Value", + "default": null + } + } + } + } + }, + "00000000-0000-4000-8000-000000000408": { + "id": "00000000-0000-4000-8000-000000000408", + "alias": "coordinate_response", + "name": "Coordinate distress response", + "description": "", + "parent": null, + "body": { + "Sa": "Capability" + } + }, + "00000000-0000-4000-8000-000000000411": { + "id": "00000000-0000-4000-8000-000000000411", + "alias": "assure_response", + "name": "Assure response quality", + "description": "Review the service response independently of report transport.", + "parent": null, + "body": { + "Sa": "Function" + } + }, + "00000000-0000-4000-8000-000000000412": { + "id": "00000000-0000-4000-8000-000000000412", + "alias": "review_response", + "name": "Review response", + "description": "Check that a coordinator can review the received information.", + "parent": "00000000-0000-4000-8000-000000000411", + "body": { + "Sa": "Function" + } + } + }, + "relations": { + "00000000-0000-4000-8000-000000000201": { + "id": "00000000-0000-4000-8000-000000000201", + "alias": "crew_reports", + "name": "Crew reports distress", + "description": "", + "body": { + "Allocation": { + "source": "00000000-0000-4000-8000-000000000101", + "target": "00000000-0000-4000-8000-000000000104" + } + } + }, + "00000000-0000-4000-8000-000000000202": { + "id": "00000000-0000-4000-8000-000000000202", + "alias": "team_assesses", + "name": "Team assesses incident", + "description": "", + "body": { + "Allocation": { + "source": "00000000-0000-4000-8000-000000000102", + "target": "00000000-0000-4000-8000-000000000105" + } + } + }, + "00000000-0000-4000-8000-000000000203": { + "id": "00000000-0000-4000-8000-000000000203", + "alias": "distress_signal", + "name": "Distress signal", + "description": "", + "body": { + "Interaction": { + "source": "00000000-0000-4000-8000-000000000104", + "target": "00000000-0000-4000-8000-000000000105", + "items": [ + "00000000-0000-4000-8000-000000000107" + ] + } + } + }, + "00000000-0000-4000-8000-000000000204": { + "id": "00000000-0000-4000-8000-000000000204", + "alias": "operational_contribution", + "name": "Assessment supports rescue", + "description": "", + "body": { + "CapabilityInvolvement": { + "source": "00000000-0000-4000-8000-000000000105", + "target": "00000000-0000-4000-8000-000000000106" + } + } + }, + "00000000-0000-4000-8000-000000000501": { + "id": "00000000-0000-4000-8000-000000000501", + "alias": "radio_reporting", + "name": "Radio reporting", + "description": "", + "body": { + "BoundaryExchange": { + "source": "00000000-0000-4000-8000-000000000304", + "target": "00000000-0000-4000-8000-000000000303", + "oriented": true, + "items": [ + "00000000-0000-4000-8000-000000000406" + ] + } + } + }, + "00000000-0000-4000-8000-000000000502": { + "id": "00000000-0000-4000-8000-000000000502", + "alias": "vessel_transmits", + "name": "Vessel service transmits", + "description": "", + "body": { + "Allocation": { + "source": "00000000-0000-4000-8000-000000000302", + "target": "00000000-0000-4000-8000-000000000402" + } + } + }, + "00000000-0000-4000-8000-000000000503": { + "id": "00000000-0000-4000-8000-000000000503", + "alias": "system_assesses", + "name": "System assesses report", + "description": "", + "body": { + "Allocation": { + "source": "00000000-0000-4000-8000-000000000301", + "target": "00000000-0000-4000-8000-000000000403" + } + } + }, + "00000000-0000-4000-8000-000000000504": { + "id": "00000000-0000-4000-8000-000000000504", + "alias": "system_reviews", + "name": "System supports response review", + "description": "", + "body": { + "Allocation": { + "source": "00000000-0000-4000-8000-000000000301", + "target": "00000000-0000-4000-8000-000000000412" + } + } + }, + "00000000-0000-4000-8000-000000000505": { + "id": "00000000-0000-4000-8000-000000000505", + "alias": "validated_report", + "name": "Validated report", + "description": "", + "body": { + "FunctionalExchange": { + "source": "00000000-0000-4000-8000-000000000402", + "target": "00000000-0000-4000-8000-000000000403", + "source_port": "00000000-0000-4000-8000-000000000404", + "target_port": "00000000-0000-4000-8000-000000000405", + "items": [ + "00000000-0000-4000-8000-000000000406" + ] + } + } + }, + "00000000-0000-4000-8000-000000000506": { + "id": "00000000-0000-4000-8000-000000000506", + "alias": "output_realization", + "name": "Reporting output realizes function output", + "description": "", + "body": { + "PortAllocation": { + "source": "00000000-0000-4000-8000-000000000304", + "target": "00000000-0000-4000-8000-000000000404" + } + } + }, + "00000000-0000-4000-8000-000000000507": { + "id": "00000000-0000-4000-8000-000000000507", + "alias": "input_realization", + "name": "Reporting input realizes function input", + "description": "", + "body": { + "PortAllocation": { + "source": "00000000-0000-4000-8000-000000000303", + "target": "00000000-0000-4000-8000-000000000405" + } + } + }, + "00000000-0000-4000-8000-000000000508": { + "id": "00000000-0000-4000-8000-000000000508", + "alias": "report_transport", + "name": "Radio reporting carries the function exchange", + "description": "", + "body": { + "ExchangeAllocation": { + "source": "00000000-0000-4000-8000-000000000501", + "target": "00000000-0000-4000-8000-000000000505" + } + } + }, + "00000000-0000-4000-8000-000000000509": { + "id": "00000000-0000-4000-8000-000000000509", + "alias": "system_contribution", + "name": "Assessment supports coordination", + "description": "", + "body": { + "CapabilityInvolvement": { + "source": "00000000-0000-4000-8000-000000000403", + "target": "00000000-0000-4000-8000-000000000408" + } + } + } + }, + "diagrams": { + "00000000-0000-4000-8000-000000000601": { + "id": "00000000-0000-4000-8000-000000000601", + "alias": "oa_architecture", + "name": "OA — participants and activities", + "description": "The crew reports; the coordination team assesses. Containment of work is shown separately in the Model explorer.", + "layer": "Oa", + "projection": "Allocation", + "view_options": { + "hidden_edges": [], + "relation_kinds": "All", + "work_categories": "All", + "participant_categories": "All", + "coverage": "All", + "work_contexts": "All", + "exchange_labels": "Name" + }, + "nodes": { + "00000000-0000-4000-8000-000000000701": { + "id": "00000000-0000-4000-8000-000000000701", + "alias": "oa_vessel_view", + "element": "00000000-0000-4000-8000-000000000101", + "position": { + "x": 60.0, + "y": 60.0 + }, + "size": { + "width": 272.0, + "height": 210.0 + }, + "collapsed": false + }, + "00000000-0000-4000-8000-000000000702": { + "id": "00000000-0000-4000-8000-000000000702", + "alias": "oa_team_view", + "element": "00000000-0000-4000-8000-000000000102", + "position": { + "x": 540.0, + "y": 60.0 + }, + "size": { + "width": 300.0, + "height": 210.0 + }, + "collapsed": false + }, + "00000000-0000-4000-8000-000000000703": { + "id": "00000000-0000-4000-8000-000000000703", + "alias": "oa_report_view", + "element": "00000000-0000-4000-8000-000000000104", + "position": { + "x": 84.0, + "y": 128.0 + }, + "size": { + "width": 224.0, + "height": 104.0 + }, + "collapsed": false + }, + "00000000-0000-4000-8000-000000000704": { + "id": "00000000-0000-4000-8000-000000000704", + "alias": "oa_assessment_view", + "element": "00000000-0000-4000-8000-000000000105", + "position": { + "x": 564.0, + "y": 128.0 + }, + "size": { + "width": 252.0, + "height": 104.0 + }, + "collapsed": false + } + }, + "routes": [] + }, + "00000000-0000-4000-8000-000000000602": { + "id": "00000000-0000-4000-8000-000000000602", + "alias": "sa_architecture", + "name": "SA — system boundary and functions", + "description": "Flow component ports define the boundary; separate function ports carry the functional exchange.", + "layer": "Sa", + "projection": "Allocation", + "view_options": { + "hidden_edges": [], + "relation_kinds": "All", + "work_categories": "All", + "participant_categories": "All", + "coverage": "All", + "work_contexts": "All", + "exchange_labels": "Name" + }, + "nodes": { + "00000000-0000-4000-8000-000000000711": { + "id": "00000000-0000-4000-8000-000000000711", + "alias": "sa_vessel_view", + "element": "00000000-0000-4000-8000-000000000302", + "position": { + "x": 60.0, + "y": 60.0 + }, + "size": { + "width": 272.0, + "height": 220.0 + }, + "collapsed": false + }, + "00000000-0000-4000-8000-000000000712": { + "id": "00000000-0000-4000-8000-000000000712", + "alias": "sa_system_view", + "element": "00000000-0000-4000-8000-000000000301", + "position": { + "x": 540.0, + "y": 60.0 + }, + "size": { + "width": 300.0, + "height": 340.0 + }, + "collapsed": false + }, + "00000000-0000-4000-8000-000000000713": { + "id": "00000000-0000-4000-8000-000000000713", + "alias": "sa_transmission_view", + "element": "00000000-0000-4000-8000-000000000402", + "position": { + "x": 84.0, + "y": 128.0 + }, + "size": { + "width": 224.0, + "height": 104.0 + }, + "collapsed": false + }, + "00000000-0000-4000-8000-000000000714": { + "id": "00000000-0000-4000-8000-000000000714", + "alias": "sa_assessment_view", + "element": "00000000-0000-4000-8000-000000000403", + "position": { + "x": 564.0, + "y": 128.0 + }, + "size": { + "width": 252.0, + "height": 104.0 + }, + "collapsed": false + }, + "00000000-0000-4000-8000-000000000715": { + "id": "00000000-0000-4000-8000-000000000715", + "alias": "sa_review_view", + "element": "00000000-0000-4000-8000-000000000412", + "position": { + "x": 564.0, + "y": 272.0 + }, + "size": { + "width": 252.0, + "height": 104.0 + }, + "collapsed": false + } + }, + "routes": [] + }, + "00000000-0000-4000-8000-000000000603": { + "id": "00000000-0000-4000-8000-000000000603", + "alias": "sa_decomposition", + "name": "SA — functional containment", + "description": "These containers represent real function parents. Compare them with the explicit allocations in the architecture view.", + "layer": "Sa", + "projection": "FunctionalDataflow", + "view_options": { + "hidden_edges": [], + "relation_kinds": "All", + "work_categories": "All", + "participant_categories": "All", + "coverage": "All", + "work_contexts": "All", + "exchange_labels": "Name" + }, + "nodes": { + "00000000-0000-4000-8000-000000000721": { + "id": "00000000-0000-4000-8000-000000000721", + "alias": "handling_view", + "element": "00000000-0000-4000-8000-000000000401", + "position": { + "x": 40.0, + "y": 60.0 + }, + "size": { + "width": 500.0, + "height": 230.0 + }, + "collapsed": false + }, + "00000000-0000-4000-8000-000000000722": { + "id": "00000000-0000-4000-8000-000000000722", + "alias": "transmission_view", + "element": "00000000-0000-4000-8000-000000000402", + "position": { + "x": 64.0, + "y": 136.0 + }, + "size": { + "width": 204.0, + "height": 104.0 + }, + "collapsed": false + }, + "00000000-0000-4000-8000-000000000723": { + "id": "00000000-0000-4000-8000-000000000723", + "alias": "assessment_view", + "element": "00000000-0000-4000-8000-000000000403", + "position": { + "x": 310.0, + "y": 136.0 + }, + "size": { + "width": 204.0, + "height": 104.0 + }, + "collapsed": false + }, + "00000000-0000-4000-8000-000000000724": { + "id": "00000000-0000-4000-8000-000000000724", + "alias": "assurance_view", + "element": "00000000-0000-4000-8000-000000000411", + "position": { + "x": 590.0, + "y": 60.0 + }, + "size": { + "width": 300.0, + "height": 230.0 + }, + "collapsed": false + }, + "00000000-0000-4000-8000-000000000725": { + "id": "00000000-0000-4000-8000-000000000725", + "alias": "review_view", + "element": "00000000-0000-4000-8000-000000000412", + "position": { + "x": 614.0, + "y": 136.0 + }, + "size": { + "width": 252.0, + "height": 104.0 + }, + "collapsed": false + } + }, + "routes": [] + } + }, + "artifact_links": {}, + "traces": {} +} diff --git a/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/navigation-palette-20260913-01/source-example-migration/independent-reference-source-bundle.json b/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/navigation-palette-20260913-01/source-example-migration/independent-reference-source-bundle.json new file mode 100644 index 00000000..67214af6 --- /dev/null +++ b/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/navigation-palette-20260913-01/source-example-migration/independent-reference-source-bundle.json @@ -0,0 +1,11 @@ +{ + "entry": "project.arcadia", + "files": { + "oa.arcadia": "// Operational Analysis describes the need without choosing a technical solution.\noa_actor vessel \"Vessel in distress\" id \"00000000-0000-4000-8000-000000000101\" {\n description \"The vessel's crew needs to communicate its position and obtain assistance.\";\n}\noa_entity rescue_team \"Rescue coordination\" id \"00000000-0000-4000-8000-000000000102\" {\n description \"The coordination team assesses the report and decides on a response.\";\n}\n\n// This is work decomposition. It does not assign either activity to a participant.\noa_activity respond \"Respond to distress\" id \"00000000-0000-4000-8000-000000000103\" {\n // Keep the crew's reporting responsibility visible when decomposing the need.\n oa_activity report_distress \"Report distress\" id \"00000000-0000-4000-8000-000000000104\" {\n description \"Provide the vessel's situation and last known position.\";\n }\n oa_activity assess_incident \"Assess incident\" id \"00000000-0000-4000-8000-000000000105\" {\n description \"Decide which assistance is needed using the received report.\";\n }\n}\n\noa_capability protect_life \"Protect life at sea\" id \"00000000-0000-4000-8000-000000000106\" {}\noa_exchange_item oa_report_data \"Distress report\" id \"00000000-0000-4000-8000-000000000107\" {\n kind Information; mechanism Unspecified; supertype none;\n oa_data_field reported_latitude \"Reported latitude\" id \"00000000-0000-4000-8000-000000000108\" {\n type_ref Real;\n unit \"degrees north\"; direction Unspecified; storage Value; default none;\n }\n}\n\n// Allocation remains explicit even though the saved architecture view nests work.\nallocation crew_reports \"Crew reports distress\" id \"00000000-0000-4000-8000-000000000201\" {\n source @vessel; target @report_distress;\n}\nallocation team_assesses \"Team assesses incident\" id \"00000000-0000-4000-8000-000000000202\" {\n source @rescue_team; target @assess_incident;\n}\ninteraction distress_signal \"Distress signal\" id \"00000000-0000-4000-8000-000000000203\" {\n source @report_distress; target @assess_incident; items [@oa_report_data];\n}\ncapability_involvement operational_contribution \"Assessment supports rescue\" id \"00000000-0000-4000-8000-000000000204\" {\n source @assess_incident; target @protect_life;\n}\n", + "project.arcadia": "arcadia 7;\nproject distress_response \"Distress response — nested source project\" id \"00000000-0000-4000-8000-000000000001\" {\n description \"A small OA/SA model for learning source ownership, typed ports and reviewed graphical edits. Open this file. Start with the saved allocation views, then browse Handle distress reports and use Source for selection.\";\n\n // Includes organize documents; aliases are shared by the whole project.\n include \"oa.arcadia\";\n include \"sa/participants.arcadia\";\n include \"sa/reporting.arcadia\";\n include \"sa/assurance.arcadia\";\n include \"views.arcadia\";\n}\n", + "sa/assurance.arcadia": "// A separate functional aggregate provides a cross-file reparenting example.\n// Move Assess report here through Properties, then inspect both source files.\nsa_function assure_response \"Assure response quality\" id \"00000000-0000-4000-8000-000000000411\" {\n description \"Review the service response independently of report transport.\";\n sa_function review_response \"Review response\" id \"00000000-0000-4000-8000-000000000412\" {\n description \"Check that a coordinator can review the received information.\";\n }\n}\nallocation system_reviews \"System supports response review\" id \"00000000-0000-4000-8000-000000000504\" {\n source @rescue_system; target @review_response;\n}\n", + "sa/participants.arcadia": "// System Analysis identifies one system of interest and its external participant.\nsa_system rescue_system \"Rescue coordination system\" id \"00000000-0000-4000-8000-000000000301\" {\n description \"The selected system receives reports and supports the coordinator.\";\n // A component port belongs to its participant, not to an allocated function.\n sa_port reporting_input \"Reporting input\" id \"00000000-0000-4000-8000-000000000303\" {\n contract { Component { kind Flow; orientation In; }; };\n }\n}\nsa_actor vessel_service \"Vessel communication service\" id \"00000000-0000-4000-8000-000000000302\" {\n description \"An external service sends distress information across the system boundary.\";\n sa_port reporting_output \"Reporting output\" id \"00000000-0000-4000-8000-000000000304\" {\n contract { Component { kind Flow; orientation Out; }; };\n }\n}\n\n// The boundary exchange connects actual participant ports. Function realization\n// is declared separately in reporting.arcadia using port/exchange allocations.\nboundary_exchange radio_reporting \"Radio reporting\" id \"00000000-0000-4000-8000-000000000501\" {\n source @reporting_output; target @reporting_input;\n oriented true;\n items [@sa_report_data];\n}\n", + "sa/reporting.arcadia": "// Functional containment is independent of the participant allocations below.\nsa_function handle_reports \"Handle distress reports\" id \"00000000-0000-4000-8000-000000000401\" {\n description \"A functional decomposition of reporting and assessment.\";\n sa_function transmit_report \"Transmit report\" id \"00000000-0000-4000-8000-000000000402\" {\n description \"Encode and send the vessel's distress report.\";\n sa_port report_out \"Report output\" id \"00000000-0000-4000-8000-000000000404\" {\n contract { FunctionOutput { outgoing_items [@sa_report_data]; }; };\n }\n }\n // Assessment rationale travels with this declaration when it is reparented.\n sa_function assess_report \"Assess report\" id \"00000000-0000-4000-8000-000000000403\" {\n description \"Validate the received report and present it to the coordinator.\";\n sa_port report_in \"Report input\" id \"00000000-0000-4000-8000-000000000405\" {\n contract { FunctionInput { incoming_items [@sa_report_data]; }; };\n }\n } // Assessment remains performed by rescue_system after a hierarchy edit.\n}\n\n// This group comment stays in this file; it is not attached to the function above.\n\nsa_exchange_item sa_report_data \"Digital distress report\" id \"00000000-0000-4000-8000-000000000406\" {\n kind Information; mechanism Unspecified; supertype none;\n sa_data_field encoded_latitude \"Encoded latitude\" id \"00000000-0000-4000-8000-000000000407\" {\n type_ref Real;\n unit \"degrees north\"; direction Unspecified; storage Value; default none;\n }\n}\nsa_capability coordinate_response \"Coordinate distress response\" id \"00000000-0000-4000-8000-000000000408\" {}\n\nallocation vessel_transmits \"Vessel service transmits\" id \"00000000-0000-4000-8000-000000000502\" {\n source @vessel_service; target @transmit_report;\n}\nallocation system_assesses \"System assesses report\" id \"00000000-0000-4000-8000-000000000503\" {\n source @rescue_system; target @assess_report;\n}\nfunctional_exchange validated_report \"Validated report\" id \"00000000-0000-4000-8000-000000000505\" {\n source @transmit_report; source_port @report_out;\n target @assess_report; target_port @report_in;\n items [@sa_report_data];\n}\nport_allocation output_realization \"Reporting output realizes function output\" id \"00000000-0000-4000-8000-000000000506\" {\n source @reporting_output; target @report_out;\n}\nport_allocation input_realization \"Reporting input realizes function input\" id \"00000000-0000-4000-8000-000000000507\" {\n source @reporting_input; target @report_in;\n}\nexchange_allocation report_transport \"Radio reporting carries the function exchange\" id \"00000000-0000-4000-8000-000000000508\" {\n source @radio_reporting; target @validated_report;\n}\ncapability_involvement system_contribution \"Assessment supports coordination\" id \"00000000-0000-4000-8000-000000000509\" {\n source @assess_report; target @coordinate_response;\n}\n", + "views.arcadia": "// Views are projections. Their visual allocation containers do not set parent.\ndiagram oa_architecture \"OA — participants and activities\" id \"00000000-0000-4000-8000-000000000601\" {\n description \"The crew reports; the coordination team assesses. Containment of work is shown separately in the Model explorer.\";\n layer Oa; projection Allocation;\n}\nnode oa_vessel_view id \"00000000-0000-4000-8000-000000000701\" {\n diagram @oa_architecture; element @vessel;\n position { x 60; y 60; }; size { width 272; height 210; };\n}\nnode oa_team_view id \"00000000-0000-4000-8000-000000000702\" {\n diagram @oa_architecture; element @rescue_team;\n position { x 540; y 60; }; size { width 300; height 210; };\n}\nnode oa_report_view id \"00000000-0000-4000-8000-000000000703\" {\n diagram @oa_architecture; element @report_distress;\n position { x 84; y 128; }; size { width 224; height 104; };\n}\nnode oa_assessment_view id \"00000000-0000-4000-8000-000000000704\" {\n diagram @oa_architecture; element @assess_incident;\n position { x 564; y 128; }; size { width 252; height 104; };\n}\n\ndiagram sa_architecture \"SA — system boundary and functions\" id \"00000000-0000-4000-8000-000000000602\" {\n description \"Flow component ports define the boundary; separate function ports carry the functional exchange.\";\n layer Sa; projection Allocation;\n}\nnode sa_vessel_view id \"00000000-0000-4000-8000-000000000711\" {\n diagram @sa_architecture; element @vessel_service;\n position { x 60; y 60; }; size { width 272; height 220; };\n}\nnode sa_system_view id \"00000000-0000-4000-8000-000000000712\" {\n diagram @sa_architecture; element @rescue_system;\n position { x 540; y 60; }; size { width 300; height 340; };\n}\nnode sa_transmission_view id \"00000000-0000-4000-8000-000000000713\" {\n diagram @sa_architecture; element @transmit_report;\n position { x 84; y 128; }; size { width 224; height 104; };\n}\nnode sa_assessment_view id \"00000000-0000-4000-8000-000000000714\" {\n diagram @sa_architecture; element @assess_report;\n position { x 564; y 128; }; size { width 252; height 104; };\n}\nnode sa_review_view id \"00000000-0000-4000-8000-000000000715\" {\n diagram @sa_architecture; element @review_response;\n position { x 564; y 272; }; size { width 252; height 104; };\n}\n\ndiagram sa_decomposition \"SA — functional containment\" id \"00000000-0000-4000-8000-000000000603\" {\n description \"These containers represent real function parents. Compare them with the explicit allocations in the architecture view.\";\n layer Sa; projection FunctionalDataflow;\n}\nnode handling_view id \"00000000-0000-4000-8000-000000000721\" {\n diagram @sa_decomposition; element @handle_reports;\n position { x 40; y 60; }; size { width 500; height 230; };\n}\nnode transmission_view id \"00000000-0000-4000-8000-000000000722\" {\n diagram @sa_decomposition; element @transmit_report;\n position { x 64; y 136; }; size { width 204; height 104; };\n}\nnode assessment_view id \"00000000-0000-4000-8000-000000000723\" {\n diagram @sa_decomposition; element @assess_report;\n position { x 310; y 136; }; size { width 204; height 104; };\n}\nnode assurance_view id \"00000000-0000-4000-8000-000000000724\" {\n diagram @sa_decomposition; element @assure_response;\n position { x 590; y 60; }; size { width 300; height 230; };\n}\nnode review_view id \"00000000-0000-4000-8000-000000000725\" {\n diagram @sa_decomposition; element @review_response;\n position { x 614; y 136; }; size { width 252; height 104; };\n}\n" + } +} diff --git a/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/navigation-palette-20260913-01/source-example-migration/intent.json b/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/navigation-palette-20260913-01/source-example-migration/intent.json new file mode 100644 index 00000000..f3d55876 --- /dev/null +++ b/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/navigation-palette-20260913-01/source-example-migration/intent.json @@ -0,0 +1,19 @@ +{ + "execution_complete": false, + "expected_changed_paths": [ + "project.arcadia", + "oa.arcadia", + "sa/reporting.arcadia" + ], + "expected_rename_target": "00000000-0000-4000-8000-000000000403", + "from_schema": 3, + "intended_defaults": { + "00000000-0000-4000-8000-000000000107": "Information retained; mechanism Unspecified; supertype absent", + "00000000-0000-4000-8000-000000000108": "type/multiplicity/unit retained; direction Unspecified; storage Value; default absent", + "00000000-0000-4000-8000-000000000406": "Information retained; mechanism Unspecified; supertype absent", + "00000000-0000-4000-8000-000000000407": "type/multiplicity/unit retained; direction Unspecified; storage Value; default absent" + }, + "original_files": 6, + "scope": "Bounded fixture migration preparation, not native acceptance or general migration proof", + "to_schema": 7 +} diff --git a/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/navigation-palette-20260913-01/source-example-migration/legacy-input/oa.arcadia b/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/navigation-palette-20260913-01/source-example-migration/legacy-input/oa.arcadia new file mode 100644 index 00000000..0aa8c9dd --- /dev/null +++ b/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/navigation-palette-20260913-01/source-example-migration/legacy-input/oa.arcadia @@ -0,0 +1,41 @@ +// Operational Analysis describes the need without choosing a technical solution. +oa_actor vessel "Vessel in distress" id "00000000-0000-4000-8000-000000000101" { + description "The vessel's crew needs to communicate its position and obtain assistance."; +} +oa_entity rescue_team "Rescue coordination" id "00000000-0000-4000-8000-000000000102" { + description "The coordination team assesses the report and decides on a response."; +} + +// This is work decomposition. It does not assign either activity to a participant. +oa_activity respond "Respond to distress" id "00000000-0000-4000-8000-000000000103" { + // Keep the crew's reporting responsibility visible when decomposing the need. + oa_activity report_distress "Report distress" id "00000000-0000-4000-8000-000000000104" { + description "Provide the vessel's situation and last known position."; + } + oa_activity assess_incident "Assess incident" id "00000000-0000-4000-8000-000000000105" { + description "Decide which assistance is needed using the received report."; + } +} + +oa_capability protect_life "Protect life at sea" id "00000000-0000-4000-8000-000000000106" {} +oa_exchange_item oa_report_data "Distress report" id "00000000-0000-4000-8000-000000000107" { + kind Information; + oa_data_field reported_latitude "Reported latitude" id "00000000-0000-4000-8000-000000000108" { + type_ref Real; + unit "degrees north"; + } +} + +// Allocation remains explicit even though the saved architecture view nests work. +allocation crew_reports "Crew reports distress" id "00000000-0000-4000-8000-000000000201" { + source @vessel; target @report_distress; +} +allocation team_assesses "Team assesses incident" id "00000000-0000-4000-8000-000000000202" { + source @rescue_team; target @assess_incident; +} +interaction distress_signal "Distress signal" id "00000000-0000-4000-8000-000000000203" { + source @report_distress; target @assess_incident; items [@oa_report_data]; +} +capability_involvement operational_contribution "Assessment supports rescue" id "00000000-0000-4000-8000-000000000204" { + source @assess_incident; target @protect_life; +} diff --git a/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/navigation-palette-20260913-01/source-example-migration/legacy-input/project.arcadia b/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/navigation-palette-20260913-01/source-example-migration/legacy-input/project.arcadia new file mode 100644 index 00000000..8bb4292f --- /dev/null +++ b/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/navigation-palette-20260913-01/source-example-migration/legacy-input/project.arcadia @@ -0,0 +1,11 @@ +arcadia 3; +project distress_response "Distress response — nested source project" id "00000000-0000-4000-8000-000000000001" { + description "A small OA/SA model for learning source ownership, typed ports and reviewed graphical edits. Open this file. Start with the saved allocation views, then browse Handle distress reports and use Source for selection."; + + // Includes organize documents; aliases are shared by the whole project. + include "oa.arcadia"; + include "sa/participants.arcadia"; + include "sa/reporting.arcadia"; + include "sa/assurance.arcadia"; + include "views.arcadia"; +} diff --git a/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/navigation-palette-20260913-01/source-example-migration/legacy-input/sa/assurance.arcadia b/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/navigation-palette-20260913-01/source-example-migration/legacy-input/sa/assurance.arcadia new file mode 100644 index 00000000..b9678cbe --- /dev/null +++ b/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/navigation-palette-20260913-01/source-example-migration/legacy-input/sa/assurance.arcadia @@ -0,0 +1,11 @@ +// A separate functional aggregate provides a cross-file reparenting example. +// Move Assess report here through Properties, then inspect both source files. +sa_function assure_response "Assure response quality" id "00000000-0000-4000-8000-000000000411" { + description "Review the service response independently of report transport."; + sa_function review_response "Review response" id "00000000-0000-4000-8000-000000000412" { + description "Check that a coordinator can review the received information."; + } +} +allocation system_reviews "System supports response review" id "00000000-0000-4000-8000-000000000504" { + source @rescue_system; target @review_response; +} diff --git a/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/navigation-palette-20260913-01/source-example-migration/legacy-input/sa/participants.arcadia b/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/navigation-palette-20260913-01/source-example-migration/legacy-input/sa/participants.arcadia new file mode 100644 index 00000000..cdd7f402 --- /dev/null +++ b/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/navigation-palette-20260913-01/source-example-migration/legacy-input/sa/participants.arcadia @@ -0,0 +1,22 @@ +// System Analysis identifies one system of interest and its external participant. +sa_system rescue_system "Rescue coordination system" id "00000000-0000-4000-8000-000000000301" { + description "The selected system receives reports and supports the coordinator."; + // A component port belongs to its participant, not to an allocated function. + sa_port reporting_input "Reporting input" id "00000000-0000-4000-8000-000000000303" { + contract { Component { kind Flow; orientation In; }; }; + } +} +sa_actor vessel_service "Vessel communication service" id "00000000-0000-4000-8000-000000000302" { + description "An external service sends distress information across the system boundary."; + sa_port reporting_output "Reporting output" id "00000000-0000-4000-8000-000000000304" { + contract { Component { kind Flow; orientation Out; }; }; + } +} + +// The boundary exchange connects actual participant ports. Function realization +// is declared separately in reporting.arcadia using port/exchange allocations. +boundary_exchange radio_reporting "Radio reporting" id "00000000-0000-4000-8000-000000000501" { + source @reporting_output; target @reporting_input; + oriented true; + items [@sa_report_data]; +} diff --git a/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/navigation-palette-20260913-01/source-example-migration/legacy-input/sa/reporting.arcadia b/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/navigation-palette-20260913-01/source-example-migration/legacy-input/sa/reporting.arcadia new file mode 100644 index 00000000..bfeac4b0 --- /dev/null +++ b/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/navigation-palette-20260913-01/source-example-migration/legacy-input/sa/reporting.arcadia @@ -0,0 +1,52 @@ +// Functional containment is independent of the participant allocations below. +sa_function handle_reports "Handle distress reports" id "00000000-0000-4000-8000-000000000401" { + description "A functional decomposition of reporting and assessment."; + sa_function transmit_report "Transmit report" id "00000000-0000-4000-8000-000000000402" { + description "Encode and send the vessel's distress report."; + sa_port report_out "Report output" id "00000000-0000-4000-8000-000000000404" { + contract { FunctionOutput { outgoing_items [@sa_report_data]; }; }; + } + } + // Assessment rationale travels with this declaration when it is reparented. + sa_function assess_report "Assess report" id "00000000-0000-4000-8000-000000000403" { + description "Validate the received report and present it to the coordinator."; + sa_port report_in "Report input" id "00000000-0000-4000-8000-000000000405" { + contract { FunctionInput { incoming_items [@sa_report_data]; }; }; + } + } // Assessment remains performed by rescue_system after a hierarchy edit. +} + +// This group comment stays in this file; it is not attached to the function above. + +sa_exchange_item sa_report_data "Digital distress report" id "00000000-0000-4000-8000-000000000406" { + kind Information; + sa_data_field encoded_latitude "Encoded latitude" id "00000000-0000-4000-8000-000000000407" { + type_ref Real; + unit "degrees north"; + } +} +sa_capability coordinate_response "Coordinate distress response" id "00000000-0000-4000-8000-000000000408" {} + +allocation vessel_transmits "Vessel service transmits" id "00000000-0000-4000-8000-000000000502" { + source @vessel_service; target @transmit_report; +} +allocation system_assesses "System assesses report" id "00000000-0000-4000-8000-000000000503" { + source @rescue_system; target @assess_report; +} +functional_exchange validated_report "Validated report" id "00000000-0000-4000-8000-000000000505" { + source @transmit_report; source_port @report_out; + target @assess_report; target_port @report_in; + items [@sa_report_data]; +} +port_allocation output_realization "Reporting output realizes function output" id "00000000-0000-4000-8000-000000000506" { + source @reporting_output; target @report_out; +} +port_allocation input_realization "Reporting input realizes function input" id "00000000-0000-4000-8000-000000000507" { + source @reporting_input; target @report_in; +} +exchange_allocation report_transport "Radio reporting carries the function exchange" id "00000000-0000-4000-8000-000000000508" { + source @radio_reporting; target @validated_report; +} +capability_involvement system_contribution "Assessment supports coordination" id "00000000-0000-4000-8000-000000000509" { + source @assess_report; target @coordinate_response; +} diff --git a/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/navigation-palette-20260913-01/source-example-migration/legacy-input/views.arcadia b/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/navigation-palette-20260913-01/source-example-migration/legacy-input/views.arcadia new file mode 100644 index 00000000..62d9b5cb --- /dev/null +++ b/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/navigation-palette-20260913-01/source-example-migration/legacy-input/views.arcadia @@ -0,0 +1,71 @@ +// Views are projections. Their visual allocation containers do not set parent. +diagram oa_architecture "OA — participants and activities" id "00000000-0000-4000-8000-000000000601" { + description "The crew reports; the coordination team assesses. Containment of work is shown separately in the Model explorer."; + layer Oa; projection Allocation; +} +node oa_vessel_view id "00000000-0000-4000-8000-000000000701" { + diagram @oa_architecture; element @vessel; + position { x 60; y 60; }; size { width 272; height 210; }; +} +node oa_team_view id "00000000-0000-4000-8000-000000000702" { + diagram @oa_architecture; element @rescue_team; + position { x 540; y 60; }; size { width 300; height 210; }; +} +node oa_report_view id "00000000-0000-4000-8000-000000000703" { + diagram @oa_architecture; element @report_distress; + position { x 84; y 128; }; size { width 224; height 104; }; +} +node oa_assessment_view id "00000000-0000-4000-8000-000000000704" { + diagram @oa_architecture; element @assess_incident; + position { x 564; y 128; }; size { width 252; height 104; }; +} + +diagram sa_architecture "SA — system boundary and functions" id "00000000-0000-4000-8000-000000000602" { + description "Flow component ports define the boundary; separate function ports carry the functional exchange."; + layer Sa; projection Allocation; +} +node sa_vessel_view id "00000000-0000-4000-8000-000000000711" { + diagram @sa_architecture; element @vessel_service; + position { x 60; y 60; }; size { width 272; height 220; }; +} +node sa_system_view id "00000000-0000-4000-8000-000000000712" { + diagram @sa_architecture; element @rescue_system; + position { x 540; y 60; }; size { width 300; height 340; }; +} +node sa_transmission_view id "00000000-0000-4000-8000-000000000713" { + diagram @sa_architecture; element @transmit_report; + position { x 84; y 128; }; size { width 224; height 104; }; +} +node sa_assessment_view id "00000000-0000-4000-8000-000000000714" { + diagram @sa_architecture; element @assess_report; + position { x 564; y 128; }; size { width 252; height 104; }; +} +node sa_review_view id "00000000-0000-4000-8000-000000000715" { + diagram @sa_architecture; element @review_response; + position { x 564; y 272; }; size { width 252; height 104; }; +} + +diagram sa_decomposition "SA — functional containment" id "00000000-0000-4000-8000-000000000603" { + description "These containers represent real function parents. Compare them with the explicit allocations in the architecture view."; + layer Sa; projection FunctionalDataflow; +} +node handling_view id "00000000-0000-4000-8000-000000000721" { + diagram @sa_decomposition; element @handle_reports; + position { x 40; y 60; }; size { width 500; height 230; }; +} +node transmission_view id "00000000-0000-4000-8000-000000000722" { + diagram @sa_decomposition; element @transmit_report; + position { x 64; y 136; }; size { width 204; height 104; }; +} +node assessment_view id "00000000-0000-4000-8000-000000000723" { + diagram @sa_decomposition; element @assess_report; + position { x 310; y 136; }; size { width 204; height 104; }; +} +node assurance_view id "00000000-0000-4000-8000-000000000724" { + diagram @sa_decomposition; element @assure_response; + position { x 590; y 60; }; size { width 300; height 230; }; +} +node review_view id "00000000-0000-4000-8000-000000000725" { + diagram @sa_decomposition; element @review_response; + position { x 614; y 136; }; size { width 252; height 104; }; +} diff --git a/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/navigation-palette-20260913-01/source-example-migration/legacy-source-bundle.json b/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/navigation-palette-20260913-01/source-example-migration/legacy-source-bundle.json new file mode 100644 index 00000000..2d887cc1 --- /dev/null +++ b/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/navigation-palette-20260913-01/source-example-migration/legacy-source-bundle.json @@ -0,0 +1,11 @@ +{ + "entry": "project.arcadia", + "files": { + "oa.arcadia": "// Operational Analysis describes the need without choosing a technical solution.\noa_actor vessel \"Vessel in distress\" id \"00000000-0000-4000-8000-000000000101\" {\n description \"The vessel's crew needs to communicate its position and obtain assistance.\";\n}\noa_entity rescue_team \"Rescue coordination\" id \"00000000-0000-4000-8000-000000000102\" {\n description \"The coordination team assesses the report and decides on a response.\";\n}\n\n// This is work decomposition. It does not assign either activity to a participant.\noa_activity respond \"Respond to distress\" id \"00000000-0000-4000-8000-000000000103\" {\n // Keep the crew's reporting responsibility visible when decomposing the need.\n oa_activity report_distress \"Report distress\" id \"00000000-0000-4000-8000-000000000104\" {\n description \"Provide the vessel's situation and last known position.\";\n }\n oa_activity assess_incident \"Assess incident\" id \"00000000-0000-4000-8000-000000000105\" {\n description \"Decide which assistance is needed using the received report.\";\n }\n}\n\noa_capability protect_life \"Protect life at sea\" id \"00000000-0000-4000-8000-000000000106\" {}\noa_exchange_item oa_report_data \"Distress report\" id \"00000000-0000-4000-8000-000000000107\" {\n kind Information;\n oa_data_field reported_latitude \"Reported latitude\" id \"00000000-0000-4000-8000-000000000108\" {\n type_ref Real;\n unit \"degrees north\";\n }\n}\n\n// Allocation remains explicit even though the saved architecture view nests work.\nallocation crew_reports \"Crew reports distress\" id \"00000000-0000-4000-8000-000000000201\" {\n source @vessel; target @report_distress;\n}\nallocation team_assesses \"Team assesses incident\" id \"00000000-0000-4000-8000-000000000202\" {\n source @rescue_team; target @assess_incident;\n}\ninteraction distress_signal \"Distress signal\" id \"00000000-0000-4000-8000-000000000203\" {\n source @report_distress; target @assess_incident; items [@oa_report_data];\n}\ncapability_involvement operational_contribution \"Assessment supports rescue\" id \"00000000-0000-4000-8000-000000000204\" {\n source @assess_incident; target @protect_life;\n}\n", + "project.arcadia": "arcadia 3;\nproject distress_response \"Distress response — nested source project\" id \"00000000-0000-4000-8000-000000000001\" {\n description \"A small OA/SA model for learning source ownership, typed ports and reviewed graphical edits. Open this file. Start with the saved allocation views, then browse Handle distress reports and use Source for selection.\";\n\n // Includes organize documents; aliases are shared by the whole project.\n include \"oa.arcadia\";\n include \"sa/participants.arcadia\";\n include \"sa/reporting.arcadia\";\n include \"sa/assurance.arcadia\";\n include \"views.arcadia\";\n}\n", + "sa/assurance.arcadia": "// A separate functional aggregate provides a cross-file reparenting example.\n// Move Assess report here through Properties, then inspect both source files.\nsa_function assure_response \"Assure response quality\" id \"00000000-0000-4000-8000-000000000411\" {\n description \"Review the service response independently of report transport.\";\n sa_function review_response \"Review response\" id \"00000000-0000-4000-8000-000000000412\" {\n description \"Check that a coordinator can review the received information.\";\n }\n}\nallocation system_reviews \"System supports response review\" id \"00000000-0000-4000-8000-000000000504\" {\n source @rescue_system; target @review_response;\n}\n", + "sa/participants.arcadia": "// System Analysis identifies one system of interest and its external participant.\nsa_system rescue_system \"Rescue coordination system\" id \"00000000-0000-4000-8000-000000000301\" {\n description \"The selected system receives reports and supports the coordinator.\";\n // A component port belongs to its participant, not to an allocated function.\n sa_port reporting_input \"Reporting input\" id \"00000000-0000-4000-8000-000000000303\" {\n contract { Component { kind Flow; orientation In; }; };\n }\n}\nsa_actor vessel_service \"Vessel communication service\" id \"00000000-0000-4000-8000-000000000302\" {\n description \"An external service sends distress information across the system boundary.\";\n sa_port reporting_output \"Reporting output\" id \"00000000-0000-4000-8000-000000000304\" {\n contract { Component { kind Flow; orientation Out; }; };\n }\n}\n\n// The boundary exchange connects actual participant ports. Function realization\n// is declared separately in reporting.arcadia using port/exchange allocations.\nboundary_exchange radio_reporting \"Radio reporting\" id \"00000000-0000-4000-8000-000000000501\" {\n source @reporting_output; target @reporting_input;\n oriented true;\n items [@sa_report_data];\n}\n", + "sa/reporting.arcadia": "// Functional containment is independent of the participant allocations below.\nsa_function handle_reports \"Handle distress reports\" id \"00000000-0000-4000-8000-000000000401\" {\n description \"A functional decomposition of reporting and assessment.\";\n sa_function transmit_report \"Transmit report\" id \"00000000-0000-4000-8000-000000000402\" {\n description \"Encode and send the vessel's distress report.\";\n sa_port report_out \"Report output\" id \"00000000-0000-4000-8000-000000000404\" {\n contract { FunctionOutput { outgoing_items [@sa_report_data]; }; };\n }\n }\n // Assessment rationale travels with this declaration when it is reparented.\n sa_function assess_report \"Assess report\" id \"00000000-0000-4000-8000-000000000403\" {\n description \"Validate the received report and present it to the coordinator.\";\n sa_port report_in \"Report input\" id \"00000000-0000-4000-8000-000000000405\" {\n contract { FunctionInput { incoming_items [@sa_report_data]; }; };\n }\n } // Assessment remains performed by rescue_system after a hierarchy edit.\n}\n\n// This group comment stays in this file; it is not attached to the function above.\n\nsa_exchange_item sa_report_data \"Digital distress report\" id \"00000000-0000-4000-8000-000000000406\" {\n kind Information;\n sa_data_field encoded_latitude \"Encoded latitude\" id \"00000000-0000-4000-8000-000000000407\" {\n type_ref Real;\n unit \"degrees north\";\n }\n}\nsa_capability coordinate_response \"Coordinate distress response\" id \"00000000-0000-4000-8000-000000000408\" {}\n\nallocation vessel_transmits \"Vessel service transmits\" id \"00000000-0000-4000-8000-000000000502\" {\n source @vessel_service; target @transmit_report;\n}\nallocation system_assesses \"System assesses report\" id \"00000000-0000-4000-8000-000000000503\" {\n source @rescue_system; target @assess_report;\n}\nfunctional_exchange validated_report \"Validated report\" id \"00000000-0000-4000-8000-000000000505\" {\n source @transmit_report; source_port @report_out;\n target @assess_report; target_port @report_in;\n items [@sa_report_data];\n}\nport_allocation output_realization \"Reporting output realizes function output\" id \"00000000-0000-4000-8000-000000000506\" {\n source @reporting_output; target @report_out;\n}\nport_allocation input_realization \"Reporting input realizes function input\" id \"00000000-0000-4000-8000-000000000507\" {\n source @reporting_input; target @report_in;\n}\nexchange_allocation report_transport \"Radio reporting carries the function exchange\" id \"00000000-0000-4000-8000-000000000508\" {\n source @radio_reporting; target @validated_report;\n}\ncapability_involvement system_contribution \"Assessment supports coordination\" id \"00000000-0000-4000-8000-000000000509\" {\n source @assess_report; target @coordinate_response;\n}\n", + "views.arcadia": "// Views are projections. Their visual allocation containers do not set parent.\ndiagram oa_architecture \"OA — participants and activities\" id \"00000000-0000-4000-8000-000000000601\" {\n description \"The crew reports; the coordination team assesses. Containment of work is shown separately in the Model explorer.\";\n layer Oa; projection Allocation;\n}\nnode oa_vessel_view id \"00000000-0000-4000-8000-000000000701\" {\n diagram @oa_architecture; element @vessel;\n position { x 60; y 60; }; size { width 272; height 210; };\n}\nnode oa_team_view id \"00000000-0000-4000-8000-000000000702\" {\n diagram @oa_architecture; element @rescue_team;\n position { x 540; y 60; }; size { width 300; height 210; };\n}\nnode oa_report_view id \"00000000-0000-4000-8000-000000000703\" {\n diagram @oa_architecture; element @report_distress;\n position { x 84; y 128; }; size { width 224; height 104; };\n}\nnode oa_assessment_view id \"00000000-0000-4000-8000-000000000704\" {\n diagram @oa_architecture; element @assess_incident;\n position { x 564; y 128; }; size { width 252; height 104; };\n}\n\ndiagram sa_architecture \"SA — system boundary and functions\" id \"00000000-0000-4000-8000-000000000602\" {\n description \"Flow component ports define the boundary; separate function ports carry the functional exchange.\";\n layer Sa; projection Allocation;\n}\nnode sa_vessel_view id \"00000000-0000-4000-8000-000000000711\" {\n diagram @sa_architecture; element @vessel_service;\n position { x 60; y 60; }; size { width 272; height 220; };\n}\nnode sa_system_view id \"00000000-0000-4000-8000-000000000712\" {\n diagram @sa_architecture; element @rescue_system;\n position { x 540; y 60; }; size { width 300; height 340; };\n}\nnode sa_transmission_view id \"00000000-0000-4000-8000-000000000713\" {\n diagram @sa_architecture; element @transmit_report;\n position { x 84; y 128; }; size { width 224; height 104; };\n}\nnode sa_assessment_view id \"00000000-0000-4000-8000-000000000714\" {\n diagram @sa_architecture; element @assess_report;\n position { x 564; y 128; }; size { width 252; height 104; };\n}\nnode sa_review_view id \"00000000-0000-4000-8000-000000000715\" {\n diagram @sa_architecture; element @review_response;\n position { x 564; y 272; }; size { width 252; height 104; };\n}\n\ndiagram sa_decomposition \"SA — functional containment\" id \"00000000-0000-4000-8000-000000000603\" {\n description \"These containers represent real function parents. Compare them with the explicit allocations in the architecture view.\";\n layer Sa; projection FunctionalDataflow;\n}\nnode handling_view id \"00000000-0000-4000-8000-000000000721\" {\n diagram @sa_decomposition; element @handle_reports;\n position { x 40; y 60; }; size { width 500; height 230; };\n}\nnode transmission_view id \"00000000-0000-4000-8000-000000000722\" {\n diagram @sa_decomposition; element @transmit_report;\n position { x 64; y 136; }; size { width 204; height 104; };\n}\nnode assessment_view id \"00000000-0000-4000-8000-000000000723\" {\n diagram @sa_decomposition; element @assess_report;\n position { x 310; y 136; }; size { width 204; height 104; };\n}\nnode assurance_view id \"00000000-0000-4000-8000-000000000724\" {\n diagram @sa_decomposition; element @assure_response;\n position { x 590; y 60; }; size { width 300; height 230; };\n}\nnode review_view id \"00000000-0000-4000-8000-000000000725\" {\n diagram @sa_decomposition; element @review_response;\n position { x 614; y 136; }; size { width 252; height 104; };\n}\n" + } +} diff --git a/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/navigation-palette-20260913-01/source-example-preparation.json b/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/navigation-palette-20260913-01/source-example-preparation.json new file mode 100644 index 00000000..3d9c3669 --- /dev/null +++ b/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/navigation-palette-20260913-01/source-example-preparation.json @@ -0,0 +1,68 @@ +{ + "scope": "Copies of actual admitted migration only; no native edits.", + "run": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\native-qa\\navigation-palette-20260913-01\\migrate-example-e124029-r2\\run.json", + "run_sha256": "851f140160ce389a4fa5363dd9f37dc65181bdbb66630d87388b700073b92256", + "migration": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\native-qa\\navigation-palette-20260913-01\\source-example-migration-r2", + "files": [ + { + "path": "source-baseline/oa.arcadia", + "bytes": 2364, + "sha256": "c04efaa1ae5a2053e63aac70f79ea7bb845ef1db1ff8e68f23abfe24f1bc180f" + }, + { + "path": "source-baseline/project.arcadia", + "bytes": 606, + "sha256": "260505b7f54a0d256bce2af8499bb46cc78ffe564628bd5f976ce358d1796f3a" + }, + { + "path": "source-baseline/sa/assurance.arcadia", + "bytes": 682, + "sha256": "ab76044836e4dcd42a82d316846ec87da2108939aa2037640c5bca1d2ecdee0f" + }, + { + "path": "source-baseline/sa/participants.arcadia", + "bytes": 1231, + "sha256": "1abad579812e77877b45a3d8e3c3e9da734be2d04a0254cc730a5257ebd2dc88" + }, + { + "path": "source-baseline/sa/reporting.arcadia", + "bytes": 3061, + "sha256": "893050516ce47f07039f04879474c7a019b8b2f7b6002a8d950b005334e34692" + }, + { + "path": "source-baseline/views.arcadia", + "bytes": 3508, + "sha256": "e29ad3f406a6a50d2f0ae2ca2a53ee3b0c18222cd4098704a46d4f48b64ea17f" + }, + { + "path": "source-work/oa.arcadia", + "bytes": 2364, + "sha256": "c04efaa1ae5a2053e63aac70f79ea7bb845ef1db1ff8e68f23abfe24f1bc180f" + }, + { + "path": "source-work/project.arcadia", + "bytes": 606, + "sha256": "260505b7f54a0d256bce2af8499bb46cc78ffe564628bd5f976ce358d1796f3a" + }, + { + "path": "source-work/sa/assurance.arcadia", + "bytes": 682, + "sha256": "ab76044836e4dcd42a82d316846ec87da2108939aa2037640c5bca1d2ecdee0f" + }, + { + "path": "source-work/sa/participants.arcadia", + "bytes": 1231, + "sha256": "1abad579812e77877b45a3d8e3c3e9da734be2d04a0254cc730a5257ebd2dc88" + }, + { + "path": "source-work/sa/reporting.arcadia", + "bytes": 3061, + "sha256": "893050516ce47f07039f04879474c7a019b8b2f7b6002a8d950b005334e34692" + }, + { + "path": "source-work/views.arcadia", + "bytes": 3508, + "sha256": "e29ad3f406a6a50d2f0ae2ca2a53ee3b0c18222cd4098704a46d4f48b64ea17f" + } + ] +} diff --git a/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/navigation-palette-20260913-01/source-rename-expected/expected/oa.arcadia b/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/navigation-palette-20260913-01/source-rename-expected/expected/oa.arcadia new file mode 100644 index 00000000..cc257d81 --- /dev/null +++ b/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/navigation-palette-20260913-01/source-rename-expected/expected/oa.arcadia @@ -0,0 +1,51 @@ +// Operational Analysis describes the need without choosing a technical solution. +oa_actor vessel "Vessel in distress" id "00000000-0000-4000-8000-000000000101" { + description "The vessel's crew needs to communicate its position and obtain assistance."; +} +oa_entity rescue_team "Rescue coordination" id "00000000-0000-4000-8000-000000000102" { + description "The coordination team assesses the report and decides on a response."; +} + +// This is work decomposition. It does not assign either activity to a participant. +oa_activity respond "Respond to distress" id "00000000-0000-4000-8000-000000000103" { + // Keep the crew's reporting responsibility visible when decomposing the need. + oa_activity report_distress "Report distress" id "00000000-0000-4000-8000-000000000104" { + description "Provide the vessel's situation and last known position."; + } + oa_activity assess_incident "Assess incident" id "00000000-0000-4000-8000-000000000105" { + description "Decide which assistance is needed using the received report."; + } +} + +oa_capability protect_life "Protect life at sea" id "00000000-0000-4000-8000-000000000106" {} +oa_exchange_item oa_report_data "Distress report" id "00000000-0000-4000-8000-000000000107" { + kind Information; + oa_data_field reported_latitude "Reported latitude" id "00000000-0000-4000-8000-000000000108" { + type_ref Real; + unit "degrees north"; + default none; + description ""; + direction Unspecified; + maximum 1; + minimum 1; + storage Value; + } + description ""; + mechanism Unspecified; + parent none; + supertype none; +} + +// Allocation remains explicit even though the saved architecture view nests work. +allocation crew_reports "Crew reports distress" id "00000000-0000-4000-8000-000000000201" { + source @vessel; target @report_distress; +} +allocation team_assesses "Team assesses incident" id "00000000-0000-4000-8000-000000000202" { + source @rescue_team; target @assess_incident; +} +interaction distress_signal "Distress signal" id "00000000-0000-4000-8000-000000000203" { + source @report_distress; target @assess_incident; items [@oa_report_data]; +} +capability_involvement operational_contribution "Assessment supports rescue" id "00000000-0000-4000-8000-000000000204" { + source @assess_incident; target @protect_life; +} diff --git a/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/navigation-palette-20260913-01/source-rename-expected/expected/project.arcadia b/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/navigation-palette-20260913-01/source-rename-expected/expected/project.arcadia new file mode 100644 index 00000000..caa10202 --- /dev/null +++ b/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/navigation-palette-20260913-01/source-rename-expected/expected/project.arcadia @@ -0,0 +1,11 @@ +arcadia 7; +project distress_response "Distress response — nested source project" id "00000000-0000-4000-8000-000000000001" { + description "A small OA/SA model for learning source ownership, typed ports and reviewed graphical edits. Open this file. Start with the saved allocation views, then browse Handle distress reports and use Source for selection."; + + // Includes organize documents; aliases are shared by the whole project. + include "oa.arcadia"; + include "sa/participants.arcadia"; + include "sa/reporting.arcadia"; + include "sa/assurance.arcadia"; + include "views.arcadia"; +} diff --git a/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/navigation-palette-20260913-01/source-rename-expected/expected/sa/assurance.arcadia b/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/navigation-palette-20260913-01/source-rename-expected/expected/sa/assurance.arcadia new file mode 100644 index 00000000..b9678cbe --- /dev/null +++ b/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/navigation-palette-20260913-01/source-rename-expected/expected/sa/assurance.arcadia @@ -0,0 +1,11 @@ +// A separate functional aggregate provides a cross-file reparenting example. +// Move Assess report here through Properties, then inspect both source files. +sa_function assure_response "Assure response quality" id "00000000-0000-4000-8000-000000000411" { + description "Review the service response independently of report transport."; + sa_function review_response "Review response" id "00000000-0000-4000-8000-000000000412" { + description "Check that a coordinator can review the received information."; + } +} +allocation system_reviews "System supports response review" id "00000000-0000-4000-8000-000000000504" { + source @rescue_system; target @review_response; +} diff --git a/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/navigation-palette-20260913-01/source-rename-expected/expected/sa/participants.arcadia b/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/navigation-palette-20260913-01/source-rename-expected/expected/sa/participants.arcadia new file mode 100644 index 00000000..cdd7f402 --- /dev/null +++ b/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/navigation-palette-20260913-01/source-rename-expected/expected/sa/participants.arcadia @@ -0,0 +1,22 @@ +// System Analysis identifies one system of interest and its external participant. +sa_system rescue_system "Rescue coordination system" id "00000000-0000-4000-8000-000000000301" { + description "The selected system receives reports and supports the coordinator."; + // A component port belongs to its participant, not to an allocated function. + sa_port reporting_input "Reporting input" id "00000000-0000-4000-8000-000000000303" { + contract { Component { kind Flow; orientation In; }; }; + } +} +sa_actor vessel_service "Vessel communication service" id "00000000-0000-4000-8000-000000000302" { + description "An external service sends distress information across the system boundary."; + sa_port reporting_output "Reporting output" id "00000000-0000-4000-8000-000000000304" { + contract { Component { kind Flow; orientation Out; }; }; + } +} + +// The boundary exchange connects actual participant ports. Function realization +// is declared separately in reporting.arcadia using port/exchange allocations. +boundary_exchange radio_reporting "Radio reporting" id "00000000-0000-4000-8000-000000000501" { + source @reporting_output; target @reporting_input; + oriented true; + items [@sa_report_data]; +} diff --git a/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/navigation-palette-20260913-01/source-rename-expected/expected/sa/reporting.arcadia b/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/navigation-palette-20260913-01/source-rename-expected/expected/sa/reporting.arcadia new file mode 100644 index 00000000..fd52ba73 --- /dev/null +++ b/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/navigation-palette-20260913-01/source-rename-expected/expected/sa/reporting.arcadia @@ -0,0 +1,62 @@ +// Functional containment is independent of the participant allocations below. +sa_function handle_reports "Handle distress reports" id "00000000-0000-4000-8000-000000000401" { + description "A functional decomposition of reporting and assessment."; + sa_function transmit_report "Transmit report" id "00000000-0000-4000-8000-000000000402" { + description "Encode and send the vessel's distress report."; + sa_port report_out "Report output" id "00000000-0000-4000-8000-000000000404" { + contract { FunctionOutput { outgoing_items [@sa_report_data]; }; }; + } + } + // Assessment rationale travels with this declaration when it is reparented. + sa_function assess_report_union "Assess report" id "00000000-0000-4000-8000-000000000403" { + description "Validate the received report and present it to the coordinator."; + sa_port report_in "Report input" id "00000000-0000-4000-8000-000000000405" { + contract { FunctionInput { incoming_items [@sa_report_data]; }; }; + } + } // Assessment remains performed by rescue_system after a hierarchy edit. +} + +// This group comment stays in this file; it is not attached to the function above. + +sa_exchange_item sa_report_data "Digital distress report" id "00000000-0000-4000-8000-000000000406" { + kind Information; + sa_data_field encoded_latitude "Encoded latitude" id "00000000-0000-4000-8000-000000000407" { + type_ref Real; + unit "degrees north"; + default none; + description ""; + direction Unspecified; + maximum 1; + minimum 1; + storage Value; + } + description ""; + mechanism Unspecified; + parent none; + supertype none; +} +sa_capability coordinate_response "Coordinate distress response" id "00000000-0000-4000-8000-000000000408" {} + +allocation vessel_transmits "Vessel service transmits" id "00000000-0000-4000-8000-000000000502" { + source @vessel_service; target @transmit_report; +} +allocation system_assesses "System assesses report" id "00000000-0000-4000-8000-000000000503" { + source @rescue_system; target @assess_report_union; +} +functional_exchange validated_report "Validated report" id "00000000-0000-4000-8000-000000000505" { + source @transmit_report; source_port @report_out; + target @assess_report_union; target_port @report_in; + items [@sa_report_data]; +} +port_allocation output_realization "Reporting output realizes function output" id "00000000-0000-4000-8000-000000000506" { + source @reporting_output; target @report_out; +} +port_allocation input_realization "Reporting input realizes function input" id "00000000-0000-4000-8000-000000000507" { + source @reporting_input; target @report_in; +} +exchange_allocation report_transport "Radio reporting carries the function exchange" id "00000000-0000-4000-8000-000000000508" { + source @radio_reporting; target @validated_report; +} +capability_involvement system_contribution "Assessment supports coordination" id "00000000-0000-4000-8000-000000000509" { + source @assess_report_union; target @coordinate_response; +} diff --git a/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/navigation-palette-20260913-01/source-rename-expected/expected/views.arcadia b/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/navigation-palette-20260913-01/source-rename-expected/expected/views.arcadia new file mode 100644 index 00000000..c7daeb59 --- /dev/null +++ b/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/navigation-palette-20260913-01/source-rename-expected/expected/views.arcadia @@ -0,0 +1,71 @@ +// Views are projections. Their visual allocation containers do not set parent. +diagram oa_architecture "OA — participants and activities" id "00000000-0000-4000-8000-000000000601" { + description "The crew reports; the coordination team assesses. Containment of work is shown separately in the Model explorer."; + layer Oa; projection Allocation; +} +node oa_vessel_view id "00000000-0000-4000-8000-000000000701" { + diagram @oa_architecture; element @vessel; + position { x 60; y 60; }; size { width 272; height 210; }; +} +node oa_team_view id "00000000-0000-4000-8000-000000000702" { + diagram @oa_architecture; element @rescue_team; + position { x 540; y 60; }; size { width 300; height 210; }; +} +node oa_report_view id "00000000-0000-4000-8000-000000000703" { + diagram @oa_architecture; element @report_distress; + position { x 84; y 128; }; size { width 224; height 104; }; +} +node oa_assessment_view id "00000000-0000-4000-8000-000000000704" { + diagram @oa_architecture; element @assess_incident; + position { x 564; y 128; }; size { width 252; height 104; }; +} + +diagram sa_architecture "SA — system boundary and functions" id "00000000-0000-4000-8000-000000000602" { + description "Flow component ports define the boundary; separate function ports carry the functional exchange."; + layer Sa; projection Allocation; +} +node sa_vessel_view id "00000000-0000-4000-8000-000000000711" { + diagram @sa_architecture; element @vessel_service; + position { x 60; y 60; }; size { width 272; height 220; }; +} +node sa_system_view id "00000000-0000-4000-8000-000000000712" { + diagram @sa_architecture; element @rescue_system; + position { x 540; y 60; }; size { width 300; height 340; }; +} +node sa_transmission_view id "00000000-0000-4000-8000-000000000713" { + diagram @sa_architecture; element @transmit_report; + position { x 84; y 128; }; size { width 224; height 104; }; +} +node sa_assessment_view id "00000000-0000-4000-8000-000000000714" { + diagram @sa_architecture; element @assess_report_union; + position { x 564; y 128; }; size { width 252; height 104; }; +} +node sa_review_view id "00000000-0000-4000-8000-000000000715" { + diagram @sa_architecture; element @review_response; + position { x 564; y 272; }; size { width 252; height 104; }; +} + +diagram sa_decomposition "SA — functional containment" id "00000000-0000-4000-8000-000000000603" { + description "These containers represent real function parents. Compare them with the explicit allocations in the architecture view."; + layer Sa; projection FunctionalDataflow; +} +node handling_view id "00000000-0000-4000-8000-000000000721" { + diagram @sa_decomposition; element @handle_reports; + position { x 40; y 60; }; size { width 500; height 230; }; +} +node transmission_view id "00000000-0000-4000-8000-000000000722" { + diagram @sa_decomposition; element @transmit_report; + position { x 64; y 136; }; size { width 204; height 104; }; +} +node assessment_view id "00000000-0000-4000-8000-000000000723" { + diagram @sa_decomposition; element @assess_report_union; + position { x 310; y 136; }; size { width 204; height 104; }; +} +node assurance_view id "00000000-0000-4000-8000-000000000724" { + diagram @sa_decomposition; element @assure_response; + position { x 590; y 60; }; size { width 300; height 230; }; +} +node review_view id "00000000-0000-4000-8000-000000000725" { + diagram @sa_decomposition; element @review_response; + position { x 614; y 136; }; size { width 252; height 104; }; +} diff --git a/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/navigation-palette-20260913-01/source-rename-expected/intent.json b/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/navigation-palette-20260913-01/source-rename-expected/intent.json new file mode 100644 index 00000000..eb2ace7c --- /dev/null +++ b/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/navigation-palette-20260913-01/source-rename-expected/intent.json @@ -0,0 +1,113 @@ +{ + "scope": "Independent six fixed byte-token edits only; no core parser/updater or GUI execution.", + "baseline": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\native-qa\\navigation-palette-20260913-01\\source-baseline", + "target_uuid": "00000000-0000-4000-8000-000000000403", + "inputs": [ + { + "path": "oa.arcadia", + "bytes": 2364, + "sha256": "c04efaa1ae5a2053e63aac70f79ea7bb845ef1db1ff8e68f23abfe24f1bc180f" + }, + { + "path": "project.arcadia", + "bytes": 606, + "sha256": "260505b7f54a0d256bce2af8499bb46cc78ffe564628bd5f976ce358d1796f3a" + }, + { + "path": "sa/assurance.arcadia", + "bytes": 682, + "sha256": "ab76044836e4dcd42a82d316846ec87da2108939aa2037640c5bca1d2ecdee0f" + }, + { + "path": "sa/participants.arcadia", + "bytes": 1231, + "sha256": "1abad579812e77877b45a3d8e3c3e9da734be2d04a0254cc730a5257ebd2dc88" + }, + { + "path": "sa/reporting.arcadia", + "bytes": 3061, + "sha256": "893050516ce47f07039f04879474c7a019b8b2f7b6002a8d950b005334e34692" + }, + { + "path": "views.arcadia", + "bytes": 3508, + "sha256": "e29ad3f406a6a50d2f0ae2ca2a53ee3b0c18222cd4098704a46d4f48b64ea17f" + } + ], + "edits": [ + { + "path": "sa/reporting.arcadia", + "start": 694, + "end": 707, + "old": "assess_report", + "new": "assess_report_union" + }, + { + "path": "sa/reporting.arcadia", + "start": 2097, + "end": 2110, + "old": "assess_report", + "new": "assess_report_union" + }, + { + "path": "sa/reporting.arcadia", + "start": 2280, + "end": 2293, + "old": "assess_report", + "new": "assess_report_union" + }, + { + "path": "sa/reporting.arcadia", + "start": 3015, + "end": 3028, + "old": "assess_report", + "new": "assess_report_union" + }, + { + "path": "views.arcadia", + "start": 2019, + "end": 2032, + "old": "assess_report", + "new": "assess_report_union" + }, + { + "path": "views.arcadia", + "start": 3054, + "end": 3067, + "old": "assess_report", + "new": "assess_report_union" + } + ], + "expected": [ + { + "path": "oa.arcadia", + "bytes": 2364, + "sha256": "c04efaa1ae5a2053e63aac70f79ea7bb845ef1db1ff8e68f23abfe24f1bc180f" + }, + { + "path": "project.arcadia", + "bytes": 606, + "sha256": "260505b7f54a0d256bce2af8499bb46cc78ffe564628bd5f976ce358d1796f3a" + }, + { + "path": "sa/assurance.arcadia", + "bytes": 682, + "sha256": "ab76044836e4dcd42a82d316846ec87da2108939aa2037640c5bca1d2ecdee0f" + }, + { + "path": "sa/participants.arcadia", + "bytes": 1231, + "sha256": "1abad579812e77877b45a3d8e3c3e9da734be2d04a0254cc730a5257ebd2dc88" + }, + { + "path": "sa/reporting.arcadia", + "bytes": 3085, + "sha256": "9ef920a3abe1cbd9537cc1b89a641a8c04af53eb2a3839aecc615917f5c129f0" + }, + { + "path": "views.arcadia", + "bytes": 3520, + "sha256": "51c3caafbf4e9279d9c472cff89a2d0422a52139b761f835dca98aea5571d14a" + } + ] +} diff --git a/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/navigation-palette-20260913-01/source-work/oa.arcadia b/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/navigation-palette-20260913-01/source-work/oa.arcadia new file mode 100644 index 00000000..cc257d81 --- /dev/null +++ b/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/navigation-palette-20260913-01/source-work/oa.arcadia @@ -0,0 +1,51 @@ +// Operational Analysis describes the need without choosing a technical solution. +oa_actor vessel "Vessel in distress" id "00000000-0000-4000-8000-000000000101" { + description "The vessel's crew needs to communicate its position and obtain assistance."; +} +oa_entity rescue_team "Rescue coordination" id "00000000-0000-4000-8000-000000000102" { + description "The coordination team assesses the report and decides on a response."; +} + +// This is work decomposition. It does not assign either activity to a participant. +oa_activity respond "Respond to distress" id "00000000-0000-4000-8000-000000000103" { + // Keep the crew's reporting responsibility visible when decomposing the need. + oa_activity report_distress "Report distress" id "00000000-0000-4000-8000-000000000104" { + description "Provide the vessel's situation and last known position."; + } + oa_activity assess_incident "Assess incident" id "00000000-0000-4000-8000-000000000105" { + description "Decide which assistance is needed using the received report."; + } +} + +oa_capability protect_life "Protect life at sea" id "00000000-0000-4000-8000-000000000106" {} +oa_exchange_item oa_report_data "Distress report" id "00000000-0000-4000-8000-000000000107" { + kind Information; + oa_data_field reported_latitude "Reported latitude" id "00000000-0000-4000-8000-000000000108" { + type_ref Real; + unit "degrees north"; + default none; + description ""; + direction Unspecified; + maximum 1; + minimum 1; + storage Value; + } + description ""; + mechanism Unspecified; + parent none; + supertype none; +} + +// Allocation remains explicit even though the saved architecture view nests work. +allocation crew_reports "Crew reports distress" id "00000000-0000-4000-8000-000000000201" { + source @vessel; target @report_distress; +} +allocation team_assesses "Team assesses incident" id "00000000-0000-4000-8000-000000000202" { + source @rescue_team; target @assess_incident; +} +interaction distress_signal "Distress signal" id "00000000-0000-4000-8000-000000000203" { + source @report_distress; target @assess_incident; items [@oa_report_data]; +} +capability_involvement operational_contribution "Assessment supports rescue" id "00000000-0000-4000-8000-000000000204" { + source @assess_incident; target @protect_life; +} diff --git a/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/navigation-palette-20260913-01/source-work/project.arcadia b/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/navigation-palette-20260913-01/source-work/project.arcadia new file mode 100644 index 00000000..caa10202 --- /dev/null +++ b/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/navigation-palette-20260913-01/source-work/project.arcadia @@ -0,0 +1,11 @@ +arcadia 7; +project distress_response "Distress response — nested source project" id "00000000-0000-4000-8000-000000000001" { + description "A small OA/SA model for learning source ownership, typed ports and reviewed graphical edits. Open this file. Start with the saved allocation views, then browse Handle distress reports and use Source for selection."; + + // Includes organize documents; aliases are shared by the whole project. + include "oa.arcadia"; + include "sa/participants.arcadia"; + include "sa/reporting.arcadia"; + include "sa/assurance.arcadia"; + include "views.arcadia"; +} diff --git a/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/navigation-palette-20260913-01/source-work/sa/assurance.arcadia b/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/navigation-palette-20260913-01/source-work/sa/assurance.arcadia new file mode 100644 index 00000000..b9678cbe --- /dev/null +++ b/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/navigation-palette-20260913-01/source-work/sa/assurance.arcadia @@ -0,0 +1,11 @@ +// A separate functional aggregate provides a cross-file reparenting example. +// Move Assess report here through Properties, then inspect both source files. +sa_function assure_response "Assure response quality" id "00000000-0000-4000-8000-000000000411" { + description "Review the service response independently of report transport."; + sa_function review_response "Review response" id "00000000-0000-4000-8000-000000000412" { + description "Check that a coordinator can review the received information."; + } +} +allocation system_reviews "System supports response review" id "00000000-0000-4000-8000-000000000504" { + source @rescue_system; target @review_response; +} diff --git a/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/navigation-palette-20260913-01/source-work/sa/participants.arcadia b/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/navigation-palette-20260913-01/source-work/sa/participants.arcadia new file mode 100644 index 00000000..cdd7f402 --- /dev/null +++ b/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/navigation-palette-20260913-01/source-work/sa/participants.arcadia @@ -0,0 +1,22 @@ +// System Analysis identifies one system of interest and its external participant. +sa_system rescue_system "Rescue coordination system" id "00000000-0000-4000-8000-000000000301" { + description "The selected system receives reports and supports the coordinator."; + // A component port belongs to its participant, not to an allocated function. + sa_port reporting_input "Reporting input" id "00000000-0000-4000-8000-000000000303" { + contract { Component { kind Flow; orientation In; }; }; + } +} +sa_actor vessel_service "Vessel communication service" id "00000000-0000-4000-8000-000000000302" { + description "An external service sends distress information across the system boundary."; + sa_port reporting_output "Reporting output" id "00000000-0000-4000-8000-000000000304" { + contract { Component { kind Flow; orientation Out; }; }; + } +} + +// The boundary exchange connects actual participant ports. Function realization +// is declared separately in reporting.arcadia using port/exchange allocations. +boundary_exchange radio_reporting "Radio reporting" id "00000000-0000-4000-8000-000000000501" { + source @reporting_output; target @reporting_input; + oriented true; + items [@sa_report_data]; +} diff --git a/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/navigation-palette-20260913-01/source-work/sa/reporting.arcadia b/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/navigation-palette-20260913-01/source-work/sa/reporting.arcadia new file mode 100644 index 00000000..a413d9ee --- /dev/null +++ b/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/navigation-palette-20260913-01/source-work/sa/reporting.arcadia @@ -0,0 +1,62 @@ +// Functional containment is independent of the participant allocations below. +sa_function handle_reports "Handle distress reports" id "00000000-0000-4000-8000-000000000401" { + description "A functional decomposition of reporting and assessment."; + sa_function transmit_report "Transmit report" id "00000000-0000-4000-8000-000000000402" { + description "Encode and send the vessel's distress report."; + sa_port report_out "Report output" id "00000000-0000-4000-8000-000000000404" { + contract { FunctionOutput { outgoing_items [@sa_report_data]; }; }; + } + } + // Assessment rationale travels with this declaration when it is reparented. + sa_function assess_report "Assess report" id "00000000-0000-4000-8000-000000000403" { + description "Validate the received report and present it to the coordinator."; + sa_port report_in "Report input" id "00000000-0000-4000-8000-000000000405" { + contract { FunctionInput { incoming_items [@sa_report_data]; }; }; + } + } // Assessment remains performed by rescue_system after a hierarchy edit. +} + +// This group comment stays in this file; it is not attached to the function above. + +sa_exchange_item sa_report_data "Digital distress report" id "00000000-0000-4000-8000-000000000406" { + kind Information; + sa_data_field encoded_latitude "Encoded latitude" id "00000000-0000-4000-8000-000000000407" { + type_ref Real; + unit "degrees north"; + default none; + description ""; + direction Unspecified; + maximum 1; + minimum 1; + storage Value; + } + description ""; + mechanism Unspecified; + parent none; + supertype none; +} +sa_capability coordinate_response "Coordinate distress response" id "00000000-0000-4000-8000-000000000408" {} + +allocation vessel_transmits "Vessel service transmits" id "00000000-0000-4000-8000-000000000502" { + source @vessel_service; target @transmit_report; +} +allocation system_assesses "System assesses report" id "00000000-0000-4000-8000-000000000503" { + source @rescue_system; target @assess_report; +} +functional_exchange validated_report "Validated report" id "00000000-0000-4000-8000-000000000505" { + source @transmit_report; source_port @report_out; + target @assess_report; target_port @report_in; + items [@sa_report_data]; +} +port_allocation output_realization "Reporting output realizes function output" id "00000000-0000-4000-8000-000000000506" { + source @reporting_output; target @report_out; +} +port_allocation input_realization "Reporting input realizes function input" id "00000000-0000-4000-8000-000000000507" { + source @reporting_input; target @report_in; +} +exchange_allocation report_transport "Radio reporting carries the function exchange" id "00000000-0000-4000-8000-000000000508" { + source @radio_reporting; target @validated_report; +} +capability_involvement system_contribution "Assessment supports coordination" id "00000000-0000-4000-8000-000000000509" { + source @assess_report; target @coordinate_response; +} diff --git a/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/navigation-palette-20260913-01/source-work/views.arcadia b/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/navigation-palette-20260913-01/source-work/views.arcadia new file mode 100644 index 00000000..62d9b5cb --- /dev/null +++ b/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/navigation-palette-20260913-01/source-work/views.arcadia @@ -0,0 +1,71 @@ +// Views are projections. Their visual allocation containers do not set parent. +diagram oa_architecture "OA — participants and activities" id "00000000-0000-4000-8000-000000000601" { + description "The crew reports; the coordination team assesses. Containment of work is shown separately in the Model explorer."; + layer Oa; projection Allocation; +} +node oa_vessel_view id "00000000-0000-4000-8000-000000000701" { + diagram @oa_architecture; element @vessel; + position { x 60; y 60; }; size { width 272; height 210; }; +} +node oa_team_view id "00000000-0000-4000-8000-000000000702" { + diagram @oa_architecture; element @rescue_team; + position { x 540; y 60; }; size { width 300; height 210; }; +} +node oa_report_view id "00000000-0000-4000-8000-000000000703" { + diagram @oa_architecture; element @report_distress; + position { x 84; y 128; }; size { width 224; height 104; }; +} +node oa_assessment_view id "00000000-0000-4000-8000-000000000704" { + diagram @oa_architecture; element @assess_incident; + position { x 564; y 128; }; size { width 252; height 104; }; +} + +diagram sa_architecture "SA — system boundary and functions" id "00000000-0000-4000-8000-000000000602" { + description "Flow component ports define the boundary; separate function ports carry the functional exchange."; + layer Sa; projection Allocation; +} +node sa_vessel_view id "00000000-0000-4000-8000-000000000711" { + diagram @sa_architecture; element @vessel_service; + position { x 60; y 60; }; size { width 272; height 220; }; +} +node sa_system_view id "00000000-0000-4000-8000-000000000712" { + diagram @sa_architecture; element @rescue_system; + position { x 540; y 60; }; size { width 300; height 340; }; +} +node sa_transmission_view id "00000000-0000-4000-8000-000000000713" { + diagram @sa_architecture; element @transmit_report; + position { x 84; y 128; }; size { width 224; height 104; }; +} +node sa_assessment_view id "00000000-0000-4000-8000-000000000714" { + diagram @sa_architecture; element @assess_report; + position { x 564; y 128; }; size { width 252; height 104; }; +} +node sa_review_view id "00000000-0000-4000-8000-000000000715" { + diagram @sa_architecture; element @review_response; + position { x 564; y 272; }; size { width 252; height 104; }; +} + +diagram sa_decomposition "SA — functional containment" id "00000000-0000-4000-8000-000000000603" { + description "These containers represent real function parents. Compare them with the explicit allocations in the architecture view."; + layer Sa; projection FunctionalDataflow; +} +node handling_view id "00000000-0000-4000-8000-000000000721" { + diagram @sa_decomposition; element @handle_reports; + position { x 40; y 60; }; size { width 500; height 230; }; +} +node transmission_view id "00000000-0000-4000-8000-000000000722" { + diagram @sa_decomposition; element @transmit_report; + position { x 64; y 136; }; size { width 204; height 104; }; +} +node assessment_view id "00000000-0000-4000-8000-000000000723" { + diagram @sa_decomposition; element @assess_report; + position { x 310; y 136; }; size { width 204; height 104; }; +} +node assurance_view id "00000000-0000-4000-8000-000000000724" { + diagram @sa_decomposition; element @assure_response; + position { x 590; y 60; }; size { width 300; height 230; }; +} +node review_view id "00000000-0000-4000-8000-000000000725" { + diagram @sa_decomposition; element @review_response; + position { x 614; y 136; }; size { width 252; height 104; }; +} diff --git a/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/navigation-palette-20260913-01/topology-baseline/project.arcadia b/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/navigation-palette-20260913-01/topology-baseline/project.arcadia new file mode 100644 index 00000000..8500c46d --- /dev/null +++ b/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/navigation-palette-20260913-01/topology-baseline/project.arcadia @@ -0,0 +1,477 @@ +arcadia 7; +project source7_native_contract "Reusable procedures and operation identity" id "52060906-0000-4000-8000-000000000001" { + include "rationale.arcadia"; + description ""; + + sa_function sa_work_a "A · Begin assessment" id "071edc32-5c27-5c1d-91ff-337c80b462d5" { + description ""; + parent none; + } + + oa_occurrence oa_x "X · Check authorization" id "08ff2083-dac1-5f4b-ad6a-7cc81d7be29d" { + body { + Action { + action @oa_work_x; + lifeline none; + }; + }; + description ""; + parent @oa_caller; + postcondition ""; + precondition ""; + } + + sa_occurrence sa_a "A · Begin assessment" id "14d1133a-697d-5b54-b624-eed0fb04a354" { + body { + Action { + action @sa_work_a; + lifeline none; + }; + }; + description ""; + parent @sa_procedure; + postcondition ""; + precondition ""; + } + + sa_occurrence sa_c "C · Finish assessment" id "1a215aed-f0b1-521d-b52f-0c1cfbbf1c36" { + body { + Action { + action @sa_work_c; + lifeline none; + }; + }; + description ""; + parent @sa_procedure; + postcondition ""; + precondition ""; + } + + oa_occurrence oa_r2 "Second assessment" id "1e27be58-3e3e-5869-ad30-e94a28ea2a2e" { + body { + SequenceReference { + sequence @oa_procedure; + }; + }; + description ""; + parent @oa_caller; + postcondition ""; + precondition ""; + } + + oa_process oa_caller "Caller with three assessments" id "2100ac23-79ee-54e1-b3cf-69f3d4f3b30a" { + description ""; + parent none; + steps [@oa_x, @oa_r1, @oa_r2, @oa_r3]; + } + + oa_activity oa_work_a "A · Begin assessment" id "25fdfe13-c45d-5822-830a-192ff13f660d" { + description ""; + parent none; + } + + oa_process oa_nested_definition "Nested assessment wrapper" id "273d8df8-83c8-5d75-99d1-59a7c9fdb705" { + description ""; + parent none; + steps [@oa_inner]; + } + + sa_function sa_work_b "B · Review assessment" id "3360ccb1-68ac-51cd-8d9a-8893000c80ef" { + description ""; + parent none; + } + + oa_activity oa_work_c "C · Finish assessment" id "47335738-0876-5f90-b25e-1636c7448e93" { + description ""; + parent none; + } + + sa_occurrence sa_r3 "Nested assessment" id "4a65dad8-e2a1-51dc-87a0-02ea4ab69384" { + body { + SequenceReference { + sequence @sa_nested_definition; + }; + }; + description ""; + parent @sa_caller; + postcondition ""; + precondition ""; + } + + sa_actor operation_probe_10 "Operator console" id "52060906-0000-4000-8000-00000000000a" { + description ""; + parent none; + } + + sa_system operation_probe_11 "Valve service" id "52060906-0000-4000-8000-00000000000b" { + description ""; + parent none; + } + + sa_port operation_probe_12 "Service socket" id "52060906-0000-4000-8000-00000000000c" { + contract { + Component { + kind Standard; + orientation Unset; + }; + }; + description ""; + legacy none; + parent @operation_probe_10; + } + + sa_port operation_probe_13 "Service socket" id "52060906-0000-4000-8000-00000000000d" { + contract { + Component { + kind Standard; + orientation Unset; + }; + }; + description ""; + legacy none; + parent @operation_probe_11; + } + + sa_exchange_item operation_probe_20 "Reset" id "52060906-0000-4000-8000-000000000014" { + description ""; + kind Information; + mechanism Operation; + parent none; + supertype none; + } + + sa_exchange_item operation_probe_21 "ReadStatus" id "52060906-0000-4000-8000-000000000015" { + description ""; + kind Information; + mechanism Operation; + parent none; + supertype none; + } + + sa_interface operation_probe_22 "Valve commands" id "52060906-0000-4000-8000-000000000016" { + description ""; + parent none; + supertype none; + } + + sa_scenario operation_probe_40 "Reset then read status" id "52060906-0000-4000-8000-000000000028" { + context none; + description ""; + parent none; + postcondition ""; + precondition ""; + steps [@operation_probe_43, @operation_probe_44, @reset_reply]; + viewpoint BoundaryInterface; + } + + sa_lifeline operation_probe_41 "Service participant" id "52060906-0000-4000-8000-000000000029" { + description ""; + parent @operation_probe_40; + represented @operation_probe_10; + } + + sa_lifeline operation_probe_42 "Service participant" id "52060906-0000-4000-8000-00000000002a" { + description ""; + parent @operation_probe_40; + represented @operation_probe_11; + } + + sa_occurrence operation_probe_43 "Call Reset" id "52060906-0000-4000-8000-00000000002b" { + body { + Exchange { + exchange @operation_probe_34; + message_kind Call; + receiver @operation_probe_42; + reply_to none; + sender @operation_probe_41; + values []; + }; + }; + description ""; + parent @operation_probe_40; + postcondition ""; + precondition ""; + } + + sa_occurrence operation_probe_44 "Call ReadStatus" id "52060906-0000-4000-8000-00000000002c" { + body { + Exchange { + exchange @operation_probe_34; + message_kind Call; + receiver @operation_probe_42; + reply_to none; + sender @operation_probe_41; + values []; + }; + }; + description ""; + parent @operation_probe_40; + postcondition ""; + precondition ""; + } + + sa_occurrence sa_x "X · Check authorization" id "53ad2109-ba9d-5859-b258-64cdaab5c4a8" { + body { + Action { + action @sa_work_x; + lifeline none; + }; + }; + description ""; + parent @sa_caller; + postcondition ""; + precondition ""; + } + + sa_occurrence sa_r1 "First assessment" id "62cfdab1-a18b-5b06-8ee7-cd0b320e4024" { + body { + SequenceReference { + sequence @sa_procedure; + }; + }; + description ""; + parent @sa_caller; + postcondition ""; + precondition ""; + } + + sa_function sa_work_c "C · Finish assessment" id "6575bce8-4185-519b-a004-d96650da63dc" { + description ""; + parent none; + } + + sa_functional_chain sa_nested_definition "Nested assessment wrapper" id "7932ab3a-6b60-5059-a3a0-fca3a2f9a197" { + description ""; + parent none; + steps [@sa_inner]; + } + + sa_function sa_work_x "X · Check authorization" id "8c3d9b89-aa12-5218-9de9-12b8b5d4e4b3" { + description ""; + parent none; + } + + sa_occurrence sa_r2 "Second assessment" id "999b5e15-903f-5ca1-bc11-e51fadf80762" { + body { + SequenceReference { + sequence @sa_procedure; + }; + }; + description ""; + parent @sa_caller; + postcondition ""; + precondition ""; + } + + oa_activity oa_work_b "B · Review assessment" id "a39639dc-0ece-5b71-981d-c9523fed4914" { + description ""; + parent none; + } + + sa_occurrence reset_reply "Correlated reset reply" id "aa8b674f-012f-583f-8dc7-a76407d1f8a7" { + body { + Exchange { + exchange @operation_probe_34; + message_kind Reply; + receiver @operation_probe_41; + reply_to @operation_probe_43; + sender @operation_probe_42; + values []; + }; + }; + description ""; + parent @operation_probe_40; + postcondition ""; + precondition ""; + } + + oa_process oa_procedure "Reusable assessment A to C" id "af139b27-7e42-5729-9e49-53b2ac62c9e7" { + description ""; + parent none; + steps [@oa_a, @oa_b, @oa_c]; + } + + sa_occurrence sa_b "B · Review assessment" id "bf9ba00e-2aaa-5f04-9ba1-2c242d07b938" { + body { + Action { + action @sa_work_b; + lifeline none; + }; + }; + description ""; + parent @sa_procedure; + postcondition ""; + precondition ""; + } + + sa_functional_chain sa_procedure "Reusable assessment A to C" id "c1d4eda2-fac7-5621-a7ac-25f985911bf5" { + description ""; + parent none; + steps [@sa_a, @sa_b, @sa_c]; + } + + oa_occurrence oa_c "C · Finish assessment" id "c40c2011-4497-52f0-9e0e-10323b3150a8" { + body { + Action { + action @oa_work_c; + lifeline none; + }; + }; + description ""; + parent @oa_procedure; + postcondition ""; + precondition ""; + } + + oa_occurrence oa_r1 "First assessment" id "d48951ad-c6db-5eae-923a-edccab97155e" { + body { + SequenceReference { + sequence @oa_procedure; + }; + }; + description ""; + parent @oa_caller; + postcondition ""; + precondition ""; + } + + sa_functional_chain sa_caller "Caller with three assessments" id "d4911fd0-52ed-535c-9f87-170e8f5731d2" { + description ""; + parent none; + steps [@sa_x, @sa_r1, @sa_r2, @sa_r3]; + } + + oa_occurrence oa_a "A · Begin assessment" id "dc17769b-7e1e-5f15-99bb-0caf98bcb006" { + body { + Action { + action @oa_work_a; + lifeline none; + }; + }; + description ""; + parent @oa_procedure; + postcondition ""; + precondition ""; + } + + oa_occurrence oa_inner "Inner assessment" id "e16033cd-3184-56ef-b462-5559ad212c84" { + body { + SequenceReference { + sequence @oa_procedure; + }; + }; + description ""; + parent @oa_nested_definition; + postcondition ""; + precondition ""; + } + + sa_occurrence sa_inner "Inner assessment" id "e21febd2-30ec-5e9d-aa4c-3c54c95c2c9f" { + body { + SequenceReference { + sequence @sa_procedure; + }; + }; + description ""; + parent @sa_nested_definition; + postcondition ""; + precondition ""; + } + + oa_activity oa_work_x "X · Check authorization" id "e78d841a-a37e-5106-8356-b1e3ce6d2501" { + description ""; + parent none; + } + + oa_occurrence oa_b "B · Review assessment" id "ef2a06af-6013-5f0b-a56d-db705f0685ce" { + body { + Action { + action @oa_work_b; + lifeline none; + }; + }; + description ""; + parent @oa_procedure; + postcondition ""; + precondition ""; + } + + oa_occurrence oa_r3 "Nested assessment" id "fc986c5c-eae7-5363-bcd5-b832d565a89a" { + body { + SequenceReference { + sequence @oa_nested_definition; + }; + }; + description ""; + parent @oa_caller; + postcondition ""; + precondition ""; + } + + sequence_link oa_a_then_b "a then b" id "0fc11ada-23a6-5f39-9891-e7f363a1edfb" { + description ""; + guard ""; + source @oa_a; + target @oa_b; + } + + sequence_link oa_b_then_c "b then c" id "169f558e-a466-5fcc-b0d7-53e481952714" { + description ""; + guard ""; + source @oa_b; + target @oa_c; + } + + interface_item_allocation operation_probe_30 "InterfaceItemAllocation 30" id "52060906-0000-4000-8000-00000000001e" { + acquisition Unspecified; + description ""; + order 0; + source @operation_probe_22; + target @operation_probe_20; + transmission Synchronous; + } + + interface_item_allocation operation_probe_31 "InterfaceItemAllocation 31" id "52060906-0000-4000-8000-00000000001f" { + acquisition Unspecified; + description ""; + order 0; + source @operation_probe_22; + target @operation_probe_21; + transmission Synchronous; + } + + interface_requirement operation_probe_32 "InterfaceRequirement 32" id "52060906-0000-4000-8000-000000000020" { + description ""; + source @operation_probe_12; + target @operation_probe_22; + } + + interface_provision operation_probe_33 "InterfaceProvision 33" id "52060906-0000-4000-8000-000000000021" { + description ""; + source @operation_probe_13; + target @operation_probe_22; + } + + boundary_exchange operation_probe_34 "BoundaryExchange 34" id "52060906-0000-4000-8000-000000000022" { + description ""; + items [@operation_probe_20, @operation_probe_21]; + oriented false; + source @operation_probe_12; + target @operation_probe_13; + } + + sequence_link sa_a_then_b "a then b" id "661511e2-3604-5faf-9deb-f741925615bb" { + description ""; + guard ""; + source @sa_a; + target @sa_b; + } + + sequence_link sa_b_then_c "b then c" id "aedc3e72-fd4b-5dcd-b9c1-ced7aee3e0d1" { + description ""; + guard ""; + source @sa_b; + target @sa_c; + } + +} diff --git a/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/navigation-palette-20260913-01/topology-baseline/rationale.arcadia b/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/navigation-palette-20260913-01/topology-baseline/rationale.arcadia new file mode 100644 index 00000000..8945eece --- /dev/null +++ b/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/navigation-palette-20260913-01/topology-baseline/rationale.arcadia @@ -0,0 +1 @@ +// Native oracle: retain this authored 雨 note and CRLF. diff --git a/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/navigation-palette-20260913-01/topology-work/project.arcadia b/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/navigation-palette-20260913-01/topology-work/project.arcadia new file mode 100644 index 00000000..8500c46d --- /dev/null +++ b/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/navigation-palette-20260913-01/topology-work/project.arcadia @@ -0,0 +1,477 @@ +arcadia 7; +project source7_native_contract "Reusable procedures and operation identity" id "52060906-0000-4000-8000-000000000001" { + include "rationale.arcadia"; + description ""; + + sa_function sa_work_a "A · Begin assessment" id "071edc32-5c27-5c1d-91ff-337c80b462d5" { + description ""; + parent none; + } + + oa_occurrence oa_x "X · Check authorization" id "08ff2083-dac1-5f4b-ad6a-7cc81d7be29d" { + body { + Action { + action @oa_work_x; + lifeline none; + }; + }; + description ""; + parent @oa_caller; + postcondition ""; + precondition ""; + } + + sa_occurrence sa_a "A · Begin assessment" id "14d1133a-697d-5b54-b624-eed0fb04a354" { + body { + Action { + action @sa_work_a; + lifeline none; + }; + }; + description ""; + parent @sa_procedure; + postcondition ""; + precondition ""; + } + + sa_occurrence sa_c "C · Finish assessment" id "1a215aed-f0b1-521d-b52f-0c1cfbbf1c36" { + body { + Action { + action @sa_work_c; + lifeline none; + }; + }; + description ""; + parent @sa_procedure; + postcondition ""; + precondition ""; + } + + oa_occurrence oa_r2 "Second assessment" id "1e27be58-3e3e-5869-ad30-e94a28ea2a2e" { + body { + SequenceReference { + sequence @oa_procedure; + }; + }; + description ""; + parent @oa_caller; + postcondition ""; + precondition ""; + } + + oa_process oa_caller "Caller with three assessments" id "2100ac23-79ee-54e1-b3cf-69f3d4f3b30a" { + description ""; + parent none; + steps [@oa_x, @oa_r1, @oa_r2, @oa_r3]; + } + + oa_activity oa_work_a "A · Begin assessment" id "25fdfe13-c45d-5822-830a-192ff13f660d" { + description ""; + parent none; + } + + oa_process oa_nested_definition "Nested assessment wrapper" id "273d8df8-83c8-5d75-99d1-59a7c9fdb705" { + description ""; + parent none; + steps [@oa_inner]; + } + + sa_function sa_work_b "B · Review assessment" id "3360ccb1-68ac-51cd-8d9a-8893000c80ef" { + description ""; + parent none; + } + + oa_activity oa_work_c "C · Finish assessment" id "47335738-0876-5f90-b25e-1636c7448e93" { + description ""; + parent none; + } + + sa_occurrence sa_r3 "Nested assessment" id "4a65dad8-e2a1-51dc-87a0-02ea4ab69384" { + body { + SequenceReference { + sequence @sa_nested_definition; + }; + }; + description ""; + parent @sa_caller; + postcondition ""; + precondition ""; + } + + sa_actor operation_probe_10 "Operator console" id "52060906-0000-4000-8000-00000000000a" { + description ""; + parent none; + } + + sa_system operation_probe_11 "Valve service" id "52060906-0000-4000-8000-00000000000b" { + description ""; + parent none; + } + + sa_port operation_probe_12 "Service socket" id "52060906-0000-4000-8000-00000000000c" { + contract { + Component { + kind Standard; + orientation Unset; + }; + }; + description ""; + legacy none; + parent @operation_probe_10; + } + + sa_port operation_probe_13 "Service socket" id "52060906-0000-4000-8000-00000000000d" { + contract { + Component { + kind Standard; + orientation Unset; + }; + }; + description ""; + legacy none; + parent @operation_probe_11; + } + + sa_exchange_item operation_probe_20 "Reset" id "52060906-0000-4000-8000-000000000014" { + description ""; + kind Information; + mechanism Operation; + parent none; + supertype none; + } + + sa_exchange_item operation_probe_21 "ReadStatus" id "52060906-0000-4000-8000-000000000015" { + description ""; + kind Information; + mechanism Operation; + parent none; + supertype none; + } + + sa_interface operation_probe_22 "Valve commands" id "52060906-0000-4000-8000-000000000016" { + description ""; + parent none; + supertype none; + } + + sa_scenario operation_probe_40 "Reset then read status" id "52060906-0000-4000-8000-000000000028" { + context none; + description ""; + parent none; + postcondition ""; + precondition ""; + steps [@operation_probe_43, @operation_probe_44, @reset_reply]; + viewpoint BoundaryInterface; + } + + sa_lifeline operation_probe_41 "Service participant" id "52060906-0000-4000-8000-000000000029" { + description ""; + parent @operation_probe_40; + represented @operation_probe_10; + } + + sa_lifeline operation_probe_42 "Service participant" id "52060906-0000-4000-8000-00000000002a" { + description ""; + parent @operation_probe_40; + represented @operation_probe_11; + } + + sa_occurrence operation_probe_43 "Call Reset" id "52060906-0000-4000-8000-00000000002b" { + body { + Exchange { + exchange @operation_probe_34; + message_kind Call; + receiver @operation_probe_42; + reply_to none; + sender @operation_probe_41; + values []; + }; + }; + description ""; + parent @operation_probe_40; + postcondition ""; + precondition ""; + } + + sa_occurrence operation_probe_44 "Call ReadStatus" id "52060906-0000-4000-8000-00000000002c" { + body { + Exchange { + exchange @operation_probe_34; + message_kind Call; + receiver @operation_probe_42; + reply_to none; + sender @operation_probe_41; + values []; + }; + }; + description ""; + parent @operation_probe_40; + postcondition ""; + precondition ""; + } + + sa_occurrence sa_x "X · Check authorization" id "53ad2109-ba9d-5859-b258-64cdaab5c4a8" { + body { + Action { + action @sa_work_x; + lifeline none; + }; + }; + description ""; + parent @sa_caller; + postcondition ""; + precondition ""; + } + + sa_occurrence sa_r1 "First assessment" id "62cfdab1-a18b-5b06-8ee7-cd0b320e4024" { + body { + SequenceReference { + sequence @sa_procedure; + }; + }; + description ""; + parent @sa_caller; + postcondition ""; + precondition ""; + } + + sa_function sa_work_c "C · Finish assessment" id "6575bce8-4185-519b-a004-d96650da63dc" { + description ""; + parent none; + } + + sa_functional_chain sa_nested_definition "Nested assessment wrapper" id "7932ab3a-6b60-5059-a3a0-fca3a2f9a197" { + description ""; + parent none; + steps [@sa_inner]; + } + + sa_function sa_work_x "X · Check authorization" id "8c3d9b89-aa12-5218-9de9-12b8b5d4e4b3" { + description ""; + parent none; + } + + sa_occurrence sa_r2 "Second assessment" id "999b5e15-903f-5ca1-bc11-e51fadf80762" { + body { + SequenceReference { + sequence @sa_procedure; + }; + }; + description ""; + parent @sa_caller; + postcondition ""; + precondition ""; + } + + oa_activity oa_work_b "B · Review assessment" id "a39639dc-0ece-5b71-981d-c9523fed4914" { + description ""; + parent none; + } + + sa_occurrence reset_reply "Correlated reset reply" id "aa8b674f-012f-583f-8dc7-a76407d1f8a7" { + body { + Exchange { + exchange @operation_probe_34; + message_kind Reply; + receiver @operation_probe_41; + reply_to @operation_probe_43; + sender @operation_probe_42; + values []; + }; + }; + description ""; + parent @operation_probe_40; + postcondition ""; + precondition ""; + } + + oa_process oa_procedure "Reusable assessment A to C" id "af139b27-7e42-5729-9e49-53b2ac62c9e7" { + description ""; + parent none; + steps [@oa_a, @oa_b, @oa_c]; + } + + sa_occurrence sa_b "B · Review assessment" id "bf9ba00e-2aaa-5f04-9ba1-2c242d07b938" { + body { + Action { + action @sa_work_b; + lifeline none; + }; + }; + description ""; + parent @sa_procedure; + postcondition ""; + precondition ""; + } + + sa_functional_chain sa_procedure "Reusable assessment A to C" id "c1d4eda2-fac7-5621-a7ac-25f985911bf5" { + description ""; + parent none; + steps [@sa_a, @sa_b, @sa_c]; + } + + oa_occurrence oa_c "C · Finish assessment" id "c40c2011-4497-52f0-9e0e-10323b3150a8" { + body { + Action { + action @oa_work_c; + lifeline none; + }; + }; + description ""; + parent @oa_procedure; + postcondition ""; + precondition ""; + } + + oa_occurrence oa_r1 "First assessment" id "d48951ad-c6db-5eae-923a-edccab97155e" { + body { + SequenceReference { + sequence @oa_procedure; + }; + }; + description ""; + parent @oa_caller; + postcondition ""; + precondition ""; + } + + sa_functional_chain sa_caller "Caller with three assessments" id "d4911fd0-52ed-535c-9f87-170e8f5731d2" { + description ""; + parent none; + steps [@sa_x, @sa_r1, @sa_r2, @sa_r3]; + } + + oa_occurrence oa_a "A · Begin assessment" id "dc17769b-7e1e-5f15-99bb-0caf98bcb006" { + body { + Action { + action @oa_work_a; + lifeline none; + }; + }; + description ""; + parent @oa_procedure; + postcondition ""; + precondition ""; + } + + oa_occurrence oa_inner "Inner assessment" id "e16033cd-3184-56ef-b462-5559ad212c84" { + body { + SequenceReference { + sequence @oa_procedure; + }; + }; + description ""; + parent @oa_nested_definition; + postcondition ""; + precondition ""; + } + + sa_occurrence sa_inner "Inner assessment" id "e21febd2-30ec-5e9d-aa4c-3c54c95c2c9f" { + body { + SequenceReference { + sequence @sa_procedure; + }; + }; + description ""; + parent @sa_nested_definition; + postcondition ""; + precondition ""; + } + + oa_activity oa_work_x "X · Check authorization" id "e78d841a-a37e-5106-8356-b1e3ce6d2501" { + description ""; + parent none; + } + + oa_occurrence oa_b "B · Review assessment" id "ef2a06af-6013-5f0b-a56d-db705f0685ce" { + body { + Action { + action @oa_work_b; + lifeline none; + }; + }; + description ""; + parent @oa_procedure; + postcondition ""; + precondition ""; + } + + oa_occurrence oa_r3 "Nested assessment" id "fc986c5c-eae7-5363-bcd5-b832d565a89a" { + body { + SequenceReference { + sequence @oa_nested_definition; + }; + }; + description ""; + parent @oa_caller; + postcondition ""; + precondition ""; + } + + sequence_link oa_a_then_b "a then b" id "0fc11ada-23a6-5f39-9891-e7f363a1edfb" { + description ""; + guard ""; + source @oa_a; + target @oa_b; + } + + sequence_link oa_b_then_c "b then c" id "169f558e-a466-5fcc-b0d7-53e481952714" { + description ""; + guard ""; + source @oa_b; + target @oa_c; + } + + interface_item_allocation operation_probe_30 "InterfaceItemAllocation 30" id "52060906-0000-4000-8000-00000000001e" { + acquisition Unspecified; + description ""; + order 0; + source @operation_probe_22; + target @operation_probe_20; + transmission Synchronous; + } + + interface_item_allocation operation_probe_31 "InterfaceItemAllocation 31" id "52060906-0000-4000-8000-00000000001f" { + acquisition Unspecified; + description ""; + order 0; + source @operation_probe_22; + target @operation_probe_21; + transmission Synchronous; + } + + interface_requirement operation_probe_32 "InterfaceRequirement 32" id "52060906-0000-4000-8000-000000000020" { + description ""; + source @operation_probe_12; + target @operation_probe_22; + } + + interface_provision operation_probe_33 "InterfaceProvision 33" id "52060906-0000-4000-8000-000000000021" { + description ""; + source @operation_probe_13; + target @operation_probe_22; + } + + boundary_exchange operation_probe_34 "BoundaryExchange 34" id "52060906-0000-4000-8000-000000000022" { + description ""; + items [@operation_probe_20, @operation_probe_21]; + oriented false; + source @operation_probe_12; + target @operation_probe_13; + } + + sequence_link sa_a_then_b "a then b" id "661511e2-3604-5faf-9deb-f741925615bb" { + description ""; + guard ""; + source @sa_a; + target @sa_b; + } + + sequence_link sa_b_then_c "b then c" id "aedc3e72-fd4b-5dcd-b9c1-ced7aee3e0d1" { + description ""; + guard ""; + source @sa_b; + target @sa_c; + } + +} diff --git a/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/navigation-palette-20260913-01/topology-work/rationale.arcadia b/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/navigation-palette-20260913-01/topology-work/rationale.arcadia new file mode 100644 index 00000000..8945eece --- /dev/null +++ b/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/native-qa/navigation-palette-20260913-01/topology-work/rationale.arcadia @@ -0,0 +1 @@ +// Native oracle: retain this authored 雨 note and CRLF. diff --git a/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/navigation-palette-migrate-fixture-correction-review-20260913.md b/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/navigation-palette-migrate-fixture-correction-review-20260913.md new file mode 100644 index 00000000..8e71185a --- /dev/null +++ b/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/navigation-palette-migrate-fixture-correction-review-20260913.md @@ -0,0 +1,17 @@ +# Bounded migration preparer correction — source only + +Root remains e1240295bd114d23d3f67a69e6b38bdb2e25bb0d; no core production change. Original helper SHA256 `40b036d5bd56a8266209bf7dfb21e3469a428d87bd788c82a584bbd549514fc2` is preserved verbatim in [before copy](navigation-palette-migrate-fixture.before-empty-description-fix-20260913.rs). Revised [helper](navigation-palette-migrate-fixture.rs) SHA256 `388f857e6940e231b8c7a26ec24842dbe03136b6cdaa7b16333dc573236f5567`, 19714 bytes. Parent review is required before the parent's next compile/run lease; this revision is not compiled or executed. Standalone rustfmt edition2024 completed only. + +The actual original [run receipt](native-qa/navigation-palette-20260913-01/migrate-example-e124029/run.json) records exit101 with unchanged inputs. Its [stderr](native-qa/navigation-palette-20260913-01/migrate-example-e124029/stderr.log) shows that the oa.arcadia comment/string sequence retained every original token but gained two empty string tokens after `degrees north`. The helper failed at its lexical equality assertion after whole-Project equality and declared migration-report checks had passed. It had not retained the migrated candidate, and did not reach the SA lexical check. This is an evaluator assumption failure, not evidence that a model field changed. + +Primary code explains the additions: `crates/oa-core/src/language.rs:1705` maps omitted element description to empty; `language.rs:676` emits description for every canonical element declaration. `source_project/source_migration.rs:14` builds those declarations, selects the four body-default owner IDs at lines15–20, and compares/updates their full records at lines61–75. `source_project.rs:1315` onward inserts absent canonical fields. Therefore each of the two exchange items (107,406) and two nested data fields (108,407) receives an explicit empty description along with its body defaults. The native stderr directly witnesses two OA empty tokens; the exact four owner/field qualification is a source-grounded expectation that the next actual run must verify. + +The revised evaluator allows only `(oa.arcadia, UUID107, description)`, `(oa.arcadia, UUID108, description)`, `(sa/reporting.arcadia, UUID406, description)`, and `(sa/reporting.arcadia, UUID407, description)`, with the full UUID prefix `00000000-0000-4000-8000-`. It requires each description to be absent from the independently authored reference source index, empty in both full Projects, and explicitly present after migration in that same owner's indexed body and expected file. Each qualified value span must be exactly one String token with exact bytes `""`. No general empty-string filtering exists. + +For each of all six files, the complete original comment/string token sequence must equal the migrated sequence with only those four exact spans removed. Extra/changed/deleted original strings, UUID spelling, comments, arbitrary additional empty values, and wrong-owner/field qualifications still fail. Runtime negative checks append an unqualified empty literal and separately omit an original string/comment while preserving all offsets; the same comparison must reject them. These checks are newly written and UNRUN. The full independently authored Project equality, flattened legacy comparison, public migration report, changed-file restrictions, schema-only entry edit, all alias counts, exact current re-admission, disk readback, and original-file preservation checks remain intact. + +Immediately after the public migrator returns, before independent acceptance assertions, the helper now writes `candidate-source-bundle.json`, `candidate-project.json`, `candidate-migration-report.json`, and the six verbatim candidate source files. They are explicitly pending candidate evidence; admitted `baseline/` and final PASS receipt remain conditional on all checks. A passing run additionally records the exact four qualified owner/field additions. + +All 16 existing failure receipt/log/input-manifest and partial-output files were retained in place without modification and reverified against [preservation manifest](migration-empty-description-failure-preservation-20260913.json). The original failed output directory must not be reused; both the build helper and migration CLI require new output directories. + +Next: parent source review, compile this exact new helper against the admitted e124 dependency fingerprints with all six included fixture files bound, then execute into a fresh output directory. Review the four concrete description spans and exact whole-Project/current SourceBundle receipts before using that baseline in native navigation acceptance. No full migration or native acceptance claim follows from this source correction. diff --git a/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/navigation-palette-migrate-fixture-handoff-20260913.md b/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/navigation-palette-migrate-fixture-handoff-20260913.md new file mode 100644 index 00000000..514ae8af --- /dev/null +++ b/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/navigation-palette-migrate-fixture-handoff-20260913.md @@ -0,0 +1,45 @@ +# Separate native fixture migration preparation + +Source-only helper `.local/navigation-palette-migrate-fixture.rs` (14,644 bytes, SHA256 `40b036d5bd56a8266209bf7dfb21e3469a428d87bd788c82a584bbd549514fc2`) is deliberately separate from the independently reviewed/frozen native oracle `fc3ec08dbea3adf69026acb37b41c3d1afe2705094caa96a826687c4e781ac7d`. The oracle remains byte-identical. No compiler, core parser, migration, native application or self-check ran during this preparation. The helper was formatted with installed rustfmt, edition2024; that does not establish type correctness or passing migration assertions. + +The helper admits only the exact original six-file `examples/source-project` fixture, with entry schema3, to produce a separate current-schema7 baseline. Immutable compile-time copies are under `.local/navigation-palette-migrate-fixture-inputs/`; their `manifest.json` SHA256 is `86f40e86495f79d51c0c9bcdc9f934a4f76436fc4af72171a2c68f2fe0e6e81e`. Every copied payload was compared byte-for-byte with the original; the manifest records source e1240295bd114d23d3f67a69e6b38bdb2e25bb0d, source paths, sizes and SHA256s. These six `include_str!` files are additional compiler inputs and must be stamped with the helper and actual core artifacts. A relocated helper needs this sibling input directory unchanged. + +## Method and intended changes + +The CLI is `migrate LEGACY_ENTRY NEW_OUTPUT`. `LEGACY_ENTRY` must be `project.arcadia` with the exact embedded six-file bundle. Public `source_files::load_project` supplies safe bounded include discovery; errors and detached/invalid buffers are refused. Output must be a new directory outside the input tree under an existing parent. There is no removal/overwrite operation. Originals are copied byte-exactly into `NEW_OUTPUT/legacy-input/` and read back. The helper retains pending intent and partial evidence if a later assertion panics; the outer launcher must preserve actual stderr/exit and never infer PASS from a partial directory. + +Before invoking legacy bundle migration, an independent reference bundle is explicitly authored from the fixed original text: + +- Entry schema token3→7. +- Exchange items UUIDs ending107 and406: retain Information nature, specify `mechanism Unspecified` and absent `supertype`. +- Data fields UUIDs ending108 and407: retain type, multiplicity, ownership and unit; specify `direction Unspecified`, `storage Value`, absent `default`. + +Only those four documented semantic defaults are admitted. Existing IDs, aliases, function/port relationships, diagrams, comments, strings and file ownership are not requested changes. No generated endpoints, interface allocations, port repairs, unresolved values or trace-default records are expected for this fixture. These are source-derived prospective assertions, not results from an executed helper. If they fail, preserve the failure and inspect it; do not silently broaden the accepted change set. + +`compile_bundle` admits that explicitly current reference with no migration or source normalization. Its complete Project is fixed independently of the legacy migration output. A separate fixed five-include expansion calls public `language::parse_with_report_limited` on the legacy source and requires full Project equality with the reference. The real public `compile_bundle` legacy migration then must equal the same full reference Project and agree with the independently assembled legacy migration report. This provides independent expected-source/assembly paths, **not an independently implemented semantic parser or schema migrator**; all paths still share current core semantics. It is stronger than merely recompiling the migrator's own output and comparing it with itself. + +The actual migrator's source output is retained separately from the reference source. Its report must name from3/to7 and exactly the four expected `body` defaults. Exactly `project.arcadia`, `oa.arcadia`, and `sa/reporting.arcadia` may change. The entry may change only its version token. Other files must remain byte-exact; comments and string/UUID spellings in every file must remain exact. Full model equality catches additional semantic edits; the changed declaration whitespace is recorded rather than assumed to have a particular formatter layout. Both pre/post bundles must still have four assess_report identifier tokens in reporting and two in views, and the helper emits the **new** byte offsets after migration. + +Only after these checks does it recompile the migrated bundle with no remaining migration or normalization, validate the complete Project, and write `NEW_OUTPUT/baseline/` as six separate files. It reloads that disk bundle exactly, verifies the original input remains unchanged, and writes final result.json only after success. The independent reference Project, flattened legacy Project, public migration report, complete source bundles and current Project are retained as JSON for outer hash inventory and review. + +## Future execution boundary + +Root owns the compiler lease. Do not compile until explicitly released/assigned. Use exactly the final accepted core/configuration/lock/dependency artifacts, selected through identified Cargo fingerprints, with preserved Rust/LLVM identities. The standalone shape is: + +```text +rustc --edition=2024 -D warnings -C linker=clang.exe -L dependency=IDENTIFIED_DEPS --extern oa_core=IDENTIFIED_OA_CORE_RLIB --extern serde_json=IDENTIFIED_SERDE_JSON_RLIB .local/navigation-palette-migrate-fixture.rs -o NEW_EXECUTABLE_DIRECTORY/navigation-palette-migrate-fixture.exe +``` + +The helper only directly depends on oa_core and serde_json; its local JSON-writing macro avoids an extra direct serde extern. Root should stamp the helper plus all six include files, input manifest, exact rlibs/fingerprints and compiler/environment; use a new executable/receipt location and do not alter root target or old oracle artifacts. + +Then run once with a new absolute output directory and exact original entry, under the documented matching runtime environment: + +```text +navigation-palette-migrate-fixture.exe migrate C:/Users/User/Documents/Git/ARCADIA-Studio/examples/source-project/project.arcadia ABSOLUTE_NEW_PREPARATION_DIRECTORY +``` + +The outer runner must record command/cwd/env/tool/source/binary identities, timestamps, stdout/stderr and actual exit; SHA256/size every output payload and preserve failures. Compare all six preserved originals with the pinned input manifest and Git raw blobs. Review declared versus actual source changes and whole-Project equality. The helper itself performs byte equality/readback but does not calculate SHA256; hashes belong in the surrounding identified-run receipt. + +After actual success and review, freeze `baseline/` as the native reference and copy it to a separate work directory. Run the new current-core oracle's self-check and `same` admission separately. The intended native rename remains UUID `00000000-0000-4000-8000-000000000403`, assess_report→assess_report_union, six tokens across reporting/views. Independently inspect the saved rename's six token edits as requested by the oracle critic. Migration preparation is not GUI acceptance, Confirm lifecycle verification, or canonical engineering correctness by itself. + +Requested fresh review: verify literal current-schema defaults against v3 migration semantics, exact input/output boundaries, macro/type use, complete independent reference equality ordering, expected migration report/changed-file set, and no claim of an executed result. No migration baseline exists from this helper yet. diff --git a/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/navigation-palette-migrate-fixture-root-review-20260913.md b/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/navigation-palette-migrate-fixture-root-review-20260913.md new file mode 100644 index 00000000..f4ba3058 --- /dev/null +++ b/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/navigation-palette-migrate-fixture-root-review-20260913.md @@ -0,0 +1,25 @@ +# Bounded migration fixture review + +Root reviewed all of `navigation-palette-migrate-fixture.rs` at SHA256 +`40b036d5bd56a8266209bf7dfb21e3469a428d87bd788c82a584bbd549514fc2` +against its six frozen example inputs and the current schema7 core interface. +No actionable source defect found. Compilation and execution remain unrun. + +The helper accepts only the exact six originals. It fixes an independently +authored schema7 source expectation before invoking legacy bundle migration, +and compares the whole Project with a separately flattened legacy parse. The +four required exchange-item/data-field defaults, permitted changed paths, +unchanged strings/comments, exact entry-header edit, six alias tokens, current +readmission and original-file preservation are explicitly checked. A fresh +output directory preserves partial failure evidence without changing the input. + +This uses shared public parsing and semantic code; it is a bounded fixture +preparation check, not an independent migration implementation or canonical +model proof. Actual migration spelling is not required to equal the handwritten +reference spelling, while complete semantic equality is required. The native +rename check must independently verify the six token replacements against the +resulting frozen baseline. + +The compile launcher must bind all six `include_str!` files before and after +compilation in addition to the helper source, current core artifacts and compiler. +That launcher correction is assigned for review before execution. diff --git a/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/navigation-palette-migrate-fixture.before-empty-description-fix-20260913.rs b/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/navigation-palette-migrate-fixture.before-empty-description-fix-20260913.rs new file mode 100644 index 00000000..4a492cf2 --- /dev/null +++ b/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/navigation-palette-migrate-fixture.before-empty-description-fix-20260913.rs @@ -0,0 +1,398 @@ +//! Bounded preparation of this exact six-file source3 example. Not a save oracle. +//! migrate LEGACY_ENTRY NEW_OUTPUT; never edits the legacy input or an existing output. +use oa_core::{source_project::*, *}; +use serde_json::json; +use std::{ + collections::{BTreeMap, BTreeSet}, + fs::{self, OpenOptions}, + io::Write, + path::Path, +}; + +const INPUTS: [(&str, &str); 6] = [ + ( + "project.arcadia", + include_str!("navigation-palette-migrate-fixture-inputs/project.arcadia"), + ), + ( + "oa.arcadia", + include_str!("navigation-palette-migrate-fixture-inputs/oa.arcadia"), + ), + ( + "sa/participants.arcadia", + include_str!("navigation-palette-migrate-fixture-inputs/sa/participants.arcadia"), + ), + ( + "sa/reporting.arcadia", + include_str!("navigation-palette-migrate-fixture-inputs/sa/reporting.arcadia"), + ), + ( + "sa/assurance.arcadia", + include_str!("navigation-palette-migrate-fixture-inputs/sa/assurance.arcadia"), + ), + ( + "views.arcadia", + include_str!("navigation-palette-migrate-fixture-inputs/views.arcadia"), + ), +]; +fn write_new(path: &Path, bytes: &[u8]) { + fs::create_dir_all(path.parent().unwrap()).expect("create owned output parent"); + let mut file = OpenOptions::new() + .write(true) + .create_new(true) + .open(path) + .expect("create new output file"); + file.write_all(bytes).unwrap(); + file.sync_all().unwrap(); + assert_eq!(fs::read(path).unwrap(), bytes, "exact output readback"); +} +macro_rules! write_json { + ($path:expr, $value:expr $(,)?) => {{ + let mut bytes = serde_json::to_vec_pretty($value).unwrap(); + bytes.push(b'\n'); + write_new($path, &bytes); + }}; +} + +fn once(text: &mut String, old: &str, new: &str) { + assert_eq!( + text.matches(old).count(), + 1, + "exact fixed fixture edit: {old}" + ); + *text = text.replacen(old, new, 1); +} +fn literal_reference(raw: &SourceBundle) -> SourceBundle { + // Independently specified current-schema semantics, not copied from migration output. + let mut current = raw.clone(); + once( + current.files.get_mut("project.arcadia").unwrap(), + "arcadia 3;", + "arcadia 7;", + ); + for path in ["oa.arcadia", "sa/reporting.arcadia"] { + let source = current.files.get_mut(path).unwrap(); + once( + source, + "kind Information;", + "kind Information; mechanism Unspecified; supertype none;", + ); + once( + source, + "unit \"degrees north\";", + "unit \"degrees north\"; direction Unspecified; storage Value; default none;", + ); + } + current +} +fn flattened_legacy(raw: &SourceBundle) -> String { + // Fixed, shallow include graph only. This is independent of bundle assembly/upgrading. + let mut flat = raw.files["project.arcadia"].clone(); + for path in [ + "oa.arcadia", + "sa/participants.arcadia", + "sa/reporting.arcadia", + "sa/assurance.arcadia", + "views.arcadia", + ] { + assert!( + inspect_includes(path, &raw.files[path], false, ProjectLimits::default()) + .unwrap() + .is_empty() + ); + once(&mut flat, &format!("include \"{path}\";"), &raw.files[path]); + } + flat +} +fn comments_and_strings(source: &str) -> Vec<(language::TokenClass, &str)> { + language::tokenize(source) + .into_iter() + .filter(|token| { + matches!( + token.class, + language::TokenClass::Comment | language::TokenClass::String + ) + }) + .map(|token| (token.class, &source[token.span.start..token.span.end])) + .collect() +} +fn aliases(bundle: &SourceBundle) -> BTreeMap> { + bundle + .files + .iter() + .filter_map(|(path, text)| { + let starts: Vec<_> = language::tokenize(text) + .into_iter() + .filter(|token| { + token.class == language::TokenClass::Identifier + && &text[token.span.start..token.span.end] == "assess_report" + }) + .map(|token| token.span.start) + .collect(); + (!starts.is_empty()).then(|| (path.clone(), starts)) + }) + .collect() +} +fn run(entry: &Path, output: &Path) { + assert_eq!( + SCHEMA_VERSION, 7, + "this bounded fixture preparer requires current schema7 core" + ); + assert_eq!( + entry.file_name().and_then(|name| name.to_str()), + Some("project.arcadia") + ); + let disk = + source_files::load_project(entry, ProjectLimits::default()).expect("legacy disk discovery"); + assert!( + !disk + .diagnostics + .iter() + .any(|issue| issue.diagnostic.severity == validation::Severity::Error), + "legacy disk errors" + ); + let raw = disk.reachable_bundle(); + assert_eq!( + raw, disk.bundle, + "no detached or invalid discovered buffers" + ); + let pinned = SourceBundle { + entry: "project.arcadia".into(), + files: INPUTS + .iter() + .map(|(path, text)| (path.to_string(), text.to_string())) + .collect(), + }; + assert_eq!( + raw, pinned, + "only exact pinned original six-file fixture is admitted" + ); + let parent = output + .parent() + .expect("new output parent") + .canonicalize() + .expect("existing output parent"); + let out = parent.join(output.file_name().expect("new output directory name")); + let input_root = entry.canonicalize().unwrap().parent().unwrap().to_owned(); + assert!( + !out.starts_with(&input_root) && !input_root.starts_with(&out), + "output and input trees must not overlap" + ); + fs::create_dir(&out).expect("new output directory must not exist"); + for (path, text) in &raw.files { + write_new(&out.join("legacy-input").join(path), text.as_bytes()); + } + write_json!(&out.join("legacy-source-bundle.json"), &raw); + write_json!( + &out.join("intent.json"), + &json!({ + "scope":"Bounded fixture migration preparation, not native acceptance or general migration proof", + "from_schema":3,"to_schema":7,"original_files":6, + "intended_defaults":{ + "00000000-0000-4000-8000-000000000107":"Information retained; mechanism Unspecified; supertype absent", + "00000000-0000-4000-8000-000000000406":"Information retained; mechanism Unspecified; supertype absent", + "00000000-0000-4000-8000-000000000108":"type/multiplicity/unit retained; direction Unspecified; storage Value; default absent", + "00000000-0000-4000-8000-000000000407":"type/multiplicity/unit retained; direction Unspecified; storage Value; default absent" + }, + "expected_changed_paths":["project.arcadia","oa.arcadia","sa/reporting.arcadia"], + "expected_rename_target":"00000000-0000-4000-8000-000000000403", + "execution_complete":false + }), + ); + + // Establish an explicit current-schema full Project BEFORE calling the legacy bundle migrator. + let reference_bundle = literal_reference(&raw); + let reference = compile_bundle(&reference_bundle, ProjectLimits::default()) + .expect("explicit current-schema reference admission"); + assert_eq!( + reference.bundle, reference_bundle, + "reference must need no UUID insertion or normalization" + ); + assert!( + reference.decoded.migration.is_none(), + "reference is already current-schema" + ); + validate_candidate(&reference.decoded.project).expect("reference full-model admission"); + write_json!( + &out.join("independent-reference-source-bundle.json"), + &reference_bundle, + ); + write_json!( + &out.join("independent-reference-project.json"), + &reference.decoded.project, + ); + let flat = flattened_legacy(&raw); + let legacy = language::parse_with_report_limited(&flat, ProjectLimits::default().model) + .expect("independent flattened legacy parse"); + assert_eq!( + legacy.project, reference.decoded.project, + "flattened legacy semantics equal independently specified current-schema Project" + ); + write_new( + &out.join("independent-flattened-legacy.arcadia"), + flat.as_bytes(), + ); + write_json!( + &out.join("independent-legacy-project.json"), + &legacy.project, + ); + + let migrated = compile_bundle(&raw, ProjectLimits::default()).expect("public bundle migration"); + assert_eq!( + migrated.decoded.project, reference.decoded.project, + "complete independent Project equality before baseline admission" + ); + assert_eq!( + migrated.decoded.migration, legacy.migration, + "both legacy assembly paths report the same migration" + ); + let report = migrated + .decoded + .migration + .as_ref() + .expect("explicit migration report"); + assert_eq!((report.from_schema, report.to_schema), (3, 7)); + let expected_defaults: BTreeSet<_> = [107, 108, 406, 407] + .into_iter() + .map(|n| { + ( + format!("00000000-0000-4000-8000-{n:012}") + .parse::() + .unwrap(), + "body".to_string(), + ) + }) + .collect(); + assert_eq!( + report + .semantic_defaults + .iter() + .map(|d| (d.object, d.field.clone())) + .collect::>(), + expected_defaults + ); + assert_eq!( + report.semantic_defaults.len(), + 4, + "no duplicate or undeclared semantic defaults" + ); + assert!( + report.preserved_ports.is_empty() + && report.generated_endpoints.is_empty() + && report.orientation_defaults.is_empty() + && report.required_resolutions.is_empty() + && report.generated_interface_allocations.is_empty() + && report.unresolved_message_values.is_empty(), + "this fixture needs no generated identities, port repairs, traces or unresolved migrations" + ); + assert_eq!(migrated.bundle.entry, raw.entry); + assert!( + migrated.bundle.files.keys().eq(raw.files.keys()), + "all original file names survive" + ); + let mut changes = Vec::new(); + for (path, before) in &raw.files { + let after = &migrated.bundle.files[path]; + assert_eq!( + comments_and_strings(before), + comments_and_strings(after), + "all original comments/strings/UUID spellings remain exact in {path}" + ); + if before != after { + changes.push(path.clone()); + } + } + assert_eq!( + changes, + vec!["oa.arcadia", "project.arcadia", "sa/reporting.arcadia"], + "only declared schema/default paths may change" + ); + let mut expected_header = raw.files["project.arcadia"].clone(); + once(&mut expected_header, "arcadia 3;", "arcadia 7;"); + assert_eq!( + migrated.bundle.files["project.arcadia"], expected_header, + "entry changes only its schema token" + ); + assert_eq!( + aliases(&raw) + .iter() + .map(|(p, v)| (p.clone(), v.len())) + .collect::>(), + BTreeMap::from([ + ("sa/reporting.arcadia".into(), 4), + ("views.arcadia".into(), 2) + ]) + ); + assert_eq!( + aliases(&migrated.bundle) + .iter() + .map(|(p, v)| (p.clone(), v.len())) + .collect::>(), + BTreeMap::from([ + ("sa/reporting.arcadia".into(), 4), + ("views.arcadia".into(), 2) + ]) + ); + let current = compile_bundle(&migrated.bundle, ProjectLimits::default()) + .expect("current baseline re-admission"); + assert!(current.decoded.migration.is_none()); + assert_eq!( + current.bundle, migrated.bundle, + "current baseline has no further normalization" + ); + assert_eq!(current.decoded.project, reference.decoded.project); + validate_candidate(¤t.decoded.project).unwrap(); + for (path, text) in ¤t.bundle.files { + write_new(&out.join("baseline").join(path), text.as_bytes()); + } + let readback = source_files::load_project( + &out.join("baseline/project.arcadia"), + ProjectLimits::default(), + ) + .expect("baseline disk readback"); + assert_eq!(readback.bundle, current.bundle); + assert_eq!(readback.reachable_bundle(), current.bundle); + assert!( + !readback + .diagnostics + .iter() + .any(|d| d.diagnostic.severity == validation::Severity::Error) + ); + let original_after = source_files::load_project(entry, ProjectLimits::default()).unwrap(); + assert_eq!( + original_after.bundle, raw, + "original source must remain untouched" + ); + for (path, text) in &raw.files { + assert_eq!( + fs::read(out.join("legacy-input").join(path)).unwrap(), + text.as_bytes() + ); + } + write_json!(&out.join("migration-report.json"), report); + write_json!(&out.join("baseline-source-bundle.json"), ¤t.bundle); + write_json!(&out.join("baseline-project.json"), ¤t.decoded.project); + write_json!( + &out.join("baseline-alias-offsets.json"), + &aliases(¤t.bundle), + ); + write_json!( + &out.join("result.json"), + &json!({"status":"PASS","original_files":6,"baseline_files":6, + "changed_paths":changes,"from_schema":3,"to_schema":7,"semantic_defaults":4, + "independent_full_project_equal":true,"current_readmission_exact":true, + "originals_preserved":true,"alias_tokens":6,"alias_files":2, + "scope":"Exact fixture migration preparation only; full equality uses public shared semantic code with independently authored current-schema defaults. Not independent migration implementation, canonical model proof or GUI acceptance."}), + ); + println!( + "PASS migrate: six originals preserved; explicit current-schema reference and flattened legacy full Project agree; public schema3-to7 migration and current re-admission exact; six alias tokens rebound" + ); +} +fn main() { + let args: Vec<_> = std::env::args().collect(); + assert!( + args.len() == 4 && args[1] == "migrate", + "usage: migrate LEGACY_ENTRY NEW_OUTPUT" + ); + run(Path::new(&args[2]), Path::new(&args[3])); +} diff --git a/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/navigation-palette-migrate-fixture.rs b/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/navigation-palette-migrate-fixture.rs new file mode 100644 index 00000000..b653ca6f --- /dev/null +++ b/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/navigation-palette-migrate-fixture.rs @@ -0,0 +1,517 @@ +//! Bounded preparation of this exact six-file source3 example. Not a save oracle. +//! migrate LEGACY_ENTRY NEW_OUTPUT; never edits the legacy input or an existing output. +use oa_core::{source_project::*, *}; +use serde_json::json; +use std::{ + collections::{BTreeMap, BTreeSet}, + fs::{self, OpenOptions}, + io::Write, + path::Path, +}; + +const INPUTS: [(&str, &str); 6] = [ + ( + "project.arcadia", + include_str!("navigation-palette-migrate-fixture-inputs/project.arcadia"), + ), + ( + "oa.arcadia", + include_str!("navigation-palette-migrate-fixture-inputs/oa.arcadia"), + ), + ( + "sa/participants.arcadia", + include_str!("navigation-palette-migrate-fixture-inputs/sa/participants.arcadia"), + ), + ( + "sa/reporting.arcadia", + include_str!("navigation-palette-migrate-fixture-inputs/sa/reporting.arcadia"), + ), + ( + "sa/assurance.arcadia", + include_str!("navigation-palette-migrate-fixture-inputs/sa/assurance.arcadia"), + ), + ( + "views.arcadia", + include_str!("navigation-palette-migrate-fixture-inputs/views.arcadia"), + ), +]; +fn write_new(path: &Path, bytes: &[u8]) { + fs::create_dir_all(path.parent().unwrap()).expect("create owned output parent"); + let mut file = OpenOptions::new() + .write(true) + .create_new(true) + .open(path) + .expect("create new output file"); + file.write_all(bytes).unwrap(); + file.sync_all().unwrap(); + assert_eq!(fs::read(path).unwrap(), bytes, "exact output readback"); +} +macro_rules! write_json { + ($path:expr, $value:expr $(,)?) => {{ + let mut bytes = serde_json::to_vec_pretty($value).unwrap(); + bytes.push(b'\n'); + write_new($path, &bytes); + }}; +} + +fn once(text: &mut String, old: &str, new: &str) { + assert_eq!( + text.matches(old).count(), + 1, + "exact fixed fixture edit: {old}" + ); + *text = text.replacen(old, new, 1); +} +fn literal_reference(raw: &SourceBundle) -> SourceBundle { + // Independently specified current-schema semantics, not copied from migration output. + let mut current = raw.clone(); + once( + current.files.get_mut("project.arcadia").unwrap(), + "arcadia 3;", + "arcadia 7;", + ); + for path in ["oa.arcadia", "sa/reporting.arcadia"] { + let source = current.files.get_mut(path).unwrap(); + once( + source, + "kind Information;", + "kind Information; mechanism Unspecified; supertype none;", + ); + once( + source, + "unit \"degrees north\";", + "unit \"degrees north\"; direction Unspecified; storage Value; default none;", + ); + } + current +} +fn flattened_legacy(raw: &SourceBundle) -> String { + // Fixed, shallow include graph only. This is independent of bundle assembly/upgrading. + let mut flat = raw.files["project.arcadia"].clone(); + for path in [ + "oa.arcadia", + "sa/participants.arcadia", + "sa/reporting.arcadia", + "sa/assurance.arcadia", + "views.arcadia", + ] { + assert!( + inspect_includes(path, &raw.files[path], false, ProjectLimits::default()) + .unwrap() + .is_empty() + ); + once(&mut flat, &format!("include \"{path}\";"), &raw.files[path]); + } + flat +} +fn comments_and_strings<'a>( + source: &'a str, + added: &[language::Span], +) -> Vec<(language::TokenClass, &'a str)> { + language::tokenize(source) + .into_iter() + .filter(|token| { + !added.contains(&token.span) + && matches!( + token.class, + language::TokenClass::Comment | language::TokenClass::String + ) + }) + .map(|token| (token.class, &source[token.span.start..token.span.end])) + .collect() +} +fn added_empty_descriptions( + reference: &CompiledSourceProject, + migrated: &CompiledSourceProject, +) -> BTreeMap> { + let mut added: BTreeMap> = BTreeMap::new(); + // Canonical writing makes existing empty semantic descriptions explicit only + // on these four body-migrated records. No other empty string is exempted. + for (path, number) in [ + ("oa.arcadia", 107), + ("oa.arcadia", 108), + ("sa/reporting.arcadia", 406), + ("sa/reporting.arcadia", 407), + ] { + let id: Id = format!("00000000-0000-4000-8000-{number:012}") + .parse() + .unwrap(); + let key = (id, "description".to_string()); + assert!( + !reference.index.fields.contains_key(&key), + "description was originally omitted: {id}" + ); + assert!( + reference.decoded.project.elements[&id] + .description + .is_empty() + ); + assert!( + migrated.decoded.project.elements[&id] + .description + .is_empty() + ); + let location = migrated + .index + .fields + .get(&key) + .expect("specific added description field"); + assert_eq!( + location.path, path, + "description stays with its fixed owner/file" + ); + let source = &migrated.bundle.files[path]; + assert_eq!( + &source[location.span.start..location.span.end], + "\"\"", + "only exact empty description literal is qualified: {id}" + ); + assert_eq!( + language::tokenize(source) + .into_iter() + .filter(|token| { + token.span == location.span && token.class == language::TokenClass::String + }) + .count(), + 1, + "qualified field is exactly one string token" + ); + let body = &migrated.index.declaration_bodies[&id]; + assert_eq!(body.path, path); + assert!(body.span.start <= location.span.start && location.span.end <= body.span.end); + added.entry(path.into()).or_default().push(location.span); + } + assert_eq!(added.values().map(Vec::len).sum::(), 4); + added +} +fn aliases(bundle: &SourceBundle) -> BTreeMap> { + bundle + .files + .iter() + .filter_map(|(path, text)| { + let starts: Vec<_> = language::tokenize(text) + .into_iter() + .filter(|token| { + token.class == language::TokenClass::Identifier + && &text[token.span.start..token.span.end] == "assess_report" + }) + .map(|token| token.span.start) + .collect(); + (!starts.is_empty()).then(|| (path.clone(), starts)) + }) + .collect() +} +fn run(entry: &Path, output: &Path) { + assert_eq!( + SCHEMA_VERSION, 7, + "this bounded fixture preparer requires current schema7 core" + ); + assert_eq!( + entry.file_name().and_then(|name| name.to_str()), + Some("project.arcadia") + ); + let disk = + source_files::load_project(entry, ProjectLimits::default()).expect("legacy disk discovery"); + assert!( + !disk + .diagnostics + .iter() + .any(|issue| issue.diagnostic.severity == validation::Severity::Error), + "legacy disk errors" + ); + let raw = disk.reachable_bundle(); + assert_eq!( + raw, disk.bundle, + "no detached or invalid discovered buffers" + ); + let pinned = SourceBundle { + entry: "project.arcadia".into(), + files: INPUTS + .iter() + .map(|(path, text)| (path.to_string(), text.to_string())) + .collect(), + }; + assert_eq!( + raw, pinned, + "only exact pinned original six-file fixture is admitted" + ); + let parent = output + .parent() + .expect("new output parent") + .canonicalize() + .expect("existing output parent"); + let out = parent.join(output.file_name().expect("new output directory name")); + let input_root = entry.canonicalize().unwrap().parent().unwrap().to_owned(); + assert!( + !out.starts_with(&input_root) && !input_root.starts_with(&out), + "output and input trees must not overlap" + ); + fs::create_dir(&out).expect("new output directory must not exist"); + for (path, text) in &raw.files { + write_new(&out.join("legacy-input").join(path), text.as_bytes()); + } + write_json!(&out.join("legacy-source-bundle.json"), &raw); + write_json!( + &out.join("intent.json"), + &json!({ + "scope":"Bounded fixture migration preparation, not native acceptance or general migration proof", + "from_schema":3,"to_schema":7,"original_files":6, + "intended_defaults":{ + "00000000-0000-4000-8000-000000000107":"Information retained; mechanism Unspecified; supertype absent", + "00000000-0000-4000-8000-000000000406":"Information retained; mechanism Unspecified; supertype absent", + "00000000-0000-4000-8000-000000000108":"type/multiplicity/unit retained; direction Unspecified; storage Value; default absent", + "00000000-0000-4000-8000-000000000407":"type/multiplicity/unit retained; direction Unspecified; storage Value; default absent" + }, + "expected_changed_paths":["project.arcadia","oa.arcadia","sa/reporting.arcadia"], + "expected_rename_target":"00000000-0000-4000-8000-000000000403", + "execution_complete":false + }), + ); + + // Establish an explicit current-schema full Project BEFORE calling the legacy bundle migrator. + let reference_bundle = literal_reference(&raw); + let reference = compile_bundle(&reference_bundle, ProjectLimits::default()) + .expect("explicit current-schema reference admission"); + assert_eq!( + reference.bundle, reference_bundle, + "reference must need no UUID insertion or normalization" + ); + assert!( + reference.decoded.migration.is_none(), + "reference is already current-schema" + ); + validate_candidate(&reference.decoded.project).expect("reference full-model admission"); + write_json!( + &out.join("independent-reference-source-bundle.json"), + &reference_bundle, + ); + write_json!( + &out.join("independent-reference-project.json"), + &reference.decoded.project, + ); + let flat = flattened_legacy(&raw); + let legacy = language::parse_with_report_limited(&flat, ProjectLimits::default().model) + .expect("independent flattened legacy parse"); + assert_eq!( + legacy.project, reference.decoded.project, + "flattened legacy semantics equal independently specified current-schema Project" + ); + write_new( + &out.join("independent-flattened-legacy.arcadia"), + flat.as_bytes(), + ); + write_json!( + &out.join("independent-legacy-project.json"), + &legacy.project, + ); + + let migrated = compile_bundle(&raw, ProjectLimits::default()).expect("public bundle migration"); + // Retain the actual candidate even if any following independent admission fails. + // These files are evidence, never a PASS receipt or an admitted baseline. + write_json!(&out.join("candidate-source-bundle.json"), &migrated.bundle); + write_json!( + &out.join("candidate-project.json"), + &migrated.decoded.project + ); + write_json!( + &out.join("candidate-migration-report.json"), + &migrated.decoded.migration + ); + for (path, text) in &migrated.bundle.files { + write_new(&out.join("candidate").join(path), text.as_bytes()); + } + assert_eq!( + migrated.decoded.project, reference.decoded.project, + "complete independent Project equality before baseline admission" + ); + assert_eq!( + migrated.decoded.migration, legacy.migration, + "both legacy assembly paths report the same migration" + ); + let report = migrated + .decoded + .migration + .as_ref() + .expect("explicit migration report"); + assert_eq!((report.from_schema, report.to_schema), (3, 7)); + let expected_defaults: BTreeSet<_> = [107, 108, 406, 407] + .into_iter() + .map(|n| { + ( + format!("00000000-0000-4000-8000-{n:012}") + .parse::() + .unwrap(), + "body".to_string(), + ) + }) + .collect(); + assert_eq!( + report + .semantic_defaults + .iter() + .map(|d| (d.object, d.field.clone())) + .collect::>(), + expected_defaults + ); + assert_eq!( + report.semantic_defaults.len(), + 4, + "no duplicate or undeclared semantic defaults" + ); + assert!( + report.preserved_ports.is_empty() + && report.generated_endpoints.is_empty() + && report.orientation_defaults.is_empty() + && report.required_resolutions.is_empty() + && report.generated_interface_allocations.is_empty() + && report.unresolved_message_values.is_empty(), + "this fixture needs no generated identities, port repairs, traces or unresolved migrations" + ); + assert_eq!(migrated.bundle.entry, raw.entry); + assert!( + migrated.bundle.files.keys().eq(raw.files.keys()), + "all original file names survive" + ); + let added_descriptions = added_empty_descriptions(&reference, &migrated); + write_json!( + &out.join("qualified-empty-description-fields.json"), + &json!({ + "scope": "Only four formerly omitted description fields become explicit empty literals; no original string or comment is exempted", + "owners": [ + {"path":"oa.arcadia","id":"00000000-0000-4000-8000-000000000107","field":"description","value":""}, + {"path":"oa.arcadia","id":"00000000-0000-4000-8000-000000000108","field":"description","value":""}, + {"path":"sa/reporting.arcadia","id":"00000000-0000-4000-8000-000000000406","field":"description","value":""}, + {"path":"sa/reporting.arcadia","id":"00000000-0000-4000-8000-000000000407","field":"description","value":""} + ] + }) + ); + let mut changes = Vec::new(); + for (path, before) in &raw.files { + let after = &migrated.bundle.files[path]; + let qualified = added_descriptions.get(path).map_or(&[][..], Vec::as_slice); + assert_eq!( + comments_and_strings(before, &[]), + comments_and_strings(after, qualified), + "all original comments/strings/UUID spellings remain exact in {path}" + ); + let extra_empty = format!("{after}\ndescription \"\";"); + assert_ne!( + comments_and_strings(before, &[]), + comments_and_strings(&extra_empty, qualified), + "an additional unqualified empty string must never be filtered" + ); + for class in [language::TokenClass::Comment, language::TokenClass::String] { + if let Some(token) = language::tokenize(after) + .into_iter() + .find(|token| token.class == class && !qualified.contains(&token.span)) + { + let mut omitted = after.clone(); + omitted.replace_range( + token.span.start..token.span.end, + &" ".repeat(token.span.end - token.span.start), + ); + assert_ne!( + comments_and_strings(before, &[]), + comments_and_strings(&omitted, qualified), + "omitting an original {class:?} must be detected in {path}" + ); + } + } + if before != after { + changes.push(path.clone()); + } + } + assert_eq!( + changes, + vec!["oa.arcadia", "project.arcadia", "sa/reporting.arcadia"], + "only declared schema/default paths may change" + ); + let mut expected_header = raw.files["project.arcadia"].clone(); + once(&mut expected_header, "arcadia 3;", "arcadia 7;"); + assert_eq!( + migrated.bundle.files["project.arcadia"], expected_header, + "entry changes only its schema token" + ); + assert_eq!( + aliases(&raw) + .iter() + .map(|(p, v)| (p.clone(), v.len())) + .collect::>(), + BTreeMap::from([ + ("sa/reporting.arcadia".into(), 4), + ("views.arcadia".into(), 2) + ]) + ); + assert_eq!( + aliases(&migrated.bundle) + .iter() + .map(|(p, v)| (p.clone(), v.len())) + .collect::>(), + BTreeMap::from([ + ("sa/reporting.arcadia".into(), 4), + ("views.arcadia".into(), 2) + ]) + ); + let current = compile_bundle(&migrated.bundle, ProjectLimits::default()) + .expect("current baseline re-admission"); + assert!(current.decoded.migration.is_none()); + assert_eq!( + current.bundle, migrated.bundle, + "current baseline has no further normalization" + ); + assert_eq!(current.decoded.project, reference.decoded.project); + validate_candidate(¤t.decoded.project).unwrap(); + for (path, text) in ¤t.bundle.files { + write_new(&out.join("baseline").join(path), text.as_bytes()); + } + let readback = source_files::load_project( + &out.join("baseline/project.arcadia"), + ProjectLimits::default(), + ) + .expect("baseline disk readback"); + assert_eq!(readback.bundle, current.bundle); + assert_eq!(readback.reachable_bundle(), current.bundle); + assert!( + !readback + .diagnostics + .iter() + .any(|d| d.diagnostic.severity == validation::Severity::Error) + ); + let original_after = source_files::load_project(entry, ProjectLimits::default()).unwrap(); + assert_eq!( + original_after.bundle, raw, + "original source must remain untouched" + ); + for (path, text) in &raw.files { + assert_eq!( + fs::read(out.join("legacy-input").join(path)).unwrap(), + text.as_bytes() + ); + } + write_json!(&out.join("migration-report.json"), report); + write_json!(&out.join("baseline-source-bundle.json"), ¤t.bundle); + write_json!(&out.join("baseline-project.json"), ¤t.decoded.project); + write_json!( + &out.join("baseline-alias-offsets.json"), + &aliases(¤t.bundle), + ); + write_json!( + &out.join("result.json"), + &json!({"status":"PASS","original_files":6,"baseline_files":6, + "changed_paths":changes,"from_schema":3,"to_schema":7,"semantic_defaults":4, + "independent_full_project_equal":true,"current_readmission_exact":true, + "originals_preserved":true,"qualified_added_empty_descriptions":4,"alias_tokens":6,"alias_files":2, + "scope":"Exact fixture migration preparation only; full equality uses public shared semantic code with independently authored current-schema defaults. Not independent migration implementation, canonical model proof or GUI acceptance."}), + ); + println!( + "PASS migrate: six originals preserved; explicit current-schema reference and flattened legacy full Project agree; public schema3-to7 migration and current re-admission exact; six alias tokens rebound" + ); +} +fn main() { + let args: Vec<_> = std::env::args().collect(); + assert!( + args.len() == 4 && args[1] == "migrate", + "usage: migrate LEGACY_ENTRY NEW_OUTPUT" + ); + run(Path::new(&args[2]), Path::new(&args[3])); +} diff --git a/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/navigation-palette-native-oracle-handoff-20260913.md b/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/navigation-palette-native-oracle-handoff-20260913.md new file mode 100644 index 00000000..2b7d29c1 --- /dev/null +++ b/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/navigation-palette-native-oracle-handoff-20260913.md @@ -0,0 +1,60 @@ +# Current-core native comparator: source handoff + +Prepared against inspected root `659b7a655a33e71e00b8d86a2674bcbd631681d2`. No production/tracked file, old oracle or build input changed. No compilation, core-parser execution, self-check execution or UI action occurred. Only the new source was formatted with the installed Rust formatter (`--edition 2024`, exit0). + +New source: `.local/navigation-palette-native-oracle.rs`, 24,949 bytes, SHA256 `fc3ec08dbea3adf69026acb37b41c3d1afe2705094caa96a826687c4e781ac7d`. +Preserved old source: `.local/delete-native-oracle.rs`, SHA256 `fbc001a3c14d075fa9d5fce90188cc06055c12b02d4c5929818ac4325fb82c5e`. +Static fixture/source receipt: `.local/navigation-palette-native-oracle-preparation-20260913.json`, SHA256 `c8259f21660fdd42aea7ed550512398b0d8e9ce68a781cedb7215c77a6d37a98`. + +## Public API and comparator boundary + +The current public core API is `prepare_command(&base.decoded.project, &Command::SetAlias(target, replacement))`, followed by `source_project::update_bundle_with_identity_map(base, &candidate.project, &candidate.identity_map, ProjectLimits::default())`. This is the same public command/updater path used by the desktop's `document_alias_rename.rs::AliasRenameRequest::prepare`; the desktop's guarded request/commit lifecycle is not itself part of this core-only oracle. + +New `renamed BASE_ENTRY ACTUAL_ENTRY TARGET_UUID NEW_ALIAS` loads and admits the baseline, verifies the fixed target exists and that the request changes its alias, and derives the entire expected model/source **before loading actual**. An independently edited full baseline Project changes exactly the chosen alias field and is compared with the public command candidate. Every identity map entry must be id→same-id. The expected source must preserve entry name, file membership, lexical owners and declaration-file ownership. The final comparison requires equality of the complete Project and exact SourceBundle, including all source text and logical paths. There is no UUID masking, normalization, actual-derived edit, replacement of mismatching bytes, or structural subset comparison. + +The independent alias-only assignment supports project, element, relation, diagram, artifact link, trace and node-placement identities, matching the public SetAlias families. The requested native use remains the fixed function UUID below. The comparator derives expected source through the normal core updater, so a shared updater defect outside the independent self-check fixture remains a limit; native review must also compare the six intended token edits and preserved surrounding bytes. It does not establish Confirm freshness, history/UI lifecycle or canonical correctness merely by equality. + +`same`, `removed`, `generate` and the old deletion/disk self-checks remain. New schema guards explicitly require current core `SCHEMA_VERSION == 7` and decoded schema7. Disk/source admission still rejects errors, detached/invalid discovered buffers, inserted IDs and migration/normalization; legitimate non-error diagnostics are retained in stderr. No analysis/source8 admission was added. + +## Self-check additions (prospective, unrun) + +The alias fixture uses four authored files, fixed UUIDs, a declaration in `target.arcadia` and an allocation reference in `references.arcadia`. It includes CRLF, Unicode comments, literal old-alias text inside a description and comments, plus untouched entry/notes files. A separately authored expected SourceBundle replaces exactly one declaration token and one reference token, without calling the updater or examining actual input. The result must match those exact bytes and an independent full Project whose one element alias alone changes. + +Negative cases reject unchanged baseline, wrong alias, wrong target, a stale partial reference (source admission failure) and a changed unrelated comment file that decodes to the identical Project. Existing deletion no-op/wrong-target/placement-vs-element/unrelated-change/comment-byte and disk-warning/missing-include/syntax falsifiers remain. These assertions are source-reviewed expectations until the final-core executable runs them; formatter success is not typechecking or execution evidence. + +## Native fixture and six occurrences + +Static inspection of current `examples/source-project` confirms target `00000000-0000-4000-8000-000000000403`, old alias `assess_report`, requested alias `assess_report_union`. Six identifier occurrences occur in two files, excluding quoted strings and line comments: + +- `sa/reporting.arcadia`: line11 declaration; lines34,38 and51 references. +- `views.arcadia`: lines40 and61 references. + +The preparation JSON records all six byte offsets and SHA/size of all six fixture files. This is a bounded static token inspection, not current-core model admission or a guarantee that migrations leave offsets unchanged. + +**The checked-in entry declares `arcadia 3;`.** Do not run rename acceptance against that raw fixture, silently rewrite its header, or loosen oracle admission. Root must prepare a separately admitted schema7 baseline through the existing migration path, inspect/freeze the complete resulting bundle and Project, then recheck its six target tokens/paths before native editing. Preserve both original and migrated source provenance. The comparator intentionally refuses migration within the acceptance comparison. + +## Later compilation and commands + +Root still owns the compiler lease. After an accepted matching core build, select dependencies from the identified Cargo/fingerprint receipt, not newest filenames, and require raw final core/configuration/lock inputs to equal that receipt. The old42511f0 oracle binding does not extend to659: Cargo.lock, language.rs and outline tests changed. Reuse the existing standalone build-helper pattern only after adapting its input receipt schema and selecting actual matching core/serde_json rlibs. Keep root target and old artifacts untouched; emit a new executable and unique logs/receipt. + +The prospective standalone compiler shape is: + +```text +rustc --edition=2024 -D warnings -C linker=clang.exe -L dependency=IDENTIFIED_DEPS --extern oa_core=IDENTIFIED_OA_CORE_RLIB --extern serde_json=IDENTIFIED_SERDE_JSON_RLIB .local/navigation-palette-native-oracle.rs -o NEW_OUTPUT/navigation-palette-native-oracle.exe +``` + +Use the exact matching Rust/LLVM environment and preserved tool hashes. The explicit serde_json dependency follows the existing oracle linkage pattern; the source itself currently needs only oa_core. Record final source/rlib/fingerprint/executable hashes, actual compiler command/version, exit/stdout/stderr and unchanged input readback. This handoff does not grant permission to compile. + +After that compilation succeeds, run self-check first under the documented matching runtime PATH, preserve actual output/exit, then admit the frozen baseline with `same`. Future native checkpoint commands are: + +```text +navigation-palette-native-oracle.exe self-check +navigation-palette-native-oracle.exe same FROZEN_SCHEMA7_BASE/project.arcadia FROZEN_SCHEMA7_BASE/project.arcadia +navigation-palette-native-oracle.exe renamed FROZEN_SCHEMA7_BASE/project.arcadia SAVED_AFTER_RENAME/project.arcadia 00000000-0000-4000-8000-000000000403 assess_report_union +navigation-palette-native-oracle.exe same FROZEN_SCHEMA7_BASE/project.arcadia SAVED_AFTER_UNDO/project.arcadia +navigation-palette-native-oracle.exe renamed FROZEN_SCHEMA7_BASE/project.arcadia SAVED_AFTER_REDO/project.arcadia 00000000-0000-4000-8000-000000000403 assess_report_union +``` + +The self-comparison is admission/preservation only, not independent canonical acceptance. Every actual checkpoint should be a frozen complete file-tree snapshot, retained with hashes and run logs. Do not run the old checkpoint helper unchanged: it hardcodes the previous trial and old oracle executable. Parent can narrowly adapt it after identifying this new binary. + +Requested independent source review before execution: verify the public API/type use, baseline-before-actual ordering, complete alias-only model and source comparisons, static fixture count, no-op/partial/unrelated negative cases, current-schema admission boundary and retained old behavior. Parent should coordinate that review; this worker has not claimed a review or runtime pass. diff --git a/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/navigation-palette-native-oracle-independent-review-20260913.md b/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/navigation-palette-native-oracle-independent-review-20260913.md new file mode 100644 index 00000000..a879d14f --- /dev/null +++ b/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/navigation-palette-native-oracle-independent-review-20260913.md @@ -0,0 +1,34 @@ +# Independent native-oracle source review + +**Bounded result: no actionable source defect found.** Reviewed `.local/navigation-palette-native-oracle.rs`, 24,949 bytes, SHA-256 **`fc3ec08dbea3adf69026acb37b41c3d1afe2705094caa96a826687c4e781ac7d`**, its handoff and preparation manifest against root **`e1240295bd114d23d3f67a69e6b38bdb2e25bb0d`**. No compiler, oracle execution, UI, Gitea, tracked edits or reviewed-source changes. The migration worker confirmed this file stays frozen; migration is a separate source contribution. + +## Expected-result independence and equality + +`main` lines 651–666 admits the baseline, parses the externally fixed target UUID/alias, constructs `renamed(...)` completely, and only then loads actual saved input. The deletion mode retains the same ordering. Neither expected result is constructed from actual bytes or actual selected objects. + +`renamed` lines 119–206 independently clones the baseline Project and changes only the fixed target's alias through `assign_alias_only`. It requires the public SetAlias candidate to equal that complete independent Project and its entire identity map to be id→same-id. The ordinary public source update must equal the independently expected Project and preserve bundle entry, file membership, lexical containment and declaration-file ownership. `check` at lines 309–319 compares the complete decoded Project and exact SourceBundle, including paths, strings, comments and line endings. There is no subset projection, UUID masking or normalization fallback. + +The expected native source still comes from the same public source updater used by the application. That is acceptable for this bounded differential oracle only with the independent token/source controls retained below; it is not a wholly independent proof of the updater for every syntax class. + +## Negative and token controls + +The four-file alias self-check at lines 208–301 has an independently authored expected SourceBundle: one exact declaration-token replacement and one exact reference-token replacement. Each occurrence must be unique in its known fixture context. The source expectation does not invoke the updater. It preserves an old-alias string inside Description, Unicode `//` comments containing both bare and @-prefixed old aliases, CRLF, unrelated notes and the unchanged entry. Full Project expectation separately changes only the selected element alias. + +No-op, wrong alias and wrong target must compare unequal; the partial stale reference must fail source admission after its declaration has changed. An unrelated notes edit must remain semantically equal but fail exact SourceBundle equality. These distinguish an always-pass comparator, incomplete reference rewriting, model-only equality and indiscriminate text replacement. Existing deletion controls retain placement-versus-model removal, state-action relation versus reused function, cross-reference clearing, unrelated semantic damage, changed comment/newline bytes and missing includes. + +These are meaningful **unrun** assertions. “Stale reference” here is an incomplete saved-source rewrite, not the desktop's stale prepared-confirmation/worker lifecycle; the handoff correctly leaves that to App tests and native interaction evidence. The independent two-token self-check does not alone establish all six native edits in lists/node-reference fields. + +## Current source/API admission + +At e124, `SCHEMA_VERSION` is 7. No core/Cargo input delta exists between the handoff's inspected 659 and e124. Public signatures match the source uses: `prepare_command(&Project, &Command) -> Result` (`session.rs:170`), `Command::SetAlias(Id,String)` and its header-only branch (`session.rs:607`), `compile_bundle(&SourceBundle,ProjectLimits)` (`source_project.rs:286`), and `update_bundle_with_identity_map(&CompiledSourceProject,&Project,&BTreeMap,ProjectLimits)` (`source_project.rs:780`). The updater revalidates public index/model/bundle fields before accepting them. This is signature/source compatibility, not typechecking evidence. + +`try_load` lines 27–58 rejects source/discovery Errors and detached/invalid discovered buffers, recompiles the exact reachable bundle, rejects any changed bytes from migration/UUID insertion, requires current core and decoded schema7, then validates the model. Warning diagnostics remain visible. `compile_exact` applies the corresponding strict checks to self-check fixtures. This intentionally excludes source8 and raw migrated input; no admission weakening is needed. + +I independently verified the preparation manifest's six original source file hashes/sizes and six recorded byte slices for `assess_report`: four in `sa/reporting.arcadia`, two in `views.arcadia`. The fixed target is UUID `00000000-0000-4000-8000-000000000403`. The checked-in entry is source3; these offsets are **not** admission or post-migration offsets. + +## Conditions before native use + +1. Preserve this source pin and historical 425 oracle. Compile a new executable against the identified current core artifacts under the parent's sole compiler lease, record actual dependencies/command/tool and executable hashes, and run all self-checks. Nothing in this review establishes success of that build/run. +2. Prepare and freeze the six-file schema7 baseline through the explicit public migration path, with independent migration expectations. Do not merely change its version header or loosen this comparator. Recount/rebind the six alias-token spans after migration. +3. In the native rename case independently apply those six fixed token substitutions to the frozen baseline and compare complete expected bytes, in addition to `renamed` Project/SourceBundle equality. This closes the shared-updater limitation for the actual case. Verify all other files/comment/string/CRLF bytes unchanged. Use `same` after Undo; use `renamed` after accepted rename/Redo/reopen. +4. Bind every checkpoint to the actual current executable and a frozen complete source snapshot. Keep focus, preview confirmation freshness, cancellation, Undo/Redo interaction and disk timing evidence separate from core equality. A baseline self-comparison is admission, not canonical or GUI acceptance. diff --git a/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/navigation-palette-native-oracle.rs b/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/navigation-palette-native-oracle.rs new file mode 100644 index 00000000..8b1c0f1a --- /dev/null +++ b/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/navigation-palette-native-oracle.rs @@ -0,0 +1,678 @@ +//! Current-schema core-only native deletion/alias oracle. No desktop code or actual-derived expectation. +//! renamed BASE_ENTRY ACTUAL_ENTRY TARGET_UUID NEW_ALIAS | removed BASE_ENTRY ACTUAL_ENTRY TARGET_UUID +//! same BASE_ENTRY ACTUAL_ENTRY | self-check | generate NEW_DIR +use oa_core::{source_project::*, *}; +use std::{collections::BTreeMap, fs, path::Path}; + +fn compile_exact(raw: &SourceBundle) -> CompiledSourceProject { + let result = compile_bundle(raw, ProjectLimits::default()).expect("source admission"); + assert_eq!( + &result.bundle, raw, + "source migration/normalization is not permitted" + ); + assert_eq!( + SCHEMA_VERSION, 7, + "this oracle is admitted only for current schema 7 core" + ); + assert_eq!( + result.decoded.project.schema_version, 7, + "schema 7 required" + ); + validate_candidate(&result.decoded.project).expect("model admission"); + result +} +fn load(entry: &Path) -> CompiledSourceProject { + try_load(entry).unwrap_or_else(|error| panic!("{}: {error}", entry.display())) +} +fn try_load(entry: &Path) -> Result { + let disk = source_files::load_project(entry, ProjectLimits::default()) + .map_err(|error| format!("load source project: {error}"))?; + let errors: Vec<_> = disk + .diagnostics + .iter() + .filter(|issue| issue.diagnostic.severity == validation::Severity::Error) + .collect(); + if !errors.is_empty() { + return Err(format!("source/discovery errors: {errors:?}")); + } + for issue in &disk.diagnostics { + eprintln!( + "Permitted non-error diagnostic in {}: {:?}", + entry.display(), + issue + ); + } + let raw = disk.reachable_bundle(); + if disk.bundle != raw { + return Err("detached/invalid discovered buffers are not admitted".into()); + } + let compiled = compile_bundle(&raw, ProjectLimits::default()) + .map_err(|issues| format!("source admission: {issues:?}"))?; + if compiled.bundle != raw { + return Err("source migration/normalization is not permitted".into()); + } + if SCHEMA_VERSION != 7 || compiled.decoded.project.schema_version != 7 { + return Err("this oracle requires current schema 7 core and source".into()); + } + validate_candidate(&compiled.decoded.project) + .map_err(|error| format!("model admission: {error}"))?; + Ok(compiled) +} +fn removed(base: &CompiledSourceProject, target: Id) -> CompiledSourceProject { + assert!( + base.decoded.project.contains(target), + "target absent from baseline" + ); + let candidate = prepare_command(&base.decoded.project, &Command::Delete(target)) + .expect("baseline Delete must be admissible"); + assert!( + !candidate.project.contains(target), + "Delete must remove requested identity" + ); + assert_ne!( + candidate.project, base.decoded.project, + "Delete must change model" + ); + let result = update_bundle_with_identity_map( + base, + &candidate.project, + &candidate.identity_map, + ProjectLimits::default(), + ) + .expect("ordinary source patch must be admissible"); + assert_eq!( + result.decoded.project, candidate.project, + "source must exactly represent candidate" + ); + assert_eq!( + result.bundle.files.keys().collect::>(), + base.bundle.files.keys().collect::>(), + "Delete must retain source files, including newly empty files" + ); + result +} + +// Independent model expectation: alter only the selected alias field. The public +// command must agree with it before the source updater receives the candidate. +fn assign_alias_only(project: &mut Project, target: Id, alias: &str) { + if project.id == target { + project.alias = alias.into(); + } else if let Some(record) = project.elements.get_mut(&target) { + record.alias = alias.into(); + } else if let Some(record) = project.relations.get_mut(&target) { + record.alias = alias.into(); + } else if let Some(record) = project.diagrams.get_mut(&target) { + record.alias = alias.into(); + } else if let Some(record) = project.artifact_links.get_mut(&target) { + record.alias = alias.into(); + } else if let Some(record) = project.traces.get_mut(&target) { + record.alias = alias.into(); + } else { + project + .diagrams + .values_mut() + .find_map(|view| view.nodes.get_mut(&target)) + .expect("fixed alias target absent from baseline") + .alias = alias.into(); + } +} +fn renamed(base: &CompiledSourceProject, target: Id, alias: &str) -> CompiledSourceProject { + assert_eq!( + SCHEMA_VERSION, 7, + "this oracle requires current schema 7 core" + ); + assert_eq!(base.decoded.project.schema_version, 7); + let old_alias = base + .decoded + .project + .identities() + .into_iter() + .find_map(|(identity, old)| (identity == target).then(|| old.to_owned())) + .expect("fixed alias target absent from baseline"); + assert_ne!( + old_alias, alias, + "rename mode requires an actual alias change" + ); + let mut expected_project = base.decoded.project.clone(); + assign_alias_only(&mut expected_project, target, alias); + let candidate = prepare_command( + &base.decoded.project, + &Command::SetAlias(target, alias.into()), + ) + .expect("baseline alias rename must be admissible"); + assert_eq!( + candidate.project, expected_project, + "only requested alias may change" + ); + let identities: BTreeMap<_, _> = base + .decoded + .project + .identities() + .into_iter() + .map(|(identity, _)| (identity, identity)) + .collect(); + assert_eq!( + candidate.identity_map, identities, + "all UUIDs must remain unchanged" + ); + let result = update_bundle_with_identity_map( + base, + &candidate.project, + &candidate.identity_map, + ProjectLimits::default(), + ) + .expect("ordinary alias source patch must be admissible"); + assert_eq!( + result.decoded.project, expected_project, + "complete alias-only expected model" + ); + assert_eq!( + result.bundle.entry, base.bundle.entry, + "entry name must remain unchanged" + ); + assert!( + result.bundle.files.keys().eq(base.bundle.files.keys()), + "file membership must remain unchanged" + ); + assert_eq!( + result.index.lexical_owners, base.index.lexical_owners, + "lexical ownership must remain unchanged" + ); + assert!( + base.index + .declarations + .iter() + .map(|(id, loc)| (id, &loc.path)) + .eq(result + .index + .declarations + .iter() + .map(|(id, loc)| (id, &loc.path))), + "declaration file ownership must remain unchanged" + ); + result +} +fn rename_fixture() -> CompiledSourceProject { + let raw = SourceBundle { + entry: "project.arcadia".into(), + files: BTreeMap::from([ + ( + "project.arcadia".into(), + format!( + "arcadia 7;\r\nproject rename_oracle \"Alias oracle\" id \"{}\" {{\r\n include \"target.arcadia\";\r\n include \"references.arcadia\";\r\n include \"notes.arcadia\";\r\n}}\r\n", + id(100) + ), + ), + ( + "target.arcadia".into(), + format!( + "// Preserve rename_target comment 雨.\r\noa_activity rename_target \"Target engineering name\" id \"{}\" {{\r\n description \"Literal rename_target is not a reference.\";\r\n}}\r\noa_entity rename_team \"Team\" id \"{}\" {{}}\r\n", + id(101), + id(102) + ), + ), + ( + "references.arcadia".into(), + format!( + "// Preserve @rename_target comment Ω.\r\nallocation rename_allocation \"Team performs target\" id \"{}\" {{\r\n source @rename_team; target @rename_target;\r\n}}\r\n", + id(103) + ), + ), + ( + "notes.arcadia".into(), + "// Unrelated rename_target bytes 雨.\r\n\r\n".into(), + ), + ]), + }; + compile_exact(&raw) +} +fn rename_self_check() { + let base = rename_fixture(); + let expected = renamed(&base, id(101), "rename_target_union"); + // This fixed fixture's independently authored source expectation does not + // call the command or updater and does not inspect any actual saved input. + let mut expected_text = base.bundle.clone(); + for (path, before, after) in [ + ( + "target.arcadia", + "oa_activity rename_target ", + "oa_activity rename_target_union ", + ), + ( + "references.arcadia", + "target @rename_target;", + "target @rename_target_union;", + ), + ] { + let text = expected_text.files.get_mut(path).unwrap(); + assert_eq!(text.matches(before).count(), 1, "exact fixed fixture token"); + *text = text.replacen(before, after, 1); + } + assert_eq!( + expected.bundle, expected_text, + "only declaration/reference tokens change; comments, strings, CRLF and other files remain exact" + ); + check(&expected, &compile_exact(&expected_text)); + let mut independently_expected = base.decoded.project.clone(); + independently_expected + .elements + .get_mut(&id(101)) + .unwrap() + .alias = "rename_target_union".into(); + assert_eq!(expected.decoded.project, independently_expected); + assert_eq!( + base.bundle.files["notes.arcadia"], + expected.bundle.files["notes.arcadia"] + ); + assert_eq!( + base.bundle.files["project.arcadia"], + expected.bundle.files["project.arcadia"] + ); + assert!( + !same(&expected, &base), + "rename must reject unchanged baseline" + ); + let wrong = renamed(&base, id(101), "rename_target_wrong"); + assert!(!same(&expected, &wrong), "rename must reject wrong alias"); + let wrong_target = renamed(&base, id(102), "rename_team_union"); + assert!( + !same(&expected, &wrong_target), + "rename must reject wrong target" + ); + let mut partial = expected.bundle.clone(); + let references = partial.files.get_mut("references.arcadia").unwrap(); + *references = references.replacen("target @rename_target_union;", "target @rename_target;", 1); + assert!( + compile_bundle(&partial, ProjectLimits::default()).is_err(), + "a stale partial reference must fail source admission before equality" + ); + let mut unrelated = expected.bundle.clone(); + unrelated + .files + .get_mut("notes.arcadia") + .unwrap() + .push_str("// unrelated alteration\r\n"); + let altered = compile_exact(&unrelated); + assert_eq!(altered.decoded.project, expected.decoded.project); + assert!( + !same(&expected, &altered), + "same model cannot hide altered unrelated file" + ); + println!( + "PASS alias self-check: exact token expectation, full alias-only model/UUIDs, comments/strings/CRLF/other files, no-op/wrong alias/wrong target/partial reference/unrelated-file refusals" + ); +} + +fn same(expected: &CompiledSourceProject, actual: &CompiledSourceProject) -> bool { + expected.decoded.project == actual.decoded.project && expected.bundle == actual.bundle +} +fn check(expected: &CompiledSourceProject, actual: &CompiledSourceProject) { + assert_eq!( + actual.decoded.project, expected.decoded.project, + "complete Project differs" + ); + assert_eq!( + actual.bundle, expected.bundle, + "complete SourceBundle differs (paths or exact UTF-8 bytes)" + ); +} +fn id(n: u128) -> Id { + Id::from_u128(0xde1e7e00000040008000000000000000 + n) +} +fn fixture() -> CompiledSourceProject { + let mut p = Project::empty(); + p.id = id(1); + p.alias = "delete_oracle".into(); + p.name = "Delete oracle".into(); + for (n, kind, name, parent) in [ + (10, Kind::Activity, "Target work", None), + (11, Kind::Activity, "Untouched work", None), + (20, Kind::Scenario, "Reference scenario", None), + (21, Kind::Lifeline, "Target reference", Some(id(20))), + ] { + let mut e = p.make_element(kind, Layer::Oa, name, parent).unwrap(); + e.id = id(n); + e.alias = format!("delete_{n}"); + p.elements.insert(e.id, e); + } + *p.elements.get_mut(&id(21)).unwrap().shared_mut().unwrap() = SharedBody::Lifeline { + represented: Some(id(10)), + }; + for (view, placement) in [(30, 31), (40, 41)] { + let node = NodePlacement { + id: id(placement), + alias: format!("node_{placement}"), + element: id(10), + position: Position { x: 80., y: 80. }, + size: Size { + width: 180., + height: 90., + }, + collapsed: false, + port_anchors: vec![], + }; + p.diagrams.insert( + id(view), + Diagram { + id: id(view), + alias: format!("view_{view}"), + name: format!("Work view {view}"), + description: String::new(), + layer: Layer::Oa, + projection: ProjectionKind::Allocation, + view_options: Default::default(), + nodes: BTreeMap::from([(node.id, node)]), + routes: vec![], + }, + ); + } + for (n, kind, layer, name, parent) in [ + (12, Kind::Entity, Layer::Oa, "OA Dispatch team", None), + ( + 50, + Kind::Function, + Layer::Sa, + "SA Initialize controller", + None, + ), + ( + 51, + Kind::StateMachine, + Layer::Sa, + "SA Controller modes", + None, + ), + (52, Kind::Region, Layer::Sa, "SA Main region", Some(id(51))), + (53, Kind::State, Layer::Sa, "SA Ready", Some(id(52))), + ] { + let mut e = p.make_element(kind, layer, name, parent).unwrap(); + e.id = id(n); + e.alias = format!("delete_{n}"); + p.elements.insert(e.id, e); + } + for (n, kind, name, source, target) in [ + ( + 13, + RelationKind::Allocation, + "OA performs target work", + 12, + 10, + ), + (54, RelationKind::StateAction, "SA Entry initialize", 53, 50), + ] { + let generated = p.relate(kind, name, id(source), id(target)); + let mut relation = p.relations.remove(&generated).unwrap(); + relation.id = id(n); + relation.alias = format!("delete_{n}"); + if let RelationBody::StateAction { phase, .. } = &mut relation.body { + *phase = StateActionKind::Entry; + } + p.relations.insert(relation.id, relation); + } + for (view, placement) in [(30, 32), (40, 42)] { + p.diagrams.get_mut(&id(view)).unwrap().nodes.insert( + id(placement), + NodePlacement { + id: id(placement), + alias: format!("node_{placement}"), + element: id(12), + position: Position { x: 40., y: 40. }, + size: Size { + width: 380., + height: 230., + }, + collapsed: false, + port_anchors: vec![], + }, + ); + } + let nodes = [ + (61, 51, 40., 40., 620., 460.), + (62, 52, 60., 95., 580., 380.), + (63, 53, 100., 155., 320., 190.), + ] + .into_iter() + .map(|(n, element, x, y, width, height)| { + ( + id(n), + NodePlacement { + id: id(n), + alias: format!("node_{n}"), + element: id(element), + position: Position { x, y }, + size: Size { width, height }, + collapsed: false, + port_anchors: vec![], + }, + ) + }) + .collect(); + p.diagrams.insert( + id(60), + Diagram { + id: id(60), + alias: "sa_modes_view".into(), + name: "SA Controller modes view".into(), + description: String::new(), + layer: Layer::Sa, + projection: ProjectionKind::StateMachine { machine: id(51) }, + view_options: Default::default(), + nodes, + routes: vec![], + }, + ); + validate_candidate(&p).unwrap(); + let entry = language::format(&p).replacen("{\n", "{\n include \"notes.arcadia\";\n", 1); + let raw = SourceBundle { + entry: "project.arcadia".into(), + files: BTreeMap::from([ + ("project.arcadia".into(), entry), + ( + "notes.arcadia".into(), + "// Preserve deletion evidence 雨.\r\n// Exact bytes matter.\r\n".into(), + ), + ]), + }; + let compiled = compile_exact(&raw); + assert_eq!(compiled.decoded.project, p); + compiled +} +fn self_check() { + let base = fixture(); + let expected = removed(&base, id(10)); + check(&expected, &compile_exact(&expected.bundle)); + assert!(!same(&expected, &base), "must reject no-op"); + let wrong = removed(&base, id(11)); + assert!(!same(&expected, &wrong), "must reject wrong deletion"); + let placement = removed(&base, id(31)); + assert!(placement.decoded.project.contains(id(10))); + assert!(placement.decoded.project.contains(id(41))); + assert!( + !same(&expected, &placement), + "placement removal is not semantic deletion" + ); + assert!(!expected.decoded.project.contains(id(31))); + assert!(!expected.decoded.project.contains(id(41))); + assert!( + !expected.decoded.project.contains(id(13)), + "semantic deletion removes allocation" + ); + assert!( + placement.decoded.project.contains(id(13)), + "placement removal retains allocation" + ); + let entry_row = removed(&base, id(54)); + assert!( + entry_row.decoded.project.contains(id(50)), + "Entry row removal retains function" + ); + assert!( + entry_row.decoded.project.contains(id(53)), + "Entry row removal retains state" + ); + assert!( + !same(&entry_row, &removed(&base, id(50))), + "row removal differs from function deletion" + ); + assert!( + matches!( + expected.decoded.project.elements[&id(21)].shared(), + Some(SharedBody::Lifeline { represented: None }) + ), + "cross-reference must clear" + ); + let extra = prepare_command( + &expected.decoded.project, + &Command::Rename(id(11), "Unrelated damage".into()), + ) + .unwrap(); + let unrelated = update_bundle(&expected, &extra.project, ProjectLimits::default()).unwrap(); + assert!( + !same(&expected, &unrelated), + "must reject unrelated semantic change" + ); + for text in [ + "// Preserve deletion evidence 雨.\n// Exact bytes matter.\n", + "// Damaged\r\n", + ] { + let mut raw = expected.bundle.clone(); + raw.files.insert("notes.arcadia".into(), text.into()); + let tampered = compile_exact(&raw); + assert_eq!(tampered.decoded.project, expected.decoded.project); + assert!( + !same(&expected, &tampered), + "must reject source-only changes" + ); + } + let mut missing = expected.bundle.clone(); + missing.files.remove("notes.arcadia"); + assert!(compile_bundle(&missing, ProjectLimits::default()).is_err()); + check(&base, &compile_exact(&base.bundle)); + assert!( + !same(&base, &expected), + "restoration must reject deleted snapshot" + ); + assert_eq!( + base.bundle.files["notes.arcadia"], + expected.bundle.files["notes.arcadia"] + ); + disk_self_check(&base); + rename_self_check(); + println!( + "PASS self-check: exact candidate/source, wrong target, no-op, unrelated changes, placement/model distinction, crossrefs, source-byte falsifiers, disk warning admission and missing-include/syntax rejection" + ); +} +fn disk_self_check(base: &CompiledSourceProject) { + let nonce = std::time::SystemTime::now() + .duration_since(std::time::UNIX_EPOCH) + .unwrap() + .as_nanos(); + let dir = std::env::temp_dir().join(format!( + "arcadia-delete-oracle-{}-{nonce}", + std::process::id() + )); + fs::create_dir(&dir).expect("create unique owned disk self-check directory"); + for (path, text) in &base.bundle.files { + fs::write(dir.join(path), text).unwrap(); + } + let entry = dir.join(&base.bundle.entry); + let disk = source_files::load_project(&entry, ProjectLimits::default()).unwrap(); + assert!( + disk.diagnostics + .iter() + .any(|issue| issue.diagnostic.severity == validation::Severity::Warning), + "fixture must exercise legitimate warning admission" + ); + check( + base, + &try_load(&entry).expect("valid fixture with completeness warnings must load"), + ); + fs::remove_file(dir.join("notes.arcadia")).unwrap(); + assert!( + try_load(&entry).is_err(), + "missing include must fail disk admission" + ); + fs::write( + dir.join("notes.arcadia"), + &base.bundle.files["notes.arcadia"], + ) + .unwrap(); + fs::write(&entry, "this is not valid Arcadia source").unwrap(); + assert!( + try_load(&entry).is_err(), + "malformed source must fail disk admission" + ); + // Remove only exact files created above; no recursive deletion or borrowed fixture mutation. + for path in base.bundle.files.keys() { + fs::remove_file(dir.join(path)).unwrap(); + } + fs::remove_dir(&dir).unwrap(); +} +fn generate(dir: &Path) { + let baseline = fixture(); + fs::create_dir(dir).expect("output directory must not already exist; parent must exist"); + for (path, text) in &baseline.bundle.files { + fs::write(dir.join(path), text).expect("write new fixture"); + } + check(&baseline, &load(&dir.join(&baseline.bundle.entry))); + println!("PASS generated exact fixture {}", dir.display()); + for (n, label) in [ + (10, "OA target activity"), + (12, "OA entity"), + (13, "OA allocation"), + (30, "first architecture view"), + (31, "first activity placement"), + (32, "first entity placement"), + (40, "second architecture view"), + (41, "second activity placement"), + (42, "second entity placement"), + (50, "SA Entry function"), + (51, "SA machine"), + (52, "SA region"), + (53, "SA Ready state"), + (54, "SA Entry row relation"), + (60, "SA state view"), + (63, "SA Ready placement"), + ] { + println!("{label}: {}", id(n)); + } +} +fn main() { + let args: Vec<_> = std::env::args().collect(); + match args.get(1).map(String::as_str) { + Some("self-check") if args.len() == 2 => self_check(), + Some("generate") if args.len() == 3 => generate(Path::new(&args[2])), + Some("same") if args.len() == 4 => { + let base = load(Path::new(&args[2])); + let actual = load(Path::new(&args[3])); + check(&base, &actual); + println!("PASS same: complete Project and exact SourceBundle restored"); + } + Some("renamed") if args.len() == 6 => { + let base = load(Path::new(&args[2])); + let target: Id = args[4].parse().expect("TARGET_UUID must be a UUID"); + // Complete expected model and source are fixed before actual is loaded. + let expected = renamed(&base, target, &args[5]); + let actual = load(Path::new(&args[3])); + check(&expected, &actual); + println!( + "PASS renamed {target} to {}: complete baseline-derived alias-only Project and exact SourceBundle", + args[5] + ); + } + Some("removed") if args.len() == 5 => { + let base = load(Path::new(&args[2])); + let target: Id = args[4].parse().expect("TARGET_UUID must be a UUID"); + // Expected is fully fixed before actual is loaded. + let expected = removed(&base, target); + let actual = load(Path::new(&args[3])); + check(&expected, &actual); + println!( + "PASS removed {target}: exact baseline-derived Delete candidate and normal source patch" + ); + } + _ => panic!( + "usage: renamed BASE_ENTRY ACTUAL_ENTRY TARGET_UUID NEW_ALIAS | removed BASE_ENTRY ACTUAL_ENTRY TARGET_UUID | same BASE_ENTRY ACTUAL_ENTRY | self-check | generate NEW_DIR" + ), + } +} diff --git a/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/prepare-native-source-example.py b/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/prepare-native-source-example.py new file mode 100644 index 00000000..228a98d3 --- /dev/null +++ b/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/prepare-native-source-example.py @@ -0,0 +1,34 @@ +"""Freeze the successfully admitted migrated six-file example for native editing.""" +from pathlib import Path +import hashlib +import json + +root = Path(__file__).resolve().parent.parent +trial = root / '.local/native-qa/navigation-palette-20260913-01' +migration = trial / 'source-example-migration-r2' +run_path = trial / 'migrate-example-e124029-r2/run.json' +run = json.loads(run_path.read_bytes()) +assert run['exit'] == 0 and run['outcome'] == 'passed' and run['inputs_unchanged'] +result = json.loads((migration / 'result.json').read_bytes()) +assert result['status'] == 'PASS' and result['independent_full_project_equal'] and result['current_readmission_exact'] +bundle = json.loads((migration / 'baseline-source-bundle.json').read_bytes()) +assert bundle['entry'] == 'project.arcadia' and len(bundle['files']) == 6 +rows = [] +for role in ('source-baseline', 'source-work'): + folder = trial / role + folder.mkdir(exist_ok=False) + for name, text in bundle['files'].items(): + raw = text.encode('utf-8') + assert (migration / 'baseline' / name).read_bytes() == raw + target = folder / name + assert target.resolve().is_relative_to(folder.resolve()) + target.parent.mkdir(parents=True, exist_ok=True) + with target.open('xb') as stream: + stream.write(raw) + rows.append({'path': target.relative_to(trial).as_posix(), 'bytes': len(raw), + 'sha256': hashlib.sha256(raw).hexdigest()}) +with (trial / 'source-example-preparation.json').open('x', encoding='utf-8', newline='\n') as stream: + stream.write(json.dumps({'scope': 'Copies of actual admitted migration only; no native edits.', + 'run': str(run_path), 'run_sha256': hashlib.sha256(run_path.read_bytes()).hexdigest(), + 'migration': str(migration), 'files': rows}, indent=2) + '\n') +print(json.dumps({'copied_files': len(rows), 'trial': str(trial)})) diff --git a/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/prepare-navigation-palette-native.py b/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/prepare-navigation-palette-native.py new file mode 100644 index 00000000..dc1eaaee --- /dev/null +++ b/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/prepare-navigation-palette-native.py @@ -0,0 +1,44 @@ +"""Copy admitted fixtures for a future union GUI; no native or acceptance claim.""" +from pathlib import Path +from datetime import datetime, timezone +import hashlib +import json + +root = Path(__file__).resolve().parent.parent +archive = root / 'harness/experiments/canvas-native-dd39e1f-20260913' +trial = root / '.local/native-qa/navigation-palette-20260913-01' +assert not trial.exists(), 'Keep distinct trials; do not overwrite existing work' +manifest = json.loads((archive / 'manifest.json').read_bytes()) +rows = {row['path']: row for row in manifest['files']} +sources = [] +for fixture in ['compact', 'topology', 'lifecycle']: + folder = archive / (fixture + '-baseline') + for path in sorted(folder.rglob('*')): + if path.is_file(): + key = path.relative_to(archive).as_posix() + raw = path.read_bytes() + row = rows[key] + assert len(raw) == row['bytes'] and hashlib.sha256(raw).hexdigest() == row['sha256'] + sources.append((fixture, path.relative_to(folder), path, raw)) +assert len(sources) == 8 +trial.mkdir() +records = [] +for fixture, relative, source, raw in sources: + for role in ['baseline', 'work']: + target = trial / f'{fixture}-{role}' / relative + target.parent.mkdir(parents=True, exist_ok=True) + with target.open('xb') as stream: + stream.write(raw) + records.append({'path': target.relative_to(trial).as_posix(), + 'source': source.relative_to(root).as_posix(), 'bytes': len(raw), + 'sha256': hashlib.sha256(raw).hexdigest()}) +for name in ['evidence', 'checkpoints']: + (trial / name).mkdir() +record = {'utc': datetime.now(timezone.utc).isoformat(), + 'scope': 'Prepared fixture copies only. Requires future identified union GUI/oracle admission and native acceptance.', + 'provenance_manifest': {'path': (archive / 'manifest.json').relative_to(root).as_posix(), + 'sha256': hashlib.sha256((archive / 'manifest.json').read_bytes()).hexdigest()}, + 'files': records} +with (trial / 'preparation.json').open('x', encoding='utf-8', newline='\n') as stream: + stream.write(json.dumps(record, indent=2) + '\n') +print(json.dumps({'trial': str(trial), 'verified_copied_files': len(records), 'scope': record['scope']})) diff --git a/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/prepare-navigation-palette-rename-expected.py b/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/prepare-navigation-palette-rename-expected.py new file mode 100644 index 00000000..5ebcb61f --- /dev/null +++ b/harness/experiments/navigation-native-preparation-e124029-20260913/evidence/.local/prepare-navigation-palette-rename-expected.py @@ -0,0 +1,46 @@ +"""Author six exact rename token edits without using the core source updater.""" +from pathlib import Path +import hashlib +import json +import re +import sys + +baseline, output = map(lambda p: Path(p).resolve(), sys.argv[1:3]) +assert baseline.is_dir() and not output.exists() +assert not output.is_relative_to(baseline) and not baseline.is_relative_to(output) +old, new = b'assess_report', b'assess_report_union' +pattern = re.compile(rb'(?