front-matter-schema | missing title/date/lastmod/tags | fill required front matter fields |
image-first / image-attribution | body starts with text / no attribution line | put the main image first, italic source line right below |
section-order / heading-canonical | sections out of structure.order / wrong heading level | reorder per blog.yaml; use ## for recognized sections |
min-sources | sources section below geo.min_sources | add source entries |
numeric-claim-sourced | a numeric claim added since HEAD has no source | add an inline source link in the same paragraph |
citation-exists | URL not 200 / title mismatch | replace with a real URL whose title overlaps the anchor text (or --offline to skip) |
honest-lastmod | lastmod advanced without a meaningful body diff or queue membership | make a real >= geo.min_meaningful_diff change, or do not touch lastmod |
front-matter-intact | changed a field other than lastmod | revert all front matter except lastmod |
slug-consistency / hreflang-complete | slug differs across languages / missing hreflang | use one valid slug across all languages; build all-language alternates |
review-record | missing REVIEW record / no reviewer: line / undisposed claim | add a separate-context review with a disposition per match-missing claim |
translation-parity | structure drift from origin | match headings, paragraph blocks, images, code, links, date/lastmod |
lastmod-advance (refresh) | empty refresh (lastmod not advanced) | make real changes and advance lastmod |
claim-preserved (refresh) | numeric claim count dropped | replace stale figures, do not delete claims |
claims-resolved / rot-resolved (evidence) | queued unsourced claim still unsourced / rot URL still cited | add a source in-paragraph; replace dead URLs |
claim-scope (evidence) | a claim outside the queue payload changed | leave non-queued claims byte-identical; do not re-wrap claim lines |
cluster-resolved (cluster) | queued cluster violation still present on rescan | fix tags / add internal links from payload candidates |
queue-scope (queue quests) | edited a file outside the allowed set, or touched the queue file pre-gate | restrict edits to the target article + its translations + insight sidecar (+ cluster candidates); delete the queue file only in the final commit |