generated from coulomb/repo-seed
142 lines
4.4 KiB
Markdown
142 lines
4.4 KiB
Markdown
---
|
|
id: RREG-WP-0011
|
|
type: workplan
|
|
title: "Dependency Graph Exploration Polish"
|
|
domain: capabilities
|
|
repo: repo-scoping
|
|
status: done
|
|
owner: codex
|
|
topic_slug: foerster-capabilities
|
|
created: "2026-05-04"
|
|
updated: "2026-05-04"
|
|
state_hub_workstream_id: "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
|
|
|
|
```task
|
|
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
|
|
|
|
```task
|
|
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
|
|
|
|
```task
|
|
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
|
|
|
|
```task
|
|
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
|
|
|
|
```task
|
|
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
|
|
|
|
```task
|
|
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.
|