{
 "about": "What the annual reports contain that we have not read, or have read and not checked against a total the report itself prints. Generated by scripts/build_extraction_gaps.py; the long form is notes/reference/EXTRACTION-GAPS.md.",
 "checked": 913,
 "checkFailed": 9405,
 "noCheck": 6610,
 "rows": 16928,
 "datasets": [
  {
   "dataset": "report_appropriations",
   "checked": 0,
   "checkFailed": 4530,
   "noCheck": 135,
   "nothingChecked": true
  },
  {
   "dataset": "report_gross_wages",
   "checked": 0,
   "checkFailed": 0,
   "noCheck": 3545,
   "nothingChecked": true
  },
  {
   "dataset": "special_revenue_funds",
   "checked": 0,
   "checkFailed": 2058,
   "noCheck": 328,
   "nothingChecked": true
  },
  {
   "dataset": "report_elections",
   "checked": 323,
   "checkFailed": 1688,
   "noCheck": 1,
   "nothingChecked": false
  },
  {
   "dataset": "annual_report_receipts",
   "checked": 504,
   "checkFailed": 85,
   "noCheck": 548,
   "nothingChecked": false
  },
  {
   "dataset": "report_trust_funds",
   "checked": 12,
   "checkFailed": 417,
   "noCheck": 213,
   "nothingChecked": false
  },
  {
   "dataset": "report_capital_projects",
   "checked": 0,
   "checkFailed": 529,
   "noCheck": 87,
   "nothingChecked": true
  },
  {
   "dataset": "report_dept_activity",
   "checked": 0,
   "checkFailed": 0,
   "noCheck": 515,
   "nothingChecked": true
  },
  {
   "dataset": "report_debt",
   "checked": 74,
   "checkFailed": 98,
   "noCheck": 182,
   "nothingChecked": false
  },
  {
   "dataset": "report_enrollment_mcas",
   "checked": 0,
   "checkFailed": 0,
   "noCheck": 337,
   "nothingChecked": true
  },
  {
   "dataset": "report_valuation",
   "checked": 0,
   "checkFailed": 0,
   "noCheck": 316,
   "nothingChecked": true
  },
  {
   "dataset": "report_officials",
   "checked": 0,
   "checkFailed": 0,
   "noCheck": 237,
   "nothingChecked": true
  },
  {
   "dataset": "report_vital_records",
   "checked": 0,
   "checkFailed": 0,
   "noCheck": 96,
   "nothingChecked": true
  },
  {
   "dataset": "report_monty_tech",
   "checked": 0,
   "checkFailed": 0,
   "noCheck": 70,
   "nothingChecked": true
  },
  {
   "dataset": "rate_register",
   "checked": 0,
   "checkFailed": 0,
   "noCheck": 0,
   "nothingChecked": true
  }
 ],
 "neverExtracted": [
  {
   "family": "town_meeting",
   "years": 15,
   "figureRows": 924,
   "dataset": null,
   "whyItMatters": "What Town Meeting actually voted, article by article. The appropriation is the OUTPUT of these votes, and the archive currently holds the output and not the decision."
  },
  {
   "family": "balance_sheet",
   "years": 14,
   "figureRows": 488,
   "dataset": null,
   "whyItMatters": "The combining balance sheet — what the town HOLDS, against the flow tables the archive already has. `pdf_tables.py` names this page specifically as one where plain extraction mode wins and layout mode recovers zero of its 61 money tokens."
  },
  {
   "family": "tax_rate",
   "years": 15,
   "figureRows": 216,
   "dataset": null,
   "whyItMatters": "The tax rate by class and year. Small, and it is the number every resident actually feels."
  }
 ],
 "neverExtractedRows": 1628,
 "catalogued": 866,
 "readIntoADataset": 199,
 "byDifficulty": [
  {
   "judgement": "clean",
   "tables": 443,
   "rows": 12459
  },
  {
   "judgement": "messy",
   "tables": 311,
   "rows": 20061
  },
  {
   "judgement": "not without geometry",
   "tables": 112,
   "rows": 6901
  }
 ]
}
