{% extends "base.html" %} {% block title %}Decision Traces — Agent Wasp{% endblock %} {% block content %}
{{ total }} traces · last 200 retained · 7d TTL
| When | Path | Chat | Tier | Lang | Guards | Latency | |
|---|---|---|---|---|---|---|---|
| {{ t.start_ts | int | string }} | {{ t.path }} | {{ t.chat_id or '—' }} | {{ t.request_tier }} | {{ t.detected_language }} | {% if t.guard_actions %} {{ t.guard_actions | length }} {{ t.guard_actions | join(', ') | truncate(60) }} {% else %} — {% endif %} | {{ t.latency_ms or 0 }}ms | json |
| No traces match the filters. | |||||||
Each row is one user request. Click "json" for full payload (blocked skills, all guards, notes). Operator answer to "why did WASP do this?" lives here.
{% endblock %}