遗留问题核查清单 (2026-07-19 实测)
来源:对历史记忆中的"活跃约束与已知问题"逐条实测验证。结论基于当前代码真实状态,非凭记忆。
已实测澄清(原以为未解决,实际已 OK)
| 原标记问题 | 实测结论 |
|---|---|
| getSciotDb 指向不一致 (aml→rule_engine / rule-engine→sciot_import) | 8个 getSciotDb 实现,2个(digital-staff/index.js, ai-inspector.js)指向 sciot_import.db,其余指向 rule_engine.db。但两库规则条数均为 2413 (sciot_rules_v2),同步无偏差 → 不构成"读旧规则"bug,风险降级 |
| 采购工作流 _lang 未传 | 实际已接:ai-agent.js / lite-scheduler.js / procurement.js 调用方均含 _lang;procurement-workflow-v3.js 已 require i18n 并用 t() |
| webchat 不传 context._lang | agent-core.js L35 已 if (context && context._lang) sharedI18n.setLang(...),逻辑健全;仅边界兜底策略未定(低优先) |
| 数字员工页面空白 | 已修复(历史记录 a144ea1 段),当前服务正常 |
| Spec PDF 卡死/空白 | 已彻底修复(5bc3804),200字段真实渲染,152KB PDF 正常 |
仍待闭环的真实问题
🔴 P1 产品→BOM 自动触发未配置(历史遗留,反复失败3次)
- local.yaml 中所有 collaboration 块均为其他员工(DS-REPORT→email_report、DS-SUPPLY→供应链),无任何 产品→BOM 的 onComplete/next 链
- 当前产品创建成功后,BOM 由 SCSAI-creator.js 旧 worker 内联 Step5
needsBom触发,非统一协作链 - 建模未定:每个型号一套 BOM vs 产品级 BOM(用户未最终拍板)
- 第三次 BOM 创建 SCSAI 返回"SCSAI未返回ID"(server端 AML 校验问题),根因日志未深挖
- 影响:产品→BOM 自动化链路不稳定,依赖内联逻辑而非统一调度
🟡 P2 空 catch 审计(非阻塞)
- 当前约 324 处空 catch(分布 102 文件),略高于之前记录的 310(统计口径差异)
- 历史已修 3 个关键,剩余均为低危静默吞错
- 建议:仅针对涉及 DB 写入/AML 返回的空 catch 补日志,不必全改
🟢 P3 webchat _lang 兜底策略(低优先)
- 当前:context 无 _lang 时用默认(i18n 默认语言)
- 待定:是否按请求头/用户配置兜底。当前不影响主流渠道(数字员工/小程序已传)
已验证的系统健康度
- 服务:/api/health success=true, ok=true
- 规则库:rule_engine.db sciot_rules_v2 = 2413 条(含 22 条 is_active=0 退役,Dead=0)
- 死规则:清零(5映射+22退役,历史验证 total=2413 OK=2330 Fragile=61 Deprecated=22 Dead=0)
- DB 驱动:better-sqlite3 单例,路径 server/data/
- Git:本地与 origin/main 同步(HEAD=6be52d6d),无未推送 commit
建议推进顺序
- P1 产品→BOM:先和用户确认 BOM 归属建模(型号级 vs 产品级),再配 local.yaml 协作链 + 深挖第三次 SCSAI "未返回ID" 日志
- P2 空 catch:挑 DB/AML 关键路径补日志(可选,低优先)
- P3:保持现状,待有明确多语言诉求再定兜底
BossAgents