{"slug": "we-audited-134522-posts-to-see-why-ai-writing-still-sounds-fake-and-open-sourced", "title": "We audited 134,522 posts to see why AI writing still sounds fake (and open-sourced a deterministic syntactic gate)", "summary": "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.", "body_md": "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.\n\nwhy? because they removed the words that people made fun of, but not the *syntactic patterns* that betray RLHF models.\n\nto 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).\n\n| SYNTACTIC PATTERN | JAN'23 | SEP'26 | RELATIVE CHANGE | \n|---|---|---|---|\n| mocked ai verbs | 4.2% | 0.5% | **-88.1%** | \n| \"here's why\" epiphany onset | 1.3% | 9.6% | **+7.4x** | \n| \"it's not X, it's Y\" negate | 1.2% | 5.9% | **+4.9x** | \n| arrow & emoji bullets waterfall | 0.6% | 12.3% | **+20.5x** | \n| avg. sent burstiness (CV=$\\sigma$/$\\mu$) | 0.48 | 0.23 | **-52.1%** | \n\nmost indicative is **burstiness** (CV=$\\sigma$/$\\mu$ - std.dev. of sentence word count over avg. sentence word count)\n\nnormal 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).\n\nif 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).\n\nyou can't use a prob. generator as deterministic linter.\n\nwe designed **grai** to be two layers:\n\nThe model will not self-censor: deterministic external (non-LLM) vanilla JS preflight engine is applied to each draft:\n\nHARD_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.\n\nEngineering quirk. FIPS 180-4 SHA256 on \"file://\"\n\nWe 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).\n\nHere'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.\n\nTry the Scorer, or the MIT Harness\n\n• Live Cadence Gate Scorer (free - no signup required) [https://grai.page/#test](https://grai.page/#test)\n\n• Full 134522-post Methodology Report [https://grai.page/methodology](https://grai.page/methodology)\n\n• Github repo (MIT skill & instructions) [https://github.com/adrianpeticila/grai](https://github.com/adrianpeticila/grai)", "url": "https://wpnews.pro/news/we-audited-134522-posts-to-see-why-ai-writing-still-sounds-fake-and-open-sourced", "canonical_source": "https://dev.to/adrian_m_peticila/we-audited-134522-posts-to-see-why-ai-writing-still-sounds-fake-and-open-sourced-a-deterministic-3k8h", "published_at": "2026-10-23 09:30:30+00:00", "updated_at": "2026-10-23 09:41:59.818071+00:00", "lang": "en", "topics": ["artificial-intelligence", "large-language-models", "generative-ai", "ai-tools", "developer-tools"], "entities": ["Adrian Peticila", "grai", "LinkedIn", "LigoSocial", "GitHub", "WebKit", "Chromium"], "also_reported_by": [], "alternates": {"html": "https://wpnews.pro/news/we-audited-134522-posts-to-see-why-ai-writing-still-sounds-fake-and-open-sourced", "markdown": "https://wpnews.pro/news/we-audited-134522-posts-to-see-why-ai-writing-still-sounds-fake-and-open-sourced.md", "text": "https://wpnews.pro/news/we-audited-134522-posts-to-see-why-ai-writing-still-sounds-fake-and-open-sourced.txt", "jsonld": "https://wpnews.pro/news/we-audited-134522-posts-to-see-why-ai-writing-still-sounds-fake-and-open-sourced.jsonld"}}