@jonit-dev/night-watch-cli 1.8.10-beta.8 → 1.8.12-beta.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (136) hide show
  1. package/dist/cli.js +113 -29
  2. package/dist/commands/init.d.ts.map +1 -1
  3. package/dist/commands/init.js +3 -1
  4. package/dist/commands/init.js.map +1 -1
  5. package/dist/commands/review.d.ts.map +1 -1
  6. package/dist/commands/review.js +48 -7
  7. package/dist/commands/review.js.map +1 -1
  8. package/dist/commands/run.d.ts.map +1 -1
  9. package/dist/commands/run.js +8 -6
  10. package/dist/commands/run.js.map +1 -1
  11. package/dist/scripts/night-watch-audit-cron.sh +6 -0
  12. package/dist/scripts/night-watch-cron.sh +30 -9
  13. package/dist/scripts/night-watch-helpers.sh +77 -5
  14. package/dist/scripts/night-watch-pr-reviewer-cron.sh +176 -43
  15. package/dist/scripts/night-watch-qa-cron.sh +6 -0
  16. package/dist/templates/night-watch.config.json +21 -1
  17. package/dist/web/assets/index-B6E6kOoR.js +406 -0
  18. package/dist/web/assets/index-C3BV1Hoa.js +406 -0
  19. package/dist/web/assets/index-DIMUXIP8.css +1 -0
  20. package/dist/web/assets/index-Ds8OqaCa.css +1 -0
  21. package/dist/web/assets/index-NR27JE3b.js +406 -0
  22. package/dist/web/index.html +2 -2
  23. package/package.json +1 -1
  24. package/dist/cli.d.ts +0 -3
  25. package/dist/cli.js.map +0 -1
  26. package/dist/commands/analytics.d.ts +0 -14
  27. package/dist/commands/analytics.js +0 -69
  28. package/dist/commands/analytics.js.map +0 -1
  29. package/dist/commands/audit.d.ts +0 -19
  30. package/dist/commands/audit.js +0 -144
  31. package/dist/commands/audit.js.map +0 -1
  32. package/dist/commands/board.d.ts +0 -9
  33. package/dist/commands/board.js +0 -702
  34. package/dist/commands/board.js.map +0 -1
  35. package/dist/commands/cancel.d.ts +0 -46
  36. package/dist/commands/cancel.js +0 -239
  37. package/dist/commands/cancel.js.map +0 -1
  38. package/dist/commands/cron.d.ts +0 -8
  39. package/dist/commands/cron.js +0 -134
  40. package/dist/commands/cron.js.map +0 -1
  41. package/dist/commands/dashboard/tab-actions.d.ts +0 -10
  42. package/dist/commands/dashboard/tab-actions.js +0 -247
  43. package/dist/commands/dashboard/tab-actions.js.map +0 -1
  44. package/dist/commands/dashboard/tab-config.d.ts +0 -21
  45. package/dist/commands/dashboard/tab-config.js +0 -874
  46. package/dist/commands/dashboard/tab-config.js.map +0 -1
  47. package/dist/commands/dashboard/tab-logs.d.ts +0 -10
  48. package/dist/commands/dashboard/tab-logs.js +0 -202
  49. package/dist/commands/dashboard/tab-logs.js.map +0 -1
  50. package/dist/commands/dashboard/tab-schedules.d.ts +0 -21
  51. package/dist/commands/dashboard/tab-schedules.js +0 -320
  52. package/dist/commands/dashboard/tab-schedules.js.map +0 -1
  53. package/dist/commands/dashboard/tab-status.d.ts +0 -32
  54. package/dist/commands/dashboard/tab-status.js +0 -424
  55. package/dist/commands/dashboard/tab-status.js.map +0 -1
  56. package/dist/commands/dashboard/types.d.ts +0 -42
  57. package/dist/commands/dashboard/types.js +0 -5
  58. package/dist/commands/dashboard/types.js.map +0 -1
  59. package/dist/commands/dashboard.d.ts +0 -11
  60. package/dist/commands/dashboard.js +0 -242
  61. package/dist/commands/dashboard.js.map +0 -1
  62. package/dist/commands/doctor.d.ts +0 -16
  63. package/dist/commands/doctor.js +0 -195
  64. package/dist/commands/doctor.js.map +0 -1
  65. package/dist/commands/history.d.ts +0 -7
  66. package/dist/commands/history.js +0 -49
  67. package/dist/commands/history.js.map +0 -1
  68. package/dist/commands/init.d.ts +0 -45
  69. package/dist/commands/install.d.ts +0 -65
  70. package/dist/commands/install.js +0 -405
  71. package/dist/commands/install.js.map +0 -1
  72. package/dist/commands/logs.d.ts +0 -15
  73. package/dist/commands/logs.js +0 -155
  74. package/dist/commands/logs.js.map +0 -1
  75. package/dist/commands/merge.d.ts +0 -26
  76. package/dist/commands/merge.js +0 -159
  77. package/dist/commands/merge.js.map +0 -1
  78. package/dist/commands/notify.d.ts +0 -7
  79. package/dist/commands/notify.js +0 -43
  80. package/dist/commands/notify.js.map +0 -1
  81. package/dist/commands/plan.d.ts +0 -19
  82. package/dist/commands/plan.js +0 -88
  83. package/dist/commands/plan.js.map +0 -1
  84. package/dist/commands/prd-state.d.ts +0 -12
  85. package/dist/commands/prd-state.js +0 -47
  86. package/dist/commands/prd-state.js.map +0 -1
  87. package/dist/commands/prd.d.ts +0 -18
  88. package/dist/commands/prd.js +0 -363
  89. package/dist/commands/prd.js.map +0 -1
  90. package/dist/commands/prds.d.ts +0 -13
  91. package/dist/commands/prds.js +0 -194
  92. package/dist/commands/prds.js.map +0 -1
  93. package/dist/commands/prs.d.ts +0 -14
  94. package/dist/commands/prs.js +0 -104
  95. package/dist/commands/prs.js.map +0 -1
  96. package/dist/commands/qa.d.ts +0 -34
  97. package/dist/commands/qa.js +0 -214
  98. package/dist/commands/qa.js.map +0 -1
  99. package/dist/commands/queue.d.ts +0 -8
  100. package/dist/commands/queue.js +0 -378
  101. package/dist/commands/queue.js.map +0 -1
  102. package/dist/commands/resolve.d.ts +0 -26
  103. package/dist/commands/resolve.js +0 -186
  104. package/dist/commands/resolve.js.map +0 -1
  105. package/dist/commands/retry.d.ts +0 -9
  106. package/dist/commands/retry.js +0 -71
  107. package/dist/commands/retry.js.map +0 -1
  108. package/dist/commands/review.d.ts +0 -82
  109. package/dist/commands/run.d.ts +0 -73
  110. package/dist/commands/serve.d.ts +0 -19
  111. package/dist/commands/serve.js +0 -142
  112. package/dist/commands/serve.js.map +0 -1
  113. package/dist/commands/shared/env-builder.d.ts +0 -49
  114. package/dist/commands/shared/env-builder.js +0 -151
  115. package/dist/commands/shared/env-builder.js.map +0 -1
  116. package/dist/commands/slice.d.ts +0 -35
  117. package/dist/commands/slice.js +0 -316
  118. package/dist/commands/slice.js.map +0 -1
  119. package/dist/commands/state.d.ts +0 -8
  120. package/dist/commands/state.js +0 -54
  121. package/dist/commands/state.js.map +0 -1
  122. package/dist/commands/status.d.ts +0 -14
  123. package/dist/commands/status.js +0 -297
  124. package/dist/commands/status.js.map +0 -1
  125. package/dist/commands/summary.d.ts +0 -14
  126. package/dist/commands/summary.js +0 -193
  127. package/dist/commands/summary.js.map +0 -1
  128. package/dist/commands/uninstall.d.ts +0 -25
  129. package/dist/commands/uninstall.js +0 -134
  130. package/dist/commands/uninstall.js.map +0 -1
  131. package/dist/commands/update.d.ts +0 -22
  132. package/dist/commands/update.js +0 -90
  133. package/dist/commands/update.js.map +0 -1
  134. package/dist/web/assets/index-BmRrWWHn.js +0 -406
  135. package/dist/web/assets/index-CgXj_KM1.css +0 -1
  136. package/dist/web/assets/index-Dr4zlyJf.js +0 -406
