Skip to content

refund-agent-v2

single-payment-refund-write-8846bedd violated

Open trace in SigNoz

What failed

Severity
CRITICAL
Zero tolerance
yes
Violation type
CARDINALITY ABOVE MAX
Summary
payment.refund, agent.side_effect = write occurred 2 times; the contract permits at most 1 per run.
Expected
at most 1 per run
Observed
2

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.

Every piece of positional evidence the evaluator recorded for this violation
EvidenceValueRole
canonical steppayment.refundPROVES THIS VIOLATION
canonical node1PROVES THIS VIOLATION
canonical node6PROVES THIS VIOLATION
span942794714b6b8658PROVES THIS VIOLATION
span6f7279604065c9e1PROVES THIS VIOLATION
Every step of the observed run, with the evaluator's evidence marked
StepServiceSide effectEvidence
refund.requestflightrules-demo-agentnone
payment.refundflightrules-demo-agentwriteNAMED BY THE EVALUATOR
customer.notifyflightrules-demo-agentexternal
customer.notify.handlerflightrules-notification-serviceexternal
order.lookupflightrules-demo-agentread
order.lookup.handlerflightrules-order-serviceread
payment.refundflightrules-demo-agentwriteNAMED BY THE EVALUATOR
payment.refund.handlerflightrules-payment-servicewrite

Approved route

The approved route family this run was judged against, as the contract's baseline recorded it.

The approved route, node by node, in canonical order
StepServiceKindToolSide effectData domainAttemptFollows
refund.requestflightrules-demo-agentServernone1
  refund.calculateflightrules-demo-agentClientcalculate_refundnonepayments1refund.request
  customer.notifyflightrules-demo-agentClientnotify_customerexternalmessaging1refund.request
    customer.notify.handlerflightrules-notification-serviceServerexternalmessaging1customer.notify
  fraud.checkflightrules-demo-agentClientcheck_fraudreadrisk1refund.request
    fraud.check.handlerflightrules-fraud-serviceServerreadrisk1fraud.check
  order.lookupflightrules-demo-agentClientlookup_orderreadorders1refund.request
    order.lookup.handlerflightrules-order-serviceServerreadorders1order.lookup
  policy.retrieveflightrules-demo-agentClientretrieve_policyreadpolicy1refund.request
    policy.retrieve.handlerflightrules-policy-serviceServerreadpolicy1policy.retrieve
  payment.refundflightrules-demo-agentClientissue_refundwritepayments1refund.request
    payment.refund.handlerflightrules-payment-serviceServerwritepayments1payment.refund

Inspect release diff

Trace evidence

Trace
7eab676eb948ebe9bcb706f697413725
Spans
942794714b6b8658, 6f7279604065c9e1
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.

Open correlated logs

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 series associated with this violation, and what kind of claim each one is
MetricKind of claimMeaningObservationsLatest value
flight_rules.duplicate_side_effectsOBSERVED SIDE EFFECTObserved side effect. The evaluator counted this in the trace. It is a count of repetitions, not a measure of their cost.590

Release context

Release
refund-agent-v2
Contract
019fa000-1484-718f-a748-2f040a8afab5 0.1.0
Contract hash
2a714715d8f5b3ce28dd9e062f608d799cfb0aa2197a58ce48d8ca2a01a8d513

Rule definition

Rule
single-payment-refund-write-8846bedd
Rule type
cardinality
Violation key
single-payment-refund-write-8846bedd:CARDINALITY_ABOVE_MAX:dc1edd9c49fa4a2a

Evaluation record

Run evaluation
019fa006-4916-722a-81e8-9ca015dd4474
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.

Open trace in SigNoz

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.