I got an idea and not sure what to do with it yet. Computer programming languages have lint or compiler warnings when some syntax is suspicious, but not flat out a violation of the syntax of the language. These warnings are usually produced after a piece of code is written as a separate document & often one will just fix all the warnings, needed or not, so they don't clutter up the compiler output. But to do that, sometimes you want to ignore a compiler warning so you have to annotate the source code to ignore certain statements, (sort of like putting quotes around "ain't" to let the reader know you are using ain't on purpose)
Anyhow, an example of some lint rules would be:
No sentences over 30 words. (Obviously sentences of 31 words can be grammatical, but lots of people like to complain about being prolix)
No pi chains with more than 3 pi's
Only use ona in a 2nd sentence of a paragraph or after the li. (Obviously "ona li pona" is valid, but in written text, who knows what ona refers to)
Another lint rule would be on borderline grammar issues that either a, people aren't following yet or b, people haven't agreed on yet, such as, should prepositions that modify a head noun (and not the whole sentence), should the be offset by a pi. But to detect that, we'd need an annotation for intentionally leaving out a pi, or intentionally modifying a head noun.
So a parser could run and then let the user know about a list of violations against different style guides.