feat: implement issue #2169 — pr-review reaches approve but cannot post it (approval marker missing), and the same head gets approve/LOW in one run and escalate/HIGH in the next
Problem
pr-review reaches approve but cannot post it (approval marker missing), and the same head gets approve/LOW in one run and escalate/HIGH in the next
From the issue: A pr-review cascade can reach an approve verdict and then fail to post it, because the synthesized approval body does not contain a complete approval marker. The #1754 guard correctly refuses to submit, but the run then exits 1 with nothing written to the PR. A re-run redoes the whole cascade and can reach a different verdict, so the outcome for the same head SHA depends on which run happens to post.
Risk
Low — changes automation shell logic under scripts/, covered by shellcheck (--severity=warning) and the bats suite.
Test plan
Tests added/updated: tests/test_post_pr_review_escalation.bats. Verification: bash scripts/dev-lead-lint.sh (shellcheck --severity=warning) ran pre-commit; the bats suite runs in CI.
Rollback
Revert this PR. No non-revertible side effects (no tags, migrations, or external state).
Monitoring
This PR's Lint (shellcheck) and bats checks show pass/fail; watch subsequent dev-lead / pr-review runs for behavioral regressions.
Closes #2169