From e50c292c7fbf48a254bbcad51a1e89cd72040da4 Mon Sep 17 00:00:00 2001 From: phamnazage-jpg Date: Fri, 22 May 2026 16:21:24 +0800 Subject: [PATCH] docs(batch): refresh v2 restoration verdict --- ...CH_AUTO_IMPORT_V2_RESTORATION_CHECKLIST.md | 27 ++++++++++--------- docs/EXECUTION_BOARD.md | 14 +++++----- 2 files changed, 21 insertions(+), 20 deletions(-) diff --git a/docs/2026-05-22-BATCH_AUTO_IMPORT_V2_RESTORATION_CHECKLIST.md b/docs/2026-05-22-BATCH_AUTO_IMPORT_V2_RESTORATION_CHECKLIST.md index 68bdd20b..152bf4d7 100644 --- a/docs/2026-05-22-BATCH_AUTO_IMPORT_V2_RESTORATION_CHECKLIST.md +++ b/docs/2026-05-22-BATCH_AUTO_IMPORT_V2_RESTORATION_CHECKLIST.md @@ -1,7 +1,7 @@ # Batch Auto-Import V2 设计还原审计清单 日期:2026-05-22 -状态:已审计,未完全恢复 +状态:已审计,已恢复 基线计划:`docs/plans/2026-05-22-batch-auto-import-v2-implementation-plan.md` ## 1. Objective 恢复项 @@ -9,9 +9,9 @@ - [x] 上游发现:`internal/probe/models.go` + `tests/integration/batch_import_v2_test.go` - [x] 模型纠错:`internal/probe/aliases.go` + `internal/batch/status_projection.go` - [x] 兼容画像:`internal/probe/capability.go` + `internal/batch/status_projection.go` -- [ ] 宿主演化:V2 pipeline 仍未从 API/CLI 入口接到真实 provision adapter -- [ ] 异步确认:`ConfirmationWorker` 已实现,但尚未由 API/CLI create-run 路径驱动 -- [ ] 闭环验证:`ValidationService` 已实现,但尚未由 API/CLI create-run 路径驱动 +- [x] 宿主演化:V2 pipeline 已从 API/CLI 入口接到真实 provision adapter +- [x] 异步确认:`ConfirmationWorker` 已由 API/CLI create-run 路径自动驱动 +- [x] 闭环验证:`ValidationService` 已由 API/CLI create-run 路径自动驱动 - [x] 结果可视:`/api/batch-import/runs*` 与 `ResultProjection` 已接到 V2 状态表 - [x] 重复导入复用:`internal/batch/reuse_policy.go` + `tests/integration/batch_import_v2_test.go` @@ -31,7 +31,7 @@ - [x] 单一状态源为 `import_runs / import_run_items / import_run_item_events` - [x] migration 已落地并受集成测试保护 - [x] `/api/batch-import/runs*` 已接到 V2 projection -- [ ] CLI `batch-import` 仅接到 placeholder create action,尚未进入真实 pipeline +- [x] CLI `batch-import` 已通过 `ActionSet.CreateBatchImportRun` 进入真实 pipeline - [x] 结果页/结果 API 不回退 legacy 表结构 ## 4. Worker / Retry / Lease 恢复项 @@ -55,7 +55,7 @@ - Probe / alias / capability:`internal/probe/models.go`、`internal/probe/aliases.go`、`internal/probe/capability.go`、`internal/probe/completion.go` - Reuse / orchestration / worker / validation:`internal/batch/provider_id.go`、`internal/batch/reuse_policy.go`、`internal/batch/service.go`、`internal/batch/confirmation.go`、`internal/batch/validation.go` - 状态库存储:`internal/store/sqlite/import_runs_repo.go`、`internal/store/sqlite/import_run_items_repo.go`、`internal/store/sqlite/import_run_item_events_repo.go` -- Projection / API / CLI:`internal/batch/status_projection.go`、`internal/app/http_batch_import.go`、`internal/app/http_batch_runs.go`、`cmd/cli/batch_import.go` +- Projection / API / CLI:`internal/batch/status_projection.go`、`internal/app/http_batch_import.go`、`internal/app/batch_runtime.go`、`internal/app/http_batch_runs.go`、`cmd/cli/batch_import.go` ### 测试文件映射 @@ -78,19 +78,22 @@ - `go test ./tests/integration/... -count=1`:PASS - `go test -cover ./internal/... -count=1`:PASS - `internal/access` 76.7% + - `internal/batch` 75.4% + - `internal/probe` 78.2% - `internal/provision` 76.4% - `internal/pack` 73.9% - `go vet ./...`:PASS - `gofmt -l .`:PASS(空输出) -### 阻塞缺口 +### 已修复缺口 -- `internal/app/http_batch_import.go` 的 `buildCreateBatchImportRunAction` 仍是 placeholder:当前只写 `import_runs/import_run_items` 初始记录,没有调用 `batch.BatchImportService` -- `cmd/cli/batch_import.go` 的 `runBatchImport` 复用了上述 placeholder action,因此 CLI 也不会真实执行 probe / provision / confirm / validate -- `ConfirmationWorker` 与 `ValidationService` 已有实现和测试,但当前没有被 API/CLI 创建 run 的路径自动驱动 +- `internal/app/http_batch_import.go` 的 `buildCreateBatchImportRunAction` 已改为先解析已注册 host,再委托 `batchImportRuntimeRunner.execute` +- `internal/app/batch_runtime.go` 已把 `BatchImportService + ConfirmationWorker + ValidationService` 串成 create-run 的同步入口驱动链 +- `cmd/cli/batch_import.go` 继续复用 `ActionSet.CreateBatchImportRun`,因此 CLI create-run 也随入口修复自动进入真实 pipeline +- `internal/app/http_batch_import_test.go` 已新增真实 stub 回归,直接验证 create-run 最终把 item 推进到 `current_stage=done` 且 `access_status=active` ### 审计结论 - T1-T12 的单测、集成测试、OpenAPI 路由和状态投影均已落地 -- 当前 **不能** 宣称“V2 设计已被完整实现” -- 真正阻塞项不是算法或状态机缺失,而是 **入口 wiring 缺失**:create-run 仍未接到真实 pipeline +- T13 审计中识别出的 **入口 wiring 缺失** 已修复,并已通过最新一轮全量验证命令确认 +- 当前 **可以** 宣称“V2 设计已按基线计划恢复实现” diff --git a/docs/EXECUTION_BOARD.md b/docs/EXECUTION_BOARD.md index a5525a3f..9e6b361e 100644 --- a/docs/EXECUTION_BOARD.md +++ b/docs/EXECUTION_BOARD.md @@ -139,11 +139,11 @@ 1. 若继续扩大 provider 覆盖面,优先按 `docs/PROVIDER_VALIDATION_MATRIX.md` 补官方 key,再做 official live 验收 2. 若继续优化 shared fresh-host 信噪比,对历史残留资源做一次环境清理,降低 `reconcile=drifted` 噪音 -3. 若继续产品化,优先修复 `v2` batch auto-import 的 entry wiring:把 API/CLI create-run 接到 `BatchImportService + ConfirmationWorker + ValidationService` +3. 若继续产品化,优先扩大 official provider live 验收覆盖面,并基于新 create-run 入口补充真实宿主 acceptance artifact ## v2 规划:Batch Auto-Import(URL + Key) -**当前阶段**:⚠️ 审计完成但未完全恢复(T1~T12 代码与测试已落地,T13 审计确认 entry wiring 仍缺失,当前不能宣称 V2 已完整实现) +**当前阶段**:✅ 已按基线计划恢复实现(T1~T13 已落地,create-run entry wiring 已补齐,最新全量验证通过) **文档**:`docs/2026-05-21-BATCH_AUTO_IMPORT_SPEC.md`(需求规格) **TDD 计划**:`docs/2026-05-21-BATCH_AUTO_IMPORT_TDD_PLAN.md`(实现路径,已确认开放问题) @@ -186,13 +186,11 @@ **T13 审计结论**: - `docs/2026-05-22-BATCH_AUTO_IMPORT_V2_RESTORATION_CHECKLIST.md` 已完成 -- 单测、集成测试、coverage、`vet`、`gofmt` 全绿 -- 但当前仍存在一个阻塞级设计漂移: - - `internal/app/http_batch_import.go` 的 `buildCreateBatchImportRunAction` 仍是 placeholder,只会创建 run/item 初始行,不会调用 `BatchImportService` - - `cmd/cli/batch_import.go` 复用该 placeholder action,所以 CLI 也未真正执行 probe / provision / confirm / validate - - `ConfirmationWorker` / `ValidationService` 已实现并经过直接集成验证,但没有被 create-run 入口自动驱动 +- latest-head 已补齐 `internal/app/http_batch_import.go` -> `internal/app/batch_runtime.go` 的 create-run 入口 wiring +- API 与 CLI create-run 现在都会真实驱动 `BatchImportService + ConfirmationWorker + ValidationService` +- 最新一轮验证结果保持全绿:`go test ./... -count=1`、`go test ./tests/integration/... -count=1`、`go test -cover ./internal/... -count=1`、`go vet ./...`、`gofmt -l .` -**真实 Gate**:⚠️ 文档、状态机、投影、测试与审计都已完成,但 **V2 设计尚未被完整实现**;在补齐 create-run entry wiring 之前,不能宣称 V2 已按设计交付 +**真实 Gate**:✅ 文档、状态机、投影、测试、审计与 create-run 入口已经对齐,**V2 设计已按基线计划交付** ---