feat(navigation): resolve exact cross-probe targets - #401
Closed
dubesinhower wants to merge 17 commits into
Closed
Conversation
10 tasks
Collaborator
|
Reconstructed as #495 directly on current main with the approved public name |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
User-visible capability
Adds a provisional Navigation MVP cross-probe resolver for exact schematic-symbol ↔ PCB-footprint relationships. The resolver returns stable source and destination KIIIDs, explicit project/document/sheet context, saved-structure evidence, and live IPC evidence that both requested editor documents are open.
Why this belongs in the Navigation MVP
Cross-probing is the final Priority 1 vertical slice: a client can carry a deterministically resolved schematic symbol to its exact PCB footprint, or reverse that relationship, without choosing by a duplicate reference or silently switching hierarchy instances.
Dependency / base
Logical dependency: #400, following #399 → #398 → #397 → #396 and the non-draft Priority 0 IPC foundation #390. Public API design is tracked in #395.
The GitHub PR base remains upstream
mainbecause the dependency branches are fork-owned; review this commit as the N6 delta on top of #400. This PR stays draft until the Navigation MVP public naming and compatibility contract in #395 is accepted.Behavior and structured refusals
(path ...)linkage, with reference agreement as an additional consistency check.GetOpenDocumentsIPC readback.unresolved_cross_probe_destinationfor absent, duplicate, malformed, or reference-inconsistent linkage.Intentionally unsupported
RunAction, keyboard/mouse control, or coordinate-based navigation.Verification
cargo fmt --allcargo fmt --all -- --checkcargo test -p konnect-core cross_probe --lib— 7 passedcargo test -p konnect-core editor_navigation --lib— 17 passedcargo test -p konnect-ipc --test mock_server_test— 47 passed, 1 ignoredcargo test --workspace --locked --lib --tests— passed; live GUI/CLI-only tests remained explicitly ignoredcargo test --workspace --locked --doc— passedcargo clippy --workspace --locked --all-targets -- -D warnings— passedcargo run -p xtask -- fix-doc-counts --check— 21 toolsets, 227 registered, 234 total; currentgit diff --check— passedHermetic coverage includes exact forward/reverse mapping, human
C10→ stable symbol KIID → exact footprint KIID, hierarchical sheet paths, missing/duplicate/mismatched linkage, stale source, wrong sheet instance, both live document proofs, and no mutation commands.Remaining risks