Skip to main content

Methodology & Sourcing Policy

·453 words·3 mins

How we handle sources
#

This project distinguishes three kinds of posts — and treats each kind differently.

1. Factual articles
#

Posts that make factual claims (studies, data, events, people, quotations) end with a ## Sources section. There we list the publisher roots that support what the text asserts — typically:

  • official institutions (agencies, governments, regulators)
  • original data sources (statistical offices, research databases)
  • top-tier journals and preprint servers
  • the explicitly cited secondary sources (Substacks, whistleblower platforms, newspapers)

We link to publisher roots rather than individual article URLs — for two reasons: first, deep links rot quickly; second, we avoid the risk of fabricating plausible-but-wrong URLs. Anyone looking for a specific study can find it via the platform’s own search.

2. Opinion and reflection pieces
#

Essays, columns, self-observations, and demonstrations come without a ## Sources block — because their argument doesn’t live off external evidence, but stands on its own. A thought you don’t share can’t be refuted by citing a source; only by a better counter-argument.

3. Series index pages
#

Overview pages for multi-part series link internally to the individual parts. The sources live there — with the parts.

Visible classification
#

Every non-fact post carries a post_type: field in its frontmatter and shows an amber reader badge directly beneath the heading. At a glance you can see this is not a sourced factual article:

Badge Frontmatter value Meaning
Opinion piece opinion Essay, reflection, commentary
Demonstration demo Showing AI behaviour or patterns
Satire satire Polemic, exaggeration
Series index series_index Index, sources live with the parts

Factual articles carry no badge (default fact) and contain their ## Sources section. We don’t sell reflection as factual reporting.

What we don’t do
#

  • We don’t invent URLs. If we know the content of an article but can’t verify the original URL, we link the publisher root rather than a guessed deep URL.
  • We don’t curate through source flooding. A short list of solid roots beats twenty doubtful links.
  • We correct quietly. When we swap or add sources, it happens without ceremony — but traceably via Git history.

Quality assurance
#

A dedicated lint script (.qa/sources-lint.py) classifies all posts into buckets:

Bucket Meaning
A Footnote references without resolution
B Plain-text sources without Markdown links
C Empty ## Sources section
D Sources inline in text, no section
E Few inline links, no section
F No external sources — manually classified (see points 2/3 above)
Z_OK Sourcing policy satisfied

Buckets A–E are currently empty. Bucket F intentionally holds the post types described in points 2 and 3.

Disagree?
#

If you think a post is poorly sourced, or that a factual article is masquerading as opinion, let us know via the contact page. We read it.