commit
免费Create a well-formed git commit from current changes using session history for rationale and summary; use when asked to commit, prepare a commit message, or finalize staged work.
中文简介正在准备中。当前显示原文说明。
Investigate stuck runs and execution failures by tracing Symphony and Codex logs with issue/session identifiers; use when runs stall, retry repeatedly, or fail unexpectedly.
中文简介正在准备中。当前显示原文说明。
查看安装方法安装前可以查看交给 AI 代理的指令内容。
log/symphony.log
SymphonyElixir.Observability.LogFile (log/symphony.log).log/symphony.log*
issue_identifier: human ticket key (example: MT-625)issue_id: Linear UUID (stable internal ID)session_id: Codex thread-turn pair (<thread_id>-<turn_id>)elixir/docs/logging.md requires these fields for issue/session lifecycle logs. Use
them as your join keys during debugging.
issue_identifier first).session_id from matching lines.session_id across start, stream, completion/failure, and stall
handling logs.When verifying that the main Symphony service stays resident, do not treat a
background process launched from a transient tool shell as authoritative. For
example, nohup ./bin/symphony ... & inside exec_command may disappear when
that tool shell returns because the execution environment cleans up child
processes. That is not evidence that Symphony exited because the queue was
empty.
Use one of these verification modes instead:
./bin/symphony ... in a foreground long-running tool session and observe
at least two or three poll cycles before stopping it explicitly.Acceptable evidence for a healthy empty-queue resident service:
log/symphony.log* continues to record poll_cycle_completed status=okcandidate_count=0 still leads to later poll_cycle_started eventsIf a background process vanishes after the parent tool shell exits, first
classify it as a launch-method artifact. Only investigate supervisor or child
lifecycle failure after finding service-level evidence such as
service_stopped, child crash logs, a nonzero foreground exit, or missing
follow-up poll cycles while the parent shell is still alive.
# 1) Narrow by ticket key (fastest entry point)
rg -n "issue_identifier=MT-625" log/symphony.log*
# 2) If needed, narrow by Linear UUID
rg -n "issue_id=<linear-uuid>" log/symphony.log*
# 3) Pull session IDs seen for that ticket
rg -o "session_id=[^ ;]+" log/symphony.log* | sort -u
# 4) Trace one session end-to-end
rg -n "session_id=<thread>-<turn>" log/symphony.log*
# 5) Focus on stuck/retry signals
rg -n "Issue stalled|scheduling retry|turn_timeout|turn_failed|Codex session failed|Codex session ended with error" log/symphony.log*
issue_identifier=<KEY>.issue_id=<UUID>.Codex session started ... session_id=....Codex session completed, ended with error, or worker exit
lines.Issue stalled ... restarting with backoff.Codex session failed ....turn_failed, turn_cancelled, turn_timeout, or
ended with error.Agent task exited ... reason=....issue_identifier, issue_id, and
session_id.In Symphony, Codex session diagnostics are emitted into log/symphony.log and
keyed by session_id. Read them as a lifecycle:
Codex session started ... session_id=...session_idCodex session completed ..., orCodex session ended with error ..., orIssue stalled ... restarting with backoffFor one specific session investigation, keep the trace narrow:
session_id for the ticket.rg -n "session_id=<thread>-<turn>" log/symphony.log*Codex session failed ...).turn_* / ended with error).Issue stalled ... restarting with backoff).issue_identifier and issue_id from nearby lines to
confirm you are not mixing concurrent retries.Always pair session findings with issue_identifier/issue_id to avoid mixing
concurrent runs.
rg over grep for speed on large logs.log/symphony.log*) before concluding data is missing.elixir/docs/logging.md conventions.还没有评价。欢迎分享你的使用感受。
无需登录即可发表。欢迎分享使用感受、提问,或说明在哪些环境下无法运行。
还没有评论。来写第一条吧。
Create a well-formed git commit from current changes using session history for rationale and summary; use when asked to commit, prepare a commit message, or finalize staged work.
中文简介正在准备中。当前显示原文说明。
Create a well-formed repository commit from current changes using session history for rationale and summary; use when asked to commit, prepare a commit message, or finalize staged work.
中文简介正在准备中。当前显示原文说明。
Investigate stuck runs and execution failures by tracing Symphony agent-provider logs with issue/session identifiers; use when runs stall, retry repeatedly, or fail unexpectedly.
中文简介正在准备中。当前显示原文说明。
Land a PR by monitoring conflicts, resolving them, waiting for checks, and squash-merging when green; use when asked to land, merge, or shepherd a PR to completion.
中文简介正在准备中。当前显示原文说明。
Use Symphony's generated typed Linear tools for tracker workflow actions. Provides Linear capability semantics and workpad rules.
中文简介正在准备中。当前显示原文说明。
Pull latest origin/main into the current local branch and resolve merge conflicts (aka update-branch). Use when Codex needs to sync a feature branch with origin, perform a merge-based update (not rebase), and guide conflict resolution best practices.
中文简介正在准备中。当前显示原文说明。