1
0
Files
DiAL/openspec/changes/archive/2026-05-11-simplify-judgment-model/tasks.md

2.9 KiB
Raw Blame History

1. 核心类型变更

  • 1.1 从 src/server/checker/types.ts 的 CheckResult 和 StoredCheckResult 类型中移除 success 字段
  • 1.2 从 src/shared/api.ts 的 CheckResult 类型中移除 success 字段

2. 数据存储层变更

  • 2.1 修改 src/server/checker/store.tsDDL 移除 successINSERT 语句移除 success 绑定,所有查询中移除 success 引用
  • 2.2 修改 src/server/checker/store.tsgetSummary 中 UP 判定改为 latest.matched
  • 2.3 修改 src/server/checker/store.tsgetTargetStats 可用率计算改为 matched = 1
  • 2.4 修改 src/server/checker/store.tsgetTrend 中 availability 和 avgDurationMs 改为基于 matched = 1
  • 2.5 修改 src/server/checker/store.tsgetRecentSamples 返回类型移除 successSELECT 移除 success 列
  • 2.6 修改 src/server/checker/store.ts:分组排序 ORDER BY 移除 grp,改为 ORDER BY CASE WHEN grp='default' THEN 0 ELSE 1 END, id

3. 拨测执行层变更

  • 3.1 修改 src/server/checker/fetcher.ts:所有 CheckResult 返回值中移除 success 字段
  • 3.2 修改 src/server/checker/command-runner.ts:所有 CheckResult 返回值中移除 success 字段
  • 3.3 修改 src/server/checker/command-runner.tsBun.spawn 添加 stdin: "ignore"
  • 3.4 修改 src/server/checker/engine.tswriteResult 调用中移除 success 传递

4. API 路由层变更

  • 4.1 修改 src/server/app.tsmapCheckResult 移除 success 字段映射
  • 4.2 修改 src/server/app.tsrecentSamples.up 判定改为 s.matched === 1

5. 前端组件变更

  • 5.1 修改 src/web/components/TargetCard.tsxisUp 判定改为 target.latestCheck?.matched
  • 5.2 修改 src/web/components/TargetGroup.tsxup 计数改为 t.latestCheck?.matched
  • 5.3 修改 src/web/components/TargetDetailModal.tsxisUp 和 history 行状态改为基于 matched

6. 测试同步

  • 6.1 更新 tests/server/checker/fetcher.test.ts:移除所有 success 相关断言,改为 matched 断言
  • 6.2 更新 tests/server/checker/command-runner.test.ts:移除所有 success 相关断言,改为 matched 断言
  • 6.3 更新 tests/server/checker/engine.test.ts:移除所有 success 相关断言,改为 matched 断言
  • 6.4 更新 tests/server/checker/store.test.ts:插入数据移除 success 字段,查询断言移除 success 检查
  • 6.5 更新 tests/server/app.test.tsAPI 响应断言移除 success 字段

7. 质量验证

  • 7.1 执行 bun run checktypecheck + lint + format + test确保全部通过
  • 7.2 执行 bun run verifycheck + build + smoke test确保全部通过

8. 文档更新

  • 8.1 更新 README.md目标状态判定模型改为 matched 单层判定,移除 success 说明
  • 8.2 更新 README.md响应字段中移除 CheckResult 的 success 字段描述