lili 7820c75b8b
Some checks failed
contract-gates / contract-gates (push) Has been cancelled
docs-gate / docs-gate (push) Has been cancelled
docs(contracts): prompts README 死链修——退役执行档改 git 史指针(留痕纪律) (尾波)
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-03 20:54:46 -07:00
..

contracts/prompts/ —— 第 8 类契约Prompt Registry

Prompt 即契约。所有生成链路的 LLM prompt 在此 Git 化注册、版本化、过门禁,禁止散落在 Dify 节点/代码里。 治理细则见 .agents/skills/prompt-governance.md(单一 how-to 源);历史执行档已退役进 git 史(git show bb7c2baf:docs/agent-specs/prompt治理体系-execution.md)。

目录结构8 阶段)

prompts/
├── registry.yaml          # 注册表id@version / owner / stage / file / eval
├── 01-safety/             # Prompt 安全/注入检测
├── 02-intent/             # 意图解析
├── 03-template/           # 模板匹配
├── 04-config/             # GameConfig 生成
├── 05-asset/              # 素材生成ComfyUI 引导)
├── 06-quality/            # 质量评估
├── 07-fix/                # 失败修复/重生成
├── 08-meta/               # 标题/简介/封面文案
└── eval/<id>/             # 每条 prompt 的 Golden eval 集inputs/expect/baseline

引用与变更

  • 引用Dify/aigc 用 {{registry:id@ver}} 引用PromptRegistryLoader 加载注入。
  • 变更:改 prompt 必须升 version,并过四道闸 CISchema 通过率 / 生成成功率≥80% / Golden 回归 diff / 成本延迟);四闸绿后运营 HITL 抽检 K 条方可合入。

Registry 一致性 CI 门check_registry.py

check_registry.py(本目录同级)验证 registry.yaml 里每条 version 与对应 .md frontmatter 的 version 是否完全一致。防止 Java PromptResourceLoader 构建期快照加载的 prompt 版本与注册表宣称版本漂移(二者不一致会导致日志/追溯/审计失真)。

手动跑:

python3 contracts/prompts/check_registry.py
# exit 0 = 全部对齐exit 1 = 有漂移(打印具体 id + 两侧 version

已挂载2026-07-03

  • pre-commit.githooks/pre-commit 在本次暂存触及 contracts/prompts/ 时跑本脚本,非零即拦(紧急绕过 git commit --no-verify,服务端门仍兜)。
  • CI.gitea/workflows/contract-gates.yml(与 docs-gate 平级的服务端门)每次 push / PR 全量跑,不可绕。

触发时机:任何 prompt .mdregistry.yaml 变更pre-commit 按路径条件触发CI 每次全量跑。