ProgressGate uses TypeSafe Jev to detect when an AI agent is taking different actions without making real progress, then returns CONTINUE, WARN, REPLAN, or HALT decisions before the next model call.
Built this after getting early access to TypeSafe Jev.
One agent failure mode kept bothering me: the agent is clearly stuck, but it does not look stuck.
It checks logs. Tries another path. Changes a parameter. Switches tools.
Every action looks different, but they all depend on the same broken assumption. ProgressGate sits between agent steps and the next model call.
Jev makes the semantic judgments:
- is the agent actually making progress?
- is this a genuinely new strategy?
- is it still acting on contradicted assumptions?
- is the situation getting worse?
Then deterministic code decides whether to CONTINUE, WARN, REPLAN, or HALT.
I also ran a small end-to-end benchmark before launching.
Across 20 deliberately stuck scenarios:
115 -> 80 model calls
151.7K -> 104.9K tokens
That was 30.4% fewer model calls and 30.8% fewer tokens.
The largest reduction I saw was:
12 -> 4 model calls
19.9K -> 5.1K tokens
For the healthy control set, 20/20 runs still completed and 0/20 were falsely HALTed.
These are benchmark results from one model and deterministic simulated tools, not production claims.
It is open source and very much v0.1.
Would especially love agent traces where it makes the wrong call.
Source is here: https://github.com/AshutoshVJTI/progressgate
Install: npm install progressgate
Built on TypeSafe Jev.