// ai

How we use AI

wro.cpp is an openly AI-assisted publication. This page says exactly how, so you never have to guess.

Most posts here are drafted by an AI model (Claude, by Anthropic), directed and reviewed by a human. We say so on every post, and this page explains what that means in practice.

What the label on each post means

Every article carries one of three labels in its byline, linking back here:

  • AI-generated — the model wrote the prose. A human (currently Filip Sajdak) chose the topic, directed the structure, checked the facts, and reviewed the result. This is the default for the site.
  • AI-assisted — a human wrote or substantially shaped the argument and prose; the model helped draft, refine, or research parts of it.
  • Written by a human — no meaningful AI involvement in the text.

The declaration is also emitted as a ai-content-declaration meta tag in each post's HTML, so tools and readers can read it without parsing the page.

What we verify, every time

AI-drafted does not mean unchecked. Before a post ships:

  • Every code example is compiled and run on Compiler Explorer, and the post links to that exact session. If it does not build, it does not publish.
  • Claims, papers, and numbers are checked against primary sources. We drop anything we cannot confirm rather than guess.
  • A human reads the result and takes responsibility for it.

Where we publish, and where we do not

We publish AI-assisted content on our own channels: this site, and our LinkedIn and Facebook pages, where it is labeled as above.

We do not post it to communities that disallow AI-generated content, such asr/cpp andr/programming. Their rules are their call, and "human-edited AI" does not exempt a post from those rules. We are not going to try to slip AI content past a venue that has asked us not to, and we are not going to pass it off as hand-written. If a reader chooses to share a post somewhere, that is up to them.

Why we disclose

Two reasons. First, it is the honest thing: you should know how what you are reading was made. Second, under the EU AI Act (Article 50), a publisher using a generative model is a deployerwith a transparency obligation, and clear disclosure is how we meet it. There is no mature technical watermarking standard for text yet, so a visible, consistent label is the accepted practical answer.

Feedback

If you think a post is mislabeled, or you disagree with how we do this, tell us: open an issue or discussion on the site repo, or reach us onSlack. We would rather get this right in the open.