memories: lint-markdown's fail input does not cover its companion checks - #2504
Conversation
A caller written `fail: false`, to adopt lint-markdown warn-only while a backlog is worked down, still fails the build: the input gates markdownlint alone, while the list-item-splice, code-block-length, and table-split companions read their own toggles, each defaulting to true. lint-yaml has the same split. Recorded because the evidence reads as a contradiction rather than as a finding -- caller says warn-only, check is red -- so the natural hypotheses are a wrong pin or an ignored input, and both are wrong. Closes #2503 Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01HYDWsGL8cYC3ptLEL4Wayn
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
Review finding, and a real one: the first draft said all three lint-markdown companions default to true. `fail-on-long-code-blocks` defaults to false. Read off the @v2 tag consumers actually pin, rather than from main, and now stated as a table so each default is checkable rather than summarized. The correction sharpens the entry rather than merely fixing it. lint-yaml splits the same way -- `fail` for yamllint, `fail-on-long-scripts` for its companion -- and its companion defaults to false, so `fail: false` there really is warn-only. The split existing tells you nothing; only the defaults do, and they differ within a single workflow. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01HYDWsGL8cYC3ptLEL4Wayn
Addressed in
|
| check | input | default at @v2 |
|---|---|---|
| markdownlint | fail |
true |
| list-item merge splices | fail-on-item-splices |
true |
| GFM table splits | fail-on-table-splits |
true |
| fenced-code-block length | fail-on-long-code-blocks |
false |
The entry now carries that table rather than a summary sentence, so each
default is checkable individually.
The correction also sharpened the entry rather than merely repairing it. My
draft cited lint-yaml as "the same split", implying it bites the same way ---
but fail-on-long-scripts defaults to false there, so fail: false on
lint-yaml genuinely is warn-only. That contrast is now the entry's point:
the split existing tells you nothing, only the defaults do, and they differ
within a single workflow.
The provenance note records that the first draft got this wrong and that the
review caught it.
Posted by Claude Code (AI agent) --- not written by a human.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
|
Claude finished review — View run Both PRs check out and match the described content — #37 is open and its body confirms the exact same correction narrative (defaults table matching the memory entry exactly, including the "review caught it" provenance), #33 is merged and matches the migration description. The No content defects found. This is a memory-only change; the factual error flagged in the prior round (5b318af) is now corrected in the current diff (4490d98/HEAD), and all four This confirms the prior round's verdict, posted at #2504 (comment) (2026-08-28T05:29:53Z): VerdictReady for merge — content re-verified against the live Reviewed commit: 77e4112 |
Closes #2503
One entry appended to
memories/gha-reusable-workflows.md.lint-markdown.yml'sfailinput gates markdownlint alone. Its list-item-splice,code-block-length, and table-split companions read
fail-on-item-splices,fail-on-long-code-blocks, andfail-on-table-splits, each defaulting to true --- soa caller written
fail: falsestill fails the build.lint-yaml.ymlsplits thesame way (
failversusfail-on-long-scripts).Worth an entry rather than a shrug because the evidence reads as a
contradiction: the caller says warn-only, the check is red, and the two
hypotheses that present themselves --- wrong pin, ignored input --- are both
wrong. The job's conclusion came from a different step, which is the shape
fully-clean.mdalready describes for a green guard step beside a red job.Measured on UCD-SERG/shigella#37,
whose caller was added at
fail: falsein#33 and went red on six
list-item splices.
scripts/semantic-line-breaks.py --base origin/mainreports 0 paragraphs wouldchange; no non-ASCII punctuation added.