up-cc 0.4.0 → 0.4.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,151 @@
1
+ # Design Tokens — {PROJECT_NAME}
2
+
3
+ Referencia visual do projeto. Gerado pelo up-system-designer durante o Estagio 2 (Arquitetura).
4
+ Usado pelo up-visual-critic como baseline para avaliar consistencia visual.
5
+
6
+ ---
7
+
8
+ ## Colors
9
+
10
+ ### Primary
11
+ - `--color-primary`: {valor} — Acao principal, CTA, links
12
+ - `--color-primary-hover`: {valor} — Hover da cor primaria
13
+ - `--color-primary-foreground`: {valor} — Texto sobre cor primaria
14
+
15
+ ### Secondary
16
+ - `--color-secondary`: {valor} — Acoes secundarias
17
+ - `--color-secondary-hover`: {valor}
18
+ - `--color-secondary-foreground`: {valor}
19
+
20
+ ### Neutral
21
+ - `--color-background`: {valor} — Fundo geral
22
+ - `--color-foreground`: {valor} — Texto principal
23
+ - `--color-muted`: {valor} — Fundos sutis
24
+ - `--color-muted-foreground`: {valor} — Texto secundario
25
+ - `--color-border`: {valor} — Bordas
26
+ - `--color-input`: {valor} — Fundo de inputs
27
+ - `--color-card`: {valor} — Fundo de cards
28
+
29
+ ### Semantic
30
+ - `--color-success`: {valor} — Sucesso, confirmacao
31
+ - `--color-warning`: {valor} — Alerta, atencao
32
+ - `--color-error`: {valor} — Erro, destrutivo
33
+ - `--color-info`: {valor} — Informativo
34
+
35
+ ## Typography
36
+
37
+ ### Font Family
38
+ - `--font-sans`: {valor} — Texto geral (ex: Inter, Geist, system-ui)
39
+ - `--font-mono`: {valor} — Codigo (ex: JetBrains Mono, Fira Code)
40
+
41
+ ### Font Size Scale
42
+ | Token | Size | Usage |
43
+ |-------|------|-------|
44
+ | `--text-xs` | 12px | Labels, captions |
45
+ | `--text-sm` | 14px | Body secundario, inputs |
46
+ | `--text-base` | 16px | Body principal |
47
+ | `--text-lg` | 18px | Subtitulos |
48
+ | `--text-xl` | 20px | Section headers |
49
+ | `--text-2xl` | 24px | Page titles |
50
+ | `--text-3xl` | 30px | Hero sections |
51
+ | `--text-4xl` | 36px | Display |
52
+
53
+ ### Font Weight
54
+ | Token | Weight | Usage |
55
+ |-------|--------|-------|
56
+ | `--font-normal` | 400 | Body text |
57
+ | `--font-medium` | 500 | Labels, emphasis |
58
+ | `--font-semibold` | 600 | Subtitles, buttons |
59
+ | `--font-bold` | 700 | Titles, headings |
60
+
61
+ ## Spacing
62
+
63
+ ### Scale (base: 4px)
64
+ | Token | Value | Usage |
65
+ |-------|-------|-------|
66
+ | `--space-1` | 4px | Inline gaps, icon padding |
67
+ | `--space-2` | 8px | Tight element spacing |
68
+ | `--space-3` | 12px | Input padding, small gaps |
69
+ | `--space-4` | 16px | Card padding, standard gap |
70
+ | `--space-5` | 20px | Section padding (mobile) |
71
+ | `--space-6` | 24px | Section gaps |
72
+ | `--space-8` | 32px | Section padding (desktop) |
73
+ | `--space-10` | 40px | Large section spacing |
74
+ | `--space-12` | 48px | Page margins |
75
+ | `--space-16` | 64px | Hero spacing |
76
+
77
+ ## Border Radius
78
+
79
+ | Token | Value | Usage |
80
+ |-------|-------|-------|
81
+ | `--radius-sm` | 4px | Badges, tags |
82
+ | `--radius-md` | 8px | Buttons, inputs |
83
+ | `--radius-lg` | 12px | Cards, modals |
84
+ | `--radius-xl` | 16px | Large cards, sheets |
85
+ | `--radius-full` | 9999px | Avatars, pills |
86
+
87
+ ## Shadows
88
+
89
+ | Token | Value | Usage |
90
+ |-------|-------|-------|
91
+ | `--shadow-sm` | 0 1px 2px rgba(0,0,0,0.05) | Inputs, subtle elevation |
92
+ | `--shadow-md` | 0 4px 6px rgba(0,0,0,0.07) | Cards, dropdowns |
93
+ | `--shadow-lg` | 0 10px 15px rgba(0,0,0,0.1) | Modals, popovers |
94
+ | `--shadow-xl` | 0 20px 25px rgba(0,0,0,0.15) | Dialogs, sheets |
95
+
96
+ ## Breakpoints
97
+
98
+ | Token | Value | Usage |
99
+ |-------|-------|-------|
100
+ | `--bp-sm` | 640px | Mobile landscape |
101
+ | `--bp-md` | 768px | Tablet |
102
+ | `--bp-lg` | 1024px | Desktop |
103
+ | `--bp-xl` | 1280px | Wide desktop |
104
+ | `--bp-2xl` | 1536px | Ultra wide |
105
+
106
+ ## Z-Index Scale
107
+
108
+ | Token | Value | Usage |
109
+ |-------|-------|-------|
110
+ | `--z-dropdown` | 50 | Dropdowns, selects |
111
+ | `--z-sticky` | 100 | Sticky headers |
112
+ | `--z-overlay` | 200 | Overlays, backdrops |
113
+ | `--z-modal` | 300 | Modals, dialogs |
114
+ | `--z-popover` | 400 | Popovers, tooltips |
115
+ | `--z-toast` | 500 | Toast notifications |
116
+
117
+ ## Component Tokens
118
+
119
+ ### Buttons
120
+ - Height: 36px (sm), 40px (md), 44px (lg)
121
+ - Padding horizontal: 12px (sm), 16px (md), 24px (lg)
122
+ - Font size: 13px (sm), 14px (md), 15px (lg)
123
+ - Border radius: `--radius-md`
124
+ - Transition: 150ms ease
125
+
126
+ ### Inputs
127
+ - Height: 36px (sm), 40px (md), 44px (lg)
128
+ - Padding horizontal: 12px
129
+ - Font size: 14px
130
+ - Border: 1px solid `--color-border`
131
+ - Border radius: `--radius-md`
132
+ - Focus ring: 2px `--color-primary` with offset
133
+
134
+ ### Cards
135
+ - Padding: `--space-4` (mobile), `--space-6` (desktop)
136
+ - Border: 1px solid `--color-border`
137
+ - Border radius: `--radius-lg`
138
+ - Shadow: `--shadow-sm`
139
+
140
+ ### Tables
141
+ - Header bg: `--color-muted`
142
+ - Row height: 48px
143
+ - Cell padding: `--space-3` horizontal
144
+ - Border: 1px solid `--color-border` (bottom only)
145
+
146
+ ---
147
+
148
+ **Nota:** Este arquivo e referencia para o visual critic. Os valores reais sao definidos em:
149
+ - Tailwind: `tailwind.config.ts` (theme.extend)
150
+ - CSS: `globals.css` (CSS custom properties)
151
+ - shadcn: `components.json` + `lib/utils.ts`
@@ -1046,6 +1046,67 @@ Fase {X}: E2E — {passed}/{total} testes passaram [{bugs} bugs, {fixed} corrigi
1046
1046
  **Se nao tem UI:** Pular silenciosamente.
1047
1047
  **Se dev server falha:** Registrar e pular E2E (nao bloqueia).
1048
1048
 
1049
+ #### 3.1.5.1 Loop DCRV — Detectar, Classificar, Resolver, Verificar (Por Fase)
1050
+
1051
+ **Apos o E2E da fase**, rodar o workflow DCRV completo.
1052
+
1053
+ **Referencia:** `@~/.claude/up/workflows/dcrv.md`
1054
+
1055
+ Executar com parametros:
1056
+ ```
1057
+ SCOPE=phase
1058
+ PHASE_DIR={phase_dir}
1059
+ PHASE_NUMBER={phase_number}
1060
+ PORT={porta do dev server}
1061
+ MAX_CYCLES=3
1062
+ MAX_ISSUES_PER_CYCLE=15
1063
+ AUTO_FIX=true
1064
+ REGRESSION=false (smoke test e separado no passo 3.1.5.2)
1065
+ ```
1066
+
1067
+ O workflow DCRV cuida de:
1068
+ 1. Detectar modo (UI, API, ambos, nenhum)
1069
+ 2. Rodar detectores na ordem (Visual → API → Exhaustive)
1070
+ 3. Consolidar issue board
1071
+ 4. Dispatcher diagnostica e roteia para especialistas
1072
+ 5. Especialistas corrigem com commits atomicos
1073
+ 6. Re-verificacao das issues corrigidas
1074
+ 7. Loop ate resolver ou max ciclos
1075
+
1076
+ Issues pendentes sao salvas em `.plano/issues-carryover/` para o Quality Gate (Estagio 4).
1077
+
1078
+ ```
1079
+ Fase {X}: DCRV — {resolved}/{total} issues resolvidas [{pending} pendentes → Quality Gate]
1080
+ ```
1081
+
1082
+ #### 3.1.5.2 Smoke Test de Regressao (A partir da Fase 3)
1083
+
1084
+ **A partir da terceira fase**, fazer smoke test rapido das paginas de fases ANTERIORES.
1085
+ Objetivo: detectar regressoes causadas por mudancas em componentes compartilhados.
1086
+
1087
+ **NAO e exaustivo** — apenas:
1088
+ 1. Navegar cada rota de fases anteriores
1089
+ 2. Verificar que renderiza (nao tela branca, nao 404)
1090
+ 3. Screenshot rapido
1091
+ 4. Checar console por erros novos
1092
+
1093
+ ```
1094
+ Para cada fase anterior com UI:
1095
+ Para cada rota da fase:
1096
+ browser_navigate(url)
1097
+ browser_console_messages(level: "error")
1098
+ Se erro novo detectado → registrar como regressao
1099
+ ```
1100
+
1101
+ Se regressao encontrada:
1102
+ - Severidade: HIGH (algo que funcionava quebrou)
1103
+ - Corrigir imediatamente (nao carregar para Quality Gate)
1104
+ - Commit: `fix(fase-{X}): regressao em [pagina] causada por fase {Y}`
1105
+
1106
+ ```
1107
+ Smoke test regressao: {N} rotas anteriores | {OK} ok | {REGRESS} regressoes [{FIXED} corrigidas]
1108
+ ```
1109
+
1049
1110
  #### 3.1.6 Marcar Fase Completa
1050
1111
 
1051
1112
  ```bash
@@ -1118,16 +1179,22 @@ Voltar para 3.1.1 com a proxima fase. Sem /clear — continuar no mesmo contexto
1118
1179
  Executado APOS todas as fases do build completarem.
1119
1180
  Ciclo de avaliacao → correcao → re-avaliacao ate atingir score >= 9.0/10.
1120
1181
 
1121
- **Score Composto (6 dimensoes):**
1182
+ **Score Composto (9 dimensoes):**
1122
1183
 
1123
1184
  | Dimensao | Peso | Como mede |
1124
1185
  |----------|------|-----------|
1125
- | Funcionalidade | 25% | Requisitos atendidos / total (REQUIREMENTS.md) |
1126
- | E2E | 20% | Testes passando / total (Playwright) |
1127
- | UX | 15% | Score do UX tester (6 sub-dimensoes) |
1128
- | Responsividade | 15% | Score do mobile-first |
1129
- | Codigo | 15% | Score do melhorias (UX+perf+modernidade) |
1130
- | Completude | 10% | Paginas sem erro / total (smoke test) |
1186
+ | Funcionalidade | 15% | Requisitos atendidos / total (REQUIREMENTS.md) |
1187
+ | Blind Validation | 15% | Score do BLIND-VALIDATION.md |
1188
+ | Visual Quality | 12% | Score do up-visual-critic (VISUAL-REPORT.md) |
1189
+ | Exhaustive | 10% | Pass rate do up-exhaustive-tester (EXHAUSTIVE-REPORT.md) |
1190
+ | API Robustez | 8% | Pass rate do up-api-tester (API-REPORT.md) |
1191
+ | E2E | 10% | Testes passando / total (Playwright) |
1192
+ | UX | 10% | Score do UX tester (6 sub-dimensoes) |
1193
+ | Responsividade | 10% | Score do mobile-first |
1194
+ | Codigo | 10% | Score do code reviewer + melhorias |
1195
+
1196
+ **Nota:** Se projeto nao tem UI, redistribuir pesos de Visual/Exhaustive/UX/Responsividade para API/Funcionalidade/Codigo.
1197
+ **Nota:** Se projeto nao tem API, redistribuir peso de API para outros.
1131
1198
 
1132
1199
  **Limites de seguranca:**
1133
1200
  - Max 5 ciclos de refinamento
@@ -1445,24 +1512,35 @@ Blind Validation: {score}% | {passed} PASS | {failed} FAIL | {partial} PARTIAL
1445
1512
  Agregar scores de todos os avaliadores:
1446
1513
 
1447
1514
  ```
1448
- Funcionalidade (20%): requisitos [x] / total no REQUIREMENTS.md → 0-10
1449
- Blind Valid. (20%): score do BLIND-VALIDATION.md → 0-10
1450
- E2E (15%): testes passaram / total no E2E mais recente → 0-10
1515
+ Funcionalidade (15%): requisitos [x] / total no REQUIREMENTS.md → 0-10
1516
+ Blind Valid. (15%): score do BLIND-VALIDATION.md → 0-10
1517
+ Visual (12%): score do VISUAL-REPORT.md → 0-10
1518
+ Exhaustive (10%): pass rate do EXHAUSTIVE-REPORT.md → 0-10
1519
+ API (8%): pass rate do API-REPORT.md → 0-10
1520
+ E2E (10%): testes passaram / total no E2E mais recente → 0-10
1451
1521
  UX (10%): score do UX-REPORT.md → 0-10
1452
1522
  Responsividade (10%): score do MOBILE-REPORT.md → 0-10
1453
- Codigo (15%): (10 - problemas_criticos) do RELATORIO.md melhorias → 0-10
1454
- Completude (10%): rotas sem erro / total no smoke test → 0-10
1523
+ Codigo (10%): score do CODE-REVIEW + melhorias → 0-10
1455
1524
 
1456
1525
  **Modo normal:**
1457
- Score = (func × 0.20) + (blind × 0.20) + (e2e × 0.15) + (ux × 0.10) + (resp × 0.10) + (cod × 0.15) + (comp × 0.10)
1526
+ Score = (func × 0.15) + (blind × 0.15) + (visual × 0.12) + (exhaustive × 0.10) + (api × 0.08) + (e2e × 0.10) + (ux × 0.10) + (resp × 0.10) + (cod × 0.10)
1458
1527
 
1459
1528
  **Modo clone (builder_type: "clone"):**
1460
- Score = (func × 0.15) + (fidelidade × 0.20) + (blind × 0.15) + (e2e × 0.10) + (ux × 0.10) + (resp × 0.10) + (cod × 0.10) + (comp × 0.10)
1529
+ Score = (func × 0.10) + (fidelidade × 0.15) + (blind × 0.10) + (visual × 0.15) + (exhaustive × 0.10) + (api × 0.05) + (e2e × 0.10) + (ux × 0.05) + (resp × 0.10) + (cod × 0.10)
1461
1530
 
1462
1531
  A dimensao "Fidelidade" usa o up-clone-verifier: compara features (funcional) + visual contra original.
1463
1532
  ```
1464
1533
 
1465
- **Se algum avaliador nao rodou** (ex: sem UI, sem E2E): redistribuir peso proporcionalmente entre os que rodaram.
1534
+ **Se algum avaliador nao rodou** (ex: sem UI, sem E2E, sem API): redistribuir peso proporcionalmente entre os que rodaram.
1535
+
1536
+ **Issues Carryover das Fases:**
1537
+
1538
+ Antes de iniciar o Quality Gate, carregar issues pendentes do loop DCRV por fase:
1539
+ ```bash
1540
+ ls .plano/issues-carryover/*.json 2>/dev/null
1541
+ ```
1542
+ Estas issues ja foram detectadas e tentadas — se ainda existem, sao as mais dificeis.
1543
+ Incluir no board de issues do Quality Gate com flag `carryover: true`.
1466
1544
 
1467
1545
  ```
1468
1546
  ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
@@ -1471,12 +1549,15 @@ A dimensao "Fidelidade" usa o up-clone-verifier: compara features (funcional) +
1471
1549
 
1472
1550
  | Dimensao | Score | Peso | Contribuicao |
1473
1551
  |----------|-------|------|-------------|
1474
- | Funcionalidade | [N]/10 | 25% | [X] |
1475
- | E2E | [N]/10 | 20% | [X] |
1476
- | UX | [N]/10 | 15% | [X] |
1477
- | Responsividade | [N]/10 | 15% | [X] |
1478
- | Codigo | [N]/10 | 15% | [X] |
1479
- | Completude | [N]/10 | 10% | [X] |
1552
+ | Funcionalidade | [N]/10 | 15% | [X] |
1553
+ | Blind Validation | [N]/10 | 15% | [X] |
1554
+ | Visual Quality | [N]/10 | 12% | [X] |
1555
+ | Exhaustive | [N]/10 | 10% | [X] |
1556
+ | API Robustez | [N]/10 | 8% | [X] |
1557
+ | E2E | [N]/10 | 10% | [X] |
1558
+ | UX | [N]/10 | 10% | [X] |
1559
+ | Responsividade | [N]/10 | 10% | [X] |
1560
+ | Codigo | [N]/10 | 10% | [X] |
1480
1561
  | **TOTAL** | **[SCORE]/10** | | |
1481
1562
  ```
1482
1563
 
@@ -1497,13 +1578,28 @@ Identificar top gaps (dimensoes com menor score):
1497
1578
  - Extrair issues nao corrigidas / requisitos pendentes
1498
1579
  - Priorizar por impacto no score
1499
1580
 
1500
- **Implementar correcoes:**
1581
+ **Rodar 3 detectores no projeto INTEIRO (nao apenas por fase):**
1582
+
1583
+ Ordem: Visual Critic → API Tester → Exhaustive Tester
1584
+
1585
+ Cada detector roda em TODAS as paginas/rotas, detectando:
1586
+ - Issues novas (nao encontradas no DCRV por fase)
1587
+ - Regressoes cross-fase (inconsistencia entre paginas de fases diferentes)
1588
+ - Issues carryover (pendentes das fases) — re-verificar se ainda existem
1589
+
1590
+ **Implementar correcoes via Dispatcher (mesmo protocolo do DCRV por fase):**
1591
+ - Issues visuais (VIS-*): diagnosticar → up-frontend-specialist
1592
+ - Issues de interacao (INT-*): diagnosticar → up-frontend-specialist ou up-backend-specialist
1593
+ - Issues de API (API-*): diagnosticar → up-backend-specialist ou up-database-specialist
1501
1594
  - Issues de codigo: planejar mini-fase → executar → commit
1502
1595
  - Issues de UX: aplicar fixes (mesmo processo do UX tester)
1503
1596
  - Issues de responsividade: aplicar fixes (mesmo processo do mobile-first)
1504
1597
  - Requisitos pendentes: planejar mini-fase → executar
1505
1598
  - Issues de E2E: corrigir bugs (max 5 tentativas)
1506
1599
 
1600
+ **Cap de issues por ciclo: max 20** (mais generoso que o DCRV por fase).
1601
+ Prioridade: critical > high > medium. Low nunca entra.
1602
+
1507
1603
  Apos implementar:
1508
1604
 
1509
1605
  ```
@@ -2218,6 +2314,9 @@ Com 1M de contexto, a maioria dos projetos cabe sem /clear. Mas monitore:
2218
2314
  - [ ] Estagio 3: Todas as fases verificadas
2219
2315
  - [ ] Estagio 3: Fases com UI testadas via Playwright (E2E-RESULTS.md)
2220
2316
  - [ ] Estagio 3: Bugs E2E corrigidos (quando possivel)
2317
+ - [ ] Estagio 3: DCRV por fase executado (Visual Critic + Exhaustive Tester + API Tester)
2318
+ - [ ] Estagio 3: Issues DCRV corrigidas via dispatcher (max 3 ciclos por fase)
2319
+ - [ ] Estagio 3: Smoke test de regressao em fases anteriores (a partir da fase 3)
2221
2320
  - [ ] Estagio 3: Reassessment apos cada fase (roadmap re-avaliado)
2222
2321
  - [ ] Estagio 3: Commits atomicos por tarefa
2223
2322
  - [ ] Estagio 3: LOCK.md atualizado a cada transicao de estado
@@ -2229,7 +2328,11 @@ Com 1M de contexto, a maioria dos projetos cabe sem /clear. Mas monitore:
2229
2328
  - [ ] Estagio 4: UX-REPORT.md gerado com scores e screenshots
2230
2329
  - [ ] Estagio 4: Mobile First executado (responsividade verificada em 3 viewports)
2231
2330
  - [ ] Estagio 4: MOBILE-REPORT.md gerado com score e screenshots comparativos
2232
- - [ ] Estagio 4: Score composto calculado (6 dimensoes)
2331
+ - [ ] Estagio 4: Visual Critic global executado (VISUAL-REPORT.md)
2332
+ - [ ] Estagio 4: Exhaustive Tester global executado (EXHAUSTIVE-REPORT.md)
2333
+ - [ ] Estagio 4: API Tester global executado (API-REPORT.md)
2334
+ - [ ] Estagio 4: Issues carryover das fases processadas
2335
+ - [ ] Estagio 4: Score composto calculado (9 dimensoes)
2233
2336
  - [ ] Estagio 4: Quality gate loop executado (ate score >= 9.0 ou max 5 ciclos)
2234
2337
  - [ ] Estagio 4: DevOps artifacts gerados (Dockerfile, CI/CD, .env.example, seed)
2235
2338
  - [ ] Estagio 4: Documentacao gerada (README, CHANGELOG, API docs)