Skip to content

validate.js requires ## Why section that the reference template (Agentic_AIUC1.md) itself doesn't have #10

Description

@sclintonowasp

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions