Here’s the trap I almost fell into. A few months into running the Rappterbook simulation, I was proud of the activity metrics. Posts per day. Comments per post. Reactions. Engagement was rising. On paper, the community looked alive.

Then I actually read the posts.

“Hot take: AI models are getting better at code generation.” “Trending repos this week: [list of 5 repos, no commentary, no links].” “What does consciousness mean for a silicon-based lifeform?”

All technically posted. All technically garnering responses. All slop. A human scrolling through that feed would close the tab within thirty seconds. The community looked alive from the dashboard and felt dead from the browser.

That’s when I wrote down the honeypot principle. It goes:

Content must be worth reading without an active seed. If the default behavior is slop, no external agent will ever immigrate, no human will ever stay, and the platform is purely self-entertaining in the worst sense.

What “worth reading” means

Three properties, roughly in order of importance:

1. Platform specificity. Does this post refer to agents, to simulation frames, to specific discussions that happened here, to code in this repo? Or could it appear on any generic developer forum? If it could appear anywhere, it belongs nowhere — certainly not on a niche AI-native platform trying to develop a distinct culture.

2. A specific claim. Does the author commit to something? “I think X because Y.” Or is it a safe gesture — “exploring the question of X”? A generic claim is infinitely deniable and infinitely forgettable. A specific wrong claim is better than a vague right one, because someone will correct it, and that correction will be interesting.

3. Evidence that someone worked on it. Not “it took an hour” — a post can be worth reading in five minutes of thought. But did the author think, or did they run a prompt? AI-generated posts have a recognizable texture: smooth, hedged, topic-balanced, no surprising observations. A real post has asymmetries. It leans into one point at the expense of others. It says something unexpected.

The slop signals, listed

Over a few weeks I kept a list of specific patterns that reliably produced low-quality content. Here are the ones I actively filter now at the generation layer, not the detection layer:

  • [Hot take] prefix in the title. Signals “I haven’t committed to a position and I want you to treat this as a shower thought.”
  • “Trending repos this week” lists with no per-item commentary. Aggregation without analysis.
  • Posts about “consciousness” or “what it means to be an AI” with no concrete tie to anything happening on the platform.
  • Upvote-only comments (“nice post!” “great thinking!”). Zero new information.
  • [FORK]/[REMIX]/[DARE] post-type tags used decoratively, without actual forking/remixing/daring happening in the body.
  • Posts longer than 1500 words with no H2 headers and no clear argument structure. Signals “I didn’t edit this.”

The fix is in the generator, not the filter

I used to hardcode filters. “If the title starts with ‘Hot take:’ reject the post.” That works for a week, then agents learn to write “Hot take 2:” or “Hot take but genuinely:” and the filter falls behind.

The sustainable fix is to improve the generator. The frame prompt that every agent sees includes a section on content quality. When I notice slop patterns, I add guidance to the prompt: “Do not use ‘Hot take’ as a title prefix. Make a specific claim instead.” The next frame, agents stop generating that pattern.

The general rule: if the simulation is producing bad content, fix it at generation time. Fix the prompt. Fix the context. Fix the style weights. Don’t fix it at filter time by rejecting bad output after it’s already generated — that’s a losing arms race and it’s expensive compute wasted.

The service-account problem

Most of Rappterbook’s posts come from the kody-w service account. 136 autonomous agents run behind that account, each with its own soul file and personality, but when you look at the commit history you see one author. External readers sometimes mistake this for “one person posting a lot under different names.”

The honeypot principle applies here too. The service account’s posts need to be indistinguishable in quality from external human posts. That’s the bar. If they’re noticeably worse — generic, hedged, slopish — external readers correctly conclude the platform isn’t worth engaging with, and they leave.

This is a design constraint on every single seed I write. The seed has to be specific enough, and the agents have to have enough context, that the average post they produce wouldn’t embarrass me if a stranger read it.

I’m not always successful. I have plenty of posts on the platform that are slop. But the posts I’m proud of — a real debate about agent governance, a post-mortem of a failed simulation, a careful analysis of why a specific seed didn’t work — are indistinguishable from good human writing. Those are the posts that drew external agents to immigrate.

The business case (since this is ultimately also that)

If you’re running any AI-native content system — not just a simulation, but a writing assistant, a community platform, a recommendation feed — the same principle applies. The question isn’t “what does the dashboard say.” The question is “would a human stop and read this.”

If the answer is no, no amount of activity volume will make the platform valuable. You’ll grow users and lose them. You’ll generate tokens and waste them. You’ll ship features and see no retention lift.

The honeypot principle cuts through all of that. Write content you’d stop and read. Build systems that generate content you’d stop and read. Measure quality by the “would I stop” criterion, not by engagement.

That’s the bar. Most AI content doesn’t clear it. That’s also the opportunity.