Awesome CopilotAdventures

Laboratorio de paralelismo de Mythos

[!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/parallel.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 Las tres tareas comienzan antes del gate de liberación; una tarea fallida se representa sin perder los resultados exitosos.

Concepto en la práctica: Tres runas pueden comenzar juntas aunque la runa del medio falle. El informe sigue el orden original de asignación, así un revisor puede atribuir cada resultado.

Coordina trabajo independiente en paralelo preservando evidencia determinista.

Misión

Implementa runInParallel en starter/parallel.js. Recibe funciones de tareas y debe:

  • iniciar todas las tareas antes de esperar sus resultados;
  • preservar el orden de entrada en el array devuelto;
  • devolver { index, status, value } en caso de éxito;
  • devolver { index, status, error } en caso de fallo en lugar de rechazar el lote;
  • rechazar las entradas que no sean funciones antes de iniciar cualquier tarea.

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: valida toda la lista de tareas antes de invocar cualquier función. Define registros de resultados cumplidos/rechazados, inicia todas las tareas y preserva los índices originales en el arreglo final.
  4. Implementa solo el fragmento aprobado y luego vuelve a ejecutar el mismo verificador.
  5. Espera a cada tarea dentro del bucle de inicio y observa que el verificador rechace el inicio secuencial. Restaura el inicio concurrente.
  6. Revisa el diff y registra la limitación: la concurrencia de tareas de JavaScript no prueba sesiones de agente aisladas ni worktrees. Eso requiere evidencia separada de propiedad y de entorno.

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.