Awesome CopilotAdventures

Laboratorio del grafo de Lumoria

[!TIP] Descarga el ZIP del alumno o copia todo este laboratorio en una carpeta sin usar. Lee la configuración y los pasos opcionales de GitHub primero.

Antes de ejecutar nada

Elemento Contrato
Runtime Node 24; las integraciones en vivo son independientes
Archivos a revisar starter/graph.js, verify.js
Directorio del verificador Raíz del kit extraído: node verify.js; desde starter/: node ../verify.js
Estado inicial Se rechaza un starter sin terminar; conserva el diagnóstico
Evidencia final Cambiar types alcanza a los cinco nodos suministrados; cambiar api alcanza solo api y docs.

Concepto en la práctica: Si api depende de core y core depende de types, un cambio en types puede afectar a api. Un cambio en api no afecta automáticamente a su dependencia types.

Repara una traversal de grafo de dependencias para que un agente pueda explicar el impacto antes de editar.

Misión

Implementa affectedBy en starter/graph.js. Dado un grafo cuyas claves dependen de los nodos enumerados, devuelve todos los nodos afectados directa o transitivamente por un nodo modificado.

Requisitos:

  • incluir el nodo modificado;
  • devolver nombres únicos en orden alfabético;
  • gestionar los ciclos de forma segura;
  • rechazar un nodo inicial desconocido.

Ejecuta node verify.js.

Ejecución guiada

  1. Ejecuta el verificador sin modificar y registra el estado inicial esperado.
  2. Pide una explicación fundamentada en las fuentes del código y las comprobaciones relevantes.
  3. Planifica: especifica affectedBy para la dirección de dependencia suministrada. Incluye el nodo cambiado, visita los dependientes en reversa una vez, maneja ciclos y ordena los nombres únicos finales. Explica un error de inicio desconocido.
  4. Implementa solo el fragmento aprobado y luego vuelve a ejecutar el mismo verificador.
  5. Invierte deliberadamente la dirección de recorrido en la implementación desechable. Confirma que el caso de impacto de types detecta el error y luego restáurala.
  6. Revisa el diff y registra la limitación: el fixture valida el recorrido, no el descubrimiento automático de todas las dependencias reales de un repositorio.

Finalización y restablecimiento seguro

  • El comportamiento requerido y su caso negativo cuentan con evidencia observada.
  • El resultado distingue la verificación local del comportamiento en vivo del host/runtime.
  • No se cambiaron credenciales, archivos no relacionados ni servicios.
  • La evidencia está guardada antes de restablecer el starter copiado.

Usa una nueva extracción para otro intento, o restaura solo los archivos nombrados desde una línea base de Git creada en esta copia. Nunca apliques un comando de restablecimiento de la raíz del currículo desde un proyecto ajeno.

Continúa con la aventura y la rúbrica.

Buscar

Búsqueda en español. Las rutas y los ejemplos ejecutables conservan el texto original.