feat: 修复 7 个 Gap — 图分组布局、status 映射、详情面板丰富等 #2

Open
openclaw wants to merge 11 commits from feat/v2-fix-gaps into feat/full-implementation
Owner

概要

全面审视 design/ 架构设计文档,修复实现与设计之间的 7 个 Gap(P0+P1)。

改动

P0 — 核心视觉修复

  • GAP-B1: 节点 status 映射 — 从 ScanResult.file_statuses 获取状态,节点颜色有意义
  • GAP-B3: DesignDocument upstream/downstream 边修复 — 改为路径解析匹配
  • GAP-F1: 图分组分区布局 — d3.forceX/forceY 按 group 五区分布

P1 — 功能补全

  • GAP-F2: GraphDetail 面板丰富 — 调详情 API,显示完整属性+关联实体列表
  • GAP-F3: 添加图例 — 形状/颜色/边类型说明
  • GAP-F4: 添加'← 返回全景图'按钮
  • GAP-F5: GraphDetail 添加 Edit 跳转按钮

文件改动

  • 后端: services.py, entities.py, router.py, tests
  • 前端: GraphPanorama.vue, GraphDetail.vue, GraphLegend.vue (新), api.ts
  • 文档: spec + plan

测试

  • vue-tsc 编译通过
  • QA 截图测试全部通过 (项目列表、全景图、详情面板、下钻+返回)

Gap 分析

详见 features/v2-fix-gaps/works/gap-analysis.md

## 概要 全面审视 design/ 架构设计文档,修复实现与设计之间的 7 个 Gap(P0+P1)。 ## 改动 ### P0 — 核心视觉修复 - **GAP-B1**: 节点 status 映射 — 从 ScanResult.file_statuses 获取状态,节点颜色有意义 - **GAP-B3**: DesignDocument upstream/downstream 边修复 — 改为路径解析匹配 - **GAP-F1**: 图分组分区布局 — d3.forceX/forceY 按 group 五区分布 ### P1 — 功能补全 - **GAP-F2**: GraphDetail 面板丰富 — 调详情 API,显示完整属性+关联实体列表 - **GAP-F3**: 添加图例 — 形状/颜色/边类型说明 - **GAP-F4**: 添加'← 返回全景图'按钮 - **GAP-F5**: GraphDetail 添加 Edit 跳转按钮 ## 文件改动 - 后端: services.py, entities.py, router.py, tests - 前端: GraphPanorama.vue, GraphDetail.vue, GraphLegend.vue (新), api.ts - 文档: spec + plan ## 测试 - vue-tsc 编译通过 ✅ - QA 截图测试全部通过 ✅(项目列表、全景图、详情面板、下钻+返回) ## Gap 分析 详见 features/v2-fix-gaps/works/gap-analysis.md
openclaw added 11 commits 2026-03-24 17:30:28 +08:00
Covers GAP-B1 (status mapping), GAP-B3 (compound graph with document
nodes), GAP-F1 (group-partitioned layout), GAP-F2 (rich detail panel),
GAP-F3 (legend), GAP-F4 (back button), GAP-F5 (edit shortcut).

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Fix doc.source_file → doc.file_path (actual DesignDocument field name)
- Replace lstrip("./") with proper path resolution helpers
- Add deduplication for doc→doc edges (process only downstream)
- Add frontend/src/shared/types/api.ts to files changed
- Add fallback for unknown group_id in forceX/forceY
- Note build_panorama needs design_dir parameter
- Clarify runtime_component/document detail panel behavior

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Create document nodes from scan_result.design_documents with type="document" and group_id="cross-layer"
- Set parent field on entity nodes (capability/module/entity/runtime_component) pointing to their containing document via directory-based lookup
- Replace dead-code Step 9 with path-based resolution of downstream refs and edge deduplication
- Add helper functions _to_rel_path and _resolve_ref_path for absolute→relative path conversion and ../  resolution

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This pull request can be merged automatically.
You are not authorized to merge this pull request.

Checkout

From your project repository, check out a new branch and test the changes.
git fetch -u origin feat/v2-fix-gaps:feat/v2-fix-gaps
git checkout feat/v2-fix-gaps

Merge

Merge the changes and update on Gitea.
git checkout feat/full-implementation
git merge --no-ff feat/v2-fix-gaps
git checkout feat/full-implementation
git merge --ff-only feat/v2-fix-gaps
git checkout feat/v2-fix-gaps
git rebase feat/full-implementation
git checkout feat/full-implementation
git merge --no-ff feat/v2-fix-gaps
git checkout feat/full-implementation
git merge --squash feat/v2-fix-gaps
git checkout feat/full-implementation
git merge --ff-only feat/v2-fix-gaps
git checkout feat/full-implementation
git merge feat/v2-fix-gaps
git push origin feat/full-implementation
Sign in to join this conversation.
No reviewers
No Label
No Milestone
No project
No Assignees
1 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: openclaw/arch-design-agent-skill-dashboard#2
No description provided.