{"openapi":"3.1.0","info":{"title":"Longyu Xu AI Engineering Labs API","version":"1.0.0","description":"Deterministic, inspectable AI engineering reconstructions using public or synthetic data. No employer code, private model weights or customer data are exposed."},"tags":[{"name":"Labs","description":"Runnable resume-project engineering kernels"}],"paths":{"/api/health":{"get":{"operationId":"getHealth","summary":"Service health and lab count","responses":{"200":{"description":"Healthy"}}}},"/api/labs":{"get":{"tags":["Labs"],"operationId":"listLabs","summary":"List runnable labs and sample requests","responses":{"200":{"description":"Lab manifest"}}}},"/api/labs/{slug}":{"get":{"tags":["Labs"],"operationId":"getLab","summary":"Inspect one lab contract and sample request","parameters":[{"name":"slug","in":"path","required":true,"schema":{"type":"string","enum":["wechat-knowledge-agent","payment-dialog-optimizer","video-eval-router","rag-eval-workbench","finance-rag-analyst","graph-risk-engine","werewolf-agent-loop"]}}],"responses":{"200":{"description":"Lab definition"},"404":{"$ref":"#/components/responses/Error"}}},"post":{"tags":["Labs"],"operationId":"runLab","summary":"Validate and execute one lab","parameters":[{"name":"slug","in":"path","required":true,"schema":{"type":"string","enum":["wechat-knowledge-agent","payment-dialog-optimizer","video-eval-router","rag-eval-workbench","finance-rag-analyst","graph-risk-engine","werewolf-agent-loop"]}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object"},"examples":{"wechat-knowledge-agent":{"summary":"WeChat Pay Knowledge Agent","value":{"query":"API 超时后能不能直接重试？","memory":{},"bertThreshold":0.62}},"payment-dialog-optimizer":{"summary":"Payment Funnel & Dialog Optimizer","value":{"context":{"stage":"authorization","cause":"intent","exposures":1,"dismissed":false,"hoursSinceLastPrompt":28,"blocked":false},"simulation":{"users":2400,"seed":2026}}},"video-eval-router":{"summary":"Video Evaluation & MCP Router","value":{"prompt":"人物沿街奔跑，镜头平滑跟随","metrics":{"temporal":0.82,"subject":0.74,"motion":0.79,"prompt":0.88},"judgeScore":0.86,"humanScore":0.8,"rank":2,"alpha":8}},"rag-eval-workbench":{"summary":"RAG Evaluation Workbench","value":{"candidate":{"id":"case-grounded","answer":"高风险客户需要核验受益所有人和资金来源，并执行加强尽调；结论需要由合规复核。","claims":["高风险客户需要加强尽调","需要核验受益所有人和资金来源"],"citations":["KYC-01","AML-07"],"latencyMs":1180},"memory":{"citationMisses":{},"rejectedPatterns":[],"reviewed":0}}},"finance-rag-analyst":{"summary":"Finance RAG Analyst","value":{"scenario":{"price":106,"volume":1130,"fx":1.05,"fixedCost":28000,"variableCost":58},"query":"解释收入、利润和汇率差异"}},"graph-risk-engine":{"summary":"Graph Risk Engine","value":{"iterations":2,"damping":0.62}},"werewolf-agent-loop":{"summary":"Werewolf Agent Loop","value":{"variant":"evidence-first","rounds":4,"comparisonRounds":4}}}}}},"responses":{"200":{"description":"Execution result","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessEnvelope"}}}},"404":{"$ref":"#/components/responses/Error"},"413":{"$ref":"#/components/responses/Error"},"415":{"$ref":"#/components/responses/Error"},"422":{"$ref":"#/components/responses/Error"}}}},"/api/openapi.json":{"get":{"operationId":"getOpenApiDocument","summary":"OpenAPI 3.1 service contract","responses":{"200":{"description":"OpenAPI document"}}}}},"components":{"schemas":{"SuccessEnvelope":{"type":"object","required":["ok","requestId","lab","durationMs","output"],"properties":{"ok":{"const":true},"requestId":{"type":"string"},"lab":{"type":"string","enum":["wechat-knowledge-agent","payment-dialog-optimizer","video-eval-router","rag-eval-workbench","finance-rag-analyst","graph-risk-engine","werewolf-agent-loop"]},"durationMs":{"type":"number","minimum":0},"output":{}}},"ErrorEnvelope":{"type":"object","required":["ok","requestId","error"],"properties":{"ok":{"const":false},"requestId":{"type":"string"},"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string"},"message":{"type":"string"},"issues":{"type":"array"}}}}}},"responses":{"Error":{"description":"Structured API error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}}}}}