zizi 76d38f2dc7 修复: 派发链硬门失败关闭与测试账本隔离
- 模型锁定完整 ID 等值:role_policy 废弃子串匹配,前置校验+事后
  MODEL_POLICY_VIOLATION 熔断+回执 modelMatch,治理链角色放行 BUDGET_CHAIN
- 工具白名单只读机械强制:任务包 allowlist ⊆ 只读注册表,TOOL_NOT_READONLY
- 本地向量检索 truthful 化:aiContext 裁剪、指针行跳过、资格失败关闭
  (bindingStatus/productionRetrievalEligible 不再伪造 active)
- 角色提示词 name 回归英文系统 ID;planner 补 fine_outline 绑定;
  writer 数据契约对齐 writer-candidate-body-v1
- 测试账本隔离:sqlite_path 三层透传(bridge/two_phase),9 处派发测试
  改用临时库;清除 muse.db 测试残留 5 runs+26 events+reviews 5/6(有备份)
- test-inventory 补 3 条登记并机械重算 summary;评测场景补
  output_contract/fail_closed 与 stability 两类;死代码清理
  (project_paths.py、offline_only 死参数、harness/harness 残骸)
- 新增 metaphysical-diff-review 技能(红线 4.2 载体)并登记,共 59 技能
2026-08-30 23:06:19 +08:00
..

agent-example Harness

项目开发、验证和行为评测支架的入口与索引。 这里的文档和工具服务开发者与评测编排,不会作为任何 Skill 的运行时提示词自动注入 Agent。

1. 作用

agent-example 同时包含三种不同性质的验证工作:

  • 运行时文档的静态卫生检查;
  • 确定性工具、数据库边界和 fake pipeline 的机械测试;
  • 将 Skill 交给 Agent 后的外部行为评测。

Harness 负责把这三类工作分开编排并保留证据,不能用其中一类的通过结果冒充另一类结论。

2. 目录索引

harness/
├── README.md                         # 本入口:项目 harness 介绍、边界和索引
├── specs/
│   ├── skill-testing.md              # Skill 测试与评测规范、证据分级
│   └── skill-quality-rubric.md       # Skill 分类字段与质量评分标准
├── skill_harness.py                  # Skill 文档与分类的静态审计入口
├── run_selected.py                   # 按 manifest 选择性执行测试
├── test_skill_harness.py             # 静态审计器离线测试
├── test_run_selected.py              # 选择性执行器离线测试
├── manifests/
│   ├── skills.json                   # 全部 Skill 的分类字段、责任方与协作领域清单
│   └── test-inventory.json           # 测试分类、依赖、副作用与证据等级
└── evals/
    ├── skill_eval.py                 # 行为评测引擎:场景合同、适配器与裁决报告
    ├── test_skill_eval.py            # 评测管道自测(不构成 Skill 行为证据)
    └── skills/<skill>/               # 逐 Skill 场景与评测入口(真实模型需显式授权)

项目级实现测试位于 `../tests/skills/<skill>/`,不进入运行时 Skill 目录。

现有专项支架:

路径 责任 证据边界
humanization/eval/run_eval.py 去 AI 味规则合同和回归陷阱试跑 规则合同回放,不证明文学效果
muse/lifecycle/quality/skills/replay/evaluate-frozen-replay/ 正文/细纲冻结回放、盲评和质量门 评测编排与质量证据,不是通用 Skill 单测入口
harness/ 跨 Skill 的开发验证与行为评测治理 只编排和裁决证据,不拥有业务合同

3. 权威关系

  • skills.json 的 skill_path 指向的 SKILL.md:Skill 的运行时行为合同;路径允许嵌套,不放开发测试说明。
  • skill_path 同目录的 scripts/:Skill 使用的运行时确定性实现与机械门。
  • tests/skills/<skill>/:对应 Skill 的实现测试、集成测试和 fake pipeline 测试;测试性质由 harness 清单标注。
  • harness/specs/:测试、评测与质量评分规范;不被业务 Skill 当作运行时指令读取。
  • harness/manifests/:测试/评测登记与执行配置;不复制业务字段合同。
  • harness/evals/:外部行为评测案例、适配器和报告生成逻辑。
  • muse/sot/domains/:领域与数据权威 SoT;harness 只引用,不复制领域定义。
  • docs/:单次设计、运行证据和历史资料;不替代 harness 规范。

4. 当前状态

  • skill_harness.py 已实现 Skill 文档与 skills.json 的只读静态审计,覆盖分类字段合法性、invocation 与 frontmatter 一致性、开发测试污染,以及必备节、行数与 description 预算、scripts/ 形态等质量发现。阻断级问题决定退出码,严重与一般级发现进 advisories,--strict 时一并阻断。

推荐门禁命令(仓库级 Skill 改动必跑):

cd agent-example
.venv/bin/python harness/skill_harness.py --strict     # 阻断与质量发现必须为零
.venv/bin/python harness/test_skill_harness.py -q      # 审计器回归
  • 全部 47 个 Skill 已按 lifecycle / invocation / side_effects / compounding 登记,阻断级问题为零;存量质量发现与复利改造方案见 docs/2026-08-20-skill-质量审查与复利改造清单.md。
  • test-inventory.json 已登记实现测试、集成测试、fake pipeline、领域评测和 harness 自测的依赖与证据等级。
  • run_selected.py 已实现显式选择、磁盘/manifest 对账、危险依赖阻断、超时和执行证据检查;它不提供默认全仓一键通过结论。
  • 项目运行时 Skill 的实现测试以 tests/skills/<skill>/ 为目标位置,物理现状以 test-inventory.json 为准。
  • skill_behavior_eval 脚手架已建立:评测引擎、diagnose-ai-flavor 参考场景与管道自测就位;真实模型适配器未授权时以稳定码失败关闭,真实行为评测执行数量仍为 0;没有外部 Agent/模型行为证据时,不声称 Skill 内容有效。
  • humanization 规则/样例运行时权威已入库(DDL-111 + humanization/tools/seed_rules_db.py 种子同步);生产读取失败关闭,不静默回退 Git 文件资产。
  • PostgreSQL 集成条目在显式授权后全部通过(含规则库指纹一致性和 rollback 冒烟);网络和真实模型证据未由离线结果替代,是否执行仍受授权和预算约束。

5. 运行边界

  • 默认只允许静态检查和明确标注的离线测试;
  • PostgreSQL、网络、真实模型和额度探针必须显式选择并满足授权、预算和环境前置条件;
  • 任何测试失败、依赖缺失或未发现测试都必须显式返回状态,不能静默跳过;
  • 报告必须区分已验证事实、推断和未验证假设。