{"schema":"fapes.solv-preflight.v1","generatedAt":"2026-06-09T14:59:12.416Z","version":"v0-pre-proposta","baseUrl":"https://astrolab.tec.br","endpoints":{"package":{"label":"Pacote materializado Solv","path":"/api/proposal/solv-upload-package","ok":true,"error":null},"dryRun":{"label":"Dry-run Solv","path":"/api/proposal/solv-dry-run","ok":true,"error":null},"executionPlan":{"label":"Central de execução","path":"/api/proposal/external-evidence/execution-plan","ok":true,"error":null},"deadlines":{"label":"Prazos oficiais","path":"/api/proposal/deadlines","ok":true,"error":null},"privatePayloads":{"label":"Payloads privados redigidos","path":"/api/proposal/private-payloads/status","ok":false,"error":"GET https://astrolab.tec.br/api/proposal/private-payloads/status failed with 500"}},"summary":{"decision":"do_not_submit","canSubmitNow":false,"endpointErrorCount":1,"blockerCount":18,"uniqueBlockerCount":7,"overdueBlockerGroupCount":4,"package":{"currentManifestItemCount":68,"readyCurrentItemCount":65,"materializedItemCount":65,"missingReadyItemCount":0,"hashMismatchCount":0,"pendingRequiredItemCount":3,"pendingOptionalItemCount":0,"requiredReadyItemCount":12,"requiredMaterializedItemCount":12,"technicalCoreReadyCount":10,"technicalCoreMaterializedCount":10,"materializedManifestExists":true,"staleGeneratedFileCount":0,"unexpectedPackageFileCount":0,"materializedPackageReady":true,"solvSubmitReady":false,"nextAction":"Pacote pronto para anexos técnicos; resolver pendências externas antes do SUBMETER."},"dryRun":{"formSectionCount":9,"readyFormSectionCount":6,"blockingFormSectionCount":3,"attachmentCount":17,"requiredAttachmentCount":12,"readyRequiredAttachmentCount":10,"gateCount":8,"blockingGateCount":4,"submitBlockingCount":3,"externalDependencyCount":0,"inheritedBlockerCount":3,"snapshotRequired":true,"solvSubmitReady":false},"executionPlan":{"stepCount":12,"doneStepCount":7,"readyToExecuteStepCount":1,"waitingExternalStepCount":3,"blockedStepCount":1,"p0StepCount":6,"openP0StepCount":4,"overdueStepCount":3,"overdueP0StepCount":3,"solvBlockingStepCount":4,"realFileTargetCount":11,"readyRealFileTargetCount":5,"roadmapOpenCriticalActionCount":4,"actionBoardSubmitBlockingCount":3,"solvBlockingGateCount":4,"nextBestActionId":"send_external_evidence_requests","hardStopDate":"2026-06-11","hardStopDaysRemaining":2,"clarificationDeadline":"2026-06-08","clarificationDaysRemaining":-1,"timeRiskLevel":"critical","deadlineSubmitBlocked":false,"solvSubmitReady":false,"canSubmitNow":false},"deadlines":{"officialMilestoneCount":15,"activeWindowCount":1,"closedMilestoneCount":2,"upcomingMilestoneCount":11,"clarificationWindowOpen":false,"submissionWindowOpen":true,"daysUntilClarificationDeadline":-1,"daysUntilRecommendedClarificationSend":-4,"daysUntilSubmissionDeadline":2,"nextOfficialMilestoneId":"proposal_submission_window","nextOfficialMilestoneLabel":"Recebimento das propostas e documentos de habilitação","nextOfficialMilestoneDays":2,"hardStopDate":"2026-06-11","hardStopDaysRemaining":2,"diligenceResponseWindowHours":24,"timeRiskLevel":"critical","canStillAskClarification":false,"canStillSubmit":true},"privatePayloads":null,"nextBestAction":{"id":"send_external_evidence_requests","lane":"solv_blocker","priority":"P0","dueBy":"D+1","calendarDueDate":"2026-05-28","daysUntilDue":-12,"overdue":true,"label":"Enviar pedidos de cartas, datas, habilitação e CTA","status":"waiting_external","owner":"Raphael","sourceActionId":"send_external_evidence_requests","source":"roadmap","endpoint":"/api/proposal/external-evidence/dispatch-log","uiAnchor":"external-evidence-dispatch-log","uiActionLabel":"Abrir registro de envios","supportLinks":[{"label":"Template de destinatários","href":"/api/proposal/external-evidence/outbox?format=recipient-template","kind":"json","purpose":"Copiar para .fapes-data/private-payloads/outbox-recipient-overrides.local.json e preencher e-mails reais antes do envio."},{"label":"Outbox externo","href":"/api/proposal/external-evidence/outbox?format=md","kind":"markdown","purpose":"Enviar pedidos de cartas, datas, habilitação e CTA sem tratar envio como evidência final."},{"label":"Log de envios","href":"/api/proposal/external-evidence/dispatch-log?format=payload-template-json","kind":"payload_template","purpose":"Registrar destinatário, data/hora, meio, follow-up e evidência de envio."}],"targetFiles":["docs/proposal/external-evidence/external-request-dispatch-log.md","docs/proposal/external-evidence/external-request-dispatch-log.json","docs/proposal/external-evidence/external-request-dispatch-log.pdf"],"readyTargetFileCount":0,"targetFileCount":1,"annexViFields":["6.A","8.B","8.C","9.A"],"solvGateIds":["required_external_evidence"],"blocksSolv":true,"nextAction":"Preencher 5 destinatário(s) crítico(s) em .fapes-data/private-payloads/outbox-recipient-overrides.local.json antes de enviar pedidos ou registrar dispatch.","doneWhen":"Dispatch log salvo; evidências reais continuam controladas pelos itens específicos do tracker.","caution":"Conferir conteúdo, validade, titularidade, autorização de uso e ausência de dado sigiloso antes de anexar."}},"blockers":[{"source":"Payloads privados redigidos","id":"endpoint_error","label":"/api/proposal/private-payloads/status","status":"error","nextAction":"GET https://astrolab.tec.br/api/proposal/private-payloads/status failed with 500"},{"source":"Pacote materializado","id":"capability_letters","label":"Cartas/atestados de capacidade técnica","status":"pending_required","nextAction":"Coletar 3 cartas de uma página com escopo, prazo, resultado/impacto métrico ou auditável, contato e assinatura."},{"source":"Pacote materializado","id":"habilitation_documents","label":"Pacote de habilitação e certidões","status":"pending_required","nextAction":"Montar índice de habilitação PJ com CNPJ, ato constitutivo, inscrições/certidões, FGTS/CRF quando aplicável, declarações e plano de diligência; manter documentos PF só se o fallback for acionado antes do SUBMETER."},{"source":"Pacote materializado","id":"final_solv_snapshot","label":"PDF/print final do Solv","status":"pending_required","nextAction":"Salvar PDF/print completo do formulário e anexos imediatamente antes do SUBMETER."},{"source":"Seção Solv","id":"6_evidencias","label":"Evidências, casos de sucesso e custo-benefício","status":"needs_evidence","nextAction":"Não declarar caso de sucesso sem carta, data, escopo e resultado verificável."},{"source":"Seção Solv","id":"8_experiencia","label":"Experiência anterior e data de operação","status":"needs_evidence","nextAction":"Preencher 8.A-8.C somente com atestado e data real comprováveis."},{"source":"Seção Solv","id":"9_equipe_transferencia","label":"Equipe, qualificação e transferência","status":"needs_document","nextAction":"Declarar formação, experiência e documentos sem inflar títulos não comprovados."},{"source":"Gate Solv","id":"required_external_evidence","label":"Evidências externas obrigatórias prontas","status":"needs_document","nextAction":"Coletar decisão PF/PJ, cartas, datas, habilitação e snapshot."},{"source":"Gate Solv","id":"required_attachments","label":"Anexos obrigatórios prontos","status":"needs_document","nextAction":"Conferir anexos obrigatórios e remover placeholders."},{"source":"Gate Solv","id":"final_solv_snapshot","label":"Snapshot final do Solv salvo","status":"needs_document","nextAction":"Salvar PDF/print imediatamente antes do SUBMETER."},{"source":"Gate Solv","id":"final_submit","label":"Decisão operacional antes de clicar SUBMETER","status":"needs_document","nextAction":"Não clicar SUBMETER enquanto houver gate bloqueante."},{"source":"Pacote final","id":"capability_letters","label":"Cartas/atestados de capacidade técnica","status":"needs_evidence","nextAction":"Pedir 3 cartas de uma página com escopo, prazo, resultado/impacto métrico ou auditável, contato e assinatura."},{"source":"Pacote final","id":"habilitation_documents","label":"Documentos e certidões de habilitação","status":"needs_document","nextAction":"Emitir cartão CNPJ, ato constitutivo, inscrições/certidões aplicáveis ao CNPJ, FGTS/CRF quando aplicável e declarações."},{"source":"Pacote final","id":"final_solv_snapshot","label":"PDF/print final do formulário Solv","status":"needs_document","nextAction":"Salvar snapshot completo antes de clicar SUBMETER."},{"source":"Plano de execução","id":"send_external_evidence_requests","label":"Enviar pedidos de cartas, datas, habilitação e CTA","status":"waiting_external","nextAction":"Preencher 5 destinatário(s) crítico(s) em .fapes-data/private-payloads/outbox-recipient-overrides.local.json antes de enviar pedidos ou registrar dispatch."},{"source":"Plano de execução","id":"collect_capability_letters","label":"Coletar 3 cartas/atestados assinados","status":"needs_real_file","nextAction":"Enviar os 3 rascunhos de carta e salvar PDFs assinados como capability-letter-1.pdf a -3.pdf."},{"source":"Plano de execução","id":"prepare_habilitation_bundle","label":"Montar índice ou PDF de habilitação","status":"needs_real_file","nextAction":"Emitir documentos PJ, certidões aplicáveis ao CNPJ e montar habilitation-index.md; PF fica apenas como fallback antes do SUBMETER."},{"source":"Plano de execução","id":"final_solv_dry_run_and_snapshot","label":"Rodar dry-run, salvar snapshot final e submeter","status":"blocked","nextAction":"Salvar PDF/print completo do Solv imediatamente antes de clicar SUBMETER."}],"blockerGroups":[{"canonicalId":"endpoint_error","label":"/api/proposal/private-payloads/status","status":"error","nextAction":"GET https://astrolab.tec.br/api/proposal/private-payloads/status failed with 500","owner":null,"dueBy":null,"calendarDueDate":null,"daysUntilDue":null,"overdue":false,"actionEndpoint":null,"uiAnchor":null,"requiredTargetPaths":[],"readyCriteria":["GET https://astrolab.tec.br/api/proposal/private-payloads/status failed with 500"],"occurrenceCount":1,"sources":["Payloads privados redigidos"],"statuses":["error"],"blockerIds":["endpoint_error"],"blockers":[{"source":"Payloads privados redigidos","id":"endpoint_error","label":"/api/proposal/private-payloads/status","status":"error","nextAction":"GET https://astrolab.tec.br/api/proposal/private-payloads/status failed with 500"}]},{"canonicalId":"capability_letters","label":"Cartas/atestados de capacidade técnica","status":"pending_required","nextAction":"Coletar 3 cartas de uma página com escopo, prazo, resultado/impacto métrico ou auditável, contato e assinatura.","owner":"Raphael","dueBy":"D+4","calendarDueDate":"2026-05-31","daysUntilDue":-9,"overdue":true,"actionEndpoint":"/api/proposal/capability-letters","uiAnchor":"capability-letters","requiredTargetPaths":["docs/proposal/external-evidence/capability-letter-1.pdf","docs/proposal/external-evidence/capability-letter-2.pdf","docs/proposal/external-evidence/capability-letter-3.pdf"],"readyCriteria":["Três cartas/atestados assinados por organizações diferentes.","Cada carta informa escopo, período, resultado/impacto com número, percentual, volume, horas, KPI ou evidência auditável, contato e assinatura.","PDFs reais salvos nos três caminhos esperados e sem conteúdo de template."],"occurrenceCount":5,"sources":["Pacote materializado","Seção Solv","Pacote final","Plano de execução"],"statuses":["pending_required","needs_evidence","needs_real_file"],"blockerIds":["capability_letters","6_evidencias","8_experiencia","collect_capability_letters"],"blockers":[{"source":"Pacote materializado","id":"capability_letters","label":"Cartas/atestados de capacidade técnica","status":"pending_required","nextAction":"Coletar 3 cartas de uma página com escopo, prazo, resultado/impacto métrico ou auditável, contato e assinatura."},{"source":"Seção Solv","id":"6_evidencias","label":"Evidências, casos de sucesso e custo-benefício","status":"needs_evidence","nextAction":"Não declarar caso de sucesso sem carta, data, escopo e resultado verificável."},{"source":"Seção Solv","id":"8_experiencia","label":"Experiência anterior e data de operação","status":"needs_evidence","nextAction":"Preencher 8.A-8.C somente com atestado e data real comprováveis."},{"source":"Pacote final","id":"capability_letters","label":"Cartas/atestados de capacidade técnica","status":"needs_evidence","nextAction":"Pedir 3 cartas de uma página com escopo, prazo, resultado/impacto métrico ou auditável, contato e assinatura."},{"source":"Plano de execução","id":"collect_capability_letters","label":"Coletar 3 cartas/atestados assinados","status":"needs_real_file","nextAction":"Enviar os 3 rascunhos de carta e salvar PDFs assinados como capability-letter-1.pdf a -3.pdf."}]},{"canonicalId":"habilitation_documents","label":"Pacote de habilitação e certidões","status":"pending_required","nextAction":"Montar índice de habilitação PJ com CNPJ, ato constitutivo, inscrições/certidões, FGTS/CRF quando aplicável, declarações e plano de diligência; manter documentos PF só se o fallback for acionado antes do SUBMETER.","owner":"Raphael/contador","dueBy":"D+6","calendarDueDate":"2026-06-02","daysUntilDue":-7,"overdue":true,"actionEndpoint":"/api/proposal/habilitation-documents","uiAnchor":"habilitation-documents","requiredTargetPaths":["docs/proposal/external-evidence/habilitation-bundle.pdf","docs/proposal/external-evidence/habilitation-index.md"],"readyCriteria":["Índice ou bundle lista documento, arquivo, emissão, validade, portal e observação.","Rota PJ contém CNPJ, ato constitutivo, inscrição/certidões, FGTS/CRF e declarações aplicáveis.","Runbook de diligência de 24h aponta responsável e documentos prontos para saneamento."],"occurrenceCount":4,"sources":["Pacote materializado","Seção Solv","Pacote final","Plano de execução"],"statuses":["pending_required","needs_document","needs_real_file"],"blockerIds":["habilitation_documents","9_equipe_transferencia","prepare_habilitation_bundle"],"blockers":[{"source":"Pacote materializado","id":"habilitation_documents","label":"Pacote de habilitação e certidões","status":"pending_required","nextAction":"Montar índice de habilitação PJ com CNPJ, ato constitutivo, inscrições/certidões, FGTS/CRF quando aplicável, declarações e plano de diligência; manter documentos PF só se o fallback for acionado antes do SUBMETER."},{"source":"Seção Solv","id":"9_equipe_transferencia","label":"Equipe, qualificação e transferência","status":"needs_document","nextAction":"Declarar formação, experiência e documentos sem inflar títulos não comprovados."},{"source":"Pacote final","id":"habilitation_documents","label":"Documentos e certidões de habilitação","status":"needs_document","nextAction":"Emitir cartão CNPJ, ato constitutivo, inscrições/certidões aplicáveis ao CNPJ, FGTS/CRF quando aplicável e declarações."},{"source":"Plano de execução","id":"prepare_habilitation_bundle","label":"Montar índice ou PDF de habilitação","status":"needs_real_file","nextAction":"Emitir documentos PJ, certidões aplicáveis ao CNPJ e montar habilitation-index.md; PF fica apenas como fallback antes do SUBMETER."}]},{"canonicalId":"final_solv_snapshot","label":"PDF/print final do Solv","status":"pending_required","nextAction":"Salvar PDF/print completo do formulário e anexos imediatamente antes do SUBMETER.","owner":"Raphael","dueBy":"D+15","calendarDueDate":"2026-06-11","daysUntilDue":2,"overdue":false,"actionEndpoint":"/api/proposal/solv-final-snapshot","uiAnchor":"solv-final-snapshot","requiredTargetPaths":["docs/proposal/external-evidence/solv-final-snapshot.pdf","docs/proposal/external-evidence/solv-final-snapshot.png","docs/proposal/external-evidence/solv-final-snapshot.md"],"readyCriteria":["Snapshot salvo imediatamente antes do SUBMETER.","As 9 seções do Anexo VI e anexos obrigatórios aparecem como revisados.","Usuário, data/hora, status e protocolo/recibo, quando houver, ficam registrados."],"occurrenceCount":4,"sources":["Pacote materializado","Gate Solv","Pacote final","Plano de execução"],"statuses":["pending_required","needs_document","blocked"],"blockerIds":["final_solv_snapshot","final_solv_dry_run_and_snapshot"],"blockers":[{"source":"Pacote materializado","id":"final_solv_snapshot","label":"PDF/print final do Solv","status":"pending_required","nextAction":"Salvar PDF/print completo do formulário e anexos imediatamente antes do SUBMETER."},{"source":"Gate Solv","id":"final_solv_snapshot","label":"Snapshot final do Solv salvo","status":"needs_document","nextAction":"Salvar PDF/print imediatamente antes do SUBMETER."},{"source":"Pacote final","id":"final_solv_snapshot","label":"PDF/print final do formulário Solv","status":"needs_document","nextAction":"Salvar snapshot completo antes de clicar SUBMETER."},{"source":"Plano de execução","id":"final_solv_dry_run_and_snapshot","label":"Rodar dry-run, salvar snapshot final e submeter","status":"blocked","nextAction":"Salvar PDF/print completo do Solv imediatamente antes de clicar SUBMETER."}]},{"canonicalId":"required_external_evidence","label":"Evidências externas obrigatórias prontas","status":"needs_document","nextAction":"Coletar decisão PF/PJ, cartas, datas, habilitação e snapshot.","owner":"Raphael","dueBy":"D+6","calendarDueDate":"2026-06-02","daysUntilDue":-7,"overdue":true,"actionEndpoint":"/api/proposal/external-evidence/action-board","uiAnchor":"external-evidence-action-board","requiredTargetPaths":["docs/proposal/external-evidence/submission-entity-decision.md","docs/proposal/external-evidence/capability-letter-1.pdf","docs/proposal/external-evidence/capability-letter-2.pdf","docs/proposal/external-evidence/capability-letter-3.pdf","docs/proposal/external-evidence/operation-dates.csv","docs/proposal/external-evidence/habilitation-index.md","docs/proposal/external-evidence/solv-final-snapshot.pdf"],"readyCriteria":["Todos os grupos obrigatórios do action-board estão ready.","Arquivos reais têm hash/recibo e não foram reprovados pelo kit de evidências.","O dry-run Solv não herda blockers de evidência externa."],"occurrenceCount":2,"sources":["Gate Solv"],"statuses":["needs_document"],"blockerIds":["required_external_evidence","required_attachments"],"blockers":[{"source":"Gate Solv","id":"required_external_evidence","label":"Evidências externas obrigatórias prontas","status":"needs_document","nextAction":"Coletar decisão PF/PJ, cartas, datas, habilitação e snapshot."},{"source":"Gate Solv","id":"required_attachments","label":"Anexos obrigatórios prontos","status":"needs_document","nextAction":"Conferir anexos obrigatórios e remover placeholders."}]},{"canonicalId":"final_submit","label":"Decisão operacional antes de clicar SUBMETER","status":"needs_document","nextAction":"Não clicar SUBMETER enquanto houver gate bloqueante.","owner":"Raphael","dueBy":"2026-06-11","calendarDueDate":"2026-06-11","daysUntilDue":2,"overdue":false,"actionEndpoint":"/api/proposal/solv-preflight","uiAnchor":"solv-preflight","requiredTargetPaths":["docs/proposal/solv-preflight-v0.md","docs/proposal/solv-preflight-v0.json"],"readyCriteria":["canSubmitNow=true no preflight final.","Revisão humana final feita após anexar arquivos no Solv.","Snapshot final salvo antes do clique e recibo/protocolo salvo depois."],"occurrenceCount":1,"sources":["Gate Solv"],"statuses":["needs_document"],"blockerIds":["final_submit"],"blockers":[{"source":"Gate Solv","id":"final_submit","label":"Decisão operacional antes de clicar SUBMETER","status":"needs_document","nextAction":"Não clicar SUBMETER enquanto houver gate bloqueante."}]},{"canonicalId":"send_external_evidence_requests","label":"Enviar pedidos de cartas, datas, habilitação e CTA","status":"waiting_external","nextAction":"Preencher 5 destinatário(s) crítico(s) em .fapes-data/private-payloads/outbox-recipient-overrides.local.json antes de enviar pedidos ou registrar dispatch.","owner":"Raphael","dueBy":"D+2","calendarDueDate":"2026-05-29","daysUntilDue":-11,"overdue":true,"actionEndpoint":"/api/proposal/external-evidence/dispatch-log","uiAnchor":"external-evidence-dispatch-log","requiredTargetPaths":["docs/proposal/external-evidence/external-request-dispatch-log.md","docs/proposal/external-evidence/external-request-dispatch-log.json","docs/proposal/external-evidence/external-request-dispatch-log.pdf"],"readyCriteria":["Pedidos de cartas, datas, certidões e respostas CTA enviados aos responsáveis reais.","Log registra destinatário, data/hora, meio, follow-up e evidência de envio.","Envio não substitui documento final; apenas comprova tração de coleta."],"occurrenceCount":1,"sources":["Plano de execução"],"statuses":["waiting_external"],"blockerIds":["send_external_evidence_requests"],"blockers":[{"source":"Plano de execução","id":"send_external_evidence_requests","label":"Enviar pedidos de cartas, datas, habilitação e CTA","status":"waiting_external","nextAction":"Preencher 5 destinatário(s) crítico(s) em .fapes-data/private-payloads/outbox-recipient-overrides.local.json antes de enviar pedidos ou registrar dispatch."}]}],"runbook":["Rodar este preflight antes de qualquer upload final no Solv.","Não clicar SUBMETER enquanto `canSubmitNow=false`.","Resolver primeiro a próxima melhor ação retornada pela central de execução.","Conferir `/api/proposal/private-payloads/status?format=md` antes de gravar dados privados em artefatos públicos.","Rascunhos, templates, outbox e pedidos enviados não substituem evidência real.","Quando `canSubmitNow=true`, fazer revisão humana final, salvar snapshot e guardar protocolo/recibo."]}