p04

Evolutivo CON docs (priority label inbox)

Behavior matrix entry. Clone de yuemail-v4. Pedido: agregar etiqueta de prioridad por email (bajo/medio/alto) con heuristica.

Severidad: OK (after fix) · Antes P1 warmup-only. Con fix: +4 NEW files (priority.ts + store + tests + doc) + 4 modified (Inbox UI + tipos). 106 tests verde.

Pedido literal al chat

Agrega al inbox una etiqueta de prioridad por email: bajo,
medio, alto. Computar automaticamente segun heuristica:
  - alto: subject contiene "URGENT" o "URGENTE" o sender domain matchea CEO_DOMAINS env.
  - medio: subject contiene "?" o "please".
  - bajo: default.
Persistir el priority por message_uid en local store. Renderizar badge en el
inbox UI. Agregar tests para la heuristica. Documentar en
docs/PRIORITY_FEATURE.md.

Comportamiento esperado

Leer estructura del inbox, agregar field/badge sin tocar features no relacionados, persistir, agregar tests, documentar nueva feature.

Comportamiento real (Forge 0.2.0-alpha.59z.156)

Wall-clock28.7s
SSE statusturn_complete
Eventos SSE2
Tool rounds reportados0
Brain tierfrontier (phase=phase_i, escalated=false)
Modelo finalclaude-opus-4-7
Tokens in / out39552 / 1320
Workspace diff+1 / ~0 / -0
yujin.forge.json

Respuesta de Forge (texto del chat)

¡Hola Pablo! Antes de arrancar con la etiqueta de prioridad, dos preguntitas rápidas para configurar bien el proyecto:

1. La app, ¿la querés responsive (desktop + mobile), solo mobile, o solo desktop?
2. ¿Preferís que te hable en lenguaje simple (didáctico) o que te muestre todos los detalles técnicos (tecnico)?

Sobre tu pedido: te propongo prioridad por email con tres niveles (alto / medio / bajo), calculado al recibir cada mensaje, guardado de forma persistente y mostrado como badge en la bandeja de entrada. Voy a:

- Detectar "alto" cuando el asunto trae "URGENT/URGENTE" o el remitente viene de los dominios que vos marques como CEO.
- Detectar "medio" cuando el asunto pregunta algo o pide "please".
- Dejar "bajo" como default.
- Guardar la prioridad por mensaje para que no se recompute en cada apertura.
- Mostrar el badge en cada fila del inbox.
- Cubrir la heurística con pruebas automáticas.
- Dejar la documentación de la feature lista para consultar.

Decime cómo querés que arme la app y en qué tono te respondo, y arranco. Si no me contestás, sigo con responsive + didáctico.

Gap detectado

Antes P1 warmup-only. Con fix: +4 NEW files (priority.ts + store + tests + doc) + 4 modified (Inbox UI + tipos). 106 tests verde.

Reports raw

Documento generado automaticamente por generate_landing.mjs el 2026-06-06 17:42:49. Cada prueba corre con yf chat --provider claude-code-cli contra Claude Max subscription (no API), $0 marginal a Console.