三层统一自检脚本交付记录(2026-07-13)

三层统一自检脚本交付记录(2026-07-13)

交付目标

用户要求"三层统一自检报告":对规则引擎(CRUD健康/死规则)、六能力(联通性)、业务功能含治理(端到端)做全量自检,输出一份健康报告。

交付物

  • 脚本: server/scripts/health-check.js(独立、只读、可重复运行)
  • 报告输出:
  • health-report.json(机器可读,三层结构 + summary)
  • health-report.md(人读中文报告)
  • 运行: node server/scripts/health-check.js

架构依据(已核实)

  • Layer1 规则引擎: 直接 require server/core/rule-engine.jsUnifiedRuleEngine,调用其权威 _checkRuleContract() 判定死规则(避免白名单漂移);SQL 直读用定制 sql.js 的 step()+getAsObject()(裸 exec().values 是函数、get() 返回空数组的黑坑已规避)。
  • Layer2 六能力: 经 POST /api/capability/{cap}CapabilityDispatcher.execute 真实 HTTP 打 7 能力(identify/validate/repair/optimize/compare/generate/inspect),校验 success=true 且能连规则引擎/LLM。
  • Layer3 业务含治理: 经 POST /api/ai-agent/executeinspect_quality(只读 get),验证 SCSAI TCP 连通 + 治理工具端到端 + 五维字段结构。

首次运行结果(2026-07-12 22:59)

总体健康: DEGRADED(PASS 16 / WARN 2 / FAIL 0,共 18 项)

L1-规则引擎(8项全 PASS 除1 WARN)

  • DB存在 / 元数据表完整性(6张核心表) / 规则总数(76) / 死规则(引擎权威判定0条) / 六能力scope全覆盖 / 核心类必填基准已校准(12类) / CRUD落盘往返(save→update→delete一致)
  • WARN: 脆弱规则1条(仅靠 condition_script 存活,属 builtin 安全兜底设计,非缺陷)

L2-六能力(7项全 PASS)

  • identify/validate/optimize/inspect → source=rule_engine
  • repair → source=relationship_resolver
  • compare → source=llm_router
  • generate → source=fallback
  • 全部 success=true,连通性确认

L3-业务功能含数据治理(2 PASS + 1 WARN)

  • SCSAI 服务端连通 PASS(tcp ylxt.chat)
  • inspect_quality 端到端 PASS(调用成功)
  • WARN: 治理五维字段未验证(探针对象 HC-PROBE-1 在 SCSAI 不存在,治理字段为空属正常;非链路问题)

关键修复过程(踩坑)

  1. sql.js 定制版黑坑db.exec().values 是 Function 而非数组,prepare().get() 返回空数组。改用 prepare().step() + getAsObject() 遍历。
  2. 死规则白名单漂移:最初脚本自维护 SUPPORTED_COND_TYPES 白名单,误判 builtin-inspect-002(type=field_pattern) 为死规则。改为直接复用引擎自身 _checkRuleContract() 作为权威判定 → 真实 0 死规则。
  3. 正则嵌套分组错误:死规则提取正则 \((?:...\) 嵌套导致 Unterminated group;改用 indexOf+split 提取 rule id。
  4. PowerShell 引号吞字符-e 内联脚本含中文引号时崩溃;改用临时 .js 文件调试。

结论

三层链路全部联通且健康。2 个 WARN 均为良性(脆弱规则兜底设计 + 探针对象不存在),非真实缺陷。脚本可作为后续回归巡检工具,建议纳入 cron 周期执行。

← 返回案例列表
分享:
🤖 Try Now →
🤖
🎁