update、add-repo。update、add-repo 拒绝和已归档 completed archive no-op。archive no-op 在测试方案相邻两行重复覆盖,但不冲突、无害。FinishRequirement 曾在单个 repo push 成功后立即写入 pushed,不符合“全部 push 成功后批量推进状态”;已新增失败集成测试并修复。operation_logs 曾只建表不写入;已新增失败日志 API,并覆盖 finish 的状态检查、commit 身份、commit、push、cleanup 失败路径。DefaultBranch 只存在于技术方案,代码未实现;已新增默认分支探测并在 AddRepo 未传 base 时使用。env GOCACHE=/private/tmp/workspace-cli-gocache GOMODCACHE=/private/tmp/workspace-cli-gomodcache GOSUMDB=off go test ./...env GOCACHE=/private/tmp/workspace-cli-gocache GOMODCACHE=/private/tmp/workspace-cli-gomodcache GOSUMDB=off go vet ./...git status 因非 worktree-missing 的原因失败,当前实现可能继续尝试删除 worktree;应记录失败并停止清理。active+pushed relation 时仍可能提交/推送 active relation;应检测 cleanup-pending 并只执行清理恢复。FinishRequirement 在 cleanup 循环后未重新确认所有 relation 都是 completed 就写入 requirement completed;应在完成前强校验。update、add-repo、archive 锁定测试还不够直接。FinishRequirement 仍缺少 cleanup-pending 的 cleanup-only 分支,混合 active+pushed relation 时会继续处理 active relation 并最终完成需求;本地 go test ./... 同步复现该失败。HasChanges/git status 失败没有停止删除,可能在 dirty guard 未成功执行时继续删除 worktree。TestFinishCleanupPendingStopsWhenStatusCheckFails 已验证 cleanup_failed 和 worktree 保留,但未直接断言 cleanup_status operation log;实现已在 service.go 写入该日志。TestFinishCleanupPendingRejectsDirtyWorktree 已验证拒绝清理和 worktree 保留,但未直接断言 relation 状态保持;实现未在 dirty 分支修改状态。FinishRequirement 已拆分普通 active 与 cleanup-pending cleanup-only 路径。pushed。cleanup_failed。completed。pushed 均已有测试覆盖。AddRepoToRequirement 的 fetch failure 已实现日志写入,但当前只有 add-repo worktree failure 的直接测试;可补 focused add-repo fetch failure log 测试。requirement_id、repo_id、message 字段;实现通过 store.LogOperation 写入这些字段。BranchInUse 使用 git worktree list --porcelain 精确匹配本地分支 ref,CreateWorktree 会在本地 feature 分支被占用时返回可恢复错误。go test ./... 和 go vet ./... 均通过。TestAddRepoToRequirementLogsFetchFailure。requirement_id、repo_id 和非空 message。gitx.ExecRunner,不是 mock-only 路径。docs/implementation-steps.md。CreateRequirement 在 fetch/worktree/relation 失败时会留下 requirement 记录,极端情况下可留下 0 repo active 需求并允许后续 finish 标记 completed;同时同 key 重试会撞唯一约束。repo list --all、req list --all、req archive、dev --tool unknown、WORKSPACE_CLI_HOME 的直接测试证据。go test -count=1 ./...、go vet ./...、go build ./cmd/workspace 均通过,但审查发现功能语义缺口。.git,Reviewer 无法做 diff-level review,只能基于当前文件和计划文档审查。CreateRequirement 的 relation insert 失败缺少 focused 测试;实现已覆盖该路径,但补充直接回归测试可提升可追踪性。CreateRequirement 已在 fetch/worktree/relation 失败时记录失败 operation log,删除已创建 worktree 和 relation,并删除 requirement 记录。AddRepoToRequirement 已在 relation 写入失败时删除刚创建的 worktree,并保留原需求状态。repo list --all、req list --all、req archive、未知 dev tool、WORKSPACE_CLI_HOME。go test -count=1 ./... 通过。go vet ./... 通过。go build -o /private/tmp/workspace-cli-review-readonly/workspace ./cmd/workspace 通过。