Studio Legado TreinamentoTraining
Treinamento

Studio Legado, do primeiro clique à proposta comercial

Aponte um sistema legado e um time de agentes de IA o percorre inteiro: extrai as regras de negócio que só existiam no código, desenha a arquitetura, levanta o modelo de dados, estima tamanho e preço, propõe o plano de migração e inventaria a dívida técnica — com cada afirmação marcada como confirmada, inferida ou lacuna.

→ Ver todas as telas do sistema na Galeria

Quem faz o quê

PerfilTrilhaMínimo recomendado
Engenheiro(a) que conduz diagnósticosOperação, Fluxo e EngenheiroTrilhas 1 e 3 + Fluxo F1–F6 + 2.1 e 2.9
Pré-venda técnica / arquiteto(a) de soluçõesAs duasTudo
Vendas / SDR / executivo(a) de contasComercial1.1, 1.8, 1.9 (leitura) + trilha 2 inteira
Liderança e marketingComercial1.1, 2.1 a 2.5, 2.9

Como navegar

  • Troque o idioma no topo (PT / EN) — o conteúdo é o mesmo nas duas línguas, então dá para treinar times do Brasil e dos EUA com o mesmo material. O link ?lang=en abre direto em inglês.
  • Cada módulo tem Anterior / Próximo no pé da página. Clique em qualquer print para ampliar.
  • Os checklists lembram o que você marcou, neste navegador.
Sobre os prints

As telas são reais, capturadas do Studio rodando em inglês. O sistema analisado nelas, corebank, é um dataset de demonstração — não é cliente nem sistema real. Nunca apresente os números dessas telas como resultado de um cliente.

Training

Studio Legado, from the first click to the sales proposal

Point it at a legacy system and a team of AI agents walks through all of it: it extracts the business rules that only lived in the code, draws the architecture, maps the data model, estimates size and price, proposes the migration plan and inventories the technical debt — with every claim marked as confirmed, inferred, or a gap.

→ See every system screen in the Gallery

Who does what

RoleTrackRecommended minimum
Engineer who runs diagnosesOperation, Flow and EngineerTracks 1 and 3 + Flow F1–F6 + 2.1 and 2.9
Technical presales / solutions architectBothEverything
Sales / SDR / account executiveSales1.1, 1.8, 1.9 (read) + all of track 2
Leadership and marketingSales1.1, 2.1 to 2.5, 2.9

How to navigate

  • Switch language at the top (PT / EN). The content is the same in both, so the same material trains teams in Brazil and the US. The link ?lang=en opens it in English.
  • Every module has Previous / Next at the bottom. Click any screenshot to enlarge it.
  • Checklists remember what you ticked, in this browser.
About the screenshots

The screens are real, captured from the Studio running in English. The system analyzed in them, corebank, is a demo dataset — not a client and not a real system. Never present the numbers on those screens as a client result.

Trilha 1 · Operação · 1.1

O que é o Studio Legado e o que ele resolve

O Studio Legado lê um sistema existente e registra, a partir do código, o que ele faz: regras de negócio, arquitetura, dados, integrações e débito técnico. Cada afirmação traz a evidência de onde foi extraída e o grau de confiança.

O débito técnico que o diagnóstico lê

Conhecimento não registrado

As decisões de arquitetura não estão documentadas, ou a documentação não corresponde mais ao código em produção.

Acoplamento sem rede de testes

Módulos com alto acoplamento e pouca cobertura de testes, em que o impacto de uma alteração não pode ser verificado antes da entrega.

Dependências não mapeadas

Sem o grafo de dependências e a matriz de impacto, a estimativa de uma mudança não tem base verificável.

Regras de negócio implícitas

Regras existem apenas como condições no código, sem especificação nem teste que as declare.

O que o Studio faz

É uma aplicação local (interface web + API) que orquestra dezenas de agentes especialistas de IA sobre um repositório. Você escolhe os sistemas, escolhe até onde a análise desce, e acompanha o processo num grafo. Quando o processo precisa de uma decisão que o código não responde, ele para e pergunta. Tudo fica gravado em SQLite: fechar o navegador não perde a execução.

As seis faixas do diagnóstico completo, na ordem em que rodam

1Extração do legadodo reconhecimento às specs, com o backlog no fim
2Qualidadeinventário de dívida priorizado por ROI
3Documentaçãomini-site navegável do sistema como ele é hoje
4Preço e tamanhoperfil de cobrança, tamanho estrutural e três cenários
5Migraçãoparadigma, curadoria, estratégia, topologia e telas
6Reconstruçãoplano de reimplementação na ordem das dependências

Dentro da extração: cinco fases

  1. Reconhecimento Inventário do projeto, dependências e versões, superfície geral — sem abrir gavetas.
  2. Escavação Módulo a módulo: funções, algoritmos, estruturas de dados, fluxos de controle. Descreve, não julga.
  3. Interpretação Regras de negócio implícitas, máquinas de estado, matriz de permissões, decisões arquiteturais reconstruídas; C4, ERD, integrações.
  4. Geração Especificações por unidade, casos de uso, backlog de requisitos e os testes que provam cada card.
  5. Revisão Auditoria adversarial das próprias specs: contradições, inferência disfarçada de fato, lacunas — que viram perguntas para você.
Tela Fluxo do Studio Legado: o diagnóstico rodando, com agentes concluídos, uma parada de decisão humana e o painel de artefatos
A visão Fluxo: faixas, agentes, a parada de decisão humana e os artefatos por pasta. (Dataset de demonstração.)
A frase que resume o produto

Nenhum agente do diagnóstico escreve código. Migrar, documentar ou precificar é conclusão da análise — não uma pergunta feita antes dela.

Track 1 · Operation · 1.1

What Studio Legado is and what it solves

Studio Legado reads an existing system and records, from the code, what it does: business rules, architecture, data, integrations and technical debt. Each statement carries the evidence it was extracted from and its confidence level.

The technical debt the diagnosis reads

Unrecorded knowledge

Architecture decisions are not documented, or the documentation no longer matches the code in production.

Coupling without a test net

Highly coupled modules with little test coverage, where the impact of a change cannot be verified before delivery.

Unmapped dependencies

Without the dependency graph and the impact matrix, the estimate for a change has no verifiable basis.

Implicit business rules

Rules exist only as conditions in the code, with no specification or test that states them.

What the Studio does

It's a local application (web UI + API) that orchestrates dozens of specialist AI agents over a repository. You pick the systems, pick how deep the analysis goes, and follow the process on a graph. When the process needs a decision the code can't answer, it stops and asks. Everything is recorded in SQLite: closing the browser doesn't lose the run.

The six stages of the complete diagnosis, in the order they run

1Legacy extractionfrom recognition to specs, with the backlog at the end
2Qualitydebt inventory prioritized by ROI
3Documentationa navigable mini-site of the system as it is today
4Pricing and sizebilling profile, structural size and three scenarios
5Migrationparadigm, curation, strategy, topology and screens
6Reconstructionreimplementation plan in dependency order

Inside extraction: five phases

  1. Recognition Project inventory, dependencies and versions, overall surface — without opening drawers.
  2. Excavation Module by module: functions, algorithms, data structures, control flow. It describes; it doesn't judge.
  3. Interpretation Implicit business rules, state machines, permission matrix, reconstructed architecture decisions; C4, ERD, integrations.
  4. Generation Specifications per unit, use cases, a requirements backlog and the tests that prove each card.
  5. Review An adversarial audit of its own specifications: contradictions, inference dressed up as fact, gaps — which become questions for you.
Studio Legado Flow screen: the diagnosis running, with finished agents, a human decision stop and the artifacts panel
The Flow view: stages, agents, the human decision stop and artifacts by folder. (Demo dataset.)
The sentence that sums up the product

No diagnosis agent writes code. Whether to migrate, document or price is a conclusion of the analysis — not a question asked before it.

Trilha 1 · Operação · 1.2

Instalar e subir

Clonou, roda. Um comando sobe a API e a interface; nenhuma chave de API é necessária.

Requisitos

ItemDetalhe
Node22.18 ou mais novo (node -v)
Um CLI de IA logadoClaude Code (claude auth login) ou Cursor CLI (cursor-agent login). O Studio usa a sessão já logada na máquina — a cota consumida é a do plano dela. Codex e Gemini CLI são detectados pela tela, mas ainda não executam agentes.
gitPara clonar os repositórios analisados.

Primeira execução

git clone https://github.com/lubysoftware/luby-studio-legado.git
cd luby-studio-legado
./run.sh

Na primeira vez ele instala as dependências (alguns minutos). Depois sobe em segundos:

  • interface → http://localhost:5273
  • API → http://localhost:8788

Ctrl-C derruba os dois. Rodar de novo encerra a execução anterior deste projeto; se a porta estiver com outro processo, o script diz de quem é e para, em vez de matá-lo.

Tela Nova análise: origens, motor de IA e escada de profundidade
A tela que abre em http://localhost:5273: origens à esquerda, motor de IA à direita, a escada logo abaixo. (Modo simulado.)

Variações úteis

ComandoQuando usar
./run.sh --mockNenhum agente roda de verdade: o fluxo é simulado, com artefatos falsos e tempos curtos. Para treinar a interface sem gastar cota. A tela exibe o selo SIMULAÇÃO.
PORT=9000 ./run.shMuda a porta da API quando 8788 está ocupada. A interface continua em 5273 e passa a apontar para a nova porta.

Onde ficam os dados

studio/data/
  studio.db          histórico: sessões, execuções, eventos, artefatos, decisões
  workspaces/<run>/  o clone do sistema analisado e o que os agentes escreveram
Essa pasta cresce rápido

Cada execução guarda uma cópia do repositório analisado. Apagar uma sessão pelo Histórico apaga o workspace junto. Para zerar tudo: rm -rf studio/data — o banco nasce de novo, vazio. A pasta não vai para o git.

Idioma e tema

O seletor de idioma fica no rodapé da gaveta lateral, ao lado do de tema. O padrão acompanha o navegador. Os artefatos nascem no idioma da tela: abrir uma análise em inglês grava domínio, diagramas e backlog em inglês — escolha o idioma antes de rodar para um cliente dos EUA.

Track 1 · Operation · 1.2

Install and start

Clone it, run it. One command starts the API and the UI; no API key required.

Requirements

ItemDetail
Node22.18 or newer (node -v)
A logged-in AI CLIClaude Code (claude auth login) or Cursor CLI (cursor-agent login). The Studio uses the session already logged in on the machine — the quota used is that plan's. Codex and Gemini CLI are detected by the screen, but don't run agents yet.
gitTo clone the repositories being analyzed.

First run

git clone https://github.com/lubysoftware/luby-studio-legado.git
cd luby-studio-legado
./run.sh

The first time, it installs dependencies (a few minutes). After that it starts in seconds:

  • UI → http://localhost:5273
  • API → http://localhost:8788

Ctrl-C stops both. Running it again stops the previous run of this project; if another process holds the port, the script tells you whose it is and stops, instead of killing it.

New analysis screen: sources, AI engine and depth ladder
The screen at http://localhost:5273: sources on the left, AI engine on the right, the ladder right below. (Simulation mode.)

Useful variations

CommandWhen to use it
./run.sh --mockNo agent actually runs: the flow is simulated, with fake artifacts and short timings. For practicing the UI without spending quota. The screen shows a SIMULATION badge.
PORT=9000 ./run.shChanges the API port when 8788 is taken. The UI stays on 5273 and points to the new port.

Where the data lives

studio/data/
  studio.db          history: sessions, runs, events, artifacts, decisions
  workspaces/<run>/  the clone of the analyzed system and what the agents wrote
This folder grows fast

Every run keeps a copy of the analyzed repository. Deleting a session from History deletes its workspace too. To wipe everything: rm -rf studio/data — the database starts over, empty. The folder isn't committed to git.

Language and theme

The language picker sits at the bottom of the side drawer, next to the theme picker. The default follows the browser. Artifacts are written in the screen's language: opening an analysis in English writes the domain, diagrams and backlog in English — pick the language before running for a US client.

Trilha 1 · Operação · 1.3

Escolher os sistemas

Primeira tela: Quais sistemas você quer analisar? Cada origem vira uma execução independente, com o próprio fluxo e os próprios artefatos.

Duas portas de entrada

Selecionar repositório

