4.3 KiB
4.3 KiB
title, task_id, status, created, updated, owner, task_type, task_tier, policy_revision, branch, worktree, base_dev_sha, write_scope, allowed_environments, head_sha, mutex, review_state, integration_state, deployment, cleanup, cleanup_owner, cleanup_trigger, remote_sync
| title | task_id | status | created | updated | owner | task_type | task_tier | policy_revision | branch | worktree | base_dev_sha | write_scope | allowed_environments | head_sha | mutex | review_state | integration_state | deployment | cleanup | cleanup_owner | cleanup_trigger | remote_sync | |||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| P10: backlog 价值评估与择优实施 | backlog-triage-p10-2026-09-25 | in_progress | 2026-09-25 | 2026-09-25 | cursor-auto | research | small | agent-governance-2026-09-21-r1 | feature/backlog-triage-p10-2026-09-25 | .worktrees/backlog-triage-p10-2026-09-25 | 4bdbb0da6f |
|
squad-quote-backlog | pending | pending | not_required | pending | independent maintainer after owner exit | acceptance green + owner exit | not_requested |
P10: backlog 价值评估与择优实施
用户目标与授权
- 用户目标:
/goal 把这些任务都进行规划,并推进至完成→ 总控 P10「逐项评估后定做/不做及理由」。 - 来源:
.doc/backlog/chat-agent-p6-backlog.md+.doc/backlog/2026-09-17-rdev-phase2-backlog.md。
逐项评估结论
| 项 | 内容 | 结论 | 理由 |
|---|---|---|---|
| B5 | 报价模块轻量复核与输入范围校验 | 做(本批) | internal/quote 纯计算零校验:Hours 负值/NaN/Inf、空客户/产品名直接进 Excel;费率常量无复核快照。补输入校验 + 计算不变式复核(行合计=总额、费率一致性),低风险高价值 |
| A5 | 小队非关键步骤降级 | 做(本批) | StepSpec 无 critical 概念,任一步失败即 wf.Status=failed 整体终止(workflow.go:339)。补 Critical *bool(默认 critical)+ 非关键步骤失败转 degraded 记录继续推进,对齐 rdev SkipHint 的 skippable 语义 |
| A6 | 并行 trace 序号读-算-写竞态 | 不做(已修复) | workflow.go:582-596:traceSeq := len(LoadTrace)+1 与 AppendTrace 均在 mu.Lock() 临界区内(&mu 传入 runOneStep);并行组共享同一把锁。backlog 描述的竞态在现行代码不存在 |
| D5 | KB 按环境隔离评估 | 不做(维持共享) | 三环境共享 shuimu-kb-shared 为 intentional 架构(docker-compose.shared.yml 专有数据卷);KB 为纯只读法规库(internal/kb 无写路径),隔离收益低、运维成本高(数据卷×3)。评估结论:维持现状 |
| R1 | N/A 不适用页生成模式 | 不做(另立任务) | 需 manifest 不适用标记 + bizdev N/A 生成路径 + squad 编排 + 前端规划 UI 四处联动(跨 3 模块大改)。现 SkipHint 元数据已就位(rdev_stage_meta.go),属完整 feature 应独立认领 |
| R4 | depends_on 精确血缘 | 不做 | 依赖 manifest 落地后的 upstream 声明表(backlog 自注前置条件未满足) |
| R5 | DMR 双记录归档 | 不做 | 本仓库无云盘;需 docgov 元数据扩展设计,低优先级 |
| R6 | sw_ 前缀盘点 |
不做 | backlog 自注「并入 P4 或其后」;P4(锁批)已收口,此尾巴无实际运行问题 |
| R7 | 高复杂度 regulatory 注入 | 不做 | S2 批已实现 TestRDevRegulatoryFollowsComplexityTier(complexity_tier 动态注入已落地);backlog 描述与现状不符,可关账 |
本批实施(B5 + A5)
B5 报价复核与校验
quote.Input校验:客户/产品名非空;Hours 非空、每个值 ≥0 且非 NaN/Inf;模板存在。- 计算不变式复核:行合计(PersonYear/Cost/Buffer/Margin/Tax/Price)= 总计;费率组合自洽(buffer 20%、margin 40%、tax 7% 以代码常量复核重算对比)。
- 违规 fail-closed 返回 error,不产出畸形 Excel。
A5 非关键步骤降级
StepSpec.Critical *bool(nil=critical 默认,显式 false=非关键)。- 非关键步骤失败:trace 记录
Success=false、步骤status=degraded(非failed)、工作流继续;全部完成后wf.Status=degraded(非failed),WorkflowExecutionResult.Success=true+DegradedSteps列表。 - 关键步骤失败行为不变(立即终止)。
验证
go test ./internal/quote/ ./internal/squad/新增用例全绿 + 全量回归。- 详见测试报告:2026-09-25-p10-backlog-triage-test-report.md