CL-2026-03-13-BK-125
- Status: (P) pendente de conferencia IA adicional
- Backlog: BK-125
- Escopo: plataforma
- Projetos afetados: cerebro-kernel, cerebro-studio
- Aprovacao humana obrigatoria: nao
- Revisor IA: auto-revisao pendente
Resumo
Foi implementado o gate de revisao reutilizavel dos squads no kernel, separando decisao automatica, necessidade de aprovacao humana e rework com feedback estruturado persistido como artefato da run.
Entregas
- Novo modulo
kernel/squad_review.jspara normalizar: - scorecard;
- checklist;
- decisao do gate (
approved,human_approval_required,rework); - alvo de retrabalho.
kernel/squad_runtime.jsatualizado para:- anexar
reviewGateao payload persistido; - reencaminhar automaticamente para a etapa alvo em caso de
rework; - respeitar
max_review_loopspor modo (economico/alta_performance); - manter
reviewGatenosummaryfinal da run. kernel/index.jsatualizado para instruir o revisor a devolver JSON estruturado comgateDecision,approvalMode,humanApprovalRequired,checklistefeedbackText.kernel/config/squads/rnt-social-squad.jsonenriquecido comreview_policyglobal e local da etapareview.- Cobertura adicionada em:
kernel/tests/unit/squad-review.test.jskernel/tests/unit/squad-runtime.test.js
Validacoes executadas
node --check /root/cerebro/kernel/squad_review.jsnode --check /root/cerebro/kernel/squad_runtime.jsnode --check /root/cerebro/kernel/index.jsnode --check /root/cerebro/kernel/tests/unit/squad-review.test.jsnode --check /root/cerebro/kernel/tests/unit/squad-runtime.test.jsnode -e "JSON.parse(require('fs').readFileSync('/root/cerebro/kernel/config/squads/rnt-social-squad.json','utf8')); console.log('json-ok')"npm test -- --runInBand tests/unit/squad-review.test.js tests/unit/squad-runtime.test.js
Evidencias
- Resultado do
npm test:14suites aprovadas,79testes aprovados, sem falhas. - O runtime agora cobre tres caminhos de gate:
- aprovacao automatica;
- aprovacao humana obrigatoria;
reworkcom reroute para a etapa anterior.- O feedback de revisao deixa de depender de parsing frouxo de texto e passa a existir em
payload.reviewGate.
Riscos residuais
- O Studio ainda nao consome visualmente o
reviewGate; isso fica paraBK-126. - O caso de
human_approval_requiredainda fica representado em payload/summary, sem status visual dedicado na UI.