Forráskód Böngészése

docs(tdd): 测试负责人 0612 轮(第53次)——契约 11 类 107 例 102绿/5红/0错(P-2 3红+B-18 2红,B-21 连续第2轮清零维持,B-10 第11轮无复发,2 YELLOW 键契约第12轮复验通过)· 4 sha IN CHAIN · 状态机同步缺口第21轮(mark-green 证据链就绪)

E2E Test Bot 6 napja
szülő
commit
89b01f9739

A különbségek nem kerülnek megjelenítésre, a fájl túl nagy
+ 0 - 0
docs/tdd/orchestration/pending.md


+ 56 - 0
docs/tdd/test/automation-run-2026-11-06-0612.md

@@ -0,0 +1,56 @@
+# TDD 闭环自动化运行报告 — 2026-11-06 06:12(测试负责人轮 · 第 53 次执行)
+
+- 角色:测试负责人(cfc-tester)。未派发 opencode;离线契约测试实跑(11 类 107 例)+ git 真理核验 + 台账重扫 + 状态盘点。
+- 基线:本地 HEAD `a939397bb`(= origin/cfclub,05:02 轮 B-21 修复);fetch 后发现远端 +7 提交至 `6f1c3c031`(研发汇报 ×5 + chore bump ×2 + cfc-web 版本文件)。`git diff --name-only HEAD..origin/cfclub | grep -E "src/(test|main)|pom.xml"` **零命中** → 三目录零变更,不影响实测与台账口径,无需 rebase 重测。
+
+## 本轮核心证据(实测)
+
+### 契约套件:11 类 107 例 → 102 绿 / 5 红 / 0 错
+
+命令:`mvn -o -B -f cfc-backend/pom.xml -DskipTests=false -Dtest='HealthReportControllerCreateReportTest,DanAssessmentControllerGetActiveMaterialTest,TrainingPlanControllerGetPlanDetailTest,TaskControllerCreateTaskTest,TaskControllerReviewTest,TaskServiceReviewTest,CfBalanceControllerTest,TreeTest,DimensionRegistryMapContractTest,DimensionAdminControllerTest,HealthDimensionControllerTest' test` + 补跑 `DimensionRegistryTreeTest`(`TreeTest` 非真实类名,首跑未命中,补跑 9 例)
+
+**主口径 79 例 → 76 绿 / 3 红 / 0 错**(与 05:02 修复后预期完全一致,连续第 2 轮):
+
+| 测试类 | 结果 | 说明 |
+|---|---|---|
+| createReport 5 + getActiveMaterial 3 + getPlanDetail 8 + createTask 7 + TaskServiceReview 15 | 38/38 绿 | 2 个 YELLOW 键(createReport/getActiveMaterial)**连续第 12 轮**独立复验通过 |
+| TaskControllerReviewTest 17 | **17/17 绿** | **B-21 连续第 2 轮全绿**(05:12 轮全量级确认后独立复验维持)——契约绿已从「瞬时绿」升级为可复现绿 |
+| CfBalanceControllerTest 8 + DimensionRegistryTreeTest 9 | 17/17 绿 | B-10 连续第 11 轮无复发;维度树 fresh 编译下 9/9 正常 |
+| DimensionRegistryMapContractTest 7 | **3 红**(F) | P-2 口径未决(map_unknownLegacy:76 / map_emptyLegacy:85 / map_missingLegacy:92)——与既往全部轮次完全一致,非新回归 |
+
+**维度合并 28 例 → 26 绿 / 2 红 / 0 错**:
+
+| 测试类 | 结果 | 说明 |
+|---|---|---|
+| DimensionAdminControllerTest 13 | 13/13 绿 | 维度管理(含合并后校验)全绿 |
+| HealthDimensionControllerTest 15 | 13 绿 / **2 红** | **B-18 精确化确认**:overview_missingMemberId:58 / history_missingMemberId:217 期望 500 实得 200——用例误传 `currentMemberId=1L` 触发双角色兜底(设计行为),**测试装置口径错误,非生产缺陷**;修复 = 第 3 参传 null |
+
+testCompile:**0 错**(fresh 编译,B-10 连续第 11 轮无复发)。
+
+## 状态机(纯同步缺口第 21 轮维持)
+
+- 本地 `.tdd/state.json` 仍 3 伪 RED(createReport/getActiveMaterial/getPlanDetail,mtime 11-04 10:14 **第 21 轮未动**)。
+- `--mark-green` 实测仍被拒(「当前阶段 RED,须先 YELLOW」)——责任在编排侧/主理人同步,测试侧不可自解。
+- **mark-green 证据链已完全就绪**:4 个证据 sha(YELLOW `1767d4414`/`c3e32460a` + RED `81d8883f7`/`faf3ca174`)本轮全部 `git merge-base --is-ancestor` 核验 **IN CHAIN ✓**(补深后第 4 轮连续核验通过);2 YELLOW 键契约连续 12 轮复验通过;B-21 已清零并复验维持。只差编排侧同步动作。
+- 研发 05:08~05:51 多轮汇报口径一致:DONE 12 / YELLOW 2 / RED 0,池空稳态,无新增能力键,O-3/O-4 待主理人裁决。
+
+## 台账与 git
+
+- 台账重扫(test_inventory.py):结构化 784 / Playwright 444 / Python 47 / **Java @Test 1717** / 场景 11 → 跨源合计 **2992**(vs 22:13 轮 2990,+2 = 本地 WIP 未跟踪文件 `DimensionCodeConstantsTest` 2 例的扫描增量;远端零 src 变更,非代码增量)。
+- 远端 +7:全部为研发汇报 / chore bump,零 `src/test`、`src/main`、`pom.xml` 变更 → 实测与台账口径稳定。
+- 提交内容:本报告 + pending.md O-1(第 21 轮更新)+ inventory.md/automation-status.md(本轮重扫刷新)。**不触碰**:blockers.md(M 状态为 05:12/06:04 兄弟批次落盘未提交产物)、`_r0512_agg.json`、`automation-run-2026-11-06-0512/0604.md`(兄弟批次产物)。
+
+## 结论:不通过(承袭,有条件)—— 无实质推进,复验链稳定维持
+
+| 门禁 | 判定 | 依据 |
+|---|---|---|
+| G4 testCompile | ✅ 0 错(本轮实跑) | 11 类 107 例契约 fresh 编译通过 |
+| G5 契约 | ⚠️ 76 绿(**3 红**,P-2 口径 + 维度 2 红 B-18) | B-21 澄清维持(17/17);仅剩 P-2 待拍板 + B-18 测试装置 |
+| G3 前端 | ✅ 100%(采信 05:12 轮) | 386/386 全绿 |
+| G7 状态机 | ❌ 本地 3 伪 RED 第 21 轮 | 编排侧/主理人同步缺口,卡点就绪第 21 轮 |
+| G8 非环境红 | ❌ 收窄中 | P-2 3 红 + B-18 2 红(A 类可修)+ B-25 等 |
+| G1/G2/G6 | ⚠️/❌/❌ | 全量采信 05:12 轮(92.47% / 125 红);无 CI 仍旧 |
+
+**使绿顺序**:① 编排侧/主理人同步 `.tdd/state.json`(第 21 轮卡点,证据链已就绪)→ 测试 `--mark-green` 收口 2 YELLOW 键 → ② 测试自修 B-18 A 类(HealthDimension 2 例第 3 参传 null,G1→≈95.7%)→ ③ P-2 map 契约口径拍板(3 红可清零)→ ④ B-13/B-14/B-25 → ⑤ 最小 CI。
+
+**未实测**:全量 surefire/前端 jest(采信 05:12 轮 220 类 1700 例 92.47% / 386 例 100%);Playwright/接口冒烟/langgraph pytest(联网未授权);JaCoCo/PIT/性能/依赖漏洞(无工具);mark-green 落账受阻(状态机过时第 21 轮,实测受阻非未尝试)。

