The pain isn't "English is hard."
The target users of Stilyagi are engineers and technically literate writers maintaining
documentation inside source repositories. Their pain is not that English is hard.
Their pain is that documentation policy is real, files are structured, CI needs determinism,
and the current linting surface is either too dumb to encode the intended policy, or too
awkward to continue encoding it.
The value is precise.
Against Vale, Stilyagi offers Python-authored rules over a typed runtime model instead of YAML
plus regex plus fixed rule families. Against in-house regex scripts, it provides structural
parsing, stable spans, fix planning, suppression semantics, and cacheable behaviour. Against
formatter-adjacent tools, it targets prose policy rather than code layout. Against raw spaCy
or NLTK, it adds the extraction, diagnostics, configuration, and CLI contracts that fit normal
software engineering workflows.
It is weaker, deliberately, in three places.
It will never match a Rust-only rule engine for raw execution speed. It deliberately trusts
plugin code, and so cannot truthfully promise sandboxing. It inherits Python packaging
complexity for third-party rule packs. These are acceptable costs. The product wins or loses
on expressiveness, debuggability, and adoption — not on shaving the last few milliseconds off
a single regex rule.