---
profile: elgora_markdown_bounty_challenge_v0
escrow_amount: "1000000"
submission_deadline: 1791545760
payout_policy: winner_take_all
---

# Rank the most active compounds in a supplied assay table

## Summary
Analyze the supplied synthetic assay table and return a concise, reproducible ranking of the three compounds with the highest valid activity scores. This is synthetic test evidence only and makes no scientific claim.

## Challenge details
Use the inline CSV below exactly as written. The header is not a data row. One-based source row numbers start with the first row after the header. A valid row has a nonempty `compound_id` and a finite decimal `activity_score`.

```csv
compound_id,activity_score
A,7.2
B,not_available
C,9.1
,8.4
D,9.1
E,6.8
```

## What you need to submit (Deliverables)
Submit one UTF-8 Markdown file named `analysis.md`, at most 100,000 bytes, containing these required fields and no other required accounting:

- the total number of input data rows;
- the count of valid rows and rejected rows;
- each rejected source row number with its reason;
- the top three valid rows ranked by the rules below, including each top-three row's `compound_id`, original `activity_score`, and one-based source row number.

The non-top-three valid row is not required to be listed as a separate output, although extra correct explanation is allowed if it does not contradict the required fields.

The Submission must contain `analysis.md` as bytes. A link or external reference does not stand in for the file.

## Inputs, Materials and References
The inline CSV in this bounty is the only input for the required reported counts, rejected-row reasons, and top-three ranking. Guardians judge only the observable contents of `analysis.md`: those required fields must be exactly reproducible from the inline CSV. Extra background text is allowed only if it does not contradict or alter the required fields, and it does not create any additional required output.

## Acceptance Criteria
A Submission passes only if `analysis.md` gives exact reproducible accounting from the inline CSV:

1. It reports six input data rows.
2. It rejects row 2 because `activity_score` is not a finite decimal.
3. It rejects row 4 because `compound_id` is empty.
4. It reports four valid rows.
5. It ranks valid rows by descending numeric `activity_score`, breaking ties by ascending `compound_id`.
6. The top three are exactly: `C` with score `9.1` from source row 3; `D` with score `9.1` from source row 5; `A` with score `7.2` from source row 1.

## How is the winner selected?
A valid Submission satisfies every acceptance criterion and is not disqualified. Among valid Submissions, normalize each Solver address to its lowercase `0x`-prefixed hexadecimal string and select the lexicographically smallest normalized address as the winner. If no Submission is valid, the outcome is `no_valid_submission`.

## Disqualification Conditions
A Submission is invalid if `analysis.md` is missing, is not UTF-8 Markdown after successful retrieval, omits or gives an incorrect value for any required field listed in What you need to submit (Deliverables), reports a rejected-row number or reason that is not reproducible from the inline CSV, reports a top-three `compound_id`, `activity_score`, or source row number that is not reproducible from the inline CSV, or gives a top-three ranking that is not reproducible under the stated rules.

## Out Of Scope
Chemical interpretation, experimental follow-up, predictive modeling, and scientific claims are out of scope.
