DEC-0006: Multi-Layer Linting with AI Slop Detection
Decision
The project uses a comprehensive linting stack with specific attention to detecting AI-generated prose patterns. Cleanup follows a two-phase pipeline: Cursor fixes mechanical issues, Claude Code does the editorial voice pass.
Context
The human asked whether the project had linting, then specifically asked about "anti-AI slop tools." Research identified Vale + ai-tells (41 rules based on documented AI writing patterns) as the strongest available tool. The human approved building the full stack.
Rationale
Standard linters (markdownlint, yamllint, ESLint) catch zero AI slop — they only check syntax and structure. Vale + ai-tells catches prose patterns: overused vocabulary ("delve," "comprehensive"), participial padding, sycophancy markers, filler phrases, em-dash abuse. Custom project rules add: Booth reference detection (error), agent self-reference (warning), evasive attribution (warning), epistemic level confusion (suggestion).
The two-phase cleanup pipeline acknowledges that mechanical fixes (word swaps, phrase deletion) are different from editorial fixes (rewriting for voice). The boundary is defined in AGENTS.md §Linting & Quality.
What the Project Accepts
AI-generated content will contain slop. The agents know this. The linting stack is not a gate that prevents AI from being used — it is a quality filter that catches the most obvious patterns and routes the rest to editorial judgment. The project's transparency about its own AI-generated origins is part of its thesis (see editorial-guidance.md §XI).