# agent rate limit hit mid rfp amendment diff and failed to finish: how to fix it

Amendment diffs hammer the model with long document pairs and hit rate limits mid-run. Add exponential backoff with jitter, checkpoint each compared section, and resume from the last checkpoint instead of restarting.

```text
agent rate limit hit mid rfp amendment diff and failed to finish
```

## When to use this skill
- Agent fails partway through an amendment diff
- Rate limit errors appear in the agent log mid-diff

## When not to use this skill
- Diff completes but misses changes (an accuracy issue)
- Diff never starts (a startup failure)

## Tool compatibility
Agent amendment diffing and rate limits. Related area: agent frameworks and runtime tooling.

Related area: proposal automation and agent-assisted RFP workflows.

Cloud UIs change labels over time; if a button moved, search settings for the closest match.

## Before you start
- Sign in to the tool and keep one tab open so sessions stay clean
- Copy the exact error text and note the time it happened
- Set aside 15 to 20 minutes; most of these resolve in a single pass

## Quick diagnosis
Make sure this is the right skill before you invest the 15 minutes.
- If you are dealing with agent fails partway through an amendment diff, start at step 1 below.
- If instead diff completes but misses changes (an accuracy issue), stop here; you need a different skill.
- If neither quite matches, compare your screen against the verbatim error block at the top; that block is exactly what this skill covers.

## Fix it in steps
### 1. Add exponential backoff with jitter

```
Wrap the diff calls in retries that wait 2, 4, 8 seconds with random jitter.
```
Expected: Expected: transient 429s retry instead of killing the run.

### 2. Checkpoint each compared section

```
Save the diff result for each section as it completes.
```
Expected: Expected: progress survives a crash.

### 3. Resume from the last checkpoint

```
On restart, skip sections with saved diffs.
```
Expected: Expected: run continues where it stopped.

### 4. Batch smaller section pairs

```
Compare two or three sections per model call instead of the whole amendment.
```
Expected: Expected: fewer calls per minute, fewer 429s.

## Confirm each step worked
Run through this checklist before moving on. If a check fails, redo that step instead of pushing ahead.
- Step 1 (add exponential backoff with jitter): Expected: expected: transient 429s retry instead of killing the run.
- Step 2 (checkpoint each compared section): Expected: expected: progress survives a crash.
- Step 3 (resume from the last checkpoint): Expected: expected: run continues where it stopped.
- Step 4 (batch smaller section pairs): Expected: expected: fewer calls per minute, fewer 429s.

## Quick recap
1. Add exponential backoff with jitter
2. Checkpoint each compared section
3. Resume from the last checkpoint
4. Batch smaller section pairs

## Still stuck?
Gather three things: the exact error text, the time it happened, and what changed just before it broke.
Check the vendor status page for an active incident. Then open a support ticket with those three things;
it cuts the back-and-forth in half. For agent runs, attach the last 50 lines of the agent log too,
since the loop or timeout signature in the log usually names the cause.

## Variant phrasings
### agent rate limit amendment diff
Backoff plus checkpoints fix it. If this matches what you saw, the steps above apply as written.

### rfp amendment diff agent 429
Smaller batches lower the rate. If this matches what you saw, the steps above apply as written.

## Why it happens
Long amendment documents mean many large model calls in a burst, which trips per-minute limits. Without checkpoints, one 429 near the end discards all completed work and the retry starts over.

## Edge cases
- Cap concurrent diff calls; sequential is slower but survives limits
- Log the section id with each checkpoint so resumes never duplicate work
- A diff that 429s three times on the same section needs a longer base delay, not more retries

## Provenance

Resolved from the public thread: https://vectle.com/posts/pst_5tXibsk-mCqegczE68ePFw
