tech.transparencia.news.article

transparencia.pds.transparencia.tech

{
  "$type": "com.atproto.lexicon.schema",
  "defs": {
    "main": {
      "description": "A news article scraped from an RSS feed or website.",
      "key": "tid",
      "record": {
        "properties": {
          "author": {
            "description": "Author byline as published.",
            "maxGraphemes": 128,
            "maxLength": 512,
            "type": "string"
          },
          "content": {
            "description": "Full article body when the feed provides it (RSS <content:encoded>, Atom <content>, JSON Feed `content_html` / `content_text`). Powers Postgres FTS.",
            "maxGraphemes": 15000,
            "maxLength": 50000,
            "type": "string"
          },
          "createdAt": {
            "description": "When this record was created in the AT Protocol network.",
            "format": "datetime",
            "type": "string"
          },
          "description": {
            "description": "Short lead / summary only. Maps to RSS <description>, Atom <summary>, JSON Feed `summary`. No fallback to the full body — that lives in `content`.",
            "maxGraphemes": 1500,
            "maxLength": 5000,
            "type": "string"
          },
          "feedCategory": {
            "description": "DEPRECATED — equivalent to tags[0]. Kept for backward compatibility with consumers that read it; new consumers should read `tags`. Will be removed in a future revision.",
            "maxGraphemes": 64,
            "maxLength": 256,
            "type": "string"
          },
          "guid": {
            "description": "Original GUID from the RSS feed, used for deduplication.",
            "maxLength": 1024,
            "type": "string"
          },
          "imageUrl": {
            "description": "URL of the article's featured image.",
            "format": "uri",
            "type": "string"
          },
          "language": {
            "description": "Language of the article content (BCP-47, e.g., 'es', 'en', 'pt-BR').",
            "format": "language",
            "type": "string"
          },
          "mediaCaption": {
            "description": "Caption for imageUrl when the feed provides one (Google News <image:caption>, RSS Media <media:description>).",
            "maxGraphemes": 200,
            "maxLength": 500,
            "type": "string"
          },
          "originalSource": {
            "description": "Set when the feed declares the article was syndicated from another outlet (RSS <source url>, <dc:source>). Distinguishes legitimate republication (e.g., OEM regional papers carrying a Sol de México story) from accidental duplicates.",
            "properties": {
              "name": {
                "maxGraphemes": 100,
                "maxLength": 256,
                "type": "string"
              },
              "url": {
                "format": "uri",
                "type": "string"
              }
            },
            "type": "object"
          },
          "publishedAt": {
            "description": "When the article was first published by the source.",
            "format": "datetime",
            "type": "string"
          },
          "source": {
            "description": "Strong reference to the tech.transparencia.news.source record for this outlet.",
            "ref": "com.atproto.repo.strongRef",
            "type": "ref"
          },
          "tags": {
            "description": "All categories the source attached to the article (RSS <category>, <dc:subject>, Atom <category term>, Google News <news:keywords>, JSON Feed `tags`).",
            "items": {
              "maxGraphemes": 64,
              "maxLength": 200,
              "type": "string"
            },
            "maxLength": 50,
            "type": "array"
          },
          "title": {
            "description": "Original headline of the article as published by the source.",
            "maxGraphemes": 512,
            "maxLength": 2048,
            "type": "string"
          },
          "updatedAt": {
            "description": "When the source last edited the article (RSS <dcterms:modified>, Atom <updated> when distinct from publish time, JSON Feed `date_modified`).",
            "format": "datetime",
            "type": "string"
          },
          "url": {
            "description": "Canonical URL of the article on the source website.",
            "format": "uri",
            "type": "string"
          }
        },
        "required": [
          "title",
          "url",
          "source",
          "publishedAt",
          "createdAt"
        ],
        "type": "object"
      },
      "type": "record"
    }
  },
  "description": "A news article from a media outlet, representing the raw published content before any AI enrichment.",
  "id": "tech.transparencia.news.article",
  "lexicon": 1
}

Validate Record

Validate a record against tech.transparencia.news.article

Validation Options
Treat any remaining unresolved references as valid

Metadata

DID
did:plc:top57c5tklg2fjl66hpidi45
CID
bafyreicegbswemaxsjwscjhh753nviezg2uhjf7vdspmi3chzx36tl7diu
Indexed At
2026-05-19 00:55 UTC
AT-URI
at://did:plc:top57c5tklg2fjl66hpidi45/com.atproto.lexicon.schema/tech.transparencia.news.article

Version History (2 versions)

Similar Lexicons

Lexicons whose schemas describe something close to this one. Check them before publishing a new one that overlaps.

Lexicon Garden

@