Trace
What happened across this specific request, in order?
Trace the request forward to the first observable divergence.
| Boundary | Typical failure | First evidence |
|---|---|---|
| Frontend | Stale view, wrong API base, duplicate submit | Network, console, rendered state |
| API | Bad validation, unsafe retry | Request ID, route logs, response |
| Model | Timeout, malformed or unsupported output | Provider timing, model ID, tokens |
| Database | Constraint failure, stale version | Transaction, schema, migration |
| Cross-boundary | Local differs from deployed | Environment, commit, target, CORS |
What happened across this specific request, in order?
Which technical event, warning, or error occurred?
How often, how slow, how costly, how widespread?
| Situation | Avoid | Prefer |
|---|---|---|
| Model fails after evidence saved | Ask for duplicate submission | Retry against same durable evidence |
| Stale review races newer state | Overwrite newer facts | Version conflict and re-review |
| Malformed references | Write partial records | Reject deterministically |
| Provider unavailable | Pretend success | Safe failure without changing authority |
| Segment | Look for |
|---|---|
| Frontend / network | Request duplication, slow connection, stale client render |
| API orchestration | Validation and coordination, serialization overhead |
| Model provider | Inference latency, token volume, model/version changes |
| Validation / persistence | Schema checks, failed transactions, version conflicts |
| Rehydration | Authoritative response and deterministic UI refresh, not arbitrary sleeps |
| Failure | Better pattern |
|---|---|
| Evidence saved; model call fails | Keep durable Evidence and retry interpretation only |
| Old review races with newer state | Reject stale proposals using version checks |
| Shape-valid output has bad references | Reject deterministically rather than persist partial records |
| Frontend waits for update | Use server response and authoritative revalidation, not sleep(300ms) |
| Provider unavailable | Safe failure; preserve truth and offer controlled retry |
Define a behavior contract before selecting a model: task-level quality bar, maximum critical-error severity, p95 latency, cost per successful outcome, required tool support, output structure, permission boundary, and recovery behavior.
| Change to watch | What to verify |
|---|---|
| Model alias or provider preset changes | Record the resolved model/configuration; rerun critical evals, tool calls, refusal/uncertainty cases and latency/cost checks. |
| Retrieval or data updates | Test freshness, provenance, access filtering and contradictory sources. |
| No known deployment or announcement | Run small scheduled behavioral canaries; compare outcomes against a known baseline and alert on meaningful drift. |