Files
repo-scoping/workplans/RREG-WP-0011-dependency-graph-exploration-polish.md

4.4 KiB

id, type, title, domain, repo, status, owner, topic_slug, created, updated, state_hub_workstream_id
id type title domain repo status owner topic_slug created updated state_hub_workstream_id
RREG-WP-0011 workplan Dependency Graph Exploration Polish capabilities repo-scoping done codex foerster-capabilities 2026-05-04 2026-05-04 b36e365e-e09f-4910-8d92-7d0ee7909db4

Dependency Graph Exploration Polish

This workplan follows RREG-WP-0010 and tightens the dependency graph for daily curation use. The first visualization pass added layered metadata, display states, manual overrides, view profiles, and filtering. This follow-up focuses on graph legibility, saved-profile ergonomics, review-state filtering, hover inspection, and reducing redundant document-derived nodes.

Review State Filtering

id: RREG-WP-0011-T01
status: done
priority: high
state_hub_task_id: "8cca41a1-ddf2-4136-9707-70c7b8481a48"

Add filters for accepted versus candidate graph state.

Acceptance criteria:

  • Graph nodes and edges expose a stable review state where applicable, including at least accepted and candidate.
  • Filter rules can match review state for nodes and edges.
  • The UI exposes structured controls for accepted/candidate filtering without requiring raw JSON.
  • API tests cover review-state filtering and confirm existing approved graph behavior remains backward compatible.

Blurred Node Edge Treatment

id: RREG-WP-0011-T02
status: done
priority: medium
state_hub_task_id: "3759013b-8a78-45fb-afa5-5ff1f6644070"

Make edges connected to blurred nodes visually recede.

Acceptance criteria:

  • Edges connected to one or more blurred nodes receive a derived display hint or class.
  • The Cytoscape style renders those edges as very light gray with reduced opacity.
  • Selected or hovered blurred-context edges remain inspectable.
  • Tests or contract assertions cover the derived edge state.

Confidence And Strength-Based Sizing

id: RREG-WP-0011-T03
status: done
priority: medium
state_hub_task_id: "087a550f-a9f7-403c-9853-a04f5847211d"

Scale node size and edge width based on confidence or strength.

Acceptance criteria:

  • Nodes with confidence metadata derive a bounded visual size from confidence.
  • Edges derive width from strength while preserving same-layer and stale/change styling.
  • Missing confidence or unknown strength falls back to stable defaults.
  • The UI remains readable on dense graphs and mobile widths.

Hover Detail Popups

id: RREG-WP-0011-T04
status: done
priority: medium
state_hub_task_id: "eac6ccd7-7c99-46f9-bf12-c3916b03f041"

Show a compact detail popup when hovering over graph nodes or edges.

Acceptance criteria:

  • Hovering a node shows its kind, layer, name, display state, confidence, freshness, ownership, and primary source path when available.
  • Hovering an edge shows dependency type, strength, source, same-layer flag, and source/target names.
  • The popup follows or anchors near the hovered element without obscuring the cursor target.
  • Keyboard selection and the existing side panel remain available for full detail inspection.

Last Saved Profile Default

id: RREG-WP-0011-T05
status: done
priority: high
state_hub_task_id: "d63489fc-5c08-486c-addc-53af84218028"

Apply the most recently saved profile automatically when opening the dependency graph for a repository.

Acceptance criteria:

  • When no profile_id URL parameter is present, the graph endpoint and UI load the repository's most recently updated profile if one exists.
  • Explicit profile_id URL parameters continue to take precedence.
  • Users can still return to an unsaved full exploration state from the UI.
  • API and UI tests cover repositories with no profiles, one profile, multiple profiles, and explicit profile selection.

Document Node De-Duplication

id: RREG-WP-0011-T06
status: done
priority: high
state_hub_task_id: "5477cfdd-7bd4-428f-a329-6255c4c58803"

Remove or merge unnecessary duplicate document-derived nodes, especially README.md and SCOPE.md cases.

Acceptance criteria:

  • The graph builder identifies why duplicate README/SCOPE-like nodes are being emitted.
  • Derived SCOPE.md context is not shown as an independent fact node when it only restates generated scope.
  • README-derived facts are merged or represented once when they point to the same document-level evidence.
  • Regression tests cover repositories with README and SCOPE documents and assert no unnecessary duplicate document nodes appear.