Stop paying
agents to spin.

ProgressGate detects semantic stagnation in AI agent loops, even when every action looks different.

Add it to an agent

$ npm install progressgate

Different actions.
Same broken assumption.

ProgressGate looks past surface novelty and checks whether your agent is actually making progress.

Four different agent actions lead to an open circuit breaker.

progressgate demo: failing deployment

goal: Fix the failing deployment
Step Agent action / result Gate Key signals

Check progress before the next agent step

// once per run
const run = gate.run({ goal });

// before your next expensive model call
const result = await run.observe(step);

if (result.decision === "HALT") return stop();
if (result.decision === "REPLAN") injectFeedback(result.reasonCode);
// CONTINUE / WARN -> proceed as normal

Why step limits aren't enough

A step count can't tell productive exploration from busywork. It cuts off a real investigation at the same count it lets a spinning agent burn through, because it has no idea the agent is still testing the same falsified assumption.

ProgressGate looks at whether the underlying assumption changed, not how many actions were taken.