Merge pull request '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)' (#421) from fix/issue-238 into main
This commit is contained in:
commit
d99be4db57
3 changed files with 9 additions and 11 deletions
|
|
@ -189,7 +189,7 @@ Consider this guidance for your current work."
|
||||||
;;
|
;;
|
||||||
review)
|
review)
|
||||||
# Route human questions to persistent review tmux session
|
# 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
|
if [ -n "$REVIEW_PR_NUM" ]; then
|
||||||
REVIEW_SESSION="review-${PROJECT_NAME}-${REVIEW_PR_NUM}"
|
REVIEW_SESSION="review-${PROJECT_NAME}-${REVIEW_PR_NUM}"
|
||||||
REVIEW_PHASE_FILE="/tmp/review-session-${PROJECT_NAME}-${REVIEW_PR_NUM}.phase"
|
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
|
tmux kill-session -t "$session" 2>/dev/null || true
|
||||||
rm -f "$phase_file" "/tmp/${PROJECT_NAME}-review-output-${pr_num}.json" \
|
rm -f "$phase_file" "/tmp/${PROJECT_NAME}-review-output-${pr_num}.json" \
|
||||||
"/tmp/review-injected-${PROJECT_NAME}-${pr_num}"
|
"/tmp/review-injected-${PROJECT_NAME}-${pr_num}"
|
||||||
# Prune review-thread-map entries for this PR
|
# Prune thread-map entries for this PR
|
||||||
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"
|
cd "$REPO_ROOT"
|
||||||
git worktree remove "/tmp/${PROJECT_NAME}-review-${pr_num}" --force 2>/dev/null || true
|
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
|
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
|
tmux kill-session -t "$session" 2>/dev/null || true
|
||||||
rm -f "$phase_file" "/tmp/${PROJECT_NAME}-review-output-${pr_num}.json" \
|
rm -f "$phase_file" "/tmp/${PROJECT_NAME}-review-output-${pr_num}.json" \
|
||||||
"/tmp/review-injected-${PROJECT_NAME}-${pr_num}"
|
"/tmp/review-injected-${PROJECT_NAME}-${pr_num}"
|
||||||
# Prune review-thread-map entries for this PR
|
# Prune thread-map entries for this PR
|
||||||
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"
|
cd "$REPO_ROOT"
|
||||||
git worktree remove "/tmp/${PROJECT_NAME}-review-${pr_num}" --force 2>/dev/null || true
|
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
|
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
|
tmux kill-session -t "$session" 2>/dev/null || true
|
||||||
rm -f "$phase_file" "/tmp/${PROJECT_NAME}-review-output-${pr_num}.json" \
|
rm -f "$phase_file" "/tmp/${PROJECT_NAME}-review-output-${pr_num}.json" \
|
||||||
"/tmp/review-injected-${PROJECT_NAME}-${pr_num}"
|
"/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"
|
cd "$REPO_ROOT"
|
||||||
git worktree remove "/tmp/${PROJECT_NAME}-review-${pr_num}" --force 2>/dev/null || true
|
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
|
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}"
|
SESSION_NAME="review-${PROJECT_NAME}-${PR_NUMBER}"
|
||||||
PHASE_FILE="/tmp/review-session-${PROJECT_NAME}-${PR_NUMBER}.phase"
|
PHASE_FILE="/tmp/review-session-${PROJECT_NAME}-${PR_NUMBER}.phase"
|
||||||
REVIEW_OUTPUT_FILE="/tmp/${PROJECT_NAME}-review-output-${PR_NUMBER}.json"
|
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_INTERVAL=10 # seconds between phase checks
|
||||||
REVIEW_WAIT_TIMEOUT=600 # 10 min max for a single review cycle
|
REVIEW_WAIT_TIMEOUT=600 # 10 min max for a single review cycle
|
||||||
|
|
||||||
|
|
@ -865,10 +865,8 @@ ${FU_DETAILS}
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# --- Notify Matrix (with thread mapping for human questions) ---
|
# --- 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)
|
# Pass PR_NUMBER as context_tag (4th arg) so the standard thread map has it in column 4
|
||||||
if [ -n "$EVENT_ID" ]; then
|
matrix_send "review" "PR #${PR_NUMBER} ${REVIEW_TYPE}: ${VERDICT} — ${PR_TITLE}" "" "$PR_NUMBER" >/dev/null 2>&1 || true
|
||||||
printf '%s\t%s\n' "$EVENT_ID" "$PR_NUMBER" >> "$REVIEW_THREAD_MAP" 2>/dev/null || true
|
|
||||||
fi
|
|
||||||
|
|
||||||
log "DONE: ${VERDICT} (re-review: ${IS_RE_REVIEW})"
|
log "DONE: ${VERDICT} (re-review: ${IS_RE_REVIEW})"
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue