Fixes and tracked changes
Previewing with --diff, applying with --fix, and how Word documents are edited.
Some findings carry a fix. --fix applies them in place.
lawlint --diff draft.md # preview
lawlint --fix draft.md # apply
lawlint --fix --diff draft.md # apply, and show what changed
Only what is safe
Every fix declares an applicability, and --fix applies exactly one of the
two.
machineApplicable — a mechanical substitution with no judgement in it:
an em dash for a comma, a doublet reduced to one word. Applied by --fix.
maybeIncorrect — a suggestion that needs a human to decide. Reported,
and offered in the output, but never applied automatically.
Findings with no fix at all — most statistical and all inferential ones — are
reported and left alone. There is no --fix-all, and no flag that applies
maybeIncorrect edits: the guarantee that --fix never needs reviewing is
worth more than the handful of extra edits.
Word documents
For .docx, --fix does not rewrite the document. It writes each fix as a
native Word tracked change, with a review comment naming the rule that
produced it.
Run the fix
lawlint --fix brief.docxOpen it in Word
Every change appears in the normal review flow, attributed and commented.
Accept or reject, one at a time
Nothing is silently applied. If you disagree with a rule, reject its changes and disable it for next time.
Everything else in the document survives byte for byte — styles, numbering, headers, images, and any tracked changes already present.
Handing the rest to an assistant
--fix deliberately leaves the judgement calls alone. For those, --format prompt emits a revision brief — the flagged text plus instructions — to hand to
a writing assistant:
lawlint --format prompt draft.md | pbcopy
The deterministic engine decides what is worth changing; the model only proposes wording. That ordering is the point: it keeps the model out of the detection loop.
Stdin has nothing to fix
--fix edits a file in place, so it does nothing for piped input. Use --diff
or --format prompt instead.