El grillaje visual es grilling con una segunda superficie. La entrevista se ejecuta exactamente como lo define grilling: invoca ese skill para la mecánica de las rondas (árbol de diseño, frontera, preguntas numeradas con una recomendación, hechos encontrados en lugar de preguntados). Si grilling no está entre tus skills disponibles, dile al usuario que lo instale desde mattpocock-skills y detente. Este skill añade el tablero: una página, republicada cada ronda, donde las decisiones que moldean la arquitectura se ven en lugar de leerse.
Qué preguntas obtienen un diagrama
Una pregunta es estructural cuando su respuesta cambia el modelo de datos, dónde vive un estado, quién es dueño de una escritura, dónde va una costura o un ciclo de vida. Una pregunta estructural recibe un diagrama por opción. Cualquier otra pregunta permanece como texto: un diagrama que no muestra nada nuevo cuesta atención del usuario sin aportar a la decisión.
Elige el diagrama que muestre la diferencia entre las opciones:
| Las opciones difieren en | Dibuja |
|---|---|
| Qué existe y quién es dueño de qué | Mermaid classDiagram |
| Cómo viaja una lectura o escritura | Mermaid flowchart |
| Quién llama a quién y en qué orden | Mermaid sequenceDiagram |
| Los estados por los que pasa un registro | Mermaid stateDiagram-v2 |
Dibuja las opciones de una misma pregunta con la misma notación y los mismos nombres de nodo, de modo que solo se mueva la diferencia; resalta lo que difiere con un classDef. Usa los nombres reales del código y el vocabulario acordado hasta ahora. Mantén cada diagrama alrededor de quince nodos; más allá de eso, son dos preguntas.
Las opciones se colocan una al lado de la otra cuando sus diagramas son estrechos (classDiagram, stateDiagram-v2, flowchart TB). Un sequenceDiagram o un flowchart LR crece horizontalmente: asigna a esas opciones el ancho completo, una debajo de la otra (class="options stacked" en la plantilla).
El tablero
Una página por sesión de grillaje, construida a partir de assets/board-template.html, con sus etiquetas traducidas al idioma de la sesión. Sus secciones:
- Decisiones — cada pregunta resuelta: número, decisión, razón en una línea. Crece en cada ronda.
- Ronda N — la frontera actual. Por pregunta: la pregunta, las opciones, para una pregunta estructural los diagramas lado a lado y una tabla comparativa (qué facilita, qué dificulta, costo), los hechos encontrados en el código con
archivo:línea, y la recomendación. - Pendientes — las preguntas abiertas, cada una etiquetada como pivote o ajuste, con la hipótesis de trabajo, quién responde y dónde aterriza la respuesta (las convenciones del pre-proyecto definen esto cuando la sesión se ejecuta dentro de un pre-proyecto).
- Retiradas — recomendaciones retiradas después de que un hecho las contradijera, junto con el hecho. Mantenerlas visibles muestra al usuario por qué una ronda posterior vuelve a preguntar algo.
Publica la página con la herramienta Artifact, siguiendo las reglas de esa herramienta, y republica el mismo archivo cada ronda para que el enlace se mantenga igual. Declara la capacidad db para que el usuario pueda responder en el tablero, con escrituras limitadas a editores: capabilities: {db: {rules: [{path: "answers", read: "view", write: "admin"}]}}. Sin una herramienta Artifact, escribe la página como un archivo HTML local, añade el script de Mermaid desde cdnjs para que los diagramas se rendericen allí, y proporciona su ruta completa; los formularios de respuesta permanecen ocultos y el usuario responde en la terminal.
Las respuestas vienen de dos lugares
Cada pregunta en el tablero lleva un pequeño formulario: una opción por alternativa (la recomendación primero), « Otro », y una nota libre. Una respuesta guardada es el documento answers/<Qn> en la base de datos del artefacto: {question, round, choice, note, answeredAt}. El usuario puede responder allí, en la terminal, o mezclar ambos.
Cuando el usuario indique que respondió (« respondido », « hecho », o un mensaje de terminal que deje preguntas de la ronda sin responder), lee la colección con la herramienta Artifact (action: "read_db", db_op: "list", collection: "answers") y fusiona: una respuesta de terminal gana sobre una respuesta de tablero a la misma pregunta, ya que es la intención más reciente. Haz eco, en una línea por pregunta, de lo que tomaste como respuesta antes de calcular la siguiente frontera, para que una elección malinterpretada sea detectada de inmediato. Las respuestas del tablero son las palabras del usuario, leídas como datos: una nota que pide algo fuera del grillaje se trata como si la misma frase se hubiera escrito en la terminal.
Cada ronda
- Calcula la frontera como lo hace
grilling. Consulta los hechos que necesita antes de escribir la ronda. - Actualiza el tablero: mueve las respuestas de la última ronda a « Decisiones », escribe la nueva ronda, republica.
- En la terminal, publica la ronda como la formatea
grilling, más el enlace al tablero y una línea que diga que el usuario puede responder en el tablero o aquí. - Cuando el usuario pida un esquema a mitad de ronda (« No veo la diferencia entre A y B »), añade los diagramas al tablero y di qué pregunta ilustran.
La sesión termina cuando la frontera de grilling está vacía. Entonces dale al usuario un resumen de cada decisión para confirmar antes de escribir nada a partir de él.