{"schema":"fapes.operational-guards.v1","generatedAt":"2026-06-09T14:58:39.819Z","version":"v0-pre-proposta","baseUrl":"https://astrolab.tec.br","sourceEndpoints":["/api/proposal/simulation-block-audit","/api/proposal/external-evidence/outbox","/api/proposal/external-evidence/outbox?format=mbox","/api/proposal/operational-guards"],"outbox":{"details":{"outboxDir":"docs/proposal/external-evidence/outbox-drafts","fileCount":18,"readyEmailCount":5,"blockedEmailCount":5,"expectedMboxName":"fapes-evidencias-externas-outbox-v0.mbox","snapshotHash":"aa05562e"}},"simulation":{"summary":{"storedProjectCount":1,"expectedStoredProjectCount":12,"storedVsProjectCount":0,"missingStoredVsProjectCount":12,"unexpectedResidueProjectCount":1,"expectedBlockedCaseCount":3,"expectedGovernanceBlockCount":3,"actualBlockedCaseCount":3,"unexpectedBlockedCaseCount":0,"missingExpectedBlockCount":0,"blockProcessingFailureCount":0,"queueIssueCount":13,"goldenSetPassRate":100,"campaignPassRate":100,"campaignBlockedGateCount":0,"blockAuditReady":true,"queueReadyForDemo":false,"readyForProposalAttachment":false,"operatorVerdict":"review_queue","operatorMessage":"3 block(s) esperado(s) estão corretos, mas a fila local tem 13 problema(s) de carga/resíduo."},"operatorMessage":"3 block(s) esperado(s) estão corretos, mas a fila local tem 13 problema(s) de carga/resíduo."},"summary":{"operationalGuardReady":false,"blockingIssueCount":20,"warningIssueCount":2,"issueCount":22},"issues":[{"area":"simulation_blocks","severity":"blocking","code":"queue_not_ready","target":".fapes-data/projects.json","message":"Fila stored-vs não está limpa para demo.","action":"Remover resíduos de QA/E2E ou recarregar os 12 casos esperados."},{"area":"simulation_blocks","severity":"blocking","code":"attachment_not_ready","target":"docs/proposal/auditoria-blocks-projetos-simulados-v0.md","message":"Auditoria ainda não pode ser tratada como anexo de apoio.","action":"Materializar novamente após corrigir fila e divergências."},{"area":"simulation_blocks","severity":"blocking","code":"unexpected_residue_projects","target":"summary.unexpectedResidueProjectCount","message":"Valor esperado 0, obtido 1.","action":"Rodar proposal:block-audit e corrigir a causa antes da demo/anexo."},{"area":"simulation_blocks","severity":"blocking","code":"missing_stored_vs_projects","target":"summary.missingStoredVsProjectCount","message":"Valor esperado 0, obtido 12.","action":"Rodar proposal:block-audit e corrigir a causa antes da demo/anexo."},{"area":"simulation_blocks","severity":"blocking","code":"queue_issues","target":"summary.queueIssueCount","message":"Valor esperado 0, obtido 13.","action":"Rodar proposal:block-audit e corrigir a causa antes da demo/anexo."},{"area":"simulation_blocks","severity":"warning","code":"operator_verdict_changed","target":"summary.operatorVerdict","message":"Veredito atual: review_queue.","action":"Revisar a narrativa antes de apresentar blocks como governança."},{"area":"outbox","severity":"blocking","code":"blocked_item_has_eml","target":"docs/proposal/external-evidence/outbox-drafts/capability_letter_1.eml","message":"Item capability_letter_1 não está pronto para envio, mas existe .eml materializado.","action":"Regerar o outbox com --write --overwrite; o item deve ficar apenas em Markdown até haver destinatário real."},{"area":"outbox","severity":"blocking","code":"blocked_item_missing_markdown","target":"docs/proposal/external-evidence/outbox-drafts/capability_letter_1.md","message":"Item bloqueado capability_letter_1 não tem rascunho Markdown materializado.","action":"Regerar o outbox com --write --overwrite."},{"area":"outbox","severity":"blocking","code":"mbox_contains_blocked_item","target":"docs/proposal/external-evidence/outbox-drafts/fapes-evidencias-externas-outbox-v0.mbox","message":"MBOX contém draft bloqueado capability_letter_1.","action":"Regerar o outbox e conferir que o MBOX inclui apenas itens readyToSend."},{"area":"outbox","severity":"blocking","code":"blocked_item_has_eml","target":"docs/proposal/external-evidence/outbox-drafts/capability_letter_2.eml","message":"Item capability_letter_2 não está pronto para envio, mas existe .eml materializado.","action":"Regerar o outbox com --write --overwrite; o item deve ficar apenas em Markdown até haver destinatário real."},{"area":"outbox","severity":"blocking","code":"blocked_item_missing_markdown","target":"docs/proposal/external-evidence/outbox-drafts/capability_letter_2.md","message":"Item bloqueado capability_letter_2 não tem rascunho Markdown materializado.","action":"Regerar o outbox com --write --overwrite."},{"area":"outbox","severity":"blocking","code":"mbox_contains_blocked_item","target":"docs/proposal/external-evidence/outbox-drafts/fapes-evidencias-externas-outbox-v0.mbox","message":"MBOX contém draft bloqueado capability_letter_2.","action":"Regerar o outbox e conferir que o MBOX inclui apenas itens readyToSend."},{"area":"outbox","severity":"blocking","code":"blocked_item_has_eml","target":"docs/proposal/external-evidence/outbox-drafts/capability_letter_3.eml","message":"Item capability_letter_3 não está pronto para envio, mas existe .eml materializado.","action":"Regerar o outbox com --write --overwrite; o item deve ficar apenas em Markdown até haver destinatário real."},{"area":"outbox","severity":"blocking","code":"blocked_item_missing_markdown","target":"docs/proposal/external-evidence/outbox-drafts/capability_letter_3.md","message":"Item bloqueado capability_letter_3 não tem rascunho Markdown materializado.","action":"Regerar o outbox com --write --overwrite."},{"area":"outbox","severity":"blocking","code":"mbox_contains_blocked_item","target":"docs/proposal/external-evidence/outbox-drafts/fapes-evidencias-externas-outbox-v0.mbox","message":"MBOX contém draft bloqueado capability_letter_3.","action":"Regerar o outbox e conferir que o MBOX inclui apenas itens readyToSend."},{"area":"outbox","severity":"blocking","code":"blocked_item_has_eml","target":"docs/proposal/external-evidence/outbox-drafts/operation_dates_request.eml","message":"Item operation_dates_request não está pronto para envio, mas existe .eml materializado.","action":"Regerar o outbox com --write --overwrite; o item deve ficar apenas em Markdown até haver destinatário real."},{"area":"outbox","severity":"blocking","code":"blocked_item_missing_markdown","target":"docs/proposal/external-evidence/outbox-drafts/operation_dates_request.md","message":"Item bloqueado operation_dates_request não tem rascunho Markdown materializado.","action":"Regerar o outbox com --write --overwrite."},{"area":"outbox","severity":"blocking","code":"mbox_contains_blocked_item","target":"docs/proposal/external-evidence/outbox-drafts/fapes-evidencias-externas-outbox-v0.mbox","message":"MBOX contém draft bloqueado operation_dates_request.","action":"Regerar o outbox e conferir que o MBOX inclui apenas itens readyToSend."},{"area":"outbox","severity":"blocking","code":"blocked_item_has_eml","target":"docs/proposal/external-evidence/outbox-drafts/habilitation_documents_request.eml","message":"Item habilitation_documents_request não está pronto para envio, mas existe .eml materializado.","action":"Regerar o outbox com --write --overwrite; o item deve ficar apenas em Markdown até haver destinatário real."},{"area":"outbox","severity":"blocking","code":"blocked_item_missing_markdown","target":"docs/proposal/external-evidence/outbox-drafts/habilitation_documents_request.md","message":"Item bloqueado habilitation_documents_request não tem rascunho Markdown materializado.","action":"Regerar o outbox com --write --overwrite."},{"area":"outbox","severity":"blocking","code":"mbox_contains_blocked_item","target":"docs/proposal/external-evidence/outbox-drafts/fapes-evidencias-externas-outbox-v0.mbox","message":"MBOX contém draft bloqueado habilitation_documents_request.","action":"Regerar o outbox e conferir que o MBOX inclui apenas itens readyToSend."},{"area":"outbox","severity":"warning","code":"materialized_mbox_differs_from_api","target":"docs/proposal/external-evidence/outbox-drafts/fapes-evidencias-externas-outbox-v0.mbox","message":"MBOX materializado difere da resposta atual da API.","action":"Regerar o outbox se o servidor foi atualizado depois da última materialização."}]}