+ 3 - 2
docs/tdd/test/automation-status.md

@@ -23,8 +23,8 @@
 | 用户场景(md) | 11 | 0 | 0 | 11 | 11 | 0 | 0 | 0 | 0 |
 | Playwright(e2e/integration) | 76 | 444 | 76 | 0 | 66 | 0 | 7 | 3 | 0 |
 | Python(pytest) | 11 | 47 | 11 | 0 | 11 | 0 | 0 | 0 | 0 |
-| Java后端测试 | 220 | 1715 | 220 | 0 | 203 | 0 | 15 | 2 | 0 |
-| **合计** | — | **2990** | **307** | **795** | 1075 | 0 | 22 | 5 | 0 |
+| Java后端测试 | 221 | 1717 | 221 | 0 | 204 | 0 | 15 | 2 | 0 |
+| **合计** | — | **2992** | **308** | **795** | 1076 | 0 | 22 | 5 | 0 |
 
 ## 二、结构化测试用例自动化状态(`tests/test-cases/*.md`)
 
@@ -1108,6 +1108,7 @@
 | `cfc-backend/src/test/java/com/etotem/cfc/unit/ComboOrderStockTest.java` | 3 | 已自动化(@Test) | 未跟踪 | ComboOrderStock |
 | `cfc-backend/src/test/java/com/etotem/cfc/unit/ComboServiceTest.java` | 10 | 已自动化(@Test) | 未跟踪 | ComboService |
 | `cfc-backend/src/test/java/com/etotem/cfc/unit/ConditionEvaluatorServiceTest.java` | 12 | 已自动化(@Test) | 未跟踪 | ConditionEvaluatorService |
