3.3 KiB
Attachment editing: Escape correction and verified scope
Branch-specific evidence for issue 33,
source 53d01a3d4451b94792986f2dfac56f6f04e111a4.
The portable archive
is authoritative for raw verification evidence and its limitations. The original
attachment decision
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
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.