| Bellacosa Mainframe e o premature closure |
☕ Um Café no Bellacosa Mainframe
Premature Closure: Doctor Who, COBOL e o Dia em que a Hipótese Virou Root Cause Antes que as Evidências Terminassem de Falar
Uma viagem pela TARDIS dos incidentes para entender por que uma explicação plausível pode ser promovida cedo demais a diagnóstico definitivo — e como Anchoring, Search Satisfaction, Streetlight Effect, Confirmation Bias, Narrative Bias, pressão por MTTR e aquela irresistível vontade de escrever RESOLVED podem transformar uma boa hipótese numa péssima conclusão
03:41.
War Room.
Café em estado de emergência.
Na tela:
INCIDENTE P1
APLICAÇÃO:
PAYMENTS-X
SINTOMA:
TRANSAÇÕES LENTAS E DUPLICADAS
INÍCIO:
02:58
STATUS:
INVESTIGANDO
DBA:
— Tenho lock no Db2.
Gerente:
— Achamos.
Nosso jovem programador COBOL olha.
— Achamos o quê?
— A causa.
— Temos certeza?
— Tem lock no Db2.
O DBA confirma:
— Lock real.
O gerente digita:
ROOT CAUSE:
DB2 LOCK CONTENTION
Nosso jovem fica olhando.
Algo incomoda.
Pergunta:
— O lock começou quando?
— 03:07.
— O incidente começou quando?
— 02:58.
Silêncio.
— Então...
Ele aponta para a timeline.
— Como um evento das 03:07 causou uma coisa que começou às 02:58?
Outro silêncio.
O gerente olha novamente para:
DB2 LOCK CONTENTION
E responde:
— Talvez o horário esteja errado.
Ah.
Agora ficamos:
interessantes.
VWORP.
VWORP.
VWORP.
A TARDIS aparece atrás do projetor.
A porta abre.
O Doctor sai.
Observa a timeline.
Olha para:
02:58 TIMEOUTS
03:01 RETRIES
03:04 QUEUE GROWTH
03:07 DB2 LOCKS
Depois olha para:
ROOT CAUSE:
DB2 LOCK CONTENTION
Ele aponta.
— Quem escreveu isso?
Gerente:
— Eu.
— Baseado em quê?
— Encontramos locks.
— Locks existem?
— Sim.
— São ruins?
— Sim.
— Então podem ser parte do incidente?
— Sim.
Doctor sorri.
— Excelente.
Pausa.
— Agora chegamos à pergunta realmente importante.
— Qual?
“Por que vocês decidiram que uma evidência verdadeira já era a conclusão final?”
Bem-vindo à:
Premature Closure
Ou:
Fechamento Prematuro.
Em linguagem Bellacosa:
é quando o cérebro executa MOVE HYPOTHESIS TO ROOT-CAUSE antes de terminar o PERFORM VALIDATE-EVIDENCE.
Na literatura de raciocínio diagnóstico, premature closure é justamente o abandono precoce de alternativas razoáveis depois que uma hipótese inicial parece suficientemente boa.
🧠 Parece Search Satisfaction?
Muito.
Mas não são exatamente a mesma coisa.
No capítulo anterior:
Search Satisfaction
Encontramos:
um primeiro achado
e nossa busca:
perde força ou termina cedo.
Premature Closure é:
mais decisiva.
Agora não apenas:
paramos.
Nós dizemos:
“É isso.”
Transformamos:
POSSIBLE CAUSE
em:
ROOT CAUSE
antes da hora.
☕ Search Satisfaction diz:
“Já encontrei alguma coisa.”
Premature Closure diz:
“Portanto já sei o que aconteceu.”
Essa pequena diferença:
é enorme.
🧠 Medicina e diagnóstico
O conceito ficou especialmente conhecido no estudo de erros diagnósticos médicos.
Um profissional observa:
sintomas.
Formula:
diagnóstico provável.
A partir daí pode:
deixar de considerar alternativas;
interromper coleta de informações;
reinterpretar novos sinais para caber no diagnóstico inicial.
Pesquisas sobre raciocínio diagnóstico identificam premature closure como um dos vieses associados a erros e atrasos diagnósticos.
Em TI:
é praticamente:
terça-feira.
👻 Easter Egg nº 1 — House MD encontra Db2
Equipe:
— House, encontramos Db2 locks.
House:
— E daí?
— O paciente está lento.
— E?
— Locks causam lentidão.
— E?
— Então é Db2.
House:
— O paciente começou a sentir dor antes ou depois dos locks?
Silêncio.
House olha para o Doctor.
— Posso ficar com ele?
Doctor:
— Não.
🧠 O cérebro odeia incerteza
Uma investigação começa:
ROOT CAUSE:
UNKNOWN
Isso é desconfortável.
Existem:
10 hipóteses.
Nenhuma certeza.
Executivos perguntando.
Clientes ligando.
Relógio rodando.
Então encontramos:
algo plausível.
Nosso cérebro recebe:
uma recompensa extraordinária:
redução da incerteza.
Agora existe:
história.
Existe:
culpado técnico.
Existe:
plano.
Existe:
ETA.
É muito tentador:
fechar.
☕ UNKNOWN
é psicologicamente caro.
DB2
é maravilhoso.
Cabe:
num slide.
🧠 Anchoring chega primeiro
Premature Closure raramente anda:
sozinho.
Imagine:
primeiro alerta:
DB2 WARNING
Automaticamente:
hipótese Db2.
Anchoring.
Nosso julgamento começa:
preso ao primeiro pedaço de informação.
Mais tarde:
MQ mostra problema.
Network mostra jitter.
Mas:
o cérebro continua:
Db2.
🧠 Confirmation Bias entra logo depois
Se acreditamos:
Db2,
começamos a procurar:
evidências Db2.
Lock.
Warning.
Slow SQL.
Encontramos.
Excelente.
Evidências contrárias?
“Ruído.”
Confirmation Bias.
☕ O cérebro abre:
SELECT *
FROM EVIDENCE
WHERE SUPPORTS_MY_HYPOTHESIS = 'Y'
Uma query rápida.
Péssima ciência.
🧠 Streetlight Effect
Por que Db2?
Porque:
temos instrumentation.
Accounting.
Statistics.
Logs.
Dashboard.
Traces.
É iluminado.
Então:
Anchoring escolhe Db2.
Streetlight nos mantém ali.
Confirmation encontra sinais.
Premature Closure encerra caso.
Uma cadeia lindíssima.
E perigosa.
🧠 Narrative Bias fecha o PowerPoint
Timeline:
DB2 LOCK
↓
APPLICATION SLOW
↓
RETRY
↓
CUSTOMER IMPACT
História:
perfeita.
Só existe um pequeno problema:
o lock começou nove minutos depois do incidente.
Mas uma narrativa coerente:
é psicologicamente poderosa.
🎯 Pergunta Bellacosa nº 1
“A causa candidata acontece antes daquilo que supostamente causou?”
Se:
não...
Houston.
Ou melhor:
Houston, temos um problema temporal.
🧠 Doctor Who naturalmente aprova causalidade temporal
Se você precisa da TARDIS:
para fazer a causa acontecer antes do efeito,
talvez:
sua RCA precise de revisão.
☕ Regra Bellacosa nº 1
Causa deve preceder efeito, a menos que Gallifrey esteja oficialmente no scope.
🧠 Search Satisfaction entra novamente
Encontramos:
lock.
Achado verdadeiro.
Search Satisfaction:
“ótimo, achei.”
Premature Closure:
“ótimo, é isso.”
Esse combo é perigoso porque:
o primeiro achado não precisa ser falso.
Pode existir:
realmente.
Pode inclusive:
agravar o incidente.
Mas ser:
efeito secundário.
🧠 Exemplo completo
Timeline real:
02:58 EXTERNAL API LENTA
03:00 CLIENT RETRIES
03:02 DUPLICATE REQUESTS
03:04 CICS TASKS SOBEM
03:05 DB2 WORKLOAD SOBE
03:07 LOCK CONTENTION
DB2 locks são:
reais.
São:
parte do incidente.
Mas são:
consequência amplificadora.
Não:
gatilho inicial.
Se você corrigir somente locks:
talvez alivie.
Mas:
external API continua.
Retry continua.
Incidente volta.
☕ Uma causa pode ser:
verdadeira
e:
não ser root.
🧠 Trigger, Contributor e Amplifier
Para evitar essa confusão, gosto de separar:
TRIGGER
CONTRIBUTORS
AMPLIFIERS
DETECTION GAPS
RECOVERY GAPS
Trigger
O que iniciou?
Contributor
O que tornou provável?
Amplifier
O que tornou impacto maior?
Detection Gap
Por que demoramos a perceber?
Recovery Gap
Por que demoramos a recuperar?
Agora:
menos pressão para:
achar “A CAUSA”.
🧠 Sistemas complexos gostam de plural
Às vezes não existe:
uma bala de prata causal.
Temos:
interações.
☕ Root Cause pode ser:
um condomínio fechado.
Com síndico.
🧠 Premature Closure e Single Cause Bias
Existe um desejo enorme:
uma causa.
Uma linha.
Um proprietário.
Mas:
CAUSE:
NETWORK
é muito mais confortável do que:
TRIGGER:
certificate renewal
CONTRIBUTOR:
retry policy
AMPLIFIER:
no idempotency
DETECTION GAP:
external dependency unmonitored
O segundo:
é mais trabalhoso.
Também:
muito mais útil.
🎯 Pergunta Bellacosa nº 2
“Estamos procurando uma explicação suficiente ou apenas uma explicação simples?”
🧠 Occam's Razor não significa “sempre uma causa”
Navalha de Occam ajuda:
não multiplicar hipóteses desnecessariamente.
Mas não significa:
o universo deve obedecer ao nosso desejo de simplicidade.
Dois bugs podem:
coexistir.
Três também.
Infelizmente.
👻 Easter Egg nº 2 — dois Daleks
Companion:
— Doctor, encontramos o Dalek.
— Excelente.
— Então resolvemos.
— Qual deles?
Companion olha.
Dois Daleks.
— Ah.
Doctor:
— Occam não disse que Daleks trabalham em regime de exclusividade.
🧠 Premature Closure e Diagnosis Momentum
Aqui nasce outro monstro interessante.
Analista A escreve:
PROBABLE DB2 ISSUE
Analista B recebe:
“Db2 incident.”
Analista C:
“Db2 outage.”
Executivo:
“DB2 root cause.”
A hipótese:
evoluiu
sem nova evidência.
Isso é:
Diagnostic Momentum
Uma hipótese vai adquirindo:
peso social
simplesmente porque:
viajou.
☕ O boato recebeu:
promotion.
🧠 Ticket Title é perigoso
Compare:
DB2 INCIDENT
com:
PAYMENT LATENCY — DB2 LOCKS OBSERVED, CAUSALITY UNCONFIRMED
O segundo preserva:
incerteza.
Isso reduz:
Anchoring.
🎯 Pergunta Bellacosa nº 3
“Esta conclusão foi comprovada ou apenas repetida por pessoas suficientes?”
Excelente.
🧠 Authority Bias
Agora:
o DBA senior diz:
— É Db2.
Sala:
para.
Por quê?
Experiência.
E experiência é:
valiosa.
Mas:
não infalível.
Authority Bias transforma:
hipótese de especialista
em:
fato.
☕ Trinta anos de experiência
aumentam qualidade da hipótese.
Não dão:
GRANT SYSADM ON REALITY.
🧠 Expert intuition é sinal, não sentença
Especialista:
“tem cheiro de lock.”
Ótimo.
Investigamos.
Não:
encerramos.
🧠 Dunning-Kruger pelo outro lado
Iniciante pode:
fechar cedo
porque não conhece:
alternativas.
Especialista pode:
fechar cedo
porque reconhece:
padrão familiar.
A vulnerabilidade existe:
em formas diferentes.
Estudos de reasoning clínico mostram que experiência não elimina automaticamente a influência de vieses na formulação e confirmação de hipóteses.
☕ O júnior pensa:
“Não conheço outra causa.”
O senior pensa:
“Já vi isso cem vezes.”
O universo responde:
“Hoje é a 101ª.”
🧠 Availability Heuristic
Semana passada:
Db2.
Hoje:
latência.
Db2 vem:
imediatamente à mente.
Recency Bias:
reforça.
Representativeness:
“parece igual.”
Anchoring:
fixa.
Confirmation:
sustenta.
Premature Closure:
fecha.
🌀 Bellacosa Bias Pipeline
RECENCY
↓
AVAILABILITY
↓
REPRESENTATIVENESS
↓
ANCHORING
↓
CONFIRMATION
↓
NARRATIVE
↓
PREMATURE CLOSURE
Uma verdadeira:
CI/CD de erro cognitivo.
🧠 Framing Effect
Ticket chega:
“Problema no Db2.”
Pronto.
Frame definido.
Se chegasse:
“Clientes relatam lentidão entre 02:58–03:20.”
Search space:
muito maior.
🎯 Pergunta Bellacosa nº 4
“Como descreveríamos o problema se não soubéssemos qual time abriu o ticket?”
Poderosa.
🧠 Premature Closure e Fundamental Attribution Error
Incident:
operador executou comando errado.
Found!
Root cause:
human error.
Case closed.
Mas:
por que comando destrutivo estava disponível?
Por que:
sem confirmação?
Por que:
runbook ambíguo?
Por que:
pessoa trabalhava há 16 horas?
Por que:
mudança não tinha rollback automatizado?
Fechamento prematuro transforma:
última ação visível
em:
explicação completa.
☕ “Fulano errou”
é uma RCA:
curta.
Excelente para:
não aprender nada.
🧠 Actor-Observer Bias
Meu erro:
contexto.
Seu erro:
incompetência.
Premature Closure pode:
fixar nisso.
🧠 Self-Serving Bias
Se finding:
fornecedor,
ótimo.
Case closed.
Se finding:
nosso,
talvez procuremos mais.
Interesting.
🎯 Pergunta Bellacosa nº 5
“Se essa mesma causa estivesse dentro do nosso próprio time, ainda consideraríamos a investigação concluída?”
Desconfortável.
Muito boa.
🧠 Premature Closure e MTTR
Agora vamos para:
incentivos.
War Room mede:
MTTR.
Quanto menor:
melhor.
Bom indicador.
Mas:
se fechamento do incidente reduz MTTR,
surge incentivo:
fechar.
Goodhart.
Campbell.
Goal Substitution.
Agora primeira hipótese plausível:
ganha valor econômico.
☕ O relógio não apenas mede investigação
Ele começa:
a participar dela.
🧠 Serviço restaurado ≠ investigação concluída
Uma defesa maravilhosa:
separe estados.
SERVICE:
RESTORED
INCIDENT:
MITIGATED
RCA:
OPEN
CAUSE CONFIDENCE:
MEDIUM
Agora você pode:
reduzir bridge
sem fingir:
certeza.
🧠 Operations quer recuperação
RCA quer:
entendimento.
Não precisam:
terminar juntos.
🎯 Pergunta Bellacosa nº 6
“Estamos fechando a investigação porque recuperamos o serviço?”
Muito comum.
🧠 Restart Syndrome
Restart.
Sistema volta.
Root cause:
“process hung.”
Não.
Restart alterou:
estado.
Isso prova:
quase nada sobre:
origem.
Pode ter sido:
memory leak;
deadlock;
stale connection;
queue;
cache;
external timeout.
☕ Restart é:
maravilhoso terapeuta.
Péssima testemunha.
🧠 Evidence Preservation
Antes de restart:
se possível:
dump;
logs;
queues;
metrics;
traces.
Porque ação pode:
destruir evidência.
Action Bias + Premature Closure:
combinação perigosa.
🧠 Action Bias
Queremos:
fazer algo.
Restart funciona.
Outcome Bias:
funcionou → era correto.
Premature Closure:
logo sabemos a causa.
Não necessariamente.
🎯 Pergunta Bellacosa nº 7
“O fix provou nossa hipótese ou apenas alterou suficientemente o estado para o sintoma desaparecer?”
Essa merece:
quadro.
🧠 Counterfactual
Uma técnica excelente.
Pergunte:
“Se essa causa não existisse, o incidente ainda poderia acontecer?”
Se:
sim,
talvez não seja:
explicação suficiente.
🧠 Outro counterfactual
“Se corrigirmos exclusivamente isso, eliminamos recorrência?”
Se:
não,
continue.
☕ FIXED ONE THING
não significa:
SYSTEM SAFE.
🧠 Premature Closure em código COBOL
Ticket:
valor incorreto.
Você encontra:
COMPUTE WS-TOTAL =
WS-PRICE * WS-QTY.
WS-QTY está errado.
Muda:
calculation.
Teste:
passa.
Mas:
por que quantity estava errada?
Copybook?
File mapping?
Data upstream?
Seu fix pode:
mascarar.
🧠 First Bad State
Busque:
o primeiro ponto onde:
estado fica incorreto.
INPUT ........ OK
COPYBOOK ..... WRONG
MOVE ......... WRONG
COMPUTE ...... WRONG
REPORT ....... WRONG
Report:
sintoma.
Compute:
primeira suspeita.
Copybook:
origem.
☕ O lugar onde você vê o bug
não é necessariamente:
onde ele nasceu.
🧠 Premature Closure e Search Satisfaction
Search Satisfaction:
achou COMPUTE.
Parou.
Premature Closure:
declarou:
“erro de cálculo.”
Streetlight:
continuou olhando:
programa.
McNamara:
não olhou processo upstream porque:
não tinha log.
Viu como a série começa:
a se fechar sobre si mesma?
👻 Easter Egg nº 3 — programa Bellacosa
IF HYPOTHESIS-FOUND = 'Y'
MOVE 'ROOT CAUSE'
TO INCIDENT-STATUS
END-IF.
Doctor:
— Não.
Correção:
IF HYPOTHESIS-FOUND = 'Y'
MOVE 'CANDIDATE'
TO CAUSE-STATUS
PERFORM VALIDATE-CAUSALITY
PERFORM CHECK-ALTERNATIVES
PERFORM CHECK-RESIDUAL-EVIDENCE
END-IF.
Melhor.
🧠 Residual Evidence
Essa talvez seja:
a melhor defesa.
Faça lista:
SYMPTOM EXPLAINED?
TIMEOUTS YES
DUPLICATES NO
DB2 LOCKS YES
ONLY REGION B AFFECTED NO
RETRY SPIKE NO
Enquanto existirem:
sintomas materiais não explicados,
não feche.
🎯 Pergunta Bellacosa nº 8
“Qual evidência ainda fica sobrando depois da nossa explicação?”
A sobra:
é ouro.
🧠 House MD novamente
Equipe:
— Pneumonia.
House:
— Explica febre?
— Sim.
— Tosse?
— Sim.
— Hemorragia?
— Não.
House:
— Então vocês têm:
uma boa explicação para parte do paciente.
Não:
diagnóstico completo.
☕ Em TI:
uma hipótese precisa:
passar em todos os sintomas materiais.
Não apenas:
nos favoritos.
🧠 Disconfirming Evidence
Em vez de procurar:
“o que confirma?”
pergunte:
“o que destruiria essa hipótese?”
Isso é:
cognitive forcing.
Estratégias que deliberadamente exigem considerar alternativas e evidências incompatíveis são usadas no raciocínio diagnóstico justamente para reduzir fechamento prematuro.
🧠 Premortem da hipótese
Imagine:
nossa RCA está errada.
Por quê?
Talvez:
timeline.
Talvez:
correlation.
Talvez:
second failure.
🎯 Pergunta Bellacosa nº 9
“Se estivermos errados, qual evidência atual provavelmente estamos interpretando mal?”
🧠 Second Pass obrigatório
Depois que encontrar:
causa candidata,
faça:
segunda passada.
Mas agora:
assuma provisoriamente que:
ela não é suficiente.
Pergunte:
outras causas?
Outros domínios?
Outro timing?
☕ Primeira passada:
“o que explica?”
Segunda:
“o que destrói?”
Perfeito.
🧠 Fresh Eyes
Outra pessoa.
Sem:
contexto da hipótese.
Dê:
sintomas.
Timeline.
Evidence.
Não diga:
“é Db2.”
Pergunte:
o que ela conclui.
Isso reduz:
diagnostic momentum.
🧠 Blind Review
Muito bom para:
incidente grave.
🎯 Pergunta Bellacosa nº 10
“Uma pessoa que não ouviu nossa hipótese chegaria à mesma conclusão olhando apenas as evidências?”
🧠 Premature Closure e Groupthink
Sala inteira:
concorda.
Agora:
discordar fica:
caro.
Groupthink.
Authority Gradient.
Goal Gradient:
quer encerrar.
Resultado:
consenso.
Não necessariamente:
verdade.
🧠 Challenger Role
Nomeie:
alguém para:
tentar quebrar RCA.
Não como:
inimigo.
Como:
controle.
☕ O chato oficial
é uma função:
subestimada.
🧠 Red Team da causa raiz
Perguntas:
WHAT ELSE?
WHAT DOES THIS NOT EXPLAIN?
WHAT WOULD FALSIFY IT?
IS IT CAUSE OR CONSEQUENCE?
COULD TWO FAILURES COEXIST?
Cinco perguntas.
Pouco custo.
🧠 Premature Closure em migração
Migração apresenta:
diferença de R$1 milhão.
Encontramos:
mapping errado.
Corrige.
Diferença:
R$70 mil.
Gerente:
— Basicamente resolvido.
Não.
Em reconciliação financeira:
R$70 mil continua:
falando.
☕ “Quase reconciliado”
deveria causar:
ligeiro desconforto.
🧠 Residual Analysis
Antes:
1M.
Depois:
70k.
Primeira causa explica:
93%.
Ótimo.
Mas:
7% pode:
ser outra causa.
Pareto é:
ferramenta.
Não:
perdão.
🎯 Pergunta Bellacosa nº 11
“O residual restante é pequeno em porcentagem ou pequeno em consequência?”
Diferença gigantesca.
🧠 Premature Closure em performance
Batch:
90 minutos.
Normal:
Encontra SQL ruim.
Tuning.
Agora:
Celebramos.
Mas:
ainda 20 acima.
SQL:
causa real.
Não:
única.
Continue.
🧠 “Melhorou” não é “normalizou”
Muito importante.
🧠 Baseline
Compare:
expected.
Don't stop:
at improvement.
☕ Se paciente tinha:
40 graus
e caiu para:
39,
melhorou.
Ainda:
febre.
🧠 Premature Closure em security
SIEM detecta:
malware.
Remove.
Ticket closed?
Não.
Persistence?
Credential?
Lateral movement?
Exfiltration?
Initial vector?
Encontrar malware:
é:
finding.
🎯 Pergunta Bellacosa nº 12
“Encontramos a causa do comprometimento ou apenas um artefato produzido por ele?”
🧠 Premature Closure em fraude
Fraud team encontra:
funcionário.
Case closed?
Talvez exista:
process weakness;
access control;
segregation;
monitoring gap;
incentive.
Pessoa:
trigger.
System:
context.
🧠 Fundamental Attribution novamente
“Foi o funcionário.”
Sim.
Mas:
como foi possível?
☕ Segurança madura pergunta:
não apenas:
“quem?”
Mas:
“como?”
e:
“por que esse caminho existia?”
🧠 Premature Closure em IA
Esse ponto ficou ainda mais interessante em 2026.
Pesquisas recentes estão estudando explicitamente premature closure em LLMs, inclusive situações em que modelos se comprometem com uma resposta mesmo quando informação suficiente não está disponível. Um trabalho de 2026 encontrou altas taxas de ação/resposta indevida quando a alternativa correta havia sido removida de questões, e mostrou redução — mas não eliminação — do problema com prompts orientados à segurança.
🤖 ANSWER FOUND
não significa:
EVIDENCE SUFFICIENT
Humano e IA:
mesmo problema conceitual.
🧠 Agentic Reasoning
Outra pesquisa de 2026 estudou modelos que precisavam pedir informações progressivamente antes de diagnosticar e encontrou falhas importantes de busca de informação; search satisficing, anchoring e premature closure apareceram entre os modos dominantes de erro.
Interessante porque:
o problema não é apenas:
“modelo não sabe.”
Pode ser:
modelo decidiu que já sabia.
☕ Isso é muito mais assustador
do que:
“não sei.”
🧠 No mundo dos agentes
Imagine:
agent detecta:
CPU high.
Conclui:
capacity.
Scale up.
CPU melhora.
Mas root:
retry storm.
Custo:
sobe.
Incident:
continua parcialmente.
Premature Closure:
automatizada.
🎯 Pergunta Bellacosa nº 13
“A automação está autorizada a agir antes de distinguir causa de sintoma?”
Excelente para AIOps.
🧠 Confidence precisa ser explícita
Não:
ROOT CAUSE = DB2
Mas:
CANDIDATE:
DB2 LOCKING
CONFIDENCE:
MEDIUM
UNEXPLAINED:
INITIAL TIMEOUTS
Isso muda:
comportamento.
🧠 Uncertainty is data
Novamente.
Não esconda:
incerteza.
☕ “Provável”
é uma palavra profissional.
Não uma fraqueza.
🧠 Premature Closure e Metric Fixation
Dashboard quer:
campo.
ROOT_CAUSE = ?
Banco de dados:
NOT NULL.
Que maravilha.
Agora organização é:
forçada a preencher.
Mesmo quando:
não sabe.
Data model cria:
certeza fictícia.
🧠 Faça campo permitir:
UNKNOWN
UNDER INVESTIGATION
MULTIFACTORIAL
Sério.
🎯 Pergunta Bellacosa nº 14
“Nosso processo permite admitir que ainda não sabemos?”
Se não:
vai produzir:
falsas certezas.
🧠 McNamara Fallacy
A causa facilmente:
quantificada
ganha.
Contexto:
difícil.
Deadline.
Fatigue.
Knowledge.
Process.
Não entram:
dashboard.
Então RCA:
technical parameter.
Mais fácil.
☕ É mais fácil escrever:
MAXTASK
que:
“nossa estrutura de incentivos normalizou risco”.
Mas segundo pode:
importar mais.
🧠 Need for Control
Premature Closure reduz:
incerteza.
Logo:
satisfaz nossa necessidade:
de controle.
Illusion of Control:
causa nomeada → problema entendido.
Não necessariamente.
🧠 “Conhecemos o nome” ≠ “compreendemos o fenômeno”
Uma lição enorme.
🎯 Pergunta Bellacosa nº 15
“Nomeamos o problema ou realmente conseguimos explicar seu mecanismo?”
🧠 Zero-Risk Bias
Achamos:
uma vulnerabilidade.
Eliminamos:
zero.
Sentimento:
seguro.
Mas:
outras.
Closure.
🧠 Risk Compensation
Control added.
Confidence.
Now:
risk-taking.
Again.
🧠 Premature Closure e Moral Hazard
Vendor precisa:
atribuir root cause.
Escolhe:
client configuration.
SLA penalty:
evitada.
Investigation:
fechada.
Principal-Agent.
Incentive.
🎯 Pergunta Bellacosa nº 16
“Quem ganha ou perde dependendo da causa que escolhermos?”
Essa deveria ser:
obrigatória em RCA contractual.
🧠 Premature Closure e Omission Bias
Não investigar:
segunda hipótese
é:
omissão.
Parece:
menos grave
que executar ação arriscada.
Mas pode:
custar.
🧠 Premature Closure e Loss Aversion
Nossa hipótese atual:
já tem:
slides.
Fix.
Approval.
Vendor statement.
Abandonar agora:
perder trabalho.
Sunk Cost.
Loss Aversion.
Então:
defendemos.
☕ Root Cause também pode:
virar investimento emocional.
🧠 Escalation of Commitment
Quanto mais:
defendemos Db2,
mais caro fica dizer:
“não era.”
Então:
novas evidências são:
reinterpretadas.
🎯 Pergunta Bellacosa nº 17
“Se esta hipótese tivesse sido proposta cinco minutos atrás, daríamos a ela a mesma confiança?”
Excelente anti-sunk-cost.
🧠 Hindsight Bias depois do incidente
Depois de descobrir:
certificado,
todos:
“era óbvio.”
Não era.
Se fosse:
não teríamos passado:
quatro horas em Db2.
Hindsight distorce:
aprendizado.
🧠 Outcome Bias
Fix funcionou.
Então:
conclusão era boa.
Not necessarily.
Maybe:
luck.
☕ Resultado bom
não retroativamente:
valida raciocínio ruim.
🧠 Premature Closure em code review
Reviewer encontra:
um bug grande.
Attention:
satisfeita.
Resto:
menos rigor.
Search Satisfaction.
Premature Closure:
“esse era o problema do PR.”
Talvez:
outros.
Use:
passes.
🧪 Review por camadas
Pass 1
Business logic.
Pass 2
Error handling.
Pass 3
Data integrity.
Pass 4
Operability/security.
Agora um finding:
não encerra review.
🧠 Premature Closure em testes
Bug A.
Fix.
Teste específico:
passa.
Release.
Regression?
Não.
Bug B:
esperando.
🎯 Pergunta Bellacosa nº 18
“Validamos apenas que o bug encontrado foi corrigido ou que o comportamento global voltou ao esperado?”
🧠 Premature Closure e múltiplos incidentes
Às vezes bridge contém:
dois incidentes independentes.
Raro?
Sim.
Impossível?
Não.
Complex systems:
coincidences happen.
☕ Universo não lê:
ticketing system.
Ele pode abrir:
dois bugs
no mesmo horário.
🧠 Segmentation
Cliente A:
latência.
Cliente B:
duplicação.
Maybe:
same.
Maybe:
different.
Segment.
🧠 Temporal segmentation
Antes das 03:07:
timeouts.
Depois:
locks.
Maybe cascade.
Timeline helps.
🎯 Pergunta Bellacosa nº 19
“Estamos tentando obrigar sintomas diferentes a pertencer ao mesmo incidente?”
🧠 Cascading Failures
Uma falha inicial:
gera:
outras.
Depois de um tempo:
secondary failure becomes:
independent recovery problem.
Fix trigger:
doesn't automatically restore:
everything.
🧠 Exemplo
Network recovers.
Queue:
still huge.
Db2:
still locking.
Now:
new operational condition.
☕ Apagar fósforo
não remove:
incêndio que já começou.
🧠 Premature Closure e RCA Five Whys
Five Whys ajuda:
ir além.
Mas cuidado:
pode criar:
narrativa linear falsa.
Use:
como questionamento.
Não:
como dogma.
🧠 Causal Graph
Melhor para:
sistemas complexos.
CERTIFICATE
↓
TIMEOUT
↙ ↘
RETRY CUSTOMER RETRY
↓ ↓
LOAD DUPLICATES
↘ ↙
DB2 LOCK
Agora:
visualizamos.
🎯 Pergunta Bellacosa nº 20
“Nosso incidente é melhor representado por uma linha ou por um grafo?”
Quase sempre:
interessante.
🧠 Premature Closure e War Room language
Evite:
“root cause.”
Cedo.
Use:
“leading hypothesis.”
“candidate.”
“confirmed finding.”
“contributor.”
Semântica:
molda mente.
☕ ROOT CAUSE FOUND
fecha cérebro.
CANDIDATE CAUSE
mantém:
porta aberta.
🧠 Confidence Levels
LOW
MEDIUM
HIGH
CONFIRMED
Define:
critérios.
High não:
“senior disse.”
Confirmed:
evidence.
🧠 Premature Closure e “Evidence Ladder”
Podemos criar:
1. OBSERVATION
2. CORRELATION
3. PLAUSIBLE MECHANISM
4. REPRODUCTION / TEST
5. COUNTERFACTUAL SUPPORT
6. CONSISTENT WITH ALL MATERIAL EVIDENCE
Quanto mais alto:
mais confiança.
☕ Um warning é:
nível 1.
Não:
nível 6.
🎯 Pergunta Bellacosa nº 21
“Em qual degrau de evidência estamos realmente?”
🧠 Diagnostic Time-Out
Antes de fechar:
60 segundos.
Pergunte:
O que não encaixa?
Que alternativa é plausível?
Causa ou efeito?
Timeline bate?
O cliente normalizou?
Existe residual?
Isso é:
barato.
🧠 Cognitive forcing
Em contextos diagnósticos, estratégias deliberadas que obrigam o decisor a reconsiderar alternativas são propostas como formas de reduzir premature closure, embora nenhuma técnica elimine totalmente os erros.
☕ Nenhum checklist transforma:
humano
em:
compilador perfeito.
Mas ajuda.
🧠 Bellacosa 90-Second Closure Review
Antes de escrever:
RESOLVED
pergunte:
1. O que realmente sabemos?
2. O que estamos inferindo?
3. O que não explicamos?
4. Qual hipótese concorrente continua viva?
5. O que nos faria reabrir?
Excelente.
🧠 Reopen Criteria
Defina:
REOPEN IF:
duplicate > 0
latency > baseline
queue growth resumes
customer complaints return
Premature Closure defense:
continue observando.
🧠 Observation Window
Fix aplicado.
Não:
feche imediatamente.
Espere:
janela relevante.
☕ “Funcionou por 30 segundos”
é um sample:
interessante.
Não:
garantia.
🧠 Premature Closure em batch
Job falha.
Encontramos:
dataset full.
Increase space.
Restart.
Pass.
RCA:
space.
Mas:
por que volume:
dobrou?
Upstream duplicate.
Se só aumenta space:
próximo mês:
mais.
🎯 Pergunta Bellacosa nº 22
“Corrigimos o limite ou entendemos por que chegamos ao limite?”
🧠 Premature Closure em CICS
SOS.
Increase MXT.
System breathes.
Cause:
MXT too low?
Maybe.
Or:
tasks stuck downstream.
Increasing MXT:
buys time.
Closure at parameter:
danger.
☕ Nem todo knob
que melhora sintoma
é:
root cause knob.
🧠 Premature Closure em Db2
Lock escalation.
Increase:
limit.
Could:
hide bad transaction design.
Again.
🧠 Premature Closure em cloud
CPU high.
Autoscale.
Solved.
Maybe:
bad loop.
Now:
pay more.
☕ Cloud tem uma habilidade maravilhosa:
transformar premature closure
em:
fatura.
🧠 Premature Closure em AI coding
Tests failing.
AI changes:
expected value.
Tests pass.
Root:
bug?
Maybe test:
was correct.
Closing because:
green suite
danger.
Goal Substitution.
🎯 Pergunta Bellacosa nº 23
“A correção resolveu requisito ou apenas fez o indicador voltar a verde?”
🧠 Premature Closure em observabilidade
Alert disappears.
System healthy?
Maybe:
monitor broke.
Metric Fixation.
McNamara.
🧠 Always validate outcome
Customer journey.
Business transaction.
Not:
only alert.
☕ Monitor quieto
não é:
cliente feliz.
🧠 Premature Closure em segurança de acesso
Unauthorized attempt.
Account disabled.
Done?
Compromised token?
Other accounts?
Persistence?
Look broader.
🧠 Premature Closure em data
One bad record.
Fix.
Question:
one?
class?
Generate query:
how many similar?
🎯 Pergunta Bellacosa nº 24
“Esse defeito é ocorrência isolada ou exemplar de uma classe de defeitos?”
Excelente.
🧠 Expand search after finding
Paradox:
às vezes encontrar um erro deveria:
aumentar
a investigação.
Porque:
agora sabemos:
a classe existe.
☕ Encontrou um registro corrompido?
Não comemore:
a singularidade dele
antes de fazer:
COUNT(*).
🧠 Pattern Search
Search:
same source.
Same date.
Same transformation.
🧠 Premature Closure e Sampling
Sample:
1 bad.
Conclusion:
one error.
No.
Maybe 10%.
Need:
sampling method.
🎯 Pergunta Bellacosa nº 25
“Nossa amostra permite concluir que o problema é isolado?”
🧠 Premature Closure e rare events
Um fenômeno raro:
não significa:
impossível.
Dois failures:
low probability.
Still:
possible.
Don't eliminate solely:
because rare.
☕ Produção não respeita:
“isso nunca aconteceu.”
Ela gosta:
da frase.
🧠 Plan Continuation Bias
Temos:
plano.
RCA.
Go-Live.
Nova evidência aparece.
Stopping plan:
cost.
So:
continue.
Premature closure may:
protect plan.
🧠 Status Quo Bias
Current hypothesis:
status quo.
Alternative:
effort.
🎯 Pergunta Bellacosa nº 26
“Estamos defendendo a hipótese porque ela é melhor ou porque já reorganizamos o plano em torno dela?”
🧠 Premature Closure e OODA Loop
Observe.
Orient.
Decide.
Act.
Then:
observe again.
Problema:
fazemos:
Observe → Decide → Act → Declare Victory.
Não.
Loop.
☕ OODA tem:
O de novo
por um motivo.
🧠 Feedback Loop
After action:
did expected effects occur?
Unexpected?
Update.
🧠 Premature Closure e Bayesian Update
Hipótese:
Db2 60%.
New evidence:
lock.
80%.
Não:
100%.
New evidence:
timeline contradiction.
Drop.
Thinking probabilistically:
helps.
☕ Hipótese não precisa:
morrer
ou:
virar religião.
Pode ter:
probabilidade.
🧠 Confidence Calibration
Maybe:
DB2 contributor: HIGH
DB2 initial trigger: LOW
EXTERNAL API trigger: HIGH
More nuanced.
🎯 Pergunta Bellacosa nº 27
“Que parte da hipótese possui alta confiança e que parte ainda é suposição?”
🧠 Premature Closure e comunicação executiva
Executivos querem:
certeza.
Mas mature communication:
“Service restored. Leading hypothesis is retry amplification triggered by external latency; investigation remains open.”
Melhor que:
“Db2 caused outage.”
Se ainda:
não sabe.
☕ Incerteza bem comunicada
é:
competência.
Não:
fraqueza.
🧠 Premature Closure e postmortem
Postmortem ocorre:
dias depois.
Agora:
menos pressão.
Reopen:
hypothesis.
Maybe War Room cause:
wrong.
Allow.
🧠 Don't protect incident-room ego
Postmortem objective:
learn.
Not:
confirm hero story.
🎯 Pergunta Bellacosa nº 28
“O postmortem está tentando descobrir o que aconteceu ou justificar o que decidimos durante a crise?”
🧠 Premature Closure e psychological safety
Júnior encontra:
contradição.
Senior:
already announced root cause.
Will junior speak?
Maybe not.
Now authority + sunk cost + closure.
Need:
safe challenge.
☕ Toda RCA deveria ter:
um botão imaginário:
I THINK WE'RE WRONG.
Sem punição.
🧠 Second Opinion
High stakes:
another specialist.
Medicine uses:
differential.
TI:
same.
🧠 Premature Closure e handoffs
Never handoff:
only conclusion.
Include:
facts.
FACTS:
...
HYPOTHESIS:
...
CONFIDENCE:
...
UNEXPLAINED:
...
This is:
fantastic.
🎯 Pergunta Bellacosa nº 29
“Estamos entregando evidência para o próximo turno ou apenas nossa interpretação?”
🧠 Premature Closure e AI-generated summaries
AI summary:
may compress:
uncertainty.
“Root cause was Db2 locking.”
Original:
“Possible Db2 lock contribution; initial timeout predates locks.”
Oops.
Summarization itself can:
create closure.
🤖 Preserve modality
Possible.
Likely.
Confirmed.
These words:
matter.
☕ Transformar “talvez”
em:
“foi”
é um bug semântico.
🧠 AI Guardrail
Prompt:
Separate:
FACTS
HYPOTHESES
CONFIDENCE
UNEXPLAINED EVIDENCE
ALTERNATIVES
Good.
🧠 Premature Closure e modern LLMs
Estudos publicados em 2026 continuam explorando esse problema em modelos de linguagem e raciocínio multimodal, encontrando premature closure entre padrões de falha em tarefas diagnósticas progressivas.
Ou seja:
não é apenas:
um velho viés humano.
É também uma preocupação relevante:
quando automatizamos raciocínio sob incerteza.
☕ Nós ensinamos máquinas:
a responder.
Agora precisamos ensinar também:
quando ainda não responder.
🧠 Premature Closure e automação
Automation wants:
deterministic states.
OPEN
RESOLVED
Reality:
MITIGATED
LIKELY
PARTIAL
MONITORING
UNKNOWN
Design state machines:
honestly.
🧠 State richness reduces false closure
Great.
🎯 Pergunta Bellacosa nº 30
“Nosso workflow possui estados suficientes para representar incerteza real?”
🧠 Bellacosa Anti-Closure Protocol
Quando encontrar:
primeira explicação:
Passo 1 — Não escreva Root Cause ainda
Escreva:
CANDIDATE CAUSE
Passo 2 — Verifique timeline
Cause before effect?
Passo 3 — Liste todos os sintomas
Cada um explicado?
Passo 4 — Procure residual
What's left?
Passo 5 — Liste pelo menos uma alternativa
Mesmo que:
fraca.
Passo 6 — Busque evidência contrária
Try to kill hypothesis.
Passo 7 — Teste counterfactual
Without cause:
incident?
Passo 8 — Valide outcome
Customer normal?
Passo 9 — Faça second pass
Fresh eyes if possible.
Passo 10 — Só então feche
Evidence threshold according:
risk.
📋 Checklist Bellacosa anti-Premature Closure
[ ] Temos uma hipótese ou uma causa comprovada?
[ ] A timeline é causalmente possível?
[ ] Todos os sintomas materiais estão explicados?
[ ] Existe evidência residual?
[ ] Procuramos uma hipótese concorrente?
[ ] Procuramos evidência que contradiz nossa favorita?
[ ] O fix provou causalidade ou só restaurou o serviço?
[ ] Existe segunda falha possível?
[ ] O primeiro finding virou âncora?
[ ] Estamos sob pressão de MTTR?
[ ] Estamos cansados?
[ ] Existe incentivo financeiro para fechar?
[ ] Um senior anunciou a causa cedo demais?
[ ] O cliente realmente voltou ao normal?
[ ] Existe risco de recorrência?
🧠 Bellacosa Closure Card
LEADING HYPOTHESIS:
_________________________
CONFIDENCE:
LOW / MEDIUM / HIGH
EVIDENCE FOR:
_________________________
EVIDENCE AGAINST:
_________________________
UNEXPLAINED:
_________________________
ALTERNATIVE:
_________________________
FIX TESTED:
YES / NO
OUTCOME NORMAL:
YES / NO
SECOND PASS:
YES / NO
SAFE TO CLOSE:
YES / NO
👻 Easter Egg nº 4 — BELLACOSA.BIAS
Na manhã seguinte nosso jovem encontra:
BELLACOSA.BIAS(PREMATURE-CLOSURE)
Dentro:
IF FIRST-HYPOTHESIS = 'PLAUSIBLE'
MOVE 'CANDIDATE'
TO CAUSE-STATUS
END-IF.
IF ALL-SYMPTOMS-EXPLAINED = 'N'
MOVE 'OPEN'
TO INVESTIGATION-STATUS
END-IF.
IF TIMELINE-VALID = 'N'
MOVE ZERO
TO ROOT-CAUSE-CONFIDENCE
END-IF.
IF TEAM-SAYS 'É-ISSO'
PERFORM ASK-WHAT-ELSE
END-IF.
IF FIX-WORKED = 'Y'
AND CAUSALITY-PROVEN = 'N'
DISPLAY
'DO NOT CONFUSE RECOVERY WITH EXPLANATION'
END-IF.
Comentários:
* PLAUSIBLE
* IS NOT
* PROVEN.
Outro:
* A GOOD STORY
* CAN STILL BE
* THE WRONG STORY.
Outro:
* ROOT CAUSE
* IS NOT A JOB TITLE
* FOR THE FIRST ERROR FOUND.
Mais um:
* SERVICE RESTORED
* DOES NOT MEAN
* INVESTIGATION COMPLETE.
E naturalmente:
* THE DOCTOR
* NEVER TRUSTS
* A TIME LINE
* WHERE EFFECT
* HAPPENS BEFORE CAUSE.
Nosso jovem ri.
🕰️ Voltando à War Room
04:32.
A equipe remove:
Db2 contention.
Performance:
melhora.
Mas:
timeouts continuam.
Agora ninguém:
fecha.
Segunda passada.
Network:
normal.
CICS:
normal.
MQ:
recebendo retries.
Alguém pergunta:
— Por que retries começaram?
Olham:
external API.
Certificado renovado:
02:57.
Chain:
incompleta.
Alguns requests:
timeout.
Clients:
retry.
Load:
cresce.
Db2:
locks.
Agora:
timeline fecha.
02:57 CERTIFICATE CHANGE
02:58 EXTERNAL TIMEOUT
03:00 RETRIES
03:04 LOAD SPIKE
03:07 DB2 LOCK CONTENTION
O DBA sorri:
— Então Db2 era inocente?
Nosso jovem:
— Não exatamente.
— Como não?
— Participou.
— Mas não iniciou.
Doctor:
— Ah.
Pausa.
— Vocês descobriram uma coisa que organizações levam décadas para aprender.
Todos olham.
“Participar do incidente não é o mesmo que causar o incidente.”
🔧 Correção
Certificate chain:
corrigida.
Retry:
revisado.
Idempotency:
adicionada.
External monitoring:
implantado.
Db2 contention:
tratado.
Agora:
não apenas:
voltaram.
Melhoraram:
resiliência.
☕ Root Cause madura não procura:
culpado.
Procura:
mecanismo.
🧠 Regeneração organizacional
Uma organização madura sobre Premature Closure:
não exige:
certeza instantânea;
não transforma primeira hipótese em verdade;
não pune:
“ainda não sabemos”;
separa restauração de RCA;
mantém timelines;
preserva evidências;
procura fatores contribuintes;
permite múltiplas causas;
usa second pass;
e faz uma pergunta que parece pequena:
“O que ainda não sabemos?”
Ela entende:
que conclusão é necessária.
Não podemos:
investigar eternamente.
Mas conclusão precisa:
ser proporcional à evidência.
Quanto maior:
impacto,
maior:
o padrão de prova.
🧠 Bellacosa Closure Equation
Podemos brincar:
CLOSURE CONFIDENCE
=
EVIDENCE
+ CAUSAL CONSISTENCY
+ OUTCOME VALIDATION
+ ALTERNATIVE TESTING
- UNEXPLAINED SIGNALS
Não compila.
Mas:
deveria ficar no mural.
📓 Diário do Doctor
Se guardar algumas ideias desta viagem, guarde estas:
Premature Closure é encerrar cedo demais o raciocínio e deixar de considerar alternativas razoáveis depois que uma hipótese inicial parece plausível.
Ela é reconhecida como uma fonte importante de erro no raciocínio diagnóstico.
Search Satisfaction está relacionada ao primeiro achado; Premature Closure transforma uma explicação inicial em conclusão definitiva cedo demais.
Anchoring prende a investigação à hipótese inicial.
Confirmation Bias seleciona evidências favoráveis.
Narrative Bias transforma essas evidências numa história convincente.
Streetlight Effect mantém investigação onde temos instrumentos.
Diagnostic Momentum transforma uma hipótese repetida em “fato”.
Authority Bias pode fazer a opinião de um especialista encerrar alternativas cedo demais.
Goodhart e Campbell podem criar pressão para fechar incidentes rapidamente quando MTTR, SLA ou bônus estão envolvidos.
Goal Gradient aumenta a vontade de concluir quando estamos perto do final.
Sunk Cost e Escalation of Commitment dificultam abandonar uma hipótese na qual já investimos.
Fundamental Attribution Error pode promover a última ação humana observada ao cargo de root cause.
Restart pode restaurar o sistema sem revelar a causa.
Uma causa verdadeira pode ser apenas contribuinte ou amplificador.
Residual evidence é uma defesa essencial.
Timeline é uma excelente ferramenta contra histórias causalmente impossíveis.
“Ainda não sabemos” é uma resposta legítima.
Em 2026, pesquisas com LLMs continuam identificando premature closure como uma preocupação em raciocínio automatizado sob incerteza.
E principalmente:
uma hipótese não vira verdade porque explicou alguma coisa; ela ganha confiança quando sobrevive às evidências que poderiam destruí-la.
🥚 Easter Egg final
Antes de entrar na TARDIS, o Doctor escreve:
IF EXPLANATION = PLAUSIBLE
CONTINUE THINKING.
Nosso jovem COBOL pergunta:
— Doctor, quando posso finalmente executar STOP RUN?
Ele pensa.
Olha para:
timeline.
Olha para:
evidências.
Olha para:
clientes.
— Quando você conseguir responder três coisas.
— Quais?
Doctor levanta:
um dedo.
— O que aconteceu?
Segundo:
— Por que aconteceu?
Terceiro:
— O que ainda contradiz sua explicação?
Nosso jovem pergunta:
— E se a terceira resposta for “nada”?
Doctor sorri.
— Aí talvez você esteja perto.
— De fechar?
— Não.
Pausa.
— De fazer mais uma verificação.
A porta fecha.
VWORP.
VWORP.
VWORP.
A TARDIS desaparece.
No quadro fica:
“Não transforme plausibilidade em certeza apenas porque a War Room está cansada.”
E abaixo:
“Uma boa investigação não termina quando encontramos uma história que funciona. Termina quando sabemos por que as histórias concorrentes deixaram de funcionar.”
Essa talvez seja toda a essência da Premature Closure no Bellacosa Mainframe.
☕🌀
Próxima parada: Diagnosis Momentum — quando uma hipótese que começou como “talvez” atravessa tickets, turnos, equipes, fornecedores e reuniões até chegar do outro lado promovida misteriosamente a “fato confirmado”, embora ninguém consiga localizar exatamente quem a confirmou.