docs(batch): refresh v2 restoration verdict
This commit is contained in:
@@ -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 设计已按基线计划恢复实现”
|
||||
|
||||
@@ -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 设计已按基线计划交付**
|
||||
|
||||
---
|
||||
|
||||
|
||||
Reference in New Issue
Block a user