用途
transcript-promotion 用于把会话期间以对话形式交付、仅存在于 JSONL 转录中的实质性内联内容,提升为持久且可被表面发现的计划文件。它针对的是「对话绑定型」产出:密集的参考资料交付、引擎日志、内联分析、用户在聊天中阅读并回应的多段讲解。这类内容虽然保存在磁盘上的 JSONL 转录里,但被埋在对话文本中,对 ~/.claude/plans/INDEX.md、MEMORY.md 以及 chezmoi 源镜像不可见,未来会话读取计划索引时看不到任何东西,内容实际上随上下文退出而消亡。
该技能与 artifact-resurfacing 构成一对反向动作:artifact-resurfacing 处理「引用指向空处」的情况,transcript-promotion 处理「内容存在但没有引用」的情况,两者分别清理同一漂移熵的不同侧面。
主要能力
技能围绕四阶段协议展开:
-
提取(Extract):以 JSONL 转录为权威来源,提取助手文本,按章节锚点(首选)或行范围(回退)定位内容边界。提取脚本会过滤助手类型条目、用 jq 拼接文本、grep 起始锚点(找不到则以非零退出,遵循「行动前先验证」原则)、grep 结束锚点(缺失则回退到文件末尾),并将逐字切片写入后台会话安全路径。逐字是硬性要求,重新撰写会破坏审计轨迹。
-
前置元数据(Frontmatter):前置标准 frontmatter 块,必填字段包括 title、date(原始交付日期而非提升日期)、scope、status、extracted_from、extraction_date、related。脚本会校验 schema、前置元数据并打印结果文件路径。系列内容(LOG #N)的 related 块包含该系列所有同级产物,便于后续成员通过交叉链接发现更早的成员。
-
传播(Propagate):处理 chezmoi 的已知陷阱——bash 重定向或 cat 创建文件会绕过触发 domus-memory-sync 的 PostToolUse Write|Edit 钩子,导致运行时文件存在但永远到不了 chezmoi 源或远端。恢复方式是按 chezmoi 文档协议手动执行 chezmoi add,让 autoCommit+autoPush 触发,并校验一致性(git log @{u}..HEAD --oneline 应为空);若一致性校验失败则向用户暴露分歧并停止。对于非 chezmoi 管理的计划文件,脚本回退到 git add 加手动提交推送提示。
-
登记(Register):单个提升产物本身即持久,但系列成员需要登记,以便未来成员发现权威系列注册表。对于 engine-log 系列(LOG #N 模式),更新技能内的系列注册表;对于一次性提升则无需更新注册表,frontmatter 的 related 交叉链接已足够。若提升过程暴露新的静默失败类别,则追加到已知陷阱注册表并提交 IRF 行提案。
使用方式
技能提供三个脚本:extract-anchor-range.sh(锚点限定的转录提取器,切片前验证锚点存在)、propose-frontmatter.py(带 schema 校验和系列感知 related 链接的 frontmatter 生成器)、propagate-via-chezmoi.sh(带一致性校验的 chezmoi-add 包装器,对非 chezmoi 目标暴露手动推送)。典型调用方式为:先用 extract-anchor-range.sh 指定 --jsonl、--start-anchor、--end-anchor、--output 提取内容,再用 propose-frontmatter.py 指定标题、日期、范围、来源、系列与系列索引生成计划文件,最后用 propagate-via-chezmoi.sh 传播。
适用触发场景包括:要求把 LOG #N 持久化到计划目录、把内联参考提升为计划文件、确保内容在上下文退出后存活、把引擎日志保存到磁盘,以及收尾回顾时发现至少一个被标记为「仅内联」的交付物、用户询问「所有唯一数据在退出后是否存活」而审计表显示 JSONL 有而计划文件无、质量审计发现无磁盘引用的第二类内容。
适用场景与限制
该技能适用于常规计划文件的显式级联传播,对任何宪法级表面则只提议不应用。计划文件可直接写入,但需手动运行 chezmoi add 同步。它明确不直接编辑 CLAUDE.md、MEMORY.md、governance-rules.json、registry-v2.json、任何 seed.yaml 或 INST-INDEX-RERUM-FACIENDARUM.md;不重写或转述转录内容;不提升系统提醒块或命令消息块中的内容;不在无逐会话推送授权时跨组织推送到公共主分支;不作为后台守护进程、cron 或 LaunchAgent 运行;不进行无逐产物 frontmatter 的批量提升;不在每次收尾时自动触发。
技能设计为单调增长而不自我覆盖:系列注册表、陷阱注册表、示例均为仅追加,脚本按版本演进,新的提取模式扩展而非替换基础提取器。