jev-logtriage
Jev scores collapsed log batches for noise, severity, and whether an operator should act.
Jev scores collapsed log batches for noise, severity, and whether an operator should act. Code maps the answers to suppress, watch, review, notify, or page. Nothing is executed.
jev-logtriage</strong><br>
<a href="https://docs.typesafe.ai/introduction/quickstart">Jev</a> decides whether a batch of logs is worth acting on.<br>
Your code keeps the thresholds. Nothing is executed.
</p>
<p align="center">
<a href="https://pypi.org/project/jev-logtriage/"><img alt="PyPI" src="https://img.shields.io/pypi/v/jev-logtriage?style=flat-square"></a>
<a href="https://github.com/jyatesdotdev/jev-logtriage/blob/main/LICENSE"><img alt="MIT" src="https://img.shields.io/badge/license-MIT-5a4a63?style=flat-square"></a>
<a href="https://docs.typesafe.ai/introduction"><img alt="Jev" src="https://img.shields.io/badge/TypeSafe-Jev-e551ba?style=flat-square"></a>
<a href="https://www.python.org/"><img alt="Python 3.10+" src="https://img.shields.io/badge/python-3.10+-3776ab?style=flat-square"></a>
</p>
<p align="center">Independent. Not an official TypeSafe AI project.</p>
```text
logs -> collapse -> jev (6 questions, one call) -> code gates
|
suppress | watch | review | notify | page
```
Prometheus is good at conditions you already know how to write in PromQL. This is for the rest. Repeated benign warnings get `suppress`. A helm reconcile error and a failed ntfy push get `notify`. Low confidence never auto-acts. It goes to `review`.
## Try it
Needs [uv](https://docs.astral.sh/uv/) and a [TypeSafe API key](https://console.typesafe.ai/settings/keys). Loki is not required.
No clone:
```bash
export TYPESAFE_API_KEY=apikey_...
uvx --from jev-logtriage logtriage --demo
```
From this repo:
```bash
export TYPESAFE_API_KEY=apikey_...
uv run logtriage --demo
```
`uv run` creates `.venv`, installs `uv.lock`, and runs the script. Python 3.10+ is enough.
Without uv:
```b