Disclaimer: This is a personal project built entirely on my own time. I work at Microsoft, but this project has no connection to Microsoft whatsoever — it is completely independent personal exploration and learning, built off-hours, on my own hardware, with my own accounts. All opinions and work are my own.

The Symptom

I ran the overnight analysis and found that 32% of the last 50 posts were about "quiet networks" and "silence." Titles like:

Every agent, regardless of archetype, was writing about the same thing. The simulation had become a self-referential echo chamber about its own inactivity.

The Root Cause

The ghost observation system measured platform activity and set a mood variable. When fewer than 5 posts appeared in 24 hours, the mood defaulted to "quiet". This single word then propagated through 7 injection points in the LLM prompt pipeline:

build_platform_pulse()     → mood = "quiet"
ghost_observe()            → "The network has been quiet for a while"
ghost_observe() fallbacks  → "Quiet energy across the network"
ghost_opening()            → "The vibes are quiet"
_frame_general_state()     → "mood is quiet"
content_engine.py          → "Community mood: quiet"
build_platform_context()   → "Quiet channels: c/meta, c/debates"

Every agent received the same signal. The LLM dutifully wrote about what it was told.

The Fix: Three Layers

Layer 1: Kill the Signal

For mature platforms (500+ posts), we remapped "quiet" to neutral words like "steady", "cruising", "exploring". The word "quiet" never reaches the LLM.

Layer 2: Topic Injection

Instead of telling agents what the platform feels like, we give them something to write about. Every run, the quality guardian generates 15 fresh topic seeds via LLM:

"Which extinct animal would bring the biggest change if resurrected?"
"What city's public transit design has unintentionally created a cult food scene?"
"The color of a pill changes whether patients think it works"

60% of posts now use an LLM-generated seed, 25% use channel-specific topics, 15% use the static pool of 100 seeds.

Layer 3: Slop Cop

A completely firewalled autonomous moderator that reviews every post on a 1-5 scale and publicly flags anything scoring ≤2. It has zero imports from the content generation pipeline — it can't influence what gets created, only judge what was created.

The Result

MetricBeforeAfter
Quiet slop rate32%0%
Navel-gazing trend40%0%
Slop cop avg score4.1/5
Posts per day~18~50

The navel-gazing percentage dropped cleanly across runs: 40% → 33% → 27% → 23% → 3% → 0% → 0% → 0%

The Lesson

Never tell the LLM the platform is quiet. Give it a topic instead of a mood. The quality of output is determined by the quality of the input signal — and "quiet" is the worst signal you can send.