UI Wireframe
过滤与分组
| 维度 | 取值 | 说明 |
|---|---|---|
| status | open / fixing / fixed / verified / wontfix / duplicate | 顶部 chip 选择,多选 OR |
| severity | critical / high / medium / low | 右上 filter |
| unit_id | 从 units.json 列表 | 右上 filter,下拉 |
| source | unit_test / integration_test / triage / human | filter |
| since | 时间窗口 | filter(默认全部) |
排序默认按 discovered_at 倒序,可切「未结束优先」(open + fixing 顶置)。
数据来源
本页是 bugs.ndjson 的纯视图,不写入。所有操作通过:
| 用户动作 | 触发的 API |
|---|---|
| 列表显示 | GET /api/devloop/projects/:pid/bugs(内部调 bugTracker.list) |
| 点击展开 | GET /api/devloop/projects/:pid/bugs/:id/history |
| 人类标 wontfix | POST .../bugs/:id/transition body={to:'wontfix',note} |
| 人类合并 duplicate | POST .../bugs/:id/transition body={to:'duplicate',duplicate_of} |
状态机参考
完整流转规则见 P-9 · Bug 状态机。本页 UI 必须严格按状态机渲染:非法转换按钮 disabled。
关联视图
- 点击 unit_id chip → 跳到 UnitDrawer 看该 Unit 详情
- 点击 run_id → 跳到对应 result.json 内嵌视图
- 点击 fix_refs 中的 run_id → 看修复时的 Tester 跑分
- 右上「↗ 时间线」→ 跳 Loop Log