Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 4 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -46,8 +46,10 @@ Every finding carries one judgment (`evaluator/Evaluator.go`):
- `trajectory/` — the `Run`/`Step` model, the JSON loader, and `Validate()`
(structural invariants: ids, timestamps, per-type required fields).
- `evaluator/` — the `Evaluator` interface and the evaluators:
- `tool_calls` — pairs tool calls with results (by tool name, in order) and
flags orphans (neutral) and tool errors (bad).
- `tool_calls` — pairs each tool result with its call by `toolCallId` when
present (authoritative, order-independent), falling back to tool name in FIFO
order only when a result carries no id; flags orphans (neutral) and tool
errors (bad).
- `loops` — flags repetition (same tool plus identical input, or same node)
at least `MaxRepeats` times; catches runaways the pairing check cannot see.
- `cost_latency` — flags per-step and whole-run cost/latency budget breaches
Expand Down
3 changes: 2 additions & 1 deletion cmd/trazo/main.go
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@ import (
"os"
"os/signal"
"strings"
"syscall"
"time"

"github.com/Cro22/trazo/config"
Expand Down Expand Up @@ -141,7 +142,7 @@ func main() {

// Cancel in-flight evaluation on Ctrl+C (SIGINT) or SIGTERM so a long run,
// notably one using the network-bound LLM judge, stops promptly.
ctx, stop := signal.NotifyContext(context.Background(), os.Interrupt)
ctx, stop := signal.NotifyContext(context.Background(), os.Interrupt, syscall.SIGTERM)
defer stop()

start := time.Now()
Expand Down
Loading