---
fonte: 01-canonicos/seed-ds-roadmap.md
versao_da_fonte: v2.7
secao: s08
titulo: "F7 — COBERTURA (F7.1–F7.7) ✅ **FECHADA 2026-08-24 — 7 de 7** (F7.1 a F7.5 em 2026-08-15/17 · F7.6 em 2026-08-22/23 · F7.7 em 2026-08-23/24)"
sequencia: 9 de 15
bytes_do_corpo: 5789
md5_do_corpo: 5eae66e9269d0e4d664061697d630bc0
gerado_por: 06-validacao/geradores/gen-camada-ia.py
nota: fatia GERADA — o corpo abaixo é byte a byte o trecho do canônico; edite o canônico, nunca esta fatia. Canônico inteiro em https://ds.seed.eng.br/01-canonicos/seed-ds-roadmap.md
---
## F7 — COBERTURA (F7.1–F7.7) ✅ **FECHADA 2026-08-24 — 7 de 7** (F7.1 a F7.5 em 2026-08-15/17 · F7.6 em 2026-08-22/23 · F7.7 em 2026-08-23/24)

> **Renumeração de 2026-08-15, registrada aqui na v2.1:** a Fase 7 passou a ser a fase de
> **cobertura** — nascida do `mapa-cobertura-ds.md` (o inventário de tudo que um DS de ERP
> precisa prever, medido no produto de referência) — e **aplicações desceu para a F8**.
> Supersede formal no §12 do `marca-seed.md`. A fonte de verdade do detalhe é o **§8 do
> `mapa-cobertura-ds.md`** (etapas, entregas e bloqueios); resumo do estado:

