An agent ships, then it drifts. Last week it was right. This week a stale article wins and it gives the wrong answer. Monitoring is how you spot that and fix it.
Thumbs up and thumbs down can't do it. You need a baseline, a way to see what changed, and a way to trace the problem back to the document that broke.
flowchart TD
CAPTURE["Save each interaction and the documents it pulled"]
TMAN["Trigger: dashboard button"]
TCAD["Trigger: on a schedule"]
TEVT["Trigger: a model, KB, or instruction change"]
SWEEP["Sweep: one run over a batch"]
TMAN --> SWEEP
TCAD --> SWEEP
TEVT --> SWEEP
CAPTURE --> SWEEP
SWEEP --> DET["Fixed checks, no LLM"]
SWEEP --> PROV["Source checks, read the trace"]
SWEEP --> JUDGE["Drift judge, optional"]
PROV --> FRESH["Stale document won"]
PROV --> SCOPE["Wrong jurisdiction answered"]
PROV --> AUTH["Governing document skipped"]
PROV --> CONTRA["Sources disagree"]
DET --> FIND["Findings, each tied to its interaction"]
FRESH --> FIND
SCOPE --> FIND
AUTH --> FIND
CONTRA --> FIND
JUDGE --> FIND
FIND --> PREV["Rate: how often each mode shows up"]
PREV --> DELTA["Change vs the last sweep"]
DELTA --> GATE{"Did a mode rise past the set threshold?"}
GATE -- "yes" --> ALERT["Drift alert: names the mode and the rise"]
GATE -- "no" --> DASH["Dashboard"]
ALERT --> DASH
DASH --> TRIAGE["Open the flagged trace"]
TRIAGE --> REPAIR["Fix the source or the instructions"]
REPAIR --> REMEASURE["Re-measure on the next sweep"]
REMEASURE --> CAPTURE
classDef capture fill:#C64A1122,stroke:#C64A11,stroke-width:2px
classDef trig fill:#6B625915,stroke:#6B6259,stroke-width:1.5px
classDef det fill:#8A5A0B22,stroke:#8A5A0B,stroke-width:1.5px
classDef prov fill:#1F5E9322,stroke:#1F5E93,stroke-width:1.5px
classDef check fill:#1F5E9315,stroke:#1F5E93,stroke-width:1.2px
classDef judge fill:#0E7C6622,stroke:#0E7C66,stroke-width:1.5px
classDef find fill:#6D3FC422,stroke:#6D3FC4,stroke-width:1.5px
classDef calc fill:#1F5E9322,stroke:#1F5E93,stroke-width:1.5px
classDef gate fill:#8A5A0B22,stroke:#8A5A0B,stroke-width:2px
classDef alert fill:#B03A2622,stroke:#B03A26,stroke-width:2px
classDef dash fill:#C64A1122,stroke:#C64A11,stroke-width:2px
classDef repair fill:#0E7C6622,stroke:#0E7C66,stroke-width:1.5px
class CAPTURE capture
class TMAN,TCAD,TEVT trig
class SWEEP capture
class DET det
class PROV prov
class FRESH,SCOPE,AUTH,CONTRA check
class JUDGE judge
class FIND find
class PREV,DELTA calc
class GATE gate
class ALERT alert
class DASH dash
class TRIAGE,REPAIR,REMEASURE repair