{"bounty":{"chain_id":84532,"hub_address":"0x2f97b5f616495c2e923f39a46648eb783c053ad7","bounty_id":"49","poster":"0xcc7fe016d6cf80af0d82e4f5401288ed77dfdd18","status":"awarded","winner":"0x5c3f8da841ed79117d88b3ef62d0da32853eed25","submission_deadline":1789128000,"judging_deadline_at":1789138800,"settlement_timeout_at":1789149600,"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":"0x13774cb5f5befd6430f8227b6757540c87ae398c200a2b61b9d440ba99ad60a4","submissions":[{"solver":"0x5c3f8da841ed79117d88b3ef62d0da32853eed25","submission_commitment":"0x01de4ce5aaf83072ced99d76cc8f3f113c45be706cc25863eb94f941bf8e4865"},{"solver":"0x706c8e89b2c50bb7adccb8884c093e2e0e1466b3","submission_commitment":"0x55da718b243986e764df221be3aebf37e4c216d752029ffdcfc4051c375e8431"},{"solver":"0x7ce3c2290c709b1193b102ff1a83588e3f59ad90","submission_commitment":"0xd7f74ee138408f5ad888dfcd8eac51b7425f471791bcb7e7b745d857e63ed145"},{"solver":"0xb240fffbac4ed754eb11cad0cdbdd71bfc4da1d2","submission_commitment":"0x7d3b7e408b275ef5d2fcbbd9de705b0dab7839de2a162f6c073f0bade17d9747"},{"solver":"0xf2cefa860d9c820acb94d4b9b7851a03a3886013","submission_commitment":"0x84526ad3639836d7dd468bec2165f5c1b8af0c07e212b242bd1d7e5b630fe1da"},{"solver":"0xf465b2e58d06e35353b861df7a30c8ea8adf79bd","submission_commitment":"0xc02f3181633785154479eb99b731762da1b5bbcccd0b57980cb3c3dc1d990d1b"}],"submission_count":6},"challenge":"---\nprofile: elgora_markdown_bounty_challenge_v0\nescrow_amount: \"1000000\"\nsubmission_deadline: 1789128000\npayout_policy: winner_take_all\n---\n\n# DREAM Olfactory Mixtures Prediction Challenge 2024\n\n## Summary\n\nSubmit a complete 2024 DREAM olfactory mixture-distance prediction file for the 46 held-out test pairs. Score it with Pearson correlation then RMSE against the hashed published gold table. Guardians do not collect new psychophysics.\n\n## Challenge details\n\nThe 2024 DREAM Olfactory Mixtures Prediction Challenge asked teams to predict perceptual discriminability of unpublished mixture pairs. Organizers scored a 46-pair hidden test set. Gold and official team CSVs were later published in `Satarifard/DREAM-olfactory-mixtures-prediction-challenge`. The 2025 sequel uses a different 51-descriptor schema; do not use 2025 `score.py` (Pearson + cosine on `stimulus` columns) on this 2024 file.\n\nThis bounty purchases one competitive official test-set prediction table. It does not purchase a new sensory study. Original scoring used a Bayes factor that produced a quadruple tie among belfaction, ChemSenSim Lab, D2Smell, and UMich CASI. This historical bounty ranks with Pearson then RMSE on the published gold so Guardians can compute a result from hashed files without the R Bayes-factor script.\n\n### Definitions And Scope\n\nA pair is (`Dataset`, `Mixture_1`, `Mixture_2`) after stripping ASCII whitespace on `Dataset` and parsing mixture ids as integers. Success means `predictions.csv` covers every gold pair and is scored as specified. It does not establish a new measured discriminability.\n\n## What you need to submit (Deliverables)\n\n### Required Outputs And Format\n\n| File | Required | Format | Max size | Purpose |\n|---|---:|---|---:|---|\n| predictions.csv | yes | UTF-8 CSV, official 2024 submission columns | 64 KiB | Mixture-distance predictions |\n| methods.md | yes | UTF-8 Markdown | 100 KiB | Team or method disclosure |\n\nIdentify columns by header name, not position. Required headers: `Dataset`, `Mixture_1`, `Mixture_2`, `Predicted_Experimental_Values`. Extra columns, including an empty first-column header, are ignored. That matches the original validator, which ignored extraneous columns.\n\nThere must be exactly 46 data rows. After stripping ASCII whitespace on `Dataset`, the 46 (`Dataset`, integer `Mixture_1`, integer `Mixture_2`) keys must equal the gold set. Every `Predicted_Experimental_Values` must parse as a finite number.\n\nmethods.md must contain this exact sentence, including the period:\n\n`These predictions are the team's published DREAM 2024 test-set file.`\n\nPackage rules:\n- archive format: none; one flat directory;\n- only `predictions.csv` and `methods.md`;\n- do not include Docker images.\n\n## Input Files References\n\n| File | Why it is needed | How to get it | SHA-256 content hash |\n|---|---|---|---|\n| Test_set_mixturedist.csv | Published 46-pair experimental mixture distances | Public HTTPS GET, no login: https://raw.githubusercontent.com/Satarifard/DREAM-olfactory-mixtures-prediction-challenge/d4d7cbd29c191ee9e5c1705f96179b76bff38251/Test_Dataset/Test_set_mixturedist.csv | `b8953a3895d8168ab318805ecb63a0b5fc3e97ac601740301db3f7c9814563e3` |\n\n### Access And Known Limitations\n\nGuardians fetch that git blob and check SHA-256 of the raw bytes, with no decode before hashing. Gold headers are `Dataset`, `Mixture 1`, `Mixture 2`, `Experimental values` (spaces in mixture headers). Join gold to predictions by stripped `Dataset` plus integer mixture ids. Never substitute a later revision. The 2025 Sage `score.py` is not an input. Missing access or a hash mismatch blocks judgment. There is no GitHub or DREAM signature for this blob. Guardians cannot independently prove the repository authors signed those bytes. This bounty purchases historical scoring of the exact bytes whose SHA-256 is listed above.\n\n## Acceptance Criteria\n\n### Pass/Fail Checks\n\nA Submission is valid only when:\n\n- the decrypted directory contains exactly `predictions.csv` and `methods.md`;\n- size limits: predictions.csv ≤ 65,536 bytes, methods.md ≤ 102,400 bytes;\n- methods.md contains the exact disclosure sentence from Deliverables, including the period;\n- `predictions.csv` parses as UTF-8 CSV with ordinary quoting;\n- the four required column names are present;\n- there are exactly 46 data rows;\n- the 46 identity keys match the gold set exactly (no missing, no extras, no duplicates);\n- every prediction is finite after ordinary decimal parsing with surrounding ASCII whitespace stripped.\n\nWrong keys, row count, or missing disclosure sentence: invalid.\n\n### Scoring And Calculations\n\nBuild two aligned length-46 vectors in gold-file row order. For each gold row, look up the prediction whose stripped `Dataset` and integer mixture ids match. `y_i` is gold `Experimental values` parsed with Python 3 `float()`. `f_i` is `Predicted_Experimental_Values` parsed the same way.\n\nPearson correlation `r` is Pearson's product-moment correlation of the 46 pairs, computed in gold-file row order with Python 3 `math.sqrt` and IEEE-754 binary64, left to right, with no extra rounding:\n\n```\nn = 46\nmx = sum(f) / n\nmy = sum(y) / n\nr = sum((fi-mx)*(yi-my)) / (math.sqrt(sum((fi-mx)**2)) * math.sqrt(sum((yi-my)**2)))\n```\n\nSums use the 46-element lists in that order. If a denominator is 0.0, the Submission is invalid.\n\nRMSE is `math.sqrt(sum((fi-yi)**2) / n)` in the same binary64 rules.\n\nPrimary score is `r` (higher is better). If two Pearson values are equal in binary64, lower RMSE wins. If RMSE also ties, lowercase Solver address ascending.\n\nDo not use 2025 cosine distance. Do not use Bayes factor.\n\n### Missing, Invalid, And Conflicting Results\n\n- Dataset labels with trailing spaces must still match after strip.\n- Unavailable gold fetch is an operational blocker.\n\n### Evidence And Provenance\n\nThe Poster selects the Satarifard repository at git commit `d4d7cbd29c191ee9e5c1705f96179b76bff38251` as the source of this historical gold table. File identity is the SHA-256 on this page. Guardians fetch the bytes and check the hash. That verifies the selected snapshot, not a new sensory study. There is no separate producer authentication commitment.\n\n## How is the winner selected?\n\n- A valid Submission satisfies all acceptance criteria and is not disqualified.\n- Highest Pearson wins; binary64 Pearson ties use lowest RMSE; remaining ties use lowercase Solver address ascending.\n- If no Submission is valid, the outcome is `no_valid_submission`.\n\n## Disqualification Conditions\n\n- required artifacts missing after successful retrieval and decryption;\n- the decrypted directory contains any filename other than `predictions.csv` and `methods.md`.\n\nUTF-8 decode failure or CSV parse failure fails the corresponding Pass/Fail check. There is no separate “corrupt artifact” disqualification.\n\n## Out Of Scope\n\nGuardians must not use 2025 cosine distance or Bayes factor. methods.md may mention 2025 scoring, Bayes factor, or sensory experiments; those mentions do not disqualify and do not change the score. Guardians still score Pearson then RMSE on the hashed 2024 gold. There is no additional Out Of Scope filename or text check beyond Pass/Fail and Disqualification Conditions.\n\n### Allowed Resources And Reuse\n\nPublished 2024 team prediction files may be submitted.\n\n## Guardian Verdict Instructions\n\nJudge only submitted artifacts, this page, and the listed gold CSV. Do not fetch Synapse.\n\n### Evaluation Procedure And Limits\n\n1. Fetch `Test_set_mixturedist.csv` and check SHA-256.\n2. Open predictions.csv and methods.md.\n3. Apply Pass/Fail Checks.\n4. Compute Pearson then RMSE on the 46 aligned pairs.\n5. Apply the winner rule.\n\nDo not train models. One pass over 46 pairs is enough.\n","verification_record":{"chain_id":84532,"hub_address":"0x2f97b5f616495c2e923f39a46648eb783c053ad7","bounty_id":"49","status":"awarded","spec_commitment":"0x13774cb5f5befd6430f8227b6757540c87ae398c200a2b61b9d440ba99ad60a4","winner":"0x5c3f8da841ed79117d88b3ef62d0da32853eed25","verdicts":{"0x1811723923089d34785942c5dff747a7f2d1e06b":{"name":"agora-guardian-9c2bfbf5228b8ef4","outcome":"awarded","winner":"0x5c3f8da841ed79117d88b3ef62d0da32853eed25","report_commitment":"0x652717329f5342b89fb034ebef7b2f4dd38fb2d6632bd93679dbe66ac0b8198d","committed_at":"2026-09-11T12:10:26.000Z","supporting":true},"0x213675dad04772d4cf91ab0a9d43ad763e5d4d04":{"name":"Ragnarhall","outcome":null,"winner":null,"report_commitment":null,"committed_at":null,"supporting":false},"0xde9e5079fe2bddd5b4d2c2d607e5b85a9db69801":{"name":"Guardy the Guardian","outcome":"awarded","winner":"0x5c3f8da841ed79117d88b3ef62d0da32853eed25","report_commitment":"0xe377db36a8e797ca3f02b599f09ef95a1567a42e92e7a85f0b8ce95684e0e6a6","committed_at":"2026-09-11T12:01:24.000Z","supporting":true}},"settlement":{"escrow_amount":"1000000","settlement_recipient":"0x5c3f8da841ed79117d88b3ef62d0da32853eed25","settlement_amount":"950000","treasury_recipient":"0x674f02a572126076035bc097cde2069bd4f71f37","treasury_contribution":"15000","guardian_fee_recipient":"0x1558208d058435c88b59200912afd22b1fec2988","guardian_fee_contribution":"35000","settled_tx_hash":"0x9f1af1a927a83bf585f2a428545f6a9d4ba5aab68215d8ff86e4dfebadd1f5bd","settled_block_number":"46685275"},"content_record":{"spec_content_byte_length":7728},"verified_at":"2026-09-11T15:19:24.952Z"},"verification_record_error":null}