{
"architecture.output_collision" => ["architecture", "A", "error", %w[URI], "site inventory and output ownership", %w[inventory output_paths public_routes], %w[aliases and directory_indexes can be intentional], "Give each distinct emitter a unique destination or document the ownership boundary."],
"links.target_missing" => ["architecture", "A", "error", %w[URI G-LINK], "rendered links and managed local targets", %w[html_links complete_manifest url_resolver], %w[external and deployment_owned targets are unverified], "Correct the href or declare the target outside the managed build."],
"links.fragment_missing" => ["architecture", "A", "error", %w[URI], "managed local HTML links with fragments", %w[html_links target_ids named_anchors], %w[empty/top/text_fragments and unsupported targets are skipped], "Correct the fragment or add the referenced ID/name anchor."],
"architecture.orphan" => ["architecture", "B", "warning", %w[G-LINK], "non-root rendered content pages", %w[html_navigation_links complete_inventory], %w[self_links redirects and explicit_exemptions are excluded], "Add an incoming rendered navigation link or declare the page exemption."],
"identity.canonical_invalid" => ["identity", "A", "error", %w[URI CAN], "head canonical declarations", %w[canonical_hrefs uri_parser], %w[valid relative empty_self external or unsupported_iri cases are not rejected], "Remove the malformed canonical or replace it with a valid URI reference."],
"identity.canonical_multiple" => ["identity", "A", "error", %w[CAN G-CAN], "documents with canonical declarations", %w[all_canonical_hrefs url_resolver], %w[identical repeated declarations collapse], "Keep one canonical URL, or make repeated declarations identical."],
"identity.canonical_target_missing" => ["identity", "A", "error", %w[CAN], "managed local canonical targets", %w[canonical_uri local_inventory], %w[external targets remain unverified], "Correct the canonical target or publish the managed target."],
"structure.title_missing" => ["structure", "B", "warning", %w[G-AI], "rendered HTML documents", %w[rendered_title], %w[front_matter alone does not satisfy the rendered check], "Render a nonempty title for the document."],
"structure.h1_absent" => ["structure", "C", "info", %w[HEAD], "confidently extracted content pages", %w[content_extraction heading_tree], %w[ambiguous or body_fallback extraction skips the content-sensitive check], "Review the content selector or render a level-one heading."],
"structure.heading_empty" => ["structure", "B", "warning", %w[HEAD], "content headings", %w[heading_text accessible_name visibility], %w[decorative hidden and complex naming cases are skipped], "Give the heading text or a supported accessible name."],
"structure.heading_jump" => ["structure", "C", "info", %w[HEAD], "confidently extracted heading sequences", %w[ordered_content_headings], %w[closing subsections and ambiguous extraction are excluded], "Review the heading hierarchy around the reported pair."],
"structure.id_duplicate" => ["structure", "A", "error", %w[URI], "rendered documents", %w[element_ids named_anchors], %w[only repeated nonempty identifiers are reported], "Make each fragment identifier unique within the document."],
"structure.link_unnamed" => ["structure", "B", "warning", %w[LINK G-LINK], "navigational anchors", %w[anchor_text image_alt aria_name], %w[complex unsupported accessible naming is skipped], "Add link text, an image alt, or a supported accessible name."],
"provenance.jsonld_invalid" => ["provenance", "A", "error", %w[JSON], "application/ld+json scripts", %w[script_text json_parser script_line], %w[valid unsupported JSON-LD is not an error], "Fix the JSON syntax in the reported structured-data script."],
"provenance.date_invalid" => ["provenance", "B", "warning", %w[G-DATE G-ARTICLE], "recognized explicit publication/modification fields", %w[explicit_data rendered_metadata primary_article machine_dates], %w[natural_language and unrelated Event dates are excluded], "Replace the value with a valid ISO date or timezone-aware timestamp."],
"provenance.date_order" => ["provenance", "B", "warning", %w[G-DATE G-ARTICLE], "an unambiguous primary Article with comparable dates", %w[article_identity publication_date modification_date], %w[date_only uncertainty intervals and timezone_free timestamps without configured timezone skip], "Check the metadata sources and correct the modification/publication ordering."],
"provenance.metadata_conflict" => ["provenance", "B", "warning", %w[G-DATE G-ARTICLE], "equivalent mapped provenance fields with at least two comparable sources", %w[explicit_data rendered_metadata primary_article], %w[aliases brand_suffixes unrelated_graph_nodes unresolved_references and compatible_precision are excluded], "Reconcile the conflicting declarations or remove the unsupported claim."],
"architecture.unreachable" => ["architecture", "B", "warning", %w[G-LINK], "complete directed HTML graph", %w[graph_roots complete_inventory navigation_edges], %w[deferred until graph reachability and root validity are shipped], "Add a path from a configured root or document the page as intentionally outside navigation."],
"architecture.weak_connections" => ["architecture", "C", "info", %w[G-LINK], "opt-in graph connection analysis", %w[incoming_navigation contextual_edges], %w[no minimum link count or ranking cutoff], "Review contextual links if the observed connection is unintended."],
"duplicates.exact_body" => ["duplicates", "C", "info", %w[G-CAN], "distinct page identities with comparable content", %w[normalized_main_content representation_exclusions], %w[duplicate text is an observation, not an automatic harmfulness claim], "Review whether the pages should remain distinct or declare an equivalent representation."],
"duplicates.near_body" => ["duplicates", "D", "experimental", %w[GEO CSEO AGEO], "explicitly configured lexical similarity analysis", %w[tokenizer threshold bounded_candidate_comparison], %w[heuristic candidates can miss pairs and do not imply plagiarism], "Review the reported overlap and its configured algorithm; do not auto-merge pages."],
"identity.canonical_review" => ["identity", "C", "info", %w[CAN G-CAN], "opt-in content pages with canonical declarations", %w[public_url canonical_url expected_canonical], %w[an external or superseding canonical is valid and difference alone is not a defect], "Confirm that the differing canonical expresses the intended syndication or consolidation."],
"identity.canonical_chain" => ["identity", "B", "warning", %w[CAN], "opt-in managed canonical graph", %w[local_canonical_edges cycle_detection], %w[external canonical edges are outside the local chain], "Point the page directly at the intended canonical target and remove the cycle."],
"identity.canonical_absent" => ["identity", "C", "info", %w[G-CAN], "opted-in content pages", %w[rendered_canonical_declarations], %w[HTTP-header canonicals are unknown], "Add a canonical if the publication contract calls for one."],
"structure.link_generic" => ["structure", "C", "info", %w[LINK G-LINK], "opt-in rendered navigational links", %w[link_label locale context], %w[locale-specific detection is contextual and not an accessibility failure], "Use a link label that identifies the destination in context."],
"structure.table_headers" => ["structure", "B", "warning", %w[TABLE], "opt-in author-declared data tables", %w[table_structure header_relationships], %w[layout and ambiguous tables are skipped], "Add explicit header relationships to the data table."],
"structure.long_section" => ["structure", "D", "experimental", %w[G-2026], "opt-in sections with an author-configured threshold", %w[section_boundaries tokenizer threshold], %w[no universal threshold or forced_chunking recommendation], "Review the measured section size and threshold as an editorial choice."],
"structure.main_landmark" => ["structure", "C", "info", %w[G-2026], "opt-in rendered pages without a confident content landmark", %w[main_landmarks content_selector], %w[the observation does not claim invalid HTML], "Configure the content selector or provide an unambiguous main landmark."],
"provenance.author_absent" => ["provenance", "C", "info", %w[G-WHO], "opted-in article profiles", %w[rendered_author_evidence explicit_vs_rendered_provenance], %w[front_matter_only evidence is reported as not rendered], "Render a recognized person or organization author when the profile contract requires one."],
"provenance.author_profile_absent" => ["provenance", "C", "info", %w[G-ARTICLE], "opted-in profiles with recognized authors", %w[author_profile_url sameAs linked_byline], %w[organizations and pseudonyms are valid; social links are not required], "Add a profile URL, sameAs relation, or linked byline where appropriate."],
"provenance.publication_absent" => ["provenance", "C", "info", %w[G-DATE], "opted-in article profiles", %w[explicit_publication_evidence], %w[generic pages and inferred collection timestamps are excluded], "Publish explicit publication date evidence if the profile requires it."],
"provenance.modification_absent" => ["provenance", "C", "info", %w[G-ARTICLE], "profiles explicitly opting into update metadata", %w[explicit_update_intent rendered_modification_field], %w[no default check for every article], "Render an explicit modification date or remove the update-metadata declaration."],
"provenance.publisher_absent" => ["provenance", "C", "info", %w[G-WHO], "opted-in profiles", %w[recognized_publisher configured_visible_site_identity], %w[do not infer a publisher from a domain or arbitrary site title], "Provide a recognized publisher identity when the profile requires one."],
"citations.quote_attribution" => ["citations", "C", "info", %w[G-WHO], "opt-in marked-up quotations", %w[quotation_markup cite_url visible_attribution exemptions], %w[attribution detection cannot prove correctness], "Add a source link or visible attribution where appropriate."],
"citations.sources_inventory" => ["citations", "C", "info", %w[G-LINK], "opt-in rendered documents", %w[reference_links citation_markup external_link_classification], %w[zero references is an observation, never unsupported_claims proof], "Review the source inventory as an editorial observation."],
"representations.identity_conflict" => ["representations", "B", "warning", %w[URI], "recognized sibling metadata representations", %w[advertised_sibling equivalent_identity_date_fields], %w[raw Markdown without metadata and unadvertised siblings are skipped], "Reconcile the sibling representation's explicit identity or date metadata."],
"retrieval.definition_candidates" => ["retrieval", "D", "experimental", %w[GEO CSEO AGEO], "opt-in semantic candidate inventory", %w[passage_text lexical_candidate_detector], %w[no definition quota or semantic-understanding claim], "Review candidates editorially; do not add definitions to satisfy a quota."],
"retrieval.concrete_fact_candidates" => ["retrieval", "D", "experimental", %w[GEO CSEO AGEO], "opt-in semantic candidate inventory", %w[passage_text candidate_detector], %w[cannot establish factuality or distinguish fiction without context], "Review candidates editorially; the detector does not verify facts."],
"retrieval.numeric_context" => ["retrieval", "D", "experimental", %w[GEO CSEO AGEO], "opt-in numeric-context inventory", %w[numbers units dates nearby_prose], %w[more numbers are not inherently better; preserve scope and uncertainty], "Review numerical context and scope editorially."],
"retrieval.comparison_candidates" => ["retrieval", "D", "experimental", %w[GEO CSEO AGEO], "opt-in comparison candidate inventory", %w[comparison_passage dimensions], %w[no comparison-section or table requirement], "Review whether the comparison is useful for readers."],
"retrieval.procedure_candidates" => ["retrieval", "D", "experimental", %w[GEO CSEO AGEO], "opt-in procedure candidate inventory", %w[ordered_instruction_candidates], %w[nonprocedural pages need no numbered list], "Review procedure candidates editorially."],
"retrieval.example_candidates" => ["retrieval", "D", "experimental", %w[GEO CSEO AGEO], "opt-in example/code candidate inventory", %w[labeled_examples code_samples], %w[no minimum example count], "Review whether examples clarify the subject."],
"retrieval.subject_context" => ["retrieval", "D", "experimental", %w[GEO CSEO AGEO], "opt-in passage context inventory", %w[passages heading_ancestry pronoun_candidates], %w[do not force repetition or an answer-first template], "Review isolated passages with their heading context."],
"citations.claim_source_alignment" => ["citations", "D", "experimental", %w[GEO CSEO AGEO], "opt-in claim/source candidate inventory", %w[claims nearby_links citation_context], %w[link proximity is not entailment or verification], "Review whether the cited source supports the claim."],
"provenance.originality_evidence" => ["provenance", "D", "experimental", %w[GEO CSEO AGEO], "opt-in declared originality evidence inventory", %w[declared_methods datasets observations], %w[declarations do not prove first-party origin; no originality score], "Review the declaration and supporting evidence editorially."]
}.freeze