提醒大全.skill v1.00 更新日志
生成时间：2026-09-16 00:23–00:58 (GMT+8)
协议：pangu.skill §13 更新协议 + §14 区间蒸馏（R1–R6） + §15 全局产物契约
版本规则：首次发布 = v1.00

================================================================
① 全部提示词（本次更新使用的全部指令）
================================================================
[用户原始指令]
「从微信 ClawBot 推送助手，到爸妈健康提醒助手，@skill:pangu.skill 深度蒸馏生成，提醒大全.skill。」

[由此触发的协议]
- pangu.skill §14 区间蒸馏·融入·核对·卸载（R1 枚举 → R2 蒸馏 → R3 生成 → R4 核对 → R5 备份 → R6 卸载）
- pangu.skill §13 更新协议（VERSION + update_log + zip 三件套）
- pangu.skill §15 全局产物契约（①零 skill 依赖 ②可联网自更新）
- pangu.skill §14 R1⑤ 锚点定位优先序（meta_name → displayName → slug，逐字相等）
- 交付前审核门禁（SOUL.md 硬规则）：硬核验先行（脚本复算先于肉眼判断）

[执行期产生的子指令（全部固化于工作区脚本，可重跑）]
- r1_enum.py        R1 枚举：扫 skills(628) + plugins/cache(42)，按 ctime 排序，输出 670 条
- r2_extract.py     R2 抽取：62 源 SKILL.md 骨架聚合（约 3.2k 行）
- r4_conflict.py    跨批次同体冲突检测（扫描 277 个历史 zip + 9 个历史大全产物）
- r4_verify.py      R4 三数一致硬核验 + 断链铁律 + 契约①扫描 + 引擎自检
- r5_backup.py      R5 备份（62 目录 + MANIFEST + testzip 校验）
- r6_uninstall      R6 软卸载（三闸门 dry-run → --apply，四项闭合校验）
- st_wrapper.py / e2e.py  引擎自检与端到端 5 场景冒烟

[外部取数（§15 契约②联网自更新）]
- WebSearch: "RFC 5545 iCalendar RRULE VALARM reminder 规范 现行版本"
  命中：RFC 5545（iCalendar 核心，现行）、RFC 9074（VALARM 扩展，2021，Updates: 5545）、
       draft-kashyap-calext-ical-property-deps（属性依赖草案，VALARM/RELATED-TO/snooze 语义）
  用途：校准 .ics 生成（CRLF、VALARM/TRIGGER、COUNT 与 UNTIL 互斥、HOURLY 不带 BYHOUR/BYMINUTE）

================================================================
② 全部讨论内容（执行过程中的判断、分歧与裁决）
================================================================
[裁决 1] 锚点解析
  A = wechat-clawbot-push（meta_name 逐字 = "微信 ClawBot 推送助手"，序号 609/670）
  B = bama-jiankang-tixing__skillhub（meta_name 逐字 = "爸妈健康提醒助手"，序号 670/670）
  区间 = [609,670] 闭区间 → N = 62。端点在列。唯一命中，无歧义，无需并列候选。
  区间内无插件套件落入（42 套件 ctime 均 2026-09-07，全在区间外）。

[裁决 2] 区间"过小"不扩大
  两端 ctime 相距约 3 分钟。按 §14 R1③ 不得因"区间太小"擅自扩大；且 62 条主题高度一致
  （几乎全为提醒/日程/待办），符合区间语义。维持 N=62。

[裁决 3] 跨批次同体冲突 = 无
  扫描 277 个历史备份 zip → 命中 0。
  扫描 9 个历史「XX大全.skill」正文 → 规划大全.skill 出现 plan-tracker、ai-schedule-assistant。
  判定：非冲突。依据 (a) 出现于 sources_manifest.md＝溯源语境，按 §14 第 4 点保留不动；
  (b) 规划大全生成于 2026-09-15 17:08，早于本批成员安装时间 2026-09-16 00:19，
  时序上不可能吞并本批实例 → 同名不同体。处置：不回写规划大全正文，仅在本作业登记。

