param( [switch]$Preview, [switch]$Execute, [switch]$Strict = $false, [string]$Root = "\\DS-918\chatgpt\ChatGPT-Gouvernance-Projets\_registry" ) function NowIso { (Get-Date).ToString('s') } $mode = if($Execute){ "EXECUTE" } else { "PREVIEW" } $stage = "C:\Temp_Gouvernance" $wr = "C:\Temp_Gouvernance\wrappers" $runner = if($mode -eq "PREVIEW"){ Join-Path $wr "gov_runner_preview.ps1" } else { Join-Path $wr "gov_runner_execute.ps1" } Write-Host ("== PIPELINE GUARD v1.2.3 :: {0} ==" -f (NowIso)) Write-Host ("Root : {0}" -f $Root) Write-Host ("Stage : {0}" -f $stage) Write-Host ("Mode : {0}" -f $mode) Write-Host ("DoIngest=True AutoFix=True Strict={0}" -f $Strict) function RunStep([string]$name,[string[]]$args){ Write-Host ("-- Step :: {0} :: {1} --" -f $name,(NowIso)) & $runner $name @args } # Switch de mode pour les étapes qui l'acceptent $modeArg = if($mode -eq "PREVIEW"){ @("-Preview") } else { @("-Execute") } $rootArg = @("-Root",$Root) # 1) BULK INGEST (supporte -Preview/-Execute) RunStep "kb_bulk_ingest_v1.3.ps1" ($modeArg + $rootArg) Write-Host ("[OK] KB mise a jour : {0}" -f (NowIso)) # 2) ASCII SCRUB (supporte -Preview/-Execute) RunStep "kb_ascii_scrub_v1.0.ps1" ($modeArg + $rootArg) # 3) EMIT BOOTPACK DUAL (supporte -Preview/-Execute) RunStep "kb_emit_bootpack_dual_v1.1.ps1" ($modeArg + $rootArg) # 4) ACCEPTANCE (supporte -Preview/-Execute) RunStep "kb_acceptance_tests_v1.0.ps1" ($modeArg + $rootArg) # 5) QUICKLOG (PAS de -Preview/-Execute) RunStep "kb_quicklog_and_sync_v1.3.ps1" ($rootArg) # 6) COMPARE LITE (PAS de -Preview/-Execute) RunStep "kb_compare_lite_v1.1.ps1" ($rootArg) Write-Host "[OK] Pipeline guard termine."