3.9 KiB
Timed transition: actual saved bundle oracle
The actual two-file native save independently parsed, validated and reopened with
exactly the intended graph changes. The entry file alone was not treated as the
accepted model: the oracle read both state-recovered-renamed.arcadia and its
sa/model.arcadia include from .local/native-qa.
The staged production service was launched on an isolated loopback port with fresh
synthetic storage and a system-only PATH. Its SHA256 was
BB775876741FE4A7B07CDE08940AEC8E23F545FDAFEC024FC4DC3BA6DD1AB9FC.
Both pristine and saved bundles passed /api/v1/projects/import-source-project;
the returned native Projects were compared structurally, with object-key ordering
normalized and sequence ordering retained.
Exact accepted delta
The expected entire Project was constructed from the pristine parsed Project by only these changes, then compared for full equality to the saved parsed Project:
- Add SA Event
49044cb7-5f91-408a-86fc-1cc012eb2972, aliasafter_30_s, nameAfter 30 s, empty description, no parent, typedTime { kind: After, expression: "30 s" }. - Rename existing StateTransition
f0060906-0000-4000-8000-000000000033fromRefresh statustoUnfinished timed refresh. - Append the new Event ID after the original Sample tick Event
f0060906-0000-4000-8000-000000000013in that transition's typed trigger list.
Full Project equality passed. The original trigger Event remains Time/After
1 s. The transition retains alias refresh_status, Internal kind, Ready→Ready
endpoints, empty free-text trigger, guard pressure_valid, typed effect
f0060906-0000-4000-8000-000000000011 (Monitor pressure) and free-text effect
Update status display. All other elements, relations, IDs, source-independent
model metadata, state actions, containment, diagram placements, sizes, collapse
states, routes, traces and artifact links remain equal.
Counts are pristine 14→saved 15 elements, 10 relations, 1 diagram and 8 placements.
The saved graph has no structural errors. Its three existing
work_without_behavior_context warnings address the three work functions; typed
state actions do not constitute process/scenario evidence under the coverage policy.
GET source-project also matched the exact two submitted file contents and entry name. After force-stopping and restarting only the oracle server, model, two-file source bundle and ETag still matched. Before/after hashes of all original input files were identical; the oracle did not rewrite native artifacts.
Inputs and reproducibility
| Source file | SHA256 |
|---|---|
.local/native-fixtures/state-actions.arcadia |
9CDE82608110E56AA9E14C9E33EB38976F53AED74AB013145D411D5743A0EC26 |
.local/native-qa/state-recovered-renamed.arcadia |
AD8FD359CE7B0BE4F3AE0F55424EEB4EE032DEFB359F2F5AD89C00A79B62DADF |
.local/native-qa/sa/model.arcadia |
8FB649F8ABB93CF4C321F2D847A1A9F1A1551E0F713E938C46EF11E24DC58801 |
Tracked runner: harness/fixtures/run-timed-bundle-oracle.ps1. From the repository
root, using PowerShell7 and the actual saved artifacts:
$env:PATH = "$env:SystemRoot\System32;$env:SystemRoot;$env:SystemRoot\System32\Wbem"
& harness/fixtures/run-timed-bundle-oracle.ps1 -ServerExe .local/native-qa/bin-20260906-corrected/arcadia-server.exe -PristineFile .local/native-fixtures/state-actions.arcadia -SavedEntry .local/native-qa/state-recovered-renamed.arcadia
Evidence: .local/timed-bundle-oracle-20260906-162848/ contains exact bundle request
payloads, parsed models, accepted/reopened bundles, response status/ETags, validation,
input hashes and result.json with the before/after transition. The response pairs
are sufficient to repeat the graph comparison even if the native files later move.
All owned oracle processes were stopped. This is independent parser/persistence
proof of the native save, not an additional native interaction or Linux claim.