Formulário curto: endereço (ex.: https://github.com/org/sistema.git) e branch. Se você colar um caminho de pasta, ele recusa e indica o outro botão.

Selecionar pasta

Um navegador do disco de verdade: o servidor lista os diretórios, pastas com git sobem para o topo, as mais recentes primeiro. A pasta é conferida na hora — existe, é pasta, tem git, qual branch.

Diálogo Selecionar repositório com endereço e branch
Selecionar repositório: endereço e branch. (Modo simulado.)
Diálogo Selecionar pasta navegando até a pasta do sistema
Selecionar pasta: navegue até o sistema e clique em Usar esta pasta. (Modo simulado.)
Origem selecionada como cartão, com itens e status de git
A origem vira um cartão, já conferida: quantos itens, se tem git, qual branch. (Modo simulado.)

Boas práticas

  • Um repositório por sistema. Se o cliente tem backend, frontend e um batch em repositórios separados, selecione os três: cada um roda em paralelo e, quando terminam, a análise cruzada descobre onde eles se tocam.
  • Confira a branch. Analise a que está em produção, não a de desenvolvimento, a menos que o objetivo seja outro.
  • Pasta local sem git funciona, mas os agentes perdem o histórico — e é do histórico que o Detetive reconstrói parte das decisões arquiteturais.
  • O PRD do produto, se existir, pode ser colado depois na aba PRD/Researcher. Ele tem precedência sobre o que foi deduzido do código.
O que não se pergunta aqui

O Studio não pergunta se você quer migrar, documentar ou precificar. Essa é a conclusão da análise. Nesta tela você decide só o quê analisar e até onde descer.

Track 1 · Operation · 1.3

Pick the systems

First screen: Which systems do you want to analyze? Each source becomes an independent run, with its own flow and its own artifacts.

Two ways in

Select repository

A short form: address (e.g. https://github.com/org/system.git) and branch. Paste a folder path and it refuses and points you to the other button.

Select folder

A real disk browser: the server lists directories, folders with git float to the top, most recent first. The folder is checked on the spot — exists, is a folder, has git, which branch.

Select repository dialog with address and branch
Select repository: address and branch. (Simulation mode.)
Select folder dialog browsing to the system folder
Select folder: browse to the system and click Use this folder. (Simulation mode.)
Selected source shown as a card, with item count and git status
The source becomes a card, already checked: item count, git or not, which branch. (Simulation mode.)

Good practices

  • One repository per system. If the client has backend, frontend and a batch job in separate repositories, select all three: each runs in parallel and, once they finish, the cross-analysis finds where they touch.
  • Check the branch. Analyze the one running in production, not a development branch, unless the goal is different.
  • A local folder without git works, but the agents lose the history — and the Detective reconstructs part of the architecture decisions from that history.
  • The product PRD, if one exists, can be pasted later in the PRD/Researcher tab. It takes precedence over what was deduced from the code.
What isn't asked here

The Studio doesn't ask whether you want to migrate, document or price. That's the analysis' conclusion. On this screen you only decide what to analyze and how deep to go.

Trilha 1 · Operação · 1.4

Até onde descer: a escada de quatro degraus

Nem todo repositório merece o pacote inteiro. Descobrir em que linguagem um serviço está escrito não devia custar o diagnóstico completo. Cada degrau contém o de baixo inteiro.

Completapadrão
6 faixas · 32 especialistas · 6 paradas suas · extração, qualidade, documentação, preço, migração e plano de reconstrução
Profunda
4 faixas · 24 especialistas · 1 parada · o sistema como é hoje, documentado e precificado — sem migração nem reconstrução
Essencial
2 faixas · 17 especialistas · 1 parada · extração e qualidade: specs, casos de uso, backlog e inventário de dívida — sem mini-site e sem preço
Reconhecimento
1 faixa · 8 especialistas · nenhuma parada · o que é o sistema, em que está escrito, como está montado — o único que termina em minutos

O degrau mexe em duas coisas ao mesmo tempo: quais faixas rodam e com que profundidade cada etapa escreve (nível de documentação, granularidade das specs e quais especialistas opcionais ficam ligados). Os números de faixas, especialistas e paradas não são escritos à mão: saem do grafo real, e o resumo abaixo da escada mostra, a cada clique, o que entra e o que fica de fora.

Escada de quatro degraus e o resumo O que vai rodar, faixa por faixa
A escada e, abaixo dela, O que vai rodar: faixa por faixa, quantos especialistas e quantas paradas. (Modo simulado.)

Qual degrau escolher

SituaçãoDegrau
Triagem rápida: vários repositórios desconhecidos, prospecção, "o que é isso?"Reconhecimento
O time precisa entender e começar a refatorar com segurançaEssencial
O sistema vai continuar no ar e precisa de documentação navegável e dimensionamento/preçoProfunda
Decisão de modernização: migrar, reconstruir, qual arquitetura-alvo, quanto custaCompleta

Especialistas opcionais

Alguns agentes só fazem sentido quando o repositório tem o material deles:

  • Data Master — requer DDL, migrations ou ORM. Ligado em Completa, Profunda e Essencial.
  • Design System — requer CSS ou tema. Ligado em Completa e Profunda.
  • Visor — requer screenshots, que quase nenhum legado guarda no repositório. Só na Completa.

No grafo, esses aparecem marcados OPC.

Track 1 · Operation · 1.4

How deep to go: the four-rung ladder

Not every repository deserves the whole package. Finding out what language a service is written in shouldn't cost the complete diagnosis. Each rung contains the whole rung below it.

Completedefault
6 stages · 32 specialists · 6 stops for you · extraction, quality, documentation, pricing, migration and the reconstruction plan
Deep
4 stages · 24 specialists · 1 stop · the system as it is today, documented and priced — no migration or reconstruction
Essential
2 stages · 17 specialists · 1 stop · extraction and quality: specs, use cases, backlog and the debt inventory — no mini-site and no pricing
Recon
1 stage · 8 specialists · no stops · what the system is, what it's written in, how it's put together — the only one that ends in minutes

The rung changes two things at once: which stages run and how deeply each step writes (documentation level, spec granularity and which optional specialists are on). Stage, specialist and stop counts aren't hand-written: they come from the real graph, and the summary under the ladder shows, on every click, what's in and what's left out.

Four-rung ladder and the What will run summary, stage by stage
The ladder and, below it, What will run: stage by stage, how many specialists and stops. (Simulation mode.)

Which rung to pick

SituationRung
Quick triage: several unknown repositories, prospecting, "what is this?"Recon
The team needs to understand it and start refactoring safelyEssential
The system will stay live and needs navigable documentation plus sizing/pricingDeep
A modernization decision: migrate, rebuild, which target architecture, what it costsComplete

Optional specialists

Some agents only make sense when the repository has their material:

  • Data Master — needs DDL, migrations or an ORM. On in Complete, Deep and Essential.
  • Design System — needs CSS or a theme. On in Complete and Deep.
  • Visor — needs screenshots, which almost no legacy repository keeps. Complete only.

On the graph they're tagged OPT.

Trilha 1 · Operação · 1.5

Motor, custo e perfil de cobrança

O Studio não tem chave de LLM própria: ele delega ao CLI de IA instalado e logado na máquina — Claude Code ou Cursor. O modelo é uma escolha dentro do motor.

Motores

MotorSituação hoje
Claude Code rodaSessão de claude auth login, sem chave de API. Escolha do modelo (Opus, Sonnet, Haiku). Informa custo equivalente em dólar e tokens por etapa.
Cursor rodaSessão de cursor-agent login, sem chave de API. O modelo é o configurado no próprio Cursor (auto). O CLI não informa custo: a etapa aparece com ≈$0, que significa "não informado", não "de graça". As permissões do agente são gravadas em .cursor/cli.json no clone da análise.
CodexDetectado e exibido no painel; a execução real é recusada com a mensagem "execução real ainda não suporta o motor codex".
Gemini CLIIdem.

O painel mostra só o que existe no PATH, em qual conta você está logado e o plano. Motor não instalado aparece com a instrução de instalação. Confira a conta antes de rodar para cliente: a cota consumida é a dela. No --mock qualquer motor "roda", porque nada é executado de verdade.

Custo equivalente

Não é cobrança

O valor em dólar que aparece na barra e no histórico é o custo equivalente em preço de API. Rodando com a sessão logada, isso consome cota do plano do CLI. Serve para comparar execuções e para dimensionar o esforço — não é uma fatura.

Perfil de cobrança

A faixa Preço e tamanho precisa de dados que nenhuma leitura de código revela. O perfil é preenchido uma vez, nesta máquina, e toda sessão nova leva uma cópia dele:

  • País, moeda local e senioridade (Júnior → Principal)
  • Taxa hora — direta, ou calculada pela renda mensal desejada e horas faturáveis (tipicamente 80 a 160/mês)
  • Markup de projeto (sobre o custo direto; não é margem contábil)
  • Regime tributário, modelos de cobrança (escopo fechado, time and materials, sprint, retainer, valor fixo por entrega) e perfil de cliente
  • Moeda de cobrança e câmbio, quando o cliente paga em outra moeda
Sem perfil, o preço é pulado

A faixa só mede tamanho — não gasta cota numa estimativa que nasceria vazia. O fator de imposto é uma reserva aproximada para orçamento, não alíquota legal; a validação tributária é do contador. O perfil é dado financeiro sensível e fica no banco local.

Formulário Perfil de cobrança: país, moeda, senioridade, taxa, markup, regime e modelos
O formulário do perfil de cobrança, aberto pelo botão Preencher abaixo da escada. (Modo simulado.)

A estimativa entrega três cenários lado a lado — Esforço, Valor e Faixa de mercado — e nunca um número único como resposta final.

Track 1 · Operation · 1.5

Engine, cost and billing profile

The Studio has no LLM key of its own: it delegates to the AI CLI installed and logged in on the machine — Claude Code or Cursor. The model is a choice inside the engine.

Engines

EngineStatus today
Claude Code runsSession from claude auth login, no API key. Model choice (Opus, Sonnet, Haiku). Reports equivalent dollar cost and tokens per step.
Cursor runsSession from cursor-agent login, no API key. The model is whatever Cursor is configured to use (auto). The CLI doesn't report cost: the step shows ≈$0, meaning "not reported", not "free". The agent's permissions are written to .cursor/cli.json in the analysis clone.
CodexDetected and shown in the panel; a real run is refused with "real execution doesn't support the codex engine yet".
Gemini CLISame.

The panel only shows what's on the PATH, which account you're logged into and the plan. An engine that isn't installed shows the install instruction. Check the account before running for a client: its quota is the one being used. In --mock any engine "runs", because nothing actually executes.

Equivalent cost

It isn't a charge

The dollar figure in the bar and in History is the equivalent cost at API prices. With a logged-in session, it uses the CLI plan's quota. It's there to compare runs and size the effort — it isn't an invoice.

Billing profile

The Pricing and size stage needs data no code reading reveals. The profile is filled in once, on this machine, and every new session takes a copy:

  • Country, local currency and seniority (Junior → Principal)
  • Hourly rate — direct, or derived from desired monthly income and billable hours (typically 80 to 160/month)
  • Project markup (on direct cost; not accounting margin)
  • Tax regime, pricing models (fixed scope, time and materials, per sprint, retainer, fixed price per delivery) and client profile
  • Billing currency and exchange rate, when the client pays in another currency
No profile, no price

The stage only measures size — it won't spend quota on an estimate that would be born empty. The tax factor is an approximate budgeting reserve, not a legal rate; tax validation belongs to the accountant. The profile is sensitive financial data and stays in the local database.

Billing profile form: country, currency, seniority, rate, markup, regime and models
The billing profile form, opened with Fill in below the ladder. (Simulation mode.)

The estimate delivers three scenarios side by side — Effort, Value and Market range — and never a single number as the final answer.

Trilha 1 · Operação · 1.6

Acompanhar a execução

Clique em Rodar processo. Cada sistema abre numa aba; o grafo mostra o processo acontecendo, e descer a tela é percorrer o tempo.

Visão Fluxo com indicadores, grafo de agentes, painel de artefatos e console
Execução em andamento: indicadores no topo, grafo no centro, artefatos à direita, console embaixo. (Modo simulado.)

Lendo o grafo

SinalSignificado
Nó azul pulsandoEtapa trabalhando agora
Aresta animadaTrabalho atravessando de uma etapa para a outra
Chip verdeArquivo que acabou de ser gravado
OPCEspecialista opcional (roda se houver material)
BINEtapa que roda uma ferramenta determinística (ex.: verificador estático), não um modelo — sem custo em dólar
Statusaguardando · na fila · trabalhando · esperando você · concluído · falhou · pulado

A câmera segue a etapa em execução; desligue o seguindo para navegar livre.

Os indicadores do topo

  • Especialistas — concluídos, trabalhando e na fila.
  • Artefatos — arquivos gravados até agora.
  • Paradas suas — respondidas, a próxima, ou esperando você.
  • Custo equivalente — ver 1.5.

Console e painel de artefatos

O console registra cada passo ( início, + arquivo gravado, concluído com custo e tokens, falha, decisão humana). O painel lateral lista os artefatos por pasta, com filtro e prévia. Os arquivos ficam em _lubylegado_sdd/ dentro do workspace da execução; o botão ao lado do caminho abre a pasta.

Parar, retomar e histórico

  • Parar interrompe a execução. Retomar continua de onde parou — etapas já concluídas não rodam de novo.
  • Sem sinal há N min: se um agente fica mudo por tempo demais, o executor o encerra, em vez de travar o run.
  • Histórico lista todas as execuções. Abrir uma reconstrói a tela inteira a partir dos eventos gravados — nenhum agente roda de novo e nada é cobrado.
  • No histórico você pode renomear uma sessão (ex.: "Cliente X — diagnóstico de setembro") e excluir — o que apaga também o workspace; o custo daquela análise não volta.
Tela Histórico: lista de execuções e detalhe com etapas, custo e tokens
Histórico: cada execução com artefatos e custo; à direita, etapa por etapa, com abrir, renomear e excluir. (Modo simulado.)
Etapa falhou ou foi pulada?

Clique na etapa: o Studio explica por que ela falhou ou foi pulada. Uma aba cujo artefato ainda não existe diz qual etapa o produziria e em que estado ela está.

Track 1 · Operation · 1.6

Follow the run

Click Run the process. Each system opens in a tab; the graph shows the process as it happens, and scrolling down the screen is moving forward in time.

Flow view with indicators, agent graph, artifacts panel and console
A run in progress: indicators on top, graph in the middle, artifacts on the right, console at the bottom. (Simulation mode.)

Reading the graph

SignalMeaning
Pulsing blue nodeStep working right now
Animated edgeWork passing from one step to the next
Green chipA file that was just written
OPTOptional specialist (runs if the material exists)
BINA step that runs a deterministic tool (e.g. a static checker), not a model — no dollar cost
Statusidle · queued · working · waiting for you · done · failed · skipped

The camera follows the running step; turn off following to move around freely.

The top indicators

  • Specialists — done, working and queued.
  • Artifacts — files written so far.
  • Your stops — answered, the next one, or waiting for you.
  • Equivalent cost — see 1.5.

Console and artifacts panel

The console logs every step ( start, + file written, done with cost and tokens, failure, human decision). The side panel lists artifacts by folder, with a filter and preview. Files live in _lubylegado_sdd/ inside the run's workspace; the button next to the path opens the folder.

Stop, resume and history

  • Stop interrupts the run. Resume picks up where it left off — steps already done don't run again.
  • No signal for N min: if an agent stays silent too long, the executor ends it instead of hanging the run.
  • History lists every run. Opening one rebuilds the whole screen from the recorded events — no agent runs again and nothing is spent.
  • In History you can rename a session (e.g. "Client X — September diagnosis") and delete it — which also deletes its workspace; the cost of that analysis doesn't come back.
History screen: run list and detail with steps, cost and tokens
History: each run with artifacts and cost; on the right, step by step, with open, rename and delete. (Simulation mode.)
A step failed or was skipped?

Click the step: the Studio explains why it failed or was skipped. A tab whose artifact doesn't exist yet tells you which step would produce it and what state that step is in.

Trilha 1 · Operação · 1.7

Paradas: as decisões humanas

Algumas etapas param e perguntam — qual paradigma adotar, como resolver uma lacuna que o código não respondia. O processo para de verdade, e a resposta fica gravada no histórico junto com o resto.

As paradas do diagnóstico completo

ParadaFaixaO que decide
Organização das specsExtraçãoautomática — o produto já escolhe a cobertura mais ampla; fica registrada, sem perguntar
Resolução de lacunasExtraçãoOs pontos que o Revisor não conseguiu confirmar lendo o código. Cada resposta sobe a confiança da spec correspondente.
Paradigma alvoMigraçãoPara qual paradigma o sistema novo vai
Estratégia de migraçãoMigraçãoEx.: Strangler Fig, Parallel Run, Branch by Abstraction
Topologia do sistema novoMigraçãoComo o sistema novo se divide
Modo de tradução de telasMigraçãoComo as telas legadas são levadas para o novo
Início da reconstruçãoReconstruçãoAutoriza o plano de reimplementação

Migração e reconstrução vêm por último de propósito: juntas, somam cinco decisões. Com elas na frente, documentação e preço ficariam esperando alguém voltar do almoço.

Diálogo de decisão humana Resolução de lacunas sobre o grafo
O processo parado na Resolução de lacunas: a decisão fica gravada no histórico. Numa execução real, o diálogo traz as perguntas e o leque de respostas. (Modo simulado.)

Respondendo

  1. Leia a pergunta e o leque de respostas. Antes de a pergunta chegar a você, um agente já pesquisou as respostas possíveis no código.
  2. Responda com o porquê. Na Resolução de lacunas, as respostas são gravadas de volta em questions.md e viram insumo das etapas seguintes — a arquitetura-alvo roda depois dela justamente para respeitar o que você decidiu. Nas paradas de migração e reconstrução, a decisão fica registrada no histórico e no dossiê, mas não é relida pelos agentes seguintes: eles seguem sem pedir confirmação e registram as dúvidas nos próprios artefatos.
  3. Sem certeza? Use Sugerir resposta. Um agente lê o código e os artefatos e redige uma proposta (consome cota, leva um ou dois minutos, uma por vez). Se o código não decide a questão, ele diz: "Sem sugestão: o código não decide esta."
  4. Não sabe e ninguém sabe agora? Deixe em branco ou use Seguir sem responder: a lacuna continua registrada, e as specs seguem com o buraco declarado.
Com o cliente, não por ele

As lacunas são a pauta da conversa com quem conhece o negócio. Inventar uma resposta para destravar o run transforma uma lacuna honesta 🔴 numa certeza falsa 🟢 — exatamente o que o processo existe para evitar.

Track 1 · Operation · 1.7

Stops: the human decisions

Some steps stop and ask — which paradigm to adopt, how to resolve a gap the code didn't answer. The process really stops, and the answer is recorded in history with everything else.

The stops in the complete diagnosis

StopStageWhat it decides
Spec organizationExtractionautomatic — the product already picks the widest coverage; it's recorded without asking
Gap resolutionExtractionThe points the Reviewer couldn't confirm by reading the code. Each answer raises the confidence of the matching spec.
Target paradigmMigrationWhich paradigm the new system moves to
Migration strategyMigrationE.g. Strangler Fig, Parallel Run, Branch by Abstraction
Topology of the new systemMigrationHow the new system is split
Screen translation modeMigrationHow the legacy screens are carried into the new one
Reconstruction kickoffReconstructionAuthorizes the reimplementation plan

Migration and reconstruction run last on purpose: together they add five decisions. Put them first and documentation and pricing would sit waiting for someone to get back from lunch.

Gap resolution human decision dialog over the graph
The process stopped at Gap resolution: the decision is recorded in history. In a real run, the dialog lists the questions and the answer options. (Simulation mode.)

Answering

  1. Read the question and the answer options. Before the question reaches you, an agent has already researched the possible answers in the code.
  2. Answer with the why. At Gap resolution, answers are written back to questions.md and feed the next steps — the target architecture runs after it precisely so it respects what you decided. At the migration and reconstruction stops, the decision is recorded in history and in the dossier, but the following agents don't read it back: they carry on without asking and record their doubts in their own artifacts.
  3. Not sure? Use Suggest an answer. An agent reads the code and artifacts and drafts a proposal (uses quota, takes a minute or two, one at a time). If the code doesn't settle it, it says so: "No suggestion: the code does not settle this one."
  4. Nobody knows right now? Leave it blank or use Continue without answering: the gap stays recorded, and the specs carry on with the hole declared.
With the client, not for them

Gaps are the agenda for the conversation with the people who know the business. Inventing an answer to unblock the run turns an honest 🔴 gap into a false 🟢 certainty — exactly what the process exists to prevent.

Trilha 1 · Operação · 1.8

Escala de confiança

O processo não finge saber o que não sabe. Toda afirmação carrega um selo — e é esse selo que torna uma especificação gerada por IA utilizável por gente e por outro agente.

SeloSignificadoExemplo
🟢 CONFIRMADOExtraído do código, com arquivo e linha como evidência. Pode ser citado."calcular_desconto aplica 15% para pedidos acima de R$ 500" — src/pricing/discount.js, linha 47.
🟡 INFERIDODeduzido de padrões, nomes ou contexto. Provável, não comprovado."Parece usar soft delete para clientes (campo deleted_at)".
🔴 LACUNANão determinável pelo código. Precisa de validação humana."Não foi possível determinar o comportamento quando o pagamento falha por timeout na gateway."

Como a confiança sobe

  1. O Revisor coleta as lacunas e as transforma em perguntas específicas.
  2. Um agente pesquisa o leque de respostas no código antes de a pergunta chegar a você.
  3. Você responde na parada Resolução de lacunas. Resposta com evidência vira 🟢; resposta sem certeza absoluta vira 🟡.
  4. O que ficou sem resposta continua 🔴, registrado para tratamento posterior — nunca apagado.

Onde o selo aparece na interface

  • Casos de uso — pontos verde/amarelo/vermelho por regra e o bloco de lacunas com a pergunta que falta.
  • Qualidade — cada oportunidade: coberto e entendido, cobertura parcial ou sem prova de comportamento.
  • Kanban — cards que dependem de lacuna aberta ficam na coluna Bloqueado.
  • Consolidado — ponto de contato entre sistemas marcado inferido ou só um lado tem evidência.
Frase para usar com cliente

"Entregamos o que não sabemos junto com o que sabemos. Quem promete 100% de certeza sobre um legado está chutando."

Track 1 · Operation · 1.8

Confidence scale

The process doesn't pretend to know what it doesn't. Every claim carries a label — and that label is what makes an AI-generated specification usable by people and by another agent.

LabelMeaningExample
🟢 CONFIRMEDExtracted from the code, with file and line as evidence. Can be quoted."calculate_discount applies 15% to orders over $500" — src/pricing/discount.js, line 47.
🟡 INFERREDDeduced from patterns, naming or context. Likely, not proven."Appears to use soft delete for customers (deleted_at field)".
🔴 GAPCan't be determined from the code. Needs human validation."Couldn't determine the behavior when payment fails on a gateway timeout."

How confidence goes up

  1. The Reviewer collects the gaps and turns them into specific questions.
  2. An agent researches the possible answers in the code before the question reaches you.
  3. You answer at the Gap resolution stop. An answer with evidence becomes 🟢; an answer without full certainty becomes 🟡.
  4. Whatever stays unanswered remains 🔴, recorded for later — never deleted.

Where the label shows up in the UI

  • Use cases — green/yellow/red dots per rule and a gaps block with the missing question.
  • Quality — each opportunity: covered and understood, partial coverage or no proof of behavior.
  • Kanban — cards that depend on an open gap sit in the Blocked column.
  • Consolidated — a contact point between systems marked inferred or only one side has evidence.
A line to use with clients

"We deliver what we don't know along with what we do. Anyone who promises 100% certainty about a legacy system is guessing."

Trilha 1 · Operação · 1.9

As leituras, aba por aba

A gaveta lateral LEITURAS abre quando uma execução começa. Escolha uma aba abaixo ou pelo submenu.

Cada aba lê os artefatos que os agentes gravaram e mostra em forma de tela. Esta seção tem uma página por aba, sempre na mesma estrutura: propósito, ficha (quem usa, quando, quem produz, em quais degraus, quanto custa), o que aparece na tela, como usar e como ler bem.

O que vale para todas as abas

  • As leituras ficam trancadas até uma execução começar: "disponível depois que uma execução começar".
  • Aba sem artefato não fica em branco: diz quem produz e em que estado a etapa está — ainda não chegou a vez, rodando agora, parada esperando uma decisão sua, concluiu mas não gravou, falhou, pulada ou fora do recorte escolhido — um mais fundo produz isto.
  • Abas que leem JSON se recarregam sozinhas quando o número de artefatos do run muda.
  • Se o JSON existe mas não é válido, a aba aparece vazia; se é válido mas com formato inesperado, aparece "não foi possível montar esta aba". Nos dois casos, rode de novo o agente ou confira o arquivo no workspace.
  • Agentes sob demanda (PRD, Researcher, Análise, Spec Kit, Tech Spec, atualizar Sumário, sugerir resposta) rodam um por vez por run; o segundo clique recebe "… ainda está rodando neste run". O custo entra no total do run.
Track 1 · Operation · 1.9

The readings, tab by tab

The READINGS side drawer opens once a run starts. Pick a tab below or from the submenu.

Every tab reads the artifacts the agents wrote and shows them as a screen. This section has one page per tab, always in the same structure: purpose, a fact sheet (who uses it, when, who produces it, which rungs, what it costs), what's on screen, how to use it and how to read it well.

What applies to every tab

  • Readings stay locked until a run starts: "available once a run has started".
  • A tab with no artifact isn't blank: it says who produces it and what state that step is in — not its turn yet, running now, stopped waiting for your decision, finished but didn't write it, failed, skipped, or outside the chosen scan — a deeper one produces this.
  • JSON-based tabs reload on their own when the run's artifact count changes.
  • If the JSON exists but is invalid, the tab looks empty; if it's valid but oddly shaped, you get "this tab could not be mounted". Either way, rerun the agent or check the file in the workspace.
  • On-demand agents (PRD, Researcher, Analysis, Spec Kit, Tech Spec, Summary refresh, answer suggestion) run one at a time per run; a second click gets "… is still running in this run". Their cost is added to the run.
Trilha 1 · Operação · 1.9.1

Aba Fluxo

Onde a execução está, quem está trabalhando, o que já foi gravado, se ela está esperando você — e quanto custou até aqui.

Quem usaQuem conduz a análise
QuandoDurante toda a execução e ao reabrir pelo Histórico
Quem produzOs eventos do run, ao vivo — não há artefato próprio
DegrausTodos
CustoNenhum — só lê o que já existe
Aba Fluxo
Fluxo durante um diagnóstico. (Dataset de demonstração.)

O que aparece na tela

Barra do topo

  • Nome do sistema e a fase: em análise, aguardando você, concluído, concluído com falhas (passe o mouse para ver cada etapa que falhou e o motivo), interrompido, na fila.
  • O recorte (Recorte Completa etc.) e o selo SIMULAÇÃO no modo simulado.
  • Botões Parar, Retomar (só aparece se o run parou sem terminar), Dossiê e Nova execução.

Quatro indicadores

IndicadorMostra
Especialistasconcluídos de total; barra com um segmento por faixa; N trabalhando · N na fila. Após retomar: "retomado do último ponto — nada rodou duas vezes".
Artefatosarquivos gravados; o caminho da pasta de saída é um link que abre a pasta no Finder/Explorer.
Paradas suasrespondidas de total (as automáticas não contam); esperando você: X, próxima: X, todas respondidas ou este recorte não para para perguntar.
Custo equivalente≈$ em preço de API — "consome cota do plano, não é cobrança". No Cursor aparece ≈$0 porque o CLI não informa custo.

O grafo

  • Faixas numeradas (01 · Extração do legado…), cada uma com dica e contador de concluídos.
  • Legenda O que cada agente faz com 8 famílias: Reconhecimento, Escavação, Interface, Síntese, Especificação, Verificação, Decisão, Negócio.
  • Cartão de agente: faixa de cor da família, monograma, nome, resumo de 2 linhas, status, selos OPC e BIN, atividade ao vivo, número de arquivos e ≈$ ao terminar.
  • Medidor de silêncio ⏱: aparece depois de 90 s sem saída do agente, fica âmbar a 2/3 do limite de 15 min.
  • Nó de parada (âmbar, redondo): decisão humana ou definido automaticamente; pulsa enquanto espera e mostra a resposta depois.
  • Câmera seguindo (acompanha a parada aberta, depois o agente rodando) ou livre; zoom e minimapa.

Console e painel de artefatos

  • Console recolhido mostra uma linha; expandido mostra tudo, ● ao vivo. Formatos: ▶ início, + arquivo (kB), ✓ agente · ≈$ · tokens, ✗ falha, – pulado, ⏸ decisão humana.
  • Painel Artefatos: filtro por nome, agrupado por pasta, cada arquivo com família, tamanho, agente autor e prévia. Clicar num nó do grafo filtra o painel pelos arquivos daquele agente.

Como usar

  • Parar e Retomar valem para o run inteiro; etapa concluída nunca roda de novo.
  • Uma parada bloqueia o laço inteiro, não só o ramo dela — por isso o grafo "congela" até você responder.
  • Passe o mouse num cartão cinza-tracejado (pulado) ou vermelho (falhou) para ler o motivo.
Leia bem

Um cartão pulado costuma apontar para uma falha acima ("depende de X, que não concluiu") — procure a primeira vermelha. O contador de concluídos de uma faixa inclui as puladas. O custo é equivalente, não fatura.

Track 1 · Operation · 1.9.1

Flow tab

Where the run is, who is working, what has been written, whether it is waiting on you — and what it has cost so far.

Who uses itWhoever runs the analysis
WhenDuring the whole run, and when reopening from History
Produced byThe run's live events — no artifact of its own
RungsAll
CostNone — reads what already exists
Flow tab
Flow during a diagnosis. (Demo dataset.)

What's on screen

Top bar

  • System name and phase: analyzing, waiting on you, done, done with failures (hover to see each failed step and why), stopped, queued.
  • The scan (Complete scan etc.) and the SIMULATION badge in mock mode.
  • Buttons Stop, Resume (only when the run stopped without finishing), Dossier and New run.

Four indicators

IndicatorShows
Specialistsdone of total; a bar with one segment per stage; N working · N queued. After resuming: "resumed from the last checkpoint — nothing ran twice".
Artifactsfiles written; the output folder path is a link that opens it in Finder/Explorer.
Your stopsanswered of total (automatic ones don't count); waiting on you: X, next: X, all answered, or this scan never stops to ask.
Equivalent cost≈$ at API prices — "uses plan quota, it is not a charge". With Cursor it shows ≈$0 because the CLI doesn't report cost.

The graph

  • Numbered stages (01 · Legacy extraction…), each with a hint and a done counter.
  • Legend What each agent does with 8 families: Recognition, Excavation, Interface, Synthesis, Specification, Verification, Decision, Business.
  • Agent card: family color strip, monogram, name, 2-line summary, status, OPT and BIN badges, live activity, file count and ≈$ when done.
  • Silence meter ⏱: shows after 90 s with no output, turns amber at 2/3 of the 15-min limit.
  • Stop node (amber, round): human decision or set automatically; pulses while waiting and shows the answer afterwards.
  • Camera following (tracks the open stop, then the running agent) or free; zoom and minimap.

Console and artifacts panel

  • The collapsed console shows one line; expanded shows everything, ● live. Formats: ▶ start, + file (kB), ✓ agent · ≈$ · tokens, ✗ failure, – skipped, ⏸ human decision.
  • Artifacts panel: filter by name, grouped by folder, each file with family, size, author agent and preview. Clicking a graph node filters the panel to that agent's files.

How to use it

  • Stop and Resume act on the whole run; a finished step never runs again.
  • A stop blocks the whole loop, not just its branch — that's why the graph "freezes" until you answer.
  • Hover a dashed grey (skipped) or red (failed) card to read why.
Read it well

A skipped card usually points to a failure upstream ("depends on X, which did not finish") — look for the first red one. A stage's done counter includes skipped steps. Cost is equivalent, not an invoice.

Trilha 1 · Operação · 1.9.2

Aba Sumário

O que é este repositório, para que serve e para quem — a primeira leitura de qualquer pessoa.

Quem usaTodos, inclusive negócio
QuandoLogo depois das primeiras etapas
Quem produzlubylegado-extract-soul (Extrator de Essência) → _lubylegado_sdd/soul.md
DegrausTodos
CustoNa execução; atualizar consome cota
Aba Sumário
Sumário. (Dataset de demonstração.)

O que aparece na tela

  • Título do documento e o bloco de abertura: quem gerou, quando e a partir de quê.
  • Até três cartões lado a lado: Propósito, Objetivo e Pessoas.
  • O restante do documento: entidades centrais (5 a 10, com relações), decisões fundadoras (3 a 7, com evidência e implicação), lacunas. Os marcadores 🟢🟡🔴 viram as palavras confirmado, inferido e lacuna.
  • Botão Atualizar sumário: roda de novo apenas o agente desta página, com a versão atual da skill.

Para que serve

  • Abrir a conversa com o cliente: em três colunas, o sistema em linguagem de negócio.
  • Servir de fronteira: etapas seguintes sinalizam mudanças que contrariam a "alma" do sistema.
  • É pré-requisito da aba Análise e do PRD.
Leia bem

Espere muita coisa 🟡 inferida aqui: é uma síntese curta, não a análise módulo a módulo. Sumários gerados por versões antigas mostram só o cartão Propósito com a seção inteira dentro.

Track 1 · Operation · 1.9.2

Summary tab

What this repository is, what it's for and for whom — everyone's first read.

Who uses itEveryone, business included
WhenRight after the first steps
Produced bylubylegado-extract-soul (Essence Extractor) → _lubylegado_sdd/soul.md
RungsAll
CostIn the run; refreshing uses quota
Summary tab
Summary. (Demo dataset.)

What's on screen

  • The document title and its opening block: who generated it, when, and from what.
  • Up to three cards side by side: Purpose, Goal and People.
  • The rest of the document: core entities (5 to 10, with relations), founding decisions (3 to 7, with evidence and implication), gaps. The 🟢🟡🔴 markers become the words confirmed, inferred and gap.
  • Refresh summary button: reruns only this page's agent, with the current skill version.

What it's for

  • Opening the client conversation: the system in business language, in three columns.
  • Acting as a boundary: later steps flag changes that contradict the system's "soul".
  • It's a prerequisite for the Analysis tab and the PRD.
Read it well

Expect plenty of 🟡 inferred here: it's a short synthesis, not the module-by-module analysis. Summaries from older versions only show the Purpose card with the whole section inside.

Trilha 1 · Operação · 1.9.3

Aba PRD

Remonta o documento de requisitos que ninguém escreveu, a partir do que a análise extraiu — com a origem de cada requisito.

Quem usaProduto e negócio
QuandoDepois da análise
Quem produzlubylegado-prd_lubylegado_sdd/prd.md e prd.json
DegrausPrecisa de síntese e casos de uso: Completa, Profunda ou Essencial
CustoSob demanda, por botão
Aba PRD
PRD reconstruído. (Dataset de demonstração.)

O que aparece na tela

Antes de gerar

  • O aviso: é um PRD reconstruído do código, não a especificação original — o documento diz isso na primeira linha.
  • A caixa O que ele vai ler deste run, com 8 insumos marcados ✓ ou riscados: Síntese do sistema, Casos de uso, Regras de domínio, Atores e permissões, Integrações, Arquitetura, Dados, Backlog.
  • Sem síntese ou sem casos de uso: "Falta material essencial" e o botão Gerar PRD fica desligado.

Depois de gerar

SeçãoConteúdo
1–4Visão geral, objetivos, não-objetivos, público e atores
5Requisitos funcionais RF-01…, cada um com a origem
6Regras de negócio RN-01…
7Requisitos não funcionais — sem métrica inventada
8–10Integrações, dados, decisões estruturantes
11A validar com o negócio, escrito como perguntas

Para que serve

  • Dar ao time de produto um documento no formato que ele conhece, sem ninguém precisar ler código.
  • Alimentar o Researcher: o PRD gerado aparece como primeiro candidato no campo de PRD de lá.
  • A seção 11 é a pauta pronta da reunião com o negócio.
Leia bem

O PRD descreve o sistema como ele é, não como alguém quis que fosse. O ✓ nos insumos só diz que o arquivo existe neste run. Atualizar PRD reescreve o documento a partir dos artefatos como estão agora e consome cota.

Track 1 · Operation · 1.9.3

PRD tab

Reassembles the requirements document nobody wrote, from what the analysis extracted — with the source of every requirement.

Who uses itProduct and business
WhenAfter the analysis
Produced bylubylegado-prd_lubylegado_sdd/prd.md and prd.json
RungsNeeds synthesis and use cases: Complete, Deep or Essential
CostOn demand, by button
PRD tab
Reconstructed PRD. (Demo dataset.)

What's on screen

Before generating

  • The caveat: it's a PRD reconstructed from the code, not the original specification — the document says so in its first line.
  • The What it will read from this run box, with 8 inputs ticked ✓ or struck through: System synthesis, Use cases, Domain rules, Actors and permissions, Integrations, Architecture, Data, Backlog.
  • Without synthesis or use cases: "Essential material is missing", and Generate PRD is disabled.

After generating

SectionContent
1–4Overview, goals, non-goals, audience and actors
5Functional requirements FR-01…, each with its source
6Business rules BR-01…
7Non-functional requirements — no invented metrics
8–10Integrations, data, structuring decisions
11To validate with the business, written as questions

What it's for

  • Giving the product team a document in the format they know, without anyone reading code.
  • Feeding the Researcher: the generated PRD shows up as the first candidate in its PRD field.
  • Section 11 is a ready agenda for the business meeting.
Read it well

The PRD describes the system as it is, not as someone meant it to be. A ✓ on an input only means the file exists in this run. Refresh PRD rewrites the document from the artifacts as they are now and uses quota.

Trilha 1 · Operação · 1.9.4

Aba Researcher

O que falta neste produto frente ao mercado — e o que ele tem que ninguém mais tem.

Quem usaProduto, comercial, liderança
QuandoDepois da análise, quando o assunto é evolução de produto
Quem produzTrês agentes em cadeia: lubylegado-product-brieflubylegado-market-scanlubylegado-feature-radar, em _lubylegado_sdd/research/
DegrausFora de qualquer degrau — dado de mercado envelhece
CustoSob demanda, por botão
Aba Researcher
Researcher. (Dataset de demonstração.)

As três etapas

EtapaGrava
Resumo do produtoo PRD informado (vence tudo), soul.md, casos de uso, domíniobrief.json: o que faz, para quem, dor, 8–20 capacidades com maturidade, tensões
Scanner de mercado — o único agente com interneto resumomarket.json/.md: 5–8 concorrentes com posicionamento, público, preço (com fonte ou "não é público"), forças e fraquezas
Radar de featuresresumo + mercadofeatures.json/.md: 8–15 features candidatas e o que manter

O que aparece na tela

  • Campo PRD do produto, preenchido nesta ordem: o PRD da última pesquisa → um documento do repositório que se declara PRD → só sugestões. Chips achei no repositório e também achei.
  • Botão Realizar pesquisa e os chips das três etapas com o estado de cada uma.
  • O produto: nome, o que faz, para quem, Dor que resolve, capacidades entregues e incompletas, e em âmbar "O PRD e o código discordam em N pontos".
  • Features candidatas em três grupos: Paridade (o mercado já tem), Diferencial, Aposta (evidência indireta). Cada uma com problema, esforço, persona, já em (concorrentes) e completa (capacidade).
  • O que ninguém mais tem (cartões verdes) e Produtos parecidos (disputa alto/médio/baixo, forças, fraquezas, preço).
  • O que ficou em aberto: as lacunas das três etapas.
  • Botões Refazer a leitura (só o radar, sem internet) e Pesquisar de novo (as três).
Privacidade

Só a etapa do meio acessa a rede, e busca pelo problema, nunca pelo código: nome de arquivo, tabela, cliente ou domínio interno não entram em consulta de busca.

Leia bem

Lista só de faltas faz produto à frente parecer atrasado — leia sempre O que ninguém mais tem. "Aposta" não é recomendação. Preço sem fonte aparece como "não é público", nunca estimado. Limpar o campo PRD não apaga um PRD salvo anteriormente.

Track 1 · Operation · 1.9.4

Researcher tab

What this product is missing against the market — and what it has that nobody else does.

Who uses itProduct, sales, leadership
WhenAfter the analysis, when the topic is product evolution
Produced byThree chained agents: lubylegado-product-brieflubylegado-market-scanlubylegado-feature-radar, in _lubylegado_sdd/research/
RungsOutside every rung — market data goes stale
CostOn demand, by button
Researcher tab
Researcher. (Demo dataset.)

The three steps

StepReadsWrites
Product briefthe supplied PRD (overrides everything), soul.md, use cases, domainbrief.json: what it does, for whom, pain, 8–20 capabilities with maturity, tensions
Market scanner — the only agent with internetthe briefmarket.json/.md: 5–8 competitors with positioning, audience, price (with source or "not public"), strengths and weaknesses
Feature radarbrief + marketfeatures.json/.md: 8–15 candidate features and what to keep

What's on screen

  • Product PRD field, filled in this order: the last search's PRD → a repository document that declares itself a PRD → suggestions only. Chips found in the repository and also found.
  • Run the search button and the three step chips with their state.
  • The product: name, what it does, for whom, Pain it solves, delivered and incomplete capabilities, and in amber "The PRD and the code disagree on N points".
  • Candidate features in three groups: Parity (the market has it), Differentiator, Bet (indirect evidence). Each with problem, effort, persona, already in (competitors) and completes (capability).
  • What nobody else has (green cards) and Similar products (overlap high/medium/low, strengths, weaknesses, price).
  • What is still open: gaps from all three steps.
  • Buttons Redo the reading (radar only, no internet) and Search again (all three).
Privacy

Only the middle step touches the network, and it searches by the problem, never by the code: file names, tables, clients or internal domain terms never go into a query.

Read it well

A list of gaps alone makes a product that's ahead look behind — always read What nobody else has. "Bet" isn't a recommendation. A price without a source shows as "not public", never estimated. Clearing the PRD field doesn't delete a previously saved PRD.

Trilha 1 · Operação · 1.9.5

Aba Integrações

Tudo o que cruza a fronteira do sistema: quem chama quem, com que payload, com que credencial e o que acontece quando falha.

Quem usaArquitetos, tech leads
QuandoPlanejamento de migração, incidentes, integração de parceiros
Quem produzlubylegado-integrations (Mapeador de Integrações) → integrations/integrations.json
DegrausCompleta, Profunda, Essencial — não no Reconhecimento
CustoDentro da execução
Aba Integrações
Integrações com payload. (Dataset de demonstração.)

O que aparece na tela

  • Barra: N saída · N entrada (as bidirecionais não entram em nenhum dos dois) e contagem de lacunas.
  • Cartões com ícone de direção: o sistema chama, chamam o sistema, nos dois sentidos; tipo (rest, graphql, soap, grpc, queue, webhook, database, file, other); criticidade alta/média/baixa; chave quando há segredo; número de endpoints e se tem retry.
  • Detalhe ao clicar: autenticação, nome do segredo e onde ele vai, timeout, retry, limite de taxa; caixa âmbar com o comportamento em falha; por endpoint, método, caminho, propósito, chamado de (arquivos clicáveis), exemplo de requisição e resposta, erros; link documentação do fornecedor.

Para que serve

  • Saber o que quebra fora quando algo muda dentro — e o que precisa de contrato na migração.
  • Montar o inventário de terceiros exigido por auditoria e compliance.
  • Achar credenciais versionadas: aparecem como lacuna de segurança.
Leia bem

Payload confirmado foi copiado literalmente do código ou de teste; inferido foi reconstruído do código que o monta. Segredos aparecem só pelo nome da variável, nunca pelo valor. Biblioteca não é integração.

Track 1 · Operation · 1.9.5

Integrations tab

Everything that crosses the system boundary: who calls whom, with what payload, what credential, and what happens when it fails.

Who uses itArchitects, tech leads
WhenMigration planning, incidents, partner integration
Produced bylubylegado-integrations (Integration Mapper) → integrations/integrations.json
RungsComplete, Deep, Essential — not Recon
CostPart of the run
Integrations tab
Integrations with payloads. (Demo dataset.)

What's on screen

  • Bar: N outbound · N inbound (bidirectional ones count in neither) and the gap count.
  • Cards with a direction icon: the system calls, they call the system, both ways; kind (rest, graphql, soap, grpc, queue, webhook, database, file, other); criticality high/medium/low; a key when there's a secret; endpoint count and whether it retries.
  • Detail on click: auth, the secret's name and where it goes, timeout, retry, rate limit; an amber box with failure behavior; per endpoint, method, path, purpose, called from (clickable files), request and response examples, errors; a vendor documentation link.

What it's for

  • Knowing what breaks outside when something changes inside — and what needs a contract during migration.
  • Building the third-party inventory audits and compliance ask for.
  • Finding committed credentials: they show up as a security gap.
Read it well

A confirmed payload was copied literally from code or a test; inferred was rebuilt from the code that assembles it. Secrets show only by variable name, never by value. A library isn't an integration.

Trilha 1 · Operação · 1.9.6

Aba Arquitetura

O que depende de quê — e o que quebra se eu mudar isto.

Quem usaArquitetos, tech leads
QuandoAntes de estimar ou planejar mudança
Quem produzlubylegado-architecture-graph (Cartógrafo de Arquitetura) → architecture/architecture-graph.json
DegrausTodos, inclusive Reconhecimento
CustoDentro da execução
Aba Arquitetura
Grafo de componentes com ciclos. (Dataset de demonstração.)

O que aparece na tela

  • Barra: N componentes · N dependências, contador de ciclos e o seletor de nível Containers | + Módulos | Tudo (padrão: módulos).
  • "espessura da seta = referências": pares repetidos são somados; a espessura cresce em escala logarítmica; arestas inferidas são tracejadas.
  • Nó: nome, externo (tracejado), tipo, responsabilidade, detalhes, impacto, arquivos e linhas, tecnologia. Nó que participa de ciclo ganha anel âmbar.
  • Detalhe ao clicar: dependências, impacto de mudar (âmbar), caminho, arquivos, linhas.
  • Painel ciclos de dependência: o caminho a → b → a, se é de import ou de execução, e a explicação.

Para que serve

  • Estimar com base em estrutura: o impacto de mudar um nó está escrito nele.
  • Achar as costuras naturais para modularizar ou extrair serviço.
  • Mostrar ao cliente por que "mexeu aqui, quebrou ali": os ciclos.
Leia bem

O grafo mostra o que está no código, não o desenho oficial. Nós de nível componente só existem em documentação detalhada (Completa e Profunda) — depois de Essencial ou Reconhecimento, "Tudo" não acrescenta nada. Um ciclo só é destacado se todos os nós dele estiverem visíveis no nível escolhido. Peso 1 é acoplamento incidental; peso alto é estrutural.

Track 1 · Operation · 1.9.6

Architecture tab

What depends on what — and what breaks if I change this.

Who uses itArchitects, tech leads
WhenBefore estimating or planning a change
Produced bylubylegado-architecture-graph (Architecture Cartographer) → architecture/architecture-graph.json
RungsAll, Recon included
CostPart of the run
Architecture tab
Component graph with cycles. (Demo dataset.)

What's on screen

  • Bar: N components · N dependencies, a cycles counter and the level picker Containers | + Modules | Everything (default: modules).
  • "arrow thickness = references": repeated pairs are summed; thickness grows logarithmically; inferred edges are dashed.
  • Node: name, external (dashed), kind, responsibility, details, impact, files and lines, technology. A node that sits in a cycle gets an amber ring.
  • Detail on click: dependencies, impact of changing it (amber), path, files, lines.
  • Dependency cycles panel: the path a → b → a, whether it's import or runtime, and the explanation.

What it's for

  • Estimating from structure: the impact of changing a node is written on it.
  • Finding the natural seams to modularize or extract a service.
  • Showing the client why "touch it here, it breaks over there": the cycles.
Read it well

The graph shows what is in the code, not the official drawing. Component-level nodes only exist with detailed documentation (Complete and Deep) — after Essential or Recon, "Everything" adds nothing. A cycle is only highlighted if all its nodes are visible at the chosen level. Weight 1 is incidental coupling; high weight is structural.

Trilha 1 · Operação · 1.9.7

Aba Diagramas

Todos os desenhos que os agentes deixaram dentro dos documentos, reunidos numa biblioteca navegável.

Quem usaTodo o time técnico
QuandoOnboarding, apresentação ao cliente, revisão de arquitetura
Quem produzNenhum agente próprio: o servidor indexa cada bloco Mermaid dos .md em _lubylegado_sdd/
DegrausTodos — o conteúdo depende do que foi produzido
CustoNenhum — só lê o que já existe
Aba Diagramas
Biblioteca de diagramas. (Dataset de demonstração.)

As famílias

FamíliaVem de
C4arquivos c4-* (contexto, containers, componentes)
Arquiteturaarchitecture, deployment, soul
Modelo de dadoserd, data-dictionary, database/
Máquinas de estadostate-machines
Fluxogramasflowcharts/ — um por módulo
Sequênciassequences/
Casos de usouse-cases/
Outroso resto

O que aparece na tela

  • Barra: N desenhos em N artefatos, contagem das principais famílias e o filtro filtrar diagramas (por arquivo, título ou tipo).
  • Índice à esquerda agrupado por família; cada item com título (o cabeçalho mais próximo acima do bloco), arquivo e tipo.
  • À direita, o desenho renderizado sobre fundo claro, link para o arquivo e ampliar em tela cheia. O primeiro abre sozinho.
Leia bem

"O diagrama não compila" mostra o erro e o código-fonte: quase sempre um deslize de sintaxe do agente, corrigível no arquivo. "O bloco não foi encontrado" significa que o arquivo mudou depois da indexação — saia e volte à aba. As sequências por caso de uso ficam na aba Casos de uso, não aqui.

Track 1 · Operation · 1.9.7

Diagrams tab

Every drawing the agents left inside the documents, gathered into one browsable library.

Who uses itThe whole engineering team
WhenOnboarding, client presentations, architecture review
Produced byNo agent of its own: the server indexes every Mermaid block in the .md files under _lubylegado_sdd/
RungsAll — content depends on what was produced
CostNone — reads what already exists
Diagrams tab
Diagram library. (Demo dataset.)

The families

FamilyComes from
C4c4-* files (context, containers, components)
Architecturearchitecture, deployment, soul
Data modelerd, data-dictionary, database/
State machinesstate-machines
Flowchartsflowcharts/ — one per module
Sequencessequences/
Use casesuse-cases/
Othereverything else

What's on screen

  • Bar: N drawings across N artifacts, counts for the main families and the filter diagrams box (by file, title or kind).
  • Index on the left grouped by family; each entry with a title (the nearest heading above the block), file and kind.
  • On the right, the rendered drawing on a light background, a file link and expand to full screen. The first one opens by itself.
Read it well

"The diagram does not compile" shows the error and the source: almost always an agent syntax slip, fixable in the file. "The block was not found" means the file changed after indexing — leave and re-enter the tab. Per-use-case sequences live in the Use cases tab, not here.

Trilha 1 · Operação · 1.9.8

Aba Casos de uso

Quem usa o sistema, para conseguir o quê, por quais caminhos — e onde isso mora no código.

Quem usaAnalistas de negócio, QA, produto
QuandoValidação com negócio, escopo de reescrita, testes de aceite
Quem produzlubylegado-use-cases (Analista de Casos de Uso) → use-cases/use-cases.json e UC-NN-*.md
DegrausCompleta, Profunda, Essencial — não no Reconhecimento
CustoDentro da execução
Aba Casos de uso
Casos, atores e lacunas. (Dataset de demonstração.)

O que aparece na tela

  • Barra: N casos · N atores, confirmados (verde) e lacunas (âmbar); chips de ator para filtrar — pessoa (humano), robô (sistema), relógio (tempo).
  • Cartão: UC-id, nome, selo confirmado / inferido / suposto, ator principal, objetivo, include e extend.
  • Aberto, duas visões UML: Sequência (padrão, com zoom e alternância de fluxos alternativos e exceções) e Casos de uso (bonecos, fronteira do sistema, elipses).
  • Depois: pré-condições, fluxo principal, cada alternativa, exceções (nome → tratamento), pós-condições, regras de negócio e implementado em (arquivos clicáveis).
  • Cartão de lacunas no fim.

Para que serve

  • É o coração da demonstração: uma regra 🟢 com o arquivo de origem e uma lacuna 🔴 com a pergunta.
  • Base dos critérios de aceite do backlog e dos testes de ponta a ponta.
  • Conversa com o negócio sem jargão técnico.
Leia bem

Se aparecer "Remetente e destinatário… foram deduzidos do texto do fluxo", a sequência foi adivinhada pela tela a partir da primeira palavra de cada passo — costuma errar justamente quando dois sistemas conversam. Rode o agente de novo para o traçado vir dele. Caso sem âncora no código vai para lacunas, não para a lista.

Track 1 · Operation · 1.9.8

Use cases tab

Who uses the system, to get what, along which paths — and where that lives in the code.

Who uses itBusiness analysts, QA, product
WhenBusiness validation, rewrite scope, acceptance tests
Produced bylubylegado-use-cases (Use Case Analyst) → use-cases/use-cases.json and UC-NN-*.md
RungsComplete, Deep, Essential — not Recon
CostPart of the run
Use cases tab
Cases, actors and gaps. (Demo dataset.)

What's on screen

  • Bar: N cases · N actors, confirmed (green) and gaps (amber); actor chips to filter — person (human), bot (system), clock (time).
  • Card: UC-id, name, confirmed / inferred / assumed badge, primary actor, goal, include and extend.
  • Expanded, two UML views: Sequence (default, with zoom and toggles for alternative flows and exceptions) and Use cases (stick figures, system boundary, ellipses).
  • Then: preconditions, main flow, each alternative, exceptions (name → handling), postconditions, business rules and implemented in (clickable files).
  • A gaps card at the end.

What it's for

  • It's the heart of the demo: a 🟢 rule with its source file and a 🔴 gap with its question.
  • The basis for backlog acceptance criteria and end-to-end tests.
  • A conversation with the business without technical jargon.
Read it well

If you see "Sender and receiver… were deduced from the flow text", the screen guessed the sequence from the first word of each step — it tends to be wrong exactly when two systems talk. Rerun the agent so the trace comes from it. A case with no code anchor goes to gaps, not to the list.

Trilha 1 · Operação · 1.9.9

Aba Tecnologias

O que cada tecnologia sustenta, quão espalhada ela está e qual o risco de sustentação — a conversa do orçamento.

Quem usaTech leads, CTO, quem estima
QuandoOrçamento, auditoria, decisão de modernizar
Quem produzlubylegado-tech-stack (Radar de Tecnologias) → tech/technologies.json
DegrausTodos, inclusive Reconhecimento
CustoDentro da execução
Aba Tecnologias
Tecnologias com risco de sustentação. (Dataset de demonstração.)

O que aparece na tela

  • Barra: total, estruturais (acoplamento estrutural), sem suporte (vermelho: abandonada ou fim de vida), não usadas (âmbar); chips por categoria (linguagem, runtime, framework, biblioteca, banco, infraestrutura, ferramenta).
  • Cartão: logo, nome, versão (a dica mostra de que arquivo veio), categoria, propósito, risco (ok, desatualizada, abandonada, fim de vida, risco desconhecido), acoplamento (isolado, espalhado, estrutural), nota de risco e substituição.
  • Onde é usada · N: os três primeiros arquivos com o uso, depois mais N lugares.
  • Declarada e sem uso: "candidata a remoção".
  • Caixa vermelha sem manutenção: "trocar estas é trabalho que entra no orçamento da reescrita, não melhoria opcional".

Para que serve

  • Separar o que é melhoria opcional do que é trabalho obrigatório no orçamento.
  • Responder auditoria sobre componentes sem suporte.
  • Priorizar: acoplamento estrutural pesa mais no custo de reescrita do que o risco sozinho.
Leia bem

A versão vem só do repositório, nunca da memória do modelo: "versão não fixada" é achado, não falta de dado. Uma tecnologia em fim de vida mas isolada é mais barata de trocar do que uma desatualizada e estrutural.

Track 1 · Operation · 1.9.9

Technologies tab

What each technology holds up, how widespread it is and what its support risk is — the budget conversation.

Who uses itTech leads, CTO, estimators
WhenBudgeting, audits, modernization decisions
Produced bylubylegado-tech-stack (Technology Radar) → tech/technologies.json
RungsAll, Recon included
CostPart of the run
Technologies tab
Technologies with support risk. (Demo dataset.)

What's on screen

  • Bar: total, structural (structural coupling), unsupported (red: abandoned or end of life), unused (amber); category chips (language, runtime, framework, library, database, infrastructure, tool).
  • Card: logo, name, version (the tooltip shows which file it came from), category, purpose, risk (ok, outdated, abandoned, end of life, unknown risk), coupling (isolated, spread, structural), a risk note and replacement.
  • Where it is used · N: the first three files with how each uses it, then N more places.
  • Declared and unused: "removal candidate".
  • Red unmaintained box: "replacing these is work that belongs in the rewrite budget, not an optional improvement".

What it's for

  • Separating optional improvement from mandatory budget work.
  • Answering audits about unsupported components.
  • Prioritizing: structural coupling weighs more on rewrite cost than risk alone.
Read it well

The version comes only from the repository, never from the model's memory: "version not pinned" is a finding, not missing data. An end-of-life but isolated technology is cheaper to replace than an outdated structural one.

Trilha 1 · Operação · 1.9.10

Aba Arquitetura-alvo

Para onde este sistema pode ir — 2 a 4 arquiteturas viáveis, com a evidência — e com o que construir a escolhida.

Quem usaArquitetos, CTO
QuandoDepois da Resolução de lacunas, na decisão de modernizar
Quem produzlubylegado-refactor-architectrefactor/architectures.json; ao escolher, lubylegado-tech-specrefactor/tech-stack.json
DegrausPropostas: Completa, Profunda, Essencial. Stack: sob demanda
CustoEscolher uma arquitetura dispara o Tech Spec e consome cota
Aba Arquitetura-alvo
Arquiteturas candidatas com aderência. (Dataset de demonstração.)

1 · Para onde migrar

  • Propostas ordenadas por aderência, escolhidas de um catálogo fixo: manter-e-endurecer (sempre presente), monolito-modular, hexagonal, microsserviços, event-driven, cqrs-event-sourcing, serverless, soa-bff, pipeline-batch.
  • Cada uma: esforço (baixo a muito alto), formato de time, por quê, barra de aderência 0–100 (verde ≥ 65, âmbar ≥ 40, vermelho abaixo).
  • detalhes: como a aderência foi calculada, quando esta é a escolha errada (âmbar), por onde começar (passos), riscos, o que precisa existir antes.
  • Linha de descartadas, com o motivo (aderência abaixo de 30).

2 · Com o que construir

  • Antes de escolher: "O Tech Spec pesquisa a stack para aquele cenário — não para todos ao mesmo tempo."
  • Depois: um cartão por necessidade (linguagem, framework HTTP, persistência, mensageria…), com 2–3 candidatos, um sugerido, maturidade, atrito de migração, custo, lock-in e a lista âmbar confira antes de fechar.

Como usar

  • escolher → grava refactor/decision.json (decidido por humano) e dispara o Tech Spec na hora.
  • Escolher outra sobrescreve a decisão e roda a stack de novo. Se a decisão mudou e a stack não, a tela avisa: "Esta stack foi pesquisada para X, não para a escolha atual. Refaça a stack."
  • A escolha alimenta o Spec Kit: sem ela, os planos dizem o que precisa ser decidido antes de codificar.
Leia bem

O agente de arquitetura nunca escolhe — quem escolhe é uma pessoa. Manter-e-endurecer aparece mesmo com aderência baixa, de propósito: não mudar é sempre uma opção a comparar. O Tech Spec não acessa a rede: versões só aparecem quando vêm do repositório; o resto vai para confira antes de fechar.

Track 1 · Operation · 1.9.10

Target architecture tab

Where this system can go — 2 to 4 viable architectures, with the evidence — and what to build the chosen one with.

Who uses itArchitects, CTO
WhenAfter Gap resolution, when deciding to modernize
Produced bylubylegado-refactor-architectrefactor/architectures.json; on choosing, lubylegado-tech-specrefactor/tech-stack.json
RungsProposals: Complete, Deep, Essential. Stack: on demand
CostChoosing an architecture starts Tech Spec and uses quota
Target architecture tab
Candidate architectures with fit. (Demo dataset.)

1 · Where to migrate

  • Proposals sorted by fit, picked from a fixed catalog: keep-and-harden (always present), modular monolith, hexagonal, microservices, event-driven, cqrs-event-sourcing, serverless, soa-bff, pipeline-batch.
  • Each: effort (low to very high), team shape, why, a 0–100 fit bar (green ≥ 65, amber ≥ 40, red below).
  • details: how the fit was calculated, when this is the wrong choice (amber), where to start (steps), risks, what must exist first.
  • A discarded line, with the reason (fit below 30).

2 · What to build it with

  • Before choosing: "Tech Spec researches the stack for that scenario — not for all of them at once."
  • After: one card per need (language, HTTP framework, persistence, messaging…), with 2–3 candidates, one suggested, maturity, migration friction, cost, lock-in and the amber check before closing list.

How to use it

  • choose → writes refactor/decision.json (decided by a human) and starts Tech Spec right away.
  • Choosing another overwrites the decision and reruns the stack. If the decision changed and the stack didn't, the screen warns: "This stack was researched for X, not for the current choice. Redo the stack."
  • The choice feeds Spec Kit: without it, the plans list what must be decided before coding.
Read it well

The architecture agent never chooses — a person does. Keep-and-harden shows up even with low fit, on purpose: not changing is always an option to compare. Tech Spec has no network access: versions only show when they come from the repository; the rest goes to check before closing.

Trilha 1 · Operação · 1.9.11

Aba Qualidade

O inventário da dívida técnica, por área, na ordem do que é mais seguro e barato corrigir primeiro — com o especialista que faria cada mudança.

Quem usaTech leads
QuandoAo planejar refatoração
Quem produzlubylegado-refactor (orquestrador de Code Quality, só inventário) → _lubylegado_refactor/<contexto>/opportunities/*.md
DegrausCompleta, Profunda, Essencial — não no Reconhecimento
CustoDentro da execução
Aba Qualidade
Oportunidades priorizadas por ROI. (Dataset de demonstração.)

O que aparece na tela

  • Barra: N oportunidades em N áreas, e sem prova em vermelho.
  • Faixa âmbar fixa: "Nada foi aplicado. Este é o inventário priorizado: cada transformação é feita pelo especialista do verbo correspondente, sob aprovação de diff, no projeto — não neste clone."
  • Grupos por contexto. Cartão: número, título, verbo (reestruturar, modularizar, desacoplar, otimizar, simplificar, padronizar, podar — a dica explica cada um), estado quando decidido (aprovada, aplicada, revertida, recusada), retorno estimado, confiança e custo.
  • Aberto: o que se observa, por que vale, alvo com arquivos, não pode mudar (as regras da "alma" que o item toca), specs relacionadas.

Como a lista é ordenada

  1. Abertas primeiro. Decididas ficam esmaecidas.
  2. Por confiança: 🟢 coberto e entendido → 🟡 cobertura parcial → 🔴 sem prova de comportamento.
  3. Por custo: baixo → alto.
  4. Pelo número. O número é ordem de registro, não prioridade.
Leia bem

Vermelho não é oportunidade ruim: é oportunidade sem rede de segurança, e por isso mais cara do que parece — antes dela vêm testes de caracterização. Não existe botão de aplicar, de propósito.

Track 1 · Operation · 1.9.11

Quality tab

The technical debt inventory, by area, in order of what's safest and cheapest to fix first — with the specialist who would make each change.

Who uses itTech leads
WhenWhen planning refactoring
Produced bylubylegado-refactor (Code Quality orchestrator, inventory only) → _lubylegado_refactor/<context>/opportunities/*.md
RungsComplete, Deep, Essential — not Recon
CostPart of the run
Quality tab
Opportunities prioritized by ROI. (Demo dataset.)

What's on screen

  • Bar: N opportunities across N areas, and no proof in red.
  • A fixed amber strip: "Nothing was applied. This is the prioritized inventory: each transformation is done by the matching verb's specialist, with diff approval, in the project — not in this clone."
  • Groups by context. Card: number, title, verb (restructure, modularize, decouple, optimize, simplify, standardize, prune — the tooltip explains each), state once decided (approved, applied, reverted, refused), estimated return, confidence and cost.
  • Expanded: what is observed, why it's worth it, target with files, must not change (the "soul" rules it touches), related specs.

How the list is ordered

  1. Open ones first. Decided ones are dimmed.
  2. By confidence: 🟢 covered and understood → 🟡 partial coverage → 🔴 no proof of behavior.
  3. By cost: low → high.
  4. By number. The number is registration order, not priority.
Read it well

Red isn't a bad opportunity: it's an opportunity without a safety net, and therefore more expensive than it looks — characterization tests come first. There's no apply button, on purpose.

Trilha 1 · Operação · 1.9.12

Aba Análise

Um relatório para o sistema que vai continuar no ar: o que atrapalha mantê-lo, para quem decide e não programa.

Quem usaGestores, quem assume a sustentação
QuandoQuando não há reescrita no horizonte
Quem produzlubylegado-analise_lubylegado_sdd/analise/ (sistema.md, tecnologias.md, situacao.md, backlog.md, analise.json)
DegrausPrecisa do Sumário; fica mais rica fora do Reconhecimento
CustoSob demanda, por botão
Aba Análise
Relatório de sustentação. (Dataset de demonstração.)

As quatro partes

ParteConteúdo
1 · O que é o sistemaresumo sem nenhum termo técnico, quem usa, o coração, o que para se ele parar
2 · Com o que ele é feitotabela tecnologia | para que serve aqui | desde | situação (ok, atenção, crítica) e as integrações com direção
3 · A situação hojecobertura de testes (boa, parcial, nenhum teste automatizado) e os itens de dívida D-NN, de crítico a baixo, cada um com o observado, como funciona hoje, consequência, o que precisa ser feito, se tem teste e o critério da severidade
4 · O backlog futurosó com anexo: cada pedido R-NN com complexidade neste sistema, por que, o que toca e a dívida no caminho

Como usar

  • Backlog futuro · opcional: anexe a lista do cliente (md, txt, csv, json) de até 512 kB. Arquivo vazio é recusado.
  • analisar roda o agente; exportar markdown baixa <sistema>-analise.md com tabela-resumo e as quatro partes na ordem.
  • As categorias de dívida explicam o tipo de dor: entendimento, mudança, verificação, operação, entrega, dependência, conhecimento.
Leia bem

Rodar sem anexo apaga a lista anterior — uma lista velha nunca vaza para um relatório novo. A cobertura de testes é avaliada pelo agente lendo o repositório (pastas, CI, scripts); nenhuma ferramenta de cobertura é executada. Durante uma nova análise, exportar devolve o relatório anterior.

Track 1 · Operation · 1.9.12

Analysis tab

A report for the system that will stay live: what gets in the way of maintaining it, for people who decide and don't code.

Who uses itManagers, whoever takes over maintenance
WhenWhen no rewrite is on the horizon
Produced bylubylegado-analise_lubylegado_sdd/analise/ (sistema.md, tecnologias.md, situacao.md, backlog.md, analise.json)
RungsNeeds the Summary; richer outside Recon
CostOn demand, by button
Analysis tab
Maintenance report. (Demo dataset.)

The four parts

PartContent
1 · What the system isa summary with no technical terms, who uses it, the heart, what stops if it stops
2 · What it's built withtable technology | what it does here | since | status (ok, attention, critical) and integrations with direction
3 · Where things standtest coverage (good, partial, no automated tests) and debt items D-NN, critical to low, each with what was observed, how it works today, consequence, what needs doing, whether a test exists and the severity criterion
4 · The future backlogonly with an attachment: each request R-NN with its complexity in this system, why, what it touches and the debt in the way

How to use it

  • Future backlog · optional: attach the client's list (md, txt, csv, json) up to 512 kB. Empty files are refused.
  • analyze runs the agent; export markdown downloads <system>-analise.md with a summary table and the four parts in order.
  • Debt categories name the kind of pain: understanding, change, verification, operation, delivery, dependency, knowledge.
Read it well

Running without an attachment deletes the previous list — an old list never leaks into a new report. Test coverage is assessed by the agent reading the repository (folders, CI, scripts); no coverage tool is run. During a new analysis, export returns the previous report.

Trilha 1 · Operação · 1.9.13

Aba Kanban

Transforma a análise no backlog de requisitos da reescrita — e deixa as pessoas decidirem o que está pronto.

Quem usaProduct owners, tech leads
QuandoDepois da extração, antes do Spec Kit
Quem produzlubylegado-backlogbacklog/backlog.json; lubylegado-qa acrescenta os testes a cada card
DegrausCompleta, Profunda, Essencial — não no Reconhecimento
CustoDentro da execução
Aba Kanban
Requisitos em quatro colunas. (Dataset de demonstração.)

As colunas

ColunaSignifica
Bloqueadodepende de lacuna aberta
Refinamentofalta critério verificável
Backlogdescrito, aguardando vez
Pronto para reescrevercritério e origem confirmados — é o escopo do Spec Kit

O que aparece na tela

  • Barra: N requisitos, contagens must / should / could, testes e filtro por épico.
  • Card: título, REQ-id, prioridade (must, should, could, won't riscado), estimativa PP–GG, ícones de testes, integrações e dependências, épico.
  • Painel de detalhe: descrição, Por que não reescrever (nos won't), critérios de aceite, regras de negócio, testes de unidade com o veredito do QA (coberto por testes, parcial, sem critério para testar, fora do escopo) e cada teste em dado / quando / então, com o que prova e os dublês.
  • Campos: Coluna, épico, estimativa, confiança, componentes, integrações, dependências, casos de uso, arquivos no legado.

Como usar

  • Não há arrastar e soltar: mova o card pelo seletor Coluna no painel de detalhe.
  • A mudança vale na hora e fica gravada por run e card no banco local; rodar a análise de novo não apaga as movimentações.
  • Avisos úteis: "Sem critério de aceite: este card não deveria sair do refinamento" e "O Analista de Testes ainda não passou por este card".
Leia bem

A coluna inicial é o palpite do agente com base em evidência — a decisão é humana. Won't é economia, não esquecimento. Os testes são especificação, não código. O QA nunca move cards. Se uma nova análise renumerar os cards, movimentações antigas podem cair em cards diferentes.

Track 1 · Operation · 1.9.13

Kanban tab

Turns the analysis into the rewrite requirements backlog — and lets people decide what's ready.

Who uses itProduct owners, tech leads
WhenAfter extraction, before Spec Kit
Produced bylubylegado-backlogbacklog/backlog.json; lubylegado-qa adds tests to each card
RungsComplete, Deep, Essential — not Recon
CostPart of the run
Kanban tab
Requirements in four columns. (Demo dataset.)

The columns

ColumnMeans
Blockeddepends on an open gap
Refinementmissing a verifiable criterion
Backlogdescribed, waiting its turn
Ready to rewritecriterion and origin confirmed — it's the Spec Kit scope

What's on screen

  • Bar: N requirements, must / should / could counts, tests and an epic filter.
  • Card: title, REQ-id, priority (must, should, could, won't struck through), estimate XS–XL, icons for tests, integrations and dependencies, epic.
  • Detail panel: description, Why not rewrite (on won't cards), acceptance criteria, business rules, unit tests with the QA verdict (covered by tests, partial, no criterion to test, out of rewrite scope) and each test as given / when / then, with what it proves and its doubles.
  • Fields: Column, epic, estimate, confidence, components, integrations, dependencies, use cases, legacy files.

How to use it

  • No drag and drop: move a card with the Column picker in the detail panel.
  • The move applies immediately and is saved per run and card in the local database; rerunning the analysis doesn't wipe moves.
  • Useful warnings: "No acceptance criteria: this card should not leave refinement" and "The Test Analyst has not reviewed this card yet".
Read it well

The starting column is the agent's evidence-based guess — the decision is human. Won't is savings, not oversight. Tests are a specification, not code. QA never moves cards. If a new analysis renumbers cards, old moves may land on different cards.

Trilha 1 · Operação · 1.9.14

Aba Spec Kit

Transforma os cards que uma pessoa marcou como prontos num pacote de desenvolvimento orientado a especificação, para um projeto novo.

Quem usaO time que vai construir o sistema novo
QuandoDepois de curar o Kanban e escolher a arquitetura-alvo
Quem produzlubylegado-speckit_lubylegado_sdd/speckit/
DegrausPrecisa de backlog e de ao menos um card pronto
CustoSob demanda, por botão
Aba Spec Kit
Features especificadas em ordem de dependência. (Dataset de demonstração.)

O que aparece na tela

  • Barra: N features especificadas, cards prontos, no backlog, tarefas; botões gerar specs (desligado com zero cards prontos) e exportar arquivos.
  • Uma de três situações: sem backlog; nenhum card em Pronto para reescrever (com a contagem por coluna); ou "N de T cards estão prontos e entram no pacote".
  • Constituição do projeto: os princípios que nenhuma implementação pode violar — o documento que o agente de codificação relê a cada tarefa.
  • Stack do plano, escolhida na Arquitetura-alvo, ou o aviso de que ainda não foi escolhida.
  • Features, na ordem de dependência: cada uma com épico, depende de, histórias, critérios, tarefas e links para spec, plan e tasks.
  • Fora deste pacote (id, coluna e motivo) e perguntas em aberto — a pauta com quem conhece o negócio.

Exportação

exportar arquivos baixa <sistema>-speckit.zip com speckit/ e um index.md montado na hora: resumo, como usar, ordem de implementação (ciclos quebrados e sinalizados com "começa antes de…"), dependências fora do pacote, perguntas em aberto, cards excluídos e o mapa de pastas.

Leia bem

Nenhum arquivo do sistema analisado é alterado: o pacote é para um projeto novo. Card pronto sem critério de aceite é excluído mesmo assim. A lista da tela segue a ordem em que o agente escreveu; a ordem real de dependência está no index.md exportado. Para planos concretos, escolha a arquitetura antes e gere de novo.

Track 1 · Operation · 1.9.14

Spec Kit tab

Turns the cards a person marked ready into a spec-driven development package for a new project.

Who uses itThe team that will build the new system
WhenAfter curating the Kanban and choosing the target architecture
Produced bylubylegado-speckit_lubylegado_sdd/speckit/
RungsNeeds a backlog and at least one ready card
CostOn demand, by button
Spec Kit tab
Features specified in dependency order. (Demo dataset.)

What's on screen

  • Bar: N features specified, ready cards, in the backlog, tasks; buttons generate specs (disabled with zero ready cards) and export files.
  • One of three situations: no backlog; no card in Ready to rewrite (with a per-column count); or "N of T cards are ready and go into the package".
  • Project constitution: the principles no implementation may break — the document the coding agent rereads on every task.
  • Plan stack, chosen in Target architecture, or a warning that it hasn't been chosen.
  • Features, in dependency order: each with epic, depends on, stories, criteria, tasks and links to spec, plan and tasks.
  • Outside this package (id, column and reason) and open questions — the agenda with whoever knows the business.

Export

export files downloads <system>-speckit.zip with speckit/ and an index.md built on the spot: summary, how to use, implementation order (cycles broken and flagged "starts before…"), dependencies outside the package, open questions, excluded cards and the folder map.

Read it well

No file of the analyzed system changes: the package is for a new project. A ready card without acceptance criteria is excluded anyway. The on-screen list follows the order the agent wrote; the real dependency order is in the exported index.md. For concrete plans, choose the architecture first and generate again.

Trilha 1 · Operação · 1.9.15

Aba Consolidado

Para sessões com dois ou mais sistemas: onde eles se tocam, o que compartilham e onde divergem.

Quem usaArquitetos
QuandoEngajamentos com vários repositórios
Quem produzComparação calculada na tela; pontos de contato por lubylegado-federation-mapfederation/contact-points.json
DegrausSó aparece com mais de um sistema na sessão
CustoA federação é um run próprio, com custo próprio

O que aparece na tela

  • Barra: N sistemas nesta sessão, linhas totais, casos de uso, cards e custo.
  • Panorama: tabela por sistema — módulos, linhas, ciclos, integrações que entram e saem, tecnologias, casos de uso, cards e custo. "—" é falta de dado.
  • Onde os sistemas se tocam: o estado da análise cruzada (rodando, parada esperando decisão na aba do run de Federação, pronta para rodar com o botão rodar análise cruzada, ou o motivo do bloqueio) e os cartões de ponto de contato — de → para, tipo, criticidade, assíncrono, inferido, protocolo, propósito, comportamento em falha, contrato divergente e só um lado tem evidência. Infraestrutura compartilhada em âmbar.
  • Stack: tecnologias em comum e exclusivas; mesma tecnologia, versão declarada diferente só quando os dois lados declaram número.
  • Backlog somado e as lacunas da análise cruzada.

Quando a federação roda

Sozinha, quando nenhum run da sessão está pendente, rodando ou esperando decisão e ao menos dois terminaram (concluído ou com falhas). Tem uma parada própria: Confirmação dos pontos de contato — integração real, rota morta ou sistema fora desta sessão?

Leia bem

Uma tecnologia "exclusiva" pode ser a mesma com nomes diferentes em cada análise. Ponto 🟡 inferido tem evidência de um lado só. Integração com terceiros não é ponto de contato. A federação não funde sistemas nem cruza casos de uso — isso está planejado, não implementado.

Track 1 · Operation · 1.9.15

Consolidated tab

For sessions with two or more systems: where they touch, what they share and where they diverge.

Who uses itArchitects
WhenMulti-repository engagements
Produced byComparison computed on screen; contact points by lubylegado-federation-mapfederation/contact-points.json
RungsOnly appears with more than one system in the session
CostFederation is its own run, with its own cost

What's on screen

  • Bar: N systems in this session, total lines, use cases, cards and cost.
  • Overview: a per-system table — modules, lines, cycles, inbound and outbound integrations, technologies, use cases, cards and cost. "—" means missing data.
  • Where the systems touch: the cross-analysis state (running, stopped waiting for a decision in the Federation run tab, ready to run with run cross-analysis, or the blocking reason) and contact-point cards — from → to, kind, criticality, asynchronous, inferred, protocol, purpose, failure behavior, divergent contract and only one side has evidence. Shared infrastructure in amber.
  • Stack: shared and exclusive technologies; same technology, different declared version only when both sides declare a number.
  • Combined backlog and the cross-analysis gaps.

When federation runs

On its own, when no run in the session is pending, running or waiting for a decision and at least two have finished (done or with failures). It has its own stop: Contact point confirmation — a real integration, a dead route, or a system outside this session?

Read it well

An "exclusive" technology may be the same one named differently by each analysis. A 🟡 inferred point has evidence on one side only. Third-party integrations aren't contact points. Federation doesn't merge systems or cross-reference use cases — that's planned, not built.

Trilha 1 · Operação · 1.9.16

Aba Dossiê

Tudo o que a execução produziu, num markdown que dá para mandar por e-mail.

Quem usaLiderança, cliente, anexo de proposta
QuandoA qualquer momento, inclusive com o run em curso
Quem produzCódigo do servidor, sem agente: recortes literais dos artefatos
DegrausMais completo na Completa
CustoNenhum — só lê o que já existe

O conteúdo, na ordem

BlocoVem de
Capa: origem, commit, data, etapas concluídas, custoo run
Os sistemas juntos, riscos do conjunto, o que não foi possível determinarfederation/contact-points.md
O sistema em números e sumário executivomigration/migration_strategy.md
Riscos críticos (só as linhas 🔴)migration/risk_register.md
Estratégia recomendadaestratégia de migração
Esforço estimado_pricing/<feature>/estimate.md
Paradigma do legadoparadigm_decision.md
Segurança e arquitetura em uma páginaarchitecture.md
Decisões humanas registradascada resposta de parada; as automáticas aparecem como decidido pelo produto
Higiene de uso de IAAgentic Squad, só para pasta local (ver 1.10)
O que a execução produziucontagem de arquivos por pasta

Como usar

  • Botão Dossiê na barra do topo, em qualquer aba. Baixa dossie-<sistema>-<data>.md no idioma da tela e guarda uma cópia em studio/data/dossies/.
  • Cada bloco é recorte literal com a fonte citada — nada é resumido nem reescrito.
Leia bem

A maior parte dos blocos vem das faixas de Migração e Preço: em Essencial e Reconhecimento o dossiê sai quase todo com "Não produzido nesta execução — vem de X". Isso é esperado, não erro. Erro de download não aparece na tela.

Track 1 · Operation · 1.9.16

Dossier tab

Everything the run produced, in one markdown file you can email.

Who uses itLeadership, client, proposal attachment
WhenAny time, even mid-run
Produced byServer code, no agent: literal excerpts from artifacts
RungsFullest in Complete
CostNone — reads what already exists

Contents, in order

BlockComes from
Cover: source, commit, date, steps done, costthe run
The systems together, joint risks, what could not be determinedfederation/contact-points.md
The system in numbers and executive summarymigration/migration_strategy.md
Critical risks (🔴 rows only)migration/risk_register.md
Recommended strategymigration strategy
Estimated effort_pricing/<feature>/estimate.md
Legacy paradigmparadigm_decision.md
Security and architecture on one pagearchitecture.md
Recorded human decisionsevery stop answer; automatic ones show as decided by the product
AI usage hygieneAgentic Squad, local folders only (see 1.10)
What the run producedfile counts per folder

How to use it

  • The Dossier button in the top bar, on any tab. Downloads dossie-<system>-<date>.md in the screen language and keeps a copy in studio/data/dossies/.
  • Every block is a literal excerpt with its source cited — nothing is summarized or rewritten.
Read it well

Most blocks come from the Migration and Pricing stages: in Essential and Recon the dossier is mostly "Not produced in this run — comes from X". That's expected, not an error. Download errors don't show on screen.

Trilha 1 · Operação · 1.10

Exportar: dossiê, relatório e specs

Três saídas prontas para levar para fora do Studio. Todas funcionam a partir do que está em disco — sem rodar agente de novo.

ExportaçãoOndeO que saiUso típico
DossiêBarra do topoUm markdown com tudo o que a execução produziu: riscos críticos, estratégia, esforço, as decisões que você tomou e a higiene de IA do projeto*. Funciona com o run em curso — bloco ausente diz qual etapa o produziria.Entrega executiva, anexo de proposta
Relatório de análiseAba Análise → exportar markdownO relatório em quatro partes, na ordem da narrativaCliente que vai manter o sistema no ar
Spec KitAba Spec Kit → exportar arquivosspec, plan e tasks de cada feature, mais um index.md com a ordem de implementaçãoAbrir num projeto novo e desenvolver com agentes de codificação

* A higiene de IA avalia como o repositório está preparado para trabalho com agentes (arquivo de contexto CLAUDE.md/AGENTS.md, CI, segredos fora do git, configuração local fora do versionamento etc. — 15 itens). Só aparece quando o sistema foi selecionado como pasta local e o Agentic Squad está rodando na mesma máquina; fora disso o dossiê diz "Não verificado", e não "está tudo certo".

Os artefatos brutos

Tudo o que os agentes escreveram fica em _lubylegado_sdd/ no workspace da execução: inventário, dependências, dicionário de dados, domínio e regras, máquinas de estado, permissões, decisões arquiteturais, C4, ERD, casos de uso, backlog, perguntas e lacunas. A faixa Documentação ainda gera um mini-site HTML navegável do sistema como ele é hoje, útil para onboarding do time do cliente.

Antes de enviar ao cliente

Revise o dossiê. Confira se não há lacuna 🔴 apresentada como fato no texto de capa, se o nome do cliente está certo e se o documento foi gerado no idioma do cliente.

Track 1 · Operation · 1.10

Export: dossier, report and specs

Three outputs ready to take outside the Studio. All of them work from what's on disk — no agent runs again.

ExportWhereWhat comes outTypical use
DossierTop barOne markdown with everything the run produced: critical risks, strategy, effort, the decisions you made and the project's AI hygiene*. Works while the run is in progress — a missing block says which step would produce it.Executive deliverable, proposal attachment
Analysis reportAnalysis tab → export markdownThe four-part report, in narrative orderA client keeping the system live
Spec KitSpec Kit tab → export filesspec, plan and tasks per feature, plus an index.md with the implementation orderOpen in a new project and build with coding agents

* AI hygiene checks how the repository is set up for agent work (a CLAUDE.md/AGENTS.md context file, CI, secrets kept out of git, local config kept out of version control, etc. — 15 items). It only shows up when the system was selected as a local folder and Agentic Squad is running on the same machine; otherwise the dossier says "Not verified", not "all good".

The raw artifacts

Everything the agents wrote lives in _lubylegado_sdd/ in the run's workspace: inventory, dependencies, data dictionary, domain and rules, state machines, permissions, architecture decisions, C4, ERD, use cases, backlog, questions and gaps. The Documentation stage also builds a navigable HTML mini-site of the system as it is today, useful for onboarding the client's team.

Before sending it to a client

Review the dossier. Check that no 🔴 gap is presented as fact in the cover text, that the client's name is right, and that the document was generated in the client's language.

Trilha 1 · Operação · 1.11

Vários sistemas e federação

Empresas raramente têm um legado só. Selecione vários repositórios na mesma sessão: cada um roda em paralelo, e a análise cruzada descobre o que trafega entre eles.

  1. Selecione todas as origens na primeira tela. O botão mostra quantas execuções vão rodar em paralelo.
  2. Cada sistema tem sua aba, com fluxo, paradas e artefatos próprios.
  3. Quando pelo menos dois sistemas terminam, a Federação começa sozinha. Ela tem uma parada própria: Confirmação dos pontos de contato. Se não tiver disparado, a aba Consolidado oferece rodar análise cruzada.
  4. Leia o Consolidado. Ele só aparece com mais de um sistema.
O que a federação faz — e o que não faz

Ela descobre onde os sistemas se tocam: chamadas HTTP, filas, banco compartilhado, configuração. Não funde dois sistemas num só, não cruza casos de uso nem monta um domínio comum — isso está planejado, não implementado. Dois apps que compartilham um backend mas nunca se chamam produzem poucos pontos de contato.

O que o Consolidado mostra

  • Panorama — por sistema: módulos, linhas, ciclos, integrações que entram e saem, tecnologias, casos de uso, cards e custo.
  • Onde os sistemas se tocam — cada ponto de contato com criticidade, se é assíncrono, e se é inferido ou se só um lado tem evidência.
  • Stack — tecnologias em comum e exclusivas; divergência de versão só quando os dois lados declaram número.
  • Backlog somado e lacunas da análise cruzada.
Track 1 · Operation · 1.11

Several systems and federation

Companies rarely have just one legacy system. Select several repositories in the same session: each runs in parallel, and the cross-analysis finds out what flows between them.

  1. Select every source on the first screen. The button shows how many runs will go in parallel.
  2. Each system gets its own tab, with its own flow, stops and artifacts.
  3. Once at least two systems finish, Federation starts on its own. It has its own stop: Contact point confirmation. If it didn't fire, the Consolidated tab offers run cross-analysis.
  4. Read Consolidated. It only appears with more than one system.
What federation does — and doesn't

It finds where the systems touch: HTTP calls, queues, shared databases, config. It doesn't merge two systems into one, cross-reference use cases or build a shared domain — that's planned, not built. Two apps that share a backend but never call each other produce few contact points.

What Consolidated shows

  • Overview — per system: modules, lines, cycles, inbound and outbound integrations, technologies, use cases, cards and cost.
  • Where the systems touch — each contact point with criticality, whether it's asynchronous, and whether it's inferred or only one side has evidence.
  • Stack — shared and exclusive technologies; a version mismatch is flagged only when both sides declare a number.
  • Combined backlog and the cross-analysis gaps.
Trilha 1 · Operação · 1.12

Segurança e limites

O que o Studio garante por construção — e o que ele deliberadamente não faz. Saber os dois evita prometer errado.

Garantias de construção

O legado não é tocado

A análise roda sobre um clone no workspace da execução. Nenhum arquivo do repositório original é alterado. Os artefatos nascem numa estrutura separada.

Nenhum agente do diagnóstico escreve código

Nem a Qualidade aplica refatoração, nem o Spec Kit altera o sistema: ele gera um projeto novo.

API só na máquina local

A API escuta no loopback e valida a origem antes de qualquer operação de git.

Tudo gravado

Eventos, artefatos e decisões ficam no SQLite local. Reabrir é refazer a tela, não rodar de novo.

Agente não herda seu ambiente

Os agentes rodam com um conjunto restrito de ferramentas permitidas, não com tudo o que o seu terminal pode fazer.

Rede só quando pedida

A única etapa que pesquisa na internet é o Scanner de mercado do Researcher, disparada por clique, buscando pelo problema — nunca pelo código.

Limites que você precisa saber

  • O código é lido por um modelo de IA através do CLI logado (Claude Code ou Cursor). A política de dados é a do provedor e do plano desse CLI. Para código de cliente, use a conta corporativa aprovada e confirme o que o contrato permite antes de rodar.
  • O Studio não escreve código — nem de produção, nem de teste. Ele especifica os testes; os testes de caracterização e as transformações são escritos depois, no projeto real.
  • O Studio não aplica refatoração. O Ato "Transformar" do processo comercial é conduzido por engenheiros no projeto real, com rede de segurança, diff aprovado e reversibilidade.
  • O que não está no código não é descoberto. Regra que só existe na cabeça de alguém, comportamento que depende de dado de produção, configuração de infraestrutura fora do repositório: tudo isso vira lacuna.
  • Profundidade depende do ecossistema. O processo é agnóstico de linguagem, mas a riqueza dos artefatos varia com o que o repositório oferece (histórico git, DDL, testes, telas).
  • Custo e tempo crescem com o porte e com o degrau escolhido. Use o Reconhecimento para medir antes de comprometer o pacote completo.
Track 1 · Operation · 1.12

Safety and limits

What the Studio guarantees by design — and what it deliberately doesn't do. Knowing both keeps you from promising the wrong thing.

Guarantees by design

The legacy system isn't touched

The analysis runs on a clone in the run's workspace. No file in the original repository changes. Artifacts are written to a separate structure.

No diagnosis agent writes code

Quality doesn't apply refactorings, and Spec Kit doesn't change the system: it generates a new project.

API on the local machine only

The API listens on loopback and validates the source before any git operation.

Everything recorded

Events, artifacts and decisions live in local SQLite. Reopening rebuilds the screen; it doesn't rerun anything.

Agents don't inherit your environment

Agents run with a restricted set of allowed tools, not everything your terminal can do.

Network only on request

The only step that searches the web is the Researcher's Market scanner, triggered by a click, searching by the problem — never by the code.

Limits you need to know

  • The code is read by an AI model through the logged-in CLI (Claude Code or Cursor). The data policy is that provider's and that plan's. For client code, use the approved corporate account and confirm what the contract allows before running.
  • The Studio doesn't write code — neither production nor test code. It specifies the tests; characterization tests and transformations are written later, in the real project.
  • The Studio doesn't apply refactorings. The "Transform" act of the sales process is run by engineers in the real project, with a safety net, an approved diff and reversibility.
  • What isn't in the code isn't discovered. A rule that only lives in someone's head, behavior that depends on production data, infrastructure config outside the repository: all of it becomes a gap.
  • Depth depends on the ecosystem. The process is language-agnostic, but how rich the artifacts are depends on what the repository offers (git history, DDL, tests, screens).
  • Cost and time grow with size and with the rung you pick. Use Recon to measure before committing to the complete package.
Trilha 1 · Operação · 1.13

Solução de problemas

Os tropeços mais comuns e o que fazer.

"Nenhum motor encontrado nesta máquina"

Nenhum CLI está no PATH. Instale o Claude Code ou o Cursor CLI e clique em procurar de novo. Se usa nvm, abra um terminal novo antes de rodar ./run.sh.

"execução real ainda não suporta o motor …"

Você selecionou Codex ou Gemini CLI. Eles aparecem no painel, mas só Claude Code e Cursor executam agentes. Selecione um dos dois e rode de novo.

"O CLI está instalado, mas nenhuma conta está logada"

Rode o comando de login indicado na tela (claude auth login ou cursor-agent login) e clique em procurar de novo. Sem login, o primeiro agente falha com "Not logged in".

"O CLI está instalado, mas não consegui ler a conta autenticada"

Faça login no CLI pelo terminal (ex.: abra o claude e autentique) e volte à tela. Sem conta autenticada o agente não consegue rodar.

A porta 8788 (ou 5273) está ocupada

O run.sh diz qual processo está na porta e para. Se for outro projeto, suba com PORT=9000 ./run.sh. Se for uma execução antiga deste projeto, rodar de novo já a derruba.

Uma etapa ficou "sem sinal há N min"

O agente não emitiu nada por um tempo. O executor encerra a etapa ao atingir o limite exibido, em vez de travar o run. Depois, use Retomar: as etapas concluídas não rodam de novo.

Uma etapa falhou ou foi pulada

Clique na etapa para ver o motivo. Opcionais sem material (ex.: Visor sem screenshots) são pulados por design. Ferramenta binária ausente também é pulada com aviso, quando a etapa a declara opcional.

A faixa de preço não trouxe preço

O perfil de cobrança não foi preenchido. Sem ele, a faixa só mede tamanho. Preencha o perfil e rode de novo.

"Não foi possível montar esta aba"

O artefato que alimenta a tela saiu fora do formato esperado. Rode de novo o agente daquela aba (quando há botão de atualizar) ou confira o JSON correspondente no workspace.

"O diagrama não compila"

Um bloco Mermaid gerado tem erro de sintaxe. O restante da aba continua válido; o arquivo de origem pode ser aberto e corrigido no workspace.

O disco está enchendo

Cada execução guarda um clone. Exclua sessões antigas pelo Histórico (apaga o workspace junto) ou, para zerar tudo, rm -rf studio/data.

Os artefatos saíram em português para um cliente dos EUA

Os artefatos seguem o idioma da tela no momento da execução. Troque para English no rodapé da gaveta e rode de novo.

Track 1 · Operation · 1.13

Troubleshooting

The most common stumbles and what to do.

"No engine found on this machine"

No CLI is on the PATH. Install Claude Code or the Cursor CLI and click scan again. If you use nvm, open a new terminal before running ./run.sh.

"real execution doesn't support the … engine yet"

You selected Codex or Gemini CLI. They show up in the panel, but only Claude Code and Cursor run agents. Select one of them and run again.

"The CLI is installed, but no account is logged in"

Run the login command shown on screen (claude auth login or cursor-agent login) and click scan again. Without a login, the first agent fails with "Not logged in".

"The CLI is installed, but I couldn't read the authenticated account"

Log in to the CLI from the terminal (e.g. open claude and authenticate) and come back to the screen. Without an authenticated account the agent can't run.

Port 8788 (or 5273) is taken

run.sh tells you which process holds the port and stops. If it's another project, start with PORT=9000 ./run.sh. If it's an old run of this project, running again already stops it.

A step shows "no signal for N min"

The agent hasn't emitted anything for a while. The executor ends the step when it hits the displayed limit, instead of hanging the run. Then use Resume: finished steps don't run again.

A step failed or was skipped

Click the step to see why. Optional steps without material (e.g. Visor without screenshots) are skipped by design. A missing binary tool is also skipped with a warning when the step declares it optional.

The pricing stage produced no price

The billing profile wasn't filled in. Without it, the stage only measures size. Fill in the profile and run again.

"Couldn't build this tab"

The artifact behind the screen came out in an unexpected format. Rerun that tab's agent (when there's a refresh button) or check the matching JSON in the workspace.

"The diagram doesn't compile"

A generated Mermaid block has a syntax error. The rest of the tab is still valid; the source file can be opened and fixed in the workspace.

The disk is filling up

Every run keeps a clone. Delete old sessions from History (it deletes the workspace too) or, to wipe everything, rm -rf studio/data.

The artifacts came out in Portuguese for a US client

Artifacts follow the screen's language at run time. Switch to English at the bottom of the drawer and run again.

Trilha 1 · Operação · 1.14

Laboratório prático

Três exercícios, do sem custo ao real. Faça na ordem. O repositório já traz um sistema pequeno em sample/ para praticar.

Exercício 1 — A interface, sem gastar cota (20 min)

Exercício 2 — Reconhecimento real (≈ minutos)

Exercício 3 — Diagnóstico com decisões

Critério de conclusão da trilha

Você conduz uma execução sozinho, explica cada aba para um cliente e sabe dizer, sem consultar, o que o Studio não faz.

Track 1 · Operation · 1.14

Hands-on lab

Three exercises, from zero cost to real. Do them in order. The repository ships a small system in sample/ for practice.

Exercise 1 — The UI, without spending quota (20 min)

Exercise 2 — A real Recon (≈ minutes)

Exercise 3 — A diagnosis with decisions

Track completion criterion

You run an analysis on your own, explain every tab to a client, and can say — without looking — what the Studio does not do.

Fluxo · F1

O motor em uma página

Da pasta do cliente até a aba na tela: o caminho que uma análise percorre.

O Studio Legado é uma aplicação local com duas partes: uma API em Node que orquestra o trabalho e uma interface em React que mostra o que acontece. Quem faz a análise não é o Studio: são agentes — instruções escritas executadas, uma a uma, pelo CLI de IA logado na máquina (Claude Code ou Cursor).

1 · Origemrepositório ou pasta
2 · Workspaceclone isolado + skills
3 · Executorgrafo de etapas, em ordem
4 · AgenteCLI roda a SKILL.md
5 · Artefatos_lubylegado_sdd/
6 · EventosSQLite, ao vivo
7 · Leiturasabas, dossiê, exports

As sete ideias que explicam tudo

  1. O legado nunca é tocado. Cada execução trabalha num clone em studio/data/workspaces/<run>/. A pasta ou o repositório de origem não muda.
  2. Um agente é um arquivo de instruções. Uma SKILL.md diz o que ler, o que produzir e com que regras. O Studio só manda o CLI executá-la. F2
  3. Um agente por vez, em ordem de dependência. O executor monta um grafo (DAG) e roda cada etapa quando as dependências terminaram. Vários sistemas rodam em paralelo; dentro de um sistema, é serial. F4
  4. Tudo vira arquivo. Cada agente grava seus artefatos; o próximo lê o que o anterior escreveu. As abas leem esses mesmos arquivos. F3
  5. Quando o código não responde, o processo para. Paradas (gates) esperam uma decisão humana; a resposta é gravada e, nas lacunas, volta para os arquivos. E3
  6. Tudo fica gravado como evento. Cada início, arquivo, falha e decisão é um evento no SQLite. A tela é recalculada a partir deles — por isso reabrir pelo Histórico não roda nada de novo. F5
  7. Nada escreve código. Os agentes do diagnóstico produzem conhecimento, planos e especificações. Transformar código é trabalho de engenharia, fora do Studio, com prova.

Onde cada coisa mora

PeçaCaminhoPapel
API e executorstudio/server/executor do grafo, adaptadores de motor (claude.js, cursor.js), supervisão do processo, SQLite, exports
Interfacestudio/src/grafo, abas, diálogos; lê o catálogo gerado
Catálogostudio/src/catalog/fluxos, faixas, degraus, famílias e descrição dos artefatos; agents.json é gerado a partir das skills
Skills do frameworkagents/agentes de engenharia reversa (lubylegado-*)
Skills da Lubystudio/agents/agentes que alimentam as abas (lubylegado-*)
Dadosstudio/data/studio.db (histórico) e workspaces/ (clones e artefatos) — fora do git
Flow · F1

The engine on one page

From the client's folder to the tab on screen: the path an analysis takes.

Studio Legado is a local application with two parts: a Node API that orchestrates the work and a React UI that shows what's happening. The Studio doesn't do the analysis: agents do — written instructions run, one at a time, by the AI CLI logged in on the machine (Claude Code or Cursor).

1 · Sourcerepository or folder
2 · Workspaceisolated clone + skills
3 · Executorstep graph, in order
4 · Agentthe CLI runs SKILL.md
5 · Artifacts_lubylegado_sdd/
6 · EventsSQLite, live
7 · Readingstabs, dossier, exports

The seven ideas that explain everything

  1. The legacy system is never touched. Each run works on a clone in studio/data/workspaces/<run>/. The source folder or repository doesn't change.
  2. An agent is an instruction file. A SKILL.md says what to read, what to produce and under which rules. The Studio just tells the CLI to run it. F2
  3. One agent at a time, in dependency order. The executor builds a graph (DAG) and runs each step once its dependencies finish. Several systems run in parallel; within one system, it's serial. F4
  4. Everything becomes a file. Each agent writes its artifacts; the next one reads what the previous wrote. The tabs read those same files. F3
  5. When the code can't answer, the process stops. Stops (gates) wait for a human decision; the answer is recorded and, for gaps, written back into the files. E3
  6. Everything is recorded as an event. Every start, file, failure and decision is an event in SQLite. The screen is recomputed from them — that's why reopening from History reruns nothing. F5
  7. Nothing writes code. Diagnosis agents produce knowledge, plans and specifications. Transforming code is engineering work, outside the Studio, with proof.

Where everything lives

PiecePathRole
API and executorstudio/server/graph executor, engine adapters (claude.js, cursor.js), process supervision, SQLite, exports
UIstudio/src/graph, tabs, dialogs; reads the generated catalog
Catalogstudio/src/catalog/flows, stages, rungs, families and artifact descriptions; agents.json is generated from the skills
Framework skillsagents/reverse-engineering agents (lubylegado-*)
Luby skillsstudio/agents/agents that feed the tabs (lubylegado-*)
Datastudio/data/studio.db (history) and workspaces/ (clones and artifacts) — not in git
Fluxo · F2

O que é um agente

Um agente é uma pasta com um arquivo SKILL.md. O começo do arquivo (frontmatter) é metadado; o resto são instruções em linguagem natural para o modelo: o que ler, o que produzir, em que formato e com que regras.

---
name: lubylegado-integrations
description: Mapeia tudo que cruza a fronteira do sistema...
metadata:
  team: discovery
  phase: interpretacao
  network: web      # só quem declara isto recebe internet
---
# Mapeador de Integrações
## Antes de começar
## O que produzir
## Regras absolutas
...

Como um agente roda

  1. O workspace recebe todas as skills em .claude/skills/.
  2. O executor monta um prompt fixo: leia .claude/skills/<id>/SKILL.md inteiro; execute do início ao fim; grave os artefatos nos caminhos que ele manda; leia .lubylegado/state.json para pasta de saída, nível e idioma; não peça confirmação — registre a dúvida e siga; .claude/, .cursor/ e .lubylegado/ não são o sistema analisado.
  3. O CLI roda sem interface (claude -p … --output-format stream-json ou cursor-agent -p … --output-format stream-json), com a sessão logada — nunca com chave de API, que é removida do ambiente.
  4. O Studio lê a saída linha a linha: texto vira atividade na tela; escrita confirmada vira artefato (tamanho lido do disco); o resultado final traz custo e tokens.

O que um agente pode fazer

PermissãoLiberadoPor quê
Ler e escrever arquivossimler o código e gravar artefatos
Comandos de inspeçãogit log/show/diff/blame/ls-files, ls, find, cat, grep, rg, tree, wc, mkdirinvestigar sem mudar nada
Apagar, instalar, rodar o sistemanãoo legado não é executado nem alterado
Internetnetwork: web — hoje apenas o Scanner de mercadoo material é código de cliente; a resposta precisa ser reproduzível
Servidores MCP da máquinanãoum MCP que não encerra já congelou uma execução por 22 horas

No Cursor, a mesma lista é traduzida para .cursor/cli.json no clone (Read(**), Write(**), Shell(git)…, com rm, curl e wget negados).

Famílias

Cada agente pertence a uma família, que dá a cor do cartão no grafo:

FamíliaFaz
Reconhecimentomapeia o território: inventário, tecnologias, integrações, grafo
Escavaçãolê o código a fundo: algoritmos, dados, regras
Interfacetelas e sistema de design
Síntesecondensa: alma do sistema, arquitetura, curadoria
Especificaçãoescreve contratos: specs, casos de uso, backlog, testes, planos
Verificaçãodesconfia: revisão, pesquisa de respostas, paridade, qualidade
Decisãopropõe caminhos que uma pessoa escolhe: paradigma, estratégia, topologia, arquitetura-alvo
Negóciopreço, tamanho, mercado

De onde vêm

  • agents/lubylegado-*: o framework de engenharia reversa de especificações que roda por baixo.
  • studio/agents/lubylegado-*: agentes da Luby que produzem os dados estruturados das abas (JSON legível por máquina).
  • O catálogo tem 89 agentes; o diagnóstico completo usa 32 deles, mais os sob demanda. Os demais são usados pela CLI, fora do Studio — ver F11.
  • Agente novo em agents/ aparece no grafo sem mexer no front: npm run catalog regenera o catálogo a partir do frontmatter.
Flow · F2

What an agent is

An agent is a folder with a SKILL.md file. The start of the file (frontmatter) is metadata; the rest is natural-language instructions for the model: what to read, what to produce, in which format and under which rules.

---
name: lubylegado-integrations
description: Maps everything that crosses the system boundary...
metadata:
  team: discovery
  phase: interpretacao
  network: web      # only skills declaring this get internet
---
# Integration Mapper
## Before you start
## What to produce
## Absolute rules
...

How an agent runs

  1. The workspace receives every skill in .claude/skills/.
  2. The executor builds a fixed prompt: read .claude/skills/<id>/SKILL.md in full; run it end to end; write artifacts where it says; read .lubylegado/state.json for output folder, level and language; don't ask for confirmation — record the doubt and move on; .claude/, .cursor/ and .lubylegado/ aren't the analyzed system.
  3. The CLI runs headless (claude -p … --output-format stream-json or cursor-agent -p … --output-format stream-json), with the logged-in session — never an API key, which is stripped from the environment.
  4. The Studio reads the output line by line: text becomes on-screen activity; a confirmed write becomes an artifact (size read from disk); the final result carries cost and tokens.

What an agent may do

PermissionAllowedWhy
Read and write filesyesread the code and write artifacts
Inspection commandsgit log/show/diff/blame/ls-files, ls, find, cat, grep, rg, tree, wc, mkdirinvestigate without changing anything
Delete, install, run the systemnothe legacy system is neither run nor changed
Internetonly network: web — today just the Market scannerthe material is client code; answers must be reproducible
The machine's MCP serversnoan MCP server that never exited once froze a run for 22 hours

With Cursor, the same list is translated into .cursor/cli.json in the clone (Read(**), Write(**), Shell(git)…, with rm, curl and wget denied).

Families

Every agent belongs to a family, which sets its card color on the graph:

FamilyDoes
Recognitionmaps the territory: inventory, technologies, integrations, graph
Excavationreads the code deeply: algorithms, data, rules
Interfacescreens and design system
Synthesiscondenses: the system's soul, architecture, curation
Specificationwrites contracts: specs, use cases, backlog, tests, plans
Verificationdistrusts: review, answer research, parity, quality
Decisionproposes paths a person chooses: paradigm, strategy, topology, target architecture
Businessprice, size, market

Where they come from

  • agents/lubylegado-*: the specification reverse-engineering framework underneath.
  • studio/agents/lubylegado-*: Luby agents that produce the tabs' structured data (machine-readable JSON).
  • The catalog has 89 agents; the complete diagnosis uses 32 of them, plus the on-demand ones. The rest are used through the CLI, outside the Studio — see F11.
  • A new agent in agents/ shows up on the graph without touching the front end: npm run catalog regenerates the catalog from the frontmatter.
Fluxo · F3

Como o legado é extraído

Do clone ao contrato: o que acontece com o código do cliente em cada fase.

1 · Preparar o workspace

OrigemO que o Studio faz
Repositório remotogit clone --depth 1 na branch escolhida
Pasta local com gitclone local (preserva o histórico que o Detetive lê)
Pasta local sem gitcópia, pulando node_modules, .venv, dist, build, target

Depois copia as skills para .claude/skills/, roda rtk init se o rtk estiver instalado (comprime a saída de comandos) e grava a configuração do run:

ArquivoCampos
.lubylegado/state.jsondoc_level, output_folder: _lubylegado_sdd, chat_language, doc_language (do idioma da tela), answer_mode: file
.lubylegado/config.tomlnome do projeto e [specs].granularity
.lubylegado/plan.mdo plano que a escavação expande módulo a módulo
Degraudoc_levelgranularity
Completadetalhadohybrid
Profundadetalhadohybrid
Essencialcompletohybrid
Reconhecimentoessencialmodule

2 · As cinco fases da extração

FaseAgentesPerguntaArtefatos
ReconhecimentoScout, Extrator de Essência, Radar de TecnologiasO que é, em que está escrito?inventory.md, dependencies.md, surface.json, soul.md, tech/
EscavaçãoArqueólogo, Data MasterO que o código faz, módulo a módulo?code-analysis.md, data-dictionary.md, flowcharts/, database/
InterpretaçãoDetetive, Arquiteto, Integrações, CartógrafoPor que é assim? Como se encaixa?domain.md, state-machines.md, permissions.md, adrs/, C4, ERD, integrations/, architecture/
GeraçãoRedator, Casos de Uso, Backlog, QAO que isso vira como contrato?specs por unidade, use-cases/, backlog/, openapi/, matriz código ↔ spec
RevisãoRevisor, Pesquisador de RespostasO que não está provado?confidence-report.md, questions.md, gaps.md, opções de resposta

3 · Os princípios da extração

  • Módulo a módulo, de propósito. Analisar tudo de uma vez consome contexto e degrada a qualidade; o Arqueólogo escava um módulo por vez a partir do inventário.
  • Descrever antes de interpretar. A escavação cataloga sem julgar; a interpretação pergunta o porquê e usa o histórico do git.
  • Cada afirmação tem selo. 🟢 confirmado com arquivo e linha, 🟡 inferido, 🔴 lacuna. Ver 1.8.
  • Um agente lê o que o anterior gravou. O surface.json guia a escavação; o domain.md é o documento mais reaproveitado adiante.
  • Contrato, não texto bonito. Critérios verificáveis em dado/quando/então; requisito não funcional só com evidência.
  • Auditoria adversarial no fim. O Revisor procura contradição e inferência disfarçada de fato antes de a extração ser considerada pronta.
Flow · F3

How the legacy system is extracted

From clone to contract: what happens to the client's code in each phase.

1 · Prepare the workspace

SourceWhat the Studio does
Remote repositorygit clone --depth 1 on the chosen branch
Local folder with gitlocal clone (keeps the history the Detective reads)
Local folder without gita copy that skips node_modules, .venv, dist, build, target

Then it copies the skills into .claude/skills/, runs rtk init if rtk is installed (it compresses command output) and writes the run configuration:

FileFields
.lubylegado/state.jsondoc_level, output_folder: _lubylegado_sdd, chat_language, doc_language (from the screen language), answer_mode: file
.lubylegado/config.tomlproject name and [specs].granularity
.lubylegado/plan.mdthe plan the excavation expands module by module
Rungdoc_levelgranularity
Completedetalhadohybrid
Deepdetalhadohybrid
Essentialcompletohybrid
Reconessencialmodule

2 · The five extraction phases

PhaseAgentsQuestionArtifacts
RecognitionScout, Essence Extractor, Technology RadarWhat is it, what is it written in?inventory.md, dependencies.md, surface.json, soul.md, tech/
ExcavationArchaeologist, Data MasterWhat does the code do, module by module?code-analysis.md, data-dictionary.md, flowcharts/, database/
InterpretationDetective, Architect, Integrations, CartographerWhy is it like this? How does it fit?domain.md, state-machines.md, permissions.md, adrs/, C4, ERD, integrations/, architecture/
GenerationWriter, Use Cases, Backlog, QAWhat does it become as a contract?per-unit specs, use-cases/, backlog/, openapi/, code ↔ spec matrix
ReviewReviewer, Answer ResearcherWhat isn't proven?confidence-report.md, questions.md, gaps.md, answer options

3 · Extraction principles

  • Module by module, on purpose. Analyzing everything at once burns context and degrades quality; the Archaeologist digs one module at a time from the inventory.
  • Describe before interpreting. Excavation catalogs without judging; interpretation asks why and uses git history.
  • Every claim has a label. 🟢 confirmed with file and line, 🟡 inferred, 🔴 gap. See 1.8.
  • Each agent reads what the previous one wrote. surface.json guides excavation; domain.md is the most reused document downstream.
  • Contract, not pretty prose. Verifiable given/when/then criteria; non-functional requirements only with evidence.
  • Adversarial audit at the end. The Reviewer hunts for contradictions and inference dressed as fact before extraction counts as done.
Fluxo · F4

O executor: ordem, paradas, relógios e retomada

Ordem

  • As etapas formam um grafo de dependências. O executor faz uma ordenação topológica e lança erro se houver ciclo, em vez de rodar um fluxo incompleto.
  • Um agente por vez em cada run. Paralelismo existe entre sistemas: cada repositório da sessão é um run independente, todos ao mesmo tempo.
  • As faixas rodam nesta ordem: Extração → Qualidade → Documentação → Preço → Migração → Reconstrução. Migração e reconstrução vêm por último porque somam cinco decisões humanas, e uma parada segura o laço inteiro.
  • Etapa opcional fora do degrau é pulada com motivo, e conta como satisfeita para quem depende dela.
  • Perfil de cobrança não roda agente: o Studio grava o perfil salvo na tela. Sem perfil, a estimativa fica bloqueada.
  • Etapa BIN: o executor também sabe rodar ferramenta determinística (verificador, mutação de testes), sem LLM, uma tentativa. Nenhum fluxo atual usa — é infraestrutura pronta.

Paradas

TipoComportamento
Automáticaregistra a decisão do produto e segue (ex.: organização das specs)
Com perguntas de arquivose o arquivo não existe ou não tem pergunta aberta, passa sozinha com o motivo; senão abre o diálogo e as respostas são gravadas de volta no arquivo
Decisão humanaabre o diálogo; o run fica esperando você; a resposta é gravada no histórico e no dossiê

A parada dispara depois que a etapa dela termina e bloqueia o laço inteiro, não só o ramo. Detalhe de cada uma na trilha do engenheiro.

Relógios

RelógioPadrãoVariávelO que faz
Silêncio15 minSTUDIO_AGENT_SILENCE_MSencerra etapa sem nenhuma linha de saída
Sem entrega90 minSTUDIO_AGENT_TIMEOUT_MSencerra quem fala mas não grava artefato
Fôlego por artefato+20 minSTUDIO_AGENT_PROGRESS_MScada arquivo gravado adia o limite
Teto absoluto4 hSTUDIO_AGENT_MAX_MSnunca é adiado

Por que progresso e não duração: um teto fixo de 60 minutos já matou um agente saudável que gravava um arquivo a cada vinte segundos. Lento é normal em legado grande; travado é outra coisa. O encerramento é TERM, depois KILL em 10 s, e abandono em 15 s — um agente perdido custa uma etapa; um executor pendurado custaria o run.

Falhas

  • Cada etapa tem 2 tentativas com 20 s de intervalo (STUDIO_AGENT_ATTEMPTS, STUDIO_AGENT_RETRY_MS). Binário ausente não é repetido. O custo das tentativas falhas entra no total.
  • Etapa que falhou bloqueia só quem depende dela ("depende de X, que não concluiu"); as independentes continuam.
  • O run termina concluído com falhas, não concluído. O stderr da falha vai para .lubylegado/logs/<agente>.log.

Parar e retomar

Na retomada
Não roda de novoetapas concluídas; opcionais puladas por escolha
Roda de novoetapas que falharam; etapas bloqueadas (inclusive a estimativa sem perfil de cobrança)
Paradasrespondidas nunca reabrem; etapa concluída com parada sem resposta reabre a parada

O workspace é reaproveitado e o custo soma todas as passagens. Se o servidor cai, na volta ele marca como falha toda etapa que ficou "iniciada" sem fim.

Modo simulado

./run.sh --mock: sem workspace, cada agente emite três atividades e até três artefatos falsos, custo fictício; as paradas abrem normalmente. Serve para treinar e desenvolver a interface.

Flow · F4

The executor: order, stops, clocks and resume

Order

  • Steps form a dependency graph. The executor sorts it topologically and throws on a cycle, instead of running an incomplete flow.
  • One agent at a time per run. Parallelism exists across systems: each repository in the session is an independent run, all at once.
  • Stages run in this order: Extraction → Quality → Documentation → Pricing → Migration → Reconstruction. Migration and reconstruction go last because they add five human decisions, and a stop holds the whole loop.
  • An optional step outside the rung is skipped with a reason, and counts as satisfied for its dependents.
  • The billing profile doesn't run an agent: the Studio writes the profile saved on screen. Without it, the estimate is blocked.
  • BIN step: the executor can also run a deterministic tool (checker, mutation testing), no LLM, one attempt. No current flow uses it — the infrastructure is ready.

Stops

KindBehavior
Automaticrecords the product's decision and moves on (e.g. spec organization)
File-based questionsif the file doesn't exist or has no open question, it passes on its own with the reason; otherwise it opens the dialog and answers are written back into the file
Human decisionopens the dialog; the run is waiting on you; the answer is recorded in history and in the dossier

A stop fires after its step finishes and blocks the whole loop, not just its branch. Details for each one in the engineer track.

Clocks

ClockDefaultVariableWhat it does
Silence15 minSTUDIO_AGENT_SILENCE_MSends a step with no output line
No delivery90 minSTUDIO_AGENT_TIMEOUT_MSends a step that talks but writes no artifact
Credit per artifact+20 minSTUDIO_AGENT_PROGRESS_MSeach file written pushes the limit out
Absolute cap4 hSTUDIO_AGENT_MAX_MSnever extended

Why progress and not duration: a fixed 60-minute cap once killed a healthy agent that was writing a file every twenty seconds. Slow is normal on a large legacy system; stuck is something else. Shutdown is TERM, then KILL after 10 s, then abandon after 15 s — a lost agent costs one step; a hung executor would cost the run.

Failures

  • Each step gets 2 attempts 20 s apart (STUDIO_AGENT_ATTEMPTS, STUDIO_AGENT_RETRY_MS). A missing binary isn't retried. Failed attempts' cost is added to the total.
  • A failed step blocks only its dependents ("depends on X, which did not finish"); independent steps keep going.
  • The run ends done with failures, not done. The failure's stderr goes to .lubylegado/logs/<agent>.log.

Stop and resume

On resume
Doesn't run againfinished steps; optional steps skipped by choice
Runs againfailed steps; blocked steps (including the estimate without a billing profile)
Stopsanswered ones never reopen; a finished step with an unanswered stop reopens that stop

The workspace is reused and cost adds up across passes. If the server crashes, on restart it marks as failed every step left "started" with no end.

Simulation mode

./run.sh --mock: no workspace, each agent emits three activity lines and up to three fake artifacts, fictional cost; stops still open. For training and UI work.

Fluxo · F5

Eventos, histórico, degraus e federação

Tudo é evento

O banco local (studio/data/studio.db) guarda a execução como uma sequência de eventos — a fonte da verdade. O evento é gravado antes de chegar à tela.

EventoQuando
run.startedo run começa ou é retomado
agent.started / agent.activityum agente começa / diz o que está fazendo
asset.producedum arquivo foi confirmado no disco
agent.completed / agent.failed / agent.skippedfim da etapa, com custo, erro ou motivo
gate.opened / gate.answeredparada aberta / decisão registrada
run.completedfim do run, com a lista de falhas

Além de events, há sessions, repos, runs, as projeções assets e gates, settings (perfil de cobrança) e card_status (movimentos do Kanban).

Tela ao vivo e Histórico

  • A interface assina /api/runs/:id/events (SSE): recebe todos os eventos gravados, um aviso replayed, e depois os novos ao vivo.
  • A tela é calculada a partir da sequência de eventos. Por isso reabrir pelo Histórico remonta tudo sem rodar agente e sem custo.

Degraus são recortes de um único grafo

Os quatro degraus não são listas separadas: são filtros sobre o diagnóstico completo. O recorte mantém as faixas do degrau (e, no Reconhecimento, só os 8 agentes da espinha da extração) e poda as dependências para quem ficou — senão uma etapa esperaria para sempre por quem não vai rodar. Faixa vazia some do grafo.

DegrauEtapas no grafoEspecialistas exibidosParadas humanas
Completa33326
Profunda26241
Essencial19171
Reconhecimento880

A diferença entre etapas e especialistas: o perfil de cobrança é fornecido pelo Studio (não é agente) e opcionais desligados não contam.

Vários sistemas e federação

  1. Uma sessão, um run por repositório, todos com o mesmo degrau, rodando em paralelo.
  2. Quando nenhum run está pendente, rodando ou esperando decisão, e ao menos dois terminaram, o Studio cria e dispara sozinho o run de federação.
  3. A federação não clona nada: recebe as skills e federation/systems.json com o workspace de cada sistema, e lê os artefatos deles (integrações, tecnologias, arquitetura, dados, casos de uso).
  4. Mapeador de Federação → Pesquisador de Respostas → parada Confirmação dos pontos de contato.
  5. Adicionar um repositório à sessão marca a federação como desatualizada.
Flow · F5

Events, history, rungs and federation

Everything is an event

The local database (studio/data/studio.db) stores the run as a sequence of events — the source of truth. An event is written before it reaches the screen.

EventWhen
run.startedthe run starts or resumes
agent.started / agent.activityan agent starts / says what it's doing
asset.produceda file was confirmed on disk
agent.completed / agent.failed / agent.skippedstep end, with cost, error or reason
gate.opened / gate.answeredstop opened / decision recorded
run.completedend of run, with the failure list

Besides events, there are sessions, repos, runs, the assets and gates projections, settings (billing profile) and card_status (Kanban moves).

Live screen and History

  • The UI subscribes to /api/runs/:id/events (SSE): it gets every stored event, a replayed marker, then new ones live.
  • The screen is computed only from the event sequence. That's why reopening from History rebuilds everything with no agent and no cost.

Rungs are cuts of a single graph

The four rungs aren't separate lists: they're filters over the complete diagnosis. The cut keeps the rung's stages (and, for Recon, only the 8 backbone extraction agents) and prunes dependencies to what survived — otherwise a step would wait forever for one that won't run. Empty stages disappear from the graph.

RungGraph stepsSpecialists shownHuman stops
Complete33326
Deep26241
Essential19171
Recon880

Steps vs specialists: the billing profile is supplied by the Studio (not an agent) and optional steps that are off don't count.

Several systems and federation

  1. One session, one run per repository, all on the same rung, running in parallel.
  2. When no run is pending, running or waiting for a decision, and at least two have finished, the Studio creates and starts the federation run on its own.
  3. Federation clones nothing: it gets the skills and federation/systems.json with each system's workspace, and reads their artifacts (integrations, technologies, architecture, data, use cases).
  4. Federation Mapper → Answer Researcher → the Contact point confirmation stop.
  5. Adding a repository to the session marks the federation as stale.
Fluxo · F6

Exemplo: o pedido que nunca é pago

Um passeio pelo fluxo sobre o sistema de exemplo do repositório — dois serviços que conversam e uma regra que só aparece quando os dois são lidos juntos.

Como ler este exemplo

Os trechos de código são reais, do diretório sample/ do repositório. O roteiro descreve o que cada agente deve encontrar seguindo as regras da sua skill — é ilustrativo, não a saída gravada de uma execução. Rode você mesmo no laboratório e compare.

O sistema

Dois serviços Node.js sem dependências, ~580 linhas no total:

RepositórioO que faz
project_1 · order-portal (:3001)recebe pedidos (POST /orders), valida, guarda em memória e pede a cobrança ao serviço de pagamento; recebe o resultado por webhook (POST /webhooks/payments)
project_2 · payment-service (:3002)recebe a cobrança (POST /payments), responde 202, autoriza em segundo plano e devolve o resultado por callback, com até 3 tentativas

A sessão

Duas origens (Selecionar pasta em cada projeto), degrau Essencial, motor Claude Code ou Cursor. Dois runs em paralelo; quando os dois terminam, a federação começa sozinha.

O que cada agente encontra

  1. Scout — inventory.md: Node 18+, ESM, sem dependências, entrada src/server.js, sem testes, sem banco. Sugere organização por módulo.
  2. Extrator de Essência — soul.md: propósito "aceitar pedidos e cobrar o cliente"; entidades Pedido e Pagamento; decisão fundadora: cobrança assíncrona com callback.
  3. Arqueólogo — code-analysis.md: as regras de validateOrderInput (cliente e itens obrigatórios, valor positivo, valor ≤ maxOrderAmount, valor = soma dos itens com arredondamento em centavos) e o ciclo de vida do pedido.
  4. Detetive — domain.md e state-machines.md: CREATED → AWAITING_PAYMENT → PAID | REJECTED | FAILED, com a regra 🟢 "callback repetido para pedido finalizado é ignorado" (orderService.js, applyPaymentResult).
  5. Radar de Tecnologias — Node e node:http/fetch nativos: nada fim de vida, nada a trocar.
  6. Mapeador de Integrações — no portal, saída POST /payments e entrada do webhook; no pagamento, o inverso. Header x-callback-secret. Lacuna de segurança: o segredo tem valor padrão escrito no código dos dois lados.
  7. Casos de uso — UC-01 Criar pedido (ator: cliente), UC-02 Registrar resultado do pagamento (ator: payment-service), com sequência e exceções (400 inválido, 502 falha ao contatar).
  8. Backlog e QA — cards como "Rejeitar pedido cuja soma dos itens difere do valor" com critérios dado/quando/então e testes especificados (feliz: soma confere; borda: diferença de 1 centavo; erro: lista vazia).
  9. Revisor — questions.md com lacunas que o código não responde (abaixo).
  10. Qualidade — oportunidades como padronizar o segredo compartilhado e cobrir validateOrderInput com testes antes de mexer — 🔴 sem prova de comportamento, porque não há teste nenhum.

As lacunas que param o processo

Pergunta do RevisorPor que o código não responde
Os pedidos ficam num Map em memória. Em produção existe persistência em outro lugar?reiniciar o processo apaga todos os pedidos; pode ser só um exemplo ou um defeito real
Se o callback falhar 3 vezes, o pedido fica em AWAITING_PAYMENT para sempre. Existe reconciliação?sendCallback desiste e só registra no console; nada no portal consulta o pagamento depois
O valor padrão do segredo é usado em algum ambiente real?depende de variável de ambiente que não está no repositório

Na parada Resolução de lacunas, o engenheiro responde com quem conhece o negócio — ou deixa em aberto, e a lacuna segue declarada. Ver E4.

O que só aparece com os dois sistemas juntos

// sample/project_1/src/config.js
maxOrderAmount: Number(process.env.MAX_ORDER_AMOUNT ?? 10000),
callbackSecret: process.env.CALLBACK_SECRET ?? 'segredo-compartilhado-sample',

// sample/project_2/src/config.js
autoApproveLimit: Number(process.env.AUTO_APPROVE_LIMIT ?? 5000),

// sample/project_2/src/paymentProcessor.js
if (payment.amount > config.autoApproveLimit) {
  return { status: 'REJECTED',
           reason: `valor acima do limite de aprovacao automatica (${config.autoApproveLimit})` };
}

O Mapeador de Federação confirma os dois pontos de contato (POST /payments e o callback) com evidência dos dois lados 🟢, e cruza as regras:

Risco que nenhum dos dois sistemas mostra sozinho

O portal aceita pedidos até 10.000; o pagamento aprova automaticamente só até 5.000 e rejeita o resto dizendo "exige análise manual". Não há fluxo de análise manual em nenhum dos dois códigos. Resultado: todo pedido entre 5.000 e 10.000 é aceito pelo portal e sempre termina REJECTED.

É exatamente o tipo de achado que vira item crítico do dossiê, pergunta para o negócio ("existe aprovação manual fora do sistema?") e critério de teste de paridade numa reescrita.

Flow · F6

Example: the order that never gets paid

A walk through the flow on the repository's sample system — two services that talk to each other and a rule that only appears when both are read together.

How to read this example

The code excerpts are real, from the repository's sample/ folder. The walkthrough describes what each agent should find by following its skill's rules — it's illustrative, not a recorded run output. Run it yourself in the lab and compare.

The system

Two Node.js services with no dependencies, ~580 lines in total:

RepositoryWhat it does
project_1 · order-portal (:3001)takes orders (POST /orders), validates them, keeps them in memory and asks the payment service to charge; receives the result via webhook (POST /webhooks/payments)
project_2 · payment-service (:3002)takes the charge (POST /payments), answers 202, authorizes in the background and returns the result via callback, with up to 3 attempts

The session

Two sources (Select folder for each project), Essential rung, Claude Code or Cursor engine. Two runs in parallel; when both finish, federation starts on its own.

What each agent finds

  1. Scout — inventory.md: Node 18+, ESM, no dependencies, entry src/server.js, no tests, no database. Suggests organizing by module.
  2. Essence Extractor — soul.md: purpose "accept orders and charge the customer"; entities Order and Payment; founding decision: asynchronous charging with a callback.
  3. Archaeologist — code-analysis.md: the validateOrderInput rules (customer and items required, positive amount, amount ≤ maxOrderAmount, amount = item total rounded to cents) and the order lifecycle.
  4. Detective — domain.md and state-machines.md: CREATED → AWAITING_PAYMENT → PAID | REJECTED | FAILED, with the 🟢 rule "a repeated callback for a finished order is ignored" (orderService.js, applyPaymentResult).
  5. Technology Radar — Node with native node:http/fetch: nothing end-of-life, nothing to replace.
  6. Integration Mapper — in the portal, outbound POST /payments and the inbound webhook; in payments, the reverse. Header x-callback-secret. Security gap: the secret has a default value hard-coded on both sides.
  7. Use cases — UC-01 Create order (actor: customer), UC-02 Record payment result (actor: payment-service), with sequence and exceptions (400 invalid, 502 couldn't reach payments).
  8. Backlog and QA — cards like "Reject an order whose item total differs from the amount" with given/when/then criteria and specified tests (happy: totals match; edge: one cent off; error: empty list).
  9. Reviewer — questions.md with gaps the code can't answer (below).
  10. Quality — opportunities such as standardizing the shared secret and covering validateOrderInput with tests before touching it — 🔴 no proof of behavior, because there are no tests at all.

The gaps that stop the process

Reviewer questionWhy the code can't answer it
Orders live in an in-memory Map. Is there persistence elsewhere in production?restarting the process wipes every order; it may be just an example or a real defect
If the callback fails 3 times, the order stays AWAITING_PAYMENT forever. Is there reconciliation?sendCallback gives up and only logs to the console; nothing in the portal checks the payment later
Is the secret's default value used in any real environment?it depends on an environment variable that isn't in the repository

At the Gap resolution stop, the engineer answers together with whoever knows the business — or leaves it open, and the gap stays declared. See E4.

What only shows up with both systems together

// sample/project_1/src/config.js
maxOrderAmount: Number(process.env.MAX_ORDER_AMOUNT ?? 10000),
callbackSecret: process.env.CALLBACK_SECRET ?? 'segredo-compartilhado-sample',

// sample/project_2/src/config.js
autoApproveLimit: Number(process.env.AUTO_APPROVE_LIMIT ?? 5000),

// sample/project_2/src/paymentProcessor.js
if (payment.amount > config.autoApproveLimit) {
  return { status: 'REJECTED',
           reason: `valor acima do limite de aprovacao automatica (${config.autoApproveLimit})` };
}

The Federation Mapper confirms both contact points (POST /payments and the callback) with evidence on both sides 🟢, and cross-checks the rules:

A risk neither system shows on its own

The portal accepts orders up to 10,000; payments auto-approves only up to 5,000 and rejects the rest saying "requires manual review". There's no manual review flow in either codebase. Result: every order between 5,000 and 10,000 is accepted by the portal and always ends REJECTED.

This is exactly the kind of finding that becomes a critical dossier item, a question for the business ("is there manual approval outside the system?") and a parity test criterion in a rewrite.

Fluxo · F7

Agentes · Extração do legado

Legenda dos degraus: C Completa · P Profunda · E Essencial · R Reconhecimento.

Os 18 agentes da primeira faixa, na ordem em que rodam. É a faixa presente em todos os degraus e a que alimenta todas as outras.

Mapeador de Superfícielubylegado-scout

Primeiro reconhecimento, sem abrir gavetas: pastas, linguagens por extensão, frameworks, versões de dependências, pontos de entrada, CI/CD, Docker, arquivos de banco e existência de testes. Sugere como organizar as specs.

Família
Reconhecimento
Degraus
C · P · E · R
Depende de
Parada
automática: organização das specs
.lubylegado/state.json, manifestos, árvore de arquivos
Grava
inventory.md, dependencies.md, .lubylegado/context/surface.json
Aparece em
painel de artefatos; guia a escavação
Regras
ignora node_modules, .git, .lubylegado; escolhe a organização por heurística fixa e nunca propõe custom.
Extrator de Essêncialubylegado-extract-soul

A spec executiva do sistema em poucas páginas: propósito, objetivo e pessoas; 5–10 entidades centrais com relações; 3–7 decisões fundadoras com evidência e implicação; lacunas.

Família
Síntese
Degraus
C · P · E · R
Depende de
scout
surface.json, README, 3–5 modelos amostrados, git log
Grava
soul.md
Aparece em
Sumário; pré-requisito de Análise e PRD
Regras
toda afirmação com selo; não duplica Arqueólogo nem Detetive; não sobrescreve um soul.md existente.
Escavador de Códigolubylegado-archaeologist

Análise profunda módulo a módulo: fluxo de controle, algoritmos e fórmulas, estruturas de dados, constantes, enums e flags. Descreve, não julga.

Família
Escavação
Degraus
C · P · E · R
Depende de
scout
state.json, plan.md, surface.json, código
Grava
code-analysis.md, modules.json; em completo/detalhado data-dictionary.md e flowcharts/<módulo>.md
Aparece em
Diagramas (fluxogramas); alimenta quase tudo adiante
Regras
escala de confiança; costuma ser uma das etapas mais caras em sistemas grandes.
Especialista em Dadoslubylegado-data-master

Documentação completa do banco: tabelas por domínio, colunas, chaves, índices, relacionamentos e cardinalidades, triggers, procedures, views, checks e ERD. Só roda se houver DDL, migrations ou ORM.

Família
Escavação
Degraus
C · P · E (opcional)
Depende de
scout
DDL, migrations, modelos de ORM
Grava
database/erd.md, data-dictionary.md, relationships.md, business-rules.md, procedures.md
Aparece em
Diagramas (modelo de dados)
Regras
somente leitura, nunca INSERT/UPDATE/DELETE/DROP; 🟢 do DDL, 🟡 do ORM, 🔴 inacessível.
Leitor de Interfaceslubylegado-visor

Documenta a interface a partir de screenshots: formulários, tabelas, navegação, feedback e estados, e liga cada tela a uma unidade de spec.

Família
Interface
Degraus
C (opcional)
Depende de
scout
screenshots presentes no repositório
Grava
<unidade>/screens.md, ui/inventory.md, ui/flow.md
Aparece em
painel de artefatos; Tradutor de Telas
Regras
não apaga nem sobrescreve screenshot; o Studio não tem upload de imagens — só roda se elas já estiverem no repositório.
Curador Visuallubylegado-design-system

Extrai os tokens de design: paleta, tipografia, espaçamento, grid, breakpoints, raios, sombras, z-index, movimento e componentes.

Família
Interface
Degraus
C · P (opcional)
Depende de
scout
variáveis CSS/SCSS/LESS, Tailwind, temas MUI/Chakra, Storybook
Grava
design-system/color-palette.md, typography.md, spacing.md, tokens.md, design-system.md
Aparece em
painel de artefatos; Tradutor de Telas
Regras
🟢 de arquivo de configuração, 🟡 inferido do uso, 🔴 referenciado e nunca definido.
Radar de Tecnologiaslubylegado-tech-stack

Toda tecnologia que importa, com versão, onde é usada, acoplamento (isolado, espalhado, estrutural) e risco (ok, desatualizada, abandonada, fim de vida, desconhecido).

Família
Reconhecimento
Degraus
C · P · E · R
Depende de
archaeologist
surface.json, code-analysis.md, manifestos
Grava
tech/technologies.json e .md
Aparece em
Tecnologias, Consolidado
Regras
versão só do repositório, nunca da memória do modelo; dependência declarada e não usada é registrada.
Investigador de Regraslubylegado-detective

O "porquê": regras de negócio implícitas (condições, validações, enums, comentários), decisões arquiteturais retroativas a partir do git, máquinas de estado e matriz de permissões.

Família
Escavação
Degraus
C · P · E · R
Depende de
archaeologist
artefatos do Scout e do Arqueólogo, git log
Grava
domain.md; em completo/detalhado state-machines.md, permissions.md, adrs/
Aparece em
Diagramas (estados); domain.md é o documento mais reaproveitado
Regras
"seja rigoroso — muito aqui será 🟡".
Arquiteto de Sistemaslubylegado-architect

Transforma tudo em documentação arquitetural formal: C4 em três níveis, ERD completo, integrações, dívida técnica e matriz de impacto entre specs.

Família
Síntese
Degraus
C · P · E · R
Depende de
detective, data-master
tudo em _lubylegado_sdd/ e .lubylegado/context/
Grava
architecture.md, c4-context.md; em completo/detalhado c4-containers.md, c4-components.md, erd-complete.md, traceability/spec-impact-matrix.md; em detalhado deployment.md
Aparece em
Diagramas (C4), PRD, Dossiê
Regras
diagramas em Mermaid; saída transversal, não por unidade.
Mapeador de Integraçõeslubylegado-integrations

Tudo o que cruza a fronteira: APIs consumidas e expostas, filas, webhooks, bancos externos, troca de arquivos — como contratos, com payload real, autenticação, erros, limites e criticidade.

Família
Reconhecimento
Degraus
C · P · E
Depende de
architect
architecture.md, code-analysis.md, configs, clientes HTTP, rotas, consumidores
Grava
integrations/integrations.json e .md
Aparece em
Integrações, Consolidado
Regras
nunca grava valor de segredo, só o nome da variável; credencial versionada vira lacuna de segurança.
Cartógrafo de Arquiteturalubylegado-architecture-graph

Grafo navegável de containers, módulos e componentes com dependências reais tiradas dos imports: responsabilidade, impacto de mudar, arestas com peso e ciclos explicados.

Família
Reconhecimento
Degraus
C · P · E · R
Depende de
architect
surface.json, code-analysis.md, architecture.md, imports
Grava
architecture/architecture-graph.json e .md
Aparece em
Arquitetura, Consolidado
Regras
descreve o que está no código, não o desenho oficial; biblioteca externa não vira nó.
Redator de Especificaçõeslubylegado-writer

Specs executáveis — "contratos operacionais, não texto bonito" — uma pasta por unidade conforme a granularidade, mais os artefatos globais de rastreabilidade.

Família
Especificação
Degraus
C · P · E · R
Depende de
architect, visor, design-system
todos os artefatos anteriores, templates
Grava
<unidade>/requirements.md, design.md, tasks.md (+ contracts, flows, edge-cases, decisions); traceability/code-spec-matrix.md, openapi/, user-stories/
Aparece em
painel de artefatos; base de todas as specs
Regras
selo em toda afirmação; critérios dado/quando/então; MoSCoW; não sobrescreve arquivo de unidade existente.
Analista de Casos de Usolubylegado-use-cases

Casos de uso UML: atores (humano, sistema, tempo), objetivo, pré e pós-condições, fluxo principal com sequência, alternativas, exceções, include/extend, regras e onde está implementado.

Família
Especificação
Degraus
C · P · E
Depende de
writer
domain.md, permissions.md, state-machines.md
Grava
use-cases/use-cases.json, use-cases.md, UC-NN-*.md
Aparece em
Casos de uso, Consolidado
Regras
comportamento observável, nunca implementação; caso sem âncora no código vai para lacunas.
Planejador de Backloglubylegado-backlog

Transforma a análise em cards de reescrita: épicos, critérios de aceite, MoSCoW (won't = custo evitado), tamanho PP–GG, coluna inicial e rastreabilidade.

Família
Especificação
Degraus
C · P · E
Depende de
use-cases, integrations, architecture-graph
use-cases.json, domain.md, integrações, grafo, questions.md, gaps.md
Grava
backlog/backlog.json e .md
Aparece em
Kanban, Spec Kit
Regras
todo card com critério verificável e origem; comportamento, não tarefa técnica; todo won't justificado.
Analista de Testeslubylegado-qa

Escreve dentro de cada card os testes de unidade que o provam — ao menos um por critério e por regra, mais borda e erro — e um veredito de cobertura.

Família
Especificação
Degraus
C · P · E
Depende de
backlog
backlog.json, domain.md, casos de uso, integrações
Grava
o mesmo backlog.json enriquecido; backlog/tests.md
Aparece em
Kanban
Regras
sem código de teste nem nome de framework; nunca move card nem muda status.
Revisor Críticolubylegado-reviewer

Confronta as specs entre si e com o código, reclassifica a confiança, confere as matrizes e junta tudo o que só uma pessoa resolve.

Família
Verificação
Degraus
C · P · E
Depende de
writer, qa
todas as unidades e artefatos globais
Grava
confidence-report.md, questions.md; em completo/detalhado gaps.md; atualiza as specs
Aparece em
parada Resolução de lacunas
Regras
em nível essencial, só vira pergunta o 🔴 que bloqueia a reimplementação.
Pesquisador de Respostaslubylegado-answer-options

Antes de a pergunta chegar a você, pesquisa 2–4 respostas concretas e mutuamente exclusivas, cada uma com consequência, evidência e confiança, e no máximo uma recomendada.

Família
Verificação
Degraus
C · P · E
Depende de
reviewer
Parada
Resolução de lacunas (perguntas de questions.md)
questions.md, código citado, artefatos, respostas já dadas
Grava
questions.options.json
Aparece em
opções clicáveis no diálogo da parada
Regras
nunca escreve em questions.md; sem opção "depende" ou "outro"; sem recomendação em decisão puramente de negócio; sem rede.
Arquiteto de Refatoraçãolubylegado-refactor-architect

Propõe 2–4 arquiteturas-alvo de um catálogo fixo, cada uma com aderência 0–100 calculada, por quê, contra, riscos, passos, pré-requisitos, esforço e formato de time.

Família
Decisão
Degraus
C · P · E
Depende de
answer-options
grafo, integrações, tecnologias, arquitetura, dados, casos de uso, domínio, backlog, questions.md
Grava
refactor/architectures.json e .md
Aparece em
Arquitetura-alvo
Regras
roda depois da Resolução de lacunas para respeitar as respostas; nunca escolhe; nunca divide através de fronteira transacional.
Flow · F7

Agents · Legacy extraction

Rung legend: C Complete · P Deep · E Essential · R Recon.

The 18 agents of the first stage, in running order. It's the stage present in every rung and the one that feeds all the others.

Surface Mapperlubylegado-scout

First look, without opening drawers: folders, languages by extension, frameworks, dependency versions, entry points, CI/CD, Docker, database files and whether tests exist. Suggests how to organize the specs.

Family
Recognition
Rungs
C · P · E · R
Depends on
Stop
automatic: spec organization
Reads
.lubylegado/state.json, manifestos, árvore de arquivos
Writes
inventory.md, dependencies.md, .lubylegado/context/surface.json
Shows up in
artifacts panel; guides excavation
Rules
ignores node_modules, .git, .lubylegado; picks the organization by a fixed heuristic and never proposes custom.
Essence Extractorlubylegado-extract-soul

The system's executive spec in a few pages: purpose, goal and people; 5–10 core entities with relations; 3–7 founding decisions with evidence and implication; gaps.

Family
Synthesis
Rungs
C · P · E · R
Depends on
scout
Reads
surface.json, README, 3–5 modelos amostrados, git log
Writes
soul.md
Shows up in
Summary; prerequisite for Analysis and PRD
Rules
every claim labeled; doesn't duplicate Archaeologist or Detective; doesn't overwrite an existing soul.md.
Code Excavatorlubylegado-archaeologist

Deep analysis module by module: control flow, algorithms and formulas, data structures, constants, enums and flags. Describes, doesn't judge.

Family
Excavation
Rungs
C · P · E · R
Depends on
scout
Reads
state.json, plan.md, surface.json, código
Writes
code-analysis.md, modules.json; em completo/detalhado data-dictionary.md e flowcharts/<módulo>.md
Shows up in
Diagrams (flowcharts); feeds nearly everything downstream
Rules
confidence scale; usually one of the most expensive steps on large systems.
Data Specialistlubylegado-data-master

Full database documentation: tables by domain, columns, keys, indexes, relationships and cardinalities, triggers, procedures, views, checks and ERD. Only runs if there's DDL, migrations or an ORM.

Family
Excavation
Rungs
C · P · E (opcional)
Depends on
scout
Reads
DDL, migrations, modelos de ORM
Writes
database/erd.md, data-dictionary.md, relationships.md, business-rules.md, procedures.md
Shows up in
Diagrams (data model)
Rules
read-only, never INSERT/UPDATE/DELETE/DROP; 🟢 from DDL, 🟡 from ORM, 🔴 inaccessible.
Interface Readerlubylegado-visor

Documents the UI from screenshots: forms, tables, navigation, feedback and states, and links each screen to a spec unit.

Family
Interface
Rungs
C (opcional)
Depends on
scout
Reads
screenshots presentes no repositório
Writes
<unidade>/screens.md, ui/inventory.md, ui/flow.md
Shows up in
artifacts panel; Screen Translator
Rules
never deletes or overwrites a screenshot; the Studio has no image upload — it only runs if they're already in the repository.
Visual Curatorlubylegado-design-system

Extracts design tokens: palette, typography, spacing, grid, breakpoints, radii, shadows, z-index, motion and components.

Family
Interface
Rungs
C · P (opcional)
Depends on
scout
Reads
variáveis CSS/SCSS/LESS, Tailwind, temas MUI/Chakra, Storybook
Writes
design-system/color-palette.md, typography.md, spacing.md, tokens.md, design-system.md
Shows up in
artifacts panel; Screen Translator
Rules
🟢 from a config file, 🟡 inferred from usage, 🔴 referenced but never defined.
Technology Radarlubylegado-tech-stack

Every technology that matters, with version, where it's used, coupling (isolated, spread, structural) and risk (ok, outdated, abandoned, end of life, unknown).

Family
Recognition
Rungs
C · P · E · R
Depends on
archaeologist
Reads
surface.json, code-analysis.md, manifestos
Writes
tech/technologies.json e .md
Shows up in
Technologies, Consolidated
Rules
version only from the repository, never from model memory; declared but unused dependencies are recorded.
Rule Investigatorlubylegado-detective

The "why": implicit business rules (conditions, validations, enums, comments), retroactive architecture decisions from git history, state machines and the permission matrix.

Family
Excavation
Rungs
C · P · E · R
Depends on
archaeologist
Reads
artefatos do Scout e do Arqueólogo, git log
Writes
domain.md; em completo/detalhado state-machines.md, permissions.md, adrs/
Shows up in
Diagrams (states); domain.md is the most reused document
Rules
"be rigorous — much here will be 🟡".
Systems Architectlubylegado-architect

Turns everything into formal architecture docs: three-level C4, full ERD, integrations, technical debt and the spec impact matrix.

Family
Synthesis
Rungs
C · P · E · R
Depends on
detective, data-master
Reads
tudo em _lubylegado_sdd/ e .lubylegado/context/
Writes
architecture.md, c4-context.md; em completo/detalhado c4-containers.md, c4-components.md, erd-complete.md, traceability/spec-impact-matrix.md; em detalhado deployment.md
Shows up in
Diagrams (C4), PRD, Dossier
Rules
Mermaid diagrams; cross-cutting output, not per unit.
Integration Mapperlubylegado-integrations

Everything that crosses the boundary: consumed and exposed APIs, queues, webhooks, external databases, file exchange — as contracts, with real payloads, auth, errors, limits and criticality.

Family
Recognition
Rungs
C · P · E
Depends on
architect
Reads
architecture.md, code-analysis.md, configs, clientes HTTP, rotas, consumidores
Writes
integrations/integrations.json e .md
Shows up in
Integrations, Consolidated
Rules
never writes a secret value, only the variable name; a committed credential becomes a security gap.
Architecture Cartographerlubylegado-architecture-graph

A navigable graph of containers, modules and components with real dependencies taken from imports: responsibility, impact of change, weighted edges and explained cycles.

Family
Recognition
Rungs
C · P · E · R
Depends on
architect
Reads
surface.json, code-analysis.md, architecture.md, imports
Writes
architecture/architecture-graph.json e .md
Shows up in
Architecture, Consolidated
Rules
describes what's in the code, not the official drawing; external libraries don't become nodes.
Specification Writerlubylegado-writer

Executable specs — "operational contracts, not pretty text" — one folder per unit according to granularity, plus global traceability artifacts.

Family
Specification
Rungs
C · P · E · R
Depends on
architect, visor, design-system
Reads
todos os artefatos anteriores, templates
Writes
<unidade>/requirements.md, design.md, tasks.md (+ contracts, flows, edge-cases, decisions); traceability/code-spec-matrix.md, openapi/, user-stories/
Shows up in
artifacts panel; basis for every spec
Rules
label on every claim; given/when/then criteria; MoSCoW; never overwrites an existing unit file.
Use Case Analystlubylegado-use-cases

UML use cases: actors (human, system, time), goal, pre- and postconditions, main flow with sequence, alternatives, exceptions, include/extend, rules and where it's implemented.

Family
Specification
Rungs
C · P · E
Depends on
writer
Reads
domain.md, permissions.md, state-machines.md
Writes
use-cases/use-cases.json, use-cases.md, UC-NN-*.md
Shows up in
Use cases, Consolidated
Rules
observable behavior, never implementation; a case with no code anchor goes to gaps.
Backlog Plannerlubylegado-backlog

Turns the analysis into rewrite cards: epics, acceptance criteria, MoSCoW (won't = cost avoided), XS–XL size, starting column and traceability.

Family
Specification
Rungs
C · P · E
Depends on
use-cases, integrations, architecture-graph
Reads
use-cases.json, domain.md, integrações, grafo, questions.md, gaps.md
Writes
backlog/backlog.json e .md
Shows up in
Kanban, Spec Kit
Rules
every card with a verifiable criterion and origin; behavior, not a technical task; every won't justified.
Test Analystlubylegado-qa

Writes inside each card the unit tests that prove it — at least one per criterion and per rule, plus edge and error — and a coverage verdict.

Family
Specification
Rungs
C · P · E
Depends on
backlog
Reads
backlog.json, domain.md, casos de uso, integrações
Writes
o mesmo backlog.json enriquecido; backlog/tests.md
Shows up in
Kanban
Rules
no test code or framework names; never moves a card or changes status.
Critical Reviewerlubylegado-reviewer

Cross-examines specs against each other and the code, reclassifies confidence, checks the matrices and gathers everything only a person can resolve.

Family
Verification
Rungs
C · P · E
Depends on
writer, qa
Reads
todas as unidades e artefatos globais
Writes
confidence-report.md, questions.md; em completo/detalhado gaps.md; atualiza as specs
Shows up in
Gap resolution stop
Rules
at essential level, only 🔴 items that block reimplementation become questions.
Answer Researcherlubylegado-answer-options

Before the question reaches you, researches 2–4 concrete, mutually exclusive answers, each with consequence, evidence and confidence, and at most one recommended.

Family
Verification
Rungs
C · P · E
Depends on
reviewer
Stop
Gap resolution (questions from questions.md)
Reads
questions.md, código citado, artefatos, respostas já dadas
Writes
questions.options.json
Shows up in
clickable options in the stop dialog
Rules
never writes into questions.md; no "depends" or "other" options; no recommendation on pure business calls; no network.
Refactoring Architectlubylegado-refactor-architect

Proposes 2–4 target architectures from a fixed catalog, each with a computed 0–100 fit, why, against, risks, steps, prerequisites, effort and team shape.

Family
Decision
Rungs
C · P · E
Depends on
answer-options
Reads
grafo, integrações, tecnologias, arquitetura, dados, casos de uso, domínio, backlog, questions.md
Writes
refactor/architectures.json e .md
Shows up in
Target architecture
Rules
runs after Gap resolution to respect the answers; never chooses; never splits across a transactional boundary.
Fluxo · F8

Agentes · Qualidade, Documentação e Preço

Legenda dos degraus: C Completa · P Profunda · E Essencial · R Reconhecimento.

A "ponte da extração" são os agentes da primeira faixa de que ninguém depende (Extrator de Essência, Radar de Tecnologias e Arquiteto de Refatoração): as faixas seguintes começam quando eles terminam.

Inventário de Qualidadelubylegado-refactor

Inventaria oportunidades de melhoria por contexto, classificadas pelo verbo do especialista (reestruturar, modularizar, desacoplar, otimizar, simplificar, padronizar, podar), priorizadas por ROI real (caminho quente, acoplamento, frequência de mudança).

Família
Verificação
Degraus
C · P · E
Depende de
extract-soul, tech-stack, refactor-architect
soul.md, artefatos de contexto, código
Grava
_lubylegado_refactor/<contexto>/opportunities/<id>.md, generated/index.md
Aparece em
Qualidade
Regras
nunca aplica transformação; no Studio roda sem a parada de escolha.
Mapeador da Documentaçãolubylegado-docs-mapper

Páginas espaciais do mini-site: cidade de código 3D, mapa de módulos 2D e topologia legado × moderno.

Família
Reconhecimento
Degraus
C · P
Depende de
ponte da extração
architecture.md, código (linhas, dependências)
Grava
_lubylegado_docs/arquitetura.html, modulos.html, topologia.html, dados
Aparece em
mini-site em _lubylegado_docs/
Regras
páginas abrem direto do disco (file://); escreve só em _lubylegado_docs/.
Analista da Documentaçãolubylegado-docs-analyst

Painel quantitativo: treemap de linhas, complexidade, histograma e sankey de dependências.

Família
Escavação
Degraus
C · P
Depende de
ponte da extração
dados de módulos e dependências
Grava
_lubylegado_docs/metricas.html, metrics.json
Aparece em
mini-site
Regras
linha do tempo só se houver crônica do projeto — no Studio, normalmente pulada.
Narrador da Documentaçãolubylegado-docs-storyteller

Narrativa de onboarding: glossário pesquisável, apresentação de 6–10 slides e uma página "como funciona" por spec.

Família
Síntese
Degraus
C · P
Depende de
ponte da extração
specs das unidades, alma do sistema
Grava
glossario.html, deck.html, features/<slug>.html
Aparece em
mini-site
Regras
nunca altera _lubylegado_sdd/.
Editor da Documentaçãolubylegado-docs-publisher

Editor-chefe do mini-site: selo generativo, navegação em todas as páginas, índice, validação de links e marcadores de página indisponível.

Família
Especificação
Degraus
C · P
Depende de
docs-mapper, docs-analyst, docs-storyteller
todas as páginas de _lubylegado_docs/
Grava
_lubylegado_docs/index.html, assets
Aparece em
abra _lubylegado_docs/index.html pela pasta do run
Regras
feito para funcionar offline; sem rede no Studio, bibliotecas externas podem aparecer como indisponíveis.
Perfil de Cobrançalubylegado-pricing-profile

No framework é uma entrevista; no Studio não roda agente: grava o perfil salvo na tela (taxa, markup, regime, modelos, cliente).

Família
Negócio
Degraus
C · P
Depende de
ponte da extração
perfil salvo na tela
Grava
_pricing/profile.json e .md
Aparece em
insumo da estimativa
Regras
sem perfil, a estimativa fica bloqueada; custo $0.
Tamanho Estruturallubylegado-pricing-size

Tamanho camiseta (P–XXL) determinístico, a partir do número de tarefas e pontos de risco (dúvidas, profundidade do plano).

Família
Negócio
Degraus
C · P
Depende de
ponte da extração
requisitos, dúvidas, plano e tarefas
Grava
_pricing/<feature>/size.json e .md
Aparece em
insumo da estimativa
Regras
fórmula fixa, sem contar linhas nem tokens. Atenção: a skill espera uma feature do Code Forward — confira o que foi medido numa execução do Studio.
Estimativa de Preçolubylegado-pricing-estimate

Três cenários lado a lado, nunca um número único: Esforço (horas × senioridade × taxa, imposto e markup), Valor (percentual do valor anual declarado) e Faixa de mercado.

Família
Negócio
Degraus
C · P
Depende de
pricing-profile, pricing-size
profile.json, size.json, fórmulas e benchmark
Grava
_pricing/<feature>/estimate.json e .md
Aparece em
Dossiê (esforço estimado)
Regras
aviso obrigatório; sem rede; sem conselho tributário. Sem ninguém para a mini-entrevista, o cenário Valor pode sair indisponível.
Flow · F8

Agents · Quality, Documentation and Pricing

Rung legend: C Complete · P Deep · E Essential · R Recon.

The "extraction bridge" is the first-stage agents nobody depends on (Essence Extractor, Technology Radar and Refactoring Architect): the following stages start when they finish.

Quality Inventorylubylegado-refactor

Inventories improvement opportunities per context, classified by specialist verb (restructure, modularize, decouple, optimize, simplify, standardize, prune), prioritized by real ROI (hot path, coupling, change rate).

Family
Verification
Rungs
C · P · E
Depends on
extract-soul, tech-stack, refactor-architect
Reads
soul.md, artefatos de contexto, código
Writes
_lubylegado_refactor/<contexto>/opportunities/<id>.md, generated/index.md
Shows up in
Quality
Rules
never applies a transformation; in the Studio it runs without the choice stop.
Docs Mapperlubylegado-docs-mapper

The mini-site's spatial pages: 3D code city, 2D module map and legacy vs. modern topology.

Family
Recognition
Rungs
C · P
Depends on
ponte da extração
Reads
architecture.md, código (linhas, dependências)
Writes
_lubylegado_docs/arquitetura.html, modulos.html, topologia.html, dados
Shows up in
mini-site in _lubylegado_docs/
Rules
pages open straight from disk (file://); writes only in _lubylegado_docs/.
Docs Analystlubylegado-docs-analyst

Quantitative dashboard: line-count treemap, complexity, histogram and dependency sankey.

Family
Excavation
Rungs
C · P
Depends on
ponte da extração
Reads
dados de módulos e dependências
Writes
_lubylegado_docs/metricas.html, metrics.json
Shows up in
mini-site
Rules
timeline only if a project chronicle exists — usually skipped in the Studio.
Docs Storytellerlubylegado-docs-storyteller

Onboarding narrative: searchable glossary, a 6–10 slide deck and one "how it works" page per spec.

Family
Synthesis
Rungs
C · P
Depends on
ponte da extração
Reads
specs das unidades, alma do sistema
Writes
glossario.html, deck.html, features/<slug>.html
Shows up in
mini-site
Rules
never modifies _lubylegado_sdd/.
Docs Publisherlubylegado-docs-publisher

The mini-site's editor-in-chief: generative seal, navigation on every page, index, link validation and unavailable-page placeholders.

Family
Specification
Rungs
C · P
Depends on
docs-mapper, docs-analyst, docs-storyteller
Reads
todas as páginas de _lubylegado_docs/
Writes
_lubylegado_docs/index.html, assets
Shows up in
open _lubylegado_docs/index.html from the run folder
Rules
built to work offline; with no network in the Studio, external libraries may show as unavailable.
Billing Profilelubylegado-pricing-profile

In the framework it's an interview; in the Studio no agent runs: it writes the profile saved on screen (rate, markup, regime, models, client).

Family
Business
Rungs
C · P
Depends on
ponte da extração
Reads
perfil salvo na tela
Writes
_pricing/profile.json e .md
Shows up in
estimate input
Rules
without a profile, the estimate is blocked; $0 cost.
Structural Sizelubylegado-pricing-size

Deterministic T-shirt size (S–XXL) from task count and risk points (doubts, plan depth).

Family
Business
Rungs
C · P
Depends on
ponte da extração
Reads
requisitos, dúvidas, plano e tarefas
Writes
_pricing/<feature>/size.json e .md
Shows up in
estimate input
Rules
fixed formula, no line or token counting. Heads-up: the skill expects a Code Forward feature — check what was measured in a Studio run.
Price Estimatelubylegado-pricing-estimate

Three side-by-side scenarios, never a single number: Effort (hours × seniority × rate, tax and markup), Value (share of declared annual value) and Market range.

Family
Business
Rungs
C · P
Depends on
pricing-profile, pricing-size
Reads
profile.json, size.json, fórmulas e benchmark
Writes
_pricing/<feature>/estimate.json e .md
Shows up in
Dossier (estimated effort)
Rules
mandatory disclaimer; no network; no tax advice. With nobody to answer the mini-interview, the Value scenario may come out unavailable.
Fluxo · F9

Agentes · Migração e Reconstrução

Legenda dos degraus: C Completa · P Profunda · E Essencial · R Reconhecimento.

Antes de prometer o que esta faixa entrega

Os agentes de migração pedem um migration/migration_brief.md (stack alvo, apetite a risco), que na CLI é coletado pelo orquestrador /lubylegado-migrate e o Studio não grava. As respostas das paradas desta faixa ficam no histórico e no dossiê, mas não voltam para os arquivos. Rode uma execução Completa num sistema de teste e confira os artefatos antes de vender esta parte.

Consultor de Paradigmalubylegado-paradigm-advisor

Detecta o paradigma do legado (procedural, OO, funcional, orientado a eventos…) com evidência, infere o do alvo, mostra o gap com implicações concretas e apresenta três opções: adotar, forçar ou híbrido.

Família
Decisão
Degraus
C
Depende de
ponte da extração
Parada
Paradigma alvo
brief de migração, domain.md, architecture.md, inventory.md — só specs
Grava
migration/paradigm_decision.md (ou pending_decisions.md)
Aparece em
Dossiê (paradigma)
Regras
sempre as três opções; a decisão é humana.
Curador de Escopolubylegado-curator

Regra por regra: MIGRAR, DESCARTAR ou DECISÃO HUMANA, numa ordem fixa — ambígua ou 🔴 vai para humano; 🟢 migra; 🟡 migra com aviso.

Família
Síntese
Degraus
C
Depende de
paradigm-advisor
brief, decisão de paradigma, specs, domain.md, gaps.md
Grava
migration/target_business_rules.md, discard_log.md, ambiguity_log.md
Aparece em
painel de artefatos
Regras
nada ambíguo migra ou é descartado em silêncio.
Estrategista de Migraçãolubylegado-strategist

Avalia ao menos duas estratégias (Strangler Fig, Big Bang, Parallel Run, Branch by Abstraction…) contra apetite a risco, gap de paradigma e restrições; recomenda uma; monta registro de riscos e plano de corte.

Família
Decisão
Degraus
C
Depende de
curator
Parada
Estratégia de migração
brief, decisões anteriores, regras-alvo, arquitetura, dependências
Grava
migration/migration_strategy.md, risk_register.md, cutover_plan.md
Aparece em
Dossiê (números, sumário, riscos críticos, estratégia)
Regras
todo risco tem dono; nunca Big Bang com integração regulada.
Projetista do Sistema Novolubylegado-designer

Fase 1: topologia do legado e proposta moderna (preservar, modernizar, híbrido). Fase 2: contextos, arquitetura-alvo, modelo de domínio, modelo de dados e plano de migração de dados.

Família
Decisão
Degraus
C
Depende de
strategist
Parada
Topologia do sistema novo
brief, decisões anteriores, domínio, arquitetura, dados, ERD
Grava
migration/topology_decision.md; na fase 2 target_architecture.md, target_domain_model.md, target_data_model.md, data_migration_plan.md
Aparece em
painel de artefatos
Regras
nada de decomposição 1-para-1. A fase 2 exige aprovação registrada que o Studio não grava — espere a fase 1.
Tradutor de Telaslubylegado-screen-translator

Detecta plataforma de origem e destino e força a decisão do modo de tradução; na fase 2 gera spec por tela, log de desvios e golden files.

Família
Interface
Degraus
C
Depende de
designer
Parada
Modo de tradução de telas: literal · modernizado · híbrido
decisões de migração, design system, inventário de UI, screenshots, código das telas
Grava
migration/screen_modernization_decision.md, target_screens.md, screen_deviation_log.md
Aparece em
painel de artefatos
Regras
sem interface → skipped. Pares suportados listados na skill (ex.: Android XML → Flutter/Compose, iOS XIB → SwiftUI/Flutter); fora deles, texto livre.
Inspetor de Paridadelubylegado-inspector

Define como provar que o novo se comporta como o antigo: modos de validação (shadow, caracterização, contrato, paridade de dados), métrica de aceite, janela, bloqueio de corte e cenários extras quando o paradigma muda.

Família
Verificação
Degraus
C
Depende de
screen-translator
decisões, arquitetura e domínio alvo, telas, fluxos
Grava
migration/parity_specs.md, migration/parity_tests/*.feature
Aparece em
painel de artefatos
Regras
os .feature são especificação, não testes executáveis.
Planejador de Reconstruçãolubylegado-reconstructor

Plano de reimplementação de baixo para cima: schema → domínio → máquinas de estado → unidades folha → intermediárias → API → fluxos. Cada tarefa diz o que lê e quando está pronta.

Família
Especificação
Degraus
C
Depende de
ponte da extração
Parada
Início da reconstrução
gaps.md, confidence-report.md, architecture.md, dependencies.md, matriz código ↔ spec
Grava
reconstruction-plan.md
Aparece em
painel de artefatos
Regras
no Studio para no modo planejamento: nunca cria, edita ou apaga código.
Flow · F9

Agents · Migration and Reconstruction

Rung legend: C Complete · P Deep · E Essential · R Recon.

Before promising what this stage delivers

The migration agents expect a migration/migration_brief.md (target stack, risk appetite), which in the CLI is collected by the /lubylegado-migrate orchestrator and the Studio doesn't write. Answers at this stage's stops are kept in history and the dossier, but aren't written back into the files. Run a Complete analysis on a test system and check the artifacts before selling this part.

Paradigm Advisorlubylegado-paradigm-advisor

Detects the legacy paradigm (procedural, OO, functional, event-driven…) with evidence, infers the target's, shows the gap with concrete implications and presents three options: adopt, force or hybrid.

Family
Decision
Rungs
C
Depends on
ponte da extração
Stop
Target paradigm
Reads
brief de migração, domain.md, architecture.md, inventory.md — só specs
Writes
migration/paradigm_decision.md (ou pending_decisions.md)
Shows up in
Dossier (paradigm)
Rules
always all three options; the decision is human.
Scope Curatorlubylegado-curator

Rule by rule: MIGRATE, DISCARD or HUMAN DECISION, in a fixed order — ambiguous or 🔴 goes to a human; 🟢 migrates; 🟡 migrates with a warning.

Family
Synthesis
Rungs
C
Depends on
paradigm-advisor
Reads
brief, decisão de paradigma, specs, domain.md, gaps.md
Writes
migration/target_business_rules.md, discard_log.md, ambiguity_log.md
Shows up in
artifacts panel
Rules
nothing ambiguous silently migrates or gets discarded.
Migration Strategistlubylegado-strategist

Evaluates at least two strategies (Strangler Fig, Big Bang, Parallel Run, Branch by Abstraction…) against risk appetite, paradigm gap and constraints; recommends one; builds the risk register and cutover plan.

Family
Decision
Rungs
C
Depends on
curator
Stop
Migration strategy
Reads
brief, decisões anteriores, regras-alvo, arquitetura, dependências
Writes
migration/migration_strategy.md, risk_register.md, cutover_plan.md
Shows up in
Dossier (numbers, summary, critical risks, strategy)
Rules
every risk has an owner; never Big Bang with regulated integrations.
New System Designerlubylegado-designer

Phase 1: legacy topology and a modern proposal (preserve, modernize, hybrid). Phase 2: contexts, target architecture, domain model, data model and data migration plan.

Family
Decision
Rungs
C
Depends on
strategist
Stop
Topology of the new system
Reads
brief, decisões anteriores, domínio, arquitetura, dados, ERD
Writes
migration/topology_decision.md; na fase 2 target_architecture.md, target_domain_model.md, target_data_model.md, data_migration_plan.md
Shows up in
artifacts panel
Rules
no 1-to-1 decomposition. Phase 2 needs a recorded approval the Studio doesn't write — expect phase 1.
Screen Translatorlubylegado-screen-translator

Detects source and target platforms and forces the translation-mode decision; phase 2 generates per-screen specs, a deviation log and golden files.

Family
Interface
Rungs
C
Depends on
designer
Stop
Screen translation mode: literal · modernized · hybrid
Reads
decisões de migração, design system, inventário de UI, screenshots, código das telas
Writes
migration/screen_modernization_decision.md, target_screens.md, screen_deviation_log.md
Shows up in
artifacts panel
Rules
no UI → skipped. Supported pairs are listed in the skill (e.g. Android XML → Flutter/Compose, iOS XIB → SwiftUI/Flutter); outside them, free text.
Parity Inspectorlubylegado-inspector

Defines how to prove the new system behaves like the old one: validation modes (shadow, characterization, contract, data parity), acceptance metric, window, cutover blocker and extra scenarios when the paradigm changes.

Family
Verification
Rungs
C
Depends on
screen-translator
Reads
decisões, arquitetura e domínio alvo, telas, fluxos
Writes
migration/parity_specs.md, migration/parity_tests/*.feature
Shows up in
artifacts panel
Rules
the .feature files are specifications, not executable tests.
Reconstruction Plannerlubylegado-reconstructor

A bottom-up reimplementation plan: schema → domain → state machines → leaf units → intermediate units → API → flows. Each task says what it reads and when it's done.

Family
Specification
Rungs
C
Depends on
ponte da extração
Stop
Reconstruction kickoff
Reads
gaps.md, confidence-report.md, architecture.md, dependencies.md, matriz código ↔ spec
Writes
reconstruction-plan.md
Shows up in
artifacts panel
Rules
in the Studio it stops at planning mode: never creates, edits or deletes code.
Fluxo · F10

Agentes · Federação e sob demanda

Estes não fazem parte de nenhum degrau: rodam no run de federação ou quando alguém clica um botão numa aba. Um por vez por run; o custo entra no total.

Mapeador de Federaçãolubylegado-federation-map

Descobre onde os sistemas da sessão se tocam — HTTP saída ↔ entrada, filas, bancos e tabelas compartilhados, configuração apontando um para o outro — e sinaliza contrato divergente, acoplamento síncrono em cadeia, escrita sem dono e ciclos entre sistemas.

Família
Reconhecimento
Degraus
run de federação
Depende de
Parada
Confirmação dos pontos de contato (via Pesquisador de Respostas)
federation/systems.json e, por sistema, integrações, tecnologias, arquitetura, dados, casos de uso
Grava
federation/contact-points.json e .md
Aparece em
Consolidado, Dossiê
Regras
🟢 só com evidência dos dois lados; nome parecido nunca é prova.
Especialista em Stacklubylegado-tech-spec

Só para a arquitetura escolhida: por necessidade (linguagem, framework, persistência, mensageria…), 2–3 candidatos com aderência, atrito de migração, lock-in, custo, maturidade e riscos.

Família
Especificação
Degraus
sob demanda
Depende de
decisão de arquitetura
refactor/decision.json, arquiteturas, tecnologias, integrações, dados
Grava
refactor/tech-stack.json e .md
Aparece em
Arquitetura-alvo, Spec Kit
Regras
sem rede; versão só do repositório; sem benchmark inventado.
Redator de PRDlubylegado-prd

PRD reconstruído em 11 seções, com requisitos funcionais e regras numerados e a origem de cada um, terminando no que precisa ser validado com o negócio.

Família
Especificação
Degraus
sob demanda
Depende de
soul + casos de uso
soul.md, casos de uso, domínio, permissões, integrações, arquitetura, dados, backlog, PRD humano
Grava
prd.md, prd.json
Aparece em
PRD
Regras
o cabeçalho diz "reconstruído a partir do código"; nenhuma métrica inventada.
Resumo do Produtolubylegado-product-brief

O que o sistema faz, para quem, qual dor resolve, 8–20 capacidades com evidência e maturidade, não-objetivos e tensões entre PRD e código.

Família
Síntese
Degraus
sob demanda
Depende de
PRD humano (vence tudo), soul.md, casos de uso, domínio
Grava
research/brief.json
Aparece em
Researcher
Regras
sem rede; não propõe feature.
Scanner de Mercadolubylegado-market-scan

Pesquisa na internet 5–8 concorrentes: posicionamento, público, preço (com URL da fonte ou nulo), forças, fraquezas e sobreposição.

Família
Negócio
Degraus
sob demanda
Depende de
product-brief
brief.json
Grava
research/market.json e .md
Aparece em
Researcher
Regras
o único agente com internet; nunca põe código, arquivo, tabela ou nome de cliente numa consulta.
Radar de Featureslubylegado-feature-radar

Subtrai o produto do mercado: 8–15 features candidatas (paridade, diferencial, aposta) com problema e evidência, e as forças a manter.

Família
Negócio
Degraus
sob demanda
Depende de
market-scan
brief.json, market.json
Grava
research/features.json e .md
Aparece em
Researcher
Regras
sem rede; refazer a leitura roda só este agente.
Analista de Sustentaçãolubylegado-analise

Relatório para o sistema que fica no ar: o que é sem jargão, com o que é feito, a dívida D-NN graduada por critério explícito e, com anexo, o custo de cada pedido futuro R-NN.

Família
Síntese
Degraus
sob demanda
Depende de
soul + análise do código
artefatos, o código citado, pastas de teste, lista anexada
Grava
analise/sistema.md, tecnologias.md, situacao.md, backlog.md, analise.json
Aparece em
Análise
Regras
"descrever, não persuadir"; nada sem evidência.
Montador do Spec Kitlubylegado-speckit

Transforma só os cards que uma pessoa moveu para Pronto num pacote: constituição e, por feature, spec (o quê e por quê), plan (como) e tasks (ordem).

Família
Especificação
Degraus
sob demanda
Depende de
cards prontos no Kanban
backlog/kanban.json, backlog, alma, domínio, casos de uso, decisão e stack
Grava
speckit/memory/constitution.md, specs/NNN-*/spec.md, plan.md, tasks.md, index.json
Aparece em
Spec Kit
Regras
sem código; card sem critério é excluído; nunca escolhe stack sozinho.
Sugestor de Respostalubylegado-answer-suggest

Redige a resposta mais provável para uma pergunta aberta, com raciocínio, evidência e confiança.

Família
Verificação
Degraus
sob demanda
Depende de
parada aberta
o bloco da pergunta, código citado, artefatos, respostas já dadas, opções
Grava
.lubylegado/answer-suggestion/<slug>.json
Aparece em
diálogo da parada (Sugerir resposta)
Regras
resposta nula em decisão puramente de negócio; nunca edita o arquivo de perguntas — só você grava.
Flow · F10

Agents · Federation and on demand

These aren't part of any rung: they run in the federation run or when someone clicks a tab button. One at a time per run; their cost is added to the total.

Federation Mapperlubylegado-federation-map

Finds where the session's systems touch — outbound ↔ inbound HTTP, shared queues, databases and tables, config pointing at each other — and flags contract drift, chained sync coupling, ownerless writes and cycles between systems.

Family
Recognition
Rungs
run de federação
Depends on
Stop
Contact point confirmation (via Answer Researcher)
Reads
federation/systems.json e, por sistema, integrações, tecnologias, arquitetura, dados, casos de uso
Writes
federation/contact-points.json e .md
Shows up in
Consolidated, Dossier
Rules
🟢 only with evidence on both sides; similar names are never proof.
Stack Specialistlubylegado-tech-spec

Only for the chosen architecture: per need (language, framework, persistence, messaging…), 2–3 candidates with fit, migration friction, lock-in, cost, maturity and risks.

Family
Specification
Rungs
sob demanda
Depends on
decisão de arquitetura
Reads
refactor/decision.json, arquiteturas, tecnologias, integrações, dados
Writes
refactor/tech-stack.json e .md
Shows up in
Target architecture, Spec Kit
Rules
no network; version only from the repository; no invented benchmarks.
PRD Writerlubylegado-prd

A reconstructed 11-section PRD, with numbered functional requirements and rules and each one's source, ending with what must be validated with the business.

Family
Specification
Rungs
sob demanda
Depends on
soul + casos de uso
Reads
soul.md, casos de uso, domínio, permissões, integrações, arquitetura, dados, backlog, PRD humano
Writes
prd.md, prd.json
Shows up in
PRD
Rules
the header says "reconstructed from the code"; no invented metrics.
Product Brieflubylegado-product-brief

What the system does, for whom, which pain it solves, 8–20 capabilities with evidence and maturity, non-goals and tensions between PRD and code.

Family
Synthesis
Rungs
sob demanda
Depends on
Reads
PRD humano (vence tudo), soul.md, casos de uso, domínio
Writes
research/brief.json
Shows up in
Researcher
Rules
no network; proposes no features.
Market Scannerlubylegado-market-scan

Searches the web for 5–8 competitors: positioning, audience, price (with source URL or null), strengths, weaknesses and overlap.

Family
Business
Rungs
sob demanda
Depends on
product-brief
Reads
brief.json
Writes
research/market.json e .md
Shows up in
Researcher
Rules
the only agent with internet; never puts code, files, tables or client names in a query.
Feature Radarlubylegado-feature-radar

Subtracts the product from the market: 8–15 candidate features (parity, differentiator, bet) with problem and evidence, and strengths to keep.

Family
Business
Rungs
sob demanda
Depends on
market-scan
Reads
brief.json, market.json
Writes
research/features.json e .md
Shows up in
Researcher
Rules
no network; redoing the reading reruns only this agent.
Maintenance Analystlubylegado-analise

A report for the system that stays live: what it is without jargon, what it's built with, debt items D-NN graded by explicit criteria and, with an attachment, the cost of each future request R-NN.

Family
Synthesis
Rungs
sob demanda
Depends on
soul + análise do código
Reads
artefatos, o código citado, pastas de teste, lista anexada
Writes
analise/sistema.md, tecnologias.md, situacao.md, backlog.md, analise.json
Shows up in
Analysis
Rules
"describe, don't persuade"; nothing without evidence.
Spec Kit Builderlubylegado-speckit

Turns only the cards a person moved to Ready into a package: constitution and, per feature, spec (what and why), plan (how) and tasks (order).

Family
Specification
Rungs
sob demanda
Depends on
cards prontos no Kanban
Reads
backlog/kanban.json, backlog, alma, domínio, casos de uso, decisão e stack
Writes
speckit/memory/constitution.md, specs/NNN-*/spec.md, plan.md, tasks.md, index.json
Shows up in
Spec Kit
Rules
no code; a card without criteria is excluded; never picks a stack on its own.
Answer Suggesterlubylegado-answer-suggest

Drafts the most likely answer to one open question, with reasoning, evidence and confidence.

Family
Verification
Rungs
sob demanda
Depends on
parada aberta
Reads
o bloco da pergunta, código citado, artefatos, respostas já dadas, opções
Writes
.lubylegado/answer-suggestion/<slug>.json
Shows up in
stop dialog (Suggest an answer)
Rules
null answer on pure business calls; never edits the questions file — only you record.
Trilha 2 · Comercial · 2.1

Abordagem

O serviço é um processo de engenharia com evidência, conduzido pela Luby sobre um sistema legado: primeiro a especificação do que existe, depois as alterações, cada uma verificada contra o comportamento registrado.

O princípio

Alterar um sistema exige conhecer o comportamento atual dele. A especificação vem antes da mudança.

Uma reescrita sem especificação tende a omitir regras que só existiam no código original. Uma refatoração sem testes de caracterização não tem como demonstrar que o comportamento foi preservado. Nos dois casos, a mudança começa antes de o comportamento atual estar registrado. O primeiro passo é extrair a especificação do que existe.

As etapas

  1. Estado inicial. O comportamento do sistema não está especificado nem coberto por testes.
  2. Especificação. Descobrir — o comportamento é extraído do código, com evidência e nível de confiança.
  3. Verificação. Provar — testes de caracterização registram o comportamento antes de qualquer alteração.
  4. Evolução. Transformar — cada mudança é aprovada, verificada e reversível.

Os três atos

Ato 1

Descobrir

Arquitetura, módulos, dependências, dados, fluxos e regras extraídos do sistema que roda hoje. Cada achado: confirmado, inferido ou lacuna. É aqui que o Studio Legado trabalha.

Ato 2

Provar

Antes de tocar em qualquer parte, verificamos se existe rede de segurança. Não havendo, escrevemos testes de caracterização que registram como o sistema se comporta hoje.

Ato 3

Transformar

Com o comportamento protegido, reorganizamos a estrutura. Propomos cada transformação, o cliente aprova, aplicamos e verificamos. Tudo reversível.

Como falar do Studio

O entregável é o resultado do processo: especificações, inventário de débito técnico e alterações verificadas. O Studio Legado é a ferramenta que produz e expõe essa evidência; a apresentação trata do conteúdo produzido, não de comandos, instalação, licença ou do framework de origem.

A frase-invariante

Propor uma transformação e aplicá-la são atos separados. Nada toca o legado sem prova de preservação de comportamento.
Track 2 · Sales · 2.1

Approach

The service is an engineering process with evidence, run by Luby on a legacy system: first the specification of what exists, then the changes, each one verified against the recorded behavior.

The principle

Changing a system requires knowing its current behavior. The specification comes before the change.

A rewrite without a specification tends to omit rules that only existed in the original code. A refactoring without characterization tests cannot demonstrate that behavior was preserved. In both cases the change starts before the current behavior is recorded. The first step is to extract the specification of what exists.

The stages

  1. Initial state. The system's behavior is neither specified nor covered by tests.
  2. Specification. Discover — behavior is extracted from the code, with evidence and a confidence level.
  3. Verification. Prove — characterization tests record behavior before any change.
  4. Evolution. Transform — each change is approved, verified and reversible.

The three acts

Act 1

Discover

Architecture, modules, dependencies, data, flows and rules extracted from the system running today. Every finding: confirmed, inferred, or a gap. This is where Studio Legado works.

Act 2

Prove

Before we touch any part, we check whether a safety net exists. Where there isn't one, we write characterization tests that record how the system behaves today.

Act 3

Transform

With behavior protected, we reorganize the structure. We propose each transformation, the client approves it, and we apply and verify it. All reversible.

How to talk about the Studio

The deliverable is the outcome of the process: specifications, a technical debt inventory and verified changes. Studio Legado is the tool that produces and exposes that evidence; the presentation covers the content produced, not commands, installation, licenses or the underlying framework.

The invariant

A proposed transformation and an applied transformation are two different steps. Nothing touches the legacy system without proof that behavior was preserved.
Trilha 2 · Comercial · 2.2

Contextos de aplicação

O diagnóstico se aplica a sistemas críticos para a operação cujo comportamento não está inteiramente especificado. O material produzido é técnico; parte dele é lida também por quem decide sem perfil técnico.

Perfil de empresa

  • Sistema de negócio crítico com anos de vida (receita, operação, regulatório passam por ele).
  • Concentração de conhecimento: a equipe que construiu o sistema não está mais disponível, ou o conhecimento depende de poucas pessoas.
  • Setores com legado pesado e regra de negócio densa: financeiro, meios de pagamento, seguros, saúde, varejo, logística, governo.
  • Momento de decisão: modernização, aquisição/fusão, troca de fornecedor, fim de vida de tecnologia, auditoria.

Personas

PerfilDébito técnico observadoEvidência que o diagnóstico entrega
CTO / VP / Head de EngenhariaImpacto de mudanças não mensurável; estimativas sem base; dependência de poucas pessoasMatriz de impacto, especificação registrada, plano de modernização incremental
Tech Lead / ArquitetoMódulos sem cobertura de testes; onboarding lento; débito sem priorizaçãoTestes de caracterização, rastreabilidade código ↔ spec, inventário de refatoração priorizado por ROI
Produto / NegócioPrazo de entrega de features crescente; regras de negócio não documentadasRegras de negócio especificadas, com evidência no código e testes que as cobrem
M&A / DiretoriaAquisição ou herança de um sistema sem avaliação técnicaDiagnóstico com evidência, tamanho estrutural e custo de sustentação

Indicadores de débito técnico

Módulos sem alteração recente

Código crítico que acumula demandas pendentes e não recebe alterações por falta de cobertura de testes.

Conhecimento concentrado

Partes do sistema só são alteradas por uma ou duas pessoas.

Desvio recorrente de estimativas

Dependências e impacto das mudanças não estão mapeados.

Reescrita planejada sem especificação

A nova implementação não tem uma referência verificável do comportamento atual.

Tecnologia em fim de suporte

Runtime, banco ou linguagem sem suporte do fornecedor (ex.: Java 8, versões antigas de Oracle, COBOL).

Regras identificadas em incidentes

Regras de negócio que só são conhecidas quando um incidente em produção as revela.

Quando não é para nós

  • Quer um botão "modernizar tudo" sem participar das decisões.
  • Quer só auditoria de código, lint ou lista de bugs.
  • Sistema pequeno, bem testado, com o time original presente — o ganho é baixo.
  • Não pode dar acesso ao código em nenhuma modalidade.
Track 2 · Sales · 2.2

Application contexts

The diagnosis applies to business-critical systems whose behavior is not fully specified. The material produced is technical; part of it is also read by decision makers without a technical background.

Company profile

  • A business-critical system that's years old (revenue, operations or compliance runs through it).
  • Concentrated knowledge: the team that built the system is no longer available, or knowledge depends on a few people.
  • Industries with heavy legacy and dense business rules: financial services, payments, insurance, healthcare, retail, logistics, government.
  • A decision moment: modernization, acquisition/merger, vendor change, technology end of life, audit.

Personas

RoleObserved technical debtEvidence the diagnosis delivers
CTO / VP / Head of EngineeringChange impact cannot be measured; estimates with no basis; dependence on a few peopleImpact matrix, recorded specification, incremental modernization plan
Tech Lead / ArchitectModules without test coverage; slow onboarding; unprioritized debtCharacterization tests, code ↔ specification traceability, refactoring inventory prioritized by ROI
Product / BusinessGrowing feature lead time; undocumented business rulesSpecified business rules, with evidence in the code and tests that cover them
M&A / BoardAcquiring or inheriting a system without a technical assessmentA diagnosis with evidence, structural size and the cost of keeping it running

Technical debt indicators

Modules without recent changes

Critical code that accumulates pending requests and receives no changes for lack of test coverage.

Concentrated knowledge

Parts of the system are only changed by one or two people.

Recurring estimate overruns

Dependencies and change impact are not mapped.

Rewrite planned without a specification

The new implementation has no verifiable reference for the current behavior.

Technology out of support

Runtime, database or language without vendor support (e.g. Java 8, old Oracle versions, COBOL).

Rules found through incidents

Business rules that only become known when a production incident reveals them.

When it isn't for us

  • They want a "modernize everything" button without taking part in the decisions.
  • They only want a code audit, lint or a bug list.
  • A small, well-tested system with the original team still there — the gain is low.
  • They can't grant access to the code in any form.
Trilha 2 · Comercial · 2.3

Casos de uso

21 situações de aplicação do Studio Legado, cada uma com o indicador que a identifica, o degrau recomendado, as telas que mostram a evidência, o que ele entrega, onde para e o que o mercado diz.

Cada caso cruza três coisas: o sinal que aparece na conversa, o que o Studio entrega de fato (verificado no código) e o que o mercado diz, com fonte e ano. Onde o Studio para e começa a engenharia, está escrito — e os limites também.

Como usar os dados de mercado

Cite sempre com a fonte e o ano. Itens marcados fonte secundária foram vistos em resumo ou em terceiros: confirme no original antes de pôr em proposta, LP ou apresentação. Números que não conseguimos confirmar ficaram de fora de propósito.

SeloSignifica
o Studio entrega o que está descrito
✅ ⚠️entrega, com limite que precisa ser dito ao cliente
CLInão está na tela do Studio; é feito pela CLI, no projeto

Mapa rápido

CasoDegrauTelas-provaStudio
O sistema que ninguém quer tocarEssencial → refatoração conduzidaCasos de uso, Arquitetura, Qualidade
Reescrever, refatorar ou migrar?CompletaTecnologias, Arquitetura-alvo, Kanban, Dossiê✅ ⚠️
Monolito para módulos ou serviçosEssencial ou CompletaArquitetura, Arquitetura-alvo, Integrações, Qualidade
Tecnologia em fim de vidaReconhecimento → ProfundaTecnologias, Análise✅ ⚠️
Customizações de ERP antes da migraçãoPiloto em ReconhecimentoSumário, Tecnologias, Casos de uso✅ ⚠️
Dois apps nativos que viram um híbridoEssencial ou Completa, os dois apps (e o backend) na mesma sessãoCasos de uso, Consolidado, Integrações, Arquitetura-alvo, Kanban, Spec Kit✅ ⚠️
Produto legado perdendo mercadoEssencial + ResearcherPRD, Researcher✅ ⚠️
Ninguém sabe mais o que o produto prometeEssencialSumário, Casos de uso, PRD
Sistema sem testes automatizadosEssencial (Completa para paridade)Kanban, Qualidade, Análise✅ ⚠️
Dívida técnica sem prioridadeEssencialQualidade, Análise
Análise do uso de IA nos projetosQualquer degrau, com o sistema como pasta localDossiê (Higiene de uso de IA), Spec Kit✅ ⚠️
Reconstruir com agentes de códigoCompletaKanban, Arquitetura-alvo, Spec Kit✅ ⚠️
Due diligence técnica em aquisiçãoReconhecimento em todos, Profunda nos críticosTecnologias, Integrações, Análise, Consolidado, Dossiê
Exigência regulatória de documentação e riscoProfundaIntegrações, Tecnologias, Arquitetura, Diagramas, Dossiê✅ ⚠️
Troca de fornecedor ou internalizaçãoProfundaSumário, Arquitetura, Integrações, Casos de uso, Diagramas
Proposta e RFP com estimativa ancoradaReconhecimento → ProfundaSumário, Tecnologias, faixa Preço e tamanho, Dossiê✅ ⚠️
O sistema vai continuar no arProfundaAnálise
Onboarding e conhecimento concentradoProfundaSumário, Diagramas, Casos de uso, mini-site
Integração com parceiros e documentação de APIEssencialIntegrações, Casos de uso
Triagem de portfólioReconhecimento em todosSumário, Tecnologias, Arquitetura, Consolidado
Automações e fluxos sem donoFora do Studio (CLI)CLI

Modernização e arquitetura

O sistema que ninguém quer tocar

Indicador
Áreas evitadas por medo, "mexeu aqui, quebrou ali", o time original saiu.
Degrau
Essencial → refatoração conduzida
Telas-prova
Casos de uso, Arquitetura, Qualidade
O Studio entrega
  • Regras de negócio com selo e o arquivo de origem
  • Grafo de dependências com ciclos e impacto de mudar
  • Inventário de dívida por ROI, marcando o que está sem prova de comportamento
Engenharia Luby
Testes de caracterização e cada transformação, no repositório do cliente, com diff aprovado.
O mercado diz
"Antes de mudar uma linha, mostramos o que o sistema faz — regra por regra, com o arquivo de onde ela saiu."

Reescrever, refatorar ou migrar?

Indicador
Diretoria discutindo reescrita; orçamento em jogo; ninguém sabe o tamanho real.
Degrau
Completa
Telas-prova
Tecnologias, Arquitetura-alvo, Kanban, Dossiê
O Studio entrega
  • 2–4 arquiteturas-alvo com aderência calculada, incluindo manter e endurecer
  • Quando cada uma é a escolha errada e por onde começar
  • Backlog com o que está pronto para reescrever e o que é won't (custo evitado)
  • Dossiê com riscos, estratégia, esforço e decisões
Engenharia Luby
A decisão é do cliente; a execução da migração é engenharia.
Limite honesto
A faixa de Migração depende de um brief de migração que o Studio ainda não coleta — valide os artefatos num piloto antes de vender essa parte.
O mercado diz
  • Agências federais dos EUA gastam cerca de 80% do orçamento de TI em operação e manutenção; o sistema legado mais antigo avaliado tem 60 anos. US GAO, GAO-25-107795, 2025
"Você não precisa decidir hoje se reescreve. Comece entendendo o que tem — a decisão sai da análise."

Monolito para módulos ou serviços

Indicador
Plano de "quebrar em microsserviços" sem saber onde estão as fronteiras naturais.
Degrau
Essencial ou Completa
Telas-prova
Arquitetura, Arquitetura-alvo, Integrações, Qualidade
O Studio entrega
  • Grafo com peso de acoplamento real e ciclos a desfazer
  • Arquiteturas-alvo que nunca dividem através de fronteira transacional
  • Oportunidades de modularizar e desacoplar priorizadas
Engenharia Luby
Extrair módulos e serviços com os especialistas de qualidade, no projeto real.
O mercado diz
  • Um serviço de monitoramento do Prime Video voltou de microsserviços para monolito e reduziu custo em 90%. DevClass sobre estudo interno da Amazon, 2023 (fonte secundária — confirmar antes de uso externosecondary source — confirm before external use)
"Arquitetura-alvo se escolhe com evidência, não com moda — inclusive quando a resposta é não quebrar."

Tecnologia em fim de vida

Indicador
Auditoria, seguradora ou time de segurança aponta runtime sem suporte.
Degrau
Reconhecimento → Profunda
Telas-prova
Tecnologias, Análise
O Studio entrega
  • Cada tecnologia com risco (fim de vida, abandonada…) e onde é usada
  • Acoplamento (isolado, espalhado, estrutural): o que torna a troca cara
  • Caixa sem manutenção: trabalho obrigatório no orçamento
Engenharia Luby
Planejar e executar a troca.
Limite honesto
A versão vem só do repositório; o Studio não consulta base de vulnerabilidades.
O mercado diz
"Não é só saber que está velho: é saber onde está espalhado — é isso que decide o preço da troca."

Customizações de ERP antes da migração

Indicador
Prazo de fim de manutenção se aproximando e anos de código customizado sem inventário.
Degrau
Piloto em Reconhecimento
Telas-prova
Sumário, Tecnologias, Casos de uso
O Studio entrega
  • Inventário e regras do código customizado, quando a linguagem é bem lida pelo modelo
  • Separar o que manter, aposentar ou reconstruir, por regra
Engenharia Luby
A migração do ERP em si.
Limite honesto
Nenhuma skill declara suporte a ABAP. Venda como piloto de Reconhecimento, com expectativa alinhada.
O mercado diz
  • SAP ECC 6.0 (EhP 6–8): manutenção principal até 31/12/2027. SAP Community, 2022 (fonte secundária — confirmar antes de uso externosecondary source — confirm before external use)
  • Só 39% dos ~35 mil clientes ECC tinham migrado até o fim de 2024. Gartner via CIO.com, 2025
  • Customizações são barreira para 44% dos membros norte-americanos. ASUG via The Register, 2025
"Antes de decidir o que levar para o sistema novo, saiba o que o código customizado faz."

Aplicativos e produto

Dois apps nativos que viram um híbrido

Indicador
A empresa paga dois times para construir cada feature duas vezes, e iOS e Android já se comportam diferente.
Degrau
Essencial ou Completa, os dois apps (e o backend) na mesma sessão
Telas-prova
Casos de uso, Consolidado, Integrações, Arquitetura-alvo, Kanban, Spec Kit
O Studio entrega
  • Casos de uso e regras de cada app, com arquivo de origem — a base para achar divergência de comportamento entre plataformas
  • Consolidado lado a lado: tecnologias, casos de uso, integrações e backlog dos dois
  • Pontos de contato com o backend compartilhado (federação)
  • Backlog e Spec Kit do app novo a partir dos cards prontos
  • Tradução de telas para pares suportados: Android XML → Flutter/Compose, iOS XIB → SwiftUI/Flutter
Engenharia Luby
Unificar os dois conjuntos de regras num só produto, escolher React Native, Flutter ou Kotlin Multiplatform e construir.
Limite honesto
O Studio não funde dois apps num só: a federação acha onde sistemas se tocam, não onde duplicam. Cruzar casos de uso entre repositórios está planejado, não implementado. React Native não aparece em nenhuma skill; SwiftUI e Compose como origem não têm par de destino. A comparação entre as duas análises é trabalho do engenheiro.
O mercado diz
  • Shopify migrou para React Native em 2020 com ~80% de código compartilhado entre iOS e Android. Shopify Engineering, 2020
  • Em 2026 a Shopify anunciou a volta para nativo: agentes de código "reduziram drasticamente o custo de manter paridade entre plataformas", usando o app de uma plataforma como referência para a outra. Shopify Engineering, 2026
  • O app iOS do Respawn Pro compartilha 96% do código com Android via Kotlin Multiplatform. JetBrains, KMP, 2026
"Nos dois sentidos — unificar ou separar — o app que existe é a especificação. Nós a colocamos por escrito antes de alguém reescrever."

Produto legado perdendo mercado

Indicador
Concorrentes lançando mais rápido; produto sem PRD atualizado.
Degrau
Essencial + Researcher
Telas-prova
PRD, Researcher
O Studio entrega
  • PRD reconstruído do código, com origem por requisito
  • Concorrentes com preço e fonte; features de paridade, diferencial e aposta
  • O que ninguém mais tem e onde PRD e código discordam
Engenharia Luby
Priorizar o roadmap com o cliente.
Limite honesto
A pesquisa de mercado vai à internet (só por descrição do problema) e envelhece: refaça antes de cada ciclo de planejamento.
"Mostramos o que seu produto já faz, o que o mercado faz, e a diferença entre os dois."

Ninguém sabe mais o que o produto promete

Indicador
Produto e engenharia discutem o que é bug e o que é regra.
Degrau
Essencial
Telas-prova
Sumário, Casos de uso, PRD
O Studio entrega
  • Sumário em linguagem de negócio
  • PRD reconstruído com a seção A validar com o negócio
  • Casos de uso com pré e pós-condições e exceções
Engenharia Luby
Conduzir a validação com o negócio.
"O PRD descreve o sistema como ele é — e lista o que só vocês podem confirmar."

Testes e qualidade

Sistema sem testes automatizados

Indicador
Todo release exige regressão manual; ninguém muda nada sem medo.
Degrau
Essencial (Completa para paridade)
Telas-prova
Kanban, Qualidade, Análise
O Studio entrega
  • Especificação de testes de unidade por card: ao menos um por critério e por regra, mais borda e erro, em dado/quando/então
  • Veredito de cobertura por card (coberto, parcial, sem critério)
  • Na Qualidade, cada oportunidade marcada 🔴 sem prova de comportamento
  • Na Análise, cobertura e tem teste / sem teste por item de dívida
  • Na Completa, cenários Gherkin de paridade (.feature)
Engenharia Luby
Escrever o código dos testes — de caracterização, que congelam o comportamento atual antes de qualquer mudança — no repositório do cliente.
Limite honesto
O Studio não gera código de teste nem roda ferramenta de cobertura: a cobertura é avaliada lendo o repositório. Integração com ferramentas determinísticas (mutação, verificação estática) tem a infraestrutura pronta, mas nenhum fluxo a usa ainda.
O mercado diz
  • "Código legado é simplesmente código sem testes." Testes de caracterização descrevem o comportamento real do software existente e o protegem contra mudança não intencional. Michael Feathers, Working Effectively with Legacy Code, 2004
  • Qualidade ruim de software custou US$ 2,41 trilhões aos EUA; a dívida técnica acumulada é de ~US$ 1,52 trilhão. CISQ, 2022
  • A adoção de IA mantém relação negativa com a estabilidade de entrega, a menos que existam sistemas de controle como testes automatizados. DORA / Google Cloud, 2025
"Primeiro descobrimos o que precisa ser provado. Depois provamos — antes de mudar qualquer coisa."

Dívida técnica sem prioridade

Indicador
Lista infinita de "precisa refatorar"; nada sai do lugar.
Degrau
Essencial
Telas-prova
Qualidade, Análise
O Studio entrega
  • Oportunidades por verbo, com retorno estimado, custo e confiança
  • Ordem: primeiro o seguro e barato; o que não tem rede de segurança fica visível
  • Na Análise, severidade com critério explícito e categoria da dor
Engenharia Luby
Aplicar as transformações com os especialistas.
O mercado diz
  • Desenvolvedores gastavam 17,3 h de uma semana de 41,1 h com dívida técnica e código ruim. Stripe, The Developer Coefficient, 2018 (fonte secundária — confirmar antes de uso externosecondary source — confirm before external use)
"Priorizamos pelo caminho quente que roda milhares de vezes ao dia, não pela estética."

IA no desenvolvimento

Análise do uso de IA nos projetos

Indicador
A liderança quer acelerar com IA, a confiança no código gerado é baixa e ninguém sabe se os repositórios estão prontos para agentes.
Degrau
Qualquer degrau, com o sistema como pasta local
Telas-prova
Dossiê (Higiene de uso de IA), Spec Kit
O Studio entrega
  • Higiene de uso de IA no dossiê: 15 verificações do repositório — arquivo de contexto para agentes (CLAUDE.md/AGENTS.md) na raiz, curto, dizendo como testar e sem duplicata; CI configurado; nenhum segredo versionado; configuração local de agente fora do git; sem credencial literal em .mcp.json; hooks de proteção
  • Especificações rastreáveis prontas para servirem de contexto aos agentes de código (Spec Kit com constituição)
Engenharia Luby
Diagnóstico de práticas do time, governança e adoção — consultoria.
Limite honesto
A verificação depende do Agentic Squad rodando na mesma máquina e de o sistema ter sido selecionado como pasta local; sem isso o dossiê diz "Não verificado". Não avalia a qualidade do código escrito por IA nem as funcionalidades de IA do produto.
O mercado diz
  • 84% dos desenvolvedores usam ou pretendem usar IA; 46% desconfiam da precisão; 66% citam soluções "quase certas, mas não totalmente". Stack Overflow Developer Survey, 2025
  • 90% usam IA no trabalho e 30% confiam pouco ou nada no código gerado; "conectar a IA ao seu contexto interno" é uma das sete capacidades do modelo DORA de IA. DORA / Google Cloud, 2025
  • Linhas copiadas/coladas subiram de 8,3% para 12,3% e linhas de refatoração caíram para menos de 10% (211 milhões de linhas analisadas). GitClear, AI Copilot Code Quality, 2025
  • AGENTS.md é usado por mais de 60 mil projetos open source e hoje é mantido pela Agentic AI Foundation, na Linux Foundation. agents.md, 2026
"IA sem contexto do seu sistema gera código quase certo. Nós entregamos o contexto — e verificamos se o repositório está pronto para agentes."

Reconstruir com agentes de código

Indicador
O cliente quer usar agentes para construir o sistema novo mais rápido.
Degrau
Completa
Telas-prova
Kanban, Arquitetura-alvo, Spec Kit
O Studio entrega
  • Cards com critério verificável e testes especificados
  • Stack escolhida e pesquisada
  • Pacote Spec Kit: constituição, spec, plan e tasks por feature, com ordem de implementação
Engenharia Luby
Conduzir os agentes na construção, revisar e provar paridade.
Limite honesto
O pacote é para projeto novo; nada do legado é alterado.
O mercado diz
  • "Até 2027, ferramentas de GenAI serão usadas para explicar aplicações legadas e criar substitutos, reduzindo custos de modernização em 70%." Gartner, comunicado de 13/03/2024Gartner, press release Mar 13, 2024, 2024 (fonte secundária — confirmar antes de uso externosecondary source — confirm before external use)
"Agente de código sem especificação reescreve o legado esquecendo metade das regras. A especificação é o que impede isso."

Negócio, risco e compliance

Due diligence técnica em aquisição

Indicador
Fusão, aquisição ou compra de carteira; semanas, não meses, para avaliar.
Degrau
Reconhecimento em todos, Profunda nos críticos
Telas-prova
Tecnologias, Integrações, Análise, Consolidado, Dossiê
O Studio entrega
  • Retrato rápido de vários sistemas em paralelo
  • Risco de sustentação, integrações e dependência de pessoas
  • Relatório para quem decide e não programa
Engenharia Luby
Parecer técnico e recomendação ao investidor.
O mercado diz
  • Negócios de tecnologia são 31% das aquisições; due diligence técnica completa acontece em menos de 15% dos negócios puramente de software. Bain, Global PE Report, 2022
"Antes de assinar, saiba o que você está comprando — e quanto custa mantê-lo no ar."

Exigência regulatória de documentação e risco

Indicador
Regulador ou auditoria pede inventário, mapa de dependências e avaliação de risco dos sistemas.
Degrau
Profunda
Telas-prova
Integrações, Tecnologias, Arquitetura, Diagramas, Dossiê
O Studio entrega
  • Inventário de componentes e terceiros, com onde são usados
  • Mapa de interconexões e integrações com criticidade
  • Matriz de permissões e dados
  • Mini-site navegável como documentação versionável
Engenharia Luby
Enquadramento jurídico e o relatório formal ao regulador.
Limite honesto
O Studio produz evidência técnica; não emite parecer de conformidade.
O mercado diz
  • DORA (UE 2022/2554), art. 8(7): entidades financeiras devem, regularmente e ao menos uma vez por ano, fazer avaliação específica de risco de TIC de todos os sistemas legados. Em vigor desde 17/01/2025. Regulamento DORA, Art. 8, 2022
  • Resolução CMN 5.274/2025 (alterando a 4.893/2021): 14 controles mínimos obrigatórios, com avaliação e correção de vulnerabilidades e segurança de APIs; prazo 01/03/2026. Grant Thornton Brasil, 2025
  • LGPD, art. 37: controlador e operador devem manter registro das operações de tratamento de dados pessoais. Lei 13.709/2018, 2018
  • PCI DSS 4.0.1, req. 6.3.2: inventário de software sob medida e dos componentes de terceiros nele, obrigatório desde 31/03/2025. PCI DSS via fontes secundárias, 2025 (fonte secundária — confirmar antes de uso externosecondary source — confirm before external use)
"A exigência é documentar e avaliar o legado todo ano. Nós transformamos isso de arqueologia em processo."

Troca de fornecedor ou internalização

Indicador
Contrato terminando; o time novo herda um sistema que ninguém documentou.
Degrau
Profunda
Telas-prova
Sumário, Arquitetura, Integrações, Casos de uso, Diagramas
O Studio entrega
  • Documentação de passagem independente de quem saiu
  • Mini-site navegável para onboarding do time que chega
  • Lacunas declaradas: a lista de perguntas para o fornecedor antes de o contrato acabar
Engenharia Luby
Assumir a sustentação.
O mercado diz
"Faça as perguntas certas ao fornecedor que está saindo — enquanto ele ainda responde."

Proposta e RFP com estimativa ancorada

Indicador
Pedido de proposta para um sistema que ninguém da Luby conhece.
Degrau
Reconhecimento → Profunda
Telas-prova
Sumário, Tecnologias, faixa Preço e tamanho, Dossiê
O Studio entrega
  • Triagem em minutos no Reconhecimento
  • Tamanho estrutural e três cenários de preço — nunca um número único
  • Custo equivalente da análise para dimensionar o próprio diagnóstico
Engenharia Luby
Fechar escopo, prazo e preço com o cliente.
Limite honesto
Acesso ao código precisa estar autorizado antes de rodar. O dimensionamento da faixa de preço espera uma feature no formato do Code Forward — confira o que foi medido.
O mercado diz
"Nossa proposta não é um número torcido: o escopo sai da estrutura do seu sistema."

O sistema vai continuar no ar

Indicador
Sem orçamento para reescrever; pedidos novos chegam todo mês.
Degrau
Profunda
Telas-prova
Análise
O Studio entrega
  • Relatório em quatro partes para quem decide e não programa
  • Com a lista do cliente anexada: complexidade de cada pedido neste sistema e a dívida no caminho
Engenharia Luby
Executar os pedidos.
"Traga a lista do que vocês precisam entregar. Dizemos o que cada item exige neste sistema."

Time, integração e operação

Onboarding e conhecimento concentrado

Indicador
"Só o fulano sabe"; gente nova leva meses para ser produtiva.
Degrau
Profunda
Telas-prova
Sumário, Diagramas, Casos de uso, mini-site
O Studio entrega
  • Mini-site navegável: cidade de código, mapa de módulos, métricas, glossário, apresentação e "como funciona" por feature
  • C4, ERD, máquinas de estado e fluxogramas numa biblioteca
  • Decisões arquiteturais reconstruídas do histórico
Engenharia Luby
Programa de onboarding do cliente.
O mercado diz
  • 61% dos desenvolvedores gastam mais de 30 minutos por dia procurando respostas; 30% batem em silos de conhecimento 10 ou mais vezes por semana. Stack Overflow Developer Survey, 2024
  • "Encontrar informação (serviços, documentação, APIs)" é a principal fonte de atrito; 50% perdem 10+ horas por semana com atrito organizacional. Atlassian, State of DevEx, 2025
  • Desenvolvedores passam ~58% do tempo compreendendo programas. Xia et al., IEEE TSE, 2018 (fonte secundária — confirmar antes de uso externosecondary source — confirm before external use)
"O conhecimento sai da cabeça de duas pessoas e vira um ativo da empresa."

Integração com parceiros e documentação de API

Indicador
Parceiros reclamam de documentação; ninguém sabe o contrato real das APIs.
Degrau
Essencial
Telas-prova
Integrações, Casos de uso
O Studio entrega
  • Contratos com payload real, autenticação, erros e limites
  • OpenAPI gerado pelo Redator (em documentação completa/detalhada)
  • Sequências por caso de uso
Engenharia Luby
Publicar portal de desenvolvedor.
O mercado diz
"Documentamos a API que existe — com o payload que ela realmente manda."

Triagem de portfólio

Indicador
Dezenas de repositórios; ninguém sabe por onde começar.
Degrau
Reconhecimento em todos
Telas-prova
Sumário, Tecnologias, Arquitetura, Consolidado
O Studio entrega
  • Vários sistemas em paralelo, sem paradas, terminando em minutos cada
  • Consolidado com panorama e pontos de contato
Engenharia Luby
Escolher onde aprofundar.
"Em vez de apostar em qual sistema atacar primeiro, medimos todos."

Automações e fluxos sem dono

Indicador
Fluxos de n8n ou similares que sustentam processo e que ninguém entende.
Degrau
Fora do Studio (CLI)
Telas-prova
Engenharia Luby
O agente lubylegado-n8n, pela CLI, gera especificação a partir de um workflow n8n exportado (JSON) para reescrita.
Limite honesto
Não está na tela do Studio. Só n8n é suportado.
O mercado diz
  • 31% das empresas encontram ferramentas de IA "não autorizadas" todo mês; só 35% dizem que as ferramentas passam por aprovação. Zapier, AI sprawl survey, 2025 (pesquisa de fornecedor interessadovendor-run survey)
"A automação que ninguém documentou também é legado."
Track 2 · Sales · 2.3

Use cases

21 application situations for Studio Legado, each with the indicator that identifies it, the recommended rung, the screens that show the evidence, what it delivers, where it stops and what the market says.

Each case crosses three things: the signal that shows up in conversation, what the Studio actually delivers (verified in the code) and what the market says, with source and year. Where the Studio stops and engineering starts is written down — and so are the limits.

How to use the market data

Always cite it with source and year. Items marked secondary source were seen in summaries or third parties: confirm the original before putting them in a proposal, landing page or deck. Numbers we couldn't confirm were left out on purpose.

BadgeMeans
the Studio delivers what's described
✅ ⚠️delivers it, with a limit the client must be told
CLInot on the Studio screen; done through the CLI, in the project

Quick map

CaseRungProof screensStudio
The system nobody wants to touchEssential → guided refactoringUse cases, Architecture, Quality
Rewrite, refactor or migrate?CompleteTechnologies, Target architecture, Kanban, Dossier✅ ⚠️
Monolith to modules or servicesEssential or CompleteArchitecture, Target architecture, Integrations, Quality
End-of-life technologyRecon → DeepTechnologies, Analysis✅ ⚠️
ERP customizations before migrationRecon pilotSummary, Technologies, Use cases✅ ⚠️
Two native apps becoming one cross-platform appEssential or Complete, both apps (and the backend) in one sessionUse cases, Consolidated, Integrations, Target architecture, Kanban, Spec Kit✅ ⚠️
Legacy product losing groundEssential + ResearcherPRD, Researcher✅ ⚠️
Nobody knows what the product promises anymoreEssentialSummary, Use cases, PRD
A system with no automated testsEssential (Complete for parity)Kanban, Quality, Analysis✅ ⚠️
Technical debt with no priorityEssentialQuality, Analysis
Assessing AI use in projectsAny rung, with the system as a local folderDossier (AI usage hygiene), Spec Kit✅ ⚠️
Rebuilding with coding agentsCompleteKanban, Target architecture, Spec Kit✅ ⚠️
Technical due diligence in an acquisitionRecon on all, Deep on the critical onesTechnologies, Integrations, Analysis, Consolidated, Dossier
Regulatory demand for documentation and riskDeepIntegrations, Technologies, Architecture, Diagrams, Dossier✅ ⚠️
Vendor change or insourcingDeepSummary, Architecture, Integrations, Use cases, Diagrams
Proposals and RFPs with anchored estimatesRecon → DeepSummary, Technologies, Pricing and size stage, Dossier✅ ⚠️
The system is staying liveDeepAnalysis
Onboarding and concentrated knowledgeDeepSummary, Diagrams, Use cases, mini-site
Partner integration and API documentationEssentialIntegrations, Use cases
Portfolio triageRecon on allSummary, Technologies, Architecture, Consolidated
Ownerless automations and workflowsOutside the Studio (CLI)CLI

Modernization and architecture

The system nobody wants to touch

Indicator
No-go areas, "touch it here, it breaks over there", the original team left.
Rung
Essential → guided refactoring
Proof screens
Use cases, Architecture, Quality
The Studio delivers
  • Business rules with labels and their source file
  • Dependency graph with cycles and impact of changing it
  • Debt inventory by ROI, flagging what has no proof of behavior
Luby engineering
Characterization tests and each transformation, in the client's repository, with an approved diff.
The market says
"Before we change a line, we show you what the system does — rule by rule, with the file it came from."

Rewrite, refactor or migrate?

Indicator
Leadership debating a rewrite; budget at stake; nobody knows the real size.
Rung
Complete
Proof screens
Technologies, Target architecture, Kanban, Dossier
The Studio delivers
  • 2–4 target architectures with computed fit, including keep and harden
  • When each is the wrong choice and where to start
  • Backlog with what's ready to rewrite and what's won't (cost avoided)
  • Dossier with risks, strategy, effort and decisions
Luby engineering
The decision is the client's; executing the migration is engineering.
Honest limit
The Migration stage depends on a migration brief the Studio doesn't collect yet — validate its artifacts in a pilot before selling that part.
The market says
  • US federal agencies spend about 80% of IT budget on operations and maintenance; the oldest legacy system reviewed is 60 years old. US GAO, GAO-25-107795, 2025
"You don't have to decide today whether to rewrite. Start by understanding what you have — the decision comes out of the analysis."

Monolith to modules or services

Indicator
A plan to "break it into microservices" without knowing where the natural boundaries are.
Rung
Essential or Complete
Proof screens
Architecture, Target architecture, Integrations, Quality
The Studio delivers
  • Graph with real coupling weights and cycles to break
  • Target architectures that never split across a transactional boundary
  • Prioritized modularize and decouple opportunities
Luby engineering
Extracting modules and services with the quality specialists, in the real project.
The market says
  • A Prime Video monitoring service moved from microservices back to a monolith and cut cost by 90%. DevClass sobre estudo interno da Amazon, 2023 (fonte secundária — confirmar antes de uso externosecondary source — confirm before external use)
"A target architecture is chosen from evidence, not fashion — including when the answer is not to split."

End-of-life technology

Indicator
An audit, insurer or security team flags an unsupported runtime.
Rung
Recon → Deep
Proof screens
Technologies, Analysis
The Studio delivers
  • Every technology with risk (end of life, abandoned…) and where it's used
  • Coupling (isolated, spread, structural): what makes replacement expensive
  • The unmaintained box: mandatory budget work
Luby engineering
Planning and executing the replacement.
Honest limit
Versions come only from the repository; the Studio doesn't query vulnerability databases.
The market says
"It's not just knowing it's old: it's knowing how far it's spread — that's what sets the price of replacing it."

ERP customizations before migration

Indicator
An end-of-maintenance deadline approaching and years of custom code with no inventory.
Rung
Recon pilot
Proof screens
Summary, Technologies, Use cases
The Studio delivers
  • Inventory and rules of the custom code, when the model reads the language well
  • Sorting what to keep, retire or rebuild, rule by rule
Luby engineering
The ERP migration itself.
Honest limit
No skill declares ABAP support. Sell it as a Recon pilot, with expectations set.
The market says
  • SAP ECC 6.0 (EhP 6–8): mainstream maintenance until Dec 31, 2027. SAP Community, 2022 (fonte secundária — confirmar antes de uso externosecondary source — confirm before external use)
  • Only 39% of ~35,000 ECC customers had migrated by end of 2024. Gartner via CIO.com, 2025
  • Customizations are a barrier for 44% of North American members. ASUG via The Register, 2025
"Before deciding what to carry into the new system, know what the custom code does."

Apps and product

Two native apps becoming one cross-platform app

Indicator
The company pays two teams to build every feature twice, and iOS and Android already behave differently.
Rung
Essential or Complete, both apps (and the backend) in one session
Proof screens
Use cases, Consolidated, Integrations, Target architecture, Kanban, Spec Kit
The Studio delivers
  • Use cases and rules for each app, with source file — the basis for spotting behavior drift between platforms
  • Consolidated side by side: technologies, use cases, integrations and backlog of both
  • Contact points with the shared backend (federation)
  • Backlog and Spec Kit for the new app from ready cards
  • Screen translation for supported pairs: Android XML → Flutter/Compose, iOS XIB → SwiftUI/Flutter
Luby engineering
Merging both rule sets into one product, choosing React Native, Flutter or Kotlin Multiplatform, and building it.
Honest limit
The Studio doesn't merge two apps into one: federation finds where systems touch, not where they duplicate. Cross-repository use-case matching is planned, not built. React Native appears in no skill; SwiftUI and Compose as sources have no target pair. Comparing the two analyses is the engineer's job.
The market says
  • Shopify moved to React Native in 2020 with ~80% code shared between iOS and Android. Shopify Engineering, 2020
  • In 2026 Shopify announced a move back to native: coding agents "dramatically reduced the cost of maintaining parity between platforms", using one platform's app as reference for the other. Shopify Engineering, 2026
  • Respawn Pro's iOS app shares 96% of its code with Android via Kotlin Multiplatform. JetBrains, KMP, 2026
"Either way — merging or splitting — the existing app is the specification. We put it in writing before anyone rewrites it."

Legacy product losing ground

Indicator
Competitors shipping faster; product with no current PRD.
Rung
Essential + Researcher
Proof screens
PRD, Researcher
The Studio delivers
  • A PRD reconstructed from code, with a source per requirement
  • Competitors with price and source; parity, differentiator and bet features
  • What nobody else has and where PRD and code disagree
Luby engineering
Prioritizing the roadmap with the client.
Honest limit
Market research goes to the internet (by problem description only) and goes stale: redo it before each planning cycle.
"We show what your product already does, what the market does, and the difference between the two."

Nobody knows what the product promises anymore

Indicator
Product and engineering argue about what's a bug and what's a rule.
Rung
Essential
Proof screens
Summary, Use cases, PRD
The Studio delivers
  • A business-language summary
  • A reconstructed PRD with a To validate with the business section
  • Use cases with pre/postconditions and exceptions
Luby engineering
Running the validation with the business.
"The PRD describes the system as it is — and lists what only you can confirm."

Testing and quality

A system with no automated tests

Indicator
Every release needs manual regression; nobody changes anything without fear.
Rung
Essential (Complete for parity)
Proof screens
Kanban, Quality, Analysis
The Studio delivers
  • Unit test specifications per card: at least one per criterion and per rule, plus edge and error, as given/when/then
  • A coverage verdict per card (covered, partial, no criterion)
  • In Quality, each opportunity flagged 🔴 no proof of behavior
  • In Analysis, coverage and has test / no test per debt item
  • In Complete, Gherkin parity scenarios (.feature)
Luby engineering
Writing the test code — characterization tests that freeze current behavior before any change — in the client's repository.
Honest limit
The Studio doesn't generate test code or run a coverage tool: coverage is assessed by reading the repository. Integration with deterministic tools (mutation, static checks) has its infrastructure ready, but no flow uses it yet.
The market says
  • "Legacy code is simply code without tests." Characterization tests describe the actual behavior of existing software and protect it against unintended change. Michael Feathers, Working Effectively with Legacy Code, 2004
  • Poor software quality cost the US $2.41 trillion; accumulated technical debt is ~$1.52 trillion. CISQ, 2022
  • AI adoption keeps a negative relationship with delivery stability unless control systems like automated testing exist. DORA / Google Cloud, 2025
"First we find out what needs to be proven. Then we prove it — before changing anything."

Technical debt with no priority

Indicator
An endless "needs refactoring" list; nothing moves.
Rung
Essential
Proof screens
Quality, Analysis
The Studio delivers
  • Opportunities by verb, with estimated return, cost and confidence
  • Order: safe and cheap first; what lacks a safety net stays visible
  • In Analysis, severity with explicit criteria and pain category
Luby engineering
Applying the transformations with the specialists.
The market says
  • Developers spent 17.3 h of a 41.1-h week on technical debt and bad code. Stripe, The Developer Coefficient, 2018 (fonte secundária — confirmar antes de uso externosecondary source — confirm before external use)
"We prioritize the hot path that runs thousands of times a day, not aesthetics."

AI in development

Assessing AI use in projects

Indicator
Leadership wants to speed up with AI, trust in generated code is low, and nobody knows whether the repositories are agent-ready.
Rung
Any rung, with the system as a local folder
Proof screens
Dossier (AI usage hygiene), Spec Kit
The Studio delivers
  • AI usage hygiene in the dossier: 15 repository checks — an agent context file (CLAUDE.md/AGENTS.md) at the root, short, saying how to test and not duplicated; CI configured; no committed secrets; local agent config out of git; no literal credentials in .mcp.json; protection hooks
  • Traceable specifications ready to serve as context for coding agents (Spec Kit with a constitution)
Luby engineering
Assessing team practices, governance and adoption — consulting work.
Honest limit
The check depends on Agentic Squad running on the same machine and the system being selected as a local folder; otherwise the dossier says "Not verified". It does not assess the quality of AI-written code or the product's AI features.
The market says
  • 84% of developers use or plan to use AI; 46% distrust its accuracy; 66% cite solutions that are "almost right, but not quite". Stack Overflow Developer Survey, 2025
  • 90% use AI at work and 30% have little or no trust in generated code; "connect AI to your internal context" is one of the seven capabilities in DORA's AI model. DORA / Google Cloud, 2025
  • Copy/pasted lines rose from 8.3% to 12.3% and refactoring lines fell below 10% (211 million lines analyzed). GitClear, AI Copilot Code Quality, 2025
  • AGENTS.md is used by over 60,000 open-source projects and is now stewarded by the Agentic AI Foundation under the Linux Foundation. agents.md, 2026
"AI without your system's context writes almost-right code. We deliver the context — and check whether the repository is ready for agents."

Rebuilding with coding agents

Indicator
The client wants to use agents to build the new system faster.
Rung
Complete
Proof screens
Kanban, Target architecture, Spec Kit
The Studio delivers
  • Cards with verifiable criteria and specified tests
  • A chosen, researched stack
  • A Spec Kit package: constitution, spec, plan and tasks per feature, with implementation order
Luby engineering
Driving the agents through the build, reviewing and proving parity.
Honest limit
The package is for a new project; nothing in the legacy system changes.
The market says
  • "By 2027, GenAI tools will be used to explain legacy business applications and create replacements, reducing modernization costs by 70%." Gartner, comunicado de 13/03/2024Gartner, press release Mar 13, 2024, 2024 (fonte secundária — confirmar antes de uso externosecondary source — confirm before external use)
"A coding agent with no specification rewrites the legacy system and forgets half the rules. The specification is what prevents that."

Business, risk and compliance

Technical due diligence in an acquisition

Indicator
A merger, acquisition or portfolio purchase; weeks, not months, to assess.
Rung
Recon on all, Deep on the critical ones
Proof screens
Technologies, Integrations, Analysis, Consolidated, Dossier
The Studio delivers
  • A quick picture of many systems in parallel
  • Support risk, integrations and key-person dependency
  • A report for people who decide and don't code
Luby engineering
Technical opinion and recommendation to the investor.
The market says
"Before you sign, know what you're buying — and what it costs to keep it running."

Regulatory demand for documentation and risk

Indicator
A regulator or audit asks for an inventory, dependency map and risk assessment of the systems.
Rung
Deep
Proof screens
Integrations, Technologies, Architecture, Diagrams, Dossier
The Studio delivers
  • An inventory of components and third parties, with where they're used
  • A map of interconnections and integrations with criticality
  • Permission and data matrices
  • A navigable mini-site as versionable documentation
Luby engineering
Legal framing and the formal report to the regulator.
Honest limit
The Studio produces technical evidence; it doesn't issue a compliance opinion.
The market says
  • EU DORA (2022/2554), Art. 8(7): financial entities shall, regularly and at least yearly, conduct a specific ICT risk assessment of all legacy ICT systems. In force since Jan 17, 2025. Regulamento DORA, Art. 8, 2022
  • CMN Resolution 5,274/2025 (amending 4,893/2021): 14 mandatory minimum controls, including vulnerability assessment and API security; deadline Mar 1, 2026. Grant Thornton Brasil, 2025
  • LGPD, Art. 37: controllers and processors must keep a record of personal-data processing operations. Lei 13.709/2018, 2018
  • PCI DSS 4.0.1, Req. 6.3.2: inventory of bespoke software and its third-party components, mandatory since Mar 31, 2025. PCI DSS via fontes secundárias, 2025 (fonte secundária — confirmar antes de uso externosecondary source — confirm before external use)
"The requirement is to document and assess legacy systems every year. We turn that from archaeology into a process."

Vendor change or insourcing

Indicator
A contract ending; the new team inherits a system nobody documented.
Rung
Deep
Proof screens
Summary, Architecture, Integrations, Use cases, Diagrams
The Studio delivers
  • Handover documentation independent of who left
  • A navigable mini-site to onboard the incoming team
  • Declared gaps: the question list for the vendor before the contract ends
Luby engineering
Taking over maintenance.
The market says
"Ask the outgoing vendor the right questions — while they still answer."

Proposals and RFPs with anchored estimates

Indicator
A request for proposal on a system nobody at Luby knows.
Rung
Recon → Deep
Proof screens
Summary, Technologies, Pricing and size stage, Dossier
The Studio delivers
  • Triage in minutes with Recon
  • Structural size and three price scenarios — never a single number
  • The analysis' equivalent cost to size the diagnosis itself
Luby engineering
Closing scope, timeline and price with the client.
Honest limit
Code access must be authorized before running. The pricing stage's sizing expects a Code Forward feature — check what was measured.
The market says
"Our proposal isn't a gut number: the scope comes from your system's structure."

The system is staying live

Indicator
No budget to rewrite; new requests arrive every month.
Rung
Deep
Proof screens
Analysis
The Studio delivers
  • A four-part report for people who decide and don't code
  • With the client's list attached: each request's complexity in this system and the debt in the way
Luby engineering
Delivering the requests.
"Bring the list of what you need to ship. We tell you what each item takes in this system."

Team, integration and operations

Onboarding and concentrated knowledge

Indicator
"Only one person knows"; new people take months to become productive.
Rung
Deep
Proof screens
Summary, Diagrams, Use cases, mini-site
The Studio delivers
  • A navigable mini-site: code city, module map, metrics, glossary, deck and "how it works" per feature
  • C4, ERD, state machines and flowcharts in one library
  • Architecture decisions reconstructed from history
Luby engineering
The client's onboarding program.
The market says
  • 61% of developers spend over 30 minutes a day searching for answers; 30% hit knowledge silos 10+ times a week. Stack Overflow Developer Survey, 2024
  • "Finding information (services, docs, APIs)" is the top friction source; 50% lose 10+ hours a week to organizational friction. Atlassian, State of DevEx, 2025
  • Developers spend ~58% of their time on program comprehension. Xia et al., IEEE TSE, 2018 (fonte secundária — confirmar antes de uso externosecondary source — confirm before external use)
"The knowledge leaves two people's heads and becomes a company asset."

Partner integration and API documentation

Indicator
Partners complain about docs; nobody knows the APIs' real contract.
Rung
Essential
Proof screens
Integrations, Use cases
The Studio delivers
  • Contracts with real payloads, auth, errors and limits
  • OpenAPI generated by the Writer (at complete/detailed documentation)
  • Per-use-case sequences
Luby engineering
Publishing a developer portal.
The market says
"We document the API that exists — with the payload it actually sends."

Portfolio triage

Indicator
Dozens of repositories; nobody knows where to start.
Rung
Recon on all
Proof screens
Summary, Technologies, Architecture, Consolidated
The Studio delivers
  • Many systems in parallel, no stops, each finishing in minutes
  • Consolidated with overview and contact points
Luby engineering
Choosing where to go deeper.
"Instead of betting on which system to tackle first, we measure them all."

Ownerless automations and workflows

Indicator
n8n-style workflows holding up a process that nobody understands.
Rung
Outside the Studio (CLI)
Proof screens
Luby engineering
The lubylegado-n8n agent, via the CLI, generates specifications from an exported n8n workflow (JSON) for a rewrite.
Honest limit
Not on the Studio screen. Only n8n is supported.
The market says
  • 31% of enterprises find "rogue" AI tools every month; only 35% say tools go through proper approval. Zapier, AI sprawl survey, 2025 (pesquisa de fornecedor interessadovendor-run survey)
"The automation nobody documented is legacy too."
Trilha 2 · Comercial · 2.4

Benefícios por perfil

Traduza método em resultado para quem está na mesa. O mesmo diagnóstico responde a perguntas diferentes.

Quem decide

CTO, Head de Engenharia

• Risco de mudança medido: cada alteração verificada contra o comportamento registrado
• Conhecimento do sistema versionado junto ao código, sem depender de pessoas específicas
• Modernização incremental como alternativa à reescrita integral
• Estimativas baseadas no tamanho estrutural e nas dependências

Quem lidera o time

Tech Lead, Arquiteto

• Onboarding apoiado em diagramas e regras explícitas
• Módulos sem cobertura passam a ter testes de caracterização antes de serem alterados
• Débito priorizado por ROI nos caminhos de execução mais usados
• Toda especificação aponta para o código de origem

Quem depende do sistema

Produto, Negócio

• Regras de negócio críticas documentadas e cobertas por testes
• Mudanças no legado planejadas com impacto conhecido
• Menos tempo da equipe gasto investigando o comportamento do sistema antes de cada entrega

O que o cliente recebe

Para o time entender

C4 em três níveis · ERD e dicionário de dados · regras de negócio, máquinas de estado, matriz de permissões · decisões arquiteturais reconstruídas · relatório de confiança e lacunas abertas

Para o sistema evoluir

Especificações por unidade · integrações mapeadas · casos de uso · backlog com critérios e testes · rastreabilidade código ↔ spec · arquiteturas-alvo e pacote de specs para o sistema novo

Diferenciais para defender

  • Honestidade como design — a escala de confiança separa o confirmado do inferido e declara as lacunas.
  • Auditoria adversarial — o processo revisa as próprias especificações antes de entregá-las.
  • Decisão humana registrada — cada escolha do cliente fica gravada e vira restrição do que vem depois.
  • Legado imutável na descoberta — nenhum arquivo do cliente muda enquanto entendemos.
  • Visível em tempo real — o cliente pode acompanhar agentes, artefatos e decisões, não só receber um PDF no fim.
Track 2 · Sales · 2.4

Benefits by role

Translate method into outcome for whoever is at the table. The same diagnosis answers different questions.

Decision maker

CTO, Head of Engineering

• Measured change risk: each change verified against recorded behavior
• System knowledge versioned with the code, independent of specific people
• Incremental modernization as an alternative to a full rewrite
• Estimates based on structural size and dependencies

Team lead

Tech Lead, Architect

• Onboarding supported by diagrams and explicit rules
• Modules without coverage get characterization tests before they are changed
• Debt prioritized by ROI on the most-used execution paths
• Every specification points to its source code

System dependents

Product, Business

• Critical business rules documented and covered by tests
• Legacy changes planned with known impact
• Less team time spent investigating system behavior before each delivery

What the client gets

For the team to understand

C4 at three levels · ERD and data dictionary · business rules, state machines, permission matrix · reconstructed architecture decisions · confidence report and open gaps

For the system to evolve

Specifications per unit · mapped integrations · use cases · a backlog with criteria and tests · code ↔ specification traceability · target architectures and a specification package for the new system

Differentiators to defend

  • Honesty by design — the confidence scale separates confirmed from inferred and declares the gaps.
  • Adversarial audit — the process reviews its own specifications before delivering them.
  • Recorded human decisions — every client choice is recorded and constrains what comes next.
  • Legacy system untouched during discovery — no client file changes while we understand it.
  • Visible in real time — the client can follow agents, artifacts and decisions, not just receive a PDF at the end.
Trilha 2 · Comercial · 2.5

Formatos de engajamento

Três formatos, do menor compromisso ao maior. Começar pequeno reduz a fricção de quem não quer abrir com um contrato grande — e o primeiro formato alimenta a proposta do seguinte.

FormatoPara quemEntregaDegrau típico
DiagnósticoQuem precisa saber o tamanho do problemaMapeamento do sistema, tecnologias em risco, mapa de riscos, dossiê executivoReconhecimento → Profunda
ExtraçãoQuem precisa do conhecimento formalizadoO pacote completo de especificações, casos de uso, backlog, relatório de confiança, documentação navegávelProfunda → Completa
Refatoração conduzidaQuem precisa mudar o sistema com segurançaExtração + rede de segurança + transformações aplicadas com prova e reversibilidadeCompleta + engenharia Luby no projeto real
Prazo e preço: não invente

Faixas de prazo por porte, escopo e investimento de cada formato ainda estão marcadas [confirmar] no material de campanha. Até serem aprovadas pela liderança, responda: "depende do porte, da complexidade, da qualidade atual do código e da profundidade — saímos da conversa técnica com isso dimensionado".

Da conversa à proposta

  1. Conversa técnica (30 min, com engenheiro) — qualificar e entender o sistema.
  2. Reconhecimento — com acesso ao código autorizado, uma passada rasa que termina em minutos dá o retrato inicial.
  3. Proposta — formato e degrau escolhidos com base no retrato, não em suposição.
  4. Execução — com o cliente convidado a acompanhar as paradas e responder as lacunas.
  5. Entrega e próximo passo — o dossiê abre o caminho: evoluir, reconstruir ou publicar.
Track 2 · Sales · 2.5

Engagement formats

Three formats, from the smallest commitment to the largest. Starting small lowers the friction for clients who don't want to open with a big contract — and each format feeds the proposal for the next.

FormatForDeliverableTypical rung
DiagnosisClients who need to know how big the problem isSystem mapping, technologies at risk, risk map, executive dossierRecon → Deep
ExtractionClients who need the knowledge formalizedThe full specification package, use cases, backlog, confidence report, navigable documentationDeep → Complete
Guided refactoringClients who need to change the system safelyExtraction + safety net + transformations applied with proof and reversibilityComplete + Luby engineering in the real project
Timelines and price: don't make them up

Timeline ranges by size, scope and investment for each format are still marked [confirm] in the campaign material. Until leadership approves them, answer: "it depends on the size, the complexity, the current quality of the code and how deep you want to go — we leave the technical call with that sized."

From call to proposal

  1. Technical call (30 min, with an engineer) — qualify and understand the system.
  2. Recon — with authorized code access, a shallow pass that ends in minutes gives the first picture.
  3. Proposal — format and rung chosen from that picture, not from assumptions.
  4. Execution — with the client invited to follow the stops and answer the gaps.
  5. Delivery and next step — the dossier opens the way: evolve, rebuild or publish.
Trilha 2 · Comercial · 2.6

Roteiro da conversa técnica

Conversa técnica de trinta minutos, conduzida por um engenheiro, sobre o sistema do cliente: arquitetura, estado do débito técnico e decisão em aberto.

Estrutura (30 min)

TempoBlocoObjetivo
0–3AberturaQual sistema concentra mais incidentes, demandas represadas ou dependência de poucas pessoas?
3–15O sistemaEntender porte, stack, idade, quem conhece, o que dói
15–22O momentoQual decisão está na mesa e até quando
22–27O processoTrês atos + escala de confiança, com uma tela real
27–30Próximo passoAcesso ao código e formato inicial

Perguntas qualificadoras

Sobre o sistema

  • Qual sistema tira o seu sono? O que ele faz para o negócio?
  • Em que linguagem e banco está? Há quanto tempo está em produção?
  • Quantos repositórios? Eles conversam com outros sistemas?
  • Quem ainda entende o sistema por inteiro? E se essa pessoa sair amanhã?
  • Existem testes automatizados? Documentação? Está atualizada?

Sobre o débito técnico e o momento

  • Qual foi a última mudança que deu errado? O que custou?
  • Quanto tempo leva para entender o impacto de uma mudança hoje?
  • Há uma decisão em aberto — reescrever, migrar, trocar fornecedor, vender, comprar?
  • Alguma tecnologia em fim de vida ou exigência de auditoria/regulatório?

Sobre viabilidade

  • Em que condições o código pode ser acessado (ambiente do cliente, VPN, cópia)?
  • Quais exigências de segurança e confidencialidade precisamos cumprir?
  • Quem do lado do cliente pode responder as lacunas de negócio?
Saída esperada da conversa

Porte e stack, o débito técnico identificado, a decisão em jogo, as condições de acesso ao código e um próximo passo com data — normalmente um Diagnóstico começando pelo Reconhecimento.

Track 2 · Sales · 2.6

Technical call script

A thirty-minute technical conversation, led by an engineer, about the client's system: architecture, state of technical debt and the open decision.

Structure (30 min)

TimeBlockGoal
0–3OpeningWhich system concentrates the most incidents, backlogged requests or dependence on a few people?
3–15The systemUnderstand size, stack, age, who knows it, what hurts
15–22The momentWhich decision is on the table and by when
22–27The processThree acts + confidence scale, with a real screen
27–30Next stepCode access and a starting format

Qualifying questions

About the system

  • Which system keeps you up at night? What does it do for the business?
  • What language and database is it on? How long has it been in production?
  • How many repositories? Do they talk to other systems?
  • Who still understands the whole system? What if that person left tomorrow?
  • Are there automated tests? Documentation? Is it current?

About the technical debt and the moment

  • What was the last change that went wrong? What did it cost?
  • How long does it take today to understand the impact of a change?
  • Is there an open decision — rewrite, migrate, change vendors, sell, buy?
  • Any end-of-life technology, or audit/compliance requirements?

About feasibility

  • Under what conditions can the code be accessed (client environment, VPN, a copy)?
  • What security and confidentiality requirements do we need to meet?
  • Who on the client side can answer the business gaps?
Expected outcome of the call

Size and stack, the technical debt identified, the decision at stake, the code access conditions, and a dated next step — usually a Diagnosis starting with Recon.

Trilha 2 · Comercial · 2.7

Roteiro de demonstração

Uma demo de 15 minutos que conta a história do problema à decisão. Mostrar vale mais que descrever.

Antes de qualquer demo

Nunca rode ao vivo sobre código de cliente sem autorização. Use uma sessão já gravada (Histórico → abrir: nada roda, nada custa) sobre um sistema de demonstração. Se usar --mock, deixe claro que é simulação — o selo SIMULAÇÃO aparece na tela e os artefatos são falsos. Nunca apresente números de dataset de demonstração como resultado de cliente.

Preparação

A sequência (15 min)

  1. Nova análise (1 min) — "Você aponta o sistema e escolhe até onde descer. Não perguntamos se é para migrar ou documentar — isso é conclusão."
  2. Fluxo (2 min) — "Dezenas de especialistas, em faixas, na ordem em que rodam. Quando o código não responde, o processo para e pergunta."
  3. Sumário (1 min) — o propósito do sistema, os perfis de usuário e o objetivo, em linguagem de negócio.
  4. Casos de uso (3 min) — a parte central. Abra uma regra 🟢 com o arquivo de origem e uma lacuna 🔴 com a pergunta: o diagnóstico registra também o que não pôde ser confirmado.
  5. Arquitetura e Tecnologias (2 min) — ciclos de dependência, impacto de mudar, tecnologia em fim de vida.
  6. Qualidade (2 min) — dívida por ROI. "Nada foi aplicado: cada transformação é proposta, aprovada e provada."
  7. Arquitetura-alvo e Kanban (2 min) — "Se for para reconstruir, aqui está o caminho, e só entra no escopo o que tem critério confirmado."
  8. Dossiê (1 min) — o conteúdo consolidado num único documento.
  9. Fechamento (1 min) — definir qual sistema analisar primeiro e em qual degrau.

Adapte ao público

PúblicoDê mais tempo aEncurte
CTO / diretoriaTecnologias, Arquitetura-alvo, Dossiê, AnáliseDiagramas, Kanban em detalhe
Tech lead / arquitetoCasos de uso, Arquitetura, Qualidade, DiagramasResearcher
Produto / negócioSumário, PRD, Researcher, AnáliseArquitetura, Qualidade
Track 2 · Sales · 2.7

Demo script

A 15-minute demo that tells the story from problem to decision. Showing beats describing.

Before any demo

Never run live on client code without authorization. Use an already-recorded session (History → open: nothing runs, nothing is spent) on a demo system. If you use --mock, say it's a simulation — the SIMULATION badge is on screen and the artifacts are fake. Never present demo dataset numbers as a client result.

Preparation

The sequence (15 min)

  1. New analysis (1 min) — "You point at the system and choose how deep to go. We don't ask whether to migrate or document — that's a conclusion."
  2. Flow (2 min) — "Dozens of specialists, in stages, in the order they run. When the code doesn't answer, the process stops and asks."
  3. Summary (1 min) — the system's purpose, user profiles and goal, in business language.
  4. Use cases (3 min) — the central part. Open a 🟢 rule with its source file and a 🔴 gap with its question: the diagnosis also records what could not be confirmed.
  5. Architecture and Technologies (2 min) — dependency cycles, impact of change, end-of-life technology.
  6. Quality (2 min) — debt by ROI. "Nothing was applied: every transformation is proposed, approved and proven."
  7. Target architecture and Kanban (2 min) — "If you rebuild, here's the path, and only what has a confirmed criterion goes into scope."
  8. Dossier (1 min) — the content consolidated into a single document.
  9. Close (1 min) — decide which system to analyze first and at which rung.

Adapt to the audience

AudienceSpend more time onShorten
CTO / boardTechnologies, Target architecture, Dossier, AnalysisDiagrams, Kanban detail
Tech lead / architectUse cases, Architecture, Quality, DiagramsResearcher
Product / businessSummary, PRD, Researcher, AnalysisArchitecture, Quality
Trilha 2 · Comercial · 2.8

Objeções e respostas

As objeções mais frequentes, com a resposta curta e o que não dizer. Onde há [confirmar], a resposta depende de validação antes de ser usada.

"Nosso código sai do nosso ambiente?"

É a objeção número um em sistema crítico — responda com precisão. Onde o código fica enquanto trabalhamos é decisão do cliente: ambiente dele, VPN ou nosso [confirmar]. Acertamos os requisitos de segurança antes do acesso [confirmar]. Na descoberta, o código não é alterado.

Seja transparente: a análise é feita por modelos de IA através de uma conta corporativa. Não diga que "nenhuma IA vê o código".

"Vocês vão modificar nosso código?"

Não durante a descoberta: as especificações nascem em estrutura separada. Na refatoração, só por mudança aprovada pelo cliente, com prova e sempre reversível.

"IA alucina. Como confiar?"

Por isso cada afirmação tem selo: confirmada (com arquivo e linha), inferida ou lacuna. E o próprio processo faz uma auditoria adversarial das specs antes de entregar. O que o código não prova vira pergunta, não certeza.

"Nosso sistema é muito grande."

A análise corre módulo a módulo, de propósito — analisar tudo de uma vez degrada a qualidade. E dá para começar pelo Reconhecimento para medir antes de comprometer o pacote.

"Quanto tempo leva? Quanto custa?"

Depende do porte, da complexidade, da qualidade atual do código e da profundidade. Saímos da conversa técnica com isso dimensionado. Não cite prazos ou valores enquanto as faixas estiverem [confirmar].

"E se parte do código for incompreensível?"

Não inventamos resposta. Vira lacuna declarada, com a evidência disponível e a pergunta que o time precisa responder.

"Não temos testes automatizados."

Não precisa. Antes de mudar qualquer coisa, escrevemos testes de caracterização que registram como o sistema se comporta hoje.

"E se descobrirmos que reescrever é melhor?"

É uma saída legítima — tomada depois de entender o sistema. E a especificação extraída é justamente o que faz a reescrita não esquecer metade das regras.

"Já temos documentação."

Ótimo — ela entra como insumo (um PRD existente tem precedência sobre o que foi deduzido). O Researcher inclusive aponta onde PRD e código discordam. Documentação escrita à mão envelhece; especificação rastreável ao código mostra o que o sistema faz hoje.

"Vocês vão substituir nosso time?"

Não. Devolvemos ao time o contexto que o sistema escondia. As pessoas definem a direção e respondem pelo resultado; o processo multiplica a execução em volta delas.

"Posso só comprar a ferramenta?"

O serviço é o processo conduzido e o resultado verificado. A análise é só o primeiro ato; a leitura das lacunas, as decisões e a refatoração com rede de segurança são engenharia. Leve a conversa para o formato Diagnóstico.

Track 2 · Sales · 2.8

Objections and answers

The most frequent objections, with the short answer and what not to say. Where there's a [confirm], the answer needs validation before you use it.

"Does our code leave our environment?"

This is objection number one for a business-critical system — answer it precisely. Where the code sits while we work is the client's call: their environment, over VPN, or ours [confirm]. We settle the security requirements before we get access [confirm]. Discovery doesn't change the code.

Be transparent: the analysis is done by AI models through a corporate account. Don't say "no AI sees the code".

"Are you going to change our code?"

Not during discovery: the specifications are written to a separate structure. During refactoring, only through changes the client approves, with proof, and always reversible.

"AI hallucinates. Why should we trust it?"

That's why every claim has a label: confirmed (with file and line), inferred, or a gap. And the process runs an adversarial audit of its own specifications before delivering them. What the code doesn't prove becomes a question, not a certainty.

"Our system is huge."

The analysis runs module by module, on purpose — analyzing everything at once degrades quality. And you can start with Recon to measure before committing to the package.

"How long does it take? What does it cost?"

It depends on the size, the complexity, the current quality of the code and how deep you go. We leave the technical call with that sized. Don't quote timelines or prices while the ranges are marked [confirm].

"What if part of the code really is incomprehensible?"

We don't invent an answer. We record it as a gap, with the evidence we have and the question your team needs to answer.

"We don't have automated tests."

You don't need them. Before we change anything, we write characterization tests that record how the system behaves today.

"What if we find out rewriting is the better call?"

That's a legitimate outcome — made after you understand the system. And the extracted specification is exactly what keeps the rewrite from forgetting half the rules.

"We already have documentation."

Great — it goes in as input (an existing PRD takes precedence over what was deduced). The Researcher even points out where the PRD and the code disagree. Hand-written documentation ages; a specification traceable to the code shows what the system does today.

"Are you replacing our team?"

No. We give the team back the context the system was hiding. People set the direction and own the outcome; the process multiplies the execution around them.

"Can I just buy the tool?"

The service is the guided process and the verified outcome. The analysis is only the first act; reading the gaps, making the decisions and refactoring with a safety net are engineering. Steer the conversation to the Diagnosis format.

Trilha 2 · Comercial · 2.9

Regras de ouro

O diferencial é credibilidade num mercado saturado de promessa de "IA que moderniza seu legado". Estas regras protegem isso.

Faça

  • Comece pelo débito técnico observado e pela abordagem, não pelo formato de contratação.
  • Venda processo, artefato e evidência.
  • Declare o que o processo não sabe (lacunas).
  • Use prints descrevendo a tela.
  • Leve um engenheiro para a conversa técnica.
  • Confirme autorização antes de rodar sobre código de cliente.
  • Gere artefatos no idioma do cliente.

Não faça

  • Inventar número — prazo, preço, cliente, métrica.
  • Apresentar dados do dataset de demonstração como resultado real.
  • Prometer 100% de certeza ou "sem nenhum risco".
  • Dizer que a ferramenta refatora sozinha.
  • Falar de comando, repositório, instalação, licença ou framework de origem.
  • Mostrar dados de um cliente para outro.
  • Usar "Fale com um especialista" — prefira "Agendar conversa técnica".

Números institucionais

O material de campanha usa 540+ clientes, 220+ engenheiros sênior, 23+ anos — todos marcados [confirmar], assim como logos de clientes e certificações. Só use depois da validação.

Confidencialidade

  • O perfil de cobrança é dado financeiro sensível: não o mostre em demo.
  • Workspaces contêm cópia do código do cliente: exclua a sessão quando o contrato terminar.
  • Dossiês e exportações são documentos do cliente: não reaproveite trechos em material de marketing.
Track 2 · Sales · 2.9

Ground rules

Our edge is credibility in a market saturated with "AI that modernizes your legacy system" promises. These rules protect it.

Do

  • Start with the observed technical debt and the approach, not the engagement format.
  • Sell process, artifacts and evidence.
  • Declare what the process doesn't know (gaps).
  • Describe the screen in screenshot captions.
  • Bring an engineer to the technical call.
  • Confirm authorization before running on client code.
  • Generate artifacts in the client's language.

Don't

  • Make up numbers — timelines, prices, clients, metrics.
  • Present demo dataset data as a real result.
  • Promise 100% certainty or "zero risk".
  • Say the tool refactors on its own.
  • Talk about commands, repositories, installation, licenses or the underlying framework.
  • Show one client's data to another.
  • Use "Talk to an expert" — prefer "Book a technical call".

Institutional numbers

The campaign material uses 540+ clients, 220+ senior engineers, 23+ years — all marked [confirm], as are client logos and certifications. Only use them after validation.

Confidentiality

  • The billing profile is sensitive financial data: don't show it in a demo.
  • Workspaces hold a copy of the client's code: delete the session when the contract ends.
  • Dossiers and exports are client documents: don't reuse excerpts in marketing material.
Trilha 2 · Comercial · 2.10

Checklist de certificação

Marque cada item quando conseguir fazê-lo sem consultar o material. O gestor valida com uma conversa técnica e uma demo simuladas.

Conhecimento

Prática

Track 2 · Sales · 2.10

Certification checklist

Tick each item once you can do it without looking at the material. Your manager validates it with a mock technical call and a mock demo.

Knowledge

Practice

Trilha 3 · Engenheiro · 3.1

O papel do engenheiro

O Studio faz a leitura. O engenheiro decide, valida e responde pelo que sai.

O Studio faz a leitura pesada; o engenheiro responde pelo resultado. Ele não é operador de ferramenta: é quem garante que o que sai para o cliente é verdade, que as lacunas são tratadas com quem sabe, e que nenhuma mudança toca o legado sem prova.

As quatro responsabilidades

1 · Preparar

Autorização de acesso, conta e motor certos, degrau adequado, idioma do cliente, perfil de cobrança quando houver preço.

2 · Decidir nas paradas

Ler perguntas e opções, conferir evidência no código, levar ao cliente o que é de negócio, registrar a decisão com o porquê.

3 · Validar a saída

Amostrar afirmações 🟢 no código, desconfiar de 🟡, transformar 🔴 em pauta, revisar o dossiê antes de enviar.

4 · Conduzir a mudança

Curar o backlog, gerar o pacote de specs, escrever testes de caracterização e aplicar transformações no projeto real, com diff aprovado.

Quem faz o quê num engajamento

AtividadeEngenheiroEspecialista do clienteComercial
Autorizar acesso ao códigoconferedecideintermedeia
Escolher degrau e rodarexecutainformado
Paradas técnicas (organização, paradigma, topologia, telas)decideconsultado
Lacunas de negócioformula e registraresponde
Estratégia de migração e apetite a riscorecomendadecideinformado
Validar e enviar o dossiêresponderecebeacompanha
Refatorar com provaexecutaaprova diffs

Princípios de conduta

  • Nunca invente para destravar. Uma lacuna honesta vale mais que uma certeza falsa.
  • Evidência antes de opinião. Toda decisão registrada tem o porquê; toda afirmação que vai para o cliente tem de onde veio.
  • Propor e aplicar são atos separados. Nada muda no código do cliente sem rede de segurança verde e diff aprovado.
  • O legado é do cliente. Clone e workspace contêm código dele: trate como dado confidencial e apague a sessão quando o contrato terminar.
Track 3 · Engineer · 3.1

The engineer's role

The Studio does the reading. The engineer decides, validates and owns what comes out.

The Studio does the heavy reading; the engineer owns the outcome. They're not a tool operator: they make sure what goes to the client is true, that gaps are handled with the people who know, and that no change touches the legacy system without proof.

The four responsibilities

1 · Prepare

Access authorization, the right account and engine, a suitable rung, the client's language, the billing profile when pricing is involved.

2 · Decide at stops

Read questions and options, check evidence in the code, take business questions to the client, record the decision with the why.

3 · Validate the output

Sample 🟢 claims in the code, distrust 🟡, turn 🔴 into an agenda, review the dossier before sending.

4 · Drive the change

Curate the backlog, generate the spec package, write characterization tests and apply transformations in the real project, with an approved diff.

Who does what in an engagement

ActivityEngineerClient specialistSales
Authorize code accesschecksdecidesbrokers
Choose the rung and runexecutesinformed
Technical stops (organization, paradigm, topology, screens)decidesconsulted
Business gapsframes and recordsanswers
Migration strategy and risk appetiterecommendsdecidesinformed
Validate and send the dossierownsreceivesfollows
Refactor with proofexecutesapproves diffs

Principles of conduct

  • Never invent to unblock. An honest gap beats a false certainty.
  • Evidence before opinion. Every recorded decision has its why; every claim that goes to the client has its source.
  • Proposing and applying are separate acts. Nothing changes in the client's code without a green safety net and an approved diff.
  • The legacy system belongs to the client. The clone and workspace hold their code: treat it as confidential and delete the session when the contract ends.
Trilha 3 · Engenheiro · 3.2

Antes de rodar

Metade dos problemas de uma análise é decidida antes do clique em Rodar processo.

Segredos no repositório

O agente lê tudo o que está no clone. Credenciais versionadas não são copiadas para os artefatos (o Mapeador de Integrações registra só o nome da variável e aponta a lacuna de segurança), mas passam pelo modelo. Se o repositório tem segredo exposto, avise o cliente antes de rodar.

Track 3 · Engineer · 3.2

Before you run

Half of an analysis' problems are decided before clicking Run the process.

Secrets in the repository

The agent reads everything in the clone. Committed credentials aren't copied into artifacts (the Integration Mapper records only the variable name and flags the security gap), but they do pass through the model. If the repository has exposed secrets, tell the client before running.

Trilha 3 · Engenheiro · 3.3

As paradas, uma a uma

O que cada parada pergunta, quem deve responder, como decidir e para onde vai a resposta.

O diálogo de uma parada

Diálogo de parada
Diálogo de decisão humana. (Modo simulado.)
  • Cada pergunta vem com contexto e impacto.
  • Quando houver, opções clicáveis pesquisadas pelo Pesquisador de Respostas — com selo sugerida (no máximo uma) e inferido — e Outra — escrever a resposta.
  • Sugerir resposta: um agente lê código e artefatos e redige uma resposta com raciocínio, evidência e confiança (1–2 min, consome cota, uma por vez). Nada é gravado até você clicar Usar esta resposta e registrar.
  • Registrar N respostas grava; Seguir sem responder mantém a lacuna registrada.
  • O rodapé diz em que arquivo as respostas são gravadas (gravadas em).

Duas regras para lembrar

  1. Só as paradas de perguntas de arquivo gravam de volta. Resolução de lacunas e Confirmação dos pontos de contato escrevem a resposta no arquivo. As de migração e reconstrução ficam no histórico e no dossiê — os agentes seguintes não as releem.
  2. Uma parada segura o run inteiro. Enquanto você não responde, nada mais roda naquele sistema. Programe a sessão com o especialista do cliente para quando a parada chegar.

Cada parada

Organização das specs

Quem roda
lubylegado-scout
Tipo
automática
Pergunta
Como organizar as specs geradas: por módulo, caso de uso, endpoint, híbrido, feature ou personalizado.
Quem responde
Ninguém — o produto decide.
Como decidir
Nada a fazer. O degrau define a granularidade (híbrido na Completa, Profunda e Essencial; módulo no Reconhecimento) e a decisão é registrada como decidido pelo produto.
Para onde vai a resposta
Histórico; .lubylegado/config.toml.
Evite

Resolução de lacunas

Quem roda
lubylegado-answer-options (após o Revisor)
Tipo
perguntas de arquivo
Pergunta
Os pontos que o Revisor não conseguiu confirmar lendo o código.
Quem responde
Engenheiro para o que é técnico e verificável; especialista do cliente para o que é de negócio.
Como decidir
Siga o método da 3.4: separe técnico de negócio, confira evidência, use as opções pesquisadas e a sugestão como ponto de partida, deixe em branco o que ninguém sabe agora.
Para onde vai a resposta
Gravado de volta em _lubylegado_sdd/questions.md (campo Resposta); histórico; dossiê. O Arquiteto de Refatoração roda depois e usa as respostas como restrição.
Evite
Responder tudo para destravar; responder "depende"; aceitar a recomendação sem abrir a evidência.

Paradigma alvo

Quem roda
lubylegado-paradigm-advisor
Tipo
decisão humana · Completa
Pergunta
Manter o paradigma do legado no sistema novo ou adotar o paradigma natural da stack alvo (ou um híbrido)?
Quem responde
Engenheiro/arquiteto, consultando o time que vai manter o sistema novo.
Como decidir
Leia migration/paradigm_decision.md: o paradigma detectado com evidência, o gap e as implicações concretas. Forçar o paradigma antigo reduz curva de aprendizado e aumenta atrito com a stack; adotar o novo faz o contrário.
Para onde vai a resposta
Histórico e dossiê. Não é gravado no arquivo: os agentes seguintes não releem esta resposta.
Evite
Decidir pelo gosto do time atual sem ler as implicações.

Estratégia de migração

Quem roda
lubylegado-strategist
Tipo
decisão humana · Completa
Pergunta
Qual estratégia (Strangler Fig, Big Bang, Parallel Run, Branch by Abstraction…) — o estrategista recomenda, o apetite a risco é seu.
Quem responde
O cliente decide, com a recomendação do engenheiro.
Como decidir
Leia migration_strategy.md e risk_register.md. Confira se cada risco tem dono e se integrações reguladas não caíram em Big Bang.
Para onde vai a resposta
Histórico e dossiê (a estratégia recomendada e os riscos críticos vêm do arquivo do agente).
Evite
Decidir sozinho algo que é apetite a risco do negócio.

Topologia do sistema novo

Quem roda
lubylegado-designer
Tipo
decisão humana · Completa
Pergunta
Aprovar a topologia proposta (preservar, modernizar ou híbrido) antes das specs do sistema novo.
Quem responde
Engenheiro/arquiteto.
Como decidir
Leia topology_decision.md. Desconfie de decomposição 1-para-1 do legado e de serviço que atravessa fronteira transacional.
Para onde vai a resposta
Histórico e dossiê. A fase 2 do Projetista exige uma aprovação que o Studio não grava — espere só a fase 1.
Evite
Aprovar sem abrir o arquivo.

Modo de tradução de telas

Quem roda
lubylegado-screen-translator
Tipo
decisão humana · Completa
Pergunta
literal (igual ao legado), modernizado (padrões da plataforma nova) ou híbrido.
Quem responde
Produto e UX do cliente, com o engenheiro.
Como decidir
Literal minimiza treinamento de usuário; modernizado reduz custo de manutenção. Sem interface no sistema, o modo sai skipped.
Para onde vai a resposta
Histórico e dossiê.
Evite
Escolher modernizado sem orçamento de treinamento e comunicação.

Início da reconstrução

Quem roda
lubylegado-reconstructor
Tipo
decisão humana · Completa
Pergunta
Aprovar o plano de reimplementação ou dizer o que precisa mudar.
Quem responde
Engenheiro.
Como decidir
Leia reconstruction-plan.md: os alertas pré-voo vêm das lacunas 🔴. O Studio não escreve código — aprovar aqui só registra o plano.
Para onde vai a resposta
Histórico e dossiê.
Evite
Tratar a aprovação como início de implementação.

Confirmação dos pontos de contato

Quem roda
lubylegado-answer-options (federação)
Tipo
perguntas de arquivo · federação
Pergunta
Para cada ponto com evidência de um lado só: é integração real, rota morta, ou um sistema fora desta sessão?
Quem responde
Engenheiro, confirmando com quem opera os sistemas.
Como decidir
Abra o arquivo citado nos dois lados. Rota que ninguém chama em produção é rota morta; chamada para fora da sessão sugere adicionar o repositório.
Para onde vai a resposta
Gravado de volta em federation/contact-points.md; histórico; dossiê.
Evite
Confirmar por nome parecido.
Track 3 · Engineer · 3.3

The stops, one by one

What each stop asks, who should answer, how to decide and where the answer goes.

A stop's dialog

Stop dialog
Human decision dialog. (Simulation mode.)
  • Every question comes with context and impact.
  • When available, clickable options researched by the Answer Researcher — with a suggested badge (at most one) and inferred — plus Other — write the answer.
  • Suggest an answer: an agent reads code and artifacts and drafts an answer with reasoning, evidence and confidence (1–2 min, uses quota, one at a time). Nothing is saved until you click Use this answer and record it.
  • Record N answers saves; Continue without answering keeps the gap recorded.
  • The footer says which file answers are saved to (saved to).

Two rules to remember

  1. Only file-question stops write back. Gap resolution and Contact point confirmation write the answer into the file. Migration and reconstruction stops stay in history and the dossier — later agents don't reread them.
  2. A stop holds the whole run. Until you answer, nothing else runs for that system. Schedule the session with the client specialist for when the stop arrives.

Each stop

Spec organization

Raised by
lubylegado-scout
Kind
automatic
Asks
How to organize the generated specs: by module, use case, endpoint, hybrid, feature or custom.
Who answers
Nobody — the product decides.
How to decide
Nothing to do. The rung sets granularity (hybrid in Complete, Deep and Essential; module in Recon) and the decision is recorded as decided by the product.
Where the answer goes
History; .lubylegado/config.toml.
Avoid

Gap resolution

Raised by
lubylegado-answer-options (após o Revisor)
Kind
file questions
Asks
The points the Reviewer couldn't confirm by reading the code.
Who answers
The engineer for what's technical and verifiable; the client specialist for business questions.
How to decide
Follow the method in 3.4: split technical from business, check evidence, use the researched options and the suggestion as a starting point, leave blank what nobody knows right now.
Where the answer goes
Written back to _lubylegado_sdd/questions.md (Answer field); history; dossier. The Refactoring Architect runs afterwards and uses the answers as constraints.
Avoid
Answering everything to unblock; answering "it depends"; accepting the recommendation without opening the evidence.

Target paradigm

Raised by
lubylegado-paradigm-advisor
Kind
human decision · Complete
Asks
Keep the legacy paradigm in the new system or adopt the target stack's natural paradigm (or a hybrid)?
Who answers
The engineer/architect, consulting the team that will maintain the new system.
How to decide
Read migration/paradigm_decision.md: the detected paradigm with evidence, the gap and concrete implications. Forcing the old paradigm lowers the learning curve and raises friction with the stack; adopting the new one does the opposite.
Where the answer goes
History and dossier. Not written to the file: later agents don't reread this answer.
Avoid
Deciding by the current team's taste without reading the implications.

Migration strategy

Raised by
lubylegado-strategist
Kind
human decision · Complete
Asks
Which strategy (Strangler Fig, Big Bang, Parallel Run, Branch by Abstraction…) — the strategist recommends, the risk appetite is yours.
Who answers
The client decides, with the engineer's recommendation.
How to decide
Read migration_strategy.md and risk_register.md. Check every risk has an owner and that regulated integrations didn't land in Big Bang.
Where the answer goes
History and dossier (the recommended strategy and critical risks come from the agent's file).
Avoid
Deciding alone something that is the business's risk appetite.

Topology of the new system

Raised by
lubylegado-designer
Kind
human decision · Complete
Asks
Approve the proposed topology (preserve, modernize or hybrid) before the new system's specs.
Who answers
The engineer/architect.
How to decide
Read topology_decision.md. Distrust 1-to-1 decomposition of the legacy system and services crossing a transactional boundary.
Where the answer goes
History and dossier. The Designer's phase 2 needs an approval the Studio doesn't write — expect phase 1 only.
Avoid
Approving without opening the file.

Screen translation mode

Raised by
lubylegado-screen-translator
Kind
human decision · Complete
Asks
literal (same as legacy), modernized (new platform patterns) or hybrid.
Who answers
The client's product and UX, with the engineer.
How to decide
Literal minimizes user retraining; modernized lowers maintenance cost. With no UI in the system, the mode comes out skipped.
Where the answer goes
History and dossier.
Avoid
Choosing modernized without a training and communication budget.

Reconstruction kickoff

Raised by
lubylegado-reconstructor
Kind
human decision · Complete
Asks
Approve the reimplementation plan or say what must change.
Who answers
The engineer.
How to decide
Read reconstruction-plan.md: the pre-flight alerts come from 🔴 gaps. The Studio doesn't write code — approving here only records the plan.
Where the answer goes
History and dossier.
Avoid
Treating approval as the start of implementation.

Contact point confirmation

Raised by
lubylegado-answer-options (federação)
Kind
file questions · federation
Asks
For each point with evidence on one side only: a real integration, a dead route, or a system outside this session?
Who answers
The engineer, confirming with whoever runs the systems.
How to decide
Open the cited file on both sides. A route nobody calls in production is dead; a call leaving the session suggests adding that repository.
Where the answer goes
Written back to federation/contact-points.md; history; dossier.
Avoid
Confirming by similar names.
Trilha 3 · Engenheiro · 3.4

Lacunas: o que são e como agir

A lacuna não é falha da análise: é o ponto exato onde o código para de provar e uma pessoa precisa responder.

O que é uma lacuna

Uma lacuna 🔴 é algo que não pode ser determinado lendo o código disponível. Não é erro da análise: é a análise sendo honesta sobre o limite do que o código prova. O processo entrega o que não sabe junto com o que sabe.

De onde vêmExemplo
Comportamento que depende de dado de produçãoqual regra se aplica a clientes cadastrados antes de 2019
Infraestrutura fora do repositóriofilas, gateways, crons e configuração que só existem no ambiente
Regra que só existe na cabeça de alguém"pedido acima de 5 mil vai para análise manual" — mas não há fluxo manual no código
Código sem entrada estática conhecidafunção sem referência: morta, ou chamada por reflexão, job ou rota dinâmica?
Intenção ambíguacampo deleted_at: soft delete ou auditoria?
Tratamento de erro ausenteo que acontece quando o pagamento falha por timeout

Onde as lacunas aparecem

  • _lubylegado_sdd/questions.md — as perguntas do Revisor, que viram a parada Resolução de lacunas.
  • _lubylegado_sdd/gaps.md — o que não pôde ser determinado (com severidade em documentação detalhada).
  • confidence-report.md — o placar 🟢🟡🔴 das specs.
  • Nas abas: bloco lacunas em Casos de uso, Integrações e Tecnologias; coluna Bloqueado no Kanban; perguntas em aberto no Spec Kit; o que ficou em aberto no Researcher.

O formato de uma pergunta

## Pergunta 3

**Contexto:** order-portal/src/orderStore.js guarda pedidos num Map em memória.
**Spec afetada:** order-portal/requirements.md — RF-04 Consultar pedido
**Pergunta:** Em produção os pedidos são persistidos em outro lugar?
**Impacto:** sem persistência, reiniciar o serviço apaga todos os pedidos.
**Resposta:** 

O Studio lê blocos ## Pergunta N com Contexto, Spec afetada, Pergunta, Impacto e Resposta (também aceita os rótulos em inglês). Uma pergunta conta como respondida quando o campo Resposta não está vazio.

Como agir: o método em cinco passos

  1. Triagem: técnica ou de negócio? Técnica é o que dá para verificar em mais código, configuração ou log (o engenheiro resolve). De negócio é intenção, política ou exceção (só o cliente responde).
  2. Abra a evidência. Vá ao arquivo do Contexto. Leia as opções pesquisadas e a evidência de cada uma. Use Sugerir resposta como rascunho, nunca como verdade.
  3. Responda no nível de certeza que você tem. Com evidência (arquivo, config, documento, confirmação do dono) → escreva a resposta e a fonte. Com convicção mas sem prova → escreva e diga que é premissa. Sem ninguém que saiba → deixe em branco.
  4. Leve as de negócio numa reunião só. Agrupe por dono, mande a lista antes, use Impacto para priorizar. Registre quem respondeu.
  5. Feche o ciclo. Registre na parada; o que ficou aberto vai para a entrega como lacuna declarada, com dono e próxima ação.
SituaçãoO que registrarEfeito
Confirmado com evidênciaresposta + fonte ("config de produção, confirmado por X")passa a valer como 🟢 na conversa e na entrega
Resposta sem certeza absolutaresposta marcada como premissatratar como 🟡: vira critério a validar no teste
Ninguém sabe agoraem branco / Seguir sem respondercontinua 🔴, com dono e prazo na entrega

O que acontece depois de responder

  • As respostas são gravadas no questions.md do workspace e no histórico, e aparecem no dossiê em Decisões humanas registradas.
  • O Arquiteto de Refatoração roda depois da parada e usa as respostas como restrição das arquiteturas-alvo.
  • Specs já escritas não são reescritas sozinhas. Para reclassificar a confiança das specs com as respostas, rode o Revisor pela CLI no projeto, ou leve as respostas explicitamente para a entrega.
  • No Kanban, cards Bloqueado por uma lacuna resolvida podem ser movidos pela pessoa — o agente não move.
Anti-padrões

Inventar resposta para destravar o run. Responder "depende" (não é resposta: escreva de quê). Aceitar a opção sugerida sem abrir a evidência. Decidir sozinho pergunta de negócio. Apagar ou esconder lacuna da entrega.

Track 3 · Engineer · 3.4

Gaps: what they are and how to act

A gap isn't an analysis failure: it's the exact point where the code stops proving things and a person must answer.

What a gap is

A 🔴 gap is something that can't be determined by reading the available code. It isn't an analysis error: it's the analysis being honest about the limit of what the code proves. The process delivers what it doesn't know along with what it does.

Where they come fromExample
Behavior that depends on production datawhich rule applies to customers registered before 2019
Infrastructure outside the repositoryqueues, gateways, crons and config that only exist in the environment
A rule that only lives in someone's head"orders over 5k go to manual review" — but there's no manual flow in the code
Code with no known static entry pointan unreferenced function: dead, or called via reflection, a job or a dynamic route?
Ambiguous intenta deleted_at field: soft delete or auditing?
Missing error handlingwhat happens when payment times out

Where gaps show up

  • _lubylegado_sdd/questions.md — the Reviewer's questions, which become the Gap resolution stop.
  • _lubylegado_sdd/gaps.md — what couldn't be determined (with severity at detailed documentation).
  • confidence-report.md — the specs' 🟢🟡🔴 scoreboard.
  • In the tabs: the gaps block in Use cases, Integrations and Technologies; the Blocked column in Kanban; open questions in Spec Kit; what is still open in Researcher.

The format of a question

## Question 3

**Context:** order-portal/src/orderStore.js keeps orders in an in-memory Map.
**Affected spec:** order-portal/requirements.md — FR-04 Look up order
**Question:** In production, are orders persisted somewhere else?
**Impact:** without persistence, restarting the service wipes every order.
**Answer:** 

The Studio reads ## Question N blocks with Context, Affected spec, Question, Impact and Answer (Portuguese labels are accepted too). A question counts as answered when its Answer field isn't empty.

How to act: a five-step method

  1. Triage: technical or business? Technical is what can be verified in more code, config or logs (the engineer resolves it). Business is intent, policy or exception (only the client can answer).
  2. Open the evidence. Go to the file in Context. Read the researched options and each one's evidence. Use Suggest an answer as a draft, never as truth.
  3. Answer at the certainty you actually have. With evidence (file, config, document, owner's confirmation) → write the answer and its source. Convinced but without proof → write it and say it's an assumption. Nobody knows → leave it blank.
  4. Take business questions to a single meeting. Group by owner, send the list ahead, use Impact to prioritize. Record who answered.
  5. Close the loop. Record at the stop; what stays open goes into the delivery as a declared gap, with an owner and next action.
SituationWhat to recordEffect
Confirmed with evidenceanswer + source ("production config, confirmed by X")counts as 🟢 in the conversation and delivery
Answer without full certaintyanswer marked as an assumptiontreat as 🟡: becomes a criterion to validate in testing
Nobody knows right nowblank / Continue without answeringstays 🔴, with owner and deadline in the delivery

What happens after you answer

  • Answers are written to the workspace's questions.md and to history, and show up in the dossier under Recorded human decisions.
  • The Refactoring Architect runs after the stop and uses the answers as constraints on target architectures.
  • Specs already written aren't rewritten on their own. To reclassify spec confidence with the answers, run the Reviewer through the CLI in the project, or carry the answers explicitly into the delivery.
  • In Kanban, cards Blocked by a now-resolved gap can be moved by a person — the agent doesn't move them.
Anti-patterns

Inventing an answer to unblock the run. Answering "it depends" (not an answer: write on what). Accepting the suggested option without opening the evidence. Deciding a business question alone. Deleting or hiding a gap from the delivery.

Trilha 3 · Engenheiro · 3.5

Os artefatos gerados

O que cada arquivo é, onde fica e quem usa depois.

Tudo o que a análise produz é arquivo de texto (Markdown, JSON, YAML, HTML) dentro do workspace do run. O painel Artefatos do Fluxo explica cada um; esta página é o catálogo para consulta. Abra a pasta pelo link no indicador Artefatos.

<workspace do run>/
├── _lubylegado_sdd/          especificações e análise
│   ├── inventory.md · dependencies.md · soul.md · code-analysis.md · data-dictionary.md
│   ├── domain.md · state-machines.md · permissions.md · architecture.md · c4-*.md · erd-complete.md
│   ├── adrs/ · flowcharts/ · database/ · design-system/ · ui/
│   ├── tech/ · integrations/ · architecture/ · use-cases/ · backlog/
│   ├── <unidade>/requirements.md · design.md · tasks.md · contracts.md · flows.md …
│   ├── traceability/ · openapi/ · user-stories/
│   ├── confidence-report.md · questions.md · questions.options.json · gaps.md
│   ├── refactor/ · migration/ · _pricing/ · reconstruction-plan.md
│   └── prd.md · research/ · analise/ · speckit/            (sob demanda)
├── _lubylegado_refactor/     inventário de qualidade
├── _lubylegado_docs/         mini-site navegável
├── federation/            (só no workspace de federação)
├── .lubylegado/              ferramental: state.json · config.toml · plan.md · context/ · logs/
├── .claude/skills/        as skills instaladas
└── .cursor/cli.json       permissões, quando o motor é Cursor

Catálogo

R

ArquivoO que éQuem usa depois
inventory.mdEstrutura de pastas, linguagens, frameworks e pontos de entrada.Mapa que orienta a escavação módulo a módulo.
dependencies.mdBibliotecas com versão e o que está desatualizado ou abandonado.Risco de migração e superfície de segurança.
.lubylegado/context/surface.jsonA mesma varredura em formato de máquina.Agentes de escavação e expansão do plano.
soul.mdPropósito, entidades centrais e decisões fundadoras.Fronteira: etapas seguintes sinalizam o que a contraria. Aba Sumário.
tech/technologies.jsonTecnologias com versão, uso, acoplamento e risco.Aba Tecnologias, arquitetura-alvo, Tech Spec.

E

ArquivoO que éQuem usa depois
code-analysis.mdAlgoritmos, fluxos de controle e estruturas, por módulo.Matéria-prima de regras e arquitetura.
data-dictionary.mdCampos, tipos, significados e onde cada dado nasce e é consumido.ERD e plano de migração de dados.
flowcharts/<módulo>.mdO caminho da execução no módulo, em Mermaid.Enxergar ramificação escondida em código longo.
database/erd.md, relationships.mdModelo e vínculos do banco, inclusive os mantidos só por convenção.Dependências entre tabelas que a aplicação assume.
database/procedures.md, business-rules.mdLógica e restrições que moram dentro do banco.Esconderijo clássico de regra esquecida em migração.

I

ArquivoO que éQuem usa depois
domain.mdGlossário e regras de negócio que estavam implícitas.O documento mais reaproveitado: specs, migração, testes.
state-machines.mdEstados e transições válidas por entidade.Critério de teste e paridade.
permissions.mdPapéis, recursos e exceções: quem pode o quê.Redesenho de autenticação e autorização.
adrs/*.mdDecisões reconstruídas do histórico, com o contexto da época.Evita desfazer por engano algo decidido de propósito.
architecture.md, c4-*.md, erd-complete.md, deployment.mdCamadas, containers, componentes, dados e como roda hoje.Topologia do sistema novo, recorte de migração, corte de produção.
integrations/integrations.jsonContratos externos com payload, auth, erros e criticidade.Aba Integrações, federação, arquitetura-alvo.
architecture/architecture-graph.jsonGrafo de dependências com peso, impacto e ciclos.Aba Arquitetura, arquitetura-alvo.

E

ArquivoO que éQuem usa depois
requirements.mdO que a unidade precisa fazer, em critérios verificáveis.Contrato de aceite da reimplementação.
design.md · decisions.mdComo está construída e por quê.Reescrever sem repetir erro nem desfazer acerto.
tasks.mdDecomposição do trabalho de reconstrução.Plano de reconstrução.
contracts.md · flows.md · edge-cases.mdO que promete para fora, caminhos e casos de borda.O que não pode quebrar; testes de ponta a ponta; onde a reconstrução costuma falhar.
traceability/code-spec-matrix.mdCada arquivo de código ligado à spec que o descreve.Ir do bug ao requisito e do requisito ao código.
openapi/*.yaml · user-stories/*.mdContratos de API e fluxos contados por quem usa.Gerar cliente, validar compatibilidade, testes de aceite.

C

ArquivoO que éQuem usa depois
use-cases/use-cases.jsonCasos com atores, fluxos, exceções, regras e implementação.Aba Casos de uso, PRD, backlog.
backlog/backlog.json · tests.mdCards de reescrita com critérios e testes especificados.Kanban, Spec Kit.
confidence-report.mdCada afirmação classificada por grau de certeza.Onde dá para confiar sem checar de novo.
questions.md · questions.options.jsonPerguntas que só uma pessoa fecha, e as opções pesquisadas.Parada Resolução de lacunas.
gaps.mdO que não foi possível determinar.Pauta com quem conhece o negócio.

Q

ArquivoO que éQuem usa depois
_lubylegado_refactor/<ctx>/opportunities/*.mdUma oportunidade por arquivo: verbo, confiança, custo, o que não pode mudar.Aba Qualidade; especialistas na CLI.
_lubylegado_docs/index.htmlMini-site: arquitetura 3D, módulos, métricas, glossário, apresentação.Onboarding do time do cliente.
_pricing/profile.json · <feature>/size.json · estimate.mdPerfil, tamanho estrutural e três cenários de preço.Dossiê (esforço estimado), proposta.

D

ArquivoO que éQuem usa depois
refactor/architectures.json · decision.json · tech-stack.jsonArquiteturas-alvo, a escolha humana e a stack pesquisada.Aba Arquitetura-alvo, Spec Kit.
migration/paradigm_decision.mdParadigma do legado, gap e opções.Dossiê; curadoria.
migration/target_business_rules.md · discard_log.md · ambiguity_log.mdRegra a regra: migrar, descartar ou decisão humana.Escopo da migração.
migration/migration_strategy.md · risk_register.md · cutover_plan.mdEstratégia recomendada, riscos com dono, plano de corte.Dossiê (sumário, riscos críticos, estratégia).
migration/parity_specs.md · parity_tests/*.featureComo provar que o novo se comporta como o antigo.Plano de testes de paridade.
reconstruction-plan.mdTarefas de reimplementação de baixo para cima.Execução na CLI, tarefa a tarefa.

S

ArquivoO que éQuem usa depois
prd.mdPRD reconstruído com origem por requisito.Aba PRD, Researcher.
research/brief.json · market.json · features.jsonProduto, concorrentes e features candidatas.Aba Researcher.
analise/*.md · analise.jsonRelatório de sustentação em quatro partes.Aba Análise; exportação.
speckit/Constituição e spec/plan/tasks por feature.Projeto novo com agentes de código.
federation/contact-points.jsonOnde os sistemas se tocam, com evidência dos dois lados.Aba Consolidado, dossiê.

Como validar artefatos antes de entregar

  1. Amostre as afirmações 🟢. Escolha 5 a 10 regras confirmadas e abra o arquivo e a linha citados. Se uma não confere, desconfie da unidade inteira.
  2. Leia o confidence-report.md. Unidade com muito 🟡 pede validação antes de virar escopo de reescrita.
  3. Confira os JSON das abas. Aba vazia ou "não foi possível montar" indica artefato fora do formato — rode o agente de novo.
  4. Compile os diagramas. A aba Diagramas mostra o erro de Mermaid que não compila; corrija no arquivo.
  5. Revise o dossiê. Nome do cliente, idioma, nenhuma lacuna apresentada como fato, nenhum dado de outro cliente.
Track 3 · Engineer · 3.5

The generated artifacts

What each file is, where it lives and who uses it next.

Everything the analysis produces is a text file (Markdown, JSON, YAML, HTML) inside the run's workspace. The Flow tab's Artifacts panel explains each one; this page is the reference catalog. Open the folder from the link on the Artifacts indicator.

<run workspace>/
├── _lubylegado_sdd/          specifications and analysis
│   ├── inventory.md · dependencies.md · soul.md · code-analysis.md · data-dictionary.md
│   ├── domain.md · state-machines.md · permissions.md · architecture.md · c4-*.md · erd-complete.md
│   ├── adrs/ · flowcharts/ · database/ · design-system/ · ui/
│   ├── tech/ · integrations/ · architecture/ · use-cases/ · backlog/
│   ├── <unit>/requirements.md · design.md · tasks.md · contracts.md · flows.md …
│   ├── traceability/ · openapi/ · user-stories/
│   ├── confidence-report.md · questions.md · questions.options.json · gaps.md
│   ├── refactor/ · migration/ · _pricing/ · reconstruction-plan.md
│   └── prd.md · research/ · analise/ · speckit/            (on demand)
├── _lubylegado_refactor/     quality inventory
├── _lubylegado_docs/         navigable mini-site
├── federation/            (federation workspace only)
├── .lubylegado/              tooling: state.json · config.toml · plan.md · context/ · logs/
├── .claude/skills/        installed skills
└── .cursor/cli.json       permissions, when the engine is Cursor

Catalog

e

FileWhat it isWho uses it next
inventory.mdFolder structure, languages, frameworks and entry points.The map that guides module-by-module excavation.
dependencies.mdLibraries with versions and what's outdated or abandoned.Migration risk and security surface.
.lubylegado/context/surface.jsonThe same sweep in machine format.Excavation agents and plan expansion.
soul.mdPurpose, core entities and founding decisions.Boundary: later steps flag what contradicts it. Summary tab.
tech/technologies.jsonTechnologies with version, usage, coupling and risk.Technologies tab, target architecture, Tech Spec.

s

FileWhat it isWho uses it next
code-analysis.mdAlgorithms, control flow and structures, per module.Raw material for rules and architecture.
data-dictionary.mdFields, types, meanings and where each piece of data is born and consumed.ERD and data migration plan.
flowcharts/<módulo>.mdThe execution path through the module, in Mermaid.Spotting branching hidden in long code.
database/erd.md, relationships.mdDatabase model and links, including convention-only ones.Table dependencies the application assumes.
database/procedures.md, business-rules.mdLogic and constraints living inside the database.The classic hiding place of rules forgotten in migration.

n

FileWhat it isWho uses it next
domain.mdGlossary and business rules that were implicit.The most reused document: specs, migration, tests.
state-machines.mdStates and valid transitions per entity.Test and parity criteria.
permissions.mdRoles, resources and exceptions: who can do what.Redesigning authentication and authorization.
adrs/*.mdDecisions reconstructed from history, with the context of their time.Prevents undoing something decided on purpose.
architecture.md, c4-*.md, erd-complete.md, deployment.mdLayers, containers, components, data and how it runs today.New system topology, migration scope, production cutover.
integrations/integrations.jsonExternal contracts with payload, auth, errors and criticality.Integrations tab, federation, target architecture.
architecture/architecture-graph.jsonDependency graph with weight, impact and cycles.Architecture tab, target architecture.

s

FileWhat it isWho uses it next
requirements.mdWhat the unit must do, as verifiable criteria.Acceptance contract for reimplementation.
design.md · decisions.mdHow it's built and why.Rewriting without repeating mistakes or undoing good calls.
tasks.mdBreakdown of the rebuild work.Reconstruction plan.
contracts.md · flows.md · edge-cases.mdWhat it promises outward, paths and edge cases.What must not break; end-to-end tests; where rebuilds usually fail.
traceability/code-spec-matrix.mdEvery code file linked to the spec that describes it.Going from bug to requirement and from requirement to code.
openapi/*.yaml · user-stories/*.mdAPI contracts and flows told from the user's side.Client generation, compatibility checks, acceptance tests.

a

FileWhat it isWho uses it next
use-cases/use-cases.jsonCases with actors, flows, exceptions, rules and implementation.Use cases tab, PRD, backlog.
backlog/backlog.json · tests.mdRewrite cards with criteria and specified tests.Kanban, Spec Kit.
confidence-report.mdEvery claim classified by certainty.Where you can trust without rechecking.
questions.md · questions.options.jsonQuestions only a person can close, and researched options.Gap resolution stop.
gaps.mdWhat couldn't be determined.Agenda with whoever knows the business.

u

FileWhat it isWho uses it next
_lubylegado_refactor/<ctx>/opportunities/*.mdOne opportunity per file: verb, confidence, cost, what must not change.Quality tab; CLI specialists.
_lubylegado_docs/index.htmlMini-site: 3D architecture, modules, metrics, glossary, deck.Onboarding the client's team.
_pricing/profile.json · <feature>/size.json · estimate.mdProfile, structural size and three price scenarios.Dossier (estimated effort), proposal.

e

FileWhat it isWho uses it next
refactor/architectures.json · decision.json · tech-stack.jsonTarget architectures, the human choice and the researched stack.Target architecture tab, Spec Kit.
migration/paradigm_decision.mdLegacy paradigm, gap and options.Dossier; curation.
migration/target_business_rules.md · discard_log.md · ambiguity_log.mdRule by rule: migrate, discard or human decision.Migration scope.
migration/migration_strategy.md · risk_register.md · cutover_plan.mdRecommended strategy, owned risks, cutover plan.Dossier (summary, critical risks, strategy).
migration/parity_specs.md · parity_tests/*.featureHow to prove the new system behaves like the old.Parity test plan.
reconstruction-plan.mdBottom-up reimplementation tasks.Execution in the CLI, task by task.

o

FileWhat it isWho uses it next
prd.mdReconstructed PRD with source per requirement.PRD tab, Researcher.
research/brief.json · market.json · features.jsonProduct, competitors and candidate features.Researcher tab.
analise/*.md · analise.jsonFour-part maintenance report.Analysis tab; export.
speckit/Constitution and spec/plan/tasks per feature.A new project with coding agents.
federation/contact-points.jsonWhere systems touch, with evidence on both sides.Consolidated tab, dossier.

How to validate artifacts before delivery

  1. Sample the 🟢 claims. Pick 5 to 10 confirmed rules and open the cited file and line. If one doesn't match, distrust the whole unit.
  2. Read confidence-report.md. A unit with lots of 🟡 needs validation before it becomes rewrite scope.
  3. Check the tabs' JSON. An empty tab or "could not be mounted" means an off-format artifact — rerun the agent.
  4. Compile the diagrams. The Diagrams tab shows Mermaid errors that don't compile; fix them in the file.
  5. Review the dossier. Client name, language, no gap presented as fact, no other client's data.
Trilha 3 · Engenheiro · 3.6

Da análise à mudança

O Studio termina onde a engenharia começa. O caminho recomendado depois do diagnóstico:

  1. Entregar o conhecimento. Dossiê revisado, mini-site, lacunas com dono. Isso já é valor para o cliente, antes de qualquer linha mudar.
  2. Curar o escopo. No Kanban, mova para Pronto para reescrever só o que tem critério e origem confirmados. Won't é decisão explícita.
  3. Escolher o destino. Na Arquitetura-alvo, escolha com o cliente; gere a stack; gere o Spec Kit.
  4. Instalar o framework no projeto real. node bin/cli.js install no repositório do cliente — agora sim, fora do clone.
  5. Rede de segurança primeiro. Para cada oportunidade 🔴 da Qualidade, escreva testes de caracterização que congelam o comportamento atual — inclusive o estranho que está em produção. Precisam passar verdes antes da mudança.
  6. Transformar com prova. Rode o especialista do verbo (/lubylegado-restructure, /lubylegado-modularize, /lubylegado-decouple…): plano aprovado → mudança → testes verdes de novo → diff registrado e reversível.
  7. Evoluir sem perder a especificação. Features novas pelo Code Forward, que parte das specs e volta a elas (/lubylegado-sync).
A invariante

Propor uma transformação e aplicá-la são atos separados. Nada toca o legado sem prova de preservação de comportamento.

Track 3 · Engineer · 3.6

From analysis to change

The Studio ends where engineering begins. The recommended path after the diagnosis:

  1. Deliver the knowledge. A reviewed dossier, the mini-site, gaps with owners. That's already value for the client, before any line changes.
  2. Curate the scope. In Kanban, move to Ready to rewrite only what has confirmed criteria and origin. Won't is an explicit decision.
  3. Choose the destination. In Target architecture, choose with the client; generate the stack; generate the Spec Kit.
  4. Install the framework in the real project. node bin/cli.js install in the client's repository — now outside the clone.
  5. Safety net first. For each 🔴 Quality opportunity, write characterization tests that freeze current behavior — including the odd behavior that's in production. They must be green before the change.
  6. Transform with proof. Run the verb's specialist (/lubylegado-restructure, /lubylegado-modularize, /lubylegado-decouple…): approved plan → change → tests green again → recorded, reversible diff.
  7. Evolve without losing the specification. New features through Code Forward, which starts from the specs and writes back to them (/lubylegado-sync).
The invariant

Proposing a transformation and applying it are separate acts. Nothing touches the legacy system without proof that behavior was preserved.

Trilha 3 · Engenheiro · 3.7

Checklist do engenheiro

Durante a execução

Antes de entregar

Depois do engajamento

Track 3 · Engineer · 3.7

Engineer checklist

During the run

Before delivery

After the engagement

Referência · R1

Galeria de telas

Todas as interfaces do Studio Legado num só lugar, na ordem em que aparecem no uso. Clique para ampliar; o link leva ao módulo que explica a tela.

Configurar e acompanhar

Telas capturadas nos dois idiomas, em modo simulado.

Ler os resultados

Telas reais em inglês sobre o dataset de demonstração corebank.

Reference · R1

Screen gallery

Every Studio Legado interface in one place, in the order you meet them. Click to enlarge; the link takes you to the module that explains the screen.

Set up and follow

Screens captured in both languages, in simulation mode.

Read the results

Real screens in English on the corebank demo dataset.

Referência · R2

Glossário PT ↔ EN

Uma tradução por termo, sem alternativa — é o que faz o material em inglês soar como uma voz só. Vale para proposta, e-mail, demo e LP.

Reference · R2

Glossary PT ↔ EN

One translation per term, no alternatives — that's what makes the English material sound like one voice. It applies to proposals, emails, demos and landing pages.

PortuguêsEnglishNotaNote
sistema legadolegacy systemnunca "the legacy" como substantivonever "the legacy" as a noun
rede de segurançasafety net
testes de caracterizaçãocharacterization tests
confirmado / inferido / lacunaconfirmed, inferred, or a gapsempre nesta ordemalways in this order
lacunagapnunca "blind spot" ou "unknown"never "blind spot" or "unknown"
especificaçãospecificationevite "spec" em texto corridoavoid "spec" in body copy
rastreável / rastreabilidadetraceable / traceability
reversívelreversible
Descobrir · Provar · TransformarDiscover. Prove. Transform.
regras de negóciobusiness rules
caixa-pretablack box
núcleo acopladocoupled core
relatório de confiançaconfidence report
conversa técnicatechnical callCTA: "Book a technical call"CTA: "Book a technical call"
achadofinding
parada (decisão humana)stop (human decision)rótulo da interfaceUI label
degrau / escadarung / ladderCompleta, Profunda, Essencial, ReconhecimentoComplete, Deep, Essential, Recon
faixastage
Arquitetura-alvoTarget architecture
DossiêDossier
custo equivalenteequivalent cost
perfil de cobrançabilling profile
Referência · R3

Materiais e fontes

De onde este treinamento saiu, e onde procurar quando o produto mudar. Caminhos relativos à raiz do repositório.

MaterialO que é
README.mdComo rodar e usar o Studio
studio/README.mdDetalhes da interface, da escada e das etapas binárias
lp.md · lp.en.mdEstrutura da landing page de refatoração: tese, atos, garantias, FAQ
campanha/copy/copy-en.mdCopy canônica em inglês e a lista de itens [confirm]
campanha/copy/parts/00-BRIEF.mdBrief de voz e glossário travado para inglês
campanha/MANIFEST.mdO que os prints são e como escrever legenda e alt
docs/escala-confianca.pt.mdA escala de confiança em detalhe
docs/pricing/index.pt.mdAgentes de preço e tamanho
studio/src/i18n/pt.ts · en.tsTodos os textos da interface — a fonte dos rótulos citados aqui

Manutenção deste site: ver docs/treinamento/README.md.

Reference · R3

Materials and sources

Where this training came from, and where to look when the product changes. Paths are relative to the repository root.

MaterialWhat it is
README.mdHow to run and use the Studio
studio/README.mdUI details, the ladder and binary steps
lp.md · lp.en.mdStructure of the refactoring landing page: thesis, acts, guarantees, FAQ
campanha/copy/copy-en.mdCanonical English copy and the list of [confirm] items
campanha/copy/parts/00-BRIEF.mdVoice brief and locked English glossary
campanha/MANIFEST.mdWhat the screenshots are and how to write captions and alt
docs/escala-confianca.mdThe confidence scale in detail
docs/pricing/index.mdPricing and size agents
studio/src/i18n/en.ts · pt.tsEvery UI string — the source of the labels quoted here

Maintaining this site: see docs/treinamento/README.md.