# gov_pipeline_guard_v1.2.ps1 # Steps: 1-Ingest 2-ASCII Scrub 3-Emit Bootpack 4-Acceptance 5-Quicklog 6-Compare Lite # PS 5.1-safe (pas de ?: ni ?. / ??) param( [string]$Root="\\DS-918\chatgpt\ChatGPT-Gouvernance-Projets\_registry", [switch]$Preview, [switch]$Execute, [switch]$DoIngest=$true, [switch]$AutoFix=$true, [switch]$Strict ) function NowIso { (Get-Date).ToString("yyyy-MM-ddTHH:mm:ssK") } function Run-Step([string]$Name,[string]$Script,[string[]]$Args){ $mode = if($Preview){"-Preview"} else {"-Execute"} Write-Host ("-- Step {0} :: {1} --" -f $Name, (NowIso())) $wrapper = Join-Path "C:\Temp_Gouvernance" "gov_preview.cmd" if(-not $Preview){ $wrapper = Join-Path "C:\Temp_Gouvernance" "gov_execute.cmd" } & $wrapper $Script @Args | Write-Host } Write-Host ("== PIPELINE GUARD v1.2 :: {0} ==" -f (NowIso())) Write-Host ("Root : " + $Root) Write-Host ("Stage : C:\Temp_Gouvernance") Write-Host ("Mode : " + ($(if($Preview){"PREVIEW"}else{"EXECUTE"}))) Write-Host ("DoIngest={0} AutoFix={1} Strict={2}" -f [bool]$DoIngest,[bool]$AutoFix,[bool]$Strict) # 1) BULK INGEST if($DoIngest){ Run-Step "1 :: BULK INGEST" "kb_bulk_ingest_v1.3.ps1" @("-Root",$Root) if(-not $Preview){ Write-Host ("[OK] KB mise a jour : " + (NowIso())) } } # 2) ASCII SCRUB Run-Step "2 :: ASCII SCRUB KB" "kb_ascii_scrub_v1.0.ps1" @("-Root",$Root) # 3) EMIT BOOTPACK DUAL Run-Step "3 :: EMIT BOOTPACK DUAL" "kb_emit_bootpack_dual_v1.1.ps1" @("-Root",$Root) # 4) ACCEPTANCE (gate) Run-Step "4 :: ACCEPTANCE (gate)" "kb_acceptance_tests_v1.0.ps1" @("-Root",$Root) # 5) QUICKLOG Run-Step "5 :: QUICKLOG" "kb_quicklog_and_sync_v1.3.ps1" @("-Root",$Root) # 6) COMPARE LITE (nouveau) $cmpArgs = @("-Root",$Root) if($Strict){ $cmpArgs += "-Strict" } Run-Step "6 :: COMPARE LITE" "kb_compare_lite_v1.1.ps1" $cmpArgs Write-Host "[OK] Pipeline guard termine."