Establish what is happening
Capture routing identity
Record endpoint, environment, subscription label, event ID, tenant and resource identifiers, source context, and route result. Redact payload and secrets. Note whether routing was explicit or inferred from a current default.
Compare tenant cases
Run two tenants with similar resource keys, a valid tenant, missing tenant, conflicting identifiers, and unknown subscription fixtures. Compare lookup, authorization, receipt, and local record. A matching resource key cannot prove tenant identity.
Bound cross-tenant risk
Group events by endpoint, subscription, tenant label, resource, handler revision, and disposition. Separate safe quarantine, wrong route, missing context, and stale cache. Preserve any records created under uncertain context for review. Keep uncertain records visible.
What to carry forward
Triage ends with source and tenant identity, first routing boundary, affected records, and evidence gap. Keep ambiguous events out of side effects. Route subscription, lookup, and authorization questions separately for reconciliation review, and name a reviewer for reconciliation.
Technical background: GitHub documentation.
Keep the decision with the work.
Use a Work Item in Aglet to record the problem, the evidence you have, and the next decision. Add an owner and priority, then keep updates in the discussion so the next person can follow the reasoning.
Create an account See the product workflow