{"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":1612,"first_index":299096,"batch_size":283,"tree_size":299379,"batch_root":"60d2effb4e887e1717ab96285add7cb6b5e559851062d6201283ca71b32affa4","prev_sth_sha256":"b12ca4839a6e4118def033d05128d30975d3f83c28171317d991ee1d87958001","created_at":"2026-11-02T01:02:42.097Z","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":"85b8d8fc-6322-4a81-91f5-1fd108f27717","script_sha16":"c661233baf78516d","state":"attested","deployed":{"at":"2026-11-02T01:01:37.825Z","commit":"282855d04980","run":"41370192575"},"build_log_entry":1248,"score_version":34,"scoring_policy_sha256":"76ee7526c402d711f2c976ad88ae13d4d3411aaa9d5ca3dc87ab3102396b1370","decision_rules_sha256":"18dd5636e0896692ab518050cb401744edea2e6f1086dff94fead314959bdc3e","check":"https://crawlcheck.io/api/v1/builds/85b8d8fc-6322-4a81-91f5-1fd108f27717"},"sha256":"8e6fcb250cebb570b33d217f84f211004c17c3bf3ffcce5694fc2c92511b75ba","signature":{"v":1,"alg":"Ed25519","kid":"1hHmE3fo1rg5Ig70wuFtJ5wBc7G-sUTgUJkxyPWFRps","over":"sha256","message":"crawlcheck-data-v1\n8e6fcb250cebb570b33d217f84f211004c17c3bf3ffcce5694fc2c92511b75ba","sig":"mU-ORpO4DnHJfQAF-BNQYoOC2AX72yKaG1U1X1ULszj-1xn-sHjcWR8roTttG_b9j4oZdGFoCXoJLHyBxJK4CA","signed_at":"2026-11-02T01:02:42.470Z","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":1613,"tree_size":299379,"last_witnessed":{"batch":1612,"sth_sha256":"8e6fcb250cebb570b33d217f84f211004c17c3bf3ffcce5694fc2c92511b75ba","at":"2026-11-02T01:04:05.623Z","witness":"github-actions:emmanuelorta/crawlcheck/.github/workflows/log-witness.yml","run":{"run_id":"41370453020","sha":"282855d04980f646680b7a18065d3d557d04b6f3","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":"c2b3ba44-bde5-45f3-bf8f-bc4dd92e08f6","script_sha16":"228ea33c1e3c84ca","state":"attested","deployed":{"at":"2026-11-02T01:14:02.163Z","commit":"c10fb44d6ac0","run":"41371305895"},"build_log_entry":1250,"score_version":34,"scoring_policy_sha256":"76ee7526c402d711f2c976ad88ae13d4d3411aaa9d5ca3dc87ab3102396b1370","decision_rules_sha256":"18dd5636e0896692ab518050cb401744edea2e6f1086dff94fead314959bdc3e","check":"https://crawlcheck.io/api/v1/builds/c2b3ba44-bde5-45f3-bf8f-bc4dd92e08f6"},"sha256":"11b552081771b98ddeba87c804cf729692da92e63022e63f2fef9c8d2cc2466f","signature":{"v":1,"alg":"Ed25519","kid":"1hHmE3fo1rg5Ig70wuFtJ5wBc7G-sUTgUJkxyPWFRps","over":"sha256","message":"crawlcheck-data-v1\n11b552081771b98ddeba87c804cf729692da92e63022e63f2fef9c8d2cc2466f","sig":"3RJCzBnFsoEArq10_BYJe25O8nMRhEpNJNVeGJaA8YryRx-Ubg2KFD5CzCRtympVdc_uGi_A8NqIxakqmq44Cw","signed_at":"2026-11-02T01:23:13.508Z","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"}}