Missing fraud report (partner)¶
When scoring succeeds but the banking dashboard never shows a report.
Scope
This guide uses observable integrator signals only. Internal messaging configuration is not required for the first checks and is not documented here.
What “missing report” means¶
| You observed | Interpretation |
|---|---|
| Scoring HTTP 200 with a prediction | Score path completed |
| No report on your create-report receiver / dashboard | Handoff or compose did not complete successfully — not proof of low risk |
Safe checklist (integrators)¶
- Confirm scoring response — Keep
transaction_id, tenant, timestamp, and prediction summary (redacted). - Confirm your callback endpoint — Is
POST …/transaction/create-reportreachable from MasteryHive’s environment? TLS and DNS correct? - Confirm outbound auth verification — Your backend must accept
Authorization: ApiKey <ai-jwt>and verify with the AI public key — report callback. Rejected auth → no stored report. - Check for contract rejection classes — If compose rejects the prediction (
ML_SCORE_TIER_CONFLICT,AMBIGUOUS_PREDICTION_CONTRACT, mixed identity keys), the same body will never become a report. Do not treat as “still processing.” See output contract. - Cold start / rule path — Thin-history customers may skip baselines; prefer rule scoring. Missing baseline ≠ missing report by itself.
- Idempotent upsert — If callbacks arrive twice, your handler must not drop the first successful write.
- Time window — Allow the agreed delivery interval; then alert — do not assume approve/low risk from silence.
What to send support¶
Use the triage checklist plus:
- Scoring 200 body excerpt (redacted)
- Whether your create-report access logs show a hit (status code only)
- Whether you recently rotated keys
What support / engineering do next (internal)¶
Platform operators diagnose compose logs, delivery retries, and messaging — using internal runbooks. Partners should not need topic names to open a valid ticket.