refund-agent-v2
retries-bounded-73060ad7 violated
What failed
- Severity
- HIGH
- Zero tolerance
- no
- Violation type
- RETRY BUDGET SIDE EFFECT EXCEEDED
- Summary
- The side-effecting step issue_refund was retried 1 time(s); at most 0 are permitted.
- Expected
- at most 0 retries of a side-effecting step
- Observed
- 1
Observed route
The route this run actually took. A step is marked as evidence only when the deterministic evaluator named its canonical index — nothing here searches for a step that merely looks similar.
| Evidence | Value | Role |
|---|---|---|
| canonical step | payment.refund | PROVES THIS VIOLATION |
| canonical node | 1 | PROVES THIS VIOLATION |
| canonical node | 6 | PROVES THIS VIOLATION |
| span | ae1d59f4b6acaa83 | PROVES THIS VIOLATION |
| span | f9f0a5c2f6e9a573 | PROVES THIS VIOLATION |
| Step | Service | Side effect | Evidence |
|---|---|---|---|
| refund.request | flightrules-demo-agent | none | — |
| payment.refund | flightrules-demo-agent | write | NAMED BY THE EVALUATOR |
| customer.notify | flightrules-demo-agent | external | — |
| customer.notify.handler | flightrules-notification-service | external | — |
| order.lookup | flightrules-demo-agent | read | — |
| order.lookup.handler | flightrules-order-service | read | — |
| payment.refund | flightrules-demo-agent | write | NAMED BY THE EVALUATOR |
| payment.refund.handler | flightrules-payment-service | write | — |
Approved route
The approved route family this run was judged against, as the contract's baseline recorded it.
| Step | Service | Kind | Tool | Side effect | Data domain | Attempt | Follows |
|---|---|---|---|---|---|---|---|
| refund.request | flightrules-demo-agent | Server | — | none | — | 1 | — |
| refund.calculate | flightrules-demo-agent | Client | calculate_refund | none | payments | 1 | refund.request |
| customer.notify | flightrules-demo-agent | Client | notify_customer | external | messaging | 1 | refund.request |
| customer.notify.handler | flightrules-notification-service | Server | — | external | messaging | 1 | customer.notify |
| fraud.check | flightrules-demo-agent | Client | check_fraud | read | risk | 1 | refund.request |
| fraud.check.handler | flightrules-fraud-service | Server | — | read | risk | 1 | fraud.check |
| order.lookup | flightrules-demo-agent | Client | lookup_order | read | orders | 1 | refund.request |
| order.lookup.handler | flightrules-order-service | Server | — | read | orders | 1 | order.lookup |
| policy.retrieve | flightrules-demo-agent | Client | retrieve_policy | read | policy | 1 | refund.request |
| policy.retrieve.handler | flightrules-policy-service | Server | — | read | policy | 1 | policy.retrieve |
| payment.refund | flightrules-demo-agent | Client | issue_refund | write | payments | 1 | refund.request |
| payment.refund.handler | flightrules-payment-service | Server | — | write | payments | 1 | payment.refund |
Trace evidence
- Trace
- 9dcdfca84541fd36fd81be4ae15314b3
- Spans
- ae1d59f4b6acaa83, f9f0a5c2f6e9a573
- SigNoz
- no deep link was recorded
Correlated logs
Fetched from SigNoz on request, correlated strictly by this violation's trace identifier — never by a time window or a service name, either of which would attach another run's logs to this finding.
Downstream metrics
What this violation actually caused, and — just as importantly — what kind of claim each number is. FlightRules reports what it measured and what the evaluator observed. It does not estimate a financial loss, because the telemetry does not show one.
- Result
- OK
| Metric | Kind of claim | Meaning | Observations | Latest value |
|---|---|---|---|---|
| flight_rules.violations | MEASURED | Measured. FlightRules recorded this number itself. | 59 | 0 |
Release context
- Release
- refund-agent-v2
- Contract
- 019fa000-1484-718f-a748-2f040a8afab5 0.1.0
- Contract hash
- 2a714715d8f5b3ce28dd9e062f608d799cfb0aa2197a58ce48d8ca2a01a8d513
Rule definition
- Rule
- retries-bounded-73060ad7
- Rule type
- retry budget
- Violation key
- retries-bounded-73060ad7:RETRY_BUDGET_SIDE_EFFECT_EXCEEDED:68a489cc31d7cd22
Evaluation record
- Run evaluation
- 019fa006-491d-71f5-a280-238d54e3680a
- Evaluator version
- 1.0.0
- Evaluated at
- 2026-07-26 20:03:14
- Recorded at
- 2026-07-26 20:03:14
Evidence summary
A deterministic, safe summary for an issue or a review. It carries identifiers, hashes and the evaluator's own expected-versus-observed statement, and no prompt, tool argument, tool result or customer field — because it is assembled from fields that carry none.
A violation is never dismissed. A new contract version, or an explicit fixture exclusion, is the only way to change this outcome, and both write an audit record.