claude exits rc=1 at finalization on porksicle.com#118 — same crash as igor#334, now on a second repo #345

Closed
opened 2026-07-04 07:03:05 +00:00 by igor · 1 comment
Collaborator

The known "claude exits rc=1 at finalization" failure (open issue is scoped to igor#334) is not issue-specific: it just abandoned work on a different repo, joshtronic/porksicle.com#118, on two consecutive ticks. In both runs claude completed the actual fix (edited game.js, tests/verify/lint green, security review clean) and crashed with rc=1 immediately after the /security-review finalization step, so ship-safety refused to commit and the issue is now blocked.

This is new signal beyond the existing igor#334 ticket: the crash reproduces across repos at the same finalization stage, so the root cause is systemic (harness/finalization), not tied to one issue. The fix(observability): preserve claude's stream on a nonzero exit commit is working (streams were preserved to crash-logs) but does not address the rc=1 crash itself.

Tick 1 (01:18–01:25):

Jul 04 01:25:02 igor tick.sh[1081101]: [agent] crash: claude exited rc=1 (tier-1-issue); stream preserved to /home/igor/.local/state/agent/crash-logs/20260704T012502-rc1-tier-1-issue for post-mortem
Jul 04 01:25:02 igor tick.sh[1081101]: [agent] claude exited 1 (elapsed 382s)
Jul 04 01:25:02 igor tick.sh[1081101]: [agent] ship-safety: claude exited 1 mid-run -- NOT committing partial worktree (1 dirty file(s)); re-queuing
Jul 04 01:25:03 igor tick.sh[1081101]: [agent] outcome: no work produced (elapsed 382s)

Tick 2 (01:27–01:33):

Jul 04 01:33:49 igor tick.sh[1084318]: [agent] crash: claude exited rc=1 (tier-1-issue); stream preserved to /home/igor/.local/state/agent/crash-logs/20260704T013349-rc1-tier-1-issue for post-mortem
Jul 04 01:33:49 igor tick.sh[1084318]: [agent] claude exited 1 (elapsed 369s)
Jul 04 01:33:49 igor tick.sh[1084318]: [agent] ship-safety: claude exited 1 mid-run -- NOT committing partial worktree (1 dirty file(s)); re-queuing
Jul 04 01:33:50 igor tick.sh[1084318]: [agent] outcome: blocked (repeated noop, prior count: 1)

Both crashes land right after the security-review Skill / ReportFindings — the last log lines before each rc=1 are the security-review invocation, strongly implicating the finalization path.

Fixed looks like: the finalization/security-review step no longer exits rc=1 after a clean run; completed fixes get committed and a PR opens instead of being re-queued/blocked. Ideally the existing igor#334 issue is re-scoped to reflect this is a generic finalization crash (crash-log post-mortems at 20260704T012502 and 20260704T013349 should show the exact failing tool/step).


service: agent.service
severity: medium
window: 2026-07-04 01:00-02:00 (filed by the hourly logwatch pass)

The known "claude exits rc=1 at finalization" failure (open issue is scoped to `igor#334`) is **not issue-specific**: it just abandoned work on a different repo, `joshtronic/porksicle.com#118`, on two consecutive ticks. In both runs claude completed the actual fix (edited `game.js`, tests/verify/lint green, security review clean) and crashed with rc=1 immediately after the `/security-review` finalization step, so ship-safety refused to commit and the issue is now `blocked`. This is new signal beyond the existing igor#334 ticket: the crash reproduces across repos at the same finalization stage, so the root cause is systemic (harness/finalization), not tied to one issue. The `fix(observability): preserve claude's stream on a nonzero exit` commit is working (streams were preserved to crash-logs) but does not address the rc=1 crash itself. Tick 1 (01:18–01:25): ``` Jul 04 01:25:02 igor tick.sh[1081101]: [agent] crash: claude exited rc=1 (tier-1-issue); stream preserved to /home/igor/.local/state/agent/crash-logs/20260704T012502-rc1-tier-1-issue for post-mortem Jul 04 01:25:02 igor tick.sh[1081101]: [agent] claude exited 1 (elapsed 382s) Jul 04 01:25:02 igor tick.sh[1081101]: [agent] ship-safety: claude exited 1 mid-run -- NOT committing partial worktree (1 dirty file(s)); re-queuing Jul 04 01:25:03 igor tick.sh[1081101]: [agent] outcome: no work produced (elapsed 382s) ``` Tick 2 (01:27–01:33): ``` Jul 04 01:33:49 igor tick.sh[1084318]: [agent] crash: claude exited rc=1 (tier-1-issue); stream preserved to /home/igor/.local/state/agent/crash-logs/20260704T013349-rc1-tier-1-issue for post-mortem Jul 04 01:33:49 igor tick.sh[1084318]: [agent] claude exited 1 (elapsed 369s) Jul 04 01:33:49 igor tick.sh[1084318]: [agent] ship-safety: claude exited 1 mid-run -- NOT committing partial worktree (1 dirty file(s)); re-queuing Jul 04 01:33:50 igor tick.sh[1084318]: [agent] outcome: blocked (repeated noop, prior count: 1) ``` Both crashes land right after the security-review Skill / `ReportFindings` — the last log lines before each rc=1 are the security-review invocation, strongly implicating the finalization path. **Fixed looks like:** the finalization/security-review step no longer exits rc=1 after a clean run; completed fixes get committed and a PR opens instead of being re-queued/blocked. Ideally the existing igor#334 issue is re-scoped to reflect this is a generic finalization crash (crash-log post-mortems at `20260704T012502` and `20260704T013349` should show the exact failing tool/step). --- service: agent.service severity: medium window: 2026-07-04 01:00-02:00 (filed by the hourly logwatch pass) <!-- agent:logwatch -->
igor added spent time 2026-07-04 07:03:06 +00:00
1 minute 40 seconds
Author
Collaborator

Closing as superseded noise (CoS cleanup). Same root cause as #342 — the 50-turn cap killing a completed+verified fix (here porksicle#118, which was done + Playwright-verified before capping). Fixed at the source by --max-turns 100 in #344; porksicle#118 will re-run clean once that merges. The cross-repo repro was useful signal — captured in #344.

Closing as superseded noise (CoS cleanup). Same root cause as #342 — the 50-turn cap killing a completed+verified fix (here porksicle#118, which was done + Playwright-verified before capping). Fixed at the source by `--max-turns 100` in #344; porksicle#118 will re-run clean once that merges. The cross-repo repro was useful signal — captured in #344.
igor closed this issue 2026-07-04 14:23:53 +00:00
Sign in to join this conversation.
No milestone
No assignees
1 participant
Notifications
Total time spent: 1 minute 40 seconds
igor
1 minute 40 seconds
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
joshtronic/igor#345
No description provided.