Actualiza el handoff en el design-record del bloque: v1 completo (incl.
onMessageSeen), los 3 remates de v2 shipped (typing avatars, read-by,
jump-to-message highlight con su decisión de visual-puro-sin-sema y el
gotcha del boolean en attrs de presencia), y los frentes v2 restantes
(chat-list, emoji-picker, threads, menciones, rangos bidireccionales) por
valor/independencia. docs:check 0 errores.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Documentación del bloque chat-* recién shippeado, siguiendo la convención
del corpus (por-componente = READMEs dobles; por-lib = README; doctrina de
bloque = design record en decisions).
- docs/decisions/design-chat-block.md: la doctrina cross-cutting que abarca
los 4 componentes — la tesis comparativa (5 fallos del sector = nuestras
oportunidades), la topología de composición (triple registro Feed +
VirtualList anclado, Textarea, FileUpload, Icon lucide), el anclaje
(sticky monótono, pin contra DOM real), la doctrina visual del rediseño
de referencia y los 2 fixes de framework que destapó. Indexado en
decisions.md (sección "Component families — design records").
- src/libs/chat/README.md: los helpers puros (groupIntoRuns ventana 8min,
aggregateTypers, límites de día) — convención de README por lib.
docs:check 0 errores (503 docs). Los READMEs por componente y next-features
§7 ya iban en el commit del bloque (4c4878f13).
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>