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 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.
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.