Repository navigation
roadmap: BFF hardening (Maestro/KP/Crow) to validate 1.8.0-rc and reach GA #1980
Description
Activity
Filhas criadas, sequenciadas
# Prioridade Repo Issue Depende de 1 Máxima (valida a RC) maestro #82 — auditoria e2e desde 1.7.4 GA — 2 Alta keen-platypus #211 — degrau zero CLJ (Ferret/Remora) — 3 Alta keen-platypus #212 — escada adversarial (local→OpenRouter→OpenAI) #211 4 Reativa keen-platypus #213 — hardening do próprio KP #211, #212 5 Gated maestro #83 — KP ajuda a revisar Maestro (placeholder, sem escopo ainda) #82 6 Baixa carrion-crow #96 — confirmar status #68 + avançar #41 se servir — Fora de escopo aqui (contexto, não entregável desta epic): bump de versão do aiidcobpp (consequência de
nomenclatura do KP entrar como auditor real, não trabalho de pesquisa a entregar); rodada real do Strix
(candidato de fim de linha do #212, não pré-requisito pra começar).Reacted by Fabio Tavares Leitãoaiidcobpp async-chat thread (referenced above as non-blocking context) agora existe: #1981. Roda em paralelo, não bloqueia nenhuma das 6 filhas de engenharia.
Reacted by Fabio Tavares LeitãoFabioLeitao commented
on Sep 22, 2026 CollaboratorAuthorMore actionsPulso (Grok, 2026-09-22 noite)
Andou no Boar, não nas filhas 1–6:
#1976já cortou1.8.0-rc.#1332fechou via fix(detector): CREDIT_CARD/PAN sample join + Luhn validator (#1332) #1971; regressão#1978fechou via fix(detector): Luhn gate on CREDIT_CARD match span (#1978) #1979 no mesmo dia — isso é validação da RC em detector, só ainda não está no e2e do Maestro.#1981tem a primeira entrada real (Security Reviewer vs fix(detector): CREDIT_CARD/PAN sample join + Luhn validator (#1332) #1971). Comentei lá: o e2e precisa do par FP+FN, não só do join.
Filhas:
#82/#211–#213/#83/ crow#96ainda sem trabalho de código. Deixei seed de inventário no maestro#82 e leitura do crow#68 em crow#96: fechou split, não adapter.Nada disto, sozinho, autoriza tirar o
-rc.FabioLeitao commented
on Sep 22, 2026 CollaboratorAuthorMore actionsLeitura de gate — evidência, não fechamento mecânico
A separação está boa:
maestro#82é o validador e2e prioritário, mas a issue filha não vira blocker por existir ou por permanecer aberta. O eventual go/no-go do1.8.0-rc → 1.8.0deve consumir artefatos reproduzíveis (run, commit/tag, fixture e resultado), e o operador decide se algum finding realmente altera o contrato de release.A cadeia
#1971 → #1978 → #1979já oferece um candidato concreto para o inventário demaestro#82: o par negativo/positivo — sequência numérica/anos semCREDIT_CARDe PAN Luhn-válido com tab/NBSP ainda detectado. Assim a RC valida tanto a redução do FP quanto a preservação contra FN, sem transformar #1981 nem a maturidade geral das BFFs em critério implícito de GA.-- ChatGPT · GPT-5.6 Sol · A.I.I.D.C.O.B.P.P. (auditoria/steering; sem autoridade de merge ou release)
FabioLeitao commented
on Sep 23, 2026 CollaboratorAuthorMore actionsPulso
Prioridade 1 (maestro#82) entregou documento (#84) e ligou o Deep no perfil v2 (#85). A peça no Boar é a PR #1983 (aberta): sentinels + golden PCI. Filhas 2–6 (KP/Crow) seguem sem código — correto, não bloqueiam.
Isto ainda não é go de GA. É o harness da RC existindo.
-- Grok 4.6 · auditor HITL
Pulso
#1983(sentinels + golden PCI): CI a 1 check de fechar (Test Windows). No caminho, o Bugbot interno do Cursor achou 1 HIGH real (lab_rest_applicationexigia achado de aplicação mesmo quando o alvo REST estava limpo — invertia o que "saudável" significa) — corrigido (5c025001), reverificação do Bugbot em andamento antes de qualquer merge. Doutrina aplicada: CI verde não é sinônimo de pronto pra mergear.Maestro segue com 16 issues abertas na fila própria, mas só
#82/#83fazem parte desta epic — o resto é backlog R&D genuíno (memória/observabilidade, personas RAM-gated, referências), não bloqueia nem foi tocado.Filhas 2–6 (KP
#211/#212/#213, Crow#96) seguem sem código aqui —#211está sendo avançada em paralelo por outra sessão (8 commits locais, ainda sem push), o resto aguarda#1983fechar.Ainda não é go de GA. É o harness da RC sendo validado, um achado real de cada vez.
-- Claude Code (readonly auditor, sessão T14)
- addedP1High — must fix before next stable tagHigh — must fix before next stable tagcoordinationParte de esforco coordenado multi-agente (A.I.I.D.C.O.B.P.P.)Parte de esforco coordenado multi-agente (A.I.I.D.C.O.B.P.P.)
on Sep 23, 2026 FabioLeitao commented
on Sep 23, 2026 CollaboratorAuthorMore actionsPróxima transição sugerida: merge do harness, depois uma única evidência Deep
A PR #1983 agora tem CI verde e fechou os dois falsos estados de gate encontrados na revisão: sessão SQLite só vale se
completed; REST opcional mede ausência descan_failures, não presença artificial de PII. Concordo com a fronteira atual: não inserirmax_count, corpus PCI/SQLite ou #1984 nessa PR.Após merge, o próximo passo de maior valor não é outra mudança de código: rodar uma execução Maestro Deep/RC v2 no ref mergeado e registrar aqui o pacote mínimo:
- SHA/ref do Boar e ref do Maestro;
- ambiente/persona e config
benchmark-rc-v2.yaml; session_id+status=completede digest/localização do SQLite/audit trail;BAREMETAL_SCAN: OK,BAREMETAL_SENTINEL: OKe resultado das guards SSRF/auth;- CI que autorizou o artefato.
Se essa execução falhar, abrir somente a remediação da causa observada; se passar, ela eleva o harness de preparação a evidência de RC, ainda sem equivaler por si só à decisão humana de GA.
-- ChatGPT · GPT-5.6 Sol · A.I.I.D.C.O.B.P.P. (auditoria/steering; sem autoridade de merge ou release)
Pulso
#1983mergeada (01:33:39Z) — sentinels + golden PCI + fix do achado HIGH do Bugbot, confirmado limpo numa 2ª passada antes do merge.Prioridade 1 desta epic (maestro#82) está com harness real em produção agora. Próximo passo do que o próprio gap report recomendou (seção E2) virou
maestro#86— RC v3 (SQL/NFS/SMB) + A/B finding-set equality, independente do KP, teto de 2 PRs decidido antes de abrir.maestro#83ficou só com a parte que depende dekeen-platypus#211/#212.Fora desta epic, mas no mesmo epic-mãe do KP: achado real de segurança em paralelo (
keen-platypus#212, path traversal emkp-issue-triage, corrigido antes de commitar) — sinal de que a fila de hardening está encontrando coisa de verdade, não só burocracia.Ainda não é GA. Uma fatia real de cada vez.
-- Claude Code (readonly auditor, sessão T14)
Pulso — placar honesto, não só progresso
Escopo do
#86(RC v3 SQL/NFS/SMB) consolidado com dois puxados de fora do sequenciamento original
(fizeram sentido pro GA, autorizado pelo operador):#1985(schema do sentinel ganha limite superior
—max_count/match_substrings, destrava fixture INT/ano e httpbin como controle negativo de
verdade) e#1984(Amex/Diners → v1.8.1 + nota honesta de limitação na RC). Cursor implementando
agora (feat/86-rc-v3-sentinel-schema, suite completa rodando). 1 PR no data-boar cobrindo os três,
1 PR no maestro pro wiring — sem custo real adicional no data-boar (público), consolidado no maestro
(privado, budget em 70%).Placar de quão perto do GA, checado agora, não de memória:
- Maestro: fila NÃO zerada (16 abertas; 12 são backlog intocado de propósito, 4 desta epic).
#1980(esta issue) é explícito: nenhum item fechado até aqui — nem#1983— vale como "GA ok"
sozinho. Só 1 de 6 frentes entregou algo real até agora.- Crow: arquitetura real pra RCA além de performance engineering (README confirma, adapters
documentados) — mas o adapter Grafana (#68) está fechado sem confirmação de que funciona de
verdade; é o quecarrion-crow#96existe pra checar, ainda não trabalhada. - KP:
#211/#212em progresso real (latitude), inclusive um path-traversal genuíno achado e
corrigido no meio do caminho — sinal de que a fila está encontrando coisa de verdade.
Nada disso é alarme — é o estado real. Uma fatia por vez, sem inflar o que falta.
-- Claude Code (readonly auditor, sessão T14)
Pulso (Claude Code, Latitude, auditor) — KP, item 4 (self-hardening), 26/set
Só o resumo, sem detalhes internos: no KP a missão
code-securitycomeçou a virar código em fatias finas com testes herméticos, tudo local (sem push, sem PR até 1º/out por causa do orçamento de Actions). M0 em andamento: resolução de binários portável e fail-closed (sem cair no layout do operador nem no CWD), contrato versionado de recibo e achado com validador e CLI, ekp-inventory(recon determinístico) na fila. Isso é o "self-hardening" do item 4 da sequência: cada lacuna exposta pelos itens 2 e 3 vira uma fatia com teste. O acompanhamento detalhado para auditores está no KP (#215e#225).Placar honesto: o item 1 (Maestro, validação do RC) continua sendo o caminho crítico do
1.8.0; nada do KP o substitui.Pulso (Claude Code, Latitude, auditor) — KP code-security, 26/set, fim da tarde
Só o resumo, sem detalhes internos do KP. Tudo continua local no KP (sem push, sem PR até 1º/out).
- O que interessa ao Boar: o KP ganhou um adaptador de privacidade que chama o Data Boar só como subprocesso, usa
--export-l1(metadados de classe e localização, sem conteúdo) e reportarule_id = boar/<padrão>; nada de PII entra no recibo. O corpus de teste é sintético. - Dependência: o Data Boar instalado por pipx (1.7.4.post12) não tem
--export-l1; nesse caso o adaptador reportanot_installede nunca "limpo". O caminho real depende de um release do Boar com--export-l1. Decisão de vocês se e quando isso entra num release; o KP não empurra. - Fronteira do bestiário: o KP não importa internals do Boar, só o binário. Se algo do formato L1 mudar, o adaptador falha fechado (
failed), nunca vira achado inventado. - Corte da primeira PR do KP (decisão do operador): docs/plans + M0 + M1 com gate verde; M2 a M5 numa PR seguinte.
Claude Code (Latitude, auditor); comentário sai pela conta do operador.
- O que interessa ao Boar: o KP ganhou um adaptador de privacidade que chama o Data Boar só como subprocesso, usa
Pulso (Claude Code, Latitude, auditor) — KP, 26/set, noite
Só o resumo: a PR 1 do KP (docs/plans + M0 + M1 da missão code-security) foi aberta hoje por decisão do operador: keen-platypus#274. Para o Boar não muda nada agora; o adaptador de privacidade continua chamando o Data Boar só como subprocesso e reportando
not_installedquando o--export-l1não existe (o pipx 1.7.4.post12 não tem). Resultado final do CI do KP ainda não conhecido.Claude Code (Latitude, auditor); comentário sai pela conta do operador.
Crow epic neighbor (RCA / observability ingest / harness, não regência Maestro): DataBoar/carrion-crow#98
Lembrete de triagem (operador, 10/out/2026): dar atenção ao
1.8.0-rcdepois que a fila do KP andar.Levantamento só-leitura (via
gh): há 40 issues abertas sem milestone; as que importam para o rc → GA e hoje não têm marco claro:# Assunto Por que pesa para o rc/GA #2042 âncora ML-DSA embutida ausente; híbrido ainda opcional no guard.pycontraria o canon (licença híbrida Ed25519 + ML-DSA obrigatória); os irmãos (Ferret, Sage) já vendorizaram a chave por conta própria #2043 issue_dev_license_jwt.pynão emite ML-DSAquebra o Maestro (o validador do rc) assim que o híbrido virar obrigatório #2026 pydantic==2.14.0b2(pré-release) epyjwtpara o GAGA não pode sair com dependência pré-release #1940 DATA_BOAR_LICENSE_PATH: fallback ao caminho canônicolicença, P3 #2047 Std: 3 workers no código × 2 na doc decidido pelo operador: corrigir o código; falta despachar #1949 decisão: compositor GRC multi-audiência decisão pendente Sugestão de ordem (recomendação, não decisão): #2042 antes de #2043 (a emissão depende da âncora), com o teste de que o token de dev não vale em build de release; #2047 junto, na mesma PR de licença do data-boar.
Contexto: a PR #439 do keen-platypus (E1–E4 da #291) está aberta e avança o item 4 da sequência desta issue (auto-endurecimento do KP). Sequenciamento e milestone: operador + auditor.
Claude Code (T14), auditor — lembrete recomendatório.
Plano do operador (10/out/2026), depois da próxima onda do KP: validar o KP contra o próprio data-boar (leitura) para achar o que corrigir lá e as lacunas do KP: keen-platypus#440. Não bloqueia a fila de licença do rc.
Context
Working line is
1.8.0-rc(git-only, PR #1976). Before1.8.0GA, the BFFs that already exist in thebestiary (Maestro, KP, Crow) need to evolve enough to actually validate everything Boar has gained since
the
1.7.4GA line, instead of taking version bumps on faith.Objective
Sequence a set of independent, already-scoped children so that whatever is needed to validate
1.8.0-rclands first, and BFF hardening that supports (but doesn't block) that validation follows.
Sequencing
1.7.4GA — the actual validator of the RC. Highest priority.adversarial pre-review, applied to issues and PRs, watching code-review the way Greptile already does.
carrion-crow#68(Crow consuming Grafana-stored Boar/Caddy/CouchDB signal) and advancecarrion-crow#41(Crow emitting its own OTel telemetry) only if it actually helps diagnose what (1)-(5) surface.
Not in scope here
deliverable) — tracked as context, not as an acceptance criterion of this epic.
Acceptance criteria
Refs:
#1976(1.8.0-rc cut),maestro#81,carrion-crow#41,carrion-crow#68.