Skip to content

LOD-WIRE-1: navigate nested graphs with clean focused buses - #216

Merged
mvalancy merged 13 commits into
devfrom
feat/nested-semantic-lod-20261028
Oct 28, 2026
Merged

mvalancy merged 13 commits into
devfrom
feat/nested-semantic-lod-20261028

Conversation

@mvalancy

@mvalancy mvalancy commented Oct 28, 2026 •

Copy link
Copy Markdown
Member

Complex graphs currently lose readable structure when zoomed out, and drawing individual bundle curves can produce tangled wiring. This change adds nested semantic navigation, then presents group connections through routed schematic buses with exact relationship inspection.

  • Stable parent/subsystem cuts, manual expand/collapse, bounded Auto depth, source-item selection and exact camera/cut/focus return.
  • Orthogonal ports and lanes avoid cards, labels and graph controls. Parallel/types between a source and target share a branch; shared source trunks have junction dots. Source edge IDs remain partitioned into routed or explicitly deferred connections.
  • Internal/bundle/item-neighborhood lists preserve original IDs, direction, types, parallel links, self-loops and missing endpoints. Type/search filters disclose counts; inspection returns to its relationship context.
  • Named incoming/outgoing group traces keep the selected group and page through at most five neighbors (fewer when space is limited). Incoming buses share the target trunk with original directions intact. Outside connections remain counted.
  • Small database-free anti-spaghetti geometry tests reject an intentionally tangled fixture. CI adds four static visual cases with real text bounds and screenshots, one headless worker and zero retries. The existing strict runtime/graph/layout gates remain required.

Visual direction and limits: schematic plan, contact sheet, fan-out bus, phone, dense case, validation ledger.

Current source: 6a6792650e0d455b361e0c6d38bc0f08f4a00f42. Independent exact-source review is clear. CI 40637051106 and Comprehensive 40637051104 passed on tested merge 6f14c2ba8efacc981858c59433ddd04cbe2e5ffb (live dev 77899e98a081e725ae8ddc15b6566cc50c9a584f + source; complete tree 8e92c6679f3434abe2964e3eee5e7d8f6873cf51 equals source). Downloaded nine unified reports contain 102 passing cases, zero failures/warnings/skips/evidence errors, exit0/no timeouts, clean unchanged source. Counts: static4, smoke6, new-user42, semantic2, nested2, layout9, routes7, mobile27, performance3. Living-graph effects separately passed3. All quality/build/unit/security, real-Neo4j MCP and three runtime-image contracts passed; Node22.18/24 clean-install unit matrices and installer/compose checks passed. Actual desktop/phone overview and incoming/outgoing PNGs, all six geometry attachments, four static fixture PNGs and the301-node captures were inspected. Six actual nested captures have zero through-card/control intersections, unrelated crossings/overlaps and diagonals, max1 bus/cell, with183 total relationships accounted for. Browser artifact. Integrated and accepted on dev 007148f1a526b8ef028222a429b346a67e5c3c2c: post-dev CI40640788120 and Comprehensive40640788203 passed with the same 102 strict report cases plus three living-effects cases. Actual final reports/attachments were inspected; closeout evidence. Small local evidence: nine geometry/budget cases (~0.28s), 28 scoped model/component cases (one worker, 8.31s) before the final label correction, 13 relationship component cases after it (5.48s), four ownership/cancellation cases (6.07s), 31 actual CLI/enrollment contracts and scoped web typecheck. Exact chronology and limits are in the ledger. Retained negatives cover live membership, invocation-wide work limits, counts, incoming trunks and missing trace controls. No local browser/database was started for these visual checks.

