UI Wireframe
聚合算法
percent 加权求和(来自 C-14 文档):
| 阶段 | 权重 | 判定 ok |
|---|---|---|
| PRD | 10 | prd.html 存在且校验通过 |
| SDD | 20 | sdd.html 存在且 units.json 一致 |
| Units (L1) | 50 | 按 passed / total 比例 |
| L2 整合 | 15 | 最近一次 L2 ok=true |
| Ship | 5 | project.status=shipped |
| 合计 | 100 | — |
ETA 基于历史项目均值 + 当前阶段剩余项数线性外推;blocked 状态时 ETA = ∞ 显示「等人介入」。
数据来源
- 头部数字:
C-14 LoopController.getProgress(pid)一次性返回 - Active Agents:聚合自
agent-state/*.json+agent-state/*-todo.json - Recent events:
timelineLogger.tail(pid, 10) - SSE:订阅
unit.state · agent.step · integration.result等事件,自动刷新
更新频率
| 区域 | 触发 | 方式 |
|---|---|---|
| 大数字 / breakdown | SSE 任一关键事件 | debounce 500ms 重算 |
| Active Agents | SSE agent.step | 立即 |
| Recent events | SSE 任一事件 | append 顶部,溢出剔旧 |
| ETA | 30s 周期 | 低频,避免抖动 |
无项目时的空态
页面打开时若没有任何 active project:显示「No project running」+ 列出最近 3 个项目让用户选;若有 shipped 项目,加 「✓ Demo: TODO Auth - shipped」可作为复现起点。