39 lines
2.9 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: freeze-context
description: 将截至指定章号的来源冻结为可重复清单,并校验授权、版本、未来信息泄漏和只读原文装载。上下文组装或回放评测需要稳定时间边界时使用;不调用模型、不写正式数据。
disable-model-invocation: true
---
# 冻结快照能力层(共用能力,箭头只向下)
把「截至第 N 章」冻结成可重复、可审计的来源清单,并对冻结快照做授权/来源/泄漏校验与只读装载的共用能力。被 `assemble-context`(冻结原文回读与回放仓储门禁)和 `evaluate-frozen-replay`(回放编排)复用;本 Skill 只依赖 stdlib 与 psycopg,**不 import 任何业务 Skill**,不访问模型、不写正式数据。
## scripts 入口
| 模块 | 职责 |
|---|---|
| `build_snapshot.py` | 冻结快照纯函数:只处理内存中的结构化数据,把「截至第 N 章」变成可重复、可审计的来源清单,过滤终态摘要与未来字段,避免把未来事实误当成卡的价值。不访问数据库、不调用模型。 |
| `check_snapshot.py` | 冻结快照的 fail-closed 校验:授权快照、来源版本证明链、目标章禁读、schema 与三臂 manifest 一致性;任一不合规返回明确阻断状态。不访问数据库、不调用模型。 |
| `audit_leakage.py` | 冻结快照的内容级泄漏审计:只接收结构化目标事实与已冻结快照,审计结果只含路径、哈希和原因,避免把目标章事实回显。不读正文、不调用模型、不写数据库。 |
| `load_reference_work.py` | 从实验库只读装载回放配置与冻结原文:在 `REPEATABLE READ READ ONLY` 事务中只 SELECT,`load_frozen_prose_rows()` 是读取冻结线以前 Canonical block 的唯一 SQL 入口。不写数据库。 |
| `recall.py` | 从本地 `data/muse.db` 用向量 blob 暴力扫召回卡片;不调模型、不写库。 |
## 依赖方向
本 Skill 是共用能力层,**只依赖 stdlib + psycopg,不 import 任何业务 Skill**。上层(`assemble-context`、`evaluate-frozen-replay`)单向向下引用本 Skill 的 scripts,不反向依赖。
## 输出
- 面向当前任务的可执行判断、检查清单或改写建议(Markdown 结构化段落)。
- 不直接落库、不代替 `write-next-chapter` / `decide-candidate` 写 Canonical。
## 红线
- 只给当前创作阶段的建议,不越权改设定主权、不绕过检测链、不复制粘贴其它 Skill 的 owner 定义。
- 无用户明确授权不得替用户定稿或提交 Git。
## 复利合同
- **消费**:授权快照、来源版本与 as_of 边界,产出可复验冻结清单。
- **回写**:本 Skill **不写** `example_lesson`(只读装载 + 文件快照,无创作效果因变量)。冻结后的效果信号由 `assemble-context` 的 `persist_freeze`(带 `runId`)登记;故本 Skill 维持 `partial`(有消费、回写归下游)。