Awesome CopilotAdventures

Laboratório do Grafo de Lumoria

[!TIP] Baixe o ZIP do aluno ou copie todo este laboratório para uma pasta não usada. Leia a configuração e as etapas opcionais do GitHub primeiro.

Antes de executar qualquer coisa

Item Contrato
Runtime Node 24; as integrações ao vivo são separadas
Arquivos para inspecionar starter/graph.js, verify.js
Diretório do verificador Raiz do kit extraído: node verify.js; de starter/: node ../verify.js
Estado inicial Starter inacabado é rejeitado; preserve o diagnóstico
Evidência final Alterar types alcança os cinco nós fornecidos; alterar api alcança apenas api e docs.

Conceito em prática: Se api depende de core e core depende de types, uma mudança em types pode afetar api. Uma mudança em api não afeta automaticamente sua dependência types.

Repare uma travessia de grafo de dependências para que um agente possa explicar o impacto antes de editar.

Missão

Implemente affectedBy em starter/graph.js. Dado um grafo cujas chaves dependem dos nós listados, retorne todos os nós afetados direta ou transitivamente por um nó alterado.

Requisitos:

  • inclua o nó alterado;
  • retorne nomes únicos em ordem alfabética;
  • trate ciclos com segurança;
  • rejeite um nó inicial desconhecido.

Execute node verify.js.

Execução guiada

  1. Execute o verificador intocado e registre o estado inicial esperado.
  2. Peça uma explicação fundamentada nas fontes do código e das verificações relevantes.
  3. Planeje: especifique affectedBy para a direção de dependência fornecida. Inclua o nó alterado, visite os dependentes reversos uma vez, trate ciclos e ordene os nomes únicos finais. Explique um erro de início desconhecido.
  4. Implemente apenas a fatia aprovada e então execute novamente o mesmo verificador.
  5. Inverta deliberadamente a direção da travessia na implementação descartável. Confirme que o caso de impacto de types detecta o erro e depois restaure-o.
  6. Revise o diff e registre a limitação: o fixture valida a travessia, não a descoberta automática de todas as dependências reais de um repositório.

Conclusão e redefinição segura

  • O comportamento exigido e seu caso negativo têm evidência observada.
  • O resultado distingue a verificação local do comportamento ao vivo do host/runtime.
  • Nenhuma credencial, arquivo não relacionado ou serviço foi alterado.
  • A evidência está salva antes de redefinir o starter copiado.

Use uma nova extração para outra tentativa, ou restaure apenas os arquivos nomeados a partir de uma linha de base Git criada nesta cópia. Nunca aplique um comando de redefinição da raiz do currículo a partir de um projeto diferente.

Continue com a aventura e a rubrica.

Buscar

Busca em português do Brasil. Os caminhos e os exemplos executáveis mantêm o texto original.