{"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":504,"first_index":121277,"batch_size":8,"tree_size":121285,"batch_root":"4bf7469840687801b1d8972fe82da9784f84a868e20ddc03ff0f62b13526f263","prev_sth_sha256":"81f4a32c73ecec24c9925b9061a0f6f55508754c093baf34d078d89fbab62034","created_at":"2026-10-15T02:02:04.048Z","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":"fcf10558-7138-4953-a74a-8bacb4f9f896","script_sha16":"c0549076e55aaf26","state":"attested","deployed":{"at":"2026-10-15T01:52:58.584Z","commit":"ab2ab631515c","run":"38667976278"},"build_log_entry":302,"score_version":31,"scoring_policy_sha256":"86898d2a8c88d6b56e6710f3aadf4375cbb5342d4a2f9aa017b536d95602d671","decision_rules_sha256":"18dd5636e0896692ab518050cb401744edea2e6f1086dff94fead314959bdc3e","check":"https://crawlcheck.io/api/v1/builds/fcf10558-7138-4953-a74a-8bacb4f9f896"},"sha256":"913bc94064995323ddafbfabcedbfc0b6b77d12595a890d06ef8ba157afa9570","signature":{"v":1,"alg":"Ed25519","kid":"1hHmE3fo1rg5Ig70wuFtJ5wBc7G-sUTgUJkxyPWFRps","over":"sha256","message":"crawlcheck-data-v1\n913bc94064995323ddafbfabcedbfc0b6b77d12595a890d06ef8ba157afa9570","sig":"1QXfZL4wXF9eUHsN3ouzm4qFErUyxk2XPwmHrjxz8jlpoD8io0CAR1hSYfMRoI0uygT5II8KLNVw4KT0pb5IDA","signed_at":"2026-10-15T02:02:04.159Z","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":505,"tree_size":121285,"last_witnessed":{"batch":504,"sth_sha256":"913bc94064995323ddafbfabcedbfc0b6b77d12595a890d06ef8ba157afa9570","at":"2026-10-15T02:11:01.204Z","witness":"github-actions:emmanuelorta/crawlcheck/.github/workflows/log-witness.yml","run":{"run_id":"38669616842","sha":"38140cf3ae98fc6b5ebc7bebe4b600cc6b25dfdb","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. An outside witness 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>","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":"84d04517-3b16-4541-93d4-41b4256cf379","script_sha16":"053835e9f3cb443c","state":"attested","deployed":{"at":"2026-10-15T02:15:37.243Z","commit":"a8939dabcafb","run":"38669971682"},"build_log_entry":305,"score_version":32,"scoring_policy_sha256":"d3c9c95d409dae4e90b8e868ff113e631e445e33c14a0cc008dda144293821b3","decision_rules_sha256":"18dd5636e0896692ab518050cb401744edea2e6f1086dff94fead314959bdc3e","check":"https://crawlcheck.io/api/v1/builds/84d04517-3b16-4541-93d4-41b4256cf379"},"sha256":"b99a2e88a0ef2512f401dc1c81da56fc9fc048eb363e5a9e3b5040bfdf964a61","signature":{"v":1,"alg":"Ed25519","kid":"1hHmE3fo1rg5Ig70wuFtJ5wBc7G-sUTgUJkxyPWFRps","over":"sha256","message":"crawlcheck-data-v1\nb99a2e88a0ef2512f401dc1c81da56fc9fc048eb363e5a9e3b5040bfdf964a61","sig":"iIcKWSSkuaq84S47prCF_BNFiKMg30dCVaMlVy1t21BAkJPlQPZuN04Sn6YywwttevZkyYOQ5KW1tdTYPxdKBw","signed_at":"2026-10-15T02:17:24.610Z","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"}}