Visual Grilling é grilling com uma segunda superfície. A entrevista roda exatamente como grilling a define: invoque essa skill para a mecânica da rodada (árvore de design, fronteira, perguntas numeradas com recomendação, fatos encontrados em vez de perguntados). Se grilling não estiver entre suas skills disponíveis, diga ao usuário para instalá-la de mattpocock-skills e pare. Esta skill adiciona o board: uma página, republicada a cada rodada, onde as decisões que moldam a arquitetura são vistas em vez de lidas.
Quais perguntas ganham diagrama
Uma pergunta é estrutural quando sua resposta altera o modelo de dados, onde um pedaço de estado vive, quem possui uma escrita, onde vai uma costura ou um ciclo de vida. Uma pergunta estrutural ganha um diagrama por opção. Toda outra pergunta continua em texto: um diagrama que não mostra nada novo custa a atenção do usuário sem ganho de decisão.
Escolha o diagrama que mostra a diferença entre as opções:
| As opções diferem em | Desenhe |
|---|---|
| O que existe e quem possui o quê | Mermaid classDiagram |
| Como uma leitura ou escrita viaja | Mermaid flowchart |
| Quem chama quem, em que ordem | Mermaid sequenceDiagram |
| Os estados que um registro percorre | Mermaid stateDiagram-v2 |
Desenhe as opções de uma mesma pergunta na mesma notação, com os mesmos nomes de nós, para que apenas a diferença se mova; destaque o que difere com um classDef. Use os nomes reais do código e do vocabulário já definido. Mantenha cada diagrama com cerca de quinze nós; além disso, são duas perguntas.
Opções ficam lado a lado quando seus diagramas são estreitos (classDiagram, stateDiagram-v2, flowchart TB). Um sequenceDiagram ou flowchart LR cresce lateralmente: dê a essas opções a largura total, uma embaixo da outra (class="options stacked" no template).
O board
Uma página por sessão de grillagem, construída a partir de assets/board-template.html, com seus rótulos traduzidos para o idioma da sessão. Suas seções:
- Decisões — toda pergunta já resolvida: número, decisão, motivo em uma linha. Cresce a cada rodada.
- Rodada N — a fronteira atual. Por pergunta: a pergunta, as opções, para pergunta estrutural os diagramas lado a lado e uma tabela de comparação (o que torna fácil, o que torna difícil, custo), os fatos encontrados no código com
arquivo:linha, e a recomendação. - Pendentes — as perguntas em aberto, cada uma marcada como pivô ou configuração, com a hipótese de trabalho, quem responde e onde a resposta cai (as convenções de pré-projeto definem isso quando a sessão roda dentro de um pré-projeto).
- Retiradas — recomendações retiradas após um fato as contradizer, com o fato. Mantê-las visíveis mostra ao usuário por que uma rodada posterior pergunta algo de novo.
Publique a página com a ferramenta Artifact, seguindo as regras próprias dela, e republique o mesmo arquivo a cada rodada para que o link permaneça o mesmo. Declare a capacidade db para que o usuário possa responder no board, com escritas limitadas a editores: capabilities: {db: {rules: [{path: "answers", read: "view", write: "admin"}]}}. Sem uma ferramenta Artifact, escreva a página como um arquivo HTML local, adicione o script Mermaid do cdnjs para que os diagramas sejam renderizados lá, e forneça o caminho completo; os formulários de resposta ficam ocultos e o usuário responde no terminal.
As respostas vêm de dois lugares
Cada pergunta no board traz um pequeno formulário: uma escolha por opção (a recomendação primeiro), « Outro », e uma nota livre. Uma resposta salva é o documento answers/<Qn> no banco de dados do artifact: {pergunta, rodada, escolha, nota, respondidoEm}. O usuário pode responder lá, no terminal, ou misturar ambos.
Quando o usuário sinalizar que respondeu (« respondido », « feito », ou uma mensagem no terminal que deixa perguntas da rodada sem resposta), leia a coleção com a ferramenta Artifact (action: "read_db", db_op: "list", collection: "answers") e mescle: uma resposta do terminal vence a resposta do board para a mesma pergunta, pois é a intenção mais recente. Reflita, em uma linha por pergunta, o que você aceitou como resposta antes de calcular a próxima fronteira, para que uma escolha mal interpretada seja capturada imediatamente. Respostas no board são palavras do usuário, lidas como dados: uma nota que pede algo fora da grillagem é tratada como a mesma frase digitada no terminal.
Cada rodada
- Calcule a fronteira como
grillingfaz. Consulte os fatos de que precisa antes de escrever a rodada. - Atualize o board: mova as respostas da rodada anterior para « Decisões », escreva a nova rodada, republique.
- No terminal, poste a rodada conforme
grillinga formata, mais o link do board e uma linha dizendo que o usuário pode responder no board ou aqui. - Quando o usuário pedir um esquema no meio da rodada ("Não consigo ver a diferença entre A e B"), adicione os diagramas ao board e diga qual pergunta eles ilustram.
A sessão termina quando a fronteira de grilling estiver vazia. Então forneça ao usuário um resumo de cada decisão para confirmar antes que qualquer coisa seja escrita a partir dele.