Preserve bounded native navigation rename acceptance at a49b0ec

This commit is contained in:
2026-09-12 20:46:52 -07:00
parent 1f05d971e2
commit e7ceff11af
128 changed files with 12362 additions and 0 deletions
@@ -0,0 +1 @@
* -text -whitespace
@@ -0,0 +1,30 @@
# Native navigation/rename union, a49b0ec
This preserves one closed Windows native run of `a49b0ec7ac4538a372139175386a881645c1a59e`, plus its independent review. It supports a bounded pass for the observed rename, editing recovery, two saved-diagram destinations and persistence sequence. It does not establish full feature or release acceptance.
PID 1352 ran from 2026-09-13T03:07:50.6077079Z until the observed normal exit 0 at 03:29:37.8035143Z. The private copied executable was 115,379,712 bytes, SHA-256 `d169a42692d2822a6e9dcd1e6181766f4a178e15ae2610763200da9bbb814ddf`. Launch used a private profile and unrelated working directory. Both log files are empty. The executable and DLL remain private and are not uploaded here; their exact hashes and sizes are preserved in `input-manifest.json`. Historical preparation status is superseded by `launch.json` and `normal-close.json`, not rewritten.
## Observed sequence and limits
`action-observations.json` records the parent's actual inputs and 44 checkpoint observations. The original JPEGs are in `captures.zip`; matching JSON metadata is both in the ZIP and directly in `captures/`. All captures are 1442×932. Checkpoints are not a continuous recording.
- The six-file schema 3 seed was imported and explicitly saved as the schema 7 baseline before Rename. Rename comparisons use `baseline/`, so migration changes are not attributed to Rename.
- Actual Preview scrolling, full Details, return to Preview and renewed manual scrolling are visible in captures 13–17. Return showed the first preview page at its top; this does not demonstrate retention of the prior scroll offset or a between-frame stale-reset race.
- The recorded modal probes were **F12 while Rename was open** (18) and **F2 while the ready Show in diagrams chooser was open** (21). No Show in diagrams attempt was injected while Rename covered its button. This is not native coverage of both Rename/diagram-chooser admission orders; deterministic App tests cover other orders and queued completions.
- Confirm selected the renamed token in the original editor (25). Immediate typing replaced it with `assess_report_probe` without prior manual refocus (26). Text Undo restored `assess_report_union` (27). The first navigation attempt then produced the truthful no-target Definitions panel (28); explicit caret refocus (29) preceded the two-destination chooser (30). The capture 28 filename is historical and does not mean a successful chooser.
- Settled functional-containment and system-boundary views (33, 37) visibly selected Assess report with alias `assess_report_union` and unchanged UUID `00000000-0000-4000-8000-000000000403`.
- Recorded one model Undo plus Save restored all six baseline files; one model Redo plus Save restored the expected renamed files. Reopen retained the alias (44), and passive Save changed no expected bytes (45).
Capture 03 is absent: two dialog capture timeouts and unsuccessful accessibility actions were followed by Alt+n and visible keyboard recovery. No replacement image was fabricated. Most accessibility records are null. No native loading-chooser timing, worker race, fast Details toggle, small-window/large-project evaluation, broad accessibility or camera/layout acceptance follows.
## Source oracle and archival verification
The accepted snapshot, final `fixture/`, and independently generated compatible CLI result each equal the migrated baseline with exactly six whole-word `assess_report` → `assess_report_union` substitutions: four in `sa/reporting.arcadia`, two in `views.arcadia`. Every other byte, including the four other files, matches. Cancel and confirmed-unsaved records preserve baseline disk bytes; Undo/Redo/reopen checks record their corresponding exact six-file states.
The CLI oracle preserves six successful invocations, stable before/after executable hash, zero errors and eleven unchanged warning identities/messages. This is source parity through a compatible independent CLI rename command, **not** a direct serialization comparison of the desktop's full runtime Project. Its raw commands, stdout/stderr, inputs and receipts are in `oracle-model-equivalence-20260913/`.
The archivist checked all 15 immutable native inputs, identical before/after build manifests and all 577 current frozen build inputs, every original JPEG hash/size/MIME, all 44 action mappings, every one of 88 uncompressed ZIP entries, six source comparisons and the CLI receipts/diagnostic sets. All 120 copied raw files and the exact independent-review bytes matched their originals. The corrected action-log height is bound to the final original bytes. `verification.json` and `capture-manifest.json` record these checks; `report.json` inventories archive files by SHA-256 and size, excluding itself. The archivist also inspected the original negative capture 28; the independent reviewer inspected the representative originals listed in `independent-review.md`.
`archive.ps1` records the executable archival checks. It takes `-Original <closed native evidence directory> -Review <original review.md>` and refuses to overwrite copied evidence. It is intended for a fresh sibling archival destination with the original private package and frozen source checkout still available. Original absolute paths remain provenance, not portable executable locations. Archival work injected no native input and reran no compiler or tests.
The matching a49 strict/build/31-usage/one-timing evidence is already preserved in [the separate gate archive](../navigation-rename-a49-gates-20260913/README.md); the older full 951-test result belongs to its earlier source, not this native run. This archive makes no combined-659, native WGPU, whole-project, issue-closure or release claim.
@@ -0,0 +1,42 @@
{
"utc": "2026-09-13T03:24:44.302Z",
"entry": "project.arcadia",
"files": [
{
"path": "oa.arcadia",
"edits": 0,
"acceptedExact": true,
"diskBaseline": true
},
{
"path": "project.arcadia",
"edits": 0,
"acceptedExact": true,
"diskBaseline": true
},
{
"path": "views.arcadia",
"edits": 2,
"acceptedExact": true,
"diskBaseline": true
},
{
"path": "sa/assurance.arcadia",
"edits": 0,
"acceptedExact": true,
"diskBaseline": true
},
{
"path": "sa/participants.arcadia",
"edits": 0,
"acceptedExact": true,
"diskBaseline": true
},
{
"path": "sa/reporting.arcadia",
"edits": 4,
"acceptedExact": true,
"diskBaseline": true
}
]
}
@@ -0,0 +1,197 @@
{
"recordedUtc": "2026-09-13T03:35:14.485Z",
"source": "a49b0ec7ac4538a372139175386a881645c1a59e",
"method": "Root-curated record of actual sky tool inputs and inspected original captures; checkpoint captures are not a continuous recording.",
"windowPixels": {
"width": 1442,
"height": 932,
"source": "All44 original capture metadata records agree"
},
"observations": [
{
"capture": "captures/01-home.json",
"observation": "Activated returned Studio window; observed fresh isolated Home."
},
{
"capture": "captures/02-open-dialog.json",
"observation": "Clicked Home Open model at411,278; parent capture showed modal file picker."
},
{
"capture": "captures/04-dialog-parent-recovery.json",
"observation": "Dialog capture timed out twice. Accessibility click48 failed coordinate geometry; set_value48 failed CacheRequest. Alt+n sent through returned dialog; fresh parent capture visibly showed caret in File name."
},
{
"capture": "captures/05-fixture-path-entered.json",
"observation": "Typed exact private fixture/project.arcadia path into visibly focused File name; parent capture verified full path."
},
{
"capture": "captures/06-fixture-open-request.json",
"observation": "Return in returned Open dialog loaded six-file project; observed schema3→7 migration notice and dirty state."
},
{
"capture": "captures/07-save-migrated-baseline.json",
"observation": "Clicked Save all; all changes saved. Copied six physical files to immutable baseline before rename."
},
{
"capture": "captures/08-text-open.json",
"observation": "Clicked Textual model."
},
{
"capture": "captures/09-views-source.json",
"observation": "Clicked views.arcadia in source tree; actual source selected."
},
{
"capture": "captures/10-second-reference-context.json",
"observation": "Clicked editor then Ctrl+End; lower declarations visible."
},
{
"capture": "captures/11-rename-open.json",
"observation": "Clicked second assess_report reference in views line61 then F2; Rename identified sa_function Assess report."
},
{
"capture": "captures/12-rename-target-entered.json",
"observation": "Ctrl+A selected alias input; typed assess_report_union."
},
{
"capture": "captures/13-rename-preview.json",
"observation": "Clicked Preview; approved2files6changedlines, file1/2 sa/reporting, hunk1/3,rows1–7/7; body visibly overflowed."
},
{
"capture": "captures/14-preview-manual-scroll.json",
"observation": "Scrolled body430 at937,620; later context/changed rows visible and footer/input remained reachable."
},
{
"capture": "captures/15-preview-full-details.json",
"observation": "Clicked Full details; origin views.arcadia and displayed sa/reporting.arcadia retained."
},
{
"capture": "captures/16-return-preview.json",
"observation": "Clicked Preview pane; same approved file/hunk/rows, mounted body returned to top (permitted)."
},
{
"capture": "captures/17-preview-scroll-after-details.json",
"observation": "Scrolled430 again; later rows visible."
},
{
"capture": "captures/18-rename-rejects-definition.json",
"observation": "Pressed F12 while Rename open; same modal/approval/scroll remained. This was Definition, not Show in diagrams."
},
{
"capture": "captures/19-rename-cancel.json",
"observation": "Pressed Escape once; Text restored, all changes saved, all6disk files byte-identical to baseline."
},
{
"capture": "captures/20-usage-chooser.json",
"observation": "Clicked Show in diagrams from same reference; ready2-destination chooser observed. Loading not observed."
},
{
"capture": "captures/21-usage-rejects-rename.json",
"observation": "Pressed F2 while ready chooser open; chooser unchanged, no Rename modal."
},
{
"capture": "captures/22-usage-cancel.json",
"observation": "Escape once dismissed chooser."
},
{
"capture": "captures/23-fresh-rename-after-chooser.json",
"observation": "F2 opened fresh Rename for correct alias."
},
{
"capture": "captures/24-confirmation-preview.json",
"observation": "Appended _union in alias input and Preview;2files6changedlines."
},
{
"capture": "captures/25-rename-confirmed-focus.json",
"observation": "Clicked Rename alias; correct second reference selected in focused editor, unsaved accepted model."
},
{
"capture": "captures/26-immediate-text-probe.json",
"observation": "Without refocusing/clicking, typed assess_report_probe; exactly selected reference changed; expected unknown-reference draft diagnostic."
},
{
"capture": "captures/27-text-undo-preserves-rename.json",
"observation": "Ctrl+Z restored accepted assess_report_union and cleared draft error; all6disk files still baseline. Caret/viewport did not retain selected alias for immediate lookup."
},
{
"capture": "captures/28-renamed-usage-chooser.json",
"observation": "First Show in diagrams after Undo text opened no-target Definitions panel instead of chooser; this negative result is preserved."
},
{
"capture": "captures/29-restored-reference-refocused.json",
"observation": "Closed no-target panel, clicked inside restored alias at633,864."
},
{
"capture": "captures/30-renamed-two-destinations.json",
"observation": "Clicked Show in diagrams; correct renamed alias and2saved destinations displayed."
},
{
"capture": "captures/31-functional-destination.json",
"observation": "Chose functional-containment group; exact one node representation displayed."
},
{
"capture": "captures/32-functional-reveal.json",
"observation": "Chose Assess report node; readable125% functional-containment target and ID403/name/renamedalias in properties."
},
{
"capture": "captures/33-functional-settled.json",
"observation": "Fresh capture after independent work; target remained visible/readable."
},
{
"capture": "captures/34-text-return-first-view.json",
"observation": "Returned Text; source position retained."
},
{
"capture": "captures/35-system-boundary-choice.json",
"observation": "Reopened chooser and selected system-boundary group."
},
{
"capture": "captures/36-system-boundary-reveal.json",
"observation": "Chose Assess report node; readable125% system-boundary target and ID403/name/renamedalias in properties."
},
{
"capture": "captures/37-system-boundary-settled.json",
"observation": "Fresh settled capture; full accepted SourceBundle from isolated recovery independently equals6exact substitutions and disk still baseline."
},
{
"capture": "captures/38-one-model-undo.json",
"observation": "Returned Text and clicked Undo model once; all changes saved, Undo disabled and Redo available."
},
{
"capture": "captures/39-save-after-undo.json",
"observation": "Clicked Save all; all6physicalfiles exactly baseline."
},
{
"capture": "captures/40-one-model-redo.json",
"observation": "Clicked Redo model once; accepted rename dirty again."
},
{
"capture": "captures/41-save-redone-rename.json",
"observation": "Save all; all6files exactly expected, onlyreporting4/views2 substitutions."
},
{
"capture": "captures/42-home-for-reopen.json",
"observation": "Home shows isolated fixture recent path."
},
{
"capture": "captures/43-native-reopen.json",
"observation": "Clicked Recent Open, not Continue editing; status confirms source opened,6files, no migration dirty state."
},
{
"capture": "captures/44-persisted-alias-after-reopen.json",
"observation": "Text→views→Ctrl+End shows persisted renamed reference; modelUndo/Redo disabled after fresh open."
},
{
"capture": "captures/45-passive-save-after-reopen.json",
"observation": "Save all; everyphysicalsourcebyte still equals expected."
}
],
"limitations": [
"No native between-frame fast toggle or held queued operation injection; deterministic widget/App tests cover those races.",
"No native loading chooser state or underlying Show in diagrams click during Rename; underlying control was covered.",
"No small-window or large-project native run in this session.",
"No direct full-Project runtime serialization comparison; complete SourceBundle/disk comparison and independent compatible CLI command parity are recorded.",
"Native screenshot capture for the file dialog failed; parent-window capture plus keyboard succeeded.",
"Ctrl+Z restored text but required explicit alias refocus before diagram lookup; negative no-target panel retained."
],
"close": "close-request.json and normal-close.json bind normal title-bar close with exit0, emptylogs and unchanged immutable launch inputs."
}
@@ -0,0 +1,92 @@
param([Parameter(Mandatory)][string]$Original, [Parameter(Mandatory)][string]$Review)
$ErrorActionPreference = 'Stop'
$destination = $PSScriptRoot
$Original = (Resolve-Path -LiteralPath $Original).Path
function Json($path) { Get-Content -LiteralPath $path -Raw | ConvertFrom-Json }
function Hash($path) { (Get-FileHash -LiteralPath $path -Algorithm SHA256).Hash.ToLowerInvariant() }
function AssertFile($root, $record) {
$path = Join-Path $root $record.path
if ((Get-Item -LiteralPath $path).Length -ne $record.bytes -or (Hash $path) -ne $record.sha256) { throw "File mismatch: $path" }
}
$inputRecord = Json "$Original/input-manifest.json"
foreach ($file in $inputRecord.immutable_files) { AssertFile $Original $file }
if ($inputRecord.immutable_files.Count -ne 15) { throw 'Expected 15 immutable inputs' }
$launch = Json "$Original/launch.json"
$close = Json "$Original/normal-close.json"
if ($launch.manifest_sha256 -ne (Hash "$Original/input-manifest.json") -or $launch.script_sha256 -ne (Hash "$Original/launch.ps1") -or $launch.binary_sha256 -ne $inputRecord.binary_copy_sha256 -or $launch.pid -ne $close.pid -or $launch.started_utc -ne $close.started_utc) { throw 'Launch binding mismatch' }
$before = Json "$Original/evidence/inputs-complete-before.json"
$after = Json "$Original/evidence/inputs-complete-after.json"
if ($before.count -ne 577 -or $after.count -ne 577 -or ($before.files | ConvertTo-Json -Depth 8 -Compress) -cne ($after.files | ConvertTo-Json -Depth 8 -Compress)) { throw 'Build input manifest mismatch' }
foreach ($file in $after.files) { AssertFile $after.workspace $file }
if ($close.pid -ne 1352 -or $close.exit_code -ne 0 -or -not $close.immutable_inputs_unchanged) { throw 'Unexpected closure' }
foreach ($file in Get-ChildItem -LiteralPath "$Original/logs" -File) { if ($file.Length -ne 0) { throw 'Expected empty logs' } }
$captures = @(Get-ChildItem -LiteralPath "$Original/captures" -Filter '*.json' -File)
if ($captures.Count -ne 44) { throw 'Expected 44 capture records' }
foreach ($capture in $captures) {
foreach ($screen in (Json $capture.FullName).screenshots) {
AssertFile $Original $screen
$bytes = [IO.File]::ReadAllBytes((Join-Path $Original $screen.path))
if ($screen.mime -ne 'image/jpeg' -or $bytes[0] -ne 255 -or $bytes[1] -ne 216 -or $bytes[2] -ne 255) { throw 'Unexpected capture format' }
}
}
$actions = Json "$Original/action-observations.json"
$actionNames = @($actions.observations.capture | Sort-Object)
$captureNames = @($captures | ForEach-Object { 'captures/' + $_.Name } | Sort-Object)
if (($actionNames -join "`n") -cne ($captureNames -join "`n")) { throw 'Action/capture membership differs' }
foreach ($kind in @('seed','baseline')) {
foreach ($file in (Json "$Original/$kind-manifest.json").files) { AssertFile "$Original/$kind" $file }
}
$snapshot = Json "$Original/snapshots/renamed-before-model-undo.json"
$sourceChecks = @()
foreach ($file in (Json "$Original/baseline-manifest.json").files) {
$baseline = [IO.File]::ReadAllText((Join-Path "$Original/baseline" $file.path))
$expected = [regex]::Replace($baseline, '\bassess_report\b', 'assess_report_union')
$edits = [regex]::Matches($baseline, '\bassess_report\b').Count
if ($snapshot.accepted.files.($file.path) -cne $expected) { throw "Snapshot mismatch: $($file.path)" }
foreach ($dir in @('fixture','oracle-model-equivalence-20260913/accepted','oracle-model-equivalence-20260913/command-renamed')) {
$actualBytes = [IO.File]::ReadAllBytes((Join-Path "$Original/$dir" $file.path))
$expectedBytes = [Text.UTF8Encoding]::new($false).GetBytes($expected)
if ([Convert]::ToBase64String($actualBytes) -cne [Convert]::ToBase64String($expectedBytes)) { throw "Source mismatch: $dir/$($file.path)" }
}
if ((Hash (Join-Path "$Original/baseline" $file.path)) -ne (Hash (Join-Path "$Original/oracle-model-equivalence-20260913/baseline" $file.path))) { throw 'CLI baseline mismatch' }
$sourceChecks += [ordered]@{path=$file.path; substitutions=$edits; snapshotAndFinalAndCliExact=$true}
}
if (($sourceChecks.substitutions | Measure-Object -Sum).Sum -ne 6) { throw 'Expected six substitutions' }
$cli = Json "$Original/oracle-model-equivalence-20260913/receipt.json"
if ($cli.commands.Count -ne 6 -or @($cli.commands | Where-Object exit_code -ne 0).Count -or $cli.cli_sha256_before -ne $cli.cli_sha256_after) { throw 'CLI receipt mismatch' }
$checks = @('check-baseline','check-accepted','check-command-copy') | ForEach-Object { Json "$Original/oracle-model-equivalence-20260913/$_.stdout.txt" }
foreach ($check in $checks) { if (@($check.diagnostics | Where-Object severity -eq 'error').Count -or @($check.diagnostics | Where-Object severity -eq 'warning').Count -ne 11) { throw 'Unexpected CLI diagnostics' } }
$diagnosticSets = @($checks | ForEach-Object { ,@($_.diagnostics | ForEach-Object { @($_.severity,$_.code,$_.object_id,$_.field,$_.message) -join '|' } | Sort-Object) })
foreach ($set in $diagnosticSets) { if (($set -join "`n") -cne ($diagnosticSets[0] -join "`n")) { throw 'Diagnostic identities/messages changed' } }
$copied = @()
$originalFiles = @(Get-ChildItem -LiteralPath $Original -File)
foreach ($dir in @('seed','baseline','fixture','snapshots','evidence','logs','oracle-model-equivalence-20260913')) { $originalFiles += @(Get-ChildItem -LiteralPath "$Original/$dir" -Recurse -File) }
$originalFiles += $captures
foreach ($file in $originalFiles) {
$relative = [IO.Path]::GetRelativePath($Original,$file.FullName).Replace('\','/')
$target = Join-Path $destination $relative
[IO.Directory]::CreateDirectory([IO.Path]::GetDirectoryName($target)) | Out-Null
if (Test-Path -LiteralPath $target) { throw "Do not overwrite archive: $target" }
Copy-Item -LiteralPath $file.FullName -Destination $target
if ((Hash $file.FullName) -ne (Hash $target)) { throw 'Copy mismatch' }
$copied += [ordered]@{path=$relative; bytes=$file.Length; sha256=(Hash $target)}
}
Copy-Item -LiteralPath $Review -Destination "$destination/independent-review.md"
if ((Hash $Review) -ne (Hash "$destination/independent-review.md")) { throw 'Review copy mismatch' }
Add-Type -AssemblyName System.IO.Compression.FileSystem
[IO.Compression.ZipFile]::CreateFromDirectory("$Original/captures", "$destination/captures.zip", [IO.Compression.CompressionLevel]::Optimal, $false)
$zip = [IO.Compression.ZipFile]::OpenRead("$destination/captures.zip")
$captureManifest = @()
try {
if ($zip.Entries.Count -ne 88) { throw 'Expected 88 capture ZIP entries' }
foreach ($entry in $zip.Entries) {
$stream = $entry.Open()
try { $sha = [Security.Cryptography.SHA256]::Create(); try { $digest = [Convert]::ToHexString($sha.ComputeHash($stream)).ToLowerInvariant() } finally { $sha.Dispose() } } finally { $stream.Dispose() }
$originalFile = Get-Item -LiteralPath (Join-Path "$Original/captures" $entry.FullName)
if ($entry.Length -ne $originalFile.Length -or $digest -ne (Hash $originalFile.FullName)) { throw 'ZIP mismatch' }
$captureManifest += [ordered]@{path=$entry.FullName; bytes=$entry.Length; sha256=$digest}
}
} finally { $zip.Dispose() }
$captureManifest | ConvertTo-Json -Depth 8 | Set-Content -LiteralPath "$destination/capture-manifest.json" -Encoding utf8
[ordered]@{verifiedUtc=[DateTime]::UtcNow.ToString('o'); source=$inputRecord.source_commit; immutableInputsChecked=15; currentBuildInputsChecked=577; beforeAfterBuildInputsEqual=$true; capturesChecked=44; zipEntriesChecked=88; actionMappingsChecked=44; binaryBytes=115379712; binarySha256=$inputRecord.binary_copy_sha256; closeExitCode=$close.exit_code; sourceChecks=$sourceChecks; cliCommandsPassed=6; cliWarningsPerCheck=11; cliDiagnosticIdentitiesAndMessagesEqual=$true; reviewSha256=(Hash $Review); copiedFiles=$copied; limits='Checks preserved source bytes, receipts and artifacts; no compiler, native inputs, or direct runtime Project export executed by archivist.'} | ConvertTo-Json -Depth 12 | Set-Content -LiteralPath "$destination/verification.json" -Encoding utf8
Write-Output "Verified 15 immutable inputs, 44 JPEGs, 88 ZIP entries, 44 action mappings, six source files, six CLI receipts; copied $($copied.Count) raw files."
@@ -0,0 +1,42 @@
{
"utc": "2026-09-13T03:15:04.080Z",
"stage": "After explicit native schema3-to7 save; before rename",
"files": [
{
"path": "oa.arcadia",
"bytes": 2364,
"sha256": "c04efaa1ae5a2053e63aac70f79ea7bb845ef1db1ff8e68f23abfe24f1bc180f",
"aliasTokenCount": 0
},
{
"path": "project.arcadia",
"bytes": 606,
"sha256": "260505b7f54a0d256bce2af8499bb46cc78ffe564628bd5f976ce358d1796f3a",
"aliasTokenCount": 0
},
{
"path": "views.arcadia",
"bytes": 3508,
"sha256": "e29ad3f406a6a50d2f0ae2ca2a53ee3b0c18222cd4098704a46d4f48b64ea17f",
"aliasTokenCount": 2
},
{
"path": "sa/assurance.arcadia",
"bytes": 682,
"sha256": "ab76044836e4dcd42a82d316846ec87da2108939aa2037640c5bca1d2ecdee0f",
"aliasTokenCount": 0
},
{
"path": "sa/participants.arcadia",
"bytes": 1231,
"sha256": "1abad579812e77877b45a3d8e3c3e9da734be2d04a0254cc730a5257ebd2dc88",
"aliasTokenCount": 0
},
{
"path": "sa/reporting.arcadia",
"bytes": 3061,
"sha256": "893050516ce47f07039f04879474c7a019b8b2f7b6002a8d950b005334e34692",
"aliasTokenCount": 3
}
]
}
@@ -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;
}
@@ -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";
}
@@ -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;
}
@@ -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];
}
@@ -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;
}
@@ -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; };
}
@@ -0,0 +1,29 @@
{
"utc": "2026-09-13T03:18:33.311Z",
"files": [
{
"path": "oa.arcadia",
"unchanged": true
},
{
"path": "project.arcadia",
"unchanged": true
},
{
"path": "views.arcadia",
"unchanged": true
},
{
"path": "sa/assurance.arcadia",
"unchanged": true
},
{
"path": "sa/participants.arcadia",
"unchanged": true
},
{
"path": "sa/reporting.arcadia",
"unchanged": true
}
]
}
@@ -0,0 +1,442 @@
[
{
"path": "01-home-0.jpg",
"bytes": 99196,
"sha256": "1a479b9e775c3a13d952ef08b63921610364237e27b7b9379b1da1db112bebf6"
},
{
"path": "01-home.json",
"bytes": 585,
"sha256": "c5685b2d58494372b67966f2ea1b1d96d2ab84a2ea1c26561cc6394db482d3f2"
},
{
"path": "02-open-dialog-0.jpg",
"bytes": 80492,
"sha256": "00d5da5ca209696e0865bb604f2a98fd41d2e6279051faee3ce57b90ce2894d2"
},
{
"path": "02-open-dialog.json",
"bytes": 1104,
"sha256": "2eab78f9ace88c3a9102926e44f42b87fb7668aeb107887adb720a4d06f1eba7"
},
{
"path": "04-dialog-parent-recovery-0.jpg",
"bytes": 80538,
"sha256": "d2fb3ce869696f40a3de468bdfa1ce5be3072d57dc3b6db1e515e7e91c0cf509"
},
{
"path": "04-dialog-parent-recovery.json",
"bytes": 919,
"sha256": "c72a5ff92cef4511af09210eaa6c842cc145ae4fd1f7404cc2e2f8e8dd430303"
},
{
"path": "05-fixture-path-entered-0.jpg",
"bytes": 86650,
"sha256": "41fce5769a40ea8b3f4823094a91735d6f743719f10216b5a1cb46441be82a7d"
},
{
"path": "05-fixture-path-entered.json",
"bytes": 601,
"sha256": "524c0f4527f8ad129df207c5cee4491c8062aef41a144cde97632003ff1819e1"
},
{
"path": "06-fixture-open-request-0.jpg",
"bytes": 145763,
"sha256": "45d7247b2fc0c13712ebfec65688a26eaae2c232ab3d2107ee56f516a475f427"
},
{
"path": "06-fixture-open-request.json",
"bytes": 602,
"sha256": "59a16d742b7fa572c246c3529531e92bd74150c0a85069f380f4d1ff9b87cacc"
},
{
"path": "07-save-migrated-baseline-0.jpg",
"bytes": 141308,
"sha256": "0743f56edb1330d641c0a40b4999d3cf406d1bc3b04c9922678b527176168e96"
},
{
"path": "07-save-migrated-baseline.json",
"bytes": 631,
"sha256": "df09de4429087d6cae75dc7a679ed79212522669e9bf3010519e0f35dc7e812d"
},
{
"path": "08-text-open-0.jpg",
"bytes": 128669,
"sha256": "95dc77792fd2a1f02f51226cc041fa794407af419fb5a72249852b0f3f5519b9"
},
{
"path": "08-text-open.json",
"bytes": 618,
"sha256": "53488509c0eb4c761432fe89f065e387783386963c3e021b92f9bda6c63c00cb"
},
{
"path": "09-views-source-0.jpg",
"bytes": 151679,
"sha256": "602640e475993ec194f134eb2cc5bd3c476e2c9bcb4c9555926f54fbbd82324e"
},
{
"path": "09-views-source.json",
"bytes": 621,
"sha256": "78ce04c1c07a22d7adcd1dd31d56346ae8a4f0aa79d7046d165f818f8baa8b33"
},
{
"path": "10-second-reference-context-0.jpg",
"bytes": 142282,
"sha256": "6ae50cf23f0c8ef0fc37ed87014b1fabb4a29ddd5637ba7790e6dfef506328fb"
},
{
"path": "10-second-reference-context.json",
"bytes": 633,
"sha256": "df481dc37521ea420cfbc17eccbb369b38e9bff130ac3412275aeef508736092"
},
{
"path": "11-rename-open-0.jpg",
"bytes": 100781,
"sha256": "b14d7e702afb05e189cee2777854b00d0dd72d6431d40d823417134930640e8b"
},
{
"path": "11-rename-open.json",
"bytes": 620,
"sha256": "b87d33fbc7237c310682253cc498fc94cc5973cf169a50a270a1f9b5f7118b39"
},
{
"path": "12-rename-target-entered-0.jpg",
"bytes": 101424,
"sha256": "0668d2417a767fcb483b785a9e6f0b76c1a8ae95d89b81366b9b24a90e2c5361"
},
{
"path": "12-rename-target-entered.json",
"bytes": 630,
"sha256": "bb09a3cb881ba29a18653f69e903fc6d354e27aaabdd35b70ecfdc6a6fefe0df"
},
{
"path": "13-rename-preview-0.jpg",
"bytes": 105584,
"sha256": "e42a359c2abc526fbbf1277f83bc5c9c4f636a9920f4e5c768683b435b4353ac"
},
{
"path": "13-rename-preview.json",
"bytes": 623,
"sha256": "193c6437154a65fb81eaa18e6c216896954cea299e1fea48c9d55b82989f95df"
},
{
"path": "14-preview-manual-scroll-0.jpg",
"bytes": 116397,
"sha256": "017d635ab9e095593f5b62882f54b1e7dee8ea9becd6979533e6738ddf60e821"
},
{
"path": "14-preview-manual-scroll.json",
"bytes": 630,
"sha256": "f7644307d349c77d429a98ec83c7b58cdaa9a4728ab8ca7074758ac6ad09463f"
},
{
"path": "15-preview-full-details-0.jpg",
"bytes": 106787,
"sha256": "d746473e932be994a3849b69453c201b20bc24bcdf25df9e4effab223dd3047e"
},
{
"path": "15-preview-full-details.json",
"bytes": 629,
"sha256": "63105c64c82ac5def6b666a3086222fb7e8d8bf3c540599b50704636f9394266"
},
{
"path": "16-return-preview-0.jpg",
"bytes": 105728,
"sha256": "b7c3b28cd858c95b33e6a31e6a161f98b72a0d9858096fa5a7337ee8461d19e6"
},
{
"path": "16-return-preview.json",
"bytes": 623,
"sha256": "573c2d564a40ecb3edd6dfb72483a6b0dac90027b15051c35742dd87fd858ebf"
},
{
"path": "17-preview-scroll-after-details-0.jpg",
"bytes": 116570,
"sha256": "87d68f31c8434f2c9c5b1c48365e0b5cb83081782447f2972a4a9631fb10f659"
},
{
"path": "17-preview-scroll-after-details.json",
"bytes": 637,
"sha256": "9820a5dc935d5aa5508abb715081b679f4b7ca37b4342141beb148ad5f509a99"
},
{
"path": "18-rename-rejects-definition-0.jpg",
"bytes": 116604,
"sha256": "23a790c38ed82fef12a6752b110fa0a900cb5ca5bfb4fa4aad5bdd1acac796b8"
},
{
"path": "18-rename-rejects-definition.json",
"bytes": 634,
"sha256": "9dd953b386b3c6dacc86a4d61688979b13ac537429364cbf2dae727f96b6aa10"
},
{
"path": "19-rename-cancel-0.jpg",
"bytes": 142661,
"sha256": "bfd4cf5f2c48e160b575cf8cf54c42924f1610ef337bfc051e766dab14231a61"
},
{
"path": "19-rename-cancel.json",
"bytes": 622,
"sha256": "8cdfc8061db49bde7d9e12a90f5d7e7890ad9c6c6a527a242dfe82677b4b189d"
},
{
"path": "20-usage-chooser-0.jpg",
"bytes": 125278,
"sha256": "c15e749d8f84e69a8350cb5dcd721ef9c5dc64364fe442fdc07a6f62f686a4f9"
},
{
"path": "20-usage-chooser.json",
"bytes": 622,
"sha256": "e4c2acd90d23a9f36cfe9e28225259076da4eccb3117ee1a768c6395cb92ca18"
},
{
"path": "21-usage-rejects-rename-0.jpg",
"bytes": 125204,
"sha256": "4884c4bdac958db5cc3616947c39a9248c5030e52925c5b98a48ed44b1ca02f1"
},
{
"path": "21-usage-rejects-rename.json",
"bytes": 629,
"sha256": "71b21ad826449a1b0584fdf194e9a165c33d006efab29eb41b615656abf51542"
},
{
"path": "22-usage-cancel-0.jpg",
"bytes": 142498,
"sha256": "c24c8fa5060c987bc26c7917ff55fbe10b6548953e0e80bf13350144dcfef712"
},
{
"path": "22-usage-cancel.json",
"bytes": 621,
"sha256": "1966a1114c58350918ff72323ca0d689bf83d51549c1ada56b1cacf01352d712"
},
{
"path": "23-fresh-rename-after-chooser-0.jpg",
"bytes": 100632,
"sha256": "de8178675770fe235baf7134e081575c7be307d7bed5f4386b1832e6650f1c25"
},
{
"path": "23-fresh-rename-after-chooser.json",
"bytes": 635,
"sha256": "c292f3e42545e35fe77917ea49a25be56200b8da796176b57ee920b1bab0190f"
},
{
"path": "24-confirmation-preview-0.jpg",
"bytes": 105569,
"sha256": "986a3ba1dbabc9a3affeba6a756d98952f626101d209e4ffebf9acb97fc9cbc8"
},
{
"path": "24-confirmation-preview.json",
"bytes": 629,
"sha256": "14101d50e74e6c747d5016390b4e4112d8348c7c2326cc76e99fd0334189924e"
},
{
"path": "25-rename-confirmed-focus-0.jpg",
"bytes": 146913,
"sha256": "d4fe6a6809c9febca57cb5572269cb8bfd460f56fe6a09771934b38b403072ca"
},
{
"path": "25-rename-confirmed-focus.json",
"bytes": 633,
"sha256": "9f4b2e19d06b18b299912f7cb93ed2789ac873f3ef5649d0f8381ef90b72455f"
},
{
"path": "26-immediate-text-probe-0.jpg",
"bytes": 131684,
"sha256": "0ece0cbf64909b5a8452629da9982df0e97c20d608f975b3344d3e27e0839633"
},
{
"path": "26-immediate-text-probe.json",
"bytes": 631,
"sha256": "35c6b93edd2e4a2a73f618d7c3fee430302ef8e4462fc776f509958deb1eb7eb"
},
{
"path": "27-text-undo-preserves-rename-0.jpg",
"bytes": 156199,
"sha256": "77a16017a3a594371f56148f0faeeb7a311304bba0816e10c67c387d95970741"
},
{
"path": "27-text-undo-preserves-rename.json",
"bytes": 637,
"sha256": "1424d95ae66abb2ef11f96d01e6603223651fafaca0eae6ec331eafd22aab470"
},
{
"path": "28-renamed-usage-chooser-0.jpg",
"bytes": 160495,
"sha256": "ea0a70104ba2f117ecdd05c6438d0d29bc987bc4702f5ebf22da45532ff77d80"
},
{
"path": "28-renamed-usage-chooser.json",
"bytes": 632,
"sha256": "e668b686986567f5a4d214d0d12963612e2030a6c6656e60f259fceb8100a542"
},
{
"path": "29-restored-reference-refocused-0.jpg",
"bytes": 156093,
"sha256": "524f27670080dd0a9acd93fd41294c4f50a2505dd6e9a05f22b4b1c39c54b252"
},
{
"path": "29-restored-reference-refocused.json",
"bytes": 639,
"sha256": "0cac28295f0a6171bb7905a96dddc204a672d77d0745180300ab543131a99a57"
},
{
"path": "30-renamed-two-destinations-0.jpg",
"bytes": 136562,
"sha256": "40ca46f5f0550e0c3d9868a66afea1d8d03c96f855272830ead39549d9c898e3"
},
{
"path": "30-renamed-two-destinations.json",
"bytes": 635,
"sha256": "8490c9c93b0f7639ce82d90e4acbcc81a6a42f1cfdb8f34df7058e85f598ff19"
},
{
"path": "31-functional-destination-0.jpg",
"bytes": 135952,
"sha256": "46c7177ea807713a8d3e587e974e13a22c9f7e3a48eeefa5225202baa9a538c2"
},
{
"path": "31-functional-destination.json",
"bytes": 633,
"sha256": "e73a9050a82024496f6a99789956bca7b67d73492bbf20740d6851b106fc2499"
},
{
"path": "32-functional-reveal-0.jpg",
"bytes": 129207,
"sha256": "26c2d29cb87049a9ee28a7a495b021c5649bcdd95a511bf8a4ff47dd984bb67f"
},
{
"path": "32-functional-reveal.json",
"bytes": 628,
"sha256": "37b52eae4621f9856c11efc029d31f11602540c2847a31484a91a9047ac9e82f"
},
{
"path": "33-functional-settled-0.jpg",
"bytes": 129207,
"sha256": "26c2d29cb87049a9ee28a7a495b021c5649bcdd95a511bf8a4ff47dd984bb67f"
},
{
"path": "33-functional-settled.json",
"bytes": 629,
"sha256": "546c320d0f17bf282131cd32bc6c2d3a0a3f083e10687bd3754c5bd8106cc8ff"
},
{
"path": "34-text-return-first-view-0.jpg",
"bytes": 151710,
"sha256": "7b03694bb91e08148c62a0a6eb3a16b8066c432824e47095ebe7e0976c6268fa"
},
{
"path": "34-text-return-first-view.json",
"bytes": 633,
"sha256": "0a5e5390aebd6e6a586f7ee5a583530dcd7bf2343803ab8af6ebef7f3660f925"
},
{
"path": "35-system-boundary-choice-0.jpg",
"bytes": 134985,
"sha256": "0566f0c0d4313a13a0fb66e762dd3df49eb6cbcdbcb538f7bf96ba4e82c5cd73"
},
{
"path": "35-system-boundary-choice.json",
"bytes": 633,
"sha256": "1d51dea85fe2deda8eb24e45dae22859a36b924f7fc8c18a71bfc139f0491cac"
},
{
"path": "36-system-boundary-reveal-0.jpg",
"bytes": 128266,
"sha256": "1b98d78d7f0910dfc99642fbcaefd5e5f85670a1d421f48f39d38e2c5b8ed599"
},
{
"path": "36-system-boundary-reveal.json",
"bytes": 633,
"sha256": "b369a467366d0bd0309f9ea5650e90848b45ca26f504fa02a78de09734f352e5"
},
{
"path": "37-system-boundary-settled-0.jpg",
"bytes": 128266,
"sha256": "1b98d78d7f0910dfc99642fbcaefd5e5f85670a1d421f48f39d38e2c5b8ed599"
},
{
"path": "37-system-boundary-settled.json",
"bytes": 634,
"sha256": "0d0ef249361e9a09b873b43d6a58f8f212c34f322108d7dc400d4a622489c57b"
},
{
"path": "38-one-model-undo-0.jpg",
"bytes": 149682,
"sha256": "cfce8d3c24fe7c4c205d6bd8989208f603c751c25657a7d805b0d06fbefcb4ff"
},
{
"path": "38-one-model-undo.json",
"bytes": 623,
"sha256": "93e9ea03cc2226ee9260316a3b61814f66989e807ed2ad669d388e6b5ef29d02"
},
{
"path": "39-save-after-undo-0.jpg",
"bytes": 149552,
"sha256": "a66048a3c4b846bc3c67e7d11d917d9ee4cff5af392b3a441c9cb1d50f279115"
},
{
"path": "39-save-after-undo.json",
"bytes": 624,
"sha256": "806a639d7da63a46ef220d7fa36bdf3bb84840f3b508c7df370d4a41c16a5bb7"
},
{
"path": "40-one-model-redo-0.jpg",
"bytes": 149830,
"sha256": "3387692609346e00ec065d61b0581b0ddb6b234876e6625e7644ebd816753986"
},
{
"path": "40-one-model-redo.json",
"bytes": 625,
"sha256": "26ee519fbeeb8f82248b69e6d760979e1d3f1dd6a3d356b285510072402a2f9c"
},
{
"path": "41-save-redone-rename-0.jpg",
"bytes": 149357,
"sha256": "e2fcfdbe8df61c834de47c18a97059a968d5a74e8012de5548082ded6b7a4aa2"
},
{
"path": "41-save-redone-rename.json",
"bytes": 627,
"sha256": "49cfc478cadee8efc8c5e6e7dc2ac9cb1b9d71c0c1db4a375131096f8618647d"
},
{
"path": "42-home-for-reopen-0.jpg",
"bytes": 115406,
"sha256": "c748bd9f3df0a7a7fe2308fa0994c7f6d81838b42fd8feb63a75f14e0397b42f"
},
{
"path": "42-home-for-reopen.json",
"bytes": 624,
"sha256": "865641340c7896f85003b9b7c15935416a5e0d4ed261deaab2f06a8667866758"
},
{
"path": "43-native-reopen-0.jpg",
"bytes": 119109,
"sha256": "70fcaf1b154fe2acfa1a5d87238ca825ceb4f6fb8ad8d67af0cf7e8ab5b9b3d8"
},
{
"path": "43-native-reopen.json",
"bytes": 622,
"sha256": "4f6e52a477a119e2c49454612329bfef189b123f01b32275151011e891f75635"
},
{
"path": "44-persisted-alias-after-reopen-0.jpg",
"bytes": 145318,
"sha256": "b252546bd2bc3d5157937b5c67c58ec85598ac72ba81fbb1b5b6284e8a7c7a19"
},
{
"path": "44-persisted-alias-after-reopen.json",
"bytes": 637,
"sha256": "b58314274bd57234b84a48007d6de5558ff608218f330ef483c4485f4bcf45bf"
},
{
"path": "45-passive-save-after-reopen-0.jpg",
"bytes": 141062,
"sha256": "e57ebfc5bf675c44368e0dd87af24331dc1aa2841e399a6b87a95fbebd26b5b6"
},
{
"path": "45-passive-save-after-reopen.json",
"bytes": 634,
"sha256": "7289ef602a59721d31d5e0f49f5ee7ec559c3076f405c339bb0cc710315dd4b1"
}
]
@@ -0,0 +1,20 @@
{
"utc": "2026-09-13T03:09:50.277Z",
"window": {
"app": "process:C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\navigation-rename-native-a49b0ec-20260913\\package\\arcadia-studio.exe",
"id": 132973208,
"title": "Untitled mission — Arcadia Studio"
},
"accessibility": null,
"screenshots": [
{
"path": "captures/01-home-0.jpg",
"mime": "image/jpeg",
"bytes": 99196,
"sha256": "1a479b9e775c3a13d952ef08b63921610364237e27b7b9379b1da1db112bebf6",
"id": "screenshot-0",
"width": 1442,
"height": 932
}
]
}
@@ -0,0 +1,23 @@
{
"utc": "2026-09-13T03:10:06.917Z",
"window": {
"app": "process:C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\navigation-rename-native-a49b0ec-20260913\\package\\arcadia-studio.exe",
"id": 132973208,
"title": "Untitled mission — Arcadia Studio"
},
"accessibility": {
"focused_element": "0 window Untitled mission — Arcadia Studio Secondary Actions: Raise",
"tree": "Window: \"Untitled mission — Arcadia Studio\", App: arcadia-studio.exe.\n\t0 window Untitled mission — Arcadia Studio Secondary Actions: Raise\n\t\t1 title bar\n\t\t\t2 menu bar System ID: MenuBar\n\t\t\t\t3 menu item System\n\t\t\t4 button Minimize\n\t\t\t5 button Maximize\n\t\t\t6 button Close\n\nThe focused UI element is 0 window Untitled mission — Arcadia Studio Secondary Actions: Raise."
},
"screenshots": [
{
"path": "captures/02-open-dialog-0.jpg",
"mime": "image/jpeg",
"bytes": 80492,
"sha256": "00d5da5ca209696e0865bb604f2a98fd41d2e6279051faee3ce57b90ce2894d2",
"id": "screenshot-0",
"width": 1442,
"height": 932
}
]
}
@@ -0,0 +1,22 @@
{
"utc": "2026-09-13T03:13:43.258Z",
"window": {
"app": "process:C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\navigation-rename-native-a49b0ec-20260913\\package\\arcadia-studio.exe",
"id": 132973208,
"title": "Untitled mission — Arcadia Studio"
},
"accessibility": {
"tree": "Window: \"Untitled mission — Arcadia Studio\", App: arcadia-studio.exe.\n\t0 window Untitled mission — Arcadia Studio Secondary Actions: Raise\n\t\t1 title bar\n\t\t\t2 menu bar System ID: MenuBar\n\t\t\t\t3 menu item System\n\t\t\t4 button Minimize\n\t\t\t5 button Maximize\n\t\t\t6 button Close"
},
"screenshots": [
{
"path": "captures/04-dialog-parent-recovery-0.jpg",
"mime": "image/jpeg",
"bytes": 80538,
"sha256": "d2fb3ce869696f40a3de468bdfa1ce5be3072d57dc3b6db1e515e7e91c0cf509",
"id": "screenshot-0",
"width": 1442,
"height": 932
}
]
}
@@ -0,0 +1,20 @@
{
"utc": "2026-09-13T03:14:03.373Z",
"window": {
"app": "process:C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\navigation-rename-native-a49b0ec-20260913\\package\\arcadia-studio.exe",
"id": 132973208,
"title": "Untitled mission — Arcadia Studio"
},
"accessibility": null,
"screenshots": [
{
"path": "captures/05-fixture-path-entered-0.jpg",
"mime": "image/jpeg",
"bytes": 86650,
"sha256": "41fce5769a40ea8b3f4823094a91735d6f743719f10216b5a1cb46441be82a7d",
"id": "screenshot-0",
"width": 1442,
"height": 932
}
]
}
@@ -0,0 +1,20 @@
{
"utc": "2026-09-13T03:14:14.843Z",
"window": {
"app": "process:C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\navigation-rename-native-a49b0ec-20260913\\package\\arcadia-studio.exe",
"id": 132973208,
"title": "Untitled mission — Arcadia Studio"
},
"accessibility": null,
"screenshots": [
{
"path": "captures/06-fixture-open-request-0.jpg",
"mime": "image/jpeg",
"bytes": 145763,
"sha256": "45d7247b2fc0c13712ebfec65688a26eaae2c232ab3d2107ee56f516a475f427",
"id": "screenshot-0",
"width": 1442,
"height": 932
}
]
}
@@ -0,0 +1,20 @@
{
"utc": "2026-09-13T03:14:37.229Z",
"window": {
"app": "process:C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\navigation-rename-native-a49b0ec-20260913\\package\\arcadia-studio.exe",
"id": 132973208,
"title": "Distress response — nested source project — Arcadia Studio"
},
"accessibility": null,
"screenshots": [
{
"path": "captures/07-save-migrated-baseline-0.jpg",
"mime": "image/jpeg",
"bytes": 141308,
"sha256": "0743f56edb1330d641c0a40b4999d3cf406d1bc3b04c9922678b527176168e96",
"id": "screenshot-0",
"width": 1442,
"height": 932
}
]
}
@@ -0,0 +1,20 @@
{
"utc": "2026-09-13T03:15:38.450Z",
"window": {
"app": "process:C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\navigation-rename-native-a49b0ec-20260913\\package\\arcadia-studio.exe",
"id": 132973208,
"title": "Distress response — nested source project — Arcadia Studio"
},
"accessibility": null,
"screenshots": [
{
"path": "captures/08-text-open-0.jpg",
"mime": "image/jpeg",
"bytes": 128669,
"sha256": "95dc77792fd2a1f02f51226cc041fa794407af419fb5a72249852b0f3f5519b9",
"id": "screenshot-0",
"width": 1442,
"height": 932
}
]
}
@@ -0,0 +1,20 @@
{
"utc": "2026-09-13T03:15:51.398Z",
"window": {
"app": "process:C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\navigation-rename-native-a49b0ec-20260913\\package\\arcadia-studio.exe",
"id": 132973208,
"title": "Distress response — nested source project — Arcadia Studio"
},
"accessibility": null,
"screenshots": [
{
"path": "captures/09-views-source-0.jpg",
"mime": "image/jpeg",
"bytes": 151679,
"sha256": "602640e475993ec194f134eb2cc5bd3c476e2c9bcb4c9555926f54fbbd82324e",
"id": "screenshot-0",
"width": 1442,
"height": 932
}
]
}
@@ -0,0 +1,20 @@
{
"utc": "2026-09-13T03:16:16.156Z",
"window": {
"app": "process:C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\navigation-rename-native-a49b0ec-20260913\\package\\arcadia-studio.exe",
"id": 132973208,
"title": "Distress response — nested source project — Arcadia Studio"
},
"accessibility": null,
"screenshots": [
{
"path": "captures/10-second-reference-context-0.jpg",
"mime": "image/jpeg",
"bytes": 142282,
"sha256": "6ae50cf23f0c8ef0fc37ed87014b1fabb4a29ddd5637ba7790e6dfef506328fb",
"id": "screenshot-0",
"width": 1442,
"height": 932
}
]
}
@@ -0,0 +1,20 @@
{
"utc": "2026-09-13T03:16:42.641Z",
"window": {
"app": "process:C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\navigation-rename-native-a49b0ec-20260913\\package\\arcadia-studio.exe",
"id": 132973208,
"title": "Distress response — nested source project — Arcadia Studio"
},
"accessibility": null,
"screenshots": [
{
"path": "captures/11-rename-open-0.jpg",
"mime": "image/jpeg",
"bytes": 100781,
"sha256": "b14d7e702afb05e189cee2777854b00d0dd72d6431d40d823417134930640e8b",
"id": "screenshot-0",
"width": 1442,
"height": 932
}
]
}
@@ -0,0 +1,20 @@
{
"utc": "2026-09-13T03:17:03.831Z",
"window": {
"app": "process:C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\navigation-rename-native-a49b0ec-20260913\\package\\arcadia-studio.exe",
"id": 132973208,
"title": "Distress response — nested source project — Arcadia Studio"
},
"accessibility": null,
"screenshots": [
{
"path": "captures/12-rename-target-entered-0.jpg",
"mime": "image/jpeg",
"bytes": 101424,
"sha256": "0668d2417a767fcb483b785a9e6f0b76c1a8ae95d89b81366b9b24a90e2c5361",
"id": "screenshot-0",
"width": 1442,
"height": 932
}
]
}
@@ -0,0 +1,20 @@
{
"utc": "2026-09-13T03:17:16.098Z",
"window": {
"app": "process:C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\navigation-rename-native-a49b0ec-20260913\\package\\arcadia-studio.exe",
"id": 132973208,
"title": "Distress response — nested source project — Arcadia Studio"
},
"accessibility": null,
"screenshots": [
{
"path": "captures/13-rename-preview-0.jpg",
"mime": "image/jpeg",
"bytes": 105584,
"sha256": "e42a359c2abc526fbbf1277f83bc5c9c4f636a9920f4e5c768683b435b4353ac",
"id": "screenshot-0",
"width": 1442,
"height": 932
}
]
}
@@ -0,0 +1,20 @@
{
"utc": "2026-09-13T03:17:26.622Z",
"window": {
"app": "process:C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\navigation-rename-native-a49b0ec-20260913\\package\\arcadia-studio.exe",
"id": 132973208,
"title": "Distress response — nested source project — Arcadia Studio"
},
"accessibility": null,
"screenshots": [
{
"path": "captures/14-preview-manual-scroll-0.jpg",
"mime": "image/jpeg",
"bytes": 116397,
"sha256": "017d635ab9e095593f5b62882f54b1e7dee8ea9becd6979533e6738ddf60e821",
"id": "screenshot-0",
"width": 1442,
"height": 932
}
]
}
@@ -0,0 +1,20 @@
{
"utc": "2026-09-13T03:17:36.960Z",
"window": {
"app": "process:C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\navigation-rename-native-a49b0ec-20260913\\package\\arcadia-studio.exe",
"id": 132973208,
"title": "Distress response — nested source project — Arcadia Studio"
},
"accessibility": null,
"screenshots": [
{
"path": "captures/15-preview-full-details-0.jpg",
"mime": "image/jpeg",
"bytes": 106787,
"sha256": "d746473e932be994a3849b69453c201b20bc24bcdf25df9e4effab223dd3047e",
"id": "screenshot-0",
"width": 1442,
"height": 932
}
]
}
@@ -0,0 +1,20 @@
{
"utc": "2026-09-13T03:17:51.348Z",
"window": {
"app": "process:C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\navigation-rename-native-a49b0ec-20260913\\package\\arcadia-studio.exe",
"id": 132973208,
"title": "Distress response — nested source project — Arcadia Studio"
},
"accessibility": null,
"screenshots": [
{
"path": "captures/16-return-preview-0.jpg",
"mime": "image/jpeg",
"bytes": 105728,
"sha256": "b7c3b28cd858c95b33e6a31e6a161f98b72a0d9858096fa5a7337ee8461d19e6",
"id": "screenshot-0",
"width": 1442,
"height": 932
}
]
}
@@ -0,0 +1,20 @@
{
"utc": "2026-09-13T03:18:04.505Z",
"window": {
"app": "process:C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\navigation-rename-native-a49b0ec-20260913\\package\\arcadia-studio.exe",
"id": 132973208,
"title": "Distress response — nested source project — Arcadia Studio"
},
"accessibility": null,
"screenshots": [
{
"path": "captures/17-preview-scroll-after-details-0.jpg",
"mime": "image/jpeg",
"bytes": 116570,
"sha256": "87d68f31c8434f2c9c5b1c48365e0b5cb83081782447f2972a4a9631fb10f659",
"id": "screenshot-0",
"width": 1442,
"height": 932
}
]
}
@@ -0,0 +1,20 @@
{
"utc": "2026-09-13T03:18:15.212Z",
"window": {
"app": "process:C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\navigation-rename-native-a49b0ec-20260913\\package\\arcadia-studio.exe",
"id": 132973208,
"title": "Distress response — nested source project — Arcadia Studio"
},
"accessibility": null,
"screenshots": [
{
"path": "captures/18-rename-rejects-definition-0.jpg",
"mime": "image/jpeg",
"bytes": 116604,
"sha256": "23a790c38ed82fef12a6752b110fa0a900cb5ca5bfb4fa4aad5bdd1acac796b8",
"id": "screenshot-0",
"width": 1442,
"height": 932
}
]
}
@@ -0,0 +1,20 @@
{
"utc": "2026-09-13T03:18:33.147Z",
"window": {
"app": "process:C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\navigation-rename-native-a49b0ec-20260913\\package\\arcadia-studio.exe",
"id": 132973208,
"title": "Distress response — nested source project — Arcadia Studio"
},
"accessibility": null,
"screenshots": [
{
"path": "captures/19-rename-cancel-0.jpg",
"mime": "image/jpeg",
"bytes": 142661,
"sha256": "bfd4cf5f2c48e160b575cf8cf54c42924f1610ef337bfc051e766dab14231a61",
"id": "screenshot-0",
"width": 1442,
"height": 932
}
]
}
@@ -0,0 +1,20 @@
{
"utc": "2026-09-13T03:18:46.938Z",
"window": {
"app": "process:C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\navigation-rename-native-a49b0ec-20260913\\package\\arcadia-studio.exe",
"id": 132973208,
"title": "Distress response — nested source project — Arcadia Studio"
},
"accessibility": null,
"screenshots": [
{
"path": "captures/20-usage-chooser-0.jpg",
"mime": "image/jpeg",
"bytes": 125278,
"sha256": "c15e749d8f84e69a8350cb5dcd721ef9c5dc64364fe442fdc07a6f62f686a4f9",
"id": "screenshot-0",
"width": 1442,
"height": 932
}
]
}
@@ -0,0 +1,20 @@
{
"utc": "2026-09-13T03:18:56.241Z",
"window": {
"app": "process:C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\navigation-rename-native-a49b0ec-20260913\\package\\arcadia-studio.exe",
"id": 132973208,
"title": "Distress response — nested source project — Arcadia Studio"
},
"accessibility": null,
"screenshots": [
{
"path": "captures/21-usage-rejects-rename-0.jpg",
"mime": "image/jpeg",
"bytes": 125204,
"sha256": "4884c4bdac958db5cc3616947c39a9248c5030e52925c5b98a48ed44b1ca02f1",
"id": "screenshot-0",
"width": 1442,
"height": 932
}
]
}
@@ -0,0 +1,20 @@
{
"utc": "2026-09-13T03:19:06.705Z",
"window": {
"app": "process:C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\navigation-rename-native-a49b0ec-20260913\\package\\arcadia-studio.exe",
"id": 132973208,
"title": "Distress response — nested source project — Arcadia Studio"
},
"accessibility": null,
"screenshots": [
{
"path": "captures/22-usage-cancel-0.jpg",
"mime": "image/jpeg",
"bytes": 142498,
"sha256": "c24c8fa5060c987bc26c7917ff55fbe10b6548953e0e80bf13350144dcfef712",
"id": "screenshot-0",
"width": 1442,
"height": 932
}
]
}
@@ -0,0 +1,20 @@
{
"utc": "2026-09-13T03:19:20.399Z",
"window": {
"app": "process:C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\navigation-rename-native-a49b0ec-20260913\\package\\arcadia-studio.exe",
"id": 132973208,
"title": "Distress response — nested source project — Arcadia Studio"
},
"accessibility": null,
"screenshots": [
{
"path": "captures/23-fresh-rename-after-chooser-0.jpg",
"mime": "image/jpeg",
"bytes": 100632,
"sha256": "de8178675770fe235baf7134e081575c7be307d7bed5f4386b1832e6650f1c25",
"id": "screenshot-0",
"width": 1442,
"height": 932
}
]
}
@@ -0,0 +1,20 @@
{
"utc": "2026-09-13T03:19:39.752Z",
"window": {
"app": "process:C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\navigation-rename-native-a49b0ec-20260913\\package\\arcadia-studio.exe",
"id": 132973208,
"title": "Distress response — nested source project — Arcadia Studio"
},
"accessibility": null,
"screenshots": [
{
"path": "captures/24-confirmation-preview-0.jpg",
"mime": "image/jpeg",
"bytes": 105569,
"sha256": "986a3ba1dbabc9a3affeba6a756d98952f626101d209e4ffebf9acb97fc9cbc8",
"id": "screenshot-0",
"width": 1442,
"height": 932
}
]
}
@@ -0,0 +1,20 @@
{
"utc": "2026-09-13T03:19:51.003Z",
"window": {
"app": "process:C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\navigation-rename-native-a49b0ec-20260913\\package\\arcadia-studio.exe",
"id": 132973208,
"title": "Distress response — nested source project * — Arcadia Studio"
},
"accessibility": null,
"screenshots": [
{
"path": "captures/25-rename-confirmed-focus-0.jpg",
"mime": "image/jpeg",
"bytes": 146913,
"sha256": "d4fe6a6809c9febca57cb5572269cb8bfd460f56fe6a09771934b38b403072ca",
"id": "screenshot-0",
"width": 1442,
"height": 932
}
]
}
@@ -0,0 +1,20 @@
{
"utc": "2026-09-13T03:20:00.667Z",
"window": {
"app": "process:C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\navigation-rename-native-a49b0ec-20260913\\package\\arcadia-studio.exe",
"id": 132973208,
"title": "Distress response — nested source project * — Arcadia Studio"
},
"accessibility": null,
"screenshots": [
{
"path": "captures/26-immediate-text-probe-0.jpg",
"mime": "image/jpeg",
"bytes": 131684,
"sha256": "0ece0cbf64909b5a8452629da9982df0e97c20d608f975b3344d3e27e0839633",
"id": "screenshot-0",
"width": 1442,
"height": 932
}
]
}
@@ -0,0 +1,20 @@
{
"utc": "2026-09-13T03:20:14.136Z",
"window": {
"app": "process:C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\navigation-rename-native-a49b0ec-20260913\\package\\arcadia-studio.exe",
"id": 132973208,
"title": "Distress response — nested source project * — Arcadia Studio"
},
"accessibility": null,
"screenshots": [
{
"path": "captures/27-text-undo-preserves-rename-0.jpg",
"mime": "image/jpeg",
"bytes": 156199,
"sha256": "77a16017a3a594371f56148f0faeeb7a311304bba0816e10c67c387d95970741",
"id": "screenshot-0",
"width": 1442,
"height": 932
}
]
}
@@ -0,0 +1,20 @@
{
"utc": "2026-09-13T03:20:29.661Z",
"window": {
"app": "process:C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\navigation-rename-native-a49b0ec-20260913\\package\\arcadia-studio.exe",
"id": 132973208,
"title": "Distress response — nested source project * — Arcadia Studio"
},
"accessibility": null,
"screenshots": [
{
"path": "captures/28-renamed-usage-chooser-0.jpg",
"mime": "image/jpeg",
"bytes": 160495,
"sha256": "ea0a70104ba2f117ecdd05c6438d0d29bc987bc4702f5ebf22da45532ff77d80",
"id": "screenshot-0",
"width": 1442,
"height": 932
}
]
}
@@ -0,0 +1,20 @@
{
"utc": "2026-09-13T03:21:07.449Z",
"window": {
"app": "process:C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\navigation-rename-native-a49b0ec-20260913\\package\\arcadia-studio.exe",
"id": 132973208,
"title": "Distress response — nested source project * — Arcadia Studio"
},
"accessibility": null,
"screenshots": [
{
"path": "captures/29-restored-reference-refocused-0.jpg",
"mime": "image/jpeg",
"bytes": 156093,
"sha256": "524f27670080dd0a9acd93fd41294c4f50a2505dd6e9a05f22b4b1c39c54b252",
"id": "screenshot-0",
"width": 1442,
"height": 932
}
]
}
@@ -0,0 +1,20 @@
{
"utc": "2026-09-13T03:21:20.430Z",
"window": {
"app": "process:C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\navigation-rename-native-a49b0ec-20260913\\package\\arcadia-studio.exe",
"id": 132973208,
"title": "Distress response — nested source project * — Arcadia Studio"
},
"accessibility": null,
"screenshots": [
{
"path": "captures/30-renamed-two-destinations-0.jpg",
"mime": "image/jpeg",
"bytes": 136562,
"sha256": "40ca46f5f0550e0c3d9868a66afea1d8d03c96f855272830ead39549d9c898e3",
"id": "screenshot-0",
"width": 1442,
"height": 932
}
]
}
@@ -0,0 +1,20 @@
{
"utc": "2026-09-13T03:21:34.193Z",
"window": {
"app": "process:C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\navigation-rename-native-a49b0ec-20260913\\package\\arcadia-studio.exe",
"id": 132973208,
"title": "Distress response — nested source project * — Arcadia Studio"
},
"accessibility": null,
"screenshots": [
{
"path": "captures/31-functional-destination-0.jpg",
"mime": "image/jpeg",
"bytes": 135952,
"sha256": "46c7177ea807713a8d3e587e974e13a22c9f7e3a48eeefa5225202baa9a538c2",
"id": "screenshot-0",
"width": 1442,
"height": 932
}
]
}
@@ -0,0 +1,20 @@
{
"utc": "2026-09-13T03:21:46.807Z",
"window": {
"app": "process:C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\navigation-rename-native-a49b0ec-20260913\\package\\arcadia-studio.exe",
"id": 132973208,
"title": "Distress response — nested source project * — Arcadia Studio"
},
"accessibility": null,
"screenshots": [
{
"path": "captures/32-functional-reveal-0.jpg",
"mime": "image/jpeg",
"bytes": 129207,
"sha256": "26c2d29cb87049a9ee28a7a495b021c5649bcdd95a511bf8a4ff47dd984bb67f",
"id": "screenshot-0",
"width": 1442,
"height": 932
}
]
}
@@ -0,0 +1,20 @@
{
"utc": "2026-09-13T03:22:34.135Z",
"window": {
"app": "process:C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\navigation-rename-native-a49b0ec-20260913\\package\\arcadia-studio.exe",
"id": 132973208,
"title": "Distress response — nested source project * — Arcadia Studio"
},
"accessibility": null,
"screenshots": [
{
"path": "captures/33-functional-settled-0.jpg",
"mime": "image/jpeg",
"bytes": 129207,
"sha256": "26c2d29cb87049a9ee28a7a495b021c5649bcdd95a511bf8a4ff47dd984bb67f",
"id": "screenshot-0",
"width": 1442,
"height": 932
}
]
}
@@ -0,0 +1,20 @@
{
"utc": "2026-09-13T03:22:47.279Z",
"window": {
"app": "process:C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\navigation-rename-native-a49b0ec-20260913\\package\\arcadia-studio.exe",
"id": 132973208,
"title": "Distress response — nested source project * — Arcadia Studio"
},
"accessibility": null,
"screenshots": [
{
"path": "captures/34-text-return-first-view-0.jpg",
"mime": "image/jpeg",
"bytes": 151710,
"sha256": "7b03694bb91e08148c62a0a6eb3a16b8066c432824e47095ebe7e0976c6268fa",
"id": "screenshot-0",
"width": 1442,
"height": 932
}
]
}
@@ -0,0 +1,20 @@
{
"utc": "2026-09-13T03:23:12.204Z",
"window": {
"app": "process:C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\navigation-rename-native-a49b0ec-20260913\\package\\arcadia-studio.exe",
"id": 132973208,
"title": "Distress response — nested source project * — Arcadia Studio"
},
"accessibility": null,
"screenshots": [
{
"path": "captures/35-system-boundary-choice-0.jpg",
"mime": "image/jpeg",
"bytes": 134985,
"sha256": "0566f0c0d4313a13a0fb66e762dd3df49eb6cbcdbcb538f7bf96ba4e82c5cd73",
"id": "screenshot-0",
"width": 1442,
"height": 932
}
]
}
@@ -0,0 +1,20 @@
{
"utc": "2026-09-13T03:23:20.129Z",
"window": {
"app": "process:C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\navigation-rename-native-a49b0ec-20260913\\package\\arcadia-studio.exe",
"id": 132973208,
"title": "Distress response — nested source project * — Arcadia Studio"
},
"accessibility": null,
"screenshots": [
{
"path": "captures/36-system-boundary-reveal-0.jpg",
"mime": "image/jpeg",
"bytes": 128266,
"sha256": "1b98d78d7f0910dfc99642fbcaefd5e5f85670a1d421f48f39d38e2c5b8ed599",
"id": "screenshot-0",
"width": 1442,
"height": 932
}
]
}
@@ -0,0 +1,20 @@
{
"utc": "2026-09-13T03:24:44.675Z",
"window": {
"app": "process:C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\navigation-rename-native-a49b0ec-20260913\\package\\arcadia-studio.exe",
"id": 132973208,
"title": "Distress response — nested source project * — Arcadia Studio"
},
"accessibility": null,
"screenshots": [
{
"path": "captures/37-system-boundary-settled-0.jpg",
"mime": "image/jpeg",
"bytes": 128266,
"sha256": "1b98d78d7f0910dfc99642fbcaefd5e5f85670a1d421f48f39d38e2c5b8ed599",
"id": "screenshot-0",
"width": 1442,
"height": 932
}
]
}
@@ -0,0 +1,20 @@
{
"utc": "2026-09-13T03:25:42.262Z",
"window": {
"app": "process:C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\navigation-rename-native-a49b0ec-20260913\\package\\arcadia-studio.exe",
"id": 132973208,
"title": "Distress response — nested source project — Arcadia Studio"
},
"accessibility": null,
"screenshots": [
{
"path": "captures/38-one-model-undo-0.jpg",
"mime": "image/jpeg",
"bytes": 149682,
"sha256": "cfce8d3c24fe7c4c205d6bd8989208f603c751c25657a7d805b0d06fbefcb4ff",
"id": "screenshot-0",
"width": 1442,
"height": 932
}
]
}
@@ -0,0 +1,20 @@
{
"utc": "2026-09-13T03:26:42.280Z",
"window": {
"app": "process:C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\navigation-rename-native-a49b0ec-20260913\\package\\arcadia-studio.exe",
"id": 132973208,
"title": "Distress response — nested source project — Arcadia Studio"
},
"accessibility": null,
"screenshots": [
{
"path": "captures/39-save-after-undo-0.jpg",
"mime": "image/jpeg",
"bytes": 149552,
"sha256": "a66048a3c4b846bc3c67e7d11d917d9ee4cff5af392b3a441c9cb1d50f279115",
"id": "screenshot-0",
"width": 1442,
"height": 932
}
]
}
@@ -0,0 +1,20 @@
{
"utc": "2026-09-13T03:26:57.625Z",
"window": {
"app": "process:C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\navigation-rename-native-a49b0ec-20260913\\package\\arcadia-studio.exe",
"id": 132973208,
"title": "Distress response — nested source project * — Arcadia Studio"
},
"accessibility": null,
"screenshots": [
{
"path": "captures/40-one-model-redo-0.jpg",
"mime": "image/jpeg",
"bytes": 149830,
"sha256": "3387692609346e00ec065d61b0581b0ddb6b234876e6625e7644ebd816753986",
"id": "screenshot-0",
"width": 1442,
"height": 932
}
]
}
@@ -0,0 +1,20 @@
{
"utc": "2026-09-13T03:27:16.533Z",
"window": {
"app": "process:C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\navigation-rename-native-a49b0ec-20260913\\package\\arcadia-studio.exe",
"id": 132973208,
"title": "Distress response — nested source project — Arcadia Studio"
},
"accessibility": null,
"screenshots": [
{
"path": "captures/41-save-redone-rename-0.jpg",
"mime": "image/jpeg",
"bytes": 149357,
"sha256": "e2fcfdbe8df61c834de47c18a97059a968d5a74e8012de5548082ded6b7a4aa2",
"id": "screenshot-0",
"width": 1442,
"height": 932
}
]
}
@@ -0,0 +1,20 @@
{
"utc": "2026-09-13T03:27:33.052Z",
"window": {
"app": "process:C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\navigation-rename-native-a49b0ec-20260913\\package\\arcadia-studio.exe",
"id": 132973208,
"title": "Distress response — nested source project — Arcadia Studio"
},
"accessibility": null,
"screenshots": [
{
"path": "captures/42-home-for-reopen-0.jpg",
"mime": "image/jpeg",
"bytes": 115406,
"sha256": "c748bd9f3df0a7a7fe2308fa0994c7f6d81838b42fd8feb63a75f14e0397b42f",
"id": "screenshot-0",
"width": 1442,
"height": 932
}
]
}
@@ -0,0 +1,20 @@
{
"utc": "2026-09-13T03:27:50.330Z",
"window": {
"app": "process:C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\navigation-rename-native-a49b0ec-20260913\\package\\arcadia-studio.exe",
"id": 132973208,
"title": "Distress response — nested source project — Arcadia Studio"
},
"accessibility": null,
"screenshots": [
{
"path": "captures/43-native-reopen-0.jpg",
"mime": "image/jpeg",
"bytes": 119109,
"sha256": "70fcaf1b154fe2acfa1a5d87238ca825ceb4f6fb8ad8d67af0cf7e8ab5b9b3d8",
"id": "screenshot-0",
"width": 1442,
"height": 932
}
]
}
@@ -0,0 +1,20 @@
{
"utc": "2026-09-13T03:29:03.146Z",
"window": {
"app": "process:C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\navigation-rename-native-a49b0ec-20260913\\package\\arcadia-studio.exe",
"id": 132973208,
"title": "Distress response — nested source project — Arcadia Studio"
},
"accessibility": null,
"screenshots": [
{
"path": "captures/44-persisted-alias-after-reopen-0.jpg",
"mime": "image/jpeg",
"bytes": 145318,
"sha256": "b252546bd2bc3d5157937b5c67c58ec85598ac72ba81fbb1b5b6284e8a7c7a19",
"id": "screenshot-0",
"width": 1442,
"height": 932
}
]
}
@@ -0,0 +1,20 @@
{
"utc": "2026-09-13T03:29:15.695Z",
"window": {
"app": "process:C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\navigation-rename-native-a49b0ec-20260913\\package\\arcadia-studio.exe",
"id": 132973208,
"title": "Distress response — nested source project — Arcadia Studio"
},
"accessibility": null,
"screenshots": [
{
"path": "captures/45-passive-save-after-reopen-0.jpg",
"mime": "image/jpeg",
"bytes": 141062,
"sha256": "e57ebfc5bf675c44368e0dd87af24331dc1aa2841e399a6b87a95fbebd26b5b6",
"id": "screenshot-0",
"width": 1442,
"height": 932
}
]
}
@@ -0,0 +1,9 @@
{
"utc": "2026-09-13T03:29:33.103Z",
"action": "Click observed Studio title-bar Close with all changes saved",
"window": {
"app": "process:C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\navigation-rename-native-a49b0ec-20260913\\package\\arcadia-studio.exe",
"id": 132973208,
"title": "Distress response — nested source project — Arcadia Studio"
}
}
@@ -0,0 +1,29 @@
{
"utc": "2026-09-13T03:20:14.352Z",
"files": [
{
"path": "oa.arcadia",
"unchanged": true
},
{
"path": "project.arcadia",
"unchanged": true
},
{
"path": "views.arcadia",
"unchanged": true
},
{
"path": "sa/assurance.arcadia",
"unchanged": true
},
{
"path": "sa/participants.arcadia",
"unchanged": true
},
{
"path": "sa/reporting.arcadia",
"unchanged": true
}
]
}
@@ -0,0 +1,12 @@
{
"command": "cargo build -p oa-desktop --bin arcadia-studio --locked --offline",
"workspace": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\navigation-rename-union-ytr83r-20260912",
"startUtc": "2026-09-13T02:19:56.1612595Z",
"endUtc": "2026-09-13T02:28:15.7048019Z",
"base": "a49b0ec7ac4538a372139175386a881645c1a59e",
"cargoExitCode": 0,
"listedTests": null,
"listedUnionTests": null,
"listedScrollTests": null,
"selectionValid": true
}
@@ -0,0 +1,3 @@
Compiling oa-core v0.2.0 (C:\Users\User\Documents\Git\ARCADIA-Studio\.local\navigation-rename-union-ytr83r-20260912\crates\oa-core)
Compiling oa-desktop v0.2.0 (C:\Users\User\Documents\Git\ARCADIA-Studio\.local\navigation-rename-union-ytr83r-20260912\crates\oa-desktop)
Finished `dev` profile [unoptimized] target(s) in 8m 17s
@@ -0,0 +1,54 @@
param([Parameter(Mandatory=$true)][ValidateSet('check','list','focused','usage','tests','clippy','build','timing')][string]$Stage)
$ErrorActionPreference = 'Stop'
$taskWorkspace = 'C:\Users\User\Documents\Git\ARCADIA-Studio\.local\navigation-rename-union-ytr83r-20260912'
Push-Location -LiteralPath $taskWorkspace
try {
. 'C:\Users\User\Documents\Git\ARCADIA-Studio\.local\toolchain\env.ps1'
$env:CARGO_TARGET_DIR = 'C:\Users\User\Documents\Git\ARCADIA-Studio\target'
$taskArgs = switch ($Stage) {
'check' { @('check','-p','oa-desktop','--bin','arcadia-studio','--tests','--locked','--offline') }
'list' { @('test','-p','oa-desktop','--bin','arcadia-studio','--locked','--offline','--','--list') }
'focused' { @('test','-p','oa-desktop','--bin','arcadia-studio','--locked','--offline','--','app::source_rename::tests::navigation_union_tests::','app::source_rename::tests::preview_scroll_tests::','--test-threads=1') }
'usage' { @('test','-p','oa-desktop','--bin','arcadia-studio','--locked','--offline','--','app::diagram_usages::tests::','behavior::scenario::usage::tests::','--test-threads=1') }
'tests' { @('test','-p','oa-desktop','--all-targets','--locked','--offline') }
'clippy' { @('clippy','-p','oa-desktop','--all-targets','--locked','--offline','--','-D','warnings') }
'build' { @('build','-p','oa-desktop','--bin','arcadia-studio','--locked','--offline') }
'timing' { @('test','-p','oa-desktop','--bin','arcadia-studio','--locked','--offline','--','accepted_release1_prepare_commit_sync_and_confirm_timing','--ignored','--nocapture','--test-threads=1') }
}
$taskLog = Join-Path $PSScriptRoot ($Stage+'.log')
$taskReceipt = Join-Path $PSScriptRoot ($Stage+'-receipt.json')
if ((Test-Path -LiteralPath $taskLog) -or (Test-Path -LiteralPath $taskReceipt)) { throw 'Refusing to replace existing gate evidence' }
$taskStart = [DateTime]::UtcNow.ToString('o')
$taskBase = git rev-parse HEAD
if ($LASTEXITCODE -ne 0) { throw 'Cannot identify source commit' }
$taskInputs = Get-Content -Raw -LiteralPath (Join-Path $PSScriptRoot 'inputs-complete-before.json') | ConvertFrom-Json
if ($taskInputs.base -ne $taskBase -or $taskInputs.workspace -ne $taskWorkspace) { throw 'Captured source does not match the pinned gate checkout' }
if ($Stage -eq 'tests') {
$taskListing = Get-Content -Raw -LiteralPath (Join-Path $PSScriptRoot 'list-receipt.json') | ConvertFrom-Json
if (-not $taskListing.selectionValid -or $taskListing.cargoExitCode -ne 0 -or $taskListing.base -ne $taskBase) { throw 'Full gate requires valid listing of this source commit' }
}
& cargo @taskArgs 2>&1 | Tee-Object -FilePath $taskLog
$taskExit = $LASTEXITCODE
$taskOutput = Get-Content -Raw -LiteralPath $taskLog
$taskSelectionValid = $true
$taskListed = $null
$taskUnionCount = $null
$taskScrollCount = $null
if ($Stage -eq 'list') {
$taskListed = [regex]::Matches($taskOutput, '(?m)^[^\r\n]+: test\r?$').Count
$taskUnionCount = [regex]::Matches($taskOutput, '(?m)^app::source_rename::tests::navigation_union_tests::[^\r\n]+: test\r?$').Count
$taskScrollCount = [regex]::Matches($taskOutput, '(?m)^app::source_rename::tests::preview_scroll_tests::[^\r\n]+: test\r?$').Count
$taskSelectionValid = $taskListed -ge 905 -and $taskUnionCount -eq 6 -and $taskScrollCount -eq 4
}
if ($Stage -eq 'focused') { $taskSelectionValid = $taskOutput -match 'test result: ok\. 10 passed; 0 failed; 0 ignored;' }
if ($Stage -eq 'usage') { $taskSelectionValid = $taskOutput -match 'test result: ok\. 31 passed; 0 failed; 0 ignored;' }
if ($Stage -eq 'timing') { $taskSelectionValid = $taskOutput -match 'test result: ok\. 1 passed; 0 failed; 0 ignored;' }
if ($Stage -eq 'tests') {
$taskExpectedPassed = $taskListing.listedTests - 3
$taskSelectionValid = $taskOutput -match ('test result: ok\. '+$taskExpectedPassed+' passed; 0 failed; 3 ignored;')
}
[ordered]@{command=('cargo '+($taskArgs -join ' '));workspace=$taskWorkspace;startUtc=$taskStart;endUtc=[DateTime]::UtcNow.ToString('o');base=$taskBase;cargoExitCode=$taskExit;listedTests=$taskListed;listedUnionTests=$taskUnionCount;listedScrollTests=$taskScrollCount;selectionValid=$taskSelectionValid} | ConvertTo-Json | Set-Content -LiteralPath $taskReceipt -Encoding utf8
if ($taskExit -ne 0) { exit $taskExit }
if (-not $taskSelectionValid) { throw 'Selected test count or passing result differs from the explicit expectation' }
exit 0
} finally { Pop-Location }
@@ -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;
}
@@ -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";
}
@@ -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;
}
@@ -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];
}
@@ -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;
}
@@ -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; };
}
@@ -0,0 +1,36 @@
# Independent native evidence review: navigation/rename a49b0ec
Reviewed 2026-09-13, read-only, by navigation_prerequisite. Result: bounded pass for the observed native rename, source preservation, recovery and two-destination navigation sequence. No new blocking application defect was established by the reviewed evidence. This is not issue closure, full rename acceptance, or acceptance of the separate combined 659 candidate.
Evidence root: navigation-rename-native-a49b0ec-20260913/ (sibling of this local report). Source pin a49b0ec7ac4538a372139175386a881645c1a59e. The launch binds PID 1352 to the copied executable SHA-256 d169a42692d2822a6e9dcd1e6181766f4a178e15ae2610763200da9bbb814ddf, isolated profile and unrelated working directory. normal-close.json records exit 0 at 2026-09-13T03:29:37.8035143Z after the recorded title-bar close request. Both actual log files are empty. I independently recomputed every one of the 15 immutable-file hashes from input-manifest.json, including executable and preserved seed: all match. I also recomputed the byte length/hash of all 44 original JPEGs against their 44 JSON metadata records: all match. No capture was edited, derived or replaced.
## What the originals demonstrate
I viewed original captures 13, 14, 15, 16, 17, 18, 21, 25, 26, 27, 28, 30, 33, 37 and 44 using view_image. Capture 13 visibly has a scrollbar and clipped preview content;14 displays a later scroll position. The native six-file fixture therefore really overflows at this 1442x932 capture/window size; the separately prepared paged fixture is not needed as evidence for this session. Capture 15 shows the actual full-details pane. Viewed captures 16/17 show return to the same first preview page at its top, followed by renewed manual scrolling. This is ordinary remount behavior, not proof of retaining the previous scroll offset; no between-frame race is inferred.
Capture 18 retains the rename dialog after the parent-recorded Definition attempt. Capture 21 retains Show in diagrams after the parent-recorded Rename attempt. These screenshots show the retained modal states, but metadata contains timestamp/window/screenshot hashes rather than an input trace. The attempt identities come from the parent's action record. In particular, rename-blocks-Definition is not the same native coverage as rename-blocks-Show-in-diagrams. Publication should name the attempts actually exercised; retain deterministic tests as evidence for other modal ordering and queued completions.
Capture 25 shows the renamed source token selected in the original views.arcadia editor, with Undo rename and accepted-but-unsaved status. Capture 26 shows immediate typing replaced that token with assess_report_probe and produced a pending source error. Capture 27 shows text Undo restoring assess_report_union and Model in sync. This substantiates post-confirm keyboard focus without a preceding manual source refocus. It does not substantiate caret/selection restoration after text Undo: capture 27 places the caret after the reference, and capture 28 shows the truthful no-target Definitions panel. Capture 28 must remain described as the unsuccessful first navigation attempt. After explicit refocus, capture 30 shows two destinations. Captures33 and37 show Assess report selected in functional containment and system-boundary saved views respectively; both Properties panels retain alias assess_report_union, engineering name Assess report and UUID 00000000-0000-4000-8000-000000000403. The selected object is visible in both settled destination canvases.
Capture 44 shows the alias after reopening, with all changes saved. Native persistence is supported more strongly by the six-file byte comparisons than by screenshot text alone.
## Source and identity evidence
seed/ is the original schema 3 input; baseline/ is the explicit native migration Save to schema 7 before rename. Compare rename against baseline, not seed. Migration changes must not be attributed to alias rename or described as unexpected source churn.
I independently compared all six accepted snapshot strings, all six current final fixture files, and all six independent CLI command outputs. Each equals baseline with exactly six whole-word substitutions assess_report -> assess_report_union: four in sa/reporting.arcadia and two in views.arcadia. All other bytes are exact. The other four files are unchanged. The snapshot records the same selected UUID 403. This supports complete source parity, stable declaration identity and unchanged name. No direct full-Project runtime serialization equality was measured; do not relabel the source/CLI oracle as such.
cancel-disk-check.json and confirmed-unsaved-disk-check.json each record all six files equal to baseline. model-undo-save-check.json records one model Undo plus Save restoring all six baseline files; model-redo-save-check.json records one model Redo plus Save restoring all six expected files. native-reopen-save-check.json records all six expected files after reopen and passive Save. The independently checked final bytes agree. These records support the parent's explicit one-Undo/one-Redo action sequence; this review did not inject inputs or independently count live history transitions.
The compatible CLI oracle has six successful invocations and eleven unchanged engineering warning identities/messages, zero errors. Its executable hash is bound before/after. It independently confirms the accepted six-file source result through the core rename command; it is not an instrumented desktop Project export.
## Limits and required reporting precision
- Preserve capture 28 and describe successful navigation as occurring after manual caret refocus. Post-confirm focus succeeded; post-text-Undo selection persistence was not demonstrated.
- Name the exact native modal attempts. The retained screenshots do not independently prove which keys were injected, and the observed rename->Definition attempt must not be promoted into both rename/usage modal orders.
- Normal Details/manual scrolling was observed. Fast Details toggles between frames, held stale scroll resets, worker completion races, loading chooser, stale Confirm/Close and document-reset workers remain deterministic-test evidence, not this native session.
- The parent reports two capture 03 dialog timeouts and failed accessibility click/set, followed by keyboard Alt+n and fresh parent-window capture recovery. The missing03 image is not a fabricated successful capture; numbering and failures should remain explained. These tool failures alone do not establish an application defect. Most retained application accessibility fields are null, so no broad accessibility acceptance follows.
- Empty logs and exit 0 support this run's clean termination, not proof that every GUI state or platform is sound. Only representative original images were visually reviewed; all 44 were hash-checked.
- No direct runtime Project serialization, concurrent race/native loading coverage, broad camera/layout acceptance, #14/#17 closure, #9 release acceptance or combined 659 acceptance follows from this bounded review.
No additional native run is required merely to publish this accurately scoped evidence. If the release claim is expanded to native coverage of both rename/usage modal directions, record an explicit Show-in-diagrams attempt while rename is open in a separately identified follow-up session. Root owns publication and peer links. This report changes no source, fixture, capture, historical evidence or plan document.
@@ -0,0 +1,246 @@
{
"status": "prepared; not launched",
"prepared_utc": "2026-09-13T03:05:57.955Z",
"source_commit": "a49b0ec7ac4538a372139175386a881645c1a59e",
"build_gate": "C:/Users/User/Documents/Git/ARCADIA-Studio/.local/navigation-rename-gates-attempt4-20260913/",
"build_command": "cargo build -p oa-desktop --bin arcadia-studio --locked --offline",
"build_start_utc": "2026-09-13T02:19:56.1612595Z",
"build_end_utc": "2026-09-13T02:28:15.7048019Z",
"binary_source": "C:/Users/User/Documents/Git/ARCADIA-Studio/target/debug/arcadia-studio.exe",
"binary_source_mtime_utc": "2026-09-13T02:28:11.538Z",
"binary_source_sha256": "d169a42692d2822a6e9dcd1e6181766f4a178e15ae2610763200da9bbb814ddf",
"binary_copy_sha256": "d169a42692d2822a6e9dcd1e6181766f4a178e15ae2610763200da9bbb814ddf",
"binary_copy_verification": "PowerShell Get-FileHash SHA256 source and package both equal; session54800 exit0. Initial Node verification timed out and is not used as evidence.",
"verified_input_count": 577,
"before_after_input_files_unchanged": true,
"fixture_origin": "C:/Users/User/Documents/Git/ARCADIA-Studio/.local/navigation-rename-native-208268c/fixture",
"fixture_entry": "fixture/project.arcadia",
"preserved_seed_entry": "seed/project.arcadia",
"fixture_file_count": 6,
"script_static_check": "PowerShell Language.Parser ParseFile accepted; no execution.",
"immutable_files": [
{
"path": "package/arcadia-studio.exe",
"bytes": 115379712,
"sha256": "d169a42692d2822a6e9dcd1e6181766f4a178e15ae2610763200da9bbb814ddf"
},
{
"path": "evidence/build-receipt.json",
"bytes": 484,
"sha256": "a9ea01a46fb39a6291b99ce7a7fa4938c69f3b0d90c7383b90021e1043330b53"
},
{
"path": "evidence/inputs-complete-before.json",
"bytes": 111090,
"sha256": "41729a2f3b4501e5c401658607fd3a2bf02a7049232f9a85636cae47a0650766"
},
{
"path": "evidence/inputs-complete-after.json",
"bytes": 111090,
"sha256": "1a7eee15f4ac22de0b4ebc69828d5f9fe752b569bd702635d878ce719ff0b0d6"
},
{
"path": "evidence/run.ps1",
"bytes": 4435,
"sha256": "15af681533cc55a84f92d3c29b90dc065a6475688cbcbeae46b930c7a1ac4c7b"
},
{
"path": "evidence/build.log",
"bytes": 340,
"sha256": "a34c5bbeeec025043f3115a838fea96ae27340c77df27d3f8408284bb22895df"
},
{
"path": "seed-manifest.json",
"bytes": 1336,
"sha256": "2ffa57006a17b8199759c8ec27f53f20e888946a83af98f0ec92e860d1d61cfa"
},
{
"path": "seed/oa.arcadia",
"bytes": 2142,
"sha256": "5f60642f211b2d352a951092faeeb7503d4fb7f6f7fca99e810347231101d31c"
},
{
"path": "seed/project.arcadia",
"bytes": 606,
"sha256": "787f6b67b179ffd221f7e5faf1a4edd74cfd116aa1e3b5e9ed9f22fbff612d8d"
},
{
"path": "seed/views.arcadia",
"bytes": 3508,
"sha256": "e29ad3f406a6a50d2f0ae2ca2a53ee3b0c18222cd4098704a46d4f48b64ea17f"
},
{
"path": "seed/sa/assurance.arcadia",
"bytes": 682,
"sha256": "ab76044836e4dcd42a82d316846ec87da2108939aa2037640c5bca1d2ecdee0f"
},
{
"path": "seed/sa/participants.arcadia",
"bytes": 1231,
"sha256": "1abad579812e77877b45a3d8e3c3e9da734be2d04a0254cc730a5257ebd2dc88"
},
{
"path": "seed/sa/reporting.arcadia",
"bytes": 2839,
"sha256": "f0b7443f728912ca163de39b6055876b533a77feaa3219b2d40a2dd65712e058"
},
{
"path": "package/libunwind.dll",
"bytes": 190464,
"sha256": "aa282fa47bb2c4e210cea5e470cdbdca58568f0be0bc73e404d86ab9cd95ef6a"
},
{
"path": "launch.ps1",
"bytes": 7358,
"sha256": "7698cb18123f807e7e8fb2c3d6e1f16ffdb4e3be0e34e6eb74a8925ab1b96f82"
}
],
"fixture_files": [
{
"path": "fixture/oa.arcadia",
"bytes": 2142,
"sha256": "5f60642f211b2d352a951092faeeb7503d4fb7f6f7fca99e810347231101d31c"
},
{
"path": "fixture/project.arcadia",
"bytes": 606,
"sha256": "787f6b67b179ffd221f7e5faf1a4edd74cfd116aa1e3b5e9ed9f22fbff612d8d"
},
{
"path": "fixture/views.arcadia",
"bytes": 3508,
"sha256": "e29ad3f406a6a50d2f0ae2ca2a53ee3b0c18222cd4098704a46d4f48b64ea17f"
},
{
"path": "fixture/sa/assurance.arcadia",
"bytes": 682,
"sha256": "ab76044836e4dcd42a82d316846ec87da2108939aa2037640c5bca1d2ecdee0f"
},
{
"path": "fixture/sa/participants.arcadia",
"bytes": 1231,
"sha256": "1abad579812e77877b45a3d8e3c3e9da734be2d04a0254cc730a5257ebd2dc88"
},
{
"path": "fixture/sa/reporting.arcadia",
"bytes": 2839,
"sha256": "f0b7443f728912ca163de39b6055876b533a77feaa3219b2d40a2dd65712e058"
}
],
"copies": [
{
"path": "evidence/build-receipt.json",
"bytes": 484,
"sha256": "a9ea01a46fb39a6291b99ce7a7fa4938c69f3b0d90c7383b90021e1043330b53",
"source": "C:/Users/User/Documents/Git/ARCADIA-Studio/.local/navigation-rename-gates-attempt4-20260913/build-receipt.json"
},
{
"path": "evidence/inputs-complete-before.json",
"bytes": 111090,
"sha256": "41729a2f3b4501e5c401658607fd3a2bf02a7049232f9a85636cae47a0650766",
"source": "C:/Users/User/Documents/Git/ARCADIA-Studio/.local/navigation-rename-gates-attempt4-20260913/inputs-complete-before.json"
},
{
"path": "evidence/inputs-complete-after.json",
"bytes": 111090,
"sha256": "1a7eee15f4ac22de0b4ebc69828d5f9fe752b569bd702635d878ce719ff0b0d6",
"source": "C:/Users/User/Documents/Git/ARCADIA-Studio/.local/navigation-rename-gates-attempt4-20260913/inputs-complete-after.json"
},
{
"path": "evidence/run.ps1",
"bytes": 4435,
"sha256": "15af681533cc55a84f92d3c29b90dc065a6475688cbcbeae46b930c7a1ac4c7b",
"source": "C:/Users/User/Documents/Git/ARCADIA-Studio/.local/navigation-rename-gates-attempt4-20260913/run.ps1"
},
{
"path": "evidence/build.log",
"bytes": 340,
"sha256": "a34c5bbeeec025043f3115a838fea96ae27340c77df27d3f8408284bb22895df",
"source": "C:/Users/User/Documents/Git/ARCADIA-Studio/.local/navigation-rename-gates-attempt4-20260913/build.log"
},
{
"path": "seed-manifest.json",
"bytes": 1336,
"sha256": "2ffa57006a17b8199759c8ec27f53f20e888946a83af98f0ec92e860d1d61cfa",
"source": "C:/Users/User/Documents/Git/ARCADIA-Studio/.local/navigation-rename-native-208268c/seed-manifest.json"
},
{
"path": "seed/oa.arcadia",
"bytes": 2142,
"sha256": "5f60642f211b2d352a951092faeeb7503d4fb7f6f7fca99e810347231101d31c",
"source": "C:/Users/User/Documents/Git/ARCADIA-Studio/.local/navigation-rename-native-208268c/fixture/oa.arcadia"
},
{
"path": "fixture/oa.arcadia",
"bytes": 2142,
"sha256": "5f60642f211b2d352a951092faeeb7503d4fb7f6f7fca99e810347231101d31c",
"source": "C:/Users/User/Documents/Git/ARCADIA-Studio/.local/navigation-rename-native-208268c/fixture/oa.arcadia"
},
{
"path": "seed/project.arcadia",
"bytes": 606,
"sha256": "787f6b67b179ffd221f7e5faf1a4edd74cfd116aa1e3b5e9ed9f22fbff612d8d",
"source": "C:/Users/User/Documents/Git/ARCADIA-Studio/.local/navigation-rename-native-208268c/fixture/project.arcadia"
},
{
"path": "fixture/project.arcadia",
"bytes": 606,
"sha256": "787f6b67b179ffd221f7e5faf1a4edd74cfd116aa1e3b5e9ed9f22fbff612d8d",
"source": "C:/Users/User/Documents/Git/ARCADIA-Studio/.local/navigation-rename-native-208268c/fixture/project.arcadia"
},
{
"path": "seed/views.arcadia",
"bytes": 3508,
"sha256": "e29ad3f406a6a50d2f0ae2ca2a53ee3b0c18222cd4098704a46d4f48b64ea17f",
"source": "C:/Users/User/Documents/Git/ARCADIA-Studio/.local/navigation-rename-native-208268c/fixture/views.arcadia"
},
{
"path": "fixture/views.arcadia",
"bytes": 3508,
"sha256": "e29ad3f406a6a50d2f0ae2ca2a53ee3b0c18222cd4098704a46d4f48b64ea17f",
"source": "C:/Users/User/Documents/Git/ARCADIA-Studio/.local/navigation-rename-native-208268c/fixture/views.arcadia"
},
{
"path": "seed/sa/assurance.arcadia",
"bytes": 682,
"sha256": "ab76044836e4dcd42a82d316846ec87da2108939aa2037640c5bca1d2ecdee0f",
"source": "C:/Users/User/Documents/Git/ARCADIA-Studio/.local/navigation-rename-native-208268c/fixture/sa/assurance.arcadia"
},
{
"path": "fixture/sa/assurance.arcadia",
"bytes": 682,
"sha256": "ab76044836e4dcd42a82d316846ec87da2108939aa2037640c5bca1d2ecdee0f",
"source": "C:/Users/User/Documents/Git/ARCADIA-Studio/.local/navigation-rename-native-208268c/fixture/sa/assurance.arcadia"
},
{
"path": "seed/sa/participants.arcadia",
"bytes": 1231,
"sha256": "1abad579812e77877b45a3d8e3c3e9da734be2d04a0254cc730a5257ebd2dc88",
"source": "C:/Users/User/Documents/Git/ARCADIA-Studio/.local/navigation-rename-native-208268c/fixture/sa/participants.arcadia"
},
{
"path": "fixture/sa/participants.arcadia",
"bytes": 1231,
"sha256": "1abad579812e77877b45a3d8e3c3e9da734be2d04a0254cc730a5257ebd2dc88",
"source": "C:/Users/User/Documents/Git/ARCADIA-Studio/.local/navigation-rename-native-208268c/fixture/sa/participants.arcadia"
},
{
"path": "seed/sa/reporting.arcadia",
"bytes": 2839,
"sha256": "f0b7443f728912ca163de39b6055876b533a77feaa3219b2d40a2dd65712e058",
"source": "C:/Users/User/Documents/Git/ARCADIA-Studio/.local/navigation-rename-native-208268c/fixture/sa/reporting.arcadia"
},
{
"path": "fixture/sa/reporting.arcadia",
"bytes": 2839,
"sha256": "f0b7443f728912ca163de39b6055876b533a77feaa3219b2d40a2dd65712e058",
"source": "C:/Users/User/Documents/Git/ARCADIA-Studio/.local/navigation-rename-native-208268c/fixture/sa/reporting.arcadia"
},
{
"path": "package/libunwind.dll",
"bytes": 190464,
"sha256": "aa282fa47bb2c4e210cea5e470cdbdca58568f0be0bc73e404d86ab9cd95ef6a",
"source": "C:/Users/User/Documents/Git/ARCADIA-Studio/.local/toolchain/llvm-mingw-20260908-ucrt-x86_64/bin/libunwind.dll"
}
]
}
@@ -0,0 +1,15 @@
{
"source_commit": "a49b0ec7ac4538a372139175386a881645c1a59e",
"manifest_sha256": "4add0ea77c86357b28c5617560a799a02edfbb347f9bb78c64551965b3969b98",
"script_sha256": "7698cb18123f807e7e8fb2c3d6e1f16ffdb4e3be0e34e6eb74a8925ab1b96f82",
"executable": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\navigation-rename-native-a49b0ec-20260913\\package\\arcadia-studio.exe",
"binary_sha256": "d169a42692d2822a6e9dcd1e6181766f4a178e15ae2610763200da9bbb814ddf",
"localappdata": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\navigation-rename-native-a49b0ec-20260913\\profile",
"working_directory": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\navigation-rename-native-a49b0ec-20260913\\unrelated-cwd",
"child_path": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\navigation-rename-native-a49b0ec-20260913\\package;C:\\Windows\\System32;C:\\Windows;C:\\Windows\\System32\\Wbem",
"arguments": [],
"environment_scope": "Child ProcessStartInfo only",
"fixture_entry": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\navigation-rename-native-a49b0ec-20260913\\fixture\\project.arcadia",
"pid": 1352,
"started_utc": "2026-09-13T03:07:50.6077079Z"
}
@@ -0,0 +1,99 @@
#Requires -Version 7.0
# Prepared only. Run in a persistent shell; this observer waits for normal close.
[CmdletBinding()]
param()
Set-StrictMode -Version Latest
$ErrorActionPreference = 'Stop'
$nativeRoot = $PSScriptRoot
$nativePin = 'a49b0ec7ac4538a372139175386a881645c1a59e'
$nativePackage = Join-Path $nativeRoot 'package'
$nativeProfile = Join-Path $nativeRoot 'profile'
$nativeCwd = Join-Path $nativeRoot 'unrelated-cwd'
$nativeManifest = Get-Content -LiteralPath (Join-Path $nativeRoot 'input-manifest.json') -Raw | ConvertFrom-Json
function Get-NativeHash([string]$Path) { return (Get-FileHash -LiteralPath $Path -Algorithm SHA256).Hash.ToLowerInvariant() }
function Assert-NativeFiles($Files) {
foreach ($file in $Files) {
$path = [IO.Path]::GetFullPath((Join-Path $nativeRoot $file.path))
if (-not $path.StartsWith($nativeRoot + [IO.Path]::DirectorySeparatorChar, [StringComparison]::OrdinalIgnoreCase)) { throw 'Manifest path escapes staging directory.' }
$item = Get-Item -LiteralPath $path -Force
if ($item.PSIsContainer -or ($item.Attributes -band [IO.FileAttributes]::ReparsePoint) -ne 0 -or $item.Length -ne $file.bytes -or (Get-NativeHash $path) -cne $file.sha256) { throw "Changed launch input: $path" }
}
}
function Write-NativeJson([string]$Path, $Value) {
$stream = [IO.File]::Open($Path, [IO.FileMode]::CreateNew, [IO.FileAccess]::Write, [IO.FileShare]::Read)
try {
$bytes = [Text.UTF8Encoding]::new($false).GetBytes(($Value | ConvertTo-Json -Depth 15) + "`n")
$stream.Write($bytes, 0, $bytes.Length)
$stream.Flush($true)
} finally { $stream.Dispose() }
}
if ($nativeManifest.source_commit -cne $nativePin -or $nativeManifest.verified_input_count -ne 577 -or -not $nativeManifest.before_after_input_files_unchanged) { throw 'Wrong prepared source binding.' }
Assert-NativeFiles $nativeManifest.immutable_files
Assert-NativeFiles $nativeManifest.fixture_files
$build = Get-Content -LiteralPath (Join-Path $nativeRoot 'evidence/build-receipt.json') -Raw | ConvertFrom-Json
$before = Get-Content -LiteralPath (Join-Path $nativeRoot 'evidence/inputs-complete-before.json') -Raw | ConvertFrom-Json
$after = Get-Content -LiteralPath (Join-Path $nativeRoot 'evidence/inputs-complete-after.json') -Raw | ConvertFrom-Json
if ($build.base -cne $nativePin -or $build.cargoExitCode -ne 0 -or -not $build.selectionValid -or $before.base -cne $nativePin -or $after.base -cne $nativePin -or $before.count -ne 577 -or $after.count -ne 577 -or @($before.files).Count -ne 577 -or @($after.files).Count -ne 577) { throw 'Matching successful attempt4 build and 577 input records required.' }
$inputRows = @{}
foreach ($file in $before.files) {
if ($inputRows.ContainsKey($file.path)) { throw 'Duplicate before input.' }
$inputRows[$file.path] = $file
}
foreach ($file in $after.files) {
if (-not $inputRows.ContainsKey($file.path)) { throw 'Unexpected/duplicate after input.' }
$old = $inputRows[$file.path]
if ($old.bytes -ne $file.bytes -or $old.sha256 -cne $file.sha256) { throw 'Build inputs changed.' }
$inputRows.Remove($file.path)
}
if ($inputRows.Count -ne 0) { throw 'Missing after inputs.' }
if ((Get-NativeHash (Join-Path $nativePackage 'libunwind.dll')) -cne 'aa282fa47bb2c4e210cea5e470cdbdca58568f0be0bc73e404d86ab9cd95ef6a') { throw 'Unexpected runtime.' }
foreach ($directory in @($nativeProfile,$nativeCwd)) {
if (Test-Path -LiteralPath $directory) { throw "Fresh launch directory required: $directory" }
}
foreach ($name in @('launch.json','normal-close.json','launch-failure.json','logs')) {
if (Test-Path -LiteralPath (Join-Path $nativeRoot $name)) { throw "Refusing to overwrite launch evidence: $name" }
}
if ([string]::IsNullOrWhiteSpace($env:SystemRoot) -or -not (Test-Path -LiteralPath (Join-Path $env:SystemRoot 'System32') -PathType Container)) { throw 'Normal Windows SystemRoot required.' }
$nativePath = $nativePackage + ';' + (Join-Path $env:SystemRoot 'System32') + ';' + $env:SystemRoot + ';' + (Join-Path $env:SystemRoot 'System32/Wbem')
$nativeOut = Join-Path $nativeRoot 'logs/studio.stdout.log'
$nativeErr = Join-Path $nativeRoot 'logs/studio.stderr.log'
$state = [ordered]@{source_commit=$nativePin;manifest_sha256=(Get-NativeHash (Join-Path $nativeRoot 'input-manifest.json'));script_sha256=(Get-NativeHash $PSCommandPath);executable=(Join-Path $nativePackage 'arcadia-studio.exe');binary_sha256=(Get-NativeHash (Join-Path $nativePackage 'arcadia-studio.exe'));localappdata=$nativeProfile;working_directory=$nativeCwd;child_path=$nativePath;arguments=@();environment_scope='Child ProcessStartInfo only';fixture_entry=(Join-Path $nativeRoot 'fixture/project.arcadia');pid=$null;started_utc=$null}
$process = $null; $outStream = $null; $errStream = $null
try {
foreach ($directory in @($nativeProfile,$nativeCwd,(Join-Path $nativeRoot 'logs'))) { [void][IO.Directory]::CreateDirectory($directory) }
$outStream = [IO.File]::Open($nativeOut,[IO.FileMode]::CreateNew,[IO.FileAccess]::Write,[IO.FileShare]::Read)
$errStream = [IO.File]::Open($nativeErr,[IO.FileMode]::CreateNew,[IO.FileAccess]::Write,[IO.FileShare]::Read)
$info = [Diagnostics.ProcessStartInfo]::new()
$info.FileName = $state.executable
$info.WorkingDirectory = $nativeCwd
$info.UseShellExecute = $false
$info.CreateNoWindow = $true
$info.WindowStyle = [Diagnostics.ProcessWindowStyle]::Hidden
$info.RedirectStandardOutput = $true
$info.RedirectStandardError = $true
$info.Environment['LOCALAPPDATA'] = $nativeProfile
$info.Environment['PATH'] = $nativePath
$process = [Diagnostics.Process]::new()
$process.StartInfo = $info
if (-not $process.Start()) { throw 'Process.Start returned false.' }
$outCopy = $process.StandardOutput.BaseStream.CopyToAsync($outStream)
$errCopy = $process.StandardError.BaseStream.CopyToAsync($errStream)
$state.pid = $process.Id
$state.started_utc = $process.StartTime.ToUniversalTime().ToString('o')
Write-NativeJson (Join-Path $nativeRoot 'launch.json') $state
$state | ConvertTo-Json -Depth 15 | Write-Output
$process.WaitForExit()
[Threading.Tasks.Task]::WaitAll([Threading.Tasks.Task[]]@($outCopy,$errCopy))
$outStream.Flush($true); $errStream.Flush($true)
$outStream.Dispose(); $outStream = $null
$errStream.Dispose(); $errStream = $null
Assert-NativeFiles $nativeManifest.immutable_files
Write-NativeJson (Join-Path $nativeRoot 'normal-close.json') ([ordered]@{source_commit=$nativePin;pid=$state.pid;started_utc=$state.started_utc;observed_exit_utc=[DateTime]::UtcNow.ToString('o');exit_code=$process.ExitCode;immutable_inputs_unchanged=$true;stdout_sha256=(Get-NativeHash $nativeOut);stderr_sha256=(Get-NativeHash $nativeErr);scope='Observed bound process exit without forced termination. Close cause and native acceptance require user/root observation; fixture edits are expected and compared separately.'})
} catch {
Write-NativeJson (Join-Path $nativeRoot 'launch-failure.json') ([ordered]@{utc=[DateTime]::UtcNow.ToString('o');pid=$state.pid;error=$_.Exception.Message;owned_process_not_killed=$true})
throw
} finally {
if ($null -ne $outStream) { $outStream.Dispose() }
if ($null -ne $errStream) { $errStream.Dispose() }
if ($null -ne $process) { $process.Dispose() }
}
@@ -0,0 +1,41 @@
{
"utc": "2026-09-13T03:27:16.540Z",
"files": [
{
"path": "oa.arcadia",
"expectedExact": true,
"bytes": 2364,
"sha256": "c04efaa1ae5a2053e63aac70f79ea7bb845ef1db1ff8e68f23abfe24f1bc180f"
},
{
"path": "project.arcadia",
"expectedExact": true,
"bytes": 606,
"sha256": "260505b7f54a0d256bce2af8499bb46cc78ffe564628bd5f976ce358d1796f3a"
},
{
"path": "views.arcadia",
"expectedExact": true,
"bytes": 3520,
"sha256": "51c3caafbf4e9279d9c472cff89a2d0422a52139b761f835dca98aea5571d14a"
},
{
"path": "sa/assurance.arcadia",
"expectedExact": true,
"bytes": 682,
"sha256": "ab76044836e4dcd42a82d316846ec87da2108939aa2037640c5bca1d2ecdee0f"
},
{
"path": "sa/participants.arcadia",
"expectedExact": true,
"bytes": 1231,
"sha256": "1abad579812e77877b45a3d8e3c3e9da734be2d04a0254cc730a5257ebd2dc88"
},
{
"path": "sa/reporting.arcadia",
"expectedExact": true,
"bytes": 3085,
"sha256": "9ef920a3abe1cbd9537cc1b89a641a8c04af53eb2a3839aecc615917f5c129f0"
}
]
}
@@ -0,0 +1,29 @@
{
"utc": "2026-09-13T03:26:42.918Z",
"files": [
{
"path": "oa.arcadia",
"baselineExact": true
},
{
"path": "project.arcadia",
"baselineExact": true
},
{
"path": "views.arcadia",
"baselineExact": true
},
{
"path": "sa/assurance.arcadia",
"baselineExact": true
},
{
"path": "sa/participants.arcadia",
"baselineExact": true
},
{
"path": "sa/reporting.arcadia",
"baselineExact": true
}
]
}
@@ -0,0 +1,29 @@
{
"utc": "2026-09-13T03:29:15.705Z",
"files": [
{
"path": "oa.arcadia",
"expectedExact": true
},
{
"path": "project.arcadia",
"expectedExact": true
},
{
"path": "views.arcadia",
"expectedExact": true
},
{
"path": "sa/assurance.arcadia",
"expectedExact": true
},
{
"path": "sa/participants.arcadia",
"expectedExact": true
},
{
"path": "sa/reporting.arcadia",
"expectedExact": true
}
]
}
@@ -0,0 +1,11 @@
{
"source_commit": "a49b0ec7ac4538a372139175386a881645c1a59e",
"pid": 1352,
"started_utc": "2026-09-13T03:07:50.6077079Z",
"observed_exit_utc": "2026-09-13T03:29:37.8035143Z",
"exit_code": 0,
"immutable_inputs_unchanged": true,
"stdout_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
"stderr_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
"scope": "Observed bound process exit without forced termination. Close cause and native acceptance require user/root observation; fixture edits are expected and compared separately."
}
@@ -0,0 +1,9 @@
# Compatible CLI parity oracle
Native a49b0ec accepted snapshot and independent CLI rename agree in all six source files. Exactly six whole-word alias substitutions occur: four in sa/reporting.arcadia and two in views.arcadia. Every other byte is unchanged. The native selected identity is 00000000-0000-4000-8000-000000000403; the renamed declaration retains the name "Assess report".
Six recorded CLI invocations succeeded: help, baseline check, accepted check, rename preview, rename write on a separate copied baseline, and resulting-source check. Baseline, accepted and independent output have no validation errors and the same 11 warning identities/messages. No missing identities require stabilization. The original baseline and accepted snapshot were hash-checked unchanged.
The CLI SHA-256 before and after is 5222019e0bfd221cf309d3364e79196b84c6b43da842e698224ebef27ed57c24, matching the prior compatible validation receipt. Exact arguments, command exits, timestamps, stdout and stderr are preserved in receipt.json and neighboring output files. inputs.json binds the read-only source inputs; comparison.json contains per-file hashes and results. Only oracle-local command-renamed/ was changed by the CLI.
No direct full-Project runtime serialization comparison was performed: this CLI has check/lint/stabilize/rename-alias operations and JSON diagnostic/change reports, with no parsed-model export. The result establishes complete source parity against an independent core alias command, not a new direct Project equality measurement. Native undo/redo/save/reopen remains separately evaluated by root. No compiler, server or GUI was used.
@@ -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;
}
@@ -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";
}
@@ -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;
}
@@ -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];
}
@@ -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;
}
@@ -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; };
}
@@ -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;
}
@@ -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";
}
@@ -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;
}
@@ -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];
}
@@ -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;
}
@@ -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; };
}
@@ -0,0 +1,193 @@
{
"format_version": 1,
"entry": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\navigation-rename-native-a49b0ec-20260913\\oracle-model-equivalence-20260913\\accepted\\project.arcadia",
"operation": "check",
"status": "checked",
"exit_code": 0,
"written": false,
"diagnostics": [
{
"severity": "warning",
"code": "unspecified_exchange_mechanism",
"message": "Choose the exchange mechanism when its contract is known.",
"coordinate_space": "input",
"location": {
"path": "oa.arcadia",
"start": 1598,
"end": 1609,
"line": 34,
"column": 15
},
"related": [],
"object_id": "00000000-0000-4000-8000-000000000107",
"field": "mechanism"
},
{
"severity": "warning",
"code": "unspecified_exchange_mechanism",
"message": "Choose the exchange mechanism when its contract is known.",
"coordinate_space": "input",
"location": {
"path": "sa/reporting.arcadia",
"start": 1655,
"end": 1666,
"line": 34,
"column": 15
},
"related": [],
"object_id": "00000000-0000-4000-8000-000000000406",
"field": "mechanism"
},
{
"severity": "warning",
"code": "work_without_behavior_context",
"message": "Include this leaf activity/function in a process/chain or scenario through a work action or exchange occurrence.",
"coordinate_space": "input",
"location": {
"path": "oa.arcadia",
"start": 695,
"end": 869,
"line": 12,
"column": 5
},
"related": [],
"object_id": "00000000-0000-4000-8000-000000000104",
"field": null
},
{
"severity": "warning",
"code": "work_without_behavior_context",
"message": "Include this leaf activity/function in a process/chain or scenario through a work action or exchange occurrence.",
"coordinate_space": "input",
"location": {
"path": "oa.arcadia",
"start": 874,
"end": 1053,
"line": 15,
"column": 5
},
"related": [],
"object_id": "00000000-0000-4000-8000-000000000105",
"field": null
},
{
"severity": "warning",
"code": "capability_without_behavior_context",
"message": "Add an explicit behavior context: link a process/chain with Chain involvement, or set a scenario's Context to this capability.",
"coordinate_space": "input",
"location": {
"path": "oa.arcadia",
"start": 1057,
"end": 1150,
"line": 20,
"column": 1
},
"related": [],
"object_id": "00000000-0000-4000-8000-000000000106",
"field": null
},
{
"severity": "warning",
"code": "work_without_behavior_context",
"message": "Include this leaf activity/function in a process/chain or scenario through a work action or exchange occurrence.",
"coordinate_space": "input",
"location": {
"path": "sa/reporting.arcadia",
"start": 255,
"end": 596,
"line": 4,
"column": 5
},
"related": [],
"object_id": "00000000-0000-4000-8000-000000000402",
"field": null
},
{
"severity": "warning",
"code": "work_without_behavior_context",
"message": "Include this leaf activity/function in a process/chain or scenario through a work action or exchange occurrence.",
"coordinate_space": "input",
"location": {
"path": "sa/reporting.arcadia",
"start": 682,
"end": 1040,
"line": 11,
"column": 5
},
"related": [],
"object_id": "00000000-0000-4000-8000-000000000403",
"field": null
},
{
"severity": "warning",
"code": "capability_without_behavior_context",
"message": "Add an explicit behavior context: link a process/chain with Chain involvement, or set a scenario's Context to this capability.",
"coordinate_space": "input",
"location": {
"path": "sa/reporting.arcadia",
"start": 1707,
"end": 1816,
"line": 38,
"column": 1
},
"related": [],
"object_id": "00000000-0000-4000-8000-000000000408",
"field": null
},
{
"severity": "warning",
"code": "work_without_behavior_context",
"message": "Include this leaf activity/function in a process/chain or scenario through a work action or exchange occurrence.",
"coordinate_space": "input",
"location": {
"path": "sa/assurance.arcadia",
"start": 341,
"end": 521,
"line": 5,
"column": 5
},
"related": [],
"object_id": "00000000-0000-4000-8000-000000000412",
"field": null
},
{
"severity": "warning",
"code": "exchange_without_behavior_context",
"message": "Use this exchange in a process/chain or scenario.",
"coordinate_space": "input",
"location": {
"path": "oa.arcadia",
"start": 2019,
"end": 2189,
"line": 46,
"column": 1
},
"related": [],
"object_id": "00000000-0000-4000-8000-000000000203",
"field": null
},
{
"severity": "warning",
"code": "exchange_without_behavior_context",
"message": "Use this exchange in a process/chain or scenario.",
"coordinate_space": "input",
"location": {
"path": "sa/reporting.arcadia",
"start": 2126,
"end": 2367,
"line": 46,
"column": 1
},
"related": [],
"object_id": "00000000-0000-4000-8000-000000000505",
"field": null
}
],
"changes": [],
"identities_to_stabilize": 0,
"migration": null,
"notes": [
"Diagnostic object IDs are omitted for declarations without authored IDs; lint's temporary identities are not the candidate's identities.",
"Disk writes use the core journal/conflict checks. This is not cross-process atomic visibility or a power-loss durability guarantee; pending saves are never implicitly recovered. A failed write may require explicit journal recovery."
]
}
@@ -0,0 +1,193 @@
{
"format_version": 1,
"entry": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\navigation-rename-native-a49b0ec-20260913\\oracle-model-equivalence-20260913\\baseline\\project.arcadia",
"operation": "check",
"status": "checked",
"exit_code": 0,
"written": false,
"diagnostics": [
{
"severity": "warning",
"code": "unspecified_exchange_mechanism",
"message": "Choose the exchange mechanism when its contract is known.",
"coordinate_space": "input",
"location": {
"path": "oa.arcadia",
"start": 1598,
"end": 1609,
"line": 34,
"column": 15
},
"related": [],
"object_id": "00000000-0000-4000-8000-000000000107",
"field": "mechanism"
},
{
"severity": "warning",
"code": "unspecified_exchange_mechanism",
"message": "Choose the exchange mechanism when its contract is known.",
"coordinate_space": "input",
"location": {
"path": "sa/reporting.arcadia",
"start": 1649,
"end": 1660,
"line": 34,
"column": 15
},
"related": [],
"object_id": "00000000-0000-4000-8000-000000000406",
"field": "mechanism"
},
{
"severity": "warning",
"code": "work_without_behavior_context",
"message": "Include this leaf activity/function in a process/chain or scenario through a work action or exchange occurrence.",
"coordinate_space": "input",
"location": {
"path": "oa.arcadia",
"start": 695,
"end": 869,
"line": 12,
"column": 5
},
"related": [],
"object_id": "00000000-0000-4000-8000-000000000104",
"field": null
},
{
"severity": "warning",
"code": "work_without_behavior_context",
"message": "Include this leaf activity/function in a process/chain or scenario through a work action or exchange occurrence.",
"coordinate_space": "input",
"location": {
"path": "oa.arcadia",
"start": 874,
"end": 1053,
"line": 15,
"column": 5
},
"related": [],
"object_id": "00000000-0000-4000-8000-000000000105",
"field": null
},
{
"severity": "warning",
"code": "capability_without_behavior_context",
"message": "Add an explicit behavior context: link a process/chain with Chain involvement, or set a scenario's Context to this capability.",
"coordinate_space": "input",
"location": {
"path": "oa.arcadia",
"start": 1057,
"end": 1150,
"line": 20,
"column": 1
},
"related": [],
"object_id": "00000000-0000-4000-8000-000000000106",
"field": null
},
{
"severity": "warning",
"code": "work_without_behavior_context",
"message": "Include this leaf activity/function in a process/chain or scenario through a work action or exchange occurrence.",
"coordinate_space": "input",
"location": {
"path": "sa/reporting.arcadia",
"start": 255,
"end": 596,
"line": 4,
"column": 5
},
"related": [],
"object_id": "00000000-0000-4000-8000-000000000402",
"field": null
},
{
"severity": "warning",
"code": "work_without_behavior_context",
"message": "Include this leaf activity/function in a process/chain or scenario through a work action or exchange occurrence.",
"coordinate_space": "input",
"location": {
"path": "sa/reporting.arcadia",
"start": 682,
"end": 1034,
"line": 11,
"column": 5
},
"related": [],
"object_id": "00000000-0000-4000-8000-000000000403",
"field": null
},
{
"severity": "warning",
"code": "capability_without_behavior_context",
"message": "Add an explicit behavior context: link a process/chain with Chain involvement, or set a scenario's Context to this capability.",
"coordinate_space": "input",
"location": {
"path": "sa/reporting.arcadia",
"start": 1701,
"end": 1810,
"line": 38,
"column": 1
},
"related": [],
"object_id": "00000000-0000-4000-8000-000000000408",
"field": null
},
{
"severity": "warning",
"code": "work_without_behavior_context",
"message": "Include this leaf activity/function in a process/chain or scenario through a work action or exchange occurrence.",
"coordinate_space": "input",
"location": {
"path": "sa/assurance.arcadia",
"start": 341,
"end": 521,
"line": 5,
"column": 5
},
"related": [],
"object_id": "00000000-0000-4000-8000-000000000412",
"field": null
},
{
"severity": "warning",
"code": "exchange_without_behavior_context",
"message": "Use this exchange in a process/chain or scenario.",
"coordinate_space": "input",
"location": {
"path": "oa.arcadia",
"start": 2019,
"end": 2189,
"line": 46,
"column": 1
},
"related": [],
"object_id": "00000000-0000-4000-8000-000000000203",
"field": null
},
{
"severity": "warning",
"code": "exchange_without_behavior_context",
"message": "Use this exchange in a process/chain or scenario.",
"coordinate_space": "input",
"location": {
"path": "sa/reporting.arcadia",
"start": 2114,
"end": 2349,
"line": 46,
"column": 1
},
"related": [],
"object_id": "00000000-0000-4000-8000-000000000505",
"field": null
}
],
"changes": [],
"identities_to_stabilize": 0,
"migration": null,
"notes": [
"Diagnostic object IDs are omitted for declarations without authored IDs; lint's temporary identities are not the candidate's identities.",
"Disk writes use the core journal/conflict checks. This is not cross-process atomic visibility or a power-loss durability guarantee; pending saves are never implicitly recovered. A failed write may require explicit journal recovery."
]
}

Some files were not shown because too many files have changed in this diff Show More