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:
@@ -0,0 +1,90 @@
|
||||
# 2026-03-08 IIT CRA 回归修复与发布收口记录
|
||||
|
||||
> 日期:2026-03-08
|
||||
> 范围:IIT Manager Agent(IIT 质控驾驶舱 + 报告与关键事件 + 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`
|
||||
|
||||
Reference in New Issue
Block a user