{"kind":"crawlcheck-log","v":1,"log_id":"crawlcheck-resolve-log-v1","head":{"kind":"crawlcheck-log-sth","v":1,"log_id":"crawlcheck-resolve-log-v1","batch":1194,"first_index":281672,"batch_size":500,"tree_size":282172,"batch_root":"6dca2f235be61c1483c3f21386f2bf6ec42cb09cf1e5fbbc3702576c82d66520","prev_sth_sha256":"b0b5b87a15aa6fe2aa0ede564b12fe66f9f62f1dc8f5f8b5ab6f394e75e3d401","created_at":"2026-10-26T00:02:55.767Z","rules":{"leaf":"SHA-256(0x00 || canonical JSON of the answer's decision content)","tree":"RFC 9162 Merkle tree hash over this batch's leaf hashes, sorted","chain":"prev_sth_sha256 is the sha256 of the previous batch's signed tree head; batch numbers are consecutive and tree_size grows by batch_size"},"code":{"version_id":"4e7ce319-9f4e-482a-a802-8af4f8a75220","script_sha16":null,"state":"no_receipt","deployed":null,"build_log_entry":null,"score_version":34,"scoring_policy_sha256":"76ee7526c402d711f2c976ad88ae13d4d3411aaa9d5ca3dc87ab3102396b1370","decision_rules_sha256":"18dd5636e0896692ab518050cb401744edea2e6f1086dff94fead314959bdc3e","check":"https://crawlcheck.io/api/v1/builds/4e7ce319-9f4e-482a-a802-8af4f8a75220"},"sha256":"a86a951235a8e72b6f8a04d2bcbc89f7fd18c82b81dee1849b0f5ccc75412aa0","signature":{"v":1,"alg":"Ed25519","kid":"1hHmE3fo1rg5Ig70wuFtJ5wBc7G-sUTgUJkxyPWFRps","over":"sha256","message":"crawlcheck-data-v1\na86a951235a8e72b6f8a04d2bcbc89f7fd18c82b81dee1849b0f5ccc75412aa0","sig":"aQQSxwYhotxY4-Cbac_aX7aeADPPdmfdRRHG4acB4DovTeIwEI796CRLkdU8QQsWpyeopLNK-cXjimFxDVeHAQ","signed_at":"2026-10-26T00:02:55.767Z","key":{"kid":"1hHmE3fo1rg5Ig70wuFtJ5wBc7G-sUTgUJkxyPWFRps","jwk":{"kty":"OKP","crv":"Ed25519","x":"5TmKCOx0TTHepq7HwyXBHvGQpVCSBd2lV8cLzYVqFxQ"},"published_in":"https://crawlcheck.io/.well-known/http-message-signatures-directory"},"canonical":"sha256 over canonical JSON of every field except sha256 and signature"}},"batches":1195,"tree_size":282172,"last_witnessed":{"batch":1043,"sth_sha256":"345a865f710a5791becc4e332f475312183da7c9ecb0d4af51afb35bb6edfe21","at":"2026-10-23T22:21:59.660Z","witness":"github-actions:emmanuelorta/crawlcheck/.github/workflows/log-witness.yml","run":{"run_id":"40033092858","sha":"5d63085d4d2fb63abc1078aa55f78550d26eae34","ref":"refs/heads/main"}},"reading":"Every signed Resolve answer names its leaf. Batches are merged every batch window (:02, :32, :47 past the hour); each signed tree head chains to the one before. A witness we run on GitHub re-checks each new head and co-signs it with a GitHub OIDC token whose audience is the head's digest.","routes":{"sth":"https://crawlcheck.io/api/v1/log/sth/<batch>","sths":"https://crawlcheck.io/api/v1/log/sths?to=<batch>&n=200","batch":"https://crawlcheck.io/api/v1/log/batch/<batch>","proof":"https://crawlcheck.io/api/v1/log/proof?leaf=<hex>","witness_latest":"https://crawlcheck.io/api/v1/log/witness/latest","gossip":"https://crawlcheck.io/api/v1/log/gossip"},"split_view":"Clients keep the heads they are shown and compare them with each other and with the witnessed chain (SDK logCheck); a head CrawlCheck signed that contradicts this log is a fork, reported at https://crawlcheck.io/api/v1/log/gossip","code":{"version_id":"4e7ce319-9f4e-482a-a802-8af4f8a75220","script_sha16":null,"state":"no_receipt","deployed":null,"build_log_entry":null,"score_version":34,"scoring_policy_sha256":"76ee7526c402d711f2c976ad88ae13d4d3411aaa9d5ca3dc87ab3102396b1370","decision_rules_sha256":"18dd5636e0896692ab518050cb401744edea2e6f1086dff94fead314959bdc3e","check":"https://crawlcheck.io/api/v1/builds/4e7ce319-9f4e-482a-a802-8af4f8a75220"},"sha256":"b86c64189cb5c463609ae208b0f7e5dd41cee92fe2b90c222fbc723a79bb423c","signature":{"v":1,"alg":"Ed25519","kid":"1hHmE3fo1rg5Ig70wuFtJ5wBc7G-sUTgUJkxyPWFRps","over":"sha256","message":"crawlcheck-data-v1\nb86c64189cb5c463609ae208b0f7e5dd41cee92fe2b90c222fbc723a79bb423c","sig":"0i8LWtrb4eoIlvSIVZ-OSHZFAejY_0B1Ss1h3HmSNiXHTYxdrN28rdNElmc_yTwVmT6viCPEauwBF9ykNAzvCw","signed_at":"2026-10-26T00:24:02.842Z","key":{"kid":"1hHmE3fo1rg5Ig70wuFtJ5wBc7G-sUTgUJkxyPWFRps","jwk":{"kty":"OKP","crv":"Ed25519","x":"5TmKCOx0TTHepq7HwyXBHvGQpVCSBd2lV8cLzYVqFxQ"},"published_in":"https://crawlcheck.io/.well-known/http-message-signatures-directory"},"canonical":"sha256 over canonical JSON of every field except sha256 and signature"}}