STEP 1572 — Eval Fallback Hardening (ARIS learn-in)

STEP 1572 · Claude API second-opinion 生産 pipeline wire · Rei-AIOS · 2026-08-30 · commit 87d96d255

要旨

2026-08-29 radar で wanshuiyin/Auto-claude-code-research-in-sleep (ARIS ★15419、 Δ+28/day) 検出、 concept 比較で ARIS auto-review-loop が **cross-family reviewer 強制** (Anthropic → Codex) を default 化 と 判明 → Rei の Claude API second-opinion pipeline に **3 gap** (hardcoded model ID + silent fallback + fallback ledger 無し) を 検知、 STEP 1336 教訓 (success signal decoupled from operational state) 適用で fix。

3 fix

FixBeforeAfter
(a) model IDhardcoded claude-sonnet-4-20250514 (404 not_found_error 実測)env var INVENTION_EVAL_MODEL (default claude-sonnet-5)
(b) fallback surfacesilent fallback (evaluatedBy=local-heuristic と 意図的 local が区別不能)this.log warn + evaluatedBy subtype 3 種 (fallback-no-api-key / fallback-api-http-error / fallback-api-exception)
(c) obligations ledgerfallback 発生 record なしdata/invention/eval-fallback-log-<date>.json append (ARIS integrity-forensics ledger 軽量移植)

Test coverage (32/32 PASS)

test/step1572-eval-fallback-hardening-test.ts — 8 section:

  1. useClaudeAPI=true + no API key → all tagged fallback-no-api-key + ledger apiKeySet=false
  2. useClaudeAPI=false → 意図的 local-heuristic + no ledger
  3. HTTP 404 error → fallback-api-http-error + ledger reason api-http-404
  4. Network exception → fallback-api-exception + ledger
  5. INVENTION_EVAL_MODEL env var respected in request body + log
  6. Default model = claude-sonnet-5 when env unset
  7. Ledger append (2 runs same day → 2 entries)
  8. Corrupted ledger file → recover (fresh start、 don't crash)

Regression: STEP 237 (33/33) + STEP 1253 (30/30) clean。 STEP 1019 の 1 FAIL は pre-existing (別 tab merge 進行 副作用、 私 scope 外)。

Honest scope

Related