范围(不含 design-story-foundation、docs/design、docs/write-chapter、
craft/、humanization/README.md 等进行中改动):
1. humanization 规则/样例运行时数据库权威
- db/ddl/111:example_ai_flavor_rule / example_ai_flavor_sample /
example_ai_flavor_rule_event(append-only 生命周期留痕),已应用到 muse-example
- deai/load_db.py:数据库装载器,激活门/重复检测/指纹与文件装载器同源;
数据库失败关闭,不静默回退 Git 文件资产
- humanization/tools/seed_rules_db.py:YAML 种子单事务同步,幂等、
变化留痕、--strict 对 db-only 行失败关闭;真实库已种入 26 规则/107 样例
- prevent/diagnose/revise 生产路径切到数据库读取(--offline 显式读文件),
落库前新鲜度检查与合同声明来源一致;四个 SKILL.md 数据库合同同步
- 真实库验证:规则库指纹与文件种子一致(v-609bc40e21d0b5db),
三个生产脚本端到端从库装载通过
2. PostgreSQL 集成:显式授权后 9/9 通过
- 此前被依赖门阻断的 6 个 _db/smoke 测试全部通过
- extract rollback 冒烟改为回滚事务内自给夹具(pending 窗/草稿缺失时自建),
不再依赖瞬时生产状态;夹具残留核验为 0
3. Skill 行为评测脚手架(真实执行数量仍为 0)
- harness/evals/skill_eval.py:场景合同、六类评测范畴、适配器和结构化裁决报告
- diagnose-ai-flavor 参考场景 4 条 + 管道自测 7 项通过
- 真实模型适配器未授权时以稳定码 EVAL_ADAPTER_UNAVAILABLE 失败关闭;
清单登记 skill_behavior_eval 条目,默认被依赖门阻断
4. evaluate-frozen-replay raw 存储边界冲突
- docs/2026-08-19 备忘录:平台 DB-first 合同(创始人批准)与回放链
仓外 vault 强制的冲突事实、两个选项和裁决前约束;运行时合同未单方面改写
5. harness 自身修复
- runner 对账语义:行为评测入口不参与测试资产双向等值,但登记文件必须存在;
manifest 保留 skill_behavior_eval 布尔字段并校验类型
- 新增 2 条对账回归用例
验证证据: harness 三组自测 15+15+7 通过;静态审计 32 Skill / 0 问题;
76 个非数据库条目通过;9 个 PostgreSQL 集成条目显式授权后通过;
行为评测条目默认阻断;py_compile 与 git diff --check 通过。
未调用真实模型、embedding 或额度;真实行为评测执行数量仍为 0。
2.4 KiB
2.4 KiB
name, description, disable-model-invocation
| name | description | disable-model-invocation |
|---|---|---|
| prevent-ai-flavor | 技能 2 前置预防:生成前组装写作上下文合同——active 规则的负约束(附反例)加声音账的正样例与保护项。不碰正文,只供上下文组装消费。 | true |
前置预防(scenario: deai_prevention | purpose: generation | 槽位: assemble-context 消费)
何时用:每次组装写作上下文时(续写/改写/扩写/润色前)。产物给 assemble-context 塞进生成上下文,不直接进正文。
执行顺序
- 生产执行
scripts/prevent_ai_flavor.py --work-ref work:<作品ID> --output <合同.json>;默认读取数据库 current canonical 声音账。离线回放必须显式--offline或传--voice-ledger。 - 负约束只取 active 规则;每条同时带 SF 避开例、SNF 保留例、Boundary、Regression、carrier scope、carve-out 和 function_check。
- 正样例与保护项只取当前作品声音账:叙述者画像、角色口癖/样张、达标样张、保护片段和黑名单;不把案例卡正文当声音素材。
- 合同生成后由
assemble-context以humanization_contract参数冻结;writer 只看到有限writer_constraints,完整来源/规则指纹留在可信上下文。 - 构建运行落
example_run;--offline仅作显式离线回放。
输出合同
ai-flavor-prevention-v2 JSON:negative_constraints[](含四类样例与 scope)/ positive_samples[] / protected_spans[] / blacklist[] / writer_constraints[] / built_from(规则库版本 + 声音账哈希)。
边界
- 不承诺零 AI 味,只降低命中率;漏网的由
diagnose-ai-flavor兜底。 - 声音账缺失时仍产合同(只有负约束),正样例为空——不得拿通用「真人文风」冒充本作品的声音。
- 声音账 work_ref 与目标不一致直接拒绝,防止串作品套用。
数据库读写合同
- 读:
example_voice_baseline当前 canonical 版本;规则/样例读example_ai_flavor_rule/example_ai_flavor_sample(DDL-111 运行时权威);数据库不可用失败关闭,不静默回退 Git;--offline显式使用humanization/文件资产(离线夹具/回放)。 - 写:
example_run(幂等 upsert,记录规则指纹、声音账 hash 和投影条数)。 - 失败:作品不匹配、声音账非 canonical、规则装载门失败或 guidance 超合同直接失败关闭。