Skip to content

Cover Click to Do, Settings agent and Paint AI in the extended AI purge - #71

Merged
BiosSystem merged 2 commits into
masterfrom
feature/25h2-ai-policy-coverage
Sep 20, 2026
Merged

BiosSystem merged 2 commits into
masterfrom
feature/25h2-ai-policy-coverage

Conversation

@BiosSystem

Copy link
Copy Markdown
Owner

Draft for review. Speculative: the registry values and rollback coverage are unit-tested, but the effect on a real 24H2/25H2 Copilot+ device is not verified. Opening as a draft rather than merging.

What changed

The extended AI purge missed AI features Microsoft added over the 24H2/25H2 cycle. Added, all with paths and scopes taken from the WindowsAI policy CSP:

  • Click to Do (DisableClickToDo) - on-screen content analysis; new in 24H2/25H2.
  • Settings agentic search (DisableSettingsAgent) - AI-model Settings search; new in 25H2.
  • Paint AI (DisableCocreator, DisableGenerativeFill, DisableImageCreator) at SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\Paint. This is the documented Paint policy key and is separate from the existing Policies\Microsoft\Windows\Photos\DisableGenerativeFill write, which is retained.

DisableAIDataAnalysis and DisableClickToDo are documented as both machine and user scope, so they are written in HKLM and HKCU. AllowRecallEnablement and DisableSettingsAgent are machine scope only.

The update watchdog floor now re-asserts the two new machine-wide WindowsAI policies (DisableClickToDo, DisableSettingsAgent) so a feature update cannot silently turn them back on.

Every new value is declared in Get-ExtendedAIPurgeRegistryTargets, so Scope B rollback restores them and the AST drift guard covers them.

Testing

  • Static validation (Invoke-StaticValidation.ps1 -RequirePSScriptAnalyzer, 129 files) green locally.
  • Full Tests\Unit Pester 5.7.1 suite: 189 passed, 0 failed locally (adds a scope-coverage assertion in Test-ModuleRollback and floor assertions in Test-UpdateWatchdog).
  • Standalone artifact rebuilt (build.ps1) since embedded sources changed.
  • Not tested: applying these on a live 24H2/25H2 Copilot+ machine and confirming the features are actually suppressed. That needs the Sandbox/hardware pass.

Open question for review

RemoveMicrosoftCopilotApp (WindowsAI CSP) was deliberately left out: it is conditional (Enterprise/Pro/Edu only, not launched in 28 days) and Winnow already removes Copilot harder via Appx removal plus TurnOffWindowsCopilot. Add it only if you want the policy-driven path as belt-and-suspenders.

The extended AI purge missed AI features Microsoft added over the 24H2/25H2
cycle. Add the documented WindowsAI policies for Click to Do (screen
analysis) and the agentic Settings search, and the Paint AI policies
(Cocreator, generative fill, Image Creator) at the Paint policy key, which
is separate from the Photos generative-fill key already handled.

DisableAIDataAnalysis and DisableClickToDo are user-and-machine scoped per
the WindowsAI policy CSP, so write them in both HKLM and HKCU. The update
watchdog re-asserts the two new machine-wide WindowsAI policies after an
update resets them. All new values are declared in the rollback provider so
Scope B restores them, and the drift guard covers them.

Not verified on a real 24H2/25H2 Copilot+ device. The values, scopes, and
rollback coverage are unit-tested; the effect on hardware is not.
The Unreleased section was added by replacing the 4.2.3 header instead of
inserting above it, which left the 4.2.3 entries orphaned directly under
Unreleased. Put the header back so each release section is separate again.
@BiosSystem
BiosSystem marked this pull request as ready for review September 20, 2026 13:54
@BiosSystem
BiosSystem merged commit a732df4 into master Sep 20, 2026
1 check passed
@BiosSystem
BiosSystem deleted the feature/25h2-ai-policy-coverage branch September 20, 2026 13:54
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant