## 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 返回类型移除 success,SELECT 移除 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 字段描述