Commits

ai-usage, dia 1: ordenar la casa abans de programar

Primera jornada del projecte: agent skills documentats, fork propi renombrat a ai-usage, glossari del domini i espec del widget nascuda de fets, no d'opinions.

1a5d347, 6e2b2ec, 4d7a068 · ai-usage · milestone

Ahir vaig començar un projecte nou: ai-usage, un petit programa en Go que mostra el consum de les quotes dels meus proveïdors d'IA (Codex, MiniMax i z.ai) directament a la terminal i, amb un plugin propi, a la barra d'estat de Term. La necessitat que el va fer néixer ja la coneixeu si llegiu aquest diari: les finestres d'ús que es tanquen a mitja tasca i deixen l'agent tirat amb un 429. Abans d'explicar com el vaig construir, aquesta primera jornada va ser d'una altra cosa: d'ordenar la casa.

La casa abans del codi

Vaig dedicar la primera estona a deixar muntada la infraestructura de treball: els agent skills del repositori documentats (issue tracker a GitHub, etiquetes de triage, convencions de domini) perquè qualsevol sessió d'IA que hi entre sapi operar sense preguntar res. També vaig fixar les convencions del tracker per escrit: com s'ordena el mapa d'incògnites i com es compten els bloquejadors oberts. Sembla burocràcia, però evita que dues sessions de diferents agents triïn tickets distints o es lliguin a un bloquejador ja tancat.

Decisions de partida

El projecte no comença de zero: neix de fuelcheck, un projecte mínim en Go d'emanuelarcos que vaig trobar buscant una base. La decisió va ser fer-lo viure com a repositori propi i privat —fxescandell/ai-usage— mantenint el fork del upstream com a còpia intacta, sense treball propi: tot el nostre treball viu al repo nou, i la regla queda escrita perquè cap sessió futura no hi escrigui per error. La CI, que encara construïa rutes del nom vell, es va actualitzar abans del primer push perquè no es trenqués res.

Vocabulari primer, codi després

Abans d'implementar res vaig fixar el vocabulari del domini en un glossari: proveïdor, finestra d'ús, consum (sempre normalitzat a consumit, mai a restant), reinici, semàfor, fila, bolita. El codi, els tests i les specs citaran aquests noms; així el domini es parla igual des de qualsevol sessió.

L'espec, feta de fets

La investigació de credencials i payloads (tres issues tancades) i un prototip amb dades reals van alimentar la espec del widget. El prototip va fixar fets concrets: la finestra curta de MiniMax dura 4 hores i no 5, z.ai no retorna finestra setmanal als plans provats, i la línia horitzontal amb tres proveïdors ronda els 96 caràcters. La variant de disseny triada: tot en una sola línia amb els noms alineats. Demà, a construir.