From 9b455132773718ac05cb46e1c7467b845d040d02 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Przemys=C5=82aw=20K=C5=82ys?= Date: Mon, 9 Feb 2026 10:19:52 +0100 Subject: [PATCH] AGENTS: add infra-blocked escape hatch and timebox --- AGENTS.md | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) diff --git a/AGENTS.md b/AGENTS.md index 6a7535b90..7010ee6e5 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -18,9 +18,12 @@ This file defines how automated agents should operate in this repo. Follow it fo 2. Inspect details: `gh pr view --repo EvotecIT/IntelligenceX`. 3. Check CI: `gh pr checks --repo EvotecIT/IntelligenceX`. 4. If CI fails, inspect logs: `gh run view --repo EvotecIT/IntelligenceX --log --job `. -5. Rebase onto `origin/master` before merge if needed. -6. Merge only when all required checks pass and the PR is mergeable. -7. Merge with squash + delete branch: `gh pr merge --repo EvotecIT/IntelligenceX --squash --delete-branch`. +5. Classify CI failures before making code changes: + - Actionable: compilation/test failures, lints, static analysis findings, reviewer bot blockers. Fix in code and re-run checks. + - Infra-blocked: GitHub billing/spend-limit, runner capacity/unavailable, third-party premium/auth gating (Copilot/Claude/etc), or GitHub outage. Do not churn on code changes. Record the blocker and proceed per the PR Handling Loop infra rule. +6. Rebase onto `origin/master` before merge if needed. +7. Merge only when all required checks pass and the PR is mergeable. +8. Merge with squash + delete branch: `gh pr merge --repo EvotecIT/IntelligenceX --squash --delete-branch`. **PR Handling Loop (Required)** When an agent is assigned a PR to improve or unblock, it must iterate until merge blockers are clean. @@ -33,7 +36,14 @@ When an agent is assigned a PR to improve or unblock, it must iterate until merg 6. Apply fixes, then re-run checks and re-check bot output: Run: `gh pr checks --repo EvotecIT/IntelligenceX` If the bot posts new todo/critical items, repeat. -7. Only move on to the next PR when the current PR has no remaining todo/critical blockers (or maintainers explicitly decide to accept the risk). +7. Infra-blocked escape hatch: + - If required checks cannot run due to infra-blocked reasons (billing/spend limit, runner outage/capacity, third-party premium/auth gating), stop iterating. + - Create a single tracking item (preferred: sync explicit bot checklist items into `TODO.md`, otherwise create a GitHub issue) with a link to the failed run/check. + - Move on to the next PR only after the infra blocker is recorded, or maintainers explicitly decide to accept the risk. +8. Timebox rule (to prevent endless bot-chasing): + - Default limit: 2 full iterations of the bot loop or 60 minutes per PR (whichever comes first). + - If still blocked after the timebox, post a short status summary (what’s fixed, what’s left, why it’s hard) and wait for maintainer direction to continue. +9. Only move on to the next PR when the current PR has no remaining todo/critical blockers (or maintainers explicitly decide to accept the risk, or the PR is infra-blocked and recorded per step 7). **Review Feedback Backlog** 1. Aggregate bot review feedback using `gh api graphql`.