{"ok":true,"requestId":"be287730-46bd-4d74-9ba5-2dbfb9d50faa","endpoint":"/api/labs/graph-risk-engine","method":"POST","openapi":"/api/openapi.json","production":{"engineVersion":"graph-risk-engine@2026.07.2","contractVersion":"2.3.0","dataVersion":"synthetic-risk-graph-v2","riskClass":"critical","readiness":"production-shaped-sandbox","execution":{"deterministic":true,"sideEffects":"none","latencyBudgetMs":100,"maxOutputBytes":262144,"replay":"content-addressed"},"controls":["strict input contract","bounded request and output","content-addressed replay receipt","structured failure envelope","request and engine trace metadata"],"releaseGates":["bounded propagation","convergence evidence","MetaPath explanation","model inventory record"],"promotionBlockers":["independent owner sign-off","persistent audit sink","globally consistent gateway rate limit","representative production-data validation","on-call ownership and rollback drill","out-of-time validation","bias and stability monitoring"]},"slug":"graph-risk-engine","title":"Graph Risk Engine","summary":"Heterogeneous risk graph, damped message passing and Account-Device-Account MetaPaths.","capabilities":["knowledge graph","GNN analogue","MetaPath","explainable risk"],"dataBoundary":"Small synthetic entity graph; no Allinpay accounts, devices or risk labels.","sampleInput":{"iterations":8,"damping":0.62,"tolerance":0.001}}