You are a chemistry researcher extracting one reaction from a pharmaceutical patent.

## Your Task
Look up patent **US20090306112A1**, review the reaction described in **paragraph 0756**, and extract the reaction information (e.g., the species involved, their amounts, and the procedure) into a JSON file.

There are no input files. You must retrieve the patent text yourself from the web.

## Available Tools
- A Linux terminal open at `base`
- A web browser
- `python3`
- `curl`

## What You Must Do
1. Retrieve US20090306112A1 and locate paragraph 0756
2. Identify every species involved in the reaction and its full structure
3. Extract the amount of each species, and the reaction conditions and outcome
4. Save your final JSON exactly to:
   `base/output/submission.json`

## Output Requirements
- Output must be valid JSON
- Use this top-level structure:
  `{"compounds": [...], "reaction_metadata": {...}}`
- `compounds` must contain **exactly 5** entries: the species taking part in the reaction itself, not the materials used in the workup and purification
- Each compound must be a dictionary with these fields:
  `compound_ID, role, canonical_SMILES, molecular_formula, amount`
  - `compound_ID`: the patent's compound number for numbered compounds; otherwise the name as written in the paragraph
  - `role`: `"reactant"`, `"product"`, or `"agent"`
  - `canonical_SMILES`: RDKit canonical SMILES (`rdkit==2026.3.6`)
  - `amount`: mass or volume, in the unit recorded in the patent paragraph
- `reaction_metadata` must include these fields:
  `time, temperature, yield, reaction_smiles`
  - `time`, `temperature`: with units, as recorded in the patent paragraph
  - `reaction_smiles`: built from the same canonical SMILES
- Any molecule that contributes one or more atoms to the product is a **reactant**; any other molecule is an **agent**
- Do not ask for confirmation. Execute directly.

## Evaluation
- `canonical_SMILES` is checked by exact string equality, including in `reaction_smiles`
- In `reaction_smiles`, the order of the species within each role does not matter, but which role each species is listed under does
- Amounts, time, temperature, and yield are compared against the values recorded in the patent, and must use the recorded unit
- Score = 1 only if every field is correct; otherwise 0.5 × the fraction of correctly matched fields