Actual earlier-source CI failures remain retained:

  • 40629282719: three static visual cases passed; the phone Delivery label entered its required padding by 0.265625px. Narrower wrapping fixed this without changing font/cards/assertions/timeouts/retries.

  • 40631382299, source1f3b38c / tested mergeab14de70: downloaded clean-source reports show static visual4, smoke6 and new-user42 passing with no warnings/skips/evidence errors. Both semantic-LOD cases failed the old member-control count (expected38, observed76 because each item now also has a relationship action); execution correctly failed. The reviewed candidate counts actual member-title buttons and keeps the expected38. Nested/layout/mobile/performance stages were skipped downstream and are not passing evidence.

  • 40633460829, source88d0115 / tested merge025288da: downloaded clean-source reports show static4, smoke6, new-user42 and semantic-LOD2 passing without warnings/skips/evidence errors. Both nested journeys failed exact relationship-type label lookup; explicit accessible names now keep all three select controls stable without relaxing selectors or timeouts. Later layout/mobile/performance gates were skipped. Normal report attachments omitted body-only PNG/JSON; producers now attach owned file paths with distinct stage names.

A closure audit also required the real nested fixture to include a hub/self-loop and direct internal/bundle/keyboard checks. The same72 nodes now include71 hub neighbors and one self-loop; extra edges use tracked, signalled20-edge seed batches. The delayed-response regression proves abort/drain/edge-first cleanup ordering. API-derived partition expectations, exact IDs, real desktop Tab/Enter and phone touch interactions remain strict. The intermediate untracked batch loop was rejected in source review and corrected before publication.

The current actual-overview gate checks visible card bounds, painted wires, original source/target ports, arrows, controls, clutter and exact count conservation. A deliberate opacity-zero wire must be rejected. Desktop/phone journeys exercise full relationship IDs, filters, endpoint inspection/Back camera/filter/focus, incoming/outgoing/two-hop lists and both trace directions. Review also caught ambiguous long-title controls; selectors now distinguish actual member text from adjacent relationship actions. Both extended desktop and phone cases passed on the final source, including unchanged API readback, zero navigation mutations and strict owned cleanup. All six named PNG/geometry pairs are present in the unified report.

The prior nested-only source a311154 passed CI 40621989324 and Comprehensive 40621988779, including downloaded clean-source reports 6/42/2/2/9/7/27/3 with no required skips. Those results do not accept this new router. Earlier functional negatives, review corrections, timing failures and local D-Bus failures remain in the ledgers and PR discussion. The last local layout run was interrupted after the owner's desktop-crash report: 7 passed, 2 required skips, execution failure; it is incomplete. Heavy local matrices and obsolete owned services were stopped; broad validation now runs in CI.

Remaining scope: the dense fixture shows 33 of 112 relationships through 13 branches and explicitly collapses 79. Focused group tracing passed real browser acceptance; detailed item/path wiring remains #220. All source data/SVG remains loaded. No 1k/10k capacity, topology inference, hosted parity, production release or deployment is claimed. CodeGraph ideas are borrowed independently; no shared library or CodeGraph edits.

Continues #215, #218, #219 under #193. #220 requests help with detailed item wiring; #217 remains available for independent import/export/MCP work. Do not close the full LOD path from this PR alone. The dev-only integration playbook is complete: independent review, live-base check, native admin merge, exact parent/tree verification and inspected post-dev CI. #215/#218/#219 are closed as their documented slices; #220 (draft #221), #217 and the full #193 path remain open.

@github-actions

Copy link
Copy Markdown

🧪 Comprehensive Test Suite

  • Unit suites (Node 22.18.0 & 24.x) — core, web, server, mcp-server: ✅ passed
  • Installer & deploy config: ✅ passed

Full-stack smoke gate runs in the CI workflow.

@mvalancy

Copy link
Copy Markdown
Member Author

Independent exact43ada01 review found two P2 blockers despite the first strict2/2 browser pass and 750 unit/194 harness pass: Auto inspection return omitted hysteresis history, and automatic summary replacement could drop keyboard focus to BODY. The actual-component probes and a new realdesktop negative reproduced the failures. The desktop returned to the exact camera but failed the original root-group count; four new component assertions failed before the fix.

Corrected candidate 1baac308635a8f51b237658e736a700f3dfafa0e restores both nested-depth and overview-visibility state and reconciles only lost owned summary focus to a surviving source representative or the complete list. An unrelated-focus control prevents stealing focus. Focused corrected tests23/23 and types passed before freezing; final strict nested/existing301-item LOD/layout-recovery/smoke, full tests/build and renewed independent review are underway. Source43 CI is superseded and is not acceptance of this correction.

