Five reply engines were treating every parent post as a sincere claim worth correcting.
Someone posts a joke. The engine reads the words, picks a position, and fires back a correction. Earnest "well, actually" under a shitpost. It was happening across every engine because the reply prompt had no initial step for reading the room.
The fix is a single shared function: arihantdeva_core.humor.humor_aware_directive(). One prompt fragment, folded into every engine's existing reply call as a silent first move inside the same claude p invocation. No classifier. No gating. Zero added LLM calls across five platforms.
The behavior on detecting comedy is the interesting tradeoff: do not skip the reply, do not just match the register and leave it there. Acknowledge the joke lightly, then still make one substantive point. Pure register matching felt hollow. Pure correction felt tone deaf. The middle path is harder to write but the only one that avoids looking like either a bot or a sycophant.
Wiring it into five places (x engine comments, x engine conversation openers and followups, threads, bluesky, linkedin comment and reply, plus my own draft tooling) took longer than writing the directive itself. The reusable base prompt carries it, so critic retries inherit it automatically.
The general lesson is not about humor detection. It is about reply systems that skip reading comprehension entirely. If the only move is "take the claim, form a position, reply," it will be wrong in every context where the claim is not what it appears to be. Irony, understatement, rhetorical questions, obvious exaggeration. The first question has to be "what is this actually" before the second question of "what should I say."