--- 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`(有消费、回写归下游)。