{"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":2238,"first_index":490102,"batch_size":500,"tree_size":490602,"batch_root":"e366414c1f9a942c297e836e651c54d77dabc09bf14bcb239ca6099df1863d10","prev_sth_sha256":"542c7f164363d16c863349deec36b20dca0ab12033eac19b7f90457f81474800","created_at":"2026-11-12T16:34:22.657Z","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":"727e2d4f-8e16-4958-88c3-16721027d884","script_sha16":"6f23bc3f68806651","state":"attested","deployed":{"at":"2026-11-12T16:26:38.108Z","commit":"6c016a5ea940","run":"43258445498"},"build_log_entry":1962,"score_version":34,"scoring_policy_sha256":"21af5c858fca26199e01525fec7b19b353df30151b1d29fdeba63a28b90d44a2","decision_rules_sha256":"18dd5636e0896692ab518050cb401744edea2e6f1086dff94fead314959bdc3e","check":"https://crawlcheck.io/api/v1/builds/727e2d4f-8e16-4958-88c3-16721027d884"},"sha256":"2db0bd82f34ac8902bf7938b11a60868125a4d468d3c4240c7f585fec2d4c62c","signature":{"v":1,"alg":"Ed25519","kid":"AqR_NNfBCBE0A_KXkQ86yrLAHiC-JbA5Df0BSV1PIEU","over":"sha256","message":"crawlcheck-data-v1\n2db0bd82f34ac8902bf7938b11a60868125a4d468d3c4240c7f585fec2d4c62c","sig":"T-rB7a_Fzf0KWDNjN8nhPNu_eS94fJJGn4BhFY1yIrmnEE6OcYhIvRuOPIGwCGG3oQZC9EUN7sPrwbY2JcWmDw","signed_at":"2026-11-12T16:34:22.657Z","key":{"kid":"AqR_NNfBCBE0A_KXkQ86yrLAHiC-JbA5Df0BSV1PIEU","jwk":{"kty":"OKP","crv":"Ed25519","x":"9D4KKgcLUxe8CkTNJ7yfZLsSb8v_a0-9FnKODxtl-2c"},"published_in":"https://crawlcheck.io/.well-known/http-message-signatures-directory"},"canonical":"sha256 over canonical JSON of every field except sha256 and signature"}},"batches":2239,"tree_size":490602,"last_witnessed":{"batch":2220,"sth_sha256":"bfa5ae437b5981c8f964b94605fe5b8965db3a419387aa0482d6bd7e8422ebcd","at":"2026-11-12T08:52:44.103Z","witness":"github-actions:emmanuelorta/crawlcheck/.github/workflows/log-witness.yml","run":{"run_id":"43186491007","sha":"fbaaf3510272993ef9dab9ff62154413ff35bbc2","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":"1d1d52e5-dc11-4eb5-b9c5-998383eb8746","script_sha16":"6f23bc3f68806651","state":"attested","deployed":{"at":"2026-11-12T16:26:36.442Z","commit":"6c016a5ea940","run":"43258445498"},"build_log_entry":1961,"score_version":34,"scoring_policy_sha256":"21af5c858fca26199e01525fec7b19b353df30151b1d29fdeba63a28b90d44a2","decision_rules_sha256":"18dd5636e0896692ab518050cb401744edea2e6f1086dff94fead314959bdc3e","check":"https://crawlcheck.io/api/v1/builds/1d1d52e5-dc11-4eb5-b9c5-998383eb8746"},"sha256":"b5c8cbca3bdef8f6dc56797cbdf293a31c854f8aa07d44098e3625392db28b2f","signature":{"v":1,"alg":"Ed25519","kid":"1hHmE3fo1rg5Ig70wuFtJ5wBc7G-sUTgUJkxyPWFRps","over":"sha256","message":"crawlcheck-data-v1\nb5c8cbca3bdef8f6dc56797cbdf293a31c854f8aa07d44098e3625392db28b2f","sig":"vFdlJl-4e9L-gqJ1nN7Ql8bXiuSeKiYBKxYN8moulia83kuLYuAIbGyNr1jZ7B9mpaYfgWcduVBoVg3C-H3UCg","signed_at":"2026-11-12T16:42:14.826Z","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"}}