* test(#3239): reroute package-legitimacy-gate table parsers onto the ADR-2143 seam tests/package-legitimacy-gate.test.cjs hand-rolled two markdown-table parsers that duplicated src/markdown-table.cts (ADR-2143). The local .split('|') mis-split escaped-pipe cells, and the local .filter(cells => cells.length === headers.length) silently dropped ragged rows instead of failing loudly — a legitimacy gate silently skipping a malformed row it could not fully read. Both call sites now delegate to the seam's parseMarkdownTable (via gsd-core/bin/lib/markdown-table.cjs), addressing cells by column name. The multi-table grouping loop (no ADR-2143 equivalent) stays local but now delegates each group's actual parse to the seam and throws loudly on a malformed group instead of filtering it out silently. Adds fixtures locking the two named divergences (ragged row -> typed error, escaped-pipe cell -> correct single-cell split) plus the grouping helper's happy-path and fail-loud behavior. The tests/**/*.cjs fence question (issue proposed-work item 3) was already decided and shipped by #3951 Rung B: local/no-adhoc-markdown-parsing is registered as 'error' on tests/**/*.cjs in eslint.config.mjs and the rule's own filename gate matches it. No further fence decision needed. * chore(#3239): changeset fragment (pr number backfilled after PR creation) * chore(#3239): backfill changeset PR number (3977) --------- Co-authored-by: sim <sim@local>
This commit is contained in:
5
.changeset/quick-foxes-click.md
Normal file
5
.changeset/quick-foxes-click.md
Normal file
@@ -0,0 +1,5 @@
|
||||
---
|
||||
type: Fixed
|
||||
pr: 3977
|
||||
---
|
||||
**Package-legitimacy-gate tests no longer silently drop malformed table rows.** The test suite's markdown-table parsing now reuses the ADR-2143 seam instead of two hand-rolled copies, so a ragged row or an escaped-pipe cell fails loudly instead of being silently mis-parsed. (#3239)
|
||||
Reference in New Issue
Block a user