Skip to content

Validation

The Astro build itself is the first line of validation. If the mapping references a folder that doesn’t exist, or a relationship targets an unknown element type, the build logs a warning.

Terminal window
cd catalog-ui
npm run build

The build output shows a health summary:

Registry loaded: 182 elements, 340 edges
Healthy: 182 | Connected: 182 | Orphans: 0
Broken refs: 0 | Missing type: 0

For deeper validation, run the Python linter:

Terminal window
python scripts/validate.py

This checks:

  • Every .md file has required fields (per the mapping)
  • All relationship references resolve to existing elements
  • No orphan files (files not matching any mapped type)
  • Maturity scoring per domain

Use --strict to treat warnings as errors (useful for CI):

Terminal window
python scripts/validate.py --strict

Add both to your CI pipeline:

steps:
- name: Validate registry
run: python scripts/validate.py --strict
- name: Build catalog
working-directory: catalog-ui
run: npm run build