{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "emergence/article.schema.json",
  "title": "Scraped article (unverified lane intake)",
  "type": "object",
  "required": ["id", "status", "source_id", "via", "url", "title", "scraped_at", "date"],
  "properties": {
    "id": { "type": "string", "pattern": "^art_[a-f0-9]{12}$" },
    "status": { "const": "unverified" },
    "source_id": { "type": "string" },
    "source_name": { "type": "string" },
    "via": { "type": "string", "description": "transport: rss | google-news-rss | ..." },
    "url": { "type": "string", "format": "uri" },
    "url_direct": { "type": ["string", "null"], "format": "uri" },
    "title": { "type": "string", "minLength": 1 },
    "summary": { "type": ["string", "null"] },
    "published_at": { "type": ["string", "null"] },
    "scraped_at": { "type": "string" },
    "date": { "type": "string", "pattern": "^\\d{4}-\\d{2}-\\d{2}$" }
  }
}
