Record complete combined Windows gates and bounded native camera checks

This commit is contained in:
2026-09-12 04:26:03 -07:00
parent 60f714853f
commit 4dd0f60c75
83 changed files with 11018 additions and 8 deletions
@@ -0,0 +1,15 @@
# Bounded a57 camera and minimum-window native checks
Root exercised source `a57c334b302eb13352b4bb65df1c75d94d002348`, unoptimized GUI SHA256 `69DBB90FA299B3B3D90140C7934891F79166025893AF9B35B2B8D754A37A0D40`, in a fresh isolated session on 2026-09-12. Launch and close bind PID 5004 and unchanged GUI/runtime hashes. This is the pre-grapheme a57 executable: no clusters, native combined-source, all-zoom, package or full-product acceptance follows.
The archiver independently viewed all 18 original JPEGs and checked the closed receipts; no new UI, oracle, compiler or application action was performed. Image 01 shows the wide source project opened. Images 02–06 show OA wide-W lifecycle at 100%, Create selected as `life_oa_110`, zoom 125%, Delete selected as `life_oa_112`, and Fit restoring 100%. Header text and Create text remain within the visible card/capsule or viewport; at 125% the headers are partly above the viewport, with no visible spill into the toolbar.
Images 07–08 document native resizing from 1442×932 to 1102×932 and then 1102×732 captured frame; root reports the final client as 1100×700. At 100% the narrow viewport cuts the right side of the receiver card/capsule at its boundary. Images 09–12 show Fit 66%, OA Create selection, content shifted 60 pixels left after root's Right pan, and Delete selected at its new position with alias `life_oa_112`. The left header is then partly outside the viewport and clipped there. Images 13–17 show the SA CJK receiver: switching layer restores 100%; Fit gives 66%; Create selects `life_sa_110`; content moves 60 pixels up after root's Down pan, leaving headers above the viewport; selecting the moved Delete shows `life_sa_112`. No visible header bleed into the toolbar is present. Exact keyboard inputs and camera values (-60,0)/(0,-60) are root's action account, while the images independently support the resulting displacement, zoom labels and selection identities.
At 66% labels are visibly small. These screenshots do not establish general readability, accessibility, focus/keyboard completeness, every clipping edge or every zoom. The visible 19 model checks are not zero diagnostics; the fixture intentionally contains sparse lifecycle cases. No model editing is inferred from selection or camera navigation.
Image 18 records **All source files saved**. The closed lifecycle `same` invocation compares the original `baseline-wide/project.arcadia` with `checkpoints/wide-passive/project.arcadia`, exiting 0 at 2026-09-12T11:02:28.993557Z with `PASS same: all identities, fields, reachable source and physical bytes`. A fresh archival all-file comparison also confirms both directories contain exactly the same two files, 20,214 bytes total. The checker source, historical compilation/self-check/admission and binary/input provenance are included; no fresh checker execution or compilation is claimed by this archive.
Root reports two temporary 1×16 captures during Windows sizing, recovered by fresh window selection and full capture before coordinate input. Those tiny captures are not among the 18 saved JPEGs and are not independently reconstructed here. Root then reports one Alt+F4 and fresh inventory without Studio. The waiting logger independently records exit 0 at 2026-09-12T11:02:56.0410831Z; closed stdout/stderr are empty. Launch's pending acceptance text is historical. This fresh successful bounded run is separate from the [earlier camera picker failure and close](../canvas-native-close-a57c334-20260911/README.md).
`manifest.json` binds exact original/copy bytes. `readback.json` independently rereads original payloads, archived payloads and final metadata inventory. Preparation and provenance may mention clusters, other oracles, ZIPs, working files or prior gates; these are historical references, not acceptance of those cases. Executables, DLLs, ZIPs, profiles and live working directories are excluded. Source-only archival/preparation/launch scripts are records, not instructions to rerun. Root owns integration and publication.
@@ -0,0 +1,29 @@
$ErrorActionPreference = 'Stop'
$originRoot = 'C:\Users\User\Documents\Git\ARCADIA-Studio\.local\native-a57c334-camera'
$destinationRoot = $PSScriptRoot
$paths = @('launch-script-syntax.json','launch.json','normal-close.json','preparation-manifest.json','prepare-inputs.py','second-readback.json','wide-passive-status.json')
foreach ($directory in @('baseline-wide','checkpoints/wide-passive','logs','provenance','screenshots')) {
$paths += Get-ChildItem -LiteralPath (Join-Path $originRoot $directory) -Recurse -File | ForEach-Object { $_.FullName.Substring($originRoot.Length + 1).Replace('\','/') }
}
$entries = @()
foreach ($relative in ($paths | Sort-Object)) {
$original = Join-Path $originRoot $relative
$copy = Join-Path $destinationRoot $relative
if (Test-Path -LiteralPath $copy) { throw "Refusing to overwrite $copy" }
$before = (Get-FileHash -LiteralPath $original -Algorithm SHA256).Hash
New-Item -ItemType Directory -Path (Split-Path $copy) -Force | Out-Null
Copy-Item -LiteralPath $original -Destination $copy
$after = (Get-FileHash -LiteralPath $copy -Algorithm SHA256).Hash
if ($before -ne $after) { throw "Copy mismatch $relative" }
$entries += [ordered]@{path=$relative;original=$original;bytes=(Get-Item -LiteralPath $copy).Length;original_sha256=$before;copy_sha256=$after}
}
$original = 'C:\Users\User\Documents\Git\ARCADIA-Studio\.local\launch-native-a57c334-camera.ps1'
$copy = Join-Path $destinationRoot 'launch-native-a57c334-camera.ps1'
if (Test-Path -LiteralPath $copy) { throw "Refusing to overwrite $copy" }
$before = (Get-FileHash -LiteralPath $original).Hash
Copy-Item -LiteralPath $original -Destination $copy
$after = (Get-FileHash -LiteralPath $copy).Hash
if ($before -ne $after) { throw 'Launch script mismatch' }
$entries += [ordered]@{path='launch-native-a57c334-camera.ps1';original=$original;bytes=(Get-Item -LiteralPath $copy).Length;original_sha256=$before;copy_sha256=$after}
$manifest = [ordered]@{created_utc=[DateTime]::UtcNow.ToString('o');scope='Closed a57 camera evidence only; copying does not execute gates or UI';payload_count=$entries.Count;payload_bytes=($entries|ForEach-Object { $_.bytes }|Measure-Object -Sum).Sum;files=$entries;excluded=@('bin','oracles executables/DLL','baseline-clusters','working-wide','working-clusters','profile','unrelated-cwd','ZIP archives')}
[IO.File]::WriteAllText((Join-Path $destinationRoot 'manifest.json'),($manifest|ConvertTo-Json -Depth 6)+"`n",[Text.UTF8Encoding]::new($false))
@@ -0,0 +1,692 @@
arcadia 7;
project lifecycle_native "Lifecycle native contract" id "5ceab400-0000-4000-8000-000000000001" {
include "rationale.arcadia";
description "Fixed semantic inputs; lifecycle geometry is derived and never authored.";
oa_activity life_oa_10 "OA Controller work" id "5ceab400-0000-4000-8000-0000000003f2" {
description "";
parent none;
}
oa_activity life_oa_11 "OA Receiver work" id "5ceab400-0000-4000-8000-0000000003f3" {
description "";
parent none;
}
oa_scenario life_oa_100 "OA 01 Root create action delete" id "5ceab400-0000-4000-8000-00000000044c" {
context none;
description "";
parent none;
postcondition "";
precondition "";
steps [@life_oa_110, @life_oa_111, @life_oa_112];
viewpoint OperationalActivity;
}
oa_lifeline life_oa_101 "OA Controller lane" id "5ceab400-0000-4000-8000-00000000044d" {
description "";
parent @life_oa_100;
represented @life_oa_10;
}
oa_lifeline life_oa_102 "WWWWWWWWWWWWWWWWWW" id "5ceab400-0000-4000-8000-00000000044e" {
description "";
parent @life_oa_100;
represented @life_oa_11;
}
oa_occurrence life_oa_110 "OA Create receiver" id "5ceab400-0000-4000-8000-000000000456" {
body {
Exchange {
exchange @life_oa_service;
message_kind Create;
receiver @life_oa_102;
reply_to none;
sender @life_oa_101;
values [];
};
};
description "";
parent @life_oa_100;
postcondition "";
precondition "";
}
oa_occurrence life_oa_111 "OA Receiver action" id "5ceab400-0000-4000-8000-000000000457" {
body {
Action {
action @life_oa_11;
lifeline @life_oa_102;
};
};
description "";
parent @life_oa_100;
postcondition "";
precondition "";
}
oa_occurrence life_oa_112 "OA Delete receiver" id "5ceab400-0000-4000-8000-000000000458" {
body {
Exchange {
exchange @life_oa_service;
message_kind Delete;
receiver @life_oa_102;
reply_to none;
sender @life_oa_101;
values [];
};
};
description "";
parent @life_oa_100;
postcondition "";
precondition "";
}
oa_scenario life_oa_200 "OA 02 Preexisting empty" id "5ceab400-0000-4000-8000-0000000004b0" {
context none;
description "";
parent none;
postcondition "";
precondition "";
steps [];
viewpoint OperationalActivity;
}
oa_lifeline life_oa_201 "OA Controller lane" id "5ceab400-0000-4000-8000-0000000004b1" {
description "";
parent @life_oa_200;
represented @life_oa_10;
}
oa_lifeline life_oa_202 "OA Receiver lane" id "5ceab400-0000-4000-8000-0000000004b2" {
description "";
parent @life_oa_200;
represented @life_oa_11;
}
oa_scenario life_oa_300 "OA 03 Create only" id "5ceab400-0000-4000-8000-000000000514" {
context none;
description "";
parent none;
postcondition "";
precondition "";
steps [@life_oa_310];
viewpoint OperationalActivity;
}
oa_lifeline life_oa_301 "OA Controller lane" id "5ceab400-0000-4000-8000-000000000515" {
description "";
parent @life_oa_300;
represented @life_oa_10;
}
oa_lifeline life_oa_302 "OA Receiver lane" id "5ceab400-0000-4000-8000-000000000516" {
description "";
parent @life_oa_300;
represented @life_oa_11;
}
oa_occurrence life_oa_310 "OA Create only receiver" id "5ceab400-0000-4000-8000-00000000051e" {
body {
Exchange {
exchange @life_oa_service;
message_kind Create;
receiver @life_oa_302;
reply_to none;
sender @life_oa_301;
values [];
};
};
description "";
parent @life_oa_300;
postcondition "";
precondition "";
}
oa_scenario life_oa_400 "OA 04 Conditional delete" id "5ceab400-0000-4000-8000-000000000578" {
context none;
description "";
parent none;
postcondition "";
precondition "";
steps [@life_oa_410, @life_oa_411];
viewpoint OperationalActivity;
}
oa_lifeline life_oa_401 "OA Controller lane" id "5ceab400-0000-4000-8000-000000000579" {
description "";
parent @life_oa_400;
represented @life_oa_10;
}
oa_lifeline life_oa_402 "OA Receiver lane" id "5ceab400-0000-4000-8000-00000000057a" {
description "";
parent @life_oa_400;
represented @life_oa_11;
}
oa_occurrence life_oa_410 "OA Open call" id "5ceab400-0000-4000-8000-000000000582" {
body {
Exchange {
exchange @life_oa_service;
message_kind Call;
receiver @life_oa_402;
reply_to none;
sender @life_oa_401;
values [];
};
};
description "";
parent @life_oa_400;
postcondition "";
precondition "";
}
oa_occurrence life_oa_411 "OA ALT delete or keep" id "5ceab400-0000-4000-8000-000000000583" {
body {
Fragment {
branches [@life_oa_412, @life_oa_413];
operator Alternative;
};
};
description "";
parent @life_oa_400;
postcondition "";
precondition "";
}
oa_occurrence life_oa_412 "OA Left delete operand" id "5ceab400-0000-4000-8000-000000000584" {
body {
Branch {
guard "stop_requested";
occurrences [@life_oa_414];
};
};
description "";
parent @life_oa_411;
postcondition "";
precondition "";
}
oa_occurrence life_oa_413 "OA Right empty operand" id "5ceab400-0000-4000-8000-000000000585" {
body {
Branch {
guard "else";
occurrences [];
};
};
description "";
parent @life_oa_411;
postcondition "";
precondition "";
}
oa_occurrence life_oa_414 "OA Conditional delete receiver" id "5ceab400-0000-4000-8000-000000000586" {
body {
Exchange {
exchange @life_oa_service;
message_kind Delete;
receiver @life_oa_402;
reply_to none;
sender @life_oa_401;
values [];
};
};
description "";
parent @life_oa_412;
postcondition "";
precondition "";
}
oa_scenario life_oa_500 "OA 05 Unassigned receiver" id "5ceab400-0000-4000-8000-0000000005dc" {
context none;
description "";
parent none;
postcondition "";
precondition "";
steps [@life_oa_510, @life_oa_511];
viewpoint OperationalActivity;
}
oa_lifeline life_oa_501 "OA Controller lane" id "5ceab400-0000-4000-8000-0000000005dd" {
description "";
parent @life_oa_500;
represented @life_oa_10;
}
oa_lifeline life_oa_502 "OA Unassigned receiver lane" id "5ceab400-0000-4000-8000-0000000005de" {
description "";
parent @life_oa_500;
represented none;
}
oa_occurrence life_oa_510 "OA Create unassigned receiver" id "5ceab400-0000-4000-8000-0000000005e6" {
body {
Exchange {
exchange none;
message_kind Create;
receiver @life_oa_502;
reply_to none;
sender @life_oa_501;
values [];
};
};
description "";
parent @life_oa_500;
postcondition "";
precondition "";
}
oa_occurrence life_oa_511 "OA Delete unassigned receiver" id "5ceab400-0000-4000-8000-0000000005e7" {
body {
Exchange {
exchange none;
message_kind Delete;
receiver @life_oa_502;
reply_to none;
sender @life_oa_501;
values [];
};
};
description "";
parent @life_oa_500;
postcondition "";
precondition "";
}
oa_scenario life_oa_600 "OA 06 Self delete" id "5ceab400-0000-4000-8000-000000000640" {
context none;
description "";
parent none;
postcondition "";
precondition "";
steps [@life_oa_610];
viewpoint OperationalActivity;
}
oa_lifeline life_oa_601 "OA Controller lane" id "5ceab400-0000-4000-8000-000000000641" {
description "";
parent @life_oa_600;
represented @life_oa_10;
}
oa_occurrence life_oa_610 "OA Self delete controller" id "5ceab400-0000-4000-8000-00000000064a" {
body {
Exchange {
exchange none;
message_kind Delete;
receiver @life_oa_601;
reply_to none;
sender @life_oa_601;
values [];
};
};
description "";
parent @life_oa_600;
postcondition "";
precondition "";
}
sa_function life_sa_10 "SA Controller work" id "5ceab400-0000-4000-8000-0000000007da" {
description "";
parent none;
}
sa_function life_sa_11 "SA Receiver work" id "5ceab400-0000-4000-8000-0000000007db" {
description "";
parent none;
}
sa_scenario life_sa_100 "SA 01 Root create action delete" id "5ceab400-0000-4000-8000-000000000834" {
context none;
description "";
parent none;
postcondition "";
precondition "";
steps [@life_sa_110, @life_sa_111, @life_sa_112];
viewpoint Functional;
}
sa_lifeline life_sa_101 "SA Controller lane" id "5ceab400-0000-4000-8000-000000000835" {
description "";
parent @life_sa_100;
represented @life_sa_10;
}
sa_lifeline life_sa_102 "界界界界界界界界界界界界界界界界界界" id "5ceab400-0000-4000-8000-000000000836" {
description "";
parent @life_sa_100;
represented @life_sa_11;
}
sa_occurrence life_sa_110 "SA Create receiver" id "5ceab400-0000-4000-8000-00000000083e" {
body {
Exchange {
exchange @life_sa_service;
message_kind Create;
receiver @life_sa_102;
reply_to none;
sender @life_sa_101;
values [];
};
};
description "";
parent @life_sa_100;
postcondition "";
precondition "";
}
sa_occurrence life_sa_111 "SA Receiver action" id "5ceab400-0000-4000-8000-00000000083f" {
body {
Action {
action @life_sa_11;
lifeline @life_sa_102;
};
};
description "";
parent @life_sa_100;
postcondition "";
precondition "";
}
sa_occurrence life_sa_112 "SA Delete receiver" id "5ceab400-0000-4000-8000-000000000840" {
body {
Exchange {
exchange @life_sa_service;
message_kind Delete;
receiver @life_sa_102;
reply_to none;
sender @life_sa_101;
values [];
};
};
description "";
parent @life_sa_100;
postcondition "";
precondition "";
}
sa_scenario life_sa_200 "SA 02 Preexisting empty" id "5ceab400-0000-4000-8000-000000000898" {
context none;
description "";
parent none;
postcondition "";
precondition "";
steps [];
viewpoint Functional;
}
sa_lifeline life_sa_201 "SA Controller lane" id "5ceab400-0000-4000-8000-000000000899" {
description "";
parent @life_sa_200;
represented @life_sa_10;
}
sa_lifeline life_sa_202 "SA Receiver lane" id "5ceab400-0000-4000-8000-00000000089a" {
description "";
parent @life_sa_200;
represented @life_sa_11;
}
sa_scenario life_sa_300 "SA 03 Create only" id "5ceab400-0000-4000-8000-0000000008fc" {
context none;
description "";
parent none;
postcondition "";
precondition "";
steps [@life_sa_310];
viewpoint Functional;
}
sa_lifeline life_sa_301 "SA Controller lane" id "5ceab400-0000-4000-8000-0000000008fd" {
description "";
parent @life_sa_300;
represented @life_sa_10;
}
sa_lifeline life_sa_302 "SA Receiver lane" id "5ceab400-0000-4000-8000-0000000008fe" {
description "";
parent @life_sa_300;
represented @life_sa_11;
}
sa_occurrence life_sa_310 "SA Create only receiver" id "5ceab400-0000-4000-8000-000000000906" {
body {
Exchange {
exchange @life_sa_service;
message_kind Create;
receiver @life_sa_302;
reply_to none;
sender @life_sa_301;
values [];
};
};
description "";
parent @life_sa_300;
postcondition "";
precondition "";
}
sa_scenario life_sa_400 "SA 04 Conditional delete" id "5ceab400-0000-4000-8000-000000000960" {
context none;
description "";
parent none;
postcondition "";
precondition "";
steps [@life_sa_410, @life_sa_411];
viewpoint Functional;
}
sa_lifeline life_sa_401 "SA Controller lane" id "5ceab400-0000-4000-8000-000000000961" {
description "";
parent @life_sa_400;
represented @life_sa_10;
}
sa_lifeline life_sa_402 "SA Receiver lane" id "5ceab400-0000-4000-8000-000000000962" {
description "";
parent @life_sa_400;
represented @life_sa_11;
}
sa_occurrence life_sa_410 "SA Open call" id "5ceab400-0000-4000-8000-00000000096a" {
body {
Exchange {
exchange @life_sa_service;
message_kind Call;
receiver @life_sa_402;
reply_to none;
sender @life_sa_401;
values [];
};
};
description "";
parent @life_sa_400;
postcondition "";
precondition "";
}
sa_occurrence life_sa_411 "SA ALT delete or keep" id "5ceab400-0000-4000-8000-00000000096b" {
body {
Fragment {
branches [@life_sa_412, @life_sa_413];
operator Alternative;
};
};
description "";
parent @life_sa_400;
postcondition "";
precondition "";
}
sa_occurrence life_sa_412 "SA Left delete operand" id "5ceab400-0000-4000-8000-00000000096c" {
body {
Branch {
guard "stop_requested";
occurrences [@life_sa_414];
};
};
description "";
parent @life_sa_411;
postcondition "";
precondition "";
}
sa_occurrence life_sa_413 "SA Right empty operand" id "5ceab400-0000-4000-8000-00000000096d" {
body {
Branch {
guard "else";
occurrences [];
};
};
description "";
parent @life_sa_411;
postcondition "";
precondition "";
}
sa_occurrence life_sa_414 "SA Conditional delete receiver" id "5ceab400-0000-4000-8000-00000000096e" {
body {
Exchange {
exchange @life_sa_service;
message_kind Delete;
receiver @life_sa_402;
reply_to none;
sender @life_sa_401;
values [];
};
};
description "";
parent @life_sa_412;
postcondition "";
precondition "";
}
sa_scenario life_sa_500 "SA 05 Unassigned receiver" id "5ceab400-0000-4000-8000-0000000009c4" {
context none;
description "";
parent none;
postcondition "";
precondition "";
steps [@life_sa_510, @life_sa_511];
viewpoint Functional;
}
sa_lifeline life_sa_501 "SA Controller lane" id "5ceab400-0000-4000-8000-0000000009c5" {
description "";
parent @life_sa_500;
represented @life_sa_10;
}
sa_lifeline life_sa_502 "SA Unassigned receiver lane" id "5ceab400-0000-4000-8000-0000000009c6" {
description "";
parent @life_sa_500;
represented none;
}
sa_occurrence life_sa_510 "SA Create unassigned receiver" id "5ceab400-0000-4000-8000-0000000009ce" {
body {
Exchange {
exchange none;
message_kind Create;
receiver @life_sa_502;
reply_to none;
sender @life_sa_501;
values [];
};
};
description "";
parent @life_sa_500;
postcondition "";
precondition "";
}
sa_occurrence life_sa_511 "SA Delete unassigned receiver" id "5ceab400-0000-4000-8000-0000000009cf" {
body {
Exchange {
exchange none;
message_kind Delete;
receiver @life_sa_502;
reply_to none;
sender @life_sa_501;
values [];
};
};
description "";
parent @life_sa_500;
postcondition "";
precondition "";
}
sa_scenario life_sa_600 "SA 06 Self delete" id "5ceab400-0000-4000-8000-000000000a28" {
context none;
description "";
parent none;
postcondition "";
precondition "";
steps [@life_sa_610];
viewpoint Functional;
}
sa_lifeline life_sa_601 "SA Controller lane" id "5ceab400-0000-4000-8000-000000000a29" {
description "";
parent @life_sa_600;
represented @life_sa_10;
}
sa_occurrence life_sa_610 "SA Self delete controller" id "5ceab400-0000-4000-8000-000000000a32" {
body {
Exchange {
exchange none;
message_kind Delete;
receiver @life_sa_601;
reply_to none;
sender @life_sa_601;
values [];
};
};
description "";
parent @life_sa_600;
postcondition "";
precondition "";
}
sa_port sa_lifecycle_service_input "SA Lifecycle service input" id "a4a6ecc0-3e12-51a5-b08b-199ad743525c" {
contract {
FunctionInput {
incoming_items [];
};
};
description "";
legacy none;
parent @life_sa_11;
}
sa_port sa_lifecycle_service_output "SA Lifecycle service output" id "b1aa66c4-0e8e-5091-beda-2b8d2005b688" {
contract {
FunctionOutput {
outgoing_items [];
};
};
description "";
legacy none;
parent @life_sa_10;
}
interaction life_oa_service "OA Lifecycle service" id "5ceab400-0000-4000-8000-0000000003f4" {
description "";
items [];
source @life_oa_10;
target @life_oa_11;
}
functional_exchange life_sa_service "SA Lifecycle service" id "5ceab400-0000-4000-8000-0000000007dc" {
description "";
items [];
source @life_sa_10;
source_port @sa_lifecycle_service_output;
target @life_sa_11;
target_port @sa_lifecycle_service_input;
}
}
@@ -0,0 +1,2 @@
// Preserve lifecycle note: 雨 · receiver.
// Geometry never changes these bytes.
@@ -0,0 +1,692 @@
arcadia 7;
project lifecycle_native "Lifecycle native contract" id "5ceab400-0000-4000-8000-000000000001" {
include "rationale.arcadia";
description "Fixed semantic inputs; lifecycle geometry is derived and never authored.";
oa_activity life_oa_10 "OA Controller work" id "5ceab400-0000-4000-8000-0000000003f2" {
description "";
parent none;
}
oa_activity life_oa_11 "OA Receiver work" id "5ceab400-0000-4000-8000-0000000003f3" {
description "";
parent none;
}
oa_scenario life_oa_100 "OA 01 Root create action delete" id "5ceab400-0000-4000-8000-00000000044c" {
context none;
description "";
parent none;
postcondition "";
precondition "";
steps [@life_oa_110, @life_oa_111, @life_oa_112];
viewpoint OperationalActivity;
}
oa_lifeline life_oa_101 "OA Controller lane" id "5ceab400-0000-4000-8000-00000000044d" {
description "";
parent @life_oa_100;
represented @life_oa_10;
}
oa_lifeline life_oa_102 "WWWWWWWWWWWWWWWWWW" id "5ceab400-0000-4000-8000-00000000044e" {
description "";
parent @life_oa_100;
represented @life_oa_11;
}
oa_occurrence life_oa_110 "OA Create receiver" id "5ceab400-0000-4000-8000-000000000456" {
body {
Exchange {
exchange @life_oa_service;
message_kind Create;
receiver @life_oa_102;
reply_to none;
sender @life_oa_101;
values [];
};
};
description "";
parent @life_oa_100;
postcondition "";
precondition "";
}
oa_occurrence life_oa_111 "OA Receiver action" id "5ceab400-0000-4000-8000-000000000457" {
body {
Action {
action @life_oa_11;
lifeline @life_oa_102;
};
};
description "";
parent @life_oa_100;
postcondition "";
precondition "";
}
oa_occurrence life_oa_112 "OA Delete receiver" id "5ceab400-0000-4000-8000-000000000458" {
body {
Exchange {
exchange @life_oa_service;
message_kind Delete;
receiver @life_oa_102;
reply_to none;
sender @life_oa_101;
values [];
};
};
description "";
parent @life_oa_100;
postcondition "";
precondition "";
}
oa_scenario life_oa_200 "OA 02 Preexisting empty" id "5ceab400-0000-4000-8000-0000000004b0" {
context none;
description "";
parent none;
postcondition "";
precondition "";
steps [];
viewpoint OperationalActivity;
}
oa_lifeline life_oa_201 "OA Controller lane" id "5ceab400-0000-4000-8000-0000000004b1" {
description "";
parent @life_oa_200;
represented @life_oa_10;
}
oa_lifeline life_oa_202 "OA Receiver lane" id "5ceab400-0000-4000-8000-0000000004b2" {
description "";
parent @life_oa_200;
represented @life_oa_11;
}
oa_scenario life_oa_300 "OA 03 Create only" id "5ceab400-0000-4000-8000-000000000514" {
context none;
description "";
parent none;
postcondition "";
precondition "";
steps [@life_oa_310];
viewpoint OperationalActivity;
}
oa_lifeline life_oa_301 "OA Controller lane" id "5ceab400-0000-4000-8000-000000000515" {
description "";
parent @life_oa_300;
represented @life_oa_10;
}
oa_lifeline life_oa_302 "OA Receiver lane" id "5ceab400-0000-4000-8000-000000000516" {
description "";
parent @life_oa_300;
represented @life_oa_11;
}
oa_occurrence life_oa_310 "OA Create only receiver" id "5ceab400-0000-4000-8000-00000000051e" {
body {
Exchange {
exchange @life_oa_service;
message_kind Create;
receiver @life_oa_302;
reply_to none;
sender @life_oa_301;
values [];
};
};
description "";
parent @life_oa_300;
postcondition "";
precondition "";
}
oa_scenario life_oa_400 "OA 04 Conditional delete" id "5ceab400-0000-4000-8000-000000000578" {
context none;
description "";
parent none;
postcondition "";
precondition "";
steps [@life_oa_410, @life_oa_411];
viewpoint OperationalActivity;
}
oa_lifeline life_oa_401 "OA Controller lane" id "5ceab400-0000-4000-8000-000000000579" {
description "";
parent @life_oa_400;
represented @life_oa_10;
}
oa_lifeline life_oa_402 "OA Receiver lane" id "5ceab400-0000-4000-8000-00000000057a" {
description "";
parent @life_oa_400;
represented @life_oa_11;
}
oa_occurrence life_oa_410 "OA Open call" id "5ceab400-0000-4000-8000-000000000582" {
body {
Exchange {
exchange @life_oa_service;
message_kind Call;
receiver @life_oa_402;
reply_to none;
sender @life_oa_401;
values [];
};
};
description "";
parent @life_oa_400;
postcondition "";
precondition "";
}
oa_occurrence life_oa_411 "OA ALT delete or keep" id "5ceab400-0000-4000-8000-000000000583" {
body {
Fragment {
branches [@life_oa_412, @life_oa_413];
operator Alternative;
};
};
description "";
parent @life_oa_400;
postcondition "";
precondition "";
}
oa_occurrence life_oa_412 "OA Left delete operand" id "5ceab400-0000-4000-8000-000000000584" {
body {
Branch {
guard "stop_requested";
occurrences [@life_oa_414];
};
};
description "";
parent @life_oa_411;
postcondition "";
precondition "";
}
oa_occurrence life_oa_413 "OA Right empty operand" id "5ceab400-0000-4000-8000-000000000585" {
body {
Branch {
guard "else";
occurrences [];
};
};
description "";
parent @life_oa_411;
postcondition "";
precondition "";
}
oa_occurrence life_oa_414 "OA Conditional delete receiver" id "5ceab400-0000-4000-8000-000000000586" {
body {
Exchange {
exchange @life_oa_service;
message_kind Delete;
receiver @life_oa_402;
reply_to none;
sender @life_oa_401;
values [];
};
};
description "";
parent @life_oa_412;
postcondition "";
precondition "";
}
oa_scenario life_oa_500 "OA 05 Unassigned receiver" id "5ceab400-0000-4000-8000-0000000005dc" {
context none;
description "";
parent none;
postcondition "";
precondition "";
steps [@life_oa_510, @life_oa_511];
viewpoint OperationalActivity;
}
oa_lifeline life_oa_501 "OA Controller lane" id "5ceab400-0000-4000-8000-0000000005dd" {
description "";
parent @life_oa_500;
represented @life_oa_10;
}
oa_lifeline life_oa_502 "OA Unassigned receiver lane" id "5ceab400-0000-4000-8000-0000000005de" {
description "";
parent @life_oa_500;
represented none;
}
oa_occurrence life_oa_510 "OA Create unassigned receiver" id "5ceab400-0000-4000-8000-0000000005e6" {
body {
Exchange {
exchange none;
message_kind Create;
receiver @life_oa_502;
reply_to none;
sender @life_oa_501;
values [];
};
};
description "";
parent @life_oa_500;
postcondition "";
precondition "";
}
oa_occurrence life_oa_511 "OA Delete unassigned receiver" id "5ceab400-0000-4000-8000-0000000005e7" {
body {
Exchange {
exchange none;
message_kind Delete;
receiver @life_oa_502;
reply_to none;
sender @life_oa_501;
values [];
};
};
description "";
parent @life_oa_500;
postcondition "";
precondition "";
}
oa_scenario life_oa_600 "OA 06 Self delete" id "5ceab400-0000-4000-8000-000000000640" {
context none;
description "";
parent none;
postcondition "";
precondition "";
steps [@life_oa_610];
viewpoint OperationalActivity;
}
oa_lifeline life_oa_601 "OA Controller lane" id "5ceab400-0000-4000-8000-000000000641" {
description "";
parent @life_oa_600;
represented @life_oa_10;
}
oa_occurrence life_oa_610 "OA Self delete controller" id "5ceab400-0000-4000-8000-00000000064a" {
body {
Exchange {
exchange none;
message_kind Delete;
receiver @life_oa_601;
reply_to none;
sender @life_oa_601;
values [];
};
};
description "";
parent @life_oa_600;
postcondition "";
precondition "";
}
sa_function life_sa_10 "SA Controller work" id "5ceab400-0000-4000-8000-0000000007da" {
description "";
parent none;
}
sa_function life_sa_11 "SA Receiver work" id "5ceab400-0000-4000-8000-0000000007db" {
description "";
parent none;
}
sa_scenario life_sa_100 "SA 01 Root create action delete" id "5ceab400-0000-4000-8000-000000000834" {
context none;
description "";
parent none;
postcondition "";
precondition "";
steps [@life_sa_110, @life_sa_111, @life_sa_112];
viewpoint Functional;
}
sa_lifeline life_sa_101 "SA Controller lane" id "5ceab400-0000-4000-8000-000000000835" {
description "";
parent @life_sa_100;
represented @life_sa_10;
}
sa_lifeline life_sa_102 "界界界界界界界界界界界界界界界界界界" id "5ceab400-0000-4000-8000-000000000836" {
description "";
parent @life_sa_100;
represented @life_sa_11;
}
sa_occurrence life_sa_110 "SA Create receiver" id "5ceab400-0000-4000-8000-00000000083e" {
body {
Exchange {
exchange @life_sa_service;
message_kind Create;
receiver @life_sa_102;
reply_to none;
sender @life_sa_101;
values [];
};
};
description "";
parent @life_sa_100;
postcondition "";
precondition "";
}
sa_occurrence life_sa_111 "SA Receiver action" id "5ceab400-0000-4000-8000-00000000083f" {
body {
Action {
action @life_sa_11;
lifeline @life_sa_102;
};
};
description "";
parent @life_sa_100;
postcondition "";
precondition "";
}
sa_occurrence life_sa_112 "SA Delete receiver" id "5ceab400-0000-4000-8000-000000000840" {
body {
Exchange {
exchange @life_sa_service;
message_kind Delete;
receiver @life_sa_102;
reply_to none;
sender @life_sa_101;
values [];
};
};
description "";
parent @life_sa_100;
postcondition "";
precondition "";
}
sa_scenario life_sa_200 "SA 02 Preexisting empty" id "5ceab400-0000-4000-8000-000000000898" {
context none;
description "";
parent none;
postcondition "";
precondition "";
steps [];
viewpoint Functional;
}
sa_lifeline life_sa_201 "SA Controller lane" id "5ceab400-0000-4000-8000-000000000899" {
description "";
parent @life_sa_200;
represented @life_sa_10;
}
sa_lifeline life_sa_202 "SA Receiver lane" id "5ceab400-0000-4000-8000-00000000089a" {
description "";
parent @life_sa_200;
represented @life_sa_11;
}
sa_scenario life_sa_300 "SA 03 Create only" id "5ceab400-0000-4000-8000-0000000008fc" {
context none;
description "";
parent none;
postcondition "";
precondition "";
steps [@life_sa_310];
viewpoint Functional;
}
sa_lifeline life_sa_301 "SA Controller lane" id "5ceab400-0000-4000-8000-0000000008fd" {
description "";
parent @life_sa_300;
represented @life_sa_10;
}
sa_lifeline life_sa_302 "SA Receiver lane" id "5ceab400-0000-4000-8000-0000000008fe" {
description "";
parent @life_sa_300;
represented @life_sa_11;
}
sa_occurrence life_sa_310 "SA Create only receiver" id "5ceab400-0000-4000-8000-000000000906" {
body {
Exchange {
exchange @life_sa_service;
message_kind Create;
receiver @life_sa_302;
reply_to none;
sender @life_sa_301;
values [];
};
};
description "";
parent @life_sa_300;
postcondition "";
precondition "";
}
sa_scenario life_sa_400 "SA 04 Conditional delete" id "5ceab400-0000-4000-8000-000000000960" {
context none;
description "";
parent none;
postcondition "";
precondition "";
steps [@life_sa_410, @life_sa_411];
viewpoint Functional;
}
sa_lifeline life_sa_401 "SA Controller lane" id "5ceab400-0000-4000-8000-000000000961" {
description "";
parent @life_sa_400;
represented @life_sa_10;
}
sa_lifeline life_sa_402 "SA Receiver lane" id "5ceab400-0000-4000-8000-000000000962" {
description "";
parent @life_sa_400;
represented @life_sa_11;
}
sa_occurrence life_sa_410 "SA Open call" id "5ceab400-0000-4000-8000-00000000096a" {
body {
Exchange {
exchange @life_sa_service;
message_kind Call;
receiver @life_sa_402;
reply_to none;
sender @life_sa_401;
values [];
};
};
description "";
parent @life_sa_400;
postcondition "";
precondition "";
}
sa_occurrence life_sa_411 "SA ALT delete or keep" id "5ceab400-0000-4000-8000-00000000096b" {
body {
Fragment {
branches [@life_sa_412, @life_sa_413];
operator Alternative;
};
};
description "";
parent @life_sa_400;
postcondition "";
precondition "";
}
sa_occurrence life_sa_412 "SA Left delete operand" id "5ceab400-0000-4000-8000-00000000096c" {
body {
Branch {
guard "stop_requested";
occurrences [@life_sa_414];
};
};
description "";
parent @life_sa_411;
postcondition "";
precondition "";
}
sa_occurrence life_sa_413 "SA Right empty operand" id "5ceab400-0000-4000-8000-00000000096d" {
body {
Branch {
guard "else";
occurrences [];
};
};
description "";
parent @life_sa_411;
postcondition "";
precondition "";
}
sa_occurrence life_sa_414 "SA Conditional delete receiver" id "5ceab400-0000-4000-8000-00000000096e" {
body {
Exchange {
exchange @life_sa_service;
message_kind Delete;
receiver @life_sa_402;
reply_to none;
sender @life_sa_401;
values [];
};
};
description "";
parent @life_sa_412;
postcondition "";
precondition "";
}
sa_scenario life_sa_500 "SA 05 Unassigned receiver" id "5ceab400-0000-4000-8000-0000000009c4" {
context none;
description "";
parent none;
postcondition "";
precondition "";
steps [@life_sa_510, @life_sa_511];
viewpoint Functional;
}
sa_lifeline life_sa_501 "SA Controller lane" id "5ceab400-0000-4000-8000-0000000009c5" {
description "";
parent @life_sa_500;
represented @life_sa_10;
}
sa_lifeline life_sa_502 "SA Unassigned receiver lane" id "5ceab400-0000-4000-8000-0000000009c6" {
description "";
parent @life_sa_500;
represented none;
}
sa_occurrence life_sa_510 "SA Create unassigned receiver" id "5ceab400-0000-4000-8000-0000000009ce" {
body {
Exchange {
exchange none;
message_kind Create;
receiver @life_sa_502;
reply_to none;
sender @life_sa_501;
values [];
};
};
description "";
parent @life_sa_500;
postcondition "";
precondition "";
}
sa_occurrence life_sa_511 "SA Delete unassigned receiver" id "5ceab400-0000-4000-8000-0000000009cf" {
body {
Exchange {
exchange none;
message_kind Delete;
receiver @life_sa_502;
reply_to none;
sender @life_sa_501;
values [];
};
};
description "";
parent @life_sa_500;
postcondition "";
precondition "";
}
sa_scenario life_sa_600 "SA 06 Self delete" id "5ceab400-0000-4000-8000-000000000a28" {
context none;
description "";
parent none;
postcondition "";
precondition "";
steps [@life_sa_610];
viewpoint Functional;
}
sa_lifeline life_sa_601 "SA Controller lane" id "5ceab400-0000-4000-8000-000000000a29" {
description "";
parent @life_sa_600;
represented @life_sa_10;
}
sa_occurrence life_sa_610 "SA Self delete controller" id "5ceab400-0000-4000-8000-000000000a32" {
body {
Exchange {
exchange none;
message_kind Delete;
receiver @life_sa_601;
reply_to none;
sender @life_sa_601;
values [];
};
};
description "";
parent @life_sa_600;
postcondition "";
precondition "";
}
sa_port sa_lifecycle_service_input "SA Lifecycle service input" id "a4a6ecc0-3e12-51a5-b08b-199ad743525c" {
contract {
FunctionInput {
incoming_items [];
};
};
description "";
legacy none;
parent @life_sa_11;
}
sa_port sa_lifecycle_service_output "SA Lifecycle service output" id "b1aa66c4-0e8e-5091-beda-2b8d2005b688" {
contract {
FunctionOutput {
outgoing_items [];
};
};
description "";
legacy none;
parent @life_sa_10;
}
interaction life_oa_service "OA Lifecycle service" id "5ceab400-0000-4000-8000-0000000003f4" {
description "";
items [];
source @life_oa_10;
target @life_oa_11;
}
functional_exchange life_sa_service "SA Lifecycle service" id "5ceab400-0000-4000-8000-0000000007dc" {
description "";
items [];
source @life_sa_10;
source_port @sa_lifecycle_service_output;
target @life_sa_11;
target_port @sa_lifecycle_service_input;
}
}
@@ -0,0 +1,2 @@
// Preserve lifecycle note: 雨 · receiver.
// Geometry never changes these bytes.
@@ -0,0 +1,183 @@
#Requires -Version 7.0
# PREPARED ONLY. Root decides when to invoke. Keep this logger alive until normal GUI close.
[CmdletBinding()]
param()
Set-StrictMode -Version Latest
$ErrorActionPreference = 'Stop'
$nativeRoot = Join-Path $PSScriptRoot 'native-a57c334-camera'
$nativeFreeze = 'a57c334b302eb13352b4bb65df1c75d94d002348'
$nativeManifestHash = '293892C2F430D6EADB58C6678F3C1B346742B3AA4D2FE5CE3729F896EAD2C2DB'
$nativeInputHash = '47FEC9CADC0E7FAE99D789376C111C02EEAAB7FAC3740DE48174A06F61FE16B3'
$nativeGuiHash = '69DBB90FA299B3B3D90140C7934891F79166025893AF9B35B2B8D754A37A0D40'
$nativeDllHash = 'AA282FA47BB2C4E210CEA5E470CDBDCA58568F0BE0BC73E404D86AB9CD95EF6A'
$nativeBin = Join-Path $nativeRoot 'bin'
$nativeProfile = Join-Path $nativeRoot 'profile'
$nativeCwd = Join-Path $nativeRoot 'unrelated-cwd'
$nativePath = 'C:\Windows\System32;C:\Windows;' + $nativeBin
$nativeReceipt = Join-Path $nativeRoot 'launch.json'
$nativeTerminal = Join-Path $nativeRoot 'normal-close.json'
$nativeStdout = Join-Path $nativeRoot 'logs/studio.stdout.log'
$nativeStderr = Join-Path $nativeRoot 'logs/studio.stderr.log'
$nativeUtf8 = [Text.UTF8Encoding]::new($false)
function Read-NativeItem([string]$Path) {
$item = Get-Item -LiteralPath $Path -Force
$ancestor = $item
while ($null -ne $ancestor) {
if (($ancestor.Attributes -band [IO.FileAttributes]::ReparsePoint) -ne 0) {
throw "Reparse path requires separate review: $($ancestor.FullName)"
}
$ancestor = if ($ancestor -is [IO.FileInfo]) { $ancestor.Directory } else { $ancestor.Parent }
}
return $item
}
function Read-NativeFile([string]$Path) {
$item = Read-NativeItem $Path
if ($item.PSIsContainer) { throw "Expected file: $Path" }
return [ordered]@{ path = $item.FullName; bytes = $item.Length; sha256 = (Get-FileHash -LiteralPath $item.FullName -Algorithm SHA256).Hash }
}
function Write-NativeRecord($Record, [IO.FileStream]$Stream) {
$bytes = $nativeUtf8.GetBytes(($Record | ConvertTo-Json -Depth 12) + "`n")
$Stream.Position = 0
$Stream.SetLength(0)
$Stream.Write($bytes, 0, $bytes.Length)
$Stream.Flush($true)
}
function Open-NativeOutput([string]$Path) {
return [IO.File]::Open($Path, [IO.FileMode]::CreateNew, [IO.FileAccess]::ReadWrite, [IO.FileShare]::Read)
}
# Source provenance is the closed a57 gate, never current dirty sources or target/debug.
$nativeManifestFile = Read-NativeFile (Join-Path $nativeRoot 'preparation-manifest.json')
if ($nativeManifestFile.sha256 -ne $nativeManifestHash) { throw 'Preparation manifest changed.' }
$nativeManifest = Get-Content -LiteralPath $nativeManifestFile.path -Raw | ConvertFrom-Json
if ($nativeManifest.source_commit -ne $nativeFreeze -or $nativeManifest.input_manifest_sha256 -ne $nativeInputHash -or $nativeManifest.frozen_input_count -ne 529) { throw 'Unexpected frozen input identity.' }
foreach ($file in $nativeManifest.files) {
$path = [IO.Path]::GetFullPath((Join-Path $nativeRoot $file.target))
if (-not $path.StartsWith($nativeRoot + [IO.Path]::DirectorySeparatorChar, [StringComparison]::OrdinalIgnoreCase)) { throw 'Manifest path escapes private root.' }
$actual = Read-NativeFile $path
if ($actual.sha256 -ne $file.sha256 -or $actual.bytes -ne $file.bytes) { throw "Prepared input changed: $($file.target)" }
}
$nativeInputs = Read-NativeFile (Join-Path $nativeRoot 'provenance/inputs.json')
if ($nativeInputs.sha256 -ne $nativeInputHash) { throw 'Frozen input manifest changed.' }
$nativeBuildFile = Read-NativeFile (Join-Path $nativeRoot 'provenance/studio-build-status.json')
$nativeBuild = Get-Content -LiteralPath $nativeBuildFile.path -Raw | ConvertFrom-Json
if ($nativeBuild.exit -ne 0 -or $nativeBuild.name -ne 'canvas-union-windows-20260911/studio-build' -or [string]::IsNullOrWhiteSpace($nativeBuild.completed_utc)) { throw 'Matching completed build required.' }
$nativeGui = Read-NativeFile (Join-Path $nativeBin 'arcadia-studio.exe')
$nativeDll = Read-NativeFile (Join-Path $nativeBin 'libunwind.dll')
if ($nativeGui.sha256 -ne $nativeGuiHash -or $nativeGui.bytes -ne 113028608 -or $nativeDll.sha256 -ne $nativeDllHash -or $nativeDll.bytes -ne 190464) { throw 'Immutable GUI/runtime mismatch.' }
if (-not [string]::Equals($env:SystemRoot, 'C:\Windows', [StringComparison]::OrdinalIgnoreCase)) { throw 'This recorded launch requires SystemRoot C:\Windows.' }
foreach ($directory in @($nativeProfile, $nativeCwd, (Join-Path $nativeRoot 'logs'), 'C:\Windows\System32')) {
if (-not (Read-NativeItem $directory).PSIsContainer) { throw "Required directory missing: $directory" }
}
foreach ($empty in @($nativeProfile, $nativeCwd)) {
if (@(Get-ChildItem -LiteralPath $empty -Force).Count -ne 0) { throw "Fresh empty directory required: $empty" }
}
foreach ($output in @($nativeReceipt, $nativeTerminal, $nativeStdout, $nativeStderr)) {
if (Test-Path -LiteralPath $output) { throw "Never overwrite prior launch evidence: $output" }
}
$nativeState = [ordered]@{
source_commit = $nativeFreeze
scope = 'Independent pre-grapheme a57 camera/clipping/zoom/hit session; no package or new combined Unicode acceptance implied.'
preparation_manifest = $nativeManifestFile
build_inputs_manifest = $nativeInputs
build_status_file = $nativeBuildFile
build_status = $nativeBuild
studio = $nativeGui
runtime = $nativeDll
launch_script = (Read-NativeFile $PSCommandPath)
process_path = $nativePath
isolated_localappdata = $nativeProfile
working_directory = $nativeCwd
arguments = @()
environment_scope = 'Child ProcessStartInfo only; other normal inherited environment retained.'
window_style = 'Hidden'
use_shell_execute = $false
create_no_window = $true
stdout = $nativeStdout
stderr = $nativeStderr
pid = $null
launch_requested_utc = $null
process_started_utc = $null
state = 'preflight_passed'
acceptance = 'Pending root observation and independent source/model checks.'
}
$nativeReceiptStream = $null
$nativeOutStream = $null
$nativeErrStream = $null
$nativeProcess = $null
$nativeStarted = $false
try {
# Exclusive receipt reservation also serializes accidental concurrent invocations.
$nativeReceiptStream = Open-NativeOutput $nativeReceipt
Write-NativeRecord $nativeState $nativeReceiptStream
$nativeOutStream = Open-NativeOutput $nativeStdout
$nativeErrStream = Open-NativeOutput $nativeStderr
$nativeInfo = [Diagnostics.ProcessStartInfo]::new()
$nativeInfo.FileName = $nativeGui.path
$nativeInfo.WorkingDirectory = $nativeCwd
$nativeInfo.UseShellExecute = $false
$nativeInfo.CreateNoWindow = $true
$nativeInfo.WindowStyle = [Diagnostics.ProcessWindowStyle]::Hidden
$nativeInfo.RedirectStandardOutput = $true
$nativeInfo.RedirectStandardError = $true
$nativeInfo.Environment['PATH'] = $nativePath
$nativeInfo.Environment['LOCALAPPDATA'] = $nativeProfile
foreach ($file in @($nativeGui, $nativeDll, $nativeManifestFile, $nativeInputs, $nativeBuildFile)) {
if ((Read-NativeFile $file.path).sha256 -ne $file.sha256) { throw "Launch-critical input changed: $($file.path)" }
}
$nativeProcess = [Diagnostics.Process]::new()
$nativeProcess.StartInfo = $nativeInfo
$nativeState.launch_requested_utc = [DateTime]::UtcNow.ToString('o')
if (-not $nativeProcess.Start()) { throw 'Process.Start returned false.' }
$nativeStarted = $true
$nativeState.pid = $nativeProcess.Id
# Pump both raw streams concurrently; no line decoding/newline normalization.
$nativeOutCopy = $nativeProcess.StandardOutput.BaseStream.CopyToAsync($nativeOutStream)
$nativeErrCopy = $nativeProcess.StandardError.BaseStream.CopyToAsync($nativeErrStream)
$nativeState.process_started_utc = $nativeProcess.StartTime.ToUniversalTime().ToString('o')
$nativeState.state = 'launched'
Write-NativeRecord $nativeState $nativeReceiptStream
$nativeReceiptStream.Dispose()
$nativeReceiptStream = $null
$nativeState | ConvertTo-Json -Depth 12 | Write-Output
# Deliberately stays attached as a logger. Root uses a running shell session and closes GUI normally.
$nativeProcess.WaitForExit()
[Threading.Tasks.Task]::WaitAll([Threading.Tasks.Task[]]@($nativeOutCopy, $nativeErrCopy))
$nativeOutStream.Flush($true)
$nativeErrStream.Flush($true)
$nativeOutStream.Dispose()
$nativeOutStream = $null
$nativeErrStream.Dispose()
$nativeErrStream = $null
$nativeClosed = [ordered]@{
source_commit = $nativeFreeze
pid = $nativeState.pid
process_started_utc = $nativeState.process_started_utc
observed_exit_utc = [DateTime]::UtcNow.ToString('o')
exit_code = $nativeProcess.ExitCode
scope = 'Process termination and closed raw logs only; UI acceptance and reason for close require root observation.'
stdout = (Read-NativeFile $nativeStdout)
stderr = (Read-NativeFile $nativeStderr)
studio_readback = (Read-NativeFile $nativeGui.path)
runtime_readback = (Read-NativeFile $nativeDll.path)
}
$nativeCloseStream = Open-NativeOutput $nativeTerminal
try { Write-NativeRecord $nativeClosed $nativeCloseStream } finally { $nativeCloseStream.Dispose() }
$nativeClosed | ConvertTo-Json -Depth 12 | Write-Output
} catch {
if ($null -ne $nativeReceiptStream) {
$nativeState.state = if ($nativeStarted) { 'launched_record_error' } else { 'launch_failed' }
$nativeState['error'] = $_.Exception.Message
Write-NativeRecord $nativeState $nativeReceiptStream
}
throw
} finally {
if ($null -ne $nativeReceiptStream) { $nativeReceiptStream.Dispose() }
if ($null -ne $nativeOutStream) { $nativeOutStream.Dispose() }
if ($null -ne $nativeErrStream) { $nativeErrStream.Dispose() }
if ($null -ne $nativeProcess) { $nativeProcess.Dispose() }
# Never kill an application here. Root owns every native interaction and any recovery.
}
@@ -0,0 +1,5 @@
{
"scope": "Parser only; no launch",
"errors": [],
"pass": true
}
@@ -0,0 +1,67 @@
{
"source_commit": "a57c334b302eb13352b4bb65df1c75d94d002348",
"scope": "Independent pre-grapheme a57 camera/clipping/zoom/hit session; no package or new combined Unicode acceptance implied.",
"preparation_manifest": {
"path": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\native-a57c334-camera\\preparation-manifest.json",
"bytes": 9149,
"sha256": "293892C2F430D6EADB58C6678F3C1B346742B3AA4D2FE5CE3729F896EAD2C2DB"
},
"build_inputs_manifest": {
"path": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\native-a57c334-camera\\provenance\\inputs.json",
"bytes": 101859,
"sha256": "47FEC9CADC0E7FAE99D789376C111C02EEAAB7FAC3740DE48174A06F61FE16B3"
},
"build_status_file": {
"path": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\native-a57c334-camera\\provenance\\studio-build-status.json",
"bytes": 474,
"sha256": "AB1E04807F32F8DADA0A572D69F632BD6FD242150DF211C18E35D82EA8BE91EC"
},
"build_status": {
"seconds": 385.1131455,
"log": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\canvas-union-windows-20260911\\studio-build.log",
"started_utc": "2026-09-11T20:14:23.6348444Z",
"exit": 0,
"command": [
"cargo",
"build",
"-p",
"oa-desktop",
"--bin",
"arcadia-studio",
"--offline",
"--locked"
],
"name": "canvas-union-windows-20260911/studio-build",
"completed_utc": "2026-09-11T20:20:48.7677661Z"
},
"studio": {
"path": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\native-a57c334-camera\\bin\\arcadia-studio.exe",
"bytes": 113028608,
"sha256": "69DBB90FA299B3B3D90140C7934891F79166025893AF9B35B2B8D754A37A0D40"
},
"runtime": {
"path": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\native-a57c334-camera\\bin\\libunwind.dll",
"bytes": 190464,
"sha256": "AA282FA47BB2C4E210CEA5E470CDBDCA58568F0BE0BC73E404D86AB9CD95EF6A"
},
"launch_script": {
"path": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\launch-native-a57c334-camera.ps1",
"bytes": 10001,
"sha256": "BE80A4B5B407BCEA3DBECC547DA5E5888F3C6DC06F5F7AF87F546C388963B4DE"
},
"process_path": "C:\\Windows\\System32;C:\\Windows;C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\native-a57c334-camera\\bin",
"isolated_localappdata": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\native-a57c334-camera\\profile",
"working_directory": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\native-a57c334-camera\\unrelated-cwd",
"arguments": [],
"environment_scope": "Child ProcessStartInfo only; other normal inherited environment retained.",
"window_style": "Hidden",
"use_shell_execute": false,
"create_no_window": true,
"stdout": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\native-a57c334-camera\\logs\\studio.stdout.log",
"stderr": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\native-a57c334-camera\\logs\\studio.stderr.log",
"pid": 5004,
"launch_requested_utc": "2026-09-12T10:52:56.9766659Z",
"process_started_utc": "2026-09-12T10:52:57.0962185Z",
"state": "launched",
"acceptance": "Pending root observation and independent source/model checks."
}
@@ -0,0 +1 @@
PASS same: all identities, fields, reachable source and physical bytes
@@ -0,0 +1,347 @@
{
"created_utc": "2026-09-12T11:07:20.1744786Z",
"scope": "Closed a57 camera evidence only; copying does not execute gates or UI",
"payload_count": 47,
"payload_bytes": 2184242.0,
"files": [
{
"path": "baseline-wide/project.arcadia",
"original": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\native-a57c334-camera\\baseline-wide\\project.arcadia",
"bytes": 20128,
"original_sha256": "6A18EE1F246321BDF8AB0E7E8E5D4EBA134CE486ED5224C4FFD61C7342C3A7D3",
"copy_sha256": "6A18EE1F246321BDF8AB0E7E8E5D4EBA134CE486ED5224C4FFD61C7342C3A7D3"
},
{
"path": "baseline-wide/rationale.arcadia",
"original": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\native-a57c334-camera\\baseline-wide\\rationale.arcadia",
"bytes": 86,
"original_sha256": "8509F8D8A136D808CF98A1BB0FE50348B8A24409F30DEE4EE65B62BF5CB9E6BF",
"copy_sha256": "8509F8D8A136D808CF98A1BB0FE50348B8A24409F30DEE4EE65B62BF5CB9E6BF"
},
{
"path": "checkpoints/wide-passive/project.arcadia",
"original": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\native-a57c334-camera\\checkpoints\\wide-passive\\project.arcadia",
"bytes": 20128,
"original_sha256": "6A18EE1F246321BDF8AB0E7E8E5D4EBA134CE486ED5224C4FFD61C7342C3A7D3",
"copy_sha256": "6A18EE1F246321BDF8AB0E7E8E5D4EBA134CE486ED5224C4FFD61C7342C3A7D3"
},
{
"path": "checkpoints/wide-passive/rationale.arcadia",
"original": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\native-a57c334-camera\\checkpoints\\wide-passive\\rationale.arcadia",
"bytes": 86,
"original_sha256": "8509F8D8A136D808CF98A1BB0FE50348B8A24409F30DEE4EE65B62BF5CB9E6BF",
"copy_sha256": "8509F8D8A136D808CF98A1BB0FE50348B8A24409F30DEE4EE65B62BF5CB9E6BF"
},
{
"path": "launch-script-syntax.json",
"original": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\native-a57c334-camera\\launch-script-syntax.json",
"bytes": 77,
"original_sha256": "9FE1369737B8A02EE9DDB83318CE800F200AFABF5486C9DD6F52DBEC9F87502C",
"copy_sha256": "9FE1369737B8A02EE9DDB83318CE800F200AFABF5486C9DD6F52DBEC9F87502C"
},
{
"path": "launch.json",
"original": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\native-a57c334-camera\\launch.json",
"bytes": 3308,
"original_sha256": "7BCF09DFB689DB4E686BBACD0F1805B013597FB4159D5477D5DE56F52D79D147",
"copy_sha256": "7BCF09DFB689DB4E686BBACD0F1805B013597FB4159D5477D5DE56F52D79D147"
},
{
"path": "logs/studio.stderr.log",
"original": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\native-a57c334-camera\\logs\\studio.stderr.log",
"bytes": 0,
"original_sha256": "E3B0C44298FC1C149AFBF4C8996FB92427AE41E4649B934CA495991B7852B855",
"copy_sha256": "E3B0C44298FC1C149AFBF4C8996FB92427AE41E4649B934CA495991B7852B855"
},
{
"path": "logs/studio.stdout.log",
"original": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\native-a57c334-camera\\logs\\studio.stdout.log",
"bytes": 0,
"original_sha256": "E3B0C44298FC1C149AFBF4C8996FB92427AE41E4649B934CA495991B7852B855",
"copy_sha256": "E3B0C44298FC1C149AFBF4C8996FB92427AE41E4649B934CA495991B7852B855"
},
{
"path": "logs/wide-passive.stderr.log",
"original": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\native-a57c334-camera\\logs\\wide-passive.stderr.log",
"bytes": 0,
"original_sha256": "E3B0C44298FC1C149AFBF4C8996FB92427AE41E4649B934CA495991B7852B855",
"copy_sha256": "E3B0C44298FC1C149AFBF4C8996FB92427AE41E4649B934CA495991B7852B855"
},
{
"path": "logs/wide-passive.stdout.log",
"original": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\native-a57c334-camera\\logs\\wide-passive.stdout.log",
"bytes": 71,
"original_sha256": "72F1D2214D32F2C77CEB6666FFA91EB54795BC94E77DAF63589B00ABFEAAC477",
"copy_sha256": "72F1D2214D32F2C77CEB6666FFA91EB54795BC94E77DAF63589B00ABFEAAC477"
},
{
"path": "normal-close.json",
"original": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\native-a57c334-camera\\normal-close.json",
"bytes": 1326,
"original_sha256": "21CE20643ED69CA1247B261A44A71A562850D0BCF8339761E60F11B7A19A7AF1",
"copy_sha256": "21CE20643ED69CA1247B261A44A71A562850D0BCF8339761E60F11B7A19A7AF1"
},
{
"path": "preparation-manifest.json",
"original": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\native-a57c334-camera\\preparation-manifest.json",
"bytes": 9149,
"original_sha256": "293892C2F430D6EADB58C6678F3C1B346742B3AA4D2FE5CE3729F896EAD2C2DB",
"copy_sha256": "293892C2F430D6EADB58C6678F3C1B346742B3AA4D2FE5CE3729F896EAD2C2DB"
},
{
"path": "prepare-inputs.py",
"original": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\native-a57c334-camera\\prepare-inputs.py",
"bytes": 5563,
"original_sha256": "661D6686AD0B59FBD28CB4FE42CFD4955DB5922B9CE3B5EF3F378A4CF1982884",
"copy_sha256": "661D6686AD0B59FBD28CB4FE42CFD4955DB5922B9CE3B5EF3F378A4CF1982884"
},
{
"path": "provenance/after-build-verify-head.json",
"original": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\native-a57c334-camera\\provenance\\after-build-verify-head.json",
"bytes": 199,
"original_sha256": "FF0F533653B601F1456C726106A97D94346C3C18288912C620748112119AFF08",
"copy_sha256": "FF0F533653B601F1456C726106A97D94346C3C18288912C620748112119AFF08"
},
{
"path": "provenance/binary-manifest.json",
"original": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\native-a57c334-camera\\provenance\\binary-manifest.json",
"bytes": 2828,
"original_sha256": "F8F8A97B2BA516685A0690E98DF90269A7C83F371A5A3257E80B865E15D3EDFA",
"copy_sha256": "F8F8A97B2BA516685A0690E98DF90269A7C83F371A5A3257E80B865E15D3EDFA"
},
{
"path": "provenance/desktop-all-targets-status.json",
"original": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\native-a57c334-camera\\provenance\\desktop-all-targets-status.json",
"bytes": 472,
"original_sha256": "2C23196BEA849E77C49F2CF64FD31311A01998520460E92F91B935C5A7880BC0",
"copy_sha256": "2C23196BEA849E77C49F2CF64FD31311A01998520460E92F91B935C5A7880BC0"
},
{
"path": "provenance/desktop-clippy-status.json",
"original": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\native-a57c334-camera\\provenance\\desktop-clippy-status.json",
"bytes": 503,
"original_sha256": "BA5F6D17354D194C1102EA75EE4E7B893EF04EEDD21518D591726A912E3E6A4C",
"copy_sha256": "BA5F6D17354D194C1102EA75EE4E7B893EF04EEDD21518D591726A912E3E6A4C"
},
{
"path": "provenance/focused-lifecycle-status.json",
"original": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\native-a57c334-camera\\provenance\\focused-lifecycle-status.json",
"bytes": 509,
"original_sha256": "FA6618F15C4B41BDD691A613CF0992C83CE984A1AA0FAFFCD2DC4FB96CDEBCE3",
"copy_sha256": "FA6618F15C4B41BDD691A613CF0992C83CE984A1AA0FAFFCD2DC4FB96CDEBCE3"
},
{
"path": "provenance/inputs.json",
"original": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\native-a57c334-camera\\provenance\\inputs.json",
"bytes": 101859,
"original_sha256": "47FEC9CADC0E7FAE99D789376C111C02EEAAB7FAC3740DE48174A06F61FE16B3",
"copy_sha256": "47FEC9CADC0E7FAE99D789376C111C02EEAAB7FAC3740DE48174A06F61FE16B3"
},
{
"path": "provenance/lifecycle-fixture-README.md",
"original": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\native-a57c334-camera\\provenance\\lifecycle-fixture-README.md",
"bytes": 12199,
"original_sha256": "B441C562459B2AE000055D73529FB608C9CC015F64293206B9FB7D8C7CBC8B78",
"copy_sha256": "B441C562459B2AE000055D73529FB608C9CC015F64293206B9FB7D8C7CBC8B78"
},
{
"path": "provenance/lifecycle-native-contract.rs",
"original": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\native-a57c334-camera\\provenance\\lifecycle-native-contract.rs",
"bytes": 19135,
"original_sha256": "FC5E71F9870D7B98E0F52EAF20C831EBFFBE9F7A9B8960269DC9BE3D9BF0D9E4",
"copy_sha256": "FC5E71F9870D7B98E0F52EAF20C831EBFFBE9F7A9B8960269DC9BE3D9BF0D9E4"
},
{
"path": "provenance/lifecycle-oracle-status.json",
"original": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\native-a57c334-camera\\provenance\\lifecycle-oracle-status.json",
"bytes": 1272,
"original_sha256": "68452154CF96EC4FD245D89A11D1FC1C08CB471419A5F8D94039ECCBF2EFCF7C",
"copy_sha256": "68452154CF96EC4FD245D89A11D1FC1C08CB471419A5F8D94039ECCBF2EFCF7C"
},
{
"path": "provenance/oracles-865-copy-manifest.json",
"original": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\native-a57c334-camera\\provenance\\oracles-865-copy-manifest.json",
"bytes": 1015,
"original_sha256": "5DC8D7A3C721E03A0A249E5B8D30BC41539B39D39EC7157D9DBF5C99044B1C4C",
"copy_sha256": "5DC8D7A3C721E03A0A249E5B8D30BC41539B39D39EC7157D9DBF5C99044B1C4C"
},
{
"path": "provenance/studio-build-status.json",
"original": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\native-a57c334-camera\\provenance\\studio-build-status.json",
"bytes": 474,
"original_sha256": "AB1E04807F32F8DADA0A572D69F632BD6FD242150DF211C18E35D82EA8BE91EC",
"copy_sha256": "AB1E04807F32F8DADA0A572D69F632BD6FD242150DF211C18E35D82EA8BE91EC"
},
{
"path": "provenance/typography-admission.json",
"original": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\native-a57c334-camera\\provenance\\typography-admission.json",
"bytes": 553,
"original_sha256": "B06FD83F554982B407E1B28A79DFADCB61717B4F076EB3062EC314C742A2CCD8",
"copy_sha256": "B06FD83F554982B407E1B28A79DFADCB61717B4F076EB3062EC314C742A2CCD8"
},
{
"path": "provenance/typography-predictions.json",
"original": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\native-a57c334-camera\\provenance\\typography-predictions.json",
"bytes": 2490,
"original_sha256": "6951FF7C96C0A7A14D72781B416FC64CAB9F4AF5861F5C0EF4C327D843483243",
"copy_sha256": "6951FF7C96C0A7A14D72781B416FC64CAB9F4AF5861F5C0EF4C327D843483243"
},
{
"path": "screenshots/01-wide-opened.jpg",
"original": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\native-a57c334-camera\\screenshots\\01-wide-opened.jpg",
"bytes": 102087,
"original_sha256": "76B5ABF72AAA2B40DB91FCF182E3B464BEE29CC9ABDCCC4005EC9567554C7E18",
"copy_sha256": "76B5ABF72AAA2B40DB91FCF182E3B464BEE29CC9ABDCCC4005EC9567554C7E18"
},
{
"path": "screenshots/02-behavior-open.jpg",
"original": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\native-a57c334-camera\\screenshots\\02-behavior-open.jpg",
"bytes": 118609,
"original_sha256": "92D75BCF44D78221D99C393C039E6ED395AF70973477643EEF437CD0B5EFF1A2",
"copy_sha256": "92D75BCF44D78221D99C393C039E6ED395AF70973477643EEF437CD0B5EFF1A2"
},
{
"path": "screenshots/03-oa-create-selected-100.jpg",
"original": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\native-a57c334-camera\\screenshots\\03-oa-create-selected-100.jpg",
"bytes": 134137,
"original_sha256": "0028B918C56C5686890C18D730D3394CC07A8D0714DBD5175B06A336C2BD937C",
"copy_sha256": "0028B918C56C5686890C18D730D3394CC07A8D0714DBD5175B06A336C2BD937C"
},
{
"path": "screenshots/04-oa-create-zoom125.jpg",
"original": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\native-a57c334-camera\\screenshots\\04-oa-create-zoom125.jpg",
"bytes": 131774,
"original_sha256": "9B6627543E8A79E8D217029861407A89C884F36A3024BE44F5B8205AD2B557ED",
"copy_sha256": "9B6627543E8A79E8D217029861407A89C884F36A3024BE44F5B8205AD2B557ED"
},
{
"path": "screenshots/05-oa-delete-selected-125.jpg",
"original": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\native-a57c334-camera\\screenshots\\05-oa-delete-selected-125.jpg",
"bytes": 132774,
"original_sha256": "1BC820418F12B18EBC97F52D2B2B85B8B9BDD57F9485BE040946FC9CC2F37FAA",
"copy_sha256": "1BC820418F12B18EBC97F52D2B2B85B8B9BDD57F9485BE040946FC9CC2F37FAA"
},
{
"path": "screenshots/06-oa-fit.jpg",
"original": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\native-a57c334-camera\\screenshots\\06-oa-fit.jpg",
"bytes": 133100,
"original_sha256": "585063787D8E0299A7C2173BB8EC0264CDF51D5EDD8CBC3FCC953EF1917E1116",
"copy_sha256": "585063787D8E0299A7C2173BB8EC0264CDF51D5EDD8CBC3FCC953EF1917E1116"
},
{
"path": "screenshots/07-minimum-width.jpg",
"original": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\native-a57c334-camera\\screenshots\\07-minimum-width.jpg",
"bytes": 123533,
"original_sha256": "9D798D0B087C7F05FAFDC23237BD934B069B69E1A08D8C33EAF74D4E85264582",
"copy_sha256": "9D798D0B087C7F05FAFDC23237BD934B069B69E1A08D8C33EAF74D4E85264582"
},
{
"path": "screenshots/08-minimum-window.jpg",
"original": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\native-a57c334-camera\\screenshots\\08-minimum-window.jpg",
"bytes": 105379,
"original_sha256": "DFBAFFA375445BCD36565BDC8873DBF457E0A528A827E882F069B95D90529944",
"copy_sha256": "DFBAFFA375445BCD36565BDC8873DBF457E0A528A827E882F069B95D90529944"
},
{
"path": "screenshots/09-oa-minimum-fit.jpg",
"original": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\native-a57c334-camera\\screenshots\\09-oa-minimum-fit.jpg",
"bytes": 99033,
"original_sha256": "FD2FEE1D602488243876B6FAEAFCBBCFE7065DDCFA2C28AD743A0FD19673C4B9",
"copy_sha256": "FD2FEE1D602488243876B6FAEAFCBBCFE7065DDCFA2C28AD743A0FD19673C4B9"
},
{
"path": "screenshots/10-oa-minimum-create-hit.jpg",
"original": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\native-a57c334-camera\\screenshots\\10-oa-minimum-create-hit.jpg",
"bytes": 99898,
"original_sha256": "7975C21C9E41D32A8684E3420DEF616D7AC1E43F5EF291E94380FA63DA37241F",
"copy_sha256": "7975C21C9E41D32A8684E3420DEF616D7AC1E43F5EF291E94380FA63DA37241F"
},
{
"path": "screenshots/11-oa-minimum-pan-right.jpg",
"original": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\native-a57c334-camera\\screenshots\\11-oa-minimum-pan-right.jpg",
"bytes": 99456,
"original_sha256": "61BD5C917B738E1C3B2267D623A41193A8C5F84F5A1F7B51DAFA1B147DB13A51",
"copy_sha256": "61BD5C917B738E1C3B2267D623A41193A8C5F84F5A1F7B51DAFA1B147DB13A51"
},
{
"path": "screenshots/12-oa-panned-delete-hit.jpg",
"original": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\native-a57c334-camera\\screenshots\\12-oa-panned-delete-hit.jpg",
"bytes": 98952,
"original_sha256": "1B9C0E408BC9445AE0E6BDC2F86EA341AA385EB26D42693C76309963D9D4064C",
"copy_sha256": "1B9C0E408BC9445AE0E6BDC2F86EA341AA385EB26D42693C76309963D9D4064C"
},
{
"path": "screenshots/13-system-layer.jpg",
"original": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\native-a57c334-camera\\screenshots\\13-system-layer.jpg",
"bytes": 101904,
"original_sha256": "02992B658775E55F0CBAF974050BBFEA0C1F608799C5D9BE9A05AA6789C9F1F4",
"copy_sha256": "02992B658775E55F0CBAF974050BBFEA0C1F608799C5D9BE9A05AA6789C9F1F4"
},
{
"path": "screenshots/14-sa-minimum-fit.jpg",
"original": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\native-a57c334-camera\\screenshots\\14-sa-minimum-fit.jpg",
"bytes": 95469,
"original_sha256": "E4A274CA8DA7ECD2255EF519C8FC81D8310DB55C9DB9009FC8731751A25202CB",
"copy_sha256": "E4A274CA8DA7ECD2255EF519C8FC81D8310DB55C9DB9009FC8731751A25202CB"
},
{
"path": "screenshots/15-sa-minimum-create-hit.jpg",
"original": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\native-a57c334-camera\\screenshots\\15-sa-minimum-create-hit.jpg",
"bytes": 99837,
"original_sha256": "4ED02839A417EE567CD8F23750DFFB535AF8C32063B535F8C0B4BE8ACB082542",
"copy_sha256": "4ED02839A417EE567CD8F23750DFFB535AF8C32063B535F8C0B4BE8ACB082542"
},
{
"path": "screenshots/16-sa-pan-up.jpg",
"original": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\native-a57c334-camera\\screenshots\\16-sa-pan-up.jpg",
"bytes": 96836,
"original_sha256": "26048071F3B2A09ED054D18834C128093CC1FB9B1C4A7518B09E0F9E9EC8291A",
"copy_sha256": "26048071F3B2A09ED054D18834C128093CC1FB9B1C4A7518B09E0F9E9EC8291A"
},
{
"path": "screenshots/17-sa-panned-delete-hit.jpg",
"original": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\native-a57c334-camera\\screenshots\\17-sa-panned-delete-hit.jpg",
"bytes": 96499,
"original_sha256": "31EA2A24959B4A5014C9FCD0E43BD918847C6FB58EB0B8B1577C56074E266BC0",
"copy_sha256": "31EA2A24959B4A5014C9FCD0E43BD918847C6FB58EB0B8B1577C56074E266BC0"
},
{
"path": "screenshots/18-passive-navigation-saved.jpg",
"original": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\native-a57c334-camera\\screenshots\\18-passive-navigation-saved.jpg",
"bytes": 94345,
"original_sha256": "280942F9B9806884D4EE34A5FB740428A420D7603EDDDF21D6E4979BEE041B2D",
"copy_sha256": "280942F9B9806884D4EE34A5FB740428A420D7603EDDDF21D6E4979BEE041B2D"
},
{
"path": "second-readback.json",
"original": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\native-a57c334-camera\\second-readback.json",
"bytes": 6332,
"original_sha256": "BB8063AAC3FFF3A7B8FC19BA81F9EBBC13068871F6924651A14B08D58CE525BB",
"copy_sha256": "BB8063AAC3FFF3A7B8FC19BA81F9EBBC13068871F6924651A14B08D58CE525BB"
},
{
"path": "wide-passive-status.json",
"original": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\native-a57c334-camera\\wide-passive-status.json",
"bytes": 857,
"original_sha256": "A358FA3C26A11DEACFC9457EC96F27F43EBD9020575329E701F0F026759850BF",
"copy_sha256": "A358FA3C26A11DEACFC9457EC96F27F43EBD9020575329E701F0F026759850BF"
},
{
"path": "launch-native-a57c334-camera.ps1",
"original": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\launch-native-a57c334-camera.ps1",
"bytes": 10001,
"original_sha256": "BE80A4B5B407BCEA3DBECC547DA5E5888F3C6DC06F5F7AF87F546C388963B4DE",
"copy_sha256": "BE80A4B5B407BCEA3DBECC547DA5E5888F3C6DC06F5F7AF87F546C388963B4DE"
}
],
"excluded": [
"bin",
"oracles executables/DLL",
"baseline-clusters",
"working-wide",
"working-clusters",
"profile",
"unrelated-cwd",
"ZIP archives"
]
}
@@ -0,0 +1,28 @@
{
"source_commit": "a57c334b302eb13352b4bb65df1c75d94d002348",
"pid": 5004,
"process_started_utc": "2026-09-12T10:52:57.0962185Z",
"observed_exit_utc": "2026-09-12T11:02:56.0410831Z",
"exit_code": 0,
"scope": "Process termination and closed raw logs only; UI acceptance and reason for close require root observation.",
"stdout": {
"path": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\native-a57c334-camera\\logs\\studio.stdout.log",
"bytes": 0,
"sha256": "E3B0C44298FC1C149AFBF4C8996FB92427AE41E4649B934CA495991B7852B855"
},
"stderr": {
"path": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\native-a57c334-camera\\logs\\studio.stderr.log",
"bytes": 0,
"sha256": "E3B0C44298FC1C149AFBF4C8996FB92427AE41E4649B934CA495991B7852B855"
},
"studio_readback": {
"path": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\native-a57c334-camera\\bin\\arcadia-studio.exe",
"bytes": 113028608,
"sha256": "69DBB90FA299B3B3D90140C7934891F79166025893AF9B35B2B8D754A37A0D40"
},
"runtime_readback": {
"path": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\native-a57c334-camera\\bin\\libunwind.dll",
"bytes": 190464,
"sha256": "AA282FA47BB2C4E210CEA5E470CDBDCA58568F0BE0BC73E404D86AB9CD95EF6A"
}
}
@@ -0,0 +1,166 @@
{
"prepared_utc": "2026-09-11T21:32:45.779806+00:00",
"source_commit": "a57c334b302eb13352b4bb65df1c75d94d002348",
"scope": "Preparation only for independent OA/SA camera, clipping, minimum-size, zoom and hit checks with passive Save equality. Pre-grapheme a57; no package or new combined Unicode acceptance.",
"archive": {
"path": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\canvas-union-windows-20260911\\exact-inputs.zip",
"sha256": "E2C8BB3CC8EB2BFD6ABB0A2C5769756148D594CE0CDC90449A894AB0CB026927"
},
"input_manifest_sha256": "47FEC9CADC0E7FAE99D789376C111C02EEAAB7FAC3740DE48174A06F61FE16B3",
"frozen_input_count": 529,
"files": [
{
"origin": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\canvas-union-windows-20260911\\exact-inputs.zip::harness/fixtures/scenario-lifecycle-native/typography-wide/rationale.arcadia",
"target": "baseline-wide/rationale.arcadia",
"bytes": 86,
"sha256": "8509F8D8A136D808CF98A1BB0FE50348B8A24409F30DEE4EE65B62BF5CB9E6BF"
},
{
"origin": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\canvas-union-windows-20260911\\exact-inputs.zip::harness/fixtures/scenario-lifecycle-native/typography-wide/rationale.arcadia",
"target": "working-wide/rationale.arcadia",
"bytes": 86,
"sha256": "8509F8D8A136D808CF98A1BB0FE50348B8A24409F30DEE4EE65B62BF5CB9E6BF"
},
{
"origin": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\canvas-union-windows-20260911\\exact-inputs.zip::harness/fixtures/scenario-lifecycle-native/typography-wide/project.arcadia",
"target": "baseline-wide/project.arcadia",
"bytes": 20128,
"sha256": "6A18EE1F246321BDF8AB0E7E8E5D4EBA134CE486ED5224C4FFD61C7342C3A7D3"
},
{
"origin": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\canvas-union-windows-20260911\\exact-inputs.zip::harness/fixtures/scenario-lifecycle-native/typography-wide/project.arcadia",
"target": "working-wide/project.arcadia",
"bytes": 20128,
"sha256": "6A18EE1F246321BDF8AB0E7E8E5D4EBA134CE486ED5224C4FFD61C7342C3A7D3"
},
{
"origin": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\canvas-union-windows-20260911\\exact-inputs.zip::harness/fixtures/scenario-lifecycle-native/typography-clusters/project.arcadia",
"target": "baseline-clusters/project.arcadia",
"bytes": 20110,
"sha256": "EECDDFC4A4514E995633EA58B89FE154DC6DC43509B1F53EE05B76F8E6B993C8"
},
{
"origin": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\canvas-union-windows-20260911\\exact-inputs.zip::harness/fixtures/scenario-lifecycle-native/typography-clusters/project.arcadia",
"target": "working-clusters/project.arcadia",
"bytes": 20110,
"sha256": "EECDDFC4A4514E995633EA58B89FE154DC6DC43509B1F53EE05B76F8E6B993C8"
},
{
"origin": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\canvas-union-windows-20260911\\exact-inputs.zip::harness/fixtures/scenario-lifecycle-native/typography-clusters/rationale.arcadia",
"target": "baseline-clusters/rationale.arcadia",
"bytes": 86,
"sha256": "8509F8D8A136D808CF98A1BB0FE50348B8A24409F30DEE4EE65B62BF5CB9E6BF"
},
{
"origin": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\canvas-union-windows-20260911\\exact-inputs.zip::harness/fixtures/scenario-lifecycle-native/typography-clusters/rationale.arcadia",
"target": "working-clusters/rationale.arcadia",
"bytes": 86,
"sha256": "8509F8D8A136D808CF98A1BB0FE50348B8A24409F30DEE4EE65B62BF5CB9E6BF"
},
{
"origin": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\canvas-union-windows-20260911\\exact-inputs.zip::harness/fixtures/scenario-lifecycle-native/README.md",
"target": "provenance/lifecycle-fixture-README.md",
"bytes": 12199,
"sha256": "B441C562459B2AE000055D73529FB608C9CC015F64293206B9FB7D8C7CBC8B78"
},
{
"origin": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\canvas-union-windows-20260911\\bin\\arcadia-studio.exe",
"target": "bin/arcadia-studio.exe",
"bytes": 113028608,
"sha256": "69DBB90FA299B3B3D90140C7934891F79166025893AF9B35B2B8D754A37A0D40"
},
{
"origin": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\canvas-union-windows-20260911\\bin\\libunwind.dll",
"target": "bin/libunwind.dll",
"bytes": 190464,
"sha256": "AA282FA47BB2C4E210CEA5E470CDBDCA58568F0BE0BC73E404D86AB9CD95EF6A"
},
{
"origin": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\canvas-union-windows-20260911\\inputs.json",
"target": "provenance/inputs.json",
"bytes": 101859,
"sha256": "47FEC9CADC0E7FAE99D789376C111C02EEAAB7FAC3740DE48174A06F61FE16B3"
},
{
"origin": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\canvas-union-windows-20260911\\binary-manifest.json",
"target": "provenance/binary-manifest.json",
"bytes": 2828,
"sha256": "F8F8A97B2BA516685A0690E98DF90269A7C83F371A5A3257E80B865E15D3EDFA"
},
{
"origin": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\canvas-union-windows-20260911\\after-build-verify-head.json",
"target": "provenance/after-build-verify-head.json",
"bytes": 199,
"sha256": "FF0F533653B601F1456C726106A97D94346C3C18288912C620748112119AFF08"
},
{
"origin": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\canvas-union-windows-20260911\\studio-build-status.json",
"target": "provenance/studio-build-status.json",
"bytes": 474,
"sha256": "AB1E04807F32F8DADA0A572D69F632BD6FD242150DF211C18E35D82EA8BE91EC"
},
{
"origin": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\canvas-union-windows-20260911\\desktop-clippy-status.json",
"target": "provenance/desktop-clippy-status.json",
"bytes": 503,
"sha256": "BA5F6D17354D194C1102EA75EE4E7B893EF04EEDD21518D591726A912E3E6A4C"
},
{
"origin": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\canvas-union-windows-20260911\\desktop-all-targets-status.json",
"target": "provenance/desktop-all-targets-status.json",
"bytes": 472,
"sha256": "2C23196BEA849E77C49F2CF64FD31311A01998520460E92F91B935C5A7880BC0"
},
{
"origin": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\canvas-union-windows-20260911\\focused-lifecycle-status.json",
"target": "provenance/focused-lifecycle-status.json",
"bytes": 509,
"sha256": "FA6618F15C4B41BDD691A613CF0992C83CE984A1AA0FAFFCD2DC4FB96CDEBCE3"
},
{
"origin": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\native-865483b\\oracles\\lifecycle.exe",
"target": "oracles/lifecycle.exe",
"bytes": 20700160,
"sha256": "798D7A1907B894C13549BAD35511B21D6BC7F3D67D63674042B7DF71184C7524"
},
{
"origin": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\native-865483b\\oracles\\libunwind.dll",
"target": "oracles/libunwind.dll",
"bytes": 190464,
"sha256": "AA282FA47BB2C4E210CEA5E470CDBDCA58568F0BE0BC73E404D86AB9CD95EF6A"
},
{
"origin": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\harness\\lifecycle-native-contract.rs",
"target": "provenance/lifecycle-native-contract.rs",
"bytes": 19135,
"sha256": "FC5E71F9870D7B98E0F52EAF20C831EBFFBE9F7A9B8960269DC9BE3D9BF0D9E4"
},
{
"origin": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\native-865483b\\oracles\\manifest.json",
"target": "provenance/oracles-865-copy-manifest.json",
"bytes": 1015,
"sha256": "5DC8D7A3C721E03A0A249E5B8D30BC41539B39D39EC7157D9DBF5C99044B1C4C"
},
{
"origin": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\lifecycle-native-ytr83r-20260911\\status.json",
"target": "provenance/lifecycle-oracle-status.json",
"bytes": 1272,
"sha256": "68452154CF96EC4FD245D89A11D1FC1C08CB471419A5F8D94039ECCBF2EFCF7C"
},
{
"origin": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\harness\\experiments\\lifecycle-native-ytr83r-20260911\\typography-admission.json",
"target": "provenance/typography-admission.json",
"bytes": 553,
"sha256": "B06FD83F554982B407E1B28A79DFADCB61717B4F076EB3062EC314C742A2CCD8"
},
{
"origin": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\harness\\experiments\\lifecycle-native-ytr83r-20260911\\typography-predictions.json",
"target": "provenance/typography-predictions.json",
"bytes": 2490,
"sha256": "6951FF7C96C0A7A14D72781B416FC64CAB9F4AF5861F5C0EF4C327D843483243"
}
],
"empty_profile": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\native-a57c334-camera\\profile",
"unrelated_cwd": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\native-a57c334-camera\\unrelated-cwd",
"restricted_path": "C:\\Windows\\System32;C:\\Windows;C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\native-a57c334-camera\\bin"
}
@@ -0,0 +1,88 @@
"""Preparation only: copy and hash frozen inputs; never execute model/oracle/GUI code."""
import hashlib
import json
import shutil
import zipfile
from datetime import datetime, timezone
from pathlib import Path
root = Path(__file__).resolve().parent
repo = root.parent.parent
gates = repo / '.local/canvas-union-windows-20260911'
freeze = 'a57c334b302eb13352b4bb65df1c75d94d002348'
def digest(data):
return hashlib.sha256(data).hexdigest().upper()
def write_new(path, data):
path.parent.mkdir(parents=True, exist_ok=True)
with path.open('xb') as out:
out.write(data)
records = []
def copy_exact(source, target, expected=None):
source = Path(source)
data = source.read_bytes()
sha = digest(data)
if expected:
assert sha == expected.upper(), (source, sha, expected)
destination = root / target
write_new(destination, data)
assert destination.read_bytes() == data == source.read_bytes()
records.append(dict(origin=str(source), target=target, bytes=len(data), sha256=sha))
assert not (root / 'preparation-manifest.json').exists(), 'Never overwrite a prior preparation'
manifest_bytes = (gates / 'inputs.json').read_bytes()
assert digest(manifest_bytes) == '47FEC9CADC0E7FAE99D789376C111C02EEAAB7FAC3740DE48174A06F61FE16B3'
inputs = json.loads(manifest_bytes)
indexed = {item['path']: item for item in inputs['files']}
assert len(indexed) == 529
archive = gates / 'exact-inputs.zip'
archive_sha = digest(archive.read_bytes())
with zipfile.ZipFile(archive) as frozen:
selected = {
'harness/fixtures/scenario-lifecycle-native/typography-wide/rationale.arcadia': ('baseline-wide/rationale.arcadia', 'working-wide/rationale.arcadia'),
'harness/fixtures/scenario-lifecycle-native/typography-wide/project.arcadia': ('baseline-wide/project.arcadia', 'working-wide/project.arcadia'),
'harness/fixtures/scenario-lifecycle-native/typography-clusters/project.arcadia': ('baseline-clusters/project.arcadia', 'working-clusters/project.arcadia'),
'harness/fixtures/scenario-lifecycle-native/typography-clusters/rationale.arcadia': ('baseline-clusters/rationale.arcadia', 'working-clusters/rationale.arcadia'),
'harness/fixtures/scenario-lifecycle-native/README.md': ('provenance/lifecycle-fixture-README.md',),
}
for name, destinations in selected.items():
data = frozen.read(name)
record = indexed[name]
assert len(data) == record['bytes'] and digest(data) == record['sha256'].upper(), name
for destination in destinations:
write_new(root / destination, data)
records.append(dict(origin=str(archive) + '::' + name, target=destination, bytes=len(data), sha256=digest(data)))
copy_exact(gates / 'bin/arcadia-studio.exe', 'bin/arcadia-studio.exe', '69DBB90FA299B3B3D90140C7934891F79166025893AF9B35B2B8D754A37A0D40')
copy_exact(gates / 'bin/libunwind.dll', 'bin/libunwind.dll', 'AA282FA47BB2C4E210CEA5E470CDBDCA58568F0BE0BC73E404D86AB9CD95EF6A')
for name in ('inputs.json', 'binary-manifest.json', 'after-build-verify-head.json', 'studio-build-status.json', 'desktop-clippy-status.json', 'desktop-all-targets-status.json', 'focused-lifecycle-status.json'):
copy_exact(gates / name, 'provenance/' + name)
for source, target, expected in (
('.local/native-865483b/oracles/lifecycle.exe', 'oracles/lifecycle.exe', '798D7A1907B894C13549BAD35511B21D6BC7F3D67D63674042B7DF71184C7524'),
('.local/native-865483b/oracles/libunwind.dll', 'oracles/libunwind.dll', 'AA282FA47BB2C4E210CEA5E470CDBDCA58568F0BE0BC73E404D86AB9CD95EF6A'),
('harness/lifecycle-native-contract.rs', 'provenance/lifecycle-native-contract.rs', 'FC5E71F9870D7B98E0F52EAF20C831EBFFBE9F7A9B8960269DC9BE3D9BF0D9E4'),
):
copy_exact(repo / source, target, expected)
for source, target in (
('.local/native-865483b/oracles/manifest.json', 'provenance/oracles-865-copy-manifest.json'),
('.local/lifecycle-native-ytr83r-20260911/status.json', 'provenance/lifecycle-oracle-status.json'),
('harness/experiments/lifecycle-native-ytr83r-20260911/typography-admission.json', 'provenance/typography-admission.json'),
('harness/experiments/lifecycle-native-ytr83r-20260911/typography-predictions.json', 'provenance/typography-predictions.json'),
):
copy_exact(repo / source, target)
for directory in ('profile', 'unrelated-cwd', 'logs', 'screenshots', 'checkpoints'):
(root / directory).mkdir(exist_ok=False)
for record in records:
if record['target'].startswith(('baseline-', 'bin/', 'oracles/', 'provenance/')):
(root / record['target']).chmod(0o444)
result = dict(prepared_utc=datetime.now(timezone.utc).isoformat(), source_commit=freeze,
scope='Preparation only for independent OA/SA camera, clipping, minimum-size, zoom and hit checks with passive Save equality. Pre-grapheme a57; no package or new combined Unicode acceptance.',
archive=dict(path=str(archive), sha256=archive_sha), input_manifest_sha256=digest(manifest_bytes),
frozen_input_count=529, files=records,
empty_profile=str(root / 'profile'), unrelated_cwd=str(root / 'unrelated-cwd'),
restricted_path='C:\\Windows\\System32;C:\\Windows;' + str(root / 'bin'))
write_new(root / 'preparation-manifest.json', (json.dumps(result, indent=2) + '\n').encode())
print(json.dumps(dict(files=len(records), copied_bytes=sum(r['bytes'] for r in records), archive_sha256=archive_sha), indent=2))
@@ -0,0 +1 @@
{"mode": "verify-head", "utc": "2026-09-11T20:20:58.775988+00:00", "files": 529, "bytes": 9712849, "manifest_sha256": "47fec9cadc0e7fae99d789376c111c02eeaab7fac3740de48174a06f61fe16b3", "pass": true}
@@ -0,0 +1,67 @@
{
"worktree": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\canvas-union-ytr83r-20260911",
"scope": "Windows source/build gates and immutable copies only; no native launch or package acceptance",
"source_commit": "a57c334 (root-reported; all 529 frozen inputs independently verified against worktree HEAD)",
"verified_inputs": 529,
"input_manifest_sha256": "47fec9cadc0e7fae99d789376c111c02eeaab7fac3740de48174a06f61fe16b3",
"binaries": [
{
"read_only": true,
"copy": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\canvas-union-windows-20260911\\bin\\arcadia-studio.exe",
"copy_sha256": "69DBB90FA299B3B3D90140C7934891F79166025893AF9B35B2B8D754A37A0D40",
"source_after_sha256": "69DBB90FA299B3B3D90140C7934891F79166025893AF9B35B2B8D754A37A0D40",
"source": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\target\\debug\\arcadia-studio.exe",
"bytes": 113028608,
"source_sha256": "69DBB90FA299B3B3D90140C7934891F79166025893AF9B35B2B8D754A37A0D40"
},
{
"read_only": true,
"copy": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\canvas-union-windows-20260911\\bin\\libunwind.dll",
"copy_sha256": "AA282FA47BB2C4E210CEA5E470CDBDCA58568F0BE0BC73E404D86AB9CD95EF6A",
"source_after_sha256": "AA282FA47BB2C4E210CEA5E470CDBDCA58568F0BE0BC73E404D86AB9CD95EF6A",
"source": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\llvm-mingw-20260908-ucrt-x86_64\\bin\\libunwind.dll",
"bytes": 190464,
"source_sha256": "AA282FA47BB2C4E210CEA5E470CDBDCA58568F0BE0BC73E404D86AB9CD95EF6A"
}
],
"clippy": {
"command": [
"cargo",
"clippy",
"-p",
"oa-desktop",
"--all-targets",
"--offline",
"--locked",
"--",
"-D",
"warnings"
],
"completed_utc": "2026-09-11T20:13:49.0390005Z",
"name": "canvas-union-windows-20260911/desktop-clippy",
"exit": 0,
"log": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\canvas-union-windows-20260911\\desktop-clippy.log",
"started_utc": "2026-09-11T20:08:57.0977732Z",
"seconds": 291.9567566
},
"build": {
"seconds": 385.1131455,
"log": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\canvas-union-windows-20260911\\studio-build.log",
"started_utc": "2026-09-11T20:14:23.6348444Z",
"exit": 0,
"command": [
"cargo",
"build",
"-p",
"oa-desktop",
"--bin",
"arcadia-studio",
"--offline",
"--locked"
],
"name": "canvas-union-windows-20260911/studio-build",
"completed_utc": "2026-09-11T20:20:48.7677661Z"
},
"verified_input_bytes": 9712849,
"preserved_utc": "2026-09-11T20:21:10.0070190Z"
}
@@ -0,0 +1,17 @@
{
"log": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\canvas-union-windows-20260911\\desktop-all-targets.log",
"completed_utc": "2026-09-11T20:06:06.1170595Z",
"command": [
"cargo",
"test",
"-p",
"oa-desktop",
"--all-targets",
"--offline",
"--locked"
],
"seconds": 565.0596711,
"name": "canvas-union-windows-20260911/desktop-all-targets",
"exit": 0,
"started_utc": "2026-09-11T19:56:40.8624918Z"
}
@@ -0,0 +1,20 @@
{
"command": [
"cargo",
"clippy",
"-p",
"oa-desktop",
"--all-targets",
"--offline",
"--locked",
"--",
"-D",
"warnings"
],
"completed_utc": "2026-09-11T20:13:49.0390005Z",
"name": "canvas-union-windows-20260911/desktop-clippy",
"exit": 0,
"log": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\canvas-union-windows-20260911\\desktop-clippy.log",
"started_utc": "2026-09-11T20:08:57.0977732Z",
"seconds": 291.9567566
}
@@ -0,0 +1,19 @@
{
"log": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\canvas-union-windows-20260911\\focused-lifecycle.log",
"completed_utc": "2026-09-11T19:55:46.4531913Z",
"started_utc": "2026-09-11T19:42:20.3858323Z",
"seconds": 806.0877483,
"name": "canvas-union-windows-20260911/focused-lifecycle",
"command": [
"cargo",
"test",
"-p",
"oa-desktop",
"--offline",
"--locked",
"scenario_lifecycle",
"--",
"--test-threads=1"
],
"exit": 0
}
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,163 @@
# Independent native lifecycle fixture — 2026-09-11
Owner: Codex-ytr83r /root/integration_audit. **Core/source admission passed; native
execution remains pending.** Root compiled the checker, passed its self-check and
generated/checked all three immutable expectations before opening Studio. No native
or Scene acceptance is claimed here. The renderer implementation is independently
owned by /root/server_audit; this oracle does not import any desktop module.
## Build and source admission
Compile `harness/lifecycle-native-contract.rs` with the matching `oa_core` rlib and
dependency search directory, Rust2024 and warnings denied. No separate serde_json
dependency is needed. Root owns the writer/toolchain lease. Example shape:
```text
rustc --edition=2024 -D warnings harness/lifecycle-native-contract.rs --extern oa_core=ABSOLUTE_MATCHING_RLIB -L dependency=ABSOLUTE_DEPS -o ABSOLUTE_ISOLATED_EXE
lifecycle-native-contract.exe self-check
lifecycle-native-contract.exe inventory
lifecycle-native-contract.exe generate baseline FRESH_BASE_DIR
lifecycle-native-contract.exe check baseline FRESH_BASE_DIR/project.arcadia
lifecycle-native-contract.exe generate oa-rename FRESH_EXPECTED_OA_DIR
lifecycle-native-contract.exe generate sa-rename FRESH_EXPECTED_SA_DIR
```
Keep logs, screenshot files, hashes and model exports **outside** each checkpoint
directory. A checkpoint contains only its complete saved project files; the checker
compares every physical file, not just files with `.arcadia` extension. Generated
base is two sources: canonical project plus an intentionally CRLF Unicode note.
The two expected rename directories must be generated before native output is read.
All element/relation IDs are fixed; SA port UUIDv5 values derive from the fixed
functional-exchange ID through the authoritative port planner. No observed identity,
geometry, order, reference or name is borrowed into predictions.
The unchecked fixture builder is only preparation: final `execute_batch`, source
compile and load/recompile equality are mandatory. Self-Delete and unassigned
lifeline cases intentionally use explicit local sender/receiver with `exchange=None`.
If current core refuses either, record the exact refusal and revise or separate that
case under root review; do not bypass admission or silently remove validation.
Self-Create is deliberately absent because its admission was not established.
Expected unfinished-model warnings (unbound exchange/representation, unanswered
Call) are diagnostic evidence, not permission to bypass errors. Capture the actual
warning set after source admission.
## Fixed identities and navigation
All numeric offsets below are **decimal** added to UUID integer
`5ceab400-0000-4000-8000-000000000000`. Project is offset1. Add side base1000 for OA
or2000 for SA, then the listed local offset. Names begin OA/SA for explorer search.
Each scenario has at most two lanes and explicit OperationalActivity/Functional
viewpoint; no hidden legacy scenario mode is used.
| Scenario local offset/name | Lanes | Occurrences and declared order |
| --- | --- | --- |
|100 `01 Root create action delete`|101 controller,102 receiver|110 Create receiver →111 Receiver action →112 Delete receiver|
|200 `02 Preexisting empty`|201 controller,202 receiver|Empty root|
|300 `03 Create only`|301 controller,302 receiver|310 Create only receiver|
|400 `04 Conditional delete`|401 controller,402 receiver|410 Open call →411 ALT;412 left operand contains414 Conditional delete;413 right operand empty|
|500 `05 Unassigned receiver`|501 controller,502 represented=None|510 Create unassigned receiver →511 Delete unassigned receiver; both exchanges unresolved|
|600 `06 Self delete`|601 controller only|610 Self delete controller; sender=receiver601, exchange unresolved|
Controller/receiver work are local10/11; ordinary service relation is12. Root
Delete rename target is side+112. The exact new name is `OA Delete receiver · reviewed`
or `SA Delete receiver · reviewed`. Aliases, IDs and every other field stay unchanged.
For direct selection, OA root scenario is `5ceab400-0000-4000-8000-00000000044c`
and OA Delete is `5ceab400-0000-4000-8000-000000000458`; SA root scenario is
`5ceab400-0000-4000-8000-000000000834` and SA Delete is
`5ceab400-0000-4000-8000-000000000840`. `inventory` emits the complete admitted
scenario/lifeline/occurrence ID/name/parent table and actual validation diagnostics.
## Native procedure and independent observations
Use a copied working directory and isolated profile with an immutable matching GUI.
Record source commit, executable SHA256, actual client dimensions, input sequence,
screenshots and saved checkpoints outside the project directories. Open the actual
`project.arcadia` through Studio. Select Behavior & scenarios, the matching layer,
and the exact prefixed scenario. First run the OA matrix; repeat SA independently
from the same baseline. Neither a passing source checker nor pure Scene tests imply
the following visual/interaction results.
| Step | Native observation/evidence required | Semantic oracle |
| --- | --- | --- |
|Root lifecycle|Controller remains usable; receiver lifetime begins at Create and ends at Delete; Action lies between. Inspect birth/death hit targets and corresponding Properties identity. Clicking an intended lifecycle target must not select a different occurrence.|Save copied baseline; `check baseline`|
|Preexisting empty|Both lane headers/guides visible through the actual empty canvas; no invented birth/death. Neutral insertion guide remains usable even when no occurrence exists.|Save/navigation must remain `baseline`|
|Create-only|Receiver lifetime continues beyond the last occurrence to visible root extent; do not confuse insertion endpoint with lifetime endpoint.|`check baseline`|
|Conditional Delete|Left receiver activation/lifetime ends at its Delete. Right empty branch retains independent receiver state; Delete must not terminate sibling activation. Inspect unresolved-call indication without inventing Reply or silently rewriting the model.|`check baseline`|
|Unassigned receiver|Incomplete lane remains visible, with explicit receiver lifecycle targets/hit geometry. It must not disappear or crash because placement eligibility excludes unresolved representation. Record whatever completeness diagnostic is actually shown.|`check baseline`; only after admitted|
|Self Delete|Single lane's self-message end and death marker align and remain selectable. Inspect Properties and hit targets at ordinary100% then Fit; do not infer self-Create behavior.|`check baseline`; only after admitted|
|Narrow/overview|At actual1100×700 and a wide client, exercise Fit,100%, scroll, selection and Tools. Guides/markers remain correctly aligned and hit-testable; record font wrapping/overlap and clipped regions.|Save unchanged complete baseline|
|Real rename|Select root Delete occurrence by actual marker/message, verify identity, edit Name to exact side-specific reviewed name and Apply, or make precisely that source name edit and Apply. Save once; preserve complete checkpoint before Undo.|`check oa-rename` or `check sa-rename`; exact previously generated expectation via `same`|
|Undo|One Undo restores old name, exact IDs and complete source. Save and freeze checkpoint.|`check baseline UNDO_ENTRY RENAMED_ENTRY`, then `same BASE_ENTRY UNDO_ENTRY RENAMED_ENTRY`|
|Redo/reopen|One Redo and Save restores exact first rename checkpoint. Reopen through actual file picker and Save again. Observe lifecycle geometry/selection afresh.|`check SIDE-rename`, `same FIRST_RENAME REDO`, `same FIRST_RENAME REOPEN`|
Each rename mode starts from baseline and changes only its own layer. Undo OA before
starting SA or use a fresh baseline copy; `sa-rename` does not include an earlier OA
rename. Direct additional scenario insertion is outside these fixed rename modes:
define a separate prediction before using it as acceptance evidence.
## Exact physical-file and Undo policy
`check MODE ENTRY` independently constructs complete expected Project and reachable
SourceBundle, then requires the physical file map to equal those expected sources.
`check MODE ENTRY PRE_UNDO_ENTRY` additionally permits only the exact original files
present in the explicitly supplied pre-Undo checkpoint. Expected reachable bytes
overlay those origin files; missing, unknown or changed retained files fail. No
automatic disk-equals-reachable assertion is imposed on a valid Undo with retained
files. The explicit origin must be a separately frozen, previously verified accepted
checkpoint; do not supply a directory manufactured after seeing an unexpected file.
`same EXPECTED ACTUAL` pins all identities/model/source and the complete saved physical
map of a previously verified checkpoint. Its optional pre-Undo origin uses the same
exact retention rule. It never accepts source drift just because decoded models agree.
These rename cases normally create no detached files, but the checker explicitly
self-tests missing-origin, unknown/missing/changed retained-file discrimination.
## Status
Root execution completed on 2026-09-11 at12:41:29 UTC: direct Rust2024 compile with
warnings denied (23.439s), self-check, inventory, and generate/check of baseline,
OA rename and SA rename all passed. Total62.428s. The exact core tree is
`a9c71e2c3fc9260d06f191c0d65b1e63e41edbec`; its compiled rlib SHA256 is
`D282FEE7FF3B4FDD159EA85B12430262C8DA00E064BD290CCED380B6BA2335B5`.
The oracle executable is
`798D7A1907B894C13549BAD35511B21D6BC7F3D67D63674042B7DF71184C7524`.
Exact logs, execution metadata and all six pre-native fixture hashes are retained
under [lifecycle-native-ytr83r-20260911](../../experiments/lifecycle-native-ytr83r-20260911/).
An independent read-only check confirmed64 elements/2 relations per Project,
including12 scenarios/22 lifelines/24 occurrences. Both incomplete receiver and
self-Delete cases were admitted. There are19 warnings and no errors:
missing_system1, unallocated_leaf4, empty_sequence2, call_without_operation2,
incomplete_reference2, missing_exchange6 and empty_port_contract2. These describe
the intentionally partial engineering fixture; no validation was bypassed.
Each rename changes exactly one quoted name and adds12 UTF-8 bytes; every other
source byte and identity is unchanged. All three rationale files remain identical
86-byte Unicode text with exactly two CRLF lines and no bare LF. None of these
predictions used native outputs. Pending: matching GUI, visual/interaction checks
and every native Save/Undo/Redo/reopen step above.
## Separate Unicode display predictions — after reboot
`typography-wide` changes only the OA root receiver Lifeline name to eighteen
`W` characters and the SA root receiver name to eighteen `界` characters.
`typography-clusters` instead uses a combining accent and a joined emoji near
the existing display cutoff. Both derive from the original baseline by replacing
exactly the two named Lifeline declaration name tokens; reverse replacement
reproduced every original byte. All six original fixture hashes remain unchanged.
The expected full strings, IDs, byte sizes and SHA256 values are preserved in
`../../experiments/lifecycle-native-ytr83r-20260911/typography-predictions.json`.
The unchanged, hash-verified original oracle admitted both inputs through its
`same EXPECTED EXPECTED` path using ordinary core/source loading and validation.
This proves input admission only; it is not a native comparison. Exact logs and
timings are alongside the manifest in `typography-admission.json`.
Before opening either variant in Studio, copy it to a fresh native working
directory. Compare every passive open/zoom/select/Save result with the immutable
expected variant using `same EXPECTED ACTUAL`. Inspect Create label containment
at 0.5x/1x/2x and minimum Fit, while retaining the original Create selection IDs.
Select the neutral lane header/guide to inspect its full Lifeline name, then
cancel property editing without changing it. Missing font glyphs are observations
to record, not a reason to change the source names or weaken containment checks.
No native output or pixel clipping acceptance is claimed yet.
@@ -0,0 +1,570 @@
//! Independent B4 native source fixture/oracle. No desktop renderer is linked.
//! generate MODE DIR | check MODE ENTRY [PRE_UNDO_ENTRY] | same EXPECTED ACTUAL [PRE_UNDO_ENTRY]
//! self-check | inventory; modes: baseline, oa-rename, sa-rename. All fixture identities are fixed.
use oa_core::{source_project::*, *};
use std::{collections::BTreeMap, fs, path::Path};
type Disk = BTreeMap<String, Vec<u8>>;
fn id(n: u128) -> Id {
Id::from_u128(0x5ceab400000040008000000000000000 + n)
}
#[derive(Clone, Copy)]
struct Side {
layer: Layer,
word: &'static str,
base: u128,
}
const SIDES: [Side; 2] = [
Side {
layer: Layer::Oa,
word: "OA",
base: 1000,
},
Side {
layer: Layer::Sa,
word: "SA",
base: 2000,
},
];
impl Side {
fn id(self, n: u128) -> Id {
id(self.base + n)
}
fn name(self, text: &str) -> String {
format!("{} {text}", self.word)
}
}
fn element(p: &mut Project, side: Side, n: u128, kind: Kind, name: &str, parent: Option<u128>) {
let mut e = p
.make_element(
kind,
side.layer,
&side.name(name),
parent.map(|n| side.id(n)),
)
.unwrap();
e.id = side.id(n);
e.alias = format!("life_{}_{}", side.word.to_lowercase(), n);
p.elements.insert(e.id, e);
}
fn scenario(p: &mut Project, side: Side, n: u128, name: &str) {
element(p, side, n, Kind::Scenario, name, None);
let Some(SharedBody::Scenario { viewpoint, .. }) =
p.elements.get_mut(&side.id(n)).unwrap().shared_mut()
else {
unreachable!()
};
*viewpoint = if side.layer == Layer::Oa {
ScenarioViewpoint::OperationalActivity
} else {
ScenarioViewpoint::Functional
};
}
fn line(p: &mut Project, side: Side, n: u128, owner: u128, work: Option<u128>, name: &str) {
element(p, side, n, Kind::Lifeline, name, Some(owner));
*p.elements
.get_mut(&side.id(n))
.unwrap()
.shared_mut()
.unwrap() = SharedBody::Lifeline {
represented: work.map(|n| side.id(n)),
};
}
fn occurrence(
p: &mut Project,
side: Side,
n: u128,
parent: u128,
name: &str,
body: OccurrenceBody,
) {
element(p, side, n, Kind::Occurrence, name, Some(parent));
*p.elements
.get_mut(&side.id(n))
.unwrap()
.shared_mut()
.unwrap() = SharedBody::Occurrence {
body,
precondition: String::new(),
postcondition: String::new(),
};
}
fn steps(p: &mut Project, side: Side, owner: u128, ordered: &[u128]) {
*p.elements
.get_mut(&side.id(owner))
.unwrap()
.steps_mut()
.unwrap() = ordered.iter().map(|n| side.id(*n)).collect();
}
fn message(
side: Side,
sender: u128,
receiver: u128,
kind: MessageKind,
resolved: bool,
) -> OccurrenceBody {
OccurrenceBody::Exchange {
exchange: resolved.then(|| side.id(12)),
sender: Some(side.id(sender)),
receiver: Some(side.id(receiver)),
message_kind: kind,
operation: None,
reply_to: None,
values: vec![],
}
}
fn fixture() -> Project {
let mut p = Project::empty();
p.id = id(1);
p.alias = "lifecycle_native".into();
p.name = "Lifecycle native contract".into();
p.description =
"Fixed semantic inputs; lifecycle geometry is derived and never authored.".into();
for side in SIDES {
let work = if side.layer == Layer::Oa {
Kind::Activity
} else {
Kind::Function
};
element(&mut p, side, 10, work, "Controller work", None);
element(&mut p, side, 11, work, "Receiver work", None);
if side.layer == Layer::Oa {
let relation = Relation {
id: side.id(12),
alias: "life_oa_service".into(),
name: "OA Lifecycle service".into(),
description: String::new(),
body: RelationBody::new(RelationKind::Interaction, side.id(10), side.id(11)),
};
p.relations.insert(relation.id, relation);
} else {
// The port planner derives deterministic UUIDv5 endpoints from this fixed exchange ID.
let commands = ports::plan_functional_exchange(
&p,
&ports::FunctionalExchangeRequest {
id: side.id(12),
alias: "life_sa_service".into(),
name: "SA Lifecycle service".into(),
description: String::new(),
source: side.id(10),
target: side.id(11),
source_port: ports::PortChoice::Create,
target_port: ports::PortChoice::Create,
items: vec![],
},
)
.expect("typed fixed-ID functional exchange must be admitted");
p = execute_batch(&p, &commands).unwrap();
}
for (n, name) in [
(100, "01 Root create action delete"),
(200, "02 Preexisting empty"),
(300, "03 Create only"),
(400, "04 Conditional delete"),
(500, "05 Unassigned receiver"),
(600, "06 Self delete"),
] {
scenario(&mut p, side, n, name);
line(&mut p, side, n + 1, n, Some(10), "Controller lane");
if n != 600 {
line(
&mut p,
side,
n + 2,
n,
(n != 500).then_some(11),
if n == 500 {
"Unassigned receiver lane"
} else {
"Receiver lane"
},
);
}
}
occurrence(
&mut p,
side,
110,
100,
"Create receiver",
message(side, 101, 102, MessageKind::Create, true),
);
occurrence(
&mut p,
side,
111,
100,
"Receiver action",
OccurrenceBody::Action {
action: Some(side.id(11)),
lifeline: Some(side.id(102)),
},
);
occurrence(
&mut p,
side,
112,
100,
"Delete receiver",
message(side, 101, 102, MessageKind::Delete, true),
);
steps(&mut p, side, 100, &[110, 111, 112]);
occurrence(
&mut p,
side,
310,
300,
"Create only receiver",
message(side, 301, 302, MessageKind::Create, true),
);
steps(&mut p, side, 300, &[310]);
occurrence(
&mut p,
side,
410,
400,
"Open call",
message(side, 401, 402, MessageKind::Call, true),
);
occurrence(
&mut p,
side,
411,
400,
"ALT delete or keep",
OccurrenceBody::Fragment {
operator: FragmentOperator::Alternative,
branches: vec![side.id(412), side.id(413)],
},
);
occurrence(
&mut p,
side,
412,
411,
"Left delete operand",
OccurrenceBody::Branch {
guard: "stop_requested".into(),
occurrences: vec![side.id(414)],
},
);
occurrence(
&mut p,
side,
413,
411,
"Right empty operand",
OccurrenceBody::Branch {
guard: "else".into(),
occurrences: vec![],
},
);
occurrence(
&mut p,
side,
414,
412,
"Conditional delete receiver",
message(side, 401, 402, MessageKind::Delete, true),
);
steps(&mut p, side, 400, &[410, 411]);
occurrence(
&mut p,
side,
510,
500,
"Create unassigned receiver",
message(side, 501, 502, MessageKind::Create, false),
);
occurrence(
&mut p,
side,
511,
500,
"Delete unassigned receiver",
message(side, 501, 502, MessageKind::Delete, false),
);
steps(&mut p, side, 500, &[510, 511]);
occurrence(
&mut p,
side,
610,
600,
"Self delete controller",
message(side, 601, 601, MessageKind::Delete, false),
);
steps(&mut p, side, 600, &[610]);
}
execute_batch(&p, &[]).expect("complete source fixture must satisfy ordinary core admission; never bypass self/incomplete-lane rejection")
}
fn baseline() -> CompiledSourceProject {
let p = fixture();
let entry = language::format(&p).replacen("{\n", "{\n include \"rationale.arcadia\";\n", 1);
let raw = SourceBundle { entry: "project.arcadia".into(), files: BTreeMap::from([
("project.arcadia".into(), entry),
("rationale.arcadia".into(), "// Preserve lifecycle note: 雨 · receiver.\r\n// Geometry never changes these bytes.\r\n".into()),
]) };
let compiled = compile_bundle(&raw, ProjectLimits::default()).unwrap();
assert_eq!(compiled.decoded.project, p);
assert_eq!(
compiled.bundle, raw,
"no identity insertion, normalization or migration"
);
compiled
}
fn expected(mode: &str) -> CompiledSourceProject {
let base = baseline();
let side = match mode {
"baseline" => return base,
"oa-rename" => SIDES[0],
"sa-rename" => SIDES[1],
_ => panic!("mode: baseline|oa-rename|sa-rename"),
};
let next = execute_batch(
&base.decoded.project,
&[Command::Rename(
side.id(112),
side.name("Delete receiver · reviewed"),
)],
)
.unwrap();
update_bundle(&base, &next, ProjectLimits::default()).unwrap()
}
fn disk(root: &Path, here: &Path, out: &mut Disk) {
for entry in fs::read_dir(here).unwrap() {
let entry = entry.unwrap();
let kind = entry.file_type().unwrap();
assert!(!kind.is_symlink(), "checkpoint cannot contain symlinks");
if kind.is_dir() {
disk(root, &entry.path(), out);
} else {
assert!(kind.is_file(), "checkpoint files must be ordinary files");
let path = entry.path();
let name = path
.strip_prefix(root)
.unwrap()
.to_str()
.unwrap()
.replace('\\', "/");
out.insert(name, fs::read(path).unwrap());
}
}
}
struct Snapshot {
compiled: CompiledSourceProject,
disk: Disk,
}
fn load(entry: &Path) -> Snapshot {
assert_eq!(entry.file_name().unwrap(), "project.arcadia");
let raw = source_files::load_project(entry, ProjectLimits::default())
.unwrap()
.reachable_bundle();
let compiled = compile_bundle(&raw, ProjectLimits::default()).unwrap();
assert_eq!(compiled.bundle, raw, "no implicit source normalization");
execute_batch(&compiled.decoded.project, &[]).unwrap();
let mut files = Disk::new();
let root = entry.parent().unwrap();
disk(root, root, &mut files);
Snapshot {
compiled,
disk: files,
}
}
fn source_disk(bundle: &SourceBundle) -> Disk {
bundle
.files
.iter()
.map(|(name, text)| (name.clone(), text.as_bytes().to_vec()))
.collect()
}
fn expected_disk(bundle: &SourceBundle, origin: Option<&Disk>) -> Disk {
let mut files = origin.cloned().unwrap_or_default();
files.extend(source_disk(bundle));
files
}
fn equal(expected: &CompiledSourceProject, actual: &Snapshot, origin: Option<&Disk>) {
assert_eq!(
actual.compiled.decoded.project, expected.decoded.project,
"whole Project: every identity, field, order, reference and geometry"
);
assert_eq!(
actual.compiled.bundle, expected.bundle,
"whole reachable SourceBundle including retained note bytes"
);
assert_eq!(
actual.disk,
expected_disk(&expected.bundle, origin),
"whole physical file map: only exact pre-Undo retained files are permitted"
);
}
fn self_check() {
let base = baseline();
assert_eq!(
base.decoded.project,
fixture(),
"fixture deterministic, including typed ports"
);
assert_eq!(base.bundle, baseline().bundle);
for mode in ["baseline", "oa-rename", "sa-rename"] {
let prediction = expected(mode);
let actual = Snapshot {
disk: source_disk(&prediction.bundle),
compiled: expected(mode),
};
equal(&prediction, &actual, None);
if mode != "baseline" {
assert_ne!(prediction.decoded.project, base.decoded.project);
assert_ne!(prediction.bundle, base.bundle);
let side = if mode == "oa-rename" {
SIDES[0]
} else {
SIDES[1]
};
let mut independently_named = base.decoded.project.clone();
independently_named
.elements
.get_mut(&side.id(112))
.unwrap()
.name = side.name("Delete receiver · reviewed");
assert_eq!(
prediction.decoded.project, independently_named,
"rename changes precisely one name; alias and identity stay fixed"
);
}
let mut changed_project = prediction.decoded.project.clone();
changed_project.description.push_str("unrequested");
assert_ne!(changed_project, prediction.decoded.project);
let mut changed_source = prediction.bundle.clone();
changed_source
.files
.get_mut("rationale.arcadia")
.unwrap()
.push_str("// unrequested\n");
assert_ne!(changed_source, prediction.bundle);
}
let plain = source_disk(&base.bundle);
let mut origin = plain.clone();
origin.insert(
"detached.arcadia".into(),
b"// exact pre-Undo bytes\r\n".to_vec(),
);
let retained = expected_disk(&base.bundle, Some(&origin));
assert_eq!(retained, origin);
assert_ne!(
retained,
expected_disk(&base.bundle, None),
"origin is mandatory to authorize retained files"
);
let mut missing = retained.clone();
missing.remove("detached.arcadia");
assert_ne!(missing, retained);
let mut changed = retained.clone();
changed.get_mut("detached.arcadia").unwrap().push(b'!');
assert_ne!(changed, retained);
let mut unknown = retained.clone();
unknown.insert("unknown.arcadia".into(), vec![]);
assert_ne!(unknown, retained);
let mut wrong_reachable = origin.clone();
wrong_reachable.insert("rationale.arcadia".into(), b"wrong prior contents".to_vec());
assert_eq!(
expected_disk(&base.bundle, Some(&wrong_reachable)),
retained,
"expected reachable bytes override the origin"
);
println!(
"PASS self-check: fixed OA/SA fixture, exact name-only predictions, explicit retained-file origin policy"
);
}
fn main() {
assert_eq!(SCHEMA_VERSION, 7);
let args: Vec<_> = std::env::args().collect();
match args.get(1).map(String::as_str) {
Some("self-check") => {
assert_eq!(args.len(), 2);
self_check();
}
Some("inventory") => {
assert_eq!(args.len(), 2);
let base = baseline();
for e in
base.decoded.project.elements.values().filter(|e| {
matches!(e.kind(), Kind::Scenario | Kind::Lifeline | Kind::Occurrence)
})
{
println!(
"{} | {:?} | {} | parent={:?}",
e.id,
e.kind(),
e.name,
e.parent
);
}
for issue in validation::validate(&base.decoded.project) {
println!("DIAGNOSTIC {issue:?}");
}
}
Some("generate") => {
assert_eq!(args.len(), 4, "generate MODE FRESH_DIR");
let prediction = expected(&args[2]);
let dir = Path::new(&args[3]);
assert!(!dir.exists(), "preserve existing fixture/evidence");
fs::create_dir_all(dir).unwrap();
for (name, text) in &prediction.bundle.files {
let path = dir.join(name);
fs::create_dir_all(path.parent().unwrap()).unwrap();
fs::write(path, text.as_bytes()).unwrap();
}
equal(&prediction, &load(&dir.join("project.arcadia")), None);
println!(
"PASS generated {}: {} fixed elements, {} relations, {} exact sources",
args[2],
prediction.decoded.project.elements.len(),
prediction.decoded.project.relations.len(),
prediction.bundle.files.len()
);
}
Some("check") => {
assert!(
(4..=5).contains(&args.len()),
"check MODE ENTRY [PRE_UNDO_ENTRY]"
);
let actual = load(Path::new(&args[3]));
let origin = args.get(4).map(|path| load(Path::new(path)));
equal(
&expected(&args[2]),
&actual,
origin.as_ref().map(|s| &s.disk),
);
println!(
"PASS {}: complete Project/reachable sources/physical map",
args[2]
);
}
Some("same") => {
assert!(
(4..=5).contains(&args.len()),
"same VERIFIED_EXPECTED_ENTRY ACTUAL_ENTRY [PRE_UNDO_ENTRY]"
);
let wanted = load(Path::new(&args[2]));
let actual = load(Path::new(&args[3]));
let origin = args.get(4).map(|path| load(Path::new(path)));
assert_eq!(
actual.compiled.decoded.project,
wanted.compiled.decoded.project
);
assert_eq!(actual.compiled.bundle, wanted.compiled.bundle);
let files = origin.as_ref().map_or_else(
|| wanted.disk.clone(),
|s| expected_disk(&wanted.compiled.bundle, Some(&s.disk)),
);
assert_eq!(
actual.disk, files,
"exact prior checkpoint or explicit retained-file origin"
);
println!("PASS same: all identities, fields, reachable source and physical bytes");
}
_ => panic!(
"self-check | inventory | generate MODE DIR | check MODE ENTRY [PRE_UNDO_ENTRY] | same EXPECTED ACTUAL [PRE_UNDO_ENTRY]"
),
}
}
@@ -0,0 +1,53 @@
{
"core_sha256": "D282FEE7FF3B4FDD159EA85B12430262C8DA00E064BD290CCED380B6BA2335B5",
"seconds": 62.4279746,
"completed_utc": "2026-09-11T12:41:29.1561610Z",
"results": [
{
"seconds": 23.4388482,
"name": "compile",
"exit": 0
},
{
"seconds": 8.1831391,
"name": "self-check",
"exit": 0
},
{
"seconds": 4.7308799,
"name": "inventory",
"exit": 0
},
{
"seconds": 5.0343211,
"name": "generate-baseline",
"exit": 0
},
{
"name": "check-baseline",
"exit": 0
},
{
"seconds": 3.5094392,
"name": "generate-oa-rename",
"exit": 0
},
{
"name": "check-oa-rename",
"exit": 0
},
{
"seconds": 3.6603173,
"name": "generate-sa-rename",
"exit": 0
},
{
"name": "check-sa-rename",
"exit": 0
}
],
"core_tree": "a9c71e2c3fc9260d06f191c0d65b1e63e41edbec",
"core_full_test_status": "Separate all-targets gate; no pass inferred from this oracle",
"source_sha256": "FC5E71F9870D7B98E0F52EAF20C831EBFFBE9F7A9B8960269DC9BE3D9BF0D9E4",
"exe_sha256": "798D7A1907B894C13549BAD35511B21D6BC7F3D67D63674042B7DF71184C7524"
}
@@ -0,0 +1,29 @@
{
"created_utc": "2026-09-11T18:15:30.508Z",
"files": [
{
"source": ".local/lifecycle-native-ytr83r-20260911/lifecycle-native-contract.exe",
"target": "lifecycle.exe",
"bytes": 20700160,
"sha256": "798d7a1907b894c13549bad35511b21d6bc7f3d67d63674042b7df71184c7524"
},
{
"source": ".local/staged-source-native-ytr83r-20260911/staged-source-authoring-contract.exe",
"target": "staged.exe",
"bytes": 20823552,
"sha256": "b1dea048e319fb7b9a41620a17a0db8b0831e09816accfdaec7cfbda0133c211"
},
{
"source": ".local/child-work-native/compile-01/contract.exe",
"target": "child.exe",
"bytes": 20577280,
"sha256": "c772bf4a6477bb540a838b20e60cf59c60dda51b6d2fd2cb3afee57f151a9c96"
},
{
"source": ".local/toolchain/llvm-mingw-20260908-ucrt-x86_64/bin/libunwind.dll",
"target": "libunwind.dll",
"bytes": 190464,
"sha256": "aa282fa47bb2c4e210cea5e470cdbdca58568f0be0bc73e404d86ab9cd95ef6a"
}
]
}
@@ -0,0 +1,18 @@
{
"seconds": 385.1131455,
"log": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\canvas-union-windows-20260911\\studio-build.log",
"started_utc": "2026-09-11T20:14:23.6348444Z",
"exit": 0,
"command": [
"cargo",
"build",
"-p",
"oa-desktop",
"--bin",
"arcadia-studio",
"--offline",
"--locked"
],
"name": "canvas-union-windows-20260911/studio-build",
"completed_utc": "2026-09-11T20:20:48.7677661Z"
}
@@ -0,0 +1,18 @@
{
"results": [
{
"seconds": 0.4776694,
"mode": "typography-wide",
"scope": "ordinary core/source admission of fixed expected input only; no native output",
"exit": 0
},
{
"seconds": 0.257928,
"mode": "typography-clusters",
"scope": "ordinary core/source admission of fixed expected input only; no native output",
"exit": 0
}
],
"completed_utc": "2026-09-11T13:50:08.2961401Z",
"oracle_sha256": "798D7A1907B894C13549BAD35511B21D6BC7F3D67D63674042B7DF71184C7524"
}
@@ -0,0 +1,59 @@
{
"origin": "baseline/project.arcadia",
"scope": "Exactly the two root receiver Lifeline names; all other bytes unchanged",
"native_acceptance": false,
"variants": {
"typography-wide": {
"changes": [
{
"id": "5ceab400-0000-4000-8000-00000000044e",
"name": "WWWWWWWWWWWWWWWWWW",
"before": "oa_lifeline life_oa_102 \"OA Receiver lane\" id \"5ceab400-0000-4000-8000-00000000044e\"",
"after": "oa_lifeline life_oa_102 \"WWWWWWWWWWWWWWWWWW\" id \"5ceab400-0000-4000-8000-00000000044e\""
},
{
"id": "5ceab400-0000-4000-8000-000000000836",
"name": "界界界界界界界界界界界界界界界界界界",
"before": "sa_lifeline life_sa_102 \"SA Receiver lane\" id \"5ceab400-0000-4000-8000-000000000836\"",
"after": "sa_lifeline life_sa_102 \"界界界界界界界界界界界界界界界界界界\" id \"5ceab400-0000-4000-8000-000000000836\""
}
],
"files": {
"project.arcadia": {
"bytes": 20128,
"sha256": "6a18ee1f246321bdf8ab0e7e8e5d4eba134ce486ed5224c4ffd61c7342c3a7d3"
},
"rationale.arcadia": {
"bytes": 86,
"sha256": "8509f8d8a136d808cf98a1bb0fe50348b8a24409f30dee4ee65b62bf5cb9e6bf"
}
}
},
"typography-clusters": {
"changes": [
{
"id": "5ceab400-0000-4000-8000-00000000044e",
"name": "abcdefghijklmnopé尾",
"before": "oa_lifeline life_oa_102 \"OA Receiver lane\" id \"5ceab400-0000-4000-8000-00000000044e\"",
"after": "oa_lifeline life_oa_102 \"abcdefghijklmnopé尾\" id \"5ceab400-0000-4000-8000-00000000044e\""
},
{
"id": "5ceab400-0000-4000-8000-000000000836",
"name": "abcdefghijklmnop👩‍🔬 tail",
"before": "sa_lifeline life_sa_102 \"SA Receiver lane\" id \"5ceab400-0000-4000-8000-000000000836\"",
"after": "sa_lifeline life_sa_102 \"abcdefghijklmnop👩‍🔬 tail\" id \"5ceab400-0000-4000-8000-000000000836\""
}
],
"files": {
"project.arcadia": {
"bytes": 20110,
"sha256": "eecddfc4a4514e995633ea58b89fe154dc6dc43509b1f53ee05b76f8e6b993c8"
},
"rationale.arcadia": {
"bytes": 86,
"sha256": "8509f8d8a136d808cf98a1bb0fe50348b8a24409f30dee4ee65b62bf5cb9e6bf"
}
}
}
}
}
@@ -0,0 +1,559 @@
{
"checked_utc": "2026-09-12T11:08:56.3639375Z",
"scope": "Fresh original/copy reads and exact archive inventory; no runtime execution",
"pass": true,
"payload_count": 47,
"payload_bytes": 2184242.0,
"manifest_sha256": "F0FF9E5C21F88DDCBF59ED3F6A0F03A5B21EDFB3A0E447F8F0094615ABC3A0E8",
"payloads": [
{
"path": "baseline-wide/project.arcadia",
"bytes": 20128,
"sha256": "6A18EE1F246321BDF8AB0E7E8E5D4EBA134CE486ED5224C4FFD61C7342C3A7D3",
"original_equal": true
},
{
"path": "baseline-wide/rationale.arcadia",
"bytes": 86,
"sha256": "8509F8D8A136D808CF98A1BB0FE50348B8A24409F30DEE4EE65B62BF5CB9E6BF",
"original_equal": true
},
{
"path": "checkpoints/wide-passive/project.arcadia",
"bytes": 20128,
"sha256": "6A18EE1F246321BDF8AB0E7E8E5D4EBA134CE486ED5224C4FFD61C7342C3A7D3",
"original_equal": true
},
{
"path": "checkpoints/wide-passive/rationale.arcadia",
"bytes": 86,
"sha256": "8509F8D8A136D808CF98A1BB0FE50348B8A24409F30DEE4EE65B62BF5CB9E6BF",
"original_equal": true
},
{
"path": "launch-script-syntax.json",
"bytes": 77,
"sha256": "9FE1369737B8A02EE9DDB83318CE800F200AFABF5486C9DD6F52DBEC9F87502C",
"original_equal": true
},
{
"path": "launch.json",
"bytes": 3308,
"sha256": "7BCF09DFB689DB4E686BBACD0F1805B013597FB4159D5477D5DE56F52D79D147",
"original_equal": true
},
{
"path": "logs/studio.stderr.log",
"bytes": 0,
"sha256": "E3B0C44298FC1C149AFBF4C8996FB92427AE41E4649B934CA495991B7852B855",
"original_equal": true
},
{
"path": "logs/studio.stdout.log",
"bytes": 0,
"sha256": "E3B0C44298FC1C149AFBF4C8996FB92427AE41E4649B934CA495991B7852B855",
"original_equal": true
},
{
"path": "logs/wide-passive.stderr.log",
"bytes": 0,
"sha256": "E3B0C44298FC1C149AFBF4C8996FB92427AE41E4649B934CA495991B7852B855",
"original_equal": true
},
{
"path": "logs/wide-passive.stdout.log",
"bytes": 71,
"sha256": "72F1D2214D32F2C77CEB6666FFA91EB54795BC94E77DAF63589B00ABFEAAC477",
"original_equal": true
},
{
"path": "normal-close.json",
"bytes": 1326,
"sha256": "21CE20643ED69CA1247B261A44A71A562850D0BCF8339761E60F11B7A19A7AF1",
"original_equal": true
},
{
"path": "preparation-manifest.json",
"bytes": 9149,
"sha256": "293892C2F430D6EADB58C6678F3C1B346742B3AA4D2FE5CE3729F896EAD2C2DB",
"original_equal": true
},
{
"path": "prepare-inputs.py",
"bytes": 5563,
"sha256": "661D6686AD0B59FBD28CB4FE42CFD4955DB5922B9CE3B5EF3F378A4CF1982884",
"original_equal": true
},
{
"path": "provenance/after-build-verify-head.json",
"bytes": 199,
"sha256": "FF0F533653B601F1456C726106A97D94346C3C18288912C620748112119AFF08",
"original_equal": true
},
{
"path": "provenance/binary-manifest.json",
"bytes": 2828,
"sha256": "F8F8A97B2BA516685A0690E98DF90269A7C83F371A5A3257E80B865E15D3EDFA",
"original_equal": true
},
{
"path": "provenance/desktop-all-targets-status.json",
"bytes": 472,
"sha256": "2C23196BEA849E77C49F2CF64FD31311A01998520460E92F91B935C5A7880BC0",
"original_equal": true
},
{
"path": "provenance/desktop-clippy-status.json",
"bytes": 503,
"sha256": "BA5F6D17354D194C1102EA75EE4E7B893EF04EEDD21518D591726A912E3E6A4C",
"original_equal": true
},
{
"path": "provenance/focused-lifecycle-status.json",
"bytes": 509,
"sha256": "FA6618F15C4B41BDD691A613CF0992C83CE984A1AA0FAFFCD2DC4FB96CDEBCE3",
"original_equal": true
},
{
"path": "provenance/inputs.json",
"bytes": 101859,
"sha256": "47FEC9CADC0E7FAE99D789376C111C02EEAAB7FAC3740DE48174A06F61FE16B3",
"original_equal": true
},
{
"path": "provenance/lifecycle-fixture-README.md",
"bytes": 12199,
"sha256": "B441C562459B2AE000055D73529FB608C9CC015F64293206B9FB7D8C7CBC8B78",
"original_equal": true
},
{
"path": "provenance/lifecycle-native-contract.rs",
"bytes": 19135,
"sha256": "FC5E71F9870D7B98E0F52EAF20C831EBFFBE9F7A9B8960269DC9BE3D9BF0D9E4",
"original_equal": true
},
{
"path": "provenance/lifecycle-oracle-status.json",
"bytes": 1272,
"sha256": "68452154CF96EC4FD245D89A11D1FC1C08CB471419A5F8D94039ECCBF2EFCF7C",
"original_equal": true
},
{
"path": "provenance/oracles-865-copy-manifest.json",
"bytes": 1015,
"sha256": "5DC8D7A3C721E03A0A249E5B8D30BC41539B39D39EC7157D9DBF5C99044B1C4C",
"original_equal": true
},
{
"path": "provenance/studio-build-status.json",
"bytes": 474,
"sha256": "AB1E04807F32F8DADA0A572D69F632BD6FD242150DF211C18E35D82EA8BE91EC",
"original_equal": true
},
{
"path": "provenance/typography-admission.json",
"bytes": 553,
"sha256": "B06FD83F554982B407E1B28A79DFADCB61717B4F076EB3062EC314C742A2CCD8",
"original_equal": true
},
{
"path": "provenance/typography-predictions.json",
"bytes": 2490,
"sha256": "6951FF7C96C0A7A14D72781B416FC64CAB9F4AF5861F5C0EF4C327D843483243",
"original_equal": true
},
{
"path": "screenshots/01-wide-opened.jpg",
"bytes": 102087,
"sha256": "76B5ABF72AAA2B40DB91FCF182E3B464BEE29CC9ABDCCC4005EC9567554C7E18",
"original_equal": true
},
{
"path": "screenshots/02-behavior-open.jpg",
"bytes": 118609,
"sha256": "92D75BCF44D78221D99C393C039E6ED395AF70973477643EEF437CD0B5EFF1A2",
"original_equal": true
},
{
"path": "screenshots/03-oa-create-selected-100.jpg",
"bytes": 134137,
"sha256": "0028B918C56C5686890C18D730D3394CC07A8D0714DBD5175B06A336C2BD937C",
"original_equal": true
},
{
"path": "screenshots/04-oa-create-zoom125.jpg",
"bytes": 131774,
"sha256": "9B6627543E8A79E8D217029861407A89C884F36A3024BE44F5B8205AD2B557ED",
"original_equal": true
},
{
"path": "screenshots/05-oa-delete-selected-125.jpg",
"bytes": 132774,
"sha256": "1BC820418F12B18EBC97F52D2B2B85B8B9BDD57F9485BE040946FC9CC2F37FAA",
"original_equal": true
},
{
"path": "screenshots/06-oa-fit.jpg",
"bytes": 133100,
"sha256": "585063787D8E0299A7C2173BB8EC0264CDF51D5EDD8CBC3FCC953EF1917E1116",
"original_equal": true
},
{
"path": "screenshots/07-minimum-width.jpg",
"bytes": 123533,
"sha256": "9D798D0B087C7F05FAFDC23237BD934B069B69E1A08D8C33EAF74D4E85264582",
"original_equal": true
},
{
"path": "screenshots/08-minimum-window.jpg",
"bytes": 105379,
"sha256": "DFBAFFA375445BCD36565BDC8873DBF457E0A528A827E882F069B95D90529944",
"original_equal": true
},
{
"path": "screenshots/09-oa-minimum-fit.jpg",
"bytes": 99033,
"sha256": "FD2FEE1D602488243876B6FAEAFCBBCFE7065DDCFA2C28AD743A0FD19673C4B9",
"original_equal": true
},
{
"path": "screenshots/10-oa-minimum-create-hit.jpg",
"bytes": 99898,
"sha256": "7975C21C9E41D32A8684E3420DEF616D7AC1E43F5EF291E94380FA63DA37241F",
"original_equal": true
},
{
"path": "screenshots/11-oa-minimum-pan-right.jpg",
"bytes": 99456,
"sha256": "61BD5C917B738E1C3B2267D623A41193A8C5F84F5A1F7B51DAFA1B147DB13A51",
"original_equal": true
},
{
"path": "screenshots/12-oa-panned-delete-hit.jpg",
"bytes": 98952,
"sha256": "1B9C0E408BC9445AE0E6BDC2F86EA341AA385EB26D42693C76309963D9D4064C",
"original_equal": true
},
{
"path": "screenshots/13-system-layer.jpg",
"bytes": 101904,
"sha256": "02992B658775E55F0CBAF974050BBFEA0C1F608799C5D9BE9A05AA6789C9F1F4",
"original_equal": true
},
{
"path": "screenshots/14-sa-minimum-fit.jpg",
"bytes": 95469,
"sha256": "E4A274CA8DA7ECD2255EF519C8FC81D8310DB55C9DB9009FC8731751A25202CB",
"original_equal": true
},
{
"path": "screenshots/15-sa-minimum-create-hit.jpg",
"bytes": 99837,
"sha256": "4ED02839A417EE567CD8F23750DFFB535AF8C32063B535F8C0B4BE8ACB082542",
"original_equal": true
},
{
"path": "screenshots/16-sa-pan-up.jpg",
"bytes": 96836,
"sha256": "26048071F3B2A09ED054D18834C128093CC1FB9B1C4A7518B09E0F9E9EC8291A",
"original_equal": true
},
{
"path": "screenshots/17-sa-panned-delete-hit.jpg",
"bytes": 96499,
"sha256": "31EA2A24959B4A5014C9FCD0E43BD918847C6FB58EB0B8B1577C56074E266BC0",
"original_equal": true
},
{
"path": "screenshots/18-passive-navigation-saved.jpg",
"bytes": 94345,
"sha256": "280942F9B9806884D4EE34A5FB740428A420D7603EDDDF21D6E4979BEE041B2D",
"original_equal": true
},
{
"path": "second-readback.json",
"bytes": 6332,
"sha256": "BB8063AAC3FFF3A7B8FC19BA81F9EBBC13068871F6924651A14B08D58CE525BB",
"original_equal": true
},
{
"path": "wide-passive-status.json",
"bytes": 857,
"sha256": "A358FA3C26A11DEACFC9457EC96F27F43EBD9020575329E701F0F026759850BF",
"original_equal": true
},
{
"path": "launch-native-a57c334-camera.ps1",
"bytes": 10001,
"sha256": "BE80A4B5B407BCEA3DBECC547DA5E5888F3C6DC06F5F7AF87F546C388963B4DE",
"original_equal": true
}
],
"physical_same": {
"pass": true,
"bytes": 20214,
"files": [
"project.arcadia",
"rationale.arcadia"
]
},
"inventory_excludes": "readback.json self-reference only",
"inventory": [
{
"path": "archive.ps1",
"bytes": 2510,
"sha256": "D60E5E478361DDB7428454F30BB6DD856403A41AB1816EA7264B09988099F1AB"
},
{
"path": "baseline-wide/project.arcadia",
"bytes": 20128,
"sha256": "6A18EE1F246321BDF8AB0E7E8E5D4EBA134CE486ED5224C4FFD61C7342C3A7D3"
},
{
"path": "baseline-wide/rationale.arcadia",
"bytes": 86,
"sha256": "8509F8D8A136D808CF98A1BB0FE50348B8A24409F30DEE4EE65B62BF5CB9E6BF"
},
{
"path": "checkpoints/wide-passive/project.arcadia",
"bytes": 20128,
"sha256": "6A18EE1F246321BDF8AB0E7E8E5D4EBA134CE486ED5224C4FFD61C7342C3A7D3"
},
{
"path": "checkpoints/wide-passive/rationale.arcadia",
"bytes": 86,
"sha256": "8509F8D8A136D808CF98A1BB0FE50348B8A24409F30DEE4EE65B62BF5CB9E6BF"
},
{
"path": "launch-native-a57c334-camera.ps1",
"bytes": 10001,
"sha256": "BE80A4B5B407BCEA3DBECC547DA5E5888F3C6DC06F5F7AF87F546C388963B4DE"
},
{
"path": "launch-script-syntax.json",
"bytes": 77,
"sha256": "9FE1369737B8A02EE9DDB83318CE800F200AFABF5486C9DD6F52DBEC9F87502C"
},
{
"path": "launch.json",
"bytes": 3308,
"sha256": "7BCF09DFB689DB4E686BBACD0F1805B013597FB4159D5477D5DE56F52D79D147"
},
{
"path": "logs/studio.stderr.log",
"bytes": 0,
"sha256": "E3B0C44298FC1C149AFBF4C8996FB92427AE41E4649B934CA495991B7852B855"
},
{
"path": "logs/studio.stdout.log",
"bytes": 0,
"sha256": "E3B0C44298FC1C149AFBF4C8996FB92427AE41E4649B934CA495991B7852B855"
},
{
"path": "logs/wide-passive.stderr.log",
"bytes": 0,
"sha256": "E3B0C44298FC1C149AFBF4C8996FB92427AE41E4649B934CA495991B7852B855"
},
{
"path": "logs/wide-passive.stdout.log",
"bytes": 71,
"sha256": "72F1D2214D32F2C77CEB6666FFA91EB54795BC94E77DAF63589B00ABFEAAC477"
},
{
"path": "manifest.json",
"bytes": 19562,
"sha256": "F0FF9E5C21F88DDCBF59ED3F6A0F03A5B21EDFB3A0E447F8F0094615ABC3A0E8"
},
{
"path": "normal-close.json",
"bytes": 1326,
"sha256": "21CE20643ED69CA1247B261A44A71A562850D0BCF8339761E60F11B7A19A7AF1"
},
{
"path": "preparation-manifest.json",
"bytes": 9149,
"sha256": "293892C2F430D6EADB58C6678F3C1B346742B3AA4D2FE5CE3729F896EAD2C2DB"
},
{
"path": "prepare-inputs.py",
"bytes": 5563,
"sha256": "661D6686AD0B59FBD28CB4FE42CFD4955DB5922B9CE3B5EF3F378A4CF1982884"
},
{
"path": "provenance/after-build-verify-head.json",
"bytes": 199,
"sha256": "FF0F533653B601F1456C726106A97D94346C3C18288912C620748112119AFF08"
},
{
"path": "provenance/binary-manifest.json",
"bytes": 2828,
"sha256": "F8F8A97B2BA516685A0690E98DF90269A7C83F371A5A3257E80B865E15D3EDFA"
},
{
"path": "provenance/desktop-all-targets-status.json",
"bytes": 472,
"sha256": "2C23196BEA849E77C49F2CF64FD31311A01998520460E92F91B935C5A7880BC0"
},
{
"path": "provenance/desktop-clippy-status.json",
"bytes": 503,
"sha256": "BA5F6D17354D194C1102EA75EE4E7B893EF04EEDD21518D591726A912E3E6A4C"
},
{
"path": "provenance/focused-lifecycle-status.json",
"bytes": 509,
"sha256": "FA6618F15C4B41BDD691A613CF0992C83CE984A1AA0FAFFCD2DC4FB96CDEBCE3"
},
{
"path": "provenance/inputs.json",
"bytes": 101859,
"sha256": "47FEC9CADC0E7FAE99D789376C111C02EEAAB7FAC3740DE48174A06F61FE16B3"
},
{
"path": "provenance/lifecycle-fixture-README.md",
"bytes": 12199,
"sha256": "B441C562459B2AE000055D73529FB608C9CC015F64293206B9FB7D8C7CBC8B78"
},
{
"path": "provenance/lifecycle-native-contract.rs",
"bytes": 19135,
"sha256": "FC5E71F9870D7B98E0F52EAF20C831EBFFBE9F7A9B8960269DC9BE3D9BF0D9E4"
},
{
"path": "provenance/lifecycle-oracle-status.json",
"bytes": 1272,
"sha256": "68452154CF96EC4FD245D89A11D1FC1C08CB471419A5F8D94039ECCBF2EFCF7C"
},
{
"path": "provenance/oracles-865-copy-manifest.json",
"bytes": 1015,
"sha256": "5DC8D7A3C721E03A0A249E5B8D30BC41539B39D39EC7157D9DBF5C99044B1C4C"
},
{
"path": "provenance/studio-build-status.json",
"bytes": 474,
"sha256": "AB1E04807F32F8DADA0A572D69F632BD6FD242150DF211C18E35D82EA8BE91EC"
},
{
"path": "provenance/typography-admission.json",
"bytes": 553,
"sha256": "B06FD83F554982B407E1B28A79DFADCB61717B4F076EB3062EC314C742A2CCD8"
},
{
"path": "provenance/typography-predictions.json",
"bytes": 2490,
"sha256": "6951FF7C96C0A7A14D72781B416FC64CAB9F4AF5861F5C0EF4C327D843483243"
},
{
"path": "README.md",
"bytes": 4050,
"sha256": "3B1866876D39147B1575F01C192721B1BA5F5216D3F12E17DC23FE39DD92FCDA"
},
{
"path": "screenshots/01-wide-opened.jpg",
"bytes": 102087,
"sha256": "76B5ABF72AAA2B40DB91FCF182E3B464BEE29CC9ABDCCC4005EC9567554C7E18"
},
{
"path": "screenshots/02-behavior-open.jpg",
"bytes": 118609,
"sha256": "92D75BCF44D78221D99C393C039E6ED395AF70973477643EEF437CD0B5EFF1A2"
},
{
"path": "screenshots/03-oa-create-selected-100.jpg",
"bytes": 134137,
"sha256": "0028B918C56C5686890C18D730D3394CC07A8D0714DBD5175B06A336C2BD937C"
},
{
"path": "screenshots/04-oa-create-zoom125.jpg",
"bytes": 131774,
"sha256": "9B6627543E8A79E8D217029861407A89C884F36A3024BE44F5B8205AD2B557ED"
},
{
"path": "screenshots/05-oa-delete-selected-125.jpg",
"bytes": 132774,
"sha256": "1BC820418F12B18EBC97F52D2B2B85B8B9BDD57F9485BE040946FC9CC2F37FAA"
},
{
"path": "screenshots/06-oa-fit.jpg",
"bytes": 133100,
"sha256": "585063787D8E0299A7C2173BB8EC0264CDF51D5EDD8CBC3FCC953EF1917E1116"
},
{
"path": "screenshots/07-minimum-width.jpg",
"bytes": 123533,
"sha256": "9D798D0B087C7F05FAFDC23237BD934B069B69E1A08D8C33EAF74D4E85264582"
},
{
"path": "screenshots/08-minimum-window.jpg",
"bytes": 105379,
"sha256": "DFBAFFA375445BCD36565BDC8873DBF457E0A528A827E882F069B95D90529944"
},
{
"path": "screenshots/09-oa-minimum-fit.jpg",
"bytes": 99033,
"sha256": "FD2FEE1D602488243876B6FAEAFCBBCFE7065DDCFA2C28AD743A0FD19673C4B9"
},
{
"path": "screenshots/10-oa-minimum-create-hit.jpg",
"bytes": 99898,
"sha256": "7975C21C9E41D32A8684E3420DEF616D7AC1E43F5EF291E94380FA63DA37241F"
},
{
"path": "screenshots/11-oa-minimum-pan-right.jpg",
"bytes": 99456,
"sha256": "61BD5C917B738E1C3B2267D623A41193A8C5F84F5A1F7B51DAFA1B147DB13A51"
},
{
"path": "screenshots/12-oa-panned-delete-hit.jpg",
"bytes": 98952,
"sha256": "1B9C0E408BC9445AE0E6BDC2F86EA341AA385EB26D42693C76309963D9D4064C"
},
{
"path": "screenshots/13-system-layer.jpg",
"bytes": 101904,
"sha256": "02992B658775E55F0CBAF974050BBFEA0C1F608799C5D9BE9A05AA6789C9F1F4"
},
{
"path": "screenshots/14-sa-minimum-fit.jpg",
"bytes": 95469,
"sha256": "E4A274CA8DA7ECD2255EF519C8FC81D8310DB55C9DB9009FC8731751A25202CB"
},
{
"path": "screenshots/15-sa-minimum-create-hit.jpg",
"bytes": 99837,
"sha256": "4ED02839A417EE567CD8F23750DFFB535AF8C32063B535F8C0B4BE8ACB082542"
},
{
"path": "screenshots/16-sa-pan-up.jpg",
"bytes": 96836,
"sha256": "26048071F3B2A09ED054D18834C128093CC1FB9B1C4A7518B09E0F9E9EC8291A"
},
{
"path": "screenshots/17-sa-panned-delete-hit.jpg",
"bytes": 96499,
"sha256": "31EA2A24959B4A5014C9FCD0E43BD918847C6FB58EB0B8B1577C56074E266BC0"
},
{
"path": "screenshots/18-passive-navigation-saved.jpg",
"bytes": 94345,
"sha256": "280942F9B9806884D4EE34A5FB740428A420D7603EDDDF21D6E4979BEE041B2D"
},
{
"path": "second-readback.json",
"bytes": 6332,
"sha256": "BB8063AAC3FFF3A7B8FC19BA81F9EBBC13068871F6924651A14B08D58CE525BB"
},
{
"path": "verify-readback.ps1",
"bytes": 2811,
"sha256": "405069041AB5C7D75BB345B272C6D287A7D87F144CCFBB550BF7486B6BBBCA02"
},
{
"path": "wide-passive-status.json",
"bytes": 857,
"sha256": "A358FA3C26A11DEACFC9457EC96F27F43EBD9020575329E701F0F026759850BF"
}
],
"final_file_count": 52
}
Binary file not shown.

After

Width:  |  Height:  |  Size: 100 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 116 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 131 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 129 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 130 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 130 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 121 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 103 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 97 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 98 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 97 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 97 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 100 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 93 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 98 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 95 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 94 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 92 KiB

@@ -0,0 +1,183 @@
{
"scope": "Fresh readback only; no launcher/oracle/model execution",
"manifest_sha256": "293892C2F430D6EADB58C6678F3C1B346742B3AA4D2FE5CE3729F896EAD2C2DB",
"launcher_sha256": "BE80A4B5B407BCEA3DBECC547DA5E5888F3C6DC06F5F7AF87F546C388963B4DE",
"files": [
{
"target": "baseline-wide/rationale.arcadia",
"sha256": "8509F8D8A136D808CF98A1BB0FE50348B8A24409F30DEE4EE65B62BF5CB9E6BF",
"bytes": 86,
"source_copy_source_equal": true,
"readonly": true
},
{
"target": "working-wide/rationale.arcadia",
"sha256": "8509F8D8A136D808CF98A1BB0FE50348B8A24409F30DEE4EE65B62BF5CB9E6BF",
"bytes": 86,
"source_copy_source_equal": true,
"readonly": false
},
{
"target": "baseline-wide/project.arcadia",
"sha256": "6A18EE1F246321BDF8AB0E7E8E5D4EBA134CE486ED5224C4FFD61C7342C3A7D3",
"bytes": 20128,
"source_copy_source_equal": true,
"readonly": true
},
{
"target": "working-wide/project.arcadia",
"sha256": "6A18EE1F246321BDF8AB0E7E8E5D4EBA134CE486ED5224C4FFD61C7342C3A7D3",
"bytes": 20128,
"source_copy_source_equal": true,
"readonly": false
},
{
"target": "baseline-clusters/project.arcadia",
"sha256": "EECDDFC4A4514E995633EA58B89FE154DC6DC43509B1F53EE05B76F8E6B993C8",
"bytes": 20110,
"source_copy_source_equal": true,
"readonly": true
},
{
"target": "working-clusters/project.arcadia",
"sha256": "EECDDFC4A4514E995633EA58B89FE154DC6DC43509B1F53EE05B76F8E6B993C8",
"bytes": 20110,
"source_copy_source_equal": true,
"readonly": false
},
{
"target": "baseline-clusters/rationale.arcadia",
"sha256": "8509F8D8A136D808CF98A1BB0FE50348B8A24409F30DEE4EE65B62BF5CB9E6BF",
"bytes": 86,
"source_copy_source_equal": true,
"readonly": true
},
{
"target": "working-clusters/rationale.arcadia",
"sha256": "8509F8D8A136D808CF98A1BB0FE50348B8A24409F30DEE4EE65B62BF5CB9E6BF",
"bytes": 86,
"source_copy_source_equal": true,
"readonly": false
},
{
"target": "provenance/lifecycle-fixture-README.md",
"sha256": "B441C562459B2AE000055D73529FB608C9CC015F64293206B9FB7D8C7CBC8B78",
"bytes": 12199,
"source_copy_source_equal": true,
"readonly": true
},
{
"target": "bin/arcadia-studio.exe",
"sha256": "69DBB90FA299B3B3D90140C7934891F79166025893AF9B35B2B8D754A37A0D40",
"bytes": 113028608,
"source_copy_source_equal": true,
"readonly": true
},
{
"target": "bin/libunwind.dll",
"sha256": "AA282FA47BB2C4E210CEA5E470CDBDCA58568F0BE0BC73E404D86AB9CD95EF6A",
"bytes": 190464,
"source_copy_source_equal": true,
"readonly": true
},
{
"target": "provenance/inputs.json",
"sha256": "47FEC9CADC0E7FAE99D789376C111C02EEAAB7FAC3740DE48174A06F61FE16B3",
"bytes": 101859,
"source_copy_source_equal": true,
"readonly": true
},
{
"target": "provenance/binary-manifest.json",
"sha256": "F8F8A97B2BA516685A0690E98DF90269A7C83F371A5A3257E80B865E15D3EDFA",
"bytes": 2828,
"source_copy_source_equal": true,
"readonly": true
},
{
"target": "provenance/after-build-verify-head.json",
"sha256": "FF0F533653B601F1456C726106A97D94346C3C18288912C620748112119AFF08",
"bytes": 199,
"source_copy_source_equal": true,
"readonly": true
},
{
"target": "provenance/studio-build-status.json",
"sha256": "AB1E04807F32F8DADA0A572D69F632BD6FD242150DF211C18E35D82EA8BE91EC",
"bytes": 474,
"source_copy_source_equal": true,
"readonly": true
},
{
"target": "provenance/desktop-clippy-status.json",
"sha256": "BA5F6D17354D194C1102EA75EE4E7B893EF04EEDD21518D591726A912E3E6A4C",
"bytes": 503,
"source_copy_source_equal": true,
"readonly": true
},
{
"target": "provenance/desktop-all-targets-status.json",
"sha256": "2C23196BEA849E77C49F2CF64FD31311A01998520460E92F91B935C5A7880BC0",
"bytes": 472,
"source_copy_source_equal": true,
"readonly": true
},
{
"target": "provenance/focused-lifecycle-status.json",
"sha256": "FA6618F15C4B41BDD691A613CF0992C83CE984A1AA0FAFFCD2DC4FB96CDEBCE3",
"bytes": 509,
"source_copy_source_equal": true,
"readonly": true
},
{
"target": "oracles/lifecycle.exe",
"sha256": "798D7A1907B894C13549BAD35511B21D6BC7F3D67D63674042B7DF71184C7524",
"bytes": 20700160,
"source_copy_source_equal": true,
"readonly": true
},
{
"target": "oracles/libunwind.dll",
"sha256": "AA282FA47BB2C4E210CEA5E470CDBDCA58568F0BE0BC73E404D86AB9CD95EF6A",
"bytes": 190464,
"source_copy_source_equal": true,
"readonly": true
},
{
"target": "provenance/lifecycle-native-contract.rs",
"sha256": "FC5E71F9870D7B98E0F52EAF20C831EBFFBE9F7A9B8960269DC9BE3D9BF0D9E4",
"bytes": 19135,
"source_copy_source_equal": true,
"readonly": true
},
{
"target": "provenance/oracles-865-copy-manifest.json",
"sha256": "5DC8D7A3C721E03A0A249E5B8D30BC41539B39D39EC7157D9DBF5C99044B1C4C",
"bytes": 1015,
"source_copy_source_equal": true,
"readonly": true
},
{
"target": "provenance/lifecycle-oracle-status.json",
"sha256": "68452154CF96EC4FD245D89A11D1FC1C08CB471419A5F8D94039ECCBF2EFCF7C",
"bytes": 1272,
"source_copy_source_equal": true,
"readonly": true
},
{
"target": "provenance/typography-admission.json",
"sha256": "B06FD83F554982B407E1B28A79DFADCB61717B4F076EB3062EC314C742A2CCD8",
"bytes": 553,
"source_copy_source_equal": true,
"readonly": true
},
{
"target": "provenance/typography-predictions.json",
"sha256": "6951FF7C96C0A7A14D72781B416FC64CAB9F4AF5861F5C0EF4C327D843483243",
"bytes": 2490,
"source_copy_source_equal": true,
"readonly": true
}
],
"fresh_empty_directories": true
}
@@ -0,0 +1,22 @@
$ErrorActionPreference = 'Stop'
$manifest = Get-Content -Raw -LiteralPath (Join-Path $PSScriptRoot 'manifest.json') | ConvertFrom-Json
$payloads = @()
foreach ($entry in $manifest.files) {
$copy = Join-Path $PSScriptRoot $entry.path
$originalHash = (Get-FileHash -LiteralPath $entry.original).Hash
$copyHash = (Get-FileHash -LiteralPath $copy).Hash
if ($originalHash -ne $entry.original_sha256 -or $copyHash -ne $entry.copy_sha256 -or (Get-Item -LiteralPath $copy).Length -ne $entry.bytes -or (Get-Item -LiteralPath $entry.original).Length -ne $entry.bytes) { throw "Payload mismatch $($entry.path)" }
$payloads += [ordered]@{path=$entry.path;bytes=$entry.bytes;sha256=$copyHash;original_equal=$true}
}
$baseline = Join-Path $PSScriptRoot 'baseline-wide'
$checkpoint = Join-Path $PSScriptRoot 'checkpoints/wide-passive'
$baseNames = @(Get-ChildItem -LiteralPath $baseline -Recurse -File | ForEach-Object {$_.FullName.Substring($baseline.Length+1)} | Sort-Object)
$copyNames = @(Get-ChildItem -LiteralPath $checkpoint -Recurse -File | ForEach-Object {$_.FullName.Substring($checkpoint.Length+1)} | Sort-Object)
if (Compare-Object $baseNames $copyNames) { throw 'Checkpoint inventory mismatch' }
foreach ($relative in $baseNames) { if ((Get-FileHash -LiteralPath (Join-Path $baseline $relative)).Hash -ne (Get-FileHash -LiteralPath (Join-Path $checkpoint $relative)).Hash) { throw "Checkpoint bytes mismatch $relative" } }
$inventory = @(Get-ChildItem -LiteralPath $PSScriptRoot -Recurse -File | Where-Object {$_.FullName -ne (Join-Path $PSScriptRoot 'readback.json')} | Sort-Object FullName | ForEach-Object { [ordered]@{path=$_.FullName.Substring($PSScriptRoot.Length+1).Replace('\','/');bytes=$_.Length;sha256=(Get-FileHash -LiteralPath $_.FullName).Hash} })
$expected = @($manifest.files.path) + @('README.md','archive.ps1','verify-readback.ps1','manifest.json')
if (Compare-Object ($expected|Sort-Object) ($inventory.path|Sort-Object)) { throw 'Unexpected archive inventory' }
$result = [ordered]@{checked_utc=[DateTime]::UtcNow.ToString('o');scope='Fresh original/copy reads and exact archive inventory; no runtime execution';pass=$true;payload_count=$payloads.Count;payload_bytes=($payloads|ForEach-Object { $_.bytes }|Measure-Object -Sum).Sum;manifest_sha256=(Get-FileHash -LiteralPath (Join-Path $PSScriptRoot 'manifest.json')).Hash;payloads=$payloads;physical_same=@{pass=$true;files=$baseNames;bytes=20214};inventory_excludes='readback.json self-reference only';inventory=$inventory;final_file_count=$inventory.Count+1}
[IO.File]::WriteAllText((Join-Path $PSScriptRoot 'readback.json'),($result|ConvertTo-Json -Depth 7)+"`n",[Text.UTF8Encoding]::new($false))
[pscustomobject]$result | Select-Object pass,payload_count,payload_bytes,manifest_sha256,final_file_count | ConvertTo-Json
@@ -0,0 +1,23 @@
{
"command": [
"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\native-a57c334-camera\\oracles\\lifecycle.exe",
"same",
"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\native-a57c334-camera\\baseline-wide\\project.arcadia",
"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\native-a57c334-camera\\checkpoints\\wide-passive\\project.arcadia"
],
"started_utc": "2026-09-12T11:02:27.824786+00:00",
"completed_utc": "2026-09-12T11:02:28.993557+00:00",
"exit_code": 0,
"files": [
{
"path": "project.arcadia",
"bytes": 20128,
"sha256": "6a18ee1f246321bdf8ab0e7e8e5d4eba134ce486ed5224c4ffd61c7342c3a7d3"
},
{
"path": "rationale.arcadia",
"bytes": 86,
"sha256": "8509f8d8a136d808cf98a1bb0fe50348b8a24409f30dee4ee65b62bf5cb9e6bf"
}
]
}
@@ -0,0 +1,9 @@
# Windows saved-destination repair gate receipts
Source code: `33e30c1cd7a6c99513a0ebd02ba68fccbad8f58d` on the canvas/grapheme union. [REPORT.md](REPORT.md) is the exact original closed local report. All four serial gates passed: five focused repair tests (included within the 761 desktop all-target tests), strict all-target Clippy, and final GUI build. These counts must not be added as distinct tests.
This archive preserves exact logs, closed gate status, environment, the frozen 530-file input manifest, verification receipts, binary provenance, and the helper scripts. [archive-manifest.json](archive-manifest.json) identifies the original local sources and hashes; [archive-readback.json](archive-readback.json) records verification after copying. The original `receipt-hashes.json` predates this archive and is preserved unchanged.
No source ZIP, executable, or DLL is included. The local immutable GUI and DLL paths and hashes remain in [binary-manifest.json](binary-manifest.json); the original frozen ZIP hash is retained in [receipt-hashes.json](receipt-hashes.json). Absolute local paths in reports/status/helpers are historical evidence and are not portable published artifact links. Helpers are exact historical copies, not a standalone runnable toolchain.
Frozen input verification passed before every gate and after the build; after the parent committed the same bytes, verification additionally checked each frozen input against worktree HEAD. Parent metadata/instruction integration advanced HEAD without changing those input bytes. Native GUI interaction, packaged acceptance, and release publication were not performed by this worker and require separate evidence.
@@ -0,0 +1,41 @@
# Saved-destination repair union: Windows gates
Owner: Codex /root/windows_gates. All four authorized gates passed serially, with frozen-input verification between gates and after the final GUI build. No source edits or native launch occurred.
Source: `33e30c1cd7a6c99513a0ebd02ba68fccbad8f58d`, saved-destination repair on the canvas/grapheme union. The focused test began against these exact bytes before the parent committed them; all subsequent boundaries independently verified the same 530 files against worktree HEAD. Later HEAD at report time: `60f714853f9dc50a38ac9c01c2a612cdd135f15c`; parent owns metadata-only integration changes.
Worktree: `C:\Users\User\Documents\Git\ARCADIA-Studio\.local\canvas-union-ytr83r-20260911`. Environment: Windows `stable-x86_64-pc-windows-gnullvm`, Cargo 1.98.1, rustc 1.98.1 / LLVM 22.1.8, configured clang linker, one build job, incremental compilation disabled, shared root `target`. Full environment paths are in `repair-union-windows-20260911/environment.json`. Gates used reviewed `.local/run-gate.ps1` and `.local/toolchain/env.ps1`.
| Gate | Exact command | Started UTC | Completed UTC | Seconds | Exit |
| --- | --- | --- | --- | --- | --- |
| focused | `cargo test -p oa-desktop --bin arcadia-studio repair_save_state_tests --offline --locked -- --test-threads=1` | 2026-09-12T10:52:28.1291256Z | 2026-09-12T10:56:42.7006606Z | 254.526 | 0 |
| desktop-tests | `cargo test -p oa-desktop --all-targets --offline --locked -- --test-threads=1` | 2026-09-12T10:57:08.3907073Z | 2026-09-12T11:02:45.7510529Z | 337.350 | 0 |
| desktop-clippy | `cargo clippy -p oa-desktop --all-targets --offline --locked -- -D warnings` | 2026-09-12T11:03:37.9709380Z | 2026-09-12T11:10:13.2846460Z | 395.304 | 0 |
| studio-build | `cargo build -p oa-desktop --bin arcadia-studio --offline --locked` | 2026-09-12T11:10:41.3626219Z | 2026-09-12T11:17:06.7337634Z | 385.303 | 0 |
Focused repair tests: **5 passed, zero failures**. Desktop all-target tests: **761 passed, zero failed/ignored**. Strict Clippy and final GUI build completed without diagnostics. Build profile: unoptimized dev. Complete logs and closed status JSON are retained beside this report in `repair-union-windows-20260911/`.
Frozen inputs: **530 files / 9,727,025 bytes**. Manifest SHA256: `0f21b9a852cf44699bf29fce0a35ec460744c85f5e26f0ea4920e8568211e312`. Existing `inputs.json` and `exact-inputs.zip` were never re-frozen or overwritten. Verification receipts:
- `verify-after-build.json`: `verify-head`, 2026-09-12T11:18:13.692878+00:00, PASS.
- `verify-before-build.json`: `verify-head`, 2026-09-12T11:10:34.069554+00:00, PASS.
- `verify-before-clippy.json`: `verify-head`, 2026-09-12T11:03:25.539274+00:00, PASS.
- `verify-before-desktop-tests.json`: `verify-head`, 2026-09-12T10:57:06.978897+00:00, PASS.
- `verify-before-focused.json`: `verify`, 2026-09-12T10:52:26.973182+00:00, PASS.
No surviving Cargo/compiler processes were observed before gates. Each running Cargo tool session was consumed before the next gate; the final binary preservation also required no cargo/rustc process. Cargo/rustup/Clippy wrappers may produce multiple process entries within one invocation. An initial preflight `python` PATH lookup failed before compiler execution; using the bundled Python path resolved it. No gate retry or source fix was required.
Immutable GUI and required runtime DLL copies, preserved with source-before/copy/source-after hash agreement and matching lengths:
| Artifact | Bytes | SHA256 |
| --- | --- | --- |
| `C:\Users\User\Documents\Git\ARCADIA-Studio\.local\repair-union-windows-20260911\bin\arcadia-studio.exe` | 113049088 | `504862533CAAD919912E40C89BED4B1E43BA98138C42085480602A0A21FFF658` |
| `C:\Users\User\Documents\Git\ARCADIA-Studio\.local\repair-union-windows-20260911\bin\libunwind.dll` | 190464 | `AA282FA47BB2C4E210CEA5E470CDBDCA58568F0BE0BC73E404D86AB9CD95EF6A` |
Both copies were marked read-only. Exact source/copy paths and provenance are in `binary-manifest.json`; `preserve-build.ps1` records the guarded procedure. Preservation UTC: 2026-09-12T11:18:45.6432598Z.
Receipt hashes:
`repair-union-windows-20260911/receipt-hashes.json` records complete log/status/input/archive/helper receipt hashes. Binary hashes are separately verified in the binary manifest.
Scope: Windows Cargo execution and preservation only. No source, Git index, Gitea, STATE, WSL, UI, or launch changes by this worker. Parent owns native behavioral testing, integration, packaging acceptance, and publication. These gates alone do not establish native usability or release completion.
@@ -0,0 +1,157 @@
{
"archived_utc": "2026-09-12T11:20:13.092349+00:00",
"source_commit": "33e30c1cd7a6c99513a0ebd02ba68fccbad8f58d",
"scope": "Exact receipt copies only; no ZIP or binaries",
"files": [
{
"file": "archive-receipts.py",
"source": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\repair-union-windows-20260911\\archive-receipts.py",
"bytes": 4048,
"sha256": "7600af1a41ea5391c6fd384dc3882a79c8ad5c4a490913aae69c4a75faf0c3cd"
},
{
"file": "binary-manifest.json",
"source": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\repair-union-windows-20260911\\binary-manifest.json",
"bytes": 4173,
"sha256": "1e3e70d4692b817ea4396def3fcfb0d3f3a7ccb9c27308c267213df2a40c1d99"
},
{
"file": "desktop-clippy-status.json",
"source": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\repair-union-windows-20260911\\desktop-clippy-status.json",
"bytes": 502,
"sha256": "1e4a0571e6ad4f97d9e52efba5336c6da74fbb86d1557dfbc14552cb652deecb"
},
{
"file": "desktop-clippy.log",
"source": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\repair-union-windows-20260911\\desktop-clippy.log",
"bytes": 193,
"sha256": "c2fb36abc8b5e656f291e9d45f437b29d7f5257e596dc0b542b334943a5e56f4"
},
{
"file": "desktop-tests-status.json",
"source": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\repair-union-windows-20260911\\desktop-tests-status.json",
"bytes": 496,
"sha256": "2018b063c11937957e55da99bee43f16b4f71ad3dd55484b222488395de57acc"
},
{
"file": "desktop-tests.log",
"source": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\repair-union-windows-20260911\\desktop-tests.log",
"bytes": 87316,
"sha256": "db6d56c3e619c6faf5a2eb0636ef45abd9a28791d2f0fd0dd5abecf943f83c3d"
},
{
"file": "environment.json",
"source": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\repair-union-windows-20260911\\environment.json",
"bytes": 1121,
"sha256": "299d024b2db223e6b02c526ff0f076235962ee0d4c6f4fe039b263fd46a1d0e8"
},
{
"file": "focused-status.json",
"source": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\repair-union-windows-20260911\\focused-status.json",
"bytes": 531,
"sha256": "9a7bc6b1ffea1bb5714d4a1e612ec39a1a966b27f1a6ba195e0321e35965c838"
},
{
"file": "focused.log",
"source": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\repair-union-windows-20260911\\focused.log",
"bytes": 1037,
"sha256": "10287deb796cb0352f1a61fa923c8eeac1ec478691cdf3aabcfab93f89c4f584"
},
{
"file": "inputs.json",
"source": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\repair-union-windows-20260911\\inputs.json",
"bytes": 102101,
"sha256": "0f21b9a852cf44699bf29fce0a35ec460744c85f5e26f0ea4920e8568211e312"
},
{
"file": "preserve-build.ps1",
"source": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\repair-union-windows-20260911\\preserve-build.ps1",
"bytes": 3137,
"sha256": "ddb06cf55f2a94cc24a7eb27953c34065bee96ab855db80b685ce1d6c395c074"
},
{
"file": "receipt-hashes.json",
"source": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\repair-union-windows-20260911\\receipt-hashes.json",
"bytes": 3116,
"sha256": "e0d2edd80ea3892097f4fd8188592c127bb1a9113feaca918b2891a841c649c1"
},
{
"file": "studio-build-status.json",
"source": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\repair-union-windows-20260911\\studio-build-status.json",
"bytes": 474,
"sha256": "d95421f3dec944a3fe23c6f317af5309723d391451baf0ae89ac52854a0071f4"
},
{
"file": "studio-build.log",
"source": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\repair-union-windows-20260911\\studio-build.log",
"bytes": 193,
"sha256": "e76b6599aef91833b4a0596663ae0fa1cb080032d5f1f667c8852a161ad0c3a1"
},
{
"file": "verify-after-build.json",
"source": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\repair-union-windows-20260911\\verify-after-build.json",
"bytes": 199,
"sha256": "b4795fd3b9bd267685146fbb6c453d5d989f097f789358ecf0dc2a709950e5f5"
},
{
"file": "verify-before-build.json",
"source": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\repair-union-windows-20260911\\verify-before-build.json",
"bytes": 201,
"sha256": "a3b199e548f484161a8667d6dc2f03b86814f8ba7388352129cb89b705e1397a"
},
{
"file": "verify-before-clippy.json",
"source": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\repair-union-windows-20260911\\verify-before-clippy.json",
"bytes": 201,
"sha256": "6c8e04ccc63313aea5cbb79b36d305a528a19c3658fba9e3af72c99595fb13e8"
},
{
"file": "verify-before-desktop-tests.json",
"source": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\repair-union-windows-20260911\\verify-before-desktop-tests.json",
"bytes": 201,
"sha256": "07211c34efbe59e54585ed538e8b09dc97a1bb5b621b61ba2b39e9b939101345"
},
{
"file": "verify-before-focused.json",
"source": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\repair-union-windows-20260911\\verify-before-focused.json",
"bytes": 196,
"sha256": "eff77e075ffe285f2b4240c58a513b0d339d0156ef1efa1531ea60fa5f086d7b"
},
{
"file": "write-report.py",
"source": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\repair-union-windows-20260911\\write-report.py",
"bytes": 5017,
"sha256": "143950b5005fcb90d842dc8e34f6238cc9d6beadb8470f912dc19578fc88bcd2"
},
{
"file": "REPORT.md",
"source": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\repair-union-windows-gates-report.md",
"bytes": 4652,
"sha256": "77da4e9078a5a8a4d3d01267ae2df4d44f783f51c33e49baa80754a6996de5d5"
},
{
"file": "run-gate.ps1",
"source": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\run-gate.ps1",
"bytes": 878,
"sha256": "4a583f3f2793d6043ee3bf7b0efa8441f707688cb32cc85d0a9de23f44ab66ef"
},
{
"file": "env.ps1",
"source": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\env.ps1",
"bytes": 572,
"sha256": "be2226f08764bb6961b4be8513ce55bab076890cddd2fef0f54a4031f94a82d4"
},
{
"file": "repair-union-inputs.py",
"source": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\repair-union-inputs.py",
"bytes": 3153,
"sha256": "553e39fc516306e86b173d93fee9ebfd0fdd01c9b58bbf7be506818795bd62fb"
},
{
"file": "README.md",
"source": "Authored archive navigation and scope",
"bytes": 1700,
"sha256": "f032de5a7d2bfdb01dd82137a7b9a1e26ff19f55db457be8cb05b87d8b84a4bd"
}
]
}
@@ -0,0 +1,6 @@
{
"verified_utc": "2026-09-12T11:20:13.106308+00:00",
"files": 25,
"pass": true,
"archive_manifest_sha256": "0f61fb857fe2c3018dc9dd852dd573539fac0e2d35af9cdf36e68eb7fbdd4968"
}
@@ -0,0 +1,44 @@
from pathlib import Path
import datetime
import hashlib
import json
import shutil
source = Path(__file__).resolve().parent
root = source.parent.parent
destination = root / '.local/canvas-union-ytr83r-20260911/harness/experiments/repair-union-windows-33e30c1-20260912'
assert not destination.exists(), 'Archive destination already exists'
destination.mkdir(parents=True)
files = [(p, p.name) for p in sorted(source.iterdir()) if p.is_file() and p.suffix in ('.json', '.log', '.ps1', '.py')]
files.extend([
(root / '.local/repair-union-windows-gates-report.md', 'REPORT.md'),
(root / '.local/run-gate.ps1', 'run-gate.ps1'),
(root / '.local/toolchain/env.ps1', 'env.ps1'),
(root / '.local/repair-union-inputs.py', 'repair-union-inputs.py'),
])
entries = []
for path, name in files:
before = path.read_bytes()
shutil.copyfile(path, destination / name)
copied = (destination / name).read_bytes()
assert before == copied == path.read_bytes(), name
entries.append({'file': name, 'source': str(path), 'bytes': len(copied), 'sha256': hashlib.sha256(copied).hexdigest()})
readme = '''# Windows saved-destination repair gate receipts
Source code: `33e30c1cd7a6c99513a0ebd02ba68fccbad8f58d` on the canvas/grapheme union. [REPORT.md](REPORT.md) is the exact original closed local report. All four serial gates passed: five focused repair tests (included within the 761 desktop all-target tests), strict all-target Clippy, and final GUI build. These counts must not be added as distinct tests.
This archive preserves exact logs, closed gate status, environment, the frozen 530-file input manifest, verification receipts, binary provenance, and the helper scripts. [archive-manifest.json](archive-manifest.json) identifies the original local sources and hashes; [archive-readback.json](archive-readback.json) records verification after copying. The original `receipt-hashes.json` predates this archive and is preserved unchanged.
No source ZIP, executable, or DLL is included. The local immutable GUI and DLL paths and hashes remain in [binary-manifest.json](binary-manifest.json); the original frozen ZIP hash is retained in [receipt-hashes.json](receipt-hashes.json). Absolute local paths in reports/status/helpers are historical evidence and are not portable published artifact links. Helpers are exact historical copies, not a standalone runnable toolchain.
Frozen input verification passed before every gate and after the build; after the parent committed the same bytes, verification additionally checked each frozen input against worktree HEAD. Parent metadata/instruction integration advanced HEAD without changing those input bytes. Native GUI interaction, packaged acceptance, and release publication were not performed by this worker and require separate evidence.
'''
(destination / 'README.md').write_text(readme, encoding='utf-8')
entries.append({'file': 'README.md', 'source': 'Authored archive navigation and scope', 'bytes': (destination / 'README.md').stat().st_size, 'sha256': hashlib.sha256((destination / 'README.md').read_bytes()).hexdigest()})
manifest = {'archived_utc': datetime.datetime.now(datetime.timezone.utc).isoformat(), 'source_commit': '33e30c1cd7a6c99513a0ebd02ba68fccbad8f58d', 'scope': 'Exact receipt copies only; no ZIP or binaries', 'files': entries}
(destination / 'archive-manifest.json').write_text(json.dumps(manifest, indent=2) + '\n', encoding='utf-8')
for item in entries:
data = (destination / item['file']).read_bytes()
assert len(data) == item['bytes'] and hashlib.sha256(data).hexdigest() == item['sha256'], item['file']
(destination / 'archive-readback.json').write_text(json.dumps({'verified_utc': datetime.datetime.now(datetime.timezone.utc).isoformat(), 'files': len(entries), 'pass': True, 'archive_manifest_sha256': hashlib.sha256((destination / 'archive-manifest.json').read_bytes()).hexdigest()}, indent=2) + '\n', encoding='utf-8')
print(json.dumps({'archive': str(destination), 'copied_files': len(files), 'verified_files': len(entries), 'pass': True}))
@@ -0,0 +1,109 @@
{
"gate_statuses": {
"desktop-tests": {
"seconds": 337.3500516,
"log": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\repair-union-windows-20260911\\desktop-tests.log",
"command": [
"cargo",
"test",
"-p",
"oa-desktop",
"--all-targets",
"--offline",
"--locked",
"--",
"--test-threads=1"
],
"exit": 0,
"completed_utc": "2026-09-12T11:02:45.7510529Z",
"started_utc": "2026-09-12T10:57:08.3907073Z",
"name": "repair-union-windows-20260911/desktop-tests"
},
"studio-build": {
"started_utc": "2026-09-12T11:10:41.3626219Z",
"exit": 0,
"log": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\repair-union-windows-20260911\\studio-build.log",
"completed_utc": "2026-09-12T11:17:06.7337634Z",
"command": [
"cargo",
"build",
"-p",
"oa-desktop",
"--bin",
"arcadia-studio",
"--offline",
"--locked"
],
"seconds": 385.3034284,
"name": "repair-union-windows-20260911/studio-build"
},
"focused": {
"started_utc": "2026-09-12T10:52:28.1291256Z",
"name": "repair-union-windows-20260911/focused",
"exit": 0,
"log": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\repair-union-windows-20260911\\focused.log",
"completed_utc": "2026-09-12T10:56:42.7006606Z",
"command": [
"cargo",
"test",
"-p",
"oa-desktop",
"--bin",
"arcadia-studio",
"repair_save_state_tests",
"--offline",
"--locked",
"--",
"--test-threads=1"
],
"seconds": 254.5261259
},
"desktop-clippy": {
"log": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\repair-union-windows-20260911\\desktop-clippy.log",
"exit": 0,
"completed_utc": "2026-09-12T11:10:13.284646Z",
"command": [
"cargo",
"clippy",
"-p",
"oa-desktop",
"--all-targets",
"--offline",
"--locked",
"--",
"-D",
"warnings"
],
"seconds": 395.304232,
"name": "repair-union-windows-20260911/desktop-clippy",
"started_utc": "2026-09-12T11:03:37.970938Z"
}
},
"preserved_utc": "2026-09-12T11:18:45.6432598Z",
"binaries": [
{
"copy_sha256": "504862533CAAD919912E40C89BED4B1E43BA98138C42085480602A0A21FFF658",
"source_after_sha256": "504862533CAAD919912E40C89BED4B1E43BA98138C42085480602A0A21FFF658",
"copy": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\repair-union-windows-20260911\\bin\\arcadia-studio.exe",
"bytes": 113049088,
"read_only": true,
"source": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\target\\debug\\arcadia-studio.exe",
"source_sha256": "504862533CAAD919912E40C89BED4B1E43BA98138C42085480602A0A21FFF658"
},
{
"copy_sha256": "AA282FA47BB2C4E210CEA5E470CDBDCA58568F0BE0BC73E404D86AB9CD95EF6A",
"source_after_sha256": "AA282FA47BB2C4E210CEA5E470CDBDCA58568F0BE0BC73E404D86AB9CD95EF6A",
"copy": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\repair-union-windows-20260911\\bin\\libunwind.dll",
"bytes": 190464,
"read_only": true,
"source": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\llvm-mingw-20260908-ucrt-x86_64\\bin\\libunwind.dll",
"source_sha256": "AA282FA47BB2C4E210CEA5E470CDBDCA58568F0BE0BC73E404D86AB9CD95EF6A"
}
],
"verified_input_bytes": 9727025,
"scope": "Windows gates and immutable binary copies only; no native launch or package acceptance",
"source_identity": "33e30c1cd7a6c99513a0ebd02ba68fccbad8f58d; all 530 frozen inputs independently verified against worktree HEAD",
"verified_inputs": 530,
"input_manifest_sha256": "0f21b9a852cf44699bf29fce0a35ec460744c85f5e26f0ea4920e8568211e312",
"worktree": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\canvas-union-ytr83r-20260911"
}
@@ -0,0 +1,20 @@
{
"log": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\repair-union-windows-20260911\\desktop-clippy.log",
"exit": 0,
"completed_utc": "2026-09-12T11:10:13.2846460Z",
"command": [
"cargo",
"clippy",
"-p",
"oa-desktop",
"--all-targets",
"--offline",
"--locked",
"--",
"-D",
"warnings"
],
"seconds": 395.304232,
"name": "repair-union-windows-20260911/desktop-clippy",
"started_utc": "2026-09-12T11:03:37.9709380Z"
}
@@ -0,0 +1,2 @@
Checking oa-desktop v0.2.0 (C:\Users\User\Documents\Git\ARCADIA-Studio\.local\canvas-union-ytr83r-20260911\crates\oa-desktop)
Finished `dev` profile [unoptimized] target(s) in 6m 31s
@@ -0,0 +1,19 @@
{
"seconds": 337.3500516,
"log": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\repair-union-windows-20260911\\desktop-tests.log",
"command": [
"cargo",
"test",
"-p",
"oa-desktop",
"--all-targets",
"--offline",
"--locked",
"--",
"--test-threads=1"
],
"exit": 0,
"completed_utc": "2026-09-12T11:02:45.7510529Z",
"started_utc": "2026-09-12T10:57:08.3907073Z",
"name": "repair-union-windows-20260911/desktop-tests"
}
@@ -0,0 +1,768 @@
Finished `test` profile [unoptimized] target(s) in 2.86s
Running unittests src\main.rs (C:\Users\User\Documents\Git\ARCADIA-Studio\target\debug\deps\arcadia_studio-27db9628b266bf39.exe)
running 761 tests
test app::architecture_authoring::tests::architecture_allocated_work_is_root_owned_and_one_exact_history_change ... ok
test app::architecture_authoring::tests::architecture_blank_names_and_escape_never_accept_placeholder_or_rename ... ok
test app::architecture_authoring::tests::architecture_captured_escape_does_not_cancel_other_controls_or_placement ... ok
test app::architecture_authoring::tests::architecture_f2_routes_selected_node_to_inline_rename_and_exact_undo ... ok
test app::architecture_authoring::tests::architecture_first_focused_input_escape_cancels_create_and_rename ... ok
test app::architecture_authoring::tests::architecture_invalid_click_cannot_poison_inline_or_checkpoint_geometry ... ok
test app::architecture_authoring::tests::architecture_stale_submit_keeps_create_and_rename_visible_and_exact ... ok
test app::architecture_authoring_tests::architecture_cancelled_gesture_cannot_commit_a_later_named_draft ... ok
test app::architecture_authoring_tests::architecture_canvas_left_click_uses_world_coordinate_once_at_zoom_and_pan ... ok
test app::architecture_authoring_tests::architecture_checkpoint_retains_exact_name_point_and_fresh_binding_without_commands ... ok
test app::architecture_authoring_tests::architecture_context_choices_are_small_and_system_is_singleton ... ok
test app::architecture_authoring_tests::architecture_contextual_allocation_creates_work_relation_and_node_in_one_undo ... ok
test app::architecture_authoring_tests::architecture_creation_names_before_commit_preserves_camera_and_undoes_once ... ok
test app::architecture_authoring_tests::architecture_existing_inventory_is_contextual_and_placement_never_implies_allocation ... ok
test app::architecture_authoring_tests::architecture_f2_rename_preserves_identity_placement_and_atomic_history ... ok
test app::architecture_authoring_tests::architecture_name_survives_rejected_click_resize_navigation_and_escape_is_explicit ... ok
test app::architecture_authoring_tests::architecture_rejected_submission_keeps_inline_name_visible_and_invalid_click_is_ignored ... ok
test app::architecture_authoring_tests::basic_transition_explicit_overview_focus_wins_over_an_already_populated_architecture ... ok
test app::behavior_lifecycle_tests::incomplete_behavior_form_is_dirty_close_save_retains_it_and_cancel_allows_switching ... ok
test app::behavior_lifecycle_tests::passive_behavior_canvas_events_do_not_apply_property_drafts ... ok
test app::behavior_lifecycle_tests::pending_behavior_blocks_navigation_property_edits_and_model_history ... ok
test app::behavior_lifecycle_tests::pending_behavior_blocks_source_creation_and_source_history_replay ... ok
test app::behavior_lifecycle_tests::save_prepares_behavior_before_opening_destination_and_cancel_keeps_one_undo ... ok
test app::behavior_lifecycle_tests::source_writeback_failure_keeps_typed_behavior_form_for_repair_and_one_undo ... ok
test app::checkpoints::tests::checkpoint_completion_releases_the_writer_while_a_context_menu_is_open ... ok
test app::checkpoints::tests::checkpoint_inline_create_and_rename_restore_focus_without_changing_drafts_or_history ... ok
test app::checkpoints::tests::checkpoint_noninline_contexts_keep_other_focus_and_still_lint ... ok
test app::checkpoints::tests::discard_and_close_waits_for_the_late_checkpoint_then_retires_it ... ok
test app::checkpoints::tests::home_resume_keeps_state_view_while_explicit_architecture_remains_reachable ... ok
test app::checkpoints::tests::home_resume_retains_invalid_source_and_property_drafts ... ok
test app::checkpoints::tests::home_resume_returns_to_each_actual_workspace_without_model_edits ... ok
test app::checkpoints::tests::malformed_checkpoint_does_not_replace_the_current_model ... ok
test app::checkpoints::tests::recent_and_recovery_navigation_respect_unsaved_decision ... ok
test app::checkpoints::tests::restored_copy_keeps_raw_property_and_requires_save_without_local_or_hosted_binding ... ok
test app::checkpoints::tests::saving_an_older_snapshot_keeps_recovery_for_newer_unsaved_work ... ok
test app::checkpoints::tests::stale_write_completion_cannot_recover_a_discarded_document ... ok
test app::checkpoints::tests::walkthrough_request_keeps_unfinished_source_behind_the_normal_pending_guard ... ok
test app::data_paging_lifecycle_tests::paging_preserves_same_context_and_resets_on_layer_or_document_replacement ... ok
test app::diagram_selection_tests::changing_visible_view_follows_its_clean_inspector_without_a_model_edit ... ok
test app::diagram_selection_tests::diagram_switch_preserves_an_independent_semantic_inspection ... ok
test app::diagram_selection_tests::diagram_uuid_edit_follows_the_same_view_or_a_different_picker_target ... ok
test app::diagram_selection_tests::invalid_view_draft_blocks_the_switch_and_retains_raw_input ... ok
test app::diagram_selection_tests::stale_diagram_choice_never_applies_an_unrelated_valid_draft ... ok
test app::diagram_selection_tests::valid_pending_view_edit_applies_to_old_view_then_inspects_the_new_view ... ok
test app::direct_scenario_tests::direct_scenario_camera_details_and_real_resize_invalidate_only_pointer_context ... ok
test app::direct_scenario_tests::direct_scenario_creation_and_reorder_preserve_selection_and_each_undo_once ... ok
test app::direct_scenario_tests::direct_scenario_rejects_every_stale_context_and_preserves_property_drafts ... ok
test app::direct_scenario_tests::direct_scenario_source_failure_and_navigation_keep_form_until_success ... ok
test app::hosted::tests::hosted_actual_app_tasks_publish_edit_conflict_correct_credentials_reload_and_open ... ok
test app::hosted::tests::hosted_catalog_invalidation_follows_service_writes_and_observed_revision_changes ... ok
test app::hosted::tests::hosted_catalog_search_credentials_and_failed_refresh_never_mix_result_scopes ... ok
test app::hosted::tests::hosted_changed_bound_head_does_not_invalidate_another_services_empty_filter ... ok
test app::hosted::tests::hosted_conflict_fetches_review_without_adoption_and_reload_is_undoable ... ok
test app::hosted::tests::hosted_detached_drafts_and_recovery_remain_available_after_rejected_publish ... ok
test app::hosted::tests::hosted_failed_cross_service_publication_checks_and_reloads_its_own_resource ... ok
test app::hosted::tests::hosted_failed_or_cancelled_local_open_keeps_the_existing_document_and_destination ... ok
test app::hosted::tests::hosted_invalid_and_detached_source_drafts_never_start_network_writes ... ok
test app::hosted::tests::hosted_invalid_local_open_repair_saves_locally_and_never_replaces_old_resource ... ok
test app::hosted::tests::hosted_modal_blocks_underlying_edits_and_credentials_are_redacted ... ok
test app::hosted::tests::hosted_new_revision_invalidates_filtered_catalog_even_without_a_displayed_row ... ok
test app::hosted::tests::hosted_only_successful_source_save_as_changes_the_active_destination ... ok
test app::hosted::tests::hosted_open_waits_for_unsaved_guard_and_failed_open_preserves_current_document ... ok
test app::hosted::tests::hosted_publish_acknowledges_only_the_sent_snapshot_and_retains_undo ... ok
test app::hosted::tests::hosted_stale_completions_do_not_clear_current_busy_or_adopt_another_document ... ok
test app::hosted::tests::hosted_unknown_save_is_acknowledged_by_exact_readback_without_retry ... ok
test app::lint_tests::committed_check_cache_follows_edit_and_undo_while_drafts_stay_separate ... ok
test app::lint_tests::lint_coalesces_work_and_rejects_obsolete_results ... ok
test app::lint_tests::prior_document_lint_cannot_enter_reopened_model_or_block_next_checks ... ok
test app::port_view_tests::catalog_creation_follows_the_new_port_and_keeps_group_browsing_explicit ... ok
test app::port_view_tests::filtered_active_view_cannot_hide_a_created_port_when_eligible_owner_view_is_folded ... ok
test app::process_canvas::direct_process_dirty_source_blocks_canvas_creation_without_losing_text ... ok
test app::process_canvas::tests::direct_process_app_open_source_and_back_preserve_local_reference_identity ... ok
test app::process_canvas::tests::direct_process_app_same_owner_selection_preserves_tool_but_owner_change_resets_it ... ok
test app::process_canvas::tests::direct_process_app_save_details_resize_and_passive_geometry_keep_drafts_and_camera ... ok
test app::process_canvas::tests::direct_process_app_source_failure_retains_form_then_commits_once_and_selects_occurrence ... ok
test app::process_canvas::tests::direct_process_app_stale_context_dirty_source_and_properties_never_mutate ... ok
test app::process_canvas::tests::direct_process_append_empty_first_second_exchange_has_exact_source_history ... ok
test app::process_canvas::tests::process_focus_retains_rejected_draft_and_guards_selection_until_panels_restore ... ok
test app::reference_authoring::tests::chooser_rejects_old_results_after_context_recovery_reload_or_modal_and_keeps_history_text_out ... ok
test app::reference_authoring::tests::inspector_reference_browse_is_read_only_then_one_scoped_value_applies_with_exact_undo_redo ... ok
test app::reference_authoring::tests::inspector_reference_retains_invalid_missing_and_incompatible_current_until_explicit_clear ... ok
test app::reference_authoring::tests::mounted::mounted_delayed_return_cannot_focus_under_review_and_fresh_modal_tab_owns_its_form ... ok
test app::reference_authoring::tests::mounted::mounted_form_tab_enters_in_both_directions_and_cycles_boundaries_without_losing_focus ... ok
test app::reference_authoring::tests::mounted::mounted_fresh_tab_reveals_offscreen_reference_and_return_reveals_it_again ... ok
test app::reference_authoring::tests::mounted::mounted_reference_choice_stages_literal_identity_and_delayed_focus_cannot_hit_replacement_field ... ok
test app::reference_authoring::tests::mounted::mounted_reference_trigger_tabs_to_root_popup_search_escape_and_exact_adjacent_fields ... ok
test app::reference_authoring::tests::mounted::mounted_reverse_review_required_rationale_remains_editable_beside_candidate_reference_form ... ok
test app::reference_authoring::tests::mounted::mounted_review_pointer_open_and_outside_dismissal_keep_background_input_inactive ... ok
test app::reference_authoring::tests::mounted::mounted_scrolled_reference_anchor_uses_window_geometry_for_pointer_and_keyboard ... ok
test app::reference_authoring::tests::reference_array_row_reorder_and_constructor_switch_invalidate_exact_old_field ... ok
test app::reference_authoring::tests::review_reference_cannot_reopen_or_write_a_banked_row_after_another_row_takes_focus ... ok
test app::reference_authoring::tests::review_reference_facets_groups_and_attachment_hosts_browse_without_replanning_and_reject_old_facet ... ok
test app::repair_save_state_tests::recovering_applied_repair_rebinds_rolled_back_disk_bytes_without_changing_model ... ok
test app::repair_save_state_tests::recovery_missing_entry_or_failed_reload_preserves_current_destination_save_authority ... ok
test app::repair_save_state_tests::repair_history_compares_to_new_disk_baseline_and_then_successful_save ... ok
test app::repair_save_state_tests::repair_to_previous_saved_bytes_requires_save_at_new_destination_and_guards_close ... ok
test app::repair_save_state_tests::valid_equal_content_at_distinct_destinations_stays_clean ... ok
test app::review_navigation_tests::rejected_semantic_source_writeback_retains_review_camera_and_original_navigation ... ok
test app::review_navigation_tests::review_already_showing_the_target_keeps_its_camera_and_query ... ok
test app::review_navigation_tests::semantic_name_take_selects_the_counterpart_view_in_both_directions_with_one_exact_history_entry ... ok
test app::review_navigation_tests::semantic_review_without_a_destination_view_clears_the_old_layer_canvas_without_creating_a_view ... ok
test app::save_as_tests::save_as_late_receipt_preserves_newer_raw_source_draft_and_destination ... ok
test app::save_as_tests::save_as_preflight_rejects_historical_collision_before_starting_io ... ok
test app::save_as_tests::save_as_receipt_then_one_undo_restores_meaning_and_saving_preserves_redo ... ok
test app::source_project_tests::closed_detached_file_keeps_first_save_conflict_then_can_be_reloaded_fresh ... ok
test app::source_project_tests::inactive_invalid_draft_blocks_graphical_changes_and_diagnostic_switches_files ... ok
test app::source_project_tests::json_export_and_rejected_save_as_preserve_source_location_history_and_bytes ... ok
test app::source_project_tests::missing_include_open_keeps_old_model_and_can_be_repaired_and_saved ... ok
test app::source_project_tests::recovery_after_first_save_failure_retains_target_then_retries_without_reentering_path ... ok
test app::source_project_tests::recovery_of_previous_save_as_target_does_not_redirect_current_project ... ok
test app::source_project_tests::recovery_open_finds_first_save_journal_without_an_entry_file ... ok
test app::source_project_tests::recovery_target_survives_edit_lint_apply_and_rejected_recovery_until_success ... ok
test app::source_project_tests::source3_native_open_preserves_report_comments_nesting_and_save_reopen ... ok
test app::source_project_tests::two_file_apply_graphical_edit_exact_undo_save_as_and_reopen ... ok
test app::state_diagram_tests::all_context_dimensions_reject_stale_selection_camera_and_model_messages ... ok
test app::state_diagram_tests::create_view_places_only_its_machine_and_restores_exact_source_in_one_undo ... ok
test app::state_diagram_tests::direct_create_connect_select_and_move_keep_semantic_identity_and_atomic_history ... ok
test app::state_diagram_tests::fallback_owner_first_selection_keeps_the_captured_context_for_its_first_move ... ok
test app::state_diagram_tests::pending_drafts_block_every_direct_mutation_and_passive_camera_preserves_inputs ... ok
test app::state_diagram_tests::real_view_tool_and_history_changes_invalidate_old_release_events ... ok
test app::state_diagram_tests::rejected_creation_keeps_source_and_selection_then_valid_owner_can_retry ... ok
test app::state_diagram_tests::same_size_viewport_after_revision_or_tool_epoch_does_not_refit_the_camera ... ok
test app::state_diagram_tests::shared_semantic_states_keep_architecture_and_behavior_placements_independent ... ok
test app::state_diagram_tests::state_diagram_routes_constructor_and_source_open_to_the_existing_workspace_without_edits ... ok
test app::state_diagram_tests::state_diagram_routes_picker_and_reveal_but_explicit_architecture_does_not_bounce ... ok
test app::state_diagram_tests::state_diagram_routes_preserve_selected_raw_properties_and_pending_behavior_guards ... ok
test app::state_diagram_tests::state_navigation_catalog_selection_across_layers_resets_camera_and_tool ... ok
test app::state_diagram_tests::state_navigation_catalog_selection_of_another_machine_resets_camera_and_tool ... ok
test app::state_diagram_tests::state_navigation_layer_change_resets_the_new_machine_at_the_same_viewport_size ... ok
test app::state_diagram_tests::state_navigation_return_to_the_same_view_preserves_camera_tool_and_fit_mode ... ok
test app::state_diagram_tests::state_navigation_root_event_and_same_layer_keep_the_current_camera_and_tool ... ok
test app::transition_context_tests::explicit_behavior_internal_and_process_roots_keep_their_workspace_without_creating_a_view ... ok
test app::transition_context_tests::explicit_destination_is_honored_and_ordinary_work_transition_still_places_in_architecture ... ok
test app::transition_context_tests::machine_and_typed_action_transitions_resolve_the_owner_and_reusing_that_context_retains_camera ... ok
test app::transition_context_tests::rejected_source_writeback_keeps_review_and_navigation_and_invalid_draft_still_blocks_start ... ok
test app::transition_context_tests::scenario_transition_focuses_requested_counterpart_and_preserves_unrelated_views_in_both_directions ... ok
test app::view_copy_tests::copying_architecture_keeps_architecture_even_with_a_retained_state_view ... ok
test app::view_copy_tests::copying_the_current_state_view_uses_its_own_identity_and_is_one_source_undo ... ok
test app::view_copy_tests::duplicate_rejection_preserves_an_incomplete_source_buffer ... ok
test app::view_copy_tests::duplicate_rejection_preserves_invalid_property_and_pending_behavior_drafts ... ok
test app::view_copy_tests::stale_copy_does_not_apply_an_unrelated_valid_property_draft ... ok
test behavior::canvas_workspace::tests::relative_camera_zoom_keeps_the_cursor_world_point_and_rejects_nonfinite_inputs ... ok
test behavior::canvas_workspace::tests::viewport_ordered_batch_uses_each_event_position_and_cancels_before_camera_motion ... ok
test behavior::contextual_source_tests::contextual_source_app_checkpoint_restores_inner_raw_draft_without_model_adoption ... ok
test behavior::contextual_source_tests::contextual_source_app_empty_actions_and_child_open_refuse_other_raw_editors ... ok
test behavior::contextual_source_tests::contextual_source_app_modal_escape_then_child_back_then_parent_cancel_preserve_accepted_source ... ok
test behavior::contextual_source_tests::contextual_source_back_remains_available_after_owner_deletion_and_with_dirty_editors ... ok
test behavior::contextual_source_tests::contextual_source_back_retains_parent_and_rejects_late_child_event ... ok
test behavior::contextual_source_tests::contextual_source_default_consumer_name_has_stable_alias_and_correlated_selection ... ok
test behavior::contextual_source_tests::contextual_source_deleted_owner_view_retains_draft_instead_of_panicking_or_using_fallback ... ok
test behavior::contextual_source_tests::contextual_source_empty_history_reports_no_change_and_success_requires_a_real_history_step ... ok
test behavior::contextual_source_tests::contextual_source_empty_palette_lifeline_cannot_open_a_previous_owner_or_layer ... ok
test behavior::contextual_source_tests::contextual_source_existing_choice_prunes_staged_dependency ... ok
test behavior::contextual_source_tests::contextual_source_failed_source_budget_preserves_both_drafts_and_accepted_bytes ... ok
test behavior::contextual_source_tests::contextual_source_incomplete_recovered_kind_reports_error_without_panicking ... ok
test behavior::contextual_source_tests::contextual_source_inserts_work_on_the_exact_guarded_link_and_refuses_exchange_identity_conflict ... ok
test behavior::contextual_source_tests::contextual_source_lifelines_stage_exact_separate_records_and_one_history_entry ... ok
test behavior::contextual_source_tests::contextual_source_machine_before_any_owner_creates_optional_view_atomically ... ok
test behavior::contextual_source_tests::contextual_source_mounted_small_editor_keeps_back_and_use_outside_field_scroll ... ok
test behavior::contextual_source_tests::contextual_source_nested_semantic_parent_is_explicit_and_revalidated ... ok
test behavior::contextual_source_tests::contextual_source_new_callee_lifeline_preserves_caller_bindings_as_an_explicit_warning ... ok
test behavior::contextual_source_tests::contextual_source_original_document_remains_bound_after_back_or_choosing_existing ... ok
test behavior::contextual_source_tests::contextual_source_owner_first_can_return_to_an_unnamed_machine_without_losing_source ... ok
test behavior::contextual_source_tests::contextual_source_recovery_keeps_inner_raw_fields_and_refuses_deleted_or_changed_owner ... ok
test behavior::contextual_source_tests::contextual_source_second_system_and_role_machine_owner_refuse_without_fallback ... ok
test behavior::contextual_source_tests::contextual_source_work_uses_reserved_contribution_and_link_ids_and_one_undo ... ok
test behavior::creation::app_tests::app_choosing_another_behavior_or_layer_cannot_commit_a_creation_draft ... ok
test behavior::creation::app_tests::app_creation_opens_the_actual_new_owner_instead_of_first_or_previously_active_behavior ... ok
test behavior::creation::app_tests::app_first_captured_escape_dismisses_file_or_pending_overlay_before_creation ... ok
test behavior::creation::app_tests::app_lesson_request_cancel_retains_creation_then_escape_discards_only_the_draft ... ok
test behavior::creation::app_tests::app_machine_behavior_submit_opens_its_opted_in_view_as_one_undoable_transaction ... ok
test behavior::creation::app_tests::app_new_never_auto_applies_valid_or_invalid_property_and_source_drafts ... ok
test behavior::creation::app_tests::app_recovered_rootless_sa_creation_retains_layer_ids_and_other_raw_drafts ... ok
test behavior::creation::app_tests::app_stale_layer_open_never_starts_or_replaces_a_draft ... ok
test behavior::creation::tests::all_four_viewpoints_are_explicit_and_survive_source_history_reopen ... ok
test behavior::creation::tests::cancel_and_illegal_family_layer_switches_never_create_model_objects ... ok
test behavior::creation::tests::corrupted_recovery_and_reserved_identity_collision_refuse_without_repairing_raw_values ... ok
test behavior::creation::tests::creation_selection_rejects_changed_scenario_body_and_post_creation_operations ... ok
test behavior::creation::tests::machine_requires_valid_owner_and_first_view_adds_no_region_or_state ... ok
test behavior::creation::tests::mounted_creation_keeps_actions_visible_and_renders_only_six_owner_candidates ... ok
test behavior::creation::tests::oa_process_and_sa_chain_keep_exact_names_root_ownership_and_one_history_entry ... ok
test behavior::creation::tests::optional_context_collapses_without_losing_authored_reference_or_raw_search ... ok
test behavior::creation::tests::owner_search_is_name_ordered_filtered_and_page_sized_not_a_catalog ... ok
test behavior::creation::tests::post_commit_selection_is_correlated_with_exact_created_behavior_and_view ... ok
test behavior::creation::tests::recovery_preserves_exact_raw_inputs_reserved_ids_and_revalidates_stale_owner ... ok
test behavior::creation::tests::rejected_source_transaction_keeps_draft_and_every_accepted_source_byte ... ok
test behavior::creation::tests::repeated_owner_names_remain_distinguishable_by_searchable_parent_context_and_alias ... ok
test behavior::direct_canvas_tests::direct_alt_execution_stops_each_operand_at_its_reply_and_marks_open_operand ... ok
test behavior::direct_canvas_tests::direct_bounds_change_during_held_drag_never_commits_old_slot ... ok
test behavior::direct_canvas_tests::direct_clicked_occurrence_capture_cancels_on_view_and_context_changes ... ok
test behavior::direct_canvas_tests::direct_context_escape_unfocus_and_pending_form_cancel_gestures ... ok
test behavior::direct_canvas_tests::direct_drag_and_click_click_use_ordered_sources_and_publish_once ... ok
test behavior::direct_canvas_tests::direct_execution_span_ends_at_its_correlated_reply_and_marks_an_open_call ... ok
test behavior::direct_canvas_tests::direct_panned_canvas_maps_ordered_pointer_events_to_the_visible_slot ... ok
test behavior::direct_canvas_tests::direct_scroll_resize_and_bounds_changes_cancel_captured_slots ... ok
test behavior::direct_canvas_tests::direct_selected_handle_reorders_and_hits_keep_semantic_identity ... ok
test behavior::direct_canvas_tests::reused_exchange_messages_display_their_distinct_occurrence_names ... ok
test behavior::scenario::data_contract_tests::large_payload_has_one_editor_with_reachable_field_and_authored_pages ... ok
test behavior::scenario::data_contract_tests::recursive_browsing_up_and_root_keep_values_and_report_the_depth_limit ... ok
test behavior::scenario::data_contract_tests::recursive_value_focus_exposes_authored_leaf_and_phase_changes_retain_surviving_keys ... ok
test behavior::scenario::data_contract_tests::reply_call_picker_previews_the_same_value_reset_as_selecting_another_exchange ... ok
test behavior::scenario::data_contract_tests::scenario_form_commits_two_reused_record_values_and_correlated_reply_atomically ... ok
test behavior::scenario::direct_tests::direct_busy_save_keeps_details_current_and_camera_for_the_next_pointer_gesture ... ok
test behavior::scenario::direct_tests::direct_clicked_occurrence_rejects_stale_slots_and_retains_recoverable_drafts ... ok
test behavior::scenario::direct_tests::direct_clicked_occurrences_use_root_and_operand_slots_with_exact_source_history ... ok
test behavior::scenario::direct_tests::direct_exchange_compatibility_browsing_preserves_final_slot_validation ... ok
test behavior::scenario::direct_tests::direct_exchange_picker_is_bounded_and_browsing_keeps_pending_values ... ok
test behavior::scenario::direct_tests::direct_five_hundred_exchange_choice_render_probe ... ok
test behavior::scenario::direct_tests::direct_form_keeps_the_same_canvas_in_the_widget_tree ... ok
test behavior::scenario::direct_tests::direct_middle_pair_insertion_is_one_exact_source_and_model_undo ... ok
test behavior::scenario::direct_tests::direct_operand_pair_keeps_parent_sequence_and_cannot_reorder_across_operands ... ok
test behavior::scenario::direct_tests::direct_reply_choices_cache_keeps_typing_fast_and_revalidates_changed_contexts ... ok
test behavior::scenario::direct_tests::direct_reply_choices_validate_the_actual_slot_and_reorder_rejects_reverse_order ... ok
test behavior::scenario::direct_tests::direct_scenario_reference_navigation_blocks_pending_drafts_and_stale_contexts ... ok
test behavior::scenario::direct_tests::direct_scenario_reference_navigation_retains_each_exact_caller_without_history ... ok
test behavior::scenario::direct_tests::direct_scenario_reference_return_survives_rename_and_rejects_deleted_or_changed_use ... ok
test behavior::scenario::operation_tests::operation_gui_async_picker_uses_request_root_and_nested_directions_without_erasing_rejected_values ... ok
test behavior::scenario::operation_tests::operation_gui_selects_two_parameterless_allocations_without_inventing_refinement_and_reply_derives_call ... ok
test behavior::scenario::operation_tests::operation_gui_unresolved_and_disabled_selection_recovery_preserves_rejected_raw_values ... ok
test behavior::scenario::tests::fragment_operands_accept_paired_messages_through_normal_destination_picker ... ok
test behavior::scenario::tests::graphical_call_reply_is_atomic_correlated_and_source_equivalent ... ok
test behavior::scenario::tests::invalid_lifecycle_edit_keeps_draft_and_timer_has_no_global_exchange ... ok
test behavior::scenario::tests::lifeline_picker_uses_core_viewpoint_contract ... ok
test behavior::scenario::tests::reverse_communication_canvas_choices_and_correlated_reply_share_core_direction ... ok
test behavior::scenario::tests::scenario_reuse_requires_explicit_compatible_bindings ... ok
test behavior::scenario::tests::tagged_scenario_commit_is_not_redirected_by_other_editor_events ... ok
test behavior::scenario::workspace::tests::new_scenario_form_resets_only_its_scroll_and_recovery_gets_a_fresh_session ... ok
test behavior::scenario::workspace::tests::production_empty_scenario_lifeline_tool_keeps_staged_source_inside_stable_canvas ... ok
test behavior::scenario::workspace::tests::production_scenario_camera_external_controls_bounds_and_retained_deltas_cancel_old_drags ... ok
test behavior::scenario::workspace::tests::production_scenario_canvas_keeps_bounds_draft_identity_and_camera_through_editing ... ok
test behavior::scenario::workspace::tests::production_scenario_canvas_pan_invalidates_a_pressed_creation_and_caller_restores_once ... ok
test behavior::scenario::workspace::tests::production_scenario_keyboard_enters_activates_draws_focus_and_returns_to_inspector ... ok
test behavior::scenario::workspace::tests::production_scenario_keyboard_reveals_and_activates_initially_offscreen_last_tool ... ok
test behavior::scenario::workspace::tests::production_scenario_retained_toolbar_intents_reject_chooser_dirty_and_picker_lifetimes ... ok
test behavior::scenario::workspace::tests::production_scenario_whole_glyph_drag_moves_one_occurrence_and_rejects_other_operand ... ok
test behavior::scenario::workspace::tests::scenario_form_focus_chained_apply_rechecks_live_review_owner ... ok
test behavior::scenario::workspace::tests::scenario_form_focus_missing_exact_target_leaves_other_inputs_untouched ... ok
test behavior::scenario::workspace::tests::scenario_form_focus_returns_from_back_use_and_escape_after_initial_focus_is_consumed ... ok
test behavior::scenario::workspace::tests::scenario_form_focus_saved_action_is_inert_on_replacement_child_review_and_changed_context ... ok
test behavior::scenario::workspace::tests::scenario_form_focus_targets_the_name_and_rejects_stale_sessions_or_modals ... ok
test behavior::scenario::workspace::tests::scenario_workspace_choosing_tools_preserves_valid_and_invalid_pending_editors ... ok
test behavior::scenario::workspace::tests::scenario_workspace_fit_uses_measured_inner_viewport_and_rejects_nonfinite_inputs ... ok
test behavior::scenario::workspace::tests::scenario_workspace_open_and_back_restore_owner_and_mounted_camera_after_preselection ... ok
test behavior::scenario::workspace::tests::scenario_workspace_same_size_owner_and_document_changes_remeasure_fit_viewport ... ok
test behavior::scenario::workspace::tests::scenario_workspace_scaled_and_panned_scene_keeps_clicked_slots_and_message_endpoints ... ok
test behavior::scenario::workspace::tests::scenario_workspace_scaled_nested_occurrences_and_reorder_keep_exact_sequence_identity ... ok
test behavior::scenario::workspace::tests::scenario_workspace_viewport_events_are_passive_guarded_and_do_not_apply_raw_forms ... ok
test behavior::scenario_lifecycle::render::tests::birth_label_clip_keeps_padded_world_bounds_at_each_scene_scale ... ok
test behavior::scenario_lifecycle::render::tests::birth_label_clip_preserves_parent_viewport_bounds ... ok
test behavior::scenario_lifecycle::render::tests::box_text_clip_intersects_parent_viewport_and_rejects_empty_interiors ... ok
test behavior::scenario_lifecycle::render::tests::panned_header_and_create_clips_use_screen_translation_and_actual_viewport ... ok
test behavior::scenario_lifecycle::render::tests::real_scene_birth_death_markers_align_endpoints_and_win_selection_without_mutating_source ... ok
test behavior::scenario_lifecycle::render::tests::real_scene_branch_delete_clips_only_its_activation_and_keeps_unanswered_call_visible ... ok
test behavior::scenario_lifecycle::render::tests::real_scene_conditional_repeated_and_parallel_scopes_do_not_claim_definite_continuation ... ok
test behavior::scenario_lifecycle::render::tests::real_scene_empty_and_create_only_use_visible_root_extents_not_insertion_bounds ... ok
test behavior::scenario_lifecycle::render::tests::real_scene_lifecycle_edit_undo_redo_restores_exact_source_and_changed_geometry ... ok
test behavior::scenario_lifecycle::render::tests::real_scene_long_header_title_and_detail_keep_names_and_have_bounded_clips ... ok
test behavior::scenario_lifecycle::render::tests::real_scene_minimum_zoom_marker_halos_do_not_steal_adjacent_capsule_or_header_hits ... ok
test behavior::scenario_lifecycle::render::tests::real_scene_minimum_zoom_near_ordinary_message_wins_over_lifecycle_halos ... ok
test behavior::scenario_lifecycle::render::tests::real_scene_panned_zoomed_program_keeps_header_birth_and_death_hit_identity ... ok
test behavior::scenario_lifecycle::render::tests::real_scene_self_delete_caption_clears_the_preceding_action_box ... ok
test behavior::scenario_lifecycle::render::tests::real_scene_self_lifecycle_elbows_end_on_recorded_marker_rows ... ok
test behavior::scenario_lifecycle::render::tests::real_scene_unassigned_lanes_and_explicit_incomplete_receiver_keep_real_marker_identity ... ok
test behavior::scenario_lifecycle::render::tests::real_scene_wide_latin_header_exceeds_old_character_budget ... ok
test behavior::scenario_lifecycle::tests::alternative_death_does_not_kill_its_displayed_sibling ... ok
test behavior::scenario_lifecycle::tests::conditional_birth_does_not_infer_absence_in_siblings_or_ancestors ... ok
test behavior::scenario_lifecycle::tests::explicit_receiver_is_authoritative_even_with_missing_exchange ... ok
test behavior::scenario_lifecycle::tests::lifecycle_free_fragments_do_not_poison_other_lanes ... ok
test behavior::scenario_lifecycle::tests::loop_lifetime_is_local_and_warning_bearing_loops_remain_drawable ... ok
test behavior::scenario_lifecycle::tests::missing_geometry_is_reported_without_nonfinite_or_guessed_markers ... ok
test behavior::scenario_lifecycle::tests::optional_cleanup_inside_loop_does_not_claim_balanced_or_definite_exit ... ok
test behavior::scenario_lifecycle::tests::projection_retains_exact_authored_source_and_does_not_enter_history ... ok
test behavior::scenario_lifecycle::tests::root_lifetime_has_exact_birth_death_boundaries_without_source_mutation ... ok
test behavior::scenario_lifecycle::tests::scenario_use_is_opaque_and_never_imports_callee_lifecycle_events ... ok
test behavior::scenario_scroll::tests::direct_scenario_caller_restores_mounted_scroll_once_with_clamping_and_app_receipt ... ok
test behavior::scenario_scroll::tests::direct_scenario_restore_cannot_scroll_another_document_owner_or_process_view ... ok
test behavior::scenario_scroll::tests::direct_scroll_mounted_identity_resets_navigation_but_preserves_edits_before_first_report ... ok
test behavior::scenario_scroll::tests::direct_scroll_observer_reports_actual_initial_clamped_and_remounted_offsets_once ... ok
test behavior::scenario_scroll::tests::independent_process_owner_change_resets_actual_scroll_offsets ... ok
test behavior::source_draft::layout_tests::contextual_source_layout_initial_essentials_fit_short_composed_host_with_real_paragraphs ... ok
test behavior::source_draft::layout_tests::contextual_source_layout_long_parent_wraps_after_visible_name_without_losing_raw_data ... ok
test behavior::source_draft::layout_tests::contextual_source_layout_visible_kind_click_keeps_choice_explicit_and_name_input_works ... ok
test behavior::state_canvas::tests::context_menu_keeps_window_anchor_and_explicit_placement_identity ... ok
test behavior::state_canvas::tests::context_tool_and_pending_form_changes_cancel_mutating_gestures ... ok
test behavior::state_canvas::tests::creation_uses_the_explicit_deepest_owner_and_never_a_fallback_ancestor ... ok
test behavior::state_canvas::tests::drag_uses_ordered_release_at_each_zoom_and_moves_descendants_in_one_undo ... ok
test behavior::state_canvas::tests::escape_and_view_switch_discard_the_armed_transition_source ... ok
test behavior::state_canvas::tests::internal_rows_and_pseudostate_hits_use_shared_persisted_geometry ... ok
test behavior::state_canvas::tests::ordered_stationary_click_does_not_move_on_later_motion_in_the_same_batch ... ok
test behavior::state_canvas::tests::pan_is_button_scoped_read_only_and_hover_does_not_reproject_the_scene ... ok
test behavior::state_canvas::tests::pseudostate_names_avoid_rightward_and_downward_routes_and_share_hit_bounds ... ok
test behavior::state_canvas::tests::relayout_does_not_turn_a_transition_click_into_a_drag_or_pan ... ok
test behavior::state_canvas::tests::selected_endpoint_reconnect_preserves_identity_and_requires_handle_motion ... ok
test behavior::state_canvas::tests::selection_relayout_does_not_move_nodes_or_change_drag_distance ... ok
test behavior::state_canvas::tests::stacked_symbol_names_avoid_each_other_and_are_independent_of_input_order ... ok
test behavior::state_canvas::tests::transition_supports_click_click_and_drag_without_coalesced_accidental_edges ... ok
test behavior::state_canvas::tests::typed_state_actions_are_named_selectable_rows_before_internal_transitions_and_regions ... ok
test behavior::state_canvas::tests::viewport_uses_full_canvas_coordinates_and_republishes_for_a_new_context ... ok
test behavior::state_edit::tests::an_empty_machine_has_an_explicit_visible_owner_for_first_region_creation ... ok
test behavior::state_edit::tests::connect_preserves_self_loops_and_rejects_hidden_or_incompatible_vertices ... ok
test behavior::state_edit::tests::creation_places_missing_ancestry_and_unfolds_existing_owners_atomically ... ok
test behavior::state_edit::tests::every_context_component_and_invalid_ownership_are_checked_before_planning ... ok
test behavior::state_edit::tests::placing_existing_content_and_moving_a_folded_group_preserve_other_views_and_semantics ... ok
test behavior::state_edit::tests::reconnect_preserves_the_complete_record_and_replaces_cardinality_in_place ... ok
test behavior::state_edit::tests::view_initializes_only_its_machine_in_one_source_and_model_history_entry ... ok
test behavior::states::tests::internal_choice_targets_self_and_edit_preserves_identity_and_description ... ok
test behavior::states::tests::invalid_pseudo_trigger_keeps_draft_and_does_not_create_orphan_event ... ok
test behavior::states::tests::selected_composite_owns_new_region_and_history_uses_selected_region ... ok
test behavior::states::tests::timeout_and_work_trigger_commit_together_roundtrip_and_undo ... ok
test behavior::tests::failed_document_commit_retains_typed_transition_and_time_event_for_repair ... ok
test behavior::tests::legacy_process_and_chain_keep_their_ordered_exchange_scene ... ok
test behavior::tests::one_behavior_form_survives_start_edit_and_unrelated_cancel_until_commit ... ok
test behavior::tests::recovery_preserves_distinct_qualified_value_paths_and_rejects_invalid_payload_atomically ... ok
test behavior::tests::recovery_retains_each_incomplete_behavior_form_without_executing_it ... ok
test behavior::tests::selecting_state_transition_keeps_its_behavior_context ... ok
test behavior::topology::contextual::tests::qualified_link_gui_deleted_transient_selection_does_not_seed_or_hide_retained_authored_endpoint ... ok
test behavior::topology::contextual::tests::qualified_link_gui_nested_preview_folds_only_the_exact_reference_instance ... ok
test behavior::topology::contextual::tests::qualified_link_gui_rejected_endpoint_keeps_exact_raw_intent_after_recovery ... ok
test behavior::topology::contextual::tests::qualified_link_gui_repeated_sources_remain_distinct_and_apply_has_exact_source_history ... ok
test behavior::topology::contextual::tests::qualified_link_gui_scope_paging_and_search_reach_tail_beyond_512_without_losing_endpoints ... ok
test behavior::topology::contextual_routing::tests::contextual_route_native_x_to_first_b_keeps_visible_arrow_above_background_and_clear_of_other_references ... ok
test behavior::topology::contextual_routing::tests::contextual_route_nested_visible_hidden_and_parallel_paths_keep_exact_addresses_and_legacy_routes ... ok
test behavior::topology::contextual_routing::tests::contextual_route_shared_anchor_preserves_selected_direct_reconnect_at_fit_and_full_scale ... ok
test behavior::topology::direct_tests::direct_process_append_preserves_existing_order_and_rejects_incompatible_exchange ... ok
test behavior::topology::direct_tests::direct_process_controls_allow_incomplete_work_and_preserve_branch_semantics ... ok
test behavior::topology::direct_tests::direct_process_empty_first_and_second_exchange_keep_the_same_interactive_renderer ... ok
test behavior::topology::direct_tests::direct_process_imported_order_is_projected_without_mutation_and_first_canvas_edit_is_atomic ... ok
test behavior::topology::direct_tests::direct_process_incompatible_imported_order_rejects_conversion_without_losing_draft ... ok
test behavior::topology::direct_tests::direct_process_nested_source_reopen_and_api_command_use_one_transaction ... ok
test behavior::topology::direct_tests::direct_process_oa_sa_repeated_occurrences_share_sources_and_split_one_guarded_link ... ok
test behavior::topology::direct_tests::direct_process_palette_preserves_fit_and_manual_camera ... ok
test behavior::topology::direct_tests::direct_process_production_click_click_drag_insert_and_camera_coordinates ... ok
test behavior::topology::direct_tests::direct_process_production_endpoint_and_peer_reorder_handles_publish_exact_identity ... ok
test behavior::topology::direct_tests::direct_process_production_stale_focus_scroll_bounds_and_pending_cancel ... ok
test behavior::topology::direct_tests::direct_process_readable_default_fit_expansion_and_bounded_choices ... ok
test behavior::topology::direct_tests::direct_process_real_picker_stays_bounded_and_search_keeps_selection ... ok
test behavior::topology::direct_tests::direct_process_reconnect_delete_and_reorder_preserve_other_paths_and_sources ... ok
test behavior::topology::direct_tests::direct_process_reuse_preview_is_local_expandable_and_recursive_sources_are_rejected ... ok
test behavior::topology::direct_tests::direct_process_scaled_control_and_link_gestures_use_visible_positions ... ok
test behavior::topology::direct_tests::direct_process_specific_parallel_link_and_incompatible_adjacency ... ok
test behavior::topology::direct_tests::direct_process_three_ordered_exchanges_preserve_outer_paths_on_insertion ... ok
test behavior::topology::tests::cycle_projection_terminates_and_retains_actual_links ... ok
test behavior::topology::tests::empty_process_can_start_through_normal_authoring_events ... ok
test behavior::topology::tests::fitting_a_branch_keeps_all_nodes_visible_and_selection_uses_scaled_coordinates ... ok
test behavior::topology::tests::guarded_branch_is_one_transaction_with_distinct_source_identities ... ok
test behavior::topology::tests::insertion_picker_only_offers_work_matching_adjacent_exchanges ... ok
test behavior::topology::tests::legacy_branch_insertion_replaces_only_the_selected_implied_link ... ok
test behavior::topology::tests::legacy_edit_preserves_order_and_new_work_in_one_undo ... ok
test behavior::topology::tests::long_engineering_identifiers_stay_inside_label_width ... ok
test behavior::topology::tests::process_camera_selection_ignores_independent_details_scroll ... ok
test behavior::topology::tests::process_fit_disclosures_and_focus_preserve_rejected_raw_draft_and_accepted_source ... ok
test behavior::topology::tests::process_fit_uses_measured_height_and_reports_minimum_without_changing_manual_zoom ... ok
test behavior::topology::tests::reusable_preview_preserves_identity_and_filters_recursive_sources ... ok
test behavior::topology::tests::stale_or_invalid_submit_preserves_inputs_and_creates_nothing ... ok
test behavior::topology::tests::unlinked_contributions_do_not_gain_fictional_edges ... ok
test behavior::topology::view::layout_tests::production_canvas_keyboard_and_delayed_tasks_respect_real_chooser_and_review_owners ... ok
test behavior::topology::view::layout_tests::production_process_caller_return_rejects_its_previous_camera_lifetime ... ok
test behavior::topology::view::layout_tests::production_process_camera_external_controls_bounds_and_retained_deltas_cancel_old_drags ... ok
test behavior::topology::view::layout_tests::production_process_canvas_focus_wheel_fit_and_stale_camera_are_presentation_only ... ok
test behavior::topology::view::layout_tests::production_process_canvas_scaled_path_creation_preserves_source_and_editor_bounds ... ok
test behavior::topology::view::layout_tests::production_process_form_replacement_resets_scroll_without_a_closed_render ... ok
test behavior::topology::view::layout_tests::production_process_keyboard_enters_activates_draws_focus_and_returns_to_inspector ... ok
test behavior::topology::view::layout_tests::production_process_keyboard_reveals_and_activates_initially_offscreen_last_tool ... ok
test behavior::topology::view::layout_tests::production_process_retained_toolbar_intents_reject_chooser_dirty_and_picker_lifetimes ... ok
test connection_edit::tests::cancel_navigation_revision_and_dirty_drafts_cannot_commit_a_stale_connection ... ok
test connection_edit::tests::visible_endpoint_drawing_commits_ports_and_exchange_once_with_exact_history ... ok
test connection_tool::tests::boundary_candidates_match_core_orientation_and_reject_same_owner_or_mixed_kind ... ok
test connection_tool::tests::boundary_feasibility_keeps_interface_warnings_and_final_carried_item_checks ... ok
test connection_tool::tests::boundary_feasibility_rejects_dangling_identity_in_a_malformed_element_map ... ok
test connection_tool::tests::direct_connections_share_exact_source_history_and_model_parity ... ok
test connection_tool::tests::explicit_function_ports_keep_owners_contracts_and_do_not_invent_carried_items ... ok
test connection_tool::tests::final_command_validation_rejects_invalid_models_without_mutation ... ok
test connection_tool::tests::function_cards_use_unique_reuse_and_atomic_generation_when_ambiguous ... ok
test connection_tool::tests::mismatched_port_owners_layers_and_contract_kinds_are_not_candidates ... ok
test connection_tool::tests::operational_communication_uses_participants_without_creating_ports ... ok
test connection_tool::tests::operational_interaction_targets_only_distinct_oa_activities ... ok
test context_menu::tests::a_new_context_token_cannot_reuse_the_previous_mouse_press_or_scroll ... ok
test context_menu::tests::actions_area_does_not_swallow_first_independent_click_after_overlay_consumed_its_release ... ok
test context_menu::tests::anchors_outside_the_window_and_nonfinite_input_stay_bounded ... ok
test context_menu::tests::clicking_disabled_or_dragging_off_an_action_never_executes_it ... ok
test context_menu::tests::coalesced_dismissal_release_does_not_swallow_the_next_independent_click ... ok
test context_menu::tests::empty_and_disabled_only_menus_still_capture_keys_and_escape_closes ... ok
test context_menu::tests::keyboard_skips_headers_separators_and_disabled_actions_and_invokes_once ... ok
test context_menu::tests::outside_dismissal_consumes_press_and_release_across_controlled_close ... ok
test context_menu::tests::reconstructed_overlay_uses_retained_layout_for_rows_and_hit_testing ... ok
test context_menu::tests::retained_overlay_layout_keeps_measured_width_and_scrollbar_after_reconstruction ... ok
test context_menu::tests::tall_menu_clamps_to_viewport_and_keyboard_wheel_and_scrollbar_reach_the_end ... ok
test data_values::tests::phase_choices_keep_reused_record_addresses_distinct ... ok
test data_values::tests::recursive_picker_starts_with_distinct_leaf_names_and_sorts_them ... ok
test data_values::tests::recursive_records_can_be_drilled_into_and_valid_imported_paths_resolve ... ok
test data_values::tests::reference_parameter_stops_descent_and_unspecified_direction_remains_visible ... ok
test data_values::tests::roots_and_one_hop_children_do_not_expand_unrelated_payload_branches ... ok
test data_view::tests::allocation_rows_edit_relationship_identity_and_remove_only_that_allocation ... ok
test data_view::tests::association_creation_is_a_separate_relation_with_editable_end_contracts ... ok
test data_view::tests::browsing_pages_preserves_invalid_numeric_draft_and_inherited_allocation_identity ... ok
test data_view::tests::contextual_data_actions_use_typed_defaults_and_one_undo ... ok
test data_view::tests::large_inherited_dictionary_has_bounded_widgets_and_every_original_field_is_reachable ... ok
test diagram::lifecycle_tests::menu_reset_and_draw_use_fresh_open_context ... ok
test diagram::lifecycle_tests::middle_and_arrow_panning_preserve_source_and_history ... ok
test diagram::lifecycle_tests::motion_after_release_must_not_move_clicked_port ... ok
test diagram::lifecycle_tests::motion_after_source_click_release_must_not_create_connection ... ok
test diagram::pointer_tests::coalesced_fe_ports_commit_once_through_app_and_source_history ... ok
test diagram::pointer_tests::coalesced_port_drag_commits_once_through_app_and_source_history ... ok
test diagram::pointer_tests::drag_from_already_selected_stationary_port_keeps_source_between_batches ... ok
test diagram::pointer_tests::menu_captured_motion_must_not_turn_following_click_into_old_port_drag ... ok
test diagram::pointer_tests::modal_and_stale_epoch_block_queued_connection_and_port_commits ... ok
test diagram::port_hit_tests::coincident_ports_keep_selection_then_use_stable_identity ... ok
test diagram::port_hit_tests::nearest_port_center_wins_on_all_borders_and_zoom_levels ... ok
test diagram::port_hit_tests::nested_owner_palette_selection_drag_and_context_menu_pick_the_same_port ... ok
test diagram::port_labels::tests::leaving_and_reentering_keeps_suppression_until_each_held_button_releases ... ok
test diagram::port_labels::tests::menu_epoch_clears_suppression_when_the_overlay_consumes_release ... ok
test diagram::port_labels::tests::outside_presses_do_not_suppress_and_cancel_or_focus_loss_clear_held_buttons ... ok
test diagram::port_labels::tests::passive_layer_leaves_port_drag_selection_and_commit_with_the_interactive_canvas ... ok
test diagram::tests::association_end_contracts_share_svg_geometry_and_select_without_moving_name_label ... ok
test diagram::tests::bend_gestures_use_screen_hit_radius_and_commit_one_undo_at_three_zooms ... ok
test diagram::tests::coincident_line_hit_retains_the_selected_connection ... ok
test diagram::tests::connection_gestures_pick_real_ports_and_commit_coalesced_drag_at_every_zoom ... ok
test diagram::tests::detached_label_selects_connection_and_occluding_card_owns_its_hit ... ok
test diagram::tests::dragging_a_child_previews_the_same_enclosure_and_ports_as_commit ... ok
test diagram::tests::fast_drags_commit_the_release_cursor_without_a_final_motion_event ... ok
test diagram::tests::implicit_port_click_selects_semantics_and_drag_preview_svg_share_anchors ... ok
test diagram::tests::route_cache_ignores_pan_zoom_and_cancelled_drag_cannot_commit ... ok
test diagram::tests::routed_svg_has_same_polyline_label_and_bounds_as_canvas_scene ... ok
test diagram::tests::svg_distinguishes_inferred_work_allocation_from_direct_allocation ... ok
test diagram::tests::svg_preserves_visible_exchange_labels_and_capability_stereotypes ... ok
test diagram::tests::typed_function_glyphs_and_unoriented_standard_connections_have_distinct_svg ... ok
test diagram::view_options_tests::communication_svg_uses_saved_visibility_labels_and_direction ... ok
test document::save_as_tests::save_as_preserves_explicit_source_entry_changes_in_history ... ok
test document::save_as_tests::save_as_rebases_uniform_history_without_an_undo_step_or_lost_redo ... ok
test document::save_as_tests::save_as_rejects_included_filename_collisions_in_past_and_future_without_mutation ... ok
test document::save_as_tests::save_as_rejects_stale_or_content_changing_receipt_atomically ... ok
test document::tests::accepted_history_keeps_the_latest_hundred_complete_snapshots ... ok
test document::tests::altered_compiled_model_or_index_is_rejected_without_mutation ... ok
test document::tests::asynchronous_save_marks_its_snapshot_without_cleaning_later_edits ... ok
test document::tests::byte_budget_trims_oldest_history_without_discarding_a_large_current ... ok
test document::tests::cached_view_index_tracks_accepted_creation_undo_and_redo ... ok
test document::tests::comment_and_semantic_history_restore_exact_bytes_and_branch_together ... ok
test document::tests::creation_selects_the_single_uuid_persisted_in_source ... ok
test document::tests::invalid_project_is_rejected_before_format_can_normalize_it ... ok
test document::tests::nested_cross_file_reparent_and_source_edit_share_exact_history ... ok
test document::tests::no_op_command_or_source_apply_preserves_history_revision_and_redo ... ok
test document::tests::omitted_id_stabilization_remains_dirty_until_exact_source_is_saved ... ok
test document::tests::recreated_equal_record_does_not_inherit_deleted_source_ownership ... ok
test document::tests::rejected_compile_command_and_writeback_preserve_state_and_redo ... ok
test explorer::tests::collapse_and_search_retain_context_without_changing_collapse_state ... ok
test explorer::tests::deep_containment_and_search_keep_the_full_path_without_recursion ... ok
test explorer::tests::equal_names_have_stable_alias_and_identity_tie_breakers ... ok
test explorer::tests::perspective_isolation_and_allocations_do_not_change_containment ... ok
test explorer::tests::prefix_names_cannot_separate_a_parent_from_its_children ... ok
test forms::data_fields::tests::defaults_distinguish_absent_empty_and_typed_literals_with_escaped_unicode ... ok
test forms::data_fields::tests::field_browser_pages_every_direct_field_without_flattening_other_records ... ok
test forms::data_fields::tests::independent_review_combined_take_type_informs_actual_default_form_in_both_directions ... ok
test forms::data_fields::tests::numeric_bound_drafts_keep_partial_and_full_precision_values_out_of_accepted_state ... ok
test forms::data_fields::tests::selecting_qualified_path_preserves_expression_typed_before_the_next_render ... ok
test forms::data_fields::tests::semantic_reference_choices_follow_selected_mechanism_and_revert_on_keep ... ok
test forms::data_fields::tests::supertype_picker_excludes_descendants_and_keeps_original_inherited_field_identity ... ok
test forms::history_fields::tests::history_absent_baseline_and_empty_history_use_explicit_facts_and_exact_document_history ... ok
test forms::history_fields::tests::history_clear_discards_inactive_invalid_constructors_before_reusing_the_same_row ... ok
test forms::history_fields::tests::history_compound_value_and_constructor_variants_are_editable_without_live_context ... ok
test forms::history_fields::tests::history_deleted_keys_and_observation_uuids_remain_exact_and_duplicate_history_rejects ... ok
test forms::history_fields::tests::history_every_descriptor_fact_choice_matches_actual_closed_types_and_source_contract ... ok
test forms::history_fields::tests::history_exact_strings_do_not_confuse_uuid_shaped_prose_or_literal_keys_with_references ... ok
test forms::history_fields::tests::history_invalid_numbers_survive_constructor_switch_reorder_removal_and_recovery ... ok
test forms::history_fields::tests::history_missing_semantic_field_can_be_added_and_removed_without_touching_prose_or_live_objects ... ok
test forms::history_fields::tests::history_nested_optional_number_events_switch_absent_present_and_recover_invalid_raw ... ok
test forms::history_fields::tests::history_nested_uuid_and_list_events_preserve_present_values_and_tagged_item_branches ... ok
test forms::history_fields::tests::history_optional_uuid_and_text_seed_absence_without_inventing_observations ... ok
test forms::history_fields::tests::history_primitive_type_choices_remain_visible_inside_the_tagged_union ... ok
test forms::history_fields::tests::history_retained_text_constructors_follow_exact_mode_without_changing_the_observation ... ok
test forms::port_fields::tests::all_demo_records_roundtrip_through_graphical_and_escaped_string_drafts ... ok
test forms::port_fields::tests::boundary_choices_honor_draft_direction_same_kind_and_direct_interface_items ... ok
test forms::port_fields::tests::contract_choices_follow_owner_and_never_offer_legacy_or_oa_typed_ports ... ok
test forms::port_fields::tests::failed_shape_keeps_incomplete_text_and_saved_contract_payloads ... ok
test forms::port_fields::tests::functional_endpoints_require_owner_direction_and_items_but_retain_bad_current_choice ... ok
test forms::port_fields::tests::interface_roles_offer_participants_and_component_ports_independent_of_orientation ... ok
test forms::port_fields::tests::port_allocation_choices_use_actual_owner_direction_and_ignore_edited_relation ... ok
test forms::port_fields::tests::standard_switch_retains_incompatible_orientation_until_explicit_repair ... ok
test forms::port_fields::tests::switching_function_direction_preserves_invalid_items_and_each_authored_payload ... ok
test forms::reference_chooser::tests::captured_choice_cannot_cross_document_revision_draft_record_or_array_path ... ok
test forms::reference_chooser::tests::catalog_search_disambiguates_repeated_names_containment_alias_and_exact_placement_identity ... ok
test forms::reference_chooser::tests::dismissal_swallows_matching_release_across_closed_rebuild_but_next_click_reaches_parent ... ok
test forms::reference_chooser::tests::empty_search_escape_tab_and_optional_clear_do_not_silently_choose_nil ... ok
test forms::reference_chooser::tests::historical_paths_never_open_and_only_explicit_choice_or_clear_is_a_write ... ok
test forms::reference_chooser::tests::mounted_clipboard_paste_and_ime_commit_preserve_whole_strings_without_selecting ... ok
test forms::reference_chooser::tests::mounted_filtered_row_click_uses_the_displayed_identity_and_scoped_write_intent ... ok
test forms::reference_chooser::tests::mounted_input_preserves_rapid_same_batch_typing_and_cursor_across_controlled_rebuilds ... ok
test forms::reference_chooser::tests::mounted_keyboard_pages_and_selects_only_the_highlighted_visible_candidate_once ... ok
test forms::reference_chooser::tests::mounted_overlay_clamps_at_three_field_positions_and_keeps_results_and_query_bounded ... ok
test forms::reference_chooser::tests::mounted_query_change_rejects_old_release_and_old_result_events_without_locking_popup ... ok
test forms::reference_chooser::tests::mounted_query_then_escape_in_one_batch_closes_and_relative_keys_keep_input_order ... ok
test forms::reference_chooser::tests::out_of_order_query_serials_cannot_restore_obsolete_results ... ok
test forms::tests::data_and_port_choices_are_typed_but_retain_invalid_current_values ... ok
test forms::tests::editing_allocation_offers_other_performers_without_counting_itself_twice ... ok
test forms::tests::moving_placement_and_changing_identity_is_one_lossless_undoable_edit ... ok
test forms::tests::parent_choices_reject_cycles_without_removing_clear_or_current_choice ... ok
test forms::tests::reply_and_reuse_forms_offer_semantically_compatible_references ... ok
test forms::tests::scenario_choices_respect_owner_and_exchange_layer ... ok
test forms::tests::semantic_port_group_choices_use_combined_owner_and_retain_invalid_transferred_items ... ok
test forms::tests::shared_perspective_change_keeps_payload_and_rejects_incompatible_dependencies ... ok
test forms::tests::state_observation_picker_keeps_work_lifelines_allocated_to_machine_owner ... ok
test forms::tests::state_placement_form_uses_draft_destination_membership_without_changing_other_views ... ok
test forms::tests::state_projection_form_keeps_string_variants_and_requires_a_typed_context ... ok
test forms::view_fields::tests::category_family_change_retains_members_until_explicit_correction ... ok
test forms::view_fields::tests::selective_view_property_apply_recovery_and_undo_preserve_semantics_and_empty_choices ... ok
test guide::tests::filtering_and_related_navigation_keep_selection_visible ... ok
test guide::tests::guide_topic_navigation_resets_only_article_and_same_topic_search_keeps_scroll ... ok
test guide::tests::search_finds_concepts_in_walkthroughs_and_api_reference ... ok
test home::tests::corrupt_future_and_oversized_history_are_preserved_with_usable_session_history ... ok
test home::tests::failed_metadata_replace_keeps_previous_history_and_reports_memory_only_entry ... ok
test home::tests::first_and_replaced_metadata_are_parseable_and_contain_no_model_bytes ... ok
test home::tests::forgotten_and_missing_files_never_change_the_model_or_other_entries ... ok
test home::tests::loading_missing_history_does_not_create_files_or_directories ... ok
test home::tests::malformed_entries_and_unknown_fields_never_become_open_requests ... ok
test home::tests::successful_local_history_is_bounded_ordered_deduplicated_and_durable ... ok
test home::tests::unavailable_location_can_reappear_on_refresh_without_losing_identity ... ok
test home::tests::walkthrough_uses_packaged_bundle_before_development_and_reports_missing_assets ... ok
test hosted::client::tests::hosted_endpoint_validation_redacts_secrets_and_preserves_proxy_paths ... ok
test hosted::client::tests::hosted_lost_publication_response_is_uncertain_without_retry ... ok
test hosted::client::tests::hosted_open_rejects_incoherent_envelopes_missing_etags_and_unstable_ids ... ok
test hosted::client::tests::hosted_oversized_local_bundle_is_rejected_before_network_admission ... ok
test hosted::client::tests::hosted_production_auth_proxy_prefix_and_located_rejection ... ok
test hosted::client::tests::hosted_production_roundtrip_preserves_comments_noops_and_conflicts ... ok
test hosted::client::tests::hosted_publication_race_keeps_receipt_identity_for_review ... ok
test hosted::client::tests::hosted_publication_retains_known_resource_after_failed_followup ... ok
test hosted::client::tests::hosted_put_preserves_an_opaque_etag_and_compiles_the_accepted_bundle ... ok
test hosted::client::tests::hosted_redirect_is_not_followed_or_retried_and_problem_tokens_are_redacted ... ok
test hosted::client::tests::hosted_response_limits_cover_declared_and_chunked_bodies ... ok
test hosted::client::tests::hosted_structured_mutation_failures_distinguish_precommit_rejections ... ok
test hosted::client::tests::hosted_timeout_and_disconnect_leave_mutation_outcomes_explicit ... ok
test model_menu::tests::add_bend_here_uses_context_point_and_one_source_aware_history_change ... ok
test model_menu::tests::late_menu_actions_do_not_dismiss_new_menu_or_cross_view_context ... ok
test model_menu::tests::menu_preserves_pending_properties_and_rejects_delayed_mutations ... ok
test model_menu::tests::pending_source_allows_file_navigation_but_disables_model_actions ... ok
test model_menu::tests::right_click_targets_actor_without_changing_selection_until_action ... ok
test model_menu::tests::show_from_explorer_places_unfolds_and_keeps_semantic_selection ... ok
test model_menu::tests::state_menu_folds_and_hides_only_its_captured_placement_and_rejects_stale_views ... ok
test model_menu::tests::state_menu_keeps_typed_creation_reachable_and_preserves_pending_properties ... ok
test navigation::tests::semantic_browser_finds_behavior_users_without_confusing_containment ... ok
test port_edit::tests::all_border_drags_commit_exact_preview_and_restore_automatic_anchors_in_history ... ok
test port_edit::tests::graphical_port_reparent_clears_old_anchors_in_the_same_history_operation ... ok
test port_preview::tests::functional_creation_identifies_new_and_reused_endpoints_and_owners ... ok
test port_preview::tests::legacy_split_discloses_endpoint_routing_item_origins_and_retained_evidence ... ok
test port_preview::tests::reused_boundary_shows_item_union_and_existing_allocating_facts ... ok
test port_preview::tests::synchronization_preview_exposes_contract_shrinkage_and_current_declaration_origin ... ok
test port_workflow::recovery_tests::port_recovery_retains_authored_contract_and_identity_but_rebuilds_preview ... ok
test port_workflow::tests::creating_typed_port_and_rejecting_stale_preview_preserve_drafts_and_identity ... ok
test port_workflow::tests::graphical_function_exchange_and_component_generation_commit_and_undo_whole_contracts ... ok
test port_workflow::tests::legacy_resolution_preserves_original_record_and_applies_as_one_undo ... ok
test port_workflow::tests::port_creation_keeps_owner_diagram_and_unfolds_in_the_same_undo ... ok
test port_workflow::tests::synchronization_uses_active_contract_instead_of_preserved_direction ... ok
test recovery::source5::tests::source5_fingerprint_preserves_historical_field_order_and_diagram_shape ... ok
test recovery::source5_tests::source4_checkpoint_remains_explicitly_unsupported_without_touching_disk ... ok
test recovery::source5_tests::source5_checkpoint_does_not_refresh_unrelated_clean_buffer_baseline ... ok
test recovery::source5_tests::source5_checkpoint_missing_identity_is_not_a_lossless_upgrade ... ok
test recovery::source5_tests::source5_checkpoint_old_diagram_property_shape_remains_editable ... ok
test recovery::source5_tests::source5_checkpoint_port_draft_replans_and_rejects_stale_base ... ok
test recovery::source5_tests::source5_checkpoint_preserves_dirty_invalid_text_and_baseline_exactly ... ok
test recovery::source5_tests::source5_checkpoint_preserves_distinct_unapplied_open_workspace ... ok
test recovery::source5_tests::source5_checkpoint_property_preserves_invalid_raw_input ... ok
test recovery::source5_tests::source5_checkpoint_upgrade_never_rewrites_checkpoint_or_origin ... ok
test recovery::source5_tests::source5_checkpoint_upgrades_only_header_and_clean_editor_baseline ... ok
test recovery::source5_tests::source5_checkpoint_workflow_rebinds_only_the_proven_old_revision ... ok
test recovery::source7_tests::source7_current_combined_contextual_and_operation_drafts_survive_without_execution ... ok
test recovery::source7_tests::source7_explicit_new_fields_cannot_enter_frozen_old_model_profiles ... ok
test recovery::source7_tests::source7_legacy_inactive_constructor_path_is_structural_but_raw_prose_is_not ... ok
test recovery::source7_tests::source7_legacy_profile_workflow_and_semantic_drafts_replan_with_exact_base ... ok
test recovery::source7_tests::source7_legacy_profiles_preserve_dirty_source_property_and_behavior_raw_fields ... ok
test recovery::source7_tests::source7_legacy_structural_intent_rejects_even_null_but_never_scans_raw_strings ... ok
test recovery::source7_tests::source7_legacy_view_selector_refuses_new_relation_kind_without_rewriting_checkpoint ... ok
test recovery::source7_tests::source7_recovers_nonempty_frozen_5_and_6_profiles_with_exact_historical_binding ... ok
test recovery::tests::altered_accepted_identity_and_unrecognized_raw_property_fields_reject ... ok
test recovery::tests::exact_source_and_unfinished_invalid_buffers_restore_without_model_overwrite ... ok
test recovery::tests::excess_retained_buffers_cannot_replace_the_last_recoverable_checkpoint ... ok
test recovery::tests::invalid_open_retains_distinct_accepted_model_and_repair_workspace ... ok
test recovery::tests::missing_includes_remain_reachable_repair_targets_without_fabricated_buffers ... ok
test recovery::tests::multiple_sessions_replace_only_their_own_checkpoint_and_corruption_is_retained ... ok
test recovery::tests::raw_invalid_property_number_survives_and_stays_rejected_until_repaired ... ok
test semantic_review::artifacts_recovery_falsifier_tests::forged_artifact_draft_cannot_target_an_unreserved_or_non_artifact_identity ... ok
test semantic_review::artifacts_recovery_falsifier_tests::forged_artifact_raw_variants_duplicate_addresses_and_unknown_fields_are_refused ... ok
test semantic_review::artifacts_recovery_falsifier_tests::forged_artifact_reservations_cannot_duplicate_or_claim_an_existing_identity_or_another_owner ... ok
test semantic_review::artifacts_recovery_falsifier_tests::legitimate_invalid_artifact_checkpoint_round_trips_and_prepares_only_after_explicit_repair ... ok
test semantic_review::artifacts_tests::artifact_candidate_is_a_complete_record_not_a_tombstone_or_unattached_creation_shortcut ... ok
test semantic_review::artifacts_tests::artifact_creation_and_identified_source_deletion_follow_core_metadata_and_history_boundary_both_directions ... ok
test semantic_review::artifacts_tests::artifact_gui_reserves_recovers_and_creates_only_after_all_seven_metadata_reviews_both_directions ... ok
test semantic_review::artifacts_tests::artifact_metadata_apply_and_exact_history_reset_are_one_source_preserving_undo_redo ... ok
test semantic_review::artifacts_tests::artifact_move_metadata_none_empty_and_invalid_raw_recovery_are_independent_both_directions ... ok
test semantic_review::artifacts_tests::artifact_moved_source_absence_deletes_but_destination_only_take_retains_both_directions ... ok
test semantic_review::attachments::tests::absent_attachment_payloads_migrate_v1_and_v2_and_source5_upgrade_requires_exact_legacy_base ... ok
test semantic_review::attachments::tests::addressed_attachment_candidates_equal_direct_core_oracle_both_directions ... ok
test semantic_review::attachments::tests::attachment_apply_is_one_exact_source_and_history_undo_redo ... ok
test semantic_review::attachments::tests::attachment_candidate_and_direct_record_keep_conflict_on_actual_slot_without_losing_drafts ... ok
test semantic_review::attachments::tests::attachment_pair_drafts_survive_family_switch_and_restore_without_mutating_model ... ok
test semantic_review::attachments::tests::functional_incident_source_requires_explicit_matching_port_review_in_one_atomic_candidate ... ok
test semantic_review::attachments::tests::parent_and_each_endpoint_candidate_preserve_other_fields_and_match_core_both_directions ... ok
test semantic_review::attachments::tests::raw_rejected_attachment_reference_survives_recovery_and_wrong_scope_is_rejected ... ok
test semantic_review::attachments::tests::source_only_absence_and_explicit_absent_endpoint_are_different ... ok
test semantic_review::attachments::tests::two_incident_endpoint_candidates_form_one_complete_record_and_recover_invalid_excluded_draft ... ok
test semantic_review::batch_tests::batch_apply_is_one_exact_source_and_history_undo_redo_roundtrip ... ok
test semantic_review::batch_tests::batch_candidate_conflict_keeps_both_raw_values_and_keep_is_a_real_constraint ... ok
test semantic_review::batch_tests::batch_complete_constructor_cannot_erase_another_rows_new_literal ... ok
test semantic_review::batch_tests::batch_constructor_retirement_conflicts_with_another_rows_kept_bound_in_both_orders ... ok
test semantic_review::batch_tests::batch_delayed_text_targets_its_original_row_and_facet_without_switching_focus ... ok
test semantic_review::batch_tests::batch_excluded_invalid_row_survives_focus_reopen_and_v2_recovery ... ok
test semantic_review::batch_tests::batch_first_equal_constructor_acknowledgement_allows_an_independent_bound ... ok
test semantic_review::batch_tests::batch_joint_bounds_use_one_candidate_and_match_an_independent_atomic_core_oracle ... ok
test semantic_review::batch_tests::batch_reverse_distinct_targets_work_and_reverse_convergence_is_explicit ... ok
test semantic_review::batch_tests::batch_v2_rejects_duplicate_included_sources_bad_addresses_and_stale_model ... ok
test semantic_review::batch_tests::category_family_and_members_are_independent_core_checked_facets_both_directions ... ok
test semantic_review::batch_tests::recovered_trace_picker_names_existing_trace_instead_of_deleted_reference ... ok
test semantic_review::batch_tests::rejected_direction_switch_at_row_limit_preserves_every_recoverable_draft ... ok
test semantic_review::compose::diagnostic_tests::distinct_review_conflict_keeps_trace_aliases_even_when_names_are_equal ... ok
test semantic_review::compose::diagnostic_tests::reserved_creation_conflict_uses_its_rows_seed_instead_of_a_deleted_reference ... ok
test semantic_review::compose::diagnostic_tests::same_review_presence_and_owner_conflict_names_both_facets_and_owners_and_retains_drafts ... ok
test semantic_review::compose::diagnostic_tests::typed_owner_display_does_not_reinterpret_uuid_shaped_artifact_text ... ok
test semantic_review::constructor_tests::closed_data_and_event_take_composition_matches_core_across_every_kind_pair_and_direction ... ok
test semantic_review::constructor_tests::data_group_candidates_cover_every_definition_and_companion_default_both_directions ... ok
test semantic_review::constructor_tests::data_group_retains_invalid_sibling_drafts_companion_default_and_variant_editor_buffers ... ok
test semantic_review::constructor_tests::exchange_constructor_takes_qualified_annotation_addresses_without_remapping_expression_text ... ok
test semantic_review::constructor_tests::existing_fragment_and_branch_group_candidates_edit_complete_owned_order_without_deletion ... ok
test semantic_review::constructor_tests::group_take_reference_payload_and_scalar_candidate_match_core_and_one_document_batch ... ok
test semantic_review::constructor_tests::historical_event_keep_retires_only_obsolete_branch_and_unchanged_kind_acknowledges_no_payload ... ok
test semantic_review::constructor_tests::historical_same_kind_take_preserves_target_only_literals_when_composed_with_candidate ... ok
test semantic_review::constructor_tests::occurrence_and_event_candidate_variants_cover_closed_families_without_touching_headers ... ok
test semantic_review::constructor_tests::outer_and_nested_constructor_candidates_require_explicit_resolution_and_retain_both_drafts ... ok
test semantic_review::constructor_tests::port_group_companions_typed_owner_context_and_direction_restrictions_are_explicit ... ok
test semantic_review::constructor_tests::reverse_existing_typed_port_reviews_keep_or_candidate_legacy_without_permitting_typed_oa_write ... ok
test semantic_review::constructor_tests::scenario_use_group_takes_typed_binding_references_and_preserves_source_text_both_directions ... ok
test semantic_review::keyed_rows_tests::annotation_address_browser_descends_qualified_fields_without_changing_rows ... ok
test semantic_review::keyed_rows_tests::annotation_observations_keep_uuid_shaped_expression_text_in_both_sides_and_history ... ok
test semantic_review::keyed_rows_tests::batch_keyed_rows_compare_exact_target_slots_and_retain_independent_values ... ok
test semantic_review::keyed_rows_tests::binding_choices_separate_reused_keys_from_local_lifelines ... ok
test semantic_review::keyed_rows_tests::binding_local_picker_follows_a_candidate_parent_before_the_review_is_valid ... ok
test semantic_review::keyed_rows_tests::binding_take_requires_local_correspondence_and_candidate_rejects_wrong_scenario ... ok
test semantic_review::keyed_rows_tests::independent_rows_keep_take_candidate_match_core_and_preserve_siblings_both_directions ... ok
test semantic_review::keyed_rows_tests::keyed_recovery_retains_raw_rows_and_staged_pairs_both_directions_without_applying ... ok
test semantic_review::keyed_rows_tests::keyed_row_drafts_retain_expression_local_and_presence_across_decisions_and_staging ... ok
test semantic_review::keyed_rows_tests::keyed_rows_distinguish_unpaired_source_from_explicit_absence_and_require_exact_reset ... ok
test semantic_review::keyed_rows_tests::multiple_new_rows_compose_in_empty_collections_using_destination_key_order ... ok
test semantic_review::keyed_rows_tests::row_review_apply_preserves_exact_source_and_semantic_history_through_undo_redo ... ok
test semantic_review::keyed_tests::deleted_member_source_observation_removes_only_mapped_membership_both_directions ... ok
test semantic_review::keyed_tests::exact_literal_new_rows_and_removals_commit_both_directions_without_default_loss ... ok
test semantic_review::keyed_tests::exact_reset_only_is_one_history_source_transaction_and_undo_redo_both_directions ... ok
test semantic_review::keyed_tests::function_port_members_use_existing_typed_choices_and_preserve_oa_legacy ... ok
test semantic_review::keyed_tests::historical_one_sided_pair_migration_requires_exact_reset_and_explicit_overlap_resolution ... ok
test semantic_review::keyed_tests::invalid_literal_removal_and_unselected_scalar_buffers_are_retained_and_repairable ... ok
test semantic_review::keyed_tests::member_identity_labels_and_new_tabs_preserve_exact_names_and_deleted_keys ... ok
test semantic_review::keyed_tests::reset_precedes_equal_constructor_candidate_and_preserves_independent_literal_draft ... ok
test semantic_review::keyed_tests::staging_removal_and_obsolete_reset_recovery_keep_other_decisions_and_raw_presence ... ok
test semantic_review::keyed_tests::stale_or_source_failed_reset_and_membership_apply_retain_exact_choices ... ok
test semantic_review::keyed_tests::unordered_members_keep_take_candidate_preserve_other_rows_both_directions ... ok
test semantic_review::keyed_tests::unsupported_independent_families_and_missing_identities_do_not_gain_edit_authority ... ok
test semantic_review::message_kind_tests::message_group_candidate_closed_kinds_are_core_validated_in_both_directions ... ok
test semantic_review::message_kind_tests::message_group_candidate_timer_switches_preserve_both_drafts_and_overlap_is_explicit ... ok
test semantic_review::message_kind_tests::message_group_initial_equal_take_acknowledges_only_kind_and_checks_authored_timer_agreement ... ok
test semantic_review::message_kind_tests::message_group_keep_historical_switch_retires_timer_and_completed_no_switch_rejects ... ok
test semantic_review::message_kind_tests::message_group_rejects_protected_edits_stale_plan_and_source_failure_without_losing_timer ... ok
test semantic_review::message_kind_tests::message_group_reply_and_reference_take_require_explicit_call_mapping_both_directions ... ok
test semantic_review::message_kind_tests::message_group_take_full_timer_and_scalar_candidate_are_one_source_history_change_both_directions ... ok
test semantic_review::message_kind_tests::message_group_timer_does_not_erase_exchange_without_its_own_selected_decision ... ok
test semantic_review::ordered_tests::ambiguous_order_preserves_local_member_and_requires_explicit_candidate_positions ... ok
test semantic_review::ordered_tests::historical_pair_restore_uses_exact_member_keys_and_never_zips_order_observations ... ok
test semantic_review::ordered_tests::order_take_preserves_destination_only_positions_and_order_alone_cannot_add_members ... ok
test semantic_review::ordered_tests::ordered_membership_choices_stage_exact_pairs_in_all_owner_shapes ... ok
test semantic_review::ordered_tests::ordered_presence_keep_take_candidate_remove_only_selected_entry_and_order_take_reorders_only ... ok
test semantic_review::ordered_tests::ordered_review_apply_is_exact_source_history_transaction_with_reopen_and_undo_redo ... ok
test semantic_review::ordered_tests::ordered_take_uses_unique_anchors_and_matches_core_with_unrelated_candidate_both_directions ... ok
test semantic_review::ordered_tests::raw_order_survives_membership_changes_decisions_and_recovery_until_explicit_reconcile ... ok
test semantic_review::ordered_tests::several_incoming_members_follow_source_order_despite_independent_identity_sorting ... ok
test semantic_review::recovery::tests::raw_scalar_and_closed_constructor_drafts_recover_against_exact_model_only ... ok
test semantic_review::recovery::tests::version_one_without_orders_restores_raw_intent_and_replans_without_execution ... ok
test semantic_review::source7_tests::contextual_incident_leaf_keep_allows_path_change_but_conflicts_with_changed_leaf_both_directions ... ok
test semantic_review::source7_tests::reverse_operation_omission_gui_requires_raw_rationale_and_matches_one_core_batch_after_recovery ... ok
test semantic_review::source7_tests::semantic_operation_virtual_none_candidate_uses_exact_allocation_and_preserves_accepted_bytes ... ok
test semantic_review::tests::candidate_mixed_with_reference_take_uses_typed_correspondence_not_text_guessing ... ok
test semantic_review::tests::deselected_invalid_candidate_is_retained_but_does_not_poison_another_selected_scalar ... ok
test semantic_review::tests::explicit_trace_selection_updates_only_that_history ... ok
test semantic_review::tests::first_equal_constructor_acknowledges_only_kind_and_allows_independent_leaves ... ok
test semantic_review::tests::independent_review_clear_bound_ignores_retained_invalid_other_facet ... ok
test semantic_review::tests::independent_review_keyed_fact_titles_keep_live_deleted_and_qualified_identity ... ok
test semantic_review::tests::inherited_annotation_impact_requires_exact_acceptance_and_edits_clear_approval ... ok
test semantic_review::tests::invalid_numeric_draft_and_protected_edits_retain_workflow_and_source ... ok
test semantic_review::tests::read_only_structured_facts_and_partial_rollup_are_honest ... ok
test semantic_review::tests::relation_candidates_preserve_endpoints_and_combine_selected_roles_and_bounds ... ok
test semantic_review::tests::scalar_keep_take_candidate_commit_exact_source_and_history_in_both_directions ... ok
test semantic_review::tests::scoped_literal_list_edits_preserve_unfinished_values_and_other_facet_buffers ... ok
test semantic_review::tests::stale_plan_and_source_writeback_failure_do_not_lose_decisions_or_history ... ok
test semantic_review::tests::state_kind_scalar_uses_typed_candidate_and_core_validation ... ok
test semantic_review::view::reserved_artifact_tests::reserved_artifact_facet_and_reference_labels_survive_recovery_without_calling_it_deleted ... ok
test source_navigation::tests::search_uses_utf8_columns_wraps_and_refreshes_after_edits ... ok
test source_tree::tests::active_scroll_offset_uses_the_visible_order_and_retains_ancestor_context ... ok
test source_tree::tests::collapsed_folders_retain_active_dirty_and_diagnostic_markers ... ok
test source_tree::tests::deep_paths_build_expand_and_drop_on_a_small_stack ... ok
test source_tree::tests::detached_buffers_keep_paths_and_only_clean_buffers_are_closable ... ok
test source_tree::tests::exact_unicode_spaces_and_file_folder_name_collisions_are_not_normalized ... ok
test source_tree::tests::folders_are_compact_and_sorted_before_files_without_losing_duplicate_basenames ... ok
test source_workspace::tests::draft_history_budget_covers_inactive_files_without_discarding_drafts ... ok
test source_workspace::tests::switching_retains_invalid_drafts_and_independent_history ... ok
test tests::actor_port_creation_updates_containment_and_locate_reveals_its_owner ... ok
test tests::adding_bend_between_close_ports_stays_outside_owner_clearance ... ok
test tests::behavior_and_data_authoring_do_not_place_nodes_in_unrelated_architecture_views ... ok
test tests::bidirectional_transition_ui_commits_once_and_preserves_other_diagrams ... ok
test tests::child_work_does_not_invent_unallocated_or_mixed_performers ... ok
test tests::child_work_preserves_allocated_context_and_atomic_history ... ok
test tests::child_work_transfers_leaf_roles_without_fabricating_responsibilities ... ok
test tests::counterpart_creation_focuses_visible_target_and_reuse_keeps_views ... ok
test tests::creation_from_capabilities_routes_work_to_architecture_and_folded_allocation_inserts_below_existing_work ... ok
test tests::dragging_keeps_semantic_selection_and_same_node_remains_editable ... ok
test tests::escaped_string_mode_preserves_exact_control_characters ... ok
test tests::every_demo_record_has_a_lossless_graphical_draft ... ok
test tests::explicit_relationship_builder_never_mutates_on_preview ... ok
test tests::explorer_and_creation_selection_follow_their_own_placement ... ok
test tests::fit_adapts_to_canvas_returning_after_help_but_preserves_manual_navigation ... ok
test tests::fit_uses_measured_canvas_bounds_and_preserves_them_on_open ... ok
test tests::focused_explorer_follows_reparenting_without_changing_identity ... ok
test tests::graphical_rename_keeps_aliases_and_references_and_undo ... ok
test tests::identity_property_change_is_atomic_and_rewrites_all_live_references ... ok
test tests::invalid_numeric_draft_survives_navigation_save_and_help ... ok
test tests::invalid_save_and_continue_returns_to_repairable_draft ... ok
test tests::malformed_source_preserves_model_and_is_recoverable ... ok
test tests::manual_trace_requires_target_and_selection_normalizes_creation_kind ... ok
test tests::mission_capability_authoring_is_contextual_atomic_and_text_equivalent ... ok
test tests::modal_owns_background_commands_and_shortcuts ... ok
test tests::nested_allocation_insertion_reflows_sibling_subtrees_and_preserves_fold_state ... ok
test tests::opening_and_creating_models_preserve_the_actual_window_size_for_fit ... ok
test tests::opening_legacy_source_surfaces_report_without_modifying_original_bytes ... ok
test tests::pending_source_prevents_property_draft_collision_and_preserves_both_if_present ... ok
test tests::placement_identity_edit_then_drag_and_diagram_identity_then_arrange ... ok
test tests::placement_relocation_follows_cross_layer_traceability_view ... ok
test tests::property_enum_and_optional_reference_roundtrip ... ok
test tests::reopening_canvas_for_a_modal_preserves_viewport_after_route_edits ... ok
test tests::revealing_an_implicit_function_port_unfolds_its_visible_architecture_owner ... ok
test tests::routing_actions_are_atomic_guarded_and_fit_the_authored_detour ... ok
test tests::selecting_current_constructors_preserves_payloads ... ok
test tests::source_find_navigates_an_invalid_draft_without_applying_or_losing_it ... ok
test tests::source_navigation_waits_for_editor_layout_and_cancels_on_edit ... ok
test tests::system_only_models_open_the_populated_perspective ... ok
test tests::transition_resolutions_belong_to_the_effective_target_and_kind ... ok
test view_copy::tests::duplicate_retains_ports_routes_options_and_artifact_claims_with_exact_undo_redo ... ok
test view_copy::tests::duplicate_state_view_preserves_machine_nesting_and_collapse_with_unique_aliases ... ok
test view_copy::tests::missing_view_does_not_propose_an_empty_replacement ... ok
test views::tests::short_never_splits_retained_extended_graphemes ... ok
test views::tests::short_preserves_ascii_cjk_and_whitespace_policy ... ok
test views::tests::short_preserves_empty_and_small_limit_policy ... ok
test views::tests::short_preserves_native_lifeline_clusters_at_cutoff ... ok
test views::traceability::tests::traceability_browsing_retains_invalid_property_draft_and_existing_select_guard ... ok
test views::traceability::tests::traceability_filter_reaches_artifacts_after_68_traces_and_searches_all_metadata ... ok
test workflow::communication::tests::communication_requires_two_explicit_ports_and_recovers_the_partial_choice ... ok
test workflow::port_authoring_tests::boundary_picker_matches_exact_commands_across_contracts_and_ownership ... ok
test workflow::port_authoring_tests::boundary_picker_recomputes_for_unoriented_reverse_endpoints_without_relaxing_contracts ... ok
test workflow::port_authoring_tests::duplicate_port_names_show_owner_contract_and_unique_alias ... ok
test workflow::port_authoring_tests::fresh_functions_are_actual_picker_targets_and_plan_enables_apply ... ok
test workflow::port_authoring_tests::generic_component_port_connection_keeps_its_endpoint_and_direction ... ok
test workflow::port_authoring_tests::ordinary_standard_connections_default_unoriented_and_new_roles_exclude_legacy ... ok
test workflow::recovery::tests::incomplete_relationship_and_trace_recover_raw_fields_and_reject_changed_model ... ok
test workflow::recovery::tests::transition_recovery_replans_typed_request_without_persisted_commands ... ok
test workflow::transition_tests::basic_transition_boundary_choice_is_required_without_an_inferred_system ... ok
test workflow::transition_tests::basic_transition_creates_overview_when_existing_views_cannot_show_result ... ok
test workflow::transition_tests::basic_transition_explicit_destination_appends_below_existing_bounds_and_is_one_source_edit ... ok
test workflow::transition_tests::basic_transition_invalid_explicit_destination_retains_choice_and_refuses ... ok
test workflow::transition_tests::basic_transition_reconcile_keeps_existing_selected_view_placement_and_route_exact ... ok
test workflow::transition_tests::basic_transition_skips_lowest_uuid_state_view_and_preserves_oa ... ok
test result: ok. 761 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 333.60s
@@ -0,0 +1,9 @@
$taskToolchainRoot = $PSScriptRoot
$env:CARGO_HOME = Join-Path $taskToolchainRoot 'cargo'
$env:RUSTUP_HOME = Join-Path $taskToolchainRoot 'rustup'
$env:PATH = (Join-Path $taskToolchainRoot 'cargo\bin') + ';' + (Join-Path $taskToolchainRoot 'llvm-mingw-20260908-ucrt-x86_64\bin') + ';' + $env:PATH
$env:CARGO_BUILD_JOBS = '1'
$env:CARGO_INCREMENTAL = '0'
$env:CARGO_TARGET_X86_64_PC_WINDOWS_GNULLVM_LINKER = 'clang.exe'
$env:RC = Join-Path $taskToolchainRoot 'llvm-mingw-20260908-ucrt-x86_64\bin\llvm-windres.exe'
$env:RUSTUP_TOOLCHAIN = 'stable-x86_64-pc-windows-gnullvm'
@@ -0,0 +1,17 @@
{
"cargo_home": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo",
"rc": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\llvm-mingw-20260908-ucrt-x86_64\\bin\\llvm-windres.exe",
"rustup_home": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\rustup",
"target_dir": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\target",
"python": "C:/Users/User/.cache/codex-runtimes/codex-primary-runtime/dependencies/python/python.exe",
"rustup_toolchain": "stable-x86_64-pc-windows-gnullvm",
"cwd": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\canvas-union-ytr83r-20260911",
"build_jobs": "1",
"cargo_version": "cargo 1.98.1 (797e8a9bc 2026-08-05)",
"preflight_note": "Initial python PATH lookup failed before any Cargo invocation; bundled Python used successfully",
"incremental": "0",
"initial_process_check": "No cargo or rustc processes before focused test",
"linker": "clang.exe",
"recorded_utc": "2026-09-12T10:53:39.4357771Z",
"rustc_version": "rustc 1.98.1 (48a229cea 2026-09-01), LLVM 22.1.8"
}
@@ -0,0 +1,21 @@
{
"started_utc": "2026-09-12T10:52:28.1291256Z",
"name": "repair-union-windows-20260911/focused",
"exit": 0,
"log": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\repair-union-windows-20260911\\focused.log",
"completed_utc": "2026-09-12T10:56:42.7006606Z",
"command": [
"cargo",
"test",
"-p",
"oa-desktop",
"--bin",
"arcadia-studio",
"repair_save_state_tests",
"--offline",
"--locked",
"--",
"--test-threads=1"
],
"seconds": 254.5261259
}
@@ -0,0 +1,13 @@
Compiling oa-desktop v0.2.0 (C:\Users\User\Documents\Git\ARCADIA-Studio\.local\canvas-union-ytr83r-20260911\crates\oa-desktop)
Finished `test` profile [unoptimized] target(s) in 4m 13s
Running unittests src\main.rs (C:\Users\User\Documents\Git\ARCADIA-Studio\target\debug\deps\arcadia_studio-27db9628b266bf39.exe)
running 5 tests
test app::repair_save_state_tests::recovering_applied_repair_rebinds_rolled_back_disk_bytes_without_changing_model ... ok
test app::repair_save_state_tests::recovery_missing_entry_or_failed_reload_preserves_current_destination_save_authority ... ok
test app::repair_save_state_tests::repair_history_compares_to_new_disk_baseline_and_then_successful_save ... ok
test app::repair_save_state_tests::repair_to_previous_saved_bytes_requires_save_at_new_destination_and_guards_close ... ok
test app::repair_save_state_tests::valid_equal_content_at_distinct_destinations_stays_clean ... ok
test result: ok. 5 passed; 0 failed; 0 ignored; 0 measured; 756 filtered out; finished in 0.47s
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,46 @@
$ErrorActionPreference = 'Stop'
$gateRoot = $PSScriptRoot
$mainRoot = 'C:/Users/User/Documents/Git/ARCADIA-Studio'
$statuses = @{}
foreach ($name in @('focused','desktop-tests','desktop-clippy','studio-build')) {
$status = Get-Content -LiteralPath (Join-Path $gateRoot ($name + '-status.json')) -Raw | ConvertFrom-Json
if ($status.exit -ne 0) { throw "Gate failed: $name" }
$statuses[$name] = $status
}
if (Get-Process cargo,rustc -ErrorAction SilentlyContinue) { throw 'Compiler processes still running' }
$verificationPath = Join-Path $gateRoot 'verify-after-build.json'
if (Test-Path -LiteralPath $verificationPath) { throw 'Post-build verification receipt already exists' }
$verification = & 'C:/Users/User/.cache/codex-runtimes/codex-primary-runtime/dependencies/python/python.exe' (Join-Path $mainRoot '.local/repair-union-inputs.py') verify-head
if ($LASTEXITCODE -ne 0) { throw 'Frozen inputs changed after Studio build' }
[IO.File]::WriteAllText($verificationPath, ($verification -join "`n"))
$verified = ($verification -join "`n") | ConvertFrom-Json
$guiSource = Join-Path $mainRoot 'target/debug/arcadia-studio.exe'
$dllSource = Join-Path $mainRoot '.local/toolchain/llvm-mingw-20260908-ucrt-x86_64/bin/libunwind.dll'
if ((Get-FileHash -LiteralPath $dllSource -Algorithm SHA256).Hash -cne 'AA282FA47BB2C4E210CEA5E470CDBDCA58568F0BE0BC73E404D86AB9CD95EF6A') { throw 'Configured DLL hash mismatch' }
$binRoot = Join-Path $gateRoot 'bin'
if (Test-Path -LiteralPath $binRoot) { throw 'Immutable binary directory already exists' }
New-Item -ItemType Directory -Path $binRoot | Out-Null
$records = foreach ($source in @($guiSource,$dllSource)) {
$item = Get-Item -LiteralPath $source
$before = (Get-FileHash -LiteralPath $source -Algorithm SHA256).Hash
$destination = Join-Path $binRoot $item.Name
Copy-Item -LiteralPath $source -Destination $destination
$copied = Get-Item -LiteralPath $destination
$readback = (Get-FileHash -LiteralPath $destination -Algorithm SHA256).Hash
$sourceAfter = (Get-FileHash -LiteralPath $source -Algorithm SHA256).Hash
if ($before -cne $readback -or $before -cne $sourceAfter -or $item.Length -ne $copied.Length) { throw "Copy mismatch: $source" }
$copied.IsReadOnly = $true
@{source=$source;copy=$destination;bytes=$copied.Length;source_sha256=$before;copy_sha256=$readback;source_after_sha256=$sourceAfter;read_only=$copied.IsReadOnly}
}
@{
preserved_utc=[DateTime]::UtcNow.ToString('o')
scope='Windows gates and immutable binary copies only; no native launch or package acceptance'
source_identity='33e30c1cd7a6c99513a0ebd02ba68fccbad8f58d; all 530 frozen inputs independently verified against worktree HEAD'
worktree=(Join-Path $mainRoot '.local/canvas-union-ytr83r-20260911')
input_manifest_sha256=$verified.manifest_sha256
verified_inputs=$verified.files
verified_input_bytes=$verified.bytes
gate_statuses=$statuses
binaries=@($records)
} | ConvertTo-Json -Depth 8 | Set-Content -LiteralPath (Join-Path $gateRoot 'binary-manifest.json')
Get-Content -LiteralPath (Join-Path $gateRoot 'binary-manifest.json')
@@ -0,0 +1,100 @@
{
"recorded_utc": "2026-09-12T11:19:07.081629+00:00",
"files": [
{
"path": "binary-manifest.json",
"bytes": 4173,
"sha256": "1e3e70d4692b817ea4396def3fcfb0d3f3a7ccb9c27308c267213df2a40c1d99"
},
{
"path": "desktop-clippy-status.json",
"bytes": 502,
"sha256": "1e4a0571e6ad4f97d9e52efba5336c6da74fbb86d1557dfbc14552cb652deecb"
},
{
"path": "desktop-clippy.log",
"bytes": 193,
"sha256": "c2fb36abc8b5e656f291e9d45f437b29d7f5257e596dc0b542b334943a5e56f4"
},
{
"path": "desktop-tests-status.json",
"bytes": 496,
"sha256": "2018b063c11937957e55da99bee43f16b4f71ad3dd55484b222488395de57acc"
},
{
"path": "desktop-tests.log",
"bytes": 87316,
"sha256": "db6d56c3e619c6faf5a2eb0636ef45abd9a28791d2f0fd0dd5abecf943f83c3d"
},
{
"path": "environment.json",
"bytes": 1121,
"sha256": "299d024b2db223e6b02c526ff0f076235962ee0d4c6f4fe039b263fd46a1d0e8"
},
{
"path": "exact-inputs.zip",
"bytes": 2145506,
"sha256": "444ee931c9ac8d92dd436079e5c13b78c5ba06e0a033a31eaeb3750a8508a9e4"
},
{
"path": "focused-status.json",
"bytes": 531,
"sha256": "9a7bc6b1ffea1bb5714d4a1e612ec39a1a966b27f1a6ba195e0321e35965c838"
},
{
"path": "focused.log",
"bytes": 1037,
"sha256": "10287deb796cb0352f1a61fa923c8eeac1ec478691cdf3aabcfab93f89c4f584"
},
{
"path": "inputs.json",
"bytes": 102101,
"sha256": "0f21b9a852cf44699bf29fce0a35ec460744c85f5e26f0ea4920e8568211e312"
},
{
"path": "preserve-build.ps1",
"bytes": 3137,
"sha256": "ddb06cf55f2a94cc24a7eb27953c34065bee96ab855db80b685ce1d6c395c074"
},
{
"path": "studio-build-status.json",
"bytes": 474,
"sha256": "d95421f3dec944a3fe23c6f317af5309723d391451baf0ae89ac52854a0071f4"
},
{
"path": "studio-build.log",
"bytes": 193,
"sha256": "e76b6599aef91833b4a0596663ae0fa1cb080032d5f1f667c8852a161ad0c3a1"
},
{
"path": "verify-after-build.json",
"bytes": 199,
"sha256": "b4795fd3b9bd267685146fbb6c453d5d989f097f789358ecf0dc2a709950e5f5"
},
{
"path": "verify-before-build.json",
"bytes": 201,
"sha256": "a3b199e548f484161a8667d6dc2f03b86814f8ba7388352129cb89b705e1397a"
},
{
"path": "verify-before-clippy.json",
"bytes": 201,
"sha256": "6c8e04ccc63313aea5cbb79b36d305a528a19c3658fba9e3af72c99595fb13e8"
},
{
"path": "verify-before-desktop-tests.json",
"bytes": 201,
"sha256": "07211c34efbe59e54585ed538e8b09dc97a1bb5b621b61ba2b39e9b939101345"
},
{
"path": "verify-before-focused.json",
"bytes": 196,
"sha256": "eff77e075ffe285f2b4240c58a513b0d339d0156ef1efa1531ea60fa5f086d7b"
},
{
"path": "write-report.py",
"bytes": 5017,
"sha256": "143950b5005fcb90d842dc8e34f6238cc9d6beadb8470f912dc19578fc88bcd2"
}
]
}
@@ -0,0 +1,61 @@
"""Freeze or verify exact local Windows integration inputs; no compiler invocation."""
from pathlib import Path
import datetime
import hashlib
import json
import subprocess
import sys
import zipfile
root = Path(__file__).resolve().parent.parent
worktree = root / '.local/canvas-union-ytr83r-20260911'
out = root / '.local/repair-union-windows-20260911'
manifest = out / 'inputs.json'
paths = sorted(set(subprocess.run(
['git', 'ls-files', '-co', '--exclude-standard', '--', 'crates', 'assets',
'build', '.cargo', 'examples', 'docs', 'harness/fixtures', 'Cargo.toml',
'Cargo.lock', 'rust-toolchain', 'rust-toolchain.toml'],
cwd=worktree, capture_output=True, check=True).stdout.decode().splitlines()))
files = []
for name in paths:
data = (worktree / name).read_bytes()
files.append({'path': name, 'bytes': len(data),
'sha256': hashlib.sha256(data).hexdigest()})
now = datetime.datetime.now(datetime.timezone.utc).isoformat()
if sys.argv[1] == 'freeze':
assert not manifest.exists() and not (out / 'exact-inputs.zip').exists(), 'Refusing to overwrite an existing input freeze'
out.mkdir(exist_ok=True)
with zipfile.ZipFile(out / 'exact-inputs.zip', 'w', zipfile.ZIP_DEFLATED) as archive:
for item in files:
archive.write(worktree / item['path'], item['path'])
record = {'captured_utc': now, 'worktree': str(worktree),
'baseline': '0d39d58ebdacc9c5f6c147dfcc93259a8c5f742f',
'peer': '33c6d83e9ba9a5b1310b1b627d7c40affcbcf15c',
'scope': 'Saved-destination repair candidate on the a57 canvas and cb91525 grapheme union; Windows-only execution. '
'All crate, build, asset, Cargo, example, documentation and fixture inputs.',
'files': files}
manifest.write_text(json.dumps(record, indent=2) + '\n', encoding='utf-8')
elif sys.argv[1] in ('verify', 'verify-index', 'verify-head'):
record = json.loads(manifest.read_bytes())
assert record['files'] == files, 'Source inventory or bytes changed after freeze'
if sys.argv[1] != 'verify':
prefix = ':' if sys.argv[1] == 'verify-index' else 'HEAD:'
response = subprocess.run(['git', 'cat-file', '--batch'], cwd=worktree,
input=''.join(prefix + f['path'] + '\n' for f in files).encode(),
capture_output=True, check=True).stdout
offset = 0
for item in files:
end = response.index(b'\n', offset)
oid, kind, count = response[offset:end].split()
assert kind == b'blob', item['path']
size = int(count)
data = response[end+1:end+1+size]
assert size == item['bytes'] and hashlib.sha256(data).hexdigest() == item['sha256'], item['path']
offset = end + size + 2
assert offset == len(response)
else:
raise ValueError('Expected freeze or verify')
print(json.dumps({'mode': sys.argv[1], 'utc': now, 'files': len(files),
'bytes': sum(f['bytes'] for f in files),
'manifest_sha256': hashlib.sha256(manifest.read_bytes()).hexdigest(),
'pass': True}))
@@ -0,0 +1,25 @@
param(
[Parameter(Mandatory=$true)][string]$GateName,
[Parameter(Mandatory=$true)][string[]]$CargoArgs
)
$ErrorActionPreference = 'Stop'
. (Join-Path $PSScriptRoot 'toolchain\env.ps1')
$gateLog = Join-Path $PSScriptRoot ($GateName + '.log')
$gateStatus = Join-Path $PSScriptRoot ($GateName + '-status.json')
$gateStart = [DateTime]::UtcNow
$gateTimer = [Diagnostics.Stopwatch]::StartNew()
& cargo @CargoArgs *> $gateLog
$gateExit = $LASTEXITCODE
$gateTimer.Stop()
@{
name = $GateName
command = @('cargo') + $CargoArgs
started_utc = $gateStart.ToString('o')
completed_utc = [DateTime]::UtcNow.ToString('o')
seconds = $gateTimer.Elapsed.TotalSeconds
exit = $gateExit
log = $gateLog
} | ConvertTo-Json -Depth 3 | Set-Content -LiteralPath $gateStatus
Get-Content -LiteralPath $gateStatus
Get-Content -LiteralPath $gateLog -Tail 16
exit $gateExit
@@ -0,0 +1,18 @@
{
"started_utc": "2026-09-12T11:10:41.3626219Z",
"exit": 0,
"log": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\repair-union-windows-20260911\\studio-build.log",
"completed_utc": "2026-09-12T11:17:06.7337634Z",
"command": [
"cargo",
"build",
"-p",
"oa-desktop",
"--bin",
"arcadia-studio",
"--offline",
"--locked"
],
"seconds": 385.3034284,
"name": "repair-union-windows-20260911/studio-build"
}
@@ -0,0 +1,2 @@
Compiling oa-desktop v0.2.0 (C:\Users\User\Documents\Git\ARCADIA-Studio\.local\canvas-union-ytr83r-20260911\crates\oa-desktop)
Finished `dev` profile [unoptimized] target(s) in 6m 22s
@@ -0,0 +1 @@
{"mode": "verify-head", "utc": "2026-09-12T11:18:13.692878+00:00", "files": 530, "bytes": 9727025, "manifest_sha256": "0f21b9a852cf44699bf29fce0a35ec460744c85f5e26f0ea4920e8568211e312", "pass": true}
@@ -0,0 +1 @@
{"mode": "verify-head", "utc": "2026-09-12T11:10:34.069554+00:00", "files": 530, "bytes": 9727025, "manifest_sha256": "0f21b9a852cf44699bf29fce0a35ec460744c85f5e26f0ea4920e8568211e312", "pass": true}
@@ -0,0 +1 @@
{"mode": "verify-head", "utc": "2026-09-12T11:03:25.539274+00:00", "files": 530, "bytes": 9727025, "manifest_sha256": "0f21b9a852cf44699bf29fce0a35ec460744c85f5e26f0ea4920e8568211e312", "pass": true}
@@ -0,0 +1 @@
{"mode": "verify-head", "utc": "2026-09-12T10:57:06.978897+00:00", "files": 530, "bytes": 9727025, "manifest_sha256": "0f21b9a852cf44699bf29fce0a35ec460744c85f5e26f0ea4920e8568211e312", "pass": true}
@@ -0,0 +1 @@
{"mode": "verify", "utc": "2026-09-12T10:52:26.973182+00:00", "files": 530, "bytes": 9727025, "manifest_sha256": "0f21b9a852cf44699bf29fce0a35ec460744c85f5e26f0ea4920e8568211e312", "pass": true}
@@ -0,0 +1,49 @@
from pathlib import Path
import datetime
import hashlib
import json
import subprocess
folder = Path(__file__).resolve().parent
root = folder.parent.parent
worktree = root / '.local/canvas-union-ytr83r-20260911'
report = root / '.local/repair-union-windows-gates-report.md'
assert not report.exists(), 'Refusing to overwrite report'
names = ('focused', 'desktop-tests', 'desktop-clippy', 'studio-build')
statuses = [json.loads((folder / (name + '-status.json')).read_text(encoding='utf-8-sig')) for name in names]
assert all(s['exit'] == 0 for s in statuses)
manifest = json.loads((folder / 'binary-manifest.json').read_text(encoding='utf-8-sig'))
head = subprocess.run(['git','rev-parse','HEAD'],cwd=worktree,capture_output=True,check=True,text=True).stdout.strip()
lines = [
'# Saved-destination repair union: Windows gates', '',
'Owner: Codex /root/windows_gates. All four authorized gates passed serially, with frozen-input verification between gates and after the final GUI build. No source edits or native launch occurred.', '',
'Source: `33e30c1cd7a6c99513a0ebd02ba68fccbad8f58d`, saved-destination repair on the canvas/grapheme union. The focused test began against these exact bytes before the parent committed them; all subsequent boundaries independently verified the same 530 files against worktree HEAD. Later HEAD at report time: `' + head + '`; parent owns metadata-only integration changes.', '',
'Worktree: `' + str(worktree) + '`. Environment: Windows `stable-x86_64-pc-windows-gnullvm`, Cargo 1.98.1, rustc 1.98.1 / LLVM 22.1.8, configured clang linker, one build job, incremental compilation disabled, shared root `target`. Full environment paths are in `repair-union-windows-20260911/environment.json`. Gates used reviewed `.local/run-gate.ps1` and `.local/toolchain/env.ps1`.', '',
'| Gate | Exact command | Started UTC | Completed UTC | Seconds | Exit |',
'| --- | --- | --- | --- | --- | --- |',
]
for name, status in zip(names, statuses):
lines.append(f"| {name} | `{' '.join(status['command'])}` | {status['started_utc']} | {status['completed_utc']} | {status['seconds']:.3f} | {status['exit']} |")
lines.extend(['', 'Focused repair tests: **5 passed, zero failures**. Desktop all-target tests: **761 passed, zero failed/ignored**. Strict Clippy and final GUI build completed without diagnostics. Build profile: unoptimized dev. Complete logs and closed status JSON are retained beside this report in `repair-union-windows-20260911/`.', '',
'Frozen inputs: **530 files / 9,727,025 bytes**. Manifest SHA256: `0f21b9a852cf44699bf29fce0a35ec460744c85f5e26f0ea4920e8568211e312`. Existing `inputs.json` and `exact-inputs.zip` were never re-frozen or overwritten. Verification receipts:', ''])
for path in sorted(folder.glob('verify-*.json')):
record = json.loads(path.read_text(encoding='utf-8-sig'))
lines.append(f"- `{path.name}`: `{record['mode']}`, {record['utc']}, PASS.")
lines.extend(['', 'No surviving Cargo/compiler processes were observed before gates. Each running Cargo tool session was consumed before the next gate; the final binary preservation also required no cargo/rustc process. Cargo/rustup/Clippy wrappers may produce multiple process entries within one invocation. An initial preflight `python` PATH lookup failed before compiler execution; using the bundled Python path resolved it. No gate retry or source fix was required.', '',
'Immutable GUI and required runtime DLL copies, preserved with source-before/copy/source-after hash agreement and matching lengths:', '',
'| Artifact | Bytes | SHA256 |', '| --- | --- | --- |'])
for item in manifest['binaries']:
lines.append(f"| `{item['copy']}` | {item['bytes']} | `{item['copy_sha256']}` |")
lines.extend(['', 'Both copies were marked read-only. Exact source/copy paths and provenance are in `binary-manifest.json`; `preserve-build.ps1` records the guarded procedure. Preservation UTC: ' + manifest['preserved_utc'] + '.', '',
'Receipt hashes:', ''])
hashes = []
for path in sorted(folder.iterdir()):
if path.is_file():
hashes.append({'path': path.name, 'bytes': path.stat().st_size, 'sha256': hashlib.sha256(path.read_bytes()).hexdigest()})
hash_path = folder / 'receipt-hashes.json'
assert not hash_path.exists()
hash_path.write_text(json.dumps({'recorded_utc': datetime.datetime.now(datetime.timezone.utc).isoformat(), 'files': hashes}, indent=2) + '\n', encoding='utf-8')
lines.extend(['`repair-union-windows-20260911/receipt-hashes.json` records complete log/status/input/archive/helper receipt hashes. Binary hashes are separately verified in the binary manifest.', '',
'Scope: Windows Cargo execution and preservation only. No source, Git index, Gitea, STATE, WSL, UI, or launch changes by this worker. Parent owns native behavioral testing, integration, packaging acceptance, and publication. These gates alone do not establish native usability or release completion.', ''])
report.write_text('\n'.join(lines), encoding='utf-8')
print(report)