Observation Lifecycle(观察生命周期协议)

May 12, 2026 · View on GitHub

被这些子 skill 引用:cheat-retrocheat-bump、主 SKILL.md。

这是项目原则 #3 的完整规范——rubric 是工作台,不是博物馆。任何对 rubric_notes.md 中观察条目的增删都必须遵循本协议。


三个生命阶段

每条观察都在下列状态之一:

[新增]  →  [观察记录]  →  [跨视频观察]  →  [规律沉淀] / [被吸收为维度] / [被推翻]

                                        [待验证假设](暂存)
阶段在 rubric_notes.md 的位置触发
观察记录## 观察记录单次复盘后写入。每篇视频复盘对应一条
跨视频观察## 重大跨视频观察同一个 pattern 在 ≥2 个样本里出现
规律沉淀## 规律沉淀区(高置信度)已有 ≥2 样本支持且通过升级验证流程(即被吸收进维度或被显式确认)
待验证假设## 待验证假设单样本观察暂存,等更多样本

升级到下一阶段的门槛(Claude 判断为主,下面是参考默认

从 → 到默认参考门槛Claude 判断信号强度(可软违反)
观察记录 → 跨视频观察同 pattern ≥2 样本1 样本 + 评论区 ≥2000 赞的强模因证据也可升
跨视频观察 → 待验证假设单样本 + 强信号但还没复现
跨视频观察 → 规律沉淀≥2 样本 + 不需要改公式1 样本 + 强反例(≥3x 偏差)也可升(标 **Single-sample, high-confidence**
跨视频观察 → 维度(不再单独存在)≥3 样本 + 通过 bump 流程被吸收同 cheat-bump 的 READINESS_HEURISTIC
任意 → 删除被新数据推翻 / 被吸收为维度 / 被沉淀为规律cheat-bump cleanup pass,或单独操作

核心原则:样本数是信号强度的代理指标,不是信号本身。3 个清晰、可追溯到具体数据点的样本 > 10 个零碎、低置信度的样本。

Claude 软违反的纪律

  • 标注 **Promoted with N samples (default expects M)**: <为什么仍然成立>,让用户审视
  • 不连环软违反——如果 Claude 在最近 3 次升格里有 2 次以上软违反,cheat-status 提示"你的观察升格判断可能太激进,建议回到默认门槛 review"

Sample size → 允许的动作(细化分级)

按校准池总样本数决定能做什么改动——粗暴改大动作需要更多证据:

校准池规模允许的动作备注
1 个记录"单次观察"单点不能触发任何规则改动,只能作为种子
2-4 个提炼"候选规律" + 升级到"跨视频观察"段仍不能改公式
5-9 个修正维度定义(定性变更——如把 SR=5 的门槛说更严)不动权重数值,只改判断习惯。第一次正式 bump 也在这一档(rubric 形态首次成型)
10-19 个微调权重 ±0.2(定量变更如 ER ×1.5 → ×1.7;新增 / 删除维度仍属"定性大动作",需要更多样本
20+ 个用回归反推权重(数据驱动Spearman correlation 之类,可作为 bump 依据

关键纪律

  • 不要在 N=5 时就用回归——5 个点拟合 7 维公式必过拟合
  • 不要在 N=20 时还用直觉调权重——已经有数据信号了
  • bump 协议(bump-validation-protocol.md)的 MIN_SAMPLES_FOR_BUMP=5形态首次成型的最低门槛,不是"开始数据驱动"的门槛——后者要 N≥20

删除规则(最容易做错的部分)

两类条目必须删,不能保留

类型 A:被吸收为维度的观察

例:v2.1 升级时,"观察 E(致谢段二创量级是 ER=5 的最强外部证据)"被吸收为新维度 MS(Memetic Shareability)

→ 升级落地后,删除"观察 E"这条观察记录。维度 MS 本身就是新归宿。

理由:保留观察 = 同一概念在文件里出现两次(一次作为维度,一次作为观察)。读者会困惑:这是历史还是仍生效的规则?

类型 B:被新数据推翻的观察

例:观察 X 提议"长视频天花板低",后来 4 个长视频样本都破 50w → 推翻。

删除这条观察。

理由:保留 = 让未来的你或其他读者基于错误规则打分。


必须保留的条目

下列条目不删,留在原处或迁移到合适段:

  • 未解决的观察(既未被吸收也未被推翻)→ 跨升级时迁移到新版本的"待验证假设"段
  • 历史校准事件(如"v1 → v2 升级是因为房价 259w 严重低估")→ 保留在版本日志的"升级 Memo"段,保留在观察段
  • 本版本仍生效的规律(已沉淀到"规律沉淀区")→ 保留

不允许的反模式(必须拒绝

下列模式都是"博物馆冲动"——把 rubric_notes.md 当历史档案:

反模式为什么不行
~~ER 权重 1.5~~ **改为 2.0**(带删除线的旧值)用 git history 看旧值,不要在文件里堆
"我曾经以为 SR 重要,但其实..."这种考古条目让读者读完不知道当下规则是什么
"v1 时代 NA 是关键,v2 后发现不是"同上。删掉 NA 相关条目,留版本 memo 解释为什么 NA 被砍
"保留这条观察作为反例"反例的位置是版本 memo 的"被推翻假设"小节,不是观察段
"下个 bump 再删,先放着"拒绝。bump 落地的同一次操作里删干净

git history 才是真正的归档。rubric_notes.md 是当前生效规则的快照——读者打开它应该看到今天该怎么打分,而不是过去几个月的演化史。


Blind channel leak guard(任何 skill 写 rubric_notes.md 时必须遵守

rubric_notes.md 是 cheat-score-blind sub-agent(channel B)的白名单——sub-agent 读这个文件给 script 打分时,文件内容不能含已发布作品的实绩数据,否则 sub-agent 的"盲"被破坏。

禁止写入 rubric_notes.md 的 pattern

模式例子替代位置
真实视频标题 + 实绩"「停止期待」播放 71.1w"rubric-memo.md
派生证据带命名锚"派生证据:「她不一样」MS=5 → 实绩 124.8w"rubric-memo.md
校准池重打表bump 时的样本对照表rubric-memo.md
跨模型审核引用含数字"audit: 「老板废话」rank 一致 ✓"rubric-memo.md
\d+w / \d+万 / \d+M / \d+k 的数字(除 bucket 边界"实绩 13.7w"rubric-memo.md

允许的 pattern(通用语言):

  • 公式:(ER×2.0 + HP×1.5 + ...) / N × M
  • 维度定义:ER(情感共鸣):0=无情绪 / 3=中等共鸣 / 5=极端共鸣
  • 派生证据抽象化派生证据:高抽象密度样本 → CC=1 → 低 reach
  • Bucket 边界(数字属于规则不属于实绩):5-30w / 30-100w / 100-150w / >150w
  • 观察 ID + 一句话:观察 E:开头 5 秒含问句 → ER+(不带样本名 / 不带实绩)

强制 cheat-bump Phase 5 末尾自检:写完 rubric_notes.md 后跑 grep -E '\\d+\\s*[wWmMkK万]|播放|实绩|实际' → 命中 → abort + 回滚。这是硬约束。

历史背景:PR #11 引入 cheat-score-blind 时漏算了这条——cheat-bump 把 Memo 写进 rubric_notes.md,sub-agent 通过白名单读到实绩。PR #12 修复(拆 file)+ 加本段约束防止将来再犯。


cleanup pass 的强制时机

cleanup pass = 把所有满足"可删除"条件的观察一次性清掉。

强制触发:

  • bump 落地的最后一步(见 bump-validation-protocol.md Step 5)
  • 用户显式触发"清算"操作(罕见)

非强制但建议:

  • 校准池每加 5 个样本,主动审视"观察记录"段,看哪些已经可以升格 / 删除
  • cheat-status 看板检测到 rubric_notes.md 行数超过 500 时,建议清算

行数预算

健康 rubric_notes.md 的体积参考(目标):

校准池规模健康行数警戒行数
0-5 篇100-200>300
5-20 篇200-400>500
20-50 篇300-500>700
50+ 篇400-600>800

行数超警戒 → 必跑一次 cleanup pass。这不是为了好看,是为了读者打分前能在 60 秒内读完核心规则


与"观察记录"模板的对齐

每条观察记录的标准模板(rubric_notes.template.md 也用这个):

### YYYY-MM-DD [标题简称] (id) — [一句话定性,如"验证 ER 主导"]
- 预测:composite=X.XX,bucket=Y
- 实绩:播放 / 点赞 / 评论 / 转发(带 T+Nd 标注)
- Top 评论关键词:[简短摘录 + 赞数]
- 判断:哪个维度被验证 / 推翻?为什么?
- Rubric 调整:[如果有,写明 "下次打 XX 类文章时改 YY"]
- 详见:[predictions/<file>.md]

跨视频观察的模板:

### 观察 X — [一句话规律]
**证据**
- 样本 1(composite, 实绩):核心数据
- 样本 2(composite, 实绩):核心数据
- 样本 3(composite, 实绩):核心数据

**假设**:[如果规律成立,意味着什么 rubric 调整]

样本数:N 个,[已超 / 待补]。

与 bump 协议的衔接

cheat-bump 在 Step 5(cleanup pass)必须按以下顺序处理观察段:

  1. 列出所有 ## 观察记录 段条目
  2. 对每条问 3 个问题:
    • 它是否被本次 bump 吸收为正式维度?→ 删
    • 它是否被本次 bump 的新数据推翻?→ 删
    • 它是否仍未解决?→ 迁移到"待验证假设"段
  3. 列出所有 ## 重大跨视频观察 段条目
  4. 对每条问相同 3 个问题
  5. 把"已被验证但不需改公式"的规律 → 迁移到"规律沉淀区"
  6. 最后重新阅读 rubric_notes.md 全文,确保读者打开能在 60 秒内理解当下打分规则