version: "0.1.0" description: > Post-render QA gates. All thresholds are hard numeric limits used to fail builds (unless a gate is explicitly marked as warn-only by the invoking CLI flags). metrics: max_widows_per_10_pages: "Count of widow lines across any 10 consecutive pages." max_orphans_per_10_pages: "Count of orphan lines across any 10 consecutive pages." max_stranded_headings: "Count of headings at page bottom with insufficient following content per keep rule." max_overfull_lines: "Count of lines exceeding measure by overflow threshold (render-time measured)." max_table_overflow_incidents: "Count of tables that overflow page/column bounds or are clipped." max_code_overflow_incidents: "Count of code blocks with horizontal overflow or clipping." max_link_wrap_incidents: "Count of wrapped URLs/DOIs/emails violating link wrap policy." max_heading_numbering_errors: "Count of numbering sequence/format violations." max_citation_format_errors: "Count of citations not matching configured style format." max_caption_separation_incidents: "Count of captions likely separated from their figures/tables." max_list_break_incidents: "Count of list pagination issues (intro separated, lonely items)." max_heading_proximity_incidents: "Count of adjacent/stacked headings with insufficient body text." max_runt_final_page: "Count of final pages judged too short (runt pages) by PDF analysis." overflow_detection: overfull_line_threshold_css_px: 1.0 consider_clipping_as_overflow: true ignore_decorative_elements: true profiles: web_pdf: default: max_widows_per_10_pages: 1 max_orphans_per_10_pages: 1 max_stranded_headings: 0 max_overfull_lines: 1 max_table_overflow_incidents: 0 max_code_overflow_incidents: 1 max_link_wrap_incidents: 1 max_heading_numbering_errors: 0 max_citation_format_errors: 0 max_caption_separation_incidents: 1 max_list_break_incidents: 1 max_heading_proximity_incidents: 1 max_runt_final_page: 0 strict: max_widows_per_10_pages: 0 max_orphans_per_10_pages: 0 max_stranded_headings: 0 max_overfull_lines: 0 max_table_overflow_incidents: 0 max_code_overflow_incidents: 0 max_link_wrap_incidents: 0 max_heading_numbering_errors: 0 max_citation_format_errors: 0 max_caption_separation_incidents: 0 max_list_break_incidents: 0 max_heading_proximity_incidents: 0 max_runt_final_page: 0 print_pdf: default: max_widows_per_10_pages: 0 max_orphans_per_10_pages: 0 max_stranded_headings: 0 max_overfull_lines: 0 max_table_overflow_incidents: 0 max_code_overflow_incidents: 0 max_link_wrap_incidents: 0 max_heading_numbering_errors: 0 max_citation_format_errors: 0 max_caption_separation_incidents: 0 max_list_break_incidents: 0 max_heading_proximity_incidents: 0 max_runt_final_page: 0 strict: max_widows_per_10_pages: 0 max_orphans_per_10_pages: 0 max_stranded_headings: 0 max_overfull_lines: 0 max_table_overflow_incidents: 0 max_code_overflow_incidents: 0 max_link_wrap_incidents: 0 max_heading_numbering_errors: 0 max_citation_format_errors: 0 max_caption_separation_incidents: 0 max_list_break_incidents: 0 max_heading_proximity_incidents: 0 max_runt_final_page: 0 dense_tech: default: max_widows_per_10_pages: 1 max_orphans_per_10_pages: 1 max_stranded_headings: 0 max_overfull_lines: 2 max_table_overflow_incidents: 0 max_code_overflow_incidents: 2 max_link_wrap_incidents: 2 max_heading_numbering_errors: 0 max_citation_format_errors: 0 max_caption_separation_incidents: 1 max_list_break_incidents: 1 max_heading_proximity_incidents: 1 max_runt_final_page: 0 strict: max_widows_per_10_pages: 0 max_orphans_per_10_pages: 0 max_stranded_headings: 0 max_overfull_lines: 1 max_table_overflow_incidents: 0 max_code_overflow_incidents: 0 max_link_wrap_incidents: 1 max_heading_numbering_errors: 0 max_citation_format_errors: 0 max_caption_separation_incidents: 0 max_list_break_incidents: 0 max_heading_proximity_incidents: 0 max_runt_final_page: 0 memo: default: max_widows_per_10_pages: 3 max_orphans_per_10_pages: 3 max_stranded_headings: 0 max_overfull_lines: 1 max_table_overflow_incidents: 0 max_code_overflow_incidents: 1 max_link_wrap_incidents: 3 max_heading_numbering_errors: 1 max_citation_format_errors: 1 max_caption_separation_incidents: 2 max_list_break_incidents: 2 max_heading_proximity_incidents: 2 max_runt_final_page: 0 strict: max_widows_per_10_pages: 1 max_orphans_per_10_pages: 1 max_stranded_headings: 0 max_overfull_lines: 0 max_table_overflow_incidents: 0 max_code_overflow_incidents: 0 max_link_wrap_incidents: 2 max_heading_numbering_errors: 0 max_citation_format_errors: 0 max_caption_separation_incidents: 1 max_list_break_incidents: 1 max_heading_proximity_incidents: 1 max_runt_final_page: 0 slide_deck: default: max_widows_per_10_pages: 5 max_orphans_per_10_pages: 5 max_stranded_headings: 0 max_overfull_lines: 0 max_table_overflow_incidents: 0 max_code_overflow_incidents: 0 max_link_wrap_incidents: 0 max_heading_numbering_errors: 0 max_citation_format_errors: 1 max_caption_separation_incidents: 2 max_list_break_incidents: 2 max_heading_proximity_incidents: 2 max_runt_final_page: 0 strict: max_widows_per_10_pages: 2 max_orphans_per_10_pages: 2 max_stranded_headings: 0 max_overfull_lines: 0 max_table_overflow_incidents: 0 max_code_overflow_incidents: 0 max_link_wrap_incidents: 0 max_heading_numbering_errors: 0 max_citation_format_errors: 0 max_caption_separation_incidents: 1 max_list_break_incidents: 1 max_heading_proximity_incidents: 1 max_runt_final_page: 0 audit_report: default: max_widows_per_10_pages: 12 max_orphans_per_10_pages: 12 max_stranded_headings: 5 max_overfull_lines: 10 max_table_overflow_incidents: 10 max_code_overflow_incidents: 2 max_link_wrap_incidents: 5 max_heading_numbering_errors: 5 max_citation_format_errors: 1 max_caption_separation_incidents: 2 max_list_break_incidents: 2 max_heading_proximity_incidents: 2 max_runt_final_page: 0 strict: max_widows_per_10_pages: 6 max_orphans_per_10_pages: 6 max_stranded_headings: 2 max_overfull_lines: 5 max_table_overflow_incidents: 5 max_code_overflow_incidents: 1 max_link_wrap_incidents: 3 max_heading_numbering_errors: 2 max_citation_format_errors: 0 max_caption_separation_incidents: 1 max_list_break_incidents: 1 max_heading_proximity_incidents: 1 max_runt_final_page: 0