Summary
Running make fmt in leynos/episodic leaves Markdown output that fails the project markdownlint gate with MD013 line-length errors. The formatter is invoked with --wrap, so the resulting Markdown should either wrap these lines within the configured width or leave a clearly intentional exception that markdownlint also accepts.
Reproduction context
Repository: leynos/episodic
Branch: feat/audit-mdtablefix-fmt
Command: make fmt
Formatter invocation from the Makefile output:
mdtablefix --wrap --renumber --breaks --ellipsis --fences --in-place
After formatting, make markdownlint reports:
docs/execplans/4-1-2-finalize-rest-surfaces.md:772:81 error MD013/line-length Line length [Expected: 80; Actual: 100]
docs/execplans/4-1-2-finalize-rest-surfaces.md:778:81 error MD013/line-length Line length [Expected: 80; Actual: 84]
docs/execplans/4-1-2-finalize-rest-surfaces.md:783:81 error MD013/line-length Line length [Expected: 80; Actual: 87]
docs/execplans/4-1-2-finalize-rest-surfaces.md:861:81 error MD013/line-length Line length [Expected: 80; Actual: 119]
docs/tei-rapporteur-users-guide.md:166:81 error MD013/line-length Line length [Expected: 80; Actual: 98]
Examples
Long inline signature line
File: docs/execplans/4-1-2-finalize-rest-surfaces.md
Formatter output:
1. Add
`count_for_series(self, owner_series_profile_id: str, kind: ReferenceDocumentKind | None) -> int`
to `ReferenceDocumentRepository` ` Protocol at `episodic
The inline signature remains 100 columns wide and fails MD013. Similar failures occur for adjacent wrapped signatures in the same section.
Long union type line
File: docs/tei-rapporteur-users-guide.md
Before formatting, the line was wrapped:
- `Event = DocumentStart | HeaderEvent | ParagraphEvent | UtteranceEvent |
DivEvent | DocumentEnd`
After formatting, it became a single long line:
- `Event = DocumentStart | HeaderEvent | ParagraphEvent | UtteranceEvent | DivEvent | DocumentEnd`
That line is 98 columns and fails MD013.
Expected behaviour
With --wrap, mdtablefix output should be compatible with an 80-column MD013 gate for ordinary prose/list content. For long inline code spans, acceptable behaviours would include:
- Preserve an existing valid wrapped form when it already satisfies lint.
- Wrap around surrounding prose without increasing line length.
- Leave unwrappable inline code unchanged only when the input was already unwrappable and lint-exempt.
- Optionally report that a line cannot be safely wrapped instead of producing lint-failing output.
Impact
make fmt currently exits non-zero because the formatting pass is followed by markdownlint. This means the formatter can make the repository less valid after being run, and users must manually repair formatter output before the Markdown gate passes.
Summary
Running
make fmtinleynos/episodicleaves Markdown output that fails the project markdownlint gate with MD013 line-length errors. The formatter is invoked with--wrap, so the resulting Markdown should either wrap these lines within the configured width or leave a clearly intentional exception that markdownlint also accepts.Reproduction context
Repository:
leynos/episodicBranch:
feat/audit-mdtablefix-fmtCommand:
make fmtFormatter invocation from the Makefile output:
After formatting,
make markdownlintreports:Examples
Long inline signature line
File:
docs/execplans/4-1-2-finalize-rest-surfaces.mdFormatter output:
The inline signature remains 100 columns wide and fails MD013. Similar failures occur for adjacent wrapped signatures in the same section.
Long union type line
File:
docs/tei-rapporteur-users-guide.mdBefore formatting, the line was wrapped:
- `Event = DocumentStart | HeaderEvent | ParagraphEvent | UtteranceEvent | DivEvent | DocumentEnd`After formatting, it became a single long line:
That line is 98 columns and fails MD013.
Expected behaviour
With
--wrap, mdtablefix output should be compatible with an 80-column MD013 gate for ordinary prose/list content. For long inline code spans, acceptable behaviours would include:Impact
make fmtcurrently exits non-zero because the formatting pass is followed by markdownlint. This means the formatter can make the repository less valid after being run, and users must manually repair formatter output before the Markdown gate passes.