@@ -1 +1 @@
1
- {"version":3,"file":"run.js","sourceRoot":"","sources":["../../src/commands/run.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"run.js","sourceRoot":"","sources":["../../src/commands/run.ts"],"names":[],"mappings":"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"}
@@ -116,6 +116,12 @@ fi
116
116
  AUDIT_WORKTREE_BASENAME="${PROJECT_NAME}-nw-audit-runner"
117
117
  AUDIT_WORKTREE_DIR="$(dirname "${PROJECT_DIR}")/${AUDIT_WORKTREE_BASENAME}"
118
118
 
119
+ cleanup_audit_worktree_on_exit() {
120
+ cleanup_worktree_path "${PROJECT_DIR}" "${AUDIT_WORKTREE_DIR}"
121
+ }
122
+
123
+ append_exit_trap "cleanup_audit_worktree_on_exit"
124
+
119
125
  cleanup_worktrees "${PROJECT_DIR}" "${AUDIT_WORKTREE_BASENAME}"
120
126
 
121
127
  if ! prepare_detached_worktree "${PROJECT_DIR}" "${AUDIT_WORKTREE_DIR}" "${DEFAULT_BRANCH}" "${LOG_FILE}"; then
@@ -61,6 +61,13 @@ emit_result() {
61
61
  details="rate_limit_fallback=1"
62
62
  fi
63
63
  fi
64
+ if [ "${FALLBACK_CONFIGURATION_MISSING:-0}" = "1" ]; then
65
+ if [ -n "${details}" ]; then
66
+ details="${details}|fallback_unconfigured=1"
67
+ else
68
+ details="fallback_unconfigured=1"
69
+ fi
70
+ fi
64
71
  if [ -n "${details}" ]; then
65
72
  echo "NIGHT_WATCH_RESULT:${status}|${details}"
66
73
  else
@@ -292,6 +299,14 @@ if [ -n "${NW_DEFAULT_BRANCH:-}" ]; then
292
299
  else
293
300
  DEFAULT_BRANCH=$(detect_default_branch "${PROJECT_DIR}")
294
301
  fi
302
+
303
+ cleanup_executor_worktrees_on_exit() {
304
+ cleanup_worktree_path "${PROJECT_DIR}" "${WORKTREE_DIR}"
305
+ cleanup_worktree_path "${PROJECT_DIR}" "${BOOKKEEP_WORKTREE_DIR}"
306
+ }
307
+
308
+ append_exit_trap "cleanup_executor_worktrees_on_exit"
309
+
295
310
  if [[ "${PRD_DIR_REL}" = /* ]]; then
296
311
  BOOKKEEP_PRD_DIR="${PRD_DIR_REL}"
297
312
  else
@@ -999,7 +1014,7 @@ if [ "${RATE_LIMIT_FALLBACK_TRIGGERED}" = "1" ]; then
999
1014
  fi
1000
1015
  else
1001
1016
  # Native Claude fallback (existing behavior)
1002
- PRIMARY_FALLBACK_MODEL="${NW_CLAUDE_PRIMARY_MODEL_ID:-${NW_CLAUDE_MODEL_ID:-claude-sonnet-4-6}}"
1017
+ PRIMARY_FALLBACK_MODEL="${NW_CLAUDE_PRIMARY_MODEL_ID:-${NW_CLAUDE_MODEL_ID:-}}"
1003
1018
  SECONDARY_FALLBACK_MODEL="${NW_CLAUDE_SECONDARY_MODEL_ID:-}"
1004
1019
 
1005
1020
  run_native_fallback() {
@@ -1031,14 +1046,20 @@ if [ "${RATE_LIMIT_FALLBACK_TRIGGERED}" = "1" ]; then
1031
1046
  LAST_FALLBACK_LOG_LINE_BEFORE="${log_line_before}"
1032
1047
  }
1033
1048
 
1034
- LOG_LINE_BEFORE=$(wc -l < "${LOG_FILE}" 2>/dev/null || echo 0)
1035
- run_native_fallback "${PRIMARY_FALLBACK_MODEL}" "${LOG_LINE_BEFORE}"
1036
-
1037
- if [ ${EXIT_CODE} -ne 0 ] && [ -n "${SECONDARY_FALLBACK_MODEL}" ] && [ "${SECONDARY_FALLBACK_MODEL}" != "${PRIMARY_FALLBACK_MODEL}" ]; then
1038
- if check_rate_limited "${LOG_FILE}" "${LOG_LINE_BEFORE}"; then
1039
- log "RATE-LIMIT-FALLBACK: Primary native Claude fallback was rate-limited; trying secondary model (${SECONDARY_FALLBACK_MODEL})"
1040
- LOG_LINE_BEFORE=$(wc -l < "${LOG_FILE}" 2>/dev/null || echo 0)
1041
- run_native_fallback "${SECONDARY_FALLBACK_MODEL}" "${LOG_LINE_BEFORE}"
1049
+ if [ -z "${PRIMARY_FALLBACK_MODEL}" ]; then
1050
+ FALLBACK_CONFIGURATION_MISSING=1
1051
+ log "RATE-LIMIT-FALLBACK: Triggered but no fallback preset/model is configured for ${PROJECT_NAME}"
1052
+ send_missing_fallback_configuration_warning "${PROJECT_NAME}"
1053
+ else
1054
+ LOG_LINE_BEFORE=$(wc -l < "${LOG_FILE}" 2>/dev/null || echo 0)
1055
+ run_native_fallback "${PRIMARY_FALLBACK_MODEL}" "${LOG_LINE_BEFORE}"
1056
+
1057
+ if [ ${EXIT_CODE} -ne 0 ] && [ -n "${SECONDARY_FALLBACK_MODEL}" ] && [ "${SECONDARY_FALLBACK_MODEL}" != "${PRIMARY_FALLBACK_MODEL}" ]; then
1058
+ if check_rate_limited "${LOG_FILE}" "${LOG_LINE_BEFORE}"; then
1059
+ log "RATE-LIMIT-FALLBACK: Primary native Claude fallback was rate-limited; trying secondary model (${SECONDARY_FALLBACK_MODEL})"
1060
+ LOG_LINE_BEFORE=$(wc -l < "${LOG_FILE}" 2>/dev/null || echo 0)
1061
+ run_native_fallback "${SECONDARY_FALLBACK_MODEL}" "${LOG_LINE_BEFORE}"
1062
+ fi
1042
1063
  fi
1043
1064
  fi
1044
1065
  fi # end preset vs native choice
@@ -541,14 +541,14 @@ _is_lock_holder_alive() {
541
541
 
542
542
  append_exit_trap() {
543
543
  local command="${1:?command required}"
544
- local existing=""
545
544
 
546
- existing=$(trap -p EXIT | sed -n "s/^trap -- '\\(.*\\)' EXIT$/\\1/p")
547
- if [ -n "${existing}" ]; then
548
- trap "${existing}; ${command}" EXIT
545
+ if [ -n "${NW_EXIT_TRAP_CHAIN:-}" ]; then
546
+ NW_EXIT_TRAP_CHAIN="${NW_EXIT_TRAP_CHAIN}; ${command}"
549
547
  else
550
- trap "${command}" EXIT
548
+ NW_EXIT_TRAP_CHAIN="${command}"
551
549
  fi
550
+
551
+ trap "${NW_EXIT_TRAP_CHAIN}" EXIT
552
552
  }
553
553
 
554
554
  # ── Detect default branch ───────────────────────────────────────────────────
@@ -801,6 +801,31 @@ cleanup_worktrees() {
801
801
  git -C "${project_dir}" worktree prune >/dev/null 2>&1 || true
802
802
  }
803
803
 
804
+ cleanup_worktree_path() {
805
+ local project_dir="${1:?project_dir required}"
806
+ local worktree_dir="${2:?worktree_dir required}"
807
+
808
+ if [ -z "${worktree_dir}" ] || [ "${worktree_dir}" = "${project_dir}" ]; then
809
+ return 0
810
+ fi
811
+
812
+ git -C "${project_dir}" worktree prune >/dev/null 2>&1 || true
813
+
814
+ if git -C "${project_dir}" worktree list --porcelain 2>/dev/null \
815
+ | grep -qF "worktree ${worktree_dir}"; then
816
+ log "CLEANUP: Removing worktree ${worktree_dir}"
817
+ git -C "${project_dir}" worktree remove --force "${worktree_dir}" 2>/dev/null || true
818
+ fi
819
+
820
+ if [ -d "${worktree_dir}" ] && ! git -C "${project_dir}" worktree list --porcelain 2>/dev/null \
821
+ | grep -qF "worktree ${worktree_dir}"; then
822
+ log "CLEANUP: Removing stale worktree directory ${worktree_dir}"
823
+ rm -rf "${worktree_dir}" 2>/dev/null || true
824
+ fi
825
+
826
+ git -C "${project_dir}" worktree prune >/dev/null 2>&1 || true
827
+ }
828
+
804
829
  # Pick the best available ref for creating a new detached worktree.
805
830
  resolve_worktree_base_ref() {
806
831
  local project_dir="${1:?project_dir required}"
@@ -1169,6 +1194,53 @@ Proxy quota exhausted - falling back to native Claude (${model})"
1169
1194
  --data-urlencode "text=${msg}" > /dev/null 2>&1 || true
1170
1195
  }
1171
1196
 
1197
+ # Send an immediate Telegram warning when a rate-limit fallback was attempted
1198
+ # but no fallback preset/model is configured for the project.
1199
+ # Preferred input: NW_TELEGRAM_RATE_LIMIT_WEBHOOKS (JSON array with botToken/chatId).
1200
+ # Legacy fallback: NW_TELEGRAM_BOT_TOKEN + NW_TELEGRAM_CHAT_ID.
1201
+ # Usage: send_missing_fallback_configuration_warning <project_name>
1202
+ send_missing_fallback_configuration_warning() {
1203
+ local project_name="${1:-unknown}"
1204
+ local msg="⚠️ Rate Limit Fallback Unconfigured
1205
+
1206
+ Project: ${project_name}
1207
+ Rate-limit fallback was attempted, but no fallback preset/model is configured.
1208
+
1209
+ Configure one in Settings -> AI Providers -> Reliability & Fallbacks
1210
+ or set primaryFallbackPreset / primaryFallbackModel in night-watch.config.json."
1211
+
1212
+ # Preferred path: iterate all opted-in Telegram webhooks.
1213
+ if [ -n "${NW_TELEGRAM_RATE_LIMIT_WEBHOOKS:-}" ] && command -v jq >/dev/null 2>&1; then
1214
+ local sent=0
1215
+ local webhook_json
1216
+ while IFS= read -r webhook_json; do
1217
+ [ -z "${webhook_json}" ] && continue
1218
+ local bot_token
1219
+ local chat_id
1220
+ bot_token=$(printf '%s' "${webhook_json}" | jq -r '.botToken // empty' 2>/dev/null || true)
1221
+ chat_id=$(printf '%s' "${webhook_json}" | jq -r '.chatId // empty' 2>/dev/null || true)
1222
+ if [ -n "${bot_token}" ] && [ -n "${chat_id}" ]; then
1223
+ curl -s -X POST "https://api.telegram.org/bot${bot_token}/sendMessage" \
1224
+ --data-urlencode "chat_id=${chat_id}" \
1225
+ --data-urlencode "text=${msg}" > /dev/null 2>&1 || true
1226
+ sent=1
1227
+ fi
1228
+ done < <(printf '%s' "${NW_TELEGRAM_RATE_LIMIT_WEBHOOKS}" | jq -c '.[]?' 2>/dev/null || true)
1229
+
1230
+ if [ "${sent}" -eq 1 ]; then
1231
+ return 0
1232
+ fi
1233
+ fi
1234
+
1235
+ # Legacy single-webhook fallback.
1236
+ if [ -z "${NW_TELEGRAM_BOT_TOKEN:-}" ] || [ -z "${NW_TELEGRAM_CHAT_ID:-}" ]; then
1237
+ return 0
1238
+ fi
1239
+ curl -s -X POST "https://api.telegram.org/bot${NW_TELEGRAM_BOT_TOKEN}/sendMessage" \
1240
+ --data-urlencode "chat_id=${NW_TELEGRAM_CHAT_ID}" \
1241
+ --data-urlencode "text=${msg}" > /dev/null 2>&1 || true
1242
+ }
1243
+
1172
1244
  # ── Board mode issue discovery ────────────────────────────────────────────────
1173
1245
 
1174
1246
  # Get the next eligible issue from the board provider.
@@ -79,6 +79,8 @@ else
79
79
  fi
80
80
 
81
81
  SCRIPT_TYPE="reviewer"
82
+ READY_FOR_REVIEW_LABEL="${NW_READY_FOR_REVIEW_LABEL:-ready-for-review}"
83
+ READY_FOR_REVIEW_MARKER_NAME="night-watch-ready-for-review"
82
84
 
83
85
  emit_result() {
84
86
  local status="${1:?status required}"
@@ -98,6 +100,80 @@ extract_review_score_from_text() {
98
100
  | grep -oP '\d+(?=/100)' || echo ""
99
101
  }
100
102
 
103
+ build_ready_for_review_marker() {
104
+ local head_sha="${1:-}"
105
+ [ -z "${head_sha}" ] && return 1
106
+ printf '<!-- %s headRefOid:%s -->' "${READY_FOR_REVIEW_MARKER_NAME}" "${head_sha}"
107
+ }
108
+
109
+ has_ready_for_human_review_marker() {
110
+ local comments_text="${1:-}"
111
+ local head_sha="${2:-}"
112
+ local marker=""
113
+
114
+ marker=$(build_ready_for_review_marker "${head_sha}" || true)
115
+ [ -z "${marker}" ] && return 1
116
+
117
+ printf '%s\n' "${comments_text}" | grep -Fq "${marker}"
118
+ }
119
+
120
+ get_pr_comments() {
121
+ local pr_number="${1:?PR number required}"
122
+
123
+ {
124
+ gh pr view "${pr_number}" --json comments --jq '.comments[].body' 2>/dev/null || true
125
+ if [ -n "${REPO:-}" ]; then
126
+ gh api "repos/${REPO}/issues/${pr_number}/comments" --jq '.[].body' 2>/dev/null || true
127
+ fi
128
+ } | awk '!seen[$0]++'
129
+ }
130
+
131
+ get_pr_head_ref_oid() {
132
+ local pr_number="${1:?PR number required}"
133
+ gh pr view "${pr_number}" --json headRefOid --jq '.headRefOid' 2>/dev/null || echo ""
134
+ }
135
+
136
+ clear_ready_for_human_review_label() {
137
+ local pr_number="${1:?PR number required}"
138
+ gh pr edit "${pr_number}" --remove-label "${READY_FOR_REVIEW_LABEL}" 2>/dev/null || true
139
+ }
140
+
141
+ ensure_ready_for_human_review_comment() {
142
+ local pr_number="${1:?PR number required}"
143
+ local final_score="${2:-}"
144
+ local head_sha="${3:-}"
145
+ local comments_text=""
146
+ local marker=""
147
+ local score_note=""
148
+ local short_sha=""
149
+ local body=""
150
+
151
+ [ -z "${head_sha}" ] && return 0
152
+
153
+ comments_text=$(get_pr_comments "${pr_number}")
154
+ if has_ready_for_human_review_marker "${comments_text}" "${head_sha}"; then
155
+ gh pr edit "${pr_number}" --add-label "${READY_FOR_REVIEW_LABEL}" 2>/dev/null || true
156
+ return 0
157
+ fi
158
+
159
+ marker=$(build_ready_for_review_marker "${head_sha}" || true)
160
+ short_sha=$(printf '%s' "${head_sha}" | cut -c1-12)
161
+ if [ -n "${final_score}" ]; then
162
+ score_note=" (score: ${final_score}/100)"
163
+ fi
164
+
165
+ body="${marker}
166
+
167
+ ## ✅ Ready for Human Review
168
+
169
+ Night Watch reviewed this PR${score_note} at commit \`${short_sha}\` and found no automated fixes to apply for the current head.
170
+
171
+ This PR is ready for human review and merge."
172
+
173
+ gh pr comment "${pr_number}" --body "${body}" 2>/dev/null || true
174
+ gh pr edit "${pr_number}" --add-label "${READY_FOR_REVIEW_LABEL}" 2>/dev/null || true
175
+ }
176
+
101
177
  # ── Global Job Queue Gate ────────────────────────────────────────────────────
102
178
  # Atomically claim a DB slot or enqueue for later dispatch — no flock needed.
103
179
  if [ "${NW_QUEUE_ENABLED:-0}" = "1" ]; then
@@ -399,14 +475,7 @@ build_prd_context_prompt() {
399
475
  get_pr_score() {
400
476
  local pr_number="${1:?PR number required}"
401
477
  local all_comments
402
- all_comments=$(
403
- {
404
- gh pr view "${pr_number}" --json comments --jq '.comments[].body' 2>/dev/null || true
405
- if [ -n "${REPO:-}" ]; then
406
- gh api "repos/${REPO}/issues/${pr_number}/comments" --jq '.[].body' 2>/dev/null || true
407
- fi
408
- } | awk '!seen[$0]++'
409
- )
478
+ all_comments=$(get_pr_comments "${pr_number}")
410
479
  extract_review_score_from_text "${all_comments}"
411
480
  }
412
481
 
@@ -612,8 +681,14 @@ fi
612
681
  NEEDS_WORK=0
613
682
  REPO=$(gh repo view --json nameWithOwner --jq '.nameWithOwner' 2>/dev/null || echo "")
614
683
  PRS_NEEDING_WORK=""
684
+ SKIPPED_ALREADY_REVIEWED_CURRENT_HEAD=0
615
685
 
616
686
  while IFS=$'\t' read -r pr_number pr_branch pr_labels; do
687
+ local_ready_for_review_label_present=0
688
+ current_head_sha=""
689
+ all_comments=""
690
+ latest_score=""
691
+
617
692
  if [ -z "${pr_number}" ] || [ -z "${pr_branch}" ]; then
618
693
  continue
619
694
  fi
@@ -636,17 +711,58 @@ while IFS=$'\t' read -r pr_number pr_branch pr_labels; do
636
711
  continue
637
712
  fi
638
713
 
714
+ if csv_has_label "${pr_labels:-}" "${READY_FOR_REVIEW_LABEL}"; then
715
+ local_ready_for_review_label_present=1
716
+ fi
717
+
639
718
  # Merge-conflict signal: this PR needs action even if CI and score look fine.
640
719
  MERGE_STATE=$(gh pr view "${pr_number}" --json mergeStateStatus --jq '.mergeStateStatus' 2>/dev/null || echo "")
641
720
  if [ "${MERGE_STATE}" = "DIRTY" ] || [ "${MERGE_STATE}" = "CONFLICTING" ]; then
721
+ if [ "${local_ready_for_review_label_present}" -eq 1 ]; then
722
+ log "INFO: PR #${pr_number} (${pr_branch}) is actionable again; removing stale ${READY_FOR_REVIEW_LABEL} label"
723
+ clear_ready_for_human_review_label "${pr_number}"
724
+ fi
642
725
  log "INFO: PR #${pr_number} (${pr_branch}) has merge conflicts (${MERGE_STATE})"
643
726
  NEEDS_WORK=1
644
727
  PRS_NEEDING_WORK="${PRS_NEEDING_WORK} #${pr_number}"
645
728
  continue
646
729
  fi
647
730
 
731
+ current_head_sha=$(get_pr_head_ref_oid "${pr_number}")
732
+ all_comments=$(get_pr_comments "${pr_number}")
733
+ latest_score=$(extract_review_score_from_text "${all_comments}")
734
+ if [ -z "${latest_score}" ]; then
735
+ if [ "${local_ready_for_review_label_present}" -eq 1 ]; then
736
+ log "INFO: PR #${pr_number} (${pr_branch}) needs a fresh review; removing stale ${READY_FOR_REVIEW_LABEL} label"
737
+ clear_ready_for_human_review_label "${pr_number}"
738
+ fi
739
+ log "INFO: PR #${pr_number} (${pr_branch}) has no review score yet — needs initial review"
740
+ NEEDS_WORK=1
741
+ PRS_NEEDING_WORK="${PRS_NEEDING_WORK} #${pr_number}"
742
+ continue
743
+ elif [ "${latest_score}" -lt "${MIN_REVIEW_SCORE}" ]; then
744
+ if [ "${local_ready_for_review_label_present}" -eq 1 ]; then
745
+ log "INFO: PR #${pr_number} (${pr_branch}) fell below review threshold; removing stale ${READY_FOR_REVIEW_LABEL} label"
746
+ clear_ready_for_human_review_label "${pr_number}"
747
+ fi
748
+ log "INFO: PR #${pr_number} (${pr_branch}) has review score ${latest_score}/100 (threshold: ${MIN_REVIEW_SCORE})"
749
+ NEEDS_WORK=1
750
+ PRS_NEEDING_WORK="${PRS_NEEDING_WORK} #${pr_number}"
751
+ continue
752
+ fi
753
+
754
+ if has_ready_for_human_review_marker "${all_comments}" "${current_head_sha}"; then
755
+ SKIPPED_ALREADY_REVIEWED_CURRENT_HEAD=1
756
+ log "INFO: PR #${pr_number} (${pr_branch}) is already marked ready for human review at head ${current_head_sha:0:12}; skipping repeat automated review"
757
+ continue
758
+ fi
759
+
648
760
  FAILED_CHECKS=$(get_pr_failed_ci_checks "${pr_number}")
649
761
  if [ "${FAILED_CHECKS}" -gt 0 ]; then
762
+ if [ "${local_ready_for_review_label_present}" -eq 1 ]; then
763
+ log "INFO: PR #${pr_number} (${pr_branch}) is actionable again; removing stale ${READY_FOR_REVIEW_LABEL} label"
764
+ clear_ready_for_human_review_label "${pr_number}"
765
+ fi
650
766
  FAILED_SUMMARY=$(get_pr_failed_ci_summary "${pr_number}")
651
767
  if [ -n "${FAILED_SUMMARY}" ]; then
652
768
  log "INFO: PR #${pr_number} (${pr_branch}) has ${FAILED_CHECKS} failed CI check(s): ${FAILED_SUMMARY}"
@@ -655,26 +771,6 @@ while IFS=$'\t' read -r pr_number pr_branch pr_labels; do
655
771
  fi
656
772
  NEEDS_WORK=1
657
773
  PRS_NEEDING_WORK="${PRS_NEEDING_WORK} #${pr_number}"
658
- continue
659
- fi
660
-
661
- ALL_COMMENTS=$(
662
- {
663
- gh pr view "${pr_number}" --json comments --jq '.comments[].body' 2>/dev/null || true
664
- if [ -n "${REPO}" ]; then
665
- gh api "repos/${REPO}/issues/${pr_number}/comments" --jq '.[].body' 2>/dev/null || true
666
- fi
667
- } | awk '!seen[$0]++'
668
- )
669
- LATEST_SCORE=$(extract_review_score_from_text "${ALL_COMMENTS}")
670
- if [ -z "${LATEST_SCORE}" ]; then
671
- log "INFO: PR #${pr_number} (${pr_branch}) has no review score yet — needs initial review"
672
- NEEDS_WORK=1
673
- PRS_NEEDING_WORK="${PRS_NEEDING_WORK} #${pr_number}"
674
- elif [ "${LATEST_SCORE}" -lt "${MIN_REVIEW_SCORE}" ]; then
675
- log "INFO: PR #${pr_number} (${pr_branch}) has review score ${LATEST_SCORE}/100 (threshold: ${MIN_REVIEW_SCORE})"
676
- NEEDS_WORK=1
677
- PRS_NEEDING_WORK="${PRS_NEEDING_WORK} #${pr_number}"
678
774
  fi
679
775
  done < <(
680
776
  gh pr list --state open --json number,headRefName,labels \
@@ -682,14 +778,25 @@ done < <(
682
778
  )
683
779
 
684
780
  if [ "${NEEDS_WORK}" -eq 0 ]; then
685
- log "SKIP: All ${OPEN_PRS} open PR(s) have passing CI and review score >= ${MIN_REVIEW_SCORE}"
781
+ if [ "${SKIPPED_ALREADY_REVIEWED_CURRENT_HEAD}" -eq 1 ]; then
782
+ log "SKIP: All ${OPEN_PRS} open PR(s) already pass review threshold or have already been reviewed for their current head"
686
783
 
687
- if [ "${WORKER_MODE}" != "1" ]; then
688
- send_telegram_status_message "🔍 Night Watch Reviewer: nothing to do" "Project: ${PROJECT_NAME}
784
+ if [ "${WORKER_MODE}" != "1" ]; then
785
+ send_telegram_status_message "🔍 Night Watch Reviewer: nothing actionable" "Project: ${PROJECT_NAME}
786
+ Provider (model): ${PROVIDER_MODEL_DISPLAY}
787
+ Result: all ${OPEN_PRS} matching PRs either already pass review threshold or were already reviewed for their current head."
788
+ fi
789
+ emit_result "skip_no_actionable_prs"
790
+ else
791
+ log "SKIP: All ${OPEN_PRS} open PR(s) have passing CI and review score >= ${MIN_REVIEW_SCORE}"
792
+
793
+ if [ "${WORKER_MODE}" != "1" ]; then
794
+ send_telegram_status_message "🔍 Night Watch Reviewer: nothing to do" "Project: ${PROJECT_NAME}
689
795
  Provider (model): ${PROVIDER_MODEL_DISPLAY}
690
796
  Result: all ${OPEN_PRS} matching PRs already pass CI and review threshold (${MIN_REVIEW_SCORE})."
797
+ fi
798
+ emit_result "skip_all_passing"
691
799
  fi
692
- emit_result "skip_all_passing"
693
800
  exit 0
694
801
  fi
695
802
 
@@ -881,6 +988,12 @@ if [ -n "${TARGET_PR}" ]; then
881
988
  fi
882
989
  REVIEW_WORKTREE_DIR="$(dirname "${PROJECT_DIR}")/${REVIEW_WORKTREE_BASENAME}"
883
990
 
991
+ cleanup_reviewer_runner_worktree_on_exit() {
992
+ cleanup_worktree_path "${PROJECT_DIR}" "${REVIEW_WORKTREE_DIR}"
993
+ }
994
+
995
+ append_exit_trap "cleanup_reviewer_runner_worktree_on_exit"
996
+
884
997
  cleanup_reviewer_worktrees "${REVIEW_WORKTREE_BASENAME}"
885
998
 
886
999
  # Dry-run mode: print diagnostics and exit
@@ -995,7 +1108,20 @@ TOTAL_ATTEMPTS=1
995
1108
  if [ -n "${TARGET_PR}" ]; then
996
1109
  TOTAL_ATTEMPTS=$((REVIEWER_MAX_RETRIES + 1))
997
1110
  fi
998
- RUN_STARTED_AT=$(date +%s)
1111
+
1112
+ epoch_millis() {
1113
+ local now_ms
1114
+
1115
+ now_ms=$(date +%s%3N 2>/dev/null || true)
1116
+ if [[ "${now_ms}" =~ ^[0-9]+$ ]]; then
1117
+ printf "%s" "${now_ms}"
1118
+ return 0
1119
+ fi
1120
+
1121
+ printf "%s000" "$(date +%s)"
1122
+ }
1123
+
1124
+ RUN_STARTED_AT_MS=$(epoch_millis)
999
1125
 
1000
1126
  # Capture current HEAD of PR branch so we can detect if the reviewer pushed any commits.
1001
1127
  PR_BRANCH_HEAD_BEFORE=""
@@ -1004,13 +1130,22 @@ if [ -n "${TARGET_PR}" ]; then
1004
1130
  fi
1005
1131
 
1006
1132
  remaining_runtime_budget() {
1007
- local now_ts
1008
- local elapsed
1133
+ local now_ms
1134
+ local elapsed_ms
1135
+ local remaining_ms
1009
1136
  local remaining
1010
1137
 
1011
- now_ts=$(date +%s)
1012
- elapsed=$((now_ts - RUN_STARTED_AT))
1013
- remaining=$((MAX_RUNTIME - elapsed))
1138
+ now_ms=$(epoch_millis)
1139
+ elapsed_ms=$((now_ms - RUN_STARTED_AT_MS))
1140
+ remaining_ms=$((MAX_RUNTIME * 1000 - elapsed_ms))
1141
+ if [ "${remaining_ms}" -le 0 ]; then
1142
+ printf "0"
1143
+ return 0
1144
+ fi
1145
+
1146
+ # Round up to avoid shaving nearly a full second off attempt 1 when the
1147
+ # script crosses a wall-clock second boundary before entering `timeout`.
1148
+ remaining=$(( (remaining_ms + 999) / 1000 ))
1014
1149
  printf "%s" "${remaining}"
1015
1150
  }
1016
1151
 
@@ -1057,15 +1192,12 @@ for ATTEMPT in $(seq 1 "${TOTAL_ATTEMPTS}"); do
1057
1192
  # Retries only happen after a quick return (low score / invalid output / rate limit);
1058
1193
  # a timed-out provider run is not retried, so pre-splitting the budget would
1059
1194
  # incorrectly cap a 1h review to ~20m on attempt 1.
1060
- NOW_TS=$(date +%s)
1061
- ELAPSED=$((NOW_TS - RUN_STARTED_AT))
1062
- REMAINING_BUDGET=$((MAX_RUNTIME - ELAPSED))
1063
- if [ "${REMAINING_BUDGET}" -le 0 ]; then
1195
+ ATTEMPT_TIMEOUT=$(remaining_runtime_budget)
1196
+ if [ "${ATTEMPT_TIMEOUT}" -le 0 ]; then
1064
1197
  EXIT_CODE=124
1065
1198
  log "RETRY: Runtime budget exhausted before attempt ${ATTEMPT}"
1066
1199
  break
1067
1200
  fi
1068
- ATTEMPT_TIMEOUT="${REMAINING_BUDGET}"
1069
1201
  fi
1070
1202
 
1071
1203
  # Recreate worktree if it was removed unexpectedly between attempts.
@@ -1190,6 +1322,7 @@ if [ "${EXIT_CODE}" -eq 0 ] && [ -n "${TARGET_PR}" ] && [ -n "${PR_BRANCH_HEAD_B
1190
1322
  NO_CHANGES_NEEDED=1
1191
1323
  NO_CHANGES_PRS="#${TARGET_PR}"
1192
1324
  log "INFO: PR #${TARGET_PR} — reviewer made no commits; marking as ready for human review"
1325
+ ensure_ready_for_human_review_comment "${TARGET_PR}" "${FINAL_SCORE}" "${PR_BRANCH_HEAD_AFTER}"
1193
1326
  fi
1194
1327
  fi
1195
1328
 
@@ -481,6 +481,12 @@ else
481
481
  fi
482
482
  QA_WORKTREE_DIR="$(dirname "${PROJECT_DIR}")/${PROJECT_NAME}-nw-qa-runner"
483
483
 
484
+ cleanup_qa_worktree_on_exit() {
485
+ cleanup_worktree_path "${PROJECT_DIR}" "${QA_WORKTREE_DIR}"
486
+ }
487
+
488
+ append_exit_trap "cleanup_qa_worktree_on_exit"
489
+
484
490
  log "START: Found PR(s) needing QA:${PRS_NEEDING_QA}"
485
491
 
486
492
  cleanup_worktrees "${PROJECT_DIR}"
@@ -55,7 +55,9 @@
55
55
  "audit": 10
56
56
  }
57
57
  },
58
- "jobProviders": {},
58
+ "jobProviders": {
59
+ "reviewer": "g51claude"
60
+ },
59
61
  "autoMerge": false,
60
62
  "autoMergeMethod": "squash",
61
63
  "fallbackOnRateLimit": true,
@@ -73,5 +75,23 @@
73
75
  "enabled": true,
74
76
  "schedule": "50 3 * * 1",
75
77
  "maxRuntime": 1800
78
+ },
79
+ "providerPresets": {
80
+ "g51claude": {
81
+ "name": "GLM-5.1 Claude",
82
+ "command": "claude",
83
+ "promptFlag": "-p",
84
+ "autoApproveFlag": "--dangerously-skip-permissions",
85
+ "modelFlag": "--model",
86
+ "model": "glm-5.1",
87
+ "envVars": {
88
+ "ANTHROPIC_BASE_URL": "https://api.z.ai/api/anthropic",
89
+ "API_TIMEOUT_MS": "3000000",
90
+ "ANTHROPIC_DEFAULT_OPUS_MODEL": "glm-5.1",
91
+ "ANTHROPIC_DEFAULT_SONNET_MODEL": "glm-5.1",
92
+ "ANTHROPIC_AUTH_TOKEN": "efaeca456dab4ae69cb9ce1fa8d99a1a.KSTifNTWPS6NgC6L",
93
+ "ANTHROPIC_API_KEY": "efaeca456dab4ae69cb9ce1fa8d99a1a.KSTifNTWPS6NgC6L"
94
+ }
95
+ }
76
96
  }
77
97
  }