cd /news/artificial-intelligence/we-audited-134522-posts-to-see-why-a… · home › topics › artificial-intelligence › article
[ARTICLE · art-155982] src=dev.to ↗ pub= topic=artificial-intelligence verified=true sentiment=· neutral

We audited 134,522 posts to see why AI writing still sounds fake (and open-sourced a deterministic syntactic gate)

Adrian Peticila audited 134,522 organic LinkedIn posts from 1,499 founder profiles spanning January 2023 to September 2026 and found that while mocked AI verbs fell 88.1%, syntactic tells surged: "here's why" openers rose 7.4x, "it's not X, it's Y" constructions 4.9x, and arrow/emoji bullet lists 20.5x. Average sentence burstiness (coefficient of variation) dropped 52.1%, from 0.48 in human text to 0.23, which Peticila attributes to RLHF models converging on a 14-18 word sentence mean. He open-sourced grai, a deterministic vanilla-JS preflight gate that rejects drafts with CV below 0.32, including a pure-JS FIPS 180-4 SHA-256 implementation to work around WebKit/Chromium blocking crypto.subtle.digest on file:// origins.

by read2 min views3 publishedOct 23, 2026

in 2025/2026, everyone removed the obviously AI keywords from their prompts. but even non-dev/tech-minded readers can detect an LLM post in the first 3 sentences.

why? because they removed the words that people made fun of, but not the syntactic patterns that betray RLHF models.

to quantify the change, we audited 134,522 random organic linkedin posts on 1,499 founder profiles, over jan'23 to sep'26 timeframe (LigoSocial dataset).

SYNTACTIC PATTERN JAN'23 SEP'26 RELATIVE CHANGE
mocked ai verbs 4.2% 0.5% -88.1%
"here's why" epiphany onset 1.3% 9.6% +7.4x
"it's not X, it's Y" negate 1.2% 5.9% +4.9x
arrow & emoji bullets waterfall 0.6% 12.3% +20.5x

| avg. sent burstiness (CV=$\sigma$/$\mu$) | 0.48 | 0.23 | -52.1% | most indicative is burstiness (CV=$\sigma$/$\mu$ - std.dev. of sentence word count over avg. sentence word count)

normal human, non-assisted text: CV=0.48. you may see sharp jumps of 4-word observation. and then next to it, 32-word breakdown of architecture. default GPT4o/claude 3.5 sonnet. tightly cluster around 14-18 words/sentence. (CV=0.21-0.23).

if you ask llm "vary sentence length. don't use contrastive negatives". the model takes it as a soft weighting in attention. but then, in 3rd paragraph it tries to converge back to a safe, well-mannered 15-word mean (rlhf). you can't use a prob. generator as deterministic linter.

we designed grai to be two layers:

The model will not self-censor: deterministic external (non-LLM) vanilla JS preflight engine is applied to each draft:

HARD_BURSTINESS_FLOOR ($CV > 0.32). Computes sentence wordcount variance. (Preserves decimal "3.14", abbreviations "U.S.", "Dr." etc.) Any draft that does not have $CV > 0.32, is rejected.

Engineering quirk. FIPS 180-4 SHA256 on "file://"

We made the workbench (grai.html) to be 100% offline from disk. Use the file:// protocol and strict Content-Security-Policy (connect-src 'none' by default). Here's where we ran into some problems testing on WebKit/Chromium. They block window.crypto.subtle.digest("SHA-256") on file:// (local files are not Secure Context). We need SHA256 fingerprint of author's voice profile to be deterministic for our printable A4 Voice DNA Dossier. So we created a pure JS FIPS 180-4 SHA256 workaround. To have the same hash whether we load it from disk or over HTTPS.

Try the Scorer, or the MIT Harness

• Live Cadence Gate Scorer (free - no signup required) [https://grai.page/#test](https://grai.page/#test)

• Full 134522-post Methodology Report [https://grai.page/methodology](https://grai.page/methodology)

• Github repo (MIT skill & instructions) [https://github.com/adrianpeticila/grai](https://github.com/adrianpeticila/grai)
── more in #artificial-intelligence 4 stories · sorted by recency
── more on @adrian peticila 3 stories trending now
sponsored brought to you by zahid.host 4,200+ EU-deployed projects
reading about agents? ship yours in a single git push.

Run your AI side-project on zahid.host

EU-based hosting, git-push deploys, automatic HTTPS, no cold starts. Free tier with a custom domain — perfect for shipping the agent you just read about.

$git push zahid main
→ Live at https://your-agent.zahid.host ✓
Get free account → Pricing
from €0/mo · no card required
LIVE [news/we-audited-134522-po…] indexed:0 read:2min 2026-10-23 · —