fix: lib/matrix_listener.sh: review case reads a separate /tmp/review-thread-map (col 2) instead of the standard THREAD_MAP (col 4) (#238)
- matrix_listener.sh: review case now reads PR number from column 4 of the standard $THREAD_MAP instead of column 2 of /tmp/review-thread-map - review-pr.sh: pass PR_NUMBER as context_tag (4th arg) to matrix_send so the standard MATRIX_THREAD_MAP has it in column 4; remove separate /tmp/review-thread-map write - review-poll.sh: prune from MATRIX_THREAD_MAP instead of the removed /tmp/review-thread-map Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
parent
258cc1d1e3
commit
db66e35556
3 changed files with 9 additions and 11 deletions
|
|
@ -189,7 +189,7 @@ Consider this guidance for your current work."
|
|||
;;
|
||||
review)
|
||||
# Route human questions to persistent review tmux session
|
||||
REVIEW_PR_NUM=$(awk -F'\t' -v id="$THREAD_ROOT" '$1 == id {print $2}' /tmp/review-thread-map 2>/dev/null || true)
|
||||
REVIEW_PR_NUM=$(awk -F'\t' -v id="$THREAD_ROOT" '$1 == id {print $4}' "$THREAD_MAP" 2>/dev/null || true)
|
||||
if [ -n "$REVIEW_PR_NUM" ]; then
|
||||
REVIEW_SESSION="review-${PROJECT_NAME}-${REVIEW_PR_NUM}"
|
||||
REVIEW_PHASE_FILE="/tmp/review-session-${PROJECT_NAME}-${REVIEW_PR_NUM}.phase"
|
||||
|
|
|
|||
|
|
@ -56,8 +56,8 @@ if [ -n "$REVIEW_SESSIONS" ]; then
|
|||
tmux kill-session -t "$session" 2>/dev/null || true
|
||||
rm -f "$phase_file" "/tmp/${PROJECT_NAME}-review-output-${pr_num}.json" \
|
||||
"/tmp/review-injected-${PROJECT_NAME}-${pr_num}"
|
||||
# Prune review-thread-map entries for this PR
|
||||
sed -i "/\t${pr_num}$/d" /tmp/review-thread-map 2>/dev/null || true
|
||||
# Prune thread-map entries for this PR
|
||||
sed -i "/\t${pr_num}$/d" "${MATRIX_THREAD_MAP:-/tmp/matrix-thread-map}" 2>/dev/null || true
|
||||
cd "$REPO_ROOT"
|
||||
git worktree remove "/tmp/${PROJECT_NAME}-review-${pr_num}" --force 2>/dev/null || true
|
||||
rm -rf "/tmp/${PROJECT_NAME}-review-${pr_num}" 2>/dev/null || true
|
||||
|
|
@ -72,8 +72,8 @@ if [ -n "$REVIEW_SESSIONS" ]; then
|
|||
tmux kill-session -t "$session" 2>/dev/null || true
|
||||
rm -f "$phase_file" "/tmp/${PROJECT_NAME}-review-output-${pr_num}.json" \
|
||||
"/tmp/review-injected-${PROJECT_NAME}-${pr_num}"
|
||||
# Prune review-thread-map entries for this PR
|
||||
sed -i "/\t${pr_num}$/d" /tmp/review-thread-map 2>/dev/null || true
|
||||
# Prune thread-map entries for this PR
|
||||
sed -i "/\t${pr_num}$/d" "${MATRIX_THREAD_MAP:-/tmp/matrix-thread-map}" 2>/dev/null || true
|
||||
cd "$REPO_ROOT"
|
||||
git worktree remove "/tmp/${PROJECT_NAME}-review-${pr_num}" --force 2>/dev/null || true
|
||||
rm -rf "/tmp/${PROJECT_NAME}-review-${pr_num}" 2>/dev/null || true
|
||||
|
|
@ -87,7 +87,7 @@ if [ -n "$REVIEW_SESSIONS" ]; then
|
|||
tmux kill-session -t "$session" 2>/dev/null || true
|
||||
rm -f "$phase_file" "/tmp/${PROJECT_NAME}-review-output-${pr_num}.json" \
|
||||
"/tmp/review-injected-${PROJECT_NAME}-${pr_num}"
|
||||
sed -i "/\t${pr_num}$/d" /tmp/review-thread-map 2>/dev/null || true
|
||||
sed -i "/\t${pr_num}$/d" "${MATRIX_THREAD_MAP:-/tmp/matrix-thread-map}" 2>/dev/null || true
|
||||
cd "$REPO_ROOT"
|
||||
git worktree remove "/tmp/${PROJECT_NAME}-review-${pr_num}" --force 2>/dev/null || true
|
||||
rm -rf "/tmp/${PROJECT_NAME}-review-${pr_num}" 2>/dev/null || true
|
||||
|
|
|
|||
|
|
@ -50,7 +50,7 @@ TMPDIR=$(mktemp -d)
|
|||
SESSION_NAME="review-${PROJECT_NAME}-${PR_NUMBER}"
|
||||
PHASE_FILE="/tmp/review-session-${PROJECT_NAME}-${PR_NUMBER}.phase"
|
||||
REVIEW_OUTPUT_FILE="/tmp/${PROJECT_NAME}-review-output-${PR_NUMBER}.json"
|
||||
REVIEW_THREAD_MAP="/tmp/review-thread-map"
|
||||
# Thread map: use standard MATRIX_THREAD_MAP (shared with all agents)
|
||||
REVIEW_WAIT_INTERVAL=10 # seconds between phase checks
|
||||
REVIEW_WAIT_TIMEOUT=600 # 10 min max for a single review cycle
|
||||
|
||||
|
|
@ -865,10 +865,8 @@ ${FU_DETAILS}
|
|||
fi
|
||||
|
||||
# --- Notify Matrix (with thread mapping for human questions) ---
|
||||
EVENT_ID=$(matrix_send "review" "PR #${PR_NUMBER} ${REVIEW_TYPE}: ${VERDICT} — ${PR_TITLE}" 2>/dev/null || true)
|
||||
if [ -n "$EVENT_ID" ]; then
|
||||
printf '%s\t%s\n' "$EVENT_ID" "$PR_NUMBER" >> "$REVIEW_THREAD_MAP" 2>/dev/null || true
|
||||
fi
|
||||
# Pass PR_NUMBER as context_tag (4th arg) so the standard thread map has it in column 4
|
||||
matrix_send "review" "PR #${PR_NUMBER} ${REVIEW_TYPE}: ${VERDICT} — ${PR_TITLE}" "" "$PR_NUMBER" >/dev/null 2>&1 || true
|
||||
|
||||
log "DONE: ${VERDICT} (re-review: ${IS_RE_REVIEW})"
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue