Verify compact source editing in the native application
This commit is contained in:
@@ -0,0 +1,86 @@
|
||||
# Compact source native workflow evidence
|
||||
|
||||
This package preserves two completed Windows native runs of the default-omission
|
||||
followup, including the original screenshots, window/accessibility metadata,
|
||||
process receipts, producers, input fixture, and both saved source bundles.
|
||||
Run the read-only archive check from any checkout with Python 3:
|
||||
|
||||
```text
|
||||
python harness/experiments/default-native-20260913/verify.py
|
||||
```
|
||||
|
||||
The verifier reads ZIP members in memory. It does not extract files, run the
|
||||
archived programs, build code, or modify the checkout. `files.json` pins the other
|
||||
three outer files; `capture-files.json` pins every original payload inside the ZIP.
|
||||
These hashes establish internal consistency, not cryptographic attestation.
|
||||
|
||||
## Source and executable provenance
|
||||
|
||||
Both native runs record the same 115,056,640-byte `arcadia-studio.exe`, SHA-256
|
||||
`4070927256414a770c5fbcedfaab922810cea33d9f07610b81e9ab8c0465da44`.
|
||||
Their build receipt and the original build stdout/stderr, producer, and complete
|
||||
613-file executed-input snapshot are included under `build/`. These are copied
|
||||
unchanged from the
|
||||
[published consumer package](../default-consumers-20260913/README.md) at commit
|
||||
`94383107153cccb32f3fdcbd8111b6381f3e15aa`.
|
||||
The actual build recorded HEAD `df2e1cd65ca5e56f47669e04a9d4bcb426900fcd`
|
||||
plus the HTTP test subsequently published in `9438310`; the captured source bytes,
|
||||
rather than HEAD alone, identify the tested input. Production code is unchanged
|
||||
from `7bb366f66a8c6f8b6f66fc9b04c9e3b39f84b78e`.
|
||||
No executable is distributed in this evidence package.
|
||||
|
||||
Both native process receipts close with exit code zero and empty stdout/stderr.
|
||||
Trial 2 additionally pins its producer at launch and its immutable baseline ZIP.
|
||||
Trial 1's runner and the screenshot helper are preserved as original local
|
||||
producers but were not contemporaneously hashed by that trial's receipt.
|
||||
Do not mistake a packaging-time hash for stronger historical provenance.
|
||||
The helper initially selects `trial-1`; the interactive session changed its
|
||||
output directory to `trial-2` for the continuation. Original producer bytes are
|
||||
preserved, including their historical machine-specific paths.
|
||||
|
||||
## Workflow and evidence boundaries
|
||||
|
||||
Trial 1 opened the minimal source fixture, created one activity through Model
|
||||
Explorer, inspected its compact source, and saved the resulting two-file bundle.
|
||||
The important frames are `13-created-activity`, `17-compact-new-activity`, and
|
||||
`27-cleanup-save-submitted`. Intermediate dialog focus and retry captures remain
|
||||
in the archive; the trial was closed before the cleanup interruption.
|
||||
|
||||
Trial 2 reopened that baseline and dragged Work. Its Text view showed x=190,
|
||||
model Undo showed x=120, and model Redo showed x=190 again. It then used Save As,
|
||||
cleared the current model, reopened the saved result, and inspected both source
|
||||
files. Review these frames with their adjacent JSON metadata:
|
||||
|
||||
- `03-baseline-loaded`, `04-drag-work`, `05-text-after-move`.
|
||||
- `06-model-actions`, `07-undo-model`, `08-redo-menu`, `09-redo-model`.
|
||||
- `17-save-complete`, `19-clear-current-model`, `22-reopened-root`,
|
||||
`25-reopened-compact-activity`.
|
||||
|
||||
Screenshot interpretation and the intermediate undo/redo observations require
|
||||
human review. The archive verifier checks their inventory, metadata, timing and
|
||||
byte hashes; it does not infer visible behavior from frame names or run OCR.
|
||||
The machine-checkable before/after oracle independently requires exact bundle
|
||||
membership and bytes: one compact new activity with stable UUID
|
||||
`1e1da408-da79-42ab-a990-9d00b7dc2631`, one root include, and the sole subsequent
|
||||
change `position { x 120.0; y 80.0; };` to
|
||||
`position { x 190.0; y 80.0; };`. The explicit
|
||||
`port_anchors [] ; // Keep explicit automatic placement.` survives exactly.
|
||||
|
||||
`native/bundle-checks/` preserves both closed CLI checks and their original
|
||||
`native/check-saved-bundles.py` producer. Both full bundles parsed and validated,
|
||||
with four expected draft warnings (each activity is unallocated and lacks behavior
|
||||
context), no errors, no IDs requiring stabilization, and no source changes. These
|
||||
checks do not compare the entire parsed model. After explicit extraction to a
|
||||
chosen directory, a rebuilt CLI can check `native/saved-before/project.arcadia`
|
||||
and `native/saved-after/project.arcadia`; the verification script itself never
|
||||
extracts or executes them.
|
||||
|
||||
On reopen the diagram fits/recenters, so screen coordinates cannot prove the
|
||||
persisted x value; the reopened Text frame supplies that observation. Save dialog
|
||||
frames 14–16 retain a filename-selection automation quirk: text first appended,
|
||||
then was visibly corrected before submission. No incorrect path was submitted.
|
||||
|
||||
This is evidence for one ordinary source/graphical workflow on Windows. It is
|
||||
not an exhaustive usability assessment, Linux result, performance experiment,
|
||||
packaged application verification, or full release acceptance. See the linked
|
||||
consumer and core evidence for broader automated coverage.
|
||||
Reference in New Issue
Block a user