{
  "schemaVersion": 1,
  "library": "pandoc",
  "estimatedProgress": 23,
  "suiteProgress": "2026-07-01 plib-jty4i: ZipPackage packageManifestPreflight now carries per-entry entry-name byte lengths and ordered name-length bucket rollups through shared ZIP package preflights, exposing up-to-15, 16-to-63, 64-to-127, and 128-plus byte buckets with byte totals, directory roots, extension keys, longest entry names, and deterministic manifest-hash handoff without exposing package payload bytes or invoking external ZIP tools. Direct-format parity remains active in blocker notes. 2026-07-01 plib-jty4i: Post-rebase validation passed php -l for ZipPackage.php and ZipPackageTest.php; php tools/run-tests.php lanes/pandoc/tests/ZipPackageTest.php with 1 file, 6,061 assertions, 0 failures; php tools/run-tests.php lanes/pandoc/tests/OpenPackagingConventionsTest.php with 1 file, 5,333 assertions, 0 failures; jq empty lanes/pandoc/UPSTREAM_TEST_MANIFEST.json lanes/pandoc/lane-status.json; git diff --cached --check; git diff --check; conflict-marker scan of changed lane files. No external Pandoc, citeproc, BibTeX, Biber, office suite, TeX/browser engine, Typst, Jupyter, Node, zip/unzip, validators, or live services were invoked. 2026-07-01 plib-831x4: Post-rebase validation passed php -l for ZipPackage.php, OpenDocumentPackageByteHandoff.php, DocxOpenXmlReader.php, ZipPackageTest.php, OdfReaderZipSourceRecordProvenanceTest.php, and DocxOpenXmlReaderTest.php; php tools/run-tests.php lanes/pandoc/tests/ZipPackageTest.php with 1 file, 6,035 assertions, 0 failures; php tools/run-tests.php lanes/pandoc/tests/OpenPackagingConventionsTest.php with 1 file, 5,333 assertions, 0 failures; php tools/run-tests.php lanes/pandoc/tests/OdfReaderZipSourceRecordProvenanceTest.php lanes/pandoc/tests/OpenDocumentPackageTest.php with 2 files, 2,352 assertions, 0 failures; php tools/run-tests.php lanes/pandoc/tests/DocxOpenXmlReaderTest.php with 1 file, 12,508 assertions, 0 failures; JSON parse for lane-status; git diff --check origin/main...HEAD -- lanes/pandoc; and conflict-marker scan of changed lane files. No external Pandoc, office suite, TeX/browser engine, Typst, Jupyter, Node, zip/unzip, validators, or live services were invoked. 2026-07-01 plib-831x4: ZIP selected-entry handoff now carries metadata-only archive-trailer source provenance for shared ZIP/OPC packages, exposing EOCD fixed-header and package-comment offsets, byte counts, hashes, preview limits, and byte-exposure policy through ZipPackage plus DOCX and ODF handoff surfaces without changing selected source manifest hashes or invoking external ZIP tools. 2026-07-01 plib-ar8: MediaBag resource mapping now normalizes parameterized declared resource MIME types before recording media-bag items, so resource-map entries such as IMAGE/SVG+XML; CHARSET=UTF-8 produce stable image/svg+xml provenance, MIME-derived hash extensions, and mapped AST attributes without retaining MIME parameters or invoking external tools. Direct-format parity remains active in blocker notes. 2026-07-01 plib-ar8: Validation passed php -l for MediaBag.php and MediaBagTest.php; php tools/run-tests.php lanes/pandoc/tests/MediaBagTest.php with 1 file, 252 assertions, 0 failures; php tools/run-tests.php lanes/pandoc/tests/MediaBagTest.php lanes/pandoc/tests/EpubWriterTest.php lanes/pandoc/tests/PandocConverterTest.php with 3 files, 518 assertions, 0 failures. Related DocBookReaderTest.php was attempted post-rebase and remains red outside this slice with 1 file, 177 assertions, 3 existing DocBook writer expectation failures while its media-resource cases passed. No external Pandoc, office suite, TeX/browser engine, Typst, Jupyter, Node, zip/unzip, validators, fetchers, or live services were invoked. 2026-07-01 plib-74vn4: PdfEngineHandoff now groups Typst standards-only --pdf-standard controls into pdfExport provenance packets, carrying selected standards plus standard-policy/history/override issues into boundary diagnostics, summaries, artifact review, and fake-run sequence output while preserving existing mixed page/ppi/tag/pretty export packet shape. Direct-format parity remains active in blocker notes. Validation passed php -l for PdfEngineHandoff.php, PdfEngineHandoffTest.php, and PdfEngineHandoffTypstPdfStandardExportPacketTest.php; php tools/run-tests.php lanes/pandoc/tests/PdfEngineHandoffTypstPdfStandardExportPacketTest.php with 1 file, 22 assertions, 0 failures; php tools/run-tests.php lanes/pandoc/tests/PdfEngineHandoffTest.php with 1 file, 3802 assertions, 0 failures; php tools/run-tests.php lanes/pandoc/tests/PdfEngineHandoffTypstPdfStandardExportPacketTest.php lanes/pandoc/tests/PdfEngineHandoffTypstPdfExportSummaryProvenanceTest.php lanes/pandoc/tests/PdfEngineHandoffTypstSidecarSummaryProvenanceTest.php lanes/pandoc/tests/PdfEngineHandoffTypstBoundaryMatrixSummaryTest.php lanes/pandoc/tests/PdfEngineHandoffTest.php with 5 files, 3965 assertions, 0 failures; php tools/run-tests.php lanes/pandoc/tests/PdfEngineHandoff*Test.php with 14 files, 4321 assertions, 0 failures. No external Pandoc, office suite, TeX/browser engine, Typst, Jupyter, Node, zip/unzip, validators, or live services were invoked. 2026-07-01 plib-dw5jt: DOCX/OpenXML package ingestion now carries relationship Type URI provenance through relationship rows, relationshipTypes buckets, and packageProvenance.summary, grouping metadata-only Type declarations by URI kind, scheme, host, namespace/path prefix, and leaf label while preserving existing relationship type counts and direct-format parity without reading package payload bytes or invoking external tools. 2026-07-01 plib-dw5jt: Post-rebase validation passed php -l for DocxOpenXmlReader.php and DocxOpenXmlRelationshipTypeUriProvenanceTest.php; php tools/run-tests.php lanes/pandoc/tests/DocxOpenXmlRelationshipTypeUriProvenanceTest.php with 1 file, 35 assertions, 0 failures; php tools/run-tests.php lanes/pandoc/tests/DocxOpenXmlRelationshipTypeUriProvenanceTest.php lanes/pandoc/tests/DocxOpenXmlPackageInventoryRolesTest.php lanes/pandoc/tests/DocxOpenXmlReaderTest.php with 3 files, 12,576 assertions, 0 failures; php tools/run-tests.php lanes/pandoc/tests/DocxOpenXml*.php with 73 files, 16,675 assertions, 0 failures; JSON parse for lane-status; git diff --check origin/main...HEAD -- lanes/pandoc; and conflict-marker scan of changed lane files. Full Pandoc lane was also attempted with php tools/run-tests.php lanes/pandoc/tests/*.php and remains red outside this DOCX/OpenXML slice with 513 files, 140,869 assertions, 8,960 failures across existing DocBook, Markdown, LaTeX, table geometry, Unicode, OPC, JSON-native, and HTML writer baselines. No external Pandoc, office suite, TeX/browser engine, Typst, Jupyter, Node, zip/unzip, validators, or live services were invoked. 2026-07-01 plib-gifl: Plain writer wrapping diagnostics now carry wrapped-source-line sample accounting, exposing total wrapped source-line count, sample limit, and truncation state alongside bounded line records while preserving native plain output and direct-format parity without external tools. 2026-07-01 plib-mrlie: DOCX/OpenXML package ingestion now carries relationship source path-segment name-character review summaries through packageProvenance.summary, exposing metadata-only source-segment buckets for uppercase, whitespace, percent-encoded octets, and non-ASCII source path segments with occurrence/source/relationship/source-part counts, flag segment/source/relationship/source-part maps, existing/non-existing source counts, path position/depth/top-level/directory/base-name/extension/content-type/source-kind/role rollups, relationship parts, and largest existing source metadata while keeping package-root relationship sources and unflagged source segments out of the review. Validation passed php -l for DocxOpenXmlReader.php and DocxOpenXmlRelationshipSourcePathSegmentNameCharactersTest.php; php tools/run-tests.php lanes/pandoc/tests/DocxOpenXmlRelationshipSourcePathSegmentNameCharactersTest.php with 1 file, 96 assertions, 0 failures; php tools/run-tests.php lanes/pandoc/tests/DocxOpenXmlRelationshipSourcePathSegmentNameCharactersTest.php lanes/pandoc/tests/DocxOpenXmlRelationshipSourceNameCharactersTest.php lanes/pandoc/tests/DocxOpenXmlRelationshipSourceDirectoryNameCharactersTest.php lanes/pandoc/tests/DocxOpenXmlRelationshipSourcePathSegmentsTest.php lanes/pandoc/tests/DocxOpenXmlRelationshipSourceCaseFoldPathSegmentsTest.php lanes/pandoc/tests/DocxOpenXmlReaderTest.php with 6 files, 12,823 assertions, 0 failures. No external Pandoc, office suite, TeX/browser engine, Typst, Node, zip/unzip, validators, or live services were invoked. 2026-07-01 plib-wazxm: ODF/ODT package ingestion now carries metadata-only XML root element provenance through compact OpenDocumentPackage and rich OdfReader package inventories, including per-part root qualified/local names, prefixes, namespace URIs, root attribute names, namespace declaration names, package-level root-name/namespace buckets, and invalid XML exclusion without exposing root attribute/text values or invoking external tools. Direct-format parity remains active in blocker notes. 2026-07-01 plib-wazxm: Validation passed php -l for OpenDocumentPackage.php, OdfReader.php, and OdfPackageXmlRootElementProvenanceTest.php; php tools/run-tests.php lanes/pandoc/tests/OdfPackageXmlRootElementProvenanceTest.php with 1 file, 56 assertions, 0 failures; php tools/run-tests.php lanes/pandoc/tests/OdfPackageXmlRootElementProvenanceTest.php lanes/pandoc/tests/OdfPackageXmlCdataSectionProvenanceTest.php lanes/pandoc/tests/OdfPackageXmlCommentProvenanceTest.php lanes/pandoc/tests/OdfPackageXmlProcessingInstructionProvenanceTest.php with 4 files, 260 assertions, 0 failures; php tools/run-tests.php lanes/pandoc/tests/OpenDocumentPackageTest.php lanes/pandoc/tests/OdfReaderTest.php with 2 files, 7586 assertions, 0 failures. No external Pandoc, office suite, TeX/browser engine, Typst, Node, zip/unzip, validators, or live services were invoked. 2026-07-01 plib-a5ipn: ODF/ODT package ingestion now carries package path byte-length bucket rollups through compact OpenDocumentPackage inventory/identity and rich OdfReader packageProvenance/packageIdentity/document metadata, exposing ordered bucket names, counts, entry-name maps, role/policy rollups, and longest-entry summaries without exposing package bytes or invoking external tools. Direct-format parity remains active in blocker notes. 2026-07-01 plib-mrlie: DOCX/OpenXML package ingestion now carries relationship target path-segment name-character review summaries through packageProvenance.summary, exposing metadata-only target-segment buckets for uppercase, whitespace, percent-encoded octets, and non-ASCII path segments with occurrence/relationship/target counts, flag segment/target maps, existing/missing target counts, path position/depth/top-level/directory/base-name/extension/content-type/relationship-type/role rollups, and largest existing target metadata while keeping external relationship targets out of internal target segment review. 2026-07-01 plib-wb1ea: XmlHtmlDom now carries metadata-only html-select-option-state-review fields for select controls, exposing explicit selected values, fallback first-option source, disabled selected option diagnostics, required value-missing candidates, single-select conflict buckets, and selected option records while preserving raw HTML and WordPress handoff without browser execution. Direct-format parity remains active in blocker notes. 2026-07-01 plib-l8xvy: ODF/ODT package ingestion now carries manifest media-type parameter value rollups through compact OpenDocumentPackage summaries and rich OdfReader import reports/package identities, grouping charset/profile/role-style values with occurrence counts, affected manifest parts, and raw media-type declarations while preserving metadata-only package review without exposing package bytes or invoking external tools. Direct-format parity remains active in blocker notes. 2026-07-01 plib-mrlie: DOCX/OpenXML package ingestion now carries package part path-segment name-character review summaries through packageProvenance.summary, exposing metadata-only segment buckets for uppercase, whitespace, percent-encoded octets, and non-ASCII path segments with occurrence/part counts, flag-to-segment/part maps, position/depth/directory/base-name/content-type/role rollups, parameterized content-type counts, and largest-part metadata while distinguishing directory-segment and basename-segment flags. 2026-07-01 plib-mrlie: DOCX/OpenXML package part directory name-character review now carries aggregate metadata for flagged package directories, adding relationship-part lists plus parameterized content-type counts and largest-part directory-depth/content-type parameter details to the landed directory inventory flags and uppercase/whitespace/percent-encoded/non-ASCII package buckets. 2026-07-01 plib-ocwfi: DOCX/OpenXML package ingestion now carries explicit zipSourceRecordExpansionRatioBucket aliases alongside existing zipExpansionRatioBucket part inventory and packageIdentity metadata for loaded ZIP source-record expansion-ratio buckets without exposing package bytes or invoking external tools. Direct-format parity remains active in blocker notes. 2026-07-01 plib-na8a6: XmlHtmlDom now carries additive html-keyboard-input-review metadata for kbd text-level semantics, classifying nested shortcut keys, echoed samp input, output-derived input, empty keyboard input, and nested empty-key issues while preserving raw HTML and WordPress handoff without browser execution. Direct-format parity remains active in blocker notes. 2026-07-01 plib-frhaf: DOCX/OpenXML package ingestion now carries loaded part ZIP source-record expansion-ratio bucket summaries through packageProvenance.summary, part inventory, and packageIdentity, complementing package-manifest bucket rollups with zero-byte, up-to-1x, over-100x, and unknown-entry fixture coverage without exposing package bytes or invoking external tools. 2026-07-01 plib-mrlie: DOCX/OpenXML package ingestion now carries relationship source directory name-character review summaries through packageProvenance.summary, exposing metadata-only source-directory buckets for uppercase, whitespace, percent-encoded octets, and non-ASCII source directories with source/relationship/record counts, existing/non-existing source buckets, content-type/source-kind/role rollups, relationship parts, source parts, and largest existing source metadata while keeping basename-only flags out of directory review. 2026-07-01 plib-vl9if: XmlHtmlDom now carries additive html-bidi-text-direction-review metadata for bdi/bdo text-direction elements, distinguishing implicit bdi auto isolation from explicit bdo override direction requirements and surfacing missing/invalid override dir issue codes while preserving raw HTML/WordPress handoff without browser execution. Direct-format parity remains active in blocker notes. 2026-07-01 plib-brkhy: PdfEngineHandoff now carries Typst execution-jobs policy rollups through typstBoundarySummary, exposing selected jobs value, selected mode/count, job history and observation counts, override counts, invalid/fixed/auto buckets, and policy issue counts while preserving existing boundary provenance, matrix, artifact-review, and fake-run sequence handoff without executing Typst or PDF engines. Direct-format parity remains active in blocker notes. 2026-07-01 plib-brkhy: Post-rebase validation passed php -l for PdfEngineHandoff.php and PdfEngineHandoffTest.php; php tools/run-tests.php lanes/pandoc/tests/PdfEngineHandoffTest.php with 1 file, 3,786 assertions, 0 failures; php tools/run-tests.php lanes/pandoc/tests/PdfEngineHandoffTypstBoundaryMatrixSummaryTest.php lanes/pandoc/tests/PdfEngineHandoffTypstWarningSourcePolicyTest.php lanes/pandoc/tests/PdfEngineHandoffPdfEofMarkerPolicyTest.php lanes/pandoc/tests/PdfReaderTest.php with 4 files, 1,602 assertions, 0 failures; jq empty lanes/pandoc/lane-status.json; git diff --check origin/main...HEAD -- lanes/pandoc; conflict-marker scan of changed lane files. No external Pandoc, office suite, TeX/browser engine, Typst, Jupyter, Node, zip/unzip, validators, or live services were invoked. 2026-07-01 plib-1j99m: XmlHtmlDom style attribute review now carries metadata-only html-style-url-reference-review rollups for CSS url(...) sources, exposing per-declaration property provenance, raw/unquoted URL text, CSS-escaped URL decoding for classification, URL kind/scheme/safety, empty and unsafe issue codes, aggregate property/kind/scheme lists, and unsafe reference records while preserving raw HTML handoff without fetching resources or invoking CSS/browser validators. Direct-format parity remains active in blocker notes. 2026-07-01 plib-4qg0v: DOCX/OpenXML package ingestion now carries ZIP package-manifest expansion-ratio bucket summaries through packageProvenance summary and zipPackage metadata, exposing bucket names, counts, compressed/uncompressed/source-record byte totals, entry names, directory roots, compression methods, and largest-ratio metadata without exposing package bytes or invoking external tools. Direct-format parity remains active in blocker notes. 2026-07-01 plib-4qg0v: DOCX package manifest expansion-ratio bucket validation passed php -l for DocxOpenXmlReader.php, DocxOpenXmlReaderTest.php, and DocxOpenXmlPackageManifestExpansionRatioBucketsTest.php; php tools/run-tests.php lanes/pandoc/tests/DocxOpenXmlPackageManifestExpansionRatioBucketsTest.php with 1 file, 20 assertions, 0 failures; php tools/run-tests.php lanes/pandoc/tests/DocxOpenXmlReaderTest.php with 1 file, 12,486 assertions, 0 failures; php tools/run-tests.php lanes/pandoc/tests/DocxOpenXmlPackageManifestExpansionRatioBucketsTest.php lanes/pandoc/tests/DocxOpenXmlReaderTest.php with 2 files, 12,506 assertions, 0 failures. No external Pandoc, office, TeX/browser, Typst, Node, zip/unzip, validators, or live services were invoked. 2026-07-01 plib-71u2y: XmlHtmlDom now emits per-element html-track-element-review metadata on summarized HTML track nodes, carrying raw and normalized kind, raw and canonical srclang, language-required and language-missing state, issue records/codes/counts, validity, and media-local sibling indexes while preserving parent media track summaries and raw WordPress handoff. Direct-format parity remains active in blocker notes; no external Pandoc, citeproc, BibTeX, Biber, office, TeX/browser, Typst, Node, zip/unzip, validators, or live services were invoked. 2026-07-01 plib-btlep: ODF/ODT package ingestion now carries per-entry ZIP package-manifest expansion-ratio bucket labels through compact OpenDocumentPackage package entries and rich OdfReader packageProvenance/packageIdentity/document metadata, adding explicit zero-byte, up-to-1x, over-100x, and unknown-entry fixture coverage on top of the existing package-level bucket rollups while preserving metadata-only package review without exposing package bytes or invoking external tools. 2026-07-01 plib-0v0uy: ODF/ODT package ingestion now carries ZIP package-manifest expansion-ratio bucket rollups through compact OpenDocumentPackage inventory/identity and rich OdfReader packageProvenance/packageIdentity metadata, exposing bucket counts, ordered bucket names, bucket summaries, entry names, directory roots, compression methods, byte/source-record totals, unknown-entry counts, and largest-ratio metadata without exposing package bytes or invoking external tools. Direct-format parity remains active in blocker notes. 2026-07-01 plib-0v0uy: Validation passed php -l for OpenDocumentPackage.php, OdfReader.php, and OdfZipPackageManifestAggregateProvenanceTest.php; php tools/run-tests.php lanes/pandoc/tests/OdfZipPackageManifestAggregateProvenanceTest.php with 1 file, 848 assertions, 0 failures; php tools/run-tests.php lanes/pandoc/tests/OdfZipPackageManifestAggregateProvenanceTest.php lanes/pandoc/tests/OpenDocumentPackageTest.php lanes/pandoc/tests/OdfReaderPackageIdentityTest.php lanes/pandoc/tests/OdfReaderTest.php with 4 files, 8,497 assertions, 0 failures. No external Pandoc, office suite, TeX/browser engine, Typst, Node, zip/unzip, validators, or live services were invoked. 2026-07-01 plib-tqiq2: Legacy BibTeX/CSL handoff now preserves split start/end BibLaTeX date fields for issued, accessed, original, reprint, event, available-date, submitted, and label-date metadata, including hyphenated field aliases, as CSL date-parts ranges through BibtexCslProcessor and native CitationCslProcessor/WordPress rendering without external citeproc, BibTeX, Biber, Pandoc, or validators. 2026-07-01 plib-dzjln: Strict BibTeX CSL parsing now carries accepted-date/date-accepted and revised-date/revision-date/date-revised publication-state dates through CitationCslProcessor::fromBibtex(), including split ranges, open-ended endpoints, time/end-time fields, era metadata, marker summaries, CSL style rendering, and WordPress bibliography handoff while preserving native PHP direct-format parity without external citeproc, BibTeX, Biber, Pandoc, or validators. 2026-07-01 plib-ezu75: ZipPackage ZIP64 EOCD accounting now carries metadata-only extensible-data sector provenance through end-of-central-directory and raw strict import preflights, exposing sector offsets, available/missing byte counts, SHA-256, preview hex, and byte-exposure policy while continuing to reject ZIP64 package import and without exposing package payload bytes or invoking external tools. Direct-format parity remains active in blocker notes. 2026-07-01 plib-ezu75: Validation passed php -l for ZipPackage.php and ZipPackageTest.php; php tools/run-tests.php lanes/pandoc/tests/ZipPackageTest.php with 1 file, 5,684 assertions, 0 failures; php tools/run-tests.php lanes/pandoc/tests/ZipPackageTest.php lanes/pandoc/tests/OpenPackagingConventionsTest.php with 2 files, 10,975 assertions, 0 failures. No external Pandoc, office suite, TeX/browser engine, Typst, Node, zip/unzip, validators, or live services were invoked. 2026-07-01 plib-mrlie: DOCX/OpenXML package ingestion now carries case-folded relationship source top-level segment summaries through packageProvenance.summary, exposing source top-level variant counts, existing/non-existing source buckets, duplicate case-fold groups, path/depth/directory/base-name/extension/content-type/role rollups, relationship part lists, and largest existing source metadata while preserving package-root and invalid-source buckets. 2026-07-01 plib-8akj6: PdfEngineHandoff now carries Typst warning source policy rollups through fake-run artifact provenance and boundary matrix details, grouping warning source kinds, source classes, package references, source files, boundary status counts, and source issue counts without executing Typst or PDF engines. Validation passed php -l for PdfEngineHandoff.php and PdfEngineHandoffTypstWarningSourcePolicyTest.php; php tools/run-tests.php lanes/pandoc/tests/PdfEngineHandoffTypstWarningSourcePolicyTest.php with 1 file, 37 assertions, 0 failures; php tools/run-tests.php lanes/pandoc/tests/PdfEngineHandoffTypstWarningSourcePolicyTest.php lanes/pandoc/tests/PdfEngineHandoffTypstBoundaryMatrixSummaryTest.php lanes/pandoc/tests/PdfEngineHandoffTest.php lanes/pandoc/tests/PdfReaderTest.php with 4 files, 5,313 assertions, 0 failures. No external Pandoc, office suite, TeX/browser engine, Typst, Node, zip/unzip, validators, or live services were invoked. 2026-07-01 plib-ujt3h: BibLaTeX/CSL relation summaries now label unadorned known relatedtype values such as reprintof, translationof, reviewof, updated-by, and related aliases while preserving explicit relatedstring labels and generic Related source (type) fallback for custom relation types. Direct-format parity remains active in blocker notes. 2026-07-01 plib-ujt3h: Validation passed php -l for BibtexCslProcessor.php, BibtexCslParser.php, CitationCslProcessor.php, BibtexCslProcessorTest.php, and CitationCslProcessorTest.php; php tools/run-tests.php lanes/pandoc/tests/BibtexCslProcessorTest.php with 1 file, 945 assertions, 0 failures; php tools/run-tests.php lanes/pandoc/tests/CitationCslProcessorTest.php with 1 file, 6,153 assertions, 0 failures; php tools/run-tests.php lanes/pandoc/tests/BibliographyReaderTest.php with 1 file, 307 assertions, 0 failures. No external Pandoc, office, TeX/browser, Typst, Node, unzip/zip, validators, citeproc, BibTeX, Biber, or live services were invoked. 2026-07-01 plib-mrlie: DOCX/OpenXML package ingestion now carries case-folded relationship target top-level segment summaries through packageProvenance.summary, exposing top-level variant counts, existing/missing target buckets, duplicate case-fold groups, directory/base-name/extension/content-type/role rollups, target lists, and largest existing target metadata while keeping external relationship targets out of internal package buckets. 2026-07-01 plib-133ou: ZipPackage ZIP64 EOCD accounting now carries field-level classic EOCD to ZIP64 resolution metadata, exposing sentinel-backed, resolved, missing, mirrored, and mismatched fields plus per-field resolution rows while continuing to reject ZIP64 package import and without exposing package payload bytes or invoking external tools. Direct-format parity remains active in blocker notes. 2026-07-01 plib-133ou: Post-rebase validation passed php -l for ZipPackage.php and ZipPackageTest.php; php tools/run-tests.php lanes/pandoc/tests/ZipPackageTest.php lanes/pandoc/tests/OpenPackagingConventionsTest.php with 2 files, 10919 assertions, 0 failures; jq empty lanes/pandoc/lane-status.json; git diff --check origin/main...HEAD -- lanes/pandoc; conflict-marker scan of changed files. No external Pandoc, office suite, TeX/browser engine, Typst, Node, zip/unzip, validators, or live services were invoked. 2026-07-01 plib-mrlie: DOCX/OpenXML package ingestion now carries raw relationship target directory base-name stem summaries through packageProvenance.summary, exposing case-sensitive stem counts, existing/missing target buckets, duplicate stem groups, directory/base-name/content-type/role rollups, target part lists, and largest existing target metadata while keeping external relationship targets out of internal package buckets and preserving metadata-only package review. 2026-07-01 plib-i22d0: ODF/ODT package ingestion now carries package CRC32 aggregate provenance through compact OpenDocumentPackage inventory/identity and rich OdfReader packageProvenance/packageIdentity/document metadata, grouping non-directory ZIP entries by central-directory CRC32 with duplicate counts, entry-name maps, byte/compressed/source-record byte totals, compression-method, manifest media, byte-exposure, and role buckets without exposing package bytes or invoking external tools. Direct-format parity remains active in blocker notes. 2026-07-01 plib-i22d0: Validation passed php -l for OdfPackageCrc32Inventory.php, OpenDocumentPackage.php, OdfReader.php, and OdfPackageCrc32AggregateProvenanceTest.php; php tools/run-tests.php lanes/pandoc/tests/OdfPackageCrc32AggregateProvenanceTest.php with 1 file, 119 assertions, 0 failures; php tools/run-tests.php lanes/pandoc/tests/OdfPackageCrc32AggregateProvenanceTest.php lanes/pandoc/tests/OdfZipSourceRecordCompressionMethodsTest.php lanes/pandoc/tests/OdfZipTimestampSourcesTest.php lanes/pandoc/tests/OdfZipSourceRecordDirectoryRootsTest.php lanes/pandoc/tests/OdfReaderPackageIdentityTest.php lanes/pandoc/tests/OpenDocumentPackageTest.php with 6 files, 2866 assertions, 0 failures; php tools/run-tests.php selected ODF provenance subset with 17 files, 1503 assertions, 0 failures. No external Pandoc, office suite, TeX/browser engine, Typst, Node, zip/unzip, validators, or live services were invoked. 2026-07-01 plib-lh4od: PdfEngineHandoff now carries compact Typst diagnostic-output summary counters through typstBoundarySummary, exposing selected format/color controls, diagnostic format/color history counts, diagnostic override counts, and invalid diagnostic-output counts alongside existing diagnostic-output matrix provenance without reading engine outputs or executing Typst/PDF engines. Direct-format parity remains active in blocker notes. 2026-07-01 plib-ug7cd: XmlHtmlDom now emits metadata-only html-base-url-target-review fields for base document metadata, carrying href kind/scheme/safety/resolved usability and target keyword/custom/fallback diagnostics while preserving serialized HTML and sanitized fragment behavior without fetching base URLs or invoking external validators. Direct-format parity remains active in blocker notes. 2026-07-01 plib-ug7cd: Validation passed php -l for XmlHtmlDom.php and XmlHtmlDomBaseMetadataReviewTest.php; php tools/run-tests.php lanes/pandoc/tests/XmlHtmlDomBaseMetadataReviewTest.php with 1 file, 72 assertions, 0 failures; php tools/run-tests.php lanes/pandoc/tests/XmlHtmlDomBaseMetadataReviewTest.php lanes/pandoc/tests/XmlHtmlDomTest.php lanes/pandoc/tests/Html5DomFragmentTest.php lanes/pandoc/tests/XmlHtmlDomLinkFetchPolicyReviewTest.php lanes/pandoc/tests/XmlHtmlDomScriptIntegrityReviewTest.php lanes/pandoc/tests/XmlHtmlDomScriptLoadingPolicyReviewTest.php with 6 files, 9,349 assertions, 0 failures; php tools/run-tests.php lanes/pandoc/tests/XmlHtmlDom*Test.php lanes/pandoc/tests/Html5DomFragmentTest.php with 60 files, 11,592 assertions, 0 failures; jq empty lanes/pandoc/lane-status.json; git diff --check origin/main...HEAD -- lanes/pandoc; and conflict-marker scan of changed files. No external Pandoc, office, TeX/browser, Typst, Node, unzip/zip, validators, or live services were invoked. 2026-07-01 plib-xehgs: Legacy BibLaTeX/CSL handoff now carries accepted-date/date-accepted and revised-date/revision-date/date-revised publication-state dates through BibtexCslProcessor cslItems, direct bibliography text, CitationCslProcessor style rendering, and WordPress bibliography handoff while preserving raw BibTeX provenance and direct-format parity without external citeproc, BibTeX, Biber, Pandoc, or validators. Post-rebase validation passed php -l for BibtexCslProcessor.php, CitationCslProcessor.php, and BibtexCslProcessorTest.php; php tools/run-tests.php lanes/pandoc/tests/BibtexCslProcessorTest.php with 1 file, 900 assertions, 0 failures; php tools/run-tests.php lanes/pandoc/tests/CitationCslProcessorTest.php with 1 file, 6,143 assertions, 0 failures; php tools/run-tests.php lanes/pandoc/tests/BibliographyReaderTest.php with 1 file, 284 assertions, 0 failures; JSON parse for lane-status and UPSTREAM_TEST_MANIFEST; git diff --check -- lanes/pandoc; and conflict-marker scan of changed files. 2026-07-01 plib-kew0p: ODF/ODT package ingestion now carries ZIP timestamp-source rollups through compact OpenDocumentPackage inventory/identity and rich OdfReader packageProvenance/packageIdentity/document metadata, grouping missing, DOS, and extended timestamp sources with entry counts, byte lengths, source-record bytes, modified/issue counts, directory roots, local/central source counts, media-type, byte-exposure, role buckets, and sanitized earliest/latest/largest entry summaries without exposing package bytes or invoking external tools. Direct-format parity remains active in blocker notes. 2026-07-01 plib-foq87: DOCX/OpenXML package ingestion now carries package-wide XML processing-instruction provenance through DocxOpenXmlReader part inventory and package summary, exposing metadata-only counts, targets, parent paths/depths, data byte lengths, CRC32, and SHA-256 for prolog and in-element PIs without exposing raw PI data or invoking external tools. Direct-format parity remains active in blocker notes. Post-rebase validation passed php -l for DocxOpenXmlReader.php and DocxOpenXmlPackageXmlProcessingInstructionProvenanceTest.php; php tools/run-tests.php lanes/pandoc/tests/DocxOpenXmlPackageXmlProcessingInstructionProvenanceTest.php with 1 file, 35 assertions, 0 failures; php tools/run-tests.php lanes/pandoc/tests/DocxOpenXmlReaderTest.php with 1 file, 12355 assertions, 0 failures; jq empty lanes/pandoc/lane-status.json; git diff --check origin/main...HEAD -- lanes/pandoc; and conflict-marker scan of changed files. 2026-07-01 plib-bgtlh: ZipPackage now carries package-manifest path segment summaries through shared ZIP package preflights, exposing segment occurrence/entry counts, case-fold keys, per-index counts, directory-root buckets, extension buckets, compression-method buckets, local/source record bytes, and entry-name lists without exposing package payload bytes or invoking external ZIP tools. Direct-format parity remains active in blocker notes. Post-rebase validation passed php -l for ZipPackage.php and ZipPackageTest.php; php tools/run-tests.php lanes/pandoc/tests/ZipPackageTest.php with 1 file, 5,437 assertions, 0 failures; php tools/run-tests.php lanes/pandoc/tests/ZipPackageTest.php lanes/pandoc/tests/OpenPackagingConventionsTest.php lanes/pandoc/tests/DocxOpenXmlReaderTest.php lanes/pandoc/tests/OpenDocumentPackageTest.php lanes/pandoc/tests/OdfReaderZipSourceRecordProvenanceTest.php with 5 files, 25,325 assertions, 0 failures; jq empty lanes/pandoc/UPSTREAM_TEST_MANIFEST.json lanes/pandoc/lane-status.json; git diff --check -- lanes/pandoc; and a conflict-marker scan of changed files. 2026-07-01 plib-ubzc8: OpcRelationshipGraph now carries ZIP source-record handoff-kind summaries through constructed-package and raw central-directory OPC manifest preflights, grouping local record/header, compressed data, data descriptor, central-directory record, and total source-record bytes by content-types, relationships, XML, media, embedded-package, binary, directory, and blocked handoff classes without exposing package payload bytes or invoking external ZIP tools. Direct-format parity remains active in blocker notes. Replacement validation after latest-main rebase passed php -l for OpcRelationshipGraph.php and OpenPackagingConventionsTest.php; php tools/run-tests.php lanes/pandoc/tests/OpenPackagingConventionsTest.php with 1 file, 5,190 assertions, 0 failures; jq empty lanes/pandoc/UPSTREAM_TEST_MANIFEST.json lanes/pandoc/lane-status.json; git diff --check origin/main...HEAD -- lanes/pandoc; and conflict-marker scan of changed files. 2026-07-01 plib-1zn2r: Legacy BibTeX/CSL handoff now carries simple available-date, submitted, and label-date metadata through BibtexCslProcessor cslItems, fallback bibliography text, and bounded CitationCslProcessor style rendering while preserving native PHP direct-format parity without external citeproc, BibTeX, Biber, Pandoc, or validators. 2026-07-01 plib-1zn2r: Validation passed php -l for BibtexCslProcessor.php and BibtexCslProcessorTest.php; php tools/run-tests.php lanes/pandoc/tests/BibtexCslProcessorTest.php with 1 file, 866 assertions, 0 failures; php tools/run-tests.php lanes/pandoc/tests/BibtexCslProcessorTest.php lanes/pandoc/tests/CitationCslProcessorTest.php lanes/pandoc/tests/BibliographyReaderTest.php with 3 files, 7196 assertions, 0 failures. 2026-07-01 plib-fk8po: XmlHtmlDom now emits additive html-data-attribute-dataset-review metadata for global data-* attributes, including custom data attribute records, derived dataset names/counts, empty data- name diagnostics, duplicate dataset-property buckets, value lengths, and hashes while preserving existing dataAttributes/dataset outputs and raw HTML handoff. Direct-format parity remains active in blocker notes. Post-rebase validation passed php -l for XmlHtmlDom.php and XmlHtmlDomDataAttributeReviewTest.php; php tools/run-tests.php lanes/pandoc/tests/XmlHtmlDomDataAttributeReviewTest.php with 1 file, 34 assertions, 0 failures; php tools/run-tests.php lanes/pandoc/tests/XmlHtmlDom*Test.php lanes/pandoc/tests/Html5DomFragmentTest.php with 55 files, 11312 assertions, 0 failures; jq empty lanes/pandoc/lane-status.json; git diff --check -- lanes/pandoc; and conflict-marker scan of changed files. 2026-07-01 plib-72rk3: BibLaTeX/CSL handoff now preserves ISO date ranges and open-ended endpoints for issued, accessed, event, original, and reprint dates as CSL date-parts range objects with raw metadata, allowing native CSL styles and WordPress bibliography output to render date ranges without external citeproc/Pandoc validators. Direct-format parity remains active in blocker notes. Post-rebase validation passed php -l for BibtexCslProcessor.php and BibtexCslProcessorTest.php; php tools/run-tests.php lanes/pandoc/tests/BibtexCslProcessorTest.php with 1 file, 855 assertions, 0 failures; php tools/run-tests.php lanes/pandoc/tests/BibliographyReaderTest.php lanes/pandoc/tests/CitationCslProcessorTest.php lanes/pandoc/tests/BibtexCslProcessorTest.php with 3 files, 7185 assertions, 0 failures; JSON parse for lane-status; git diff --check origin/main...HEAD -- lanes/pandoc PANDOC_STATUS.md; and a conflict-marker scan of changed files. 2026-07-01 plib-g9920: ODF/ODT package identities now carry package area summaries and path lookup maps through compact OpenDocumentPackage and rich OdfReader packageIdentity metadata, including packageAreaSummaries, packagePathsByPackageArea, and packagePathsByPathDepth while preserving metadata-only package byte policy and direct-format parity without external validators. 2026-07-01 plib-g9920: Validation passed php -l for OpenDocumentPackage.php, OdfReader.php, and OdfPackagePartExtensionProvenanceTest.php; php tools/run-tests.php lanes/pandoc/tests/OdfPackagePartExtensionProvenanceTest.php with 1 file, 98 assertions, 0 failures; php tools/run-tests.php lanes/pandoc/tests/OdfPackagePartExtensionProvenanceTest.php lanes/pandoc/tests/OpenDocumentPackageTest.php lanes/pandoc/tests/OdfReaderPackageIdentityTest.php lanes/pandoc/tests/OdfReaderTest.php with 4 files, 7713 assertions, 0 failures. 2026-07-01 plib-w185v: MarkdownWriter now resolves link/image target aliases and percent-escapes ASCII control bytes in inline/reference destinations, turning the mapped upstream link destination-control, target-alias, link-title, and omitted-destination title fixtures green without invoking upstream Pandoc or external validators. Direct-format parity remains active in blocker notes. Focused validation passed php -l for MarkdownWriter.php; php tools/run-tests.php lanes/pandoc/tests/MarkdownWriterLinkDestinationControlSurgeTest.php lanes/pandoc/tests/MarkdownWriterLinkTargetAliasCompletionTest.php lanes/pandoc/tests/MarkdownWriterLinkTitleControlCompletionTest.php lanes/pandoc/tests/MarkdownWriterOmittedDestinationTitleFixtureTest.php with 4 files, 204 assertions, 0 failures; php tools/run-tests.php lanes/pandoc/tests/MarkdownWriterSemanticAttributeCompletionTest.php with 1 file, 8 assertions, 0 failures; jq empty lanes/pandoc/UPSTREAM_TEST_MANIFEST.json lanes/pandoc/lane-status.json; git diff --check origin/main...HEAD -- lanes/pandoc; and conflict-marker scan passed. 2026-07-01 plib-yytr6: ODF/ODT package identities now carry ZIP package-manifest path segment position provenance through compact OpenDocumentPackage and rich OdfReader packageIdentity metadata, including aggregate first/last/only position counts, position summaries, and per-entry zipPackageManifestPathSegmentPositionReviews while preserving metadata-only package byte policy and direct-format parity without external validators. 2026-07-01 plib-yytr6: Validation passed php -l for OpenDocumentPackage.php, OdfReader.php, and OdfZipPackageManifestAggregateProvenanceTest.php; php tools/run-tests.php lanes/pandoc/tests/OdfZipPackageManifestAggregateProvenanceTest.php with 1 file, 497 assertions, 0 failures; php tools/run-tests.php lanes/pandoc/tests/OdfZipPackageManifestAggregateProvenanceTest.php lanes/pandoc/tests/OpenDocumentPackageTest.php lanes/pandoc/tests/OdfReaderPackageIdentityTest.php lanes/pandoc/tests/OdfReaderTest.php with 4 files, 8090 assertions, 0 failures. 2026-07-01 plib-ec2i5: ODF/ODT package identities now carry manifest aggregate handoffs through compact OpenDocumentPackage and rich OdfReader packageIdentity metadata, including reader manifestMediaTypeSummary counts/parameter/empty-media-type buckets and dedicated preferredViewModes summaries, while preserving metadata-only package byte policy and direct-format parity without external validators. 2026-07-01 plib-ec2i5: Validation passed php -l for OdfReader.php, OpenDocumentPackage.php, and OdfManifestMediaTypeSummaryCompactParityTest.php; php tools/run-tests.php lanes/pandoc/tests/OdfManifestMediaTypeSummaryCompactParityTest.php with 1 file, 144 assertions, 0 failures; php tools/run-tests.php lanes/pandoc/tests/OdfManifestMediaTypeSummaryCompactParityTest.php lanes/pandoc/tests/OdfReaderPackageIdentityTest.php lanes/pandoc/tests/OdfManifestEncryptionIdentityParityTest.php lanes/pandoc/tests/OpenDocumentPackageTest.php lanes/pandoc/tests/OdfReaderTest.php with 5 files, 7780 assertions, 0 failures. 2026-07-01 plib-u6j2r: ODF/ODT package identity snapshots now carry directory base-name stem lookup maps through compact OpenDocumentPackage summaries and rich OdfReader packageProvenance, preserving stem-grouped package path review handoff without exposing package bytes or invoking external tools. 2026-07-01 plib-awnog: ODF/ODT package identity snapshots now carry package basename and directory-base-name lookup maps through compact OpenDocumentPackage summaries and rich OdfReader packageProvenance, preserving review handoff paths without exposing package bytes or invoking external tools. 2026-07-01 plib-l292z: MarkdownReader now treats Pandoc's exact top-level <!-- --> list-to-indented-code separator as structural only when it follows a list and precedes indented code, allowing the upstream Markdown writer indented-code-after-list fixture to round-trip as list + code while preserving ordinary HTML comments and adjacent-list/code-block separators as raw HTML. MarkdownWriterTopLevelFixtureCompletionTest now records the three mapped upstream top-level writer cases including emph/strong spacing, matching UPSTREAM_TEST_MANIFEST. Direct-format parity remains active in blocker notes. Post-rebase validation passed php -l for MarkdownReader.php and MarkdownWriterTopLevelFixtureCompletionTest.php; php tools/run-tests.php lanes/pandoc/tests/MarkdownWriterTopLevelFixtureCompletionTest.php lanes/pandoc/tests/MarkdownWriterSameTypeListSeparatorCompletionTest.php with 2 files, 28 assertions, 0 failures; php tools/run-tests.php lanes/pandoc/tests/MarkdownReaderDestinationValidationCompletionTest.php with 1 file, 30 assertions, 0 failures; jq empty lanes/pandoc/UPSTREAM_TEST_MANIFEST.json lanes/pandoc/lane-status.json; git diff --check origin/main...HEAD -- lanes/pandoc; conflict-marker scan of changed files; and full php tools/run-tests.php lanes/pandoc/tests remains baseline-red with 379 files, 130,197 assertions, and 9,256 failures outside this focused slice. 2026-07-01 plib-et1cm: PptxReader now preserves PPTX chart axis metadata for category/value axes, carrying scaling orientation/min/max, deletion/auto flags, tick marks, tick-label position, label alignment/offset, crossing behavior, units, and styled gridline line metadata into pptxChart axes without exposing package bytes or invoking external tools. Direct-format parity remains active in blocker notes. Focused validation passed php -l for PptxReader.php and PptxReaderTest.php; php tools/run-tests.php lanes/pandoc/tests/PptxReaderTest.php with 1 file, 272 assertions, 0 failures; jq empty lanes/pandoc/UPSTREAM_TEST_MANIFEST.json lanes/pandoc/lane-status.json; git diff --check origin/main...HEAD -- lanes/pandoc; and a conflict-marker scan of changed files. 2026-07-01 plib-e1gbt: XlsxReader now preserves XLSX gradient fill style records as metadata-only table-cell attributes, exposing fill counts, gradient fill counts, gradient type/degree/edge offsets, stop counts, and stop color metadata alongside existing pattern fill, border, and number-format provenance without exposing package bytes or invoking external tools. Direct-format parity remains active in blocker notes. Focused validation passed php -l for XlsxReader.php and XlsxReaderTest.php; php tools/run-tests.php lanes/pandoc/tests/XlsxReaderTest.php with 1 file, 598 assertions, 0 failures; jq empty lanes/pandoc/UPSTREAM_TEST_MANIFEST.json lanes/pandoc/lane-status.json; git diff --check origin/main...HEAD -- lanes/pandoc; and a conflict-marker scan of changed files. 2026-07-01 plib-p4j9l: ODF/ODT package ingestion now carries compact manifest media-type summary provenance through OpenDocumentPackage summaries and metadata-only package identity, exposing manifest media-type counts, empty-media-type directory buckets, parameterized item counts, media-type parameter names, per-base raw media-type buckets, version/preferred-view-mode rollups, and compact directory diagnostics without exposing package bytes or invoking external tools. Direct-format parity remains active in blocker notes. Focused validation passed php -l for OpenDocumentPackage.php and OdfManifestMediaTypeSummaryCompactParityTest.php; php tools/run-tests.php lanes/pandoc/tests/OdfManifestMediaTypeSummaryCompactParityTest.php lanes/pandoc/tests/OpenDocumentPackageTest.php lanes/pandoc/tests/OdfReaderTest.php with 3 files, 7652 assertions, 0 failures; jq empty lanes/pandoc/UPSTREAM_TEST_MANIFEST.json lanes/pandoc/lane-status.json; git diff --check origin/main...HEAD -- lanes/pandoc; and a conflict-marker scan of changed files. 2026-07-01 plib-lvgny: PandocJsonReader now preserves single-wrapped untagged Attr tuple payloads in attrNative, allowing PandocJsonWriter and NativeWriter to reuse unchanged wrapped Header/Link Attr helpers when rebuilding JSON/native constructors and regenerate canonical tuples after semantic attr edits. Direct-format parity remains active in blocker notes. Validation passed php -l for PandocJsonReader.php and PandocJsonSingleWrappedAttrTupleTest.php; php tools/run-tests.php lanes/pandoc/tests/PandocJsonSingleWrappedAttrTupleTest.php with 1 file, 26 assertions, 0 failures; neighboring PandocNativeWriterJsonProvenanceTest.php plus PandocJsonRawTexInlineConstructorTest.php plus PandocJsonSingleWrappedAttrTupleTest.php with 3 files, 79 assertions, 0 failures; and PandocJsonNativeAstTest.php remains baseline-red with 6020 assertions and 12 unrelated failures while attr-sidecar cases pass. 2026-07-01 plib-cl79j: ODF/ODT package ingestion now carries ZIP package manifest package-part extension buckets through compact OpenDocumentPackage inventory/identity and rich OdfReader packageProvenance/packageIdentity, exposing extensionless package-part counts, extension presence flags, extension summary counts, normalized extension lists, and extension summaries while preserving metadata-only package byte policy and avoiding external tools. Direct-format parity remains active in blocker notes. Post-rebase validation passed php -l for OpenDocumentPackage.php, OdfReader.php, and OdfZipPackageManifestAggregateProvenanceTest.php; jq empty lanes/pandoc/lane-status.json; git diff --check origin/main...HEAD -- lanes/pandoc; conflict-marker scan of changed files; and php tools/run-tests.php lanes/pandoc/tests/OdfZipPackageManifestAggregateProvenanceTest.php lanes/pandoc/tests/OpenDocumentPackageTest.php lanes/pandoc/tests/OdfReaderTest.php with 3 files, 7795 assertions, 0 failures. 2026-07-01 plib-vbm3m: MarkdownReader now maps Pandoc parse-raw HTML raw attribute inlines ({=html} and HTML-family aliases) to raw_html_inline while preserving format/text/html attrs and includes inline raw constructor text in reader plain/paragraph summaries. Direct-format parity remains active in blocker notes. Validation passed php -l for MarkdownReader.php and MarkdownReaderParseRawFixtureCompletionTest.php; jq empty lanes/pandoc/UPSTREAM_TEST_MANIFEST.json lanes/pandoc/lane-status.json; git diff --check origin/main...HEAD -- lanes/pandoc; php tools/run-tests.php lanes/pandoc/tests/MarkdownReaderParseRawFixtureCompletionTest.php lanes/pandoc/tests/MarkdownReaderFlavorExtensionProfileCompletionTest.php with 2 files, 66 assertions, 0 failures; and php tools/run-tests.php lanes/pandoc/tests/MarkdownReaderTest.php confirms the parse-raw monolith case passes while the file remains baseline-red with 1 file, 4,316 assertions, 57 unrelated failures. Full lanes/pandoc/tests remains baseline-red with 357 files, 128,190 assertions, and 9,272 failures outside this slice. 2026-07-01 plib-zpzxs: ODF/ODT package ingestion now carries manifest-package coverage buckets for referenced and missing manifest package paths, including media-family counts and byte-exposure-policy counts across both compact OpenDocumentPackage summaries and rich OdfReader package provenance. Manifest coverage reference records now preserve media-family classification for missing package references without exposing package bytes or invoking external tools. Direct-format parity remains active in blocker notes. Post-rebase validation passed php -l for OpenDocumentPackage.php, OdfReader.php, and OdfManifestPackageCoverageProvenanceTest.php; and php tools/run-tests.php lanes/pandoc/tests/OdfManifestPackageCoverageProvenanceTest.php lanes/pandoc/tests/OdfReaderPackageIdentityTest.php lanes/pandoc/tests/OpenDocumentPackageTest.php with 3 files, 2382 assertions, 0 failures. 2026-07-01 plib-jvm62: DOCX/OpenXML package ingestion now carries ZIP package manifest package-part extension buckets through DocxOpenXmlReader zipPackage rows and package summary, exposing extensionless package-part counts, extension summary counts, package-part extension lists, package-part extension summaries, and per-entry packagePartExtension metadata while preserving metadata-only package byte policy and avoiding external tools. Direct-format parity remains active in blocker notes. Post-rebase validation passed php -l for DocxOpenXmlReader.php and DocxOpenXmlReaderTest.php; jq empty lanes/pandoc/lane-status.json; git diff --check origin/main...HEAD -- lanes/pandoc; conflict-marker scan of changed files; and php tools/run-tests.php lanes/pandoc/tests/DocxOpenXmlReaderTest.php with 1 file, 11917 assertions, 0 failures. 2026-07-01 plib-et1cm: PptxReader now preserves source layout/master placeholder shape metadata when inheriting placeholder text, recording sourceShape under pptxPlaceholderInheritance while slide-level pptxShape continues to describe the actual slide placeholder. The focused PPTX fixture now covers layout/master placeholder transforms and source-vs-slide placeholder metadata while preserving existing notes, image, hyperlink, list, chart-data, rich-media, and table-style coverage. Direct-format parity remains active in blocker notes. Post-rebase validation passed php -l for PptxReader.php and PptxReaderTest.php; php tools/run-tests.php lanes/pandoc/tests/PptxReaderTest.php with 1 file, 246 assertions, 0 failures; jq empty lanes/pandoc/lane-status.json; git diff --check -- lanes/pandoc; and conflict-marker scan of changed files. 2026-07-01 plib-q77vb: shared ZIP/OPC package preflights now carry ZIP general-purpose flag provenance through OpcRelationshipGraph instantiated-package and raw central-directory manifests, exposing flag counts, flag-name buckets by OPC role and handoff kind, per-entry UTF-8/data-descriptor/deflate-option review metadata, and issue entry-name buckets while preserving metadata-only package byte policy and avoiding external tools. Raw OPC package source records also mirror central-directory signature source metadata from ZipPackage manifests. Direct-format parity remains active in blocker notes. Post-rebase validation passed php -l for OpcRelationshipGraph.php and OpenPackagingConventionsTest.php; jq empty lanes/pandoc/lane-status.json; git diff --check origin/main...HEAD -- lanes/pandoc; conflict-marker scan of changed files; and php tools/run-tests.php lanes/pandoc/tests/OpenPackagingConventionsTest.php with 1 file, 4878 assertions, 0 failures. 2026-07-01 plib-z9zts: DOCX/OpenXML package ingestion now carries ZIP package manifest archive length through DocxOpenXmlReader ZIP package provenance and package summary, exposing packageManifestArchiveLength and zipPackageManifestArchiveLength alongside archive byte counts/hashes without exposing package bytes or invoking external tools. Direct-format parity remains active in blocker notes. Post-rebase validation passed php -l for DocxOpenXmlReader.php and DocxOpenXmlReaderTest.php; jq empty lanes/pandoc/lane-status.json; git diff --check origin/main...HEAD -- lanes/pandoc; and php tools/run-tests.php lanes/pandoc/tests/DocxOpenXmlReaderTest.php with 1 file, 11,500 assertions, 0 failures. 2026-07-01 plib-6qpsw: ODF/ODT package ingestion now carries ZIP name-policy provenance through compact OpenDocumentPackage inventory/identity and rich OdfReader packageProvenance/packageIdentity, aligning package path hierarchy, case-insensitive collision, raw-name review, and name-hygiene review counts without exposing package bytes or invoking external tools. Direct-format parity remains active in blocker notes. Post-rebase validation passed php -l for OpenDocumentPackage.php, OdfReader.php, and OdfZipNamePolicyProvenanceTest.php; jq empty lanes/pandoc/lane-status.json; git diff --check origin/main...HEAD -- lanes/pandoc; OdfZipNamePolicyProvenanceTest.php with 92 assertions and 0 failures; and the ODF package provenance family with 11 files, 7963 assertions, 0 failures. 2026-07-01 plib-l8xvy: ODF/ODT package ingestion now carries ZIP package manifest archive byte counts and package-comment presence through compact OpenDocumentPackage inventory/identity and rich OdfReader packageProvenance/packageIdentity, exposing zipPackageManifestArchiveBytes, zipPackageManifestArchiveLength, and zipPackageManifestHasPackageComment without exposing package bytes or invoking external tools. Direct-format parity remains active in blocker notes. Post-rebase validation passed php -l for OpenDocumentPackage.php, OdfReader.php, and OdfZipPackageManifestAggregateProvenanceTest.php; jq empty lanes/pandoc/lane-status.json; git diff --check origin/main...HEAD -- lanes/pandoc; and php tools/run-tests.php lanes/pandoc/tests/OdfZipPackageManifestAggregateProvenanceTest.php lanes/pandoc/tests/OpenDocumentPackageTest.php lanes/pandoc/tests/OdfReaderTest.php with 3 files, 7,555 assertions, 0 failures. 2026-07-01 plib-xe8bb: ODF/ODT package ingestion completes additive ZIP source-record byte-count provenance on top of per-entry package manifest source records, carrying compressed data byte counts, aggregate local-plus-central source-record bytes, and source-record availability flags through compact OpenDocumentPackage inventory, rich OdfReader packageProvenance, and metadata-only package identity without exposing package bytes or invoking external tools. Direct-format parity remains active in blocker notes. Post-rebase validation passed php -l for OpenDocumentPackage.php, OdfReader.php, and OdfReaderZipSourceRecordProvenanceTest.php; JSON parse for lane-status/manifest; git diff --check -- lanes/pandoc; OdfReaderZipSourceRecordProvenanceTest.php with 21 assertions and 0 failures; and OpenDocumentPackageTest.php, OdfReaderTest.php, OdfReaderPackageIdentityTest.php, and OdfPackagePartExtensionProvenanceTest.php with 4 files, 7429 assertions, 0 failures. 2026-07-01 plib-zpzxs: ODF/ODT package ingestion now carries rich package path-shape provenance through OdfReader packageProvenance and packageIdentity, exposing metadata-only packagePathShape fields plus packagePathKindCounts, packageTopLevelSegmentCounts, and packagePathExtensionCounts in parity with compact OpenDocumentPackage inventory. Direct-format parity remains active in blocker notes. Post-rebase validation passed php -l for OdfReader.php and OdfPackagePartExtensionProvenanceTest.php; JSON parse for lane-status/manifest; git diff --check origin/main...HEAD -- lanes/pandoc; OdfPackagePartExtensionProvenanceTest.php with 78 assertions and 0 failures; and OdfReaderPackageIdentityTest.php with 52 assertions and 0 failures. 2026-07-01 plib-ztkzf: DOCX/OpenXML package ingestion now carries ZIP package manifest directory-root provenance from ZipPackage package manifests through DocxOpenXmlReader ZIP package provenance, package summary, and loaded part inventory, exposing package manifest root counts, root lists, root summaries, and per-entry directory roots without exposing package bytes or invoking external tools. Direct-format parity remains active in blocker notes. Post-rebase validation passed php -l for DocxOpenXmlReader.php and DocxOpenXmlReaderTest.php; jq empty lanes/pandoc/lane-status.json; git diff --check origin/main...HEAD -- lanes/pandoc; and php tools/run-tests.php lanes/pandoc/tests/DocxOpenXmlReaderTest.php with 1 file, 10,836 assertions, 0 failures. 2026-07-01 plib-ebgsc: ZipPackage selected-entry handoff manifests now preserve raw ZIP name/comment encoding provenance, including request counts plus raw byte hex, encoding labels, match booleans, and legacy/Info-ZIP Unicode flags for selected reader handoff entries without exposing payload bytes or invoking external zip tools. Direct-format parity remains active in blocker notes. Post-rebase validation passed php -l for ZipPackage.php and ZipPackageTest.php; JSON parse for lane-status/manifest; git diff --check origin/main...HEAD -- lanes/pandoc; and php tools/run-tests.php lanes/pandoc/tests/ZipPackageTest.php lanes/pandoc/tests/OpenPackagingConventionsTest.php with 2 files, 10,006 assertions, 0 failures. 2026-07-01 plib-8tfjo: DocxOpenXmlReader embedded object/package relationship provenance now preflights external target policy for oleObject/package relationships, exposing allowed/unsafe counts, target kind/scheme buckets, unsafe target lists, and issue codes while embedded bytes remain metadata-only and unfetched. Direct-format parity remains active in blocker notes. Validation passed php -l for DocxOpenXmlReader.php and DocxOpenXmlReaderTest.php plus php tools/run-tests.php lanes/pandoc/tests/DocxOpenXmlReaderTest.php with 1 file, 10771 assertions, 0 failures. 2026-07-01 plib-auoi4: MarkdownWriter now keeps raw HTML details-summary fixture bodies adjacent to a one-line raw <summary> block, matching the upstream command details-summary fixture across markdown, gfm, commonmark raw_block aliases, and raw_format html5 aliases while leaving non-summary raw HTML paragraph boundaries unchanged. Direct-format parity remains active in blocker notes. Validation passed php -l for MarkdownWriter.php and MarkdownWriterDetailsSummaryFixtureCompletionTest.php; jq empty lanes/pandoc/UPSTREAM_TEST_MANIFEST.json and lanes/pandoc/lane-status.json; git diff --check origin/main...HEAD -- lanes/pandoc; and php tools/run-tests.php lanes/pandoc/tests/MarkdownWriterDetailsSummaryFixtureCompletionTest.php with 1 file, 6 assertions, 0 failures. Full lanes/pandoc/tests remains baseline-red with 331 files, 121868 assertions, and 9632 failures outside the focused details-summary path. 2026-07-01 plib-auoi4: MarkdownWriter now keeps raw HTML details-summary fixture bodies adjacent to a one-line raw <summary> block, matching the upstream command details-summary fixture across markdown, gfm, commonmark raw_block aliases, and raw_format html5 aliases while leaving non-summary raw HTML paragraph boundaries unchanged. Direct-format parity remains active in blocker notes. Validation passed php -l for MarkdownWriter.php and MarkdownWriterDetailsSummaryFixtureCompletionTest.php plus php tools/run-tests.php lanes/pandoc/tests/MarkdownWriterDetailsSummaryFixtureCompletionTest.php with 1 file, 6 assertions, 0 failures. 2026-07-01 plib-xawom: ZipPackage package manifests now carry package-level source-record provenance, including packageSource metadata for full archive, central directory, central-directory-to-EOCD gaps, EOCD, and package comments, with offsets, byte counts, and SHA-256 hashes in the deterministic manifest identity for shared ZIP/OPC handoff without exposing package bytes. Direct-format parity remains active in blocker notes. Replacement validation passed php -l for ZipPackage.php and ZipPackageTest.php; jq empty lanes/pandoc/lane-status.json; git diff --check origin/main...HEAD -- lanes/pandoc; conflict-marker scan of changed files; ZipPackageTest.php with 5,091 assertions and 0 failures; and OpenPackagingConventionsTest.php with 4,781 assertions and 0 failures. 2026-07-01 plib-0rouj: ODF/ODT package ingestion carries ZIP extra-field provenance for non-mimetype package entries through compact OpenDocumentPackage inventory, rich OdfReader packageProvenance, and metadata-only package identity, preserving central/local IDs plus duplicate, mismatch, and value-mismatch flags without exposing package bytes or invoking external tools. Direct-format parity remains active in blocker notes. Replacement validation passed php -l for OpenDocumentPackage.php, OdfReader.php, OpenDocumentPackageTest.php, and OdfReaderTest.php; jq empty lanes/pandoc/lane-status.json; git diff --check --cached; conflict-marker scan of changed files; OpenDocumentPackageTest.php with 2,053 assertions and 0 failures; and OdfReaderTest.php with 5,113 assertions and 0 failures. 2026-07-01 plib-ozrk9: DocxOpenXmlReader now mirrors source ZIP EOCD package-comment byte-range provenance from ZipPackage comment preflight into DOCX/OpenXML packageProvenance.summary, exposing package comment source availability, offset, byte count, end offset, and SHA-256 alongside decoded package-comment metadata while preserving metadata-only package byte policy. Direct-format parity remains active in blocker notes. Focused validation passed php -l for DocxOpenXmlReader.php and DocxOpenXmlReaderTest.php; jq empty lanes/pandoc/lane-status.json; git diff --check origin/main...HEAD -- lanes/pandoc; and php tools/run-tests.php lanes/pandoc/tests/DocxOpenXmlReaderTest.php with 1 file, 10543 assertions, and 0 failures. 2026-07-01 plib-q1k6y: PandocJsonReader now keeps Pandoc JSON TeX RawBlock and RawInline constructors distinct, mapping RawBlock formats to raw_tex while mapping JSON RawInline TeX-family formats to raw_tex_inline so JSON/native constructor completeness matches NativeReader text ingestion and writers preserve or regenerate RawInline payloads without external Pandoc or TeX execution. Direct-format parity remains active in blocker notes. Post-rebase validation passed php -l for PandocJsonReader.php, PandocJsonRawTexInlineConstructorTest.php, PandocJsonNativeAstTest.php, and NativeReaderTest.php; jq empty lanes/pandoc/lane-status.json; git diff --check origin/main...HEAD -- lanes/pandoc; and php tools/run-tests.php lanes/pandoc/tests/PandocJsonRawTexInlineConstructorTest.php with 1 file, 38 assertions, 0 failures. PandocJsonNativeAstTest.php confirmed the neighboring raw-inline regressions pass and remains baseline-red with 6,038 assertions and 9 unrelated existing failures; NativeReaderTest.php remains baseline-red with 317 assertions and 6 unrelated existing failures. 2026-07-01 plib-yxrvx: NativeWriter now treats valid Markdown-derived note labels as JSON/native provenance, choosing Pandoc JSON/native output so Note constructors retain noteLabel sidecars when no document-level native provenance is otherwise present. NativeReader round-trips the labeled note while unlabelled inline notes stay sidecar-free. Validation passed php -l for NativeWriter.php and NativeWriterNoteLabelJsonModeTest.php plus NativeWriterNoteLabelJsonModeTest.php with 4 assertions and 0 failures; php tools/run-tests.php lanes/pandoc/tests/PandocJsonNativeAstTest.php confirmed the note-label regression passes and the focused file remains baseline-red with 6,038 assertions and 9 unrelated existing failures. 2026-07-01 plib-tqmps: ZipPackage package manifests now carry deterministic directory-root provenance, including per-entry directory roots plus package-level entry/file/directory counts, compressed and uncompressed bytes, local-record bytes, data-descriptor counts and bytes, and central-directory-order entry names by root. Direct-format parity remains active in blocker notes. Validation passed php -l for ZipPackage.php and ZipPackageTest.php plus ZipPackageTest.php with 4,996 assertions and OpenPackagingConventionsTest.php with 4,759 assertions, both 0 failures. 2026-07-01 plib-7fvf1: JSON/native NativeReader textual Str/Space handoff now records native inline constructor parts for native text input and marks text-native documents as pandoc-native-text, so default NativeWriter stays on textual native output while PandocJsonWriter and JSON-target NativeWriter preserve unchanged Str-with-space plus Space constructor sequences and regenerate edited text without stale sidecars. Direct-format parity remains active in blocker notes; no Pandoc, TeX, browser, office, or validator shell-outs were used. Validation passed php -l for NativeReader.php, NativeWriter.php, and PandocJsonNativeAstTest.php; selected PandocJsonNativeAstTest closures (new textual Str/Space regression plus neighboring coalesced text/nullary sidecar cases) passed with 31 assertions and 0 failures; NativeReaderEscapeTest.php passed with 4 assertions, PandocNativeWriterJsonProvenanceTest.php with 11 assertions, and NativeDefinitionTermConstructorTest.php with 12 assertions, all 0 failures. Full PandocJsonNativeAstTest.php still remains baseline-red with 6,028 assertions and 10 unrelated failures while the new regression passes. NativeReaderTest.php also remains baseline-red with 317 assertions and 6 unrelated legacy failures; neighboring NativeReaderEscape, PandocNativeWriterJsonProvenance, and NativeDefinitionTermConstructor gates pass. 2026-07-01 plib-ne43e: PandocJsonReader now retains empty TableHead and TableFoot helper constructors when their native payload carries inert sidecar keys outside t/c, preserving JSON/native AST constructor-completeness provenance through PandocJsonWriter and NativeWriter rebuilds while edited sections regenerate helper constructors and drop stale sidecars. Validation passed php -l for PandocJsonReader.php and PandocJsonNativeAstTest.php plus an isolated empty-table-section sidecar smoke; php tools/run-tests.php lanes/pandoc/tests/PandocJsonNativeAstTest.php confirmed the new regression passes inside the focused file, which remains baseline-red with 5,992 assertions and 11 unrelated existing failures. 2026-07-01 plib-mancn: BibliographyReader now attaches metadata-only CSL JSON reader review provenance through cslJsonReview/cslJsonItemReviews, summarizing item IDs, field names, title/name/date/identifier/link/relation counts, and type buckets without exposing title, URL, DOI, keyword, category, reference, or ISBN source values and without invoking external citeproc. Direct-format parity remains active in blocker notes. Focused validation passed php -l for BibliographyReader.php and BibliographyReaderTest.php plus php tools/run-tests.php lanes/pandoc/tests/BibliographyReaderTest.php with 1 file, 67 assertions, and 0 failures; broader citation/bibliography gate passed BibliographyReaderTest.php, CitationCslProcessorTest.php, and BibtexCslProcessorTest.php with 3 files, 6,884 assertions, and 0 failures. 2026-07-01 plib-tiwfk: PdfEngineHandoff Typst boundary summaries now carry aggregate environment provenance, including observed environment variable counts, shadowed environment variable counts, and deterministic shadowed variable names across root, package, certificate, feature, timestamp, and font-access controls without executing Typst or PDF engines. Direct-format parity remains active in blocker notes. Validation passed php -l for PdfEngineHandoff.php and PdfEngineHandoffTest.php plus PdfEngineHandoffTest.php with 3,626 assertions and 0 failures. 2026-07-01 plib-wwh93: ZipPackage package manifests now carry deterministic compression-method byte summaries, including entry/file/directory counts, compressed and uncompressed bytes, local-record bytes, and data-descriptor counts/bytes per stored or deflated method through manifest hashes, strict import preflights, and raw strict import preflights without exposing package payload bytes or invoking external ZIP tools. Direct-format parity remains active in blocker notes. Integration validation passed php -l for ZipPackage.php and ZipPackageTest.php plus ZipPackageTest.php with 4,994 assertions and OpenPackagingConventionsTest.php with 4,759 assertions, both 0 failures. 2026-06-30 plib-5hhdb: XmlHtmlDom now summarizes HTML focus-navigation review handoff for accesskey, autofocus, and tabindex, adding aggregate focusNavigation metadata plus access-key/tabindex issue codes for duplicate shortcut tokens, invalid shortcut tokens, document shortcut conflicts, and suppressed autofocus candidates without invoking browser focus behavior or external validators. Focused validation passed php -l for XmlHtmlDom.php and XmlHtmlDomFocusNavigationReviewTest.php, lane-status JSON parse, XmlHtmlDomFocusNavigationReviewTest.php with 59 assertions and 0 failures, and the XmlHtmlDom/XmlHtml5Dom focused family with 35 files, 7,520 assertions, 0 failures. 2026-06-30 plib-zqsel: DocxOpenXmlReader preserves quoted semicolons and escaped quoted-pair values in OPC content-type parameters across [Content_Types].xml overrides, relationship target summaries, package part inventory, and relationship-type parameterized target rollups, without exposing package bytes or invoking external tools. Direct-format parity remains active in blocker notes. Focused validation passed php -l for DocxOpenXmlReader.php and DocxOpenXmlReaderTest.php plus DocxOpenXmlReaderTest.php with 9,957 assertions and 0 failures. 2026-06-29 plib-02z84: DocxOpenXmlReader carries ZIP extra-field provenance from native DOCX packages into packageProvenance.zipPackage, summary counters, and loaded part inventory, preserving central/local extra-field IDs plus duplicate, mismatch, and value-mismatch flags as metadata-only review data without exposing package bytes. Direct-format parity remains active in blocker notes. Focused validation passed php -l for DocxOpenXmlReader.php and DocxOpenXmlReaderTest.php plus DocxOpenXmlReaderTest.php with 9,942 assertions and 0 failures. 2026-06-28 plib-wj70q.12: MathTexConverter exposes texAtomCategorySummary(), a bounded PlainMath atom-category prototype that reports TexMath-like Ord/Op/Bin/Rel/Open/Close/Pun/Inner summaries from generated MathML while leaving emitted MathML and HtmlWriter/EPUB paths unchanged. Focused validation passed php -l for MathTexConverter.php and MathTexConverterTest.php plus the isolated new MathTexConverterTest case with 21 assertions and 0 failures; the full MathTexConverterTest.php file remains baseline-red with 6 unrelated raw-TeX declaration/LatexWriter failures while the new atom-category case passes. 2026-06-27 plib-c69ab: OpcRelationshipGraph relationship-part preflight now carries ZIP entry name, compression method, and compressed/uncompressed byte provenance, and relationshipPartLoadSummary aggregates relationship-part bytes by load action, load reason, and source kind before graph construction. Focused validation passed php -l for OpcRelationshipGraph.php and OpenPackagingConventionsTest.php plus focused OpenPackagingConventionsTest.php with 4,668 assertions and 0 failures. Latest JSON/native slice on 2026-06-27 maps additional textual native RawBlock/RawInline Markdown-family and TeX-family format alias combinations from NativeReader into raw_markdown, raw_tex, and raw_tex_inline AST constructors while preserving original format payloads through PandocJsonWriter/PandocJsonReader. Focused validation passed php -l for NativeReader.php and PandocJsonNativeAstTest.php plus three selected PandocJsonNativeAstTest closures with 56 assertions and 0 failures; full PandocJsonNativeAstTest.php remains known baseline-red outside this slice. Latest XML/HTML5 DOM slice on 2026-06-27 summarizes meta referrer policy metadata, including current referrer-policy tokens, legacy HTML Standard aliases, invalid/empty/missing content diagnostics, and WordPress raw HTML handoff without fetching or enforcing navigation policy. Focused validation passed php -l for XmlHtmlDom.php and XmlHtmlDomMetaReferrerPolicyReviewTest.php plus focused XmlHtmlDomMetaReferrerPolicyReviewTest.php with 50 assertions and 0 failures; XML/HTML DOM family gate passed 36 files, 10,464 assertions, 0 failures. Latest JSON/native slice on 2026-06-27 maps NativeReader text raw markdown-family RawBlock/RawInline formats to raw_markdown AST nodes and accepts latex/context TeX aliases in Native text without invoking Pandoc, Markdown, or TeX engines. Focused validation passed php -l for NativeReader.php and PandocJsonNativeAstTest.php plus targeted PandocJsonNativeAstTest.php regression runner with 17 assertions and 0 failures and direct NativeReader/PandocJsonWriter/NativeWriter smoke. Latest DOCX/OpenXML package-ingestion slice on 2026-06-27 preserves ZIP package and entry comments as metadata-only package provenance, including package summary counters and per-part zipEntryComment fields without exposing package bytes. Focused validation passed php -l for DocxOpenXmlReader.php and DocxOpenXmlReaderTest.php plus focused DocxOpenXmlReaderTest.php with 9,858 assertions and 0 failures. Latest ODF/ODT package-ingestion slice on 2026-06-27 preserves manifest-root extension child provenance for non-manifest namespace children directly under manifest:manifest, carrying element name, namespace URI, prefix, attribute count, and child count through compact OpenDocumentPackage review, rich OdfReader document/import package provenance, and metadata-only package identity while keeping package bytes blocked. Focused validation passed php -l for OpenDocumentPackage.php, OdfReader.php, OpenDocumentPackageTest.php, and OdfReaderTest.php; OpenDocumentPackageTest.php passed with 1,896 assertions and 0 failures, the selected rich OdfReader root-extension case passed with 20 assertions and 0 failures, and four neighboring ODF provenance tests passed with 174 assertions and 0 failures. Latest shared OPC ZIP source-record slice on 2026-06-27 carries central-directory record offsets, byte counts, and SHA-256 hashes through constructed and raw OPC ZIP manifest preflights before XML/package handoff. Focused validation passed php -l for OpcRelationshipGraph.php and OpenPackagingConventionsTest.php plus focused OpenPackagingConventionsTest.php with 4,649 assertions and 0 failures. Latest ODF/ODT converter-path slice on 2026-06-27 maps text:note footnotes/endnotes in OdtReader into native note AST nodes with source id/class/citation metadata, preserving Markdown/WordPress footnote handoff without leaking note body text into paragraph summaries. Latest shared ZIP/OPC raw central-directory slice on 2026-06-27 carries package-part extension counts, extensionless part counts, entry-name buckets, and role/handoff-kind byte summaries through preflightZipCentralDirectoryManifest before package construction succeeds. Focused validation passed php -l for OpcRelationshipGraph.php and OpenPackagingConventionsTest.php plus focused OpenPackagingConventionsTest.php with 4,637 assertions and 0 failures. Latest XML/HTML5 DOM slice on 2026-06-27 summarizes meta Content Security Policy directives, source schemes, report endpoints, nonce/hash metadata, duplicate directives, unsafe keywords, and invalid directive names before WordPress raw HTML handoff without fetching or enforcing policy URLs. Latest ODF/ODT package-ingestion slice on 2026-06-27 preserves direct manifest:file-entry child element provenance, classifying manifest:encryption-data as structural while surfacing extension child elements through compact OpenDocumentPackage review, rich OdfReader package provenance, package inventory, and metadata-only identity fields without exposing package bytes. Focused validation passed php -l for OpenDocumentPackage.php, OdfReader.php, OpenDocumentPackageTest.php, and OdfReaderTest.php; the two new focused cases passed with 53 assertions and 0 failures, OpenDocumentPackageTest.php passed with 1,853 assertions and 0 failures, and the broader touched OdfReaderTest.php file still has 22 unrelated legacy writer/format expectation failures. Latest Citation/CSL slice on 2026-06-27 carries legacy BibLaTeX entry options, language options, refsection/refsegment reference context, gender, and non-name field annotations through BibtexCslProcessor, direct bibliography text, CSL style variables, skipbib-aware WordPress bibliography output, and raw field provenance without external citeproc. Focused validation passed php -l for BibtexCslProcessor.php and BibtexCslProcessorTest.php plus focused BibtexCslProcessorTest.php with 596 assertions and 0 failures. Latest JSON/native slice on 2026-06-27 carries raw_tex_inline AST nodes from NativeReader text input through PandocJsonWriter and NativeWriter JSON output as RawInline constructors without invoking Pandoc or TeX engines. Latest Citation/CSL slice on 2026-06-27 carries legacy BibLaTeX custom user/verbatim fields, literal list fields, and custom name lists through BibtexCslProcessor, direct bibliography text, CSL style variables, and WordPress handoff without external citeproc. Latest shared OPC package-ingestion slice on 2026-06-27 summarizes package-part extensions across ZIP manifest rows, including extensionless parts, relationship parts, media, embedded package candidates, role counts, handoff-kind counts, and entry-name provenance before XML package handoff. Latest ODF/ODT package-ingestion slice on 2026-06-27 preserves ZIP creator host/version, external attributes, DOS flags, Unix mode/permissions, and internal file attributes through compact package inventory, rich OdfReader package provenance, and metadata-only package identity hashes while keeping package byte exposure unchanged. Focused validation passed php -l for OpenDocumentPackage.php, OdfReader.php, OpenDocumentPackageTest.php, and OdfReaderZipPlatformAttributesProvenanceTest.php; focused OpenDocumentPackageTest.php plus OdfReaderZipPlatformAttributesProvenanceTest.php passed with 1,901 assertions and 0 failures, and OdfReaderPackageIdentityTest.php plus OdfReaderZipPlatformAttributesProvenanceTest.php passed with 127 assertions and 0 failures. Latest Citation/CSL slice on 2026-06-27 carries legacy BibLaTeX authority identifiers (ORCID/ISNI/VIAF/ROR/Wikidata) through BibtexCslProcessor without identifier lookup or external fetches. Latest shared ZIP/OPC selected-entry handoff slice on 2026-06-27 summarizes selected and readable handoff directory roots for package review, separating root-level, _rels, docProps, and word package areas without exposing blocked oversized media bytes. Latest EPUB3 reader slice on 2026-06-26 preserves OPF manifest item metadata and spine itemref reading-order rows, including local readability, external target, non-linear, missing idref, and manifest property provenance without fetching remote resources. cloned static upstream inventory; 2,276 upstream test/data/benchmark files/artifacts inspected, with broad Markdown, HTML-reader, Native, WordPress, HTML-writer, LaTeX-writer, plain-template, DOCX Native, ODT Native, EPUB Native, JATS Native fixture slices, and current Pandoc JSON AST reader/writer slices. The data-format parity registry tracks the current upstream Pandoc format denominator from the 2026-06-03 manual and upstream source commit 912bfa5e2e3f5c74eb125dfc19404f67c61ca58b: 51 input format tokens and 75 output format tokens. Latest XLSX reader slice on 2026-06-26 preserves border side style/color records and diagonal/outline flags from cell style records as bounded cell metadata. Latest DOCX/OpenXML package-ingestion slice on 2026-06-26 preserves selected settings-part relationship inventory, including internal targets, missing targets, missing content types, and safe versus unsafe external target policy without fetching or exposing relationship target bytes. Latest PlainMath slice on 2026-06-26 parses recursive text-mode groups, delimited inner math, and nested styled text chunks for bounded MathML handoff. Latest Citation/CSL slice on 2026-06-26 carries legacy BibLaTeX registry identifiers (PMID/PMCID, ISAN/ISMN/ISRN/ISWC, MR/Zbl/JSTOR/HDL/LCCN/OCLC) and file/pdf source-file attachment policy metadata through BibtexCslProcessor while preserving unsafe paths as diagnostics; prior direct CSL JSON source-file aliases remain covered. Latest shared OPC package-ingestion slice on 2026-06-26 summarizes relationship TargetMode declarations across loaded relationship parts, distinguishing implicit Internal, explicit Internal, and explicit External records for importer gates. Latest DOCX/OpenXML package-ingestion slice on 2026-06-26 exposes glossary document media/hyperlink target inventory roles and relationship target-state summary counters. Latest ODF/ODT package-ingestion slice on 2026-06-26 preserves root custom attributes and namespace declarations from content.xml/styles.xml/meta.xml/settings.xml document parts in documentPartVersions while keeping package bytes bounded. Latest DOCX/OpenXML package-ingestion slice on 2026-06-26 reports safe versus unsafe external-target policy metadata for aFChunk alternative-format imports without fetching targets or exposing chunk bytes. Latest Citation/CSL slice on 2026-06-26 normalizes compact direct CSL JSON source-file aliases into safe attachment review metadata while preserving unsafe paths as diagnostics. Latest Markdown reader standalone void inline slice on 2026-06-26 preserves top-level <area>, <source>, <track>, and <embed> as paragraph RawInline html, preventing standalone <track> from falling through to RawBlock/wp:html. Latest DOCX/OpenXML package-ingestion slice on 2026-06-26 reports safe versus unsafe external-target policy metadata for VBA project, signature, and wordVbaData relationships without fetching targets or exposing macro bytes. Latest XML/HTML5 DOM slice on 2026-06-26 summarizes edit-assistance review metadata for autocorrect, writing suggestions, and virtual-keyboard policy attributes without invoking client services. Prior XML/HTML5 DOM slice on 2026-06-26 records hyperlink attributionsrc review metadata for a/area source-registration links without making network requests. Latest Markdown writer semantic attribute slice on 2026-06-26 preserves id/class/key-value review attributes for native semantic inline wrappers before Markdown handoff. Latest ODF/ODT package-ingestion slice on 2026-06-26 preserves script and configuration sidecar flags in manifest-order package handoff rows while keeping sidecar bytes blocked. Latest ODF/ODT package-identity slice on 2026-06-26 adds stable metadata-only identity hashes over manifest entries, encoded part references, package comments, root custom attributes, undeclared private parts, and byte-exposure role counts while keeping script/configuration/private package bytes blocked. Latest CommonMark raw boundary slice on 2026-06-25 preserves paragraph-interrupting raw HTML starts, blank-line raw paragraph and custom-element blocks, strict malformed raw-tag rejection, inline raw HTML tag recovery, and list-container raw HTML continuation boundaries. Prior DOCX/OpenXML package-ingestion slice on 2026-06-25 reports ActiveX binary external-target policy metadata for nested activeXControlBinary relationships without fetching or exposing binary payloads. Latest native raw HTML adjacency slice on 2026-06-25 preserves adjacent RawBlock/RawInline html4/html5/xhtml aliases through Pandoc JSON, native text, Markdown, and WordPress handoff, while unsupported raw formats remain escaped diagnostics. Focused PHP coverage is 450 behavior tests with 0 focused failures. Focused XLSX reader border style-record validation passed php -l for XlsxReader.php and XlsxReaderTest.php plus focused XlsxReaderTest.php with 259 assertions and 0 failures; broad Pandoc lane run remains red with 287 files, 115,350 assertions, 9,848 failures, with visible failures outside the XLSX reader slice and no branch-only failures in the focused XLSX gate. Focused PlainMath text-mode recursion comparison passed php -l for MathTexConverter.php and MathTexConverterTest.php; branch MathTexConverterTest.php reported 1 file, 1,364 assertions, 6 known failures, matching baseline failure names with 0 branch-only failures while adding the new recursive text-mode case. Focused legacy BibTeX/CSL authority identifier validation passed 1 file, 554 assertions, 0 failures. Focused legacy BibTeX/CSL source-file validation passed 1 file, 499 assertions, 0 failures. Focused ODF document-part root attribute validation passed 1 file, 20 assertions, 0 failures. Focused OPC TargetMode policy validation passed 1 file, 4,556 assertions, 0 failures, including the new TargetMode declaration summary test. Focused Citation/CSL direct source-file alias validation passed 1 file, 6,018 assertions, 0 failures. Focused DOCX/OpenXML validation passed 1 file, 9,713 assertions, 0 failures, including the new settings-part relationship inventory, altChunk external-target policy, glossary target inventory role, and VBA external-target policy tests. Focused standalone void inline validation passed php -l for MarkdownReader.php and MarkdownReaderStandaloneVoidInlineTest.php plus 2 focused files, 322 assertions, 0 failures. Focused XML/HTML DOM edit-assistance validation passed 1 file, 36 assertions, 0 failures. Focused XML/HTML DOM family comparison passed branch 29 files, 7,206 assertions, 0 failures and baseline 28 files, 7,170 assertions, 0 failures with 0 branch-only failures. Focused Markdown writer semantic attribute validation passed 1 file, 8 assertions, 0 failures. Focused ODF sidecar-order validation passed 1 file, 16 assertions, 0 failures; focused OpenDocumentPackageTest passed 1 file, 1752 assertions, 0 failures; focused OdfReaderPackageIdentityTest passed 1 file, 52 assertions, 0 failures. Broader selected MarkdownReader validation is not green: 3 files, 4,658 assertions, 34 pre-existing plain-writer/template failures in MarkdownReaderTest.php. Full lanes/pandoc/tests for plib-54n6q post-slice validation is not green: 294 files, 116,692 assertions, 9,781 failures, with broad pre-existing non-slice failures across Markdown surge/writer/profile tests, table geometry, UnicodeText, DocBook, LaTeX writer, YamlMetadataReviewTest, and other unrelated suites. Prior focused Markdown/CommonMark coverage passed 4 files, 4,657 assertions, 0 failures during refinery validation; prior focused DocxOpenXmlReaderTest passed 1 file, 9,489 assertions, 0 failures after rebasing the ActiveX DOCX slice over current main; focused raw HTML/native adjacency validation passed 3 files, 126 assertions, 0 failures on the rebased plib-6w9f0 branch. Focused EPUB reader manifest/spine metadata validation passed php -l for EpubReader.php and EpubReaderTest.php plus focused EpubReaderTest.php with 39 assertions and 0 failures. Focused ZIP package directory-root validation passed php -l for ZipPackage.php and ZipPackageTest.php plus focused ZipPackageTest.php with 4,884 assertions and 0 failures.  Focused OPC package-part extension validation passed php -l for OpcRelationshipGraph.php and OpenPackagingConventionsTest.php plus focused OpenPackagingConventionsTest.php with 4,627 assertions and 0 failures.  Focused legacy BibTeX/CSL custom field/list/name validation passed php -l for BibtexCslProcessor.php and BibtexCslProcessorTest.php plus focused BibtexCslProcessorTest.php with 571 assertions and 0 failures.  Focused JSON/native raw TeX inline validation passed php -l for PandocJsonWriter.php and PandocJsonNativeAstTest.php; PandocJsonNativeAstTest.php contains the new passing regression while the full focused file remains baseline-red with 13 pre-existing unrelated failures.  Latest ODF/ODT package-ingestion slice on 2026-06-27 blocks compact ODT signature sidecar bytes under signature-package-bytes-blocked while preserving package-signature metadata-only review records and manifest/package inventory policy counts. Focused validation passed php -l for OpenDocumentPackage.php and OpenDocumentPackageTest.php plus focused OpenDocumentPackageTest.php with 1,877 assertions and 0 failures. Latest Citation/CSL slice on 2026-06-27 carries legacy BibLaTeX literal publisher, location, event-place, language, original-publisher, and original-language lists through BibtexCslProcessor into CSL list variables and WordPress bibliography output without external citeproc. Focused validation passed php -l for BibtexCslProcessor.php and BibtexCslProcessorTest.php plus focused BibtexCslProcessorTest.php with 623 assertions and 0 failures. 2026-07-01 plib-47oh5: PdfEngineHandoff now carries Typst open-output viewer provenance through typstBoundarySummary, exposing open-output side-effect counts, viewer counts by mode, selected viewer, distinct viewer names, and viewer issue counts while preserving existing boundary matrix and artifact-review propagation. Direct-format parity remains active. Validation passed php -l for PdfEngineHandoff.php and PdfEngineHandoffTest.php; php tools/run-tests.php lanes/pandoc/tests/PdfEngineHandoffTest.php with 1 file, 3768 assertions, 0 failures; php tools/run-tests.php lanes/pandoc/tests/PdfEngineHandoffTest.php lanes/pandoc/tests/PdfEngineHandoffTypstBoundaryMatrixSummaryTest.php lanes/pandoc/tests/PdfEngineHandoffTypstWarningSourcePolicyTest.php lanes/pandoc/tests/PdfReaderTest.php with 4 files, 5338 assertions, 0 failures. No external Pandoc, office suite, TeX/browser engine, Typst, Node, zip/unzip, validators, or live services were invoked. 2026-07-01 plib-mancn: Legacy BibLaTeX/CSL handoff now carries original publication ISBN/ISSN aliases (origisbn/original-isbn and origissn/original-issn) through BibtexCslProcessor, BibtexCslParser, CitationCslProcessor direct items, CSL style variables, default bibliography rendering, citationHandoff, and WordPress output while preserving raw BibTeX provenance and direct-format parity without external citeproc, BibTeX, Biber, Pandoc, or validators.",
  "phpPass": 491,
  "phpFail": 0,
  "wordpressScenarios": "tagged Pandoc JSON helper constructor compatibility for Attr, Target, ListAttributes, Citation, caption, table span, and column width payloads before shared AST and WordPress handoff, ODF/ODT package import now preserves ZIP package-manifest expansion-ratio bucket rollups in WordPress-facing package review handoffs without exposing package bytes. PDF/Typst warning source policy review now carries local, external, Typst package registry, and unknown warning-origin rollups through artifact provenance and boundary matrix handoff before WordPress/PDF review without executing Typst. Markdown writer handoff now preserves aliased link/image targets and control-safe destinations before WordPress Markdown review output. ODF/ODT package import now preserves directory base-name stem lookup maps in WordPress-facing package provenance identity before reviewer handoff without exposing package bytes. ODF/ODT package import now preserves package basename and directory lookup maps in WordPress-facing package provenance identity before reviewer handoff without exposing package bytes. PPTX chart import now preserves axis metadata for chart review before WordPress chart handoff without exposing package bytes. XLSX table import now preserves gradient fill style metadata before WordPress table handoff without exposing package bytes. XML/HTML DOM focus-navigation review metadata now carries accesskey collision and autofocus candidate provenance through raw HTML and WordPress handoff without executing browser focus behavior. DOCX/OpenXML quoted content-type parameter metadata review before WordPress import, DOCX/OpenXML ZIP extra-field metadata review before WordPress import, PlainMath atom-category review summaries before MathML/HTML handoff, OPC relationship-part byte provenance before package graph construction and DOCX/EPUB/ODT reader byte exposure, JSON/native textual raw Markdown/TeX format alias combination handoff before JSON/native writer output, XML/HTML DOM meta referrer policy raw HTML review handoff, JSON/native raw Markdown constructor handoff before JSON/native writer output, DOCX/OpenXML ZIP package and entry comment provenance before WordPress import, ODF/ODT manifest-root extension review handoff before WordPress import, shared OPC ZIP central-directory source-record hash provenance before package review handoff, ODT converter-path footnote/endnote handoff into native Markdown and WordPress footnotes without paragraph text pollution, raw central-directory OPC package extension inventory handoff before package-construction failure diagnostics, ODF/ODT manifest child-element review handoff before WordPress import, legacy BibLaTeX option/language-option/reference-context/field-annotation review handoff before WordPress import, JSON/native raw TeX inline handoff before JSON/native writer output, legacy BibLaTeX custom field/list/name review handoff before WordPress import, EPUB reader manifest/spine metadata review handoff for local, remote, non-linear, and missing reading-order entries before WordPress import, Data Liberation import preserving Markdown links/media/footnotes/tables plus HTML-reader exports, standalone void area/source/track/embed Markdown-reader fragments as paragraph RawInline html in WordPress output, native Markdown/plain-text reviewer handoff, direct CSL JSON compact source-file attachment review handoff, legacy BibLaTeX registry/authority identifier and file/pdf attachment review handoff, shared OPC relationship TargetMode declaration review summaries and package-part extension inventory summaries, XML/HTML DOM hyperlink attributionsrc and edit-assistance policy raw HTML review handoff, CommonMark raw HTML handoff boundaries that keep opaque source HTML out of Markdown inline/block parsing when raw_html is enabled, adjacent native Pandoc raw html4/html5/xhtml alias handoff with escaped unsupported raw diagnostics, Markdown writer semantic inline attribute handoff, ODF/ODT script/configuration sidecar manifest-order package provenance, XML document-part root custom attribute provenance, package identity review metadata, DOCX glossary document media/hyperlink target inventory provenance, DOCX selected settings-part relationship inventory provenance, and DOCX aFChunk, macro, and ActiveX external-target policy provenance before DOCX package handoff., selected ZIP handoff directory-root package review provenance for DOCX/EPUB/ODT readers before media byte exposure, ODF/ODT ZIP platform attribute provenance for creator host, DOS, Unix, and internal ZIP attributes before package byte exposure., compact ODF/ODT signature sidecar byte-exposure policy handoff before WordPress import, Data Liberation citation handoff now preserves legacy BibLaTeX literal publisher/location/language/event-place lists as CSL variables before WordPress bibliography output.",
  "phase": "Latest JSON/native slice on 2026-06-27 maps additional textual native RawBlock/RawInline Markdown-family and TeX-family format alias combinations from NativeReader into raw_markdown, raw_tex, and raw_tex_inline AST constructors while preserving original format payloads through PandocJsonWriter/PandocJsonReader. Focused validation passed php -l for NativeReader.php and PandocJsonNativeAstTest.php plus three selected PandocJsonNativeAstTest closures with 56 assertions and 0 failures; full PandocJsonNativeAstTest.php remains known baseline-red outside this slice. format-parity catch-up: strong Markdown/HTML/Native behavior slices exist, PlainMath recursive text-mode MathML handoff is covered, JSON/native raw TeX inline, Citation/CSL direct JSON and legacy BibLaTeX option/reference-context/field-annotation, custom field/list/name, and identifier handoffs now normalize source-file aliases/attachments and registry/authority identifiers into review metadata, MarkdownReader covers the upstream eitherBlockOrInline void standalone fragment handoff for area/source/track/embed, EPUB package preflight and compact EPUB reader manifest/spine metadata are expanding, shared ZIP/OPC package preflights expose central-directory source-record hash provenance, local-header name mismatch provenance, relationship TargetMode declaration summaries, and selected-entry directory-root review buckets, and package-part extension inventories, XML/HTML DOM records hyperlink attributionsrc source-registration and edit-assistance policy metadata for raw handoff, Markdown writer semantic inline wrappers preserve canonical review attributes, ODF/ODT package provenance preserves manifest-root extension child metadata, script and configuration sidecar flags, XML document-part root custom attributes, and package identity hashes in manifest-order handoff rows, CommonMark raw HTML boundaries cover paragraph interruption, malformed tag rejection, inline/custom tags, and list containers, native raw HTML aliases preserve html4/html5/xhtml adjacency through PHP JSON/native/Markdown/WordPress handoff, and DOCX package provenance records selected settings-part relationship inventory, glossary document target inventory roles, aFChunk, nested ActiveX, and VBA macro external-target policy, but direct upstream input/output format coverage is only partially registered and rich package formats remain dependency-gated",
  "audit": "updated 2026-07-01 for plib-u6j2r after ODF/ODT package identity stem lookup-map closure; validation passed php -l for OpenDocumentPackage.php, OdfReader.php, and OdfPackageIdentityStemLookupMapsTest.php plus focused OdfPackageIdentityStemLookupMapsTest.php with 6 assertions and 0 failures. updated 2026-07-01 for plib-du97n after ODF/ODT manifest-encryption identity handoff closure; validation passed php -l for OpenDocumentPackage.php, OdfReader.php, and OdfManifestEncryptionIdentityParityTest.php plus the focused ODF package identity/encryption family with 7,636 assertions and 0 failures. updated 2026-07-01 for plib-mvg2y after JSON/native definition term handoff closure; validation passed php -l for NativeWriter.php, WordPressBlockWriter.php, and NativeDefinitionTermConstructorTest.php plus focused NativeDefinitionTermConstructorTest.php with 20 assertions and 0 failures. updated 2026-07-01 for plib-awnog after ODF/ODT package identity lookup-map closure; validation passed php -l for OpenDocumentPackage.php, OdfReader.php, and OdfPackageIdentityLookupMapsTest.php plus focused OdfPackageIdentityLookupMapsTest.php with 12 assertions and 0 failures. updated 2026-07-01 for plib-rvwcw after shared ZIP/OPC central-directory signature source policy provenance closure; validation passed php -l for OpcRelationshipGraph.php and OpenPackagingConventionsTest.php plus focused OpenPackagingConventionsTest.php with 4995 assertions and 0 failures. updated 2026-07-01 for plib-dnr3d after DOCX/OpenXML ZIP package manifest general-purpose flag and creator host/version rollup closure; validation passed php -l for DocxOpenXmlReader.php and DocxOpenXmlReaderTest.php plus focused DocxOpenXmlReaderTest.php with 12104 assertions and 0 failures. updated 2026-07-01 for plib-et1cm after PPTX chart-axis metadata closure; validation passed php -l for PptxReader.php and PptxReaderTest.php plus focused PptxReaderTest.php with 272 assertions and 0 failures. updated 2026-07-01 for plib-e1gbt after XLSX gradient fill style-record metadata closure; validation passed php -l for XlsxReader.php and XlsxReaderTest.php plus focused XlsxReaderTest.php with 598 assertions and 0 failures. updated 2026-06-27 for plib-087w4 after XML/HTML DOM meta referrer policy metadata closure; validation passed php -l for XmlHtmlDom.php and XmlHtmlDomMetaReferrerPolicyReviewTest.php, focused XmlHtmlDomMetaReferrerPolicyReviewTest.php with 50 assertions and 0 failures, and the XML/HTML DOM family gate with 36 files, 10,464 assertions, 0 failures. updated 2026-06-27 for plib-lglho after NativeReader text raw markdown-family format constructor closure; NativeReader now matches PandocJsonReader raw format classification for markdown-family block/inline raw formats and TeX aliases, with focused syntax, targeted regression runner with 17 assertions and 0 failures, and direct smoke validation and no external Pandoc/Markdown/TeX engines. updated 2026-06-27 for plib-qzc6u after DOCX ZIP comment provenance closure; DocxOpenXmlReader preserves package-level and entry-level ZIP comments as metadata-only DOCX package provenance without exposing package bytes. updated 2026-06-27 for plib-osst3 after ODF/ODT manifest-root extension provenance closure; OpenDocumentPackage and OdfReader now preserve non-manifest namespace extension children directly under manifest:manifest through compact review, rich package provenance, document manifest attributes, and metadata-only package identity without exposing package bytes. Validation passed php -l for touched files, OpenDocumentPackageTest.php with 1,896 assertions and 0 failures, the selected rich OdfReader root-extension case with 20 assertions and 0 failures, and four neighboring ODF provenance tests with 174 assertions and 0 failures. updated 2026-06-27 for plib-54n6q after shared OPC ZIP central-directory source-record provenance closure; OpcRelationshipGraph now carries central-directory record offsets, byte lengths, and SHA-256 hashes through both constructed-package and raw central-directory OPC manifest entries. Validation passed php -l for OpcRelationshipGraph.php and OpenPackagingConventionsTest.php plus focused OpenPackagingConventionsTest.php with 4,649 assertions and 0 failures. updated 2026-06-27 for plib-6qpsw after OdtReader text:note footnote/endnote converter-path closure; updated 2026-06-27 for plib-n9qik after raw central-directory OPC package extension inventory closure; updated 2026-06-27 for plib-ul74w after XML/HTML DOM Content Security Policy meta review closure; updated 2026-06-27 for plib-zpzxs after ODF/ODT manifest file-entry child element provenance closure; OpenDocumentPackage and OdfReader now preserve direct manifest:file-entry child element names, structural/custom classification, compact child counts, and custom extension child aggregates through manifest review, package inventory, package provenance, and identity snapshots without exposing package bytes. Validation passed php -l for touched files, the two new focused cases with 53 assertions and 0 failures, and OpenDocumentPackageTest.php with 1,853 assertions and 0 failures; the broader touched OdfReaderTest.php run remains red with 22 unrelated legacy writer/format expectation failures. updated 2026-06-27 for plib-p8ei9 after legacy BibLaTeX option/reference-context/field-annotation handoff closure; updated 2026-06-27 for plib-wbijv after JSON/native raw TeX inline writer closure; updated 2026-06-27 for plib-5uxmy after legacy BibLaTeX custom field/list/name handoff closure; updated 2026-06-27 for plib-ebgsc after shared OPC ZIP manifest package-part extension inventory closure; OpenDocumentPackage and OdfReader now carry ZIP creator host/version, external attributes, DOS flags, Unix mode/permissions, internal file attributes, and platform issue flags through compact inventory, rich reader provenance, and metadata-only package identity without changing byte exposure. updated 2026-06-27 for plib-xe8bb after ODF/ODT ZIP platform attribute provenance closure; updated 2026-06-27 for plib-rru52 after legacy BibLaTeX authority identifier closure; updated 2026-06-27 for plib-vch38 after shared ZIP/OPC selected-entry directory-root handoff closure; updated 2026-06-26 for plib-wsi0i after EPUB reader manifest/spine metadata closure; updated 2026-06-26 for plib-r7vrv after legacy BibLaTeX registry identifier handoff closure; updated 2026-06-26 for plib-k20vw after XLSX border style-record metadata closure; updated 2026-06-26 for plib-vy6bd after DOCX/OpenXML settings relationship inventory closure; updated 2026-06-26 for plib-bb0xs after ODF/ODT XML document-part root attribute provenance closure; updated 2026-06-26 for plib-uxyy8 after shared OPC relationship TargetMode policy summary closure; updated 2026-06-26 for plib-mxddh after DOCX/OpenXML glossary relationship target inventory closure; updated 2026-06-26 for plib-q26em after DOCX/OpenXML aFChunk external-target policy closure; updated 2026-06-26 for plib-wj70q.16 after PlainMath recursive text-mode MathML completion; updated 2026-06-26 for plib-8ffft after legacy BibLaTeX file/pdf source-file attachment closure; updated 2026-06-26 for plib-35sz3 after XML/HTML DOM edit-assistance policy metadata closure; updated 2026-06-26 for plib-l8xvy after ODF/ODT reader package identity provenance closure; updated 2026-06-26 for plib-qi9bf after direct CSL JSON compact source-file alias closure; updated 2026-06-26 for plib-drk7q after DOCX/OpenXML VBA external-target policy provenance closure; updated 2026-06-26 for plib-njxxg after Markdown reader standalone void inline completion; updated 2026-06-26 for plib-5ry1a after ODF/ODT manifest-order sidecar package provenance closure; updated 2026-06-26 for plib-m0p8l after XML/HTML DOM hyperlink attributionsrc source-registration metadata closure; updated 2026-06-26 for plib-q1h34 after Markdown writer semantic inline attribute completion. OpcRelationshipGraph now summarizes loaded relationship TargetMode declarations by implicit Internal, explicit Internal, and explicit External records, with source-part and relationship-type filters for importer gates. DocxOpenXmlReader now marks local glossary document image and hyperlink targets with glossary-specific inventory roles and promotes internal/external/existing/missing glossary target counters into packageProvenance.summary. DocxOpenXmlReader now exposes settingsRelationshipInventory and packageProvenance.settingsRelationships for selected settings-part .rels declarations, with internal, missing, untyped, safe external, and unsafe external target policy kept metadata-only. CitationCslProcessor now accepts compact direct CSL JSON source-file aliases such as attachments, source-file, file, and pdf, while preserving canonical sourceFiles strict-list validation and blocking unsafe paths as diagnostics. DocxOpenXmlReader preserves safe versus unsafe external-target metadata for aFChunk alternative-format imports while keeping external chunks metadata-only and unfetched, and for VBA project, project-signature, and wordVbaData relationships while keeping macro bytes blocked. MarkdownReader maps upstream TagCategories eitherBlockOrInline void tags area, source, track, and embed at top level into paragraph RawInline html nodes with trailing text, so standalone track no longer falls through to RawBlock/wp:html output. OpenDocumentPackage and OdfReader preserve script/configuration sidecar booleans in manifest-order package handoff rows while bytes remain blocked under script-package-bytes-blocked and configuration-package-bytes-blocked policies. OdfReader now also emits stable metadata-only package identity hashes for manifest entries, encoded part references, package comments, root custom attributes, undeclared private parts, and byte-exposure role counts while script/configuration/private bytes stay blocked. XmlHtmlDom reports a/area attributionsrc review metadata, including empty origin registration, URL records, unsafe URL diagnostics, non-HTTP URL diagnostics, and WordPress raw HTML handoff preservation without fetching registration endpoints. XmlHtmlDom now also summarizes autocorrect, writingsuggestions, and virtualkeyboardpolicy as edit-assistance review metadata with editable-host, editable-descendant, text-entry-control, and generic-element provenance while preserving invalid token diagnostics and not invoking client-side assistance services. MarkdownWriter preserves canonical id/class/key-value review attributes when lowering small_caps, underline, strikeout, superscript, and subscript nodes through semantic span Markdown/HTML handoff, while keeping existing delimiter output for unattributed native wrappers. MathTexConverter now parses recursive text-mode groups, delimited inner math, and nested local text-mode styling commands into valid bounded MathML without invoking TeX engines or broad PlainMath parity. BibtexCslProcessor now carries legacy BibLaTeX authority identifiers as metadata-only ORCID/ISNI/VIAF/ROR/Wikidata CSL fields without identifier lookup. BibtexCslProcessor now carries legacy BibLaTeX file/pdf attachment metadata as sourceFiles/sourceFileDiagnostics without reading or fetching attachments. OdfReader documentPartVersions now reports root attributes, root custom attribute maps, and namespace declarations for content.xml/styles.xml/meta.xml/settings.xml, marking office:version structural while keeping document bytes bounded to existing package metadata. OPC TargetMode policy validation passed php -l for OpcRelationship.php, OpcRelationships.php, OpcRelationshipGraph.php, and OpenPackagingConventionsTest.php plus the focused OPC test file with 4,556 assertions and 0 failures. Citation/CSL source-file alias validation passed php -l for CitationCslProcessor.php and CitationCslProcessorTest.php plus the focused test file with 6,018 assertions and 0 failures. DOCX validation passed php -l for DocxOpenXmlReader.php and DocxOpenXmlReaderTest.php plus focused DocxOpenXmlReaderTest with 9,713 assertions and 0 failures including the settings relationship inventory case. PlainMath text-mode recursion comparison passed php -l for MathTexConverter.php and MathTexConverterTest.php; branch MathTexConverterTest.php reported 1 file, 1,364 assertions, 6 known failures, matching baseline failure names with 0 branch-only failures while adding the new recursive text-mode case. Legacy BibTeX/CSL authority identifier validation passed php -l for BibtexCslProcessor.php and BibtexCslProcessorTest.php plus focused BibtexCslProcessorTest with 554 assertions and 0 failures. Legacy BibTeX/CSL attachment validation passed php -l for BibtexCslProcessor.php and BibtexCslProcessorTest.php plus focused BibtexCslProcessorTest with 499 assertions and 0 failures. ODF document-part root attribute validation passed php -l for OdfReader.php and OdfReaderDocumentPartRootAttributesTest.php plus the focused test file with 20 assertions and 0 failures. Standalone void inline validation passed php -l for MarkdownReader.php and MarkdownReaderStandaloneVoidInlineTest.php; MarkdownReaderStandaloneVoidInlineTest plus MarkdownReaderInlineSurgeTest passed 2 files, 322 assertions, 0 failures. ODF-focused validation passed php -l for OpenDocumentPackage.php, OdfReader.php, OpenDocumentPackageTest.php, OdfReaderTest.php, OdfManifestSidecarOrderFlagsTest.php, and OdfReaderPackageIdentityTest.php; focused tests passed OdfManifestSidecarOrderFlagsTest.php with 16 assertions, OpenDocumentPackageTest.php with 1752 assertions, and OdfReaderPackageIdentityTest.php with 52 assertions. XML/HTML DOM validation passed php -l for XmlHtmlDom.php and XmlHtmlDomEditAssistancePolicyTest.php; focused edit-assistance test passed with 36 assertions, and the XmlHtmlDom* family comparison passed branch 29 files, 7,206 assertions, 0 failures against baseline 28 files, 7,170 assertions, 0 failures with 0 branch-only failures. Markdown semantic attribute validation passed php -l for MarkdownWriter.php and MarkdownWriterSemanticAttributeCompletionTest.php plus the focused test file with 8 assertions and 0 failures. Broader selected MarkdownReader validation is not green because MarkdownReaderTest.php retains 34 pre-existing plain-writer/template failures. Current full lanes/pandoc/tests remains blocked by the existing broad baseline: 294 files, 116,692 assertions, 9,781 failures, with visible failures outside this ZIP/OPC slice including YamlMetadataReviewTest.php. XlsxReader now preserves border side style/color records plus diagonal/outline flags from cell style records as metadata-only table cell attributes; focused validation passed php -l for XlsxReader.php and XlsxReaderTest.php plus focused XlsxReaderTest.php with 259 assertions and 0 failures; broad Pandoc lane run remains red with 287 files, 115,350 assertions, and 9,848 failures, while the focused XLSX gate has 0 branch-only failures. EpubReader now exposes metadata-only epubManifestItems and epubSpineItemRefs, preserving manifest properties, local readability, remote target policy, linear flags, itemref properties, and missing idref provenance while only reading local XHTML package members. Focused EPUB reader manifest/spine metadata validation passed php -l for EpubReader.php and EpubReaderTest.php plus focused EpubReaderTest.php with 39 assertions and 0 failures. ZipPackage selected-entry handoff now summarizes selectedDirectoryRootSummaries and handoffDirectoryRootSummaries, preserving root-level, _rels, docProps, word/media, and other package-area byte/count buckets while blocked oversized selections stay out of readable handoff roots. Focused ZIP package directory-root validation passed php -l for ZipPackage.php and ZipPackageTest.php plus focused ZipPackageTest.php with 4,884 assertions and 0 failures.  OpcRelationshipGraph now reports packagePartExtensionCounts, entryNamesByPackagePartExtension, extensionlessPackagePartCount, and packagePartExtensionSummaries from ZIP entry manifests so importers can audit default content-type extension coverage, relationship parts, media, embedded packages, XML parts, and extensionless override-backed parts without reading payload bytes. Focused OPC package-part extension validation passed php -l for OpcRelationshipGraph.php and OpenPackagingConventionsTest.php plus focused OpenPackagingConventionsTest.php with 4,627 assertions and 0 failures. BibtexCslProcessor now carries legacy BibLaTeX custom user/verbatim fields, literal list fields, and custom name lists as review metadata through direct bibliography text, CSL variables, and WordPress output without external citeproc. Focused legacy BibTeX/CSL custom field/list/name validation passed php -l for BibtexCslProcessor.php and BibtexCslProcessorTest.php plus focused BibtexCslProcessorTest.php with 571 assertions and 0 failures. PandocJsonWriter now serializes raw_tex_inline nodes from NativeReader text input as RawInline constructors through PandocJsonWriter and NativeWriter JSON paths without invoking Pandoc or TeX engines. Focused JSON/native raw TeX inline validation passed php -l for PandocJsonWriter.php and PandocJsonNativeAstTest.php; PandocJsonNativeAstTest.php contains the new passing regression while the full focused file remains baseline-red with 13 pre-existing unrelated failures. BibtexCslProcessor now carries legacy BibLaTeX entry options, language options, refsection/refsegment, gender, and non-name field annotations as CSL review metadata through direct bibliography text, CSL variables, skipbib-aware WordPress output, and raw field provenance. Focused legacy BibTeX/CSL option/context/annotation validation passed php -l for BibtexCslProcessor.php and BibtexCslProcessorTest.php plus focused BibtexCslProcessorTest.php with 596 assertions and 0 failures. updated 2026-06-27 for plib-9srbg after compact ODT signature byte-exposure closure; OpenDocumentPackage blocks declared META-INF/*signatures.xml sidecars under signature-package-bytes-blocked in manifest review, package inventory, byte-exposure policy counts, and identity inputs while preserving package-signature metadata-only review. updated 2026-06-27 for plib-c35ou after legacy BibLaTeX literal list handoff closure; BibtexCslProcessor maps publisher/location/event-place/language/original-publication list fields into CSL variables and WordPress output without invoking Pandoc, citeproc, BibTeX, Biber, or external validators. updated 2026-06-28 for plib-wj70q.12 after PlainMath atom-category prototype closure; MathTexConverter::texAtomCategorySummary() derives TexMath-like atom summaries from generated MathML, maps explicit data-tex-math-class wrappers, infers common token categories, and does not alter emitted MathML. Validation: php -l for touched files passed; isolated atom-category case passed with 21 assertions; full MathTexConverterTest.php remains baseline-red with 6 unrelated existing failures.",
  "currentWork": "2026-07-01 plib-5hhdb: Post-rebase validation passed php -l for XmlHtmlDom.php and XmlHtmlDomFormSuccessfulControlReviewTest.php; jq empty for UPSTREAM_TEST_MANIFEST.json and lane-status.json; php tools/run-tests.php lanes/pandoc/tests/XmlHtmlDomFormSuccessfulControlReviewTest.php with 1 file, 26 assertions, 0 failures; php tools/run-tests.php lanes/pandoc/tests/XmlHtmlDomFormSuccessfulControlReviewTest.php lanes/pandoc/tests/XmlHtmlDomTest.php lanes/pandoc/tests/XmlHtmlDomFormSubmitterActionProvenanceTest.php lanes/pandoc/tests/XmlHtmlDomFormAcceptCharsetReviewTest.php lanes/pandoc/tests/XmlHtmlDomSelectOptionStateReviewTest.php lanes/pandoc/tests/XmlHtmlDomFileInputReviewTest.php lanes/pandoc/tests/XmlHtmlDomLabelControlAssociationReviewTest.php lanes/pandoc/tests/XmlHtmlDomCheckableInputStateReviewTest.php with 8 files, 6,690 assertions, 0 failures; php tools/run-tests.php lanes/pandoc/tests/XmlHtmlDom*Test.php lanes/pandoc/tests/Html5DomFragmentTest.php with 82 files, 12,665 assertions, 0 failures; git diff --check origin/main...HEAD -- lanes/pandoc; conflict-marker scan of changed lane files. No external Pandoc, office suite, TeX/browser engine, Typst, Jupyter, Node, zip/unzip, validators, or live services were invoked.",
  "blocker": "Full DOCX/OpenXML parity is not defensible: upstream DOCX runner parity is missing, selected Native fixtures and synthetic ZIP/XML package slices are covered, and lanes/pandoc/UPSTREAM_TEST_MANIFEST.json docxParityAudit records 89 missing pinned upstream native fixtures, 2 checked-in current-upstream DOCX package drift fixtures, 0 checked-in pinned upstream .docx package fixtures, and a core DocxWriter whose generated writer-golden stable package comparison is gated at 38/38 matches while upstream DOCX Cabal/Tasty runner parity is missing. Direct format parity remains active: many upstream input/output format tokens are unsupported or dependency-gated, and the full PHP pandoc lane suite currently has a broad non-slice failure backlog. Markdown raw block surge coverage still has a separate structured HTML precedence backlog where full-reader HTML helpers intentionally convert selected standalone tags before the raw CommonMark path. Direct DOCX/EPUB/ODT/PPTX/XLSX package support still depends on shared ZIP/OPC plus XML/HTML DOM support; PDF remains an engine-handoff target and must not be counted through TeX/browser/Typst shell-outs. Direct format parity remains active: many upstream input/output format tokens are unsupported or dependency-gated, and the full PHP pandoc lane suite currently has a broad non-slice failure backlog. Markdown raw block surge coverage still has a separate structured HTML precedence backlog where full-reader HTML helpers intentionally convert selected standalone tags before the raw CommonMark path. Direct DOCX/EPUB/ODT/PPTX/XLSX package support still depends on shared ZIP/OPC plus XML/HTML DOM support; PDF remains an engine-handoff target and must not be counted through TeX/browser/Typst shell-outs.",
  "latestCommit": "Add HTML form successful control review",
  "nextTask": "Continue bounded Pandoc direct-format parity slices, especially DOCX/OpenXML package metadata, shared ZIP/OPC package metadata, Markdown/HTML/native writer fixture closures, CSL/BibLaTeX, ODF/ODT, EPUB3, and PDF/Typst handoff work while keeping full-suite baseline failures tracked separately.",
  "latestFocusedSlice": "2026-07-01 plib-u3avy: ODF/ODT package ingestion now carries ZIP source-record package-part extension buckets through compact OpenDocumentPackage inventory/identity and rich OdfReader packageProvenance/packageIdentity/document metadata, grouping extensionless, XML, image, binary, declared/undeclared roles, directory roots, compression methods, source-record byte spans, data-descriptor counts, and review issues without exposing package payload bytes or invoking external ZIP tools. Direct-format parity remains active in blocker notes. 2026-07-01 plib-u3avy: Post-rebase validation passed php -l for OpenDocumentPackage.php, OdfReader.php, and OdfZipSourceRecordPackagePartExtensionsTest.php; php tools/run-tests.php lanes/pandoc/tests/OdfZipSourceRecordPackagePartExtensionsTest.php lanes/pandoc/tests/OdfZipSourceRecordDirectoryRootsTest.php lanes/pandoc/tests/OdfZipSourceRecordPackagePartBaseNameStemsTest.php lanes/pandoc/tests/OdfZipSourceRecordCompressionMethodsTest.php lanes/pandoc/tests/OdfZipTimestampSourcesTest.php lanes/pandoc/tests/OdfZipExtraFieldRoleProvenanceTest.php lanes/pandoc/tests/OpenDocumentPackageTest.php lanes/pandoc/tests/OdfReaderPackageIdentityTest.php lanes/pandoc/tests/OdfReaderTest.php with 9 files, 8261 assertions, 0 failures; jq empty lanes/pandoc/UPSTREAM_TEST_MANIFEST.json lanes/pandoc/lane-status.json; git diff --check origin/main...HEAD -- lanes/pandoc; and conflict-marker scan of changed files. No external Pandoc, office suite, TeX/browser engine, Typst, Node, zip/unzip, validators, or live services were invoked.",
  "validation": "2026-07-01 plib-u3avy: Post-rebase validation passed php -l for OpenDocumentPackage.php, OdfReader.php, and OdfZipSourceRecordPackagePartExtensionsTest.php; php tools/run-tests.php lanes/pandoc/tests/OdfZipSourceRecordPackagePartExtensionsTest.php lanes/pandoc/tests/OdfZipSourceRecordDirectoryRootsTest.php lanes/pandoc/tests/OdfZipSourceRecordPackagePartBaseNameStemsTest.php lanes/pandoc/tests/OdfZipSourceRecordCompressionMethodsTest.php lanes/pandoc/tests/OdfZipTimestampSourcesTest.php lanes/pandoc/tests/OdfZipExtraFieldRoleProvenanceTest.php lanes/pandoc/tests/OpenDocumentPackageTest.php lanes/pandoc/tests/OdfReaderPackageIdentityTest.php lanes/pandoc/tests/OdfReaderTest.php with 9 files, 8261 assertions, 0 failures; jq empty lanes/pandoc/UPSTREAM_TEST_MANIFEST.json lanes/pandoc/lane-status.json; git diff --check origin/main...HEAD -- lanes/pandoc; and conflict-marker scan of changed files. No external Pandoc, office suite, TeX/browser engine, Typst, Node, zip/unzip, validators, or live services were invoked. 2026-07-01 plib-5hhdb: Post-rebase validation passed php -l for XmlHtmlDom.php and XmlHtmlDomFormSuccessfulControlReviewTest.php; jq empty for UPSTREAM_TEST_MANIFEST.json and lane-status.json; php tools/run-tests.php lanes/pandoc/tests/XmlHtmlDomFormSuccessfulControlReviewTest.php with 1 file, 26 assertions, 0 failures; php tools/run-tests.php lanes/pandoc/tests/XmlHtmlDomFormSuccessfulControlReviewTest.php lanes/pandoc/tests/XmlHtmlDomTest.php lanes/pandoc/tests/XmlHtmlDomFormSubmitterActionProvenanceTest.php lanes/pandoc/tests/XmlHtmlDomFormAcceptCharsetReviewTest.php lanes/pandoc/tests/XmlHtmlDomSelectOptionStateReviewTest.php lanes/pandoc/tests/XmlHtmlDomFileInputReviewTest.php lanes/pandoc/tests/XmlHtmlDomLabelControlAssociationReviewTest.php lanes/pandoc/tests/XmlHtmlDomCheckableInputStateReviewTest.php with 8 files, 6,690 assertions, 0 failures; php tools/run-tests.php lanes/pandoc/tests/XmlHtmlDom*Test.php lanes/pandoc/tests/Html5DomFragmentTest.php with 82 files, 12,665 assertions, 0 failures; git diff --check origin/main...HEAD -- lanes/pandoc; conflict-marker scan of changed lane files. No external Pandoc, office suite, TeX/browser engine, Typst, Jupyter, Node, zip/unzip, validators, or live services were invoked. 2026-07-01 plib-gifl: Validation passed php -l for PlainWriter.php and PlainWriterTest.php; php tools/run-tests.php lanes/pandoc/tests/PlainWriterTest.php with 1 file, 243 assertions, 0 failures; php tools/run-tests.php lanes/pandoc/tests/PlainWriterTest.php lanes/pandoc/tests/PandocFormatRegistryTest.php with 2 files, 481 assertions, 0 failures. No external Pandoc, office suite, TeX/browser engine, Typst, Jupyter, Node, zip/unzip, validators, or live services were invoked. 2026-07-01 plib-wazxm: Validation passed php -l for OpenDocumentPackage.php, OdfReader.php, and OdfPackageXmlRootElementProvenanceTest.php; php tools/run-tests.php lanes/pandoc/tests/OdfPackageXmlRootElementProvenanceTest.php with 1 file, 56 assertions, 0 failures; php tools/run-tests.php lanes/pandoc/tests/OdfPackageXmlRootElementProvenanceTest.php lanes/pandoc/tests/OdfPackageXmlCdataSectionProvenanceTest.php lanes/pandoc/tests/OdfPackageXmlCommentProvenanceTest.php lanes/pandoc/tests/OdfPackageXmlProcessingInstructionProvenanceTest.php with 4 files, 260 assertions, 0 failures; php tools/run-tests.php lanes/pandoc/tests/OpenDocumentPackageTest.php lanes/pandoc/tests/OdfReaderTest.php with 2 files, 7586 assertions, 0 failures. No external Pandoc, office suite, TeX/browser engine, Typst, Node, zip/unzip, validators, or live services were invoked. 2026-07-01 plib-mrlie: DOCX/OpenXML package ingestion now carries relationship target path-segment name-character review summaries through packageProvenance.summary, exposing metadata-only target-segment buckets for uppercase, whitespace, percent-encoded octets, and non-ASCII path segments with occurrence/relationship/target counts, flag segment/target maps, existing/missing target counts, path position/depth/top-level/directory/base-name/extension/content-type/relationship-type/role rollups, and largest existing target metadata while keeping external relationship targets out of internal target segment review. Validation passed php -l for DocxOpenXmlReader.php and DocxOpenXmlRelationshipTargetPathSegmentNameCharactersTest.php; php tools/run-tests.php lanes/pandoc/tests/DocxOpenXmlRelationshipTargetPathSegmentNameCharactersTest.php with 1 file, 84 assertions, 0 failures; php tools/run-tests.php lanes/pandoc/tests/DocxOpenXmlRelationshipTargetPathSegmentNameCharactersTest.php lanes/pandoc/tests/DocxOpenXmlRelationshipTargetNameCharactersTest.php lanes/pandoc/tests/DocxOpenXmlRelationshipTargetDirectoryNameCharactersTest.php lanes/pandoc/tests/DocxOpenXmlRelationshipTargetPathSegmentPositionsTest.php lanes/pandoc/tests/DocxOpenXmlRelationshipTargetCaseFoldPathSegmentsTest.php lanes/pandoc/tests/DocxOpenXmlRelationshipTargetCaseFoldPathSegmentPositionsTest.php lanes/pandoc/tests/DocxOpenXmlReaderTest.php with 7 files, 12,884 assertions, 0 failures; jq empty lanes/pandoc/UPSTREAM_TEST_MANIFEST.json lanes/pandoc/lane-status.json; git diff --check origin/main...HEAD -- lanes/pandoc; conflict-marker scan of changed lane files. No external Pandoc, office suite, TeX/browser engine, Typst, Node, zip/unzip, validators, or live services were invoked. 2026-07-01 plib-l8xvy: Post-rebase validation passed php -l for OdfReader.php, OpenDocumentPackage.php, and OdfManifestMediaTypeSummaryCompactParityTest.php; php tools/run-tests.php lanes/pandoc/tests/OdfManifestMediaTypeSummaryCompactParityTest.php with 1 file, 177 assertions, 0 failures; php tools/run-tests.php lanes/pandoc/tests/OdfManifestMediaTypeSummaryCompactParityTest.php lanes/pandoc/tests/OpenDocumentPackageTest.php lanes/pandoc/tests/OdfReaderPackageIdentityTest.php lanes/pandoc/tests/OdfReaderTest.php with 4 files, 7,826 assertions, 0 failures. No external Pandoc, office suite, TeX/browser engine, Typst, Jupyter, Node, zip/unzip, validators, or live services were invoked. 2026-07-01 plib-mrlie: DOCX/OpenXML package ingestion now carries package part path-segment name-character review summaries through packageProvenance.summary, exposing metadata-only segment buckets for uppercase, whitespace, percent-encoded octets, and non-ASCII path segments with occurrence/part counts, flag-to-segment/part maps, position/depth/directory/base-name/content-type/role rollups, parameterized content-type counts, and largest-part metadata while distinguishing directory-segment and basename-segment flags. Validation passed php -l for DocxOpenXmlReader.php and DocxOpenXmlPackagePartPathSegmentNameCharactersTest.php; php tools/run-tests.php lanes/pandoc/tests/DocxOpenXmlPackagePartPathSegmentNameCharactersTest.php with 1 file, 67 assertions, 0 failures; php tools/run-tests.php lanes/pandoc/tests/DocxOpenXmlPackagePartPathSegmentNameCharactersTest.php lanes/pandoc/tests/DocxOpenXmlPackagePartDirectoryNameCharactersTest.php lanes/pandoc/tests/DocxOpenXmlPackagePathSegmentPositionsTest.php lanes/pandoc/tests/DocxOpenXmlPackagePartCaseFoldPathSegmentsTest.php lanes/pandoc/tests/DocxOpenXmlReaderTest.php with 5 files, 12,778 assertions, 0 failures; jq empty lanes/pandoc/UPSTREAM_TEST_MANIFEST.json lanes/pandoc/lane-status.json; git diff --check origin/main...HEAD -- lanes/pandoc; conflict-marker scan of changed lane files. No external Pandoc, office suite, TeX/browser engine, Typst, Node, zip/unzip, validators, or live services were invoked. 2026-07-01 plib-yxrvx: Post-rebase validation passed php -l for JsonReader.php and JsonReaderHelperConstructorCompatibilityTest.php; php tools/run-tests.php lanes/pandoc/tests/JsonReaderHelperConstructorCompatibilityTest.php lanes/pandoc/tests/JsonReaderWriterTest.php lanes/pandoc/tests/JsonReaderFormatConstructorTest.php with 3 files, 92 assertions, 0 failures; php tools/run-tests.php lanes/pandoc/tests/PandocJsonSingleWrappedAttrTupleTest.php lanes/pandoc/tests/PandocNativeWriterJsonProvenanceTest.php lanes/pandoc/tests/NativeShortCaptionConstructorTest.php with 3 files, 57 assertions, 0 failures; php tools/run-tests.php lanes/pandoc/tests/JsonReader*.php with 3 files, 92 assertions, 0 failures; JSON parse for lane-status and UPSTREAM_TEST_MANIFEST; git diff --check origin/main...HEAD -- lanes/pandoc; conflict-marker scan of changed lane files. No external Pandoc, office, TeX/browser, Node, zip/unzip, Jupyter, or external validators invoked. 2026-07-01 plib-04xct: Post-rebase validation passed php -l for NativeReader.php and NativeReaderTextTableHelperProvenanceTest.php; php tools/run-tests.php lanes/pandoc/tests/NativeReaderTextTableHelperProvenanceTest.php with 1 file, 56 assertions, 0 failures; php tools/run-tests.php lanes/pandoc/tests/NativeReaderTextTableHelperProvenanceTest.php lanes/pandoc/tests/NativeShortCaptionConstructorTest.php lanes/pandoc/tests/NativeReaderTextConstructorProvenanceTest.php lanes/pandoc/tests/PandocJsonNativeTableCollectionWrapperTest.php with 4 files, 230 assertions, 0 failures; JSON parse for lane-status; git diff --check origin/main -- lanes/pandoc; and conflict-marker scan of changed lane files. A broader NativeReaderTest.php focused run remains baseline-red in unrelated Markdown/HTML writer and table rendering expectations. No external Pandoc, office suite, TeX/browser engine, Typst, Node, zip/unzip, validators, or live services were invoked. 2026-07-01 plib-mancn: Post-rebase validation passed php -l for BibtexCslProcessor.php, BibtexCslParser.php, CitationCslProcessor.php, and BibtexCslProcessorOriginalIdentifierTest.php; php tools/run-tests.php lanes/pandoc/tests/BibtexCslProcessorOriginalIdentifierTest.php lanes/pandoc/tests/BibtexCslProcessorOriginalEditionTest.php lanes/pandoc/tests/BibtexCslProcessorIndexTitleTest.php lanes/pandoc/tests/BibtexCslProcessorTest.php lanes/pandoc/tests/CitationCslProcessorTest.php lanes/pandoc/tests/BibliographyReaderTest.php with 6 files, 7,588 assertions, 0 failures; jq empty lanes/pandoc/lane-status.json; git diff --check origin/main...HEAD -- lanes/pandoc; conflict-marker scan of changed lane files. No external Pandoc, office suite, TeX/browser engine, Typst, Jupyter, Node, zip/unzip, validators, citeproc, BibTeX, Biber, or live services were invoked. 2026-07-01 plib-mrlie: DOCX/OpenXML package part directory name-character review now carries aggregate metadata for flagged package directories, adding relationship-part lists plus parameterized content-type counts and largest-part directory-depth/content-type parameter details to the landed directory inventory flags and uppercase/whitespace/percent-encoded/non-ASCII package buckets. Validation passed php -l for DocxOpenXmlReader.php and DocxOpenXmlPackagePartDirectoryNameCharactersTest.php; php tools/run-tests.php lanes/pandoc/tests/DocxOpenXmlPackagePartDirectoryNameCharactersTest.php with 1 file, 67 assertions, 0 failures; php tools/run-tests.php lanes/pandoc/tests/DocxOpenXmlPackagePartDirectoryNameCharactersTest.php lanes/pandoc/tests/DocxOpenXmlRelationshipSourceDirectoryNameCharactersTest.php lanes/pandoc/tests/DocxOpenXmlRelationshipTargetDirectoryNameCharactersTest.php lanes/pandoc/tests/DocxOpenXmlReaderTest.php with 4 files, 12,681 assertions, 0 failures; jq empty lanes/pandoc/UPSTREAM_TEST_MANIFEST.json lanes/pandoc/lane-status.json; git diff --check origin/main...HEAD -- lanes/pandoc; conflict-marker scan of changed lane files. No external Pandoc, office suite, TeX/browser engine, Typst, Node, zip/unzip, validators, or live services were invoked. 2026-07-01 plib-i10iv: Post-rebase validation passed php -l for OdfReader.php, OpenDocumentPackage.php, and OdfZipExtraFieldRoleProvenanceTest.php; php tools/run-tests.php lanes/pandoc/tests/OdfZipExtraFieldRoleProvenanceTest.php with 1 file, 24 assertions, 0 failures; php tools/run-tests.php lanes/pandoc/tests/OdfZipExtraFieldRoleProvenanceTest.php lanes/pandoc/tests/OdfReaderZipGeneralPurposeFlagProvenanceTest.php lanes/pandoc/tests/OdfReaderZipSourceRecordProvenanceTest.php lanes/pandoc/tests/OdfZipSourceRecordDirectoryRootsTest.php lanes/pandoc/tests/OdfZipSourceRecordCompressionMethodsTest.php lanes/pandoc/tests/OdfZipPackagePathSegmentPositionRoleBucketsTest.php lanes/pandoc/tests/OdfZipPackageManifestAggregateProvenanceTest.php lanes/pandoc/tests/OdfManifestPackageCoverageProvenanceTest.php lanes/pandoc/tests/OdfPackageSidecarIdentityCountsTest.php lanes/pandoc/tests/OdfPackageSidecarAggregateCountsTest.php with 10 files, 1,384 assertions, 0 failures; php tools/run-tests.php lanes/pandoc/tests/OpenDocumentPackageTest.php lanes/pandoc/tests/OdfReaderPackageIdentityTest.php lanes/pandoc/tests/OdfPackageIdentityLookupMapsTest.php lanes/pandoc/tests/OdfPackageIdentityStemLookupMapsTest.php lanes/pandoc/tests/OdfManifestMediaTypeSummaryCompactParityTest.php lanes/pandoc/tests/OdfReaderTest.php with 6 files, 7,811 assertions, 0 failures; jq empty lanes/pandoc/UPSTREAM_TEST_MANIFEST.json lanes/pandoc/lane-status.json; git diff --check origin/main...HEAD -- lanes/pandoc; and conflict-marker scan of changed files. No external Pandoc, office suite, TeX/browser engine, Typst, Node, zip/unzip, validators, or live services were invoked. 2026-07-01 plib-65vt7: Post-rebase validation passed php -l for CitationCslProcessor.php and BibtexCslProcessorTest.php; red-first php tools/run-tests.php lanes/pandoc/tests/BibtexCslProcessorTest.php showed 1 file, 957 assertions, 1 failure before implementation; focused php tools/run-tests.php lanes/pandoc/tests/BibtexCslProcessorTest.php with 1 file, 971 assertions, 0 failures; php tools/run-tests.php lanes/pandoc/tests/CitationCslProcessorTest.php with 1 file, 6,173 assertions, 0 failures; php tools/run-tests.php lanes/pandoc/tests/BibliographyReaderTest.php with 1 file, 307 assertions, 0 failures; JSON parse for lane-status and UPSTREAM_TEST_MANIFEST; git diff --check origin/main...HEAD -- lanes/pandoc; and a conflict-marker scan of changed lane files. No external Pandoc, office, TeX/browser, Typst, Node, unzip/zip, validators, citeproc, BibTeX, Biber, or live services were invoked. 2026-07-01 plib-tqiq2: Validation passed after latest-main rebase: git diff --cached --check; php -l for BibtexCslProcessor.php and BibtexCslProcessorTest.php; jq empty for lanes/pandoc/UPSTREAM_TEST_MANIFEST.json and lanes/pandoc/lane-status.json; conflict-marker scan of changed files; and php tools/run-tests.php lanes/pandoc/tests/BibtexCslProcessorTest.php lanes/pandoc/tests/CitationCslProcessorTest.php lanes/pandoc/tests/BibliographyReaderTest.php with 3 files, 7,434 assertions, 0 failures. No external Pandoc, office, TeX/browser, Typst, Node, zip/unzip, validators, or live services were invoked. 2026-07-01 plib-ff9zx: DOCX/OpenXML package ingestion now carries metadata-only content-type default declaration parameter value rollups through packageProvenance.contentTypesPart and packageProvenance.summary, grouping shared and distinct default declaration parameters such as profile, charset, and variant while preserving per-declaration parameter maps and default-resolved package part metadata without exposing contents. Direct-format parity remains active in blocker notes. Post-rebase validation passed php -l for DocxOpenXmlReader.php and DocxOpenXmlContentTypeDefaultParameterValuesTest.php; php tools/run-tests.php lanes/pandoc/tests/DocxOpenXmlContentTypeDefaultParameterValuesTest.php lanes/pandoc/tests/DocxOpenXmlContentTypeDefaultExtensionUsageTest.php lanes/pandoc/tests/DocxOpenXmlContentTypeOverrideBaseNameStemsTest.php lanes/pandoc/tests/DocxOpenXmlContentTypeOverrideCaseFoldPartsTest.php lanes/pandoc/tests/DocxOpenXmlMissingOverrideTargetsTest.php with 5 files, 192 assertions, 0 failures; php tools/run-tests.php lanes/pandoc/tests/DocxOpenXmlReaderTest.php with 1 file, 12,486 assertions, 0 failures; JSON parse for lane-status; git diff --check origin/main...HEAD -- lanes/pandoc; and conflict-marker scan of changed lane files. No external Pandoc, office suite, TeX/browser engine, Typst, Jupyter, Node, zip/unzip, validators, or live services were invoked. 2026-07-01 plib-4qg0v: DOCX package manifest expansion-ratio bucket validation passed php -l for DocxOpenXmlReader.php, DocxOpenXmlReaderTest.php, and DocxOpenXmlPackageManifestExpansionRatioBucketsTest.php; php tools/run-tests.php lanes/pandoc/tests/DocxOpenXmlPackageManifestExpansionRatioBucketsTest.php with 1 file, 20 assertions, 0 failures; php tools/run-tests.php lanes/pandoc/tests/DocxOpenXmlReaderTest.php with 1 file, 12,486 assertions, 0 failures; php tools/run-tests.php lanes/pandoc/tests/DocxOpenXmlPackageManifestExpansionRatioBucketsTest.php lanes/pandoc/tests/DocxOpenXmlReaderTest.php with 2 files, 12,506 assertions, 0 failures. No external Pandoc, office, TeX/browser, Typst, Node, zip/unzip, validators, or live services were invoked. 2026-07-01 plib-kw78k: Post-rebase validation passed php -l for ZipPackage.php and ZipPackageTest.php; php tools/run-tests.php lanes/pandoc/tests/ZipPackageTest.php with 1 file, 5,766 assertions, 0 failures; php tools/run-tests.php lanes/pandoc/tests/OpenPackagingConventionsTest.php with 1 file, 5,261 assertions, 0 failures; jq empty lanes/pandoc/lane-status.json; git diff --check origin/main...HEAD -- lanes/pandoc; conflict-marker scan of changed lane files. No external Pandoc, office suite, TeX/browser engine, Typst, Jupyter, Node, zip/unzip, validators, or live services were invoked. 2026-07-01 plib-71u2y: Post-rebase validation passed php -l for XmlHtmlDom.php and XmlHtmlDomTrackElementReviewTest.php; red-first php tools/run-tests.php lanes/pandoc/tests/XmlHtmlDomTrackElementReviewTest.php showed 1 file, 2 assertions, 1 failure before implementation; focused php tools/run-tests.php lanes/pandoc/tests/XmlHtmlDomTrackElementReviewTest.php with 1 file, 36 assertions, 0 failures; related php tools/run-tests.php lanes/pandoc/tests/XmlHtmlDomTest.php with 1 file, 6322 assertions, 0 failures; JSON parse for lane-status and UPSTREAM_TEST_MANIFEST; git diff --check origin/main...HEAD -- lanes/pandoc; and conflict-marker scan of changed lane files. No external Pandoc, office, TeX/browser, Typst, Node, unzip/zip, validators, citeproc, BibTeX, Biber, or live services were invoked. 2026-07-01 plib-btlep: Post-rebase validation passed php -l for OpenDocumentPackage.php, OdfReader.php, and OdfZipPackageManifestExpansionRatioBucketsTest.php; php tools/run-tests.php lanes/pandoc/tests/OdfZipPackageManifestExpansionRatioBucketsTest.php lanes/pandoc/tests/OdfZipPackageManifestAggregateProvenanceTest.php lanes/pandoc/tests/OdfZipSourceRecordCompressionMethodsTest.php lanes/pandoc/tests/OdfPackagePathDepthRoleBucketsTest.php with 4 files, 1068 assertions, 0 failures; JSON parse for lane-status; git diff --check origin/main...HEAD -- lanes/pandoc; conflict-marker scan of changed files. No external Pandoc, office suite, TeX/browser engine, Typst, Jupyter, Node, zip/unzip, validators, or live services were invoked. 2026-07-01 plib-0v0uy: Validation passed php -l for OpenDocumentPackage.php, OdfReader.php, and OdfZipPackageManifestAggregateProvenanceTest.php; php tools/run-tests.php lanes/pandoc/tests/OdfZipPackageManifestAggregateProvenanceTest.php with 1 file, 848 assertions, 0 failures; php tools/run-tests.php lanes/pandoc/tests/OdfZipPackageManifestAggregateProvenanceTest.php lanes/pandoc/tests/OpenDocumentPackageTest.php lanes/pandoc/tests/OdfReaderPackageIdentityTest.php lanes/pandoc/tests/OdfReaderTest.php with 4 files, 8,497 assertions, 0 failures. No external Pandoc, office suite, TeX/browser engine, Typst, Node, zip/unzip, validators, or live services were invoked. 2026-07-01 plib-65vt7: Post-rebase validation passed php -l for CitationCslProcessor.php and BibtexCslProcessorTest.php; red-first php tools/run-tests.php lanes/pandoc/tests/BibtexCslProcessorTest.php showed 1 file, 957 assertions, 1 failure before implementation; focused php tools/run-tests.php lanes/pandoc/tests/BibtexCslProcessorTest.php with 1 file, 971 assertions, 0 failures; php tools/run-tests.php lanes/pandoc/tests/CitationCslProcessorTest.php with 1 file, 6,173 assertions, 0 failures; php tools/run-tests.php lanes/pandoc/tests/BibliographyReaderTest.php with 1 file, 307 assertions, 0 failures; JSON parse for lane-status and UPSTREAM_TEST_MANIFEST; git diff --check origin/main...HEAD -- lanes/pandoc; and a conflict-marker scan of changed lane files. No external Pandoc, office, TeX/browser, Typst, Node, unzip/zip, validators, citeproc, BibTeX, Biber, or live services were invoked. 2026-07-01 plib-tqiq2: Validation passed after latest-main rebase: git diff --cached --check; php -l for BibtexCslProcessor.php and BibtexCslProcessorTest.php; jq empty for lanes/pandoc/UPSTREAM_TEST_MANIFEST.json and lanes/pandoc/lane-status.json; conflict-marker scan of changed files; and php tools/run-tests.php lanes/pandoc/tests/BibtexCslProcessorTest.php lanes/pandoc/tests/CitationCslProcessorTest.php lanes/pandoc/tests/BibliographyReaderTest.php with 3 files, 7,434 assertions, 0 failures. No external Pandoc, office, TeX/browser, Typst, Node, zip/unzip, validators, or live services were invoked. 2026-07-01 plib-47oh5: PdfEngineHandoff now carries Typst open-output viewer provenance through typstBoundarySummary, exposing open-output side-effect counts, viewer counts by mode, selected viewer, distinct viewer names, and viewer issue counts while preserving existing boundary matrix and artifact-review propagation. Direct-format parity remains active. Validation passed php -l for PdfEngineHandoff.php and PdfEngineHandoffTest.php; php tools/run-tests.php lanes/pandoc/tests/PdfEngineHandoffTest.php with 1 file, 3768 assertions, 0 failures; php tools/run-tests.php lanes/pandoc/tests/PdfEngineHandoffTest.php lanes/pandoc/tests/PdfEngineHandoffTypstBoundaryMatrixSummaryTest.php lanes/pandoc/tests/PdfEngineHandoffTypstWarningSourcePolicyTest.php lanes/pandoc/tests/PdfReaderTest.php with 4 files, 5338 assertions, 0 failures. No external Pandoc, office suite, TeX/browser engine, Typst, Node, zip/unzip, validators, or live services were invoked. 2026-07-01 plib-mrlie: DOCX/OpenXML package ingestion now carries relationship source directory name-character review summaries through packageProvenance.summary, exposing metadata-only source-directory buckets for uppercase, whitespace, percent-encoded octets, and non-ASCII source directories with source/relationship/record counts, existing/non-existing source buckets, content-type/source-kind/role rollups, relationship parts, source parts, and largest existing source metadata while keeping basename-only flags out of directory review. Validation passed php -l for DocxOpenXmlReader.php and DocxOpenXmlRelationshipSourceDirectoryNameCharactersTest.php; php tools/run-tests.php lanes/pandoc/tests/DocxOpenXmlRelationshipSourceDirectoryNameCharactersTest.php with 1 file, 74 assertions, 0 failures; php tools/run-tests.php lanes/pandoc/tests/DocxOpenXmlRelationshipSourceDirectoryNameCharactersTest.php lanes/pandoc/tests/DocxOpenXmlRelationshipSourceNameCharactersTest.php lanes/pandoc/tests/DocxOpenXmlRelationshipSourceCaseFoldDirectoriesTest.php lanes/pandoc/tests/DocxOpenXmlRelationshipSourceCaseFoldDirectoryBaseNamesTest.php lanes/pandoc/tests/DocxOpenXmlRelationshipSourceDirectoryBaseNameStemsTest.php lanes/pandoc/tests/DocxOpenXmlRelationshipTargetDirectoryNameCharactersTest.php lanes/pandoc/tests/DocxOpenXmlReaderTest.php with 7 files, 12,834 assertions, 0 failures. No external Pandoc, office suite, TeX/browser engine, Typst, Node, zip/unzip, validators, or live services were invoked. 2026-07-01 plib-vl9if: Post-rebase validation passed php -l for XmlHtmlDom.php and XmlHtmlDomBidiTextDirectionReviewTest.php; php tools/run-tests.php lanes/pandoc/tests/XmlHtmlDomBidiTextDirectionReviewTest.php with 1 file, 60 assertions, 0 failures; php tools/run-tests.php lanes/pandoc/tests/XmlHtmlDomBidiTextDirectionReviewTest.php lanes/pandoc/tests/XmlHtmlDomBdiImplicitAutoDirectionTest.php lanes/pandoc/tests/XmlHtmlDomDirectionValidityTest.php lanes/pandoc/tests/XmlHtmlDomTest.php with 4 files, 6,467 assertions, 0 failures; php tools/run-tests.php lanes/pandoc/tests/XmlHtmlDom*Test.php lanes/pandoc/tests/Html5DomFragmentTest.php with 72 files, 12,155 assertions, 0 failures; jq empty lanes/pandoc/lane-status.json; git diff --check origin/main...HEAD -- lanes/pandoc; conflict-marker scan of changed lane files. No external Pandoc, office, TeX/browser, Typst, Jupyter, Node, zip/unzip, validators, or live services were invoked. 2026-07-01 plib-brkhy: Post-rebase validation passed php -l for PdfEngineHandoff.php and PdfEngineHandoffTest.php; php tools/run-tests.php lanes/pandoc/tests/PdfEngineHandoffTest.php with 1 file, 3,786 assertions, 0 failures; php tools/run-tests.php lanes/pandoc/tests/PdfEngineHandoffTypstBoundaryMatrixSummaryTest.php lanes/pandoc/tests/PdfEngineHandoffTypstWarningSourcePolicyTest.php lanes/pandoc/tests/PdfEngineHandoffPdfEofMarkerPolicyTest.php lanes/pandoc/tests/PdfReaderTest.php with 4 files, 1,602 assertions, 0 failures; jq empty lanes/pandoc/lane-status.json; git diff --check origin/main...HEAD -- lanes/pandoc; conflict-marker scan of changed lane files. No external Pandoc, office suite, TeX/browser engine, Typst, Jupyter, Node, zip/unzip, validators, or live services were invoked. 2026-07-01 plib-1j99m: Validation passed php -l for XmlHtmlDom.php and XmlHtmlDomStyleUrlReviewTest.php; php tools/run-tests.php lanes/pandoc/tests/XmlHtmlDomStyleUrlReviewTest.php with 1 file, 45 assertions, 0 failures; php tools/run-tests.php lanes/pandoc/tests/XmlHtmlDomStyleUrlReviewTest.php lanes/pandoc/tests/XmlHtmlDomTest.php lanes/pandoc/tests/XmlHtmlDomFragmentTest.php lanes/pandoc/tests/Html5DomFragmentTest.php with 4 files, 9,218 assertions, 0 failures; JSON parse for lane-status; git diff --check origin/main...HEAD -- lanes/pandoc; conflict-marker scan of changed lane files. No external Pandoc, office suite, TeX/browser engine, Typst, Jupyter, Node, zip/unzip, validators, or live services were invoked. 2026-07-01 plib-ff9zx: DOCX/OpenXML package ingestion now carries metadata-only content-type default declaration parameter value rollups through packageProvenance.contentTypesPart and packageProvenance.summary, grouping shared and distinct default declaration parameters such as profile, charset, and variant while preserving per-declaration parameter maps and default-resolved package part metadata without exposing contents. Direct-format parity remains active in blocker notes. Post-rebase validation passed php -l for DocxOpenXmlReader.php and DocxOpenXmlContentTypeDefaultParameterValuesTest.php; php tools/run-tests.php lanes/pandoc/tests/DocxOpenXmlContentTypeDefaultParameterValuesTest.php lanes/pandoc/tests/DocxOpenXmlContentTypeDefaultExtensionUsageTest.php lanes/pandoc/tests/DocxOpenXmlContentTypeOverrideBaseNameStemsTest.php lanes/pandoc/tests/DocxOpenXmlContentTypeOverrideCaseFoldPartsTest.php lanes/pandoc/tests/DocxOpenXmlMissingOverrideTargetsTest.php with 5 files, 192 assertions, 0 failures; php tools/run-tests.php lanes/pandoc/tests/DocxOpenXmlReaderTest.php with 1 file, 12,486 assertions, 0 failures; JSON parse for lane-status; git diff --check origin/main...HEAD -- lanes/pandoc; and conflict-marker scan of changed lane files. No external Pandoc, office suite, TeX/browser engine, Typst, Jupyter, Node, zip/unzip, validators, or live services were invoked. 2026-07-01 plib-4qg0v: DOCX package manifest expansion-ratio bucket validation passed php -l for DocxOpenXmlReader.php, DocxOpenXmlReaderTest.php, and DocxOpenXmlPackageManifestExpansionRatioBucketsTest.php; php tools/run-tests.php lanes/pandoc/tests/DocxOpenXmlPackageManifestExpansionRatioBucketsTest.php with 1 file, 20 assertions, 0 failures; php tools/run-tests.php lanes/pandoc/tests/DocxOpenXmlReaderTest.php with 1 file, 12,486 assertions, 0 failures; php tools/run-tests.php lanes/pandoc/tests/DocxOpenXmlPackageManifestExpansionRatioBucketsTest.php lanes/pandoc/tests/DocxOpenXmlReaderTest.php with 2 files, 12,506 assertions, 0 failures. No external Pandoc, office, TeX/browser, Typst, Node, zip/unzip, validators, or live services were invoked. 2026-07-01 plib-kw78k: Post-rebase validation passed php -l for ZipPackage.php and ZipPackageTest.php; php tools/run-tests.php lanes/pandoc/tests/ZipPackageTest.php with 1 file, 5,766 assertions, 0 failures; php tools/run-tests.php lanes/pandoc/tests/OpenPackagingConventionsTest.php with 1 file, 5,261 assertions, 0 failures; jq empty lanes/pandoc/lane-status.json; git diff --check origin/main...HEAD -- lanes/pandoc; conflict-marker scan of changed lane files. No external Pandoc, office suite, TeX/browser engine, Typst, Jupyter, Node, zip/unzip, validators, or live services were invoked. 2026-07-01 plib-71u2y: Post-rebase validation passed php -l for XmlHtmlDom.php and XmlHtmlDomTrackElementReviewTest.php; red-first php tools/run-tests.php lanes/pandoc/tests/XmlHtmlDomTrackElementReviewTest.php showed 1 file, 2 assertions, 1 failure before implementation; focused php tools/run-tests.php lanes/pandoc/tests/XmlHtmlDomTrackElementReviewTest.php with 1 file, 36 assertions, 0 failures; related php tools/run-tests.php lanes/pandoc/tests/XmlHtmlDomTest.php with 1 file, 6322 assertions, 0 failures; JSON parse for lane-status and UPSTREAM_TEST_MANIFEST; git diff --check origin/main...HEAD -- lanes/pandoc; and conflict-marker scan of changed lane files. No external Pandoc, office, TeX/browser, Typst, Node, unzip/zip, validators, citeproc, BibTeX, Biber, or live services were invoked. 2026-07-01 plib-btlep: Post-rebase validation passed php -l for OpenDocumentPackage.php, OdfReader.php, and OdfZipPackageManifestExpansionRatioBucketsTest.php; php tools/run-tests.php lanes/pandoc/tests/OdfZipPackageManifestExpansionRatioBucketsTest.php lanes/pandoc/tests/OdfZipPackageManifestAggregateProvenanceTest.php lanes/pandoc/tests/OdfZipSourceRecordCompressionMethodsTest.php lanes/pandoc/tests/OdfPackagePathDepthRoleBucketsTest.php with 4 files, 1068 assertions, 0 failures; JSON parse for lane-status; git diff --check origin/main...HEAD -- lanes/pandoc; conflict-marker scan of changed files. No external Pandoc, office suite, TeX/browser engine, Typst, Jupyter, Node, zip/unzip, validators, or live services were invoked. 2026-07-01 plib-0v0uy: Validation passed php -l for OpenDocumentPackage.php, OdfReader.php, and OdfZipPackageManifestAggregateProvenanceTest.php; php tools/run-tests.php lanes/pandoc/tests/OdfZipPackageManifestAggregateProvenanceTest.php with 1 file, 848 assertions, 0 failures; php tools/run-tests.php lanes/pandoc/tests/OdfZipPackageManifestAggregateProvenanceTest.php lanes/pandoc/tests/OpenDocumentPackageTest.php lanes/pandoc/tests/OdfReaderPackageIdentityTest.php lanes/pandoc/tests/OdfReaderTest.php with 4 files, 8,497 assertions, 0 failures. No external Pandoc, office suite, TeX/browser engine, Typst, Node, zip/unzip, validators, or live services were invoked. 2026-07-01 plib-65vt7: Post-rebase validation passed php -l for CitationCslProcessor.php and BibtexCslProcessorTest.php; red-first php tools/run-tests.php lanes/pandoc/tests/BibtexCslProcessorTest.php showed 1 file, 957 assertions, 1 failure before implementation; focused php tools/run-tests.php lanes/pandoc/tests/BibtexCslProcessorTest.php with 1 file, 971 assertions, 0 failures; php tools/run-tests.php lanes/pandoc/tests/CitationCslProcessorTest.php with 1 file, 6,173 assertions, 0 failures; php tools/run-tests.php lanes/pandoc/tests/BibliographyReaderTest.php with 1 file, 307 assertions, 0 failures; JSON parse for lane-status and UPSTREAM_TEST_MANIFEST; git diff --check origin/main...HEAD -- lanes/pandoc; and a conflict-marker scan of changed lane files. No external Pandoc, office, TeX/browser, Typst, Node, unzip/zip, validators, citeproc, BibTeX, Biber, or live services were invoked. 2026-07-01 plib-tqiq2: Validation passed after latest-main rebase: git diff --cached --check; php -l for BibtexCslProcessor.php and BibtexCslProcessorTest.php; jq empty for lanes/pandoc/UPSTREAM_TEST_MANIFEST.json and lanes/pandoc/lane-status.json; conflict-marker scan of changed files; and php tools/run-tests.php lanes/pandoc/tests/BibtexCslProcessorTest.php lanes/pandoc/tests/CitationCslProcessorTest.php lanes/pandoc/tests/BibliographyReaderTest.php with 3 files, 7,434 assertions, 0 failures. No external Pandoc, office, TeX/browser, Typst, Node, zip/unzip, validators, or live services were invoked. 2026-07-01 plib-47oh5: PdfEngineHandoff now carries Typst open-output viewer provenance through typstBoundarySummary, exposing open-output side-effect counts, viewer counts by mode, selected viewer, distinct viewer names, and viewer issue counts while preserving existing boundary matrix and artifact-review propagation. Direct-format parity remains active. Validation passed php -l for PdfEngineHandoff.php and PdfEngineHandoffTest.php; php tools/run-tests.php lanes/pandoc/tests/PdfEngineHandoffTest.php with 1 file, 3768 assertions, 0 failures; php tools/run-tests.php lanes/pandoc/tests/PdfEngineHandoffTest.php lanes/pandoc/tests/PdfEngineHandoffTypstBoundaryMatrixSummaryTest.php lanes/pandoc/tests/PdfEngineHandoffTypstWarningSourcePolicyTest.php lanes/pandoc/tests/PdfReaderTest.php with 4 files, 5338 assertions, 0 failures. No external Pandoc, office suite, TeX/browser engine, Typst, Node, zip/unzip, validators, or live services were invoked. 2026-07-01 plib-frhaf: Post-rebase validation passed php -l for DocxOpenXmlReader.php, DocxOpenXmlReaderTest.php, and DocxOpenXmlZipSourceRecordExpansionRatioBucketsTest.php; php tools/run-tests.php lanes/pandoc/tests/DocxOpenXmlZipSourceRecordExpansionRatioBucketsTest.php with 1 file, 53 assertions, 0 failures; php tools/run-tests.php lanes/pandoc/tests/DocxOpenXmlZipSourceRecordExpansionRatioBucketsTest.php lanes/pandoc/tests/DocxOpenXmlZipSourceRecordCompressionMethodsTest.php lanes/pandoc/tests/DocxOpenXmlZipSourceRecordDirectoryRootsTest.php lanes/pandoc/tests/DocxOpenXmlReaderTest.php with 4 files, 12,631 assertions, 0 failures; JSON parse for lane-status and UPSTREAM_TEST_MANIFEST; git diff --check origin/main...HEAD -- lanes/pandoc; and conflict-marker scan of changed lane files. No external Pandoc, office suite, TeX/browser engine, Typst, Jupyter, Node, zip/unzip, validators, or live services were invoked. 2026-07-01 plib-mrlie: DOCX/OpenXML package ingestion now carries relationship source directory name-character review summaries through packageProvenance.summary, exposing metadata-only source-directory buckets for uppercase, whitespace, percent-encoded octets, and non-ASCII source directories with source/relationship/record counts, existing/non-existing source buckets, content-type/source-kind/role rollups, relationship parts, source parts, and largest existing source metadata while keeping basename-only flags out of directory review. Validation passed php -l for DocxOpenXmlReader.php and DocxOpenXmlRelationshipSourceDirectoryNameCharactersTest.php; php tools/run-tests.php lanes/pandoc/tests/DocxOpenXmlRelationshipSourceDirectoryNameCharactersTest.php with 1 file, 74 assertions, 0 failures; php tools/run-tests.php lanes/pandoc/tests/DocxOpenXmlRelationshipSourceDirectoryNameCharactersTest.php lanes/pandoc/tests/DocxOpenXmlRelationshipSourceNameCharactersTest.php lanes/pandoc/tests/DocxOpenXmlRelationshipSourceCaseFoldDirectoriesTest.php lanes/pandoc/tests/DocxOpenXmlRelationshipSourceCaseFoldDirectoryBaseNamesTest.php lanes/pandoc/tests/DocxOpenXmlRelationshipSourceDirectoryBaseNameStemsTest.php lanes/pandoc/tests/DocxOpenXmlRelationshipTargetDirectoryNameCharactersTest.php lanes/pandoc/tests/DocxOpenXmlReaderTest.php with 7 files, 12,834 assertions, 0 failures. No external Pandoc, office suite, TeX/browser engine, Typst, Node, zip/unzip, validators, or live services were invoked. 2026-07-01 plib-vl9if: Post-rebase validation passed php -l for XmlHtmlDom.php and XmlHtmlDomBidiTextDirectionReviewTest.php; php tools/run-tests.php lanes/pandoc/tests/XmlHtmlDomBidiTextDirectionReviewTest.php with 1 file, 60 assertions, 0 failures; php tools/run-tests.php lanes/pandoc/tests/XmlHtmlDomBidiTextDirectionReviewTest.php lanes/pandoc/tests/XmlHtmlDomBdiImplicitAutoDirectionTest.php lanes/pandoc/tests/XmlHtmlDomDirectionValidityTest.php lanes/pandoc/tests/XmlHtmlDomTest.php with 4 files, 6,467 assertions, 0 failures; php tools/run-tests.php lanes/pandoc/tests/XmlHtmlDom*Test.php lanes/pandoc/tests/Html5DomFragmentTest.php with 72 files, 12,155 assertions, 0 failures; jq empty lanes/pandoc/lane-status.json; git diff --check origin/main...HEAD -- lanes/pandoc; conflict-marker scan of changed lane files. No external Pandoc, office, TeX/browser, Typst, Jupyter, Node, zip/unzip, validators, or live services were invoked. 2026-07-01 plib-brkhy: Post-rebase validation passed php -l for PdfEngineHandoff.php and PdfEngineHandoffTest.php; php tools/run-tests.php lanes/pandoc/tests/PdfEngineHandoffTest.php with 1 file, 3,786 assertions, 0 failures; php tools/run-tests.php lanes/pandoc/tests/PdfEngineHandoffTypstBoundaryMatrixSummaryTest.php lanes/pandoc/tests/PdfEngineHandoffTypstWarningSourcePolicyTest.php lanes/pandoc/tests/PdfEngineHandoffPdfEofMarkerPolicyTest.php lanes/pandoc/tests/PdfReaderTest.php with 4 files, 1,602 assertions, 0 failures; jq empty lanes/pandoc/lane-status.json; git diff --check origin/main...HEAD -- lanes/pandoc; conflict-marker scan of changed lane files. No external Pandoc, office suite, TeX/browser engine, Typst, Jupyter, Node, zip/unzip, validators, or live services were invoked. 2026-07-01 plib-1j99m: Validation passed php -l for XmlHtmlDom.php and XmlHtmlDomStyleUrlReviewTest.php; php tools/run-tests.php lanes/pandoc/tests/XmlHtmlDomStyleUrlReviewTest.php with 1 file, 45 assertions, 0 failures; php tools/run-tests.php lanes/pandoc/tests/XmlHtmlDomStyleUrlReviewTest.php lanes/pandoc/tests/XmlHtmlDomTest.php lanes/pandoc/tests/XmlHtmlDomFragmentTest.php lanes/pandoc/tests/Html5DomFragmentTest.php with 4 files, 9,218 assertions, 0 failures; JSON parse for lane-status; git diff --check origin/main...HEAD -- lanes/pandoc; conflict-marker scan of changed lane files. No external Pandoc, office suite, TeX/browser engine, Typst, Jupyter, Node, zip/unzip, validators, or live services were invoked. 2026-07-01 plib-ff9zx: DOCX/OpenXML package ingestion now carries metadata-only content-type default declaration parameter value rollups through packageProvenance.contentTypesPart and packageProvenance.summary, grouping shared and distinct default declaration parameters such as profile, charset, and variant while preserving per-declaration parameter maps and default-resolved package part metadata without exposing contents. Direct-format parity remains active in blocker notes. Post-rebase validation passed php -l for DocxOpenXmlReader.php and DocxOpenXmlContentTypeDefaultParameterValuesTest.php; php tools/run-tests.php lanes/pandoc/tests/DocxOpenXmlContentTypeDefaultParameterValuesTest.php lanes/pandoc/tests/DocxOpenXmlContentTypeDefaultExtensionUsageTest.php lanes/pandoc/tests/DocxOpenXmlContentTypeOverrideBaseNameStemsTest.php lanes/pandoc/tests/DocxOpenXmlContentTypeOverrideCaseFoldPartsTest.php lanes/pandoc/tests/DocxOpenXmlMissingOverrideTargetsTest.php with 5 files, 192 assertions, 0 failures; php tools/run-tests.php lanes/pandoc/tests/DocxOpenXmlReaderTest.php with 1 file, 12,486 assertions, 0 failures; JSON parse for lane-status; git diff --check origin/main...HEAD -- lanes/pandoc; and conflict-marker scan of changed lane files. No external Pandoc, office suite, TeX/browser engine, Typst, Jupyter, Node, zip/unzip, validators, or live services were invoked. 2026-07-01 plib-4qg0v: DOCX package manifest expansion-ratio bucket validation passed php -l for DocxOpenXmlReader.php, DocxOpenXmlReaderTest.php, and DocxOpenXmlPackageManifestExpansionRatioBucketsTest.php; php tools/run-tests.php lanes/pandoc/tests/DocxOpenXmlPackageManifestExpansionRatioBucketsTest.php with 1 file, 20 assertions, 0 failures; php tools/run-tests.php lanes/pandoc/tests/DocxOpenXmlReaderTest.php with 1 file, 12,486 assertions, 0 failures; php tools/run-tests.php lanes/pandoc/tests/DocxOpenXmlPackageManifestExpansionRatioBucketsTest.php lanes/pandoc/tests/DocxOpenXmlReaderTest.php with 2 files, 12,506 assertions, 0 failures. No external Pandoc, office, TeX/browser, Typst, Node, zip/unzip, validators, or live services were invoked. 2026-07-01 plib-kw78k: Post-rebase validation passed php -l for ZipPackage.php and ZipPackageTest.php; php tools/run-tests.php lanes/pandoc/tests/ZipPackageTest.php with 1 file, 5,766 assertions, 0 failures; php tools/run-tests.php lanes/pandoc/tests/OpenPackagingConventionsTest.php with 1 file, 5,261 assertions, 0 failures; jq empty lanes/pandoc/lane-status.json; git diff --check origin/main...HEAD -- lanes/pandoc; conflict-marker scan of changed lane files. No external Pandoc, office suite, TeX/browser engine, Typst, Jupyter, Node, zip/unzip, validators, or live services were invoked. 2026-07-01 plib-71u2y: Post-rebase validation passed php -l for XmlHtmlDom.php and XmlHtmlDomTrackElementReviewTest.php; red-first php tools/run-tests.php lanes/pandoc/tests/XmlHtmlDomTrackElementReviewTest.php showed 1 file, 2 assertions, 1 failure before implementation; focused php tools/run-tests.php lanes/pandoc/tests/XmlHtmlDomTrackElementReviewTest.php with 1 file, 36 assertions, 0 failures; related php tools/run-tests.php lanes/pandoc/tests/XmlHtmlDomTest.php with 1 file, 6322 assertions, 0 failures; JSON parse for lane-status and UPSTREAM_TEST_MANIFEST; git diff --check origin/main...HEAD -- lanes/pandoc; and conflict-marker scan of changed lane files. No external Pandoc, office, TeX/browser, Typst, Node, unzip/zip, validators, citeproc, BibTeX, Biber, or live services were invoked. 2026-07-01 plib-btlep: Post-rebase validation passed php -l for OpenDocumentPackage.php, OdfReader.php, and OdfZipPackageManifestExpansionRatioBucketsTest.php; php tools/run-tests.php lanes/pandoc/tests/OdfZipPackageManifestExpansionRatioBucketsTest.php lanes/pandoc/tests/OdfZipPackageManifestAggregateProvenanceTest.php lanes/pandoc/tests/OdfZipSourceRecordCompressionMethodsTest.php lanes/pandoc/tests/OdfPackagePathDepthRoleBucketsTest.php with 4 files, 1068 assertions, 0 failures; JSON parse for lane-status; git diff --check origin/main...HEAD -- lanes/pandoc; conflict-marker scan of changed files. No external Pandoc, office suite, TeX/browser engine, Typst, Jupyter, Node, zip/unzip, validators, or live services were invoked. 2026-07-01 plib-0v0uy: Validation passed php -l for OpenDocumentPackage.php, OdfReader.php, and OdfZipPackageManifestAggregateProvenanceTest.php; php tools/run-tests.php lanes/pandoc/tests/OdfZipPackageManifestAggregateProvenanceTest.php with 1 file, 848 assertions, 0 failures; php tools/run-tests.php lanes/pandoc/tests/OdfZipPackageManifestAggregateProvenanceTest.php lanes/pandoc/tests/OpenDocumentPackageTest.php lanes/pandoc/tests/OdfReaderPackageIdentityTest.php lanes/pandoc/tests/OdfReaderTest.php with 4 files, 8,497 assertions, 0 failures. No external Pandoc, office suite, TeX/browser engine, Typst, Node, zip/unzip, validators, or live services were invoked. 2026-07-01 plib-65vt7: Post-rebase validation passed php -l for CitationCslProcessor.php and BibtexCslProcessorTest.php; red-first php tools/run-tests.php lanes/pandoc/tests/BibtexCslProcessorTest.php showed 1 file, 957 assertions, 1 failure before implementation; focused php tools/run-tests.php lanes/pandoc/tests/BibtexCslProcessorTest.php with 1 file, 971 assertions, 0 failures; php tools/run-tests.php lanes/pandoc/tests/CitationCslProcessorTest.php with 1 file, 6,173 assertions, 0 failures; php tools/run-tests.php lanes/pandoc/tests/BibliographyReaderTest.php with 1 file, 307 assertions, 0 failures; JSON parse for lane-status and UPSTREAM_TEST_MANIFEST; git diff --check origin/main...HEAD -- lanes/pandoc; and a conflict-marker scan of changed lane files. No external Pandoc, office, TeX/browser, Typst, Node, unzip/zip, validators, citeproc, BibTeX, Biber, or live services were invoked. 2026-07-01 plib-tqiq2: Validation passed after latest-main rebase: git diff --cached --check; php -l for BibtexCslProcessor.php and BibtexCslProcessorTest.php; jq empty for lanes/pandoc/UPSTREAM_TEST_MANIFEST.json and lanes/pandoc/lane-status.json; conflict-marker scan of changed files; and php tools/run-tests.php lanes/pandoc/tests/BibtexCslProcessorTest.php lanes/pandoc/tests/CitationCslProcessorTest.php lanes/pandoc/tests/BibliographyReaderTest.php with 3 files, 7,434 assertions, 0 failures. No external Pandoc, office, TeX/browser, Typst, Node, zip/unzip, validators, or live services were invoked. 2026-07-01 plib-47oh5: PdfEngineHandoff now carries Typst open-output viewer provenance through typstBoundarySummary, exposing open-output side-effect counts, viewer counts by mode, selected viewer, distinct viewer names, and viewer issue counts while preserving existing boundary matrix and artifact-review propagation. Direct-format parity remains active. Validation passed php -l for PdfEngineHandoff.php and PdfEngineHandoffTest.php; php tools/run-tests.php lanes/pandoc/tests/PdfEngineHandoffTest.php with 1 file, 3768 assertions, 0 failures; php tools/run-tests.php lanes/pandoc/tests/PdfEngineHandoffTest.php lanes/pandoc/tests/PdfEngineHandoffTypstBoundaryMatrixSummaryTest.php lanes/pandoc/tests/PdfEngineHandoffTypstWarningSourcePolicyTest.php lanes/pandoc/tests/PdfReaderTest.php with 4 files, 5338 assertions, 0 failures. No external Pandoc, office suite, TeX/browser engine, Typst, Node, zip/unzip, validators, or live services were invoked. 2026-07-01 plib-na8a6: Post-rebase validation passed php -l for XmlHtmlDom.php and XmlHtmlDomKeyboardInputReviewTest.php; php tools/run-tests.php lanes/pandoc/tests/XmlHtmlDomKeyboardInputReviewTest.php with 1 file, 54 assertions, 0 failures; php tools/run-tests.php lanes/pandoc/tests/XmlHtmlDomKeyboardInputReviewTest.php lanes/pandoc/tests/XmlHtmlDomInlineCitationSemanticReviewTest.php lanes/pandoc/tests/XmlHtmlDomTest.php with 3 files, 6,403 assertions, 0 failures; php tools/run-tests.php lanes/pandoc/tests/XmlHtmlDom*Test.php lanes/pandoc/tests/Html5DomFragmentTest.php with 73 files, 12,209 assertions, 0 failures; jq empty lanes/pandoc/lane-status.json; git diff --check origin/main...HEAD -- lanes/pandoc; conflict-marker scan of changed lane files. No external Pandoc, office, TeX/browser, Typst, Jupyter, Node, zip/unzip, validators, or live services were invoked. 2026-07-01 plib-frhaf: Post-rebase validation passed php -l for DocxOpenXmlReader.php, DocxOpenXmlReaderTest.php, and DocxOpenXmlZipSourceRecordExpansionRatioBucketsTest.php; php tools/run-tests.php lanes/pandoc/tests/DocxOpenXmlZipSourceRecordExpansionRatioBucketsTest.php with 1 file, 53 assertions, 0 failures; php tools/run-tests.php lanes/pandoc/tests/DocxOpenXmlZipSourceRecordExpansionRatioBucketsTest.php lanes/pandoc/tests/DocxOpenXmlZipSourceRecordCompressionMethodsTest.php lanes/pandoc/tests/DocxOpenXmlZipSourceRecordDirectoryRootsTest.php lanes/pandoc/tests/DocxOpenXmlReaderTest.php with 4 files, 12,631 assertions, 0 failures; JSON parse for lane-status and UPSTREAM_TEST_MANIFEST; git diff --check origin/main...HEAD -- lanes/pandoc; and conflict-marker scan of changed lane files. No external Pandoc, office suite, TeX/browser engine, Typst, Jupyter, Node, zip/unzip, validators, or live services were invoked. 2026-07-01 plib-mrlie: DOCX/OpenXML package ingestion now carries relationship source directory name-character review summaries through packageProvenance.summary, exposing metadata-only source-directory buckets for uppercase, whitespace, percent-encoded octets, and non-ASCII source directories with source/relationship/record counts, existing/non-existing source buckets, content-type/source-kind/role rollups, relationship parts, source parts, and largest existing source metadata while keeping basename-only flags out of directory review. Validation passed php -l for DocxOpenXmlReader.php and DocxOpenXmlRelationshipSourceDirectoryNameCharactersTest.php; php tools/run-tests.php lanes/pandoc/tests/DocxOpenXmlRelationshipSourceDirectoryNameCharactersTest.php with 1 file, 74 assertions, 0 failures; php tools/run-tests.php lanes/pandoc/tests/DocxOpenXmlRelationshipSourceDirectoryNameCharactersTest.php lanes/pandoc/tests/DocxOpenXmlRelationshipSourceNameCharactersTest.php lanes/pandoc/tests/DocxOpenXmlRelationshipSourceCaseFoldDirectoriesTest.php lanes/pandoc/tests/DocxOpenXmlRelationshipSourceCaseFoldDirectoryBaseNamesTest.php lanes/pandoc/tests/DocxOpenXmlRelationshipSourceDirectoryBaseNameStemsTest.php lanes/pandoc/tests/DocxOpenXmlRelationshipTargetDirectoryNameCharactersTest.php lanes/pandoc/tests/DocxOpenXmlReaderTest.php with 7 files, 12,834 assertions, 0 failures. No external Pandoc, office suite, TeX/browser engine, Typst, Node, zip/unzip, validators, or live services were invoked. 2026-07-01 plib-vl9if: Post-rebase validation passed php -l for XmlHtmlDom.php and XmlHtmlDomBidiTextDirectionReviewTest.php; php tools/run-tests.php lanes/pandoc/tests/XmlHtmlDomBidiTextDirectionReviewTest.php with 1 file, 60 assertions, 0 failures; php tools/run-tests.php lanes/pandoc/tests/XmlHtmlDomBidiTextDirectionReviewTest.php lanes/pandoc/tests/XmlHtmlDomBdiImplicitAutoDirectionTest.php lanes/pandoc/tests/XmlHtmlDomDirectionValidityTest.php lanes/pandoc/tests/XmlHtmlDomTest.php with 4 files, 6,467 assertions, 0 failures; php tools/run-tests.php lanes/pandoc/tests/XmlHtmlDom*Test.php lanes/pandoc/tests/Html5DomFragmentTest.php with 72 files, 12,155 assertions, 0 failures; jq empty lanes/pandoc/lane-status.json; git diff --check origin/main...HEAD -- lanes/pandoc; conflict-marker scan of changed lane files. No external Pandoc, office, TeX/browser, Typst, Jupyter, Node, zip/unzip, validators, or live services were invoked. 2026-07-01 plib-brkhy: Post-rebase validation passed php -l for PdfEngineHandoff.php and PdfEngineHandoffTest.php; php tools/run-tests.php lanes/pandoc/tests/PdfEngineHandoffTest.php with 1 file, 3,786 assertions, 0 failures; php tools/run-tests.php lanes/pandoc/tests/PdfEngineHandoffTypstBoundaryMatrixSummaryTest.php lanes/pandoc/tests/PdfEngineHandoffTypstWarningSourcePolicyTest.php lanes/pandoc/tests/PdfEngineHandoffPdfEofMarkerPolicyTest.php lanes/pandoc/tests/PdfReaderTest.php with 4 files, 1,602 assertions, 0 failures; jq empty lanes/pandoc/lane-status.json; git diff --check origin/main...HEAD -- lanes/pandoc; conflict-marker scan of changed lane files. No external Pandoc, office suite, TeX/browser engine, Typst, Jupyter, Node, zip/unzip, validators, or live services were invoked. 2026-07-01 plib-1j99m: Validation passed php -l for XmlHtmlDom.php and XmlHtmlDomStyleUrlReviewTest.php; php tools/run-tests.php lanes/pandoc/tests/XmlHtmlDomStyleUrlReviewTest.php with 1 file, 45 assertions, 0 failures; php tools/run-tests.php lanes/pandoc/tests/XmlHtmlDomStyleUrlReviewTest.php lanes/pandoc/tests/XmlHtmlDomTest.php lanes/pandoc/tests/XmlHtmlDomFragmentTest.php lanes/pandoc/tests/Html5DomFragmentTest.php with 4 files, 9,218 assertions, 0 failures; JSON parse for lane-status; git diff --check origin/main...HEAD -- lanes/pandoc; conflict-marker scan of changed lane files. No external Pandoc, office suite, TeX/browser engine, Typst, Jupyter, Node, zip/unzip, validators, or live services were invoked. 2026-07-01 plib-ff9zx: DOCX/OpenXML package ingestion now carries metadata-only content-type default declaration parameter value rollups through packageProvenance.contentTypesPart and packageProvenance.summary, grouping shared and distinct default declaration parameters such as profile, charset, and variant while preserving per-declaration parameter maps and default-resolved package part metadata without exposing contents. Direct-format parity remains active in blocker notes. Post-rebase validation passed php -l for DocxOpenXmlReader.php and DocxOpenXmlContentTypeDefaultParameterValuesTest.php; php tools/run-tests.php lanes/pandoc/tests/DocxOpenXmlContentTypeDefaultParameterValuesTest.php lanes/pandoc/tests/DocxOpenXmlContentTypeDefaultExtensionUsageTest.php lanes/pandoc/tests/DocxOpenXmlContentTypeOverrideBaseNameStemsTest.php lanes/pandoc/tests/DocxOpenXmlContentTypeOverrideCaseFoldPartsTest.php lanes/pandoc/tests/DocxOpenXmlMissingOverrideTargetsTest.php with 5 files, 192 assertions, 0 failures; php tools/run-tests.php lanes/pandoc/tests/DocxOpenXmlReaderTest.php with 1 file, 12,486 assertions, 0 failures; JSON parse for lane-status; git diff --check origin/main...HEAD -- lanes/pandoc; and conflict-marker scan of changed lane files. No external Pandoc, office suite, TeX/browser engine, Typst, Jupyter, Node, zip/unzip, validators, or live services were invoked. 2026-07-01 plib-4qg0v: DOCX package manifest expansion-ratio bucket validation passed php -l for DocxOpenXmlReader.php, DocxOpenXmlReaderTest.php, and DocxOpenXmlPackageManifestExpansionRatioBucketsTest.php; php tools/run-tests.php lanes/pandoc/tests/DocxOpenXmlPackageManifestExpansionRatioBucketsTest.php with 1 file, 20 assertions, 0 failures; php tools/run-tests.php lanes/pandoc/tests/DocxOpenXmlReaderTest.php with 1 file, 12,486 assertions, 0 failures; php tools/run-tests.php lanes/pandoc/tests/DocxOpenXmlPackageManifestExpansionRatioBucketsTest.php lanes/pandoc/tests/DocxOpenXmlReaderTest.php with 2 files, 12,506 assertions, 0 failures. No external Pandoc, office, TeX/browser, Typst, Node, zip/unzip, validators, or live services were invoked. 2026-07-01 plib-kw78k: Post-rebase validation passed php -l for ZipPackage.php and ZipPackageTest.php; php tools/run-tests.php lanes/pandoc/tests/ZipPackageTest.php with 1 file, 5,766 assertions, 0 failures; php tools/run-tests.php lanes/pandoc/tests/OpenPackagingConventionsTest.php with 1 file, 5,261 assertions, 0 failures; jq empty lanes/pandoc/lane-status.json; git diff --check origin/main...HEAD -- lanes/pandoc; conflict-marker scan of changed lane files. No external Pandoc, office suite, TeX/browser engine, Typst, Jupyter, Node, zip/unzip, validators, or live services were invoked. 2026-07-01 plib-71u2y: Post-rebase validation passed php -l for XmlHtmlDom.php and XmlHtmlDomTrackElementReviewTest.php; red-first php tools/run-tests.php lanes/pandoc/tests/XmlHtmlDomTrackElementReviewTest.php showed 1 file, 2 assertions, 1 failure before implementation; focused php tools/run-tests.php lanes/pandoc/tests/XmlHtmlDomTrackElementReviewTest.php with 1 file, 36 assertions, 0 failures; related php tools/run-tests.php lanes/pandoc/tests/XmlHtmlDomTest.php with 1 file, 6322 assertions, 0 failures; JSON parse for lane-status and UPSTREAM_TEST_MANIFEST; git diff --check origin/main...HEAD -- lanes/pandoc; and conflict-marker scan of changed lane files. No external Pandoc, office, TeX/browser, Typst, Node, unzip/zip, validators, citeproc, BibTeX, Biber, or live services were invoked. 2026-07-01 plib-btlep: Post-rebase validation passed php -l for OpenDocumentPackage.php, OdfReader.php, and OdfZipPackageManifestExpansionRatioBucketsTest.php; php tools/run-tests.php lanes/pandoc/tests/OdfZipPackageManifestExpansionRatioBucketsTest.php lanes/pandoc/tests/OdfZipPackageManifestAggregateProvenanceTest.php lanes/pandoc/tests/OdfZipSourceRecordCompressionMethodsTest.php lanes/pandoc/tests/OdfPackagePathDepthRoleBucketsTest.php with 4 files, 1068 assertions, 0 failures; JSON parse for lane-status; git diff --check origin/main...HEAD -- lanes/pandoc; conflict-marker scan of changed files. No external Pandoc, office suite, TeX/browser engine, Typst, Jupyter, Node, zip/unzip, validators, or live services were invoked. 2026-07-01 plib-0v0uy: Validation passed php -l for OpenDocumentPackage.php, OdfReader.php, and OdfZipPackageManifestAggregateProvenanceTest.php; php tools/run-tests.php lanes/pandoc/tests/OdfZipPackageManifestAggregateProvenanceTest.php with 1 file, 848 assertions, 0 failures; php tools/run-tests.php lanes/pandoc/tests/OdfZipPackageManifestAggregateProvenanceTest.php lanes/pandoc/tests/OpenDocumentPackageTest.php lanes/pandoc/tests/OdfReaderPackageIdentityTest.php lanes/pandoc/tests/OdfReaderTest.php with 4 files, 8,497 assertions, 0 failures. No external Pandoc, office suite, TeX/browser engine, Typst, Node, zip/unzip, validators, or live services were invoked. 2026-07-01 plib-65vt7: Post-rebase validation passed php -l for CitationCslProcessor.php and BibtexCslProcessorTest.php; red-first php tools/run-tests.php lanes/pandoc/tests/BibtexCslProcessorTest.php showed 1 file, 957 assertions, 1 failure before implementation; focused php tools/run-tests.php lanes/pandoc/tests/BibtexCslProcessorTest.php with 1 file, 971 assertions, 0 failures; php tools/run-tests.php lanes/pandoc/tests/CitationCslProcessorTest.php with 1 file, 6,173 assertions, 0 failures; php tools/run-tests.php lanes/pandoc/tests/BibliographyReaderTest.php with 1 file, 307 assertions, 0 failures; JSON parse for lane-status and UPSTREAM_TEST_MANIFEST; git diff --check origin/main...HEAD -- lanes/pandoc; and a conflict-marker scan of changed lane files. No external Pandoc, office, TeX/browser, Typst, Node, unzip/zip, validators, citeproc, BibTeX, Biber, or live services were invoked. 2026-07-01 plib-tqiq2: Validation passed after latest-main rebase: git diff --cached --check; php -l for BibtexCslProcessor.php and BibtexCslProcessorTest.php; jq empty for lanes/pandoc/UPSTREAM_TEST_MANIFEST.json and lanes/pandoc/lane-status.json; conflict-marker scan of changed files; and php tools/run-tests.php lanes/pandoc/tests/BibtexCslProcessorTest.php lanes/pandoc/tests/CitationCslProcessorTest.php lanes/pandoc/tests/BibliographyReaderTest.php with 3 files, 7,434 assertions, 0 failures. No external Pandoc, office, TeX/browser, Typst, Node, zip/unzip, validators, or live services were invoked. 2026-07-01 plib-47oh5: PdfEngineHandoff now carries Typst open-output viewer provenance through typstBoundarySummary, exposing open-output side-effect counts, viewer counts by mode, selected viewer, distinct viewer names, and viewer issue counts while preserving existing boundary matrix and artifact-review propagation. Direct-format parity remains active. Validation passed php -l for PdfEngineHandoff.php and PdfEngineHandoffTest.php; php tools/run-tests.php lanes/pandoc/tests/PdfEngineHandoffTest.php with 1 file, 3768 assertions, 0 failures; php tools/run-tests.php lanes/pandoc/tests/PdfEngineHandoffTest.php lanes/pandoc/tests/PdfEngineHandoffTypstBoundaryMatrixSummaryTest.php lanes/pandoc/tests/PdfEngineHandoffTypstWarningSourcePolicyTest.php lanes/pandoc/tests/PdfReaderTest.php with 4 files, 5338 assertions, 0 failures. No external Pandoc, office suite, TeX/browser engine, Typst, Node, zip/unzip, validators, or live services were invoked. 2026-07-01 plib-ocwfi: Post-rebase validation passed php -l for DocxOpenXmlReader.php and DocxOpenXmlZipSourceRecordExpansionRatioBucketsTest.php; php tools/run-tests.php lanes/pandoc/tests/DocxOpenXmlZipSourceRecordExpansionRatioBucketsTest.php lanes/pandoc/tests/DocxOpenXmlZipSourceRecordCompressionMethodsTest.php lanes/pandoc/tests/DocxOpenXmlReaderTest.php with 3 files, 12,598 assertions, 0 failures; JSON parse for lane-status and UPSTREAM_TEST_MANIFEST; git diff --check origin/main...HEAD -- lanes/pandoc; and conflict-marker scan of changed lane files. No external Pandoc, office suite, TeX/browser engine, Typst, Jupyter, Node, zip/unzip, validators, or live services were invoked. 2026-07-01 plib-na8a6: Post-rebase validation passed php -l for XmlHtmlDom.php and XmlHtmlDomKeyboardInputReviewTest.php; php tools/run-tests.php lanes/pandoc/tests/XmlHtmlDomKeyboardInputReviewTest.php with 1 file, 54 assertions, 0 failures; php tools/run-tests.php lanes/pandoc/tests/XmlHtmlDomKeyboardInputReviewTest.php lanes/pandoc/tests/XmlHtmlDomInlineCitationSemanticReviewTest.php lanes/pandoc/tests/XmlHtmlDomTest.php with 3 files, 6,403 assertions, 0 failures; php tools/run-tests.php lanes/pandoc/tests/XmlHtmlDom*Test.php lanes/pandoc/tests/Html5DomFragmentTest.php with 73 files, 12,209 assertions, 0 failures; jq empty lanes/pandoc/lane-status.json; git diff --check origin/main...HEAD -- lanes/pandoc; conflict-marker scan of changed lane files. No external Pandoc, office, TeX/browser, Typst, Jupyter, Node, zip/unzip, validators, or live services were invoked. 2026-07-01 plib-frhaf: Post-rebase validation passed php -l for DocxOpenXmlReader.php, DocxOpenXmlReaderTest.php, and DocxOpenXmlZipSourceRecordExpansionRatioBucketsTest.php; php tools/run-tests.php lanes/pandoc/tests/DocxOpenXmlZipSourceRecordExpansionRatioBucketsTest.php with 1 file, 53 assertions, 0 failures; php tools/run-tests.php lanes/pandoc/tests/DocxOpenXmlZipSourceRecordExpansionRatioBucketsTest.php lanes/pandoc/tests/DocxOpenXmlZipSourceRecordCompressionMethodsTest.php lanes/pandoc/tests/DocxOpenXmlZipSourceRecordDirectoryRootsTest.php lanes/pandoc/tests/DocxOpenXmlReaderTest.php with 4 files, 12,631 assertions, 0 failures; JSON parse for lane-status and UPSTREAM_TEST_MANIFEST; git diff --check origin/main...HEAD -- lanes/pandoc; and conflict-marker scan of changed lane files. No external Pandoc, office suite, TeX/browser engine, Typst, Jupyter, Node, zip/unzip, validators, or live services were invoked. 2026-07-01 plib-mrlie: DOCX/OpenXML package ingestion now carries relationship source directory name-character review summaries through packageProvenance.summary, exposing metadata-only source-directory buckets for uppercase, whitespace, percent-encoded octets, and non-ASCII source directories with source/relationship/record counts, existing/non-existing source buckets, content-type/source-kind/role rollups, relationship parts, source parts, and largest existing source metadata while keeping basename-only flags out of directory review. Validation passed php -l for DocxOpenXmlReader.php and DocxOpenXmlRelationshipSourceDirectoryNameCharactersTest.php; php tools/run-tests.php lanes/pandoc/tests/DocxOpenXmlRelationshipSourceDirectoryNameCharactersTest.php with 1 file, 74 assertions, 0 failures; php tools/run-tests.php lanes/pandoc/tests/DocxOpenXmlRelationshipSourceDirectoryNameCharactersTest.php lanes/pandoc/tests/DocxOpenXmlRelationshipSourceNameCharactersTest.php lanes/pandoc/tests/DocxOpenXmlRelationshipSourceCaseFoldDirectoriesTest.php lanes/pandoc/tests/DocxOpenXmlRelationshipSourceCaseFoldDirectoryBaseNamesTest.php lanes/pandoc/tests/DocxOpenXmlRelationshipSourceDirectoryBaseNameStemsTest.php lanes/pandoc/tests/DocxOpenXmlRelationshipTargetDirectoryNameCharactersTest.php lanes/pandoc/tests/DocxOpenXmlReaderTest.php with 7 files, 12,834 assertions, 0 failures. No external Pandoc, office suite, TeX/browser engine, Typst, Node, zip/unzip, validators, or live services were invoked. 2026-07-01 plib-vl9if: Post-rebase validation passed php -l for XmlHtmlDom.php and XmlHtmlDomBidiTextDirectionReviewTest.php; php tools/run-tests.php lanes/pandoc/tests/XmlHtmlDomBidiTextDirectionReviewTest.php with 1 file, 60 assertions, 0 failures; php tools/run-tests.php lanes/pandoc/tests/XmlHtmlDomBidiTextDirectionReviewTest.php lanes/pandoc/tests/XmlHtmlDomBdiImplicitAutoDirectionTest.php lanes/pandoc/tests/XmlHtmlDomDirectionValidityTest.php lanes/pandoc/tests/XmlHtmlDomTest.php with 4 files, 6,467 assertions, 0 failures; php tools/run-tests.php lanes/pandoc/tests/XmlHtmlDom*Test.php lanes/pandoc/tests/Html5DomFragmentTest.php with 72 files, 12,155 assertions, 0 failures; jq empty lanes/pandoc/lane-status.json; git diff --check origin/main...HEAD -- lanes/pandoc; conflict-marker scan of changed lane files. No external Pandoc, office, TeX/browser, Typst, Jupyter, Node, zip/unzip, validators, or live services were invoked. 2026-07-01 plib-brkhy: Post-rebase validation passed php -l for PdfEngineHandoff.php and PdfEngineHandoffTest.php; php tools/run-tests.php lanes/pandoc/tests/PdfEngineHandoffTest.php with 1 file, 3,786 assertions, 0 failures; php tools/run-tests.php lanes/pandoc/tests/PdfEngineHandoffTypstBoundaryMatrixSummaryTest.php lanes/pandoc/tests/PdfEngineHandoffTypstWarningSourcePolicyTest.php lanes/pandoc/tests/PdfEngineHandoffPdfEofMarkerPolicyTest.php lanes/pandoc/tests/PdfReaderTest.php with 4 files, 1,602 assertions, 0 failures; jq empty lanes/pandoc/lane-status.json; git diff --check origin/main...HEAD -- lanes/pandoc; conflict-marker scan of changed lane files. No external Pandoc, office suite, TeX/browser engine, Typst, Jupyter, Node, zip/unzip, validators, or live services were invoked. 2026-07-01 plib-1j99m: Validation passed php -l for XmlHtmlDom.php and XmlHtmlDomStyleUrlReviewTest.php; php tools/run-tests.php lanes/pandoc/tests/XmlHtmlDomStyleUrlReviewTest.php with 1 file, 45 assertions, 0 failures; php tools/run-tests.php lanes/pandoc/tests/XmlHtmlDomStyleUrlReviewTest.php lanes/pandoc/tests/XmlHtmlDomTest.php lanes/pandoc/tests/XmlHtmlDomFragmentTest.php lanes/pandoc/tests/Html5DomFragmentTest.php with 4 files, 9,218 assertions, 0 failures; JSON parse for lane-status; git diff --check origin/main...HEAD -- lanes/pandoc; conflict-marker scan of changed lane files. No external Pandoc, office suite, TeX/browser engine, Typst, Jupyter, Node, zip/unzip, validators, or live services were invoked. 2026-07-01 plib-ff9zx: DOCX/OpenXML package ingestion now carries metadata-only content-type default declaration parameter value rollups through packageProvenance.contentTypesPart and packageProvenance.summary, grouping shared and distinct default declaration parameters such as profile, charset, and variant while preserving per-declaration parameter maps and default-resolved package part metadata without exposing contents. Direct-format parity remains active in blocker notes. Post-rebase validation passed php -l for DocxOpenXmlReader.php and DocxOpenXmlContentTypeDefaultParameterValuesTest.php; php tools/run-tests.php lanes/pandoc/tests/DocxOpenXmlContentTypeDefaultParameterValuesTest.php lanes/pandoc/tests/DocxOpenXmlContentTypeDefaultExtensionUsageTest.php lanes/pandoc/tests/DocxOpenXmlContentTypeOverrideBaseNameStemsTest.php lanes/pandoc/tests/DocxOpenXmlContentTypeOverrideCaseFoldPartsTest.php lanes/pandoc/tests/DocxOpenXmlMissingOverrideTargetsTest.php with 5 files, 192 assertions, 0 failures; php tools/run-tests.php lanes/pandoc/tests/DocxOpenXmlReaderTest.php with 1 file, 12,486 assertions, 0 failures; JSON parse for lane-status; git diff --check origin/main...HEAD -- lanes/pandoc; and conflict-marker scan of changed lane files. No external Pandoc, office suite, TeX/browser engine, Typst, Jupyter, Node, zip/unzip, validators, or live services were invoked. 2026-07-01 plib-4qg0v: DOCX package manifest expansion-ratio bucket validation passed php -l for DocxOpenXmlReader.php, DocxOpenXmlReaderTest.php, and DocxOpenXmlPackageManifestExpansionRatioBucketsTest.php; php tools/run-tests.php lanes/pandoc/tests/DocxOpenXmlPackageManifestExpansionRatioBucketsTest.php with 1 file, 20 assertions, 0 failures; php tools/run-tests.php lanes/pandoc/tests/DocxOpenXmlReaderTest.php with 1 file, 12,486 assertions, 0 failures; php tools/run-tests.php lanes/pandoc/tests/DocxOpenXmlPackageManifestExpansionRatioBucketsTest.php lanes/pandoc/tests/DocxOpenXmlReaderTest.php with 2 files, 12,506 assertions, 0 failures. No external Pandoc, office, TeX/browser, Typst, Node, zip/unzip, validators, or live services were invoked. 2026-07-01 plib-kw78k: Post-rebase validation passed php -l for ZipPackage.php and ZipPackageTest.php; php tools/run-tests.php lanes/pandoc/tests/ZipPackageTest.php with 1 file, 5,766 assertions, 0 failures; php tools/run-tests.php lanes/pandoc/tests/OpenPackagingConventionsTest.php with 1 file, 5,261 assertions, 0 failures; jq empty lanes/pandoc/lane-status.json; git diff --check origin/main...HEAD -- lanes/pandoc; conflict-marker scan of changed lane files. No external Pandoc, office suite, TeX/browser engine, Typst, Jupyter, Node, zip/unzip, validators, or live services were invoked. 2026-07-01 plib-71u2y: Post-rebase validation passed php -l for XmlHtmlDom.php and XmlHtmlDomTrackElementReviewTest.php; red-first php tools/run-tests.php lanes/pandoc/tests/XmlHtmlDomTrackElementReviewTest.php showed 1 file, 2 assertions, 1 failure before implementation; focused php tools/run-tests.php lanes/pandoc/tests/XmlHtmlDomTrackElementReviewTest.php with 1 file, 36 assertions, 0 failures; related php tools/run-tests.php lanes/pandoc/tests/XmlHtmlDomTest.php with 1 file, 6322 assertions, 0 failures; JSON parse for lane-status and UPSTREAM_TEST_MANIFEST; git diff --check origin/main...HEAD -- lanes/pandoc; and conflict-marker scan of changed lane files. No external Pandoc, office, TeX/browser, Typst, Node, unzip/zip, validators, citeproc, BibTeX, Biber, or live services were invoked. 2026-07-01 plib-btlep: Post-rebase validation passed php -l for OpenDocumentPackage.php, OdfReader.php, and OdfZipPackageManifestExpansionRatioBucketsTest.php; php tools/run-tests.php lanes/pandoc/tests/OdfZipPackageManifestExpansionRatioBucketsTest.php lanes/pandoc/tests/OdfZipPackageManifestAggregateProvenanceTest.php lanes/pandoc/tests/OdfZipSourceRecordCompressionMethodsTest.php lanes/pandoc/tests/OdfPackagePathDepthRoleBucketsTest.php with 4 files, 1068 assertions, 0 failures; JSON parse for lane-status; git diff --check origin/main...HEAD -- lanes/pandoc; conflict-marker scan of changed files. No external Pandoc, office suite, TeX/browser engine, Typst, Jupyter, Node, zip/unzip, validators, or live services were invoked. 2026-07-01 plib-0v0uy: Validation passed php -l for OpenDocumentPackage.php, OdfReader.php, and OdfZipPackageManifestAggregateProvenanceTest.php; php tools/run-tests.php lanes/pandoc/tests/OdfZipPackageManifestAggregateProvenanceTest.php with 1 file, 848 assertions, 0 failures; php tools/run-tests.php lanes/pandoc/tests/OdfZipPackageManifestAggregateProvenanceTest.php lanes/pandoc/tests/OpenDocumentPackageTest.php lanes/pandoc/tests/OdfReaderPackageIdentityTest.php lanes/pandoc/tests/OdfReaderTest.php with 4 files, 8,497 assertions, 0 failures. No external Pandoc, office suite, TeX/browser engine, Typst, Node, zip/unzip, validators, or live services were invoked. 2026-07-01 plib-65vt7: Post-rebase validation passed php -l for CitationCslProcessor.php and BibtexCslProcessorTest.php; red-first php tools/run-tests.php lanes/pandoc/tests/BibtexCslProcessorTest.php showed 1 file, 957 assertions, 1 failure before implementation; focused php tools/run-tests.php lanes/pandoc/tests/BibtexCslProcessorTest.php with 1 file, 971 assertions, 0 failures; php tools/run-tests.php lanes/pandoc/tests/CitationCslProcessorTest.php with 1 file, 6,173 assertions, 0 failures; php tools/run-tests.php lanes/pandoc/tests/BibliographyReaderTest.php with 1 file, 307 assertions, 0 failures; JSON parse for lane-status and UPSTREAM_TEST_MANIFEST; git diff --check origin/main...HEAD -- lanes/pandoc; and a conflict-marker scan of changed lane files. No external Pandoc, office, TeX/browser, Typst, Node, unzip/zip, validators, citeproc, BibTeX, Biber, or live services were invoked. 2026-07-01 plib-tqiq2: Validation passed after latest-main rebase: git diff --cached --check; php -l for BibtexCslProcessor.php and BibtexCslProcessorTest.php; jq empty for lanes/pandoc/UPSTREAM_TEST_MANIFEST.json and lanes/pandoc/lane-status.json; conflict-marker scan of changed files; and php tools/run-tests.php lanes/pandoc/tests/BibtexCslProcessorTest.php lanes/pandoc/tests/CitationCslProcessorTest.php lanes/pandoc/tests/BibliographyReaderTest.php with 3 files, 7,434 assertions, 0 failures. No external Pandoc, office, TeX/browser, Typst, Node, zip/unzip, validators, or live services were invoked. 2026-07-01 plib-47oh5: PdfEngineHandoff now carries Typst open-output viewer provenance through typstBoundarySummary, exposing open-output side-effect counts, viewer counts by mode, selected viewer, distinct viewer names, and viewer issue counts while preserving existing boundary matrix and artifact-review propagation. Direct-format parity remains active. Validation passed php -l for PdfEngineHandoff.php and PdfEngineHandoffTest.php; php tools/run-tests.php lanes/pandoc/tests/PdfEngineHandoffTest.php with 1 file, 3768 assertions, 0 failures; php tools/run-tests.php lanes/pandoc/tests/PdfEngineHandoffTest.php lanes/pandoc/tests/PdfEngineHandoffTypstBoundaryMatrixSummaryTest.php lanes/pandoc/tests/PdfEngineHandoffTypstWarningSourcePolicyTest.php lanes/pandoc/tests/PdfReaderTest.php with 4 files, 5338 assertions, 0 failures. No external Pandoc, office suite, TeX/browser engine, Typst, Node, zip/unzip, validators, or live services were invoked.",
  "odfOdtShipReadiness": {
    "verdict": "ship-ready",
    "upstreamFormatCases": 20,
    "upstreamFormatAssertions": 575,
    "localMappedCases": 98,
    "localFocusedAssertions": 2132,
    "caseCoveragePercent": 490,
    "assertionCoveragePercent": 370.8,
    "remainingCriticalGaps": [],
    "uncoveredUpstreamCriticalTests": [],
    "localFocusedTestFiles": [
      "lanes/pandoc/tests/OdfManifestMediaTypeSummaryCompactParityTest.php",
      "lanes/pandoc/tests/OdfPackagePathByteLengthBucketsTest.php",
      "lanes/pandoc/tests/OdfPackageXmlCommentProvenanceTest.php",
      "lanes/pandoc/tests/OdfPackageXmlRootElementProvenanceTest.php",
      "lanes/pandoc/tests/OdfReaderTest.php",
      "lanes/pandoc/tests/OdfReaderZipTimestampProvenanceTest.php",
      "lanes/pandoc/tests/OdfZipTimestampSourcesTest.php",
      "lanes/pandoc/tests/OdtReaderTest.php",
      "lanes/pandoc/tests/OpenDocumentPackageRawImportPreflightTest.php",
      "lanes/pandoc/tests/OpenDocumentPackageTest.php",
      "lanes/pandoc/tests/OpenDocumentReaderTest.php"
    ],
    "evidence": [
      "ODF/ODT package ingestion now records metadata-only XML root element provenance for valid XML package parts while excluding invalid XML and non-XML entries without exposing XML values.",
      "ODF/ODT package ingestion covers manifest custom attributes, namespace declarations, sidecars, XML comments/processing-instructions/CDATA provenance, ZIP timestamp provenance, package identity, media resources, compact manifest media-type summaries, package path byte-length buckets, and rich reader handoff.",
      "No external Pandoc, office suite, zip/unzip, browser renderer, or validator was invoked."
    ]
  },
  "lastUpdated": "2026-07-05",
  "delimitedTextReaderEvidenceStatus": {
    "updatedAt": "2026-07-05",
    "status": "first-direct-tsv-command-fixture-backed-by-native-reader-pair",
    "upstreamFixture": "test/command/8661.md",
    "checkedInFixture": "lanes/pandoc/fixtures/upstream-current-tsv-reader/8661.md",
    "tsvDirectFixtureCount": 1,
    "asserts": [
      "TSV reader AST/table packet for header a,b,c and body empty,empty,6",
      "direct TSV fixture denominator includes test/command/8661.md",
      "current TSV direct native parity includes upstream-8661.tsv/upstream-8661.native"
    ],
    "doesNotAssert": [
      "GFM pipe-table writer output for test/command/8661.md",
      "upstream Haskell/Cabal/Tasty runner parity"
    ],
    "validation": [
      "php -l DelimitedText source/test/tool files passed",
      "php tools/run-tests.php lanes/pandoc/tests/DelimitedTextEvidenceStatusTest.php lanes/pandoc/tests/DelimitedTextReaderTest.php lanes/pandoc/tests/DelimitedTextUpstreamReaderEvidenceTest.php passed with 3 files, 6302 assertions, 0 failures",
      "php tools/pandoc-delimited-text-reader-evidence.php --repo-root=. --json --require-honest-denominators --require-parser-option-fixture-count=9 --require-generated-csv-native-parity=64 --require-generated-tsv-native-parity=37 --require-current-csv-direct-native-parity=2 --require-current-tsv-direct-native-parity=2 --require-pandoc-executable-csv-native-parity=45 --require-pandoc-executable-tsv-native-parity=25 --require-runner-not-run --require-runner-plan --require-no-validation-issues passed with validationIssues=[]"
    ]
  },
  "docxParityAudit": {
    "verdict": "not-full-upstream-docx-parity",
    "auditedAt": "2026-06-30",
    "upstreamCommit": "0640c4c9859aa5a3ede082c190fcd5883c24ac83",
    "upstreamDocxDirectoryArtifacts": 233,
    "upstreamNativeExpectedArtifacts": 112,
    "upstreamDocxPackageArtifacts": 121,
    "upstreamGoldenDocxArtifacts": 38,
    "currentUpstreamCommit": "612e143fbe6d735b612c4800d21e61b7d44e4dca",
    "currentUpstreamDocxDirectoryArtifacts": 236,
    "currentUpstreamNativeExpectedArtifacts": 113,
    "currentUpstreamDocxPackageArtifacts": 123,
    "currentUpstreamDriftFromPinnedArtifacts": [
      "test/docx/lists_restart_8367.docx",
      "test/docx/lists_restart_8367.native",
      "test/docx/ns0-reference.docx"
    ],
    "localUpstreamNativeDocxFixtureFiles": 31,
    "localExactNormalizedNativeFixtureMatches": 23,
    "missingPinnedUpstreamNativeFixtures": 89,
    "localCurrentUpstreamDocxPackageFixtureFiles": 2,
    "localCurrentUpstreamNativeFixtureFiles": 1,
    "localPinnedDocxPackageFixtureFiles": 0,
    "localDocxPackageFixtureFiles": 2,
    "parserAcceptanceEvidenceKind": "parser-acceptance-only",
    "parserAcceptanceBaseline": {
      "baselineName": "local-upstream-docx-parser-acceptance-20260630",
      "pairedDocxNativeArtifacts": 74,
      "docxParsedCount": 74,
      "nativeParsedCount": 74,
      "bothParsedCount": 74,
      "cachePath": ".upstream-cache/pandoc-current/test/docx",
      "tool": "tools/pandoc-docx-parity-audit.php --fail-on-regression",
      "claim": "Optional cache regression guard only; no AST equality, writer golden package parity, upstream Haskell runner, or full DOCX/OpenXML parity is asserted."
    },
    "lastObservedParserAcceptance": {
      "observedAt": "2026-06-30",
      "pairedDocxNativeArtifacts": 74,
      "docxParsedCount": 74,
      "docxFailedCount": 0,
      "nativeParsedCount": 74,
      "nativeFailedCount": 0,
      "bothParsedCount": 74,
      "bothFailedOrPartialCount": 0,
      "source": "local optional upstream cache"
    },
    "upstreamDocxRunnerExecuted": false,
    "upstreamDocxGoldenPackageRoundTripExecuted": true,
    "writerGoldenEvidenceKind": "writer-golden-package-generated-stable-comparison",
    "writerGoldenPackageManifestTool": "tools/pandoc-docx-writer-golden-audit.php --json --docx-dir .upstream-cache/pandoc-current/test/docx --generate-supported-dir .port-libs/pandoc-docx-writer-golden/status-truth --require-generated-stable-matches 38",
    "writerGoldenPackageInventory": {
      "status": "inventory-only-core-writer-present",
      "goldenPackageCount": 38,
      "packagePartNamesAndHashesAvailableWhenCachePresent": true,
      "expectedUpstreamWriterSourceReferences": [
        "src/Text/Pandoc/Writers/Docx.hs",
        "test/Tests/Writers/Docx.hs",
        "test/docx/golden/*.docx",
        "data/docx"
      ]
    },
    "docxWriterImplementation": {
      "expectedClass": "PortLibs\\Pandoc\\DocxWriter",
      "expectedPath": "lanes/pandoc/src/DocxWriter.php",
      "classExists": true,
      "fileExists": true,
      "outputRegistryStatus": "partial",
      "unsupportedReason": "docx-output-registry-remains-partial-without-upstream-docx-runner-result"
    },
    "writerGoldenPackageGeneration": {
      "run": true,
      "status": "generated-all-writer-golden-cases",
      "sourceDirectory": ".upstream-cache/pandoc-current/test/docx",
      "sourceDirectoryPresent": true,
      "outputDirectoryConfigured": true,
      "outputDirectory": ".port-libs/pandoc-docx-writer-golden/status-truth",
      "outputDirectoryPresent": true,
      "expectedGoldenCaseCount": 38,
      "attemptedCaseCount": 38,
      "generatedPackageCount": 38,
      "skippedCaseCount": 0,
      "failedCaseCount": 0,
      "generationCoveragePercent": 100,
      "blockerCounts": [],
      "openReason": "generated-all-writer-golden-cases"
    },
    "writerGoldenPackageComparison": {
      "run": true,
      "status": "matched-stable-package-semantics",
      "generatedDirectoryConfigured": true,
      "generatedDirectory": ".port-libs/pandoc-docx-writer-golden/status-truth",
      "generatedDirectoryPresent": true,
      "expectedGoldenPackageCount": 38,
      "generatedPackageCount": 38,
      "comparedPackageCount": 38,
      "matchedPackageCount": 38,
      "mismatchedPackageCount": 0,
      "missingGeneratedPackageCount": 0,
      "unexpectedGeneratedPackageCount": 0,
      "comparisonCoveragePercent": 100,
      "stableMatchPercent": 100,
      "allStableSemanticsMatch": true,
      "stableComparisonContract": {
        "compares": [
          "DOCX package file names against upstream test/docx/golden/*.docx names",
          "non-directory OPC package part-name set",
          "OPC [Content_Types].xml Default and Override records sorted by semantic key",
          "all OPC .rels relationship records sorted by source part, relationship id, type, target mode, and resolved target",
          "XML document-part semantics using namespace/local-name element and attribute records with formatting-only whitespace ignored",
          "binary part uncompressed byte size and SHA-256 payload digests"
        ],
        "ignores": [
          "raw ZIP package byte equality",
          "ZIP central-directory order, local-entry order, compression method, comments, and timestamps",
          "XML attribute order, namespace prefix spelling, indentation, and formatting-only whitespace",
          "content-types child order and relationship child order"
        ]
      },
      "openReason": "all-generated-docx-packages-match-upstream-golden-stable-semantics",
      "mismatchDiagnostics": {
        "schemaVersion": 1,
        "stableMismatchPackageCount": 0,
        "mismatchKindCounts": [],
        "partNameDeltas": {
          "packagesWithMissingParts": 0,
          "packagesWithExtraParts": 0,
          "missingPartNameCounts": [],
          "extraPartNameCounts": []
        },
        "contentTypeDeltas": {
          "packagesWithMissingRecords": 0,
          "packagesWithExtraRecords": 0,
          "missingRecordCounts": [],
          "extraRecordCounts": []
        },
        "relationshipDeltas": {
          "packagesWithMissingRecords": 0,
          "packagesWithExtraRecords": 0,
          "missingRecordCounts": [],
          "extraRecordCounts": []
        },
        "xmlPartDeltas": {
          "packagesWithChangedXmlParts": 0,
          "changedXmlPartCounts": []
        }
      }
    },
    "haskellInventory": {
      "reportPath": "lanes/pandoc/UPSTREAM_DOCX_HASKELL_INVENTORY.json",
      "tool": "manual-docx-haskell-inventory-map",
      "schemaVersion": 1,
      "status": "checked-docx-haskell-inventory-denominator-gates",
      "evidenceKind": "static-upstream-haskell-docx-inventory-to-local-gate-map",
      "upstreamCommit": "612e143fbe6d735b612c4800d21e61b7d44e4dca",
      "reader": {
        "sourceFile": "test/Tests/Readers/Docx.hs",
        "entryPoint": "Tests.Readers.Docx.tests",
        "totalStaticCases": 103,
        "localParserAcceptanceGateCases": 74,
        "strictDefaultSameStemCasesCoveredByLocal74Gate": 67,
        "casesNotCoveredByLocal74GateSemantics": 36,
        "notCoveredCaseCount": 36,
        "gateStatus": "requires-36-reader-uncovered-cases-preserved"
      },
      "writer": {
        "sourceFile": "test/Tests/Writers/Docx.hs",
        "entryPoint": "Tests.Writers.Docx.tests",
        "totalStaticCases": 45,
        "writerGoldenDocxTestCases": 38,
        "directHunitTestCases": 7,
        "writerGoldenCasesGeneratedAndComparedByLocal38Gate": 38,
        "writerGoldenCasesMatchingStableSemantics": 38,
        "casesNotCoveredByLocal38Gate": 7,
        "notCoveredCaseCount": 7,
        "gateStatus": "requires-7-direct-hunit-uncovered-cases-preserved"
      },
      "claim": "Status metadata mirrors the checked Haskell inventory denominator gates; dropping 36 reader uncovered cases and 7 writer direct HUnit uncovered cases must fail focused status tests before coverage can be overclaimed."
    },
    "defensibleClaim": "bounded DOCX/OpenXML package provenance, selected upstream Native fixture slices, and three current-upstream DOCX drift fixtures",
    "optionalUpstreamCacheManifest": {
      "reportPath": "lanes/pandoc/UPSTREAM_DOCX_CACHE_MANIFEST.json",
      "tool": "tools/pandoc-docx-cache-manifest.php",
      "schemaVersion": 1,
      "evidenceKind": "artifact-identity-manifest-only",
      "upstreamCommit": "612e143fbe6d735b612c4800d21e61b7d44e4dca",
      "cachePath": ".upstream-cache/pandoc-current/test/docx",
      "workingTreeCleanForTestDocx": true,
      "artifactSetSha256": "f958e70f43396d651c92503e20b9abc1fbde6dc7180a1a6f79dd83c6c4365da1",
      "totalDocxNativeGoldenArtifacts": 236,
      "rootDocxPackageArtifacts": 85,
      "rootNativeExpectedArtifacts": 113,
      "goldenDocxPackageArtifacts": 38,
      "totalDocxPackageArtifacts": 123,
      "pairedRootDocxNativeStems": 74,
      "unpairedRootDocxPackageStems": 11,
      "unpairedRootNativeExpectedStems": 39,
      "claim": "Metadata-only optional-cache artifact identity manifest; records paths, stems, byte counts, and SHA-256 hashes without checking in DOCX package bytes or asserting parser/AST/writer/upstream-runner parity."
    },
    "upstreamDocxRunnerEvidencePlan": {
      "status": "open-no-targeted-runner-result",
      "evidenceKind": "runner-entry-fixture-command-plan-only",
      "preflightPlanTool": "tools/pandoc-docx-upstream-runner-plan.php --json --upstream-root .upstream-cache/pandoc-current",
      "preflightEvidenceKind": "targeted-docx-runner-preflight-plan-only",
      "localReadinessGate": {
        "command": "tools/pandoc-docx-upstream-runner-plan.php --json --upstream-root .upstream-cache/pandoc-current",
        "reportField": "localExecutionReadiness",
        "evidenceKind": "targeted-docx-runner-local-readiness-gate-only",
        "readyStatus": "ready-for-targeted-docx-runner-execution",
        "blockedStatus": "blocked-targeted-docx-runner-local-prerequisites",
        "machineReadableBlockerCodes": [
          "missing-docx-upstream-source",
          "unverified-pinned-upstream-commit",
          "missing-cabal-executable",
          "missing-ghc-executable",
          "insufficient-disk-for-targeted-runner-workspace"
        ],
        "checks": [
          "required DOCX runner source paths and fixture directories are present",
          "hydrated upstream root HEAD equals the pinned DOCX runner commit",
          "cabal executable is present on PATH",
          "ghc executable is present on PATH",
          "freeBytes is at least minimumSuggestedFreeBytes before using the isolated runner workspace"
        ],
        "executionPolicy": "source/tool/disk readiness only; this PHP gate does not execute Cabal/Tasty, admit result artifacts, or claim DOCX/OpenXML parity"
      },
      "selectedTestInventoryArtifact": {
        "command": "tools/pandoc-docx-upstream-runner-plan.php --json --upstream-root .upstream-cache/pandoc-current --write-selected-inventory .port-libs/pandoc-runner/artifacts/docx-targeted-run/selected-test-inventory.json",
        "path": ".port-libs/pandoc-runner/artifacts/docx-targeted-run/selected-test-inventory.json",
        "evidenceKind": "static-docx-selected-test-inventory-only",
        "statusWhenHydrated": "reported-static-docx-selected-test-inventory",
        "source": "static DOCX Haskell test source plus filesystem fixture inventory",
        "contents": [
          "selected DOCX reader and writer source group identifiers",
          "candidate static labels from DOCX Haskell test source text",
          "root test/docx .docx and .native fixture names, stems, and byte sizes",
          "writer-golden test/docx/golden .docx fixture names, stems, and byte sizes"
        ],
        "executionPolicy": "metadata-only static source/fixture inventory; no Cabal command, Tasty runner, DOCX package-byte read, generated writer output, or pass/fail result is executed or asserted"
      },
      "resultArtifactGate": {
        "command": "tools/pandoc-docx-upstream-runner-plan.php --json --upstream-root .upstream-cache/pandoc-current --validate-result-artifacts --artifact-root .port-libs/pandoc-runner/artifacts/docx-targeted-run --log-root .port-libs/pandoc-runner/logs",
        "evidenceKind": "targeted-docx-runner-result-artifact-gate-only",
        "admissibleStatus": "admissible-targeted-runner-result-artifacts-no-parity-claim",
        "requires": [
          ".port-libs/pandoc-runner/logs/runner-test-dependencies.txt",
          ".port-libs/pandoc-runner/logs/docx-targeted-list-tests.txt",
          ".port-libs/pandoc-runner/logs/docx-targeted-run.txt",
          ".port-libs/pandoc-runner/artifacts/docx-targeted-run/selected-test-inventory.json",
          ".port-libs/pandoc-runner/artifacts/docx-targeted-run/result.json"
        ],
        "checks": [
          "required artifact presence and non-empty readability",
          "result.json required fields, pinned upstream commit, runner target, Tasty pattern, and pass/fail/skip count consistency",
          "result.json SHA-256 fields bound to the selected inventory and transcript artifacts",
          "runnerExecuted=true inside result.json before artifacts can be admitted",
          "transcripts include exact Cabal command lines, exit-code markers, DOCX Tasty --list-tests labels, and DOCX Tasty run result output",
          "missing or placeholder runner transcripts remain a blocking hard evidence gap, not pass evidence"
        ],
        "executionPolicy": "artifact-shape, transcript-evidence, and hash-binding validation only; this PHP gate does not execute Cabal/Tasty, independently prove transcript authenticity, record a runner result, or claim DOCX/OpenXML parity"
      },
      "manualWorkflow": {
        "workflow": ".github/workflows/pandoc-docx.yml",
        "trigger": "workflow_dispatch",
        "input": "run_upstream_docx_tasty=true",
        "upstreamRoot": ".upstream-cache/pandoc-docx-runner-pinned",
        "upstreamCommit": "0640c4c9859aa5a3ede082c190fcd5883c24ac83",
        "runnerTarget": "test:test-pandoc",
        "tastyPattern": "($2 == \"Readers\" || $2 == \"Writers\") && $3 == \"Docx\"",
        "resultWriterCommand": "tools/pandoc-docx-upstream-runner-plan.php --json --upstream-root .upstream-cache/pandoc-docx-runner-pinned --artifact-root .port-libs/pandoc-runner/artifacts/docx-targeted-run --log-root .port-libs/pandoc-runner/logs --write-result-artifact .port-libs/pandoc-runner/artifacts/docx-targeted-run/result.json --result-started-at-utc <started> --result-finished-at-utc <finished>",
        "gatePolicy": "Manual workflow must re-run the result artifact gate and require admissible-targeted-runner-result-artifacts-no-parity-claim before treating artifacts as admissible; this static audit still records no runner result."
      },
      "resultRecorded": false,
      "runnerExecuted": false,
      "upstreamCommit": "0640c4c9859aa5a3ede082c190fcd5883c24ac83",
      "runnerTarget": "test:test-pandoc",
      "runnerEntryPoint": {
        "packageFile": "pandoc.cabal",
        "component": "test:test-pandoc",
        "type": "exitcode-stdio-1.0",
        "mainIs": "test-pandoc.hs",
        "sourceDirectory": "test",
        "entryFile": "test/test-pandoc.hs",
        "entrySemantics": [
          "runs from upstream test directory via inDirectory \"test\"",
          "runs Tasty defaultMain $ tests fp",
          "dispatches both DOCX reader and DOCX writer Tasty groups"
        ]
      },
      "docxReaderEntryPoint": {
        "module": "Tests.Readers.Docx",
        "sourceFile": "test/Tests/Readers/Docx.hs",
        "tastyGroup": "testGroup \"Docx\" Tests.Readers.Docx.tests",
        "entryPointSnippet": "Tests.Readers.Docx.tests"
      },
      "docxWriterEntryPoint": {
        "module": "Tests.Writers.Docx",
        "sourceFile": "test/Tests/Writers/Docx.hs",
        "tastyGroup": "testGroup \"Docx\" Tests.Writers.Docx.tests",
        "entryPointSnippet": "Tests.Writers.Docx.tests"
      },
      "fixtureClosure": {
        "source": "pandoc.cabal extra-source-files plus test/test-pandoc.hs DOCX Tasty group dispatch",
        "entrySourceFiles": [
          "test/test-pandoc.hs",
          "test/Tests/Readers/Docx.hs",
          "test/Tests/Writers/Docx.hs"
        ],
        "readerFixtureGlobs": [
          "test/docx/*.docx",
          "test/docx/*.native"
        ],
        "writerGoldenFixtureGlobs": [
          "test/docx/golden/*.docx"
        ],
        "pinnedInventoryCounts": {
          "docxDirectoryArtifacts": 233,
          "nativeExpectedArtifacts": 112,
          "docxPackageArtifacts": 121,
          "goldenDocxArtifacts": 38
        }
      },
      "nonMutatingDryRunPlanCommand": {
        "descriptor": "UpstreamRunnerDependencyAudit::expectedCabalPlanCommands()[\"runner-test-dependencies\"] with DOCX targeted builddir override",
        "program": "cabal",
        "arguments": [
          "v2-build",
          "--offline",
          "--project-dir=.",
          "--builddir=.port-libs/pandoc-runner/cabal-build/docx-targeted-run",
          "--dry-run",
          "--only-dependencies",
          "--enable-tests",
          "--disable-benchmarks",
          "test:test-pandoc",
          "test:test-pandoc-lua-engine"
        ],
        "commandLine": "cabal v2-build --offline --project-dir=. --builddir=.port-libs/pandoc-runner/cabal-build/docx-targeted-run --dry-run --only-dependencies --enable-tests --disable-benchmarks test:test-pandoc test:test-pandoc-lua-engine",
        "targets": [
          "test:test-pandoc",
          "test:test-pandoc-lua-engine"
        ],
        "workingDirectory": "hydrated Pandoc upstream checkout root",
        "buildDirectory": ".port-libs/pandoc-runner/cabal-build/docx-targeted-run",
        "executionPolicy": "descriptor-only; do not execute from this isolated PHP lane",
        "workspaceEnvironmentVariables": [
          "CABAL_DIR",
          "CABAL_CONFIG",
          "XDG_CACHE_HOME",
          "XDG_STATE_HOME",
          "TMPDIR"
        ],
        "workspaceBuildDirectory": ".port-libs/pandoc-runner/cabal-build/docx-targeted-run",
        "transcriptFile": ".port-libs/pandoc-runner/logs/runner-test-dependencies.txt",
        "claim": "Descriptor-only Cabal dependency dry-run command; this audit did not execute it."
      },
      "futureListTestsCommand": {
        "program": "cabal",
        "arguments": [
          "v2-run",
          "--offline",
          "--project-dir=.",
          "--builddir=.port-libs/pandoc-runner/cabal-build/docx-targeted-run",
          "test:test-pandoc",
          "--",
          "--list-tests",
          "--pattern",
          "($2 == \"Readers\" || $2 == \"Writers\") && $3 == \"Docx\""
        ],
        "commandLine": "cabal v2-run --offline --project-dir=. --builddir=.port-libs/pandoc-runner/cabal-build/docx-targeted-run test:test-pandoc -- --list-tests --pattern '($2 == \"Readers\" || $2 == \"Writers\") && $3 == \"Docx\"'",
        "workingDirectory": "hydrated Pandoc upstream checkout root",
        "executionPolicy": "future targeted test inventory only after reviewed dry-run plan; not executed by this audit",
        "requiredResultArtifact": "Record selected DOCX test names before any targeted runner pass/fail result is admitted."
      },
      "futureTargetedRunCommand": {
        "program": "cabal",
        "arguments": [
          "v2-run",
          "--offline",
          "--project-dir=.",
          "--builddir=.port-libs/pandoc-runner/cabal-build/docx-targeted-run",
          "test:test-pandoc",
          "--",
          "--pattern",
          "($2 == \"Readers\" || $2 == \"Writers\") && $3 == \"Docx\""
        ],
        "commandLine": "cabal v2-run --offline --project-dir=. --builddir=.port-libs/pandoc-runner/cabal-build/docx-targeted-run test:test-pandoc -- --pattern '($2 == \"Readers\" || $2 == \"Writers\") && $3 == \"Docx\"'",
        "workingDirectory": "hydrated Pandoc upstream checkout root",
        "executionPolicy": "future targeted runner only after reviewed dry-run plan; not executed by this audit",
        "tastyPatternSource": "Tasty AWK-like pattern fields from test tree: $1 outer group, $2 reader/writer group, $3 Docx subgroup.",
        "requiredResultArtifact": "A future run must record exact Cabal command transcripts, exit-code markers, upstream commit, DOCX --list-tests labels, targeted Tasty run output, and pass/fail/skip counts before closing upstream-docx-runner-results."
      },
      "resultArtifactContract": {
        "requiredBeforeResultRecorded": [
          ".port-libs/pandoc-runner/logs/runner-test-dependencies.txt",
          ".port-libs/pandoc-runner/logs/docx-targeted-list-tests.txt",
          ".port-libs/pandoc-runner/logs/docx-targeted-run.txt",
          ".port-libs/pandoc-runner/artifacts/docx-targeted-run/selected-test-inventory.json",
          ".port-libs/pandoc-runner/artifacts/docx-targeted-run/result.json"
        ],
        "resultJsonRequiredFields": [
          "runnerExecuted",
          "upstreamCommit",
          "commandLine",
          "exitCode",
          "runnerTarget",
          "tastyPattern",
          "selectedTestCount",
          "passedCount",
          "failedCount",
          "skippedCount",
          "startedAtUtc",
          "finishedAtUtc",
          "selectedTestInventorySha256",
          "dependencyDryRunTranscriptSha256",
          "listTestsTranscriptSha256",
          "targetedRunTranscriptSha256"
        ],
        "transcriptEvidenceRequirements": {
          "dependencyDryRunTranscript": "must include the exact Cabal dry-run command line and exitCode: 0 marker",
          "listTestsTranscript": "must include the exact Cabal/Tasty --list-tests command line, exitCode: 0 marker, and DOCX Tasty test labels",
          "targetedRunTranscript": "must include the exact targeted Cabal/Tasty command line, an exitCode marker matching result.json, and DOCX Tasty result output"
        },
        "admissionRule": "Do not set resultRecorded=true until command transcript, exit code, selected test inventory, pass/fail counts, and concrete Tasty DOCX list/run output are captured for the pinned upstream checkout."
      },
      "honestClaim": "This records entry points, fixture closure, and commands for a future targeted run only. It is not an upstream DOCX runner result."
    },
    "focusedCiEvidenceWiring": {
      "schemaVersion": 1,
      "status": "focused-ci-evidence-wired-generated-writer-golden-38-of-38-haskell-inventory-and-focused-reader-gated",
      "workflow": ".github/workflows/pandoc-docx.yml",
      "updatedAt": "2026-07-01",
      "commands": {
        "selectedInventoryPreflight": "php tools/pandoc-docx-upstream-runner-plan.php --json --write-selected-inventory .port-libs/pandoc-runner/artifacts/docx-targeted-run/selected-test-inventory.json",
        "resultArtifactGate": "php tools/pandoc-docx-upstream-runner-plan.php --json --validate-result-artifacts --artifact-root .port-libs/pandoc-runner/artifacts/docx-targeted-run --log-root .port-libs/pandoc-runner/logs",
        "parserRegressionGuard": "php tools/pandoc-docx-parity-audit.php --json --fail-on-regression",
        "cacheManifest": "php tools/pandoc-docx-cache-manifest.php --json",
        "haskellInventoryStatusTest": "php tools/run-tests.php lanes/pandoc/tests/DocxUpstreamHaskellInventoryTest.php",
        "writerCoreTest": "php tools/run-tests.php lanes/pandoc/tests/DocxWriterTest.php",
        "writerGoldenAudit": "php tools/pandoc-docx-writer-golden-audit.php --json --generate-supported-dir .port-libs/pandoc-docx-writer-golden/generated --require-generated-stable-matches 38",
        "focusedReaderEvidence": "php tools/pandoc-docx-focused-reader-evidence.php --json --docx-dir .upstream-cache/pandoc-current/test/docx --require-covered 36 --require-targeted-checks 32 --require-no-targeted-failures",
        "focusedReaderEvidenceStatusTest": "php tools/run-tests.php lanes/pandoc/tests/DocxUpstreamFocusedReaderEvidenceTest.php"
      },
      "localValidation": {
        "validatedAt": "2026-06-30",
        "upstreamCachePresent": false,
        "cacheManifestStatus": "skipped_missing_upstream_docx_directory",
        "parserAuditStatus": "skipped_missing_upstream_docx_directory",
        "parserRegressionEvaluated": false,
        "parserRegressionReason": "not-evaluated-source-directory-unavailable",
        "runnerPreflightStatus": "blocked-missing-docx-upstream-source",
        "resultArtifactGateStatus": "blocked-missing-targeted-runner-result-artifacts",
        "resultArtifactGateAdmissionReady": false,
        "selectedInventoryWriteStatus": "written-blocked-missing-docx-upstream-source",
        "writerCoreTestStatus": "passed-1-file-433-assertions-0-failures",
        "writerGoldenAuditStatus": "skipped_missing_writer_golden_directory",
        "writerGoldenComparisonStatus": "not-run-golden-directory-missing",
        "recordedWriterGoldenEvidenceKind": "writer-golden-package-generated-stable-comparison",
        "recordedWriterGoldenGeneratedPackageCount": 38,
        "recordedWriterGoldenComparedPackageCount": 38,
        "recordedWriterGoldenMatchedPackageCount": 38,
        "recordedWriterGoldenMismatchedPackageCount": 0,
        "focusedReaderEvidenceStatus": "completed-targeted-docx-reader-checks",
        "focusedReaderCoveredCaseCount": 36,
        "focusedReaderRemainingOpenCaseCount": 0,
        "focusedReaderPassedTargetedCaseCount": 32,
        "focusedReaderFailedTargetedCaseCount": 0,
        "focusedReaderMappedOnlyCaseCount": 4,
        "focusedReaderMappingValidationStatus": "valid-denominator-map"
      },
      "claim": "Focused CI/status wiring only; CI now lints DocxWriter.php and DocxUpstreamFocusedReaderEvidence.php, runs DocxUpstreamHaskellInventoryTest.php, DocxUpstreamFocusedReaderEvidenceTest.php, and DocxWriterTest.php, invokes the optional focused reader evidence gate at --require-covered 36 --require-targeted-checks 32 --require-no-targeted-failures, and invokes the optional writer-golden audit with --generate-supported-dir and --require-generated-stable-matches 38 when the upstream cache is hydrated. The checked-in Haskell inventory keeps 36 reader uncovered cases and 7 writer direct HUnit uncovered cases explicit; focused reader evidence is guarded as 36 covered / 0 remaining open with hydrated-cache targeted DOCX checks at 32 passed / 0 failed / 4 mapped-only, and checked-in generated writer-golden evidence is guarded as 38 generated / 38 compared / 38 matched / 0 mismatched stable package semantics. This is not an upstream Haskell/Cabal/Tasty runner result.",
      "ciHydratedWriterGoldenGateStatus": "requires-38-generated-stable-matches",
      "ciHydratedFocusedReaderGateStatus": "requires-36-covered-32-targeted-and-zero-targeted-failures"
    },
    "focusedReaderEvidence": {
      "reportPath": "lanes/pandoc/UPSTREAM_DOCX_HASKELL_FOCUSED_READER_EVIDENCE.json",
      "tool": "tools/pandoc-docx-focused-reader-evidence.php --json --docx-dir .upstream-cache/pandoc-current/test/docx --require-covered 36 --require-targeted-checks 32 --require-no-targeted-failures",
      "schemaVersion": 1,
      "status": "reported-focused-docx-reader-evidence",
      "evidenceKind": "focused-native-php-and-mapped-reader-evidence",
      "upstreamCommit": "612e143fbe6d735b612c4800d21e61b7d44e4dca",
      "denominatorCaseRows": 36,
      "coveredCaseCount": 36,
      "remainingOpenCaseCount": 0,
      "targetedHydratedCacheStatus": "completed-targeted-docx-reader-checks",
      "passedTargetedCaseCount": 32,
      "failedTargetedCaseCount": 0,
      "skippedTargetedCaseCount": 0,
      "mappedOnlyCaseCount": 4,
      "mappingValidationStatus": "valid-denominator-map",
      "gateStatus": "requires-36-covered-32-targeted-and-zero-targeted-failures",
      "claim": "Focused reader evidence maps the 36 upstream DOCX Haskell reader cases outside the local 74/74 parser-acceptance gate: 36 covered, 0 remaining open, and hydrated-cache targeted DOCX checks at 32 passed / 0 failed / 4 mapped-only. This is not an upstream Haskell/Cabal/Tasty runner result and does not claim full DOCX/OpenXML parity."
    }
  }
}
