mirror of
https://github.com/melgarafael/DeskcommCRM.git
synced 2026-10-02 01:28:34 +08:00
4.9 KiB
4.9 KiB
Checkpoint G1 — Provas & Fundação — 2026-07-16
Status: COMPLETO
1. Entregue nesta fase
| Feature | Título | Commit | Verificação |
|---|---|---|---|
| — | reparo de main: typecheck de loop/update-feature.ts | 3e344b8 |
gov-verifier PASS 2026-07-16T18:50-03:00 |
| G1-01 | Gate de CI consolidado (gov:verify + ci.yml) | 98eb5e6 |
gov-verifier PASS 2026-07-16T19:01-03:00 |
| G1-02 | Postgres descartável: baseline install+update + isolamento 2-tenants | 35899ea |
gov-verifier PASS 2026-07-16T19:26-03:00 |
| G1-03 | Suíte de invariantes de governança (7 eixos) | f7a6b3c |
gov-verifier PASS 2026-07-16T19:48-03:00 |
| G1-04 | Auditoria de gap: specs 04/05 vs código real (Apêndice B) | cedf0ad |
gov-verifier PASS 2026-07-16T20:12-03:00 |
| G1-05 | Modelo de dados alvo + matriz role×recurso (spec 13 §3-§4) | 5e77e55 |
gov-verifier PASS 2026-07-16T20:24-03:00 |
| G1-06 | INPUT HUMANO: decisões de produto | 20fe969 |
gov-verifier PASS 2026-07-16T20:36-03:00 |
2. Evidências (prova, não afirmação) — gates da fase G1
- CI verde consolidado:
pnpm gov:verifyrodatypecheck && lint && test:unite retornou exit 0 na verificação (typecheck zerado; lint 0 erros; 12 files / 94 tests)..github/workflows/ci.ymlcriado (pull_request + push main, pnpm 9 + node 20, mesmas versões de perf.yml), sintaxe validada localmente — ainda não rodou no GitHub porque o loop não faz push (aguarda ritual de virada). - Postgres descartável:
pnpm test:dbsobe pgvector/pgvector:pg17 efêmero (porta 127.0.0.1:54329, --rm, trap EXIT), aplica prelude de stubs Supabase + baseline em modo install (ON_ERROR_STOP=1) e update. Verificador provou: baseline quebrado → exit 3 com teardown executando; SIGINT → sem container órfão;docker pslimpo após cada run. - Invariantes dos 7 eixos:
pnpm test:invariants→ 8 files / 29 tests verdes (22 asserts de estado atual + 7 catracasit.failscomGAP(Gx)). Catraca provada em probe: it.fails sobre gap já corrigido deixa a suíte VERMELHA. Isolamento 2-tenants: 9 testes (0 rows cross-org em conversations/messages/ contacts/crm_leads sob role authenticated + claims; UPDATE cross-org → 0 rows). - Auditoria spec 04/05 vs código: Apêndice B da spec 13 com 20 itens (9 implementado / 5 parcial / 6 ausente), toda linha com evidência arquivo:linha — verifier abriu 20/20 citações e re-executou os greps de ausência.
- Modelo de dados alvo: spec 13 §3 com DDL rascunho das 5 estruturas (conversation_assignment_events, assignee_kind, conversations.tags, attendant_availability, settings.routing/visibility_mode), cada uma com bloco DIRC; §4 com matriz 11 recursos × 4 roles, 7 células PENDENTE G1-06 + 1 PENDENTE INB-01. Verifier conferiu 8/8 referências baseline.sql:linha.
- Decisões de produto (G1-06): colhidas do dono (via chat ao Maestro + AskUserQuestion) e transcritas na spec 13 — (a) own_and_unassigned; (b) manual+round-robin; (c) reusa role agent; (d) transferência imediata auditada; (e) manager vê métricas individuais; INB-01 supervisor §10 descartado. Matriz §4 com 0 PENDENTEs (verifier conferiu fidelidade célula a célula).
3. Pendências (cópia auditável da inbox operacional)
- Nenhuma pendência aberta. INB-01 e INB-02 foram respondidos pelo dono em 2026-07-16 e estão CLOSED (respostas aplicadas na spec 13 pela G1-06, verificadas pelo gov-verifier).
4. Riscos observados na construção
- O smoke da main estava vermelho na entrada do loop (o próprio update-feature.ts do setup); consertado como sessão de reparo — mas indica que o setup não rodou o smoke antes de mergear.
verification.commitregistrado como "self" (o sha do próprio commit atômico é impossível pré-commit); audite porgit log --grep '<ID>'— convenção registrada no progress.md.- Apêndice B: ponteiro impreciso na linha supervisor §10 (cita conversations/[id]/messages/route.ts:38; o POST real é app/api/v1/messages/ route.ts) — conclusão correta, corrigir em 1 linha numa sessão futura.
create policydo apêndice do baseline (migrations 0014/0017) não é idempotente ("already exists" tolerado no modo update) — melhoria possível no baseline.- ci.yml só será provado de verdade no primeiro push/PR ao GitHub (virada de fase).
5. O que a PRÓXIMA fase (G2) precisa
Respostas do dono— FEITO (INB-01/02 closed, spec 13 sem PENDENTEs).- Aprovação: dono autorizou via chat (AskUserQuestion 2026-07-16) a criação do G1.approved em nome dele, com virada por merge+push direto (opção A).
- G2-01 pode partir da matriz fechada da spec 13 §4.
6. Custo da fase
- 8 sessões (linhas
startedde 2026-07-16 em loop/sessions.log): 1 reparo de main + 6 features + 1 sessão de checkpoint. Período: 18:39 → 20:37 (~2h). - Tokens: sem medição por sessão; implementers/verifiers somaram ~700k tokens de subagentes (estimativa da telemetria do orquestrador).