Multiple fixes for code review automation pipeline #134
No reviewers
Labels
No labels
bug
claude-failed
claude-pr
claude-queue
claude-working
epic
feature
interactive
portal
triaged
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference: shad0w/pelagia-portal#134
Loading…
Add table
Reference in a new issue
No description provided.
Delete branch "feat/pr-review-watcher-followups"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
feat(automation): one-command updater for the deployed PR-review watcher
update-pr-review-watcher.sh refreshes the deployed script from the repo via a
dedicated self-update checkout (~/pr-review-watcher/.src) that never races the
issue watcher's work clone. Reads the live config for auth, never clobbers the
config (real token), and self-updates. Optional ref arg for pre-merge testing.
fix(automation): bound + detach the Claude run so a hang can't wedge or stick
First live run on PR #126 left the foreground shell stuck: Claude pushed the
commit itself and then did not exit, so the supervisor code after it (push +
ack + handled marker) never ran. Under cron that also holds the flock lock,
freezing every later run, and the comment never gets marked handled (so it
would be re-processed forever).
setsid timeout -k 30s "$CLAUDE_TIMEOUT"(default 30m).
setsiddetaches from the controlling terminal so a lingeringchild can't stick an interactive run;
timeoutreturns control to thesupervisor, which still pushes any commits (idempotent if Claude pushed) and
writes the handled marker. A timed-out run (rc=124) is logged, not fatal.
issue watcher's 3100, and reap it after each run -- no cross-watcher kill.
Adds claudeTimeout + devPort to the example config and documents both.
Co-Authored-By: Claude Opus 4.8 noreply@anthropic.com