claude-usage
Fui a abrirlo y no supe por dónde. Di por hecho que algo se había metido en medio y me puse a buscar al culpable.
El culpable era él. Llevaba cuarenta minutos funcionando, con su sitio reservado desde el primer día, esperando a que alguien entrara. No hubo nada que arreglar ni que volver a encender: bastaba con mirar antes de suponer. Desde el móvil respondía igual de bien.
- Wins: la herramienta llevaba cuarenta minutos en marcha y respondiendo; se entra también desde el móvil; cero cambios necesarios.
- Loses: cuarenta minutos de una aplicación mía funcionando sola mientras yo buscaba quién me la había roto. No estaba rota. Estaba abierta, y el que llamaba a la puerta equivocada era yo.
dev-dashboard
El panel enseña una foto de cada proyecto para que sepas cuál estás mirando sin abrirlo. Y a algunos proyectos les había desaparecido la foto. No es que no se hubiera hecho nunca: se había hecho, se había guardado, estaba ahí. El problema era la etiqueta que la acompaña. Cuando el panel volvía a intentar la captura y ese intento fallaba, la etiqueta pasaba a decir “error”, y el panel entendía que ese proyecto nunca había tenido foto. Tenía la imagen delante y decidía no enseñarla. Ahora la última foto buena se queda visible aunque los intentos siguientes se den de bruces.
Después me puse a mirar por qué había encargos marcados como terminados que no lo estaban. Resulta que “validado” quería decir que alguien había dado el visto bueno al trabajo, no que el trabajo estuviera puesto. El código seguía esperando en su rincón, pendiente de que lo integraran, mientras el tablero lucía en verde. Dos encargos, el 49 y el 50, arrastrando ese engaño. Los he cerrado de verdad y he abierto la propuesta con lo que faltaba: las sesiones que se pueden plegar para que no te ocupen media pantalla cuando no las miras.
Al tirar del hilo salió el motivo. Un encargo puede tocar dos proyectos a la vez, y el sistema solo sabe mirar uno. Ahí está el punto ciego. He escrito la especificación (el encargo 59) para que detecte esos casos en lugar de darlos por buenos.
Y he dejado escrita otra: que el sistema elija solo qué modelo usa según lo difícil que sea la tarea, y sobre todo que no se quede tieso si el que ha elegido se ha quedado sin cuota. También he subido la cola de tres encargos a seis.
- Wins: la foto ya no desaparece por un intento fallido posterior; dos encargos que mentían en verde, cerrados; identificado por qué mentían.
- Loses: llevaban semanas mintiendo y el único que miraba el tablero se lo creía. Ese eras tú.
theObserver
Quería una pared visual: entras al mapa de trabajo y ves de un golpe todas las sesiones abiertas en cada encargo, colocadas de forma que se aprovechen el hueco disponible y el número de sesiones que haya en ese momento.
Antes de escribirlo fui a mirar cómo se había hecho lo anterior parecido. Y menos mal. El encargo 50 pedía una campana de avisos en el panel, y se apuntó aquí, en theObserver, sin tocar el panel. Nunca llegó a su destino. Quedó a medias, apuntado en el sitio equivocado, esperando a nadie. Lo curioso es que el panel ya sirve la campana igualmente, así que la base está puesta y este encargo nuevo solo tiene que rematar la parte que se ve.
Así que este lo he apuntado donde va: en el panel, como tarea 99, en la columna de pendientes. Con los campos separados y editables uno a uno, no un cuadro de texto donde escribir a granel, y con las condiciones para darlo por hecho redactadas de forma que se puedan comprobar ejecutándolas de verdad, no leyéndolas y asintiendo.
La regla que ha salido de aquí: si el encargo cambia algo que se ve en el panel, va al panel, aunque la idea haya nacido en otro sitio.
- Wins: encargo escrito con condiciones comprobables; apuntado en el proyecto correcto; encontrado y cerrado el ciclo de encargos que se quedaban colgados.
- Loses: hizo falta ir a revisar un encargo viejo para no repetir exactamente el mismo error. Nadie lo habría notado si no llego a mirar.
theSmartphonesController
La idea es que el servidor pueda usar mi móvil como si lo tuviera en la mano. Ese día lo dejé conectado: el servidor manda y el móvil obedece, sin que yo tenga que tocar la pantalla.
Lo primero fue el camino de ida. El servidor no tenía forma de llegar a los móviles, así que monté el puente: mandas una orden desde el servidor y llega al teléfono. Eso solo, entre arranque, plan e implementación, se llevó la tarde.
Con el camino abierto, lo de verdad: subir historias a Instagram sin tocar el móvil. Le das una foto y unos cuantos datos, y él solo la lleva al teléfono, abre Instagram, busca la canción por su nombre, la pone, escribe el texto encima y lo publica. Para colocar el texto hubo que enseñarle a mantener el dedo pulsado mientras arrastra, que es exactamente lo que haces tú cuando mueves una palabra por la pantalla.
Para saber qué toca en cada paso, me tocó recorrer Instagram a mano como un usuario cualquiera, apuntando dónde está cada botón. Dos historias publicadas de verdad en lateralbuilder para comprobar que funciona de punta a punta.
En mitad de la prueba el móvil se puso a hacer sus cosas por su cuenta: tiene sus propias tareas programadas, dar likes a diario, y le dio por abrirse el teclado encima justo cuando el script estaba trabajando. Dos manos peleándose por el mismo teléfono. Ahora comprueba que Instagram está delante antes de tocar nada. Ni se me había pasado por la cabeza que el aparato pudiera estar ocupado en otra cosa.
- Wins: el servidor ya publica historias con música y texto sin que nadie toque el móvil; dos publicadas como prueba; el puente servidor-móvil, montado entero.
- Loses: descubrí que el móvil hace cosas solo cuando me las hizo encima; y para mapear los pasos no hubo más remedio que ir dando toques a la pantalla uno por uno, como un mono con un cristal.
