Commit Graph

213 Commits

Author SHA1 Message Date
iomgaa 16993ed362 style: consolidate inference stub, complete docstrings (algo #6) 2026-07-17 01:13:19 -04:00
iomgaa ea6bec5421 fix: clear gate-derived rows on step rerun (idempotency) 2026-07-17 00:57:53 -04:00
iomgaa 9e8a254fbb fix: gate orchestrator materialize leak + cancel-drain on abort (algo #6)
Codex 质量审 2 Critical:
- C001: 候选物化移入 try、成功一个登记一个,第 N 个题型物化失败时
  finally 仍清理前 N-1 个已建目录,不泄漏
- C002: gather 首异常(护栏 raise)后显式取消其余任务并排水,确保
  finally 删除候选目录时无在飞任务访问、事件循环无 pending task 警告;
  护栏中止整轮语义不变
- 新增 2 测试:部分物化失败清理 / 护栏 raise 取消收束不悬挂(wait_for 5s)

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-17 00:45:47 -04:00
iomgaa e8b66f85ab feat: continuous concurrent gate orchestrator (algo #6)
- validate_skills_concurrent: 多题型全部臂共享题槽并发编排,发射序 =
  题型 round-robin × 阶梯序(base 先 cand 后),终态统一组装 outcome,
  verdict None(全 INFRA)保留 RuntimeError 语义
- gate_evidence 列 block_idx → ladder_rank(阶梯序号,0-based);旧块路径
  _build_evidence_rows 仅键名同步(值仍为块号)保持落库兼容
- 新增 3 项编排测试:乱序到达前缀有序性/双题型隔离/全 INFRA raise

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-17 00:36:01 -04:00
iomgaa c61a6dac84 docs: soften slot fairness claim, complete docstrings (algo #6) 2026-07-17 00:28:25 -04:00
iomgaa 30c1cf10c0 fix: gate slot cancel-safety + post-inference freeze discard (algo #6)
Codex 质量审 4 项:推理后二次冻结检查(τ 后 in-flight 结果整体丢弃)、
acquire 取消回滚(半持有 permit 自动归还)、BoundedSemaphore 防静默扩容、
补取消恢复与冻结丢弃两个回归测试。
2026-07-17 00:25:18 -04:00
iomgaa 232afd525b feat: gate unit-arm tasks with question-slot gate (algo #6) 2026-07-17 00:13:51 -04:00
iomgaa 0a8e1ad18b docs: complete four-part docstrings for gate prefix section (algo #6) 2026-07-17 00:06:35 -04:00
iomgaa 1e92928d4e fix: lock all-INFRA contract, idempotency tests, tuple units (algo #6) 2026-07-17 00:00:56 -04:00
iomgaa 21c360bc87 feat: gate prefix-ordered consumption core (algo #6)
CE-Gate 语义修订获批:块序贯 → 阶梯序前缀逐对序贯。新增 GateSpec/_UnitSlot/
_GateRun 数据结构与 _advance_prefix 纯逻辑(乱序到达下统计严格按预声明阶梯序
消费,INFRA 剔除后重判防 continue 悬置,过线即冻结)。旧块路径共存,Task 6 删。
2026-07-16 23:44:32 -04:00
iomgaa 065c8ae1b9 fix: telemetry single persistent connection + lock (kill concurrent write lock) 2026-07-16 08:47:23 -04:00
iomgaa 6911c83d66 refactor: share INFRA stop-reason set from core.evolution 2026-07-16 07:19:31 -04:00
iomgaa b3ba11c7a5 fix: count gate INFRA guard numerator by unit not record 2026-07-16 07:16:33 -04:00
iomgaa ee69721ea3 fix: filter frozen pools by requested task_types subset 2026-07-16 07:13:31 -04:00
iomgaa e1f08dcd3b fix: count units not questions in trainability pre-flight; fail-fast when all types filtered 2026-07-16 06:45:16 -04:00
iomgaa 9be3bdb8eb feat: inject run_id as cache_salt for per-epoch resampling (algo #10) 2026-07-16 06:33:09 -04:00
iomgaa 58a0203522 perf: dedup holdout four-way eval (baseline derive, best_hard memo) 2026-07-16 06:31:00 -04:00
iomgaa 77fd35830c fix: idempotent _run_step (DELETE stale) + checkpoint after gate save 2026-07-16 06:27:38 -04:00
iomgaa efbdeb1647 fix: route None/degraded diagnoses to lapse; abort on high degrade rate 2026-07-16 06:24:11 -04:00
iomgaa caea9150b3 feat: pre-flight filter of untrainable task types before gate 2026-07-16 06:16:02 -04:00
iomgaa c44f6010eb fix: early_stop patience counts epochs not steps 2026-07-16 06:09:11 -04:00
iomgaa 25918a73ff fix: normalize non-scalar prediction; harden predictions insert 2026-07-16 06:06:58 -04:00
iomgaa 7d02cded99 fix: wrap diagnosis run_log with StepsJsonRunLog (restore algo #7 traces) 2026-07-16 06:05:55 -04:00
iomgaa 03337af8f8 fix: gate INFRA isolation edge cases (all-INFRA fail-loud, parse_error in guard) 2026-07-16 05:54:02 -04:00
iomgaa b307f51340 feat: --retry-uncertain re-diagnoses uncertain rows; fix docstring 2026-07-16 05:41:19 -04:00
iomgaa c68de849da fix: slow-update R2 dual_metric uses slow_candidate kind (not final) 2026-07-16 05:38:05 -04:00
iomgaa 1468a53b7a fix: read-only baseline queries skip _runs upsert (register_run flag) 2026-07-16 05:36:47 -04:00
iomgaa 96884dd149 fix: atomic writes for manifest/record_run/update_best (tmp+replace) 2026-07-16 05:34:45 -04:00
iomgaa d1516bf56b fix: isolate gate baseline-arm INFRA errors from BaselineCache (algo #6) 2026-07-16 05:33:21 -04:00
iomgaa 7cc6aa5b23 fix: reject REDIS_CACHE_TTL<=0 (kill implicit never-expire) 2026-07-16 05:25:36 -04:00
iomgaa 8f349c5c62 fix: make frozen product backup unique and atomic on --force 2026-07-16 05:12:08 -04:00
iomgaa a0c7e043e8 fix: validate global frozen pools baseline_run_id + sha256 on load 2026-07-16 05:05:15 -04:00
iomgaa 4d60a545f6 feat: seed carries frozen pools.json into training workspace 2026-07-16 05:02:16 -04:00
iomgaa a39846af6e feat: guard frozen split products against silent overwrite (--force) 2026-07-16 05:00:42 -04:00
iomgaa 5bb8319220 feat: tier-aware diag/val split with val-power repair (design 5.1) 2026-07-16 04:58:41 -04:00
iomgaa 6432ffef9a feat: add dedupe_per_question to extract_run_db (canonical 902->900) 2026-07-16 04:54:19 -04:00
iomgaa 232a56e826 fix: fail-loud on missing evolve/diagnose templates (no silent empty) 2026-07-16 04:43:22 -04:00
iomgaa 1108235818 refactor: drop dead prompt fields consolidate_system/span_eval_user 2026-07-16 04:42:26 -04:00
iomgaa a4c429b247 chore: snapshot in-progress question-gen work before preflight fixes 2026-07-16 04:12:21 -04:00
iomgaa 224bb25bb5 fix: load real tree_data for training-loop diagnosis (runner)
算法保真 §4.7#12(训练循环编排):仅将 _run_diagnosis 内 tree_data={} 替换为
按 batch question_ids 涉及 video 加载真实树注入 run_diagnosis,未改动三级嵌套/
慢更新/断点续训/gate 等编排逻辑。覆盖 question_ids=None 全量诊断与
question_ids=[...] batch 两条路径。
2026-07-15 23:02:17 -04:00
iomgaa 8dedd082ff fix: self-contained tree-inject test + fail-loud on missing question (review) 2026-07-15 22:48:37 -04:00
iomgaa 83056688cf fix: load real tree_data for offline diagnosis (video_split_cli) 2026-07-15 22:38:23 -04:00
iomgaa d6c595c4a4 fix: fail-loud on node without time info; anchor test store path 2026-07-15 22:16:39 -04:00
iomgaa 05294412df test: cover missing-id and non-list roots; drop unreachable empty-nodes guard 2026-07-15 22:11:36 -04:00
iomgaa e6adaad8b3 feat: add tree.json flattener for diagnosis ground_truth 2026-07-15 22:05:50 -04:00
iomgaa 8fef7ced42 fix: address whole-impl review (INFRA T0 rows, reproducible manifest, evolution_target report, dead config, canonical DRY)
C-1: persist_infra_t0_rows 补 INFRA/空预测错题的 T0 信号行(不进诊断故须单独落库),run_pipeline 加 Phase 0,dry-run 用假数据走通。
C-2: CLI 加 --generated-at,真实运行默认盖真实 UTC now,可显式固定以字节级复现 manifest。
I-1: coverage_report 增 evolution_target_distribution(T2 信号按 tool/skill/system 计数)。
I-2: 删除 PoolConfig 死字段 n_trainval/floor_k/epsilon/report_floor/val_wrong_min(grep 确认无消费者,视频级切分用独立 VideoSplitConfig/SplitBuildConfig/SelectConfig)。
I-3: 抽共享 load_canonical_predictions(db_path, run_id),CLI 与 build_split 共用;消除 canonical 取行 + correct 判定重复。
M-1: build_split docstring 注明 val_wrong_min-agnostic 契约(McNemar 护栏由 CLI 冻结后执行,Task 11 契约)。
2026-07-15 13:39:14 -04:00
iomgaa 02b8145b7f fix: fail loud on diag model fingerprint drift vs .env SEARCH_LLM_MODEL
Codex CHANGES_REQUESTED 复审:
- Critical:diag_fingerprint 用 config.diag.model,但 Phase 1 诊断 LLM 从 .env
  SEARCH_LLM_MODEL 构建,两者不一致会让信号以错误模型指纹落库,破坏可复现/
  resume/隔离。build_diagnosis_deps 新增 expected_model 参数,Phase 1 执行前
  fail loud 校验 config.model == settings.search_llm_model(附两值)。
- Minor:config/video_split.yaml diag.model 注释由 JUDGE_LLM_MODEL 更正为
  SEARCH_LLM_MODEL,与实现对齐。
- 补两个单测:模型不一致 fail loud + 缺凭证 fail loud。

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-15 13:20:51 -04:00
iomgaa 2844732126 refactor: self-contained two-phase video-split CLI entry
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-15 13:12:21 -04:00
iomgaa 6a21d80313 feat: add video-split config knobs and reproducible script 2026-07-15 12:54:25 -04:00
iomgaa 43d7346526 feat: wire end-to-end results-driven split with defensive asserts 2026-07-15 12:43:25 -04:00