内容校准适配器
这里不是第二套 Cheat。cheat-on-content 是唯一校准引擎;本 skill 只把 episode 和它的校准 lane 接起来,避免本地 fork 公式、预测规则或迁移规则漂移。
不可跨越的边界
- 禁止在这里按固定教程型权重打分,禁止估算后把分数当预测,禁止另写 PREDICT / RETRO / BUMP。
- 禁止把
tutorial-video的历史样本拿来评估opinion-video;两种内容必须是独立 lane。 - 盲预测必须在拍摄、发布、查看本期实际数据之前,由上游
cheat-on-content写入其predictions/;预测段不可改写。 - 上游版本更新后若 state schema 不匹配,只能先执行
cheat-migratedry-run。备份与用户确认前不得迁移历史 lane。
路由
评分前的 verify-blind-rubric.mjs 不得只核对 header:blind-rubric.md 必须逐字保留来源 rubric 当前完整维度定义与占位规则。维度语义有缩写、遗漏或改写时保持 PENDING,修复后换全新隔离上下文重评。
- 先运行
laohan-bianpai vendors。Cheat 或 dbskill upstream 有更新时只记录待办;只在新 episode 前或独立维护窗口运行vendors --sync。它报告 schema migration 时停止,不能绕过,也不能在本期中途切换规则。 - 读取
episodes/<slug>/01-口播稿.md与00-选题.md,判断内容形态。- 教程、明确操作路径、资源交付 →
tutorial-videolane。 - 观点、评论、议题、个人判断 →
opinion-videolane。 - 无法判断时停止,不能默认为教程型。
- 教程、明确操作路径、资源交付 →
- 读取目标 lane 的
.cheat-state.json,确认content_form一致。观点视频固定使用工作流项目的calibration/opinion-video/;无 lane 时先在该目录用上游cheat-init创建,不复用不匹配的旧目录。 - 先运行
node scripts/verify-blind-rubric.mjs calibration/<content_form>。对当前01-口播稿.md运行上游cheat-score:主评分器可用完整rubric_notes.md解析公式,但隔离子评分器只可读取已验证的blind-rubric.md与本期稿。任何 contamination warning 都必须丢弃并重启全新隔离评分。完整输出必须保留原始隔离 JSON(完整 script hash、rubric version、各维分数/理由、input_status、self_check、refusal);登记脚本会复核它,不能只登记 Markdown 的 SHA。把无告警输出保存到 lane 内,再运行node scripts/register-cheat-score-evidence.mjs ...。- lane 尚无真实发布样本时(
calibration_samples=0),状态必须标为枚举值COLD_START_DIAGNOSTIC,不是白话“冷启动诊断”;register/prepare 脚本与 bianpai gate 按该枚举值机械判别,不得声称已验证质量或流量,也不得为了提高 composite 覆盖原版模板、口头禅、场景、节奏或金句。评分建议只有指出具体理解/交付问题时才进入改稿候选。
- lane 尚无真实发布样本时(
- 进入⑤:固定调用
dbs-script-flow、dbs-resonate、dbs-ai-check和laohan-shencha CONTENT_CLAIMS;只有首 5 秒被判弱时调用dbs-hook。dbs-ai-check 只诊断具体命中句,不自动改写;dbs-hook 一旦触发,完整使用上游三种方法,每种3—5条、总计10—15条差异候选。严禁补造作者经历、采访人数、数据、结果或案例,缺证据必须写[需真实证据]。报告完成后运行node scripts/stamp-episode-script-hash.mjs episodes/<slug> 04-深扫报告.md 04-事实核验.md,两份⑤报告才会写入同一个 script_hash。仅 hash 匹配不足:③必须没有明确未解决高风险;⑤深扫必须review_status: CLEAR与unresolved_issue_count: 0,事实核验必须fact_check_status: CLEAR、contradicted_count: 0、unverifiable_count: 0,否则不得 prepare 或登记最终盲预测。⑤还必须输出04-事实主张.json:任何 PROOF beat 都必须引用当前稿/事实报告绑定的SUPPORTED claim_id与同源 evidence,INFERRED(即使带inference_note)不得进入 PROOF beat,来源链接本身不构成事实证明。注意:当前 stamp 脚本只绑定两份⑤报告 hash,04-事实主张.json的 PROOF beat 边界属描述层约束,本次不改脚本。 - ⑤报告与当前稿 hash 一致后,先运行
node scripts/prepare-cheat-prediction-input.mjs episodes/<slug> calibration/<content_form>。把输出的 lane snapshot 作为上游cheat-predict的唯一输入,并在预测 metadata 写**Script**: <snapshot path>与**Script Hash**: <sha256>。然后运行node scripts/register-cheat-prediction.mjs episodes/<slug> calibration/<content_form> predictions/<file>.md v1。它验证预测晚于快照、metadata 与快照一致,才写03-预测证据.json并标RECORDED。任何改稿都会使 hash 失效;必须重跑⑤、prepare 新快照并登记新的 prediction revision,不能改写旧预测。 03-校准报告.md的开头必须是:
---
calibration_engine: cheat-on-content
content_form: opinion-video # 或 tutorial-video
calibration_root: <相对于本报告的 lane 路径>
script_hash: <01-口播稿.md 的 sha256>
score_status: COMPLETE
prediction_status: PENDING # ⑤完成后才改为 RECORDED
prediction_file: null # RECORDED 时必须是 predictions/...md
---
随后只摘要本期分数、关键修改点与上游预测文件路径;不复制一套 rubric。运行 laohan-bianpai status;缺上游 state、hash 或最终预测即为 BLOCKED。
历史兼容
~/.openclaw/workspace-shared/content-ops 是旧的 tutorial-video 校准数据,不是所有 episode 的默认源。它升级到上游 schema 前保持只读;FDE 这类观点视频不得使用它的旧教程型 composite 作为放行依据。
何时回到这里
- 发布后:
laohan-yunying只归档真实发布/数据/评论,再交给上游cheat-publish与cheat-retro。 - 样本足够时:只由上游
cheat-bump进行全量重打与独立审核。 - ⑭ retro-handoff 必须有
feedback_hypotheses:每条绑定唯一hypothesis_id、干预、预期指标、T+N 窗口、状态和反馈目标(①或④);缺字段 bianpai 必须拒绝 full workflow。该字段由上游cheat-retro产出,本 skill 作为④到⑭的路由入口,登记盲预测后必须提示⑭需补齐该字段(单期只可OBSERVATION/HYPOTHESIS,至少两期同干预固定窗口且明确对照才可标UPGRADE_EVIDENCE)。