Skip to content

Add K01-T001 deliverables: PHM org chart (DIA) and delegation matrix … #821

Add K01-T001 deliverables: PHM org chart (DIA) and delegation matrix …

Add K01-T001 deliverables: PHM org chart (DIA) and delegation matrix … #821

name: Nomenclature Standard Validation
on:
push:
branches: ['**']
pull_request:
branches: ['**']
jobs:
validate-nomenclature:
runs-on: ubuntu-latest
name: Validate File Nomenclature
permissions:
contents: read
steps:
- name: Checkout repository
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: '3.x'
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install pyyaml
- name: Validate all files (v6.0 BLOCK mode)
id: validate_v6
run: |
echo "Running nomenclature validation v6.0 (BLOCK mode - PR blocking)..."
python validate_nomenclature.py --standard v6.0 --mode block --check-all --verbose
continue-on-error: false
- name: Generate inventory report
if: always()
run: |
echo "Generating inventory report..."
python validate_nomenclature.py --standard v6.0 --mode report --check-all > nomenclature_inventory_v6.txt 2>&1 || true
- name: Upload inventory report
if: always()
uses: actions/upload-artifact@v4
with:
name: nomenclature-inventory-v6
path: nomenclature_inventory_v6.txt
retention-days: 30
- name: Check validation result
if: steps.validate_v6.outcome == 'failure'
run: |
echo "❌ Nomenclature v6.0 validation FAILED (BLOCK mode - PR is blocked)"
echo "Please fix all violations before merging."
echo ""
echo "v6.0 Canonical format:"
echo "[ATA_ROOT]_[PROJECT]_[PROGRAM]_[FAMILY]_[VARIANT]_[VERSION]_[MODEL]_[BLOCK]_[PHASE]_[KNOT_TASK]_[AoR]__[SUBJECT]_[TYPE]_[ISSUE-REVISION]_[STATUS].[EXT]"
echo ""
echo "See docs/standards/NOMENCLATURE_v6_0_R1_0.md for details."
echo "Quick ref: docs/standards/NOMENCLATURE_v6_0_R1_0_QUICKREF.md"
echo ""
echo "⚠️ CRITICAL: This is BLOCK mode - PR cannot be merged until all violations are fixed"
exit 1
- name: Validation success
if: steps.validate_v6.outcome == 'success'
run: |
echo "✅ All files comply with nomenclature standard v6.0 (R1.0 FINAL LOCK)!"