Findings and the AI analyst
One queue, ranked by risk, and every decision kept.
In the consoleFindingsRisk
Read the queue
vaigil finding list --state open vaigil finding risk vaigil finding story IDLet the analyst take the first pass
vaigil analyst plan vaigil analyst triage --limit 20 --dry-runThe model is any OpenAI-compatible endpoint, set with
VAIGIL_MODEL_URL,VAIGIL_MODEL_KEYandVAIGIL_MODEL. Without one, findings are triaged by people alone.Decide
vaigil finding decide ID false-positiveThe states are open, triaged, accepted, fixed, stale, false-positive and benign.
What a log line cannot do to the analyst
A finding's evidence is log text, written by whoever reached the log. So nothing depends on the model declining an instruction, and the worst a planted line can do is make a suggestion wrong:
- What it reads, and in what order, is a plan fixed in code. Nothing a log says can add a step.
- It is given counts and closed words the program worked out, and, separately and marked, the text somebody else wrote.
- Its answer is one word from a closed set with a confidence, shown only above a threshold. The reason a person reads is assembled from the counts, never from what the model wrote.
- Personal data and credentials are masked before the prompt leaves and restored in the answer.
A person records the verdict; the analyst has no way to. vaigil analyst eval --k 3 measures it against what people decided.
Replay
vaigil detect replay runs today's rules over the events again and says which decisions would now be different, and vaigil detect learn FINDING turns a decision into a fixture.