/renew talleres: contexto cargado desde journal +
whisper + propuestas; flyer 04 (post.svg geometric clean
4:5) como target
Render iterative con ImageMagick (fallback interno, delegate
rsvg-convert no instalado): diagnóstico — título partido con hueco (dos
<text> con x fijos), ícono WhatsApp roto (coords
negativas), lado geométrico con manchas superpuestas, footer ilegible
sobre magenta
Ronda 1: título unificado con tspan + gradiente
userSpaceOnUse, texto corto ~37 palabras (pendiente de
contenido.md), burbuja de chat limpia, geometría simplificada, footer
blanco sobre degradado; gorra sincronizada en
contenido.md
Ronda evaluación externa (jerarquía de conversión) aplicada
completa: beneficio explícito arriba, quote a secundario, bloque
escaneable, fechas con puntos (6 · 13 · 20 · 27), precio
dominante vs gorra chica, CTA píldora RESERVÁ TU LUGAR con
gradiente, header PRÁCTICO · APLICADO · SIN CÓDIGO, círculo
oscuro plum más chico, sistema visual IA (gradiente en título +
CTA)
Ronda pixel-level: aires entre bloques, gorra 13px vs precio 31px,
WhatsApp en dos líneas como secundario
Decisión final imagen/caption: la imagen comunica la
idea (título, beneficio, quote, 4 ENCUENTROS +
resultado, CUPOS LIMITADOS,
RESERVÁ TU LUGAR →) y el caption carga los datos
operativos — nuevo
04-seminario-ia-profesion/descripcion-post.md con fechas,
lugar, precio, gorra, cupos 6–12, laptop, WhatsApp, y "A cargo de Sasha
Kielbowicz" (todo desde propuesta.md, nada inventado)
Specs y fuente única sincronizadas: contenido.md
(imagen = idea, detalles en caption) y
especificaciones/04-uso-ia-geometric-clean.md (versión
final, sin monograma AK ni web — removidos a pedido)
Commiteado 65f4908: post.svg + post.png (2160×2700) +
descripcion-post.md + contenido.md + spec; los cambios de 01-octubre
(fotos Laiseca, post-2, duotono) siguen sin commitear para su propia
línea
Next: instalar rsvg-convert para
just flyer (export PDF + PNG 2× estándar); versiones 9:16 y
1:1 del flyer 04; confirmar formato impreso con la biblioteca;
actualizar log de sesión en sesiones/ del repo
suipacha
Session:
20:0x (coffee, coffe-5ng — vista Energía con banda de caché, openspec
completo)
Propuesta add-energy-band-view scaffolded + validada
strict + aprobada en vivo; decisión de diseño: banda computada en el
tracker (no en JS del viz) y tab separada de Costo (energía ≠
dinero)
5ng.1 tracker (a78eb19 + schema fix df61057): TDD
en test_energy.py (+11 tests) —
monthly[].energy_kwh_band {low, high} = mismo método 7mj
con cache factor 0.0/1.0, misma versión/bucketing; modelos sin
telemetría fuera de ambos extremos; metadata
energy_band_cache_factors: [0.0, 1.0]; schema aditivo +17
líneas (reformato accidental del schema revertido — diff neto
mínimo)
5ng.2 dashboard (10fd8a8): tab "Energía" (F8) en
viz-fpa.py — barras mensuales con banda low–high y marca del nominal,
KPI del total con banda, caption de extremos (0%/100% acierto de caché
vs factor nominal 0.1), meses sin telemetría en details con razón; 19
tests nuevos (test_fpa_f8.py); golden f2 +11 líneas aditivas (fallback
unavailable sin campos)
5ng.3 datos (aad711b): pasada atómica final —
dataset congelado --until 2026-09-24 --force (154,146
inter, 33.5 kWh, banda 17.7–175.2: la banda 18/33/175 del README se
sostiene), HTMLs regen, README con cifras de ese dataset, check-docs ✓,
goldens f4/f5/f6 OK; determinismo verificado byte-a-byte en ventana
congelada (gotcha: el target vivo de hoy sigue acumulando sesiones —
doble corrida sobre 09-24 dio diff real de datos, no de código)
Rule-of-5 universal sobre la vista Energía: 0 CRITICAL / 2 HIGH / 3
MEDIUM, todos verificados con probes sobre HTML real
Fixes (610fa5e): readout FPA-175 cubre .enb-chart · botón Descargar
SVG (regex generalizado) · CSS de tema para barras energía · meses
parciales marcados FPA-004 (sep 26 = 24/30) · fallback sin config → n/a
con razón (FPA-008, no '0.0 kWh')
+5 tests regresión (f8 = 24), suite 26/26 módulos OK, HTML regen +
check-docs ✓
Cierre de sesión: log + whisper al día; coffee limpio en 610fa5e
(origin/main), journal en 29b85a1
Next: solo coffe-6nt (deferred)
Session:
17:21 (suipacha → talleres-biblioteca, flyers de promoción)
Fechas/horarios de octubre fijados en propuestas 01 y 04 +
SISTEMA.md (9dca0f3): terror pasa a viernes 19:30–21:00 (2/9/16/23 oct,
el 30 alternativa) y emisión radial al jueves siguiente; IA martes
18:30–20:30 (6/13/20/27 oct)
Estructura talleres-biblioteca/flyers/: contenido.md
como fuente única, plantillas SVG (A4 + story con safe zones de
Instagram), receta just flyer en el justfile (rsvg-convert
PDF + PNG 2×) (87aa065→bbc6c76 tras amend)
Flyers 4:5 concretos con arte propio y datos reales:
01-octubre-de-terror/post.svg (dark gothic organic — fechas
corregidas desde "sábado 26 oct 20:00") y
04-seminario-ia-profesion/post.svg (geometric clean —
martes 6/13/20/27 18:30, Biblioteca Popular, AR$ 40.000 + gorra,
WhatsApp)
Specs de ~/Downloads condensados (1642→296 líneas) y corregidos en
flyers/especificaciones/: reglas generales Instagram +
specs por flyer con datos reales; los originales tenían placeholders
(sábados 26/12 oct, Centro Cultural, "link del perfil") ya corregidos en
los SVG
Review Rule-of-5 sobre el contenido nuevo: 2 HIGH arreglados —
fallback de fuentes (Georgia/Arial no existen en el sistema → cadenas
con DejaVu Serif/Noto Serif y Liberation Sans) y safe zones de
plantilla-story.svg (header/pie fuera de la zona de UI de
stories); checklist de regeneración ante cambios de datos agregada al
README de flyers
Pendiente: 5 JPGs de Laiseca soltados en
flyers/01-octubre-de-terror/ (Lai 1.JPG,
lai2–5) quedan sin commitear — Sasha los va a trabajar
Next: texto corto ~40 palabras por flyer; confirmar
formato impreso (¿A4/A3?) con la biblioteca; instalar
rsvg-convert para exportar PNG/PDF con
just flyer; versiones 9:16 y 1:1 de cada flyer
/grill-me sobre file.md (borrador VFS de
matriz de decisión): intención afinada vuelta por vuelta — consumidor
primario = la sesión de diseño viva (no recovery), relación complemento
con designs/ existente, una matriz por proyecto,
problem.md como A1, 4 markers (neutral/green/yellow/red)
con incompleto = fact vacío, render on demand sin commit, decide
scaffolding design doc en designs/, gate design→plan con
staleness
Transcripción de Hickey "Design in Practice" leída completa
(matthn/talk-transcripts); la de Miller (VBnGhQOyTM4) bloqueada por 429
en timedtext — 10+ intentos con receta tv (sleeps 90–300s, curl-cffi
impersonation, players alternativos) fallaron; workaround final: paste
DOM del transcript del browser, destilado en
tv/downloads/miller-design-in-practice-in-practice-notes.md
(commiteado 398061c)
Miller validó el diseño grilled casi punto por punto (A1,
status-quo-first, mini-DM→criteria, "leave a trail", volver a
Direction); divergencia consciente anotada: una matriz parada por
proyecto vs. hoja-por-deliberación de ellos
Propuesta reescrita completa en
openspec/changes/add-decision-matrix/
(proposal/design/tasks + 4 spec deltas, sin "VFS", strict ✓)
Rule-of-5 universal aplicado: CORR-001 (gate bypaseable con
decision.md vacío → predicado "decided"), CORR-02 (mtime frágil tras
clone → timestamp UTC dentro de decision.md, ties→warning), EDGE-003
lint "decided with unfilled cells", lint nuevo de Miller: status-quo sin
rojo (18:06)
Rama add-decision-matrix pusheada (be913df, no main);
file.md scratch queda sin trackear para borrar
Next: abrir PR de add-decision-matrix;
re-verificar Miller contra las notas cuando toque; file.md
a borrar