Evidencia QA — LAP-305

Shell parametrizado del formulario simplificado de Startups

Commit: c5e13e3 Autor: Dev LPDI Fecha: 2026-05-02 20:57 UTC

Archivos cambiados

429 archivos

Cambios en esta rama respecto a main. Los archivos de datos de ciudades (static/data/cities/) representan la mayoría del volumen — son datos de referencia sin lógica de negocio.

  • — Configuración y documentación —
  • .env.example
  • .github/workflows/e2e-tests.yml
  • .github/workflows/lint.yml
  • .github/workflows/persona-review.yml
  • .github/workflows/type-check.yml
  • .gitignore
  • CLAUDE.md
  • DEPLOY.md
  • README.md
  • docs/personas/frontend-architect.md
  • package.json / package-lock.json
  • playwright.config.ts
  • postcss.config.js / svelte.config.js / tailwind.config.ts / vite.config.ts
  • prisma.config.ts
  • vercel.json
  • — Scripts —
  • scripts/generate-changelog.ts
  • scripts/generate-cities.ts
  • scripts/lint/no-duplicate-entity-types.ts
  • scripts/lint/no-duplicate-investment-categories.ts
  • scripts/migrate-cities.ts / migrate-cities-no-matches.json
  • — Core de la aplicación —
  • src/app.css / src/app.d.ts / src/app.html
  • src/hooks.server.ts / src/hooks.ts
  • src/lib/supabase-browser.ts / supabase-server.ts / supabase.ts
  • src/lib/stores/auth.ts
  • — Componentes compartidos —
  • src/components/BarChart.svelte
  • src/components/ContactTable.svelte
  • src/components/KpiCard.svelte
  • src/components/LoginForm.svelte
  • src/components/Sidebar.svelte
  • src/lib/components/AppFooter.svelte
  • src/lib/components/AutoSaveIndicator.svelte
  • src/lib/components/BackToEcosystem.svelte
  • src/lib/components/BusinessNeedsPicker.svelte
  • src/lib/components/CityPicker.svelte
  • src/lib/components/ConfirmNewEntityModal.svelte
  • src/lib/components/DashboardSidebar.svelte
  • src/lib/components/DraftResumeBanner.svelte
  • src/lib/components/FormBrandHeader.svelte
  • src/lib/components/IndustryPicker.svelte
  • src/lib/components/PasswordField.svelte
  • src/lib/components/PhoneInput.svelte
  • src/lib/components/ReadinessTooltip.svelte
  • src/lib/components/RegionCountryPicker.svelte
  • src/lib/components/SocialMediaAdder.svelte
  • src/lib/components/YearInput.svelte
  • src/lib/components/account/DeleteAccountModal.svelte
  • src/lib/components/account/DeleteEntityModal.svelte
  • src/lib/components/account/TrashSection.svelte
  • — ⭐ Cambios principales LAP-305 —
  • src/lib/components/startup/StartupSimplifiedFormShell.svelte
  • src/lib/components/startup/startup-simplified-form-types.ts
  • src/lib/components/startup/StartupDetailedFormShell.svelte
  • src/lib/components/startup/startup-form-types.ts
  • src/lib/components/icg/IcgFormShell.svelte
  • src/lib/components/icg/icg-form-types.ts
  • src/lib/components/profiles/IcgProfileView.svelte
  • src/lib/components/profiles/StartupProfileView.svelte
  • src/lib/components/profiles/UserProfileView.svelte
  • src/lib/components/user/UserDetailedFormShell.svelte
  • — Datos y utilidades —
  • src/lib/data/countries.ts / ecosystemRoles.ts / entity-types.ts
  • src/lib/data/formTypes.ts / industriesTech.ts / industriesTraditional.ts
  • src/lib/data/investment-categories.ts / languages.ts / phoneCountryCodes.ts
  • src/lib/entities/icg.ts / startup.ts / user.ts
  • src/lib/server/profile.ts / taxonomies.ts
  • src/lib/utils/localDraft.ts / mapIcgToScore.ts / mapStartupToScore.ts
  • src/lib/utils/profileScore.ts / scoreColor.ts / userDetailedScore.ts
  • src/lib/utils/userRegistrationScore.ts / validation.ts
  • — Rutas —
  • src/routes/+error.svelte / +layout.server.ts / +layout.svelte / +layout.ts / +page.svelte
  • src/routes/api/account/* (assign-editor, delete, pre-delete-check, update-email, update-password)
  • src/routes/api/check-company-name / check-contact-email / check-email / cities / cron/purge-entities
  • src/routes/api/entities/* / api/user-profile-autosave
  • src/routes/auth/callback / reset-password / signout
  • src/routes/cuenta-eliminada / dashboard/* (layout, page, consulta/icg, consulta/startups)
  • src/routes/dashboard/icg/[id] / nuevo
  • src/routes/dashboard/perfil-icg / perfil-startup / perfil-usuario / perfil-usuario/editar
  • src/routes/dashboard/startups/nuevo (shell unificado — dashboard)
  • src/routes/dashboard/startups/nuevo-detallado / [id]
  • src/routes/ecosistema / login / networking / perfil-icg / perfil-startup
  • src/routes/perfil / perfil-usuario
  • src/routes/registro-startup (shell unificado — público)
  • src/routes/registro-startup-detallado / registro-icg / registro-usuario / registro-usuario-detallado / registro
  • — Migraciones Supabase (001–038) —
  • supabase/migrations/001_create_profiles.sql … 038_soft_delete_entities.sql
  • — Tests —
  • tests/e2e/auth-flows.spec.ts
  • tests/e2e/regression-public.spec.ts
  • test-results/.last-run.json
  • — Datos estáticos (ciudades) — 218 archivos JSON —
  • static/data/cities/AD.json … ZW.json (datos de referencia geográfica)
  • static/favicon.png / lpdi-cristal.png / lpdi-logo.png

Invariante de score sidebar = FD = PS

PASS — invariante se cumple en todos los fixtures

Los tres valores de score (sidebar, formulario detallado, perfil startup) deben coincidir para cada fixture. Resultado exitoso en 2/2 fixtures.

Fixture UUID Sidebar FD PS Resultado
LPDI PYME 20c63c28-9659… 23 23 23 OK
LPDI SCALEUP eb4b6177-38e2… 24 24 24 OK

Auditoría completa: diff_test/stdout.log

Screenshots capturados (5 rutas)

FS público

FS público — /registro-startup

FS dashboard (sesión existente)

/dashboard/startups/nuevo eco.lpdi.co/dashboard/startups/nuevo
FS dashboard (sesión existente) — /dashboard/startups/nuevo

FS dashboard (nuevo forzado)

/dashboard/startups/nuevo?force_new=true eco.lpdi.co/dashboard/startups/nuevo?force_new=true
FS dashboard (nuevo forzado)

Perfil Startup público

Perfil Startup público — /perfil-startup

Perfil Startup dashboard

/dashboard/perfil-startup eco.lpdi.co/dashboard/perfil-startup
Perfil Startup dashboard — /dashboard/perfil-startup

Próximo paso — aprobación

Para cerrar este LAP, en Slack #todo-swfacrtory-lapuntadeliceberg escribir "FS OK", "aprobado" o "✅ ok" mencionando el LAP-ID. El sistema correrá preflight automáticamente.