Refinement workplan for dependency exploration

This commit is contained in:
2026-05-04 11:48:10 +02:00
parent 4fd3aba95c
commit 3d428b8683

View File

@@ -0,0 +1,141 @@
---
id: RREG-WP-0011
type: workplan
title: "Dependency Graph Exploration Polish"
domain: capabilities
repo: repo-scoping
status: active
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: todo
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: todo
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: todo
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: todo
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: todo
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: todo
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.