chore(fix-sentry): add daemon script and single-issue mode#1759
Conversation
…e mode - Add scripts/fix-sentry-daemon.sh: polls Sentry API, launches one Claude process per issue in isolated git worktrees - Remove auto-merge from fix-sentry skill (delegated to pr-auto-merge) - Add single-issue mode to skill (issue_url= parameter, skips batch triage) - Auto-read Sentry auth token from ~/.claude.json MCP config - Add stop command: ./scripts/fix-sentry-daemon.sh stop - Mark processed before launch to prevent re-processing on restart - Improved PR dedup check using branch name matching
86a0d86 to
fa42e58
Compare
Code Review:chore(fix-sentry): add daemon script and single-issue mode (#1759)变更概述本 PR 包含三处独立改动:① 从 方案评估结论:✅ 方案合理 守护进程设计合理:锁文件防止重复启动、worktree 隔离避免主目录干扰、 问题清单🔵 LOW — 守护进程在 Claude 完成前即标记为已处理文件: 问题代码: # Mark as processed BEFORE launching Claude (so daemon restart won't re-process)
mark_processed "$issue_id"问题说明:若 Claude 进程因 worktree 创建失败、网络中断等原因未能成功创建 PR,该 issue 已被标记为已处理,7 天内不会重试。当前代码在 worktree 创建失败时会 修复建议:将 git -C "$REPO_ROOT" worktree add "$WORKTREE_DIR" origin/main --detach 2>/dev/null || {
log " [${short_id}] Failed to create worktree, skipping"
continue
}
# Mark as processed only after worktree is ready
mark_processed "$issue_id"🔵 LOW — readFileBuffer 测试缺少 ENOENT 和正常读取用例文件: 问题说明: 汇总
结论✅ 批准合并 — 无阻塞性问题,两处 LOW 问题均为边缘情况,不影响主流程正确性。 本报告由本地 |
|
✅ 已自动 review,无阻塞性问题,正在触发自动合并。 |
Summary
scripts/fix-sentry-daemon.sh: daemon that polls Sentry API and launches one Claude process per issue in isolated git worktreesissue_url=parameter, skips batch triage)Key changes
~/.claude.jsonMCP config./scripts/fix-sentry-daemon.sh stopto cleanly kill daemon + all child processes< /dev/nullon claude subprocess to prevent stdin leak from while-read loopTest plan
./scripts/fix-sentry-daemon.shand verify it fetches issues./scripts/fix-sentry-daemon.sh stopkills all processes