Laboratório Paralelo de Mythos
[!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/parallel.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 | As três tarefas começam antes do gate de liberação; uma tarefa com falha é representada sem perder os resultados bem-sucedidos. |
Conceito em prática: Três runas podem começar juntas mesmo que a rune do meio falhe. O relatório ainda segue a ordem original da atribuição, para que um revisor possa atribuir cada resultado.
Coordene trabalho independente em paralelo preservando evidência determinística.
Missão
Implemente runInParallel em starter/parallel.js. Ela recebe funções de tarefa e deve:
- iniciar todas as tarefas antes de aguardar seus resultados;
- preservar a ordem de entrada no array retornado;
- retornar
{ index, status, value }em caso de sucesso; - retornar
{ index, status, error }em caso de falha, em vez de rejeitar o lote; - rejeitar entradas que não sejam funções antes de iniciar qualquer tarefa.
Execute node verify.js.
Execução guiada
- Execute o verificador intocado e registre o estado inicial esperado.
- Peça uma explicação fundamentada nas fontes do código e das verificações relevantes.
- Planeje: valide toda a lista de tarefas antes de invocar qualquer função. Defina registros de resultados atendidos/rejeitados, inicie todas as tarefas e preserve os índices originais no array final.
- Implemente apenas a fatia aprovada e então execute novamente o mesmo verificador.
- Espere cada tarefa dentro do loop de início e observe o verificador rejeitar o início sequencial. Restaure o início concorrente.
- Revise o diff e registre a limitação: a concorrência de tarefas JavaScript não prova sessões de agente isoladas nem worktrees. Isso requer evidência separada de propriedade e ambiente.
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.