Repository navigation
build: run deslag in fmt-check - #508
Merged
Merged
Conversation
Contributor
gen-quality
|
webern
commented
Nov 9, 2026
Contributor
gen-quality
|
Onboard deslag, the prose linter, for AGENTS.md, docs/ and the mx::api headers and sources. make fmt-check now runs deslag check after clang-format. Generated code is excluded. Fix the prose deslag reports in those files, and delete the old design docs that recorded finished work, along with the references to them (including the plan citations in gen/cpp templates, regenerated).
Fix the enclosure comment's negation, restore the transpositions table with a density override for TransposeData.h, reword two banned-phrase hints in both the md and cpp sections, and fix the MarkDataChoice prose main gained since the branch was cut.
webern
force-pushed
the
deslag-onboarding
branch
from
November 9, 2026 09:22
8047458 to
f4d4343
Compare
Contributor
gen-quality
|
webern
commented
Nov 9, 2026
Signed-off-by: Matthew James Briggs <matthew.james.briggs@gmail.com>
Contributor
gen-quality
|
webern
added a commit
that referenced
this pull request
Nov 9, 2026
## Summary Extends deslag to the agent skills and bans the word "knob". - `deslag.toml` now lints `/.agents/skills/**/*.md`. `.claude/skills` is a symlink to the same directory, so only the `.agents` path is listed. - The four skills whose frontmatter says `llm-edit: false` (`mx-api-doctrine`, `mx-comments`, `mx-open-issue`, `mx-open-pr`) are excluded by exact path, since their owner does not want automatic prose edits. `mx-comments` and `mx-api-doctrine` gain the marker in this PR. - `mx-api-classify-roundtrip-failures` was the only skill with lint hits. They are fixed without changing its meaning: emphasis removed, em dashes and an arrow replaced, and a few negations reworded. - "knob" and "knobs" are banned in the `md` and `cpp` lints. The existing uses are replaced with the real term (field or parameter) in `gen/AGENTS.md`, `gen/DESIGN.md`, the `gen/press/engine.py` docstring, a comment in `gen/tests/test_press.py`, the review instructions under `.github/instructions/`, and the `mx-api-doctrine` heading. - The `mx-open-issue` and `mx-open-pr` skills and `api-headers.instructions.md` are also rewrapped to 100 columns. No code behavior changes: the Python edits are in docstrings and comments. ## Testing - [x] `make fmt-check` passes (clang-format and `deslag check`) - [x] `deslag explain` shows the four `llm-edit: false` skills excluded, including through the `.claude/skills` symlink - [x] `gen/press/engine.py` and `gen/tests/test_press.py` byte-compile - [ ] The gen test suite was not run, because only docstrings and comments changed ## References - Follows #508, which added deslag to `fmt-check`
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Human Summary
I have been experimentally building a linter for things that LLMs do in prose that annoy me. Here we onboard that linter,
deslag, on a subset of the repo and fix the lints it found.Summary
deslag, the prose linter added to the build tools in #488, now runs as part of
make fmt-check, after clang-format.deslag.tomlselects:Generated code (src/private/mx/core/generated) is excluded. Every deslag lint is on. The limits are the defaults except two: 30 entries for the AGENTS.md repository layout, and 700/350 characters for a paragraph/list item.
To get the gate green:
make doctorreports a missing deslag on the fmt-check row. Natively, fmt-check stops with a pointer tomake deslag. The mx-sdk image already ships deslag, so CI needs no workflow change.Testing
make fmt-checkpasses in Docker (clang-format and deslag, 122 files)make genleaves the tree unchanged (generated output matches the templates)make gen-testpasses (154 tests)make core-roundtrip-testpasses (842 test cases)make api-testnot run locally; only comments changed under mx::apiReferences