Stage 3 — Panel Discussion (Los actores discuten qué llenar)
Tercera etapa. Los 3 actores revisan el mapeo candidato y deciden, campo por campo, qué token va (o si no va, o si hay que preguntar al usuario).Responsabilidad
Una sola cosa: convertir el mapeo candidato de Stage 2 en un mapeo consolidado con decisiones, resolviendo desacuerdos entre actores y dejando registro de disensos. No edita el archivo (eso es Stage 5).Actores (todos reviewers; ninguno redactó el borrador, para evitar autocomplacencia)
Adopta las tres perspectivas leyendo cada.md bajo personas/ y razonando desde ese rol. Produce el dictamen de cada una de forma independiente primero, luego concilia.
persona-trebol-cpo-reviewer— producto, experiencia del cliente, precedente, escalabilidad y mantenibilidad de la plantilla.persona-trebol-template-engineer— corrección técnica de cada variable: que exista, numeración correcta, bucle vs PDF, fuentes/inversos, gotchas (delegate, x_mark, separadores Colombia, espacios/mayúsculas en llaves).persona-trebol-legal-dictamen— corrección jurídica del mapeo: que cada variable corresponda al concepto legal correcto del dictamen (no confundir poder de dominio con administración, que la FUENTE cite folio/RPPC adecuadamente, suficiencia regulatoria).
Proceso
Paso 1 — Dictamen independiente
Pasastate.template + state.candidate_mapping + grounding a cada actor. Cada uno devuelve, por campo: agree / change (con la variable corregida) / flag (preocupación) / ask_user (requiere humano), con racional.
Paso 2 — Conciliación por campo
Para cada campo, junta los 3 dictámenes y decide:- Consenso (los 3 coinciden) →
decision = variable acordada. - Desacuerdo técnico (el ingeniero corrige la variable) → prevalece el ingeniero en lo técnico (qué variable existe y cómo se escribe), pero el legal puede vetar si la variable correcta técnicamente no corresponde al concepto legal del campo (entonces
ask_useroSIN_VARIABLE). - Desacuerdo legal (la variable existe pero el legal dice que no corresponde al concepto) → prevalece el criterio legal sobre el “encaja técnicamente”; registrar disenso del ingeniero si lo hay.
- Preocupación de producto/precedente (CPO) → no bloquea una variable correcta, pero se registra como nota para el racional (ej. “este campo crea precedente: futuros clientes esperarán lo mismo”).
- No se resuelve internamente (ambigüedad real, decisión de negocio, campo sin variable cuya intención no está clara) →
decision = ask_usercon la pregunta concreta para Stage 4.
Paso 3 — Decisión por campo
Cada campo queda con uno de:FINAL+ token(s) definitivos.SIN_VARIABLE+ tratamiento sugerido (texto fijo / dejar en blanco) + motivo.ASK_USER+ pregunta cerrada para Stage 4.
Paso 4 — Registrar disensos y notas
Cuando un actor quede en desacuerdo con la decisión, registradissent con su nombre y razón. Las preocupaciones de precedente/mantenibilidad del CPO van a notes (alimentan el racional de Stage 6).
Output (markdown para Stage 4/5)
Reglas duras
- El ingeniero manda en lo técnico (existencia y escritura de la variable); el legal manda en la correspondencia conceptual (que la variable signifique lo que el campo del dictamen pide). Si chocan, gana el legal en “qué concepto” y el ingeniero en “cómo se escribe la variable de ese concepto”.
- No inventar variables en la conciliación, igual que Stage 2.
- Todo desacuerdo no resuelto →
ASK_USER, no un mapeo a la fuerza. - Racional y disensos siempre registrados. Invariante del pipeline.
- No edites el archivo. Solo decides. Stage 5 inserta.
- Si un actor no está disponible, continúa con los otros dos y marca explícitamente cuál faltó en
notes.
Manejo de errores
- Variable que ningún actor logra confirmar que existe:
SIN_VARIABLEoASK_USER(nunca FINAL con una variable dudosa). Sugiere verificar contra la doc web / una verificación real. - El cliente ya tokenizó mal un campo: decisión
FINALcon el token corregido +notesexplicando la corrección. - Plantilla con secciones que Trébol no soporta (consulta externa nueva):
SIN_VARIABLEcon nota; candidato a futura variable.
Checklist
- Los 3 actores dieron dictamen (o se marcó cuál faltó).
- Cada campo tiene decisión
FINAL/SIN_VARIABLE/ASK_USER. - Desacuerdos registrados como
dissent. - Preocupaciones de precedente/mantenibilidad en
notes. - Ninguna decisión
FINALusa una variable no confirmada. - Preguntas de
ASK_USERformuladas cerradas para Stage 4.