+| `cfc-backend/src/test/java/com/etotem/cfc/unit/DimensionCodeConstantsTest.java` | 2 | 已自动化(@Test) | 未跟踪 | DimensionCodeConstants |
 | `cfc-backend/src/test/java/com/etotem/cfc/unit/FamilyMemberDimensionBaseScoreServiceTest.java` | 7 | 已自动化(@Test) | 未跟踪 | FamilyMemberDimensionBaseScoreService |
 | `cfc-backend/src/test/java/com/etotem/cfc/unit/FamilyMemberServiceRenameTest.java` | 4 | 已自动化(@Test) | 未跟踪 | FamilyMemberServiceRename |
 | `cfc-backend/src/test/java/com/etotem/cfc/unit/FamilyNamingSupportTest.java` | 5 | 已自动化(@Test) | 未跟踪 | FamilyNamingSupport |

+ 3 - 2
docs/tdd/test/inventory.md

@@ -11,9 +11,9 @@
 | 结构化测试用例(md) | 11 | 784 |
 | Playwright(spec.js) | 76 | 444 |
 | Python(pytest) | 11 | 47 |
-| Java后端(测试文件) | 220 | 1715 (@Test) |
+| Java后端(测试文件) | 221 | 1717 (@Test) |
 | 用户场景(md) | 11 | 文件级 |
-| **合计** | — | **2990** 用例/方法 |
+| **合计** | — | **2992** 用例/方法 |
 
 ## 二、结构化测试用例(`tests/test-cases/*.md`)
 
@@ -1103,6 +1103,7 @@
 | `cfc-backend/src/test/java/com/etotem/cfc/unit/ComboOrderStockTest.java` | cfc-backend | 3 | ComboOrderStock | `cfc-backend/src/test/java/com/etotem/cfc/unit/ComboOrderStockTest.java` |
 | `cfc-backend/src/test/java/com/etotem/cfc/unit/ComboServiceTest.java` | cfc-backend | 10 | ComboService | `cfc-backend/src/test/java/com/etotem/cfc/unit/ComboServiceTest.java` |
 | `cfc-backend/src/test/java/com/etotem/cfc/unit/ConditionEvaluatorServiceTest.java` | cfc-backend | 12 | ConditionEvaluatorService | `cfc-backend/src/test/java/com/etotem/cfc/unit/ConditionEvaluatorServiceTest.java` |
+| `cfc-backend/src/test/java/com/etotem/cfc/unit/DimensionCodeConstantsTest.java` | cfc-backend | 2 | DimensionCodeConstants | `cfc-backend/src/test/java/com/etotem/cfc/unit/DimensionCodeConstantsTest.java` |
 | `cfc-backend/src/test/java/com/etotem/cfc/unit/FamilyMemberDimensionBaseScoreServiceTest.java` | cfc-backend | 7 | FamilyMemberDimensionBaseScoreService | `cfc-backend/src/test/java/com/etotem/cfc/unit/FamilyMemberDimensionBaseScoreServiceTest.java` |
 | `cfc-backend/src/test/java/com/etotem/cfc/unit/FamilyMemberServiceRenameTest.java` | cfc-backend | 4 | FamilyMemberServiceRename | `cfc-backend/src/test/java/com/etotem/cfc/unit/FamilyMemberServiceRenameTest.java` |
 | `cfc-backend/src/test/java/com/etotem/cfc/unit/FamilyNamingSupportTest.java` | cfc-backend | 5 | FamilyNamingSupport | `cfc-backend/src/test/java/com/etotem/cfc/unit/FamilyNamingSupportTest.java` |

Nem az összes módosított fájl került megjelenítésre, mert túl sok fájl változott