Merge pull request 'publish: trigger comments speak in first person' (#81) from fix/first-person-triggers into main
ci / lint (push) Successful in 10s

This commit was merged in pull request #81.
This commit is contained in:
2026-07-06 09:13:14 +02:00
+4 -4
View File
@@ -107,7 +107,7 @@ if [ "$MODE" != "pr" ]; then
PRN=$(resolve_pr) PRN=$(resolve_pr)
if grep -qiE '^[[:space:]]*APPROVE[[:space:]]*$' /tmp/agent_out.md; then if grep -qiE '^[[:space:]]*APPROVE[[:space:]]*$' /tmp/agent_out.md; then
post_to "$ISSN" "$(printf '✅ Reviewed PR #%s — looks good.\n\n%s%s' "${PRN:-?}" "$reply" "$activity")" post_to "$ISSN" "$(printf '✅ Reviewed PR #%s — looks good.\n\n%s%s' "${PRN:-?}" "$reply" "$activity")"
trig "$ISSN" "@pm — @qa approved PR #${PRN:-?} (issue #$ISSN). Over to you." trig "$ISSN" "@pm — I have reviewed and approved PR #${PRN:-?} (issue #$ISSN). Over to you."
elif grep -qiE '^[[:space:]]*BOUNCE:[[:space:]]*@(junior|senior|lead)' /tmp/agent_out.md; then elif grep -qiE '^[[:space:]]*BOUNCE:[[:space:]]*@(junior|senior|lead)' /tmp/agent_out.md; then
dev=$(grep -oiE 'BOUNCE:[[:space:]]*@(junior|senior|lead)' /tmp/agent_out.md | head -1 | grep -oiE '(junior|senior|lead)' | tr '[:upper:]' '[:lower:]') dev=$(grep -oiE 'BOUNCE:[[:space:]]*@(junior|senior|lead)' /tmp/agent_out.md | head -1 | grep -oiE '(junior|senior|lead)' | tr '[:upper:]' '[:lower:]')
[ -z "$dev" ] && [ -n "$PRN" ] && dev=$(curl -sS "${hdr[@]}" "$API/pulls/$PRN" | jq -r '.user.login // "junior"') [ -z "$dev" ] && [ -n "$PRN" ] && dev=$(curl -sS "${hdr[@]}" "$API/pulls/$PRN" | jq -r '.user.login // "junior"')
@@ -120,7 +120,7 @@ if [ "$MODE" != "pr" ]; then
post_to "$ISSN" "🛑 Still not right after 3 fix attempts on PR #${PRN:-?} — handing to @ffaerber (details on the PR)." post_to "$ISSN" "🛑 Still not right after 3 fix attempts on PR #${PRN:-?} — handing to @ffaerber (details on the PR)."
else else
n=$((prior + 1)) n=$((prior + 1))
trig "$dest" "@${dev:-junior} please address @qa's review above and update PR #${PRN:-?} (fix attempt $n/3)." trig "$dest" "@${dev:-junior} please address my review above and update PR #${PRN:-?} (fix attempt $n/3)."
fi fi
elif grep -qiE '^[[:space:]]*HALT([_ ]AUTOPILOT)?[[:space:]]*$' /tmp/agent_out.md; then elif grep -qiE '^[[:space:]]*HALT([_ ]AUTOPILOT)?[[:space:]]*$' /tmp/agent_out.md; then
[ "$AUTOPILOT" = "true" ] && del_autopilot_label "$ISSN" [ "$AUTOPILOT" = "true" ] && del_autopilot_label "$ISSN"
@@ -216,7 +216,7 @@ if [ "$MODE" != "pr" ]; then
echo "DELEGATE:@qa but no open PR yet for issue #$ISSN — not firing" echo "DELEGATE:@qa but no open PR yet for issue #$ISSN — not firing"
fi fi
else else
trig "$ISSN" "@$target please proceed with issue #$ISSN per the plan above (delegated by $NAME)." trig "$ISSN" "@$target please proceed with issue #$ISSN per my plan above."
fi fi
else else
echo "no DELEGATE marker — not delegating (agent is asking or finished)" echo "no DELEGATE marker — not delegating (agent is asking or finished)"
@@ -297,6 +297,6 @@ else
# on the PR thread. The qa↔dev loop is direct — it does NOT go back through @pm each round. # on the PR thread. The qa↔dev loop is direct — it does NOT go back through @pm each round.
prpost "$prnum" "$(printf 'Pushed an update to PR #%s.%s' "$prnum" "$activity")" prpost "$prnum" "$(printf 'Pushed an update to PR #%s.%s' "$prnum" "$activity")"
case "$NAME" in case "$NAME" in
junior|senior|lead) trig "$prnum" "@qa please re-verify PR #$prnumthe dev has pushed an update." ;; junior|senior|lead) trig "$prnum" "@qa please re-verify PR #$prnumI have pushed an update." ;;
esac esac
fi fi