{"data":{"status":"fail","results":[{"index":0,"status":"pass","fenValid":true,"fen":"rnbqkbnr/pppp1ppp/8/4p3/4P3/5N2/PPPP1PPP/RNBQKB1R b KQkq - 1 2","legal":true,"played":[{"input":"e4","uci":"e2e4","san":"e4","flags":["double_push"],"fen":"rnbqkbnr/pppppppp/8/8/4P3/8/PPPP1PPP/RNBQKBNR b KQkq e3 0 1"},{"input":"e5","uci":"e7e5","san":"e5","flags":["double_push"],"fen":"rnbqkbnr/pppp1ppp/8/4p3/4P3/8/PPPP1PPP/RNBQKBNR w KQkq e6 0 2"},{"input":"Nf3","uci":"g1f3","san":"Nf3","flags":[],"fen":"rnbqkbnr/pppp1ppp/8/4p3/4P3/5N2/PPPP1PPP/RNBQKB1R b KQkq - 1 2"}],"position":{"turn":"black","inCheck":false,"checkmate":false,"stalemate":false,"insufficientMaterial":false,"fiftyMoveClaimable":false,"halfmoveClock":1,"fullmoveNumber":2,"legalMoveCount":29},"claimMatches":true},{"index":1,"status":"fail","fenValid":true,"fen":"4k3/8/8/8/8/8/5r2/4K2R w K - 0 1","legal":false,"reason":"castling_through_check","failedMoveIndex":0,"position":{"turn":"white","inCheck":false,"checkmate":false,"stalemate":false,"insufficientMaterial":false,"fiftyMoveClaimable":false,"halfmoveClock":0,"fullmoveNumber":1,"legalMoveCount":11}}],"summary":{"items":2,"pass":1,"fail":1,"unknown":0,"unsupported":0},"witnesses":[{"ruleId":"FIDE-3.8.2.2","detail":"castling_through_check: the king would cross an attacked square (FIDE 3.8.2.2)","path":"items[1].move","index":0,"actual":"O-O","expected":"a legal move in this position"}],"versions":{"engine":"chess-move engine 1.0 (mailbox, pseudo-legal + king-safety filter)","rules":"FIDE Laws of Chess effective 2023-01-01, https://handbook.fide.com/chapter/E012023, fetched 2026-11-04","fen":"Forsyth-Edwards Notation, https://www.chessprogramming.org/Forsyth-Edwards_Notation, fetched 2026-11-04","perftReference":"https://www.chessprogramming.org/Perft_Results, fetched 2026-11-04: start position depth 1-3 = 20/400/8902, Kiwipete depth 1-2 = 48/2039 (all reproduced in the test suite)","enPassantFenConvention":"FEN en-passant field is written after every double pawn push, whether or not a capture is possible (the FEN standard); input accepts both that and capture-only forms"},"limits":["Bounds: at most 50 items, 200 moves per item, 400 moves and 20 list requests per call.","Threefold repetition and the 75-move rule are not computed; fiftyMoveClaimable only reports halfmove clock >= 100.","SAN input is lenient on check/mate suffixes and a missing 'x' on piece moves; a spurious 'x' or an ambiguous move is rejected.","A FEN whose side not to move is in check, or whose castling rights contradict the board, is rejected as an illegal position."],"deterministic":true},"_provenance":{"version":"writerslogic-provenance/1","issuer":"did:web:agents.writerslogic.com","verify":{"endpoint":"POST /api/v1/verify-provenance","did":"did:web:agents.writerslogic.com"},"manifest":{"format":"application/json","instance_id":"xmp:iid:82abef1b-e3d9-41af-8639-724d994e104b","claim_generator_info":[{"name":"WritersLogic x402 Agent Hub","version":"2.0.0"}],"title":"Chess move legality, SAN/UCI conversion and next FEN","assertions":[{"label":"c2pa.actions.v2","data":{"actions":[{"action":"c2pa.created","when":"2026-11-06T01:30:31.716Z","softwareAgent":{"name":"writerslogic-agent-hub/chess-move","version":"2.0.0"},"digitalSourceType":"http://cv.iptc.org/newscodes/digitalsourcetype/algorithmicMedia","parameters":{"endpoint":"POST /api/v1/chess-move","inputDigest":{"alg":"sha256","hash":"effe4566f47c7b183059d47896dc02ca4232e29e38123547bcf9f69ad9f1f436","canonicalization":"JCS"}}}]}},{"label":"c2pa.hash.data","data":{"alg":"sha256","hash":"a2f4507f62b81adbc45bffe3faaa1fca21294045b4320a6925196c3b56d22067","name":"jcs-canonical-json(data)"}}]},"credential":{"@context":["https://www.w3.org/ns/credentials/v2"],"id":"urn:uuid:21d9c80a-ba8f-4695-a415-576c82e7cb67","type":["VerifiableCredential","AgentOutputCredential"],"issuer":"did:web:agents.writerslogic.com","validFrom":"2026-11-06T01:30:31.716Z","credentialSubject":{"id":"urn:sha256:a2f4507f62b81adbc45bffe3faaa1fca21294045b4320a6925196c3b56d22067","agent":"chess-move","endpoint":"POST /api/v1/chess-move","outputDigest":{"alg":"sha256","value":"a2f4507f62b81adbc45bffe3faaa1fca21294045b4320a6925196c3b56d22067","canonicalization":"JCS"},"inputDigest":{"alg":"sha256","value":"effe4566f47c7b183059d47896dc02ca4232e29e38123547bcf9f69ad9f1f436","canonicalization":"JCS"},"manifestDigest":{"alg":"sha256","value":"f7128bde44a1b6b3c5a4d7cca5ac694a99738f46d40d55fdf4b278acd79fbd70","canonicalization":"JCS"},"ingredients":[],"payment":{"scheme":"api-key","network":"eip155:8453","payer":"sample"}},"proof":{"type":"DataIntegrityProof","cryptosuite":"eddsa-jcs-2022","created":"2026-11-06T01:30:31.716Z","verificationMethod":"did:web:agents.writerslogic.com#key-1","proofPurpose":"assertionMethod","proofValue":"z2HPjFqGH7odddRnPKiuAJwBXnXkyMBG1LTErQHHEBxHofQKdH48fB9HkS2BjtRX5n4MpRDaJDncyBGH6euZ5cmxh"}},"ethSignature":{"type":"EIP-191","signer":"did:pkh:eip155:8453:0x3DBd42560cA7a7E448A2c7DfC9E785526189411f","address":"0x3DBd42560cA7a7E448A2c7DfC9E785526189411f","message":"writerslogic-provenance:7fe028dc749d132cf3f58d9e040a403a9b40a6997fe16135cfceeaa15c0810e7","signature":"0x4423c794b74bfb75dfad360a91fa99a3762b0eac20bbd35ecf565c1e070f36c71d04c2aa7813ed9236da8781e1b14aec400c8bf49523b0ee0062525a46c4034c1c"}}}