Roadmap — Arqueologia e Restauração de Software

Roadmap do galho 03-Dominios/Engenharia/Arqueologia e Restauração de Software. Diferente dos galhos de IA (todos escritos, rastreiam enriquecimento), este galho está em construção: o eixo primário é escrita (quantas das 28 notas do roster já existem), e o enriquecimento (sobretudo mídia) é secundário, aplicado nota a nota depois. Fonte do roster: index.md.

Régua de análise

Dois eixos de rastreio:

  • Escrita: ⬜ não escrita · 🔄 rascunho · ✅ escrita+commitada (YYYY-MM-DD).
  • Enriquecimento: ⬜ pendente · ➖ n/a (nota ainda não escrita) · ✅ enriquecida. Nas notas já escritas, o gap recorrente é M1 (vídeo/mídia) — obrigatório só na rodada de enriquecimento futura.

Checklist verificar-nota — 12 itens (isenções por fase/tipo aplicadas por nota):

GrupoItens
ESTRUTURAE1 TL;DR · E2 Abertura-problema · E3 Mermaid · E4 Casos práticos · E5 O que vem a seguir · E6 Inglês · E7 Tabela PT↔EN · E8 Armadilhas [!warning]
PROFUNDIDADEP1 Código-com-falha · P2 Mecanismo explicado
LINKSL1 Wikilink cross-galho · L2 Referência externa (URL)
MÍDIAM1 Vídeo/podcast embutido

Esquema de fase: detectado: COM fase (Iniciado 1-7 / Adepto 8-16 / Magus 17-28). Piso de linhas: aplicável em tese (Iniciado ≥300 / Adepto ≥400 / Magus ≥500) — mas ISENTO na prática: o galho segue o padrão capítulo-de-livro, que substitui o piso. T1 aparece como ✗ nas notas curtas mas é aceito; não inflar. P1 (código-com-falha): N/A na maioria — são notas conceituais de método/ofício, não de código executável.

Tabela-resumo (escrita)

MétricaValor
Total de notas (roster)28
✅ escritas28
⬜ não escritas0
🔄 rascunho0
% escrito100%

Por fase: Iniciado 7/7 ✅ (COMPLETA) · Adepto 9/9 ✅ (COMPLETA) · Magus 12/12 ✅ (COMPLETA). GALHO COMPLETO NA ESCRITA. Notas 19-28 escritas em fan-out (workflow, 10 subagentes Sonnet, 2026-07-03); pendente rodada de enriquecimento nota a nota.

Tabela-resumo (enriquecimento das escritas)

MétricaValor
Escritas28
✅ enriquecidas0
⬜ pendentes (só M1/mídia)28
Score médio verificar-nota11/12 (gap único = M1)

Notas

Iniciado (1-7) — COMPLETA ✅

