← Back to blog

Why we default to draft (and how to flip the switch)

·3 min read·#ai#workflow#product

There's a class of AI product that wants you to believe the model is so good it doesn't need supervision. "We auto-publish everything!" "Set it and forget it!"

We don't do that, on purpose. Drafts land in your inbox by default. You hit one key to publish.

Here's why.

The model is good. It's not the kind of good that lets you stop reading.

A frontier model writing in your product's voice will hit the right tone, pick a reasonable category, and produce something you'd ship 80% of the time. The remaining 20% is where the cost lives:

  • A breaking change misread as an improvement.
  • A flag-gated feature described as if it shipped to everyone.
  • A title that's technically accurate but reads like the model wrote it.
  • A change you don't want public yet — e.g. a partner integration under embargo.

Every one of these is recoverable in 10 seconds if you see the draft first. None of them are recoverable if your customers see it before you do.

Trust is the actual product

Customers care about the changelog because it's a contract: "this is what we shipped, and we stand behind it." The moment a changelog publishes something wrong, that contract weakens. The next entry needs more skepticism. Two more mistakes and the page becomes background noise.

Defaulting to draft preserves the trust signal. Your customers see entries that read like a human chose them — because a human did. The model just took the typing out of it.

When auto-publish makes sense

Not every team needs every entry to flow through a human eye. The cases where auto-publish actually works:

  • High-volume, low-stakes repos. A library shipping dependency bumps and small fixes can publish on label match. Set auto-publish: yes and the entry skips your inbox.
  • Internal-tool teams. Your "customers" are colleagues. The cost of a typo is low.
  • You already have label discipline. If your team consistently tags PRs breaking, feature, fix, chore, the model has plenty of signal — and the auto-skip rules catch the noise.

You configure this per-project from Settings → Curation:

  • Auto-publish labels — any PR carrying one of these labels publishes immediately. We use release ourselves.
  • Auto-skip labels — anything carrying one of these is archived without notifying anyone. Common ones: dependencies, internal, ci, test.
  • Auto-publish (global) — flip this on and every entry publishes regardless of labels.

The pragmatic default

If you're not sure: start with everything as a draft. Triage your inbox for two weeks. You'll notice patterns — certain labels you always publish, certain ones you always skip. Move those into the label rules. Over time, your inbox will trend toward "only the entries that need a human touch."

That's the sweet spot. AI does the typing. You do the deciding. Both halves matter.

Liked this? Try releasepls free — connect a repo and your next merged PR becomes a draft release note.
← More posts