98f4f82db2ed121678f6259a9683c51adbb82d61
The build-deploy job posts a 'Prêt à tester' comment whose body literally contains 'Reply **LGTM** pour merger' and 'Reply **KO**' as instructions to the reviewer. wait-approval re-fetches ALL comments every 30s and greps any body for \bLGTM\b (checked before KO) — so on the first poll (~30s after deploy) the bot matched its OWN comment and squash-merged automatically, with no human review. Regressed in #6937a36 (PR #12) which tightened the regex to catch 'Tested, LGTM!' but didn't notice the bot body matched. Fix (sentinel marker + python parse, identity-agnostic so it's safe whether PR_API_TOKEN is a bot or a personal account): - build-deploy: embed <!-- tabatago:ready-to-test --> in the bot comment (HTML comment, invisible in rendered markdown, present in raw body). - wait-approval: replace the fragile grep-over-JSON with a python3 heredoc using json.loads + the existing \bLGTM\b / \bKO\b regexes. Skip any comment whose body contains the sentinel marker. Check KO BEFORE LGTM so a PR with both signals blocks (matches the existing 'KO blocks' intent). LGTM still does {"Do":"squash"}; KO still blocks; 2h timeout unchanged. Verified locally with three scenarios: bot-only -> PENDING (was LGTM before — the bug) bot + reviewer -> LGTM (squash-merge still fires) bot + KO -> KO (block still fires, even with bot LGTM in history) AGENTS.md §5 step 9, §5 pitfalls, and §8 anti-patterns updated so the doc describes the marker rule and warns against re-introducing the self-match.
Description
No description provided