52 lines
3.4 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

---
name: 记录运行证据
description: 记录模型调用、运行登记、不可变回执、CAS revision 和受控 raw 证据。执行器或业务 Skill 需要持久化一次运行、追加失败证据、补回执引用或管理 raw 备份时使用;不负责调用模型或裁决内容质量。
disable-model-invocation: true
---
# 记录运行证据
本 Skill 服务执行适配器和业务 Skill,只负责把一次运行的输入、输出、状态与证据保存成可核验记录。受治理角色执行属于 `执行角色任务`,质量评分属于 `评估内容质量`,Gate 裁决属于 `判定质量是否合格`。
## scripts 入口
| 模块 | 职责 |
|---|---|
| `run_registry.py` | 创建和结束 `example_run`,维持运行状态与幂等边界。 |
| `persist_llm_call.py` | 把模型调用的 prompt、response、用量与 raw 指针原子登记。 |
| `agent_trace.py` | 框架派发留痕:事件账本 `example_agent_event` 写入 + raw/逐回合 llm_call 原子落库(07 §2 框架派发)。 |
| `persist_raw.py` | 将完整 raw 写入 `example_raw_lease` 与 `example_raw_content`,写前拦截凭据。 |
| `record_failed_run.py` | 为失败运行追加错误回执与隔离的质量结果。 |
| `repair_receipt_evidence.py` | 对成功回执追加 evidence revision,不更新旧回执。 |
| `file_cas.py` | 用内容哈希维护不可变 revision journal。 |
| `raw_vault.py` | 可选的仓外 raw 保险库与迁移回执,不是默认权威存储。 |
| `lesson_registry.py` | 经验升格链登记:把一次运行的 lesson/win 证据写入 `example_lesson`,并流转 `proposed → reviewing → promoted/rejected`。 |
## 复利合同
经验登记与运行证据同源:**一条经验只有绑得住 `run_id` 与候选哈希,后来的人才验证得了它**。因此 `lesson_registry` 与 `example_run` 同属本 Skill,各业务 Skill 调 `propose_lesson` 而不各自建表。
本 Skill 是模式 B 的**落点依赖**(平台底座),不自产创作效果信号:`compounding=none`,D8 不适用(模式 C)。
- `propose_lesson` 只登记 `status=proposed`,不做任何升格判断,也不把单章 n=1 结果当成普适结论。
- 状态机由 DB 触发器强制:跳过评审的自动升格被拒;`promoted` 必须指明目标类型(pattern/skill/tool)与落点;终态不可再流转。
- 升格是人的决定。`decided_by` 必填,任何调用方都不得代替人批准。
## 合同
- raw 以 PostgreSQL 为主:完整 prompt、response、oracle 和供应商响应写入受控表;仓外 vault 仅作显式备份。
- 证据只追加,不覆盖历史;内容哈希、owner、run_id 或回执绑定不完整时失败关闭。
- 密钥、token 和凭据不得进入 raw 表、回执或错误对象。
- `runtime` 等 creator/updater 值属于存量数据库审计标识,不因 Skill 名称变化而改写。
## 数据边界
- 读取运行、调用、raw 和回执当前状态,只为校验绑定与幂等。
- 写入 `example_run`、`example_llm_call`、`example_raw_lease`、`example_raw_content`、`example_run_receipt`、`example_lesson` 和相应质量失败记录。
- 不调用 Claude/New-API,不生成候选,不判断内容是否通过。
## 输出
- 面向当前任务的可执行判断、检查清单或改写建议(Markdown 结构化段落)。
- 不直接落库、不代替 `写下一章` / `决定正文候选去留` 写 Canonical。