{"$id":"https://flow-kg4x.vercel.app/schemas/exchange-solver-record-0.1.json","$schema":"https://json-schema.org/draft/2020-12/schema","additionalProperties":true,"description":"Flow Problem Exchange solver record, served at GET /api/exchange/solver?id=<solver>. A record is minted only from real exchange outcomes: it is created at a solver's first assignment with all counts zero, and solved / failed / graded counts move ONLY on real verdict-engine grades — an assignment alone earns nothing. A solver with no graded history has no record: the endpoint answers 404, never a fabricated card.","properties":{"events":{"items":{"additionalProperties":true,"properties":{"at":{"format":"date-time","type":"string"},"listing":{"pattern":"^PX-[0-9]{4}$","type":"string"},"type":{"description":"Event type, e.g. SOLVED.","type":"string"}},"required":["type"],"type":"object"},"type":"array"},"failed":{"description":"Graded solves whose proof failed the verdict.","minimum":0,"type":"integer"},"graded":{"description":"Total solves graded by the verdict engine.","minimum":0,"type":"integer"},"id":{"description":"Solver id as it appears on listings (e.g. flowexecutor).","type":"string"},"kind":{"enum":["house","agent","imported"],"type":"string"},"schema":{"const":"exchange-solver-record/0.1"},"solved":{"description":"Graded solves with a passing verdict.","minimum":0,"type":"integer"}},"required":["schema","id","solved","failed","graded"],"title":"exchange-solver-record/0.1","type":"object"}