Circuito de revisión
Diez puertas ponderadas y un Tribunal con poder de veto.
Cada jurado también examina diez perspectivas adaptadas de los criterios de Agency Design Awards: presentación visual, presentación escrita, propósito, relevancia, creatividad, innovación, entrega, experiencia, sociedad y opinión de los jurados. Registra evidencias o la razón por la que una perspectiva no aplica y lleva los hallazgos a los votos de las puertas; consulta skill/references/16-review-circuit.md. Esta revisión complementaria es manual y no crea una puntuación oficial del premio.
La finalización también exige el jurado independiente de 10–15 miembros y la revisión completa de Laws of UX descritos en skill/references/29-jury-and-ux.md. Todos votan en todas las puertas y principios. El bucle del jurado dura como máximo 10 minutos desde --jury-start; cada --jury-round puntúa los votos y la decisión es la mejor ronda registrada en ese tiempo. La disidencia en la mejor ronda limita el veredicto a condicional. Sin evaluadores independientes, el veredicto queda pendiente.
Diez puertas independientes y un Tribunal. El objetivo no es producir una nota bonita; es impedir que el bureau apruebe un trabajo por apego.
Cómo funciona la nota
Cada puerta vale de 0 a 5, en pasos de 0,5. El peso convierte:
puntos de la puerta = (nota / 5) × peso
total = suma de los puntos
| Veredicto | Total | Significado |
|---|---|---|
| Award Track | ≥ 90 | nivel de presentación ante un jurado serio |
| Pass | 82–89 | se puede publicar |
| Conditional | 72–81 | se publica solo con P1 nombrados y fecha límite |
| Fail | < 72 | no se publica |
Fallas duras
- Cualquier puerta por debajo de 3,5/5.
- Cualquier P0 no resuelto.
- Evidencia obligatoria ausente.
- Afirmación, logo, métrica, testimonio o premio inventado.
- Revisión hecha sobre código que cambió después (hash distinto).
- Veto del Tribunal.
Un promedio de 95 con un P0 de accesibilidad es Fail. Ese es el punto.
Tres reglas de honestidad
- Juzga antes de medir. Escribe la revisión de diseño antes de leer la salida del detector.
- Quien construyó es el revisor más débil. El Tribunal corre en un contexto nuevo, o la ejecución se declara
degradedy no alcanza Award Track. - Una regla verificada se sostiene; una regla en prosa se pierde. Toda regla mecánica tiene un fixture que falla y uno que pasa.
Las puertas
| Puerta | Persona | Peso | Pregunta |
|---|---|---|---|
| G0 Intake | The Producer | 5 | ¿El brief es verdadero, limitado y evidenciado? |
| G1 Concept | The Creative Director | 14 | ¿Existe una idea que solo esta marca podría tener? |
| G2 Direction | The Art Director | 15 | ¿El mundo visual parece inevitable y vivo? |
| G3 Type & Color | The Type Director | 12 | ¿La tipografía tiene voz y el color tiene narrativa? |
| G4 Composition | The Layout Architect | 12 | ¿La composición dirige la atención en todos los viewports? |
| G5 Motion | The Motion Director | 12 | ¿El movimiento está coreografiado, es útil y performático? |
| G6 Engineering | The Tech Lead | 10 | ¿Es rápido, resiliente y mantenible? |
| G7 Access | The Access Lead | 9 | ¿Todas las personas pueden usarlo, incluso con teclado? |
| G8 Truth | The Editor-in-Chief | 8 | ¿Cada palabra es verdadera y está libre de señales de IA? |
| G9 Launch | The Release Engineer | 3 | ¿Se puede publicar, encontrar, medir y recuperar? |
G0 — Intake
Criterios: público, oferta, prueba con fuente, non-goals, métrica, constraints, inventario honesto.
Fallas duras: prueba inventada; público vago; alcance imposible sin trade-off registrado.
Evidencia: BUREAU.md, .bureau/config.json.
G1 — Concept
Criterios: tres direcciones distintas; la elegida es poseíble, legible, generativa y construible; signature move nombrado y testeable.
Fallas duras: la idea serviría a cualquier competidor; no hay firma; depende de assets inexistentes.
Evidencia: tres comps en el mismo viewport + decision.md + blend.md (tres linajes en tres ejes). Falla dura si un revisor nombra una sola fuente.
Crítica pre-build: philosophy, hierarchy, execution, specificity, restraint, variety, 1–5 cada uno, más el eje más débil y la corrección. Cualquier eje por debajo de 3 reprueba el G1.
G2 — Direction
Criterios: ground, voz, luz y movimiento cuentan una historia; toda sección pertenece; una firma; disciplina de accent; reconocible en miniatura gris.
Fallas duras: plantilla con logo cambiado; dos firmas compitiendo; sección de otro mundo.
Evidencia: DESIGN.md, espécimen tipográfico, hoja de color, viewports 1440/768/390, divergence.json. Falla dura por encima de 0.35 contra el scaffold o cualquier plantilla.
G3 — Type & Color
Criterios: display con voz; cuerpo cómodo; escala y medida compuestas; paleta con roles; contraste en todos los estados; dark/light diseñados.
Fallas duras: cuerpo < 4,5:1; degradado en el texto; > 3 familias sin razón; accent > 3 veces sobre el pliegue; acentos PT/ES que rompen la display.
Evidencia: tokens, informe de contraste, espécimen, hoja de color.
G4 — Composition
Criterios: eje claro; ritmo de densidad; una ruptura de retícula; pliegue completo; 320 px recomponiendo; sin overflow.
Fallas duras: scroll horizontal en 320; CTA inalcanzable; contenido cortado al 200%; fijos superponiendo interacción.
Evidencia: screenshots 390/768/1440/1920 + full page + notas de zoom.
G5 — Motion
Se requieren cinco referencias premiadas de motion distintas y su síntesis en .bureau/research/motion.json; consulta skill/references/31-motion-production.md.
Criterios: una entrada, una narrativa de scroll, una firma de interacción; carácter consistente; reduced motion diseñado; 60 fps; sin secuestro de scroll.
Fallas duras: reduced motion ignorado; scroll hijack; audio automático; P0 de performance; flash > 3 Hz.
Evidencia: MOTION.md, grabación corta, screenshot reduced, notas de FPS.
G6 — Engineering
Criterios: budgets alcanzados; HTML semántico; consola limpia; degradación graciosa; sin JS el contenido estático sigue siendo legible; sin código muerto.
Fallas duras: LCP > 4 s o CLS > 0,25; error que rompe la interacción; página en blanco sin JS; licencia incompatible.
Evidencia: report.json, Lighthouse/RUM, consola, notas de build.
G7 — Access
Criterios: cero P0/P1; teclado completo; foco visible; semántica; formularios útiles; medios con subtítulos; zoom 200/400%; prueba con lector de pantalla.
Fallas duras: cualquier barrera P0; label ausente; trampa de teclado; contraste sobre medios; sin subtítulos para el habla.
Evidencia: axe/visual audit, notas de teclado, reduced, tabla de contraste, lector de pantalla.
Heurísticas: las diez de Nielsen, 0–4 cada una, n/a con motivo. Por debajo de la mitad del máximo aplicable reprueba el G7. Añade un recorrido de personas: qué se rompió, para quién, en qué elemento.
G8 — Truth
Criterios: afirmaciones con fuente; voz específica; cero patrones P0; cero datos falsos; microcopy humana; la página suena como una persona con punto de vista.
Fallas duras: cualquier fabricación; lorem ipsum; patrón P0 que define la página; copy que distorsiona precio, disponibilidad o capacidad.
Evidencia: audit.json, copy-review.md, lista de fuentes, deck final.
G9 — Launch
Criterios: metadata/OG; sitemap/robots; 404/500; analytics + consentimiento; monitoreo; rollback; locale routing; redirects; DNS/TLS.
Fallas duras: acción principal rota; secreto expuesto; consentimiento ausente; sin rollback.
Evidencia: launch checklist, preview OG, sitemap, plan de analytics, rollback.
Evidencia obligatoria
El review.mjs verifica rutas reales. Ejemplo de score:
{
"gate": "g2-direction",
"score": 4.5,
"reviewer": "art-director",
"notes": "El mundo se mantiene; la sección de precios se escapa a otro sistema de radio.",
"strengths": ["Tipografía", "Objeto-firma", "Disciplina de color"],
"issues": [
{
"id": "G2-01",
"severity": "P1",
"title": "Las tarjetas de precio usan radio de 24px y sombra genérica",
"evidence": ".bureau/qa/screenshots/laptop-1440x900-full.png",
"fix": "Usar la familia de 6px y la estructura de líneas de la sección de producto."
}
],
"evidence": [
"DESIGN.md",
".bureau/qa/screenshots/laptop-1440x900-fold.png",
".bureau/evidence/type-specimen.png"
]
}
El script rechaza:
- puerta fuera de orden;
notescon menos de 12 caracteres;- severidad inválida;
- issue sin
fix; - issue con evidencia inexistente;
- evidencia obligatoria ausente;
- score fuera de 0–5.
Estado y staleness
node skill/scripts/review.mjs --status
node skill/scripts/review.mjs --gate g0-intake --scores .bureau/review/g0.json
node skill/scripts/review.mjs --delivery-init
node skill/scripts/review.mjs --final --tribunal .bureau/review/tribunal.json
node skill/scripts/review.mjs --report
Cada puerta guarda un hash de fuente y documentos. Si el código cambió, la puerta queda STALE y el Tribunal falla. Para retomar: volver a ejecutar la puerta y todas las posteriores.
El estado queda en .bureau/review/state.json. El scorecard sale en .md, .json y .html.
Delivery Gate
node skill/scripts/review.mjs --delivery-init escribe .bureau/review/delivery.md. Cada línea es [PASS] o [FAIL] con evidencia tras una raya.
| Bloque | Ítems |
|---|---|
| Floor | DG-F1–F8: prueba, controles, contraste, teclado, reduced motion, overflow, pliegue en 1280×800, contenido sin JS |
| Reflex | DG-R1–R3: renuncias, prueba de atribución, divergencia ≤ 0.35 |
| Liveliness | DG-L1–L3: dials, punto focal y accent, motivo de identidad |
| Finish | DG-C1–C3: superficies del navegador, acabado tipográfico, estados |
| Process | DG-P1–P2: juzgado antes de medido, Tribunal en contexto nuevo |
Una línea sin marcar, un [PASS] sin evidencia o un N/A en Floor rechazan el final.
El Tribunal
El Tribunal lee todas las puertas, la evidencia y el brief. No reescribe notas. Pregunta:
- ¿El trabajo cumple la promesa del
BUREAU.md? - ¿La firma es memorable o solo está presente?
- ¿Alguna puerta está pasando por encanto, no por evidencia?
- ¿Firmaríamos esto en público?
- ¿Cuál es la corrección más pequeña que sube un nivel?
Veto: genérico técnicamente aprobado; evidencia montada; P1 convertido en media; vergüenza pública.
Un veto exige motivo, corrección mínima y responsable. "No me gustó" no es un veto.
{
"decision": "conditional",
"notes": "El trabajo cumple el brief, pero la firma todavía es un efecto, no una prueba del producto.",
"fix": "Convertir la escena de scroll en una demostración del mecanismo real; mantener el resto.",
"reviewer": "The Partner"
}
Método: tribunal.json declara "method": "isolated" o "degraded". Degradado limita el veredicto a PASS.
Anti-juego
- No revisar de memoria.
- No ejecutar todas las puertas de una vez y llamarlo circuito.
- No reutilizar evidencia de otro build.
- No dejar que la misma persona sea directora y Tribunal sin un desafío escrito.
- No pasar porque llegó la fecha límite.
- No escribir "está genial" como nota.
El circuito solo vale si es capaz de decir fail.