Validation
Build-time validation
Section titled “Build-time 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.
cd catalog-uinpm run buildThe build output shows a health summary:
Registry loaded: 182 elements, 340 edges Healthy: 182 | Connected: 182 | Orphans: 0 Broken refs: 0 | Missing type: 0Linter script
Section titled “Linter script”For deeper validation, run the Python linter:
python scripts/validate.pyThis checks:
- Every
.mdfile 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
Strict mode
Section titled “Strict mode”Use --strict to treat warnings as errors (useful for CI):
python scripts/validate.py --strictCI integration
Section titled “CI integration”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