You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Commit cab98ca
Browse filesBrowse the repository at this point in the historyBrowse files
docs(overclock): documentar pestana Overclock F0-F7 en README/ARCHITECTURE/CATALOG/CHANGELOG
README: badge 1692, fila OVERCLOCK en pilares, seccion 8 Overclock honesto, filas en motores/paginas/Pruebas. ARCHITECTURE: motor, 3 rutas de persistencia, suite 1692. CATALOG: seccion separada sin filas de tabla (guard de ids intacto). CHANGELOG: [Unreleased] F0-F7. Docs-consistency 16/16.
-**Catalogo declarativo de 11 knobs** (6 NVIDIA, 2 CPU por politica, 2 memoria solo lectura, 1 AMD) con riesgo, evidencia y dependencias; ningun knob con evidencia `Unknown`.
10
+
-**Escritura real donde el vendor la permite**: NVIDIA via NVML (relojes + potencia), AMD via ADLX (potencia), CPU via `powercfg` + flujo guiado XTU/IPF. Limites honestos: sin MSR no hay OC de reloj de CPU; sin SPD no hay timings de memoria.
11
+
-**Tuning con biseccion + recovery D4**: checkpoint antes de cada paso; 1er arranque sucio avisa (Revertir/Mantener/Descartar), 2do consecutivo revierte a LastKnownGood.
12
+
-**Delta honesto**: solo total del perfil (mediana, suelo 3 %) + techo por eje; prohibido atribuir delta por knob.
13
+
-**Puerta anti-cheat en perfiles de juego**: KernelLevel bloquea siempre; sin `LaunchOptions` ni `ProcessPriority` por construccion.
14
+
-**Docs**: README, ARCHITECTURE, OPTIMIZATION-CATALOG y CHANGELOG documentan Overclock.
15
+
16
+
### Probado
17
+
- Suite completa: **1692 passed, 0 failed** en Release (referencia 2.2.3: 1278; Overclock aporta +414).
18
+
5
19
## [2.2.3] - 2026-10-07
6
20
7
21
Bajada de correccion tras una auditoria completa del pipeline UI -> IPC -> servicio -> Core (21 rondas). Todos los hallazgos quedaron cerrados: ninguno sigue pendiente.
@@ -63,6 +63,7 @@ La UI **siempre eleva** (`app.manifest` `requireAdministrator` → UAC en cada i
63
63
|**OPTIMIZE**| Solo lo medido genera recomendación |`RecommendationEngine` clasifica exactamente 1 bucket por optimización consultando `SystemContext` real |
64
64
|**BENCHMARK**| Sin promesas falsas | Flujo 5 pasos con mediana de trials, suelo de ruido 3 %, veredictos `Mejora medible` / `Sin mejora` / `Regresión`. No se simulan FPS |
65
65
|**RECOVER**| Todo es reversible | Snapshot **antes** de mutar, journal `transactions/{txid}.jsonl`, hash-chain `history.jsonl` + `integrity.json` SHA-256 |
66
+
|**OVERCLOCK**| Tuning con evidencia, sin promesas | Catalogo declarativo de knobs + TuningEngine (biseccion) + recovery D4 + delta no aditivo con suelo 3 % |
66
67
67
68
**Decisión fundacional:***¿Cuál es la mejor configuración para ESTE Windows, ESTE hardware, ESTE driver, ESTE juego y ESTE objetivo?* — no *¿qué tweaks tiene Internet?*
68
69
@@ -80,7 +81,7 @@ La UI **siempre eleva** (`app.manifest` `requireAdministrator` → UAC en cada i
|**Servicios**| System.ServiceProcess.ServiceController |**8.0.1**|`CAO.Privileged` como `BackgroundService`|
82
83
|**Build**|`Directory.Packages.props` + `Directory.Build.props` + `Version.props` (single source `2.2.3`) | Centralizado | Un lugar para bump de versión/paquetes |
|**Seguridad**| CodeQL + `dotnet audit` + Dependabot + CycloneDX SBOM | CI | Cadena de suministro auditada |
85
86
86
87
> **Self-contained:** los artefactos de release no requieren runtime instalado. El instalador es `self-contained` sin `single-file` (requisito WinUI 3).
-**Catalogo declarativo, no tweaks sueltos.** 11 knobs con riesgo, evidencia y dependencias (`Core/Overclock/Catalog/OverclockCatalog.cs`): 6 NVIDIA, 2 CPU por politica, 2 memoria solo lectura, 1 AMD. Ninguno con evidencia `Unknown`.
555
+
-**Escritura real donde el vendor la permite.** GPU NVIDIA via NVML (`NvmlInterop.cs`: relojes + limite de potencia), GPU AMD via ADLX (`AmdAdlxInterop.cs`: limite de potencia), CPU via `powercfg` + flujo guiado XTU/IPF. Sin XTU no hay OC de CPU: se dice, no se finge.
556
+
-**Limites honestos por construccion.** Sin acceso MSR no hay overclock de reloj de CPU desde una app sin driver firmado; el SPD de memoria solo lo expone el firmware en el arranque. CPU = politica + XTU guiado, memoria = SMBIOS solo lectura.
557
+
-**Tuning con biseccion y recovery D4** (`TuningEngine.cs`, `OverclockRecoveryService.cs`). Checkpoint antes de cada paso en `%ProgramData%\CA-O\overclock\runs\`; primer arranque sucio avisa con 3 botones, segundo consecutivo revierte a LastKnownGood.
558
+
-**Delta honesto: el OC no es aditivo.** Solo delta total del perfil (mediana, suelo 3 %) + techo que limito cada eje; prohibido atribuir delta por knob (`OverclockDeltaBuilder`, test `Delta_NeverCarriesAKnob`).
559
+
-**Puerta anti-cheat.** KernelLevel bloquea aunque el escaneo salga limpio; un escaneo que no pudo mirar no es un equipo limpio. Sin `LaunchOptions` ni `ProcessPriority` por construccion (guard estatico `OverclockGameSafetyTests`).
548
560
## Motores internos
549
561
550
562
| Motor | Ubicación | Qué hace |
@@ -556,6 +568,7 @@ Detecta juegos (Valorant, Fortnite, Apex, CS2, OW2, LoL, R6, CoD, Destiny 2) y a
556
568
|**Compatibilidad**|`Core/Compatibility/KnownIssueMatcher` + JSON store | DB versionada con override drop-in `%ProgramData%\CA-O\known-issues.json`|
|**Limpieza**|`LimpiezaPage.xaml`| Temporales por optimización + `Ejecutar todo`, papelera con confirmación, DNS y **timer resolution** (0,5/1,0 ms) vía IPC |
| Known-issues |`Core/Compatibility/KnownIssueMatcher.cs` + store JSON en Infrastructure | DB versionada con override drop-in en `%ProgramData%\CA-O\known-issues.json`|
61
61
| Detección de juegos / anti-cheats |`Infrastructure/Gaming/`| Procesos conocidos; lectura de servicios/drivers |
62
+
| Overclock honesto |`Core/Overclock/` (catalogo, TuningEngine, recovery D4, delta) + `Infrastructure/Overclock/` (NVML, ADLX, policy) | Biseccion con checkpoints; 1er arranque sucio avisa, 2do revierte; delta total del perfil, nunca por ajuste |
62
63
63
64
Desviaciones documentadas respecto al árbol literal del prompt: `Core/Services` conserva accesores reutilizados por el servicio; `Infrastructure/SystemInterop` agrupa proveedores WMI en lugar de dividirlos por carpeta Windows/*; ETW queda como limitación documentada (DPC/ISR por contador, atribución por driver futura vía trazas).
|`%ProgramData%\CA-O\benchmarks\baseline.json`|`SystemBenchmarkResult` + `BenchmarkRunHeader`| Mediana de trials, suelo 3% |
102
+
|`%ProgramData%\CA-O\overclock\runs\*.json`| Checkpoints de tuning (Started/StepApplied/Interrupted/AutoReverted/Closed) + LastEvaluatedBootUtc | Escritura atomica tmp+move, cuarentena .corrupt, nunca se borra evidencia |
103
+
|`%ProgramData%\CA-O\overclock\profiles\*.json`| Perfiles validados por knob (un fichero por ajuste) | Escritura atomica, solo tras run estable hasta su techo |
104
+
|`%ProgramData%\CA-O\benchmarks\overclock-delta.json`| Ultimo informe de delta (linea base vs candidato) | Via BenchmarkStore atomico; informe vacio = Sin datos |
101
105
|`%AppData%\CA-O\settings.json`| Preferencias UI + `UiState.LastAnalysisUtc` restaurado al iniciar | 3 fases startup sin bloquear UI |
102
106
103
107
Nunca se registran secretos, credenciales ni contenido de entrada del usuario (spec 75, 116).
@@ -110,14 +114,14 @@ Nunca se registran secretos, credenciales ni contenido de entrada del usuario (s
110
114
-**i18n**: diccionario tipado es-ES/en-US (`Localizer`); migración a `.resw` planificada sin cambiar llamadas (`Localizer.Get(key)`).
111
115
-**HAGS/VBS/MPO/etc.**: nunca tratados como ganancias universales; HAGS es WorkloadDependent+Conditional+RequiresReboot, VBS es Critical+SecurityTradeoff+ExpertOnly.
0 commit comments