diff --git a/.gitignore b/.gitignore
index afbcbdb..4753953 100644
--- a/.gitignore
+++ b/.gitignore
@@ -28,7 +28,6 @@ uninstall.bat
# Local worktrees and planning docs
.worktrees/
-docs/superpowers/plans/
/FINAL_RELEASE_PLAN*.md
/RELEASE_PLAN*.md
/LOCAL_VALIDATION*.md
diff --git a/Installer/Installer.iss b/Installer/Installer.iss
deleted file mode 100644
index 098a884..0000000
--- a/Installer/Installer.iss
+++ /dev/null
@@ -1,75 +0,0 @@
-; ThreadPilot installer script (Inno Setup)
-; Requires Inno Setup to build the installer. Adjust MyAppVersion/MyAppBuildDir as needed.
-
-#define MyAppName "ThreadPilot"
-#define MyAppPublisher "ThreadPilot"
-#define MyAppURL "https://github.com/"
-#define MyAppExeName "ThreadPilot.exe"
-#define MyAppVersion "1.7.8"
-
-#ifndef MyWizardStyle
- #define MyWizardStyle "modern dynamic windows11"
-#endif
-
-; Point this to the folder containing the published binaries (e.g. dotnet publish -c Release -r win-x64)
-#ifndef MyAppBuildDir
- #define MyAppBuildDir "..\\publish"
-#endif
-
-[Setup]
-AppId={{A2A4C8B5-4A9A-4B1B-93F4-5F8B1C7E8C2A}
-AppName={#MyAppName}
-AppVersion={#MyAppVersion}
-AppVerName={#MyAppName}
-AppPublisher={#MyAppPublisher}
-AppPublisherURL={#MyAppURL}
-AppSupportURL={#MyAppURL}
-AppUpdatesURL={#MyAppURL}
-DefaultDirName={autopf}\{#MyAppName}
-UninstallDisplayIcon={app}\{#MyAppExeName}
-ArchitecturesAllowed=x64compatible
-ArchitecturesInstallIn64BitMode=x64compatible
-DefaultGroupName={#MyAppName}
-AllowNoIcons=yes
-PrivilegesRequiredOverridesAllowed=dialog
-OutputBaseFilename=ThreadPilot_Setup
-SetupIconFile=..\assets\icons\ico.ico
-SolidCompression=yes
-WizardStyle={#MyWizardStyle}
-
-[Languages]
-Name: "english"; MessagesFile: "compiler:Default.isl"
-
-[Tasks]
-Name: "desktopicon"; Description: "{cm:CreateDesktopIcon}"; GroupDescription: "{cm:AdditionalIcons}"; Flags: unchecked
-
-[Files]
-Source: "{#MyAppBuildDir}\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs; BeforeInstall: KillRunningInstance()
-
-[Icons]
-Name: "{group}\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}"
-Name: "{autodesktop}\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}"; Tasks: desktopicon
-
-[Run]
-Filename: "{app}\{#MyAppExeName}"; Description: "{cm:LaunchProgram,{#StringChange(MyAppName, '&', '&&')}}"; Flags: nowait postinstall skipifsilent
-
-[UninstallRun]
-Filename: "taskkill.exe"; Parameters: "/IM ""{#MyAppExeName}"" /F"; Flags: runhidden waituntilterminated; RunOnceId: "UninstallKill"
-Filename: "schtasks.exe"; Parameters: "/Delete /TN ""ThreadPilot_Launch"" /F"; Flags: runhidden waituntilterminated; RunOnceId: "UninstallRemoveThreadPilotLaunchTask"
-Filename: "schtasks.exe"; Parameters: "/Delete /TN ""ThreadPilot_Startup"" /F"; Flags: runhidden waituntilterminated; RunOnceId: "UninstallRemoveThreadPilotStartupTask"
-Filename: "reg.exe"; Parameters: "delete ""HKCU\Software\Microsoft\Windows\CurrentVersion\Run"" /v ""ThreadPilot"" /f"; Flags: runhidden waituntilterminated; RunOnceId: "UninstallRemoveThreadPilotRunEntry"
-
-; ThreadPilot user data is preserved during install/update and removed only when
-; the generated uninstaller runs. Per-user AppData cleanup is limited to the
-; account context used by uninstall.
-[UninstallDelete]
-Type: filesandordirs; Name: "{userappdata}\ThreadPilot"
-
-[Code]
-
-procedure KillRunningInstance();
-var
- ResultCode: Integer;
-begin
- Exec('taskkill.exe', '/IM "{#MyAppExeName}" /F', '', SW_HIDE, ewWaitUntilTerminated, ResultCode);
-end;
diff --git a/Installer/ThreadPilot.wxs b/Installer/ThreadPilot.wxs
deleted file mode 100644
index 656cb30..0000000
--- a/Installer/ThreadPilot.wxs
+++ /dev/null
@@ -1,34 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/README.md b/README.md
index a2595c2..91c6e20 100644
--- a/README.md
+++ b/README.md
@@ -205,7 +205,6 @@ Build release artifacts with the project script:
- [`docs/PRIVACY.md`](docs/PRIVACY.md)
- [`docs/release/PACKAGING.md`](docs/release/PACKAGING.md)
- [`docs/TROUBLESHOOTING.md`](docs/TROUBLESHOOTING.md)
-- [`docs/QUALITY_GATES.md`](docs/QUALITY_GATES.md)
- [`docs/adr/`](docs/adr/)
- [`docs/releases/`](docs/releases/)
diff --git a/SECURITY.md b/SECURITY.md
deleted file mode 100644
index 9e3de0d..0000000
--- a/SECURITY.md
+++ /dev/null
@@ -1,3 +0,0 @@
-# Security Policy
-
-See [docs/SECURITY.md](docs/SECURITY.md) for the full security policy, supported versions, and vulnerability disclosure process.
\ No newline at end of file
diff --git a/TRADEMARK.md b/TRADEMARK.md
deleted file mode 100644
index 3cca89d..0000000
--- a/TRADEMARK.md
+++ /dev/null
@@ -1,34 +0,0 @@
-# Trademark Policy
-
-The trademark policy has moved to [docs/legal/TRADEMARK.md](docs/legal/TRADEMARK.md).
-# Trademark Policy
-
-The name "ThreadPilot", the logo, and all branding elements associated with this project
-are NOT licensed under the GNU Affero General Public License v3.0.
-
-## Usage Restrictions
-
-1. **Project Name**: The name "ThreadPilot" may not be used to endorse or promote
- derivative works without explicit written permission from Prime Build.
-
-2. **Logo and Branding**: The ThreadPilot logo and visual branding elements may not
- be used in derivative works or forks without explicit written permission.
-
-3. **Permitted Uses**:
- - Attribution in documentation (e.g., "Based on ThreadPilot")
- - Factual references to the original project
- - Use in news articles, reviews, and educational content
-
-4. **Forks and Derivatives**: If you fork or create derivative works, you must:
- - Choose a different name for your project
- - Create your own branding and logo
- - Clearly indicate that your project is a fork/derivative
-
-## Contact
-
-For trademark inquiries or permission requests, please contact the project maintainers
-through the official GitHub repository.
-
----
-
-Copyright (C) 2025 Prime Build. All rights reserved.
diff --git a/Tests/ThreadPilot.Core.Tests/PackagingMetadataTests.cs b/Tests/ThreadPilot.Core.Tests/PackagingMetadataTests.cs
index 734b5d6..680f89b 100644
--- a/Tests/ThreadPilot.Core.Tests/PackagingMetadataTests.cs
+++ b/Tests/ThreadPilot.Core.Tests/PackagingMetadataTests.cs
@@ -8,25 +8,16 @@ public sealed partial class PackagingMetadataTests
private const string ReleaseAssemblyVersion = "1.7.8.0";
[Fact]
- public void InnoInstallers_UseStableDisplayNameAndSeparateVersionMetadata()
+ public void InnoInstaller_UsesStableDisplayNameAndSeparateVersionMetadata()
{
var root = FindRepositoryRoot();
- var installerScripts = new[]
- {
- Path.Combine(root, "Installer", "setup.iss"),
- Path.Combine(root, "Installer", "Installer.iss"),
- };
-
- foreach (var scriptPath in installerScripts)
- {
- var script = File.ReadAllText(scriptPath);
+ var script = File.ReadAllText(Path.Combine(root, "Installer", "setup.iss"));
- Assert.Contains("AppName={#MyAppName}", script, StringComparison.Ordinal);
- Assert.Contains("AppVersion={#MyAppVersion}", script, StringComparison.Ordinal);
- Assert.Contains("AppVerName={#MyAppName}", script, StringComparison.Ordinal);
- Assert.DoesNotContain("AppVerName={#MyAppName} {#MyAppVersion}", script, StringComparison.Ordinal);
- Assert.Matches(MyAppVersionRegex(), script);
- }
+ Assert.Contains("AppName={#MyAppName}", script, StringComparison.Ordinal);
+ Assert.Contains("AppVersion={#MyAppVersion}", script, StringComparison.Ordinal);
+ Assert.Contains("AppVerName={#MyAppName}", script, StringComparison.Ordinal);
+ Assert.DoesNotContain("AppVerName={#MyAppName} {#MyAppVersion}", script, StringComparison.Ordinal);
+ Assert.Matches(MyAppVersionRegex(), script);
}
[Fact]
@@ -114,10 +105,8 @@ public void VersionMetadata_IsBumpedToReleaseVersion()
AssertFileContains(Path.Combine(root, "ThreadPilot.csproj"), $"{ReleaseAssemblyVersion}");
AssertFileContains(Path.Combine(root, "ThreadPilot.csproj"), $"{ReleaseVersion}");
AssertFileContains(Path.Combine(root, "app.manifest"), $"version=\"{ReleaseAssemblyVersion}\"");
- AssertFileContains(Path.Combine(root, "Installer", "ThreadPilot.wxs"), $"Version=\"{ReleaseAssemblyVersion}\"");
AssertFileContains(Path.Combine(root, "chocolatey", "threadpilot.nuspec"), $"{ReleaseVersion}");
AssertFileContains(Path.Combine(root, "chocolatey", "threadpilot.nuspec"), $"releases/tag/v{ReleaseVersion}");
- AssertFileContains(Path.Combine(root, "sonar-project.properties"), $"sonar.projectVersion={ReleaseVersion}");
AssertFileContains(Path.Combine(root, "build", "build-release.ps1"), $"[string]$Version = \"{ReleaseVersion}\"");
AssertFileContains(Path.Combine(root, "build", "build-installer.ps1"), $"[string]$Version = \"{ReleaseVersion}\"");
AssertFileContains(Path.Combine(root, "build", "package-release-zips.ps1"), $"[string]$Version = \"{ReleaseVersion}\"");
diff --git a/assets/README.md b/assets/README.md
deleted file mode 100644
index c958809..0000000
--- a/assets/README.md
+++ /dev/null
@@ -1,8 +0,0 @@
-# Assets
-
-This folder is reserved for project assets used in documentation, branding, and release packaging.
-
-Suggested subfolders:
-- screenshots/
-- icons/
-- branding/
diff --git a/build/close-secret-scanning-alerts.ps1 b/build/close-secret-scanning-alerts.ps1
deleted file mode 100644
index 874c99a..0000000
--- a/build/close-secret-scanning-alerts.ps1
+++ /dev/null
@@ -1,119 +0,0 @@
-param(
- [Parameter(Mandatory = $true)]
- [string]$Repository,
-
- [ValidateSet('false_positive', 'used_in_tests', 'wont_fix', 'revoked', 'pattern_deleted')]
- [string]$Resolution = 'used_in_tests',
-
- [string]$ResolutionComment = 'Scanner vendor artifacts were removed from repository; resolving historical false positives in fix-forward mode.',
-
- [switch]$Apply
-)
-
-Set-StrictMode -Version Latest
-$ErrorActionPreference = 'Stop'
-
-function Invoke-GhApiJson {
- param(
- [Parameter(Mandatory = $true)]
- [string]$Endpoint,
-
- [string]$Method = 'GET',
-
- [hashtable]$Fields
- )
-
- $args = @('api', '-X', $Method, '-H', 'Accept: application/vnd.github+json', $Endpoint)
- if ($Fields) {
- foreach ($entry in $Fields.GetEnumerator()) {
- $args += '-f'
- $args += ('{0}={1}' -f $entry.Key, $entry.Value)
- }
- }
-
- $raw = (& gh @args 2>&1 | Out-String).Trim()
- if ($LASTEXITCODE -ne 0) {
- throw "gh api call failed for '$Endpoint'. Output: $raw"
- }
-
- if ([string]::IsNullOrWhiteSpace($raw)) {
- return $null
- }
-
- try {
- return $raw | ConvertFrom-Json
- }
- catch {
- throw "Unable to parse gh api JSON response for '$Endpoint'. Raw output: $raw"
- }
-}
-
-if (-not (Get-Command gh -ErrorAction SilentlyContinue)) {
- throw 'GitHub CLI (gh) is required. Install gh and authenticate with a token that has repo + security_events scope.'
-}
-
-$repoPattern = '^[^/]+/[^/]+$'
-if ($Repository -notmatch $repoPattern) {
- throw "Repository must be in 'owner/name' format. Received: $Repository"
-}
-
-Write-Host "Repository: $Repository"
-Write-Host "Resolution: $Resolution"
-Write-Host "Mode: $([bool]$Apply ? 'APPLY' : 'DRY-RUN')"
-
-$openAlerts = @()
-$page = 1
-$perPage = 100
-
-while ($true) {
- $endpoint = "/repos/$Repository/secret-scanning/alerts?state=open&per_page=$perPage&page=$page"
- $batch = Invoke-GhApiJson -Endpoint $endpoint
-
- if (-not $batch -or $batch.Count -eq 0) {
- break
- }
-
- $openAlerts += $batch
- if ($batch.Count -lt $perPage) {
- break
- }
-
- $page += 1
-}
-
-if ($openAlerts.Count -eq 0) {
- Write-Host 'No open secret scanning alerts found.'
- exit 0
-}
-
-Write-Host "Open alerts found: $($openAlerts.Count)"
-
-$summary = $openAlerts |
- Select-Object number, secret_type, state, created_at, html_url |
- Sort-Object number
-
-$summary | Format-Table -AutoSize
-
-if (-not $Apply) {
- Write-Host ''
- Write-Host 'Dry-run only. Re-run with -Apply to resolve all open alerts listed above.'
- exit 0
-}
-
-$resolved = 0
-foreach ($alert in $openAlerts) {
- $alertNumber = $alert.number
- $patchEndpoint = "/repos/$Repository/secret-scanning/alerts/$alertNumber"
-
- Invoke-GhApiJson -Endpoint $patchEndpoint -Method 'PATCH' -Fields @{
- state = 'resolved'
- resolution = $Resolution
- resolution_comment = $ResolutionComment
- } | Out-Null
-
- $resolved += 1
- Write-Host "Resolved alert #$alertNumber"
-}
-
-Write-Host ''
-Write-Host "Completed. Resolved alerts: $resolved"
diff --git a/build/create-github-release.ps1 b/build/create-github-release.ps1
deleted file mode 100644
index 0ac655f..0000000
--- a/build/create-github-release.ps1
+++ /dev/null
@@ -1,68 +0,0 @@
-param(
- [Parameter(Mandatory = $true)]
- [string]$Version,
- [string]$NotesFile = "docs/release/RELEASE_NOTES.md",
- [switch]$Draft,
- [switch]$Prerelease
-)
-
-$ErrorActionPreference = "Stop"
-
-function Assert-CommandAvailable {
- param([string]$CommandName)
-
- if (-not (Get-Command $CommandName -ErrorAction SilentlyContinue)) {
- throw "Required command '$CommandName' was not found in PATH."
- }
-}
-
-$scriptRoot = Split-Path -Parent $PSCommandPath
-$projectRoot = Split-Path -Parent $scriptRoot
-Set-Location -LiteralPath $projectRoot
-
-Assert-CommandAvailable -CommandName "gh"
-
-$tag = if ($Version.StartsWith("v", [StringComparison]::OrdinalIgnoreCase)) { $Version } else { "v$Version" }
-
-$notesPath = Join-Path $projectRoot $NotesFile
-if (-not (Test-Path -LiteralPath $notesPath)) {
- throw "Release notes file not found: $notesPath"
-}
-
-$artifacts = @()
-$artifacts += Get-ChildItem "artifacts/release/packages" -File -ErrorAction SilentlyContinue
-$artifacts += Get-ChildItem "artifacts/release/installer" -File -Include *.exe -ErrorAction SilentlyContinue
-
-$checksums = Join-Path $projectRoot "artifacts/release/SHA256SUMS.txt"
-if (Test-Path -LiteralPath $checksums) {
- $artifacts += Get-Item -LiteralPath $checksums
-}
-
-if (-not $artifacts -or $artifacts.Count -eq 0) {
- throw "No release artifacts found under artifacts/release."
-}
-
-$artifactArgs = @()
-foreach ($artifact in $artifacts) {
- $artifactArgs += $artifact.FullName
-}
-
-$releaseArgs = @("release", "create", $tag)
-$releaseArgs += $artifactArgs
-$releaseArgs += @("--notes-file", $notesPath)
-
-if ($Draft) {
- $releaseArgs += "--draft"
-}
-
-if ($Prerelease) {
- $releaseArgs += "--prerelease"
-}
-
-Write-Host "Creating GitHub release $tag with $($artifacts.Count) artifact(s)..."
-& gh @releaseArgs
-if ($LASTEXITCODE -ne 0) {
- throw "gh release create failed with exit code $LASTEXITCODE"
-}
-
-Write-Host "Release created successfully: $tag" -ForegroundColor Green
diff --git a/build/repo-cleanup.ps1 b/build/repo-cleanup.ps1
deleted file mode 100644
index 9a441e3..0000000
--- a/build/repo-cleanup.ps1
+++ /dev/null
@@ -1,33 +0,0 @@
-param(
- [switch]$DryRun
-)
-
-$ErrorActionPreference = "Stop"
-
-$targets = @(
- ".kilo",
- ".roo",
- ".cursor",
- "__pycache__"
-)
-
-$checkpointTargets = Get-ChildItem -Path . -Directory -Force -ErrorAction SilentlyContinue | Where-Object { $_.Name -like "checkpoint*" }
-$pathsToRemove = @()
-$pathsToRemove += $targets
-$pathsToRemove += ($checkpointTargets | ForEach-Object { $_.FullName })
-
-foreach ($target in $pathsToRemove) {
- if (-not (Test-Path -LiteralPath $target)) {
- continue
- }
-
- if ($DryRun) {
- Write-Host "[DryRun] Would remove: $target"
- continue
- }
-
- Remove-Item -LiteralPath $target -Recurse -Force
- Write-Host "Removed: $target"
-}
-
-Write-Host "Repository cleanup completed." -ForegroundColor Green
diff --git a/build/submit-winget-pr.ps1 b/build/submit-winget-pr.ps1
index 1a0394c..2881bf4 100644
--- a/build/submit-winget-pr.ps1
+++ b/build/submit-winget-pr.ps1
@@ -102,7 +102,7 @@ try {
& git commit -m "Add $PackageIdentifier version $Version"
& git push -u origin $branch --force
- $existingPr = (& gh pr list --repo microsoft/winget-pkgs --state open --head "$ForkOwner`:$branch" --json number | Out-String).Trim()
+ $existingPr = (& gh pr list --repo microsoft/winget-pkgs --state open --head $branch --author $ForkOwner --json number | Out-String).Trim()
if (-not [string]::IsNullOrWhiteSpace($existingPr) -and $existingPr -ne '[]') {
Write-Host "Winget PR already exists for branch $branch."
exit 0
diff --git a/chocolatey/cd b/chocolatey/cd
deleted file mode 100644
index e69de29..0000000
diff --git a/chocolatey/choco b/chocolatey/choco
deleted file mode 100644
index e69de29..0000000
diff --git a/docs/HANDOFF.md b/docs/HANDOFF.md
deleted file mode 100644
index a8c026a..0000000
--- a/docs/HANDOFF.md
+++ /dev/null
@@ -1,30 +0,0 @@
-# Handoff ThreadPilot — 2026-10-16
-
-## Due canali richiesti
-
-- **v1.7.7 stable:** EcoQoS, affidabilità regole/backup e redesign UI. Nessun Game Boost né correzioni aggiuntive della topologia introdotte con quel lavoro. Note: `docs/releases/v1.7.7.md`.
-- **v1.7.8-beta.1:** tutto il codice locale Game Boost, comprese le modifiche Attività del 15 ottobre, più le correzioni Intel P/E e gruppi L3/CCD AMD. Deve restare pre-release, senza sostituire la stable/latest o pubblicare su winget/Chocolatey.
-
-La versione combinata preparata prima della separazione è conservata nel commit `ef2ec24`. Non era stata pubblicata come v1.7.7-beta.2. La #67 consegna la stable senza Game Boost; la beta ripristina esattamente il codice runtime Game Boost di `6c36ea6` sopra la stable, con metadati separati. Note pubbliche e istruzioni tester: `docs/releases/v1.7.8-beta.1.md`. Il proprietario ha autorizzato il merge amministratore come PrimeBuild-pc dopo CI/CodeQL verdi.
-
-## CI e validazione
-
-Server 2022 build 20348 rifiuta GetProcessInformation(ProcessPowerThrottling) con errore 87 sia con query limitata sia completa. I job con test nativi e smoke usano Server 2025, coerente con il target Windows 11. Il round-trip EcoQoS reale resta attivo e passa. La conferma hardware EcoQoS di SA-Mousavichashmi nella #66 non equivale alla validazione Game Boost.
-
-Il codice combinato Game Boost ha superato 851 test Release, CI DevSecOps, CodeQL, audit dipendenze/Gitleaks; installer/portable locali e smoke test single-file riusciti. Eseguire i controlli anche sui due commit finali separati.
-
-## Game Boost: cosa manca
-
-- Hardware reale Ryzen dual-CCD X3D, AMD a CCD uguali e Intel ibride supportate.
-- Interazioni con parcheggio core/driver AMD; giochi protetti e anti-cheat reali.
-- Benchmark comparabili ripetuti: FPS medi, 1% low, P95/P99 frame time e varianza, con/senza background e Above Normal.
-
-QA precedente: Ryzen 7 5800X3D single-CCD e VM Windows 11 pulita per impostazioni/sessioni/priorità/ripristino. Il test nativo CPU Sets usa chiamate Windows vere ma topologia dual-L3 simulata. Il comportamento sul vero hardware multi-CCD resta da verificare. Ripiego conservativo se il lato gioco ha meno di sei core fisici.
-
-## Verifica pubblicazione
-
-Consultare GitHub per lo stato effettivo: `gh pr list`, `gh run list`, `gh release view v1.7.7`, `gh release view v1.7.8-beta.1`.
-
-I tag devono puntare ai rispettivi commit integrati e testati. Verificare installer/portable/SHA256 e smoke test di ogni canale. La latest deve restare v1.7.7 dopo la pubblicazione della beta. I binari sono ancora unsigned. Pulire solo i branch della pila e Game Boost a integrazione conclusa, senza toccare altri worktree/lavori.
-
-Fine riga misti: confrontare `git diff --numstat` con `git diff --ignore-cr-at-eol --numstat`. Sette lingue in `Locales/*.xaml`, stesse chiavi e contratti XAML nei test. Altri riferimenti: `docs/IMPLEMENTATION_PLAN.md`, `docs/UX_REDESIGN_PLAN.md`, `docs/release/RELEASE_RUNBOOK.md`.
diff --git a/docs/IMPLEMENTATION_PLAN.md b/docs/IMPLEMENTATION_PLAN.md
deleted file mode 100644
index e24e768..0000000
--- a/docs/IMPLEMENTATION_PLAN.md
+++ /dev/null
@@ -1,29 +0,0 @@
-# Miglioramenti ThreadPilot — 12 ottobre 2026
-
-Base: main `70b7f6d` (PR #65). Piano approvato da Lorenzo; implementazione locale sul branch `codex/ux-rules-reliability`.
-
-## Ordine di esecuzione
-
-- [x] 1. Backup completo: esportare anche le regole persistenti, mantenere compatibilità con i backup precedenti, validare prima di applicare, mostrare il riepilogo delle sostituzioni e ripristinare in caso di errore.
-- [x] 2. Regole coerenti: precedenza deterministica, elenco delle corrispondenze e avviso dei conflitti; usare la stessa selezione nel motore e nel riepilogo.
-- [x] 3. Processi: elenco con colonne opzionali, pannello dettagli adattivo, priorità CPU/memoria/I/O visibili, comandi applica/salva chiari, sezione avanzata chiusa inizialmente, contatore comprensibile.
-- [x] 4. Editor: distinguere automazioni energetiche e impostazioni dei processi; preparare tutte le modifiche e salvarle insieme; segnalare modifiche pendenti.
-- [x] 5. Pausa automazioni: mantenere disponibile il controllo manuale e mostrare un avviso persistente.
-- [ ] 6. Accessibilità e lingua: testi operativi leggibili, descrizioni dinamiche localizzate, focus/tastiera, etichette e layout ridimensionabile.
-- [ ] 7. Ripristino: annullare le modifiche manuali di priorità sullo stesso processo; per i tweak indicare ambito, riavvio e comportamento di ripristino, usando i backup esistenti.
-- [ ] 8. Reattività: misurare startup/consumi, eliminare le attese sincrone evitabili nell'avvio conservando elevazione, istanza unica e gestione errori; mantenere la sospensione degli aggiornamenti nascosti.
-- [ ] 9. Verifica finale: test mirati, suite completa, build Debug/Release, formattazione, controllo XAML/localizzazioni e misure ripetibili; documentare limiti del collaudo grafico.
-
-## Ambito e cautele
-
-Servizi di persistenza/regole, view model e viste Processi/Regole/Impostazioni/Tweak, startup, dizionari delle sette lingue e relativi test. Nessuna nuova dipendenza o migrazione del framework. Importazioni e rollback devono preservare i dati; i comandi di ripristino non devono agire su PID riutilizzati. Le precedenze nuove devono essere visibili e testate.
-
-## Pulizia e verifica
-
-Sostituito `IMPROVE_APP_PERFORMANCE_PLAN.md`, relativo alle release 1.4.3 e PR #35/#36 ormai superate. Le ottimizzazioni già presenti (cache regole, caricamento pagine differito, aggiornamenti sospesi in tray) vengono conservate. Vecchia misura storica: tray 0,0000% CPU nel campione, 140,24 MB working set, zero processi figli; non è una baseline dell'attuale macchina/versione. Documenti di release e licenze restano documentazione storica, non piani da cancellare.
-
-## Risultati
-
-- 1–2: PR backup + precedenza regole (schema 3.0, test `ConfigurationBackupTests`, `PersistentRuleResolutionTests`).
-- 3–5: PR interfaccia Processi/Regole: editor priorità con "Applica", annulla ultima priorità (protetto contro PID riutilizzati), modifiche pendenti nell'editor regole, controllo manuale disponibile con automazione in pausa. Il selettore core resta aperto: è la funzione principale.
-- 6–9: rimandati al redesign UX (vedi `docs/UX_REDESIGN_PLAN.md`) e alla verifica finale.
diff --git a/docs/QUALITY_GATES.md b/docs/QUALITY_GATES.md
deleted file mode 100644
index 872b143..0000000
--- a/docs/QUALITY_GATES.md
+++ /dev/null
@@ -1,53 +0,0 @@
-# Release Quality Gates
-
-This document defines Go/No-Go gates for ThreadPilot releases.
-
-## Gate Checklist
-
-| Gate | Criteria | Owner | Status |
-|---|---|---|---|
-| Build integrity | Release build succeeds with no blocking errors | CI/CD | Complete |
-| Core automated tests | `Tests/ThreadPilot.Core.Tests` passes on Release config | QA | Complete |
-| Coverage gate | CI parses Cobertura and fails below the active threshold | QA | Complete |
-| Dependency security | No Critical/High vulnerabilities from dotnet audit | Security | Complete |
-| Secret hygiene | Gitleaks scan has no active findings | Security | Complete |
-| Performance baseline | Idle tray footprint collected and archived | Performance | Complete |
-| Packaging | Installer + release zips + checksums + packaging evidence generated | Release Eng | Complete |
-| Documentation | Release notes, runbook, changelog updated | Tech Writer | Complete |
-| Compatibility | Smoke test on Windows 11 and Windows 10 best-effort | QA | Deferred (release candidate pass) |
-
-## Mandatory Commands
-
-```powershell
-dotnet restore ThreadPilot_1.sln
-dotnet build ThreadPilot_1.sln --configuration Release --no-restore
-dotnet test Tests/ThreadPilot.Core.Tests/ThreadPilot.Core.Tests.csproj --configuration Release --no-restore --collect:"XPlat Code Coverage" --settings "Tests/ThreadPilot.Core.Tests/coverlet.runsettings" --results-directory TestResults
-dotnet list ThreadPilot.csproj package --vulnerable --include-transitive
-```
-
-## Coverage Scope
-
-- The coverage badge tracks business/application code.
-- Generated build artifacts are excluded via `coverlet.runsettings`.
-- Legacy runtime harness files under `Tests/*.cs` are not part of the CI coverage contract.
-
-## Active Coverage Threshold
-
-The repository now uses a real Cobertura-parsed gate in CI.
-
-- Transitional threshold: `1.5%` line coverage
-- Reason: this matches the current honest baseline while service coverage is still being expanded
-- Planned ratchet: raise progressively as additional deterministic service tests land
-
-## Go/No-Go Rule
-
-Release can proceed only when all gates are marked complete or explicitly waived with a written risk note.
-
-## Evidence Snapshot (2026-04-21)
-
-- Build: `dotnet build ThreadPilot_1.sln --configuration Release --no-restore` (success in CI release path).
-- Tests: `dotnet test Tests/ThreadPilot.Core.Tests/ThreadPilot.Core.Tests.csproj --configuration Release --collect:"XPlat Code Coverage" --settings "Tests/ThreadPilot.Core.Tests/coverlet.runsettings"` (`45` passed, `0` failed in the current hardening branch).
-- Coverage: Cobertura from the current hardening branch is `7.52%` line / `5.50%` branch and is enforced by CI against the transitional `1.5%` line gate.
-- Dependency security: `dotnet list ThreadPilot.csproj package --vulnerable --include-transitive` (no vulnerable packages).
-- Secret hygiene: local gitleaks run, report `docs/audits/GITLEAKS_REPORT_2026-04-15.json` (no leaks).
-- Packaging: installer/packages/checksums plus winget/chocolatey evidence artifacts generated in `artifacts/release/` / workflow artifacts.
diff --git a/docs/README.md b/docs/README.md
index 094ae98..1a86a4a 100644
--- a/docs/README.md
+++ b/docs/README.md
@@ -1,33 +1,22 @@
-# Documentation
-
-This folder contains release and engineering documentation for ThreadPilot.
-
-## Core Documents
-- Architecture: reference/ARCHITECTURE_GUIDE.md
-- API reference: reference/API_REFERENCE.md
-- Developer guide: reference/DEVELOPER_GUIDE.md
-- Project structure: reference/PROJECT_STRUCTURE.md
-- UI style guide: reference/UI_STYLE_GUIDE.md
-- Advanced CPU features: reference/ADVANCED_CPU_FEATURES.md
-- Game boost validation: reference/GAME_BOOST_VALIDATION.md
-- Exception handling policy: reference/EXCEPTION_HANDLING_POLICY.md
-- Safe Win32 interop examples: reference/SAFE_WIN32_INTEROP_EXAMPLES.md
-- Performance guide: reference/PERFORMANCE.md
-- Development operations guide: reference/DEVELOPMENT.md
-- Runtime GC template: reference/runtimeconfig.template.json
-- Packaging guide: release/PACKAGING.md
-- Release runbook: release/RELEASE_RUNBOOK.md
-- Release notes template: release/RELEASE_NOTES_TEMPLATE.md
-- Go/No-Go matrix: release/GO_NO_GO_MATRIX.md
-- Release signing guide: RELEASE_SIGNING.md
-- Code-signing policy: CODE_SIGNING_POLICY.md
-- Bundled power-plan licensing audit: POWER_PLAN_LICENSING.md
-- Privacy policy: PRIVACY.md
-
-## Release and Governance
-- Gitleaks scan report: audits/GITLEAKS_REPORT_2026-04-15.json
-- README audit report: audits/README_AUDIT_REPORT_2026-04-15.md
-
-- Release execution log (2026-04-15): release/RELEASE_EXECUTION_LOG_2026-04-15.md
-## Migration Note
-Repository documentation is maintained under docs/ and updated with each release.
+# Documentation
+
+## Contributing
+- [Contributing guide](CONTRIBUTING.md)
+- [Code of conduct](CODE_OF_CONDUCT.md)
+- [Architecture decisions](adr/)
+
+## Users
+- [Troubleshooting](TROUBLESHOOTING.md)
+- [In-app updates](UPDATES.md)
+- [Privacy](PRIVACY.md)
+- [Security policy](SECURITY.md)
+
+## Releases
+- [Changelog](CHANGELOG.md)
+- [Release notes per version](releases/)
+- [Packaging and distribution](release/PACKAGING.md)
+- [Release signing](RELEASE_SIGNING.md) and [code-signing policy](CODE_SIGNING_POLICY.md)
+
+## Legal
+- [Trademark policy](legal/TRADEMARK.md)
+- [Bundled power-plan licensing](POWER_PLAN_LICENSING.md)
diff --git a/docs/SECURITY.md b/docs/SECURITY.md
index b492ce9..475adb8 100644
--- a/docs/SECURITY.md
+++ b/docs/SECURITY.md
@@ -3,9 +3,8 @@
## Supported Versions
| Version | Supported |
| --- | --- |
-| 1.1.x | Yes |
-| 1.0.x | Best effort |
-| < 1.0 | No |
+| Latest stable (1.7.x) | Yes |
+| Older versions | No, please update |
## Reporting a Vulnerability
If you discover a security issue, do not disclose it publicly before a fix is available.
diff --git a/docs/UX_REDESIGN_PLAN.md b/docs/UX_REDESIGN_PLAN.md
deleted file mode 100644
index 5c75e93..0000000
--- a/docs/UX_REDESIGN_PLAN.md
+++ /dev/null
@@ -1,33 +0,0 @@
-# Redesign UX — chiarezza (ottobre 2026)
-
-Branch `feat/ux-clarity`, impilato su #69 (EcoQoS). Nessuna modifica al formato dei dati: regole, impostazioni e backup restano compatibili.
-
-## Problemi osservati (screenshot dell'app 1.7.6)
-
-- Menu laterale solo a icone: sette icone senza etichetta.
-- Processi: casella di ricerca senza testo guida, nove controlli sparsi nella barra, pannello dettagli come un'unica colonna di etichette e paragrafi, selettori che non mostrano il valore attuale del processo.
-- Regole: tre schede e la prima aperta è la meno usata (associazioni dei piani energetici); nell'editor le scelte compaiono come nomi interni (`BelowNormal`, `SystemManaged`).
-- Sottotitoli lunghi su quasi tutte le pagine.
-
-## Regole di stile
-
-1. Titolo della pagina e al massimo una riga breve; le spiegazioni vanno nei tooltip.
-2. Una sezione = un riquadro con un titolo breve.
-3. Un solo pulsante principale (accent) per riquadro.
-4. I selettori mostrano lo stato attuale; "Applica" agisce solo sul valore cambiato.
-5. Etichette leggibili per le persone, mai nomi interni di enum.
-
-## Interventi
-
-- [x] Menu laterale aperto con etichette brevi (Processi, Maschere CPU, Piani energetici, Regole, Attività, Ottimizzazioni).
-- [x] Processi: ricerca con testo guida; filtri e colonne in due menu a tendina; dettagli in tre riquadri (Processo, Priorità, Core CPU) più la riga della regola; selettori allineati allo stato attuale; testi di aiuto nei tooltip.
-- [x] Regole: scheda "Regole dei processi" per prima, nomi delle schede più chiari, etichette localizzate nell'editor.
-- [x] Sottotitoli accorciati in tutte le lingue.
-- [x] Impostazioni e Ottimizzazioni in una colonna di righe in stile Impostazioni di Windows 11 (titolo e descrizione a sinistra, interruttore a destra); sezioni più usate in alto.
-- [x] Avvisi della finestra principale: già mostrati uno alla volta (coda elevazione → avvio ridotto → modalità CPU in `MainWindow.Behaviors.partial.cs`); nessuna modifica necessaria.
-- [x] Elenco regole: colonne "Applica" e "Modalità" localizzate.
-- [x] Rimosse 76 stringhe non più usate da tutte le lingue.
-
-## Verifica
-
-Test XAML esistenti aggiornati dove cambiano i contratti, suite completa, build Debug/Release, screenshot prima/dopo di ogni pagina.
diff --git a/docs/release/GO_NO_GO_MATRIX.md b/docs/release/GO_NO_GO_MATRIX.md
deleted file mode 100644
index b2d1fa2..0000000
--- a/docs/release/GO_NO_GO_MATRIX.md
+++ /dev/null
@@ -1,27 +0,0 @@
-# Go/No-Go Decision Matrix
-
-## Decision Inputs
-
-| Area | Status | Blocking? | Notes |
-|---|---|---|---|
-| Build | Complete | Yes | Release build currently passing |
-| Tests | Complete | Yes | Core test suite currently green |
-| Security scan | Complete | Yes | No vulnerable packages and no secret leaks |
-| Packaging | Complete | Yes | Installer, portable zip artifacts and checksums generated |
-| winget publication evidence | Complete | Yes | Tagged releases must either submit winget or fail with explicit missing-secret policy |
-| Chocolatey validation artifacts | Manual | No | Run the `Publish Chocolatey` workflow with `publish=false` after the GitHub release exists |
-| Chocolatey publication evidence | Manual | No | Run `Publish Chocolatey` with `publish=true` only after prior versions clear Chocolatey moderation |
-| Documentation | Complete | Yes | Release docs and governance artifacts updated |
-| Compatibility smoke tests | Deferred | Yes | Execute on final release candidate |
-
-## Decision Rule
-
-- GO: all blocking rows are complete.
-- GO for manual dry-run only if publication evidence rows explicitly record `dry-run` and the release is not being treated as public.
-- GO for GitHub/winget release does not require Chocolatey evidence because Chocolatey is manually gated by moderation state.
-- NO-GO: any blocking row incomplete, unless explicit waiver approved.
-
-## Waiver Log
-
-| Date | Area | Approved By | Rationale | Expiry |
-|---|---|---|---|---|
diff --git a/docs/release/PACKAGING.md b/docs/release/PACKAGING.md
index a61fe1e..77c9e2d 100644
--- a/docs/release/PACKAGING.md
+++ b/docs/release/PACKAGING.md
@@ -263,12 +263,6 @@ Moderation note:
- Moderation delay is an external queue, not automatically evidence of a repo or workflow failure.
- Do not run the manual publish workflow for a new version while prior ThreadPilot versions are still blocked or pending in Chocolatey moderation.
-Optional automation for publishing the GitHub release after artifacts are ready:
-
-```powershell
-./build/create-github-release.ps1 -Version "" -NotesFile "docs/release/RELEASE_NOTES.md"
-```
-
## CI/CD
The release workflow (`.github/workflows/release.yml`) now builds:
diff --git a/docs/release/RELEASE_EXECUTION_LOG_2026-04-15.md b/docs/release/RELEASE_EXECUTION_LOG_2026-04-15.md
deleted file mode 100644
index 1a34c56..0000000
--- a/docs/release/RELEASE_EXECUTION_LOG_2026-04-15.md
+++ /dev/null
@@ -1,30 +0,0 @@
-# Release Execution Log
-
-Date: 2026-04-15
-Scope: Final one-shot packaging execution after completion of non-packaging phases.
-
-## Commands Executed
-
-1. build/build-installer.ps1 -Version 1.1.1
-2. build/package-release-zips.ps1 -Version 1.1.1
-3. SHA256 manifest generation to artifacts/release/SHA256SUMS.txt
-
-## Result
-
-- Installer build: success
-- Release ZIP packaging: success
-- Checksum generation: success
-
-## Produced Artifacts
-
-- artifacts/release/installer/ThreadPilot_v1.1.1_Setup.exe
-- artifacts/release/packages/ThreadPilot_v1.1.1_Portable.zip
-- artifacts/release/packages/ThreadPilot_v1.1.1_Installer.zip
-- artifacts/release/SHA256SUMS.txt
-
-## ZIP Hashes (from packaging output)
-
-- ThreadPilot_v1.1.1_Portable.zip
- - SHA256: F53B0203AFF269C092143B297F1C16D2AAD638B5EB0FB127BC4CA9416591BD5C
-- ThreadPilot_v1.1.1_Installer.zip
- - SHA256: EBF10BFE4C39317A9CDC41DEE9BA9E80BC10961D887797EC5D824B83DD9440A5
diff --git a/docs/release/RELEASE_NOTES_TEMPLATE.md b/docs/release/RELEASE_NOTES_TEMPLATE.md
deleted file mode 100644
index eb3f850..0000000
--- a/docs/release/RELEASE_NOTES_TEMPLATE.md
+++ /dev/null
@@ -1,52 +0,0 @@
-# ThreadPilot vX.Y.Z Release Notes
-
-## Highlights
-
-- Summary bullet 1
-- Summary bullet 2
-
-## Added
-
-- Item
-
-## Changed
-
-- Item
-
-## Fixed
-
-- Item
-
-## Security
-
-- Item
-
-## Performance
-
-- Item
-
-## Breaking Changes
-
-- None / Item list
-
-## Installation
-
-### Installer (Recommended)
-
-1. Download ThreadPilot_vX.Y.Z_Setup.exe
-2. Run installer
-3. Launch ThreadPilot from Start menu
-
-### Portable
-
-1. Download ThreadPilot_vX.Y.Z_singlefile_win-x64.zip
-2. Extract archive
-3. Run ThreadPilot.exe
-
-## Checksums
-
-See SHA256SUMS.txt in the same release.
-
-## Known Issues
-
-- Item / None
diff --git a/docs/release/RELEASE_RUNBOOK.md b/docs/release/RELEASE_RUNBOOK.md
deleted file mode 100644
index 3b35d51..0000000
--- a/docs/release/RELEASE_RUNBOOK.md
+++ /dev/null
@@ -1,112 +0,0 @@
-# Release Execution Runbook
-
-Date: 2026-04-15
-
-## Pre-Release (T-48h)
-
-1. Confirm version in project metadata and release notes draft.
-2. Run full build/test/security commands.
-3. Confirm quality gates in docs/QUALITY_GATES.md.
-4. Prepare release notes from docs/release/RELEASE_NOTES_TEMPLATE.md.
-
-## Release Build (T-0)
-
-1. Build installer:
-
-```powershell
-./build/build-installer.ps1 -Version ""
-```
-
-2. Build ZIP packages:
-
-```powershell
-./build/package-release-zips.ps1 -Version ""
-```
-
-3. Generate checksums:
-
-```powershell
-$hashFile = "artifacts/release/SHA256SUMS.txt"
-if (Test-Path $hashFile) { Remove-Item $hashFile -Force }
-Get-ChildItem "artifacts/release" -Recurse -File -Include *.zip,*.exe |
-ForEach-Object {
- $hash = Get-FileHash $_.FullName -Algorithm SHA256
- "$($hash.Hash) $($_.Name)" | Out-File -FilePath $hashFile -Append -Encoding utf8
-}
-```
-
-## Publish
-
-Source-of-truth policy:
-
-- GitHub release tag and assets are the canonical release source.
-- Winget and Chocolatey metadata must reference an existing GitHub release tag and reachable asset URLs.
-- Changelog generation in CI must run with runner-native `git-cliff` binary (pinned version + checksum verification), not Docker-based changelog actions.
-- Stable tagged releases are public-release mode: missing winget publication secrets are a release blocker, not a silent skip.
-- Pre-release tags use matching project metadata, are marked prerelease, leave latest unchanged and skip winget manifests/publication. Do not manually publish the Game Boost beta to Chocolatey.
-- Version-specific notes in `docs/releases/.md` take precedence over generated notes for both channels. v1.7.7 is stable without Game Boost; v1.7.8-beta.1 contains the experimental Game Boost implementation.
-- `workflow_dispatch` may be run with `dry_run_publish=true` to validate build, assets, summaries, and winget flow without external publication.
-- Chocolatey publish is manual only through the `Publish Chocolatey` workflow, after prior ThreadPilot versions clear Chocolatey moderation.
-- Every publish channel that runs must leave evidence behind via `GITHUB_STEP_SUMMARY` plus uploaded log artifacts.
-
-Use script automation (requires authenticated gh CLI):
-
-```powershell
-./build/create-github-release.ps1 -Version "" -NotesFile "docs/release/RELEASE_NOTES.md"
-```
-
-Manual fallback:
-
-1. Create tag: `git tag -a v -m "Release v"`
-2. Push tag: `git push origin v`
-3. Create GitHub release and upload artifacts.
-
-Package publication prechecks:
-
-1. Confirm `v` exists in GitHub releases.
-2. Confirm installer URL resolves for the exact version.
-3. Confirm SHA256 in package metadata matches the published installer.
-4. Confirm winget package version matches the GitHub release version.
-5. Confirm release workflow changelog step executed successfully with the pinned `git-cliff` version.
-6. Confirm release mode is intentional:
- - tagged release: winget publish secrets present and winget submission expected
- - manual dry run: `dry_run_publish=true` and no external publication expected
-7. Confirm the generated winget manifest artifact contains exactly:
- - `PrimeBuild.ThreadPilot.yaml`
- - `PrimeBuild.ThreadPilot.locale.en-US.yaml`
- - `PrimeBuild.ThreadPilot.installer.yaml`
-8. Confirm README/download docs still point users to the latest release page or current asset naming contract.
-
-Publication evidence checklist:
-
-1. Review the release workflow summary for a channel result line:
- - `submitted` for winget
- - `dry-run` only for manual dry-run executions
-2. Download and inspect the uploaded winget channel logs:
- - `winget-submit-log.txt`
-3. Treat a tagged release with missing winget evidence as a failed release, even if GitHub release assets were created.
-
-Chocolatey manual publish checklist:
-
-1. Confirm previous ThreadPilot package versions have cleared Chocolatey moderation.
-2. Run GitHub Actions workflow `Publish Chocolatey` with `tag=v` and `publish=false`.
-3. Download and inspect Chocolatey packaging artifacts:
- - generated `.nupkg`
- - `chocolatey-package-metadata.json`
- - `choco-pack-log.txt`
-4. If validation is correct and moderation state is clear, rerun `Publish Chocolatey` with `publish=true`.
-5. Download and inspect publish artifacts:
- - `choco-push-log.txt`
- - `chocolatey-publish-metadata.json`
-
-## Post-Release (T+24h)
-
-1. Verify downloadable artifacts are accessible.
-2. Execute smoke installation on clean environment.
-3. Monitor issue tracker for regressions.
-4. Document hotfix decisions if needed.
-5. Verify package channel discoverability:
- Run `winget source update`, then `winget search --id PrimeBuild.ThreadPilot -s winget`.
- Run `choco search threadpilot --exact` and confirm moderation state on the package page.
- If Chocolatey search is still negative after publish, inspect moderation state before treating it as a release regression.
- Archive workflow summaries and publish log artifacts with the release notes if the run required manual follow-up.
diff --git a/docs/releases/v1.2.0-checklist.md b/docs/releases/v1.2.0-checklist.md
deleted file mode 100644
index cdaf394..0000000
--- a/docs/releases/v1.2.0-checklist.md
+++ /dev/null
@@ -1,15 +0,0 @@
-# ThreadPilot v1.2.0 Manual Validation Checklist
-
-- [ ] App starts without binding or startup errors.
-- [ ] Process tab loads.
-- [ ] Selected-process summary renders.
-- [ ] Process tab context menu works.
-- [ ] Affinity apply works on a normal single-group machine.
-- [ ] CPU Sets clear works or fails safely with user-safe messaging.
-- [ ] Memory priority set/read works or fails safely.
-- [ ] Save as rule creates or updates a persistent process rule.
-- [ ] Process-start auto-apply works while ThreadPilot is running.
-- [ ] Protected or anti-cheat process operations fail safely without bypass language.
-- [ ] Diagnostics is hidden by default.
-- [ ] Startup does not enable performance monitoring or create performance-monitoring cost by default.
-- [ ] Release artifacts are still pending manual validation.
diff --git a/sonar-project.properties b/sonar-project.properties
deleted file mode 100644
index 5283068..0000000
--- a/sonar-project.properties
+++ /dev/null
@@ -1,14 +0,0 @@
-sonar.projectKey=threadpilot
-sonar.projectName=ThreadPilot
-sonar.projectVersion=1.7.8
-
-sonar.sourceEncoding=UTF-8
-sonar.sources=.
-sonar.tests=Tests
-
-sonar.exclusions=**/bin/**,**/obj/**,**/artifacts/**,**/*.Designer.cs,**/*.g.cs,**/*.g.i.cs
-sonar.test.inclusions=Tests/**/*.cs
-
-# Coverage paths can be generated by dotnet test --collect:"XPlat Code Coverage"
-sonar.cs.vscoveragexml.reportsPaths=**/TestResults/**/coverage.cobertura.xml
-sonar.cs.opencover.reportsPaths=**/TestResults/**/coverage.opencover.xml
diff --git a/winget/manifests/p/PrimeBuild/ThreadPilot/1.1.1/PrimeBuild.ThreadPilot.installer.yaml b/winget/manifests/p/PrimeBuild/ThreadPilot/1.1.1/PrimeBuild.ThreadPilot.installer.yaml
deleted file mode 100644
index ab7f3c1..0000000
--- a/winget/manifests/p/PrimeBuild/ThreadPilot/1.1.1/PrimeBuild.ThreadPilot.installer.yaml
+++ /dev/null
@@ -1,9 +0,0 @@
-PackageIdentifier: PrimeBuild.ThreadPilot
-PackageVersion: 1.1.1
-InstallerType: inno
-Installers:
- - Architecture: x64
- InstallerUrl: {{INSTALLER_URL}}
- InstallerSha256: {{INSTALLER_SHA256}}
-ManifestType: installer
-ManifestVersion: 1.4.0
diff --git a/winget/manifests/p/PrimeBuild/ThreadPilot/1.1.1/PrimeBuild.ThreadPilot.locale.en-US.yaml b/winget/manifests/p/PrimeBuild/ThreadPilot/1.1.1/PrimeBuild.ThreadPilot.locale.en-US.yaml
deleted file mode 100644
index 6f6fbcf..0000000
--- a/winget/manifests/p/PrimeBuild/ThreadPilot/1.1.1/PrimeBuild.ThreadPilot.locale.en-US.yaml
+++ /dev/null
@@ -1,19 +0,0 @@
-PackageIdentifier: PrimeBuild.ThreadPilot
-PackageVersion: 1.1.1
-PackageLocale: en-US
-Publisher: Prime Build
-PublisherUrl: https://github.com/PrimeBuild-pc
-PublisherSupportUrl: https://github.com/PrimeBuild-pc/ThreadPilot/issues
-PackageName: ThreadPilot
-PackageUrl: https://github.com/PrimeBuild-pc/ThreadPilot
-License: AGPL-3.0-only
-LicenseUrl: https://github.com/PrimeBuild-pc/ThreadPilot/blob/main/LICENSE
-ShortDescription: Advanced Windows process and power plan manager.
-Description: ThreadPilot is a Process Lasso style utility for process affinity, priority, and power plan automation on Windows.
-Tags:
- - windows
- - process
- - power-plan
- - performance
-ManifestType: defaultLocale
-ManifestVersion: 1.4.0
diff --git a/winget/manifests/p/PrimeBuild/ThreadPilot/1.1.1/PrimeBuild.ThreadPilot.yaml b/winget/manifests/p/PrimeBuild/ThreadPilot/1.1.1/PrimeBuild.ThreadPilot.yaml
deleted file mode 100644
index 9f33c60..0000000
--- a/winget/manifests/p/PrimeBuild/ThreadPilot/1.1.1/PrimeBuild.ThreadPilot.yaml
+++ /dev/null
@@ -1,5 +0,0 @@
-PackageIdentifier: PrimeBuild.ThreadPilot
-PackageVersion: 1.1.1
-DefaultLocale: en-US
-ManifestType: version
-ManifestVersion: 1.4.0
diff --git a/winget/manifests/p/PrimeBuild/ThreadPilot/1.1.2/PrimeBuild.ThreadPilot.installer.yaml b/winget/manifests/p/PrimeBuild/ThreadPilot/1.1.2/PrimeBuild.ThreadPilot.installer.yaml
deleted file mode 100644
index 9690461..0000000
--- a/winget/manifests/p/PrimeBuild/ThreadPilot/1.1.2/PrimeBuild.ThreadPilot.installer.yaml
+++ /dev/null
@@ -1,10 +0,0 @@
-PackageIdentifier: PrimeBuild.ThreadPilot
-PackageVersion: 1.1.2
-InstallerType: inno
-Installers:
- - Architecture: x64
- InstallerUrl: https://github.com/PrimeBuild-pc/ThreadPilot/releases/download/v1.1.2/ThreadPilot_v1.1.2_Setup.exe
- InstallerSha256: 326864EAD100EDD134F3A41F5D4631FCB1FDF6A689101BB0C2D4B7330B9CF032
-ManifestType: installer
-ManifestVersion: 1.5.0
-
diff --git a/winget/manifests/p/PrimeBuild/ThreadPilot/1.1.2/PrimeBuild.ThreadPilot.locale.en-US.yaml b/winget/manifests/p/PrimeBuild/ThreadPilot/1.1.2/PrimeBuild.ThreadPilot.locale.en-US.yaml
deleted file mode 100644
index de23b3a..0000000
--- a/winget/manifests/p/PrimeBuild/ThreadPilot/1.1.2/PrimeBuild.ThreadPilot.locale.en-US.yaml
+++ /dev/null
@@ -1,20 +0,0 @@
-PackageIdentifier: PrimeBuild.ThreadPilot
-PackageVersion: 1.1.2
-PackageLocale: en-US
-Publisher: Prime Build
-PublisherUrl: https://github.com/PrimeBuild-pc
-PublisherSupportUrl: https://github.com/PrimeBuild-pc/ThreadPilot/issues
-PackageName: ThreadPilot
-PackageUrl: https://github.com/PrimeBuild-pc/ThreadPilot
-License: AGPL-3.0-only
-LicenseUrl: https://github.com/PrimeBuild-pc/ThreadPilot/blob/main/LICENSE
-ShortDescription: Advanced Windows process and power plan manager.
-Description: ThreadPilot is a Process Lasso style utility for process affinity, priority, and power plan automation on Windows.
-Tags:
- - windows
- - process
- - power-plan
- - performance
-ManifestType: defaultLocale
-ManifestVersion: 1.5.0
-
diff --git a/winget/manifests/p/PrimeBuild/ThreadPilot/1.1.2/PrimeBuild.ThreadPilot.yaml b/winget/manifests/p/PrimeBuild/ThreadPilot/1.1.2/PrimeBuild.ThreadPilot.yaml
deleted file mode 100644
index 3414a50..0000000
--- a/winget/manifests/p/PrimeBuild/ThreadPilot/1.1.2/PrimeBuild.ThreadPilot.yaml
+++ /dev/null
@@ -1,6 +0,0 @@
-PackageIdentifier: PrimeBuild.ThreadPilot
-PackageVersion: 1.1.2
-DefaultLocale: en-US
-ManifestType: version
-ManifestVersion: 1.5.0
-