- **F7.1 Fundação de composição** ✅ (2026-08-15 — `seed-composicao.md` v2.0; CP25–CP31 promovidos a `estável` na v2.1 em 2026-08-16)
- **F7.2 Telas de dado** ✅ (2026-08-15 — `tela-tabela` + `tela-lista` + §50–§53)
- **F7.3 Registro** ✅ com exceção nomeada (§49 detalhe · §54 · §55 chat · §56; **A6 formulário BLOQUEADO** — instância de referência indisponível)
- **F7.4 Fluxo de trabalho** ✅ com exceção nomeada (§57 quadro · §58 gantt; **A15 carga de trabalho BLOQUEADO** — sem instância no modo somente-leitura)
- **F7.5 Entrada e seletores** ✅ fila fechada no alcançável (nove bancadas §59–§68 `estável`; **C5 e C8 BLOQUEADOS** pela PS-P2)
- **F7.6 Bordas do sistema** ✅ **ENTREGUE 2026-08-22/23 (6/6, dois dias de gates encadeados)** — A19 autenticação (§83, fecha a CD-P5) · A20 onboarding (§84) · A17 busca (§85) · A18 configurações (§86) · A14 feed (§87) · A13 documento (§88); consolidado aprovado (P1–P5) + volta de leitura dirigida (`09-pesquisa/leitura-f76-bordas.md`) + retroativo HV1 + 6 suítes (101·0)
- **F7.7 Instrumentação e rigor** ✅ **ENTREGUE 2026-08-24 — P1 a P6, 6 de 6.** Com ela **a F7 (COBERTURA) FECHA INTEIRA: F7.1 a F7.7**
  - **P1 · o PORTE** ✅ — a camada de validação voltou a rodar nesta máquina. Diagnóstico da abertura:
    das 55 suítes só as 6 da F7.6 rodavam (21 presas a um Chrome de Linux, o resto com caminhos da
    pasta plana do Cowork). Nasce o contrato `ambiente.mjs` e o `PLACAR.md` como linha de base
    (**1.127 PASS · 0 FAIL** nas 17 jsdom antigas; 20 geradores provados por regeneração
    byte-idêntica). Fecha a pendência dos **caminhos nus** e a **AU-P1**
  - **P2 · módulo de cor** ✅ — `cor.py`/`cor.mjs` (gêmeos, 20·0 cada, paridade medida) fecham a
    lacuna `color(srgb …/α)` declarada no §12.5 do estudo; 13 scripts migrados com saída idêntica.
    De carona, a **DP-P7** fechou na opção B dele (o coropleto passou a desenhar a fronteira do DP4)
  - **P3 · rigor de cor e de contêiner** ✅ — a **C31 ganha a perna de COR** (ΔE76 calibrado contra o
    precedente do §7.5 da marca) e nasce a **guarda da lei do CP27 no acervo**, que achou 9 artefatos
    com nome fora da lista fechada → **CP27 vai de 8 para 10 nomes por supersede** (CN-P1 fechada)
  - **P4 · microcópia** ✅ — nasce a **§89 do `seed-componentes.md`** (MC1–MC18) por cinco decisões
    dele, sobre rodada de 12 fontes. A §89.3 (registro verbal em pt-BR) é a parte que só fonte
    brasileira resolvia. Guarda automatizada fica como **MC-P2**
  - **P5 · offline, conflito e virtualização** ✅ **ENTREGUE 2026-08-24 (cinco decisões dele)** — nascem a **§90 (OF1–OF9)**, a **§91 (CE1–CE8)** e a **§92 (LL1–LL6)** do `seed-componentes.md` v1.37, e as três linhas ❌ AUSENTE do §6.1 do mapa fecham. O §92 **fecha a BU-P1**. Achados que viraram lei: offline nunca se declara por flag · **trava exclusiva só para objeto que gera documento com ART** · paginação por achabilidade, não por desempenho —
    os três estados que seguem ausentes no §6.1. Evidência em
    `09-pesquisa/leitura-f77-estados-ausentes.md`; o limiar da lista longa foi **MEDIDO em cobaia**
    (`06-validacao/ferramentas/mede-lista-longa.mjs`) porque a lista mais longa do acervo tem 38 itens
    e não exercita o problema: **2.000 linhas** é onde um layout forçado (222–395 ms) estoura o
    orçamento de INP de 200 ms. A previsão escrita antes foi **derrubada** — contenção nativa rende
    5,87×–25,47× em blocos e **nada** em tabela — e ⭐ a régua óbvia mente pela terceira vez
    (`getComputedStyle` devolve `auto` nas duas estruturas), então **esta regra não tem conferência
    por declaração**: pendência **LL-P1**. **52º defeito** no caminho. **5 decisões** na folha
  - **P6 · limpeza dos 31 gastos** ✅ **ENTREGUE 2026-08-24** — ele leu os 5 trechos, pediu a remoção (*"pode seguir com sua recomendação, nao considero nada ali grave"*) e os **31 arquivos saíram** (537 KB), por nome, nunca por curinga. O git é a lixeira. **A F7.7 FECHA, E COM ELA A F7 INTEIRA** —
    `06-validacao/TABELA-REMOCAO.md`, gerada (31 arquivos · 537 KB), **nada removido**. Nasce a
    contraprova `06-validacao/ferramentas/audita-remocao.py`, que troca a pergunta errada ("quem cita
    este arquivo?") pela certa ("o que morre com ele?"): **28 LIVRES · 3 PRESOS**, e os 3 caem na
    conferência à mão porque o MANIFESTO guarda o verbatim em forma MAIS COMPLETA que a cópia. De
    carona, dois achados: **a marca de "travado" do índice morreu em silêncio no porte** (a expressão
    lia o caminho da pasta plana; todos os 31 saíam como não-travados) e as 5 citações canônicas dos
    gastos **já estão órfãs hoje**. **1 decisão** na folha

*(A frente de 2026-08-16→22 — contratos de qualidade §69–§82 do `seed-componentes.md`, grafismo
como componente, piso físico em mm, sangria, censo/INDICE — correu transversal à F7; trajetória
nos changelogs de `seed-componentes.md` v1.14→v1.29, `marca-seed.md` v5.2→v5.13 e
`mapa-cobertura-ds.md` §22.8→§22.25.)*

