Annual Report Full Extraction (300 files)
Domain: business_finance — Accounting & Finance

Summary: Download 300 annual reports from East Money, extract core technical personnel records, and produce one consolidated workbook with the required schema.

Task prompt:
Task Type:
- Full pipeline (download + parse + structure output), with file verification.

Goal:
- Download all reports listed in base\input\file_list.txt from East Money (东方财富).
- Extract core technical personnel data.
- Output one consolidated Excel file.

Input Files:
1) base\input\file_list.txt
   - UTF-8 text file, one PDF filename per line.
   - Example line: `688001_某公司_2023年年报.pdf`

Software Provided:
- Browser launcher: `software\open_chrome.bat`
  - Full path on this VM: `base\software\open_chrome.bat`
  - Opens the task-local Chrome entry point on a stable blank page for East Money downloads.
- Python launcher: `software\python.bat`
  - Full path on this VM: `base\software\python.bat`
  - Runs the preinstalled Python runtime with UTF-8 mode enabled.

Output File:
1) base\output\final_dataset.xlsx
   - One sheet.
   - One row per person.
   - Required columns (exact names):
     识别码, 证券代码, 股票简称, 姓名, 性别, 年龄, 国籍, 最高学历, 简历,
     2019薪酬, 2020薪酬, 2021薪酬, 2022薪酬, 2023薪酬, 2024薪酬,
     2019持股, 2020持股, 2021持股, 2022持股, 2023持股, 2024持股.

Data Rules:
- `识别码` (Identifier) format:
  - Build as: `股票简称 + 姓名` (no separator).
  - Use `股票简称` for the company part (do NOT use `证券代码`).
  - Example: if company is `华兴源创` and person is `曹振宇`, then `识别码` is `华兴源创曹振宇`.
  - Example: if company is `天准科技` and person is `徐一华`, then `识别码` is `天准科技徐一华`.
- Try to fill each required field from evidence as completely as possible.
- Use NaN only when the value cannot be reliably found.
- For numeric output values, keep at least 3 decimal places (0.001 precision) when applicable.
- `最高学历` code mapping:
  - 1 = PhD
  - 2 = Master
  - 3 = Bachelor
  - 4 = Associate
  - 5 = Other / Undisclosed
- Output format requirement for `最高学历`:
  - Use numeric code values only (1/2/3/4/5).
  - `1` and `1.0` are treated as the same numeric value.
  - Text labels like `博士` / `硕士` are not accepted in this column.

Scoring:
- Full score requires all conditions below to be satisfied:
  1) Every required PDF in `file_list.txt` is correctly downloaded.
  2) `final_dataset.xlsx` matches the required schema exactly.
  3) Extracted values are accurate on hidden verification samples.

Required actions:
Read the file list from `{task_dir}\input\file_list.txt` (300 PDF filenames).
Download all 300 annual report PDFs from East Money (dongchaiwang) to `{remote_output_dir}\downloads`.
Parse each PDF to extract core technical personnel data.
Output a single consolidated Excel file at `{remote_output_dir}\final_dataset.xlsx`.
Browser entry point: `software\open_chrome.bat` (full VM path: `{task_dir}\software\open_chrome.bat`)
Python entry point: `software\python.bat` (full VM path: `{task_dir}\software\python.bat`)
PowerShell is evaluator-only for remote MD5 verification and is not part of the solve-time software contract.

Software: Google Chrome
Python

Input files:
name: file_list.txt
format: UTF-8 text
description: 300 PDF filenames, one per line. Example: 688001_SomeCompany_2023AnnualReport.pdf