public/Invoke-OctaQuickClean.ps1

# FR-019: curated default bundle, applied through the same Invoke-OctaCategory path (one
# combined dry-run preview, same restore-point/snapshot/Run Record guarantees). Includes appx
# and oem-suites for real bloatware/background-service impact (the actual performance lever -
# per the real Octa-vs-Windows11Debloat benchmark, most of Windows11Debloat's process-count
# reduction came from removing 84 apps, which Octa's Quick Clean didn't touch before this).
# Both are still gated by their own dedicated confirmation - appx's package removal is
# irreversible (Split-OctaActionsByConfirmationGroup's Irreversible gate), oem-suites' heuristic
# hits get their own Heuristic gate - so nothing irreversible is silently bundled into the
# single "y/N" a purely-reversible bundle would have. background-activity (008) is fully
# reversible and Safe/Moderate only, so it joins the plain bundle with no extra gate needed.
$script:OctaQuickCleanBundle = @('telemetry', 'copilot', 'widgets', 'recall', 'explorer-start', 'appx', 'oem-suites', 'background-activity')

function Invoke-OctaQuickClean {
    [CmdletBinding()]
    param(
        [switch]$Apply,
        [switch]$NoRestorePoint,
        [switch]$Yes,
        [switch]$Quiet
    )

    return Invoke-OctaCategory -CategoryId $script:OctaQuickCleanBundle -Apply:$Apply `
        -NoRestorePoint:$NoRestorePoint -Yes:$Yes -Quiet:$Quiet -ExcludeRisky
}