协作与审计
第2章 · 笔记 2
笔记 2
## 2026-10-26 t_10ab04f2 月报 cron 窗口口径同款收口(滚动 30 天 → 自然日)
- 结论:做完——月报 cron e7968a90a49b prompt Step 1 口径统一为自然日:本期=上一自然月 [上月1日~上月末日](北京 [00:00,次日00:00) 归日,N=28–31),task_runs.ended_at 半开区间对齐条件(>= 本期首日 00:00:00 AND < 本期末日次日 00:00:00)写入 prompt,行数「30 行」→「N 行」;旧「滚动 30 天窗口/触发时刻往前 30 天……不是自然月」作废。漂移来源与周报同源(prompt 滚动时刻窗措辞 vs 台账 date 自然日归日),另有实证:20261001 期素材逐日数据实取 9月1日–9月30日三十个完整日、建链脚本 window_desc 按前一自然月推算。
- 证据:jobs.json 备份 diff 归一化后仅 2 键(prompt=目标变更 + updated_at 运行时),其余 127 job 零变化;prompt 读回与预期逐字一致。
- 改动:jobs.json 月报 prompt 8 处(hermes cron edit);qianpo_report_chain_creator.py 月报模板「窗口为滚动三十天」→「上一自然月」(周报模板「滚动七天」属周报面未动);wiki/podcast/乾婆月报.md 5 处(周期表/流程/数据基座/时间窗口/updated 刷 2026-10-26);自动审计体系.md 月报行 +1;change_log --record +1。
- 异常:①周报建链模板 L263「窗口为滚动七天」同型残留(周报侧,约束禁动)→ external_findings;②t_292bf8d6_月报③卡body样张.md L35 存量交付物含旧措辞(历史记录不回改)。
## 2026-10-26 t_887388f7 技能描述与周报窗口口径漂移收口
- 结论:做完——三处收口:①②两技能长跑判定位置描述改写为「判定唯一落点 kanban_cli_create.pick_max_runtime(双实现已消除:preset import 复用、fill 兜底与内核 create_task 补丁32 同源)」;③周报 cron prompt Step 1 口径「滚动 7 天窗口」统一为自然日(本期=触发日往前 7 个自然日 [触发日-7~触发日-1],ended_at 半开区间对齐条件写入 prompt),Step 2 ① 开场区间同改。
- 证据:jobs.json 备份 diff 非状态字段仅 prompt 一处(另 160 键全为 runner 状态漂移);prompt 读回 9 项校验全过、隔 tick 持久;category_defaults_check.py 全部一致;改动前备份 7 份(2 SKILL + jobs.json + 4 wiki)。
- 改动:kanban-worker-crash-triage/SKILL.md L313、kanban-category-constraints/SKILL.md L101、jobs.json 周报 prompt(hermes cron edit)、wiki/podcast/乾婆周报.md 4 处、自动审计体系.md 周报行、踩坑记录 +1、技术调研报告索引 +1、change_log --record +1。
- 异常:月报 cron e7968a90a49b 同型「滚动 30 天」口径漂移仍在(超本卡范围,external_findings);直改 jobs.json 被 runner 回写坑已入踩坑记录。
## 2026-10-26 t_27e67736 长跑影响面口径重算与卡 TTL 回填(t_82ac74fc §1.2 口径收口)
- 结论:做完——影响面按机制口径(pick_max_runtime 唯一实现、仅运维型判长跑)分品类重算:缺口 78(回填前)/77(回填后)、判定正确 311、显式人工值 158(NULL 142/2400 10/2700 4/3000 1/5400 1),与乾婆复算逐档吻合;旧 92/165/29 逐数对账(92=78+14 非运维型混入、165 系无源数字旧 out 实为 352=311+41、29=16+13 且漏统计 NULL 面);t_8822f1d2 回填 3600(乾婆批准)。
- 证据:deliverables/scan_impact3.out(1242 张分品类全量+差异逐卡明细);t_673ff8fc task_events(08:27 completed→09:00 archived 定位状态分层时点差);回填 changes()=1 读回 3600;VERIFY 实跑全过(1242/77/312/158/158/537)。
- 改动:t_82ac74fc 报告 §1.2 重写(备份 t_82ac74fc…md.bak-20261026-100231);kanban.db t_8822f1d2 rt 1800→3600;新增 deliverables/scan_impact3.py(import 唯一实现零副本);踩坑记录 +1;技术调研报告索引 +1。
- 异常:「待观察型」7 张锚点未注册于 category_defaults.json 五品类(建卡无 base 兜底/无 force_skills)→ external_findings;旧报告 §1.4/§5 旧口径数字按授权未逐处改写(§1.2 已加口径指针)。
## 2026-10-26 t_9a79df03 缓存命中率指标按付费免费通道分层统计
- 结论:做完——cost.cache_hit_rate 新增 cache_hit_rate_by_channel.paid/free 分层字段(判据单源 _is_free_model=FREE_MODELS 真源 AST+:free 后缀,未识别模型 fail-closed 归付费层),总指标口径不变;历史 111 行 --backfill-layers 定点回算(只增分层字段,其余字段零差异);周报 6de817dd8989/月报 e7968a90a49b prompt 口径段 + wiki_guardian 口径声明同步。
- 证据:10-23/24/25 对照 paid 95.44/95.20/96.83、free 85.77/86.69/85.90(付费≈96%、免费≈86% 与源卡预期吻合);两层合并==总指标恒等式 3/3 过;deliverables/t_9a79df03_缓存命中率分层统计.md。
- 改动:qianpo_metrics_collector.py(分层字段+_is_free_model 单源+--backfill-layers)/ wiki_guardian.py(口径声明)/ jobs.json 周报月报 prompt / t_21c9abe4_指标口径清单.md / 脚本系统 / 自动审计体系 / 踩坑记录 +1;qianpo_change_log --record 已登记。
- 异常:任务卡 10-23 读数 94.68 与台账现值 94.58 差 0.10——台账行当日 08:32 被既有 backfill 回刷(state.db 会话数据后续修正),非本卡改动;token_weekly_audit.py 周审计缓存口径(agent 维度)未分层,属范围外已挂 external_findings。
## 2026-10-26 t_38d4441b 自研判据夹具缺口盘点 v2(t_5394f594 验收退回重做)
- 结论:做完——四项失败表现逐条修正:①regression_v3.py 实测在位(/Users/mac/ruhua_workspace/breath_prompt_ab/,3671B,8/8 exit 0)「夹具失踪」证伪,P0 第 1 项改写为「散落非规范路径+无在位巡检」并降序;②判据全集 98 项逐项入表(原 63 行+末段 35 项),「63=全集」修正;③归类规则可复算:双向 19/单向 1/部分混合 16/零夹具 62=98,程序化复算一致;④VERIFY 五条全锚外部事实。
- 证据:deliverables/t_38d4441b_自研判据夹具缺口盘点_v2.md(五条 VERIFY 真跑全过);登记口径三态实测(登记条目/仅提及/未登记)。
- 改动:纯只读盘点零系统改动;踩坑记录 +1;技术调研报告索引 +1。
- 异常:21 个判据脚本无独立登记条目(登记缺口);横向建议 3 项(统一夹具规范/夹具在位巡检/长尾批量补)进 decisions_pending 待正生拍板。
## 2026-10-26 t_82ac74fc 长跑判定与建卡入口三处执行缺口收口
- 结论:做完——①长跑判定下沉唯一映射点 kanban_cli_create(pick_max_runtime 三通道,fill 兜底与 preset 口径合一),t_bc657ce6/t_a3ee2366 复算 3600 全过;②t_dea0aba6 补品类锚点、存量 74 张盘点(全 archived 零活跃面);③周报 cron 6de817dd8989 prompt 补超时形态机械分类判据(error 形态二分+统计源+时间窗)。
- 证据:deliverables/t_82ac74fc_长跑判定与周报口径收口.md(VERIFY 端到端真跑 ALL PASS);影响面 92/165/29/74 全量扫描 deliverables/scan_impact2.out;jobs.json diff 非状态字段仅 prompt 一处(备份 jobs.json.bak-20261026-083312~8c0c55c025-t_82ac74fc)。
- 改动:kanban_cli_create.py(pick_max_runtime/strip_inject_sections 下沉+fill 兜底走判定+无锚点 WARN)/ kanban_create_preset.py(删本地副本改 import 复用);周报 prompt +1 判据段;t_dea0aba6 body 补锚点;踩坑记录 2 条;脚本系统.md preset 条目同步;技术调研报告索引 +1。
- 异常:内核 kanban_create 工具路径(t_bc657ce6 实际来源)无长跑判定/锚点校验,上游内核不改(超本卡授权)→ decisions_pending 2 项(t_8822f1d2 回填 3600 与否、工具路径机器收口立项);kanban-worker-crash-triage/kanban-category-constraints 两技能「pick_max_runtime 在 preset」描述已过时(全局技能本会话禁编辑)→ external_findings+回流乾婆。
## 2026-10-26 t_d295e8dd 周报超时与缓存两项核查(B-1026-03/04)
- 结论:超时「差几秒」型 3/8 张全运维型、重跑均一次通过,其中 2 张按现行长跑词表应判 3600 实拿 1800(执行缺口),不建议按卡型一刀切放宽;缓存三连降主因=泡影全量切免费模型 nemotron-3.5-super-vl:free(86.03% vs deepseek 96.31%),碎片率上升非因果(直接拉低仅 0.010 个点)。
- 证据:deliverables/t_d295e8dd_周报超时与缓存核查报告.md(四条 VERIFY 真跑全过);周报口径反验 441/497 会话、95.73/96.73 命中率逐字一致。
- 改动:踩坑记录+2 条(VERIFY deny 误判 SQL >=、缓存命中率归因);技术调研报告索引+1 行;零配置改动。
- 异常:周报形态二分口径粗糙(4+4 实为 5+3)、t_dea0aba6 缺品类锚点——已写 external_findings。
## 2026-10-26 质量门禁「阻塞未回复」对已 done 卡误报判据修正(卡 t_171f3e41,运维型)
- 结论:做完——check_blocked_no_response() 增现状口径短路(status ∈ done/archived 不再判「阻塞未回复」),「blocked → 人工 complete(无 unblocked 事件)」合法闭环路径不再误报;未闭环任务原判据逐条保留(needs_input 未回复照报,不误放行)
- 证据:8 用例回归 ALL REGRESSION PASS(改前 A/D1 复现误报 FAIL、改后全 PASS;B/D2 真阴性照报);02:30 实案报告 ~/.hermes/reports/quality-flags/20261026_023041.json.processed(t_0f4b0f33 flag)取证;历史含该 flag 报告 3 份零触碰(零影响);真库只读核验 t_0f4b0f33 不报
- 改动:complete_quality_check.py(仅 check_blocked_no_response 函数体+docstring+文件头变更史;备份 ~/.hermes/backups/complete_quality_check.py.bak-20261026-023454~370037b141-t_171f3e41);新回归脚本 ~/.hermes/scripts/complete_quality_check_blocked_regress.py(全只读,VERIFY/EXPECT 见脚本头);自动审计体系.md「complete 质量扫描」段(含顺手按脚本实况修正过时项描述:历史四项→实存两项);全局时序关系图.md 完成链节点;踩坑记录.md 本条
- 异常:无。kanban-worker-crash-triage(L138「预期副作用」段)/ acceptance-mark-and-archiver-pitfalls(L483+ 误报处置段)两技能对本误报的描述现已过时(全局技能、本会话无 skill_manage 工具)→ 已写 metadata.external_findings 交技能维护渠道(同 t_26a6623d 先例)