Files
ARCADIA-Studio/harness/experiments/edge-attachments-53d01a3-20260923/integration-review.md
T

7.8 KiB
Raw Blame History

Issue 33 integration handoff audit — 2026-09-23

Read-only audit by Codex-ytr83r/union_compatibility. Inspected actual local commits, current Gitea comments and remote branch heads. No merge, build, source edit, ownership claim or publication performed. Parent reports both corrected native runs closed; their final evidence publication remains the parent's task. This note does not certify a combined union.

Ownership and exact import range

Latest owner-authored #27 checkpoint remains comment1005: Codex-956atf owns integration/release, resumed explicitly, published release branch b278866e8c79ea15ed842c1ba6bab3ca97da380a, and is reviewing the ordinary/Text proposal. Later comments1010/1015 provide our Scenario/inspector handoffs without transferring ownership. Current remote ls-remote confirms release head b278866, attachment Escape head53d01a3 and transition head d0b7c28. The ordinary/Text base remains a proposal, not an already accepted union.

Attachment source is a linear three-commit range above 3f9e6a18af96b5cd10940da4093be8da28b9c835:

  1. 79cc9d555144d5bba34962bf08b5628f1456bc1d: model/source/API contract, routing geometry, ordinary and State editing, lifecycle/HTTP tests, docs and native evaluator/fixture.
  2. 3aa80de89c5b79200286926781e8f3a192bc61f4: overshoot side selection, actual semantic trace-port endpoint routing, source/default/validation corrections and corresponding regressions. Also includes a formatting-only focus tuple change.
  3. 53d01a3d4451b94792986f2dfac56f6f04e111a4: immediate post-menu State attachment Escape fallback and mounted production-wrapper/subscription regressions. Do not import only this last commit: it assumes the two predecessors.

Fetch gitea branch codex/edge-anchors-escape-ytr83r-20260923, resolve its actual pin, then inspect git log --reverse --oneline 3f9e6a18..53d01a3 and git diff 3f9e6a18 53d01a3 -- <path>. If the integration checkout already contains the accepted ordinary/Text base, the three commits above are the ordered contribution. Otherwise first compose that prerequisite with owner-held changes; do not reset the integration branch to our head. Windows inspection of this history needs command-local git -c core.longpaths=true to avoid false missing-file reports from historical evidence paths. Never push origin.

Verified interfaces and composition seams

  • Model/source contract: at53d, crates/oa-core/src/model.rs:1503–1543 adds optional route-end attachments and EdgeEnd; source_defaults.rs:100,262 handles absent fields in complete editing templates; validation.rs:650 enforces finite [0,1] offsets. Preserve absence versus authored precision and per-view ownership. Existing EdgeRoute literal changes scattered through tests/consumers are required compatibility fields, not unrelated behavioral rewrites. Canonical export/ordinary compact insertion and Scenario authored-layout-none preservation must coexist.
  • Scenario/inspector overlap: comparing attachment net3f9→53d with Scenario common-base c6d296a7e22c8f126834a1e217b88551634dd5cf→14e7 identifies shared paths including model.rs, validation.rs, app.rs, app/state_diagram.rs, behavior/state_canvas.rs, behavior/state_edit.rs, behavior/canvas_workspace/tests.rs, diagram.rs, model_menu.rs, guide.rs, views.rs, source consumers/tests and language docs. These are shared-file overlaps, not newly demonstrated textual conflicts. The prior composition note documents the larger base reconciliation. Preserve stamped Scenario admission/selection/camera/spacing plus Text source-session guards. In views.rs our only production delta is ordinary-canvas selected_attachment wiring near469; keep the separately published14e7 grouped tabs/actions header and Scrollable outer child1 intact.
  • Escape/focus ordering: app.rs:2337 resets only active State AdjustAttachment after earlier menu/modal/form ownership; no focus or model command is added. Keep this fallback alongside integrated Text/Scenario Escape priorities. Do not solve it by granting canvas keyboard ownership after menus: that risks Delete/focus semantics. The mounted tests use actual widget status through App subscriptions.
  • Published transition work: actual remote d0b7c285018a516c6dc34c196d1359a861ddaeb3 is also based on3f9. Its production commit is acbfb6cc929cb08b599b2e8ccf4d6752e63b84a8, followed by formatting d46854c2dc719bb8b44a0978102de44ecc3a6b39 and evidence commits. Its net changed-path intersection with this contribution is only diagram/focus.rs, and the final file bytes already match exactly; the tuple formatting is not a behavioral collision. Transition changes live in core transitions.rs and workflow.rs/counterparts.rs/recovery.rs, which attachments do not edit. Semantic integration still needs lifecycle checks: retained edge-end preferences on semantic reconnect, deletion/recreation, and copied/retained routes with new optional fields. See its committed harness/transition-lifecycle-20260913.md; no tested union is inferred from disjoint paths.
  • #16 resize: latest comment703 explicitly rejects isolated7e25b3d and labels6203b5c unrun. Ownership remains Codex-956atf. Neither candidate was fetched or integrated here, so this audit makes no invented exact textual-conflict claim against those isolated candidate implementations. Attachments leave projection/port_layout.rs unchanged. The shared geometry contract is concrete: route attachments use final projected bounding boxes/contours, semantic port markers override dormant route preferences, resizing/moving changes projected tips without rewriting stored fractions, and active gesture viewport/context changes cancel. Any future resize implementation must preserve inactive authored dimensions and its exact projected preview/reopen rules; do not silently adopt the rejected port-capacity policy.

Focused combined verification

After resolving actual source composition, run the existing attachment core suites (attachment_geometry, attachment_lifecycle, attachment_trace_ports, attachment_workshop, edge_attachments), server attachment transaction/export/restart tests, ordinary pointer cancellation/stale commit tests and both mounted State Escape tests. Include combined Scenario saved-view/Details/spacing and Text source-default/rename/focus regressions at the composition seams. Recheck native source/target menu Escape without a canvas click, one-field drag/reset, Undo/Redo and reopen; separately retain semantic reconnect and port movement controls. Broader existing suites/strict lint/build belong to the final combined source pin.

Evidence already obtained for53d is the same tested raw source committed afterward: two mounted tests, desktop1194 passed/6 ignored, strict desktop all-target Clippy and GUI build. Earlier3aa workspace evidence and original native results remain pinned to3aa. Corrected GUI/evaluator provenance is deliberately split (53d GUI, unchanged-core3aa evaluator); shared-target overwrite/recovery is recorded, not erased. Parent will attach final portable archives and native conclusions to #33/#27. Linux remains user-paused. No claim that these branch-specific results establish integration acceptance, #16 completion, Process/Scenario arbitrary attachments, or a release.