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.
インストール方法を見るインストールする前に、エージェントに与えられる指示の中身を確認できます。
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 the latest remote base branch into the current local branch and resolve merge conflicts (aka update-branch). Use when the agent needs to sync a feature branch with origin, perform a merge-based update (not rebase), and guide conflict resolution best practices.
日本語の概要は準備中です。原文の説明を表示しています。