Skip to content

v2.43.0

Latest

Choose a tag to compare

@satoh-y-0323 satoh-y-0323 released this 03 Jul 09:01

変更

tier-routing 学習シグナルの客観化と bandit のイベントログ導出化(フェーズ2.5)

v2.42.0 ソフト適用の実運用で確定した 2 つの構造問題(escalation×ソフト適用による sonnet 探索閉塞デッドロック・レビュー指摘由来の失敗シグナルが能力/難度/レビュワー厳しさの混合物になる問題)を解消します。

  • 失敗シグナルの客観化: bandit と escalation の failure rate に集計されるのは BANDIT_GATES(D-2.5 / D-3 / D-5 / D-2.5-stuck)の客観ゲートのみ。E-1/E-2 レビュー指摘由来の記録はイベントログとして保存を継続しつつ、集計からは成功・失敗とも対称に除外します(developer の仕事は「動く実装」であり「レビュワーに指摘されない実装」ではない、というシグナル哲学)。
  • bandit のイベントログ導出化: read_agent_tier_paramsagent_outcomes イベントログからの導出集計になりました。シグナル定義の変更が過去ログへ遡及適用されるため、今後の調整で学習データのリセットが不要になります。
  • 失敗率の時間ベース窓: 「直近 N 件」から時間窓(C3_FAILURE_WINDOW_DAYS・既定 14 日)へ。古い失敗が失効 → サンプル不足で escalation 停止 → 敗者復活が自然に働きます(sonnet 閉塞の解消を実機確認済み)。
  • stuck failure の新設: dev-workflow D-2.5 が debug-needed-*.md 検出時に D-2.5-stuck gate で developer failure を記録します。

破壊的変更

  • 旧学習テーブル agent_tier_bandit を DROP(migration 005 が c3 update 後の session 開始時に自動適用)。累積 α/β は agent_outcomes からの導出に置き換わるため学習データ自体は失われません
  • src/c3/db.pyupdate_agent_tier_params を削除
  • v2.41.0 で deprecated 化したシム 5 関数を削除: read_tier_params / read_tier_failure_rate / update_tier_params / record_tier_recent_outcome / sync_tier_bandit_cost(予告どおりの削除)。
  • read_agent_failure_rate のシグネチャ変更: last_nwindow_days

後方互換

read_agent_tier_params の戻り値契約・環境変数群・LEARNING_THRESHOLD=30・cost-aware tie-break・ソフト適用(v2.42.0)のロジックは不変。新 env C3_FAILURE_WINDOW_DAYS は任意設定です。集計対象 gate の限定により c3 tier stats の trials 表示は従来より少なくなります(正しいデータでの数え直し・意図した挙動)。

🤖 Generated with Claude Code