docs: finalize runbook and verification evidence
This commit is contained in:
17
findings.md
17
findings.md
@@ -27,15 +27,18 @@
|
||||
- 工作流显示使用动态事件流/DAG,不写死阶段或 agent 顺序。
|
||||
- 所有推断状态必须显示来源和置信度。
|
||||
- UI 全中文,技术缩写保留英文。
|
||||
- Phase 3 使用纯 Go `modernc.org/sqlite v1.35.0` 读取 SQLite,避免 CGO 运行时依赖,并保持项目 `go 1.22` 兼容。
|
||||
- 使用纯 Go `modernc.org/sqlite v1.35.0` 读取 SQLite,避免 CGO 运行时依赖,并保持项目 `go 1.22` 兼容。
|
||||
- SQLite 文件不存在时返回空列表和 `sqlite_missing`/`low` 来源证据;仅 state 或仅 goals 缺失时返回 `sqlite_partial`/`medium` 聚合证据,并在 `sources.state` / `sources.goals` 分别标注缺失或只读来源。
|
||||
- Runtime SQLite 读取先检查 `PRAGMA table_info`;缺关键列时对应表返回空列表和 `sqlite_schema_drift`/`low` 证据,可选列缺失、NULL 值和数值类型字段不导致 Snapshot 失败。
|
||||
- Workflow store 未配置 runtime reader 时返回空视图和 `runtime_missing`/`low` 证据,不 panic、不让 API 500。
|
||||
- 动态工作流事件从 threads、spawn edges、goals、`task_plan.md` 证据构建,不假设固定角色顺序。
|
||||
- Phase 4 前端使用 Vue 3 + Vite 和本地静态示例数据实现中文只读工作台;所有示例状态显示来源和置信度,不调用真实 API,不提供保存或写回按钮。
|
||||
- Phase 5 前端新增集中 API client,仅调用 `/api/agents`、`/api/projects`、`/api/runtime/threads`、`/api/workflow/events` 四个 GET 只读端点。
|
||||
- Phase 5 前端 normalizer 统一把后端 source kind、confidence、状态、parseStatus 转为中文展示;空 runtime/workflow 不回退到示例数据,连接失败时示例数据必须标注“示例/等待连接”。
|
||||
- 前端使用 Vue 3 + Vite,真实数据通过集中 API client 接入;连接失败时才展示明确标注的示例/等待连接状态。
|
||||
- 前端集中 API client 调用 `/api/agents`、`/api/projects`、`/api/runtime/threads`、`/api/workflow/events` 四个 GET 只读端点,以及 agent validate/write 两个 POST 写回端点。
|
||||
- 前端 normalizer 统一把后端 source kind、confidence、状态、parseStatus 转为中文展示;空 runtime/workflow 不回退到示例数据,连接失败时示例数据必须标注“示例/等待连接”。
|
||||
- 工作流 phases 需要在前端过滤计划文件中误解析出的非阶段表格行,并把数字阶段名展示为“阶段 N”,避免出现内部英文或无效状态。
|
||||
- Phase 6 写回只支持单个已有 agent TOML 文件,不创建新 agent;validate 返回当前 sha256,write 使用 expectedHash 阻止校验后覆盖用户改动。
|
||||
- Phase 6 备份文件写在目标文件旁边,命名为 `*.bak-<timestamp>`;只有备份创建成功后才使用同目录临时文件和 rename 替换目标。
|
||||
- Phase 6 前端不维护批量草稿队列,不使用 localStorage 自动保存草稿;写回入口在智能体视图,用户确认后才调用 write API。
|
||||
- 写回只支持单个已有 agent TOML 文件,不创建新 agent;validate 返回当前 sha256,write 使用 expectedHash 阻止校验后覆盖用户改动。
|
||||
- 备份文件写在目标文件旁边,命名为 `*.bak-<timestamp>`;只有备份创建成功后才使用同目录临时文件和 rename 替换目标。
|
||||
- 前端不维护批量草稿队列,不使用 localStorage 自动保存草稿;写回入口在智能体视图,用户确认后才调用 write API。
|
||||
- 最终写回绑定到已打开的 `agents` dirfd:目标读取、备份、临时文件创建和 rename 都使用 `Openat`/`Renameat`,并在关键步骤复核目录身份、目标文件身份和 expectedHash。
|
||||
- 前端 API client 集中在 `web/src/api/client.js`,封装 agents/projects/runtime/workflow 的 GET,以及 agent validate/write 的 POST;错误通过 `APIError` 带 status 和响应体传递给视图。
|
||||
- 前端中文 normalizer 集中在 `web/src/api/normalizers.js`,负责 source kind、confidence、status、parseStatus、trust、workflow phase 和写回结果的中文兜底,避免未知后端枚举直接暴露到 UI。
|
||||
|
||||
Reference in New Issue
Block a user