- Stock phrases. A bundled list of 132 English clichés, measured as a density per 1000 words rather than counted, so a long piece is not punished for one of them.
- Repetition, four ways: the same sentence opening three times or more, sentences repeated verbatim, the proportion of four-word sequences that recur, and paragraphs built to the same shape over and over.
- An empty introduction: the opening restating the title with no concrete detail, or promising what “this article will” do.
- Readability: Flesch reading ease, mean sentence length, and a rhythm too even to have been written by a person.
- Numbers and dates: a year before 1900 or more than a year ahead, a percentage above 100, “studies show” with nobody named in the same paragraph.
- Structure: headings against the volume of text, and a list standing in for prose.
- Strictness is only about what blocks. All the checks always run at every setting. The three presets — lenient, standard (the default), strict — differ in their numbers and in which findings they are willing to stop a draft over. A blocking finding closes the gate; a warning rides in the report and stops nothing.
- Below 120 words the prose checks say nothing: there is too little there to judge.
- The language is named where it matters. The phrase list and the Flesch score are English and say so. Everything else — sentences, paragraphs, headings, repeats — a Russian or Japanese draft has exactly as much of. A non-English body comes back with fewer findings, never with nonsense ones.
- The phrase list ages. It can be replaced wholesale by a stored list (option
draftforge_slop_phrases), so a later Forge API feed can refresh it without a plugin release, and overruled per-site by thedraftforge/slop_phrasesfilter. - The list is a snapshot of what models were writing when it was compiled, and the per-1000-words threshold was calibrated on fixtures rather than on a sample of real drafts. That is the honest limit of it today.