install
source · Clone the upstream repo
git clone https://github.com/kweaver-ai/kweaver-dip
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/kweaver-ai/kweaver-dip "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/bkn-creator/internal/bkn-review" ~/.claude/skills/kweaver-ai-kweaver-dip-bkn-review && rm -rf "$T"
manifest:
skills/bkn-creator/internal/bkn-review/SKILL.mdsource content
网络评审
公约:
../_shared/contract.md
做什么
分析测试结果,计算质量评分,判定通过或需要调整,分发调整任务到对应 skill。
输入
- 测试执行结果(
输出)bkn-test - 当前网络状态(对象/关系/绑定/映射汇总)
- 业务规则清单(如有)
质量评分
| 维度 | 检查内容 | 权重 |
|---|---|---|
| 结构完整性 | 每个对象有主键、有描述、属性非空 | 20% |
| 关系健全性 | 关系两端对象存在、方向一致、无悬空引用、属性引用存在(Source/Target Property 存在于对应对象 Data Properties) | 20% |
| 绑定率 | bound_objects / total_platform_objects | 20% |
| 映射覆盖率 | (mapped + waived) / total_platform_properties | 20% |
| 规则覆盖率 | 有规则的对象数 / 总对象数;拆分为子项(见下方) | 10% |
| 测试通过率 | passed_cases / total_cases | 10% |
规则覆盖率子项
规则覆盖率维度由两个子项组成:
| 子项 | 检查内容 | 占规则覆盖率权重 |
|---|---|---|
| 规则覆盖广度 | 有规则的对象数 / 总对象数 | 60% |
| Skill 文件质量 | 读取 的 ,5 项自检全部 pass 为 100%,每项 fail 扣 20% | 40% |
来自skill_self_check
输出的bkn-rules
字段skill_self_check- 若
未输出bkn-rules
(旧版本),Skill 文件质量子项记为 0skill_self_check
存储位置过滤
-
的对象 不参与绑定率和映射覆盖率计算存储位置: local -
绑定率分母只计算
对象数量platform -
映射覆盖率分母只计算
对象的属性数量platform -
local 对象仍需通过结构完整性检查(有主键、有描述、属性非空)
-
综合分 >= 80 → 通过,可推送
-
60-80 → 有风险,需用户确认
-
< 60 → 建议修复
bind_mode == deferred
时的评分调整
bind_mode == deferred当
bkn-env 判定 bind_mode: deferred(无可用数据视图)时:
- 绑定率(20%)和映射覆盖率(20%)标记为 N/A,不参与评分
- 剩余维度权重等比放大:结构完整性 33%、关系健全性 33%、规则覆盖率 17%、测试通过率 17%
一票否决
以下情况无论综合分如何,verdict 强制为 fail:
且绑定率 < 30%(有视图但几乎没绑上),且 platform 对象数量 >= 3bind_mode == full- 结构完整性维度 < 50%(基础质量不达标)
外部校验锚点
以下维度必须包含外部验证数据,不可纯粹依赖 Agent 自评:
- 结构完整性:
通过 → 该维度底线 60%;未通过 → 上限 40%kweaver bkn validate - 绑定率:来自
的bkn-bind
实际数值binding_summary - 映射覆盖率:来自
的bkn-map
实际数值mapping_gate_summary - 关系健全性-属性引用:
预检结果,有错误则该维度分数减半_shared/prepush-validation.md
调整分发
不达标时,按失败根因分发到对应 skill:
| 根因 | 调整 skill |
|---|---|
| 对象/关系问题 | → |
| 绑定问题 | → → |
| 规则缺失 | |
| 属性映射不足 | |
每轮调整必须有 diff(改了什么)。最多自动循环 3 轮,超过则暂停让用户介入。
输出
quality_score: 0 score_breakdown: {structure, relations, binding, mapping, rules, tests} verdict: pass | warn | fail adjustment_plan: - target_skill: "" reason: "" suggested_action: "" iteration: {current_round, max_rounds, score_history}
约束
- 评分必须基于实际测试数据,不编造
- 不替代具体 skill 做修复,只做诊断和分发