Skip to content
lawlint
Esc
navigateopen⌘Jpreview
On this page

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.docx

Open 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.

Last updated on July 24, 2026