← Files Power BI DesktopARCHIVED FILE
scripts/Invoke-PowerBIPluginQualitySuite.ps1
1.1 KB · Oct 2, 2026 · 00:32 UTC
param([string]$Path='.',[string]$OutputPath,[switch]$Json)
$ErrorActionPreference='Stop';$root=Split-Path -Parent $MyInvocation.MyCommand.Path;$stopwatch=[Diagnostics.Stopwatch]::StartNew();$trust=&(Join-Path $root 'New-PowerBIKpiTrustScore.ps1')-Path $Path -Json|ConvertFrom-Json;$contract=&(Join-Path $root 'New-PowerBISemanticContractDriftMonitor.ps1')-Path $Path -Json|ConvertFrom-Json;$stopwatch.Stop();$python=(Get-Command python -ErrorAction SilentlyContinue)
$result=[pscustomobject]@{schema='codex.powerbi.pluginQualitySuite.v1';status='MeasuredLocalSmoke';durationMs=$stopwatch.ElapsedMilliseconds;metricCount=@($trust.metrics).Count;contractDriftCount=@($contract.drifts).Count;pythonAvailable=[bool]$python;checks=@([pscustomobject]@{name='local smoke';status='Passed'},[pscustomobject]@{name='forecast Python tests';status=if($python){'NeedsTestSuite'}else{'PythonUnavailable'}},[pscustomobject]@{name='large-model benchmark';status='NeedsRepresentativeDataset'})}
if($Json){$text=$result|ConvertTo-Json -Depth 8;if($OutputPath){Set-Content -LiteralPath $OutputPath -Value $text -Encoding UTF8};$text}else{$result}
SHA-256: ac05971e7c79b6d747ef99fba2a2079dd3a998154894f8d338a420b6ad854571