mcpField
E
eve-job-debugging

eve-job-debugging

github.com/incept5エージェントワークフロー0312 回インストール17 週間前に更新
リポジトリ

eve-job-debugging について

eve-job-debuggingは、Eveを使う開発者向けに、Eve CLIでジョブを監視・診断するスキルです。ホストやシステムツールに頼らず、ジョブの状態、上書き設定、停止したジョブの復旧、複数回の実行を扱います。

主な機能

  1. 01CLIによるジョブ監視
  2. 02タイムラインとエラー概要の確認
  3. 03ハーネスと環境の上書き設定の確認
  4. 04停止したジョブの復旧に関する診断
  5. 05実行イベントとコンテキストの引き継ぎ

活用シーン

  1. 01ログをストリーミングし完了を待つ
  2. 02失敗や依存関係によるブロックの調査
  3. 03ハーネスの挙動が異なる場合に上書き設定を確認
  4. 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 に接続できることを確認します。

コメント