docs(ops): release rdev merge slot, archive P0/P1 task, register S1续批
Also record the ad-hoc verification Path("") join pitfall as a low-severity
audit note so future sampling scripts fail closed instead of scanning bizdev/.
Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
+6
-1
@@ -1,6 +1,6 @@
|
||||
---
|
||||
title: "研发工作流(rdev)接入:13 阶段 / 60 文档任务"
|
||||
status: in_progress
|
||||
status: done
|
||||
created: 2026-09-17
|
||||
updated: 2026-09-17
|
||||
owner: Cursor
|
||||
@@ -63,3 +63,8 @@ mutex: workflow-def
|
||||
|
||||
- 参考项目:`.refs/weichen-agent-system`(configs/workflows/rdev.yaml 60 stage、templates/docs 60 模板、squads/overlays 配套)
|
||||
- 关键约束:WF-DEF-06(无流程级依赖,precheck 先例 test_manager);doc_id `doc_proj{pid}_{taskKey}` 平铺命名 → rd_ 前缀
|
||||
|
||||
## 合入说明(2026-09-17)
|
||||
|
||||
- P0+P1 已 `--no-ff` 合入本地 `dev`(含 template-depth S0+S1)。
|
||||
- P2/P3/P4 仍 planned,待独立认领。
|
||||
@@ -0,0 +1,45 @@
|
||||
---
|
||||
title: "临时验证脚本 Path 空字符串拼接导致跨任务取证串味"
|
||||
status: done
|
||||
created: 2026-09-17
|
||||
updated: 2026-09-17
|
||||
severity: low
|
||||
---
|
||||
|
||||
# 临时验证脚本 Path 空字符串拼接导致跨任务取证串味
|
||||
|
||||
## 现象
|
||||
|
||||
S0.3 真 PI 打样归档时,`rd_design_input_spec-final.md` 一度被写成无关客户的商务对标报告(「掌上无线超声系统 × GE Vscan / Philips Lumify」),而非设计输入规格书终稿。
|
||||
|
||||
## 根因分析
|
||||
|
||||
产品侧小队/工作区创建正常:失败的 `rd_*` 请求因 main-completed 硬 precheck 拒绝,`task_runs.WorkspaceID` 如实为空。
|
||||
|
||||
缺陷在**本地临时取证脚本**(`.doc/test-reports/assets/2026-09-17-rdev-template-depth/run_s0_*.py`)的兜底逻辑:
|
||||
|
||||
1. `ws_id = pi_result.get("workspace_id") or ""` 在响应无该字段时得到空串;
|
||||
2. Python `pathlib`:`Path(bizdev_root) / ""` **坍缩为父目录本身**(无报错);
|
||||
3. 随后 `root.rglob("output.md")` 扫遍共享 `data/dev/workspaces/bizdev/` 全树;
|
||||
4. 「取最长文本」启发式选中历史商务任务终稿并误归档。
|
||||
|
||||
证据:会话内 `task_runs` 失败记录 `WorkspaceID=""`;`Path('/a/b') / '' == Path('/a/b')` 可复现;误归档文件内含 `adhoc_GEVsca_...` 工作区路径。
|
||||
|
||||
## 严重度
|
||||
|
||||
`low` — 仅本地取证脚本;未污染产品库、未改小队/黑板创建逻辑;同轮已用精确工作区路径重归档并随测试报告提交干净终稿。
|
||||
|
||||
## 关联整改
|
||||
|
||||
- 无需产品代码改动。
|
||||
- 经验红线:临时验证脚本禁止「空路径拼接 + 全树 `rglob` + 取最大值」组合;`work_dir`/`WorkspaceID` 为空时必须失败退出,不得扩大搜索范围。
|
||||
|
||||
## 证据
|
||||
|
||||
- 正确终稿:`.doc/test-reports/assets/2026-09-17-rdev-template-depth/rd_design_input_spec-final.md`
|
||||
- 测试报告:`.doc/test-reports/2026-09-17-rdev-template-depth-test-report.md`
|
||||
- 工作区 ID 生成:`internal/squad/workspace.go`(`ws_%s_%d` + UnixNano)
|
||||
|
||||
## 开放问题
|
||||
|
||||
- 无。
|
||||
+3
-2
@@ -13,7 +13,8 @@
|
||||
|
||||
| owner | task | branch | worktree | mutex | status |
|
||||
|-------|------|--------|----------|-------|--------|
|
||||
| Cursor | 2026-09-17-rdev-workflow-integration | feature/rdev-core | - | workflow-def | in_progress |
|
||||
| Cursor | 2026-09-17-rdev-template-depth-s1-continued | feature/rdev-template-depth-s1-continued | - | rdev-templates | planned |
|
||||
| Cursor | 2026-09-17-rdev-workflow-integration | feature/rdev-core | - | workflow-def | done |
|
||||
| Cursor | 2026-09-17-rdev-template-depth | feature/rdev-template-depth | .worktrees/feature-rdev-template-depth | rdev-templates | done |
|
||||
| Cursor | 2026-09-17-initial-load-perf-u2 | feature/initial-load-perf-u2 | - | web + static-delivery | done |
|
||||
| Codex | 2026-09-17-initial-load-performance-plan | feature/initial-load-performance-plan | .worktrees/feature-initial-load-performance-plan | loading-performance-audit | done |
|
||||
@@ -127,7 +128,7 @@
|
||||
|
||||
| holder | phase | since | scope | queue |
|
||||
|--------|-------|-------|-------|-------|
|
||||
| Cursor | smoke | 2026-09-17 | rdev-core+template-depth | - |
|
||||
| - | idle | - | - | - |
|
||||
|
||||
**phase**: `idle` | `merging` | `smoke` | `e2e`
|
||||
|
||||
|
||||
@@ -0,0 +1,53 @@
|
||||
---
|
||||
title: "rdev 模板深度补强 S1 续批(阶段 06–13)"
|
||||
status: planned
|
||||
created: 2026-09-17
|
||||
updated: 2026-09-17
|
||||
owner: Cursor
|
||||
branch: feature/rdev-template-depth-s1-continued
|
||||
worktree: "-"
|
||||
mutex: rdev-templates
|
||||
---
|
||||
|
||||
# rdev 模板深度补强 S1 续批(阶段 06–13)
|
||||
|
||||
## 目标
|
||||
|
||||
为阶段 06–13 剩余 rdev 模板补齐 ISO 13485 专业章节与逐节写作指令,lint allowlist 随批增长。
|
||||
|
||||
## 范围
|
||||
|
||||
- 约 27 份仍含「按本阶段专业结构写」通用占位的模板
|
||||
- 约 9 份中等档模板:补逐节指令与预填示例行
|
||||
- 评审记录类已较完整者可跳过或轻触
|
||||
- 方法沿用 [08-rdev模板写作规范](../../system-design/project-workflow/08-rdev模板写作规范.md)
|
||||
- 详见 [backlog S1 续批](../../backlog/2026-09-17-rdev-phase2-backlog.md)
|
||||
|
||||
## 非目标
|
||||
|
||||
- S2 运行时编排/配置化、S3 overlay/门禁扩面
|
||||
- P2 前端治理、P3 三样本真 PI E2E、P4 任务键命名空间化
|
||||
- 本任务档仅 planned 登记;开工前再置 `in_progress` 并占 mutex
|
||||
|
||||
## 步骤
|
||||
|
||||
1. [ ] 从最新 `dev` 开 `feature/rdev-template-depth-s1-continued`,CURRENT 认领置 `in_progress`
|
||||
2. [ ] 分批改写模板 + 扩展 `rdev_template_lint_test` allowlist
|
||||
3. [ ] 每批 `go test -short` 相关包;可选 stub/真 PI 抽样
|
||||
4. [ ] 测试报告归档 + FEATURE-MATRIX 剩余工作更新
|
||||
|
||||
## 验收标准
|
||||
|
||||
- [ ] lint 对新补强模板全绿
|
||||
- [ ] 抽样终稿无通用占位、有实质章节结构
|
||||
- [ ] `go vet` + `go test -short` 相关范围全绿
|
||||
|
||||
## 相关链接
|
||||
|
||||
- 上游:[.doc/archive/ops/2026-09-17-rdev-template-depth.md](../../archive/ops/2026-09-17-rdev-template-depth.md)
|
||||
- Backlog:[2026-09-17-rdev-phase2-backlog](../../backlog/2026-09-17-rdev-phase2-backlog.md)
|
||||
- 写作规范:[08-rdev模板写作规范](../../system-design/project-workflow/08-rdev模板写作规范.md)
|
||||
|
||||
## 证据 / 备注
|
||||
|
||||
S0+S1 首批(14 份)已合入 `dev`;本续批独立成轮,避免长时间占集成槽位。
|
||||
@@ -55,7 +55,7 @@
|
||||
| 对话数据治理(D7) | 留存/删除口径、库·备份·日志控制、敏感字段加密边界 | deferred | deferred_enhancement(违规则升 blocker) | [计划](../remediation/2026-09-16-feature-matrix-production-readiness-plan.md) Scope Boundaries;[收口 §7.1](../remediation/2026-09-16-partial-deferred-completion-plan.md);[D7 ADR 草案](../adr/2026-09-17-d7-chat-data-retention.md);[W7 盘点](../audit/2026-09-17-d7-data-inventory.md);[报告](../test-reports/2026-09-17-w7-d7-inventory-test-report.md) | **after W7**:只读盘点完成(sessions/messages/KB/日志/备份/event)。**未发现**已确认基线违规,未写 gap-matrix。口径仍 `pending-compliance-signoff`;禁止按 365/180/30 物理删除。本行不升 done | `chat` |
|
||||
| 智能体小队 | 角色-任务-工作区-黑板 | done | non_blocker | [agent-squad](../system-design/agent-squad/);[test 2026-09-07](../test-reports/2026-09-07-dynamic-squad-planning-test-report.md) | 非关键步骤降级(A5/A6)属 backlog | `squad` |
|
||||
| 工作流治理 | 三正式工作流、设置页/DutyMode、动作级鉴权、真实 PI 三工作流 E2E、full/none 混合长链 | done | non_blocker | [三工作流整改](../remediation/2026-09-12-three-workflows-strict-governance-remediation.md);[409/职责](../test-reports/2026-09-14-workflow-plan-409-frozen-and-optional-duties-test-report.md);[鉴权](../test-reports/2026-09-14-governance-action-level-authz-test-report.md);[PI E2E](../test-reports/2026-09-16-pi-three-workflow-e2e-test-report.md);[Wave2 full/none](../test-reports/2026-09-16-wave2-real-pi-evidence-test-report.md) | full 跨用户审批 + none 免审批不阻塞已签。纯软件自举仍独立 planned | `workflow` |
|
||||
| 研发设计控制(rdev) | 医疗第 4 工作流:13×60 manifest/模板、`squad.rdev_doc.v1` kind 编排、main-completed 硬 precheck、StageKey 动态化;不含前端/真 PI/键名空间化 | partial | deferred_enhancement | [设计](../system-design/project-workflow/07-研发工作流rdev接入-设计与实施计划.md);[short-term](../ops/short-term/2026-09-17-rdev-workflow-integration.md);[模板深度](../archive/ops/2026-09-17-rdev-template-depth.md);[模板深度报告](../test-reports/2026-09-17-rdev-template-depth-test-report.md);[写作规范](../system-design/project-workflow/08-rdev模板写作规范.md);[backlog](../backlog/2026-09-17-rdev-phase2-backlog.md) | **P0+P1 done**。**模板深度 S0+S1 首批 done**:leader prompt 已修(`rdev_leader` + InstructionsFile 注入);14/60 模板已补强(阶段 01–05);真 PI 打样 PASS(项目 6424 intake + 6425 `rd_design_input_spec`,`stage=RD03_design_input`)。剩余:27 份模板 + 中等档补强(S1 续批)、S2/S3、P2 前端、P3 三样本 E2E、P4 键名空间化 | `workflow-def` / `rdev-templates` |
|
||||
| 研发设计控制(rdev) | 医疗第 4 工作流:13×60 manifest/模板、`squad.rdev_doc.v1` kind 编排、main-completed 硬 precheck、StageKey 动态化;不含前端/真 PI/键名空间化 | partial | deferred_enhancement | [设计](../system-design/project-workflow/07-研发工作流rdev接入-设计与实施计划.md);[short-term](../archive/ops/2026-09-17-rdev-workflow-integration.md);[模板深度](../archive/ops/2026-09-17-rdev-template-depth.md);[模板深度报告](../test-reports/2026-09-17-rdev-template-depth-test-report.md);[写作规范](../system-design/project-workflow/08-rdev模板写作规范.md);[backlog](../backlog/2026-09-17-rdev-phase2-backlog.md) | **P0+P1 done**。**模板深度 S0+S1 首批 done**:leader prompt 已修(`rdev_leader` + InstructionsFile 注入);14/60 模板已补强(阶段 01–05);真 PI 打样 PASS(项目 6424 intake + 6425 `rd_design_input_spec`,`stage=RD03_design_input`)。剩余:27 份模板 + 中等档补强(S1 续批)、S2/S3、P2 前端、P3 三样本 E2E、P4 键名空间化 | `workflow-def` / `rdev-templates` |
|
||||
| 纯软件项目自举 | 软件项目创建、Bootstrap、Delivery、受控工程交接 | partial | deferred_enhancement(明确不挡首发) | [设计](../system-design/2026-09-14-software-project-bootstrap-workflow.md);[ADR](../adr/2026-09-16-software-project-bootstrap-keys.md);[L1 报告](../test-reports/2026-09-16-software-project-bootstrap-test-report.md);[W5a](../test-reports/2026-09-17-w5a-software-bootstrap-ui-pi-test-report.md) | **before**:L1 + UI 仍克隆医疗模板。**after W5a**:catalog 驱动创建、软件不挂医疗 key、docs_only 真 PI 建议 delivery 且不自动激活。**SWBOOT-10 仍 stub**(W5b);本行不升 done | `workflow-design` |
|
||||
| IAM / 鉴权 | 项目级 API 鉴权 + RBAC;会话/阶段授权 | done | 加固 | [v3 full inventory](../audit/authorization-matrix-v3-full.md);[session 中断](../test-reports/2026-09-16-iam-route-inventory-test-report.md);[fail-closed](../test-reports/2026-09-16-wave1-iam-fail-closed-test-report.md);[410 策略](../audit/2026-09-16-bug11-410-retire-decision.md);[R13](../audit/2026-09-16-r13-data-safety-checklist.md) | 全路由 inventory + session 中断负例 + 410 冻结 + R13 基线已签 | `authz` |
|
||||
| 文档治理 | 法定文档生命周期 + 租约 + 受控正文读取 | done | non_blocker | [docgov](../test-reports/2026-09-08-docgov-lifecycle-and-claiming-framework-test-report.md);[正文 UI](../test-reports/2026-09-14-controlled-content-ui-acceptance.md);[canonical hash](../remediation/2026-09-14-controlled-content-canonical-hash-remediation.md) | 项目 143 只读;不终止 | `docgov` |
|
||||
|
||||
Reference in New Issue
Block a user