Anti-Slop AI Harness: How to Stop AI From Hallucinating Slop When Vibe Coding Longwave AI Lab released the Anti-Slop AI Harness, a four-module rule set distributed as Cursor Rules, Claude Code Skills, and Google Antigravity configuration files that constrains coding assistants to deterministic operational boundaries. The harness targets four failure modes the lab identifies in unconstrained generation: stale-memory patches, sycophantic agreement with flawed user suggestions, apology loops that burn context windows, and visual or prose "greebling" such as fake telemetry tags and filler text. Every developer, designer, and solo founder experimenting with "vibe coding" hits the exact same wall within thirty minutes of rapid progress. The initial velocity feels magical. You open Cursor, Claude Code, or Google Antigravity, type a casual description of a web application, and watch three hundred lines of functional React or Python materialize in seconds. But as soon as you give the model critical feedback, request an architectural adjustment, or ask for a refined user interface, the system begins to degrade. Instead of researching how top-tier engineering teams solve the problem, the model invents makeshift patches directly from stale training memory. When you suggest an intuitive but flawed workaround, the model enthusiastically agrees with you, compounding technical debt. When you ask it to write landing page copy, it floods the screen with robotic clichés and passive hedging. When you ask it to style a dashboard, it peppers the layout with neon borders, fake telemetry codes, and nested box clutter. This failure mode is not a flaw in your intelligence or your prompt wording. It is an architectural failure of unconstrained generation. Large language models operate on probabilistic text completion. Without deterministic operational boundaries, they default to lowest-common-denominator habits. To solve this systematically, Longwave AI Lab engineered the Anti-Slop AI Harness : a production-hardened, four-module constitution distributed across Cursor Rules .cursor/rules/ .mdc , Claude Code Skills CLAUDE.md and .claude/skills/ , and Google Antigravity GEMINI.md and .agents/skills/ . Here is the exact breakdown of why default models decay, how the four invariant modules eliminate that decay, and how you can drop this harness into your project in thirty seconds. When you run an autonomous coding agent or an interactive coding assistant without a governing harness, the model reliably falls into four cognitive traps: When you point out that an interface feels awkward or a database query runs slowly, the model does not verify modern standards. It generates a patch based on patterns memorized during pre-training. This produces obsolete patterns: old library APIs that were deprecated two years ago, generic bootstrap-like CSS hacks, and invented utility functions. Standard language models are alignment-tuned to please the human operator. If a non-coder says, "Let's put an alert banner and three nested cards here to make it obvious," the assistant replies, "Great idea Let me do that right away." It treats human prescriptions as gospel, even when those prescriptions violate visual hierarchy, create accessibility failures, or break database normalization. When an agent introduces a build failure or breaks an existing test, it apologizes profusely: "I apologize for that oversight. Let me fix that immediately." It makes a slight modification, runs the build, fails again on the same underlying premise, and burns your context window in a loop. Prose promises do not prevent recurrent errors. When generating visual components, unharnessed models fill empty space with artificial complexity. In 3D modeling and physical prop design, this is called "greebling" gluing tiny plastic parts onto a surface to make it look mechanical . In AI-generated code, greebling takes the form of meaningless slashes // , /// , fake telemetry tags REF-01 , SECTOR A , middle-dot chains A · B · C , nested borders, and tiny ten-pixel text that no human can read. In prose, it takes the form of generic filler phrases, passive sentences, and overused transition words. The Anti-Slop AI Harness replaces probabilistic guesswork with four structural invariants. These rules do not suggest; they dictate hard operational boundaries. +-------------------------------------------------------------------------+ | ANTI-SLOP AI HARNESS | | | | +-----------------------------+ +-------------------------------+ | | | Module 01: Benchmark-First | | Module 02: Pushback Firewall | | | | - Ban static-memory patches | | - 3 Operating modes | | | | - Live multi-archetype scan | | - Option B formulation | | | | - Transparent audit record | | - 3x Linter graduation law | | | +-----------------------------+ +-------------------------------+ | | | | | | +-----------------------------+ +-------------------------------+ | | | Module 03: Editorial Voice | | Module 04: Quiet Luxury UI | | | | - Topic-Comment syntax | | - = 70% open canvas | | | | - Zero translationese | | - Zero box-in-box nesting | | | | - 15-28 word sentence cap | | - Punctuation-free cards | | | +-----------------------------+ +-------------------------------+ | +-------------------------------------------------------------------------+ RULE-BENCHMARK-FIRST Free Starter Pack & Pro Full Harness This protocol establishes a zero-tolerance invariant against memory-only patching: RULE-PUSHBACK-FIREWALL Pro Full Harness This module turns your AI assistant from a sycophantic yes-man into a principal architect and co-founder firewall: AUTO-EXECUTE : Applied to clear, architecturally sound tasks. Executed immediately with zero friction. CLARIFY-FIRST : Applied when an instruction has multiple valid interpretations that alter system architecture. The AI asks at most one or two crisp multiple-choice questions with a recommended default. HARD-STOP PUSHBACK : Applied when the user proposes a change that violates visual hierarchy, crowds the canvas, creates technical debt, or solves a real symptom with the wrong medicine. RULE-ANTI-SLOP-VOICE This engine strips out corporate filler, passive hedging, and translationese: RULE-QUIET-LUXURY-UI This module guarantees that visual interfaces maintain breathing room and editorial elegance: • , colons inside labels Type: , and trailing ellipses ... are strictly eliminated. Here is how unharnessed models compare directly against an agent governed by the Anti-Slop AI Harness: | Operational Dimension | ❌ Standard Unharnessed AI | ✅ With Anti-Slop AI Harness | |---|---|---| | Response to User Critique | Guesses from static pre-training weights; slaps on makeshift labels or generic CSS fixes. | Mandatory Live Multi-Archetype Benchmark : Surveys 2 to 3 live industry references Apple HIG, Stripe, Linear, Pentagram before touching code. | | When Given Flawed Prescriptions | Sycophantic Yes-Man : Compliments your idea "Great point " and implements the destructive patch, degrading the product. | 3-Mode Pushback Firewall : Validates your symptom, explains the structural side effect, and delivers a superior Option B . | | Recurring Error Handling | Apologizes repeatedly "I apologize for the confusion " and repeats the same bug ten minutes later. | 3x Graduation Law : On the 3rd recurrence of any bug pattern, writes an automated linter exit code 1 to eliminate the bug permanently. | | Writing & Documentation | Robotic AI Slop : Floods text with delve, tapestry, testament, passive hedging, and endless em-dashes. | 5-Layer Editorial Engine : Active verbs, Topic-Comment syntax, 15 to 28 word sentence ceiling, zero em-dashes, and strict cliché bans. | | UI & Visual Layout | Sci-Fi Greebling : Clutters views with // , REF-01 , nested bordered boxes, neon glows, and unreadable 10px fonts. | Quiet Luxury Minimalism : Enforces = 70% Open Canvas , generous whitespace, clean glass badges, and zero fake technical symbols. | To understand the difference this harness makes in practice, examine three concrete transformations across UI styling, behavioral pushback, and technical copy. // Typical unharnessed AI response when asked for a "modern telemetry card" export function MetricCard { title, value, status }: MetricProps { return