brd.md 1.36 KB

The graphlemon-node-90c6ca9d21eb4678ab122e2f5bd011fd (planner) workflow finished. It produced a BRD document diagnosing and scoping a fix for the Graph console:

Problem confirmed: Clicking a row in "Graph 运行历史" (v_graph_console) just switches the task selector (onSwitchToTask) instead of opening that specific run's details — because no run-detail page/route exists yet. A stale code comment even documents this as "intentional."

Scope of the fix (BRD-level, not yet PRD/SDD):

  • FR-1: New route #/runs/:run_id
  • FR-2: Run detail page reusing existing components — renderGraphVisualizerPanel/mountWorkNodeClickExpand for the DAG/node view, and the existing mountLogViewer/WS-tail-then-static logic for per-node logs (nothing new to build there)
  • FR-3: New backend query/endpoint to fetch a single run by run_id (current get_task returns the whole task's runs, wrong shape/payload — though task_query._work_nodes_for_run is already run_id-scoped and should be reused, not reimplemented)
  • FR-4: Minimal change to gc_runs_list's click handler only, plus removing the now-stale "no run detail route" comment
  • Explicitly out of scope: the list endpoint itself, log-viewer/backend internals, and multi-run comparison UI

This is a BRD only — no code was written. Next step in the pipeline would be PRD/SDD refinement before a Coder task picks it up.