The retained negatives, corrected behavior, exact-source limitations and canonical lesson travel in the PR. No retry/time limit relaxation, persisted synthetic nodes, source-position changes or CodeGraph edits.

@github-actions

Copy link
Copy Markdown

🧪 Comprehensive Test Suite

  • Unit suites (Node 22.18.0 & 24.x) — core, web, server, mcp-server: ✅ passed
  • Installer & deploy config: ✅ passed

Full-stack smoke gate runs in the CI workflow.

@github-actions

Copy link
Copy Markdown

🧪 Comprehensive Test Suite

  • Unit suites (Node 22.18.0 & 24.x) — core, web, server, mcp-server: ✅ passed
  • Installer & deploy config: ✅ passed

Full-stack smoke gate runs in the CI workflow.

@github-actions

Copy link
Copy Markdown

🧪 Comprehensive Test Suite

  • Unit suites (Node 22.18.0 & 24.x) — core, web, server, mcp-server: ✅ passed
  • Installer & deploy config: ✅ passed

Full-stack smoke gate runs in the CI workflow.

@mvalancy

Copy link
Copy Markdown
Member Author

Latest frozen candidate: a311154bf154af977a238d4b5de55773efa4e2dc. Independent review is clear, including both Auto-return/focus fixes, the bounded component fixture and the startup readiness assertion. Application/runtime source has been byte-identical since reviewed1baac30; subsequent changes are tests and retained-evidence documents.

Full local755 unit cases plus26 existing DB-gated skips,194 harness cases, types/lint/build now pass. The smaller component fixture preserves all five assertions and still reproduces the same four old-source bugs in a clean installed negative-control worktree.

Two additional failed browser runs remain rejected and documented: existing301-item desktop exceeded120s while concurrent coverage made actions/clock advancement slow (phonepassed); then serial nested desktop checked72 rendered nodes before initial loading/rendering completed (phonepassed). The new startup wait matches actual owned GetWorkItems/fullOR GetEdges responses, verifies exact72/111 source identities, then runs the unchanged5s render assertion. Independent review verified the wait uses the existing10s Playwright action timeout and stays within the unchanged150s journey budget. No first-paint performance improvement is claimed.

Fresh serial existingLOD/layout/smoke/nested browser runs and exact-head CI are underway. No failed, cancelled or superseded run is counted as final acceptance. Earlier source CI runs were superseded after their respective fixes. Main remains unchanged; #181/#209 closed only after verified finaldev77899 acceptance. DynamicLOD follow-ups #217/#218 now provide bounded help requests.

@mvalancy

Copy link
Copy Markdown
Member Author

Frozen source a311154bf154af977a238d4b5de55773efa4e2dc passed CI 40621989324 and Comprehensive 40621988779. Downloaded browser reports prove smoke6/new-user42/semanticLOD2/nestedLOD2/layout9/routes7/mobile27/perf3, all zero failed/warned/skipped, exit0/no timeout/evidence errors and clean unchanged source. Tested PR merge e4fa98a532a82ae273bcf752de0bb5aaa0378d49 has parents live dev77899e98+a311154 and tree279600ca39db06c94df4d09c0bcf4d5844259081, identical to the candidate. Main/nightly production stack was inapplicable, not accepted by its skip.

Local full units755 (+26 existing DB-gated skips), harness194, types/lint/build and existing301/370 LOD2 passed. Subsequent local layout runs are retained failures: missing owned Neo4j environment, a Chrome D-Bus disconnect abort, then a default private-bus run with desktop portal/secret-service activation delays and a90s browser-restart timeout. An invocation-only minimal private bus passed the first7 cases including SIGKILL/restart and revoked/deleted access; I then interrupted it on the owner's report of a desktop crash/resource pressure. Its2 required skips and execution failure make it incomplete, not accepted. No timeouts/assertions/source were weakened and no crash attribution to another process is claimed.

