Problem
When the dev-lead agent runs and makes no changes it still posts a fully-visible PR comment, e.g.:
Dev-Lead — fix-bot-comment (no-changes)
Engine ran but made no changes.
and similarly for other intents:
Dev-Lead — human-pr (no-changes)
No changes were needed for this PR.
These fire on every commit for every intent that finds nothing to do. On an active PR (e.g. #358) this generates a wall of noise comments that provide no actionable information.
Root cause
post_reviews_terminal in scripts/dev-lead-fix-reviews.sh (lines ~64–87) only suppresses the visible heading when $summary is empty:
local body="${marker}"
if [ -n "$summary" ]; then
body="${body}
## Dev-Lead — ${intent} (${status})
${summary}"
fi
But every no-changes call-site passes a non-empty summary string (lines ~373, 391, 408, 439, 467), so a fully visible comment is always posted.
The idempotency marker itself (the HTML comment <!-- dev-lead-fix-reviews pr=… -->) is still required to prevent retry loops — only the user-visible heading and summary are unnecessary.
Proposed fix
For no-changes status, omit the summary argument so post_reviews_terminal posts only the invisible HTML marker:
# fix-bot-comment
post_reviews_terminal "fix-bot-comment" "no-changes" # was: "Engine ran but made no changes."
# human-pr
post_reviews_terminal "human-pr" "no-changes" # was: "No changes were needed for this PR."
# fix-reviews
post_reviews_terminal "fix-reviews" "no-changes" # was: "No changes were needed for the open review threads."
# human
post_reviews_terminal "human" "no-changes" # was: "Engine ran but made no changes."
# rebase
post_reviews_terminal "rebase" "no-changes" # was: "PR is already up to date."
applied and rate-limited statuses should keep their visible summaries — those are meaningful events worth surfacing.
Examples
PR #358 has multiple instances: look for any comment from don-petry with the pattern ## Dev-Lead — * (no-changes).
Problem
When the dev-lead agent runs and makes no changes it still posts a fully-visible PR comment, e.g.:
and similarly for other intents:
These fire on every commit for every intent that finds nothing to do. On an active PR (e.g. #358) this generates a wall of noise comments that provide no actionable information.
Root cause
post_reviews_terminalinscripts/dev-lead-fix-reviews.sh(lines ~64–87) only suppresses the visible heading when$summaryis empty:But every
no-changescall-site passes a non-empty summary string (lines ~373, 391, 408, 439, 467), so a fully visible comment is always posted.The idempotency marker itself (the HTML comment
<!-- dev-lead-fix-reviews pr=… -->) is still required to prevent retry loops — only the user-visible heading and summary are unnecessary.Proposed fix
For
no-changesstatus, omit the summary argument sopost_reviews_terminalposts only the invisible HTML marker:appliedandrate-limitedstatuses should keep their visible summaries — those are meaningful events worth surfacing.Examples
PR #358 has multiple instances: look for any comment from
don-petrywith the pattern## Dev-Lead — * (no-changes).