Commit dcac03bdbb73e63c16503b46fef5754f8a6ffd4b

Authored by graphlemon
2 parents 11d3711b b187af52

graphlemon: merge prd-consistency-34bca1cd4d41

.claude/agent-memory/planner/MEMORY.md
... ... @@ -5,3 +5,4 @@
5 5 - [artifact overview click-through bug: RESOLVED](project_artifact_overview_click_through_bug.md) — re-verified 2026-08-06, all 3 gaps fixed (data-artifact-id, #/artifacts/:id route, mountArtifactBrowser seeding); re-check before trusting "resolved" long-term
6 6 - [org-strip click-through bug: 3 render sites, not 1](project_org_strip_click_through_bug.md) — renderOrgStrip (dashboard), v_task_detail's inline org-strip, and #/graph's renderOrgGraphTopology all share the same no-click gap; DAG/log/artifact display mechanisms already exist and must be reused, not rebuilt; no new backend endpoint needed
7 7 - [run-history click → missing run detail page](project_run_history_click_missing_detail_page.md) — gc_runs_list click only switches task selector, no #/runs/:run_id route exists (documented trade-off, not a bug regression); DAG-panel+log-viewer funcs are run-object-generic and reusable verbatim; backend needs one new by-run_id query since _work_nodes_for_run already exists keyed by run_id
  8 +- [nav current-project-context PRD: consistent](project_nav_current_project_context_prd.md) — reviewed 2026-08-06, no contradictions; FR-5's "query-string parsing fix" is actually an add (render() has no query-string parsing today, only hash-path regex) — flag as accuracy issue at SDD stage, not a PRD contradiction
... ...
.claude/agent-memory/planner/project_nav_current_project_context_prd.md 0 → 100644
  1 +---
  2 +name: project-nav-current-project-context-prd
  3 +description: PRD "导航栏『当前项目』上下文(项目名+任务状态摘要)" reviewed 2026-08-06 for internal contradictions — none found
  4 +metadata:
  5 + type: project
  6 +---
  7 +
  8 +Reviewed the Planner-stage PRD titled "导航栏『当前项目』上下文(项目名 + 任务状态摘要)"
  9 +(nav bar current-project display FR-1/2, clickable task-status-count summary FR-3/4,
  10 +query-string parsing fix in `frontend/app.js`'s `render()` FR-5, refresh-on-route-change
  11 +FR-6; explicitly scoped out a new backend aggregation endpoint and nav-bar WebSocket live
  12 +refresh) for internally contradictory requirements. Found none — the backend-endpoint
  13 +scope-out is reasoned (existing no-pagination precedent + documented revisit threshold)
  14 +and the route-change-only refresh (FR-6) doesn't conflict with skipping WebSocket live
  15 +refresh (discrete-refresh vs push-refresh are different, compatible mechanisms).
  16 +
  17 +**Why:** worth recording because a sibling PRD in the same pipeline (the `v_graph_console`
  18 +Graph page PRD, see `frontend/.graphlemon/runs/7400d876-a797-4d87-bcff-4e59a3befba1/prd.md`)
  19 +*did* have a real self-contradiction in its v1 draft (claimed both "shared render code with
  20 +v_task_detail" and "v_task_detail's click behavior unaffected" with no reconciliation
  21 +mechanism) that got caught by this same consistency-review step and fixed in v2 via an
  22 +opt-in `enableNodeClick` parameter — so this check is not pro forma, it has caught a real
  23 +issue before in this codebase.
  24 +
  25 +**How to apply:** existing baseline in `docs/sdd/02-V-界面与交互.md` §nav only documents
  26 +"当前项目名 + 切换项目链接" — no task-status-count summary yet. That's an SDD gap this PRD
  27 +fills, not a contradiction. If this PRD proceeds to SDD stage, `frontend/app.js`'s actual
  28 +`render()` (line 118) only does hash-*path* regex routing (`TASK_DETAIL_RE` etc.) — no
  29 +query-string (`?key=value`) parsing exists there at all today, so FR-5 ("fix") is really
  30 +"add"; flag that wording precisely if it recurs at SDD/Coder stage (accuracy issue, not a
  31 +contradiction, so it wasn't in-scope for this consistency review).
... ...