#!/usr/bin/env bash # ============================================================================= # scripts/lint-genomes.sh # Executes quality control across all registered genomes. # ============================================================================= set -euo pipefail source "lib/output.sh" source "config.env" source "lib/lint.sh" step "Starting Knowledge Genome Linting" TOTAL_ERRORS=0 # Iterate through genome submodules inside the Master repo for genome_dir in "${WORK_DIR}/${MASTER_REPO}"/genome-*/; do [[ -d "$genome_dir" ]] || continue GENOME_NAME=$(basename "$genome_dir") info "Auditing genome: ${GENOME_NAME}..." # Find all .md files, excluding AGENTS.md and external references while IFS= read -r md_file; do # Run validations lint_markdown_file "$md_file" "$GENOME_NAME" || TOTAL_ERRORS=$((TOTAL_ERRORS + $?)) check_privacy_consistency "$md_file" || TOTAL_ERRORS=$((TOTAL_ERRORS + $?)) check_broken_links "$md_file" done < <(find "$genome_dir" -name "*.md" ! -name "AGENTS.md" ! -path "*/core-karpathy/*") done if [[ $TOTAL_ERRORS -eq 0 ]]; then success "Linting passed: All files are consistent and secure." else error "Linting failed: Found ${TOTAL_ERRORS} critical issues." exit 1 fi