scripts/validate.js (crosswalk/scripts/validate.js:37) requires every mapping file to contain a level-2 heading matching /^##\s+why\s+/im. Running npm run validate on a clean checkout of main currently reports 51 errors, all Missing required section matching: /^##\s+why\s+/im, across llm-top10/, agentic-top10/, and dsgai-2026/.
This includes crosswalk/agentic-top10/Agentic_AIUC1.md — the file CONTRIBUTING.md names as "the reference implementation" for new contributions to copy. It has no ## Why section and fails validation on its own:
npm run validate -- --file agentic-top10/Agentic_AIUC1.md
✗ Missing required section matching: /^##\s+why\s+/im
CONTRIBUTING.md's documented file template (11-point list) also never mentions a "Why" section, so the validator rule doesn't match either the reference file or the written spec.
This isn't new — it predates the ac46e4a "Sync with upstream" commit (that commit only did a cosmetic string rename in validate.js). It looks like the ## Why requirement was added to the validator at some point without updating the template/reference file or the other 50 mapping files to match.
Suggested fix (maintainer's call): either (a) add a ## Why [framework] matters-style section to the reference template and all mapping files, or (b) drop/relax the regex in validate.js if the section was intentionally deprecated. Until resolved, npm run build fails on a clean main checkout, and new contributors following CONTRIBUTING.md's template will also fail validation through no fault of their own.
scripts/validate.js(crosswalk/scripts/validate.js:37) requires every mapping file to contain a level-2 heading matching/^##\s+why\s+/im. Runningnpm run validateon a clean checkout ofmaincurrently reports 51 errors, allMissing required section matching: /^##\s+why\s+/im, acrossllm-top10/,agentic-top10/, anddsgai-2026/.This includes
crosswalk/agentic-top10/Agentic_AIUC1.md— the fileCONTRIBUTING.mdnames as "the reference implementation" for new contributions to copy. It has no## Whysection and fails validation on its own:CONTRIBUTING.md's documented file template (11-point list) also never mentions a "Why" section, so the validator rule doesn't match either the reference file or the written spec.This isn't new — it predates the
ac46e4a"Sync with upstream" commit (that commit only did a cosmetic string rename invalidate.js). It looks like the## Whyrequirement was added to the validator at some point without updating the template/reference file or the other 50 mapping files to match.Suggested fix (maintainer's call): either (a) add a
## Why [framework] matters-style section to the reference template and all mapping files, or (b) drop/relax the regex invalidate.jsif the section was intentionally deprecated. Until resolved,npm run buildfails on a cleanmaincheckout, and new contributors followingCONTRIBUTING.md's template will also fail validation through no fault of their own.