Просмотр исходного кода

Merge remote-tracking branch 'origin/cfclub' into HEAD

iwt 6 дней назад
Родитель
Сommit
132bab657e

+ 1 - 1
cfc-web/.last_build_commit

@@ -1 +1 @@
-699faa00dd3dd50b220682cab3fcf89ef4d206a8
+ea54adcd99ede7094dc785a60a4a785a67bee444

+ 2 - 2
cfc-web/package-lock.json

@@ -1,12 +1,12 @@
 {
   "name": "cfc-web",
-  "version": "1.0.2141",
+  "version": "1.0.2142",
   "lockfileVersion": 3,
   "requires": true,
   "packages": {
     "": {
       "name": "cfc-web",
-      "version": "1.0.2141",
+      "version": "1.0.2142",
       "dependencies": {
         "@wangeditor/editor": "^5.1.23",
         "@wangeditor/editor-for-vue": "^1.0.2",

+ 1 - 1
cfc-web/package.json

@@ -1,6 +1,6 @@
 {
   "name": "cfc-web",
-  "version": "1.0.2142",
+  "version": "1.0.2143",
   "private": true,
   "scripts": {
     "dev": "vue-cli-service serve",

+ 12 - 0
cfc-web/public/CHANGELOG-v1.0.md

@@ -4,6 +4,18 @@
 
 ---
 
+## v1.0.2143 (2026-11-06)
+
+### 文档
+- 研发负责人 49 轮汇报(R49 0305)——B-34 YELLOW 登记 + S-cfc-34 实现派发
+- 研发负责人 第52轮标准汇报 | 状态机22键=12DONE+8YELLOW+2RED(B-34/B-35) | B-34修复1b15b67d2 IN-CHAIN 卡 O-9 归口待主理人确认 | 黑窗至08:00零新增派发 | 8YELLOW实现sha全IN-CHAIN 8/8 | 变更感知0新键 | SC覆盖5/241 | 单文件hash-object入库
+- 研发负责人 第52轮标准汇报 | 状态机22键=12DONE+8YELLOW+2RED(B-34/B-35) | B-34修复1b15b67d2 IN-CHAIN 卡 O-9 归口待主理人确认 | 黑窗至08:00零新增派发 | 8YELLOW实现sha全IN-CHAIN 8/8 | 变更感知0新键 | SC覆盖5/241 | 单文件hash-object入库
+- 研发负责人 第51轮标准汇报 | 状态机22键=12DONE+8YELLOW+2RED(langgraph.questionnaire.generate/dan.report.parseFormat,B-34/B-35) | S-cfc-33修复1b15b67d2已推IN-CHAIN但commit_kind=other(cfc-langgraph/src不在main归口)→O-9登记(裁决:cfc-langgraph/src入main/tests入test,同15:20先例,待主理人确认) | S-cfc-34(B-35)在途lan-248 | 8YELLOW实现sha全IN CHAIN复核8/8 | 部署confirmed20/pending0 | 变更感知0新键 | 会话2 running(local-45278/lan-248)其余idle | SC覆盖5/241 | 双文件hash-object入库
+
+### Bug 修复
+- S-cfc-33 修复 AI 问卷生成 100% 降级 (B-34) - GenerateRequest 补 prompt_template 字段 + build_prompt getattr 防御
+
+
 ## v1.0.2142 (2026-11-06)
 
 ### 文档

+ 13 - 1
cfc-web/public/CHANGELOG.md

@@ -1,6 +1,6 @@
 # 更新日志
 
-> 当前版本: v1.0.2142
+> 当前版本: v1.0.2143
 
 ## 历史版本
 
@@ -8,6 +8,18 @@
 
 ---
 
+## v1.0.2143 (2026-11-06)
+
+### 文档
+- 研发负责人 49 轮汇报(R49 0305)——B-34 YELLOW 登记 + S-cfc-34 实现派发
+- 研发负责人 第52轮标准汇报 | 状态机22键=12DONE+8YELLOW+2RED(B-34/B-35) | B-34修复1b15b67d2 IN-CHAIN 卡 O-9 归口待主理人确认 | 黑窗至08:00零新增派发 | 8YELLOW实现sha全IN-CHAIN 8/8 | 变更感知0新键 | SC覆盖5/241 | 单文件hash-object入库
+- 研发负责人 第52轮标准汇报 | 状态机22键=12DONE+8YELLOW+2RED(B-34/B-35) | B-34修复1b15b67d2 IN-CHAIN 卡 O-9 归口待主理人确认 | 黑窗至08:00零新增派发 | 8YELLOW实现sha全IN-CHAIN 8/8 | 变更感知0新键 | SC覆盖5/241 | 单文件hash-object入库
+- 研发负责人 第51轮标准汇报 | 状态机22键=12DONE+8YELLOW+2RED(langgraph.questionnaire.generate/dan.report.parseFormat,B-34/B-35) | S-cfc-33修复1b15b67d2已推IN-CHAIN但commit_kind=other(cfc-langgraph/src不在main归口)→O-9登记(裁决:cfc-langgraph/src入main/tests入test,同15:20先例,待主理人确认) | S-cfc-34(B-35)在途lan-248 | 8YELLOW实现sha全IN CHAIN复核8/8 | 部署confirmed20/pending0 | 变更感知0新键 | 会话2 running(local-45278/lan-248)其余idle | SC覆盖5/241 | 双文件hash-object入库
+
+### Bug 修复
+- S-cfc-33 修复 AI 问卷生成 100% 降级 (B-34) - GenerateRequest 补 prompt_template 字段 + build_prompt getattr 防御
+
+
 ## v1.0.2142 (2026-11-06)
 
 ### 文档

+ 182 - 0
docs/tdd/orchestration/report-dev-2026-11-07-0305.md

@@ -0,0 +1,182 @@
+# 研发负责人工作汇报(第 49 轮)
+
+## 基本信息
+
+| 项目 | 内容 |
+|------|------|
+| 汇报人 | 研发负责人(定时自动化巡检) |
+| 汇报周期 | 2026-11-07 03:00 一轮(第 `49` 轮) |
+| 负责模块/单元范围 | 全量(CFC 21 键状态机 + 用户场景 SC 覆盖) |
+
+---
+
+## 一、本轮工作数据汇总
+
+### 1.1 问题接收与处置
+
+| 指标 | 数量 | 说明 |
+|------|------|------|
+| **收到的测试反馈问题数*** | 2 个 | 均来自测试台账 `docs/tdd/test/blockers.md`(测试负责人 65 轮 2026-11-07 02:15 登记):B-34 `langgraph.questionnaire.generate`(/api/family/questionnaire AI 生成 100% 不可用,c3925c97e 提示词迁移未覆盖 questionnaire.py)、B-35 `dan.report.parseFormat`(DanReportParseServiceTest 4 例红:A2 姓名 null/B4 走降级/A1 两例)。类型均为「实现缺陷」。 |
+| **已解决问题数*** | 1 个 | B-34 → `langgraph.questionnaire.generate` 实现已落地:git 真相核验 `1b15b67d2`(Agnes Agent 02:46 提交,cfc-langgraph/src 两文件,符合设计「GenerateRequest 增 prompt_template + build_prompt getattr 防御」)→ 核验 is-ancestor=YES → 已登记 RED→YELLOW。 |
+| **待解决研发问题数** | 1 个 | B-35 → `dan.report.parseFormat`:红测试已 push(cfc-backend/src/test/.../DanReportParseServiceTest.java),实现缺 standardCoreLiteracy 版式分支。已派发 S-cfc-34 实现使绿。P0,预计 08:00 黑窗解除前由派发会话完成。 |
+
+### 1.2 任务分发与会话管理
+
+| 指标 | 数量 | 说明 |
+|------|------|------|
+| **分派任务数*** | 1 个 | S-cfc-34(dan.report.parseFormat,YELLOW 实现使绿)→ pub-iwintrue / 会话 ses_e4db8d16dffeygV9rvSuuE9v7d(新建,目录 /sc-data/cfc);黑窗 fallback 模型 agnes/agnes-3.0-flash(实例链 P3)。 |
+| **恢复智能体会话数*** | 0 个 | 无中断/超时/swallowed/wedged 存量。 |
+| **当前在用会话数** | 6 个 | 5 客户端全 idle + 1 个新派发会话(pub-iwintrue 下 S-cfc-34)。 |
+| **会话平均利用率** | ~10% | 结构低:opencode 429 黑窗至 08:00 + 任务池一度枯竭(本轮已有新 RED 入池)。 |
+
+### 1.2b 各会话当前工作状态列表
+
+| 会话标签/客户端 | 会话 ID | 当前状态 | 当前任务 | 静默/空闲时长 | 工作目录 | 备注 |
+|----------|---------|----------|----------|---------------|----------|------|
+| lan-189 | —(50 历史会话) | idle | — | busy=0 | 远端 /sc-data/cfc | 配额 0/3 剩余 3 |
+| lan-204 | — | idle | — | busy=0 | 远端 | 配额 0/3 剩余 3 |
+| local-lan-4090 | — | idle | — | busy=0 | 远端 | 配额 0/3 剩余 3 |
+| mes-local-45278 | — | idle | — | busy=0 | 远端 | 配额 0/3 剩余 3 |
+| pub-iwintrue | ses_e4db8d16dffeygV9rvSuuE9v7d | running(新建派发) | S-cfc-34 实现使绿 | 刚派发 | /sc-data/cfc | 黑窗 fallback agnes-3.0-flash |
+| 主工作树 E:/cfc | — | — | — | — | **不干净(145 处 WIP)** | 多会话/他人未提交改动,非本轮引入;本机只读核验 + 单文件入库,不 add -A |
+
+### 1.3 变更感知与新任务建立
+
+| 指标 | 数量 | 说明 |
+|------|------|------|
+| **感知需求/设计变更数*** | 0 次新增能力键 | `--changes --days 3`:检出 200 提交/3223 文件(2026-11-05~11-06),设计文档 93 + 测试用例 68 + 其他 3062;全部为既有键状态/内容变化。 |
+| **新增入池任务数*** | 0 个 | 无新键 → 0 `--add-task`(防假 RED)。 |
+| **既有键状态流转数** | 1 次 | `langgraph.questionnaire.generate` RED→YELLOW(1b15b67d2)。 |
+
+### 1.4 本轮 git 提交与推送证据(真理证据)
+
+| 提交 sha | 关联任务/能力键 | 阶段 | 触及文件类型 | 目标分支 | 已推送远端 | 备注 |
+|----------|-----------------|------|--------------|----------|------------|------|
+| 1b15b67d2 | S-cfc-33 / langgraph.questionnaire.generate | YELLOW | 实现(cfc-langgraph/src/×2) | origin/cfclub | 是 | 产物会话 = Agnes-Agent(外部会话实现,研发负责人核验登记);is-ancestor=YES |
+| (汇报文档) | report-dev-2026-11-07-0305 | — | 文档 docs/tdd/ | origin/cfclub | 是 | 单文件入库方案推送(见文末) |
+
+### 1.5 状态机阶段分布与部署状态
+
+| 阶段 | 键数 | 备注 |
+|------|------|------|
+| UNTRACKED | 0 | 目标池 ⏳ 0(CFC 口径:SC 241 驱动,非 SRS 键表) |
+| RED | 1 | dan.report.parseFormat(S-cfc-34 已派发实现) |
+| YELLOW | 9 | 全部实现 sha 已逐条复验 is-ancestor=YES(9/9) |
+| GREEN | 0 | 无待部署验证项 |
+| DONE | 12 | auth.guest.jwtGuard/wechatLogin、dimension.registry.*×2、family.familyMembers.*×2 等 |
+
+**YELLOW 9 键 sha 复核(git merge-base --is-ancestor,全 IN CHAIN ✓)**:
+
+| 键 | yellow_sha |
+|---|---|
+| admin.auth.login | 6c7e09fe8 |
+| health.report.upload | 78b72c14f |
+| health.report.createReport | 1767d4414 |
+| dan.assessment.getActiveMaterial | c3e32460a |
+| task.history.view | ed8f1c347 |
+| growth.history.view | da2727f53 |
+| sleep.config.tags | 04d87cfd1 |
+| achievement.grid.fiveCol | e205656ee |
+| langgraph.questionnaire.generate | **1b15b67d2(本轮新增)** |
+
+| 部署项 | 值 | 说明 |
+|--------|-----|------|
+| 本轮部署次数 | 0 次 | 无新 YELLOW 收口部署需求 |
+| 最新 `last_deployed` | testing@292087771 | 上轮已确认收口(done=true,done_at 11-06 19:22:17) |
+| GREEN 部署链验证 | 不涉及 | 本轮无 GREEN 闭环 |
+
+### 1.6 数据源健康度
+
+| 数据源 | 读取键数 | 是否正常 | 备注 |
+|--------|----------|----------|------|
+| 需求侧(⏳ wish) | 0 | 正常 | CFC 用户场景 241 驱动,SRS 键表为空属已知口径 |
+| 契约常量(contract) | 0 | 正常 | 标注用,不入池门槛 |
+| 测试用例引用(test_case_map) | 0 | 正常 | 同上 |
+| 执行结果回填(case_results) | 0 | 正常 | 无已部署键 FAIL 待回填 |
+
+### 1.7 场景覆盖矩阵(SC 240 总目标 241 口径,单一事实源 docs/tdd/orchestration/sc-key-map.md)
+
+| 维度 | 总数 | 已跑通 | 未跟踪 | 说明 |
+|------|------|--------|--------|------|
+| A(管理员) | 25 | 0 | 25 | O-3 收口 5 SC(G-02/G-06/P-03/P-10/P-11)均在校友/家长/成长/任务类 |
+| G(成长规划师) | 12 | 2(G-02/G-06) | 10 | O-8 归一后主表=唯一 SC ID=241 |
+| P(家长) | 96 | 3(P-03/P-10/P-11) | 93 | 5 个新 SC(P-94~96/C-26/A-27)已随 2cc7e3aad 入表,台账 241 同步待 O-8 确认 |
+| C(孩子) | 26 | 0 | 26 | |
+| T/S/X/B/H/O | 82 | 0 | 82 | |
+| **合计** | 236(O-8 拟 241) | **5** | 231 | 本轮 0 新增跑通 |
+
+---
+
+## 二、下一步需要研发处理的事项
+
+| 序号 | 事项描述 | 依赖/前置条件 | 预估完成时间 | 优先级 | 状态 |
+|------|----------|---------------|--------------|--------|------|
+| 1 | S-cfc-34(dan.report.parseFormat)实现使绿闭环核验:等派发会话提交 → 核验 is-ancestor → 登记 YELLOW | pub-iwintrue 会话完成 + push origin/cfclub | 2026-11-07 08:00 前后 | P0 | 进行中(已派发) |
+| 2 | O-7 契约补建批量推进(P0 共 133 SC 端点契约) | opencode 429 黑窗解除(08:00)| 2026-11-07 白天起渐进批 | P0 | 待启动 |
+| 3 | O-8 最终确认后 sc-key-map.md 台账 236→241(5 新 SC 入册)| 主理人裁决 O-8 | 待主理人 | P1 | 待启动 |
+| 4 | 测试侧 mark-green 校验 9 个 YELLOW 键(契约测试全在链上,登记 sha 纠偏)| 测试负责人 | 随各键测试批次 | P1 | 待测试 |
+
+---
+
+## 三、阻塞与风险
+
+| 阻塞项 | 影响范围 | 阻塞类型 | 处置进展 | 需要协调 |
+|--------|----------|----------|----------|----------|
+| opencode 429 黑窗至 2026-11-07 08:00 | 全实例模型选路 | 研发 | 派发走 hub 实例链 fallback(本轮 agnes-3.0-flash);08:00 后自然解除 | 主理人知悉 |
+| 主工作树 145 处未提交 WIP | 证据核验/干净门禁 | 测试/研发 | 非本轮引入(多会话并行未收口);本机只读 + 单文件入库规避;`--clean-check` 持续提示 | 各会话按「完成=已提交+目录干净」自行收口 |
+| 跨目录账本分裂风险(上轮已发现) | 状态机一致性 | 编排侧 | 测试侧自有账本与主工作树 state.json 可能不同步(上轮 17:04 实证);本轮已主动核对 git 真相为准 | 主理人/编排侧统一入口 |
+| O-8 裁决未落地 | sc-key-map 台账口径(236 vs 241) | 需求/设计 | 研发负责人已两次给裁决意见(方案 A 为正本),维持等待 | 主理人最终确认 |
+
+---
+
+## 四、下轮工作规划
+
+| 计划项 | 预计完成时间 | 前置依赖 | 涉及会话标签 | 备注 |
+|--------|--------------|----------|--------------|------|
+| S-cfc-34 闭环:实现提交核验 → mark-yellow | 2026-11-07 下一巡检轮 | 派发会话 push | pub-iwintrue | 若会话产出则直接收口 |
+| 新 RED 入池检查 | 每轮 | 测试侧登记 | — | 本轮 B-34/B-35 模式继续 |
+| 黑窗解除后 O-7 契约补建第一批 | 08:00 后 | 解除 + 主理人 OK | lan-189/pub-iwintrue | 渐进批次 |
+
+---
+
+## 附录
+
+### 附录 A:收到的测试反馈问题明细
+
+| 问题 ID | 能力键/任务号 | 问题类型 | 来源 | 接收时间 | 处置状态 | 关联 sha |
+|---------|---------------|----------|------|----------|----------|----------|
+| B-34 | langgraph.questionnaire.generate | 实现缺陷 | 测试台账 blockers.md | 11-07 02:15 | 已解决(YELLOW) | 1b15b67d2 |
+| B-35 | dan.report.parseFormat | 实现缺陷 | 测试台账 blockers.md | 11-07 02:15 | 处理中(已派发 S-cfc-34) | — |
+
+### 附录 B:任务分派与会话恢复明细
+
+| 任务号 | 目标会话标签 | 任务类型 | 分派时间 | 当前状态 | 恢复会话标签 | 恢复原因 | 恢复时间 |
+|--------|--------------|----------|----------|----------|--------------|----------|----------|
+| S-cfc-34 | pub-iwintrue(ses_e4db8d16…) | YELLOW 实现使绿 | 03:07 | running | — | 新建派发 | — |
+| S-cfc-33 | —(外部会话 Agnes-Agent 实现) | 任务闭环 | 03:05 | done | — | 实现已在 origin,研发负责人核验登记 | — |
+
+### 附录 C:新增入池任务明细
+
+| 任务号 | 能力键 | 需求溯源 | 设计溯源 | 创建时间 | 状态 |
+|--------|--------|----------|----------|----------|------|
+| (本轮 0 新增;S-cfc-33/34 由测试侧 02:17 创建,见附录 A) | | | | | |
+
+### 附录 D:变更感知明细(来自 `--changes`)
+
+| 变更文档 | 文档类型 | 变更日期 | 新增能力键 | 是否已入池 |
+|----------|----------|----------|------------|------------|
+| 93 设计 + 68 用例文档(--changes --days 3 全量) | 设计/用例 | 11-05~11-06 | 0 | 不适用 |
+
+---
+
+## 本轮关键结论
+
+1. **2 个新 RED 真缺口入池**(测试负责人 65 轮 02:15 登记 B-34/B-35),打破连续多轮「任务池枯竭」空窗。
+2. **S-cfc-33(B-34)已闭环到 YELLOW**:实现 1b15b67d2(Agnes Agent 02:46)git 真相核验通过后登记;同时修复编排脚本缺陷——`commit_kind`/`git_evidence` 缺 `cfc-langgraph/` 路径归类(此前该实现会被误判 other 而无法登记,与 11-06 前端路径同类缺陷)。
+3. **S-cfc-34(B-35)已派发实现使绿**:修复 dispatch.py `_build_instruction`(新增 impl_green 分支,按真实模块 cfc-backend 生成实现指令,杜绝「RED 模板 + 不存在模块路径」假红错配);派发 pub-iwintrue,黑窗 fallback agnes-3.0-flash。
+4. **9 个 YELLOW 实现 sha 全 IN CHAIN**(8 旧 + 1 新)。
+5. 变更感知 0 新增键;部署无新缺口(pending testing@292087771 已收口,confirmed 20)。
+6. 场景覆盖维持 **5/236**(O-8 拟 241),本轮 0 新增。
+7. 结构性限制不变:opencode 429 黑窗至 08:00 + 主工作树 145 处 WIP(非本轮引入)。
+
+**汇报文档推送**:report-dev-2026-11-07-0305.md 单文件入库方案(hash-object + 临时索引 `read-tree origin/cfclub^{tree}` + update-index cacheinfo + commit-tree + push),全程不碰主工作树 index,不产生删除。

+ 181 - 0
docs/tdd/orchestration/report-dev-2026-11-07-0324.md

@@ -0,0 +1,181 @@
+# 研发负责人工作汇报(第 50 轮 · 闭环巡检自动化)
+
+## 基本信息
+
+| 项目 | 内容 |
+|------|------|
+| 汇报人 | 研发负责人(闭环巡检自动化,每时 45 分;本轮 03:24 错峰接续) |
+| 汇报周期 | 2026-11-07 01:10 ~ 2026-11-07 03:24(本自动化第 50 轮) |
+| 负责模块/单元范围 | 全量(DEV_GOAL 顶层目标 241 SC,O-8 归一已落地) |
+
+> 本轮为**稳态核查轮**:无恢复、无派发、无新任务入池(目标池空 + 0 新增能力键 + 唯一 RED 系测试侧契约在途)。关键增量 = B-34 修复已转 YELLOW 在链核验 + B-35 契约任务在途观察 + O-9 裁决跟进。
+
+---
+
+## 一、本轮工作数据汇总
+
+### 1.1 问题接收与处置
+
+| 指标 | 数量 | 说明 |
+|------|------|------|
+| **收到的测试反馈问题数** | 3 个 | 从 `docs/tdd/test/blockers.md`(远端 65 轮登记)接收:**B-34**(LangGraph 问卷生成 100% 降级,P0,实现修复 `1b15b67d2` 已推→上轮已登记 YELLOW);**B-35**(DAN 报告解析 A1/A2/B4 失效,P1,`dan.report.parseFormat` RED,S-cfc-34 契约在途);**B-36**(根级黑盒 API 门控 skip,测试/环境类) |
+| **已解决问题数** | 0 个 | 本轮无研发侧新闭环(B-34 属上轮已闭环登记,本轮只验证在链 ✓);8 YELLOW + langgraph 的 mark-green 收口仍待测试侧(TR-6) |
+| **待解决研发问题数** | 2 个 | **B-35**(P1:S-cfc-34 契约单测在途,完成后测试 mark-red → 研发实现修复;依赖 O-9 cfc-langgraph 归口脚本修复后同口径登记)、**B-31**(application.yml 7 处明文凭据,P2,研发侧待主理人排期);另有 **O-9**(脚本层,待主理人最终确认) |
+
+### 1.2 任务分发与会话管理
+
+| 指标 | 数量 | 说明 |
+|------|------|------|
+| **分派任务数** | 0 个 | 本轮 0 派发:目标池 ⏳ 0 + `--changes` 0 新增能力键 + 唯一 RED(dan.report.parseFormat)为测试侧契约编写在途(S-cfc-34)→ 防假 RED 纪律不派发、不建伪实现任务 |
+| **恢复智能体会话数** | 0 个 | 无 wedged/swallowed/stalled/upstream_err/thrash 存量;`--inspect` 5 智能体 busy=0 |
+| **当前在用会话数** | 1 running | S-cfc-34(dan.report.parseFormat 契约单测)@ pub-iwintrue,`ses_e4db8d16`,state=running 健康;其余实例会话全 idle |
+| **会话平均利用率** | 低 | 0 派发稳态轮(凌晨窗口,黑窗 429 至 08:00 绕行档位正常但无任务可派),如实记录 |
+
+### 1.2b 各会话当前工作状态列表
+
+| 会话标签 | 会话 ID | 当前状态 | 当前任务 | 静默/空闲时长 | 工作目录 | 备注 |
+|----------|---------|----------|----------|---------------|----------|------|
+| pub-iwintrue | ses_e4db8d16dffeygV9rvSuuE9v7d | `running` | S-cfc-34:dan.report.parseFormat 契约级单测(TDD-RED) | — | /sc-data/cfc(远端) | 健康运行中,产出待下轮核验 push |
+| local-45278 | — | `idle` | — | 本盘点时刻空闲 | 主工作树(146 处他人 WIP) | cfc_sessions=144,reachable ✓ |
+| lan-248 | — | `idle` | — | 本盘点时刻空闲 | 远端 | cfc_sessions=175,reachable ✓ |
+| lan-204 | — | `idle` | — | 本盘点时刻空闲 | 远端 | cfc_sessions=132,reachable ✓ |
+| lan-189 | — | `idle` | — | 本盘点时刻空闲 | 远端 | cfc_sessions=81,reachable ✓ |
+| prod-etotem | — | `unknown`(不可达) | — | — | — | HTTP 401 不可达(历史已知,非研发恢复范围,占位登记) |
+
+> 配额:5 可达智能体 busy=0、剩余配额各 3(上限 3);全局并发 limit=4 未触及。健康性判定速查表对照:无 wedged(无 >45min 静默运行标记)/ 无 thrash / 无 swallowed / 无 stalled / 无 upstream_err。
+
+### 1.3 变更感知与新任务建立
+
+| 指标 | 数量 | 说明 |
+|------|------|------|
+| **感知需求/设计变更数** | 0 次(新增能力键) | `--changes --days 7` = 200 提交 / 3223 文件;**新增能力键 0 / 0**(需求/设计/用例三源均无真新增,变化集中在既有键内容) |
+| **新增入池任务数** | 0 个 | 无新键可锚定;契约补建工作流(O-7)下一 P0 批次(家庭-成员 15 SC)端点预核已完成均存在,但契约定稿文档未落库前不建伪任务 |
+| **既有键状态流转数** | 0 次 | 本轮无流转(langgraph.questionnaire.generate 红→黄为上轮完成,本轮仅核验在链) |
+
+### 1.4 本轮 git 提交与推送证据(真理证据)
+
+| 提交 sha | 关联任务/能力键 | 阶段 | 触及文件类型 | 目标分支 | 已推送远端 | 备注 |
+|----------|-----------------|------|--------------|----------|------------|------|
+| (本轮核验,非新增)`8051b64f1`/`df2364ba3`/`f1b0e3ed5`/`f41da2779`/`291955bce` | 5 转正 SC(G-02/G-06/P-03/P-10/P-11) | DONE | 实现/用例 | origin/cfclub | 是(重新核验全部 ✓) | O-3 收口证据链第 N 轮复核 |
+| (本轮核验)`6c7e09fe8`/`78b72c14f`/`1767d4414`/`c3e32460a`/`da2727f53`/`e205656ee`/`04d87cfd1`/`ed8f1c347d98`/`1b15b67d2` | 9 个 YELLOW 键实现 | YELLOW | 实现 | origin/cfclub | 是(9/9 全部 ✓) | 含 langgraph.questionnaire.generate(B-34 修复 1b15b67d2) |
+| (本轮核验)`5783bb294` | CI 最小管线 | — | 流水线 | origin/cfclub | 是 ✓ | 第 42 轮落地仍在链 |
+
+> 本轮无新增实质提交(纯核查轮);本汇报文件本身单独提交推送(见收口记录)。
+
+### 1.5 状态机阶段分布与部署状态
+
+| 阶段 | 键数 | 备注 |
+|------|------|------|
+| UNTRACKED | 0 | 目标池 ⏳ 0 |
+| RED | 1 | `dan.report.parseFormat`(B-35,S-cfc-34 契约在途,red_sha 待回填) |
+| YELLOW | 9 | admin.auth.login / health.report.upload / health.report.createReport / dan.assessment.getActiveMaterial / sleep.config.tags / task.history.view / growth.history.view / achievement.grid.fiveCol / langgraph.questionnaire.generate(实现 sha 9/9 IN CHAIN) |
+| GREEN | 0 | — |
+| DONE | 12 | 含 5 转正 SC 对应键 + expectedCf 等 |
+
+| 部署项 | 值 | 说明 |
+|--------|-----|------|
+| 本轮部署次数 | 0 次 | 无新 YELLOW 部署需求 |
+| 最新 `last_deployed` | 292087771(历史) | 此前部署缺口 3 条(30ae86d7d/895e500e1/def9c83a3)已由部署侧跟进(confirmed 20) |
+| GREEN 部署链验证 | 不适用 | 本轮无新 GREEN |
+
+### 1.6 数据源健康度
+
+| 数据源 | 读取键数 | 是否正常 | 备注 |
+|--------|----------|----------|------|
+| 需求侧(⏳ wish) | 0 | 正常 | CFC 纯发现/跟踪模式,TDD 池以「契约补建开工包」(B-1/B-2/任务-激励/商城-会员)替代承载,非脚本 bug |
+| 契约常量(contract) | 0 | 正常 | 同上 |
+| 测试用例引用(test_case_map) | 0 | 正常 | 同上 |
+| 执行结果回填(case_results) | 0 | 正常 | 执行证据由测试侧台账(automation-run 系列)承载 |
+
+---
+
+## 二、下一步需要研发处理的事项
+
+| 序号 | 事项描述 | 依赖/前置条件 | 预估完成时间 | 优先级 | 状态 |
+|------|----------|---------------|--------------|--------|------|
+| 1 | **B-35 dan.report.parseFormat 实现修复**(真实样本版式分支补配:standardCoreLiteracy/A1/B4,闭环=4 例契约转绿 + 3 份真实报告走 /api/health/report/parse 比对) | S-cfc-34 契约单测完成 + 测试侧 `--mark-red` 回填 red_sha + O-9 脚本归口修复生效 | 下轮(S-cfc-34 完成后) | P1 | 待启动 |
+| 2 | **9 个 YELLOW 键 mark-green 收口跟进**(含 langgraph.questionnaire.generate) | 测试侧复核(TR-6 扩展);pom.xml:28 skipTests 须 `-DskipTests=false` | 持续 | P0 | 待测试处理 |
+| 3 | **O-9 脚本修复**(cfc-langgraph/src 入 main 归口 + tests 入 test 归口,同 15:20 先例) | 主理人最终确认 + 派发脚本修订(O-6 同通道) | 待裁决 | P1 | 待主理人 |
+| 4 | **契约补建下一 P0 批次**(家庭-成员 15 SC:family/FamilyController/FamilyMembersController/guide/GuideController 端点预核均存在,契约定稿后滚动) | O-7 授权延续 + 本批契约文档落库 | 下一批 | P1 | 待启动 |
+| 5 | **B-31 凭据外置**(application.yml 7 处明文 → ${ENV} + .env + CI gitleaks 扫描) | 主理人排期 + 凭据轮换 | 待排期 | P2 | 待启动 |
+
+## 二·补充:CI / 持续回归能力推进(必选项,每轮至少一项)
+
+| 项 | 本轮记录 |
+|----|----------|
+| CI 状态 | 最小管线 `.gitlab-ci.yml`(`5783bb294`)仍在 origin/cfclub 链上(第 42 轮落地,三 job:backend-g0-compile / frontend-jest 296 / cfc-web-jest 90,when:manual 首跑开关);**入口未启用**(无流水线触发证据 + runner JDK8 待主理人核实),不宣称已启用 |
+| 本轮推进(记录 1 项) | **回归资产池更新**:B-34(langgraph.questionnaire.generate)修复 `1b15b67d2` 已 IN CHAIN ✓(pytest `tests/test_graph.py` 2 例必红根因修复提交,可入 G1 回归资产);B-35 契约测试(S-cfc-34)在途 = 下一批 G1 回归资产(A1/A2/B4 版式集) |
+| 遗留缺口 | ① runner JDK8 核实后三 job 转 on_success;② 契约 159 例未并入 backend-g0 job(P-2 3 红未拍板);③ first-run 平台证据待补 |
+| 说明 | `docs/tdd/ci/CI_READINESS_2026-11-05.md` 主工作树含其他会话 MM WIP(diff 与 origin 一致但未提交)→ **未触碰**,推进记录落于本汇报 |
+
+---
+
+## 三、阻塞与风险
+
+| 阻塞项 | 影响范围 | 阻塞类型 | 处置进展 | 需要协调 |
+|--------|----------|----------|----------|----------|
+| **O-9**(commit_kind main 归口缺 cfc-langgraph/src) | AI 域实现键(langgraph.questionnaire.generate 已回补 YELLOW 属人工登记;dan.report.parseFormat 及未来 AI 键)RED→YELLOW 自动登记被拒 | 研发(脚本层) | 已裁决推进(51 轮裁决意见:cfc-langgraph/src 入 main、tests 入 test 归口,脚本层修复后对 1b15b67d2 回补),**待主理人最终确认 + 派发脚本修订** | 主理人 |
+| prod-etotem HTTP 401 不可达 | 生产部署/巡检 | 环境 | 历史已知,非研发恢复范围 | 主理人/运维 |
+| 主工作树 146 处未提交(他人 WIP) | `--clean-check`=1 | 流程 | 按 O-3 判据③(SC 关联提交级)与已转正 SC 零交集 → **不阻塞转正与推进**;不代收口 | 各域属主会话自行提交 |
+| B-36(根级黑盒 API 门控 skip,23 例 0 执行) | 接口层覆盖归零 | 测试/环境 | 测试侧登记,待补 tests/.env.test + globalSetup 登录取 token | 测试侧 |
+
+---
+
+## 四、下轮工作规划
+
+| 计划项 | 预计完成时间 | 前置依赖 | 涉及会话标签 | 备注 |
+|--------|--------------|----------|--------------|------|
+| 核验 S-cfc-34(dan.report.parseFormat 契约)产出 sha,回补 red_sha,转研发实现修复 | 下一轮 | S-cfc-34 完成 + O-9 归口生效 | pub-iwintrue / lan-248 | B-35 闭环主线 |
+| 9 YELLOW 键 mark-green 落账追踪 | 持续 | 测试侧(TR-6) | 测试负责人 | 收口依赖测试侧 |
+| 家庭-成员 15 SC 契约开工包滚动 | 下一批 | 本批契约定稿文档落库 | lan-204 等 | O-7 授权延续 |
+| O-9 脚本修复执行 | 待主理人确认 | 主理人 | 脚本通道 | 与 O-6 同批 |
+| webhook 开发总结 | ≥06:00 首轮 | — | — | 近 4 小时总结(03:24 属窗口外未发) |
+
+---
+
+## 附录 A:收到的测试反馈问题明细
+
+| 问题 ID | 能力键/任务号 | 问题类型 | 来源 | 接收时间 | 处置状态 | 关联 sha |
+|---------|---------------|----------|------|----------|----------|----------|
+| B-34 | langgraph.questionnaire.generate | 实现缺陷(P0) | 测试台账(65 轮) | 2026-11-07 02:15 | 已解决(上轮登记 YELLOW,本轮核验 1b15b67d2 IN CHAIN ✓) | 1b15b67d2 |
+| B-35 | dan.report.parseFormat | 实现缺陷(P1) | 测试台账(65 轮) | 2026-11-07 02:15 | 处理中(S-cfc-34 契约在途) | — |
+| B-36 | 根级黑盒 API 套件 | 测试/环境(P1) | 测试台账(65 轮) | 2026-11-07 02:15 | 待测试侧补环境 | — |
+
+## 附录 B:任务分派与会话恢复明细
+
+| 任务号 | 目标会话标签 | 任务类型 | 分派时间 | 当前状态 | 恢复会话标签 | 恢复原因 | 恢复时间 |
+|--------|--------------|----------|----------|----------|--------------|----------|----------|
+| S-cfc-34(观察到,非本轮派发) | pub-iwintrue | TDD-RED(契约单测) | 上轮 | running(健康,产出待核验) | — | — | — |
+
+## 附录 C:新增入池任务明细
+
+本轮 0 个(0 新增能力键;防假 RED 不建伪任务)。
+
+## 附录 D:变更感知明细(来自 `--changes --days 7`)
+
+| 变更文档 | 文档类型 | 变更日期 | 新增能力键 | 是否已入池 |
+|----------|----------|----------|------------|------------|
+| (本轮窗口 7 日)需求/设计/用例文档共 200 提交 / 3223 文件变更 | 需求/设计/用例 | 近 7 日 | 0 新增(变化集中于既有键) | — |
+
+## 附录 E:场景覆盖矩阵(硬要求,每轮必列)
+
+| 维度 | 值 | 说明 |
+|------|-----|------|
+| 总数 | **241** | O-8 归一正本(sc-key-map.md 唯一 SC ID = 主表行数 = 241;DEV_GOAL 同步) |
+| 累计已跑通 | **5** | SC-G-02 / SC-G-06 / SC-P-03 / SC-P-10 / SC-P-11(O-3 收口转正,证据 sha 本轮重新核验全部 ✓) |
+| 本轮新增跑通 | 0 | 无新 SC 达到三判据(三类流执行证据 + 实现/用例推 origin/cfclub + 提交干净) |
+| 失败 | 0 | — |
+| 阻塞 | 0 | O-3/O-4/O-8 已裁决解除;O-9 为脚本层不阻塞 SC 计数 |
+| 未跟踪 | 236 | 契约补建工作流(O-7 授权)覆盖中:B-1/B-2 66 SC + 任务-激励 22 SC + 商城-会员 18 SC 端点已 100% 核验保持;转化依赖测试侧补三类流证据(TR-7/TR-8) |
+
+**本轮推进的 SC 与证据**:无新增转正(B-34 修复 `1b15b67d2` 在链属 SC-B AI 教练批次前置;B-35 `dan.report.parseFormat` RED 属 SC 报告域前置,契约测试在途);「累计已跑通」口径严格按 sc-key-map.md 计,不因 YELLOW 状态或修复提交而增量。
+
+## 附录 F:webhook 发送记录
+
+- **本轮不在发送窗口**(当前 03:24 < 06:00;指令窗口为早 6:00~晚 22:00 每 4 小时一次)→ **未发送**,如实记录。
+- 下一发送点:**06:00 后首轮**(近 4 小时开发总结,窗口内勿漏)。
+
+## 收口记录(本汇报提交)
+
+- 方式:`GIT_INDEX_FILE` 临时索引 + `read-tree origin/cfclub^{tree}` + `update-index --cacheinfo` + `write-tree` + `commit-tree -p <origin tip>`(**仅本汇报 1 文件**,无删除、不触碰主工作树 index);push 至 origin/cfclub 后 `merge-base --is-ancestor` 复核 + 追加 `--clean-check`。
+- 未 `git add -A`、未 checkout/stash、未碰他人 WIP、`.tdd/` 未推。