Daily Report — 2026-06-12

Daily Overview

  • 完成工作: 为 ErrorRecoveryBenchmark 实现了 sampled eval set 和 Fisher exact testing,并对 Gadget research module 应用了 58 个 bug 的修复计划。
  • 实施方式: 使用了 Claude Code (Opus 4.8)、test-first development、multi-agent workflow orchestration 以及对关键修复进行了 manual verification。
  • 影响: 为核心 recovery hypothesis 建立了统计学有效的评估体系,并消除了 research pipeline 中导致 crash/resilience failures 的根本原因。

使 ErrorRecoveryBenchmark 评估协议与权威 spec (M16) 保持一致,并修复了 Gadget research module 中的 58 个 bug。

Tasks

Architecture & Strategy

  • ErrorRecoveryBenchmark Eval Protocol Alignment — 构建了 eval_set_sampler.py 和 eval_metrics.py 以实现 M16:从 135k scenes 中进行 stratified sampling,针对 recovery vs normal SR 进行 Fischer exact testing,并进行 per-RBG aggregation。在无 regression 的情况下集成了 4 个现有的 eval scripts。
  • Gadget Research Module Bug Remediation — 执行了修复 58 个 bug (1 HIGH, 23 MEDIUM, 34 LOW) 的计划,重点在于 common/llm.py 中的 exception handling、cache poisoning 以及 configuration mismatches。
  • 🔄 ErrorRecoveryBenchmark Tianhe2 Deployment — 提交了更改,push 到 GitHub,在 Tianhe2 上识别了约 135k 的 validation scene pool,并启动了 background sampler execution。

Implementation & Fixes

  • Gadget Entry Point Fix (Item 18) — 通过更新 main.py 的 sys.path handling,修复了损坏的 ‘python -m research.scout’ entry point。
  • Documentation Sync — 更新了 docs/ecl/gadget-features.yaml 以反映强制 English system prompt 的移除,并修正了 DEFAULT_LANGUAGE notes。

Problems & Solutions

Critical Issues

1. research module 中的 HIGH bug:call_llm_raw 允许 TimeoutExpired 和其他 exceptions 逃逸,导致整个 pipeline crash。

Solution: 将所有 backend calls 封装在 try/except block 中,并按照文档约定的 contract 将其转换为 RuntimeError。

Key Insight: Shared utility functions 必须严格遵守其 error contracts;partial exception handling 是有风险的。

2. Cache poisoning:失败的 LLM results 被保存到了没有 TTL 的 permanent caches 中,导致重新运行时出现持续性失败。

Solution: 在 cache writes 之前增加了 quality gates (_screening_is_usable/_deep_eval_is_usable) 并使错误的 entries 失效。

Key Insight: Caches 在持久化之前必须验证数据完整性;failure states 绝不能在未经校验的情况下被缓存。

General Issues

3. 由于 sys.path resolution issues,entry point ‘python -m research.scout’ 失败。

Solution: 更新了 main.py 以显式地将 research/ 和 repo root 同时添加到 sys.path 中。

Key Insight: 嵌套 package 中的 module entry points 通常需要显式的 path manipulation 来进行 import resolution。

4. Gadget project logs 中显示 model selection failure ‘claude-fable-5’ not found。

Solution: 用户切换到 Opus 4.8 解决了该问题,确认了该 model name 是无效或无法访问的。

Key Insight: 在大规模使用前通过 /model command 验证 model names;某些 preview/internal model names 可能已被弃用。

5. Workflow 遗漏了将 Item 18 (entry point fix) 分配给一个 file-group agent。

Solution: 通过 manual override 和 direct edit 填补了 automated workflow 中的空白。

Key Insight: Automated multi-agent workflows 需要进行 manual auditing 以确保 scope completeness;edge cases 可能会被忽略。

Human vs AI Approaches

Strategic Level

Evaluation Protocol Misalignment

Role Approach
Human 用户澄清了权威协议 (M16) 要求在 sampled set 上进行 SR + Fischer testing,拒绝了 AI 最初对 gap/CI 等 paper metrics 的关注。
AI AI 最初专注于来自论文的 statistical methods (Bootstrap CI, gap),忽略了特定 sampling strategy 的 operational requirement。

Difference Analysis: Human 基于项目文档 (Panorama Spec) 提供了 strategic direction,纠正了 AI 过度依赖 academic literature 而非 internal specs 的倾向。

Implementation Level

Default Language Intent

Role Approach
Human 用户指定 Chinese 是预期的 default language,尽管代码默认使用 English。
AI AI 最初注意到了这种不一致,但将其作为单独的 item 来修复 code mismatch,这可能会延迟核心意图的解决。

Difference Analysis: Human 直接建立了 business rule;AI 将其视为 configuration consistency issue 而非 primary directive。

AI Limitations

Critical Limitations

  • AI 最初通过关注 academic paper metrics 而非 internal M16 spec,误解了 evaluation protocol requirements。

General Limitations

  • AI 在 multi-agent workflow assignment 中遗漏了 Item 18 (entry point fix),需要 manual intervention 来完成 bug list。
  • Model name ‘claude-fable-5’ 是无效/未知的,导致初始 Gadget project logs 中立即发生失败。

Learnings

Key Learnings

  • Cache poisoning 是一个关键的 resilience issue;failure results 绝不能在未经验证的情况下持久化到 permanent caches 中。
  • Shared library functions (如 common/llm.py) 必须强制执行严格的 error contracts;partial exception handling 会导致 cascading failures。

Practical Learnings

  • 用于 bug remediation 的 multi-agent workflows 虽然高效,但需要 manual scope auditing 来捕捉未分配的 items。

Conversation Summaries

ErrorRecoveryBenchmark

✅ Eval Protocol Implementation 03:13:54.085 | claude_code 用户指示 AI 使用 Fischer exact testing 和来自 135k validation scenes 的 stratified sampling,使 evaluation metrics 与 M16 protocol 对齐。AI 实现了 eval_set_sampler.py 和 eval_metrics.py,更新了 4 个现有 scripts,并验证所有 tests 通过 (55/55)。

• Tianhe2 Deployment and Sampling 03:20:00.994 | claude_code AI 提交了更改,push 到 GitHub,识别了 Tianhe2 上的 ~135k validation pool,并启动了 background sampling process。会话在监控 long-running sampler 时结束。

Gadget

✅ Research Module Bug Remediation 03:09:06.315 | claude_code AI 为 research module 执行了 58-bug remediation plan,包括修复 common/llm.py 中的 high-severity exception handling、解决 cache poisoning issues 以及修正 configuration mismatches。使用了 multi-agent workflow,随后进行了 manual verification 并完成了遗漏的 entry point fix。

Token Usage

AI Usage · 2026-06-12 Claude Code + Codex
Total cost
$91.22
Total tokens
90M
Output tokens
585K
Cache read
92.9%
Cost split Claude Code $72 · Codex $19
Token character Cache reads 92.9% · Active 7.1%

Most token volume came from cache reads.