[{"id":147,"title":"Verificar que el flujo de creación de tareas funciona correctamente en producción.","description":"Pasos:\r\n\r\nAccede a la URL de producción de tu proyecto (por ejemplo, https://<tu-app>.herokuapp.com/todo/).\r\nInicia sesión con un usuario válido.\r\nEn el formulario \"Add a Task\":\r\nEscribe en el campo título:\r\nTest tarea producción\r\nEscribe en el campo descripción:\r\nCreada desde el chat de Copilot\r\nSelecciona cualquier valor de prioridad y esfuerzo.\r\nHaz clic en el botón azul \"Add Task\".\r\nVerifica que:\r\nAparece un mensaje de éxito en pantalla.\r\nLa tarea \"Test tarea producción\" aparece en la lista de tareas.\r\nPuedes eliminar la tarea con el botón \"Delete Task\" y desaparece de la lista.\r\nPuedes editar la tarea y guardar los cambios.\r\nResultado esperado:\r\nLa tarea se crea y aparece en la lista sin recargar la página, puedes eliminarla y editarla correctamente.","completed":true,"priority":"low","effort":"high","created_at":"2026-04-18T19:12:33.291405Z","modified_at":"2026-04-19T12:37:09.271061Z","user":1},{"id":114,"title":"Generar Training process Prod / Res","description":"### 📦 **Project Context (Django + FastAPI + YOLO + ClearML)**\r\n\r\nI am working on an AI platform for high-resolution agricultural imagery using a **microservices architecture**:\r\n\r\n* **Django (Dockerized)**\r\n\r\n  * Manages UI, projects, and metadata\r\n  * Uses PostgreSQL for persistence\r\n  * Hosts project configurations (via `HighResProject`, `TrainingRun`, and `YamlConfig` models)\r\n  * Communicates with FastAPI for inference and training jobs\r\n  * Allows users to select YOLO version, model size, epochs, batch size, and ClearML account\r\n  * Currently supports training runs with ClearML logging and project-specific label sets\r\n\r\n* **FastAPI (Host environment)**\r\n\r\n  * Executes heavy AI workloads (YOLO training & inference)\r\n  * Uses **Ultralytics YOLOv8/v11** with GPU acceleration\r\n  * Integrates with **ClearML** for experiment tracking\r\n  * Returns structured JSON responses with training results and metadata\r\n  * Supports custom YAML configs from `/media/malezainia2/E/media_ia_project/configs/yaml_config`\r\n  * Handles multi-GPU setups (`devices=[\"0\",\"1\"]`) and reproducibility with controlled seeds\r\n\r\n* **Core Libraries**:\r\n\r\n  * `Ultralytics YOLO`, `SAHI`, `Torch`, `OpenCV`, `ClearML`, `PostgreSQL`, `Django ORM`, `FastAPI`\r\n\r\n---\r\n\r\n### 🚩 **Current Problem / Next Feature Requirement**\r\n\r\nIn the **Django application**, I need to add a new **feature for model selection**:\r\n\r\n* ✅ Users should be able to **choose between two training paths**:\r\n\r\n  1. **Production Mode**: Load and continue training using the **`best.pt` file** from the most recent completed training run (ensuring we optimize the latest model for deployment).\r\n  2. **Research Mode**: Load a **pretrained YOLO model** directly from Ultralytics (e.g., `yolov11x.pt`, `yolov8s.pt`) to test new hypotheses or research pipelines without overwriting production models.\r\n\r\n* ✅ The option should be available in the **training form UI** (`training_yolo.html`) as a dropdown or radio button.\r\n\r\n* ✅ Depending on the user’s choice:\r\n\r\n  * If **Production Mode** is selected:\r\n\r\n    * The Django backend must resolve the path to the most recent `best.pt` associated with the selected `HighResProject`.\r\n    * Pass this path in the payload to FastAPI so training continues from the last known weights.\r\n  * If **Research Mode** is selected:\r\n\r\n    * The FastAPI server should download/load the correct Ultralytics pretrained model (using the YOLO version + model size selected by the user).\r\n    * No dependency on an existing `best.pt` file.\r\n\r\n* ✅ This feature must integrate seamlessly with:\r\n\r\n  * **ClearML Task creation** (ensuring results are still logged to the right project)\r\n  * **FastAPI payload structure**\r\n  * **Django database logging** (updating `TrainingRun` with info about whether production or research mode was chosen).\r\n\r\n---\r\n\r\n### 🔑 **Considerations**\r\n\r\n* Must maintain reproducibility:\r\n\r\n  * Production mode should lock to the `best.pt` from the last run.\r\n  * Research mode should allow new experiments without overwriting production history.\r\n\r\n* Compatibility with **multi-GPU training** and `num_runs` loops already supported by `train_yolo`.\r\n\r\n* The **Django template** must dynamically reflect the user’s choice and provide validation.\r\n\r\n* The **FastAPI endpoint** should adapt logic based on the payload flag (`use_best_weights=True/False`).\r\n\r\n---\r\n\r\n### 🎯 **Prompt Request**\r\n\r\nPlease help me design and implement this feature so that:\r\n\r\n1. Django UI allows users to select **Production Mode** (use latest best.pt) or **Research Mode** (use pretrained YOLO).\r\n2. Django passes the correct payload to FastAPI including a boolean flag or path resolution.\r\n3. FastAPI adapts `train_yolo` invocation accordingly without breaking the current working logic.\r\n4. ClearML integration remains consistent and logs which mode was selected.\r\n5. Django stores this mode information in the `TrainingRun` model for traceability.\r\n\r\n---\r\n\r\n⚙️ With this prompt, the assistant should generate:\r\n\r\n* Updated Django **view logic**\r\n* Updated **HTML template** with the new option\r\n* Adjusted **FastAPI endpoint** to handle the new flag\r\n* Database updates in Django (`TrainingRun`) to log mode usage\r\n\r\n---","completed":true,"priority":"high","effort":"high","created_at":"2025-08-05T12:28:48.483807Z","modified_at":"2026-04-19T12:37:20.629243Z","user":1}]