teqo-backup/docs/changelog/2026-08-24-ops94.md
Francisco Solla facce55eda fix(OPS94): fila de claim não morre mais em issue ready sem frontmatter id (skip + aviso; #659 ganha id B195-F1)
- buildClaimQueue exclui Issues ready sem frontmatter id (não viram worktree
  por construção) e withoutIdReadyIssues() expõe as puladas
- agent:claim / worktree next / pnpm issue next avisam com os números em vez
  de morrer — uma Issue quebrada não trava mais a fila
- pin novo em agentPoolEligibility.unit.spec.ts

Closes #864
2026-08-24 17:23:59 -03:00

1.4 KiB

OPS94 — Fila de claim: Issue ready sem frontmatter id sai da fila com aviso (2026-08-24)

OPS94 (Issue #864) — worktree next morria com "Issue sem frontmatter id" e a Issue travava a fila inteira (2026-08-24): a limpeza manual do tracker deu ready a débitos antigos e a #659 (B195/D11, wizard "Registrar pedido") — única ready sem bloco frontmatter — envenenava a fila: todo pick sem --issue caía nela e morria antes do flip de labels (o design já morre antes do claim — "fail loudly, never invent" — mas trava a fila atrás dela indefinidamente). Correção em duas camadas. Dados: #659 ganhou frontmatter (id: B195-F1, depends: [], priority: P2, kind: defect), título renomeado para B195-F1 — … e label prio:P2 — volta a claimar normalmente (ao vivo: agent:claim --dry-run lista #659 [prio:P2] B195-F1). Código: buildClaimQueue agora exclui Issues ready sem id (não viram worktree por construção — branchNameForIssue falha por contrato); novo withoutIdReadyIssues() expõe as puladas; agent:claim / worktree next / pnpm issue next avisam com os números em vez de morrer — uma Issue quebrada nunca mais trava a fila. Teste: pin novo em agentPoolEligibility.unit.spec.ts (exclusão da fila + lista de puladas). Verificação: tsc limpo, lint limpo, suíte unit completa 2458/2458 verde.