docs: phase 3 graph view implementation plan - #580
Conversation
40-task plan executing the 2026-04-24 graph view design spec, organised as 6 slices that each end green and independently revertable: - Pre-flight: verify the 5 open assumptions from spec §13 before starting. - Slice 1 (9 tasks): graph builder in internal/ldap_cache/graph.go — types, per-focus BFS walks (user / group / computer / OU), per-ring + total caps, concentric layout math, cycle safety. - Slice 2 (5 tasks): /api/graph.json handler — ETag via body hash mirroring /api/search-index.json, validation, integration test. - Slice 3 (8 tasks): /graph HTML template — SSR SVG canvas, always- visible edge table, depth slider with no-JS fallback, graph CSS tokens with AAA-verified contrast. - Slice 4 (7 tasks): v2-graph.js — pan/zoom, keyboard nav, click-to- pivot, click-to-expand with aria-live announce, reduced-motion respect. - Slice 5 (5 tasks): list-page Graph mode for /users, /groups, /computers with a segmented List | Graph control. - Slice 6 (6 tasks): drawer pivots, axe-core + tab-order ratchet, README conformance statement. Each task gives exact file paths, runnable commands, actual test + implementation code (no placeholders), and an atomic signed commit with conventional-commit prefix. Self-review at the end cross-checks every spec section against a concrete task. Signed-off-by: Sebastian Mendel <info@sebastianmendel.de>
|
Warning You have reached your daily quota limit. Please wait up to 24 hours and I will start processing your requests again! |
There was a problem hiding this comment.
Copilot wasn't able to review any files in this pull request.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Dependency Review✅ No vulnerabilities or license issues or OpenSSF Scorecard issues found.Scanned FilesNone |
There was a problem hiding this comment.
Automated approval for maintainer PR
All automated quality gates passed. See SECURITY_CONTROLS.md for compensating controls.
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #580 +/- ##
=======================================
Coverage 67.42% 67.42%
=======================================
Files 29 29
Lines 2864 2864
=======================================
Hits 1931 1931
Misses 799 799
Partials 134 134
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
Summary
40-task plan executing the Phase 3 graph view design spec (merged on main as 51b1773). Organised as 6 slices plus a pre-flight verification section; each slice ends green and is independently revertable.
internal/ldap_cache/graph.go— types, per-focus BFS walkers, caps, concentric math, cycle safety, tests./api/graph.jsonhandler, ETag via body hash (mirrors/api/search-index.json), integration test./graphHTML template with SSR SVG + always-visible edge table; depth slider with no-JS fallback; AAA contrast tokens.v2-graph.js— pan/zoom, keyboard nav, click-to-pivot, click-to-expand with aria-live, reduced-motion respect.Each task gives exact file paths, runnable commands, actual test + implementation code (no placeholders or "add error handling here"), and a conventional-commit atomic signed commit message.
Design
See the accompanying spec for the full rationale. Key decisions locked in during brainstorming:
/graph?entity=<dn>+List | Graphmode toggle on list pages.(ring, angle), client scales to viewport.Test plan (pre-merge)
addOUChildrenbug that's fixed in Task 5, andsetupIntegrationTestAppthat the implementer writes mirroring the existingsetupFullTestApp).NodeType/EdgeKind/GraphDatafield names match across all tasks.This PR is the plan itself; the implementation lands on a separate feature branch per the plan's opening instructions.