#!/usr/bin/env python3
"""Patch script: PGS 15 Compliance Engine v1 → v2

Leest v1 engine en past correcties toe conform PGS 15:2025 (Publicatie 565).
Dit script documenteert de wijzigingen; de daadwerkelijke v2 engine is een
apart bestand (pgs15_compliance_engine_v2.py).

Correcties:
1. Voetnoot c: ADR 8+9 VG II/III onbrandbaar → Basis
2. CLP-route ALLEEN voor stoffen ZONDER ADR-classificatie
3. CMR → arbo_flag, niet niveau-bepalend
4. Aggregatie per (ADR-klasse, VG), strengste wint
5. Documentatie met PGS 15:2025 referenties
"""

import shutil
import os

SRC = os.path.join(os.path.dirname(__file__), 'pgs15_compliance_engine_v1.py')
DST = os.path.join(os.path.dirname(__file__), 'pgs15_compliance_engine_v2.py')

def main():
    print("PGS 15:2025 Patch Script v1 → v2")
    print("=" * 40)
    
    if not os.path.exists(SRC):
        print(f"❌ v1 engine niet gevonden: {SRC}")
        return False
    
    if os.path.exists(DST):
        print(f"✅ v2 engine al aanwezig: {DST}")
    else:
        print(f"❌ v2 engine niet gevonden: {DST}")
        print("   Voer uit: python3 pgs15_compliance_engine_v2.py")
        return False
    
    print()
    print("Toegepaste correcties:")
    print("  1. Voetnoot c: ADR 8+9 onbrandbaar → Basis (niet C)")
    print("  2. CLP-route alleen voor stoffen ZONDER ADR")  
    print("  3. CMR → arbo_flags (niet niveau-bepalend bij ADR)")
    print("  4. Aggregatie per (ADR-klasse, VG) combinatie")
    print("  5. PGS 15:2025 referenties in docstrings")
    print()
    print("Nieuwe functies in v2:")
    print("  - get_strictste_niveau_v2() → retourneert (niveau, route, arbo_flags)")
    print("  - bereken_geaggregeerd_niveau() → aggregatie met voetnoot a")
    print("  - _is_brandbaar() → automatische brandbaarheid detectie")
    print()
    print("Backwards compatible:")
    print("  - get_strictste_niveau() (v1) → wrapper naar v2")
    print("  - determine_niveau() → ongewijzigd met voetnoot c fix")
    print("  - bereken_strictste_niveau_van_alle_routes() → wrapper")
    print()
    
    # Run tests
    test_script = os.path.join(os.path.dirname(__file__), 'test_engine_v2.py')
    if os.path.exists(test_script):
        print("Tests beschikbaar: python3 test_engine_v2.py")
    
    return True

if __name__ == '__main__':
    main()
