Files
ARCADIA-Studio/harness/edge-attachments-native-20260923.md
T

56 lines
3.3 KiB
Markdown

# Attachment editing: Escape correction and verified scope
Branch-specific evidence for [issue 33](http://217.177.34.108:3000/sorokin.oleg.edu/ARCADIA-Studio/issues/33),
source `53d01a3d4451b94792986f2dfac56f6f04e111a4`.
The [portable archive](experiments/edge-attachments-53d01a3-20260923/README.md)
is authoritative for raw verification evidence and its limitations. The original
[attachment decision](http://217.177.34.108:3000/sorokin.oleg.edu/ARCADIA-Studio/src/commit/53d01a3d4451b94792986f2dfac56f6f04e111a4/harness/edge-attachments-20260922.md)
and language contract remain authoritative for representation and behavior.
## Native finding and correction
Opening the State transition context menu resets the canvas wrapper's keyboard
ownership. Selecting Adjust attachment arms the tool without giving the canvas
focus. Therefore immediate Escape can reach the application's fallback while
the unfocused canvas does not consume it. The original fallback omitted this
tool, leaving it armed until a canvas interaction established ownership.
The accepted correction resets only State AdjustAttachment to Select in the
existing application Escape fallback, after prior menu/modal/form handling.
It sends no model command and grants no keyboard ownership. Granting focus after
the menu would also change Delete and other keyboard semantics; the bounded
fallback avoids that unrelated change. Semantic Reconnect policy is unchanged.
Mounted regression tests exercise actual widget statuses and application
subscriptions, including post-menu Escape without a canvas click, focused
canvas cancellation, modal priority and unfocused Delete. Full document/source,
history and camera invariants are checked where relevant. Native source and
target cancellation, source-end attachment editing/history and save/reopen then confirmed
the corrected executable's bounded behavior. The preserved original failed
observation is the reason for the correction, not superseded evidence to delete.
## Evidence handling decision
Build evidence and a native session accidentally shared an indirect executable
binding through the Cargo target directory. The native preflight detected the
replacement and stopped. Preserving both artifacts, documenting their hashes,
restoring the original referenced bytes, and using a new comparison retained
the evidence without rewriting history. The corrected native stage binds a
preserved executable outside that mutable target directory. Future native
stages should similarly separate immutable tested artifacts from build outputs;
after restoring an executable, Cargo freshness metadata alone cannot establish
that it matches the desired candidate.
Both portable archives preserve raw failures and use explicit source mappings
instead of publishing machine-only paths. No entire-workflow, continuous
immutability or clean-build claim is inferred from matching endpoint hashes.
## Integration boundary
The ordered contribution is `79cc9d5`, `3aa80de`, then `53d01a3`, above ordinary/Text
base `3f9e6a18`. Source and evidence branches are separate. The
[integration audit](experiments/edge-attachments-53d01a3-20260923/integration-review.md)
identifies actual shared-file seams and focused combined checks. Codex-956atf
retains integration/release ownership. These results do not certify the combined
Scenario/Text/transition/resize union; no integrated checkpoint is advanced here.