The owner now prioritizes schematic/harness-style connections and anti-spaghetti visual acceptance (#219), with exact bus contents in #218. This PR remains draft as a tested hierarchy foundation; nested grouping alone is not visual completion, large-graph capacity or release readiness. Heavy local browser batches have stopped; remaining broad validation will use CI. No integration/issue closeout is claimed here.

@mvalancy mvalancy changed the title ADAPT-7: expand nested semantic groups with stable parent navigation Make dynamic LOD navigable with nested groups and schematic buses Oct 28, 2026
@github-actions

Copy link
Copy Markdown

🧪 Comprehensive Test Suite

  • Unit suites (Node 22.18.0 & 24.x) — core, web, server, mcp-server: ✅ passed
  • Installer & deploy config: ✅ passed

Full-stack smoke gate runs in the CI workflow.

@mvalancy

Copy link
Copy Markdown
Member Author

Published correction source 1f3b38c837f4e5032bde85bc54be7727045dd3e4 in #216 by ordinary fast-forward; live dev remains 77899e98a081e725ae8ddc15b6566cc50c9a584f.

Independent exact-source review found no remaining source findings. The prior review exposed stale group membership, routing work reset after failed searches, and incomplete hidden-connection counts. All three have retained failing regressions and corrected results: 22 scoped component/model cases, 8 geometry/budget cases, web typecheck. The reviewer independently ran the eight geometry cases and checked the component-probe source identity. This is source review, not non-author GitHub approval or full app acceptance.

Earlier-source CI 40629282719 failed the new phone visual test by 0.265625px of required label padding; three other static cases passed. The correction narrows wrapping without weakening assertions/font/cards/timeouts/retries. The failed screenshot and trace remain retained. Skipped downstream app gates are not passes. The corrected source now needs full CI, including actual runtime/graph/layout/mobile gates.

The dense fixture still contains all 112 relationships: 33 are drawn via 13 clean branches, 79 explicitly collapsed; routing spent 32 attempts/3,495 states. This honest bounded overview still needs focused tracing and item-level routing. No large-graph capacity, hosted parity or deployment claim. Heavy local matrices remain stopped; broad testing runs in CI.

@github-actions

Copy link
Copy Markdown

🧪 Comprehensive Test Suite

  • Unit suites (Node 22.18.0 & 24.x) — core, web, server, mcp-server: ✅ passed
  • Installer & deploy config: ✅ passed

Full-stack smoke gate runs in the CI workflow.

@mvalancy mvalancy changed the title Make dynamic LOD navigable with nested groups and schematic buses LOD-WIRE-1: navigate nested graphs with clean focused buses Oct 28, 2026
@mvalancy

Copy link
Copy Markdown
Member Author

Reviewed focused-bus candidate is published in #216 at 88d0115db3e7c26a7b9416d94fe4bf23dd43c1fa by ordinary fast-forward. Live dev remains 77899e98a081e725ae8ddc15b6566cc50c9a584f; no integration or issue closeout.

Incoming/outgoing group traces now retain the selected group and page through at most five neighbors (fewer when space is limited), keep actual arrow direction, and count all outside connections. Nine geometry cases passed (~0.28s), 28 small serial model/component cases passed (8.31s), scoped typecheck passed. Independent exact-source review found no remaining source findings. This is not a non-author GitHub approval or browser acceptance.

Actual earlier CI40631382299 artifacts are retained: static visual4, smoke6, new-user42 passed with clean unchanged mergeab14de70 source and zero warnings/skips/evidence errors. Semantic-LOD failed both cases at expected38/observed76 member controls: the old locator also counted the newly added relationship actions. The reviewed correction keeps38 and selects actual visible member titles. Later nested/layout/mobile/performance gates were skipped, not passed. The earlier phone padding failure also remains retained.

Fresh CI40633460829 and Comprehensive40633460807 are now running. The extended existing nested journeys measure actual painted paths/card/control geometry, reject an intentional invisible wire, verify source/target ports/arrows and exercise exact relationship lists and both trace directions. No heavy local stack has been restarted.

Concrete help task: #220 for detailed item/neighborhood ports and buses; #217 remains available for portable AI graph import/export/MCP. Current group-view ownership stays in #216. Keep #219 and the full LOD path open: group traces do not complete item/path wiring, scale/loading or hosted delivery.

@github-actions

Copy link
Copy Markdown

🧪 Comprehensive Test Suite

  • Unit suites (Node 22.18.0 & 24.x) — core, web, server, mcp-server: ✅ passed
  • Installer & deploy config: ✅ passed

Full-stack smoke gate runs in the CI workflow.

@mvalancy

Copy link
Copy Markdown
Member Author

Portable correction checkpoint: #216 is now at 6a6792650e0d455b361e0c6d38bc0f08f4a00f42, ordinary fast-forward, independently reviewed with no remaining source findings. Live dev remains 77899e98a081e725ae8ddc15b6566cc50c9a584f; no integration/closeout yet.

Fresh CI40637051106 and Comprehensive40637051104 are running on this source. All implementation, test changes, canonical lessons and the validation ledger are committed and pushed; a different machine can resume from the PR branch.

Prior CI40633460829 on source88d0115 / tested merge025288da passed static4/smoke6/new-user42/semantic2 with clean unchanged source, zero warnings/skips and exit0. Both nested journeys failed at exact relationship-type label lookup; the controls now have explicit accessible names. The original10-second action timeout, exact selectors and zero retries remain. The source also now writes PNG/JSON evidence to owned output files so the existing adapter publishes successful-case screenshots and geometry directly. Earlier traces/reports remain in GitHub artifacts.

The same72-node real fixture now includes all71 hub neighbors and exactly one self-loop, API-derived internal/bundle partitions, and desktop Tab/Enter alongside phone touch. Extra edges use the existing owned seed's20-edge signalled batch loop, with response draining before edge-first cleanup. Independent review rejected the intermediate untracked loop; corrected browser-free lifecycle tests passed4/4 in6.07s. Updated relationship components passed13/13 in5.48s; test discovery found2 nested and4 static cases, which is not execution evidence.

Closure remains gated on actual full CI/screenshots and post-merge dev CI. #215 has no remaining source gap; #218's coverage gaps are now implemented but unaccepted. #219's body defines the first group-routing slice: if that is accepted, closeout will explicitly reconcile prior keep-open comments and carry detailed item/path wiring in #220 and full LOD in #193. No completion is claimed from static geometry, a merge, or this checkpoint alone.

@github-actions

Copy link
Copy Markdown

🧪 Comprehensive Test Suite

  • Unit suites (Node 22.18.0 & 24.x) — core, web, server, mcp-server: ✅ passed
  • Installer & deploy config: ✅ passed

Full-stack smoke gate runs in the CI workflow.

@mvalancy

Copy link
Copy Markdown
Member Author

Portable checkpoint, 2026-10-28 UTC:

  • Published source remains 6a6792650e0d455b361e0c6d38bc0f08f4a00f42; owned implementation/PR worktrees are clean. Live dev remains 77899e98a081e725ae8ddc15b6566cc50c9a584f.
  • CI tests merge 6f14c2ba8efacc981858c59433ddd04cbe2e5ffb, whose parents are that dev and source. Its complete tree 8e92c6679f3434abe2964e3eee5e7d8f6873cf51 equals the source tree. Independent exact-source review is clear; this is not a non-author GitHub approval.
  • CI40637051106 has passed static schematic visuals, smoke, new-user, semantic301, both nested desktop/phone journeys, durable layout and route compatibility. Mobile audit is running; later gates and actual final unified-report/screenshot inspection remain pending.
  • Comprehensive40637051104 passed clean install/unit suites on Node22.18 and24 plus installer/compose checks. CI lint/types/build/unit/security, real Neo4j MCP and all3 runtime-image jobs passed. Downloaded image contract records confirm API/CAPTCHA, compiled stdio, independent Neo4j readback, SQLite and replacement-container recovery. Self-host OS scan retains162 entries (0critical/43high/58medium/60low/1unknown), no fixed versions in this dated inventory; it is not a vulnerability-free image claim.

No merge or issue closure yet. Next: inspect final reports and actual PNG/geometry attachments, recheck live dev, then use the standing dev-only integration playbook and require post-dev CI before closing #215/#218/the first slice in #219. Detailed item wiring stays #220 and the full path stays #193. Earlier failed runs remain part of the evidence. No local browser/database/image suites were restarted.

@mvalancy
mvalancy marked this pull request as ready for review October 28, 2026 05:55
@mvalancy
mvalancy merged commit 007148f into dev Oct 28, 2026
19 checks passed
@mvalancy

Copy link
Copy Markdown
Member Author

PR216 was integrated into dev only using the native gh pr merge --merge --admin --match-head-commit 6a6792650e0d455b361e0c6d38bc0f08f4a00f42 operation under the repository owner’s standing authorization. This is an administrative merge, not a non-author GitHub approval. No transport fallback or protection change was needed.

Verified remote dev 007148f1a526b8ef028222a429b346a67e5c3c2c has parents 77899e98a081e725ae8ddc15b6566cc50c9a584f and reviewed source 6a6792650e0d455b361e0c6d38bc0f08f4a00f42. Its complete tree is 8e92c6679f3434abe2964e3eee5e7d8f6873cf51, identical to the accepted PR composition; full git diff --exit-code against source passed.

Independent final artifact review found no blocker: nine clean unchanged reports /102 passing cases, all referenced attachments present, six actual nested screenshots and geometry reports, static phone/dense images, three runtime-image contracts, and live GitHub job results agree. Living effects separately passed3. Earlier failed runs remain retained in the PR/ledgers.

Post-dev gates are now queued/running: CI40640788120, Comprehensive40640788203. #215, #218 and #219 remain open until these final branch gates and reports are accepted. #219 will close only as its documented first group-routing slice, explicitly reconciling older progress comments; detailed item wiring remains #220 and the full dynamic LOD path remains #193. Main/release/deployment/hosted parity and1k–10k capacity are not accepted by this merge.

Published source/branches and GitHub evidence are available from another machine. Owned implementation worktrees are clean; no heavy local suites or services were restarted.

@mvalancy

Copy link
Copy Markdown
Member Author

Accepted in dev 007148f1a526b8ef028222a429b346a67e5c3c2c through #216. Remote parents are dev 77899e98... and reviewed source 6a6792650e0d455b361e0c6d38bc0f08f4a00f42; complete tree 8e92c6679f3434abe2964e3eee5e7d8f6873cf51 matches the pre-merge tested composition exactly. Native admin merge used the repository owner's standing dev-only authorization; independent agent review was not represented as a non-author GitHub approval.

Post-dev CI40640788120 and Comprehensive40640788203 passed. Downloaded all nine unified reports: 102 passed, zero failures/warnings/skips/evidence errors, exit0/no timeouts, clean unchanged dev source/fingerprint 49622b2e487d00fd17cf789075a189fca230f9832d325c722240830cf2873b53. Counts: static4, smoke6, new-user42, semantic2, nested2, layout9, routes7, mobile27, performance3. Living effects separately passed3. Applicable quality/unit/build/security, real Neo4j MCP and all three runtime-image contracts passed; runtime logs confirm API/MCP/SQLite and replacement recovery. Main/nightly-only production stack and PR-only comment jobs were not applicable, not claimed as executed.

Final browser artifact contains every referenced attachment. All six nested JSON/PNG pairs were checked: zero card/control intersections, unrelated crossings/overlaps and diagonals, max1 bus/cell, with183 original relationships accounted for. Five PNGs are byte-identical to the independently reviewed pre-merge images; the changed desktop overview was viewed again and is clean. Real journeys passed unchanged API snapshots, zero navigation mutations and strict edge-first owned-fixture cleanup. Earlier failures and corrections remain in PR discussion/repo ledgers.

This completes the bounded nested hierarchy (#215), exact relationship exploration (#218), and first group-routing/anti-spaghetti slice (#219). Detailed item wiring remains #220 (draft #221); broader LOD remains #193. No claim of1k/10k capacity, hosted parity, main publication or deployment. Local heavy suites stayed stopped; the original localhost graph and unrelated worktrees were not changed.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant