eve-job-debugging について
eve-job-debuggingは、Eveを使う開発者向けに、Eve CLIでジョブを監視・診断するスキルです。ホストやシステムツールに頼らず、ジョブの状態、上書き設定、停止したジョブの復旧、複数回の実行を扱います。
主な機能
- 01CLIによるジョブ監視
- 02タイムラインとエラー概要の確認
- 03ハーネスと環境の上書き設定の確認
- 04停止したジョブの復旧に関する診断
- 05実行イベントとコンテキストの引き継ぎ
活用シーン
- 01ログをストリーミングし完了を待つ
- 02失敗や依存関係によるブロックの調査
- 03ハーネスの挙動が異なる場合に上書き設定を確認
- 04ハートビートのない実行中ジョブを診断
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ incept5/ eve-skillpacks --skill eve-job-debuggingインストール後、Claude Code で/eve-job-debuggingを入力して読み込まれたか確認します。
詳細
Eve ジョブのデバッグ
CLI のみでのデバッグ
デバッグには Eve CLI のみを使用してください。 これにより、クライアントでの操作を再現できます。クライアントは kubectl やホストへのアクセス手段を持っていません。
デバッグ機能はすべて CLI から利用できる必要があります。ジョブの問題を診断するためにシステムツールが必要になった場合は、CLI に不足している機能があるため、修正してください。
モニタリング
eve job follow <id>でログをストリーミングします。eve job wait <id> --timeout 300 --jsonで完了を待ちます。eve job result <id> --format textで最新の結果を確認します。
診断
eve job diagnose <id>でタイムラインとエラーの概要を確認します。eve job show <id> --verboseで試行とフェーズを確認します。eve job dep list <id>で依存関係によるブロックを確認します。
ジョブごとのハーネスのオーバーライド
予期しないハーネスの動作をデバッグする場合は、エージェントのデフォルト設定を疑う前に、ジョブごとのオーバーライドを疑ってください。ジョブには、作成時に設定されたインラインオーバーライドが含まれていることがあります。
--harness-override-file <path.json>—harness_profileより優先される、インラインの{harness, model?, reasoning_effort?, variant?, temperature?}バンドルです。--env-override KEY=VALUE(繰り返し指定可能)— ジョブごとの環境変数の値です。スポーン時に解決される${secret.KEY}プレースホルダーを含めることができます。
どちらのフィールドもジョブレコード(harness_profile_override、env_overrides)と各試行(harness_profile_source、harness_profile_hash)に保持されます。eve job show <id> --json で確認し、試行のルーティングログエントリーで、解決済みの harness_profile_source(agent_default、string_ref、inline_override、workflow_template)を確認してください。シークレットの補間に失敗すると、error_code: missing_secret_override で即座にエラーになります。
停滞したジョブ
オーケストレーターは、エージェントランタイムの Pod の消失から自動的に復旧するようになりました。これにより、以下のケースでジョブが停滞することはなくなります。
- 実行中に Pod が停止した場合:
recoverActiveJobsWithTerminatedAttemptsのスイープ処理が、試行が外部で終了処理されたアクティブなジョブを回収し、リミッタースロットを解放して、ワークフローのルートを終了します。 - 正常なシャットダウン:agent-runtime の preStop が実行中の試行を
pod_terminatedとしてマークし、Pod のステータスをdrainingに設定して、新しいルーティングがその Pod に割り当てられないようにします。 - 古いジョブの復旧:対象は
orchestratorだけでなく、すべての担当者タイプです。そのため、エージェントに割り当てられたジョブ(例:map-generator、pm-coordinator)もウォッチドッグから確認できます。
ジョブがハートビートなしで active のまま 5 分以上停滞している場合は、eve job diagnose <id> を実行し、Pod のステータスを確認してください。Pod が draining または存在しない場合は、次のスイープで回収されます。
環境ゲートとアドホックエージェント
環境ゲート(プロジェクト単位の直列化)が適用されるのは、アクションジョブ(action_type に deploy、build、migrate のいずれかが設定されているジョブ)のみです。env_name だけを持つアドホックなエージェント実行は、環境ミューテックスを介して直列化されなくなりました。同じ環境内の複数のアドホックジョブが並行して実行されます。排他制御が必要な場合は、明示的に action_type を追加してください。
複数回試行するエージェント実行
オーケストレーターは、各試行の終端状態(成功、失敗、オーケストレーターエラー)で system.job.attempt.completed を出力します。これを使って、学習ループやセッション後レビューのワークフローを実行できます。エージェントメモリ(learnings、decisions、runbooks、context、conventions、user)に書き込まれた引き継ぎコンテキストは、同じエージェントの後続の試行で利用できます。
システムの健全性
eve system healthで API に接続できることを確認します。