README raíz promete un script prepare que ningún installer escribe | Falso positivo por grep mal acotado a packages/cli/src/. La promesa SÍ se cumple (lo escribe husky vía su binario, fuera de ese path) | 2026-06-03T15:00:00-04:00 | re-validar si cambia README.md o packages/cli/src/installers/husky.ts |
detectFramework/readPackageJson castean con as en frontera no confiable (invocando ADR-0011) | El cast en sí NO viola ADR-0011 (alcance DB/API, no CLI/FS). OJO: la falta de validación de FORMA en readPackageJson SÍ es defecto real y está PROMOVIDA a hallazgo HIGH (qa-edge) — esta supresión cubre solo la atribución a ADR-0011, no el bug de forma | 2026-06-03T15:00:00-04:00 | re-validar si cambia knowledge/adr/0011-*.md o utils/package-json.ts |
| Errores de npx/instalación pierden detalle cuando la tool escribe diagnósticos en stdout | Mecanismo real pero impacto no aplica: run() usa stdio:'pipe' y descarta e.stdout; index.ts solo imprime err.message — el detalle ya estaba fuera del alcance del flujo | 2026-06-03T15:00:00-04:00 | re-validar si cambia utils/exec.ts o el manejo de error en index.ts |
| Falla parcial en installers que shellean deja entorno inconsistente sin rollback | Descripción mecánica exacta pero tratado bajo qa-edge de tsconfig/instalación, no como hallazgo de errores independiente | 2026-06-03T15:00:00-04:00 | re-validar si cambia husky.ts, agents-md.ts o architecture-guide.ts |
| run() ejecuta execSync con string interpolado (inyectable) y addDevDependency es sink latente | Código factualmente correcto pero NO explotable: inputs son listas estáticas internas / nombre de PM, no datos no confiables | 2026-06-03T15:00:00-04:00 | re-validar si exec.ts o package-json.ts empiezan a interpolar input de usuario |
| El callback .action() concentra demasiadas responsabilidades (borde de ADR-0010) | Auto-clasificado info; NO viola el umbral ni dispara la señal warn; premisa numérica débil | 2026-06-03T15:00:00-04:00 | re-validar si crece index.ts o cambia knowledge/adr/0010-*.md |
| La selección del prompt se castea a string[] sin validar (index.ts:122) | Cast real y response.tools es any por @types/prompts, pero no genera daño en este flujo (mismo razonamiento que ADR-0011 sobre fronteras) | 2026-06-03T15:00:00-04:00 | re-validar si cambia index.ts:122 o el manejo del response del prompt |
| El manifest se castea a { version: string } sin validar (index.ts:41) | Cierto a nivel sintáctico pero la atribución de riesgo no aplica: el manifest es artefacto interno controlado, no frontera no confiable | 2026-06-03T15:00:00-04:00 | re-validar si el manifest pasa a leerse de fuente externa |
| El orquestador index.ts no tiene NINGÚN test (loop de orquestación / exit code) | Hecho crudo cierto (ninguna suite importa index.ts) pero descartado como hallazgo de correctitud; es deuda de cobertura. NOTA: las guardas específicas de no-TTY y preset SÍ se promovieron a hallazgos aud-tests por ser ruta crítica recién introducida | 2026-06-03T15:00:00-04:00 | re-validar si se agrega/quita cobertura sobre index.ts |
| package-json.ts: addDevDependency y getInstallCmd sin test | Descripción correcta pero es falta de test, no fix; getInstallCmd ya está confirmado como lógicamente correcto (ver invariantes) | 2026-06-03T15:00:00-04:00 | re-validar si cambia utils/package-json.ts |
| La action es async pero se invoca con program.parse() síncrono → unhandled rejection del prompt | Mecanismo factualmente verificado (action async en :52, parse() síncrono en :156) pero descartado: en este flujo no produce el camino de error sucio descrito de forma accionable; sin evidencia de daño observable | 2026-06-03T15:00:00-04:00 | re-validar si cambia index.ts:52/156 o se añade lógica async tras el prompt |
| La rama catch de detectStack (ENOENT vs error real) no tiene test que verifique diagnóstico y exit(1) | Factualmente cierto pero NO es defecto de correctitud (el catch YA discrimina bien en :67-77 desde run 2) y es repetición de la deuda de cobertura ya suprimida de index.ts | 2026-06-03T15:00:00-04:00 | re-validar si cambia index.ts:67-77 o se añade detect-stack/index integration test |