quality.md 4.2 KB

质量评分

这份文档评的是"代码库本身",不是"某一次改动做得好不好"。 前者回答"项目在变强还是变弱",后者用 sops/evaluator-rubric.md。

更新时间:每轮重要会话之后 / 做基准对比之前 / 清理或重构之后 / 换模型或换 agent 时

怎么打分

每个领域按四项打 强 / 中 / 弱:

维度 问自己
验证状态 这块有验证手段吗?还是只能靠手点?
Agent 可读性 一个新会话能只靠仓库内文件看懂这块吗?
测试稳定性 验证手段是稳定的,还是时好时坏?
关键缺口 有没有已知但没记下来的问题?

产品领域

对话协议适配(api-chat-coordinator.ts)

维度 评级 说明
验证状态 强 有对真实后端端到端验证的套路;契约测试可复现
Agent 可读性 强 类型定义完整、关键决策有注释、接口契约在 harness/docs/reference/
测试稳定性 中 验证依赖真实后端;上游不稳定时会误判(上游失败 ≠ 前端错)
关键缺口 ⚠️ 有 "选中候选提交文本是否循环"从未验证(上游持续失败,status: found 未出现过)。见 exec-plans/tech-debt-tracker.md #1

消息渲染(components/Chat/)

维度 评级 说明
验证状态 中 顺序、换行、复制等有过针对性验证;视觉观感仍靠人工看
Agent 可读性 中 BusinessRecord.vue 体量大、状态机复杂(打字机 / scope 退出 / 行合并),新人上手成本高
测试稳定性 弱 没有自动化视觉或行为测试
关键缺口 ⚠️ 有 渲染管线有多处"历史遗留的隐式行为"(如 processPolicyTableBlock 会把 POLICY_TABLE 之前的内容当纯文本),靠注释提示,没有测试兜底

政策卡片与详情(PolicyMatch.vue)

维度 评级 说明
验证状态 中 字段映射有验证;筛选行为按用户要求刻意保持旧实现
Agent 可读性 中 单文件体量大;"哪些是刻意保持的"只在 tech-debt.md 里说明
测试稳定性 弱 无自动化测试
关键缺口 有 部门筛选在新数据下筛不出结果(刻意,见 tech-debt.md #4)

补问问卷(QuestionCard.vue)

维度 评级 说明
验证状态 强 四种 kind+status 形态有断言;提交映射有覆盖
Agent 可读性 中 新增的 freeformInputOnTop 等字段有注释;但 message 字段定义了却没渲染
测试稳定性 中 静态断言稳定;真实交互仍靠手点
关键缺口 有 status: failed 与"无 status"两种只有静态断言,未在真实后端遇到过

文件上传(待定)

维度 评级 说明
验证状态 弱 入口已隐藏,未开始
Agent 可读性 中 原实现参数有文档(legacy 快照)
测试稳定性 — 未开始
关键缺口 ⚠️ 有 后端方案未定,无法开工(见 tech-debt.md #3)

架构层

层 边界执行 Agent 可读性 说明
协议适配层 强 强 职责单一:事件 → 内容标记。渲染层不感知协议,边界清晰
渲染层 中 中 边界靠约定维持,无强制手段
网络层(network/api/) 中 强 文件少、职责清楚
状态层 中 中 无状态库,状态散在组合式函数 + localStorage;跨会话恢复靠 localStorage

当前总评

整体在变强。协议适配层的引入把一个高变动风险(接口协议)隔离在了单一文件里, 这是这段时间最有价值的改动。

最弱的一环是"验证":除了协议适配层,其余部分基本没有自动化验证手段, 依赖人工查看。tools/ 目录建起来之后,鼓励把一次性的验证脚本沉淀下来。

最需要盯的缺口:tech-debt.md #1 —— 那是一个可能表现为"死循环"的风险, 且因为上游持续失败而从未被验证过。上游一恢复就该补测。