Home Projects Portfolio Dashboard Export PDF Log in

Fortaleciendo la generación de perfiles profesionales en devlog-ist/landing

En el proyecto devlog-ist/landing, nos hemos enfocado en mejorar la robustez de nuestro motor de generación de perfiles (CV). Recientemente, realizamos una serie de ajustes técnicos cruciales para asegurar la integridad de los datos y la fiabilidad de nuestros prompts dinámicos.

Corrección de Enums y Tipado

Uno de los cambios principales fue la corrección de los valores en el enum WorkModality. Detectamos una inversión en las definiciones de los casos, lo cual afectaba la consistencia lógica del sistema. Además, hemos reforzado el tipado mediante la implementación de comprobaciones instanceof para evitar problemas con operadores de coalescencia nula en tipos complejos, alineándonos con las reglas estrictas de PHPStan.

Refactorización del Contexto de Job

Para evitar errores en la generación de prompts, consolidamos el objeto JobContext. Ahora, el servicio asegura que variables críticas como $jobDescription y $roleName estén correctamente asignadas antes de procesar la solicitud. Aquí un ejemplo de cómo estructuramos ahora la extracción de datos:

public function extractJobContext(array $data): JobContext
{
    try {
        return new JobContext(
            roleName: $data['role'] ?? 'General',
            jobDescription: $data['description'] ?? '',
            modality: WorkModality::from($data['modality'])
        );
    } catch (ValueError $e) {
        return JobContext::fallback();
    }
}

Pruebas Automatizadas

Con el objetivo de garantizar la calidad, actualizamos la suite de pruebas CvGenerationServiceTest. Ahora cubrimos:

  • La validación del esquema de extracción de datos.
  • La integridad de los valores del enum tras la corrección.
  • El manejo de respuestas inválidas mediante el uso de valores por defecto (fallback).
  • La seguridad contra la inyección de prompts mediante el contexto del puesto.

Estos cambios, validados con las mejores prácticas de php-cs-fixer, aseguran que nuestra herramienta de generación de perfiles sea mucho más estable y predecible.

Fortaleciendo la generación de perfiles profesionales en devlog-ist/landing
Gerardo Ruiz

Gerardo Ruiz

Author

Share: