Decision Graph

Método para reduzir N decisões abertas a ~3 decisões-mestre via grafo de dependência. Quando uma sessão de planning enfrenta 5+ open questions, mapear quais decisões cascateiam e isolar as não-deriváveis. Aplica Meta First (princípio #1) ao próprio processo de decisão.

Policy — Decision Graph

*ntes de responder N decisões em sequência* mapear quais delas se resolvem por cascata e isolar as 23 nãoderiváveis. Dramaticamente reduz a carga cognitiva e o tempo de planning.

Quando aplicar

Sempre que houver ≥5 decisões abertas numa sessão. Sintomas:

  • Lista numerada de questions/options à frente
  • Documento RFC com seção "Open questions"
  • Conversa onde a IA continua perguntando coisas e o usuário continua respondendo
  • Backlog de tickets com decisões interdependentes

Método em 5 passos

1. Enumerar todas as decisões abertas com recomendação default

Lista plana, cada decisão numerada (D1, D2, ...) com:

  • Pergunta
  • Opções
  • Recomendação default da IA (per policies/recommendation-required.kmd)

2. Mapear dependências

Para cada decisão, perguntar: "Se eu decidir esta, qual outra decisão fica auto-resolvida?"

Construir grafo dirigido:

D1 (premissa-mestre)
  ├── D2 (cascata se D1=a)
  ├── D3 (cascata se D1=a)
  └── D4 (cascata se D1=a)

D5 (premissa-mestre independente)
  ├── D6 (cascata)
  └── D7 (cascata)

D8 (não-derivável — exige input específico do usuário)

3. Classificar em 5 buckets

Usar emojis pra clareza visual:

Bucket Emoji Critério Ação
*aster* 🟥 decide ≥3 outras requer resposta explícita
*ascata* 🟧 resolve via master auto-derivada
*ybrid* 🟨 requer master + escolha confirmar default
*o-brainer* 🟩 recomendação clara, baixo risco aceito como default
*eferred* 🟦 escopo fora desta rodada ticket separado
*endente* 🟪 não-derivável requer resposta

4. Reduzir N decisões a ~3 master Q's

Apresentar ao usuário *ó as Master + Pendentes nãoderiváveis* Resto vai como "autodefault ou cascata — confirma se algo divergir".

5. Decidir mestres explicitamente; resto cascateia

Após resposta de cada master, anunciar a cascata. Usuário valida ou ajusta caso algum item de cascata não combine.

Heurística pra identificar Master

Pergunta: "Quais perguntas, se respondidas, resolvem N>1 outras automaticamente?"

Sinais de master:

  • Pergunta filosófica/estratégica (escopo, abordagem, premissa)
  • Resposta determina default de várias outras
  • Aparece como "premissa" em outras decisões

Sinais de cascata (não-master):

  • Pergunta tática/local
  • Tem default claro condicional ao master
  • Frase começa com "se X, então qual Y?"

Canonical example

Esta policy nasceu durante o ticket KSTACK-101, onde 22 decisões abertas (D1D22) foram reduzidas a * QMestre*+ * Q-Específica*via exatamente este método. Cascata resolveu 18 decisões automaticamente.

Ver projects/koder-stack/backlog/done/101-stack-framework-ui-styles-settings-spec-audit.md § "Grafo de dependência das decisões".

Anti-patterns

*on't:*

  1. *esponder decisões em ordem cronológica de aparição*— pode te

    travar em decisão tática enquanto premissa estratégica fica aberta

  2. *ular o passo 2 (mapear dependências)*— sem grafo, parece que

    tudo é igual de importante

  3. *ratar todas as decisões como master*— explosão cognitiva sem

    ganho

*o:*

  1. *nvestir 5min em construir o grafo*— economiza horas de

    discussão depois

  2. *presentar grafo ao usuário*— ele valida classificação master vs

    cascata

  3. *ocumentar a cascata explicitamente*— "QMestre 1=a autoresolve

    D2, D4, D6, D8" — usuário aprova de uma vez

Audit

/k-audit policies (advisory) detecta sessões longas de planning sem uso aparente do método. Sinais:

  • Conversa com 5+ decisões abertas iteradas em sequência sem grafo
  • Tickets com decisões duplicadas/contraditórias entre seções

Reporta como advisory — drift aqui é falha de processo, não bug técnico.

Origem

Método emergiu naturalmente durante a sessão de 20260501 documentada em projects/koder-stack/backlog/done/101-stack-framework-ui-styles-settings-spec-audit.md. Foi observado pelo usuário ("considerando que decidir sobre um ponto pode destravar várias decisões sobre outros pontos") e formalizado nesta policy. Aplica Meta First a si mesmo: identificar pattern (grafo de dependência) antes de iterar decisões.

Source: ../home/koder/dev/koder/meta/docs/stack/policies/decision-graph.kmd