brd.md 1.46 KB

The graphlemon Work Node (planner) workflow completed. It produced a BRD diagnosing a real UI bug: the Org Graph three-node strip (planner/coder/validator) on the dashboard (renderOrgStrip() in frontend/app.js:589-598) renders as static cards — no data-* attributes, no click handlers, no cursor:pointer styling — so clicking a node does nothing.

Key points from the BRD:

  • Root cause confirmed by directly reading frontend/app.js, style.css, src/task_query.py, and the SDD (docs/sdd/02-V-界面与交互.md §2.2), not just trusting the report.
  • Fix direction: reuse the existing #/tasks/:task_id deep link (no new modal, no #/graph reuse) and reuse already-working machinery — renderGraphVisualizerPanel + mountWorkNodeClickExpand + mountLogViewer for DAG/logs, and task.artifacts[].produced_by_run_id for artifact-to-run linkage — rather than rebuilding any of it.
  • Scope: shows only the org_node's most recent work_graph_run; explicitly excludes a second, near-identical org-strip bug embedded in renderDetail() (flagged as a separate follow-up, not scope creep); flags that docs/sdd/02-V-界面与交互.md §2.2 needs a matching spec update since this interaction was never documented.
  • No blocking unknowns — ready to proceed to SDD/implementation; only the exact in-page anchor/routing mechanism is left open for that stage.

No further action taken — this was the Planner stage output; next would be SDD/Coder picking it up in the Org Graph flow.