Files
ARCADIA-Studio/harness/release-contextual-route-native-fix-20260907.md
T
Codex e2ecfea69b
Rust checks / check (ubuntu-latest) (push) Canceled after 0s
Rust checks / check (windows-latest) (push) Canceled after 0s
Checkpoint source 7 workflows and in-progress diagram authoring redesign
Preserve current core, source, REST, desktop, recovery, documentation and validation work, including AGENTS.md and the development summary. This is a work-in-progress checkpoint: the new compact palette has outstanding compilation errors and native acceptance; earlier passing gates retain their documented scope.
2026-09-10 10:06:55 -07:00

79 lines
4.7 KiB
Markdown

# Contextual path native finding
Confirmed from accepted source and production code, independently of the screenshot.
The accepted `oa-link-accepted/project.arcadia` SHA256 is
`40351AF825518FE44FCD67E33D5289C2FD3C1AFBF29A2A7D27BA11896918CD5F`.
Its link `d5eb66cc-231e-477a-97ea-521c065e1415` has owner `oa_caller`, source
`[]/oa_x`, target `[oa_r1]/oa_b`, and guard `Check accepted`. The source identity
and `endpoint_rect` matching are correct.
## Defect
With the fixture's ordinary preview, all caller contributions occupy x=24..294.
X occupies y=24..128. First assessment begins at y=164; its visible B mini-card is
`(161,282,113,32)`. The old route correctly ended at `(161,298)`, but used
`end.x-16=145` as its long vertical return gutter. That lies inside First, Second,
and Nested assessment cards. The route unnecessarily went below every card first.
Additionally, contextual arrows were painted before opaque outer reference
backgrounds. That covered the terminal arrow even though its semantic anchor was
correct. Selection prioritized the enclosing reference over the visible terminal
stub. This is a routing/paint/hit-testing defect, not an endpoint or model defect.
## Bounded correction (desktop only)
- Route via outer-card column gutters. Visible left/right mini-columns connect
through their outward-facing host padding; hidden addresses use the host border.
- The native X→First.B case now follows `(294,76) → (312,76) → (312,298) → (274,298)`:
a short clear right gutter terminating on B's right border. Other-side routes
retain a bounded below-card detour. Parallel exact links keep distinct paths and
labels. Caller layout, source identities, and bounded preview enumeration stay
unchanged.
- Explicit paint passes keep legacy direct edges below node backgrounds while
painting contextual paths after outer backgrounds and before mini-card content.
Thus the arrowhead stays visible in the selected mini-card's clear outer padding.
- Exact mini-card selection remains first, followed by selected direct-link
endpoint handles, then contextual stubs, then enclosing references. Independent
review caught an initial mixed-edge priority regression: when both edge kinds
shared X's source anchor, the contextual hit stole the direct reconnect press.
The corrected ordering preserves that selected handle's drag behavior.
Owned files: `behavior/topology.rs`, `behavior/topology/direct.rs`, and new
`behavior/topology/contextual_routing.rs`. Targeted rustfmt completed; no Cargo run
was made while the Linux worker held the heavy execution lease. This desktop delta
does not change the frozen Linux core/server snapshot's tested sources.
Three prepared tests reconstruct the tracked native baseline in both layers, assert
the exact corrected route, reject intersections with unrelated outer/mini cards,
check the paint-pass ordering actually consumed by drawing, and exercise real
mouse publication at 45% and 100% (stub→link, mini→qualified endpoint). Further
cases cover nested visible/hidden targets, parallel links, and unchanged legacy
procedure routes/extents. Selected direct reconnection sharing a contextual source
anchor is also exercised through real mouse input at both scales. That regression checks the
press publishes no replacement selection and the drag emits the exact direct-link
source reconnect event.
After Linux shutdown, Windows one-job execution passed without further changes:
- `cargo test --locked -p oa-desktop --bin arcadia-studio contextual_route_ -- --test-threads=1`:
3/3 passed, exit 0; command 182.18 s including compilation, tests 0.12 s.
Log `.local/source7-routing-focused-tests.log`.
- Full `oa-desktop --bin arcadia-studio` tests: 564/564 passed, exit 0;
command 280.16 s, tests 277.65 s. Log `.local/source7-desktop-post-routing-tests.log`.
This compiled the desktop **test binary** and ran existing process interaction,
source/history and all other desktop regressions. A fresh standalone GUI build,
strict checks and native routing/terminal-paint verification remain separate gates.
## Native recheck
Open the unchanged accepted `oa-link-accepted` source in the rebuilt desktop.
Select First assessment gate at 100%, then Fit. Confirm the path stays to the right
of the reference cards and terminates visibly at First.B's right border; it must
not pass through Second/Nested or dive below them for this one link. Click the
terminal stub to select the link, then B's mini-card to select `[oa_r1]/oa_b`.
Verify the full From/To labels, unchanged accepted model/source bytes, and existing
Open definition/Back controls. Check one expanded nested target and its collapsed
host fallback. Fit may change slightly because the unnecessary detour no longer
extends canvas height; the underlying column layout is deliberately unchanged.