Przeglądaj źródła

docs(tdd): 研发负责人1 第33轮补充——B-22/B-25 派发 S-cfc-27/28 + CI 启用裁决请求 + 编号口径规范建议(主理人裁决项)

Agnes Agent 6 dni temu
rodzic
commit
87fe70f42c

+ 43 - 0
docs/tdd/ci/CI_ENABLE_DECISION_REQUEST.md

@@ -0,0 +1,43 @@
+# CI 启用裁决请求(2026-11-06 12:3x 研发负责人1)
+
+> **性质**:研发负责人向主理人提交的 CI 接入**前置核实清单与启用建议**。CI 接入涉及 runner 环境与平台侧配置,非研发侧单方可启用;本文件仅固化"已核实/待核实"事实,**不声称 CI 已启用**。
+
+---
+
+## 一、现状(如实)
+
+| 项 | 现状 | 证据 |
+|----|------|------|
+| 根目录 CI 入口 | **不存在**(`.gitlab-ci.yml` / `.github/workflows/` / `Jenkinsfile` 均无) | `ls .github/workflows/` 空;`find` 无命中 |
+| CI 草案 | `docs/tdd/ci/gitlab-ci.draft.yml` 已就绪(`when: manual`),头部明确标注「请勿直接改名为根目录 `.gitlab-ci.yml`」 | 草案内容 |
+| pom 假绿坑 | `cfc-backend/pom.xml` 第 28 行 `<skipTests>true</skipTests>`(第 232 行 `${skipTests}` 引用) | `grep -n skipTests` 确认 |
+| 场景回归门禁规格 | G0~G4 门禁已定(`CI_READINESS_2026-11-05.md` §二):G0 编译 / G1 契约单测 / G2 三类用例 / G3 覆盖矩阵 / G4 推送证据 | CI_READINESS 文档 |
+| 本地回归命令可复用 | G0(`mvn test-compile -DskipTests=false`)+ G1(契约复验脚本)已具备稳定命令与证据链 | CI_READINESS §二·三 |
+
+## 二、编排机实测(2026-11-05 05:44,研发负责人侧)
+
+| 前置能力 | 实测结果 | 结论 |
+|---|---|---|
+| JDK | `openjdk 21.0.11`(Temurin-21) | ⚠ **非 JDK8**;后端 Spring Boot 2.7.18 / Java 8 目标 |
+| Maven | `3.9.14` | ✅ |
+| Node | `v22.22.2` | ✅ |
+| npm | `10.9.7` | ✅ |
+| GitLab Runner | 本机**未安装**(`where gitlab-runner` / `which` 均无) | ⚠ 需平台侧 runner |
+
+> **编排机实测不能推断 runner 能力**:runner 部署于 GitLab 侧(`git.iwintrue.com`),需主理人核实其具备 JDK8 + Maven + node22 + 可拉依赖网络。
+
+## 三、待主理人核实/裁决(阻塞点,非研发可越权)
+
+1. **确认 CI 平台**:remote `http://git.iwintrue.com/liaoxg/cfc` 属 GitLab 系(待确认是否走自建 GitLab CI)。
+2. **核实 runner**:runner 侧 JDK8(或可切换 JDK8 的 toolchain)+ Maven + node22 + 可拉依赖网络。
+3. **裁决是否启用**:核实通过后,授权将 `docs/tdd/ci/gitlab-ci.draft.yml` 复制为根目录 `.gitlab-ci.yml`(保留 `when: manual` 先手动跑通,再改自动)。
+4. **强制参数**:后端 job 必须 `-DskipTests=false`(覆盖 pom 假绿)。
+
+## 四、研发侧可即刻承接的部分(无需等 runner)
+
+- G0/G1 本地回归命令已具备,任何有 Maven+JDK 的机器可执行(`mvn test-compile -DskipTests=false` + 契约复验脚本)。
+- 一旦 `.gitlab-ci.yml` 就位,研发侧只负责把 job 脚本接入 G0/G1 命令,无新发明。
+
+---
+
+**结论**:CI 接入的**唯一阻塞 = 主理人核实 runner 能力并授权启用**。研发侧已完成全部前置(草案、门禁规格、本地命令复用、假绿坑规避参数),待授权即可落地。**不宣称 CI 已启用**。

+ 34 - 0
docs/tdd/orchestration/REPORT_ROUND_NUMBERING.md

@@ -0,0 +1,34 @@
+# 多槽位并发汇报编号口径规范(建议稿 v0.1)
+
+> **性质**:研发负责人1 针对「多槽位并发编号口径混乱」提出的**规范建议稿**,供主理人裁决后统一执行。
+> **背景**:多个自动化槽位(研发负责人1/3/5、测试负责人等)并行独立巡检,各自自报"第 N 轮"导致编号全局不唯一(如 11-06 中午 1040 轮=负责人5 第28轮、1130 轮=负责人1 第32轮、1000 轮=负责人3 第37轮并存,第 24~34 轮多重引用),追溯证据时轮次号无法唯一指代。
+
+---
+
+## 一、问题实证
+
+| 汇报文件(时间戳唯一) | 正文自报轮次 | 归属实例 |
+|---|---|---|
+| report-dev-2026-11-06-1000.md | (负责人3,轮次未标/自计) | 研发负责人3 |
+| report-dev-2026-11-06-1040.md | 第 28 轮 | 研发负责人5 |
+| report-dev-2026-11-06-1130.md | 第 32 轮 | 研发负责人1 |
+| report-dev-2026-11-06-1207.md | 第 33 轮 | 研发负责人1 |
+
+**根因**:无全局唯一轮次分配器;各实例以自身会话计数"第 N 轮",互不可见。
+
+## 二、建议口径(方案 A:时间戳唯一,轮次号降级为实例内计数)
+
+1. **轮次唯一标识 = 文件名时间戳 HHMM**(如 `report-dev-2026-11-06-1207.md` = 12:07 轮)。时间戳全局唯一(同分并发由其他槽位自然错峰,已有惯例),不依赖任何计数协调。
+2. 正文首行「周期」字段**必须**写「`YYYY-MM-DD HHMM`(实例名)」,不再单独宣称"第 N 轮";如需保留实例内计数,写成「第 N 轮(实例内计数,非全局)」。
+3. 跨槽位引用统一用**文件名+时间戳**(如"1207 轮"),禁止引用"第 N 轮"。
+4. 既有 116 份历史汇报不改名(时间戳本已唯一),正文"第 N 轮"视为实例内计数,不回溯迁移。
+
+## 三、落地动作(主理人裁决后执行)
+
+- [ ] 主理人确认方案 A(或改 B:引入全局 counter 文件,需加锁写,成本高)。
+- [ ] 在 `docs/tdd/orchestration/DEV_GOAL_user_scenarios.md` 或 sc-key-map 增补「编号口径」一节。
+- [ ] 各汇报模板 `研发负责人工作汇报模板.md` 周期字段说明同步更新。
+
+---
+
+**结论**:方案 A 零成本(时间戳已唯一),仅统一表述;方案 B 引入全局锁写机制,不推荐。待主理人裁决。