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

50 lines
2.9 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
## 1. 核心类型变更
- [x] 1.1 从 `src/server/checker/types.ts` 的 CheckResult 和 StoredCheckResult 类型中移除 `success` 字段
- [x] 1.2 从 `src/shared/api.ts` 的 CheckResult 类型中移除 `success` 字段
## 2. 数据存储层变更
- [x] 2.1 修改 `src/server/checker/store.ts`DDL 移除 `success`INSERT 语句移除 success 绑定,所有查询中移除 success 引用
- [x] 2.2 修改 `src/server/checker/store.ts`getSummary 中 UP 判定改为 `latest.matched`
- [x] 2.3 修改 `src/server/checker/store.ts`getTargetStats 可用率计算改为 `matched = 1`
- [x] 2.4 修改 `src/server/checker/store.ts`getTrend 中 availability 和 avgDurationMs 改为基于 `matched = 1`
- [x] 2.5 修改 `src/server/checker/store.ts`getRecentSamples 返回类型移除 successSELECT 移除 success 列
- [x] 2.6 修改 `src/server/checker/store.ts`:分组排序 ORDER BY 移除 `grp`,改为 `ORDER BY CASE WHEN grp='default' THEN 0 ELSE 1 END, id`
## 3. 拨测执行层变更
- [x] 3.1 修改 `src/server/checker/fetcher.ts`:所有 CheckResult 返回值中移除 `success` 字段
- [x] 3.2 修改 `src/server/checker/command-runner.ts`:所有 CheckResult 返回值中移除 `success` 字段
- [x] 3.3 修改 `src/server/checker/command-runner.ts`Bun.spawn 添加 `stdin: "ignore"`
- [x] 3.4 修改 `src/server/checker/engine.ts`writeResult 调用中移除 `success` 传递
## 4. API 路由层变更
- [x] 4.1 修改 `src/server/app.ts`mapCheckResult 移除 `success` 字段映射
- [x] 4.2 修改 `src/server/app.ts`recentSamples.up 判定改为 `s.matched === 1`
## 5. 前端组件变更
- [x] 5.1 修改 `src/web/components/TargetCard.tsx`isUp 判定改为 `target.latestCheck?.matched`
- [x] 5.2 修改 `src/web/components/TargetGroup.tsx`up 计数改为 `t.latestCheck?.matched`
- [x] 5.3 修改 `src/web/components/TargetDetailModal.tsx`isUp 和 history 行状态改为基于 `matched`
## 6. 测试同步
- [x] 6.1 更新 `tests/server/checker/fetcher.test.ts`:移除所有 `success` 相关断言,改为 `matched` 断言
- [x] 6.2 更新 `tests/server/checker/command-runner.test.ts`:移除所有 `success` 相关断言,改为 `matched` 断言
- [x] 6.3 更新 `tests/server/checker/engine.test.ts`:移除所有 `success` 相关断言,改为 `matched` 断言
- [x] 6.4 更新 `tests/server/checker/store.test.ts`:插入数据移除 `success` 字段,查询断言移除 `success` 检查
- [x] 6.5 更新 `tests/server/app.test.ts`API 响应断言移除 `success` 字段
## 7. 质量验证
- [x] 7.1 执行 `bun run check`typecheck + lint + format + test确保全部通过
- [x] 7.2 执行 `bun run verify`check + build + smoke test确保全部通过
## 8. 文档更新
- [x] 8.1 更新 README.md目标状态判定模型改为 matched 单层判定,移除 success 说明
- [x] 8.2 更新 README.md响应字段中移除 CheckResult 的 success 字段描述