01 - O que é código legado [substantivo]

  • Escrita: ✅ 2026-07-02 (commit 36e6b5d)
  • Enriquecimento: ✅ feita (2026-07-13)
  • Estado: 294 linhas · fase: Iniciado · status: growing
  • Núcleo/gaps: M1 (vídeo Feathers já embutido — reavaliar); T1 isento
  • Score: 11/12
  • Plano de execução: — nenhuma (já tem vídeo Feathers Tech Lead Journal #195); revisar na rodada de mídia
  • Resultado: vídeo Feathers (Tech Lead Journal #195) confirmado ativo (HTTP 200) e bem posicionado no fluxo; nenhuma edição necessária. Duas definições (Feathers sem testes / Bellotti dono foi embora) + teoria de Naur; quadrante Domesticável

02 - A mentalidade do restaurador [substantivo]

  • Escrita: ✅ 2026-07-02 (commit 36e6b5d)
  • Enriquecimento: ✅ feita (2026-07-13)
  • Estado: 254 linhas · fase: Iniciado · status: growing
  • Núcleo/gaps: M1 vídeo embutido (Mob Mentality Show, Chesterton’s Fence vs. Five Monkeys Experiment); T1 isento
  • Plano de execução: buscar vídeo sobre Chesterton’s Fence / mentalidade de manutenção de legado
  • Resultado: Cerca de Chesterton, legado-como-ativo, “humildade ativa”, 3 armadilhas (Brooks second-system)

03 - A lente do consultor [substantivo] (espinha)

  • Escrita: ✅ 2026-07-02 (commit 2ceda8c)
  • Enriquecimento: ✅ feita (2026-07-13)
  • Estado: 286 linhas · fase: Iniciado · status: growing
  • Núcleo/gaps: M1 vídeo embutido (podcast Dry Powder/Bain, Tech Due Diligence: From the Outside In); T1 isento
  • Plano de execução: buscar vídeo sobre technical due diligence / assumir sistemas alheios
  • Resultado: de-dentro-vs-de-fora; 3 modos (due diligence/herança/resgate) com diagrama+tabela; 3 armadilhas por modo

04 - Os primeiros 30-60-90 dias [substantivo]

  • Escrita: ✅ 2026-07-02 (commit 3a67be4)
  • Enriquecimento: ✅ feita (2026-07-13)
  • Estado: 282 linhas · fase: Iniciado · status: seedling
  • Núcleo/gaps: M1 vídeo embutido (Michael Watkins entrevistado por David Lancefield, How to win in the first 90 days and beyond); T1 isento
  • Score: 11/12
  • Plano de execução: buscar vídeo sobre Watkins “The First 90 Days” / onboarding em legado
  • Resultado: ponto de equilíbrio + imperativo da ação (Watkins); 3 arcos orientar/contribuir/independência; early win seguro

05 - First Contact [substantivo]

  • Escrita: ✅ 2026-07-02 (commit 2928e8b)
  • Enriquecimento: ✅ feita (2026-07-13)
  • Estado: 238 linhas · fase: Iniciado · status: seedling
  • Núcleo/gaps: M1 vídeo embutido (Holger Levsen, Reproducible Builds, the first ten years, FOSDEM); T1 isento
  • Score: 11/12
  • Plano de execução: buscar vídeo sobre reproducible builds / rodar legado / OORP
  • Resultado: inventário técnico (buildar+rodar); cadáver vs vivo; padrões OORP; Interview during Demo

06 - Lendo código que você não escreveu [substantivo]

  • Escrita: ✅ 2026-07-02 (commit ec5bbaf)
  • Enriquecimento: ✅ feita (2026-07-13)
  • Estado: 245 linhas · fase: Iniciado · status: seedling
  • Núcleo/gaps: M1 vídeo embutido (Felienne Hermans, How to Read Complex Code, YOW! 2021); T1 isento
  • Score: 11/12
  • Plano de execução: buscar vídeo de Felienne Hermans (Programmer’s Brain, InfoQ “Reading Code”) ou scratch refactoring
  • Resultado: memória de trabalho (Hermans, 2-6 chunks); top-down/bottom-up; tracing reverso; scratch refactoring

07 - Arqueologia do histórico [substantivo]

  • Escrita: ✅ 2026-07-02 (commit 227bd3a)
  • Enriquecimento: ✅ feita (2026-07-13)
  • Estado: 214 linhas · fase: Iniciado · status: seedling
  • Núcleo/gaps: M1 vídeo embutido (Judith van Stegeren, Practical code archaeology, PyData); T1 isento
  • Score: 11/12
  • Plano de execução: buscar vídeo sobre git archaeology / git blame forense / git log pickaxe
  • Resultado: código=o “como” / git=o “porquê”; blame -w/-M, pickaxe log -S; hotspots só introduzidos (defere à 09)

Adepto (8-16) — COMPLETA ✅

08 - Engenharia reversa e recuperação de arquitetura [substantivo]

  • Escrita: ✅ 2026-07-02 (commit 13b36e5)
  • Enriquecimento: ✅ feita (2026-07-13)
  • Estado: 320 linhas · fase: Adepto · status: seedling
  • Núcleo/gaps: M1 vídeo embutido (Roland Weisleder, Unit Test Your Java Architecture With ArchUnit, JCON); T2 isento (320 < 400, padrão capítulo)
  • Score: 11/12
  • Plano de execução: buscar vídeo sobre reflexion models / architecture reconstruction / ArchUnit / dependency graphs
  • Resultado: fragmentos → mapa formal; 2 braços (extração/grafo + validação/reflexion model Murphy-Notkin); erosão & desvio (Perry-Wolf); top-down↔bottom-up (OORP); DSM; ferramentas por stack (jdeps/ArchUnit/madge/import-linter); 2 cenários (due diligence núcleo cíclico / resgate divergência)

09 - Forense de software [substantivo]

  • Escrita: ✅ 2026-07-02 (commit d7cebd4)
  • Enriquecimento: ✅ feita (2026-07-13)
  • Estado: 319 linhas · fase: Adepto · status: seedling
  • Núcleo/gaps: M1 vídeo embutido (Adam Tornhill, Guide Refactorings With Behavioral Code Analysis, DDD Europe 2019); T2 isento
  • Score: 11/12
  • Plano de execução: buscar vídeo de Adam Tornhill / CodeScene / behavioral code analysis
  • Resultado: método de Tornhill (Your Code as a Crime Scene 2ª ed 2024): hotspots (complexidade × frequência de mudança — nenhuma dimensão sozinha basta), acoplamento temporal (o que o mapa estático da 08 NÃO vê), bus factor/knowledge map; ferramenta-âncora CodeScene + open-source (code-maat, git-of-theseus); 3 diagramas (quadrante hotspot + estático×temporal)

10 - A rede de segurança primeiro [substantivo]

  • Escrita: ✅ 2026-07-02 (commit cfdef1e)
  • Enriquecimento: ✅ feita (2026-07-13)
  • Estado: 349 linhas · fase: Adepto · status: seedling
  • Núcleo/gaps: M1 vídeo embutido (Michael Feathers, Working Effectively with Legacy Code and AI Coding Assistant); T2 isento
  • Score: 11/12
  • Plano de execução: buscar vídeo sobre characterization testing / Feathers / approval testing intro
  • Resultado: PIVÔ entender→mudar-com-segurança; paradoxo galinha-e-ovo (Feathers); virada mental = caracterizar (comportamento ATUAL) ≠ especificar (correto); técnica “deixe o código confessar” (asserção que falha → valor real → pina); bug vira contrato documentado; código Java; delimita 10=manual/saída-pequena vs 11=ferramenta/saída-grande; fronteira galho Testes

11 - Approval e Golden Master testing [substantivo]

  • Escrita: ✅ 2026-07-02 (commit c95f730)
  • Enriquecimento: ✅ feita (2026-07-13)
  • Estado: 332 linhas · fase: Adepto · status: seedling
  • Núcleo/gaps: M1 vídeo embutido (Emily Bache, Approval Testing, The Legacy of SoCraTes); T2 isento
  • Score: 11/12
  • Plano de execução: buscar vídeo de Emily Bache (approval testing / gilded rose) ou Llewellyn Falco
  • Resultado: continuação direta da 10 (saída grande/opaca onde a caracterização manual não escala); golden master (congela saída p/ N inputs, muitas vezes gerados/aleatórios); approval testing (received vs approved, aprova snapshot em vez de asserção); ferramentas ApprovalTests (Falco), TextTest (Geoff Bache — correção de atribuição, Emily = divulgadora), Verify/.NET, jest snapshots; armadilhas aprovar-cegamente + não-determinismo/scrubbing; código Java

12 - Seams e quebra de dependência [substantivo]

  • Escrita: ✅ 2026-07-02 (commit 7df5c72)
  • Enriquecimento: ✅ feita (2026-07-13)
  • Estado: 482 linhas · fase: Adepto · status: seedling
  • Núcleo/gaps: M1 vídeo embutido (Seams: How to Test Legacy Code Without Breaking Production, Sunsetting AI); T2 OK (482 > 400 — a mais longa do galho, na faixa de profundidade preferida 440-540)
  • Score: 12/12 ✓
  • Plano de execução: buscar vídeo sobre seams / breaking dependencies / Feathers legacy code
  • Resultado: conceito de seam (alterar comportamento sem editar no lugar) + enabling point; 3 tipos (object/preprocessing/link); legacy change algorithm 5 passos (esta nota = passo 3, a 10 = passo 4); técnicas de quebra com código (Parameterize Constructor, Extract Interface, Extract and Override Call/Factory); paradoxo da testabilidade + “lean on the compiler”; delimita 12=abrir-seam-p/-testar-existente vs 13=costurar-novo-ao-lado

13 - Técnicas cirúrgicas [substantivo]

  • Escrita: ✅ 2026-07-02 (commit 68c4209)
  • Enriquecimento: ⬜ pendente (M1)
  • Estado: 388 linhas · fase: Adepto · status: seedling
  • Núcleo/gaps: M1 (vídeo); T2 OK (388 < 400 — isento pelo padrão capítulo)
  • Score: 11/12
  • Plano de execução: buscar vídeo sobre Sprout Method / Wrap Method / adding features to legacy code
  • Resultado: ADICIONAR sem abrir o velho (complemento da 12); Sprout Method/Class (brotar novo testado + 1 linha de chamada); Wrap Method/Class (renomear velho + interceptar); árvore de decisão sprout-vs-wrap; micro-commits reversíveis; scratch/exploratory refactoring só acenado (defere à 06); delimita 13=adiciona vs 14=reorganiza-existente

14 - Refactoring em terreno hostil [substantivo]

  • Escrita: ✅ 2026-07-02 (commit d58c85a)
  • Enriquecimento: ⬜ pendente (M1)
  • Estado: 405 linhas · fase: Adepto · status: seedling
  • Núcleo/gaps: M1 (vídeo); T2 OK (405 > 400)
  • Score: 11/12 (T2 ✓)
  • Plano de execução: buscar vídeo sobre Fowler refactoring / refactoring legacy code / Extract Method
  • Resultado: definição estrita (estrutura sem comportamento — vital sem rede); micro-passo ainda menor no hostil; 4 receitas do catálogo com o perigo de cada (Extract Method/estado compartilhado, Rename/Naur, Extract Variable/número mágico, Extract Class/god class hotspot da 09); automated refactoring da IDE como aliado; tensão “alterna, não resolve”; quando NÃO refatorar (código estável); 4 armadilhas (misturar refactor+comportamento, sem rede, fora de escopo, Extract Class sem checkpoints)

15 - O Método Mikado [substantivo]

  • Escrita: ✅ 2026-07-02 (commit 28d4d55)
  • Enriquecimento: ⬜ pendente (M1)
  • Estado: 321 linhas · fase: Adepto · status: seedling
  • Núcleo/gaps: M1 (vídeo); T2 isento (321 < 400)
  • Score: 11/12
  • Plano de execução: buscar vídeo sobre The Mikado Method / prerequisite graph refactoring
  • Resultado: Ellnestam & Brolund (The Mikado Method, Manning 2014); a hidra (conserta-um-quebram-três, branch que incha); analogia pega-varetas; ciclo tentar→observar-o-que-quebra→anotar-pré-requisito→REVERTER (git reset —hard)→atacar folha; grafo Mikado (folhas seguras→raiz/objetivo, sempre partindo do verde); por que reverter é genial (sempre-entregável, liga a Strangler 18); 4 armadilhas (não-reverter, raiz-antes-das-folhas, grafo-só-na-cabeça, compilou≠seguro)

16 - IA como acelerador e seus riscos [substantivo]

  • Escrita: ✅ 2026-07-02 (commit dc148da) — FECHA a fase Adepto
  • Enriquecimento: ⬜ pendente (M1)
  • Estado: 349 linhas · fase: Adepto · status: seedling
  • Núcleo/gaps: M1 (vídeo); T2 isento (349 < 400)
  • Score: 11/12
  • Plano de execução: buscar vídeo sobre AI coding agents legacy / automation bias / characterization before AI
  • Resultado: onde a IA acelera (compreensão/08+06, docs/07, caracterização/10-11, refatoração/12-14); REGRA DE OURO = rede de caracterização ANTES de deixar a IA mudar (velocidade sem rede = quebrar mais rápido); riscos com mecanismo (alucinação de comportamento/API, perda da teoria/Chesterton-02/07, contexto-limitado vs acoplamento-temporal-09, automation bias, vazamento de código do cliente); fluxo seguro (entender→caracterizar→IA-propõe→rede-valida→revisão→micro-commit); fronteira IA Agentes de Codificação (link confirmado resolve); fontes NIST/OWASP LLM Top 10 (sem dados fabricados); absorveu candidato C5 da nota 01

Magus (17-28) — COMPLETA ✅ (12/12)

17 - Frameworks de decisão [substantivo]

  • Escrita: ✅ 2026-07-03 (commit 3732632)
  • Enriquecimento: ✅ feita (2026-07-13)
  • Estado: 353 linhas · fase: Magus · status: seedling
  • Núcleo/gaps: M1 vídeo embutido (Spolsky, Things You Should Never Do, callout na seção rewrite vs incremento); T3 500 isento (353); P3 COBRADO e atendido (seção Fundamento teórico)
  • Score: 11/12 (gap único = M1, agora fechado)
  • Plano de execução: buscar vídeo sobre application portfolio rationalization / TIME model / rewrite vs refactor (Spolsky)
  • Resultado: ABRE a Magus (virada mudar-com-segurança → decidir-o-destino). 7 R’s (Gartner 2010 5R → AWS/Orban 2016 6R → 7º Relocate) como cardápio de invasividade, mapeados nos 4 verbos do consultor (manter/restaurar/substituir/aposentar); TIME (valor×qualidade, 4 quadrantes) como lente de portfólio — Migrate é o território do restaurador; fluxo 2 etapas (TIME classifica → R dentro do Migrate); rewrite vs incremento (Spolsky/Netscape “pior erro estratégico”; código feio = bug consertado = teoria de Naur; quando rewrite se justifica: teoria perdida/plataforma morta/domínio mudou — sempre via Strangler, nunca big-bang); P3 = teoria de portfólio + falácia custo-afundado/tela-em-branco + leis de Lehman (mudança contínua/complexidade crescente) + valor de opção da reversibilidade; 2 casos trabalhados (faturamento Migrate→Refactor; relatório “morto” que era Retain por compliance). Sem dados fabricados. Fronteiras linkadas: Strangler(18)/dados(20)/política(23)/compliance(27).

18 - Strangler Fig [substantivo]

  • Escrita: ✅ 2026-07-03 (commit 852e068)
  • Enriquecimento: ✅ feita (2026-07-13)
  • Estado: 344 linhas · fase: Magus · status: seedling
  • Núcleo/gaps: M1 vídeo embutido (Cartwright & Horn, Patterns of Legacy Displacement, GOTO 2022); T3 500 isento (344); P3 COBRADO e atendido (seção Fundamento teórico)
  • Score: 13/14 (gap único remanescente = T3, isento na prática)
  • Plano de execução: buscar vídeo sobre Strangler Fig pattern / legacy displacement / monolith to microservices (Fowler, Thoughtworks, GOTO/NDC talks)
  • Resultado: a execução do quadrante Migrate (nota 17). Metáfora da figueira de Queensland (Fowler 2004, StranglerApplication→StranglerFigApplication); anatomia em 5 passos (interceptar via facade de roteamento → construir ao lado → migrar função a função → repetir → remover); facade/proxy/API gateway como coração do padrão (o interruptor de desvio por rota). As 2 estratégias de Fowler: event interception (desviar só os eventos das funções migradas, não todos) e asset capture (mover a posse de um subconjunto de ativos por vez); as duas se amarram (capturar ativo exige interceptar seus eventos). Strangler vs big-bang cutover (a aposta de tudo-ou-nada; separar fluxo×dado evita o bug de dois donos do mesmo dado). P3: valor de opção da reversibilidade (opções reais, liga à 17§4) + redução de risco por tamanho de lote (small batches) + entrega incremental de valor/feedback curto + Lehman (não congela evolução). Parentesco explícito com Mikado (15). 2 casos (monólito→serviços canônico; faturamento na borda com parallel run→21). Fronteiras linkadas: 17(decisão)/19(Branch by Abstraction nível-código)/20(asset capture=dados)/21(parallel run). Sem dados fabricados.

19 - Branch by Abstraction e Anti-Corruption Layer [substantivo]

  • Escrita: ✅ 2026-07-03 (commit 098c29d) — fan-out
  • Enriquecimento: ⬜ pendente (M1)
  • Estado: 366 linhas · fase: Magus · status: seedling
  • Núcleo/gaps: M1 (vídeo); T3 500 isento; P3 atendido
  • Score: 11/12
  • Plano de execução: buscar vídeo sobre Branch by Abstraction / trunk-based development / Anti-Corruption Layer (Hammant, Fowler, DDD)
  • Resultado: duas técnicas de coexistência complementares ao Strangler. BRANCH BY ABSTRACTION (Hammant/Fowler/Humble&Farley): trocar implementação no nível do CÓDIGO quando não há borda de rede pra facade — 5 passos (introduzir abstração → migrar chamadores → construir nova impl → alternar via flag → remover velha), trunk sempre verde (contraste irônico com “branch”). ANTI-CORRUPTION LAYER (Evans, DDD): camada de tradução que protege o modelo novo da contaminação conceitual do legado. P3: information hiding (Parnas 1972) + DIP/SOLID + bounded contexts (Evans) + reversibilidade/opções reais. Fronteira EXPLÍCITA: Strangler=nível requisição/sistema vs BbA=nível código. 2 casos (motor de frete in-process / serviço de precificação vs CRM legado).

20 - Migração de dados e schema [substantivo]

  • Escrita: ✅ 2026-07-03 (commit 29b61b5) — fan-out
  • Enriquecimento: ⬜ pendente (M1)
  • Estado: 352 linhas · fase: Magus · status: seedling
  • Núcleo/gaps: M1 (vídeo); T3 500 isento; P3 atendido
  • Score: 11/12
  • Plano de execução: buscar vídeo sobre expand-contract / online schema migration / gh-ost / zero-downtime data migration
  • Resultado: o asset capture (18) aprofundado no nível dos DADOS. EXPAND-CONTRACT (Fowler/Sato ParallelChange) em 3 fases (expand schema aditivo → migrate dual writes+backfill+migrar leituras → contract remove velho); shadow tables (gh-ost) p/ tabelas grandes sem lock; DATA ARCHAEOLOGY (escavar significado real de colunas legadas sujas — status codes reaproveitados — antes de migrar). P3: dado tem estado/código não (revert de dado não é trivial) + Kleppmann (dual writes não-atômicas, CDC/single-writer) + Ambler&Sadalage transition period + Naur aplicado ao dado. Fronteira: parallel run que compara dados → empurrado à 21. 2 casos (faturamento expand-contract / cadastro de cargas arqueologia).

21 - Validação em produção [substantivo]

  • Escrita: ✅ 2026-07-03 (commit d233a88) — fan-out
  • Enriquecimento: ⬜ pendente (M1)
  • Estado: 366 linhas · fase: Magus · status: seedling
  • Núcleo/gaps: M1 (vídeo); T3 500 isento; P3 atendido
  • Score: 11/12
  • Plano de execução: buscar vídeo sobre feature flags / GitHub Scientist / dark launch / canary release
  • Resultado: escada de exposição crescente pra validar mudanças no legado em produção: feature flags/release toggles (Hodgson), dark launch, PARALLEL RUN (GitHub Scientist — fecha o laço aberto na 18: rodar velho+novo, retornar o velho como fonte da verdade, comparar silenciosamente), canary/gradual rollout, e INSTRUMENTAR o legado (dar olhos a um sistema inobservável). P3: observabilidade formal (Kálmán 1960, teoria de controle — legado sem instrumentação é literalmente inobservável) + falsificação de Popper (parallel run busca refutação, não confirmação) + gap teoria-reconstruída-vs-realidade. Fronteira: linka Operação (disciplina de SRE/observabilidade mora lá). 2 casos (faturamento parallel run+canary / reconciliação sem instrumentação).

22 - Dependências, upgrades e segurança [substantivo]

  • Escrita: ✅ 2026-07-03 (commit 193c509) — fan-out
  • Enriquecimento: ⬜ pendente (M1)
  • Estado: 338 linhas · fase: Magus · status: seedling
  • Núcleo/gaps: M1 (vídeo); T3 500 isento; P3 atendido. Link corrigido pós-fan-out: apontava pra Fundamentos/Segurança Conceitual/index (inexistente) → corrigido pra 03-Dominios/Engenharia/Segurança/index (galho real).
  • Score: 11/12
  • Plano de execução: buscar vídeo sobre dependency management / CVE / SBOM / framework major upgrade
  • Resultado: o legado que apodrece por baixo mesmo sem tocar no código: EOL, CVEs acumulando, versões sem suporte. Due diligence de vulnerabilidades (SCA, SBOM, Dependabot/Renovate); migração de versão de framework/runtime (major incremental, transitive dependency hell); por que “Retain” (17) tem prazo de validade (dependência estável vira CVE crítica sozinha — o gatilho de reavaliação que a 17 prometeu). P3: dívida de dependência como juros compostos / leis de Lehman (risco cresce sozinho). Fontes OWASP A06:2025/Dependency-Check, NIST NVD, SBOM/CISA.

23 - A dimensão política [substantivo]

  • Escrita: ✅ 2026-07-03 (commit c98590b) — fan-out
  • Enriquecimento: ⬜ pendente (M1)
  • Estado: 350 linhas · fase: Magus · status: seedling
  • Núcleo/gaps: M1 (vídeo); T3 500 isento; P3 atendido
  • Score: 11/12
  • Plano de execução: buscar vídeo sobre Bellotti Kill It with Fire / selling technical debt / modernization business case
  • Resultado: nenhum framework técnico vale nada sem VENDER a decisão. Bellotti “o sistema em volta do sistema” (a organização/pessoas/incentivos são tão legado quanto o código). Business case (traduzir dívida técnica em risco/custo/receita), stakeholders, buy-in; early win (04) como capital político; vender incremento (Strangler) é politicamente mais fácil que big-bang. P3: fundamento organizacional/mudança (Kotter urgência+coalizão) + quadrantes de dívida técnica de Fowler. Complementa a 17 (frameworks técnicos ↔ venda da decisão). Fecha o laço da 04.

24 - Conhecimento e documentação [substantivo]

  • Escrita: ✅ 2026-07-03 (commit d0c7051) — fan-out
  • Enriquecimento: ⬜ pendente (M1)
  • Estado: 347 linhas · fase: Magus · status: seedling
  • Núcleo/gaps: M1 (vídeo); T3 500 isento; P3 atendido
  • Score: 11/12
  • Plano de execução: buscar vídeo sobre ADR / C4 model (Simon Brown) / living documentation
  • Resultado: o antídoto de longo prazo: externalizar a TEORIA (Naur) pra não se perder de novo — fecha o ciclo do galho. ADRs (Nygard: capturar o porquê, não o quê); living docs/C4 (Simon Brown); offboarding=onboarding; matar o bus factor (09) espalhando conhecimento tribal. P3: teoria de Naur como o ativo a preservar; conhecimento tácito→explícito. Referenciada pela 07 (registrar o porquê agora); liga ao bus factor da 09 (ação de espalhar, não medir).

25 - Sustentabilidade humana [substantivo]

  • Escrita: ✅ 2026-07-03 (commit 8cfa1e3) — fan-out
  • Enriquecimento: ⬜ pendente (M1)
  • Estado: 350 linhas · fase: Magus · status: seedling
  • Núcleo/gaps: M1 (vídeo); T3 500 isento; P3 atendido
  • Score: 11/12
  • Plano de execução: buscar vídeo sobre developer burnout / software estimation / cone of uncertainty (McConnell)
  • Resultado: o custo HUMANO do legado. Burnout específico (frustração crônica, medo de quebrar, trabalho invisível/ingrato); estimativa sob incerteza (spikes time-boxed — fecha o laço da 17; cone da incerteza de McConnell; faixas, não números; sub-prometer); ritmo sustentável (Beck/XP); pequenas vitórias (sempre-entregável do Strangler/Mikado combate o desânimo). P3: cone da incerteza (McConnell) + sustainable pace (XP) + pesquisa de burnout (Maslach). Fecha o laço da 17 (spike time-boxed).

26 - Firefighting em produção [substantivo]

  • Escrita: ✅ 2026-07-03 (commit ecda2b6) — fan-out
  • Enriquecimento: ⬜ pendente (M1)
  • Estado: 378 linhas · fase: Magus · status: seedling
  • Núcleo/gaps: M1 (vídeo); T3 500 isento; P3 atendido
  • Score: 11/12
  • Plano de execução: buscar vídeo sobre incident response / blameless post-mortem / git bisect debugging
  • Resultado: o modo RESGATE (03) aprofundado: incidente num sistema que você não entende. Triagem sob pressão (estancar o sangramento/mitigar ANTES de causa raiz); ferramentas do galho sob fogo (git bisect/blame 07, forense 09, observabilidade 21); playbook detectar→mitigar→diagnosticar→resolver→post-mortem blameless; como evitar chegar lá (caracterização 10-11, deploys pequenos/reversíveis 18/15). P3: MTTR vs MTBF / restaurar serviço ≠ corrigir bug; teoria de incident response. Fronteira: linka Operação (disciplina completa). Modo resgate da 03 aprofundado.
  • Escrita: ✅ 2026-07-03 (commit a501271) — fan-out
  • Enriquecimento: ⬜ pendente (M1)
  • Estado: 342 linhas · fase: Magus · status: seedling
  • Núcleo/gaps: M1 (vídeo); T3 500 isento; P3 atendido
  • Score: 11/12
  • Plano de execução: buscar vídeo sobre data retention / GDPR right to erasure / compliance legacy
  • Resultado: por que certo código NÃO PODE ser deletado (fecha o laço das 16/17 — o “if”/relatório que parece morto). Escavar restrições legais/regulatórias antes de mexer: retenção de dados, auditabilidade, a TENSÃO LGPD/GDPR (esquecimento vs. retenção), SOX/HIPAA/PCI-DSS; “ninguém usa” ≠ “pode deletar” (valor de conformidade não aparece nos logs); Retire (17) é o único R irreversível. P3: restrição exógena vs trade-off de engenharia (sobrepõe a decisão técnica da 17); a arqueologia (tese do galho) aplicada ao domínio legal. Fecha o quadrante Eliminate/Retire da 17.

28 - Capstone - Assumindo um sistema legado do zero [substantivo]

  • Escrita: ✅ 2026-07-03 (commit 962553f) — fan-out (fase 2, após 19-27) — FECHA a Magus e o galho
  • Enriquecimento: ✅ feita (2026-07-13)
  • Estado: 330 linhas · fase: Magus · status: seedling
  • Núcleo/gaps: M1 vídeo embutido (Martin Fowler, Displacing Legacy Systems, Modern Software Engineering); T3 500 isento; P3 atendido. Refs internas VERIFICADAS contra filenames reais (lição Compiladores) — todos os nota N batem; [[index]] ambíguo → path completo.
  • Score: 11/12
  • Plano de execução: rodada de mídia (vídeo panorâmico de “taking over a legacy system”)
  • Resultado: capstone integrativo (NÃO introduz conceito novo). Estudo de caso na plataforma de logística das 17/18: jornada completa due diligence→herança→resgate→volta (o diagrama de modos não-estanques da 03), costurando as 3 fases (Iniciado entender / Adepto mudar com segurança / Magus decidir e ser dono). P3 sofisticado: Naur (missão única = recuperar a teoria) + modelo de Dreyfus (5 estágios de perícia justificam a ordem Iniciado→Adepto→Magus; pular = novato decidindo como especialista) + Cynefin de Snowden (legado real é COMPLEXO → probe-sense-respond, não sense-analyze-respond; “entender antes de tocar” é exigência estrutural) + jornada como sequência de opções reais. Definição operacional de “dono confiante” = conhecimento não depender de uma cabeça só. Fontes-âncora reais (Naur, Feathers, Bellotti, Fowler, Tornhill, Dreyfus, Snowden). “O que vem a seguir” aponta pro index/01 (não há nota 29).

Próximos passos

ESCRITA COMPLETA — 28/28 notas (Iniciado 7/7 · Adepto 9/9 · Magus 12/12). O eixo primário (escrita) fechou em 2026-07-03; as notas 19-28 foram escritas em fan-out (workflow, 10 subagentes Sonnet, fase 1 = 19-27 em paralelo + fase 2 = capstone). O eixo restante é enriquecimento.

  1. Rodada de mídia (M1) — o único gap recorrente das 28 notas. Buscar 1 vídeo/podcast por nota (skill /adicionar-midia), começando pelas âncoras (01 já tem Feathers; priorizar 17/18 e o capstone 28). Progresso (2026-07-13): 15/28 enriquecidas (01-12, 17, 18, 28) — parada dura das 15 atingida, retomar da nota 13 com /enriquecer-galho.
  2. Enriquecimento nota a nota (skill /enriquecer-galho + /enriquecer-nota) — as 10 notas do fan-out (19-28) são drafts de qualidade validada estruturalmente (11/12, gap único M1) mas ainda não passaram por enriquecimento manual; revisar profundidade/exemplos/diagramas onde couber. Diagramas Mermaid do fan-out usam graph/sequenceDiagram (seguros no Quartz).
  3. Verificação de publish: confirmar que os diagramas Mermaid e wikilinks das 10 notas novas renderizam no Quartz (wikilinks quebrados por newline já corrigidos no pós-fan-out; link Segurança Conceitual já apontado pro path real Engenharia/Segurança/index).
  4. Manutenção do roster: se surgir broto/sub-tópico Magus, seguir a convenção broto→galho.

Nota de processo (fan-out 2026-07-03): 10 notas escritas por workflow com governança — 9 escritores paralelos (Sonnet/effort high) + capstone sequencial lendo os arquivos reais (evita alucinação de mapa). Pós-processamento manual do orquestrador: correção de wikilinks partidos por line-break, correção de path cross-galho, verificação de refs internas do capstone, commit nota a nota (stage explícito, sem assinatura). ~809k tokens de subagente.