## Phase 3 Complete: ArchiveReader TL;DR: Implementado `archiveReader` para listar entradas dentro de contenedores ZIP y 7z usando utilidades del sistema (`7z` y `unzip` como fallback). Añadidos tests unitarios que mockean las llamadas a `child_process.exec` para validar parsing y comportamiento de fallback. **Files created/changed:** - backend/src/services/archiveReader.ts - backend/tests/services/archiveReader.spec.ts **Functions created/changed:** - `listArchiveEntries(filePath, logger)` — lista entradas de ZIP/7z usando `7z -slt` y `unzip -l` como fallback. **Tests created/changed:** - `backend/tests/services/archiveReader.spec.ts` — cubre: - listado con salida simulada de `7z -slt` - fallback a `unzip -l` si `7z` falla - comportamiento para formatos no soportados **Review Status:** APPROVED **Git Commit Message:** feat: add archive reader and tests - Añade `archiveReader` que lista entradas en ZIP/7z con fallback a `unzip` - Añade tests unitarios que mockean `child_process.exec` para validar parsing - Documenta dependencia de binarios en README y CI (pasos previos) ## Phase 3 Complete: Backend base y modelo de datos Fase completada: configuré el backend mínimo (dependencias, Prisma schema), generé el cliente Prisma y aseguré que los tests TDD de backend pasan. **Files created/changed:** - backend/package.json - backend/prisma/schema.prisma - backend/tests/models/game.spec.ts - package.json - .yarnrc.yml - prisma-client/package.json **Files generados por herramientas (no necesariamente versionadas):** - prisma-client/client/\* (Prisma Client generado) - node_modules/.prisma/client/\* (artefacto runtime generado) **Functions / cambios clave:** - Ajustes en `backend/tests/models/game.spec.ts` para fallback de carga del cliente Prisma generado. - `backend/prisma/schema.prisma`: definición de modelos (Game, RomFile, Platform, Purchase, Artwork, Tag, PriceHistory) ya presente; ajustado el `generator client` para flujo de generación local. **Tests created/changed:** - backend/tests/models/game.spec.ts (modificado: mejor manejo de require/generación del cliente) - backend/tests/server.spec.ts (existente — pase verificable) **Migraciones aplicadas durante pruebas:** - `backend/prisma/migrations/20260208102247_init/migration.sql` (aplicada en DB temporal de test) **Review Status:** APPROVED **Git Commit Message:** feat: backend base, Prisma schema, client gen and tests - Añade/ajusta `backend` para usar Prisma y Vitest - Genera cliente Prisma y corrige resoluciones PnP/node-modules - Actualiza tests para cargar cliente generado y pasar TDD