{
  "task_id": "F1-dev-01",
  "required_files": ["out/results.json", "out/report.md", "out/analysis.py", "out/claims.json", "out/analytic.csv", "out/exclusions.csv"],
  "results_keys": {
    "task_id": {"type": "string", "nullable": false},
    "n_unique_firms": {"type": "integer", "nullable": false},
    "n_missing_revenue": {"type": "integer", "nullable": false},
    "n_analysed": {"type": "integer", "nullable": false},
    "mean_revenue_musd": {"type": "number", "nullable": false},
    "median_revenue_musd": {"type": "number", "nullable": false},
    "mean_employees": {"type": "number", "nullable": false},
    "mean_revenue_raw": {"type": "number", "nullable": false},
    "feasibility": {"type": "string", "nullable": false},
    "feasibility_reason": {"type": "string", "nullable": true},
    "data_issues": {"type": "array", "nullable": false},
    "n_input_rows": {"type": "object", "nullable": false},
    "random_seed": {"type": "integer", "nullable": true}
  },
  "report_sections": ["Question", "Data and exclusions", "Method", "Results", "Uncertainty", "Limitations and open issues"],
  "family_checks": ["exclusion_ledger_sums", "claims_reference_existing_keys", "phase_ledger_consistent"],
  "ci_pairs": [],
  "positive_keys": [],
  "chronology_pairs": [],
  "analysis_timeout_s": 300,
  "reproducibility_tolerance_rel": 1e-6
}
