{
 "checked_utc8": "2026-10-20 14:12-14:13",
 "method": "our own soffice --convert-to txt/csv and pdftotext on the CLI's output files; 4 text items (heading + 3 paragraphs) and 12 table cell strings from 02-task-inputs.txt; Calc A4 ground truth 100",
 "results": {
  "pdf": {
   "text_items_found": 4,
   "text_items": 4,
   "table_cells_found": 0,
   "table_cells": 12
  },
  "docx": {
   "text_items_found": 4,
   "text_items": 4,
   "table_cells_found": 0,
   "table_cells": 12
  },
  "odt": {
   "text_items_found": 4,
   "text_items": 4,
   "table_cells_found": 0,
   "table_cells": 12
  },
  "calc_pdf": {
   "A4_shown": "Err:510",
   "expected": "100"
  },
  "calc_xlsx": {
   "A4_shown": "Err:510",
   "expected": "100"
  },
  "calc_ods": {
   "A4_shown": "Err:510",
   "expected": "100"
  }
 },
 "why_table_is_empty": "writer add-table only takes --rows/--cols/--position; writer set-text refuses tables ('Cannot set text on content type table'); no other command writes cell text. The exported table is a real empty 3x4 table.",
 "calc_get_cell_A4_reported": {
  "formula": "=SUM(A1:A3)",
  "type": "string",
  "value": ""
 },
 "which_formats_used_libreoffice": {
  "pdf": "yes (soffice.bin --headless --convert-to pdf, see 09)",
  "docx": "yes (JSON: method libreoffice-headless)",
  "xlsx": "yes (JSON: method libreoffice-headless)",
  "odt/ods": "no: written by the CLI's own Python ODF writer (as its README says)"
 },
 "export_times_s": {
  "pdf": 4.336,
  "docx": 3.393,
  "odt": 0.095,
  "calc_pdf": 3.131,
  "xlsx": 3.288,
  "ods": 0.107
 },
 "extracted_text": {
  "report.pdf": "Field Report 7F3A\nThe north survey team logged eleven soil samples before noon on Tuesday.\nPump station four was offline for ninety minutes because of a tripped breaker.\nAll readings were uploaded to the shared archive by six in the evening.\n\f",
  "report.docx": "       Field Report 7F3A\nThe north survey team logged eleven soil samples before noon on Tuesday.\nPump station four was offline for ninety minutes because of a tripped breaker.\nAll readings were uploaded to the shared archive by six in the evening.\n\t\t\t\n\t\t\t\n\t\t\t\n\n",
  "sheet.pdf": "     17\n     25\n     58\nErr:510\n\f",
  "sheet.xlsx (csv)": "17\n25\n58\nErr:510\n"
 }
}