{
  "name": "Schedule progress report intake",
  "description": "Extract project name, report date, schedule revision from progress report. Start with an editable schema, inspect JSON and review exceptions before your system handoff.",
  "prompt_additions": "Extract only information explicitly present in this document. Do not infer missing values, verify authenticity, make business decisions, or compare other documents. Preserve identifiers as strings. Return amounts as numbers and dates as YYYY-MM-DD. Review and set required fields for your process before using this schema in production.",
  "fields": [
    {
      "key": "project_name",
      "label": "Project Name",
      "type": "string",
      "required": false,
      "description": "Project name exactly as printed in this progress report. Preserve identifiers and qualifiers; do not look up or infer missing information."
    },
    {
      "key": "report_date",
      "label": "Report Date",
      "type": "date",
      "required": false,
      "description": "Report date explicitly printed in this progress report. Keep it distinct from other dates; leave it empty if no calendar date is stated."
    },
    {
      "key": "schedule_revision",
      "label": "Schedule Revision",
      "type": "string",
      "required": false,
      "description": "Schedule revision exactly as printed in this progress report. Preserve identifiers and qualifiers; do not look up or infer missing information."
    },
    {
      "key": "activity_rows",
      "label": "Activity Rows",
      "type": "array",
      "required": false,
      "description": "Every visible activity rows row in this progress report. Preserve separate rows, labels and qualifiers; do not merge entries or reconstruct missing ones.",
      "items": {
        "type": "object",
        "fields": [
          {
            "key": "activity_reference",
            "label": "Activity Reference",
            "type": "string",
            "required": false,
            "description": "Activity reference exactly as printed in this progress report. Preserve identifiers and qualifiers; do not look up or infer missing information."
          },
          {
            "key": "description",
            "label": "Description",
            "type": "string",
            "required": false,
            "description": "Description exactly as printed in this progress report. Preserve identifiers and qualifiers; do not look up or infer missing information."
          },
          {
            "key": "percent_complete",
            "label": "Percent Complete",
            "type": "number",
            "required": false,
            "description": "Completion percentage stated for this activity, rather than a calculated progress forecast."
          },
          {
            "key": "remaining_duration_text",
            "label": "Remaining Duration Text",
            "type": "string",
            "required": false,
            "description": "Remaining duration text exactly as printed in this progress report. Preserve identifiers and qualifiers; do not look up or infer missing information."
          },
          {
            "key": "stated_finish_date",
            "label": "Stated Finish Date",
            "type": "date",
            "required": false,
            "description": "Stated finish date explicitly printed in this progress report. Keep it distinct from other dates; leave it empty if no calendar date is stated."
          }
        ]
      }
    },
    {
      "key": "stated_overall_progress",
      "label": "Stated Overall Progress",
      "type": "number",
      "required": false,
      "description": "Stated overall progress as reported in this progress report. Preserve the labeled measure and its unit; do not estimate it."
    }
  ]
}