Follow-up from PR #124 review (thread on scripts/sync-catalog.mjs). The two build scripts (sync-catalog.mjs, gen-block-docs.mjs) have no unit tests — only CI invocation. Pin the parsing behaviors that silently corrupt output: extractBlurb (h1 detection, sentence truncation, <!--/# break conditions) and injectCatalog/extractBetweenMarkers (missing-marker throw-on-write vs exit-1-on-check, end<begin handling). Table-driven fixtures would lock the contract the CI catalog gate depends on.
Follow-up from PR #124 review (thread on scripts/sync-catalog.mjs). The two build scripts (sync-catalog.mjs, gen-block-docs.mjs) have no unit tests — only CI invocation. Pin the parsing behaviors that silently corrupt output: extractBlurb (h1 detection, sentence truncation,
<!--/#break conditions) and injectCatalog/extractBetweenMarkers (missing-marker throw-on-write vs exit-1-on-check, end<begin handling). Table-driven fixtures would lock the contract the CI catalog gate depends on.