Highlights
First-ever all-profile composite gate PASS across both runtime modes (handcrafted-only and handcrafted+TDA). The stuck false-positive backlog — sole remaining composite gate blocker since v1.13.0 — is eliminated.
Changed
- Trace-level stuck+runaway co-occurrence suppression — when
runaway_cost and stuck co-fire on the same trace, stuck is suppressed. findings_plateau (the dominant stuck trigger on runaway-positive traces) is a natural precursor to cost runaway; the stuck signal is a symptom, not root cause.
Impact
| Metric |
v1.17.0 |
v1.18.0 |
| stuck FP (default) |
38 |
0 |
| stuck P_lb (default) |
0.718 |
0.974 |
| Composite gate |
3/4 profiles |
4/4 profiles |
| TP regressions |
— |
0 |
Cross-Framework Bench Numbers (1494-trace corpus)
| Profile |
stuck P_lb |
runaway P_lb |
Composite |
| default |
0.974 |
0.945 |
PASS |
| langgraph |
0.969 |
0.939 |
PASS |
| crewai |
0.969 |
0.939 |
PASS |
| dspy |
excluded |
0.820 |
PASS |
Bundled Corpus (370 traces)
| Detector |
P |
R |
F1 |
| vitals.any |
1.000 |
0.946 |
0.972 |
| loop |
0.977 |
1.000 |
0.988 |
| stuck |
0.913 |
0.785 |
0.844 |
| runaway_cost |
1.000 |
0.895 |
0.944 |
Install
pip install agent-vitals==1.18.0
Full changelog: https://github.com/kneelinghorse/agent-vitals/blob/main/CHANGELOG.md