{"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":1992,"first_index":367598,"batch_size":4,"tree_size":367602,"batch_root":"5efba995e59939655c25e8c83d9ce7250f0b0095ad2535932674fcc9422d76be","prev_sth_sha256":"8a74bbc08146ed69a91bd1ef5e172f2d165a0704af95eed920c925061c0c48f0","created_at":"2026-11-09T00:03:24.945Z","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":"1e3182cd-65c8-45ee-81a5-d117e919dba2","script_sha16":"1345f0b7626f3279","state":"attested","deployed":{"at":"2026-11-08T06:36:20.272Z","commit":"d2c43f6ec932","run":"42455363596"},"build_log_entry":1922,"score_version":34,"scoring_policy_sha256":"21af5c858fca26199e01525fec7b19b353df30151b1d29fdeba63a28b90d44a2","decision_rules_sha256":"18dd5636e0896692ab518050cb401744edea2e6f1086dff94fead314959bdc3e","check":"https://crawlcheck.io/api/v1/builds/1e3182cd-65c8-45ee-81a5-d117e919dba2"},"sha256":"1ff7e924bdb04e5136562bf99424c8d29ced52dbdea39b712220abdb65328f85","signature":{"v":1,"alg":"Ed25519","kid":"1hHmE3fo1rg5Ig70wuFtJ5wBc7G-sUTgUJkxyPWFRps","over":"sha256","message":"crawlcheck-data-v1\n1ff7e924bdb04e5136562bf99424c8d29ced52dbdea39b712220abdb65328f85","sig":"4U2grMwXcZqthxHozVy7K9a4kobaM6FoKbNqv9ppfec-CnuRe5CIQrqNu4sPgEmrXp2Rg_Ahn9I5pf5F2hzhBQ","signed_at":"2026-11-09T00:03:24.945Z","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":1993,"tree_size":367602,"last_witnessed":{"batch":1992,"sth_sha256":"1ff7e924bdb04e5136562bf99424c8d29ced52dbdea39b712220abdb65328f85","at":"2026-11-09T00:09:08.033Z","witness":"github-actions:emmanuelorta/crawlcheck/.github/workflows/log-witness.yml","run":{"run_id":"42538562518","sha":"ea34694b37ee8cdd521a8fa1cde96564a4c26586","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":"1e3182cd-65c8-45ee-81a5-d117e919dba2","script_sha16":"1345f0b7626f3279","state":"attested","deployed":{"at":"2026-11-08T06:36:20.272Z","commit":"d2c43f6ec932","run":"42455363596"},"build_log_entry":1922,"score_version":34,"scoring_policy_sha256":"21af5c858fca26199e01525fec7b19b353df30151b1d29fdeba63a28b90d44a2","decision_rules_sha256":"18dd5636e0896692ab518050cb401744edea2e6f1086dff94fead314959bdc3e","check":"https://crawlcheck.io/api/v1/builds/1e3182cd-65c8-45ee-81a5-d117e919dba2"},"sha256":"bf6b6df0952689240497f903a260e9c3fe5eeecc6dbd724c6ddf3dbe28b4d21f","signature":{"v":1,"alg":"Ed25519","kid":"1hHmE3fo1rg5Ig70wuFtJ5wBc7G-sUTgUJkxyPWFRps","over":"sha256","message":"crawlcheck-data-v1\nbf6b6df0952689240497f903a260e9c3fe5eeecc6dbd724c6ddf3dbe28b4d21f","sig":"er7S2jG7Z30Bs-vDCG7x_HG5pgb08yh9vBoUTav1fCZm5kK8LJzUkMWdfCaXIR-YIGp0cszIvaZSXaOlPUpvDg","signed_at":"2026-11-09T00:19:21.316Z","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"}}