{
  "before": {
    "sha256": "a67d8c807df8edd9d916acd78a6fac80e66d49b8c8f1103d6c3c9e9b822b30c1",
    "pages": [
      {
        "page": 1,
        "text": "Cedar Glen Council\nFictional meeting agenda | November 12, 2026\n1. Call to order\n2. Approve minutes\n3. Public comment\n4. Park access update\n5. Adjourn",
        "images": 0
      }
    ],
    "tagged": false,
    "title": "untitled",
    "language": "",
    "findings": [
      "No PDF structure tree detected",
      "Document title is absent or generic",
      "Document language is not set"
    ],
    "needsHumanReview": true
  },
  "after": {
    "sha256": "446a57a2f8bff2f25f4d3164fd01e610f772bf3abebdc9386edbe5f252c742b4",
    "pages": [
      {
        "page": 1,
        "text": "Cedar Glen Council\nFictional meeting agenda | November 12, 2026\n1. Call to order\n2. Approve minutes\n3. Public comment\n4. Park access update\n5. Adjourn",
        "images": 0
      }
    ],
    "tagged": true,
    "title": "Cedar Glen document transcription",
    "language": "en-US",
    "findings": [],
    "needsHumanReview": true
  },
  "validationBefore": {
    "status": "fail",
    "profile": "PDF/UA-1 validation profile",
    "failedRules": 7,
    "failedChecks": 21,
    "failures": [
      {
        "clause": "7.1",
        "test": "3",
        "description": "Content shall be marked as Artifact or tagged as real content"
      },
      {
        "clause": "6.2",
        "test": "1",
        "description": "The document catalog dictionary shall include a MarkInfo dictionary containing an entry, Marked, whose value shall be true"
      },
      {
        "clause": "7.1",
        "test": "8",
        "description": "The Catalog dictionary of a conforming file shall contain the Metadata key whose value is a metadata stream as defined in ISO 32000-1:2008, 14.3.2. The metadata stream dictionary shall contain entry Type with value /Metadata and entry Subtype with value /XML"
      },
      {
        "clause": "7.1",
        "test": "11",
        "description": "The logical structure of the conforming file shall be described by a structure hierarchy rooted in the StructTreeRoot entry of the document catalog dictionary, as described in ISO 32000-1:2008, 14.7"
      },
      {
        "clause": "7.21.4.1",
        "test": "1",
        "description": "The font programs for all fonts used for rendering within a conforming file shall be embedded within that file, as defined in ISO 32000-1:2008, 9.9"
      },
      {
        "clause": "7.1",
        "test": "10",
        "description": "The document catalog dictionary shall include a ViewerPreferences dictionary containing a DisplayDocTitle key, whose value shall be true"
      },
      {
        "clause": "7.2",
        "test": "34",
        "description": "Natural language for text in page content shall be determined"
      }
    ],
    "raw": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<report>\n  <buildInformation>\n    <releaseDetails id=\"core\" version=\"1.30.3\" buildDate=\"2026-10-07T10:02:00-05:00\"></releaseDetails>\n    <releaseDetails id=\"validation-model\" version=\"1.30.3\" buildDate=\"2026-10-07T13:44:00-05:00\"></releaseDetails>\n    <releaseDetails id=\"apps\" version=\"1.30.3\" buildDate=\"2026-10-07T13:52:00-05:00\"></releaseDetails>\n  </buildInformation>\n  <jobs>\n    <job>\n      <item size=\"1694\">\n        <name>council-agenda-untagged.pdf</name>\n      </item>\n      <validationReport jobEndStatus=\"normal\" profileName=\"PDF/UA-1 validation profile\" statement=\"PDF file is not compliant with Validation Profile requirements.\" isCompliant=\"false\">\n        <details passedRules=\"99\" failedRules=\"7\" passedChecks=\"245\" failedChecks=\"21\">\n          <rule specification=\"ISO 14289-1:2014\" clause=\"7.1\" testNumber=\"3\" status=\"failed\" failedChecks=\"8\" tags=\"artifact\">\n            <description>Content shall be marked as Artifact or tagged as real content</description>\n            <object>SESimpleContentItem</object>\n            <test>isTaggedContent == true || parentsTags.contains('Artifact') == true</test>\n            <check status=\"failed\">\n              <context>root/document[0]/pages[0](4 0 obj PDPage)/contentStream[0](8 0 obj PDSemanticContentStream)/content[0]/contentItem[0]</context>\n              <errorMessage>Content is neither marked as Artifact nor tagged as real content</errorMessage>\n            </check>\n            <check status=\"failed\">\n              <context>root/document[0]/pages[0](4 0 obj PDPage)/contentStream[0](8 0 obj PDSemanticContentStream)/content[0]/contentItem[1]</context>\n              <errorMessage>Content is neither marked as Artifact nor tagged as real content</errorMessage>\n            </check>\n            <check status=\"failed\">\n              <context>root/document[0]/pages[0](4 0 obj PDPage)/contentStream[0](8 0 obj PDSemanticContentStream)/content[0]/contentItem[2]</context>\n              <errorMessage>Content is neither marked as Artifact nor tagged as real content</errorMessage>\n            </check>\n            <check status=\"failed\">\n              <context>root/document[0]/pages[0](4 0 obj PDPage)/contentStream[0](8 0 obj PDSemanticContentStream)/content[0]/contentItem[3]</context>\n              <errorMessage>Content is neither marked as Artifact nor tagged as real content</errorMessage>\n            </check>\n            <check status=\"failed\">\n              <context>root/document[0]/pages[0](4 0 obj PDPage)/contentStream[0](8 0 obj PDSemanticContentStream)/content[0]/contentItem[4]</context>\n              <errorMessage>Content is neither marked as Artifact nor tagged as real content</errorMessage>\n            </check>\n            <check status=\"failed\">\n              <context>root/document[0]/pages[0](4 0 obj PDPage)/contentStream[0](8 0 obj PDSemanticContentStream)/content[0]/contentItem[5]</context>\n              <errorMessage>Content is neither marked as Artifact nor tagged as real content</errorMessage>\n            </check>\n            <check status=\"failed\">\n              <context>root/document[0]/pages[0](4 0 obj PDPage)/contentStream[0](8 0 obj PDSemanticContentStream)/content[0]/contentItem[6]</context>\n              <errorMessage>Content is neither marked as Artifact nor tagged as real content</errorMessage>\n            </check>\n            <check status=\"failed\">\n              <context>root/document[0]/pages[0](4 0 obj PDPage)/contentStream[0](8 0 obj PDSemanticContentStream)/content[0]/contentItem[7]</context>\n              <errorMessage>Content is neither marked as Artifact nor tagged as real content</errorMessage>\n            </check>\n          </rule>\n          <rule specification=\"ISO 14289-1:2014\" clause=\"6.2\" testNumber=\"1\" status=\"failed\" failedChecks=\"1\" tags=\"syntax\">\n            <description>The document catalog dictionary shall include a MarkInfo dictionary containing an entry, Marked, whose value shall be true</description>\n            <object>CosDocument</object>\n            <test>Marked == true</test>\n            <check status=\"failed\">\n              <context>root</context>\n              <errorMessage>MarkInfo dictionary is not present in the document catalog, or Marked entry is set to false or is not present in the MarkInfo dictionary (MarkInfo = null, Marked = null)</errorMessage>\n            </check>\n          </rule>\n          <rule specification=\"ISO 14289-1:2014\" clause=\"7.1\" testNumber=\"8\" status=\"failed\" failedChecks=\"1\" tags=\"metadata\">\n            <description>The Catalog dictionary of a conforming file shall contain the Metadata key whose value is a metadata stream as defined in ISO 32000-1:2008, 14.3.2. The metadata stream dictionary shall contain entry Type with value /Metadata and entry Subtype with value /XML</description>\n            <object>PDDocument</object>\n            <test>containsMetadata == true</test>\n            <check status=\"failed\">\n              <context>root/document[0]</context>\n              <errorMessage>The document catalog dictionary doesn't contain metadata key or metadata stream dictionary does not contain either entry Type with value /Metadata or entry Subtype with value /XML</errorMessage>\n            </check>\n          </rule>\n          <rule specification=\"ISO 14289-1:2014\" clause=\"7.1\" testNumber=\"11\" status=\"failed\" failedChecks=\"1\" tags=\"structure\">\n            <description>The logical structure of the conforming file shall be described by a structure hierarchy rooted in the StructTreeRoot entry of the document catalog dictionary, as described in ISO 32000-1:2008, 14.7</description>\n            <object>PDDocument</object>\n            <test>containsStructTreeRoot == true</test>\n            <check status=\"failed\">\n              <context>root/document[0]</context>\n              <errorMessage>StructTreeRoot entry is not present in the document catalog</errorMessage>\n            </check>\n          </rule>\n          <rule specification=\"ISO 14289-1:2014\" clause=\"7.21.4.1\" testNumber=\"1\" status=\"failed\" failedChecks=\"2\" tags=\"font\">\n            <description>The font programs for all fonts used for rendering within a conforming file shall be embedded within that file, as defined in ISO 32000-1:2008, 9.9</description>\n            <object>PDFont</object>\n            <test>Subtype == \"Type3\" || Subtype == \"Type0\" || renderingMode == 3 || containsFontFile == true</test>\n            <check status=\"failed\">\n              <context>root/document[0]/pages[0](4 0 obj PDPage)/contentStream[0](8 0 obj PDSemanticContentStream)/operators[11]/font[0](Helvetica-Bold)</context>\n              <errorMessage>The font program is not embedded</errorMessage>\n            </check>\n            <check status=\"failed\">\n              <context>root/document[0]/pages[0](4 0 obj PDPage)/contentStream[0](8 0 obj PDSemanticContentStream)/operators[20]/font[0](Helvetica)</context>\n              <errorMessage>The font program is not embedded</errorMessage>\n            </check>\n          </rule>\n          <rule specification=\"ISO 14289-1:2014\" clause=\"7.1\" testNumber=\"10\" status=\"failed\" failedChecks=\"1\" tags=\"syntax\">\n            <description>The document catalog dictionary shall include a ViewerPreferences dictionary containing a DisplayDocTitle key, whose value shall be true</description>\n            <object>CosDocument</object>\n            <test>DisplayDocTitle == true</test>\n            <check status=\"failed\">\n              <context>root</context>\n              <errorMessage>ViewerPreferences dictionary is not present in the document Catalog, or DisplayDocTitle key is set to false or is not present in the ViewerPreferences dictionary (ViewerPreferences = null, DisplayDocTitle = null)</errorMessage>\n            </check>\n          </rule>\n          <rule specification=\"ISO 14289-1:2014\" clause=\"7.2\" testNumber=\"34\" status=\"failed\" failedChecks=\"7\" tags=\"lang,text\">\n            <description>Natural language for text in page content shall be determined</description>\n            <object>SETextItem</object>\n            <test>gContainsCatalogLang == true || Lang != null</test>\n            <check status=\"failed\">\n              <context>root/document[0]/pages[0](4 0 obj PDPage)/contentStream[0](8 0 obj PDSemanticContentStream)/content[0]/contentItem[0]</context>\n              <errorMessage>Natural language for text in page content cannot be determined</errorMessage>\n            </check>\n            <check status=\"failed\">\n              <context>root/document[0]/pages[0](4 0 obj PDPage)/contentStream[0](8 0 obj PDSemanticContentStream)/content[0]/contentItem[1]</context>\n              <errorMessage>Natural language for text in page content cannot be determined</errorMessage>\n            </check>\n            <check status=\"failed\">\n              <context>root/document[0]/pages[0](4 0 obj PDPage)/contentStream[0](8 0 obj PDSemanticContentStream)/content[0]/contentItem[3]</context>\n              <errorMessage>Natural language for text in page content cannot be determined</errorMessage>\n            </check>\n            <check status=\"failed\">\n              <context>root/document[0]/pages[0](4 0 obj PDPage)/contentStream[0](8 0 obj PDSemanticContentStream)/content[0]/contentItem[4]</context>\n              <errorMessage>Natural language for text in page content cannot be determined</errorMessage>\n            </check>\n            <check status=\"failed\">\n              <context>root/document[0]/pages[0](4 0 obj PDPage)/contentStream[0](8 0 obj PDSemanticContentStream)/content[0]/contentItem[5]</context>\n              <errorMessage>Natural language for text in page content cannot be determined</errorMessage>\n            </check>\n            <check status=\"failed\">\n              <context>root/document[0]/pages[0](4 0 obj PDPage)/contentStream[0](8 0 obj PDSemanticContentStream)/content[0]/contentItem[6]</context>\n              <errorMessage>Natural language for text in page content cannot be determined</errorMessage>\n            </check>\n            <check status=\"failed\">\n              <context>root/document[0]/pages[0](4 0 obj PDPage)/contentStream[0](8 0 obj PDSemanticContentStream)/content[0]/contentItem[7]</context>\n              <errorMessage>Natural language for text in page content cannot be determined</errorMessage>\n            </check>\n          </rule>\n        </details>\n      </validationReport>\n      <duration start=\"1794028776830\" finish=\"1794028777078\">00:00:00.248</duration>\n    </job>\n  </jobs>\n  <batchSummary totalJobs=\"1\" failedToParse=\"0\" encrypted=\"0\" outOfMemory=\"0\" veraExceptions=\"0\">\n    <validationReports compliant=\"0\" nonCompliant=\"1\" failedJobs=\"0\">1</validationReports>\n    <featureReports failedJobs=\"0\">0</featureReports>\n    <repairReports failedJobs=\"0\">0</repairReports>\n    <duration start=\"1794028776793\" finish=\"1794028777143\">00:00:00.350</duration>\n  </batchSummary>\n</report>\r\n"
  },
  "validationAfter": {
    "status": "pass",
    "profile": "PDF/UA-1 validation profile",
    "failedRules": 0,
    "failedChecks": 0,
    "failures": [],
    "raw": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<report>\n  <buildInformation>\n    <releaseDetails id=\"core\" version=\"1.30.4\" buildDate=\"2026-11-09T13:08:00-06:00\"></releaseDetails>\n    <releaseDetails id=\"validation-model\" version=\"1.30.4\" buildDate=\"2026-11-09T13:11:00-06:00\"></releaseDetails>\n    <releaseDetails id=\"apps\" version=\"1.30.4\" buildDate=\"2026-11-09T13:40:00-06:00\"></releaseDetails>\n  </buildInformation>\n  <jobs>\n    <job>\n      <item size=\"45077\">\n        <name>agenda-after.pdf</name>\n      </item>\n      <validationReport jobEndStatus=\"normal\" profileName=\"PDF/UA-1 validation profile\" statement=\"PDF file is compliant with Validation Profile requirements.\" isCompliant=\"true\">\n        <details passedRules=\"106\" failedRules=\"0\" passedChecks=\"801\" failedChecks=\"0\"></details>\n      </validationReport>\n      <duration start=\"1794239981633\" finish=\"1794239981808\">00:00:00.175</duration>\n    </job>\n  </jobs>\n  <batchSummary totalJobs=\"1\" failedToParse=\"0\" encrypted=\"0\" outOfMemory=\"0\" veraExceptions=\"0\">\n    <validationReports compliant=\"1\" nonCompliant=\"0\" failedJobs=\"0\">1</validationReports>\n    <featureReports failedJobs=\"0\">0</featureReports>\n    <repairReports failedJobs=\"0\">0</repairReports>\n    <duration start=\"1794239981612\" finish=\"1794239981819\">00:00:00.207</duration>\n  </batchSummary>\n</report>\n",
    "validatorVersion": "1.30.4",
    "machineChecksOnly": true
  },
  "output": "agenda-after.pdf",
  "timestamp": "2026-11-07T05:19:46.620431+00:00",
  "actions": [
    "reflowed text",
    "applied selected tags and logical order",
    "set title and language",
    "ran veraPDF PDF/UA-1",
    "Retagged all five numbered agenda items as an ordered list with linked labels and bodies; preserved every visible glyph and recorded human review as pending."
  ],
  "note": "Text was reflowed into a new PDF; original graphics are not preserved. The seeded form fields are reconstructed, not recognized automatically. Compare with the source and complete human remediation.",
  "humanReviewPending": true,
  "updated": "2026-11-09T15:59:44.904268+00:00"
}
