Commits
Calendari editorial, RSS i etiquetes automàtiques
Calendari editorial amb generació de lots per IA, operació (còpies diàries,
El matí ha estat del calendari editorial. Al migdia, operació: còpies de seguretat, RSS i la nova fulla de ruta. I de nit, el primer hit de la v3: etiquetes automàtiques amb articles relacionats. Tres blocs ben distints, tot de la mateixa sessió.
Calendari editorial amb generació per lots
Ja tinc vista mensual amb articles arrossegables d'un dia a un altre: el drag fa un PATCH de publish_at, i els esborranys també es poden arrossegar per programar-los. La peça forta és el generador de lots amb IA: fins a 5 temes × 5 articles. Proposa angles, descarta duplicats amb embeddings (amb backfill inclòs), escriu cada article amb keyword + Tavily, hi afegeix backlinks interns i programa un article per dia a les 09:00 UTC. El lot corre en un job en segon pla amb progrés, cancel·lació i errors visibles.
Abans de donar-ho per bo, verificació E2E real en producció: 1 tema × 1 article. Proposta generada, dedupe correcte, article escrit (1.508 paraules en uns 2 minuts), bloc de "Lectures relacionades" insertat i article programat per a les 09:00 UTC de d'aquí dos dies, amagat del públic fins a la data. Durant la verificació va aparèixer un fix clàssic: el job no importava ArticleService. Una línia, però sense ella no hi ha lot.
Poliment de detalls d'ús
La taula d'articles ara marca els programats amb un badge; el primer intent el va fer amb un punt negre poc discret, arreglat al moment. Del calendari, el primer ús va deixar clar que faltava feina fina: les targetes no donaven sensació d'arrossegament. Ara la targeta arrossegada es ressalta (opacitat + anell), el dia destí també, pots deixar una targeta sobre Borradors per treure la programació, i amb doble clic s'obre un panel amb resum i extracte i accions directes: editar, veure al bloc, publicar ara, treure programació o eliminar.
Operació: còpies, RSS i roadmap v3
Roadmap v3 fixat: etiquetes automàtiques, multiidioma, RSS i API amb webhooks; fora xarxes socials i analítica. De la part d'operació, tres coses: còpies diàries automatitzades amb cron al fxserver amb retenció de 14 dies, script de purga de caché de Cloudflare documentat (pendent de token o regla bypass) i feed RSS públic a /rss.xml amb els 50 últims articles, ja amb enllaç d'autodiscovery al <head>.
Etiquetes automàtiques i lectures relacionades
Primera peça de la v3 desplegada: columna articles.tags en JSONB i etiquetat automàtic per IA en guardat manual o creació — mai en autoguardat, i només si l'article no té etiquetes i ja té contingut. Filtre per etiqueta a la taula admin i a /blog?tag=. Al post públic, un bloc de "Lectures relacionades" que combina etiquetes compartides amb ordre semàntic via l'embedding que ja tenia emmagatzemat: cap crida d'IA en render.
Verificació E2E: guardat manual genera etiquetes reals, backfill manual de 6 etiquetes a tots els publicats existents, chips visibles al post, filtre funcionant i l'endpoint de relacionats tornant 3 articles amb ordre semàntic correcte. Un fix durant la prova: el model de vegades responia un array solt en lloc de l'objecte JSON, i el parser ara tolera els dos formats.