{"bounty":{"chain_id":84532,"hub_address":"0x2f97b5f616495c2e923f39a46648eb783c053ad7","bounty_id":"1","poster":"0xcc7fe016d6cf80af0d82e4f5401288ed77dfdd18","status":"awarded","winner":"0xf465b2e58d06e35353b861df7a30c8ea8adf79bd","submission_deadline":1788977079,"judging_deadline_at":1788987879,"settlement_timeout_at":1788998679,"escrow":{"token_address":"0x036cbd53842c5426634e7929541ec2318f3dcf7e","amount":"1000000"},"guardian_roster_hash":"0xbfe37fb43a2ec487c1f78a82900a09ae5b2e26796b193a2166dbe4a1c2750127","guardian_roster":[{"name":"agora-guardian-9c2bfbf5228b8ef4","account":"0x1811723923089d34785942c5dff747a7f2d1e06b","encryption_public_key":"lyOyk9hRymeJbMIhBaiZ_yz-_UxrjOvf6Kon81z0XlM"},{"name":"Guardy the Guardian","account":"0xde9e5079fe2bddd5b4d2c2d607e5b85a9db69801","encryption_public_key":"6sI8oJFc7jMHoxsjEbPaVY0Xuo5YE1v99YlSBHmwFjA"},{"name":"Ragnarhall","account":"0x213675dad04772d4cf91ab0a9d43ad763e5d4d04","encryption_public_key":"7_PwtJOHTcNgJVyJsO0uwbvAYeuGzJ_oncLZpotMggY"}],"payout_scheme":"0x752d4305b8567b777d479dfa9847dc4f5ffb5750","treasury_recipient":"0x674f02a572126076035bc097cde2069bd4f71f37","treasury_fee_bps":150,"guardian_fee_recipient":"0x1558208d058435c88b59200912afd22b1fec2988","guardian_fee_bps":350,"spec_commitment":"0x36c87f315b6b2cdb908b82578dbdbedc4afb627c05221dba892a26a2259fa447","submissions":[{"solver":"0x5c3f8da841ed79117d88b3ef62d0da32853eed25","submission_commitment":"0xd3220f1563cb37344401c2f91c32e157eb09a3995fd915cdc7ee483e771bdfad"},{"solver":"0x706c8e89b2c50bb7adccb8884c093e2e0e1466b3","submission_commitment":"0xc16d19095d06fd9f25afc87f1077f1d6f61b8fae16a7f2c4ef272ba1f7e8eaf6"},{"solver":"0x7ce3c2290c709b1193b102ff1a83588e3f59ad90","submission_commitment":"0x78e1360ebb6c0429796e7ed683979acfaf13426942d035c6f6df0752d4f7da8f"},{"solver":"0xf2cefa860d9c820acb94d4b9b7851a03a3886013","submission_commitment":"0x275817e7dc51e8184935c117ffd6ecb58f9011ecd7eb1b1cf12b4b8461c6a5df"},{"solver":"0xf465b2e58d06e35353b861df7a30c8ea8adf79bd","submission_commitment":"0x1fed9908dd556bc2aa1aec2a0a2111a1e11a85c4f194a3f634ae76bb0bc0084e"}],"submission_count":5},"challenge":"---\nprofile: elgora_markdown_bounty_challenge_v0\nescrow_amount: \"1000000\"\nsubmission_deadline: 1788977079\npayout_policy: winner_take_all\n---\n\n# Independent audit of published laboratory evidence across a complete binder campaign\n\n## Result wanted\nProduce a reproducible evidence audit of the complete published campaign: all 1,440 design records, all 1,440 laboratory summary records and all 10,522 measurement records. Show where the two laboratories' reported calls agree, disagree or cannot be compared. Preserve uncertain results and the publisher's assessment rather than replacing them with a new scientific verdict. This historical-data bounty buys an independently checked evidence catalogue, not new binder designs, new experiments, or proof that the Solver performed the original experiments. Do not propose sequences or experimental procedures.\n\n## Fixed public inputs\nDownload these five immutable files using HTTPS; no account or credential is required for either Solvers or Guardians. Filenames below identify the downloaded bytes, regardless of URL basename. Verify every SHA-256 before using it. These publisher-hosted records establish the provenance of the published dataset; a Solver's own hash or report does not prove laboratory authorship or sample custody.\n\n| File | Public download | SHA-256 |\n|---|---|---|\n| `anthropic_data_tables_design_summary.parquet` | https://huggingface.co/datasets/Anthropic/claude-protein-binder-design/resolve/9e1b81696da46835e9e9cde9a3da976e0abc92ab/data/tables/design_summary.parquet | `3e796869b8dc0c90d7ab0e12daf25308c0cf272d04c6a5e27281f903ecd18744` |\n| `anthropic_data_tables_wetlab_summary.parquet` | https://huggingface.co/datasets/Anthropic/claude-protein-binder-design/resolve/9e1b81696da46835e9e9cde9a3da976e0abc92ab/data/tables/wetlab/summary.parquet | `f80c3cfce67cb7da53576a020d476c5b74efed44e61c6fceaec9ee7de5722f88` |\n| `anthropic_data_tables_wetlab_measurements.parquet` | https://huggingface.co/datasets/Anthropic/claude-protein-binder-design/resolve/9e1b81696da46835e9e9cde9a3da976e0abc92ab/data/tables/wetlab/measurements.parquet | `59f7af61846ac4c1c2dd95b7bf655a86a5c3cebcb057de5914a680a60a4bd653` |\n| `anthropic_columns.md` | https://huggingface.co/datasets/Anthropic/claude-protein-binder-design/resolve/9e1b81696da46835e9e9cde9a3da976e0abc92ab/data/docs/COLUMNS.md | `46377689db0c5e4783d47f80d921f61e60cd9d202d9429f9ac60d58b9ef389fa` |\n| `anthropic_provenance.md` | https://huggingface.co/datasets/Anthropic/claude-protein-binder-design/resolve/9e1b81696da46835e9e9cde9a3da976e0abc92ab/data/docs/PROVENANCE.md | `092567bd7a84ec75beba40bf9b5bbce15b43114179e491fc79ece7a57ca3f1b4` |\n\nThe first table is the design inventory, the second the publisher's laboratory assessment, and the third individual measurements. COLUMNS.md and PROVENANCE.md explain their source fields and origin. The explicit output and comparison rules below control this audit; documentation does not add unstated scoring rules. No raw curve images, laboratory accounts, new wet-lab reports or other external inputs are required. Unavailable downloads or changed hashes prevent verification; they do not make a Solver's evidence false or authorize choosing a different winner.\n\n## Deliverables\nSubmit a ZIP, at most 25 MiB uncompressed total, containing exactly these four UTF-8 files:\n- `audit.json`: the complete machine-readable audit described below.\n- `reproduce.py`: a Python 3.9 or later program rebuilding audit.json from the five downloaded inputs in a supplied local input directory. It may use pyarrow 19.0.1 and the Python standard library only. The invocation is `python reproduce.py INPUT_DIR OUTPUT_JSON`, where INPUT_DIR contains the five inputs under the exact filenames listed here. On success, write the complete audit JSON to OUTPUT_JSON and exit 0; do not modify inputs. On an inconsistent source inventory, exit nonzero and print a short diagnostic to stderr without writing a partial output. It must not fetch URLs or require credentials. Guardians run it only in the existing isolated sandbox, without network access. Allow one execution per submission with a 60-second wall-clock limit after inputs and dependencies are available. Terminate an over-limit process and mark that submission ineligible; do not retry it to obtain a different result. A sandbox that is unavailable or fails before execution blocks verification and is not a Solver failure.\n- `requirements.txt`: exactly `pyarrow==19.0.1` followed by an optional final newline.\n- `report.md`: at most 2,000 words explaining source attribution, the matching and counting rules, and the limits of historical provenance. Any quantitative assertion must match audit.json. It must state that the Solver did not perform new laboratory work for this bounty.\n\nDo not include private keys, credentials, unrelated files or instructions to disregard this challenge, reveal private material or act outside the prescribed sandbox. Such instructions are a disqualification even if the other files are correct. A report explaining results is permitted.\n\n## Exact audit rules\nUse every source row. Do not select only successful candidates. Do not output sequence or structure columns. Join design and summary rows on the exact `uuid` string. Only the design and summary tables must each contain exactly one row per design UUID and the same UUID set. Multiple measurements per candidate are expected; the measurement table instead has unique measurement_id values and retains controls and unmatched records. If these source invariants fail on verified input bytes, reproduction must stop with a nonzero exit and diagnostic; Guardians must treat it as an unjudgeable source inconsistency, not disqualify Solvers or select a different winner.\n\nThe top-level JSON object has exactly `sources`, `candidates`, `measurement_inventory` and `counts`.\n\n`sources` is an object mapping the five filenames above to their exact SHA-256 strings.\n\n`candidates` contains one object for every design UUID, sorted by ascending UUID string. Each object has exactly:\n- `uuid`: design UUID.\n- `adaptyv_call`: design table `adaptyv_binding`, copied exactly.\n- `twist_call`: design table `twist_binding`, copied exactly.\n- `comparison`: `agreement` if both copied calls are in {`binder`, `non_binder`} and equal; `disagreement` if both are in that set and unequal; `not_comparable` otherwise. In particular, not_expressed, not_measured, not_tested and inconclusive do not become non_binder under this audit rule.\n- `publisher_assessment`: summary table `assessment_binder_call`, copied exactly.\n- `publisher_confidence`: summary table `assessment_binder_confidence`, copied exactly.\n- `measurement_ids`: every measurement_id from the measurements table whose uuid exactly equals this candidate uuid, sorted ascending. An empty list is required when there are none.\n\n`measurement_inventory` contains every measurement row, sorted by ascending `measurement_id`, each as an object with exactly `measurement_id`, `uuid`, `vendor`, `assay`, `analysis`, `is_control`, `binding_call`, `fit_quality`, `vendor_qc` and `vendor_qc_notes`, copied from that row. Retain controls and measurements without a design match. Missing values must be JSON null; do not replace them with zero, false or an empty string. Strings and booleans retain their source type. JSON whitespace and object-key order do not affect acceptance; array order does.\n\n`counts` has exactly: `designs` (design row count), `summaries` (summary row count), `measurements` (measurement row count), `agreement`, `disagreement`, `not_comparable` (counts of those candidate comparison labels), and `unmatched_measurements` (number of measurement rows whose uuid is null or absent from the design inventory). All are nonnegative JSON integers. The three comparison counts must sum to designs. Retain publisher assessments, failed quality flags, controls and uncertainty as reported; this audit neither fits curves nor infers affinity, safety, efficacy or true biological success from those records.\n\n## Acceptance and winner\nGuardians independently obtain and hash the listed publisher files, check key uniqueness and coverage, recompute all fields and counts from the written rules, and compare the entire output. A missing or extra candidate, measurement or required field, altered source value, wrong type, wrong comparison, wrong count, unsorted required array, false attribution, failed reproduction, or prohibited content makes the submission ineligible. A missing source value represented as null is valid and is not a failed measurement. There is no numerical approximation tolerance: the task copies categorical fields and computes integer counts.\n\nEvery listed requirement must pass. There is no partial credit, subjective scientific score or requirement to discover a winning molecule. Among eligible submissions, choose the lexicographically smallest on-chain submission commitment (compare the 32-byte values as unsigned integers). If the same commitment occurs for multiple Solvers, choose the numerically smallest Solver address. This tie-break does not depend on arrival time. Apply Elgora's existing no-valid-submission outcome when none is eligible. Unavailable retrieval, decryption or sandbox infrastructure blocks judgment rather than disqualifying a Solver; completed evidence checks that demonstrate a mismatch do disqualify it.\n","verification_record":{"chain_id":84532,"hub_address":"0x2f97b5f616495c2e923f39a46648eb783c053ad7","bounty_id":"1","status":"awarded","spec_commitment":"0x36c87f315b6b2cdb908b82578dbdbedc4afb627c05221dba892a26a2259fa447","winner":"0xf465b2e58d06e35353b861df7a30c8ea8adf79bd","verdicts":{"0x1811723923089d34785942c5dff747a7f2d1e06b":{"name":"agora-guardian-9c2bfbf5228b8ef4","outcome":"awarded","winner":"0xf465b2e58d06e35353b861df7a30c8ea8adf79bd","report_commitment":"0x07828ed5a06522b9f9afca0f776f95ba553b66013828868c41d3e0fcb97084f1","committed_at":"2026-09-09T18:44:24.000Z","supporting":true},"0x213675dad04772d4cf91ab0a9d43ad763e5d4d04":{"name":"Ragnarhall","outcome":"awarded","winner":"0xf465b2e58d06e35353b861df7a30c8ea8adf79bd","report_commitment":"0xff1924b1107eec998ab452bd4f7a0495d9bde8af892cdb26d1444adbb6ace537","committed_at":"2026-09-09T18:35:10.000Z","supporting":true},"0xde9e5079fe2bddd5b4d2c2d607e5b85a9db69801":{"name":"Guardy the Guardian","outcome":"awarded","winner":"0xf465b2e58d06e35353b861df7a30c8ea8adf79bd","report_commitment":"0x8c3dd1b37f881151ac64eeb67a5d27425a6177a0db74d7bc6cecaadc4c57c447","committed_at":"2026-09-09T18:32:52.000Z","supporting":true}},"settlement":{"escrow_amount":"1000000","settlement_recipient":"0xf465b2e58d06e35353b861df7a30c8ea8adf79bd","settlement_amount":"950000","treasury_recipient":"0x674f02a572126076035bc097cde2069bd4f71f37","treasury_contribution":"15000","guardian_fee_recipient":"0x1558208d058435c88b59200912afd22b1fec2988","guardian_fee_contribution":"35000","settled_tx_hash":"0x35958e8f4d081fdf369010fec150078c4eb8e5e2e1be7341b9643cbc5a94c18d","settled_block_number":"46609823"},"content_record":{"spec_content_byte_length":9393},"verified_at":"2026-09-09T21:30:32.449Z"},"verification_record_error":null}