zizi b0bc7a8745 框架: 技能按动作-对象重组 + 先审后入创作闭环
一、技能重组(动作-对象命名)
- 旧目录 clean/confirm/continuation/db/detect/embed/… 重组为
  clean-book-text/decide-candidate/write-next-chapter/access-database/
  check-content-consistency/embed-knowledge/…(git 识别为 rename,内容保持)
- agents/*.md、AGENTS.md/CLAUDE.md 收编、example_skill 登记表同步新名

二、先审后入创作闭环(本次核心)
正文接受从"机械门一过就写正典"改为"机械门+语义审查双通过+用户批准+单事务原子提交",
DB 级兜底,编排层跳步即被硬拒。
- candidate_cas.py + example_candidate_cas(109):持久化 CAS 状态链
- fact_delta.py + example_fact_delta/example_fact_ledger(106):结构化事实增量,
  模型只提六型闭集增量+正文证据引文,仅用户批准的增量随正文同事务入账本
- projection_registry.py + example_projection_run(107):投影登记与恢复
- acceptance_state.py:接受前置实时状态重读
- lesson_registry.py + example_lesson(108):经验升格链,禁止自动升格
- DDL 105:example_candidate 增 semantic_status/semantic_report_sha256
- write_canonical.accept:语义兜底+同事务合并增量+登记投影;
  run_writer_pipeline/persist_writer_run/run_writer_semantic_detector/step2 接入全链
- claude_runtime:兼容新 CLI modelUsage 信息字段

三、审查修复(独立子代理四维审查后)
- 事实增量 propose→approve 翻态正道,不撞唯一键
- 冻结配置探针重刷(CLI 2.1.211→2.1.231 漂移),profileSha256/adapterVersion 再登记
- 可视化合同悬空路径/五六空间矛盾、 SoT 旧技能名漂移、行尾空白清理

测试:离线 65 套 + 真实库集成 5 套(CAS/接受故障注入/事实增量/投影/经验升格)+ 回放 79 项全绿。
创作内容(docs/design、生成正文 artifacts)按"框架与创作分开"未入本提交。
2026-08-14 10:24:08 +08:00

4.2 KiB
Raw Blame History

AI 味案例卡合同 v1

案例卡是质量与复利领域的证据载体。它记录“某段文本被怀疑有 AI 味,或被证明不应改”的可复核观察,不承担作品事实、公共范式或生产规则的职责。

必填字段

字段 合同
schema_version 固定 ai-flavor-case-v1
id case- 加稳定哈希前缀;同一来源位置和模式只能有一个 ID
card_type 固定 ai_flavor_case
state shadow / canonical / rejected / archived
label unclassified / sf / snf / boundary / regression
layer mechanical / lexical / structural / density / semantic / unknown
carrier narration / dialogue / monologue / in_text_carrier / mixed / unknown
capture_mode backfill / live_feedback / synthetic / review_import
source 来源种类、许可、source_sha256、位置和 work_ref
observation 表面模式、问题判断、功能检查项、改动风险和建议动作

来源重验证

  • revalidate 在使用卡片前重新读取受控来源的原始字节,计算当前 source_sha256,并与卡片保存的值比较。
  • 全文哈希相同后还会检查 location 的 excerpt_sha256 与 surface_location;三者任一不一致,结果为 card_mismatch。
  • 重验证结果是独立的不可变回执,不自动修改卡片的 state。结果状态固定为:verified(来源与锚点一致)、stale(全文哈希变化)、unavailable(来源不可读取)、card_mismatch(全文相同但卡片锚点不一致)。
  • canonical 确认、样例投影和规则候选/规则使用必须携带对应卡片的 verified 回执;缺回执或回执哈希不匹配时 fail-closed。
  • 检测命令完成时会把案例卡和重验证回执自动写入 muse-example;看板只读展示历史批次,打开页面不触发原文读取,也不写库。只有显式 --offline 才生成不入库的回执。

使用范围与失效

  • shadow:只用于人工复核、聚类和候选提示;不能进入生成上下文、不能投影样例、不能成为 blocking 规则。
  • canonical:必须有可保存授权、人工标签/评审和 verified 重验证;只表示这条证据可共享,不表示规则已经 active。
  • rejected / archived:保留审计,不参与当前消费。
  • verified:当前来源字节、片段锚点和表面锚点均一致,可用于确认、样例投影或规则候选评审。
  • stale / unavailable / card_mismatch:当前使用立即失效;重新取得合法来源并重验证后才恢复。历史卡和历史回执不删除。
  • 作用域默认是该卡的 work_ref + source_ref + source_sha256 + capture_mode;规则候选还必须满足跨作品和正反证据门。单卡、单作品或单次反馈不能扩大为全局规则。

来源规则

  • source_sha256 是原始文件字节的 SHA-256 小写十六进制值。
  • excerpt_sha256 是保存片段 UTF-8 字节的 SHA-256;没有片段时也必须保留它,便于在受控原文环境复核。
  • research_only / unauthorized 来源必须 excerpt: ""、context: "",状态只能是 shadow。
  • owned / licensed / public_domain / synthetic 才能保存片段;canonical 必须有可审阅片段、非 unclassified 标签和 review 记录。
  • 位置使用 line_start、line_end、char_start、char_end;哈希和位置不足以证明内容时,卡不能确认。

证据与规则边界

  • sf 只表示“当前评审认为应修”,不是永远删除。
  • snf 表示同一表面形式在上下文中有功能,提醒系统不要误修。
  • boundary 表示需要任务合同或上下文裁决。
  • regression 记录一次错误修复及其后果,优先用于回归门。
  • 单张卡不能生成 active 规则。候选规则必须同时引用正反证据,且至少来自两个不同作品;规则状态由代码固定为 candidate。

与现有资产的关系

canonical 案例卡可以投影成四类样例,但样例必须保留 case_card_id、来源位置和许可。规则仍由 review-knowledge-cards 与质量/回放链审核;案例卡不替代 meta/schemas 的实体/范式卡。