定稿:2026-11-05,主理人拍板。本文是 CFC 研发/测试编排的顶层验收口径,所有研发负责人闭环轮次、所有派发出去的开发会话,开工前须读取本文;与本文冲突的旧口径以本文为准。
让 tests/user-scenarios/应用场景总览.md 列出的全部 241 个应用场景(SC-角色-NN;O-4 裁决 2026-11-06 落地,基线 218→236;O-8 裁决 2026-11-07 落地,236→241)都能端到端跑通。
「跑通」的判定(三者缺一不可):
origin/cfclub,用 git merge-base --is-ancestor <sha> origin/cfclub 可核验;tdd_orchestrate.py --clean-check 退出码 0)。 O-3 收口(2026-11-06 主理人拍板):判据③按「SC 关联提交级」核验——该 SC 的实现/用例提交须为干净提交(git diff --name-status <parent> <sha> 无删除、无无关文件)且已推 origin/cfclub;主工作树中其他会话/其他域的未提交改动不计入该 SC 的干净判据。不算跑通:仅代码已提交、仅编译通过、仅接口单测通过、会话自述「已完成」、仅文档用例写完但未执行。
| 资产 | 路径 | 规模 |
|---|---|---|
| 场景总目录与追溯矩阵(一级权威) | tests/user-scenarios/应用场景总览.md |
241 个 SC:游客 12 / 家长 96 / 孩子 26 / 规划师 32 / 运营 25 / 服务商 11 / 跨角色 22 / AI 成长教练 10 / 真人管家 7(O-4 裁决 2026-11-06 落地 218→236;O-8 裁决 2026-11-07 落地 236→241 含 SC-P-94~96/SC-C-26/SC-A-27;SC-B/AI 成长教练 10、SC-H/真人管家 7、SC-X-22 CF 预估) |
| 角色叙事细节 | tests/user-scenarios/01-guest.md ~ 07-five-dimension.md + README.md |
每个场景含用户故事、前置条件、主流程、异常/边界、关联需求/设计、关联用例 |
| 派生测试用例 | tests/test-cases/*.md(含 cross-role-e2e.md) |
729 条 TC |
| 自动化状态台账 | docs/tdd/test/automation-status.md |
由 test_inventory.py 从 .tdd/test-progress.json 派生 |
| 已有脚本 | Playwright e2e/integration 70 文件 / 410 方法;Python pytest 12 文件 / 55 方法 | 可复用,不重造 |
能力边界:tdd-orchestrator 只做「发现 / 格式化 / 跟踪」,不创建、不发明、不修改 原始测试文件与场景文件;新增脚本/用例由 QA 会话在其独立分支产出并 push。
docs/tdd/test/automation-status.md:结构化测试用例 729 条 → 已执行 0 / 通过 0 / 失败 0 / 未跟踪 729;脚本级自动化尚未接入 CI(无 .github/workflows/、.gitlab-ci.yml、Jenkinsfile)。SC-角色-NN 作为一级待办,按主链路优先排序:
登录/鉴权 → 家庭成员与双角色 → 任务/心愿 → 五维能量 → 健康报告解析 → 测评订单 → 商城/会员 → 文章审核 → 跨角色 E2E → 运营/服务商/合规。--add-task <key> --requirement "<需求锚点>" --design "<设计锚点>" 两个溯源缺一不可;锚点须回链到 SC 编号 + 场景文件 + 对应需求/设计文档,--design 以已合入 origin/cfclub 的契约为准并标注「实现仅在 feature 分支、不得假定包路径」。test_inventory.py --project E:/cfc 派生 docs/tdd/test/automation-status.md;跨角色请求写 docs/tdd/dev/test-requests.md,需裁决写 docs/tdd/orchestration/pending.md,并 push。本小节是 O-2 裁决的固化(单一事实源),覆盖 00:53 旧口径中「SC 即任务池」的歧义。权威登记表:
docs/tdd/orchestration/sc-key-map.md(241 SC 全量,唯一「SC 跑通」计数来源;O-4 裁决 2026-11-06 落地 236;O-8 裁决 2026-11-07 落地 241)。
--add-task <key> 的 key 一律为合法 unit.domain.action(方案 A 为正本);SC 编号 + 场景文件写进 --requirement,已合入 origin/cfclub 的契约写进 --design(标注「实现仅在 feature 分支、不得假定包路径」)。KEY_RE,避免污染全部项目 + 「SC=能力编排组合」与「单一能力」语义错位。scenario.* / sc_* 等无契约、无用例引用的伪能力键。state.json 只证明「实现闭环」,「累计已跑通」按 sc-key-map.md 的 SC 计——须同时满足:① 正常/异常/权限三类流实际执行证据;② 实现与用例已 push origin/cfclub(git merge-base --is-ancestor 核验);③ 工作区干净(--clean-check 退出码 0;O-3 收口 2026-11-06 起按「SC 关联提交级」核验——SC 提交干净且已推 origin/cfclub,主工作树其他域他人 WIP 不计入)。正本总数 = 241(sc-key-map.md 表格行口径:A25/G12/P96/C26/T32/S11/X22/B10/H7 = 241;O-8 归一后主表行数 = 唯一 SC ID 数 = 241)。
docs/tdd/orchestration/sc-key-map.md 表格行(含 SC 编号的 | SC-... | 记录行)为唯一计数权威;与 tests/user-scenarios/应用场景总览.md 正文描述/历史演进记录/编号变体引用保持只读一致。grep -oE '\| *SC-[A-Z]+-[0-9]+ *\|' docs/tdd/orchestration/sc-key-map.md | sort -u | wc -l = 241(严格表格行过滤,不含演进记录或正文引用的重复行)。grep -oE "SC-[A-Z]+-[0-9]+" 统计得 237(含表外引用与正文变体引用),本次裁决更正为 236。2026-11-07 O-8 归一后为 241(并消除 O-3 5 SC 双行制 +5 歧义,主表行数 = 唯一 ID 数)。SC-B-03/SC-B-08(AI 成长教练空号,台账已删)→ 不计入;SC-T-6(=SC-T-06 无零变体,总览 SC-X-22 产出点清单引用)→ 不计入。6141c43a2)+ 实现(f14e46f84)+ JUnit 契约(2869d0e8e)已合入,仅缺三类流执行证据 + mark-green(TR-5),入正本不计入已跑通。判据③细化 + 5 个 SC 转正「跑通」。
origin/cfclub),唯卡「工作目录干净」第三判据——主工作树 25 处 WIP 全部为其他域会话(会员/商城 Membership、DAN 测评前端、文档 PROJECT-OVERVIEW/API_REFERENCE、E2E flow-l1、编排工具 tasks_backlog、家庭归因读本 docs/参考教材)未提交改动,与这 5 个 SC 提交无关。8051b64f1(G-02)/df2364ba3(G-06)/f1b0e3ed5(P-03)/f41da2779(P-10)/291955bce(P-11),全部 git merge-base --is-ancestor origin/cfclub ✓ 且提交干净(无删除、无无关文件;P-10 提交 f41da2779 含 automation-run 执行证据 + tests/e2e/api/task-create-scp10.spec.js)。report-dev-2026-11-06-1018.md 附录 G;各域属主会话自行提交,编排侧不擅自 add -A/checkout/stash。docs/tdd/orchestration/report-dev-YYYY-MM-DD-HHMM.md 除模板必填项(1.2b 会话列表必填,无空闲也列 idle)外,必须增列 「场景覆盖矩阵」:总数 241 / 累计已跑通 / 本轮新增跑通 / 失败 / 阻塞 / 未跟踪,并逐条注明本轮推进的 SC 编号与证据 sha。git add -A;提交他人产物先 git show origin/cfclub:<path> 对齐、精确 git add -- <paths>;严禁 checkout/stash/force-push 他人改动,独立提交走 worktree;.tdd/ 本地私有禁推,共享内容只放 docs/tdd/*.md。241 / 241 个 SC 均具备三类用例的实际通过证据 + 实现与用例已推 origin/cfclub + CI 持续回归可用 + 工作目录干净。在此之前,任何一轮都不得汇报「开发完成」。