{
  "agent_branch_id": "agent1",
  "attempts": [
    {
      "dropped_paths": [],
      "filtered_patch_path": "attempts/1/filtered.diff",
      "filtered_sha256": "2195844bbef4dcbb3a22065ca8b3f8f73b5387bebceb88aecde2c777dc4f3459",
      "number": 1,
      "patch_path": "attempts/1/patch.diff",
      "verdict": {
        "branch_id": "agent1",
        "claim_audit": "no_claim",
        "claim_evidence": "branch ended without a finish call",
        "error": null,
        "error_kind": null,
        "predicates": [
          {
            "evidence": "tests/layout/test_table.py::test_layout_table_auto_32 failed",
            "id": "R1_fail_to_pass",
            "passed": false
          },
          {
            "evidence": "regressed: tests/layout/test_table.py::test_implicit_width_table_col_percent (failed), tests/layout/test_table.py::test_implicit_width_table_td_percent (failed), tests/layout/test_table.py::test_inline_table (failed), tests/layout/test_table.py::test_inline_table_baseline[baseline-10] (failed), tests/layout/test_table.py::test_inline_table_baseline[bottom-8] (failed), tests/layout/test_table.py::test_inline_table_baseline[top-8] (failed), tests/layout/test_table.py::test_layout_table_auto_1 (failed), tests/layout/test_table.py::test_layout_table_auto_10 (failed), tests/layout/test_table.py::test_layout_table_auto_11 (failed), tests/layout/test_table.py::test_layout_table_auto_12 (failed), tests/layout/test_table.py::test_layout_table_auto_13 (failed), tests/layout/test_table.py::test_layout_table_auto_14 (failed), tests/layout/test_table.py::test_layout_table_auto_16 (failed), tests/layout/test_table.py::test_layout_table_auto_17 (failed), tests/layout/test_table.py::test_layout_table_auto_18 (failed), tests/layout/test_table.py::test_layout_table_auto_19 (failed), tests/layout/test_table.py::test_layout_table_auto_2 (failed), tests/layout/test_table.py::test_layout_table_auto_20 (failed), tests/layout/test_table.py::test_layout_table_auto_21 (failed), tests/layout/test_table.py::test_layout_table_auto_22 (failed), tests/layout/test_table.py::test_layout_table_auto_23 (failed), tests/layout/test_table.py::test_layout_table_auto_24 (failed), tests/layout/test_table.py::test_layout_table_auto_25 (failed), tests/layout/test_table.py::test_layout_table_auto_26 (failed), tests/layout/test_table.py::test_layout_table_auto_27 (failed), tests/layout/test_table.py::test_layout_table_auto_28 (failed), tests/layout/test_table.py::test_layout_table_auto_29 (failed), tests/layout/test_table.py::test_layout_table_auto_3 (failed), tests/layout/test_table.py::test_layout_table_auto_30 (failed), tests/layout/test_table.py::test_layout_table_auto_31 (failed), tests/layout/test_table.py::test_layout_table_auto_33 (failed), tests/layout/test_table.py::test_layout_table_auto_35 (failed), tests/layout/test_table.py::test_layout_table_auto_36 (failed), tests/layout/test_table.py::test_layout_table_auto_37 (failed), tests/layout/test_table.py::test_layout_table_auto_38 (failed), tests/layout/test_table.py::test_layout_table_auto_39 (failed), tests/layout/test_table.py::test_layout_table_auto_4 (failed), tests/layout/test_table.py::test_layout_table_auto_40 (failed), tests/layout/test_table.py::test_layout_table_auto_41 (failed), tests/layout/test_table.py::test_layout_table_auto_42 (failed), tests/layout/test_table.py::test_layout_table_auto_43 (failed), tests/layout/test_table.py::test_layout_table_auto_44 (failed), tests/layout/test_table.py::test_layout_table_auto_45 (failed), tests/layout/test_table.py::test_layout_table_auto_46 (failed), tests/layout/test_table.py::test_layout_table_auto_47 (failed), tests/layout/test_table.py::test_layout_table_auto_48 (failed), tests/layout/test_table.py::test_layout_table_auto_5 (failed), tests/layout/test_table.py::test_layout_table_auto_50 (failed), tests/layout/test_table.py::test_layout_table_auto_6 (failed), tests/layout/test_table.py::test_layout_table_auto_7 (failed), tests/layout/test_table.py::test_layout_table_auto_8 (failed), tests/layout/test_table.py::test_layout_table_auto_9 (failed), tests/layout/test_table.py::test_layout_table_fixed_1 (failed), tests/layout/test_table.py::test_layout_table_fixed_5 (failed), tests/layout/test_table.py::test_min_width_with_overflow (failed), tests/layout/test_table.py::test_table_bad_int_col_span (failed), tests/layout/test_table.py::test_table_bad_int_colgroup_span (failed), tests/layout/test_table.py::test_table_bad_int_td_th_span (failed), tests/layout/test_table.py::test_table_break_children_margin (failed), tests/layout/test_table.py::test_table_caption_margin_bottom (failed), tests/layout/test_table.py::test_table_caption_margin_top (failed), tests/layout/test_table.py::test_table_cell_max_width (failed), tests/layout/test_table.py::test_table_different_display (failed), tests/layout/test_table.py::test_table_empty_body[rows_expected0-45-45-<p>content</p>] (failed), tests/layout/test_table.py::test_table_empty_body[rows_expected1-85-5-<p>content</p>] (failed), tests/layout/test_table.py::test_table_empty_body[rows_expected10-110-30-] (failed), tests/layout/test_table.py::test_table_empty_body[rows_expected11-110-110-] (failed), tests/layout/test_table.py::test_table_empty_body[rows_expected2-30-30-<p>content</p>] (failed), tests/layout/test_table.py::test_table_empty_body[rows_expected3-30-110-<p>content</p>] (failed), tests/layout/test_table.py::test_table_empty_body[rows_expected4-30-60-<p>content</p>] (failed), tests/layout/test_table.py::test_table_empty_body[rows_expected5-110-30-<p>content</p>] (failed), tests/layout/test_table.py::test_table_empty_body[rows_expected6-110-110-<p>content</p>] (failed), tests/layout/test_table.py::test_table_empty_body[rows_expected7-30-30-] (failed), tests/layout/test_table.py::test_table_empty_body[rows_expected8-30-110-] (failed), tests/layout/test_table.py::test_table_empty_body[rows_expected9-30-60-] (failed), tests/layout/test_table.py::test_table_html_tag (failed), tests/layout/test_table.py::test_table_page_breaks_complex_1 (failed), tests/layout/test_table.py::test_table_row_height_1 (failed), tests/layout/test_table.py::test_table_row_height_2 (failed), tests/layout/test_table.py::test_table_row_height_3 (failed), tests/layout/test_table.py::test_table_row_height_4 (failed), tests/layout/test_table.py::test_table_td_break_inside_avoid (failed)",
            "id": "R2_pass_to_pass",
            "passed": false
          },
          {
            "evidence": "all 121 baseline tests collected; skips unchanged (1)",
            "id": "R3_no_shrink",
            "passed": true
          },
          {
            "evidence": "patch touches 1 file(s), all in scope",
            "id": "R4_patch_scope",
            "passed": true
          },
          {
            "evidence": "agent chain 6ff9a4f8-89ff-44c2-aa6f-6eabb54b996f -> 15821f82-674f-4c08-8c5a-05555d626d4f unbroken over 31 receipt(s); witness chain 6ff9a4f8-89ff-44c2-aa6f-6eabb54b996f -> 58af2c1c-62a5-4586-b401-96b1696d7868 unbroken over 2 receipt(s); applied digest matches",
            "id": "R5_provenance",
            "passed": true
          },
          {
            "evidence": "branch ended without a finish call",
            "id": "R6_claim_audit",
            "passed": false
          }
        ],
        "status": "REJECTED"
      },
      "witness_apply_sha256": "2195844bbef4dcbb3a22065ca8b3f8f73b5387bebceb88aecde2c777dc4f3459",
      "witness_branch_id": "w1",
      "worker": {
        "claims": null,
        "end": "budget_exhausted",
        "receipt_ids": [
          "agent1-2",
          "agent1-3",
          "agent1-4",
          "agent1-5",
          "agent1-6",
          "agent1-7",
          "agent1-8",
          "agent1-9",
          "agent1-10",
          "agent1-11",
          "agent1-12",
          "agent1-13",
          "agent1-14",
          "agent1-15",
          "agent1-16",
          "agent1-17",
          "agent1-18",
          "agent1-19",
          "agent1-20",
          "agent1-21",
          "agent1-22",
          "agent1-23",
          "agent1-24",
          "agent1-25",
          "agent1-26",
          "agent1-27",
          "agent1-28",
          "agent1-29",
          "agent1-30"
        ],
        "summary": "turn budget exhausted after 60 turn(s)",
        "turns": 60
      }
    },
    {
      "dropped_paths": [],
      "filtered_patch_path": "attempts/2/filtered.diff",
      "filtered_sha256": "180cc3fe5d783c86b380e8e6739ba3f111f49d1d69e94cef039b5e085a67d9f4",
      "number": 2,
      "patch_path": "attempts/2/patch.diff",
      "verdict": {
        "branch_id": "agent1",
        "claim_audit": "no_claim",
        "claim_evidence": "branch ended without a finish call",
        "error": null,
        "error_kind": null,
        "predicates": [
          {
            "evidence": "tests/layout/test_table.py::test_layout_table_auto_32 failed",
            "id": "R1_fail_to_pass",
            "passed": false
          },
          {
            "evidence": "regressed: tests/layout/test_table.py::test_layout_table_auto_13 (failed), tests/layout/test_table.py::test_layout_table_auto_14 (failed), tests/layout/test_table.py::test_layout_table_auto_16 (failed), tests/layout/test_table.py::test_layout_table_auto_19 (failed), tests/layout/test_table.py::test_layout_table_auto_21 (failed), tests/layout/test_table.py::test_layout_table_auto_23 (failed), tests/layout/test_table.py::test_layout_table_auto_27 (failed), tests/layout/test_table.py::test_layout_table_auto_28 (failed), tests/layout/test_table.py::test_layout_table_auto_29 (failed), tests/layout/test_table.py::test_layout_table_auto_31 (failed), tests/layout/test_table.py::test_layout_table_auto_40 (failed), tests/layout/test_table.py::test_layout_table_auto_5 (failed), tests/layout/test_table.py::test_layout_table_auto_8 (failed), tests/layout/test_table.py::test_layout_table_auto_9 (failed)",
            "id": "R2_pass_to_pass",
            "passed": false
          },
          {
            "evidence": "all 121 baseline tests collected; skips unchanged (1)",
            "id": "R3_no_shrink",
            "passed": true
          },
          {
            "evidence": "patch touches 2 file(s), all in scope",
            "id": "R4_patch_scope",
            "passed": true
          },
          {
            "evidence": "agent chain 6ff9a4f8-89ff-44c2-aa6f-6eabb54b996f -> cc6ba261-ff36-4c4d-a121-baf004825fb7 unbroken over 76 receipt(s); witness chain 6ff9a4f8-89ff-44c2-aa6f-6eabb54b996f -> 7ed70df7-39ba-4c3b-b973-30a6a14cece6 unbroken over 2 receipt(s); applied digest matches",
            "id": "R5_provenance",
            "passed": true
          },
          {
            "evidence": "branch ended without a finish call",
            "id": "R6_claim_audit",
            "passed": false
          }
        ],
        "status": "REJECTED"
      },
      "witness_apply_sha256": "180cc3fe5d783c86b380e8e6739ba3f111f49d1d69e94cef039b5e085a67d9f4",
      "witness_branch_id": "w2",
      "worker": {
        "claims": null,
        "end": "budget_exhausted",
        "receipt_ids": [
          "agent1-2",
          "agent1-3",
          "agent1-4",
          "agent1-5",
          "agent1-6",
          "agent1-7",
          "agent1-8",
          "agent1-9",
          "agent1-10",
          "agent1-11",
          "agent1-12",
          "agent1-13",
          "agent1-14",
          "agent1-15",
          "agent1-16",
          "agent1-17",
          "agent1-18",
          "agent1-19",
          "agent1-20",
          "agent1-21",
          "agent1-22",
          "agent1-23",
          "agent1-24",
          "agent1-25",
          "agent1-26",
          "agent1-27",
          "agent1-28",
          "agent1-29",
          "agent1-30",
          "agent1-32",
          "agent1-33",
          "agent1-34",
          "agent1-35",
          "agent1-36",
          "agent1-37",
          "agent1-38",
          "agent1-39",
          "agent1-40",
          "agent1-41",
          "agent1-42",
          "agent1-43",
          "agent1-44",
          "agent1-45",
          "agent1-46",
          "agent1-47",
          "agent1-48",
          "agent1-49",
          "agent1-50",
          "agent1-51",
          "agent1-52",
          "agent1-53",
          "agent1-54",
          "agent1-55",
          "agent1-56",
          "agent1-57",
          "agent1-58",
          "agent1-59",
          "agent1-60",
          "agent1-61",
          "agent1-62",
          "agent1-63",
          "agent1-64",
          "agent1-65",
          "agent1-66",
          "agent1-67",
          "agent1-68",
          "agent1-69",
          "agent1-70",
          "agent1-71",
          "agent1-72",
          "agent1-73",
          "agent1-74",
          "agent1-75"
        ],
        "summary": "turn budget exhausted after 60 turn(s)",
        "turns": 60
      }
    }
  ],
  "baseline": {
    "collected_ids": [
      "tests/layout/test_table.py::test_border_collapse_1",
      "tests/layout/test_table.py::test_border_collapse_2",
      "tests/layout/test_table.py::test_border_collapse_3",
      "tests/layout/test_table.py::test_border_collapse_4",
      "tests/layout/test_table.py::test_border_collapse_5",
      "tests/layout/test_table.py::test_explicit_width_table_percent_rtl[500px-230px-220-positions0-widths0]",
      "tests/layout/test_table.py::test_explicit_width_table_percent_rtl[530px-100%-520-positions1-widths1]",
      "tests/layout/test_table.py::test_implicit_width_table_col_percent",
      "tests/layout/test_table.py::test_implicit_width_table_td_percent",
      "tests/layout/test_table.py::test_inline_table",
      "tests/layout/test_table.py::test_inline_table_baseline[baseline-10]",
      "tests/layout/test_table.py::test_inline_table_baseline[bottom-8]",
      "tests/layout/test_table.py::test_inline_table_baseline[top-8]",
      "tests/layout/test_table.py::test_layout_table_auto_1",
      "tests/layout/test_table.py::test_layout_table_auto_10",
      "tests/layout/test_table.py::test_layout_table_auto_11",
      "tests/layout/test_table.py::test_layout_table_auto_12",
      "tests/layout/test_table.py::test_layout_table_auto_13",
      "tests/layout/test_table.py::test_layout_table_auto_14",
      "tests/layout/test_table.py::test_layout_table_auto_15",
      "tests/layout/test_table.py::test_layout_table_auto_16",
      "tests/layout/test_table.py::test_layout_table_auto_17",
      "tests/layout/test_table.py::test_layout_table_auto_18",
      "tests/layout/test_table.py::test_layout_table_auto_19",
      "tests/layout/test_table.py::test_layout_table_auto_2",
      "tests/layout/test_table.py::test_layout_table_auto_20",
      "tests/layout/test_table.py::test_layout_table_auto_21",
      "tests/layout/test_table.py::test_layout_table_auto_22",
      "tests/layout/test_table.py::test_layout_table_auto_23",
      "tests/layout/test_table.py::test_layout_table_auto_24",
      "tests/layout/test_table.py::test_layout_table_auto_25",
      "tests/layout/test_table.py::test_layout_table_auto_26",
      "tests/layout/test_table.py::test_layout_table_auto_27",
      "tests/layout/test_table.py::test_layout_table_auto_28",
      "tests/layout/test_table.py::test_layout_table_auto_29",
      "tests/layout/test_table.py::test_layout_table_auto_3",
      "tests/layout/test_table.py::test_layout_table_auto_30",
      "tests/layout/test_table.py::test_layout_table_auto_31",
      "tests/layout/test_table.py::test_layout_table_auto_32",
      "tests/layout/test_table.py::test_layout_table_auto_33",
      "tests/layout/test_table.py::test_layout_table_auto_34",
      "tests/layout/test_table.py::test_layout_table_auto_35",
      "tests/layout/test_table.py::test_layout_table_auto_36",
      "tests/layout/test_table.py::test_layout_table_auto_37",
      "tests/layout/test_table.py::test_layout_table_auto_38",
      "tests/layout/test_table.py::test_layout_table_auto_39",
      "tests/layout/test_table.py::test_layout_table_auto_4",
      "tests/layout/test_table.py::test_layout_table_auto_40",
      "tests/layout/test_table.py::test_layout_table_auto_41",
      "tests/layout/test_table.py::test_layout_table_auto_42",
      "tests/layout/test_table.py::test_layout_table_auto_43",
      "tests/layout/test_table.py::test_layout_table_auto_44",
      "tests/layout/test_table.py::test_layout_table_auto_45",
      "tests/layout/test_table.py::test_layout_table_auto_46",
      "tests/layout/test_table.py::test_layout_table_auto_47",
      "tests/layout/test_table.py::test_layout_table_auto_48",
      "tests/layout/test_table.py::test_layout_table_auto_49",
      "tests/layout/test_table.py::test_layout_table_auto_5",
      "tests/layout/test_table.py::test_layout_table_auto_50",
      "tests/layout/test_table.py::test_layout_table_auto_6",
      "tests/layout/test_table.py::test_layout_table_auto_7",
      "tests/layout/test_table.py::test_layout_table_auto_8",
      "tests/layout/test_table.py::test_layout_table_auto_9",
      "tests/layout/test_table.py::test_layout_table_fixed_1",
      "tests/layout/test_table.py::test_layout_table_fixed_2",
      "tests/layout/test_table.py::test_layout_table_fixed_3",
      "tests/layout/test_table.py::test_layout_table_fixed_4",
      "tests/layout/test_table.py::test_layout_table_fixed_5",
      "tests/layout/test_table.py::test_min_width_with_overflow",
      "tests/layout/test_table.py::test_table_bad_int_col_span",
      "tests/layout/test_table.py::test_table_bad_int_colgroup_span",
      "tests/layout/test_table.py::test_table_bad_int_td_th_span",
      "tests/layout/test_table.py::test_table_break_children_margin",
      "tests/layout/test_table.py::test_table_caption_margin_bottom",
      "tests/layout/test_table.py::test_table_caption_margin_top",
      "tests/layout/test_table.py::test_table_cell_max_width",
      "tests/layout/test_table.py::test_table_column_width_1",
      "tests/layout/test_table.py::test_table_column_width_2",
      "tests/layout/test_table.py::test_table_column_width_3",
      "tests/layout/test_table.py::test_table_different_display",
      "tests/layout/test_table.py::test_table_empty_body[rows_expected0-45-45-<p>content</p>]",
      "tests/layout/test_table.py::test_table_empty_body[rows_expected1-85-5-<p>content</p>]",
      "tests/layout/test_table.py::test_table_empty_body[rows_expected10-110-30-]",
      "tests/layout/test_table.py::test_table_empty_body[rows_expected11-110-110-]",
      "tests/layout/test_table.py::test_table_empty_body[rows_expected2-30-30-<p>content</p>]",
      "tests/layout/test_table.py::test_table_empty_body[rows_expected3-30-110-<p>content</p>]",
      "tests/layout/test_table.py::test_table_empty_body[rows_expected4-30-60-<p>content</p>]",
      "tests/layout/test_table.py::test_table_empty_body[rows_expected5-110-30-<p>content</p>]",
      "tests/layout/test_table.py::test_table_empty_body[rows_expected6-110-110-<p>content</p>]",
      "tests/layout/test_table.py::test_table_empty_body[rows_expected7-30-30-]",
      "tests/layout/test_table.py::test_table_empty_body[rows_expected8-30-110-]",
      "tests/layout/test_table.py::test_table_empty_body[rows_expected9-30-60-]",
      "tests/layout/test_table.py::test_table_html_tag",
      "tests/layout/test_table.py::test_table_page_break_after",
      "tests/layout/test_table.py::test_table_page_break_avoid[\\n      <style>\\n        @page { size: 100px }\\n        table { table-layout: fixed; width: 100% }\\n        tr { height: 26px }\\n        p { height: 26px }\\n      </style>\\n      <p>wow p</p>\\n      <table>\\n        <tbody>\\n          <tr style=\"break-after: avoid\"><td>row 0</td></tr>\\n          <tr style=\"break-after: avoid\"><td>row 1</td></tr>\\n          <tr style=\"break-after: avoid\"><td>row 2</td></tr>\\n          <tr style=\"break-after: avoid\"><td>row 3</td></tr>\\n        </tbody>\\n      </table>\\n     -rows5]",
      "tests/layout/test_table.py::test_table_page_break_avoid[\\n      <style>\\n        @page { size: 100px }\\n        table { table-layout: fixed; width: 100% }\\n        tr { height: 26px }\\n      </style>\\n      <table>\\n        <tbody>\\n          <tr style=\"break-after: avoid\"><td>row 0</td></tr>\\n          <tr style=\"break-after: avoid\"><td>row 1</td></tr>\\n          <tr style=\"break-after: avoid\"><td>row 2</td></tr>\\n          <tr style=\"break-after: avoid\"><td>row 3</td></tr>\\n        </tbody>\\n      </table>\\n     -rows4]",
      "tests/layout/test_table.py::test_table_page_break_avoid[\\n      <style>\\n        @page { size: 100px }\\n        table { table-layout: fixed; width: 100% }\\n        tr { height: 26px }\\n      </style>\\n      <table>\\n        <tbody>\\n          <tr style=\"break-before: avoid\"><td>row 0</td></tr>\\n          <tr style=\"break-before: avoid\"><td>row 1</td></tr>\\n          <tr style=\"break-before: avoid\"><td>row 2</td></tr>\\n          <tr style=\"break-before: avoid\"><td>row 3</td></tr>\\n        </tbody>\\n      </table>\\n     -rows3]",
      "tests/layout/test_table.py::test_table_page_break_avoid[\\n      <style>\\n        @page { size: 100px }\\n        table { table-layout: fixed; width: 100% }\\n        tr { height: 26px }\\n      </style>\\n      <table>\\n        <tbody>\\n          <tr><td>row 0</td></tr>\\n          <tr style=\"break-after: avoid\"><td>row 1</td></tr>\\n          <tr><td>row 2</td></tr>\\n          <tr style=\"break-before: avoid\"><td>row 3</td></tr>\\n        </tbody>\\n      </table>\\n     -rows1]",
      "tests/layout/test_table.py::test_table_page_break_avoid[\\n      <style>\\n        @page { size: 100px }\\n        table { table-layout: fixed; width: 100% }\\n        tr { height: 26px }\\n      </style>\\n      <table>\\n        <tbody>\\n          <tr><td>row 0</td></tr>\\n          <tr><td>row 1</td></tr>\\n          <tr style=\"break-after: avoid\"><td>row 2</td></tr>\\n          <tr><td>row 3</td></tr>\\n        </tbody>\\n      </table>\\n     -rows2]",
      "tests/layout/test_table.py::test_table_page_break_avoid[\\n      <style>\\n        @page { size: 100px }\\n        table { table-layout: fixed; width: 100% }\\n        tr { height: 26px }\\n      </style>\\n      <table>\\n        <tbody>\\n          <tr><td>row 0</td></tr>\\n          <tr><td>row 1</td></tr>\\n          <tr style=\"break-before: avoid\"><td>row 2</td></tr>\\n          <tr style=\"break-before: avoid\"><td>row 3</td></tr>\\n        </tbody>\\n      </table>\\n    -rows0]",
      "tests/layout/test_table.py::test_table_page_break_avoid[\\n      <style>\\n        @page { size: 100px }\\n        table { table-layout: fixed; width: 100% }\\n        tr { height: 30px }\\n      </style>\\n      <table>\\n        <tbody style=\"break-after: avoid\">\\n          <tr><td>row 0</td></tr>\\n          <tr><td>row 1</td></tr>\\n          <tr style=\"break-after: page\"><td>row 2</td></tr>\\n        </tbody>\\n        <tbody>\\n          <tr><td>row 0</td></tr>\\n          <tr><td>row 1</td></tr>\\n          <tr><td>row 2</td></tr>\\n        </tbody>\\n      </table>\\n     -rows10]",
      "tests/layout/test_table.py::test_table_page_break_avoid[\\n      <style>\\n        @page { size: 100px }\\n        table { table-layout: fixed; width: 100% }\\n        tr { height: 30px }\\n      </style>\\n      <table>\\n        <tbody style=\"break-after: avoid\">\\n          <tr><td>row 0</td></tr>\\n          <tr><td>row 1</td></tr>\\n          <tr><td>row 2</td></tr>\\n        </tbody>\\n        <tbody>\\n          <tr><td>row 0</td></tr>\\n          <tr><td>row 1</td></tr>\\n          <tr><td>row 2</td></tr>\\n        </tbody>\\n      </table>\\n     -rows6]",
      "tests/layout/test_table.py::test_table_page_break_avoid[\\n      <style>\\n        @page { size: 100px }\\n        table { table-layout: fixed; width: 100% }\\n        tr { height: 30px }\\n      </style>\\n      <table>\\n        <tbody>\\n          <tr><td>row 0</td></tr>\\n          <tr><td>row 1</td></tr>\\n          <tr style=\"break-after: avoid\"><td>row 2</td></tr>\\n        </tbody>\\n        <tbody>\\n          <tr><td>row 0</td></tr>\\n          <tr><td>row 1</td></tr>\\n          <tr><td>row 2</td></tr>\\n        </tbody>\\n      </table>\\n     -rows9]",
      "tests/layout/test_table.py::test_table_page_break_avoid[\\n      <style>\\n        @page { size: 100px }\\n        table { table-layout: fixed; width: 100% }\\n        tr { height: 30px }\\n      </style>\\n      <table>\\n        <tbody>\\n          <tr><td>row 0</td></tr>\\n          <tr><td>row 1</td></tr>\\n          <tr><td>row 2</td></tr>\\n        </tbody>\\n        <tbody style=\"break-before: avoid\">\\n          <tr><td>row 0</td></tr>\\n          <tr><td>row 1</td></tr>\\n          <tr><td>row 2</td></tr>\\n        </tbody>\\n      </table>\\n     -rows7]",
      "tests/layout/test_table.py::test_table_page_break_avoid[\\n      <style>\\n        @page { size: 100px }\\n        table { table-layout: fixed; width: 100% }\\n        tr { height: 30px }\\n      </style>\\n      <table>\\n        <tbody>\\n          <tr><td>row 0</td></tr>\\n          <tr><td>row 1</td></tr>\\n          <tr><td>row 2</td></tr>\\n        </tbody>\\n        <tbody>\\n          <tr style=\"break-before: avoid\"><td>row 0</td></tr>\\n          <tr><td>row 1</td></tr>\\n          <tr><td>row 2</td></tr>\\n        </tbody>\\n      </table>\\n     -rows8]",
      "tests/layout/test_table.py::test_table_page_break_before",
      "tests/layout/test_table.py::test_table_page_breaks[\\n      <style>\\n        @page { size: 120px }\\n        h1 { height: 30px}\\n        td { height: 40px }\\n        table { table-layout: fixed; width: 100% }\\n      </style>\\n      <h1>Dummy title</h1>\\n      <table>\\n        <tr><td>row 1</td></tr>\\n\\n        <tbody style=\"page-break-inside: avoid\">\\n          <tr><td>row 2</td></tr>\\n          <tr><td>row 3</td></tr>\\n        </tbody>\\n      </table>\\n     -rows3-positions3]",
      "tests/layout/test_table.py::test_table_page_breaks[\\n      <style>\\n        @page { size: 120px }\\n        h1 { height: 30px}\\n        td { height: 40px }\\n        table { table-layout: fixed; width: 100%;\\n                page-break-inside: avoid }\\n      </style>\\n      <h1>Dummy title</h1>\\n      <table>\\n        <tbody>\\n          <tr><td>row 1</td></tr>\\n          <tr><td>row 2</td></tr>\\n          <tr><td>row 3</td></tr>\\n        </tbody>\\n\\n        <tr><td>row 4</td></tr>\\n      </table>\\n     -rows2-positions2]",
      "tests/layout/test_table.py::test_table_page_breaks[\\n      <style>\\n        @page { size: 120px }\\n        h1 { height: 30px}\\n        td { height: 40px }\\n        table { table-layout: fixed; width: 100%;\\n                page-break-inside: avoid }\\n      </style>\\n      <h1>Dummy title</h1>\\n      <table>\\n        <tr><td>row 1</td></tr>\\n        <tr><td>row 2</td></tr>\\n        <tr><td>row 3</td></tr>\\n        <tr><td>row 4</td></tr>\\n     </table>\\n     -rows1-positions1]",
      "tests/layout/test_table.py::test_table_page_breaks[\\n      <style>\\n        @page { size: 120px }\\n        h1 { height: 30px}\\n        td { line-height: 40px }\\n        table { table-layout: fixed; width: 100% }\\n      </style>\\n      <h1>Dummy title</h1>\\n      <table>\\n        <tbody>\\n          <tr><td>r1l1</td></tr>\\n          <tr style=\"break-inside: avoid\"><td>r2l1<br>r2l2</td></tr>\\n        </tbody>\\n        <tr><td>r3l1</td></tr>\\n      </table>\\n     -rows5-positions5]",
      "tests/layout/test_table.py::test_table_page_breaks[\\n      <style>\\n        @page { size: 120px }\\n        h1 { height: 30px}\\n        td { line-height: 40px }\\n        table { table-layout: fixed; width: 100% }\\n      </style>\\n      <h1>Dummy title</h1>\\n      <table>\\n        <tr><td>r1l1</td></tr>\\n        <tr style=\"break-inside: avoid\"><td>r2l1<br>r2l2</td></tr>\\n        <tr><td>r3l1</td></tr>\\n      </table>\\n     -rows4-positions4]",
      "tests/layout/test_table.py::test_table_page_breaks[\\n      <style>\\n        @page { size: 120px }\\n        table { table-layout: fixed; width: 100% }\\n        h1 { height: 30px }\\n        td { height: 40px }\\n      </style>\\n      <h1>Dummy title</h1>\\n      <table>\\n        <tr><td>row 1</td></tr>\\n        <tr><td>row 2</td></tr>\\n\\n        <tr><td>row 3</td></tr>\\n        <tr><td>row 4</td></tr>\\n        <tr><td>row 5</td></tr>\\n\\n        <tr><td style=\"height: 300px\"> <!-- overflow the page -->\\n          row 6</td></tr>\\n        <tr><td>row 7</td></tr>\\n        <tr><td>row 8</td></tr>\\n      </table>\\n     -rows0-positions0]",
      "tests/layout/test_table.py::test_table_page_breaks_complex_1",
      "tests/layout/test_table.py::test_table_page_breaks_complex_2",
      "tests/layout/test_table.py::test_table_row_height_1",
      "tests/layout/test_table.py::test_table_row_height_2",
      "tests/layout/test_table.py::test_table_row_height_3",
      "tests/layout/test_table.py::test_table_row_height_4",
      "tests/layout/test_table.py::test_table_td_break_inside_avoid",
      "tests/layout/test_table.py::test_table_vertical_align",
      "tests/layout/test_table.py::test_table_wrapper"
    ],
    "protected": [
      "tests/layout/test_table.py::test_border_collapse_1",
      "tests/layout/test_table.py::test_border_collapse_2",
      "tests/layout/test_table.py::test_border_collapse_3",
      "tests/layout/test_table.py::test_border_collapse_4",
      "tests/layout/test_table.py::test_border_collapse_5",
      "tests/layout/test_table.py::test_explicit_width_table_percent_rtl[500px-230px-220-positions0-widths0]",
      "tests/layout/test_table.py::test_explicit_width_table_percent_rtl[530px-100%-520-positions1-widths1]",
      "tests/layout/test_table.py::test_implicit_width_table_col_percent",
      "tests/layout/test_table.py::test_implicit_width_table_td_percent",
      "tests/layout/test_table.py::test_inline_table",
      "tests/layout/test_table.py::test_inline_table_baseline[baseline-10]",
      "tests/layout/test_table.py::test_inline_table_baseline[bottom-8]",
      "tests/layout/test_table.py::test_inline_table_baseline[top-8]",
      "tests/layout/test_table.py::test_layout_table_auto_1",
      "tests/layout/test_table.py::test_layout_table_auto_10",
      "tests/layout/test_table.py::test_layout_table_auto_11",
      "tests/layout/test_table.py::test_layout_table_auto_12",
      "tests/layout/test_table.py::test_layout_table_auto_13",
      "tests/layout/test_table.py::test_layout_table_auto_14",
      "tests/layout/test_table.py::test_layout_table_auto_15",
      "tests/layout/test_table.py::test_layout_table_auto_16",
      "tests/layout/test_table.py::test_layout_table_auto_17",
      "tests/layout/test_table.py::test_layout_table_auto_18",
      "tests/layout/test_table.py::test_layout_table_auto_19",
      "tests/layout/test_table.py::test_layout_table_auto_2",
      "tests/layout/test_table.py::test_layout_table_auto_20",
      "tests/layout/test_table.py::test_layout_table_auto_21",
      "tests/layout/test_table.py::test_layout_table_auto_22",
      "tests/layout/test_table.py::test_layout_table_auto_23",
      "tests/layout/test_table.py::test_layout_table_auto_24",
      "tests/layout/test_table.py::test_layout_table_auto_25",
      "tests/layout/test_table.py::test_layout_table_auto_26",
      "tests/layout/test_table.py::test_layout_table_auto_27",
      "tests/layout/test_table.py::test_layout_table_auto_28",
      "tests/layout/test_table.py::test_layout_table_auto_29",
      "tests/layout/test_table.py::test_layout_table_auto_3",
      "tests/layout/test_table.py::test_layout_table_auto_30",
      "tests/layout/test_table.py::test_layout_table_auto_31",
      "tests/layout/test_table.py::test_layout_table_auto_33",
      "tests/layout/test_table.py::test_layout_table_auto_34",
      "tests/layout/test_table.py::test_layout_table_auto_35",
      "tests/layout/test_table.py::test_layout_table_auto_36",
      "tests/layout/test_table.py::test_layout_table_auto_37",
      "tests/layout/test_table.py::test_layout_table_auto_38",
      "tests/layout/test_table.py::test_layout_table_auto_39",
      "tests/layout/test_table.py::test_layout_table_auto_4",
      "tests/layout/test_table.py::test_layout_table_auto_40",
      "tests/layout/test_table.py::test_layout_table_auto_41",
      "tests/layout/test_table.py::test_layout_table_auto_42",
      "tests/layout/test_table.py::test_layout_table_auto_43",
      "tests/layout/test_table.py::test_layout_table_auto_44",
      "tests/layout/test_table.py::test_layout_table_auto_45",
      "tests/layout/test_table.py::test_layout_table_auto_46",
      "tests/layout/test_table.py::test_layout_table_auto_47",
      "tests/layout/test_table.py::test_layout_table_auto_48",
      "tests/layout/test_table.py::test_layout_table_auto_5",
      "tests/layout/test_table.py::test_layout_table_auto_50",
      "tests/layout/test_table.py::test_layout_table_auto_6",
      "tests/layout/test_table.py::test_layout_table_auto_7",
      "tests/layout/test_table.py::test_layout_table_auto_8",
      "tests/layout/test_table.py::test_layout_table_auto_9",
      "tests/layout/test_table.py::test_layout_table_fixed_1",
      "tests/layout/test_table.py::test_layout_table_fixed_2",
      "tests/layout/test_table.py::test_layout_table_fixed_3",
      "tests/layout/test_table.py::test_layout_table_fixed_4",
      "tests/layout/test_table.py::test_layout_table_fixed_5",
      "tests/layout/test_table.py::test_min_width_with_overflow",
      "tests/layout/test_table.py::test_table_bad_int_col_span",
      "tests/layout/test_table.py::test_table_bad_int_colgroup_span",
      "tests/layout/test_table.py::test_table_bad_int_td_th_span",
      "tests/layout/test_table.py::test_table_break_children_margin",
      "tests/layout/test_table.py::test_table_caption_margin_bottom",
      "tests/layout/test_table.py::test_table_caption_margin_top",
      "tests/layout/test_table.py::test_table_cell_max_width",
      "tests/layout/test_table.py::test_table_column_width_1",
      "tests/layout/test_table.py::test_table_column_width_2",
      "tests/layout/test_table.py::test_table_column_width_3",
      "tests/layout/test_table.py::test_table_different_display",
      "tests/layout/test_table.py::test_table_empty_body[rows_expected0-45-45-<p>content</p>]",
      "tests/layout/test_table.py::test_table_empty_body[rows_expected1-85-5-<p>content</p>]",
      "tests/layout/test_table.py::test_table_empty_body[rows_expected10-110-30-]",
      "tests/layout/test_table.py::test_table_empty_body[rows_expected11-110-110-]",
      "tests/layout/test_table.py::test_table_empty_body[rows_expected2-30-30-<p>content</p>]",
      "tests/layout/test_table.py::test_table_empty_body[rows_expected3-30-110-<p>content</p>]",
      "tests/layout/test_table.py::test_table_empty_body[rows_expected4-30-60-<p>content</p>]",
      "tests/layout/test_table.py::test_table_empty_body[rows_expected5-110-30-<p>content</p>]",
      "tests/layout/test_table.py::test_table_empty_body[rows_expected6-110-110-<p>content</p>]",
      "tests/layout/test_table.py::test_table_empty_body[rows_expected7-30-30-]",
      "tests/layout/test_table.py::test_table_empty_body[rows_expected8-30-110-]",
      "tests/layout/test_table.py::test_table_empty_body[rows_expected9-30-60-]",
      "tests/layout/test_table.py::test_table_html_tag",
      "tests/layout/test_table.py::test_table_page_break_after",
      "tests/layout/test_table.py::test_table_page_break_avoid[\\n      <style>\\n        @page { size: 100px }\\n        table { table-layout: fixed; width: 100% }\\n        tr { height: 26px }\\n        p { height: 26px }\\n      </style>\\n      <p>wow p</p>\\n      <table>\\n        <tbody>\\n          <tr style=\"break-after: avoid\"><td>row 0</td></tr>\\n          <tr style=\"break-after: avoid\"><td>row 1</td></tr>\\n          <tr style=\"break-after: avoid\"><td>row 2</td></tr>\\n          <tr style=\"break-after: avoid\"><td>row 3</td></tr>\\n        </tbody>\\n      </table>\\n     -rows5]",
      "tests/layout/test_table.py::test_table_page_break_avoid[\\n      <style>\\n        @page { size: 100px }\\n        table { table-layout: fixed; width: 100% }\\n        tr { height: 26px }\\n      </style>\\n      <table>\\n        <tbody>\\n          <tr style=\"break-after: avoid\"><td>row 0</td></tr>\\n          <tr style=\"break-after: avoid\"><td>row 1</td></tr>\\n          <tr style=\"break-after: avoid\"><td>row 2</td></tr>\\n          <tr style=\"break-after: avoid\"><td>row 3</td></tr>\\n        </tbody>\\n      </table>\\n     -rows4]",
      "tests/layout/test_table.py::test_table_page_break_avoid[\\n      <style>\\n        @page { size: 100px }\\n        table { table-layout: fixed; width: 100% }\\n        tr { height: 26px }\\n      </style>\\n      <table>\\n        <tbody>\\n          <tr style=\"break-before: avoid\"><td>row 0</td></tr>\\n          <tr style=\"break-before: avoid\"><td>row 1</td></tr>\\n          <tr style=\"break-before: avoid\"><td>row 2</td></tr>\\n          <tr style=\"break-before: avoid\"><td>row 3</td></tr>\\n        </tbody>\\n      </table>\\n     -rows3]",
      "tests/layout/test_table.py::test_table_page_break_avoid[\\n      <style>\\n        @page { size: 100px }\\n        table { table-layout: fixed; width: 100% }\\n        tr { height: 26px }\\n      </style>\\n      <table>\\n        <tbody>\\n          <tr><td>row 0</td></tr>\\n          <tr style=\"break-after: avoid\"><td>row 1</td></tr>\\n          <tr><td>row 2</td></tr>\\n          <tr style=\"break-before: avoid\"><td>row 3</td></tr>\\n        </tbody>\\n      </table>\\n     -rows1]",
      "tests/layout/test_table.py::test_table_page_break_avoid[\\n      <style>\\n        @page { size: 100px }\\n        table { table-layout: fixed; width: 100% }\\n        tr { height: 26px }\\n      </style>\\n      <table>\\n        <tbody>\\n          <tr><td>row 0</td></tr>\\n          <tr><td>row 1</td></tr>\\n          <tr style=\"break-after: avoid\"><td>row 2</td></tr>\\n          <tr><td>row 3</td></tr>\\n        </tbody>\\n      </table>\\n     -rows2]",
      "tests/layout/test_table.py::test_table_page_break_avoid[\\n      <style>\\n        @page { size: 100px }\\n        table { table-layout: fixed; width: 100% }\\n        tr { height: 26px }\\n      </style>\\n      <table>\\n        <tbody>\\n          <tr><td>row 0</td></tr>\\n          <tr><td>row 1</td></tr>\\n          <tr style=\"break-before: avoid\"><td>row 2</td></tr>\\n          <tr style=\"break-before: avoid\"><td>row 3</td></tr>\\n        </tbody>\\n      </table>\\n    -rows0]",
      "tests/layout/test_table.py::test_table_page_break_avoid[\\n      <style>\\n        @page { size: 100px }\\n        table { table-layout: fixed; width: 100% }\\n        tr { height: 30px }\\n      </style>\\n      <table>\\n        <tbody style=\"break-after: avoid\">\\n          <tr><td>row 0</td></tr>\\n          <tr><td>row 1</td></tr>\\n          <tr style=\"break-after: page\"><td>row 2</td></tr>\\n        </tbody>\\n        <tbody>\\n          <tr><td>row 0</td></tr>\\n          <tr><td>row 1</td></tr>\\n          <tr><td>row 2</td></tr>\\n        </tbody>\\n      </table>\\n     -rows10]",
      "tests/layout/test_table.py::test_table_page_break_avoid[\\n      <style>\\n        @page { size: 100px }\\n        table { table-layout: fixed; width: 100% }\\n        tr { height: 30px }\\n      </style>\\n      <table>\\n        <tbody style=\"break-after: avoid\">\\n          <tr><td>row 0</td></tr>\\n          <tr><td>row 1</td></tr>\\n          <tr><td>row 2</td></tr>\\n        </tbody>\\n        <tbody>\\n          <tr><td>row 0</td></tr>\\n          <tr><td>row 1</td></tr>\\n          <tr><td>row 2</td></tr>\\n        </tbody>\\n      </table>\\n     -rows6]",
      "tests/layout/test_table.py::test_table_page_break_avoid[\\n      <style>\\n        @page { size: 100px }\\n        table { table-layout: fixed; width: 100% }\\n        tr { height: 30px }\\n      </style>\\n      <table>\\n        <tbody>\\n          <tr><td>row 0</td></tr>\\n          <tr><td>row 1</td></tr>\\n          <tr style=\"break-after: avoid\"><td>row 2</td></tr>\\n        </tbody>\\n        <tbody>\\n          <tr><td>row 0</td></tr>\\n          <tr><td>row 1</td></tr>\\n          <tr><td>row 2</td></tr>\\n        </tbody>\\n      </table>\\n     -rows9]",
      "tests/layout/test_table.py::test_table_page_break_avoid[\\n      <style>\\n        @page { size: 100px }\\n        table { table-layout: fixed; width: 100% }\\n        tr { height: 30px }\\n      </style>\\n      <table>\\n        <tbody>\\n          <tr><td>row 0</td></tr>\\n          <tr><td>row 1</td></tr>\\n          <tr><td>row 2</td></tr>\\n        </tbody>\\n        <tbody style=\"break-before: avoid\">\\n          <tr><td>row 0</td></tr>\\n          <tr><td>row 1</td></tr>\\n          <tr><td>row 2</td></tr>\\n        </tbody>\\n      </table>\\n     -rows7]",
      "tests/layout/test_table.py::test_table_page_break_avoid[\\n      <style>\\n        @page { size: 100px }\\n        table { table-layout: fixed; width: 100% }\\n        tr { height: 30px }\\n      </style>\\n      <table>\\n        <tbody>\\n          <tr><td>row 0</td></tr>\\n          <tr><td>row 1</td></tr>\\n          <tr><td>row 2</td></tr>\\n        </tbody>\\n        <tbody>\\n          <tr style=\"break-before: avoid\"><td>row 0</td></tr>\\n          <tr><td>row 1</td></tr>\\n          <tr><td>row 2</td></tr>\\n        </tbody>\\n      </table>\\n     -rows8]",
      "tests/layout/test_table.py::test_table_page_break_before",
      "tests/layout/test_table.py::test_table_page_breaks[\\n      <style>\\n        @page { size: 120px }\\n        h1 { height: 30px}\\n        td { height: 40px }\\n        table { table-layout: fixed; width: 100% }\\n      </style>\\n      <h1>Dummy title</h1>\\n      <table>\\n        <tr><td>row 1</td></tr>\\n\\n        <tbody style=\"page-break-inside: avoid\">\\n          <tr><td>row 2</td></tr>\\n          <tr><td>row 3</td></tr>\\n        </tbody>\\n      </table>\\n     -rows3-positions3]",
      "tests/layout/test_table.py::test_table_page_breaks[\\n      <style>\\n        @page { size: 120px }\\n        h1 { height: 30px}\\n        td { height: 40px }\\n        table { table-layout: fixed; width: 100%;\\n                page-break-inside: avoid }\\n      </style>\\n      <h1>Dummy title</h1>\\n      <table>\\n        <tbody>\\n          <tr><td>row 1</td></tr>\\n          <tr><td>row 2</td></tr>\\n          <tr><td>row 3</td></tr>\\n        </tbody>\\n\\n        <tr><td>row 4</td></tr>\\n      </table>\\n     -rows2-positions2]",
      "tests/layout/test_table.py::test_table_page_breaks[\\n      <style>\\n        @page { size: 120px }\\n        h1 { height: 30px}\\n        td { height: 40px }\\n        table { table-layout: fixed; width: 100%;\\n                page-break-inside: avoid }\\n      </style>\\n      <h1>Dummy title</h1>\\n      <table>\\n        <tr><td>row 1</td></tr>\\n        <tr><td>row 2</td></tr>\\n        <tr><td>row 3</td></tr>\\n        <tr><td>row 4</td></tr>\\n     </table>\\n     -rows1-positions1]",
      "tests/layout/test_table.py::test_table_page_breaks[\\n      <style>\\n        @page { size: 120px }\\n        h1 { height: 30px}\\n        td { line-height: 40px }\\n        table { table-layout: fixed; width: 100% }\\n      </style>\\n      <h1>Dummy title</h1>\\n      <table>\\n        <tbody>\\n          <tr><td>r1l1</td></tr>\\n          <tr style=\"break-inside: avoid\"><td>r2l1<br>r2l2</td></tr>\\n        </tbody>\\n        <tr><td>r3l1</td></tr>\\n      </table>\\n     -rows5-positions5]",
      "tests/layout/test_table.py::test_table_page_breaks[\\n      <style>\\n        @page { size: 120px }\\n        h1 { height: 30px}\\n        td { line-height: 40px }\\n        table { table-layout: fixed; width: 100% }\\n      </style>\\n      <h1>Dummy title</h1>\\n      <table>\\n        <tr><td>r1l1</td></tr>\\n        <tr style=\"break-inside: avoid\"><td>r2l1<br>r2l2</td></tr>\\n        <tr><td>r3l1</td></tr>\\n      </table>\\n     -rows4-positions4]",
      "tests/layout/test_table.py::test_table_page_breaks[\\n      <style>\\n        @page { size: 120px }\\n        table { table-layout: fixed; width: 100% }\\n        h1 { height: 30px }\\n        td { height: 40px }\\n      </style>\\n      <h1>Dummy title</h1>\\n      <table>\\n        <tr><td>row 1</td></tr>\\n        <tr><td>row 2</td></tr>\\n\\n        <tr><td>row 3</td></tr>\\n        <tr><td>row 4</td></tr>\\n        <tr><td>row 5</td></tr>\\n\\n        <tr><td style=\"height: 300px\"> <!-- overflow the page -->\\n          row 6</td></tr>\\n        <tr><td>row 7</td></tr>\\n        <tr><td>row 8</td></tr>\\n      </table>\\n     -rows0-positions0]",
      "tests/layout/test_table.py::test_table_page_breaks_complex_1",
      "tests/layout/test_table.py::test_table_page_breaks_complex_2",
      "tests/layout/test_table.py::test_table_row_height_1",
      "tests/layout/test_table.py::test_table_row_height_2",
      "tests/layout/test_table.py::test_table_row_height_3",
      "tests/layout/test_table.py::test_table_row_height_4",
      "tests/layout/test_table.py::test_table_td_break_inside_avoid",
      "tests/layout/test_table.py::test_table_wrapper"
    ],
    "run_receipt_ids": [
      "base-3",
      "base-4"
    ],
    "runs": [
      {
        "collection_errors": [],
        "errors": [],
        "failed": [
          "tests/layout/test_table.py::test_layout_table_auto_32",
          "tests/layout/test_table.py::test_table_vertical_align"
        ],
        "failure_text": {
          "tests/layout/test_table.py::test_layout_table_auto_32": "assert 700.0 == 600\n +  where 700.0 = margin_width()\n +    where margin_width = <BlockBox table>.margin_width\nE   assert 700.0 == 600\n     +  where 700.0 = margin_width()\n     +    where margin_width = <BlockBox table>.margin_width",
          "tests/layout/test_table.py::test_table_vertical_align": "AttributeError: 'super' object has no attribute 'transform'\nE   AttributeError: 'super' object has no attribute 'transform'"
        },
        "passed": [
          "tests/layout/test_table.py::test_inline_table",
          "tests/layout/test_table.py::test_implicit_width_table_col_percent",
          "tests/layout/test_table.py::test_implicit_width_table_td_percent",
          "tests/layout/test_table.py::test_layout_table_fixed_1",
          "tests/layout/test_table.py::test_layout_table_fixed_2",
          "tests/layout/test_table.py::test_layout_table_fixed_3",
          "tests/layout/test_table.py::test_layout_table_fixed_4",
          "tests/layout/test_table.py::test_layout_table_fixed_5",
          "tests/layout/test_table.py::test_layout_table_auto_1",
          "tests/layout/test_table.py::test_layout_table_auto_2",
          "tests/layout/test_table.py::test_layout_table_auto_3",
          "tests/layout/test_table.py::test_layout_table_auto_4",
          "tests/layout/test_table.py::test_layout_table_auto_5",
          "tests/layout/test_table.py::test_layout_table_auto_6",
          "tests/layout/test_table.py::test_layout_table_auto_7",
          "tests/layout/test_table.py::test_layout_table_auto_8",
          "tests/layout/test_table.py::test_layout_table_auto_9",
          "tests/layout/test_table.py::test_layout_table_auto_10",
          "tests/layout/test_table.py::test_layout_table_auto_11",
          "tests/layout/test_table.py::test_layout_table_auto_12",
          "tests/layout/test_table.py::test_layout_table_auto_13",
          "tests/layout/test_table.py::test_layout_table_auto_14",
          "tests/layout/test_table.py::test_layout_table_auto_15",
          "tests/layout/test_table.py::test_layout_table_auto_16",
          "tests/layout/test_table.py::test_layout_table_auto_17",
          "tests/layout/test_table.py::test_layout_table_auto_18",
          "tests/layout/test_table.py::test_layout_table_auto_19",
          "tests/layout/test_table.py::test_layout_table_auto_20",
          "tests/layout/test_table.py::test_layout_table_auto_21",
          "tests/layout/test_table.py::test_layout_table_auto_22",
          "tests/layout/test_table.py::test_layout_table_auto_23",
          "tests/layout/test_table.py::test_layout_table_auto_24",
          "tests/layout/test_table.py::test_layout_table_auto_25",
          "tests/layout/test_table.py::test_layout_table_auto_26",
          "tests/layout/test_table.py::test_layout_table_auto_27",
          "tests/layout/test_table.py::test_layout_table_auto_28",
          "tests/layout/test_table.py::test_layout_table_auto_29",
          "tests/layout/test_table.py::test_layout_table_auto_30",
          "tests/layout/test_table.py::test_layout_table_auto_31",
          "tests/layout/test_table.py::test_layout_table_auto_33",
          "tests/layout/test_table.py::test_layout_table_auto_34",
          "tests/layout/test_table.py::test_layout_table_auto_35",
          "tests/layout/test_table.py::test_layout_table_auto_36",
          "tests/layout/test_table.py::test_layout_table_auto_37",
          "tests/layout/test_table.py::test_layout_table_auto_38",
          "tests/layout/test_table.py::test_layout_table_auto_39",
          "tests/layout/test_table.py::test_layout_table_auto_40",
          "tests/layout/test_table.py::test_layout_table_auto_41",
          "tests/layout/test_table.py::test_layout_table_auto_42",
          "tests/layout/test_table.py::test_layout_table_auto_43",
          "tests/layout/test_table.py::test_layout_table_auto_44",
          "tests/layout/test_table.py::test_layout_table_auto_45",
          "tests/layout/test_table.py::test_layout_table_auto_46",
          "tests/layout/test_table.py::test_layout_table_auto_47",
          "tests/layout/test_table.py::test_layout_table_auto_48",
          "tests/layout/test_table.py::test_layout_table_auto_50",
          "tests/layout/test_table.py::test_explicit_width_table_percent_rtl[500px-230px-220-positions0-widths0]",
          "tests/layout/test_table.py::test_explicit_width_table_percent_rtl[530px-100%-520-positions1-widths1]",
          "tests/layout/test_table.py::test_table_column_width_1",
          "tests/layout/test_table.py::test_table_column_width_2",
          "tests/layout/test_table.py::test_table_column_width_3",
          "tests/layout/test_table.py::test_table_row_height_1",
          "tests/layout/test_table.py::test_table_row_height_2",
          "tests/layout/test_table.py::test_table_row_height_3",
          "tests/layout/test_table.py::test_table_row_height_4",
          "tests/layout/test_table.py::test_table_wrapper",
          "tests/layout/test_table.py::test_table_html_tag",
          "tests/layout/test_table.py::test_table_page_breaks[\\n      <style>\\n        @page { size: 120px }\\n        table { table-layout: fixed; width: 100% }\\n        h1 { height: 30px }\\n        td { height: 40px }\\n      </style>\\n      <h1>Dummy title</h1>\\n      <table>\\n        <tr><td>row 1</td></tr>\\n        <tr><td>row 2</td></tr>\\n\\n        <tr><td>row 3</td></tr>\\n        <tr><td>row 4</td></tr>\\n        <tr><td>row 5</td></tr>\\n\\n        <tr><td style=\"height: 300px\"> <!-- overflow the page -->\\n          row 6</td></tr>\\n        <tr><td>row 7</td></tr>\\n        <tr><td>row 8</td></tr>\\n      </table>\\n     -rows0-positions0]",
          "tests/layout/test_table.py::test_table_page_breaks[\\n      <style>\\n        @page { size: 120px }\\n        h1 { height: 30px}\\n        td { height: 40px }\\n        table { table-layout: fixed; width: 100%;\\n                page-break-inside: avoid }\\n      </style>\\n      <h1>Dummy title</h1>\\n      <table>\\n        <tr><td>row 1</td></tr>\\n        <tr><td>row 2</td></tr>\\n        <tr><td>row 3</td></tr>\\n        <tr><td>row 4</td></tr>\\n     </table>\\n     -rows1-positions1]",
          "tests/layout/test_table.py::test_table_page_breaks[\\n      <style>\\n        @page { size: 120px }\\n        h1 { height: 30px}\\n        td { height: 40px }\\n        table { table-layout: fixed; width: 100%;\\n                page-break-inside: avoid }\\n      </style>\\n      <h1>Dummy title</h1>\\n      <table>\\n        <tbody>\\n          <tr><td>row 1</td></tr>\\n          <tr><td>row 2</td></tr>\\n          <tr><td>row 3</td></tr>\\n        </tbody>\\n\\n        <tr><td>row 4</td></tr>\\n      </table>\\n     -rows2-positions2]",
          "tests/layout/test_table.py::test_table_page_breaks[\\n      <style>\\n        @page { size: 120px }\\n        h1 { height: 30px}\\n        td { height: 40px }\\n        table { table-layout: fixed; width: 100% }\\n      </style>\\n      <h1>Dummy title</h1>\\n      <table>\\n        <tr><td>row 1</td></tr>\\n\\n        <tbody style=\"page-break-inside: avoid\">\\n          <tr><td>row 2</td></tr>\\n          <tr><td>row 3</td></tr>\\n        </tbody>\\n      </table>\\n     -rows3-positions3]",
          "tests/layout/test_table.py::test_table_page_breaks[\\n      <style>\\n        @page { size: 120px }\\n        h1 { height: 30px}\\n        td { line-height: 40px }\\n        table { table-layout: fixed; width: 100% }\\n      </style>\\n      <h1>Dummy title</h1>\\n      <table>\\n        <tr><td>r1l1</td></tr>\\n        <tr style=\"break-inside: avoid\"><td>r2l1<br>r2l2</td></tr>\\n        <tr><td>r3l1</td></tr>\\n      </table>\\n     -rows4-positions4]",
          "tests/layout/test_table.py::test_table_page_breaks[\\n      <style>\\n        @page { size: 120px }\\n        h1 { height: 30px}\\n        td { line-height: 40px }\\n        table { table-layout: fixed; width: 100% }\\n      </style>\\n      <h1>Dummy title</h1>\\n      <table>\\n        <tbody>\\n          <tr><td>r1l1</td></tr>\\n          <tr style=\"break-inside: avoid\"><td>r2l1<br>r2l2</td></tr>\\n        </tbody>\\n        <tr><td>r3l1</td></tr>\\n      </table>\\n     -rows5-positions5]",
          "tests/layout/test_table.py::test_table_page_breaks_complex_1",
          "tests/layout/test_table.py::test_table_page_breaks_complex_2",
          "tests/layout/test_table.py::test_table_page_break_after",
          "tests/layout/test_table.py::test_table_page_break_before",
          "tests/layout/test_table.py::test_table_page_break_avoid[\\n      <style>\\n        @page { size: 100px }\\n        table { table-layout: fixed; width: 100% }\\n        tr { height: 26px }\\n      </style>\\n      <table>\\n        <tbody>\\n          <tr><td>row 0</td></tr>\\n          <tr><td>row 1</td></tr>\\n          <tr style=\"break-before: avoid\"><td>row 2</td></tr>\\n          <tr style=\"break-before: avoid\"><td>row 3</td></tr>\\n        </tbody>\\n      </table>\\n    -rows0]",
          "tests/layout/test_table.py::test_table_page_break_avoid[\\n      <style>\\n        @page { size: 100px }\\n        table { table-layout: fixed; width: 100% }\\n        tr { height: 26px }\\n      </style>\\n      <table>\\n        <tbody>\\n          <tr><td>row 0</td></tr>\\n          <tr style=\"break-after: avoid\"><td>row 1</td></tr>\\n          <tr><td>row 2</td></tr>\\n          <tr style=\"break-before: avoid\"><td>row 3</td></tr>\\n        </tbody>\\n      </table>\\n     -rows1]",
          "tests/layout/test_table.py::test_table_page_break_avoid[\\n      <style>\\n        @page { size: 100px }\\n        table { table-layout: fixed; width: 100% }\\n        tr { height: 26px }\\n      </style>\\n      <table>\\n        <tbody>\\n          <tr><td>row 0</td></tr>\\n          <tr><td>row 1</td></tr>\\n          <tr style=\"break-after: avoid\"><td>row 2</td></tr>\\n          <tr><td>row 3</td></tr>\\n        </tbody>\\n      </table>\\n     -rows2]",
          "tests/layout/test_table.py::test_table_page_break_avoid[\\n      <style>\\n        @page { size: 100px }\\n        table { table-layout: fixed; width: 100% }\\n        tr { height: 26px }\\n      </style>\\n      <table>\\n        <tbody>\\n          <tr style=\"break-before: avoid\"><td>row 0</td></tr>\\n          <tr style=\"break-before: avoid\"><td>row 1</td></tr>\\n          <tr style=\"break-before: avoid\"><td>row 2</td></tr>\\n          <tr style=\"break-before: avoid\"><td>row 3</td></tr>\\n        </tbody>\\n      </table>\\n     -rows3]",
          "tests/layout/test_table.py::test_table_page_break_avoid[\\n      <style>\\n        @page { size: 100px }\\n        table { table-layout: fixed; width: 100% }\\n        tr { height: 26px }\\n      </style>\\n      <table>\\n        <tbody>\\n          <tr style=\"break-after: avoid\"><td>row 0</td></tr>\\n          <tr style=\"break-after: avoid\"><td>row 1</td></tr>\\n          <tr style=\"break-after: avoid\"><td>row 2</td></tr>\\n          <tr style=\"break-after: avoid\"><td>row 3</td></tr>\\n        </tbody>\\n      </table>\\n     -rows4]",
          "tests/layout/test_table.py::test_table_page_break_avoid[\\n      <style>\\n        @page { size: 100px }\\n        table { table-layout: fixed; width: 100% }\\n        tr { height: 26px }\\n        p { height: 26px }\\n      </style>\\n      <p>wow p</p>\\n      <table>\\n        <tbody>\\n          <tr style=\"break-after: avoid\"><td>row 0</td></tr>\\n          <tr style=\"break-after: avoid\"><td>row 1</td></tr>\\n          <tr style=\"break-after: avoid\"><td>row 2</td></tr>\\n          <tr style=\"break-after: avoid\"><td>row 3</td></tr>\\n        </tbody>\\n      </table>\\n     -rows5]",
          "tests/layout/test_table.py::test_table_page_break_avoid[\\n      <style>\\n        @page { size: 100px }\\n        table { table-layout: fixed; width: 100% }\\n        tr { height: 30px }\\n      </style>\\n      <table>\\n        <tbody style=\"break-after: avoid\">\\n          <tr><td>row 0</td></tr>\\n          <tr><td>row 1</td></tr>\\n          <tr><td>row 2</td></tr>\\n        </tbody>\\n        <tbody>\\n          <tr><td>row 0</td></tr>\\n          <tr><td>row 1</td></tr>\\n          <tr><td>row 2</td></tr>\\n        </tbody>\\n      </table>\\n     -rows6]",
          "tests/layout/test_table.py::test_table_page_break_avoid[\\n      <style>\\n        @page { size: 100px }\\n        table { table-layout: fixed; width: 100% }\\n        tr { height: 30px }\\n      </style>\\n      <table>\\n        <tbody>\\n          <tr><td>row 0</td></tr>\\n          <tr><td>row 1</td></tr>\\n          <tr><td>row 2</td></tr>\\n        </tbody>\\n        <tbody style=\"break-before: avoid\">\\n          <tr><td>row 0</td></tr>\\n          <tr><td>row 1</td></tr>\\n          <tr><td>row 2</td></tr>\\n        </tbody>\\n      </table>\\n     -rows7]",
          "tests/layout/test_table.py::test_table_page_break_avoid[\\n      <style>\\n        @page { size: 100px }\\n        table { table-layout: fixed; width: 100% }\\n        tr { height: 30px }\\n      </style>\\n      <table>\\n        <tbody>\\n          <tr><td>row 0</td></tr>\\n          <tr><td>row 1</td></tr>\\n          <tr><td>row 2</td></tr>\\n        </tbody>\\n        <tbody>\\n          <tr style=\"break-before: avoid\"><td>row 0</td></tr>\\n          <tr><td>row 1</td></tr>\\n          <tr><td>row 2</td></tr>\\n        </tbody>\\n      </table>\\n     -rows8]",
          "tests/layout/test_table.py::test_table_page_break_avoid[\\n      <style>\\n        @page { size: 100px }\\n        table { table-layout: fixed; width: 100% }\\n        tr { height: 30px }\\n      </style>\\n      <table>\\n        <tbody>\\n          <tr><td>row 0</td></tr>\\n          <tr><td>row 1</td></tr>\\n          <tr style=\"break-after: avoid\"><td>row 2</td></tr>\\n        </tbody>\\n        <tbody>\\n          <tr><td>row 0</td></tr>\\n          <tr><td>row 1</td></tr>\\n          <tr><td>row 2</td></tr>\\n        </tbody>\\n      </table>\\n     -rows9]",
          "tests/layout/test_table.py::test_table_page_break_avoid[\\n      <style>\\n        @page { size: 100px }\\n        table { table-layout: fixed; width: 100% }\\n        tr { height: 30px }\\n      </style>\\n      <table>\\n        <tbody style=\"break-after: avoid\">\\n          <tr><td>row 0</td></tr>\\n          <tr><td>row 1</td></tr>\\n          <tr style=\"break-after: page\"><td>row 2</td></tr>\\n        </tbody>\\n        <tbody>\\n          <tr><td>row 0</td></tr>\\n          <tr><td>row 1</td></tr>\\n          <tr><td>row 2</td></tr>\\n        </tbody>\\n      </table>\\n     -rows10]",
          "tests/layout/test_table.py::test_inline_table_baseline[top-8]",
          "tests/layout/test_table.py::test_inline_table_baseline[bottom-8]",
          "tests/layout/test_table.py::test_inline_table_baseline[baseline-10]",
          "tests/layout/test_table.py::test_table_caption_margin_top",
          "tests/layout/test_table.py::test_table_caption_margin_bottom",
          "tests/layout/test_table.py::test_table_empty_body[rows_expected0-45-45-<p>content</p>]",
          "tests/layout/test_table.py::test_table_empty_body[rows_expected1-85-5-<p>content</p>]",
          "tests/layout/test_table.py::test_table_empty_body[rows_expected2-30-30-<p>content</p>]",
          "tests/layout/test_table.py::test_table_empty_body[rows_expected3-30-110-<p>content</p>]",
          "tests/layout/test_table.py::test_table_empty_body[rows_expected4-30-60-<p>content</p>]",
          "tests/layout/test_table.py::test_table_empty_body[rows_expected5-110-30-<p>content</p>]",
          "tests/layout/test_table.py::test_table_empty_body[rows_expected6-110-110-<p>content</p>]",
          "tests/layout/test_table.py::test_table_empty_body[rows_expected7-30-30-]",
          "tests/layout/test_table.py::test_table_empty_body[rows_expected8-30-110-]",
          "tests/layout/test_table.py::test_table_empty_body[rows_expected9-30-60-]",
          "tests/layout/test_table.py::test_table_empty_body[rows_expected10-110-30-]",
          "tests/layout/test_table.py::test_table_empty_body[rows_expected11-110-110-]",
          "tests/layout/test_table.py::test_table_break_children_margin",
          "tests/layout/test_table.py::test_table_td_break_inside_avoid",
          "tests/layout/test_table.py::test_table_bad_int_td_th_span",
          "tests/layout/test_table.py::test_table_bad_int_col_span",
          "tests/layout/test_table.py::test_table_bad_int_colgroup_span",
          "tests/layout/test_table.py::test_table_different_display",
          "tests/layout/test_table.py::test_min_width_with_overflow",
          "tests/layout/test_table.py::test_table_cell_max_width",
          "tests/layout/test_table.py::test_border_collapse_1",
          "tests/layout/test_table.py::test_border_collapse_2",
          "tests/layout/test_table.py::test_border_collapse_3",
          "tests/layout/test_table.py::test_border_collapse_4",
          "tests/layout/test_table.py::test_border_collapse_5"
        ],
        "skipped": [
          "tests/layout/test_table.py::test_layout_table_auto_49"
        ]
      },
      {
        "collection_errors": [],
        "errors": [],
        "failed": [
          "tests/layout/test_table.py::test_layout_table_auto_32",
          "tests/layout/test_table.py::test_table_vertical_align"
        ],
        "failure_text": {
          "tests/layout/test_table.py::test_layout_table_auto_32": "assert 700.0 == 600\n +  where 700.0 = margin_width()\n +    where margin_width = <BlockBox table>.margin_width\nE   assert 700.0 == 600\n     +  where 700.0 = margin_width()\n     +    where margin_width = <BlockBox table>.margin_width",
          "tests/layout/test_table.py::test_table_vertical_align": "AttributeError: 'super' object has no attribute 'transform'\nE   AttributeError: 'super' object has no attribute 'transform'"
        },
        "passed": [
          "tests/layout/test_table.py::test_inline_table",
          "tests/layout/test_table.py::test_implicit_width_table_col_percent",
          "tests/layout/test_table.py::test_implicit_width_table_td_percent",
          "tests/layout/test_table.py::test_layout_table_fixed_1",
          "tests/layout/test_table.py::test_layout_table_fixed_2",
          "tests/layout/test_table.py::test_layout_table_fixed_3",
          "tests/layout/test_table.py::test_layout_table_fixed_4",
          "tests/layout/test_table.py::test_layout_table_fixed_5",
          "tests/layout/test_table.py::test_layout_table_auto_1",
          "tests/layout/test_table.py::test_layout_table_auto_2",
          "tests/layout/test_table.py::test_layout_table_auto_3",
          "tests/layout/test_table.py::test_layout_table_auto_4",
          "tests/layout/test_table.py::test_layout_table_auto_5",
          "tests/layout/test_table.py::test_layout_table_auto_6",
          "tests/layout/test_table.py::test_layout_table_auto_7",
          "tests/layout/test_table.py::test_layout_table_auto_8",
          "tests/layout/test_table.py::test_layout_table_auto_9",
          "tests/layout/test_table.py::test_layout_table_auto_10",
          "tests/layout/test_table.py::test_layout_table_auto_11",
          "tests/layout/test_table.py::test_layout_table_auto_12",
          "tests/layout/test_table.py::test_layout_table_auto_13",
          "tests/layout/test_table.py::test_layout_table_auto_14",
          "tests/layout/test_table.py::test_layout_table_auto_15",
          "tests/layout/test_table.py::test_layout_table_auto_16",
          "tests/layout/test_table.py::test_layout_table_auto_17",
          "tests/layout/test_table.py::test_layout_table_auto_18",
          "tests/layout/test_table.py::test_layout_table_auto_19",
          "tests/layout/test_table.py::test_layout_table_auto_20",
          "tests/layout/test_table.py::test_layout_table_auto_21",
          "tests/layout/test_table.py::test_layout_table_auto_22",
          "tests/layout/test_table.py::test_layout_table_auto_23",
          "tests/layout/test_table.py::test_layout_table_auto_24",
          "tests/layout/test_table.py::test_layout_table_auto_25",
          "tests/layout/test_table.py::test_layout_table_auto_26",
          "tests/layout/test_table.py::test_layout_table_auto_27",
          "tests/layout/test_table.py::test_layout_table_auto_28",
          "tests/layout/test_table.py::test_layout_table_auto_29",
          "tests/layout/test_table.py::test_layout_table_auto_30",
          "tests/layout/test_table.py::test_layout_table_auto_31",
          "tests/layout/test_table.py::test_layout_table_auto_33",
          "tests/layout/test_table.py::test_layout_table_auto_34",
          "tests/layout/test_table.py::test_layout_table_auto_35",
          "tests/layout/test_table.py::test_layout_table_auto_36",
          "tests/layout/test_table.py::test_layout_table_auto_37",
          "tests/layout/test_table.py::test_layout_table_auto_38",
          "tests/layout/test_table.py::test_layout_table_auto_39",
          "tests/layout/test_table.py::test_layout_table_auto_40",
          "tests/layout/test_table.py::test_layout_table_auto_41",
          "tests/layout/test_table.py::test_layout_table_auto_42",
          "tests/layout/test_table.py::test_layout_table_auto_43",
          "tests/layout/test_table.py::test_layout_table_auto_44",
          "tests/layout/test_table.py::test_layout_table_auto_45",
          "tests/layout/test_table.py::test_layout_table_auto_46",
          "tests/layout/test_table.py::test_layout_table_auto_47",
          "tests/layout/test_table.py::test_layout_table_auto_48",
          "tests/layout/test_table.py::test_layout_table_auto_50",
          "tests/layout/test_table.py::test_explicit_width_table_percent_rtl[500px-230px-220-positions0-widths0]",
          "tests/layout/test_table.py::test_explicit_width_table_percent_rtl[530px-100%-520-positions1-widths1]",
          "tests/layout/test_table.py::test_table_column_width_1",
          "tests/layout/test_table.py::test_table_column_width_2",
          "tests/layout/test_table.py::test_table_column_width_3",
          "tests/layout/test_table.py::test_table_row_height_1",
          "tests/layout/test_table.py::test_table_row_height_2",
          "tests/layout/test_table.py::test_table_row_height_3",
          "tests/layout/test_table.py::test_table_row_height_4",
          "tests/layout/test_table.py::test_table_wrapper",
          "tests/layout/test_table.py::test_table_html_tag",
          "tests/layout/test_table.py::test_table_page_breaks[\\n      <style>\\n        @page { size: 120px }\\n        table { table-layout: fixed; width: 100% }\\n        h1 { height: 30px }\\n        td { height: 40px }\\n      </style>\\n      <h1>Dummy title</h1>\\n      <table>\\n        <tr><td>row 1</td></tr>\\n        <tr><td>row 2</td></tr>\\n\\n        <tr><td>row 3</td></tr>\\n        <tr><td>row 4</td></tr>\\n        <tr><td>row 5</td></tr>\\n\\n        <tr><td style=\"height: 300px\"> <!-- overflow the page -->\\n          row 6</td></tr>\\n        <tr><td>row 7</td></tr>\\n        <tr><td>row 8</td></tr>\\n      </table>\\n     -rows0-positions0]",
          "tests/layout/test_table.py::test_table_page_breaks[\\n      <style>\\n        @page { size: 120px }\\n        h1 { height: 30px}\\n        td { height: 40px }\\n        table { table-layout: fixed; width: 100%;\\n                page-break-inside: avoid }\\n      </style>\\n      <h1>Dummy title</h1>\\n      <table>\\n        <tr><td>row 1</td></tr>\\n        <tr><td>row 2</td></tr>\\n        <tr><td>row 3</td></tr>\\n        <tr><td>row 4</td></tr>\\n     </table>\\n     -rows1-positions1]",
          "tests/layout/test_table.py::test_table_page_breaks[\\n      <style>\\n        @page { size: 120px }\\n        h1 { height: 30px}\\n        td { height: 40px }\\n        table { table-layout: fixed; width: 100%;\\n                page-break-inside: avoid }\\n      </style>\\n      <h1>Dummy title</h1>\\n      <table>\\n        <tbody>\\n          <tr><td>row 1</td></tr>\\n          <tr><td>row 2</td></tr>\\n          <tr><td>row 3</td></tr>\\n        </tbody>\\n\\n        <tr><td>row 4</td></tr>\\n      </table>\\n     -rows2-positions2]",
          "tests/layout/test_table.py::test_table_page_breaks[\\n      <style>\\n        @page { size: 120px }\\n        h1 { height: 30px}\\n        td { height: 40px }\\n        table { table-layout: fixed; width: 100% }\\n      </style>\\n      <h1>Dummy title</h1>\\n      <table>\\n        <tr><td>row 1</td></tr>\\n\\n        <tbody style=\"page-break-inside: avoid\">\\n          <tr><td>row 2</td></tr>\\n          <tr><td>row 3</td></tr>\\n        </tbody>\\n      </table>\\n     -rows3-positions3]",
          "tests/layout/test_table.py::test_table_page_breaks[\\n      <style>\\n        @page { size: 120px }\\n        h1 { height: 30px}\\n        td { line-height: 40px }\\n        table { table-layout: fixed; width: 100% }\\n      </style>\\n      <h1>Dummy title</h1>\\n      <table>\\n        <tr><td>r1l1</td></tr>\\n        <tr style=\"break-inside: avoid\"><td>r2l1<br>r2l2</td></tr>\\n        <tr><td>r3l1</td></tr>\\n      </table>\\n     -rows4-positions4]",
          "tests/layout/test_table.py::test_table_page_breaks[\\n      <style>\\n        @page { size: 120px }\\n        h1 { height: 30px}\\n        td { line-height: 40px }\\n        table { table-layout: fixed; width: 100% }\\n      </style>\\n      <h1>Dummy title</h1>\\n      <table>\\n        <tbody>\\n          <tr><td>r1l1</td></tr>\\n          <tr style=\"break-inside: avoid\"><td>r2l1<br>r2l2</td></tr>\\n        </tbody>\\n        <tr><td>r3l1</td></tr>\\n      </table>\\n     -rows5-positions5]",
          "tests/layout/test_table.py::test_table_page_breaks_complex_1",
          "tests/layout/test_table.py::test_table_page_breaks_complex_2",
          "tests/layout/test_table.py::test_table_page_break_after",
          "tests/layout/test_table.py::test_table_page_break_before",
          "tests/layout/test_table.py::test_table_page_break_avoid[\\n      <style>\\n        @page { size: 100px }\\n        table { table-layout: fixed; width: 100% }\\n        tr { height: 26px }\\n      </style>\\n      <table>\\n        <tbody>\\n          <tr><td>row 0</td></tr>\\n          <tr><td>row 1</td></tr>\\n          <tr style=\"break-before: avoid\"><td>row 2</td></tr>\\n          <tr style=\"break-before: avoid\"><td>row 3</td></tr>\\n        </tbody>\\n      </table>\\n    -rows0]",
          "tests/layout/test_table.py::test_table_page_break_avoid[\\n      <style>\\n        @page { size: 100px }\\n        table { table-layout: fixed; width: 100% }\\n        tr { height: 26px }\\n      </style>\\n      <table>\\n        <tbody>\\n          <tr><td>row 0</td></tr>\\n          <tr style=\"break-after: avoid\"><td>row 1</td></tr>\\n          <tr><td>row 2</td></tr>\\n          <tr style=\"break-before: avoid\"><td>row 3</td></tr>\\n        </tbody>\\n      </table>\\n     -rows1]",
          "tests/layout/test_table.py::test_table_page_break_avoid[\\n      <style>\\n        @page { size: 100px }\\n        table { table-layout: fixed; width: 100% }\\n        tr { height: 26px }\\n      </style>\\n      <table>\\n        <tbody>\\n          <tr><td>row 0</td></tr>\\n          <tr><td>row 1</td></tr>\\n          <tr style=\"break-after: avoid\"><td>row 2</td></tr>\\n          <tr><td>row 3</td></tr>\\n        </tbody>\\n      </table>\\n     -rows2]",
          "tests/layout/test_table.py::test_table_page_break_avoid[\\n      <style>\\n        @page { size: 100px }\\n        table { table-layout: fixed; width: 100% }\\n        tr { height: 26px }\\n      </style>\\n      <table>\\n        <tbody>\\n          <tr style=\"break-before: avoid\"><td>row 0</td></tr>\\n          <tr style=\"break-before: avoid\"><td>row 1</td></tr>\\n          <tr style=\"break-before: avoid\"><td>row 2</td></tr>\\n          <tr style=\"break-before: avoid\"><td>row 3</td></tr>\\n        </tbody>\\n      </table>\\n     -rows3]",
          "tests/layout/test_table.py::test_table_page_break_avoid[\\n      <style>\\n        @page { size: 100px }\\n        table { table-layout: fixed; width: 100% }\\n        tr { height: 26px }\\n      </style>\\n      <table>\\n        <tbody>\\n          <tr style=\"break-after: avoid\"><td>row 0</td></tr>\\n          <tr style=\"break-after: avoid\"><td>row 1</td></tr>\\n          <tr style=\"break-after: avoid\"><td>row 2</td></tr>\\n          <tr style=\"break-after: avoid\"><td>row 3</td></tr>\\n        </tbody>\\n      </table>\\n     -rows4]",
          "tests/layout/test_table.py::test_table_page_break_avoid[\\n      <style>\\n        @page { size: 100px }\\n        table { table-layout: fixed; width: 100% }\\n        tr { height: 26px }\\n        p { height: 26px }\\n      </style>\\n      <p>wow p</p>\\n      <table>\\n        <tbody>\\n          <tr style=\"break-after: avoid\"><td>row 0</td></tr>\\n          <tr style=\"break-after: avoid\"><td>row 1</td></tr>\\n          <tr style=\"break-after: avoid\"><td>row 2</td></tr>\\n          <tr style=\"break-after: avoid\"><td>row 3</td></tr>\\n        </tbody>\\n      </table>\\n     -rows5]",
          "tests/layout/test_table.py::test_table_page_break_avoid[\\n      <style>\\n        @page { size: 100px }\\n        table { table-layout: fixed; width: 100% }\\n        tr { height: 30px }\\n      </style>\\n      <table>\\n        <tbody style=\"break-after: avoid\">\\n          <tr><td>row 0</td></tr>\\n          <tr><td>row 1</td></tr>\\n          <tr><td>row 2</td></tr>\\n        </tbody>\\n        <tbody>\\n          <tr><td>row 0</td></tr>\\n          <tr><td>row 1</td></tr>\\n          <tr><td>row 2</td></tr>\\n        </tbody>\\n      </table>\\n     -rows6]",
          "tests/layout/test_table.py::test_table_page_break_avoid[\\n      <style>\\n        @page { size: 100px }\\n        table { table-layout: fixed; width: 100% }\\n        tr { height: 30px }\\n      </style>\\n      <table>\\n        <tbody>\\n          <tr><td>row 0</td></tr>\\n          <tr><td>row 1</td></tr>\\n          <tr><td>row 2</td></tr>\\n        </tbody>\\n        <tbody style=\"break-before: avoid\">\\n          <tr><td>row 0</td></tr>\\n          <tr><td>row 1</td></tr>\\n          <tr><td>row 2</td></tr>\\n        </tbody>\\n      </table>\\n     -rows7]",
          "tests/layout/test_table.py::test_table_page_break_avoid[\\n      <style>\\n        @page { size: 100px }\\n        table { table-layout: fixed; width: 100% }\\n        tr { height: 30px }\\n      </style>\\n      <table>\\n        <tbody>\\n          <tr><td>row 0</td></tr>\\n          <tr><td>row 1</td></tr>\\n          <tr><td>row 2</td></tr>\\n        </tbody>\\n        <tbody>\\n          <tr style=\"break-before: avoid\"><td>row 0</td></tr>\\n          <tr><td>row 1</td></tr>\\n          <tr><td>row 2</td></tr>\\n        </tbody>\\n      </table>\\n     -rows8]",
          "tests/layout/test_table.py::test_table_page_break_avoid[\\n      <style>\\n        @page { size: 100px }\\n        table { table-layout: fixed; width: 100% }\\n        tr { height: 30px }\\n      </style>\\n      <table>\\n        <tbody>\\n          <tr><td>row 0</td></tr>\\n          <tr><td>row 1</td></tr>\\n          <tr style=\"break-after: avoid\"><td>row 2</td></tr>\\n        </tbody>\\n        <tbody>\\n          <tr><td>row 0</td></tr>\\n          <tr><td>row 1</td></tr>\\n          <tr><td>row 2</td></tr>\\n        </tbody>\\n      </table>\\n     -rows9]",
          "tests/layout/test_table.py::test_table_page_break_avoid[\\n      <style>\\n        @page { size: 100px }\\n        table { table-layout: fixed; width: 100% }\\n        tr { height: 30px }\\n      </style>\\n      <table>\\n        <tbody style=\"break-after: avoid\">\\n          <tr><td>row 0</td></tr>\\n          <tr><td>row 1</td></tr>\\n          <tr style=\"break-after: page\"><td>row 2</td></tr>\\n        </tbody>\\n        <tbody>\\n          <tr><td>row 0</td></tr>\\n          <tr><td>row 1</td></tr>\\n          <tr><td>row 2</td></tr>\\n        </tbody>\\n      </table>\\n     -rows10]",
          "tests/layout/test_table.py::test_inline_table_baseline[top-8]",
          "tests/layout/test_table.py::test_inline_table_baseline[bottom-8]",
          "tests/layout/test_table.py::test_inline_table_baseline[baseline-10]",
          "tests/layout/test_table.py::test_table_caption_margin_top",
          "tests/layout/test_table.py::test_table_caption_margin_bottom",
          "tests/layout/test_table.py::test_table_empty_body[rows_expected0-45-45-<p>content</p>]",
          "tests/layout/test_table.py::test_table_empty_body[rows_expected1-85-5-<p>content</p>]",
          "tests/layout/test_table.py::test_table_empty_body[rows_expected2-30-30-<p>content</p>]",
          "tests/layout/test_table.py::test_table_empty_body[rows_expected3-30-110-<p>content</p>]",
          "tests/layout/test_table.py::test_table_empty_body[rows_expected4-30-60-<p>content</p>]",
          "tests/layout/test_table.py::test_table_empty_body[rows_expected5-110-30-<p>content</p>]",
          "tests/layout/test_table.py::test_table_empty_body[rows_expected6-110-110-<p>content</p>]",
          "tests/layout/test_table.py::test_table_empty_body[rows_expected7-30-30-]",
          "tests/layout/test_table.py::test_table_empty_body[rows_expected8-30-110-]",
          "tests/layout/test_table.py::test_table_empty_body[rows_expected9-30-60-]",
          "tests/layout/test_table.py::test_table_empty_body[rows_expected10-110-30-]",
          "tests/layout/test_table.py::test_table_empty_body[rows_expected11-110-110-]",
          "tests/layout/test_table.py::test_table_break_children_margin",
          "tests/layout/test_table.py::test_table_td_break_inside_avoid",
          "tests/layout/test_table.py::test_table_bad_int_td_th_span",
          "tests/layout/test_table.py::test_table_bad_int_col_span",
          "tests/layout/test_table.py::test_table_bad_int_colgroup_span",
          "tests/layout/test_table.py::test_table_different_display",
          "tests/layout/test_table.py::test_min_width_with_overflow",
          "tests/layout/test_table.py::test_table_cell_max_width",
          "tests/layout/test_table.py::test_border_collapse_1",
          "tests/layout/test_table.py::test_border_collapse_2",
          "tests/layout/test_table.py::test_border_collapse_3",
          "tests/layout/test_table.py::test_border_collapse_4",
          "tests/layout/test_table.py::test_border_collapse_5"
        ],
        "skipped": [
          "tests/layout/test_table.py::test_layout_table_auto_49"
        ]
      }
    ],
    "scope": {
      "c0_top_level": [
        ".github",
        ".gitignore",
        "LICENSE",
        "README.rst",
        "docs",
        "pyproject.toml",
        "tests",
        "weasyprint"
      ],
      "protected_names": [
        "LICENSE",
        "README.rst",
        "__future__",
        "_abc",
        "_aix_support",
        "_ast",
        "_asyncio",
        "_bisect",
        "_blake2",
        "_bz2",
        "_codecs",
        "_codecs_cn",
        "_codecs_hk",
        "_codecs_iso2022",
        "_codecs_jp",
        "_codecs_kr",
        "_codecs_tw",
        "_collections",
        "_collections_abc",
        "_compat_pickle",
        "_compression",
        "_contextvars",
        "_crypt",
        "_csv",
        "_ctypes",
        "_curses",
        "_curses_panel",
        "_datetime",
        "_dbm",
        "_decimal",
        "_elementtree",
        "_frozen_importlib",
        "_frozen_importlib_external",
        "_functools",
        "_gdbm",
        "_hashlib",
        "_heapq",
        "_imp",
        "_io",
        "_json",
        "_locale",
        "_lsprof",
        "_lzma",
        "_markupbase",
        "_md5",
        "_msi",
        "_multibytecodec",
        "_multiprocessing",
        "_opcode",
        "_operator",
        "_osx_support",
        "_overlapped",
        "_pickle",
        "_posixshmem",
        "_posixsubprocess",
        "_py_abc",
        "_pydatetime",
        "_pydecimal",
        "_pyio",
        "_pylong",
        "_pytest",
        "_queue",
        "_random",
        "_scproxy",
        "_sha1",
        "_sha2",
        "_sha3",
        "_signal",
        "_sitebuiltins",
        "_socket",
        "_sqlite3",
        "_sre",
        "_ssl",
        "_stat",
        "_statistics",
        "_string",
        "_strptime",
        "_struct",
        "_symtable",
        "_thread",
        "_threading_local",
        "_tkinter",
        "_tokenize",
        "_tracemalloc",
        "_typing",
        "_uuid",
        "_warnings",
        "_weakref",
        "_weakrefset",
        "_winapi",
        "_wmi",
        "_zoneinfo",
        "abc",
        "aifc",
        "aiofiles",
        "aiohappyeyeballs",
        "aiohttp",
        "aiohttp_retry",
        "aiosignal",
        "annotated_types",
        "antigravity",
        "anyio",
        "argparse",
        "array",
        "ast",
        "asyncio",
        "atexit",
        "attr",
        "attrs",
        "audioop",
        "base64",
        "bdb",
        "bidict",
        "binascii",
        "bisect",
        "builtins",
        "bz2",
        "cProfile",
        "calendar",
        "certifi",
        "cgi",
        "cgitb",
        "charset_normalizer",
        "chunk",
        "cmath",
        "cmd",
        "code",
        "codecs",
        "codeop",
        "collections",
        "colorsys",
        "compileall",
        "concurrent",
        "configparser",
        "conftest",
        "contextlib",
        "contextvars",
        "copy",
        "copyreg",
        "crypt",
        "csv",
        "ctypes",
        "curses",
        "dataclasses",
        "datetime",
        "dateutil",
        "daytona",
        "daytona_analytics_api_client",
        "daytona_analytics_api_client_async",
        "daytona_api_client",
        "daytona_api_client_async",
        "daytona_toolbox_api_client",
        "daytona_toolbox_api_client_async",
        "dbm",
        "decimal",
        "deprecated",
        "difflib",
        "dis",
        "docs",
        "doctest",
        "dotenv",
        "email",
        "encodings",
        "engineio",
        "ensurepip",
        "enum",
        "errno",
        "faulthandler",
        "fcntl",
        "filecmp",
        "fileinput",
        "fnmatch",
        "fractions",
        "frozenlist",
        "ftplib",
        "functools",
        "gc",
        "genericpath",
        "getopt",
        "getpass",
        "gettext",
        "glob",
        "google",
        "graphlib",
        "grp",
        "gzip",
        "h11",
        "hashlib",
        "heapq",
        "hmac",
        "html",
        "http",
        "httpcore",
        "httpcore2",
        "httpx",
        "httpx2",
        "httpx_ws",
        "idlelib",
        "idna",
        "imaplib",
        "imghdr",
        "importlib",
        "iniconfig",
        "inspect",
        "io",
        "ipaddress",
        "itertools",
        "jiter",
        "json",
        "keyword",
        "lib2to3",
        "linecache",
        "locale",
        "logging",
        "lzma",
        "mailbox",
        "mailcap",
        "marshal",
        "math",
        "mimetypes",
        "mmap",
        "modulefinder",
        "msilib",
        "msvcrt",
        "multidict",
        "multipart",
        "multiprocessing",
        "netrc",
        "nis",
        "nntplib",
        "nt",
        "ntpath",
        "nturl2path",
        "numbers",
        "obstore",
        "opcode",
        "openai",
        "opentelemetry",
        "operator",
        "optparse",
        "os",
        "ossaudiodev",
        "packaging",
        "pathlib",
        "pdb",
        "pickle",
        "pickletools",
        "pipes",
        "pkgutil",
        "platform",
        "plistlib",
        "pluggy",
        "poplib",
        "posix",
        "posixpath",
        "pprint",
        "profile",
        "propcache",
        "pstats",
        "pty",
        "pwd",
        "py",
        "py_compile",
        "pyclbr",
        "pydantic",
        "pydantic_core",
        "pydoc",
        "pydoc_data",
        "pyexpat",
        "pygments",
        "pyproject.toml",
        "pytest",
        "pytest_asyncio",
        "python_multipart",
        "queue",
        "quopri",
        "random",
        "re",
        "readline",
        "reprlib",
        "requests",
        "resource",
        "rlcompleter",
        "runpy",
        "sched",
        "secrets",
        "select",
        "selectors",
        "shelve",
        "shlex",
        "shutil",
        "signal",
        "simple_websocket",
        "site",
        "six",
        "smtplib",
        "sndhdr",
        "sniffio",
        "socket",
        "socketio",
        "socketserver",
        "spwd",
        "sqlite3",
        "sre_compile",
        "sre_constants",
        "sre_parse",
        "ssl",
        "stat",
        "statistics",
        "string",
        "stringprep",
        "struct",
        "subprocess",
        "sunau",
        "symtable",
        "sys",
        "sysconfig",
        "syslog",
        "tabnanny",
        "tarfile",
        "telnetlib",
        "tempfile",
        "termios",
        "tests",
        "textwrap",
        "this",
        "threading",
        "time",
        "timeit",
        "tkinter",
        "token",
        "tokenize",
        "toml",
        "tomllib",
        "trace",
        "traceback",
        "tracemalloc",
        "truststore",
        "tty",
        "turtle",
        "turtledemo",
        "types",
        "typing",
        "typing_extensions",
        "typing_inspection",
        "unicodedata",
        "unittest",
        "urllib",
        "urllib3",
        "uu",
        "uuid",
        "venv",
        "warnings",
        "wave",
        "weakref",
        "weasyprint",
        "webbrowser",
        "websocket",
        "winreg",
        "winsound",
        "wrapt",
        "wrapt-stubs",
        "wsgiref",
        "wsproto",
        "xdrlib",
        "xml",
        "xmlrpc",
        "yarl",
        "zipapp",
        "zipfile",
        "zipimport",
        "zlib",
        "zoneinfo"
      ]
    },
    "skipped_ids": [
      "tests/layout/test_table.py::test_layout_table_auto_49"
    ],
    "spec_paths": [
      "tests/layout/test_table.py"
    ],
    "target": [
      "tests/layout/test_table.py::test_layout_table_auto_32"
    ],
    "target_failure_text": {
      "tests/layout/test_table.py::test_layout_table_auto_32": "assert 700.0 == 600\n +  where 700.0 = margin_width()\n +    where margin_width = <BlockBox table>.margin_width\nE   assert 700.0 == 600\n     +  where 700.0 = margin_width()\n     +    where margin_width = <BlockBox table>.margin_width"
    },
    "target_map": {
      "tests/layout/test_table.py::test_layout_table_auto_32": [
        "tests/layout/test_table.py::test_layout_table_auto_32"
      ]
    },
    "unstable": []
  },
  "checkpoint": {
    "digest": "6ff9a4f8-89ff-44c2-aa6f-6eabb54b996f",
    "id": "6ff9a4f8-89ff-44c2-aa6f-6eabb54b996f",
    "parent": "6ff9a4f8-89ff-44c2-aa6f-6eabb54b996f"
  },
  "checkpoint_id": "6ff9a4f8-89ff-44c2-aa6f-6eabb54b996f",
  "cleanup_error": null,
  "cost": {
    "estimated_dollars": 1.4124039,
    "model_retries": {},
    "models": {
      "nvidia/nemotron-3-super-120b-a12b": {
        "completion_tokens": 32583,
        "estimated_dollars": 1.4124039,
        "prompt_tokens": 4610264,
        "reasoning_tokens": 0
      }
    },
    "planner_dollars": 0.0041061,
    "planner_tokens": 13527,
    "pricing_is_estimate": true,
    "sandbox_seconds": 60.283320040694775
  },
  "disclosure": {
    "executor_kind": "tokenfactory",
    "lock_sha256": "13bab21f221664ce54154b44d0938806e1d6341103ad18ab52c426296e4cbfac",
    "model": {
      "base_url": "https://api.tokenfactory.nebius.com/v1/",
      "client": "TokenFactoryClient",
      "max_tokens": null,
      "model": "nvidia/nemotron-3-super-120b-a12b",
      "temperature": 1.0,
      "thinking": false,
      "top_p": 0.95
    },
    "pytest_config_digests": {
      "pyproject.toml": "c2e4b847e0c376c8062dd33974fc8b09664baf8c67f323e4736e9548712b38cc",
      "tests/conftest.py": "84f0074ec426a1e49739e2d5e80d8da8db2afdfc0d885005931139ae1e4f335d"
    },
    "receipts_version": "0.0.1",
    "test_digests": {
      "tests/layout/__init__.py": "cc74e7e9eb7dd6bfd2bb58acfc794da161bfa352ed25ce276e3e6a28275641f4",
      "tests/layout/test_block.py": "0d4fddea5fb8e048ff0f4f7d051ea0c187a20370e1fb0d9e41cd7af38374e159",
      "tests/layout/test_column.py": "1e61a03d666bc81eaab6fc47dc9674a5edf01bcc566dd48fce93a0bc1eff3eec",
      "tests/layout/test_flex.py": "f749fc43f3c712d9ea37c4e711d07271f6dec943bd7f54f9631e2bb42808e7a2",
      "tests/layout/test_footnotes.py": "8c6dbc7e2903d1e0cad936342650e40b84713b28d5d74680b364c1ff858e269d",
      "tests/layout/test_image.py": "ecbe9422318a170b605d49046e96fc14254f69b6f2b008daa5dca41c68726703",
      "tests/layout/test_inline.py": "058530a2440780dab3e3426a11542beeba5a5067a44b9f694fd77a299190e990",
      "tests/layout/test_inline_block.py": "d024dfbc975ddce721f0c63f4d4101e90a7aac447c7679fab0f39fff1f703404",
      "tests/layout/test_list.py": "8cf639f4dea20242a3655b483369dbae8d322eeb7532625b3f977c76b4eb79e4",
      "tests/layout/test_page.py": "0cbfe9e20dd66391dd06e0ae1b23f1876dfaa81fcb3124c8c6168237b3484c27",
      "tests/layout/test_position.py": "5c59e1972d391b387b054eb5a054c1c1bfcf59c503cca504533196084b28b606",
      "tests/layout/test_shrink_to_fit.py": "beedfef044c969e82af28e4d42cd112fadbde056ee625d17426b6b59935ea0ac",
      "tests/layout/test_table.py": "ddc731fea962046e958e3718a46fb01247818a0696788bb54412d7b36aaeb97f"
    }
  },
  "final_verdict": {
    "branch_id": "agent1",
    "claim_audit": "no_claim",
    "claim_evidence": "branch ended without a finish call",
    "error": null,
    "error_kind": null,
    "predicates": [
      {
        "evidence": "tests/layout/test_table.py::test_layout_table_auto_32 failed",
        "id": "R1_fail_to_pass",
        "passed": false
      },
      {
        "evidence": "regressed: tests/layout/test_table.py::test_layout_table_auto_13 (failed), tests/layout/test_table.py::test_layout_table_auto_14 (failed), tests/layout/test_table.py::test_layout_table_auto_16 (failed), tests/layout/test_table.py::test_layout_table_auto_19 (failed), tests/layout/test_table.py::test_layout_table_auto_21 (failed), tests/layout/test_table.py::test_layout_table_auto_23 (failed), tests/layout/test_table.py::test_layout_table_auto_27 (failed), tests/layout/test_table.py::test_layout_table_auto_28 (failed), tests/layout/test_table.py::test_layout_table_auto_29 (failed), tests/layout/test_table.py::test_layout_table_auto_31 (failed), tests/layout/test_table.py::test_layout_table_auto_40 (failed), tests/layout/test_table.py::test_layout_table_auto_5 (failed), tests/layout/test_table.py::test_layout_table_auto_8 (failed), tests/layout/test_table.py::test_layout_table_auto_9 (failed)",
        "id": "R2_pass_to_pass",
        "passed": false
      },
      {
        "evidence": "all 121 baseline tests collected; skips unchanged (1)",
        "id": "R3_no_shrink",
        "passed": true
      },
      {
        "evidence": "patch touches 2 file(s), all in scope",
        "id": "R4_patch_scope",
        "passed": true
      },
      {
        "evidence": "agent chain 6ff9a4f8-89ff-44c2-aa6f-6eabb54b996f -> cc6ba261-ff36-4c4d-a121-baf004825fb7 unbroken over 76 receipt(s); witness chain 6ff9a4f8-89ff-44c2-aa6f-6eabb54b996f -> 7ed70df7-39ba-4c3b-b973-30a6a14cece6 unbroken over 2 receipt(s); applied digest matches",
        "id": "R5_provenance",
        "passed": true
      },
      {
        "evidence": "branch ended without a finish call",
        "id": "R6_claim_audit",
        "passed": false
      }
    ],
    "status": "REJECTED"
  },
  "input": {
    "appeals": 1,
    "budgets": {
      "baseline_limit_s": 600,
      "verification_timeout_s": 600,
      "worker": {
        "max_completion_tokens": 96000,
        "max_turns": 60,
        "max_wall_seconds": 1500.0,
        "prompt_token_budget": 160000
      }
    },
    "issue": "Table not printed as shown in browser: weasyprint overrides \"table width\" with \"cell width\"\nIf the table (table) has a maximum width and the individual columns (td) have their own width - greater than the table width(!) - weasyprint interprets the width different as browsers will do:\r\n\r\nA Table with \"table width 500px\" and \"td width 3000px\" will shown as follows:\r\n\r\n- Browsers take the table-width as the relevant width -> Table will be 500px wide\r\n- Weasyprint takes the td-width as relevant width -> Table will be 3000px wide (table will be cut off!)\r\n\r\n![table-bug](https://github.com/Kozea/WeasyPrint/assets/5119643/1b2040bf-02ea-4a09-937d-6adc3a4601f9)\r\n\r\n### Example code\r\n\r\n```html\r\n<!DOCTYPE html><html class=\"view  chrome\"  lang=\"de\">\r\n<p> Table Width: 500px </p>\r\n<div>    \r\n<div style=\"overflow:auto\">      \r\n<div class=\"text-content\">            \r\n<table border=\"1\" cellpadding=\"1\" cellspacing=\"1\" style=\"width:500px\">\t\t\t\t\t\r\n<tbody>\t\t\t\r\n<tr>\t\t\t\t\r\n<td style=\"width:3000px\">Width: 3000px</td>\t\t\t\t\r\n<td style=\"width:609px\">2</td>\t\t\t\r\n</tr>\t\t\t\r\n<tr>\t\t\t\t\r\n<td style=\"width:927px\">Width: 927px</td>\t\t\t\t\r\n<td style=\"width:609px\">2</td>\t\t\t\r\n</tr>\t\t\t\r\n<tr>\t\t\t\t\r\n<td style=\"width:927px\">Width: 927px</td>\t\t\t\t\r\n<td style=\"width:609px\">2</td>\t\t\t\r\n</tr>\t\t\r\n</tbody>\t     \r\n</table><p>&nbsp;</p>              \t\r\n</div>    \r\n</div>  \r\n</div>\r\n</html> \r\n``` \r\n",
    "source": {
      "image": "docker.io/swerebenchv2/kozea-weasyprint:2087-2c09a86",
      "platform": "linux/amd64",
      "python": "python",
      "setup": [
        "python -c 'import base64; from pathlib import Path; Path('\"'\"'/tmp/receipts-kozea__weasyprint-2087-test.patch'\"'\"').write_bytes(base64.b64decode('\"'\"'ZGlmZiAtLWdpdCBhL3Rlc3RzL2xheW91dC90ZXN0X3RhYmxlLnB5IGIvdGVzdHMvbGF5b3V0L3Rlc3RfdGFibGUucHkKaW5kZXggYmZkMDk3ZGEuLmFmY2RlMmJhIDEwMDY0NAotLS0gYS90ZXN0cy9sYXlvdXQvdGVzdF90YWJsZS5weQorKysgYi90ZXN0cy9sYXlvdXQvdGVzdF90YWJsZS5weQpAQCAtNTE1LDcgKzUxNSw3IEBAIGRlZiB0ZXN0X2xheW91dF90YWJsZV9hdXRvXzgoKToKIEBhc3NlcnRfbm9fbG9ncwogZGVmIHRlc3RfbGF5b3V0X3RhYmxlX2F1dG9fOSgpOgogICAgIHBhZ2UsID0gcmVuZGVyX3BhZ2VzKCcnJwotICAgICAgPHRhYmxlIHN0eWxlPSJib3JkZXItc3BhY2luZzogMTBweDsgd2lkdGg6IDExMHB4OyBtYXJnaW46IDVweCI+CisgICAgICA8dGFibGUgc3R5bGU9ImJvcmRlci1zcGFjaW5nOiAxMHB4OyB3aWR0aDogMTIwcHg7IG1hcmdpbjogNXB4Ij4KICAgICAgICAgPHRyPgogICAgICAgICAgIDx0ZCBzdHlsZT0id2lkdGg6IDYwcHgiPjwvdGQ+CiAgICAgICAgICAgPHRkPjwvdGQ+CkBAIC0xMTEzLDggKzExMTMsOCBAQCBkZWYgdGVzdF9sYXlvdXRfdGFibGVfYXV0b18zMSgpOgogZGVmIHRlc3RfbGF5b3V0X3RhYmxlX2F1dG9fMzIoKToKICAgICAjIFRhYmxlIHdpdGggYSBjZWxsIGxhcmdlciB0aGFuIHRoZSB0YWJsZSdzIHdpZHRoCiAgICAgcGFnZSwgPSByZW5kZXJfcGFnZXMoJycnCi0gICAgICA8dGFibGUgc3R5bGU9IndpZHRoOiAzMDBweDsgbWFyZ2luOiAxMDBweCI+Ci0gICAgICAgIDx0ZCBzdHlsZT0id2lkdGg6IDQwMHB4Ij48L3RkPgorICAgICAgPHRhYmxlIHN0eWxlPSJ3aWR0aDogNDAwcHg7IG1hcmdpbjogMTAwcHgiPgorICAgICAgICA8dGQgc3R5bGU9IndpZHRoOiA1MDBweCI+PC90ZD4KICAgICAgIDwvdGFibGU+CiAgICAgJycnKQogICAgIGh0bWwsID0gcGFnZS5jaGlsZHJlbgo='\"'\"'))'",
        "git apply /tmp/receipts-kozea__weasyprint-2087-test.patch"
      ],
      "workdir": "/WeasyPrint"
    },
    "spec_paths": [
      "tests/layout/test_table.py"
    ],
    "spec_tests": [
      "tests/layout/test_table.py::test_layout_table_auto_32"
    ],
    "suite_scope": "--no-header -rA --tb=line --color=no -p no:cacheprovider -W ignore::DeprecationWarning tests/layout/test_table.py"
  },
  "plan": {
    "approach": "Modify `_intrinsic_dimensions()` to respect explicit table width constraints during intrinsic width calculation.",
    "files_to_edit": [
      "weasyprint/layout/table.py"
    ],
    "finish_reason": "stop",
    "hypothesis": "In automatic table layout mode, WeasyPrint incorrectly computes table width based on cell `minmax()` preferred widths rather than clamping them according to the specified table width constraint.",
    "usage": {
      "completion": 80,
      "prompt": 13447,
      "reasoning": 0
    }
  },
  "selected_patch_path": null,
  "snapshot_receipt_id": "base-7",
  "verdict_history": [
    {
      "branch_id": "agent1",
      "claim_audit": "no_claim",
      "claim_evidence": "branch ended without a finish call",
      "error": null,
      "error_kind": null,
      "predicates": [
        {
          "evidence": "tests/layout/test_table.py::test_layout_table_auto_32 failed",
          "id": "R1_fail_to_pass",
          "passed": false
        },
        {
          "evidence": "regressed: tests/layout/test_table.py::test_implicit_width_table_col_percent (failed), tests/layout/test_table.py::test_implicit_width_table_td_percent (failed), tests/layout/test_table.py::test_inline_table (failed), tests/layout/test_table.py::test_inline_table_baseline[baseline-10] (failed), tests/layout/test_table.py::test_inline_table_baseline[bottom-8] (failed), tests/layout/test_table.py::test_inline_table_baseline[top-8] (failed), tests/layout/test_table.py::test_layout_table_auto_1 (failed), tests/layout/test_table.py::test_layout_table_auto_10 (failed), tests/layout/test_table.py::test_layout_table_auto_11 (failed), tests/layout/test_table.py::test_layout_table_auto_12 (failed), tests/layout/test_table.py::test_layout_table_auto_13 (failed), tests/layout/test_table.py::test_layout_table_auto_14 (failed), tests/layout/test_table.py::test_layout_table_auto_16 (failed), tests/layout/test_table.py::test_layout_table_auto_17 (failed), tests/layout/test_table.py::test_layout_table_auto_18 (failed), tests/layout/test_table.py::test_layout_table_auto_19 (failed), tests/layout/test_table.py::test_layout_table_auto_2 (failed), tests/layout/test_table.py::test_layout_table_auto_20 (failed), tests/layout/test_table.py::test_layout_table_auto_21 (failed), tests/layout/test_table.py::test_layout_table_auto_22 (failed), tests/layout/test_table.py::test_layout_table_auto_23 (failed), tests/layout/test_table.py::test_layout_table_auto_24 (failed), tests/layout/test_table.py::test_layout_table_auto_25 (failed), tests/layout/test_table.py::test_layout_table_auto_26 (failed), tests/layout/test_table.py::test_layout_table_auto_27 (failed), tests/layout/test_table.py::test_layout_table_auto_28 (failed), tests/layout/test_table.py::test_layout_table_auto_29 (failed), tests/layout/test_table.py::test_layout_table_auto_3 (failed), tests/layout/test_table.py::test_layout_table_auto_30 (failed), tests/layout/test_table.py::test_layout_table_auto_31 (failed), tests/layout/test_table.py::test_layout_table_auto_33 (failed), tests/layout/test_table.py::test_layout_table_auto_35 (failed), tests/layout/test_table.py::test_layout_table_auto_36 (failed), tests/layout/test_table.py::test_layout_table_auto_37 (failed), tests/layout/test_table.py::test_layout_table_auto_38 (failed), tests/layout/test_table.py::test_layout_table_auto_39 (failed), tests/layout/test_table.py::test_layout_table_auto_4 (failed), tests/layout/test_table.py::test_layout_table_auto_40 (failed), tests/layout/test_table.py::test_layout_table_auto_41 (failed), tests/layout/test_table.py::test_layout_table_auto_42 (failed), tests/layout/test_table.py::test_layout_table_auto_43 (failed), tests/layout/test_table.py::test_layout_table_auto_44 (failed), tests/layout/test_table.py::test_layout_table_auto_45 (failed), tests/layout/test_table.py::test_layout_table_auto_46 (failed), tests/layout/test_table.py::test_layout_table_auto_47 (failed), tests/layout/test_table.py::test_layout_table_auto_48 (failed), tests/layout/test_table.py::test_layout_table_auto_5 (failed), tests/layout/test_table.py::test_layout_table_auto_50 (failed), tests/layout/test_table.py::test_layout_table_auto_6 (failed), tests/layout/test_table.py::test_layout_table_auto_7 (failed), tests/layout/test_table.py::test_layout_table_auto_8 (failed), tests/layout/test_table.py::test_layout_table_auto_9 (failed), tests/layout/test_table.py::test_layout_table_fixed_1 (failed), tests/layout/test_table.py::test_layout_table_fixed_5 (failed), tests/layout/test_table.py::test_min_width_with_overflow (failed), tests/layout/test_table.py::test_table_bad_int_col_span (failed), tests/layout/test_table.py::test_table_bad_int_colgroup_span (failed), tests/layout/test_table.py::test_table_bad_int_td_th_span (failed), tests/layout/test_table.py::test_table_break_children_margin (failed), tests/layout/test_table.py::test_table_caption_margin_bottom (failed), tests/layout/test_table.py::test_table_caption_margin_top (failed), tests/layout/test_table.py::test_table_cell_max_width (failed), tests/layout/test_table.py::test_table_different_display (failed), tests/layout/test_table.py::test_table_empty_body[rows_expected0-45-45-<p>content</p>] (failed), tests/layout/test_table.py::test_table_empty_body[rows_expected1-85-5-<p>content</p>] (failed), tests/layout/test_table.py::test_table_empty_body[rows_expected10-110-30-] (failed), tests/layout/test_table.py::test_table_empty_body[rows_expected11-110-110-] (failed), tests/layout/test_table.py::test_table_empty_body[rows_expected2-30-30-<p>content</p>] (failed), tests/layout/test_table.py::test_table_empty_body[rows_expected3-30-110-<p>content</p>] (failed), tests/layout/test_table.py::test_table_empty_body[rows_expected4-30-60-<p>content</p>] (failed), tests/layout/test_table.py::test_table_empty_body[rows_expected5-110-30-<p>content</p>] (failed), tests/layout/test_table.py::test_table_empty_body[rows_expected6-110-110-<p>content</p>] (failed), tests/layout/test_table.py::test_table_empty_body[rows_expected7-30-30-] (failed), tests/layout/test_table.py::test_table_empty_body[rows_expected8-30-110-] (failed), tests/layout/test_table.py::test_table_empty_body[rows_expected9-30-60-] (failed), tests/layout/test_table.py::test_table_html_tag (failed), tests/layout/test_table.py::test_table_page_breaks_complex_1 (failed), tests/layout/test_table.py::test_table_row_height_1 (failed), tests/layout/test_table.py::test_table_row_height_2 (failed), tests/layout/test_table.py::test_table_row_height_3 (failed), tests/layout/test_table.py::test_table_row_height_4 (failed), tests/layout/test_table.py::test_table_td_break_inside_avoid (failed)",
          "id": "R2_pass_to_pass",
          "passed": false
        },
        {
          "evidence": "all 121 baseline tests collected; skips unchanged (1)",
          "id": "R3_no_shrink",
          "passed": true
        },
        {
          "evidence": "patch touches 1 file(s), all in scope",
          "id": "R4_patch_scope",
          "passed": true
        },
        {
          "evidence": "agent chain 6ff9a4f8-89ff-44c2-aa6f-6eabb54b996f -> 15821f82-674f-4c08-8c5a-05555d626d4f unbroken over 31 receipt(s); witness chain 6ff9a4f8-89ff-44c2-aa6f-6eabb54b996f -> 58af2c1c-62a5-4586-b401-96b1696d7868 unbroken over 2 receipt(s); applied digest matches",
          "id": "R5_provenance",
          "passed": true
        },
        {
          "evidence": "branch ended without a finish call",
          "id": "R6_claim_audit",
          "passed": false
        }
      ],
      "status": "REJECTED"
    },
    {
      "branch_id": "agent1",
      "claim_audit": "no_claim",
      "claim_evidence": "branch ended without a finish call",
      "error": null,
      "error_kind": null,
      "predicates": [
        {
          "evidence": "tests/layout/test_table.py::test_layout_table_auto_32 failed",
          "id": "R1_fail_to_pass",
          "passed": false
        },
        {
          "evidence": "regressed: tests/layout/test_table.py::test_layout_table_auto_13 (failed), tests/layout/test_table.py::test_layout_table_auto_14 (failed), tests/layout/test_table.py::test_layout_table_auto_16 (failed), tests/layout/test_table.py::test_layout_table_auto_19 (failed), tests/layout/test_table.py::test_layout_table_auto_21 (failed), tests/layout/test_table.py::test_layout_table_auto_23 (failed), tests/layout/test_table.py::test_layout_table_auto_27 (failed), tests/layout/test_table.py::test_layout_table_auto_28 (failed), tests/layout/test_table.py::test_layout_table_auto_29 (failed), tests/layout/test_table.py::test_layout_table_auto_31 (failed), tests/layout/test_table.py::test_layout_table_auto_40 (failed), tests/layout/test_table.py::test_layout_table_auto_5 (failed), tests/layout/test_table.py::test_layout_table_auto_8 (failed), tests/layout/test_table.py::test_layout_table_auto_9 (failed)",
          "id": "R2_pass_to_pass",
          "passed": false
        },
        {
          "evidence": "all 121 baseline tests collected; skips unchanged (1)",
          "id": "R3_no_shrink",
          "passed": true
        },
        {
          "evidence": "patch touches 2 file(s), all in scope",
          "id": "R4_patch_scope",
          "passed": true
        },
        {
          "evidence": "agent chain 6ff9a4f8-89ff-44c2-aa6f-6eabb54b996f -> cc6ba261-ff36-4c4d-a121-baf004825fb7 unbroken over 76 receipt(s); witness chain 6ff9a4f8-89ff-44c2-aa6f-6eabb54b996f -> 7ed70df7-39ba-4c3b-b973-30a6a14cece6 unbroken over 2 receipt(s); applied digest matches",
          "id": "R5_provenance",
          "passed": true
        },
        {
          "evidence": "branch ended without a finish call",
          "id": "R6_claim_audit",
          "passed": false
        }
      ],
      "status": "REJECTED"
    }
  ],
  "verified_fix": false,
  "wall_time_s": 872.1879435419105
}