[裁决 4] 硬核验先行（SOUL.md 交付前门禁）抓出的真实缺陷 —— 3 处，均已修复
  D1 snooze 对不存在的 id 仍返回 ok=true 并写入垃圾键
     → 增加存在性闸门：未知 id 返回 ok=false + hint + exit=1；新增自检用例。
  D2 周期项完成后 id 随新到期日变化 → 溯源断链
     → 新增 origin_id 字段（永久指向首次入库标识）；新增自检用例。
  D3 自检中 .ics 的 CRLF 校验表达式自身写错（"\\r\\n" 文本 vs 真实 CR LF 字节）
     → 改为字节级校验 b"\r\n" in raw；新增自检用例（组件成对闭合）。
  另：manifest 表行正则零命中（写入时反引号未保留）→ 改宽松正则，核验 62/62 通过。

[裁决 5] 卸载方式 = 软卸载
  隔离区置于 C:\Users\wodey\.workbuddy\_uninstalled_batch3_v1.00\（不在 skills 扫描根下，
  避免 62 个 SKILL.md 被重新扫描污染），免解压回滚；备份 zip 并存于 skills 根。

[裁决 6] 蒸馏取舍
  取 HOW 不取 WHAT；仅 ≥3 个独立来源重复出现的机制晋升为原则（20 条，patterns.md），
  单次出现者标 OBSERVED 不晋升。内容残缺源（如 udb7-apple-reminders、birthday-reminder-list）
  仅记形态，不臆补。

================================================================
③ 全部更新内容（实际改动）
================================================================
[新增] 目录 C:\Users\wodey\.workbuddy\skills\提醒大全.skill\
  SKILL.md                                 判断函数 + 十章正文（含更新协议 §9、我不知道地图 §7）
  VERSION                                  1.00
  FIDELITY.md                              6 条证伪标签 + 验证状态表 + 诚实边界 + 失败样例登记表
  GROWTH.md                                原料闸门/重编译触发/行为门禁/外部验证者缺位降级/根守卫三查
  update_log_v1.00.txt                     本文件
  scripts/reminder_core.py                 零依赖引擎（标准库；唯一写入口；21 项自检）
  references/sources_manifest.md           62 源清单 + 逐源蒸馏要点 + 卸载状态指针
  references/patterns.md                   20 条可迁移模式 + 12 条反模式
  references/channels.md                   通道选型矩阵 + 文案模板 + 连通性验证
  references/scheduling.md                 RRULE/cron/任务计划/.ics 食谱与硬约束
  references/playbooks.md                  12 套场景剧本
  references/safety.md                     医疗/事实/行为红线 + 长辈话术 + 免责模板
  references/research/79-区间蒸馏R1-R6实录.md  R1–R6 全实录、冲突裁决、诚实边界、回滚方式

[引擎能力] scripts/reminder_core.py（命令：now/add/list/due/plan/done/snooze/rrule/ics/digest/selftest）
  时间锚点 · 四分色带分级 · lead-time 阶梯 · 幂等去重(sha1 前8位) · 推迟与免打扰(跨午夜) ·
  周期完成自动排期(origin_id) · 日级合并摘要 · RRULE 生成(中文周名映射+互斥校验) ·
  .ics 导出(CRLF/VALARM/DATE_TBD 跳过) · 临时文件+原子替换 · 21 项自检

[改动] 无历史版本（首版）

[卸载] 62 个来源软卸载至 _uninstalled_batch3_v1.00\（逐条台账 _r6_uninstall_manifest.json）

================================================================
④ 契约自检结论（§15）
================================================================
① 零 skill 依赖：PASS
   - 运行期仅用宿主内置工具 + 本目录文件；
   - 产物全文对 62 源硬路径依赖命中 = 0（r4_verify.py 扫描）；
   - 引用文件 8 处，断链 0（断链铁律）；
   - 62 源已卸载，产物功能不受影响（引擎与文档均自包含）。
② 可联网自更新：PASS
   - SKILL.md §9 更新协议：WebSearch/WebFetch 路径 + 溯源闸 + selftest 门禁 + 三件套版本戳；
   - 本轮已实际联网取数（RFC 5545 / RFC 9074）并写入产物。

================================================================
⑤ 验证证据（可重跑）
================================================================
- 引擎自检：21/21 全绿（`python scripts/reminder_core.py selftest`）
- 端到端：5 场景 + 异常路径（去重命中、周期排期、未知 id 拒绝、ics 字节级 CRLF）
- R4 三数一致：N=62 = N₂=62 = N₃=62
- R5：备份 457 文件 / 2.89MB / testzip()=None / 顶层目录 62
- R6：移动 62 失败 0；算术闭合 449−62=387；区间残留 0；隔离区 62/62
- 未获真实独立人类复测（诚实登记，不得宣称经外部评审）
