- Pestaña "Proyectos" (se crea sola) con cliente_id (RFC o SIN-RFC:nombre|empresa), estado con lista
desplegable y vendedor del token. Folio con contador propio CONSECUTIVO_PROY_AAAA bajo el mismo candado.
- Carpeta Cotizador Helgen/Proyectos/AAAA/<folio> — <cliente> — <nombre>/ con Cotizaciones,
Órdenes de compra y Pagos; las subcarpetas borradas o renombradas se vuelven a crear.
- Cotizaciones: columna T proyecto_folio (las viejas quedan vacías = "Sin proyecto"); con proyecto, el PDF
va a su carpeta Cotizaciones. Proyecto inexistente o no Activo se rechaza sin gastar folio.
- Interfaz: campo Proyecto opcional con buscador y "Nuevo proyecto" en el módulo 1; columna en Historial.
- Pruebas: tests/proyectos.test.js (Drive simulado con árbol de carpetas) y sesion.test.js ampliada.
- CLAUDE.md: §6.9 Proyectos y §6.10 modelo futuro (OC, Pagos, Gastos, cotización "Aceptada").
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Se agregan favicon.ico (16+32), favicon-32.png, apple-touch-icon.png (180) e
isologo-512.png en web/, con sus etiquetas <link> y theme-color #2C3C5B en
web/index.html y web/cotizador/index.html. Rutas absolutas para que funcionen
desde /cotizador/. La portada usaba el logo blanco como favicon, que casi no
se veía en pestañas claras. Publicado con wrangler (versión 19893d69).
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
gh v2.102.0 instalado en ~/.local/bin sin Homebrew; sesión con gh auth login
--web y credenciales de git con gh auth setup-git.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>