feat(iit): harden QC pipeline consistency and release artifacts

Implement IIT quality workflow hardening across eQuery deduplication, guard metadata validation, timeline/readability improvements, and chat evidence fallbacks, then synchronize release and development documentation for deployment handoff.

Includes migration/scripts for open eQuery dedupe guards, orchestration/status semantics, report/tool readability fixes, and updated module status plus deployment checklist.

Made-with: Cursor
This commit is contained in:
2026-03-08 21:54:35 +08:00
parent ac724266c1
commit a666649fd4
57 changed files with 28637 additions and 316 deletions

View File

@@ -0,0 +1,90 @@
# 2026-03-08 IIT CRA 回归修复与发布收口记录
> 日期2026-03-08
> 范围IIT Manager AgentIIT 质控驾驶舱 + 报告与关键事件 + AI 对话助手)
> 关联项目:`原发性痛经0302`projectId: `1d80f270-6a02-4b58-9db3-6af176e91f3c`
---
## 1. 今日目标
围绕用户反馈的三类问题做回归修复并准备发布收口:
1. AI 实时工作流详情中事件名仍出现技术 ID。
2. D1 筛选入选表中“不合规条目”显示 `rule_xxx`,不可读。
3. AI 对话助手出现“结论有、证据空”的回答。
---
## 2. 今日已完成变更
### 2.1 AI 实时工作流事件名中文化增强
- 文件:`backend/src/modules/admin/iit-projects/iitQcCockpitController.ts`
- 变更:
- 新增 `buildEventLabelMap()`:聚合 `qc_event_status.event_label`,并兼容 `cachedRules.eventLabels`
- 新增 `fallbackEventLabel()`:无标签时以 `访视(eventId)` 兜底,避免裸技术 ID。
-`getTimeline` 组装 issue 时,`eventLabel` 采用“数据库标签 -> 规则缓存标签 -> 友好兜底”的顺序。
### 2.2 D1 不合规条目友好显示
- 文件:`frontend-v2/src/modules/iit/components/reports/EligibilityTable.tsx`
- 变更:
- 前端构建 `ruleId -> ruleName` 映射。
- “不合规条目”列改为优先显示规则名称,缺失时才回退 `ruleId`
### 2.3 AI 对话证据块兜底修复
- 文件:`backend/src/modules/iit-manager/services/ChatOrchestrator.ts`
- 变更:
- 调整证据补齐触发条件:不再仅限“患者类问题”;只要出现 `证据:` 且无明细,就尝试自动补齐。
- 扩展证据抽取:支持项目级 summary`healthScore``healthGrade``totalRecords``criticalIssues``warningIssues``passRate`)与患者级细节共同兜底。
---
## 3. 结果与现状
### 已确认改善
- 实时工作流详情中的事件名显示链路已具备中文化能力与可读兜底。
- D1 表格“不合规条目”已由规则 ID 显示改为规则名称优先。
- AI 对话“证据为空”逻辑已在编排层增加强制补齐策略。
### 仍待现场验证
- 用户最新反馈“问题依然存在”,说明线上/当前运行进程可能仍受以下因素影响:
1. 服务进程未重启,旧实例(缓存 orchestrator未加载新逻辑
2. 生产/测试环境并非本地当前分支镜像;
3. 某些对话路径绕过了已补齐分支(需加会话级 trace 验证)。
---
## 4. 根因判断(针对“证据为空”)
本次定位到的核心根因是:
- 旧逻辑把证据补齐限制在“患者类意图”,导致“最新质控报告怎么样”这类项目级问句可能跳过补齐分支;
- 当 LLM 输出了 `结论 + 证据:` 但未附条目时,前端看到的就是空证据块。
本次已在编排层做“证据头存在即补齐”的保护,属于结构性修复方向。
---
## 5. 待办与明日计划
1. 以线上真实环境复现同一问句:`最新质控报告怎么样?`,抓取完整请求链路日志。
2.`ChatOrchestrator` 增加一次性 debug 日志tool payload 摘要 + 证据补齐命中标记),用于确认分支命中率。
3. 对“证据模板”加最低保障:当工具返回成功且 answer 含 `证据:` 时,至少输出 1 条结构化证据(不允许空块)。
4. 完成本轮发布后补一份“AI 问答回归用例清单(项目级/患者级/维度级)”纳入日常回归。
---
## 6. 关联文档
- 技术评审与回归看板:
`docs/03-业务模块/IIT Manager Agent/09-技术评审报告/2026-03-08-IIT-CRA-最小复现项目对账结果-Phase1-原发性痛经0302.md`
- 模块总览与开发指南:
`docs/03-业务模块/IIT Manager Agent/00-模块当前状态与开发指南.md`
- 待部署变更清单:
`docs/05-部署文档/03-待部署变更清单.md`