-
-
Notifications
You must be signed in to change notification settings - Fork 708
Open
Labels
area: coreCore framework (.aios-core/core/)Core framework (.aios-core/core/)status: needs-triageAwaiting initial triageAwaiting initial triage
Description
Descrição
MasterOrchestrator._calculateProgressFromState() e getProgressPercentage() dividem por totalEpics sem verificar se é zero.
Localização
Arquivo: .aios-core/core/orchestration/master-orchestrator.js
Linhas: 1363 e 1419
Código afetado
// Linha 1357-1363
const totalEpics = Object.keys(EPIC_CONFIG)
.filter((num) => !EPIC_CONFIG[num].onDemand)
.length;
const completedEpics = Object.values(state.epics)
.filter((epic) => epic.status === EpicStatus.COMPLETED)
.length;
return Math.round((completedEpics / totalEpics) * 100);
// ❌ Se TODOS os epics em EPIC_CONFIG têm onDemand: true, totalEpics = 0 → NaNO mesmo padrão se repete em getProgressPercentage() na linha 1419.
Impacto
NaNpropaga para qualquer consumidor do progresso (dashboard, logs, status)- Pode causar erros silenciosos em
finalize()que usa esse valor
Correção sugerida
if (totalEpics === 0) return 0;
return Math.round((completedEpics / totalEpics) * 100);Reprodução
Configurar EPIC_CONFIG com todos os epics tendo onDemand: true, depois chamar _calculateProgressFromState() ou getProgressPercentage().
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
area: coreCore framework (.aios-core/core/)Core framework (.aios-core/core/)status: needs-triageAwaiting initial triageAwaiting initial triage