@ingcrea/aumic-puf 3.2.0 → 3.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.es.md CHANGED
@@ -1,256 +1,258 @@
1
1
  # AUM-IC PUF — Protocolo Universal contra Fallos (PUF-23)
2
2
 
3
- [![Licencia AGPL-3.0](https://img.shields.io/badge/license-AGPL--3.0-blue.svg)](LICENSE)
3
+ [![Licencia AGPL-3.0](https://img.shields.io/badge/licencia-AGPL--3.0-blue.svg)](LICENSE)
4
4
  [![Estándar AUM-IC 7:2026](https://img.shields.io/badge/est%C3%A1ndar-AUM--IC%207%3A2026-gold.svg)](https://github.com/ingcrea/aum-ic)
5
- [![npm version](https://img.shields.io/badge/npm-v3.0.0-cb3837.svg)](https://www.npmjs.com/package/@ingcrea/aumic-puf)
5
+ [![npm version](https://img.shields.io/badge/npm-v3.2.1-cb3837.svg)](https://www.npmjs.com/package/@ingcrea/aumic-puf)
6
6
 
7
- > 🌐 **Navegación:** 🇺🇸 [Read in English](./README.md) | 📜 [Manifiesto (ES)](./MANIFEST.es.md) | 📜 [Manifesto (EN)](./MANIFEST.md) | 🌌 [Estándar AUM-IC 7](https://github.com/ingcrea/aum-ic)
7
+ > 🌐 **Navegación:** 🇲🇽 [Leer en Español](./README.es.md) | 🇺🇸 [Read in English](./README.md) | 📜 [Manifiesto (ES)](./MANIFEST.es.md) | 📜 [Manifesto (EN)](./MANIFEST.md) | 🌌 [Estándar AUM-IC 7](https://github.com/ingcrea/aum-ic)
8
8
 
9
- > Suite oficial de aseguramiento de calidad y orquestador determinista para facilitar el cumplimiento del estándar [AUM-IC 7:2026](https://github.com/ingcrea/aum-ic) por **Ingeniería Creativa (IngCrea)**.
9
+ Suite oficial de aseguramiento determinista de calidad y orquestador multi-lenguaje de 23 compuertas (G0 a G22) bajo el estándar **AUM-IC 7:2026**, diseñado y mantenido por **Ingeniería Creativa (IngCrea)**.
10
10
 
11
11
  ---
12
12
 
13
- ## Matriz de 23 Compuertas de Calidad (G0 - G22)
13
+ ## Filosofía y Arquitectura del Motor
14
14
 
15
- ### 0. G0: Higiene Forense Anti-Entropía y Codificación Pura (aumic-sanitizer Audit)
16
- - **Alcance:** Diagnóstico in-process de mojibake, entropía de caracteres, saltos CRLF y codificación UTF-8 pura.
15
+ El Protocolo Universal contra Fallos (PUF) no es un linter superficial ni una colección dispersa de scripts. Es un **motor de auditoría determinista de ciclo cerrado** concebido para erradicar la entropía del software antes de que alcance entornos de producción.
17
16
 
18
- ### 1. G1: Mapeo de Comportamientos y Límites (Behavior & Boundary Mapping)
19
- - **Alcance:** Analizar el flujo completo de ejecución, ciclo de vida de la UI y desacoplamiento de hilos pesados.
17
+ Opera de forma agnóstica a través de adaptadores especializados para **Rust, TypeScript/JavaScript, Astro, Next.js, Python, PHP, Java/JVM, C#, C/C++, Flutter/Dart y Shell**, garantizando cumplimiento riguroso con normativas internacionales de fiabilidad (**ISO/IEC 25010**), seguridad de la información (**ISO 27001**) y testabilidad (**ISO 29119**).
20
18
 
21
- ### 2. G2: Test de Reproducción — Fase Roja (Reproduction Test-First)
22
- - **Alcance:** Escribir y verificar test automatizado previo a tocar código de lógica (*Red State*).
19
+ ### Características Clave del Motor v3.2.1
23
20
 
24
- ### 3. G3: Checkpoint Inmutable (State Snapshot)
25
- - **Alcance:** Respaldos atómicos con hash SHA-256 en `checkpoints/` para permitir reversión instantánea.
21
+ * **Snapshot VFS en Memoria (`LectorArbolProyecto`):** Mapeo virtual del sistema de archivos con caché volátil estructurado. Permite que múltiples compuertas analicen el repositorio de forma concurrente sin provocar saturación de I/O en disco.
22
+ * **Persistencia Forense Indexada (`RepositorioSqliteAudit`):** Almacenamiento nativo en SQLite (`.aumic/puf_audit.sqlite`) de cada ejecución, registrando métricas de latencia, violaciones detectadas y telemetría histórica con tiempos de consulta inferiores a 20 ms.
23
+ * **Perfiles Dinámicos de Auditoría (`--profile`):** Flexibilidad de inspección según el ciclo de entrega (`enterprise`, `mvp`, `dev`, `security`).
24
+ * **Zero-Black-Box Telemetry:** Reportes forenses interactivos en HTML (`puf-report.html`) con diagramas SVG gauge, tarjetas KPI de impacto y trazabilidad exacta de archivo y línea.
26
25
 
27
- ### 4. G4: Reparación Focalizada y Cero CSS Inline (Pure Logic Refactor)
28
- - **Alcance:** Erradicación de causa raíz, cero código muerto y prohibición de atributos `style="..."` inline.
29
-
30
- ### 5. G5: Validación de Test y No-Regresión — Fase Verde (Green State & Non-Regression)
31
- - **Alcance:** 100% de aserciones aprobadas y verificación perimetral contra regresiones colaterales.
32
-
33
- ### 6. G6: Análisis Estático Estricto (Static Gate Multi-Ecosystem)
34
- - **Alcance:** Compiladores y linters en modo estricto (Rust, TypeScript, Python, PHP, Java, C#, C++, Swift, etc.).
26
+ ---
35
27
 
36
- ### 7. G7: Documentación Semántica y Registro ADR (Intent & Architecture Decision)
37
- - **Alcance:** Registro obligatorio de decisiones de arquitectura en `BITACORA.md`.
28
+ ## Matriz Exhaustiva de las 23 Compuertas de Calidad (G0 a G22)
29
+
30
+ ### G0: Higiene Forense Anti-Entropía y Codificación Pura (In-Process Sanitizer)
31
+ * **Para qué sirve:** Garantiza que ningún byte corrupto, BOM invisible o secuencia de caracteres rotos ingrese al flujo de desarrollo.
32
+ * **Qué hace:** Ejecuta diagnósticos directos en memoria (vía motor `aumic-sanitizer`), auditando que el 100% de los archivos del proyecto mantengan codificación **UTF-8 pura sin BOM** y terminaciones de línea Unix **LF (`\n`)**, purgando de inmediato secuencias de mojibake y eliminando el riesgo de discrepancias entre sistemas operativos.
33
+
34
+ ### G1: Mapeo de Comportamientos, Límites y Aislamiento de Hilos (Behavior & Boundary Mapping)
35
+ * **Para qué sirve:** Blinda la estabilidad del ciclo de vida y previene la degradación o congelamiento de las interfaces de usuario.
36
+ * **Qué hace:** Inspecciona contratos, firmas y puntos de entrada identificando valores extremos (`null`, `undefined`, `None`, cadenas vacías y desbordamientos numéricos). Audita que **ninguna operación pesada de I/O, comandos síncronos ni peticiones de red** se invoquen dentro de temporizadores o bucles directos de la interfaz (`slint::Timer`, `setInterval`, `requestAnimationFrame`), forzando su delegación a tareas asíncronas desacopladas o memorias caché atómicas.
37
+
38
+ ### G2: Test de Reproducción — Fase Roja (Reproduction Test-First)
39
+ * **Para qué sirve:** Erradica correcciones a ciegas y asunciones subjetivas al resolver anomalías.
40
+ * **Qué hace:** Exige la existencia o creación previa de una prueba automatizada (unitaria, funcional o de integración) que replique con fidelidad el defecto reportado. El motor verifica que el test falle inequívocamente contra el código base actual (*Estado Rojo*) antes de permitir cualquier mutación de lógica.
41
+
42
+ ### G3: Checkpoint Inmutable de Estado (State Snapshot Guard)
43
+ * **Para qué sirve:** Otorga inmunidad frente a pérdidas de código o regresiones destructivas durante una reparación.
44
+ * **Qué hace:** Captura una copia de seguridad atómica con marca de tiempo en el directorio `checkpoints/` (`<archivo>.bak_YYYYMMDDHHMMSS`) registrando su huella criptográfica SHA-256. Esto permite realizar reversiones instantáneas e íntegras mediante `puf revertir` si el proceso de remediación se descarrila.
45
+
46
+ ### G4: Reparación Focalizada, Refactorización Limpia y Cero CSS Inline (Pure Logic Refactor)
47
+ * **Para qué sirve:** Asegura soluciones de raíz sin parches superficiales, código muerto ni deuda de estilos acoplados.
48
+ * **Qué hace:** Audita que la solución resuelva la causa fundamental sin generar efectos colaterales. Impone principios estrictos por lenguaje (en Rust prohíbe `unwrap()` injustificados forzando `Result`/`Option`; en PHP exige `declare(strict_types=1);`; en Astro separa lógica de frontmatter). Prohíbe de manera tajante el uso de atributos `style="..."` inline en HTML, JSX, PHP o Astro, exigiendo que todo diseño resida en hojas `.css` o `.scss` modulares.
49
+
50
+ ### G5: Validación de Test y No-Regresión — Fase Verde (Green State & Non-Regression)
51
+ * **Para qué sirve:** Certifica matemáticamente que el defecto quedó subsanado sin romper módulos adyacentes.
52
+ * **Qué hace:** Reejecuta el test automatizado introducido en G2 constatando el 100% de aserciones aprobadas (*Estado Verde*). Simultáneamente lanza la suite de pruebas perimetral para validar que ninguna funcionalidad preexistente haya sufrido regresiones.
53
+
54
+ ### G6: Análisis Estático, Tipado y Compilador Estricto (Static Gate Multi-Ecosystem)
55
+ * **Para qué sirve:** Cero tolerancia a advertencias, tipos implícitos y descuidos detectables en tiempo de compilación.
56
+ * **Qué hace:** Invoca el instrumental estático oficial del lenguaje detectado bajo banderas de rigor máximo:
57
+ * **TypeScript / Astro:** `npx astro check`, `npx tsc --noEmit` y ESLint sin warnings permitidos.
58
+ * **Rust:** `cargo check` y `cargo clippy -- -D warnings`.
59
+ * **Python:** `mypy --strict` y `ruff check`.
60
+ * **PHP:** `php -l` y `phpstan analyse --level=max`.
61
+ * **Java / JVM:** Validación contra Maven (`mvn test-compile`), Gradle o `javac`.
62
+ * **C# / .NET:** `dotnet build /warnaserror`.
63
+
64
+ ### G7: Documentación Semántica y Registro ADR (Intent & Architecture Decision)
65
+ * **Para qué sirve:** Preserva la memoria técnica y el razonamiento del porqué se tomaron las decisiones.
66
+ * **Qué hace:** Verifica que el código cuente con comentarios que expliquen la intención arquitectónica y valida la existencia y actualización de la bitácora `BITACORA.md` en la raíz del proyecto bajo el formato estricto:
67
+ ```text
68
+ [Timestamp] | Contexto | Decisión | Consecuencia
69
+ ```
70
+
71
+ ### G8: Aplanadora POSIX y Sanitización Anti-Mojibake (POSIX Squasher)
72
+ * **Para qué sirve:** Evita fallos de build, inconsistencias en git diffs y scripts inutilizables en entornos Linux/Docker.
73
+ * **Qué hace:** Barre en memoria la totalidad de los archivos de código fuente, aplastando de manera definitiva los saltos de línea Windows CRLF (`\r\n`) para forzar Unix LF (`\n`) y erradicando caracteres residuales con codificaciones no compatibles con POSIX.
74
+
75
+ ### G9: Integridad Operativa, Permisos y Secretos Zero-Trust (Ops Shield)
76
+ * **Para qué sirve:** Blinda la infraestructura contra fugas de credenciales y permisos de sistema inseguros.
77
+ * **Qué hace:** Inspecciona permisos en el sistema de archivos (forzando `644` para archivos regulares, `755` para ejecutables/directorios y `600` para llaves de acceso). Realiza análisis de patrones en búsqueda de credenciales, contraseñas, API keys o tokens expuestos en texto plano, obligando el uso de variables de entorno o bóvedas de secretos.
78
+
79
+ ### G10: Invalidación y Purga de Estado Efímero (State Flush)
80
+ * **Para qué sirve:** Garantiza que clientes y desarrolladores consuman código fresco, descartando cachés corrompidas.
81
+ * **Qué hace:** Localiza y purga de forma determinista árboles de compilación residuales y cachés locales (`.next`, `.turbo`, `dist`, `target`, `__pycache__`, `.phpunit.cache`, `storage/framework/cache`), recomendando o ejecutando el reinicio controlado de workers (PM2, Systemd, Gunicorn) según corresponda.
82
+
83
+ ### G11: Blindaje de Ergonomía del SO y Cero Robo de Foco (Zero-Focus Stealing Guard)
84
+ * **Para qué sirve:** Evita la degradación de la experiencia del usuario y parpadeos molestos en el sistema operativo.
85
+ * **Qué hace:** En entornos de escritorio Windows, audita que toda llamada a subprocesos nativos (`Command::new`, `powershell`, `cmd`, `exec`) incorpore obligatoriamente la bandera `creation_flags(0x08000000)` (`CREATE_NO_WINDOW`), impidiendo la aparición repentina de ventanas de consola negras que roben el foco del usuario. Igualmente audita que las consultas repetitivas de privilegios se resuelvan mediante cachés atómicos (`AtomicU8` / `OnceLock`).
86
+
87
+ ### G12: Topología de Rutas Vivas y Barredora de Enlaces Rotos (Living Routes Gate)
88
+ * **Para qué sirve:** Erradica pantallas 404 y enlaces huérfanos antes del despliegue.
89
+ * **Qué hace:** Escanea archivos de plantillas y componentes (`.astro`, `.tsx`, `.jsx`, `.vue`, `.html`, `.php`), extrayendo atributos `href`, `src`, `to` y `action`. Verifica que cada ruta relativa local referenciada tenga una correspondencia física real en el árbol de rutas del proyecto.
90
+
91
+ ### G13: Grafo de Interactividad y Erradicación Zombie (Living UI Actions Gate)
92
+ * **Para qué sirve:** Asegura que ningún control en pantalla sea un adorno inútil o carezca de respuesta.
93
+ * **Qué hace:** Analiza sintácticamente la interfaz buscando eventos interactivos huérfanos o inertes (`onClick=""`, `onClick={undefined}`, `on:click=""`, `@click=""`, botones sin atributo de tipo o sin listener). Todo elemento interactivo debe desencadenar un flujo concreto: llamada de API, apertura modal, mutación de estado o respuesta háptica/visual.
94
+
95
+ ### G14: Traza de Contratos HTTP y Endpoints Vivos (Living API Contract Gate)
96
+ * **Para qué sirve:** Previene discrepancias entre los llamados frontend y los endpoints provistos por el backend.
97
+ * **Qué hace:** Rastrea invocaciones cliente (`fetch(...)`, `axios.get/post/...`, `ky`) contrastando que no existan rutas huérfanas, endpoints deprecados ni rutas locales relativas no mapeadas en los controladores del servidor.
98
+
99
+ ### G15: Headless E2E Crawler y Runtime Exceptions (Headless Handshake Gate)
100
+ * **Para qué sirve:** Captura fallos silenciosos de renderizado, bloqueos de layout y excepciones de consola no controladas.
101
+ * **Qué hace:** Detecta la existencia de suites E2E (Playwright `playwright.config.ts` o Cypress `cypress.config.ts`). Si existen, valida su integración determinista; si no están configuradas, marca la compuerta como `omitida` con una recomendación técnica sin bloquear el proceso general de certificación.
102
+
103
+ ### G16: Calidad Visual, Core Web Vitals y Auditoría Web (Lighthouse / CWV Guard)
104
+ * **Para qué sirve:** Asegura puntuaciones competitivas en motores de búsqueda y una experiencia de usuario de alto nivel.
105
+ * **Qué hace:** Evalúa métricas críticas de rendimiento web (LCP - Largest Contentful Paint, CLS - Cumulative Layout Shift, INP - Interaction to Next Paint), accesibilidad (a11y), cumplimiento de SEO y buenas prácticas. Exige una calificación mínima promedio de 70/100 sobre reportes locales (`aumic-live-report.json`) o telemetría en vivo.
106
+
107
+ ### G17: Blindaje Legal, Integridad de Licencias y Compatibilidad (IP & License Guard)
108
+ * **Para qué sirve:** Protege la titularidad intelectual del software y previene litigios o incompatibilidades de código abierto.
109
+ * **Qué hace:** Audita la consistencia legal entre el manifiesto (`package.json`, `Cargo.toml`, `composer.json`) y los archivos físicos de licenciamiento (`LICENSE`, `LICENSE.md`, `LICENSE-DOCS`). Erradica placeholders sin llenar (ej. `<year>`, `<owner>`), valida compatibilidad de licencias de terceros y ofrece modo consultivo para código privativo de clientes.
110
+
111
+ ### G18: Consistencia de Motores de Estilo y Erradicación de Antipatrones (Style Engine Consistency)
112
+ * **Para qué sirve:** Mantiene un diseño limpio y previene conflictos catastróficos entre librerías CSS.
113
+ * **Qué hace:** Audita que el proyecto no mezcle frameworks antagónicos (por ejemplo, Tailwind CSS y Bootstrap conviviendo en el mismo proyecto). Adicionalmente, fiscaliza la deuda técnica de especificidad CSS, marcando alerta o rechazo si la presencia de la regla `!important` excede el umbral tolerado (máximo 5 ocurrencias justificadas).
114
+
115
+ ### G19: Blindaje de Superficie de Ataque y Cero Inyecciones (Zero-Injection & Attack Surface Guard)
116
+ * **Para qué sirve:** Cierra vectores de ataque comunes y previene intrusiones o robo de información.
117
+ * **Qué hace:** Escanea el repositorio descartando la presencia accidental de volcados de base de datos (`dump.sql`, `backup.sql`), scripts de diagnóstico peligrosos (`phpinfo.php`, `xmlrpc.php`) o llaves privadas SSH. Audita que el archivo `.env` se encuentre estrictamente ignorado en `.gitignore` e identifica patrones de concatenación directa de entradas de usuario en sentencias SQL, forzando consultas parametrizadas o Query Builders tipados.
118
+
119
+ ### G20: Topología de Entornos y Cero Conexiones Fantasma (Topology Guard)
120
+ * **Para qué sirve:** Erradica fallos silenciosos y llamadas a servidores de desarrollo en despliegues a producción.
121
+ * **Qué hace:** Analiza el código fuente en búsqueda de direcciones locales (`http://localhost`, `127.0.0.1`) hardcodeadas dentro de controladores o servicios de producción, exigiendo su desacoplamiento absoluto mediante variables de entorno configuradas por entorno (`dev`, `staging`, `prod`).
122
+
123
+ ### G21: Cumplimiento Oficial WordPress y WooCommerce (WPCS & WC Guidelines Guard)
124
+ * **Para qué sirve:** Garantiza código seguro, preparado para HPOS y resistente a fallos transaccionales en plataformas WordPress y WooCommerce.
125
+ * **Qué hace:** Se activa automáticamente al detectar proyectos PHP/WordPress ejecutando un conjunto de reglas especializadas:
126
+ * **`WP-SEC-01` (Sanitización y Nonces):** Valida sanitización de superglobales (`$_GET`, `$_POST`, `$_REQUEST`) y verificación obligatoria de nonces con `check_admin_referer()` / `wp_verify_nonce()`.
127
+ * **`WP-SEC-02` (Prepared Queries):** Prohíbe consultas directas a `$wpdb` sin `$wpdb->prepare()`.
128
+ * **`WC-HPOS-01` (CRUD Mandatorio de Pedidos):** Prohíbe lecturas o escrituras directas a `wp_postmeta` para metadatos de pedidos, forzando los métodos canónicos de la API CRUD de `WC_Order` (`$order->get_id()`, `$order->get_meta()`, `$order->update_meta_data()`, `$order->save()`).
129
+ * **`WC-CORE-01` (Propiedades Obsoletas):** Detecta accesos a propiedades deprecadas del core de WooCommerce (como `$order->id`).
130
+ * **`WP-ROBUST-OPT-01` (Empty Coalesce Guard):** Previene fallos sutiles donde el operador `??` sobre arrays de opciones falla porque una cadena vacía (`''`) no se evalúa como nula, evadiendo los valores de respaldo indispensables.
131
+ * **`WP-CIRCUIT-BREAKER-01` (Hardcoded Flags):** Detecta banderas booleanas fijas en código que bloquean silenciosamente flujos transaccionales o de pago.
132
+
133
+ ### G22: Diagnóstico Universal de Sintaxis y Delimitadores (Universal Syntax Guard)
134
+ * **Para qué sirve:** Diagnostica en milisegundos errores sintácticos sutiles sin requerir compiladores pesados instalados en la máquina.
135
+ * **Qué hace:** Motor de análisis sintáctico in-memory multi-lenguaje (PHP, CSS/SCSS, JSON, JavaScript, TypeScript, Java) que:
136
+ * Localiza omisiones exactas de punto y coma (`;`) en sentencias PHP y CSS/SCSS.
137
+ * Audita la integridad de archivos JSON (detectando comas faltantes o trailing commas no permitidas).
138
+ * Evalúa el balanceo perfecto de delimitadores (`{ }`, `[ ]`, `( )`), ignorando inteligentemente literales de cadenas, comentarios y expresiones regulares para reportar la línea precisa de cualquier desbalance.
38
139
 
39
- ### 8. G8: Aplanadora POSIX y Sanitización Anti-Mojibake
40
- - **Alcance:** Blindaje de bytes LF puros y UTF-8 estricto sin BOM.
140
+ ---
41
141
 
42
- ### 9. G9: Integridad Operativa, Permisos y Secretos Zero-Trust
43
- - **Alcance:** Permisos POSIX (644/755) y cero credenciales en texto plano.
142
+ ## Perfiles Dinámicos de Auditoría (`--profile`)
44
143
 
45
- ### 10. G10: Invalidación y Purga de Estado Efímero
46
- - **Alcance:** Purga de cachés de compilación (.next, .turbo, target, __pycache__, .phpunit.cache).
144
+ Para optimizar pipelines de integración continua o verificaciones rápidas antes de un commit, el PUF incorpora perfiles de auditoría seleccionables:
47
145
 
48
- ### 11. G11: Ergonomía del SO, Foco de Ventanas y Aislamiento UI (Zero-Focus Stealing)
49
- - **Alcance:** Compuerta obligatoria contra robo de foco en Windows (`CREATE_NO_WINDOW`) e I/O desacoplado de loops UI.
146
+ | Perfil | Compuertas Evaluadas | Caso de Uso |
147
+ | :--- | :--- | :--- |
148
+ | **`enterprise`** *(Predeterminado)* | **G0 a G22 (23 compuertas)** | Certificación integral obligatoria previa a releases y despliegues productivos. |
149
+ | **`mvp`** | `G0`, `G4`, `G6`, `G8`, `G22` | Verificación ágil de prototipos rápidos: higiene, lógica limpia, tipado estricto y sintaxis. |
150
+ | **`dev`** | `G0`, `G4`, `G6`, `G8`, `G22` | Ciclo de desarrollo local ultrarrápido sin bloqueos por suites accesorias. |
151
+ | **`security`** | `G0`, `G8`, `G9`, `G17`, `G19`, `G20` | Auditoría de ciberseguridad, permisos POSIX, blindaje legal, topología y cero inyecciones. |
50
152
 
51
- ### 12. G12: Topología de Rutas Vivas & Dead Link Sweeper
52
- - **Alcance:** Detección de enlaces y destinos locales rotos en código web.
153
+ ---
53
154
 
54
- ### 13. G13: Grafo de Interactividad & Erradicación Zombie
55
- - **Alcance:** Erradicación de botones decorativos o handlers de eventos inertes.
155
+ ## Manual de Uso del CLI (`puf` / `aumic-puf`)
56
156
 
57
- ### 14. G14: Traza de Contratos HTTP & Endpoints Vivos
58
- - **Alcance:** Detección estática de contratos HTTP rotos o paths huérfanos.
157
+ ### Instalación
59
158
 
60
- ### 15. G15: Headless E2E Crawler & Runtime Exceptions
61
- - **Alcance:** Suites E2E (Playwright / Cypress) para verificación de flujo funcional.
159
+ ```bash
160
+ # Instalación global vía npm
161
+ npm install -g @ingcrea/aumic-puf
62
162
 
63
- ### 16. G16: Calidad Visual, Core Web Vitals y Auditoría Web (Lighthouse / CWV)
64
- - **Alcance:** Puntuación de experiencia de usuario, layouts DOM estables y Core Web Vitals.
163
+ # O uso directo sin instalación vía npx
164
+ npx @ingcrea/aumic-puf auditar
165
+ ```
65
166
 
66
- ### 17. G17: Blindaje Legal, Integridad de Licencias y Compatibilidad (IP & License Guard)
67
- - **Alcance:** Consistencia entre manifiestos (`package.json`, `Cargo.toml`) y archivos `LICENSE`, titularidad y copyright.
167
+ ### Comandos de Operación
68
168
 
69
- ### 18. G18: Consistencia de Motores de Estilo y Erradicación de Antipatrones (Style Engine Consistency)
70
- - **Alcance:** Prevención de colisión entre frameworks (ej. Tailwind + Bootstrap) y control de deuda de `!important`.
169
+ #### 1. Auditoría Completa de la Matriz (Enterprise)
170
+ ```bash
171
+ # Audita las 23 compuertas de calidad concurrentemente en el directorio actual
172
+ puf auditar
71
173
 
72
- ### 19. G19: Blindaje de Superficie de Ataque y Cero Inyecciones (Zero-Injection Guard)
73
- - **Alcance:** Erradicación de archivos expuestos (`.env`, `dump.sql`) y prevención de concatenación SQL directa.
174
+ # Ejecución fail-fast (aborta de inmediato al primer fallo detectado)
175
+ puf auditar --fast
176
+ ```
74
177
 
75
- ### 20. G20: Topología de Entornos, Aislamiento de Red y Cero Conexiones Fantasma (Topology Guard)
76
- - **Alcance:** Erradicación de referencias hardcodeadas a `localhost` / `127.0.0.1` en entornos de producción.
178
+ #### 2. Auditoría por Perfil Dinámico
179
+ ```bash
180
+ # Auditoría rápida para entornos de desarrollo local
181
+ puf auditar --profile=dev
77
182
 
78
- ### 21. G21: Cumplimiento Oficial WordPress & WooCommerce (WPCS & WC Guidelines)
79
- - **Alcance:** Auditoría estricta de sanitización de superglobales, prepared queries en `$wpdb`, compatibilidad obligatoria con High-Performance Order Storage (HPOS) y métodos CRUD canónicos de `WC_Order`.
183
+ # Auditoría estricta de seguridad perimetral
184
+ puf auditar --profile=security
80
185
 
81
- ### 22. G22: Diagnóstico Universal de Sintaxis y Delimitadores (Universal Syntax Guard)
82
- - **Alcance:** Localización exacta de omisiones de punto y coma (`;`), comas en JSON y llaves/corchetes/paréntesis desbalanceados en memoria sin requerir compiladores externos.
186
+ # Auditoría ligera de entrega rápida (MVP)
187
+ puf auditar --profile=mvp
188
+ ```
83
189
 
84
- ---
190
+ #### 3. Auditoría Focalizada por Compuertas
191
+ ```bash
192
+ # Evalúa únicamente higiene forense, compliance de WordPress y sintaxis universal
193
+ puf auditar -g G0,G21,G22
85
194
 
86
- ## Uso del Orquestador (CLI)
195
+ # Evalúa seguridad y topología de red
196
+ puf auditar -g G9,G19,G20
197
+ ```
87
198
 
199
+ #### 4. Gestión de Incidentes y Reversión Atómica
88
200
  ```bash
89
- # Instalación global desde npm
90
- npm install -g @ingcrea/aumic-puf
201
+ # Inicia un incidente (genera andamio de test G2 y captura checkpoint inmutable G3)
202
+ puf iniciar INC-104 "Corrección de cálculo en pasarela de pagos" src/checkout.ts
91
203
 
92
- # Auditar todas las compuertas de la matriz (G0 a G22)
93
- puf auditar
204
+ # Reversión de emergencia a partir del checkpoint SHA-256 en caso de error
205
+ puf revertir INC-104 src/checkout.ts
206
+ ```
94
207
 
95
- # Auditar compuertas focalizadas (G0, G21, G22)
96
- puf auditar -g G0,G21,G22
208
+ #### 5. Blindaje de Repositorio Git (Pre-commit Hook)
209
+ ```bash
210
+ # Instala el guardián nativo en .git/hooks/pre-commit
211
+ puf instalar-hook
97
212
 
98
- # Modo fail-fast (aborta al primer fallo detectado)
99
- puf auditar --fast
213
+ # Validación en staged: impide realizar commits si se violan G4 (código muerto/CSS inline) o G7 (ADR)
214
+ puf guard
215
+ ```
100
216
 
101
- # Consultar versión instalada
217
+ #### 6. Consulta de Versión
218
+ ```bash
102
219
  puf -v
220
+ # o
221
+ puf --version
103
222
  ```
104
223
 
105
- ### 1. G1: Mapeo de Comportamientos y Limites (Behavior & Boundary Mapping)
106
- - **Alcance:** Analizar el flujo completo de ejecucion y ciclo de vida de la UI.
107
- - **Acciones:**
108
- - Identificar entradas, tipos, contratos, mutaciones y salidas esperadas.
109
- - Definir formalmente casos de borde: valores nulos (`None`, `null`, `Option::None`), cadenas vacias, desbordamientos numericos, condiciones de carrera/concurrencia y accesos no autenticados.
110
- - **Aislamiento del Bucle de UI:** Prohibido disparar I/O pesado, comandos o procesos sincronos dentro de temporizadores o callbacks de interfaz grafica (`slint::Timer`, `setInterval`, `requestAnimationFrame`). Deben delegarse a tareas de fondo asincronas o cachearse atomicamente.
111
-
112
- ### 2. G2: Test de Reproduccion -- Fase Roja (Reproduction Test-First)
113
- - **Alcance:** Probar y demostrar empiricamente el defecto antes de tocar una sola linea de logica.
114
- - **Acciones:**
115
- - Escribir un test automatizado (unitario, integracion o CLI determinista) que replique la falla reportada con fidelidad.
116
- - Ejecutar el test y confirmar que falle contra el codigo actual (*Red State*).
117
-
118
- ### 3. G3: Checkpoint Inmutable (State Snapshot)
119
- - **Alcance:** Blindaje de rollback y preservacion de estado pre-mutacion.
120
- - **Acciones:**
121
- - Generar un respaldo atomico timestamped en `checkpoints/` (`<archivo>.bak_YYYYMMDDHHMMSS`).
122
- - Registrar hash SHA-256 para permitir reversion instantanea sin perdida de informacion.
123
-
124
- ### 4. G4: Reparacion Focalizada y Refactorizacion Limpia (Pure Logic Refactor)
125
- - **Alcance:** Correccion quirurgica de la causa raiz.
126
- - **Acciones:**
127
- - Atacar la causa raiz sin parches superficiales. Cero codigo muerto, cero dependencias circulares.
128
- - Cumplir principios de codigo limpio del stack correspondiente:
129
- - **Rust:** Cero `unwrap()` no justificado; manejo exhaustivo con `Result` / `Option`.
130
- - **Astro:** Componentes puros, separacion de logica frontmatter y JSX estatico/reactivo.
131
- - **Python:** Tipado estricto (Type hints), PEP 8, manejo explicito de excepciones.
132
- - **PHP:** POO fuertemente tipada, `declare(strict_types=1);`, inyeccion de dependencias.
133
- - **Prohibicion Absoluta de CSS Inline:** Queda terminantemente prohibido inyectar `style="..."` en HTML/PHP/JSX/Astro. Si existen estilos inline preexistentes, refactorizarlos a archivos `.css`/`.scss`.
134
-
135
- ### 5. G5: Validacion de Test y No-Regresion -- Fase Verde (Green State & Non-Regression)
136
- - **Alcance:** Verificacion de solucion completa y estabilidad perimetral.
137
- - **Acciones:**
138
- - Reejecutar el test de G2 y validar el 100% de aserciones aprobadas (*Green State*).
139
- - Ejecutar la suite de pruebas perimetral/completa para certificar cero regresiones colaterales.
140
-
141
- ### 6. G6: Analisis Estatico, Tipado y Compilador Estricto (Static Gate)
142
- - **Alcance:** Tolerancia cero a advertencias del compilador o linters.
143
- - **Acciones:**
144
- - Ejecutar compilador y analisis estatico en modo estricto segun el stack:
145
- - **Rust:** `cargo clippy -- -D warnings` y `cargo check`.
146
- - **Astro / TypeScript:** `npx astro check` y `npx eslint`.
147
- - **Python:** `ruff check` y `mypy --strict`.
148
- - **PHP:** `php -l` y `phpstan analyse --level=max`.
149
- - Cero advertencias o errores tolerados.
150
-
151
- ### 7. G7: Documentacion Semantica y Registro ADR (Intent & Architecture Decision)
152
- - **Alcance:** Memoria tecnica e intencion arquitectonica.
153
- - **Acciones:**
154
- - Explicar en comentarios de codigo el *por que* de la decision y no solo el *que hace*.
155
- - Registrar en `BITACORA.md` de la raiz del proyecto bajo el formato estricto:
156
- ```
157
- [Timestamp] | Contexto | Decision | Consecuencia
158
- ```
159
-
160
- ### 8. G8: Aplanadora POSIX y Sanitizacion Anti-Mojibake (aumic-sanitizer)
161
- - **Alcance:** Integridad de codificacion y terminacion de linea.
162
- - **Acciones:**
163
- - Barrer los archivos con `node C:\Users\NexoRemoto\Proyectos\aumic-sanitizer\dist\index.js audit .`
164
- - Purgar caracteres Mojibake forzando UTF-8 puro sin BOM.
165
- - Aplanar y forzar saltos de linea Unix LF (`\n`), erradicando Windows CRLF (`\r\n`).
166
-
167
- ### 9. G9: Integridad Operativa, Permisos y Secretos Zero-Trust (Ops Shield)
168
- - **Alcance:** Blindaje de infraestructura y seguridad de credenciales.
169
- - **Acciones:**
170
- - Verificar permisos restrictivos en sistema de archivos (`chmod 644` archivos / `755` directorios, llaves SSH `600`).
171
- - Cero credenciales, tokens o contrasenas en texto plano. Gestionar accesos via variables de entorno seguras o `SECRETOS.py`.
172
-
173
- ### 10. G10: Invalidacion y Purga de Estado Efimero (State Flush)
174
- - **Alcance:** Consumo garantizado del codigo fresco en runtime.
175
- - **Acciones:**
176
- - Purgar deterministamente cache de objetos (Redis, Memcached, Opcache, `.next`, `dist`).
177
- - Reiniciar workers (Gunicorn, Systemd, SSR Node, PM2) para garantizar que los clientes consuman el codigo validado.
178
-
179
- ### 11. G11: Blindaje de Ergonomia del SO, Foco de Ventanas y Aislamiento UI (OS & Desktop Ergonomics Gate)
180
- - **Alcance:** Experiencia de usuario inmaculada, ausencia total de robo de foco.
181
- - **Acciones:**
182
- - **Inmunidad al Robo de Foco (Zero-Focus Stealing):** Toda invocacion de subprocesos en Windows (`Command::new`, `powershell`, `cmd`) DEBE incorporar `.creation_flags(0x08000000)` (`CREATE_NO_WINDOW`).
183
- - **Zero-Ghost Processes:** Al cerrar la aplicacion, no deben quedar procesos huerfanos consumiendo CPU.
184
- - **Cache de Consultas de Privilegios:** Usar cache atomico perezoso (`AtomicU8` / `OnceLock`), evitando invocaciones repetidas en bucles.
185
-
186
224
  ---
187
225
 
188
- ### 12. G12: Topologia de Rutas Vivas & Dead Link Sweeper (Living Routes Gate)
189
- - **Alcance:** Integridad de navegacion sin pantallas 404 ni rutas huerfanas en Web (Astro, React, Next, Vue), Mobile (Flutter) y Desktop (Slint, C#/WPF, Tauri).
190
- - **Acciones:**
191
- - Escanear los archivos HTML/JSX/Astro/PHP afectados con el metodo `auditarRutasVivas()` del adaptador.
192
- - Detectar atributos `href`, `src`, `to`, `action` que apunten a rutas locales que no existen en el filesystem.
193
- - Cero enlaces rotos hacia destinos locales inexistentes. Toda ruta relativa debe resolverse a un archivo real.
194
- - El orquestador informa la lista exacta: `archivo.astro -> "/ruta/inexistente" (no existe en filesystem)`.
195
- - **Solo aplica a extensiones web:** `.astro`, `.jsx`, `.tsx`, `.html`, `.php`, `.vue`, `.svelte`.
196
-
197
- ### 13. G13: Grafo de Interactividad & Erradicacion Zombie (Living UI Actions Gate)
198
- - **Alcance:** Cero botones decorativos, pseudoelementos inertes o acciones no conectadas.
199
- - **Acciones:**
200
- - Escanear los archivos web afectados con el metodo `auditarInteractividad()` del adaptador.
201
- - Detectar patrones de handler inerte: `onClick=""`, `onClick={undefined}`, `on:click=""`, `@click=""`.
202
- - Todo control interactivo debe resolver en un evento real (API call, modal, mutacion de estado o feedback visual).
203
- - El orquestador reporta exactamente que archivo y linea contiene el handler zombie.
204
- - **Solo aplica a extensiones web:** `.astro`, `.jsx`, `.tsx`, `.html`, `.php`, `.vue`, `.svelte`.
205
-
206
- ### 14. G14: Traza de Contratos HTTP & Endpoints Vivos (Living API Contract Gate)
207
- - **Alcance:** Consistencia granular entre las llamadas del cliente y los controladores declarados en el backend.
208
- - **Acciones:**
209
- - Analizar los archivos afectados buscando llamadas `fetch(...)` o `axios.get/post/...` con rutas hardcodeadas locales (no `/api/`, no variables de entorno `${}`).
210
- - Cero llamadas HTTP a paths huerfanos o inexistentes detectados estaticamente.
211
- - Si se detectan inconsistencias, listar exactamente el archivo y el endpoint problematico.
212
-
213
- ### 15. G15: Headless E2E Crawler & Runtime Exceptions (Headless Handshake Gate)
214
- - **Alcance:** Deteccion de errores silenciosos, excepciones de runtime y bloqueos de interfaz.
215
- - **Acciones:**
216
- - Verificar si existe suite E2E (Playwright `playwright.config.ts`, Cypress `cypress.config.ts`) en la raiz del proyecto.
217
- - Si existe: marcar como **APROBADA** e instruir al Jefe Maestro a ejecutarla manualmente para certificacion completa.
218
- - Si NO existe: marcar como **OMITIDA** (no bloquea certificacion) con recomendacion de configurar Playwright.
219
- - **G15 OMITIDA no es un fallo:** `todasAprobadas` acepta tanto `aprobada` como `omitida`.
226
+ ## Integración Continua (GitHub Actions)
220
227
 
221
- ---
222
-
223
- ## Reglas Inviolables de Ejecucion
224
-
225
- 1. **Cero Complacencia:** No dejar tareas a medias ni usar marcadores vacios (`// el resto del codigo aqui`).
226
- 2. **Determinismo Tecnico:** Todo entregable debe ser determinista, verificado en consola y listo para produccion.
227
- 3. **Reporte por Compuerta:** Reportar siempre el estado de cada compuerta (G1 a G15) con su respectiva evidencia.
228
- 4. **G15 es OMITIDA, no RECHAZADA:** Si no hay suite E2E, G15 se omite sin bloquear la certificacion.
229
- 5. **G12 y G13 aplican solo a archivos web:** Para proyectos Rust/Python/Shell sin frontend, estas compuertas se aprueban automaticamente por ausencia de extensiones web en los archivos afectados.
228
+ El repositorio incluye la plantilla oficial [`puf-github-action.yml`](puf-github-action.yml). Para blindar cualquier repositorio en GitHub:
230
229
 
231
- ## Uso del Orquestador (CLI)
232
-
233
- ```bash
234
- # Inicializar incidente (crea andamio G2 + checkpoints G3)
235
- puf iniciar INC-042 "Descripcion del fallo" src/archivo.ts
230
+ ```yaml
231
+ name: Certificación AUM-IC PUF-23
232
+ on: [push, pull_request]
236
233
 
237
- # Auditar las 15 compuertas concurrentemente
238
- puf auditar INC-042 src/archivo.ts
234
+ jobs:
235
+ auditoria-puf:
236
+ runs-on: ubuntu-latest
237
+ steps:
238
+ - name: Checkout del Repositorio
239
+ uses: actions/checkout@v4
239
240
 
240
- # Modo fail-fast (aborta al primer fallo)
241
- puf auditar INC-042 src/archivo.ts --fast
241
+ - name: Configurar Node.js
242
+ uses: actions/setup-node@v4
243
+ with:
244
+ node-version: 22
242
245
 
243
- # Revertir a estado pre-fallo (usando checkpoint G3)
244
- puf revertir INC-042 archivo.ts
245
-
246
- # Instalar guardian de Git (pre-commit hook)
247
- puf instalar-hook
246
+ - name: Ejecutar Auditoría PUF
247
+ run: npx @ingcrea/aumic-puf auditar --profile=enterprise --fast
248
248
  ```
249
249
 
250
- ## Licencia
250
+ ---
251
+
252
+ ## Licencia y Propiedad Intelectual
251
253
 
252
- Distribuido bajo licencia **GNU Affero General Public License v3.0 (AGPL-3.0)**. Ver [LICENSE](LICENSE).
254
+ Distribuido bajo licencia **GNU Affero General Public License v3.0 (AGPL-3.0)**. Consulta el archivo [LICENSE](LICENSE) para mayores detalles sobre derechos y libertades de uso de software libre.
253
255
 
254
256
  ---
255
257
 
256
- **[Ingeniería Creativa](https://ingcrea.com)** | [Estándar AUM-IC](https://github.com/ingcrea/aum-ic)
258
+ **[Ingeniería Creativa (IngCrea)](https://ingcrea.com)** | [Estándar AUM-IC 7:2026](https://github.com/ingcrea/aum-ic)