eve-job-debugging
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
ChineseEve Job Debugging
Eve作业调试
CLI-Only Debugging
仅通过CLI调试
Debug via the Eve CLI exclusively. This replicates the client experience — clients don't have kubectl or host access.
Every debugging capability must be available through the CLI. If you find yourself needing system tools to diagnose a job issue, that's a gap in our CLI that should be fixed.
仅通过Eve CLI进行调试。 这复刻了客户端的使用体验——客户端没有kubectl或主机访问权限。
所有调试功能都必须能通过CLI使用。如果你发现需要借助系统工具来诊断作业问题,这说明我们的CLI存在需要修复的缺口。
Monitor
监控
- to stream logs.
eve job follow <id> - to wait on completion.
eve job wait <id> --timeout 300 --json - for the latest result.
eve job result <id> --format text
- :流式查看日志。
eve job follow <id> - :等待作业完成。
eve job wait <id> --timeout 300 --json - :获取最新结果。
eve job result <id> --format text
Diagnose
诊断
- for timeline and error summary.
eve job diagnose <id> - for attempts and phase.
eve job show <id> --verbose - for dependency blocks.
eve job dep list <id>
- :查看时间线和错误摘要。
eve job diagnose <id> - :查看尝试记录和阶段状态。
eve job show <id> --verbose - :查看依赖阻塞项。
eve job dep list <id>
Per-Job Harness Overrides
单作业Harness覆盖配置
When debugging unexpected harness behavior, suspect a per-job override before suspecting agent defaults. Jobs may carry inline overrides set at create time:
- — inline
--harness-override-file <path.json>bundle that wins over{harness, model?, reasoning_effort?, variant?, temperature?}.harness_profile - (repeatable) — per-job env values, may include
--env-override KEY=VALUEplaceholders resolved at spawn.${secret.KEY}
Both fields persist on the job record (, ) and on each attempt (, ). Inspect via and check the routing log entry on the attempt for the resolved (, , , or ). Missing-secret interpolation fails fast with .
harness_profile_overrideenv_overridesharness_profile_sourceharness_profile_hasheve job show <id> --jsonharness_profile_sourceagent_defaultstring_refinline_overrideworkflow_templateerror_code: missing_secret_override当调试异常的harness行为时,先怀疑单作业覆盖配置,而非Agent默认设置。作业在创建时可能携带内联覆盖配置:
- —— 内联的
--harness-override-file <path.json>配置包,优先级高于{harness, model?, reasoning_effort?, variant?, temperature?}。harness_profile - (可重复使用)—— 单作业环境变量值,可包含
--env-override KEY=VALUE占位符,在作业启动时解析。${secret.KEY}
这两个字段会保存在作业记录(、)和每次尝试记录(、)中。可通过查看,并检查尝试记录中的路由日志条目,确认解析后的(、、或)。缺失密钥的插值会快速失败,错误码为。
harness_profile_overrideenv_overridesharness_profile_sourceharness_profile_hasheve job show <id> --jsonharness_profile_sourceagent_defaultstring_refinline_overrideworkflow_templateerror_code: missing_secret_overrideStuck Jobs
卡住的作业
The orchestrator now self-heals from agent-runtime pod loss — these no longer leave jobs stuck:
- Pod death mid-execution: sweep reclaims active jobs whose attempts were externally finalized, releases limiter slots, and closes workflow roots.
recoverActiveJobsWithTerminatedAttempts - Graceful shutdown: agent-runtime preStop marks running attempts as and sets pod status to
pod_terminatedso no new routing lands on it.draining - Stale recovery: covers all assignee types (not just ), so agent-assigned jobs (e.g.
orchestrator,map-generator) are visible to the watchdog.pm-coordinator
If a job still appears stuck for >5 minutes in with no heartbeat, run and check pod status — if the pod is or missing, the next sweep will reclaim it.
activeeve job diagnose <id>draining编排器现在可以自动从Agent-runtime Pod丢失的状态中恢复——这类情况不再会导致作业卡住:
- 执行过程中Pod死亡:扫描会回收那些尝试被外部终止的活跃作业,释放限制器插槽,并关闭工作流根节点。
recoverActiveJobsWithTerminatedAttempts - 优雅关闭:Agent-runtime的preStop钩子会将运行中的尝试标记为,并将Pod状态设置为
pod_terminated,这样就不会有新的路由请求分配给它。draining - 过期恢复:覆盖所有分配者类型(不仅限于),因此Agent分配的作业(如
orchestrator、map-generator)会被监控进程检测到。pm-coordinator
如果作业在状态下超过5分钟仍无心跳,运行并检查Pod状态——如果Pod处于状态或已丢失,下一次扫描会回收该作业。
activeeve job diagnose <id>drainingEnv Gates and Ad-Hoc Agents
环境闸门与临时Agent
Env gates (project-scoped serialization) fire only for action jobs ( set: , , ). Ad-hoc agent runs that carry only are no longer serialized through the env mutex — multiple ad-hoc jobs in the same env now run in parallel. If you need exclusion, add an explicit .
action_typedeploybuildmigrateenv_nameaction_type环境闸门(项目级序列化)仅针对动作类作业触发(设置了:、、)。仅携带的临时Agent运行不再通过环境互斥锁进行序列化——同一环境中的多个临时作业现在可以并行运行。如果需要互斥,请显式添加。
action_typedeploybuildmigrateenv_nameaction_typeMulti-Attempt Agent Runs
多尝试Agent运行
The orchestrator emits on every attempt terminal state (success, failure, orchestrator error). Use this to drive learning-loop or post-session-review workflows. Carryover context written to agent memory (, , , , , ) is available to subsequent attempts of the same agent.
system.job.attempt.completedlearningsdecisionsrunbookscontextconventionsuser编排器会在每次尝试进入终端状态(成功、失败、编排器错误)时发出事件。可利用此事件驱动学习循环或会话后审查工作流。写入Agent内存的上下文(、、、、、)可用于同一Agent的后续尝试。
system.job.attempt.completedlearningsdecisionsrunbookscontextconventionsuserSystem health
系统健康
- to confirm the API is reachable.
eve system health
- :确认API是否可达。
eve system health