extends: existence
message: "A dated claim with no card reference. Every story fact needs a [card:ID]."
level: error
scope: paragraph
raw:
  - '\b(1[0-9]{3}|20[0-9]{2})\b(?![^\n]*\[card:[A-Za-z0-9-]+\])'
