aiox-core 5.0.3 → 5.0.4

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.
Files changed (468) hide show
  1. package/.aiox-core/core/execution/predictive-pipeline.js +1283 -0
  2. package/.aiox-core/core/memory/decision-memory.js +564 -0
  3. package/.aiox-core/data/entity-registry.yaml +1068 -1028
  4. package/.aiox-core/data/registry-update-log.jsonl +2 -2
  5. package/.aiox-core/development/templates/service-template/README.md.hbs +158 -158
  6. package/.aiox-core/development/templates/service-template/__tests__/index.test.ts.hbs +237 -237
  7. package/.aiox-core/development/templates/service-template/client.ts.hbs +403 -403
  8. package/.aiox-core/development/templates/service-template/errors.ts.hbs +182 -182
  9. package/.aiox-core/development/templates/service-template/index.ts.hbs +120 -120
  10. package/.aiox-core/development/templates/service-template/package.json.hbs +87 -87
  11. package/.aiox-core/development/templates/service-template/types.ts.hbs +145 -145
  12. package/.aiox-core/development/templates/squad-template/LICENSE +21 -21
  13. package/.aiox-core/infrastructure/templates/aiox-sync.yaml.template +182 -182
  14. package/.aiox-core/infrastructure/templates/coderabbit.yaml.template +279 -279
  15. package/.aiox-core/infrastructure/templates/github-workflows/ci.yml.template +169 -169
  16. package/.aiox-core/infrastructure/templates/github-workflows/pr-automation.yml.template +330 -330
  17. package/.aiox-core/infrastructure/templates/github-workflows/release.yml.template +196 -196
  18. package/.aiox-core/infrastructure/templates/gitignore/gitignore-aiox-base.tmpl +63 -63
  19. package/.aiox-core/infrastructure/templates/gitignore/gitignore-brownfield-merge.tmpl +18 -18
  20. package/.aiox-core/infrastructure/templates/gitignore/gitignore-node.tmpl +85 -85
  21. package/.aiox-core/infrastructure/templates/gitignore/gitignore-python.tmpl +145 -145
  22. package/.aiox-core/install-manifest.yaml +63 -55
  23. package/.aiox-core/local-config.yaml.template +71 -71
  24. package/.aiox-core/monitor/hooks/lib/__init__.py +1 -1
  25. package/.aiox-core/monitor/hooks/lib/enrich.py +58 -58
  26. package/.aiox-core/monitor/hooks/lib/send_event.py +47 -47
  27. package/.aiox-core/monitor/hooks/notification.py +29 -29
  28. package/.aiox-core/monitor/hooks/post_tool_use.py +45 -45
  29. package/.aiox-core/monitor/hooks/pre_compact.py +29 -29
  30. package/.aiox-core/monitor/hooks/pre_tool_use.py +40 -40
  31. package/.aiox-core/monitor/hooks/stop.py +29 -29
  32. package/.aiox-core/monitor/hooks/subagent_stop.py +29 -29
  33. package/.aiox-core/monitor/hooks/user_prompt_submit.py +38 -38
  34. package/.aiox-core/product/templates/adr.hbs +125 -125
  35. package/.aiox-core/product/templates/dbdr.hbs +241 -241
  36. package/.aiox-core/product/templates/epic.hbs +212 -212
  37. package/.aiox-core/product/templates/pmdr.hbs +186 -186
  38. package/.aiox-core/product/templates/prd-v2.0.hbs +216 -216
  39. package/.aiox-core/product/templates/prd.hbs +201 -201
  40. package/.aiox-core/product/templates/story.hbs +263 -263
  41. package/.aiox-core/product/templates/task.hbs +170 -170
  42. package/.aiox-core/product/templates/tmpl-comment-on-examples.sql +158 -158
  43. package/.aiox-core/product/templates/tmpl-migration-script.sql +91 -91
  44. package/.aiox-core/product/templates/tmpl-rls-granular-policies.sql +104 -104
  45. package/.aiox-core/product/templates/tmpl-rls-kiss-policy.sql +10 -10
  46. package/.aiox-core/product/templates/tmpl-rls-roles.sql +135 -135
  47. package/.aiox-core/product/templates/tmpl-rls-simple.sql +77 -77
  48. package/.aiox-core/product/templates/tmpl-rls-tenant.sql +152 -152
  49. package/.aiox-core/product/templates/tmpl-rollback-script.sql +77 -77
  50. package/.aiox-core/product/templates/tmpl-seed-data.sql +140 -140
  51. package/.aiox-core/product/templates/tmpl-smoke-test.sql +16 -16
  52. package/.aiox-core/product/templates/tmpl-staging-copy-merge.sql +139 -139
  53. package/.aiox-core/product/templates/tmpl-stored-proc.sql +140 -140
  54. package/.aiox-core/product/templates/tmpl-trigger.sql +152 -152
  55. package/.aiox-core/product/templates/tmpl-view-materialized.sql +133 -133
  56. package/.aiox-core/product/templates/tmpl-view.sql +177 -177
  57. package/.aiox-core/scripts/pm.sh +0 -0
  58. package/.claude/hooks/enforce-architecture-first.py +196 -196
  59. package/.claude/hooks/mind-clone-governance.py +192 -192
  60. package/.claude/hooks/read-protection.py +151 -151
  61. package/.claude/hooks/slug-validation.py +176 -176
  62. package/.claude/hooks/sql-governance.py +182 -182
  63. package/.claude/hooks/write-path-validation.py +194 -194
  64. package/LICENSE +33 -33
  65. package/bin/aiox-graph.js +0 -0
  66. package/bin/aiox-minimal.js +0 -0
  67. package/bin/aiox.js +0 -0
  68. package/package.json +1 -1
  69. package/packages/aiox-install/bin/aiox-install.js +0 -0
  70. package/packages/aiox-install/bin/edmcp.js +0 -0
  71. package/packages/aiox-pro-cli/bin/aiox-pro.js +0 -0
  72. package/packages/installer/src/wizard/pro-setup.js +28 -0
  73. package/pro/README.md +66 -66
  74. package/pro/feature-registry.yaml +225 -223
  75. package/pro/license/license-api.js +701 -679
  76. package/pro/package.json +39 -39
  77. package/pro/pro-config.yaml +63 -63
  78. package/pro/squads/README.md +24 -24
  79. package/pro/squads/design/HEADLINE.md +3 -3
  80. package/pro/squads/design/README.md +109 -109
  81. package/pro/squads/design/agents/brad-frost.md +1097 -1097
  82. package/pro/squads/design/agents/dan-mall.md +857 -857
  83. package/pro/squads/design/agents/dave-malouf.md +2272 -2272
  84. package/pro/squads/design/agents/design-chief.md +114 -114
  85. package/pro/squads/design/agents/ds-foundations-lead.md +194 -194
  86. package/pro/squads/design/agents/ds-token-architect.md +361 -361
  87. package/pro/squads/design/agents/nano-banana-generator.md +162 -162
  88. package/pro/squads/design/agents/storybook-expert.md +809 -809
  89. package/pro/squads/design/checklists/atomic-refactor-checklist.md +299 -299
  90. package/pro/squads/design/checklists/component-adaptation-checklist.md +81 -81
  91. package/pro/squads/design/checklists/design-fidelity-checklist.md +283 -283
  92. package/pro/squads/design/checklists/design-handoff-checklist.md +55 -55
  93. package/pro/squads/design/checklists/design-team-health-checklist.md +454 -454
  94. package/pro/squads/design/checklists/designops-maturity-checklist.md +518 -518
  95. package/pro/squads/design/checklists/ds-a11y-release-gate-checklist.md +45 -45
  96. package/pro/squads/design/checklists/ds-accessibility-wcag-checklist.md +147 -147
  97. package/pro/squads/design/checklists/ds-component-quality-checklist.md +150 -150
  98. package/pro/squads/design/checklists/ds-critical-eye-review-checklist.md +147 -147
  99. package/pro/squads/design/checklists/ds-migration-readiness-checklist.md +99 -99
  100. package/pro/squads/design/checklists/ds-pattern-audit-checklist.md +164 -164
  101. package/pro/squads/design/checklists/reading-accessibility-checklist.md +275 -275
  102. package/pro/squads/design/checklists/token-mapping-checklist.md +107 -107
  103. package/pro/squads/design/config/coding-standards.md +286 -286
  104. package/pro/squads/design/config/source-tree.md +59 -59
  105. package/pro/squads/design/config/tech-stack.md +48 -48
  106. package/pro/squads/design/config.yaml +204 -204
  107. package/pro/squads/design/data/agentic-design-systems-guide.md +46 -46
  108. package/pro/squads/design/data/agentic-ds-principles.md +100 -100
  109. package/pro/squads/design/data/atomic-design-principles.md +108 -108
  110. package/pro/squads/design/data/atomic-refactor-rules.md +582 -582
  111. package/pro/squads/design/data/base-component-specs.md +972 -972
  112. package/pro/squads/design/data/brad-frost-analysis-extract-implicit.yaml +270 -270
  113. package/pro/squads/design/data/brad-frost-analysis-find-0.8.yaml +176 -176
  114. package/pro/squads/design/data/brad-frost-analysis-qa-report.yaml +168 -168
  115. package/pro/squads/design/data/brad-frost-dna.yaml +713 -713
  116. package/pro/squads/design/data/capability-tools.yaml +124 -124
  117. package/pro/squads/design/data/component-adaptation-changelog.md +318 -318
  118. package/pro/squads/design/data/consolidation-algorithms.md +168 -168
  119. package/pro/squads/design/data/critical-eye-scoring-rules.yaml +240 -240
  120. package/pro/squads/design/data/design-token-best-practices.md +107 -107
  121. package/pro/squads/design/data/design-tokens-spec.yaml +418 -418
  122. package/pro/squads/design/data/ds-reference-architectures.md +93 -93
  123. package/pro/squads/design/data/f2-qa-report.md +168 -168
  124. package/pro/squads/design/data/f3-derived-components-changelog.md +100 -100
  125. package/pro/squads/design/data/f3-qa-report.md +208 -208
  126. package/pro/squads/design/data/figma-base-components-raw.md +101 -101
  127. package/pro/squads/design/data/figma-tokens-raw.md +1548 -1548
  128. package/pro/squads/design/data/fluent2-design-principles.md +114 -114
  129. package/pro/squads/design/data/high-retention-reading-guide.md +349 -349
  130. package/pro/squads/design/data/integration-patterns.md +207 -207
  131. package/pro/squads/design/data/internal-quality-chain.yaml +48 -48
  132. package/pro/squads/design/data/motion-tokens-guide.md +202 -202
  133. package/pro/squads/design/data/roi-calculation-guide.md +142 -142
  134. package/pro/squads/design/data/token-mapping-reference.md +213 -213
  135. package/pro/squads/design/data/w3c-dtcg-spec-reference.md +149 -149
  136. package/pro/squads/design/data/wcag-compliance-guide.md +267 -267
  137. package/pro/squads/design/docs/AUDIT_REPORT.md +97 -97
  138. package/pro/squads/design/docs/DS-CURATION-PIPELINE-PROPOSAL.md +577 -577
  139. package/pro/squads/design/docs/UPGRADE_PLAN.md +618 -618
  140. package/pro/squads/design/docs/brad-frost-research-validation.md +372 -372
  141. package/pro/squads/design/docs/dave-malouf-research-validation.md +391 -391
  142. package/pro/squads/design/docs/tool-discovery-report.md +87 -87
  143. package/pro/squads/design/docs/tool-integration-plan.md +44 -44
  144. package/pro/squads/design/protocols/ai-first-governance.md +56 -56
  145. package/pro/squads/design/protocols/governance-execution-boundary.md +59 -59
  146. package/pro/squads/design/protocols/handoff.md +60 -60
  147. package/pro/squads/design/rules/.claude-rules.md +88 -88
  148. package/pro/squads/design/scripts/design-system/curate_colors.cjs +447 -447
  149. package/pro/squads/design/scripts/design-system/curate_components.cjs +217 -217
  150. package/pro/squads/design/scripts/design-system/curate_radius.cjs +190 -190
  151. package/pro/squads/design/scripts/design-system/curate_shadows.cjs +208 -208
  152. package/pro/squads/design/scripts/design-system/curate_spacing.cjs +243 -243
  153. package/pro/squads/design/scripts/design-system/curate_typography.cjs +404 -404
  154. package/pro/squads/design/scripts/design-system/design-system-metadata.test.js +49 -49
  155. package/pro/squads/design/scripts/design-system/design_manifest_lib.cjs +142 -142
  156. package/pro/squads/design/scripts/design-system/fetch_page_images.cjs +195 -195
  157. package/pro/squads/design/scripts/design-system/generate_components_metadata.cjs +114 -114
  158. package/pro/squads/design/scripts/design-system/generate_curation_report.cjs +258 -258
  159. package/pro/squads/design/scripts/design-system/generate_tokens.cjs +342 -342
  160. package/pro/squads/design/scripts/design-system/sync_design_manifest.cjs +27 -27
  161. package/pro/squads/design/scripts/design-system/test_mcp_tools.cjs +232 -232
  162. package/pro/squads/design/scripts/design-system/validate_components_metadata.cjs +96 -96
  163. package/pro/squads/design/scripts/design-system/validate_curation.cjs +226 -226
  164. package/pro/squads/design/scripts/design-system/validate_design_manifest_drift.cjs +72 -72
  165. package/pro/squads/design/scripts/design-system/validate_mcp_skeleton.cjs +38 -38
  166. package/pro/squads/design/scripts/design-system/validate_registry.cjs +186 -186
  167. package/pro/squads/design/scripts/design-system/validate_task_checklist_bindings.cjs +78 -78
  168. package/pro/squads/design/scripts/dissect-artifact.cjs +806 -806
  169. package/pro/squads/design/scripts/validate-a11y-integration.cjs +40 -40
  170. package/pro/squads/design/scripts/validate-design-squad.py +411 -411
  171. package/pro/squads/design/squad.yaml +714 -714
  172. package/pro/squads/design/tasks/a11y-audit.md +340 -340
  173. package/pro/squads/design/tasks/aria-audit.md +525 -525
  174. package/pro/squads/design/tasks/atomic-refactor-execute.md +391 -391
  175. package/pro/squads/design/tasks/atomic-refactor-plan.md +262 -262
  176. package/pro/squads/design/tasks/audit-reading-experience.md +350 -350
  177. package/pro/squads/design/tasks/audit-tailwind-config.md +101 -101
  178. package/pro/squads/design/tasks/bootstrap-shadcn-library.md +96 -96
  179. package/pro/squads/design/tasks/bundle-audit.md +245 -245
  180. package/pro/squads/design/tasks/contrast-matrix.md +373 -373
  181. package/pro/squads/design/tasks/create-doc.md +135 -135
  182. package/pro/squads/design/tasks/dead-code-detection.md +329 -329
  183. package/pro/squads/design/tasks/design-compare.md +414 -414
  184. package/pro/squads/design/tasks/design-process-optimization.md +407 -407
  185. package/pro/squads/design/tasks/design-review-orchestration.md +99 -99
  186. package/pro/squads/design/tasks/design-team-scaling.md +407 -407
  187. package/pro/squads/design/tasks/design-tooling-audit.md +404 -404
  188. package/pro/squads/design/tasks/design-triage.md +89 -89
  189. package/pro/squads/design/tasks/designops-maturity-assessment.md +364 -364
  190. package/pro/squads/design/tasks/designops-metrics-setup.md +465 -465
  191. package/pro/squads/design/tasks/ds-agentic-audit.md +100 -100
  192. package/pro/squads/design/tasks/ds-agentic-setup.md +103 -103
  193. package/pro/squads/design/tasks/ds-audit-codebase.md +273 -273
  194. package/pro/squads/design/tasks/ds-build-component.md +349 -349
  195. package/pro/squads/design/tasks/ds-build-mcp-server.md +84 -84
  196. package/pro/squads/design/tasks/ds-calculate-roi.md +282 -282
  197. package/pro/squads/design/tasks/ds-compose-molecule.md +106 -106
  198. package/pro/squads/design/tasks/ds-consolidate-patterns.md +253 -253
  199. package/pro/squads/design/tasks/ds-context-contract.md +194 -194
  200. package/pro/squads/design/tasks/ds-critical-eye-compare.md +130 -130
  201. package/pro/squads/design/tasks/ds-critical-eye-decide.md +139 -139
  202. package/pro/squads/design/tasks/ds-critical-eye-inventory.md +111 -111
  203. package/pro/squads/design/tasks/ds-critical-eye-report.md +101 -101
  204. package/pro/squads/design/tasks/ds-critical-eye-score.md +109 -109
  205. package/pro/squads/design/tasks/ds-designops.md +99 -99
  206. package/pro/squads/design/tasks/ds-extend-pattern.md +91 -91
  207. package/pro/squads/design/tasks/ds-extract-tokens.md +312 -312
  208. package/pro/squads/design/tasks/ds-figma-pipeline.md +95 -95
  209. package/pro/squads/design/tasks/ds-fluent-audit.md +105 -105
  210. package/pro/squads/design/tasks/ds-fluent-build.md +110 -110
  211. package/pro/squads/design/tasks/ds-generate-ai-metadata.md +81 -81
  212. package/pro/squads/design/tasks/ds-generate-cursor-rules.md +74 -74
  213. package/pro/squads/design/tasks/ds-generate-documentation.md +101 -101
  214. package/pro/squads/design/tasks/ds-generate-migration-strategy.md +331 -331
  215. package/pro/squads/design/tasks/ds-generate-shock-report.md +323 -323
  216. package/pro/squads/design/tasks/ds-govern-a11y-compliance.md +93 -93
  217. package/pro/squads/design/tasks/ds-governance.md +187 -187
  218. package/pro/squads/design/tasks/ds-health-metrics.md +278 -278
  219. package/pro/squads/design/tasks/ds-integrate-squad.md +130 -130
  220. package/pro/squads/design/tasks/ds-integrate-workspace.md +100 -100
  221. package/pro/squads/design/tasks/ds-legacy-modernization.md +302 -302
  222. package/pro/squads/design/tasks/ds-mcp-status.md +65 -65
  223. package/pro/squads/design/tasks/ds-motion-audit.md +118 -118
  224. package/pro/squads/design/tasks/ds-multi-framework.md +96 -96
  225. package/pro/squads/design/tasks/ds-parallelization-gate.md +246 -246
  226. package/pro/squads/design/tasks/ds-query.md +90 -90
  227. package/pro/squads/design/tasks/ds-rebuild-artifact.md +369 -369
  228. package/pro/squads/design/tasks/ds-reverse-engineer.md +194 -194
  229. package/pro/squads/design/tasks/ds-scan-artifact.md +131 -131
  230. package/pro/squads/design/tasks/ds-setup-design-system.md +297 -297
  231. package/pro/squads/design/tasks/ds-sync-registry.md +287 -287
  232. package/pro/squads/design/tasks/ds-theme-multi-brand.md +90 -90
  233. package/pro/squads/design/tasks/ds-token-modes.md +108 -108
  234. package/pro/squads/design/tasks/ds-token-w3c-extract.md +105 -105
  235. package/pro/squads/design/tasks/ds-validate-ai-readiness.md +69 -69
  236. package/pro/squads/design/tasks/ds-visual-regression.md +130 -130
  237. package/pro/squads/design/tasks/execute-checklist.md +141 -141
  238. package/pro/squads/design/tasks/export-design-tokens-dtcg.md +97 -97
  239. package/pro/squads/design/tasks/f1-apply-foundations.md +154 -154
  240. package/pro/squads/design/tasks/f1-ingest-figma-tokens.md +130 -130
  241. package/pro/squads/design/tasks/f1-map-tokens-to-shadcn.md +145 -145
  242. package/pro/squads/design/tasks/f1-qa-foundations.md +95 -95
  243. package/pro/squads/design/tasks/f2-adapt-shadcn-components.md +155 -155
  244. package/pro/squads/design/tasks/f2-ingest-base-components.md +148 -148
  245. package/pro/squads/design/tasks/f2-qa-base-components.md +98 -98
  246. package/pro/squads/design/tasks/f3-derive-components.md +145 -145
  247. package/pro/squads/design/tasks/f3-qa-derived-components.md +101 -101
  248. package/pro/squads/design/tasks/focus-order-audit.md +450 -450
  249. package/pro/squads/design/tasks/sb-brownfield-migrate.md +367 -367
  250. package/pro/squads/design/tasks/sb-brownfield-scan.md +318 -318
  251. package/pro/squads/design/tasks/sb-configure.md +230 -230
  252. package/pro/squads/design/tasks/sb-expand-shadcn.md +213 -213
  253. package/pro/squads/design/tasks/sb-generate-all-stories.md +288 -288
  254. package/pro/squads/design/tasks/sb-install.md +152 -152
  255. package/pro/squads/design/tasks/sb-sync-workspace.md +239 -239
  256. package/pro/squads/design/tasks/sb-verify.md +203 -203
  257. package/pro/squads/design/tasks/tailwind-upgrade.md +117 -117
  258. package/pro/squads/design/tasks/token-usage-analytics.md +262 -262
  259. package/pro/squads/design/tasks/ux-rewrite-sixth-grade.md +82 -82
  260. package/pro/squads/design/tasks/validate-design-fidelity.md +222 -222
  261. package/pro/squads/design/templates/agent-template.yaml +46 -46
  262. package/pro/squads/design/templates/clone-mind-template.md +352 -352
  263. package/pro/squads/design/templates/component-prompt-injection-tmpl.md +236 -236
  264. package/pro/squads/design/templates/component-visual-spec-tmpl.md +378 -378
  265. package/pro/squads/design/templates/critical-eye-cycle-report-tmpl.md +165 -165
  266. package/pro/squads/design/templates/design-fidelity-report-tmpl.md +155 -155
  267. package/pro/squads/design/templates/ds-ai-component-metadata-schema-tmpl.json +138 -138
  268. package/pro/squads/design/templates/ds-artifact-analysis.md +70 -70
  269. package/pro/squads/design/templates/ds-health-report-tmpl.md +236 -236
  270. package/pro/squads/design/templates/ds-migration-strategy-tmpl.md +524 -524
  271. package/pro/squads/design/templates/ds-state-persistence-tmpl.yaml +194 -194
  272. package/pro/squads/design/templates/ds-tokens-schema-tmpl.yaml +139 -139
  273. package/pro/squads/design/templates/migration-strategy-tmpl.md +524 -524
  274. package/pro/squads/design/templates/reading-design-tokens.css +26 -26
  275. package/pro/squads/design/templates/state-persistence-tmpl.yaml +219 -219
  276. package/pro/squads/design/templates/tokens-schema-tmpl.yaml +305 -305
  277. package/pro/squads/design/workflows/agentic-readiness.yaml +83 -83
  278. package/pro/squads/design/workflows/audit-only.yaml +198 -198
  279. package/pro/squads/design/workflows/brownfield-complete.yaml +257 -257
  280. package/pro/squads/design/workflows/critical-eye.yaml +184 -184
  281. package/pro/squads/design/workflows/dtcg-tokens-governance.yaml +64 -64
  282. package/pro/squads/design/workflows/foundations-pipeline.yaml +192 -192
  283. package/pro/squads/design/workflows/greenfield-new.yaml +192 -192
  284. package/pro/squads/design/workflows/motion-quality.yaml +65 -65
  285. package/pro/squads/design/workflows/self-healing-workflow.yaml +237 -237
  286. package/pro/squads/design/workflows/storybook-brownfield-migration.yaml +400 -400
  287. package/pro/squads/design/workflows/storybook-full-setup.yaml +280 -280
  288. package/pro/squads/mmos-squad/minds/alex_hormozi/artifacts/ARQUITETURA_COGNITIVA_DE_ALEX_HORMOZI_EXTRA/303/207/303/203O_COMPLETA.md +215 -0
  289. package/pro/squads/mmos-squad/minds/alex_hormozi/artifacts/A_Rotina_de_Alta_Performance_de_Alex_Hormozi_Arquitetura,_Motiva/303/247/303/265es_e_Replica/303/247/303/243o.md +309 -0
  290. package/pro/squads/mmos-squad/minds/alex_hormozi/artifacts/O_sistema_completo_de_cria/303/247/303/243o_de_conte/303/272do_de_Alex_Hormozi.md +416 -0
  291. package/pro/squads/mmos-squad/minds/alex_hormozi/artifacts/Processo_Cria/303/247/303/243o_Conte/303/272do_Hormozi.md +0 -0
  292. package/pro/squads/mmos-squad/minds/brad_frost/.backup/2026-01-13/artifacts/DECIS/303/225ES_ESTRAT/303/211GICAS_DE_DESIGN_SYSTEMS_(2022_2025).md +1038 -0
  293. package/pro/squads/mmos-squad/minds/brad_frost/.backup/2026-01-13/artifacts/FRAMEWORK_COMPLETO_DE_IMPLEMENTA/303/207/303/203O_ATOMIC_DESIGN.md +797 -0
  294. package/pro/squads/mmos-squad/minds/brad_frost/.backup/2026-01-13/artifacts/O_Cemit/303/251rio_de_Design_Systems.md +447 -0
  295. package/pro/squads/mmos-squad/minds/brad_frost/.backup/2026-01-13/artifacts/PRINC/303/215PIOS_DE_RACIOC/303/215NIO.md +190 -0
  296. package/pro/squads/mmos-squad/minds/brad_frost/artifacts/DECIS/303/225ES_ESTRAT/303/211GICAS_DE_DESIGN_SYSTEMS_(2022_2025).md +1038 -0
  297. package/pro/squads/mmos-squad/minds/brad_frost/artifacts/FRAMEWORK_COMPLETO_DE_IMPLEMENTA/303/207/303/203O_ATOMIC_DESIGN.md +797 -0
  298. package/pro/squads/mmos-squad/minds/brad_frost/artifacts/O_Cemit/303/251rio_de_Design_Systems.md +447 -0
  299. package/pro/squads/mmos-squad/minds/brad_frost/artifacts/PRINC/303/215PIOS_DE_RACIOC/303/215NIO.md +190 -0
  300. package/pro/squads/mmos-squad/minds/elon_musk/artifacts/AN/303/201LISE_PSICOM/303/211TRICA_PROFUNDA_ELON_MUSK.md +291 -0
  301. package/pro/squads/mmos-squad/minds/elon_musk/artifacts/ASSINATURA_LINGU/303/215STICA_ELON_MUSK.md +485 -0
  302. package/pro/squads/mmos-squad/minds/elon_musk/artifacts/A_Arquitetura_Mental_de_Elon_Musk_Uma_An/303/241lise_Sistem/303/241tica_dos_Frameworks_de_Pensamento.md +907 -0
  303. package/pro/squads/mmos-squad/minds/elon_musk/artifacts/Dossi/303/252_Estrat/303/251gico_A_Arquitetura_Psicol/303/263gica_de_Elon_Musk.md +252 -0
  304. package/pro/squads/mmos-squad/minds/elon_musk/artifacts/Os_Padr/303/265es_de_Leitura_de_Elon_Musk_e_Sua_Influ/303/252ncia_Sistem/303/241tica.md +287 -0
  305. package/pro/squads/mmos-squad/minds/elon_musk/artifacts/Uma_an/303/241lise_psicol/303/263gica_abrangente.md +187 -0
  306. package/pro/squads/mmos-squad/minds/eugene_schwartz/artifacts/AN/303/201LISE_PSICOM/303/211TRICA_PROFUNDA_EUGENE_M._SCHWARTZ.md +790 -0
  307. package/pro/squads/mmos-squad/minds/eugene_schwartz/artifacts/An/303/241lise_Completa_Eugene_Schwartz_Arquitetura_Cognitiva_DEEP.md +210 -0
  308. package/pro/squads/mmos-squad/minds/pedro_valerio/sources/artifacts_v1.6/5H_EXTRA/303/207/303/203O_COGNITIVA_COMPLETA_PEDRO_VAL/303/211RIO_LOPEZ.md +226 -0
  309. package/pro/squads/mmos-squad/minds/pedro_valerio/sources/artifacts_v1.6/AN/303/201LISE_COMPARATIVA_REVISADA_PEDRO_VAL/303/211RIO_LOPEZ.md +246 -0
  310. package/pro/squads/mmos-squad/minds/pedro_valerio/sources/artifacts_v1.6/AN/303/201LISE_LINGU/303/215STICA_CARIOCA_PEDRO_VAL/303/211RIO_LOPEZ.md +274 -0
  311. package/pro/squads/mmos-squad/minds/pedro_valerio/sources/artifacts_v1.6/AN/303/201LISE_PSICOM/303/211TRICA_DEFINITIVA_PEDRO_VAL/303/211RIO_LOPEZ.md +821 -0
  312. package/pro/squads/mmos-squad/minds/pedro_valerio/sources/artifacts_v1.6/AN/303/201LISE_PSICOM/303/211TRICA_PROFUNDA_PEDRO_VAL/303/211RIO.md +1844 -0
  313. package/pro/squads/mmos-squad/minds/pedro_valerio/sources/artifacts_v1.6/C/303/201LCULO_DE_RARIDADE_ESTAT/303/215STICA_PEDRO_VAL/303/211RIO_LOPEZ.md +154 -0
  314. package/pro/squads/mmos-squad/minds/pedro_valerio/sources/artifacts_v1.6/EXTRA/303/207/303/203O_PEDRO_VAL/303/211RIO.md +237 -0
  315. package/pro/squads/mmos-squad/minds/pedro_valerio/sources/artifacts_v1.6/MAPEAMENTO_LINGU/303/215STICO_PROFUNDO.md +161 -0
  316. package/pro/squads/mmos-squad/minds/pedro_valerio/sources/artifacts_v1.6/META_AXIOMAS_DE_PEDRO_VAL/303/211RIO.md +256 -0
  317. package/pro/squads/mmos-squad/minds/pedro_valerio/sources/artifacts_v1.6/SISTEMA_IMUNOL/303/223GICO_COGNITIVO_PEDRO_VAL/303/211RIO_LOPEZ.md +586 -0
  318. package/pro/squads/mmos-squad/minds/pedro_valerio/sources/artifacts_v1.6/SISTEMA_IMUNOL/303/223GICO_COGNITIVO_V2_/342/200/224_CLONE_IA.md +452 -0
  319. package/pro/squads/mmos-squad/minds/pedro_valerio/sources/artifacts_v1.6/TABELA_COMPARATIVA_AN/303/201LISE_COMPLETA_DOS_CLONES_IA.md +102 -0
  320. package/pro/squads/mmos-squad/minds/pedro_valerio/sources/artifacts_v1.6/WHATSAPP_PADR/303/225ES_LINGU/303/215STICOS_PEDRO_VAL/303/211RIO_LOPEZ.md +286 -0
  321. package/pro/squads/mmos-squad/minds/pedro_valerio/sources/artifacts_v1.6/heur/303/255sticas_de_decis/303/243o_e_algoritmos_mentais_/303/272nicos.md +268 -0
  322. package/pro/squads/mmos-squad/minds/ray_kurzweil/sources/books/PROTOCOLO_COMPLETO_DE_INTERROGA/303/207/303/203O_-_NAVAL_RAVIKANT.md +3624 -0
  323. package/pro/squads/mmos-squad/minds/steve_jobs/artifacts/FRAMEWORK_COMPLETO_DE_IMPLEMENTA/303/207/303/203O_JOBS.md +488 -0
  324. package/pro/squads/mmos-squad/minds/steve_jobs/artifacts/Framework_Cabe/303/247a_Steve.md +257 -0
  325. package/pro/squads/mmos-squad/minds/steve_jobs/artifacts/Relat/303/263rio_Abrangente_sobre_Steve_Jobs_para_Cria/303/247/303/243o_de_Clone_de_IA.md +370 -0
  326. package/pro/squads/mmos-squad/minds/steve_jobs/artifacts/Steve_Jobs_An/303/241lise_Psicol/303/263gica_Profunda_e_Valida/303/247/303/243o_Comportamental.md +65 -0
  327. package/pro/squads/squad-creator-pro/HEADLINE.md +3 -3
  328. package/pro/squads/squad-creator-pro/agents/oalanicolas.md +438 -438
  329. package/pro/squads/squad-creator-pro/agents/squad-chief.md +1651 -1651
  330. package/pro/squads/squad-creator-pro/agents/thiago_finch.md +976 -976
  331. package/pro/squads/squad-creator-pro/assessments/axioma-assessment-wf-create-squad.yaml +325 -325
  332. package/pro/squads/squad-creator-pro/checklists/create-agent-checklist.md +184 -184
  333. package/pro/squads/squad-creator-pro/checklists/create-squad-checklist.md +219 -219
  334. package/pro/squads/squad-creator-pro/checklists/create-workflow-checklist.md +224 -224
  335. package/pro/squads/squad-creator-pro/checklists/mental-model-integration-checklist.md +95 -95
  336. package/pro/squads/squad-creator-pro/checklists/squad-overview-checklist.md +393 -393
  337. package/pro/squads/squad-creator-pro/config/model-routing.yaml +693 -693
  338. package/pro/squads/squad-creator-pro/config/scoring-rubric.yaml +199 -199
  339. package/pro/squads/squad-creator-pro/config.yaml +35 -35
  340. package/pro/squads/squad-creator-pro/data/internal-infrastructure-library.yaml +99 -99
  341. package/pro/squads/squad-creator-pro/data/mental-model-task-matrix.yaml +692 -692
  342. package/pro/squads/squad-creator-pro/docs/ADR-001-model-tier-qualification.md +344 -344
  343. package/pro/squads/squad-creator-pro/docs/AGENT-COLLABORATION.md +609 -609
  344. package/pro/squads/squad-creator-pro/docs/MIGRATION-PLAN-AGENT-CONFORMITY.md +861 -861
  345. package/pro/squads/squad-creator-pro/docs/MODEL-TIER-QUALIFICATION.md +337 -337
  346. package/pro/squads/squad-creator-pro/docs/optimize-v4-proposal.md +354 -354
  347. package/pro/squads/squad-creator-pro/docs/task-optimization-framework.md +229 -229
  348. package/pro/squads/squad-creator-pro/minds/oalanicolas/heuristics/AN_KE_010.md +240 -240
  349. package/pro/squads/squad-creator-pro/protocols/ai-first-governance.md +63 -63
  350. package/pro/squads/squad-creator-pro/scripts/assess-sources.sh +443 -443
  351. package/pro/squads/squad-creator-pro/scripts/clone-review.sh +394 -394
  352. package/pro/squads/squad-creator-pro/scripts/create-agent-preflight.py +243 -243
  353. package/pro/squads/squad-creator-pro/scripts/cross-provider/compare-results.js +281 -281
  354. package/pro/squads/squad-creator-pro/scripts/cross-provider/cross-provider-runner.js +462 -462
  355. package/pro/squads/squad-creator-pro/scripts/fidelity-score.sh +519 -519
  356. package/pro/squads/squad-creator-pro/scripts/generate-squad-guide.js +558 -558
  357. package/pro/squads/squad-creator-pro/scripts/lib/config-loader.js +151 -151
  358. package/pro/squads/squad-creator-pro/scripts/model-tier-validator.cjs +369 -369
  359. package/pro/squads/squad-creator-pro/scripts/model-usage-logger.cjs +245 -245
  360. package/pro/squads/squad-creator-pro/scripts/modernization-score.sh +308 -308
  361. package/pro/squads/squad-creator-pro/scripts/scaffold-squad.cjs +281 -281
  362. package/pro/squads/squad-creator-pro/scripts/security_scanner.py +378 -378
  363. package/pro/squads/squad-creator-pro/scripts/squad-context-loader.cjs +205 -205
  364. package/pro/squads/squad-creator-pro/scripts/squad-state-manager.cjs +451 -451
  365. package/pro/squads/squad-creator-pro/scripts/squad-workflow-runner.cjs +471 -471
  366. package/pro/squads/squad-creator-pro/scripts/squad_utils.py +261 -261
  367. package/pro/squads/squad-creator-pro/scripts/tests/run_bash_tests.sh +29 -29
  368. package/pro/squads/squad-creator-pro/scripts/tests/test_assess_sources.sh +216 -216
  369. package/pro/squads/squad-creator-pro/scripts/tests/test_clone_review.sh +239 -239
  370. package/pro/squads/squad-creator-pro/scripts/tests/test_coherence_validator.py +212 -212
  371. package/pro/squads/squad-creator-pro/scripts/tests/test_fidelity_score.sh +298 -298
  372. package/pro/squads/squad-creator-pro/scripts/tests/test_modernization_score.sh +211 -211
  373. package/pro/squads/squad-creator-pro/scripts/tests/test_security_scanner.py +354 -354
  374. package/pro/squads/squad-creator-pro/scripts/tests/test_validate_clone.sh +252 -252
  375. package/pro/squads/squad-creator-pro/squad.yaml +36 -36
  376. package/pro/squads/squad-creator-pro/tasks/an-compare-outputs.md +354 -354
  377. package/pro/squads/squad-creator-pro/tasks/create-squad.md +933 -933
  378. package/pro/squads/squad-creator-pro/tasks/detect-squad-context.md +81 -81
  379. package/pro/squads/squad-creator-pro/tasks/lookup-model.md +78 -78
  380. package/pro/squads/squad-creator-pro/tasks/next-squad.md +487 -487
  381. package/pro/squads/squad-creator-pro/tasks/optimize-workflow.md +851 -851
  382. package/pro/squads/squad-creator-pro/tasks/parallel-discovery.md +58 -58
  383. package/pro/squads/squad-creator-pro/tasks/pv-axioma-assessment-wf-clone-mind.yaml +256 -256
  384. package/pro/squads/squad-creator-pro/tasks/qualify-task.md +265 -265
  385. package/pro/squads/squad-creator-pro/tasks/reexecute-squad-phase.md +64 -64
  386. package/pro/squads/squad-creator-pro/tasks/smoke-test-model-routing.md +167 -167
  387. package/pro/squads/squad-creator-pro/tasks/squad-overview.md +683 -683
  388. package/pro/squads/squad-creator-pro/tasks/validate-final-artifacts.md +80 -80
  389. package/pro/squads/squad-creator-pro/templates/orchestrator-tmpl.md +74 -74
  390. package/pro/squads/squad-creator-pro/test-cases/BATCH-PROGRESS.md +268 -268
  391. package/pro/squads/squad-creator-pro/test-cases/QUALIFICATION-DASHBOARD.yaml +13 -13
  392. package/pro/squads/squad-creator-pro/test-cases/_template.yaml +147 -147
  393. package/pro/squads/squad-creator-pro/test-cases/an-assess-sources/ASSESSMENT-SUMMARY.md +275 -275
  394. package/pro/squads/squad-creator-pro/test-cases/an-assess-sources/ASSESSMENT_SUMMARY.md +140 -140
  395. package/pro/squads/squad-creator-pro/test-cases/an-assess-sources/CHECKPOINT_MATRIX.md +202 -202
  396. package/pro/squads/squad-creator-pro/test-cases/an-assess-sources/EXECUTION-REPORT.md +413 -413
  397. package/pro/squads/squad-creator-pro/test-cases/an-assess-sources/EXECUTION_NOTES.md +358 -358
  398. package/pro/squads/squad-creator-pro/test-cases/an-assess-sources/README-v2.2.2.md +299 -299
  399. package/pro/squads/squad-creator-pro/test-cases/an-assess-sources/README.md +320 -320
  400. package/pro/squads/squad-creator-pro/test-cases/an-assess-sources/TEST-REPORT-v2.1.md +351 -351
  401. package/pro/squads/squad-creator-pro/test-cases/an-assess-sources/VERIFICATION-CHECKLIST.txt +247 -247
  402. package/pro/squads/squad-creator-pro/test-cases/an-assess-sources/formal-qualification-report.yaml +389 -389
  403. package/pro/squads/squad-creator-pro/test-cases/an-assess-sources/haiku-output.yaml +366 -366
  404. package/pro/squads/squad-creator-pro/test-cases/an-assess-sources/haiku-v2.1-output.yaml +452 -452
  405. package/pro/squads/squad-creator-pro/test-cases/an-assess-sources/haiku-v2.2.1-output.yaml +281 -281
  406. package/pro/squads/squad-creator-pro/test-cases/an-assess-sources/haiku-v2.2.2-output.yaml +332 -332
  407. package/pro/squads/squad-creator-pro/test-cases/an-assess-sources/opus-baseline.yaml +517 -517
  408. package/pro/squads/squad-creator-pro/test-cases/an-assess-sources/qualification-report.yaml +213 -213
  409. package/pro/squads/squad-creator-pro/test-cases/an-assess-sources/test-case.yaml +69 -69
  410. package/pro/squads/squad-creator-pro/test-cases/an-clone-review/haiku-round-1.yaml +213 -213
  411. package/pro/squads/squad-creator-pro/test-cases/an-clone-review/opus-baseline.yaml +566 -566
  412. package/pro/squads/squad-creator-pro/test-cases/an-clone-review/qualification-report.yaml +82 -82
  413. package/pro/squads/squad-creator-pro/test-cases/an-design-clone/test-case.yaml +102 -102
  414. package/pro/squads/squad-creator-pro/test-cases/an-extract-dna/test-case.yaml +105 -105
  415. package/pro/squads/squad-creator-pro/test-cases/an-fidelity-score/haiku-round-1.yaml +262 -262
  416. package/pro/squads/squad-creator-pro/test-cases/an-fidelity-score/opus-baseline.yaml +266 -266
  417. package/pro/squads/squad-creator-pro/test-cases/an-fidelity-score/qualification-report.yaml +94 -94
  418. package/pro/squads/squad-creator-pro/test-cases/an-validate-clone/haiku-round-1.yaml +282 -282
  419. package/pro/squads/squad-creator-pro/test-cases/an-validate-clone/opus-baseline.yaml +470 -470
  420. package/pro/squads/squad-creator-pro/test-cases/an-validate-clone/qualification-report.yaml +106 -106
  421. package/pro/squads/squad-creator-pro/test-cases/collect-sources/test-case.yaml +105 -105
  422. package/pro/squads/squad-creator-pro/test-cases/create-task/test-case.yaml +104 -104
  423. package/pro/squads/squad-creator-pro/test-cases/cross-provider/DASHBOARD.yaml +11 -11
  424. package/pro/squads/squad-creator-pro/test-cases/pv-audit/test-case.yaml +106 -106
  425. package/pro/squads/squad-creator-pro/test-cases/pv-axioma-assessment/haiku-output.yaml +209 -209
  426. package/pro/squads/squad-creator-pro/test-cases/pv-axioma-assessment/opus-baseline.yaml +96 -96
  427. package/pro/squads/squad-creator-pro/test-cases/pv-axioma-assessment/sonnet-output.yaml +30 -30
  428. package/pro/squads/squad-creator-pro/test-cases/pv-axioma-assessment/test-case.yaml +129 -129
  429. package/pro/squads/squad-creator-pro/test-cases/pv-modernization-score/comparison-round-1.yaml +242 -242
  430. package/pro/squads/squad-creator-pro/test-cases/pv-modernization-score/haiku-round-1.yaml +393 -393
  431. package/pro/squads/squad-creator-pro/test-cases/pv-modernization-score/opus-baseline.yaml +488 -488
  432. package/pro/squads/squad-creator-pro/test-cases/pv-modernization-score/qualification-report.yaml +74 -74
  433. package/pro/squads/squad-creator-pro/test-cases/qa-after-creation/haiku-round-1.yaml +292 -292
  434. package/pro/squads/squad-creator-pro/test-cases/qa-after-creation/opus-baseline.yaml +603 -603
  435. package/pro/squads/squad-creator-pro/test-cases/qa-after-creation/qualification-report.yaml +97 -97
  436. package/pro/squads/squad-creator-pro/test-cases/smoke-test-model-routing/test-case.yaml +100 -100
  437. package/pro/squads/squad-creator-pro/test-cases/upgrade-squad/test-case.yaml +106 -106
  438. package/pro/squads/squad-creator-pro/test-cases/validate-squad/comparison-round-1.yaml +223 -223
  439. package/pro/squads/squad-creator-pro/test-cases/validate-squad/haiku-round-1-MINE.yaml +36 -36
  440. package/pro/squads/squad-creator-pro/test-cases/validate-squad/haiku-round-1.yaml +193 -193
  441. package/pro/squads/squad-creator-pro/test-cases/validate-squad/haiku-round-2.yaml +303 -303
  442. package/pro/squads/squad-creator-pro/test-cases/validate-squad/haiku-round-3-v4-task.yaml +149 -149
  443. package/pro/squads/squad-creator-pro/test-cases/validate-squad/opus-baseline.yaml +529 -529
  444. package/pro/squads/squad-creator-pro/test-cases/validate-squad/opus-round-3-v4-task.yaml +132 -132
  445. package/pro/squads/squad-creator-pro/test-cases/validate-squad/qualification-report.yaml +104 -104
  446. package/pro/squads/squad-creator-pro/test-cases/wf-clone-mind/haiku-output-v2-calibrated.yaml +200 -200
  447. package/pro/squads/squad-creator-pro/test-cases/wf-clone-mind/haiku-output.yaml +183 -183
  448. package/pro/squads/squad-creator-pro/test-cases/wf-clone-mind/opus-baseline.yaml +112 -112
  449. package/pro/squads/squad-creator-pro/workflows/create-squad.yaml +348 -348
  450. package/pro/squads/squad-creator-pro/workflows/modules/module-discovery.yaml +16 -16
  451. package/pro/squads/squad-creator-pro/workflows/modules/module-integration.yaml +16 -16
  452. package/pro/squads/squad-creator-pro/workflows/modules/module-quality-gates.yaml +15 -15
  453. package/pro/squads/squad-creator-pro/workflows/wf-brownfield-upgrade-squad.yaml +46 -46
  454. package/pro/squads/squad-creator-pro/workflows/wf-context-aware-create-squad.yaml +47 -47
  455. package/pro/squads/squad-creator-pro/workflows/wf-create-squad.yaml +1619 -1619
  456. package/pro/squads/squad-creator-pro/workflows/wf-cross-provider-qualification.yaml +711 -711
  457. package/pro/squads/squad-creator-pro/workflows/wf-model-tier-qualification.yaml +800 -800
  458. package/pro/squads/squad-creator-pro/workflows/wf-optimize-squad.yaml +684 -684
  459. package/scripts/check-markdown-links.py +352 -352
  460. package/scripts/dashboard-parallel-dev.sh +0 -0
  461. package/scripts/dashboard-parallel-phase3.sh +0 -0
  462. package/scripts/dashboard-parallel-phase4.sh +0 -0
  463. package/scripts/install-monitor-hooks.sh +0 -0
  464. package/.claude/hooks/code-intel-pretool.cjs +0 -107
  465. package/docs/guides/aios-workflows/README.md +0 -247
  466. package/docs/guides/aios-workflows/bob-orchestrator-workflow.md +0 -1536
  467. package/scripts/glue/README.md +0 -355
  468. package/scripts/glue/compose-agent-prompt.cjs +0 -362
@@ -1,577 +1,577 @@
1
- # DS Curation Pipeline — Proposta Completa
2
-
3
- ## Sistema Inteligente de Selecao e Padronizacao de Design Systems
4
-
5
- **Autor:** Claude (Sintetizado de pesquisas Alan Nicolas, Brad Frost DNA, Workshop 2026-02-16, W3C DTCG, enterprise DS references)
6
- **Data:** 2026-02-17
7
- **Status:** PROPOSTA — Aguardando aprovacao
8
-
9
- ---
10
-
11
- ## 1. PROBLEMA
12
-
13
- O AIOS precisa transformar dados BRUTOS de Figma (31K+ nodes, 146+ cores, 76 text styles, 52 shadows, 164 componentes — e isso de UMA UNICA pagina de 78) em um Design System padronizado, curado, com nivel de qualidade enterprise.
14
-
15
- **Hoje:** Toda curadoria e manual. O humano (ou o AI sem restricoes) olha os dados brutos e decide o que manter. Nao ha scoring, nao ha thresholds, nao ha rejeicao automatica.
16
-
17
- **Objetivo:** Pipeline executavel que recebe dados brutos massivos e produz tokens/componentes curados com decisoes rastreáveis e justificadas.
18
-
19
- ---
20
-
21
- ## 2. FONTES DE AUTORIDADE (Ranking de Confianca)
22
-
23
- As decisoes de padronizacao sao fundamentadas nestas fontes, nesta ordem de prioridade:
24
-
25
- | Tier | Fonte | Tipo | Arquivo Local |
26
- |------|-------|------|---------------|
27
- | S | W3C DTCG Spec v1.0 (Oct 2025) | Standard | `squads/design/data/w3c-dtcg-spec-reference.md` |
28
- | S | WCAG 2.2 / APCA | Standard | `squads/design/data/wcag-compliance-guide.md` |
29
- | A | Brad Frost — Atomic Design + DS+AI | Authority | `squads/design/data/brad-frost-dna.yaml` (714 lines) |
30
- | A | Workshop Alan/Ruan/Pedro 2026-02-16 | Internal | `docs/research/2026-02-16-ux-writing-governance-ds-ai/meeting-insights-2026-02-16.md` |
31
- | A | Tailwind v4 + Shadcn v4 Conventions | Technology | `docs/research/2026-02-16-tailwind-shadcn-design-system-componentization/02-research-report.md` |
32
- | B | Material Design 3 (Google) | Enterprise | `squads/design/data/ds-reference-architectures.md` |
33
- | B | Fluent 2 (Microsoft) | Enterprise | `squads/design/data/fluent2-design-principles.md` |
34
- | B | Carbon (IBM) / Spectrum (Adobe) | Enterprise | `squads/design/data/ds-reference-architectures.md` |
35
- | B | Nathan Curtis / EightShapes | Authority | Web research (token naming patterns) |
36
- | C | Vignelli Design Philosophy | Aesthetic | `docs/research/2026-02-13-vignelli-design-philosophy/02-report.md` |
37
-
38
- **Regra:** Decisoes de padronizacao DEVEM citar pelo menos 1 fonte Tier S ou A. Fontes B/C sao complementares.
39
-
40
- ---
41
-
42
- ## 3. ARQUITETURA DO PIPELINE
43
-
44
- ```
45
- ┌─────────────────────────────────────────┐
46
- │ ENTRADA (Raw Data) │
47
- │ Figma API → figma-tokens-raw.json │
48
- │ (N paginas, M nodes, cores, typo, etc) │
49
- └────────────────┬────────────────────────┘
50
-
51
- ┌────────────────────┼────────────────────┐
52
- ▼ ▼ ▼
53
- ┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐
54
- │ FASE 1: INGEST │ │ FASE 1: INGEST │ │ FASE 1: INGEST │
55
- │ Color Extractor│ │ Typo Extractor │ │ Component │
56
- │ (hex→OKLCH) │ │ (fonts, sizes) │ │ Extractor │
57
- └────────┬────────┘ └────────┬────────┘ └────────┬────────┘
58
- │ │ │
59
- ▼ ▼ ▼
60
- ┌─────────────────────────────────────────────────────────┐
61
- │ FASE 2: CONSOLIDATION │
62
- │ ┌──────────────┐ ┌──────────────┐ ┌──────────────────┐│
63
- │ │ OKLCH Cluster│ │ GCD Spacing │ │ Semantic Button ││
64
- │ │ @10% deltaE │ │ Scale Builder│ │ Keyword Analysis ││
65
- │ │ Target: -85% │ │ Target: -60% │ │ Target: -90% ││
66
- │ └──────────────┘ └──────────────┘ └──────────────────┘│
67
- └────────────────────────┬────────────────────────────────┘
68
-
69
-
70
- ┌─────────────────────────────────────────────────────────┐
71
- │ FASE 3: TOKENIZATION │
72
- │ Primitives (OKLCH raw) → Semantic (purpose) → Component│
73
- │ Naming: namespace-category-variant-scale │
74
- │ Format: W3C DTCG JSON + CSS Custom Properties │
75
- └────────────────────────┬────────────────────────────────┘
76
-
77
-
78
- ┌─────────────────────────────────────────────────────────┐
79
- │ FASE 4: QUALITY GATES │
80
- │ ┌──────────┐ ┌───────────┐ ┌───────────┐ ┌──────────┐│
81
- │ │ Contrast │ │ Coverage │ │ Reduction │ │ Naming ││
82
- │ │ WCAG AA │ │ >= 95% │ │ >= 80% │ │ Semantic ││
83
- │ │ >= 4.5:1 │ │ mapping │ │ overall │ │ valid ││
84
- │ └──────────┘ └───────────┘ └───────────┘ └──────────┘│
85
- └────────────────────────┬────────────────────────────────┘
86
-
87
- PASS ───┤──── FAIL → Loop de correcao
88
-
89
-
90
- ┌─────────────────────────────────────────────────────────┐
91
- │ FASE 5: OUTPUT │
92
- │ workspace/ui/{brand}/ │
93
- │ ├── brand.json │
94
- │ ├── tokens/primitives/ (colors, spacing, typography) │
95
- │ ├── tokens/semantic/ (colors, surfaces) │
96
- │ ├── tokens/component/ (button, card, ...) │
97
- │ ├── themes/ (light.css, dark.css) │
98
- │ └── tailwind.theme.css │
99
- │ │
100
- │ + metadata/tokens/{brand}-index.json (MCP queryable) │
101
- │ + curation-report.json (decisoes rastreáveis) │
102
- └─────────────────────────────────────────────────────────┘
103
- ```
104
-
105
- ---
106
-
107
- ## 4. ALGORITMOS DE SELECAO POR CATEGORIA
108
-
109
- ### 4.1 CORES — OKLCH Perceptual Clustering
110
-
111
- **Upgrade do algoritmo atual:** HSL clustering → OKLCH deltaE clustering.
112
-
113
- **Por que OKLCH e nao HSL:**
114
- - HSL nao e perceptualmente uniforme (fonte: W3C DTCG, Tailwind v4, Shadcn v4)
115
- - OKLCH garante que `deltaE = 5%` realmente PARECE 5% diferente pro olho humano
116
- - Material Design 3 ja usa paletas tonais OKLCH-like (0-100 scale)
117
-
118
- **Algoritmo:**
119
- ```
120
- Input: Array de cores hex/rgb do Figma raw
121
-
122
- 1. Converter tudo pra OKLCH (L, C, H)
123
-
124
- 2. Clustering por deltaE com threshold = 10% (mais permissivo que HSL 5%)
125
- - deltaE(cor1, cor2) = sqrt((L1-L2)^2 + (C1-C2)^2 + (H1-H2)^2)
126
- - Se deltaE < 0.10 → mesmo cluster
127
-
128
- 3. Para cada cluster:
129
- - Selecionar cor com MAIOR frequencia de uso como primária
130
- - Se empate → selecionar cor com MELHOR contraste contra bg default
131
-
132
- 4. Gerar escala tonal automatica (50-950) para cores accent:
133
- - L varia de 0.97 (50) ate 0.15 (950) em 11 steps
134
- - C e H preservados do cluster primario
135
-
136
- 5. Validar contraste WCAG AA:
137
- - Cada cor sematica vs bg-default: >= 4.5:1 (texto normal)
138
- - Cada cor sematica vs bg-default: >= 3.0:1 (texto grande / UI)
139
- - Se FAIL → ajustar L (lightness) ate passar
140
-
141
- Output: Paleta consolidada (tipicamente 8-15 cores primarias)
142
- ```
143
-
144
- **Thresholds:**
145
- | Metrica | Target | PASS | CONDITIONAL | FAIL |
146
- |---------|--------|------|-------------|------|
147
- | Reducao de cores | >= 85% | >= 85% | 70-84% | < 70% |
148
- | Contraste WCAG AA | 100% | 100% | >= 90% | < 90% |
149
- | Coverage de uso | >= 95% | >= 95% | >= 85% | < 85% |
150
-
151
- ---
152
-
153
- ### 4.2 SPACING — GCD Base Unit + Harmonic Scale
154
-
155
- **Algoritmo:**
156
- ```
157
- Input: Todos os valores de padding, margin, gap do Figma raw
158
-
159
- 1. Normalizar unidades (rem → px: 1rem = 16px)
160
-
161
- 2. Calcular GCD (Greatest Common Divisor) de todos os valores
162
-
163
- 3. Se GCD != 4 e GCD != 8 → Default para 4px
164
- (Fonte: Workshop Alan/Ruan — "4px grid is market standard")
165
-
166
- 4. Gerar escala harmonica:
167
- 0, 1(4px), 2(8px), 3(12px), 4(16px), 5(20px), 6(24px),
168
- 8(32px), 10(40px), 12(48px), 16(64px), 20(80px), 24(96px)
169
-
170
- 5. Mapear cada valor existente ao step mais proximo da escala
171
-
172
- 6. Valores que nao mapeiam (distancia > 2px) → documentar como override manual
173
-
174
- Output: 13-16 spacing tokens (escala consistente)
175
- ```
176
-
177
- **Thresholds:**
178
- | Metrica | Target | PASS | CONDITIONAL | FAIL |
179
- |---------|--------|------|-------------|------|
180
- | Reducao de spacing | >= 60% | >= 60% | 40-59% | < 40% |
181
- | Base unit detectada | 4px ou 8px | Automatica | Manual confirm | Anomala |
182
- | Coverage | >= 95% | >= 95% | >= 85% | < 85% |
183
-
184
- ---
185
-
186
- ### 4.3 TYPOGRAPHY — Modular Scale + Font Consolidation
187
-
188
- **Algoritmo:**
189
- ```
190
- Input: Todas as font families, sizes, weights, line-heights do Figma raw
191
-
192
- 1. FONT FAMILIES:
193
- - Contar frequencia de cada font family
194
- - Selecionar TOP 2 (display + body) + 1 mono
195
- - Se > 3 families → REJEITAR as menos usadas (< 5% uso)
196
-
197
- 2. FONT SIZES:
198
- - Detectar multiplicador (1.2x minor third ou 1.25x major second)
199
- - Gerar escala: base(16px), sm(14px), xs(12px), lg(18px), xl(20px),
200
- 2xl(24px), 3xl(30px), 4xl(36px), 5xl(48px)
201
- - Mapear cada size existente ao step mais proximo
202
-
203
- 3. FONT WEIGHTS:
204
- - Consolidar: 300(light), 400(normal), 500(medium), 600(semibold), 700(bold)
205
- - Merge weights com distancia < 50: ex. 450→400, 550→500
206
- - Maximo 5 weights distintos
207
-
208
- 4. LINE HEIGHTS:
209
- - Calcular ratio ideal: heading(1.2), body(1.5), tight(1.25), relaxed(1.75)
210
- - Mapear cada line-height existente ao ratio mais proximo
211
-
212
- 5. LETTER SPACING:
213
- - Consolidar: tight(-0.025em), normal(0), wide(0.025em), wider(0.05em)
214
-
215
- Output: 3 families, 9-10 sizes, 5 weights, 4 line-heights, 4 letter-spacings
216
- ```
217
-
218
- **Thresholds:**
219
- | Metrica | Target | PASS | CONDITIONAL | FAIL |
220
- |---------|--------|------|-------------|------|
221
- | Reducao typography | >= 50% | >= 50% | 35-49% | < 35% |
222
- | Font families | <= 3 | <= 3 | 4 | > 4 |
223
- | Weight count | <= 5 | <= 5 | 6 | > 6 |
224
-
225
- ---
226
-
227
- ### 4.4 SHADOWS — Depth Level Consolidation
228
-
229
- **Algoritmo:**
230
- ```
231
- Input: Todos os box-shadow/drop-shadow do Figma raw
232
-
233
- 1. Calcular "depth score": abs(offset-x) + abs(offset-y) + blur
234
-
235
- 2. Bucket por depth:
236
- xs: depth 1-3 (hover states)
237
- sm: depth 4-8 (cards resting)
238
- md: depth 9-15 (cards elevated)
239
- lg: depth 16-25 (dropdowns)
240
- xl: depth 26+ (modals, overlays)
241
-
242
- 3. Para cada bucket → selecionar shadow com MAIOR frequencia
243
-
244
- 4. Substituir cores hardcoded por tokens:
245
- rgba(0,0,0,0.1) → var(--color-shadow-default)
246
-
247
- 5. Adicionar shadows especiais se brand exigir:
248
- glow: 0 0 Npx var(--color-primary) (accent glow — ex: Clickmax neon)
249
-
250
- Output: 5-7 shadow tokens + 0-2 brand-specific
251
- ```
252
-
253
- ---
254
-
255
- ### 4.5 BORDER RADIUS — Harmonic Scale
256
-
257
- **Algoritmo:**
258
- ```
259
- Input: Todos os border-radius do Figma raw
260
-
261
- 1. Normalizar para px
262
-
263
- 2. Bucket por tamanho:
264
- none: 0
265
- sm: 1-4px → 0.125-0.25rem
266
- md: 5-8px → 0.375rem
267
- lg: 9-12px → 0.5-0.75rem
268
- xl: 13-16px → 1rem
269
- 2xl: 17-20px → 1.25rem
270
- 3xl: 21-28px → 1.5rem
271
- full: 9999px (pills, avatars)
272
-
273
- 3. Selecionar valor mais frequente de cada bucket como canonico
274
-
275
- 4. Se brand tem radius signature (ex: Clickmax usa lg/3xl mais que md)
276
- → preservar como preferencia de brand no brand.json
277
-
278
- Output: 7-8 radius tokens
279
- ```
280
-
281
- ---
282
-
283
- ### 4.6 COMPONENTES — Quality Gate Multi-Dimensional
284
-
285
- **Criterios de selecao para cada componente extraido:**
286
-
287
- ```
288
- Score = (
289
- TypeScript_compile × 0.15 + # 0 ou 1 (compila sem erros)
290
- Token_coverage × 0.15 + # % de valores usando tokens (target: 100%)
291
- Test_coverage × 0.15 + # % coverage (target: >= 80%)
292
- Accessibility_pass × 0.20 + # WCAG AA (ARIA, contrast, keyboard, focus)
293
- Props_typed × 0.15 + # % de props com tipos especificos (no `any`)
294
- Documentation × 0.10 + # Completa (props, examples, guidelines)
295
- Semantic_HTML × 0.10 # Elementos corretos (<button> nao <div onClick>)
296
- ) × 100
297
-
298
- PASS: >= 80%
299
- CONDITIONAL: 60-79%
300
- FAIL: < 60%
301
- ```
302
-
303
- **Regra de selecao ao receber componentes brutos do Figma:**
304
-
305
- ```
306
- Input: Lista de componentes detectados no Figma
307
-
308
- 1. FILTRAR por frequencia de uso (>= 3 instancias no Figma)
309
-
310
- 2. CLASSIFICAR por nivel atomico:
311
- Atom: Button, Input, Label, Badge, Avatar, Icon
312
- Molecule: FormField, Card, Alert, Tooltip
313
- Organism: Form, Modal, Sidebar, DataTable
314
-
315
- 3. PRIORIZAR por impacto:
316
- P0: Button, Input, Card (usados em >50% das telas)
317
- P1: Badge, Avatar, Form, Modal (usados em 20-50%)
318
- P2: Sidebar, DataTable, Toast (usados em <20%)
319
-
320
- 4. Para cada componente selecionado:
321
- - Extrair props do Figma (variants, states, sizes)
322
- - Mapear tokens (bg, fg, border, radius, shadow)
323
- - Definir variantes CVA (variant × size matrix)
324
- - Validar contra quality gate (score >= 80%)
325
-
326
- Output: Componente registrado em registry.json + metadata
327
- ```
328
-
329
- ---
330
-
331
- ## 5. SCORING GLOBAL — Consolidation Report
332
-
333
- Apos executar todos os algoritmos, o pipeline gera um `curation-report.json`:
334
-
335
- ```json
336
- {
337
- "brand": "clickmax",
338
- "source": "figma-tokens-raw.json",
339
- "timestamp": "2026-02-17T08:00:00Z",
340
- "scores": {
341
- "colors": {
342
- "before": 146,
343
- "after": 24,
344
- "reduction": "83.6%",
345
- "target": "85%",
346
- "status": "CONDITIONAL",
347
- "wcag_aa_pass": "100%",
348
- "coverage": "97.2%"
349
- },
350
- "spacing": {
351
- "before": 32,
352
- "after": 13,
353
- "reduction": "59.4%",
354
- "target": "60%",
355
- "status": "CONDITIONAL",
356
- "base_unit": "4px",
357
- "coverage": "96.1%"
358
- },
359
- "typography": {
360
- "before": { "families": 34, "sizes": 20, "weights": 8 },
361
- "after": { "families": 3, "sizes": 10, "weights": 5 },
362
- "reduction": "71.0%",
363
- "target": "50%",
364
- "status": "PASS"
365
- },
366
- "shadows": {
367
- "before": 52,
368
- "after": 7,
369
- "reduction": "86.5%",
370
- "target": "70%",
371
- "status": "PASS"
372
- },
373
- "radius": {
374
- "before": 15,
375
- "after": 8,
376
- "reduction": "46.7%",
377
- "target": "60%",
378
- "status": "CONDITIONAL"
379
- },
380
- "overall": {
381
- "reduction": "81.3%",
382
- "target": "80%",
383
- "status": "PASS"
384
- }
385
- },
386
- "decisions": [
387
- {
388
- "category": "color",
389
- "action": "MERGE",
390
- "items": ["#d4ff00", "#d5ff01", "#d3fe00"],
391
- "result": "#d4ff00",
392
- "reason": "deltaE < 0.02, kept most-used (2886 instances)",
393
- "authority": "Brad Frost consolidation-algorithms + OKLCH clustering"
394
- }
395
- ]
396
- }
397
- ```
398
-
399
- ---
400
-
401
- ## 6. IMPLEMENTACAO PROPOSTA
402
-
403
- ### 6.1 Scripts a Criar
404
-
405
- | Script | Funcao | Input | Output |
406
- |--------|--------|-------|--------|
407
- | `squads/design/scripts/design-system/curate_colors.cjs` | OKLCH clustering + contrast validation | figma-tokens-raw.json | curated-colors.json |
408
- | `squads/design/scripts/design-system/curate_spacing.cjs` | GCD detection + scale generation | figma-tokens-raw.json | curated-spacing.json |
409
- | `squads/design/scripts/design-system/curate_typography.cjs` | Font consolidation + modular scale | figma-tokens-raw.json | curated-typography.json |
410
- | `squads/design/scripts/design-system/curate_shadows.cjs` | Depth bucketing + token replacement | figma-tokens-raw.json | curated-shadows.json |
411
- | `squads/design/scripts/design-system/curate_radius.cjs` | Harmonic scale mapping | figma-tokens-raw.json | curated-radius.json |
412
- | `squads/design/scripts/design-system/curate_components.cjs` | Frequency filter + atomic classification | figma-tokens-raw.json | curated-components.json |
413
- | `squads/design/scripts/design-system/generate_tokens.cjs` | Combina curated-*.json → CSS tokens | curated-*.json | tokens/*.css |
414
- | `squads/design/scripts/design-system/generate_curation_report.cjs` | Scoring + decision trail | curated-*.json | curation-report.json |
415
- | `squads/design/scripts/design-system/validate_curation.cjs` | Quality gates (thresholds check) | curation-report.json | PASS/FAIL |
416
-
417
- ### 6.2 Integracao com MCP
418
-
419
- Novas tools para o MCP server:
420
-
421
- | Tool | Descricao |
422
- |------|-----------|
423
- | `design_system.curate_brand` | Executa pipeline completo para uma brand |
424
- | `design_system.get_curation_report` | Retorna ultimo curation-report.json |
425
- | `design_system.compare_brands` | Compara tokens entre 2 brands |
426
-
427
- ### 6.3 Integracao com Workflow Existente
428
-
429
- O pipeline se encaixa no workflow `brownfield-complete.yaml`:
430
-
431
- ```
432
- Fase existente: audit → consolidate → tokenize → migrate → build
433
- Pipeline novo: ingest → curate → tokenize → validate → output
434
- ↑ ↑ ↑ ↑
435
- Fase 1 Fase 2 Fase 3 Fase 4
436
- ```
437
-
438
- ---
439
-
440
- ## 7. LIMITACOES — O QUE NAO PODE SER AUTOMATIZADO
441
-
442
- ### 7.1 Decisoes que EXIGEM julgamento humano
443
-
444
- | Decisao | Por que nao automatiza | Mitigacao |
445
- |---------|----------------------|-----------|
446
- | **Identidade de marca** | A cor accent (#D4AF37 gold vs #D4FF00 lime) e uma decisao de negocio, nao tecnica | Pipeline PRESERVA accent, so consolida variantes |
447
- | **Hierarquia visual** | Qual componente e "hero" vs "secondary" depende do contexto da pagina | Pipeline classifica por frequencia, humano valida prioridade |
448
- | **Tom emocional** | Sombras suaves vs dramaticas, radius arredondado vs angular = decisao estetica | Pipeline oferece opcoes ranked, humano escolhe |
449
- | **Excepcoes de marca** | Um botao com radius especial para campanha, uma cor fora do padrao | Pipeline flagga como "override manual" com justificativa obrigatoria |
450
- | **Contexto de uso** | O mesmo componente pode precisar de variantes diferentes em checkout vs landing page | Pipeline cria variantes semanticas, humano valida mapeamento |
451
-
452
- ### 7.2 Limitacoes tecnicas
453
-
454
- | Limitacao | Impacto | Workaround |
455
- |-----------|---------|------------|
456
- | **Figma API retorna nodes sem semantica** | Nao sabemos se um retangulo e "card" ou "container" sem nomear | Depende de naming conventions no Figma (componentes nomeados) |
457
- | **OKLCH conversion nao e 100% reversivel** | Arredondamentos minimos ao converter hex → OKLCH → hex | Aceitavel (< 0.5% deltaE de erro) |
458
- | **Componentes complexos** | DataTable, Calendar, RichTextEditor nao sao extraiveis do Figma automaticamente | Construir manualmente seguindo tokens curados |
459
- | **Animacoes** | Figma nao exporta motion/transition data | Capturar via Playwright + Gemini 3.0 (futuro) |
460
- | **Responsividade** | Figma mostra layouts fixos, nao breakpoints reais | Definir breakpoints manualmente (mobile/tablet/desktop) |
461
- | **Multi-pagina Figma** | Hoje so 1 de 78 paginas foi extraida | Precisa script de batch extraction (figma-scan.cjs existe, precisa ampliar) |
462
- | **Acessibilidade visual** | Contraste pode ser validado, mas UX de leitor de tela nao | Testes manuais com NVDA/VoiceOver necessarios |
463
-
464
- ### 7.3 O que o pipeline FAZ bem (automacao confiavel)
465
-
466
- | Capacidade | Confianca | Fonte |
467
- |------------|-----------|-------|
468
- | Clustering perceptual de cores | 95%+ | Algoritmo matematico (deltaE) |
469
- | Deteccao de base unit (4px/8px) | 99%+ | GCD matematico |
470
- | Geracao de escala tipografica | 90%+ | Modular scale matematico |
471
- | Validacao de contraste WCAG | 100% | Formula WCAG computable |
472
- | Consolidacao de shadows por depth | 85%+ | Bucketing numerico |
473
- | Mapping de radius para escala | 90%+ | Bucketing numerico |
474
- | Deteccao de variantes de botao | 80%+ | Keyword analysis (heuristica) |
475
- | Geracao de curation-report | 100% | Scoring formula definida |
476
- | Validacao de quality gates | 100% | Thresholds numericos |
477
-
478
- ---
479
-
480
- ## 8. DECISOES ARQUITETURAIS (Workshop 2026-02-16)
481
-
482
- Estas decisoes foram extraidas diretamente do workshop e sao **lei**:
483
-
484
- 1. **"Governance Squad Creates, Execution Squad Uses"** — Os scripts de curadoria pertencem ao governance squad. O execution squad consume os tokens curados.
485
-
486
- 2. **"Foundations Invisible, Not Customizable"** — Grid 4px, breakpoints, spacing scale sao padrao de mercado. Nao customizaveis por brand.
487
-
488
- 3. **"Prompt Injection in Components"** — Todo componente gerado DEVE conter regras non-negotiable no header CSS (max words, CTA rules, error next-step).
489
-
490
- 4. **"Reverse-Engineer > Infinite Research"** — Extrair padroes de sistemas validados (ClickMax tem milhoes investidos em UX) e mais rapido que pesquisar infinitamente.
491
-
492
- 5. **"Synchronization Mandatory"** — Cada token curado deve triggerar atualizacao de: registry, metadata, MCP, tailwind.theme.css.
493
-
494
- 6. **"Zero Hardcoded Values"** (Brad Frost) — Token ou nada. Scripts de validacao rejeitam qualquer #hex ou Npx hardcoded.
495
-
496
- ---
497
-
498
- ## 9. ROADMAP DE EXECUCAO
499
-
500
- | Fase | Descricao | Dependencia | Esforco |
501
- |------|-----------|-------------|---------|
502
- | **10.1** | `curate_colors.cjs` — OKLCH clustering + contrast | figma-tokens-raw.json | 1 sessao |
503
- | **10.2** | `curate_spacing.cjs` — GCD + harmonic scale | figma-tokens-raw.json | 0.5 sessao |
504
- | **10.3** | `curate_typography.cjs` — Font consolidation | figma-tokens-raw.json | 0.5 sessao |
505
- | **10.4** | `curate_shadows.cjs` — Depth bucketing | figma-tokens-raw.json | 0.5 sessao |
506
- | **10.5** | `curate_radius.cjs` — Harmonic scale | figma-tokens-raw.json | 0.5 sessao |
507
- | **10.6** | `generate_tokens.cjs` — Curated → CSS | 10.1-10.5 | 1 sessao |
508
- | **10.7** | `generate_curation_report.cjs` — Scoring | 10.1-10.5 | 0.5 sessao |
509
- | **10.8** | `validate_curation.cjs` — Quality gates | 10.7 | 0.5 sessao |
510
- | **10.9** | Batch Figma extraction (78 paginas) | figma-scan.cjs | 1 sessao |
511
- | **10.10** | Re-curate com dados completos | 10.9 | 1 sessao |
512
-
513
- **Total estimado:** ~7 sessoes de trabalho
514
-
515
- ---
516
-
517
- ## 10. COMO VALIDAR O PIPELINE
518
-
519
- ### Teste 1: Idempotencia
520
- ```
521
- Rodar pipeline 2x com mesmo input → output identico
522
- ```
523
-
524
- ### Teste 2: Regressao contra Lendario
525
- ```
526
- Rodar pipeline com dados Lendario → comparar com tokens manuais ja criados
527
- Diferenca aceitavel: < 5% nos valores finais
528
- ```
529
-
530
- ### Teste 3: Novo brand (cold start)
531
- ```
532
- Extrair Figma de um 3o brand → pipeline produz DS valido sem intervencao manual?
533
- Expectativa: 80-90% automatico, 10-20% revisao humana
534
- ```
535
-
536
- ### Teste 4: Quality gates bloqueiam corretamente
537
- ```
538
- Injetar dados com contraste invalido → pipeline DEVE rejeitar com FAIL
539
- Injetar dados com < 85% reducao cores → pipeline DEVE retornar CONDITIONAL
540
- ```
541
-
542
- ---
543
-
544
- ## 11. COMPARACAO COM EQUIPES SILICON VALLEY
545
-
546
- | Aspecto | Enterprise (Material/Fluent/Carbon) | AIOS Pipeline |
547
- |---------|-------------------------------------|---------------|
548
- | **Token naming** | namespace-category-variant-scale | Mesmo padrao (W3C DTCG) |
549
- | **Color space** | OKLCH / tonal palettes | OKLCH com deltaE clustering |
550
- | **3-tier hierarchy** | Primitive → Semantic → Component | Identico |
551
- | **Quality gates** | CI/CD automated | Scripts com thresholds numericos |
552
- | **Accessibility** | WCAG AA built-in | Contraste automatico, ARIA manual |
553
- | **Governance** | Federated (IBM) / Centralized (Google) | Governance Squad + validation scripts |
554
- | **Machine-readable** | JSON APIs, Storybook | MCP server + metadata JSON |
555
- | **Multi-brand** | Material Dynamic Color | Catalog multi-brand com brand.json |
556
- | **Consolidation** | Manual by DS team | Algoritmos automaticos (85%+ reducao) |
557
- | **Gap** | Equipes de 10-50 pessoas full-time | AI + scripts + revisao humana |
558
-
559
- **Veredito:** O pipeline cobre ~85% do que uma equipe enterprise faz. Os 15% restantes sao: testes com usuarios reais, iteracao com stakeholders, edge cases de layout responsivo, e componentes complexos (calendar, rich text, etc.) que exigem construcao manual.
560
-
561
- ---
562
-
563
- ## RESUMO EXECUTIVO
564
-
565
- **O que estamos propondo:**
566
- 9 scripts Node.js que transformam dados brutos de Figma em tokens curados usando algoritmos matematicos (OKLCH deltaE, GCD, modular scale, depth bucketing) com quality gates numericos (>= 85% reducao cores, >= 4.5:1 contraste, >= 95% coverage).
567
-
568
- **O que muda:**
569
- - Hoje: curadoria 100% manual, sem rastreabilidade
570
- - Depois: curadoria 80-90% automatica, com curation-report.json documentando cada decisao
571
-
572
- **O que NAO muda:**
573
- - Decisoes de identidade de marca continuam humanas
574
- - Componentes complexos continuam sendo construidos manualmente
575
- - Review humano continua obrigatorio antes de commit
576
-
577
- **Proximo passo:** Aprovar proposta → Implementar Fase 10.1 (curate_colors.cjs) como prova de conceito.
1
+ # DS Curation Pipeline — Proposta Completa
2
+
3
+ ## Sistema Inteligente de Selecao e Padronizacao de Design Systems
4
+
5
+ **Autor:** Claude (Sintetizado de pesquisas Alan Nicolas, Brad Frost DNA, Workshop 2026-02-16, W3C DTCG, enterprise DS references)
6
+ **Data:** 2026-02-17
7
+ **Status:** PROPOSTA — Aguardando aprovacao
8
+
9
+ ---
10
+
11
+ ## 1. PROBLEMA
12
+
13
+ O AIOS precisa transformar dados BRUTOS de Figma (31K+ nodes, 146+ cores, 76 text styles, 52 shadows, 164 componentes — e isso de UMA UNICA pagina de 78) em um Design System padronizado, curado, com nivel de qualidade enterprise.
14
+
15
+ **Hoje:** Toda curadoria e manual. O humano (ou o AI sem restricoes) olha os dados brutos e decide o que manter. Nao ha scoring, nao ha thresholds, nao ha rejeicao automatica.
16
+
17
+ **Objetivo:** Pipeline executavel que recebe dados brutos massivos e produz tokens/componentes curados com decisoes rastreáveis e justificadas.
18
+
19
+ ---
20
+
21
+ ## 2. FONTES DE AUTORIDADE (Ranking de Confianca)
22
+
23
+ As decisoes de padronizacao sao fundamentadas nestas fontes, nesta ordem de prioridade:
24
+
25
+ | Tier | Fonte | Tipo | Arquivo Local |
26
+ |------|-------|------|---------------|
27
+ | S | W3C DTCG Spec v1.0 (Oct 2025) | Standard | `squads/design/data/w3c-dtcg-spec-reference.md` |
28
+ | S | WCAG 2.2 / APCA | Standard | `squads/design/data/wcag-compliance-guide.md` |
29
+ | A | Brad Frost — Atomic Design + DS+AI | Authority | `squads/design/data/brad-frost-dna.yaml` (714 lines) |
30
+ | A | Workshop Alan/Ruan/Pedro 2026-02-16 | Internal | `docs/research/2026-02-16-ux-writing-governance-ds-ai/meeting-insights-2026-02-16.md` |
31
+ | A | Tailwind v4 + Shadcn v4 Conventions | Technology | `docs/research/2026-02-16-tailwind-shadcn-design-system-componentization/02-research-report.md` |
32
+ | B | Material Design 3 (Google) | Enterprise | `squads/design/data/ds-reference-architectures.md` |
33
+ | B | Fluent 2 (Microsoft) | Enterprise | `squads/design/data/fluent2-design-principles.md` |
34
+ | B | Carbon (IBM) / Spectrum (Adobe) | Enterprise | `squads/design/data/ds-reference-architectures.md` |
35
+ | B | Nathan Curtis / EightShapes | Authority | Web research (token naming patterns) |
36
+ | C | Vignelli Design Philosophy | Aesthetic | `docs/research/2026-02-13-vignelli-design-philosophy/02-report.md` |
37
+
38
+ **Regra:** Decisoes de padronizacao DEVEM citar pelo menos 1 fonte Tier S ou A. Fontes B/C sao complementares.
39
+
40
+ ---
41
+
42
+ ## 3. ARQUITETURA DO PIPELINE
43
+
44
+ ```
45
+ ┌─────────────────────────────────────────┐
46
+ │ ENTRADA (Raw Data) │
47
+ │ Figma API → figma-tokens-raw.json │
48
+ │ (N paginas, M nodes, cores, typo, etc) │
49
+ └────────────────┬────────────────────────┘
50
+
51
+ ┌────────────────────┼────────────────────┐
52
+ ▼ ▼ ▼
53
+ ┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐
54
+ │ FASE 1: INGEST │ │ FASE 1: INGEST │ │ FASE 1: INGEST │
55
+ │ Color Extractor│ │ Typo Extractor │ │ Component │
56
+ │ (hex→OKLCH) │ │ (fonts, sizes) │ │ Extractor │
57
+ └────────┬────────┘ └────────┬────────┘ └────────┬────────┘
58
+ │ │ │
59
+ ▼ ▼ ▼
60
+ ┌─────────────────────────────────────────────────────────┐
61
+ │ FASE 2: CONSOLIDATION │
62
+ │ ┌──────────────┐ ┌──────────────┐ ┌──────────────────┐│
63
+ │ │ OKLCH Cluster│ │ GCD Spacing │ │ Semantic Button ││
64
+ │ │ @10% deltaE │ │ Scale Builder│ │ Keyword Analysis ││
65
+ │ │ Target: -85% │ │ Target: -60% │ │ Target: -90% ││
66
+ │ └──────────────┘ └──────────────┘ └──────────────────┘│
67
+ └────────────────────────┬────────────────────────────────┘
68
+
69
+
70
+ ┌─────────────────────────────────────────────────────────┐
71
+ │ FASE 3: TOKENIZATION │
72
+ │ Primitives (OKLCH raw) → Semantic (purpose) → Component│
73
+ │ Naming: namespace-category-variant-scale │
74
+ │ Format: W3C DTCG JSON + CSS Custom Properties │
75
+ └────────────────────────┬────────────────────────────────┘
76
+
77
+
78
+ ┌─────────────────────────────────────────────────────────┐
79
+ │ FASE 4: QUALITY GATES │
80
+ │ ┌──────────┐ ┌───────────┐ ┌───────────┐ ┌──────────┐│
81
+ │ │ Contrast │ │ Coverage │ │ Reduction │ │ Naming ││
82
+ │ │ WCAG AA │ │ >= 95% │ │ >= 80% │ │ Semantic ││
83
+ │ │ >= 4.5:1 │ │ mapping │ │ overall │ │ valid ││
84
+ │ └──────────┘ └───────────┘ └───────────┘ └──────────┘│
85
+ └────────────────────────┬────────────────────────────────┘
86
+
87
+ PASS ───┤──── FAIL → Loop de correcao
88
+
89
+
90
+ ┌─────────────────────────────────────────────────────────┐
91
+ │ FASE 5: OUTPUT │
92
+ │ workspace/ui/{brand}/ │
93
+ │ ├── brand.json │
94
+ │ ├── tokens/primitives/ (colors, spacing, typography) │
95
+ │ ├── tokens/semantic/ (colors, surfaces) │
96
+ │ ├── tokens/component/ (button, card, ...) │
97
+ │ ├── themes/ (light.css, dark.css) │
98
+ │ └── tailwind.theme.css │
99
+ │ │
100
+ │ + metadata/tokens/{brand}-index.json (MCP queryable) │
101
+ │ + curation-report.json (decisoes rastreáveis) │
102
+ └─────────────────────────────────────────────────────────┘
103
+ ```
104
+
105
+ ---
106
+
107
+ ## 4. ALGORITMOS DE SELECAO POR CATEGORIA
108
+
109
+ ### 4.1 CORES — OKLCH Perceptual Clustering
110
+
111
+ **Upgrade do algoritmo atual:** HSL clustering → OKLCH deltaE clustering.
112
+
113
+ **Por que OKLCH e nao HSL:**
114
+ - HSL nao e perceptualmente uniforme (fonte: W3C DTCG, Tailwind v4, Shadcn v4)
115
+ - OKLCH garante que `deltaE = 5%` realmente PARECE 5% diferente pro olho humano
116
+ - Material Design 3 ja usa paletas tonais OKLCH-like (0-100 scale)
117
+
118
+ **Algoritmo:**
119
+ ```
120
+ Input: Array de cores hex/rgb do Figma raw
121
+
122
+ 1. Converter tudo pra OKLCH (L, C, H)
123
+
124
+ 2. Clustering por deltaE com threshold = 10% (mais permissivo que HSL 5%)
125
+ - deltaE(cor1, cor2) = sqrt((L1-L2)^2 + (C1-C2)^2 + (H1-H2)^2)
126
+ - Se deltaE < 0.10 → mesmo cluster
127
+
128
+ 3. Para cada cluster:
129
+ - Selecionar cor com MAIOR frequencia de uso como primária
130
+ - Se empate → selecionar cor com MELHOR contraste contra bg default
131
+
132
+ 4. Gerar escala tonal automatica (50-950) para cores accent:
133
+ - L varia de 0.97 (50) ate 0.15 (950) em 11 steps
134
+ - C e H preservados do cluster primario
135
+
136
+ 5. Validar contraste WCAG AA:
137
+ - Cada cor sematica vs bg-default: >= 4.5:1 (texto normal)
138
+ - Cada cor sematica vs bg-default: >= 3.0:1 (texto grande / UI)
139
+ - Se FAIL → ajustar L (lightness) ate passar
140
+
141
+ Output: Paleta consolidada (tipicamente 8-15 cores primarias)
142
+ ```
143
+
144
+ **Thresholds:**
145
+ | Metrica | Target | PASS | CONDITIONAL | FAIL |
146
+ |---------|--------|------|-------------|------|
147
+ | Reducao de cores | >= 85% | >= 85% | 70-84% | < 70% |
148
+ | Contraste WCAG AA | 100% | 100% | >= 90% | < 90% |
149
+ | Coverage de uso | >= 95% | >= 95% | >= 85% | < 85% |
150
+
151
+ ---
152
+
153
+ ### 4.2 SPACING — GCD Base Unit + Harmonic Scale
154
+
155
+ **Algoritmo:**
156
+ ```
157
+ Input: Todos os valores de padding, margin, gap do Figma raw
158
+
159
+ 1. Normalizar unidades (rem → px: 1rem = 16px)
160
+
161
+ 2. Calcular GCD (Greatest Common Divisor) de todos os valores
162
+
163
+ 3. Se GCD != 4 e GCD != 8 → Default para 4px
164
+ (Fonte: Workshop Alan/Ruan — "4px grid is market standard")
165
+
166
+ 4. Gerar escala harmonica:
167
+ 0, 1(4px), 2(8px), 3(12px), 4(16px), 5(20px), 6(24px),
168
+ 8(32px), 10(40px), 12(48px), 16(64px), 20(80px), 24(96px)
169
+
170
+ 5. Mapear cada valor existente ao step mais proximo da escala
171
+
172
+ 6. Valores que nao mapeiam (distancia > 2px) → documentar como override manual
173
+
174
+ Output: 13-16 spacing tokens (escala consistente)
175
+ ```
176
+
177
+ **Thresholds:**
178
+ | Metrica | Target | PASS | CONDITIONAL | FAIL |
179
+ |---------|--------|------|-------------|------|
180
+ | Reducao de spacing | >= 60% | >= 60% | 40-59% | < 40% |
181
+ | Base unit detectada | 4px ou 8px | Automatica | Manual confirm | Anomala |
182
+ | Coverage | >= 95% | >= 95% | >= 85% | < 85% |
183
+
184
+ ---
185
+
186
+ ### 4.3 TYPOGRAPHY — Modular Scale + Font Consolidation
187
+
188
+ **Algoritmo:**
189
+ ```
190
+ Input: Todas as font families, sizes, weights, line-heights do Figma raw
191
+
192
+ 1. FONT FAMILIES:
193
+ - Contar frequencia de cada font family
194
+ - Selecionar TOP 2 (display + body) + 1 mono
195
+ - Se > 3 families → REJEITAR as menos usadas (< 5% uso)
196
+
197
+ 2. FONT SIZES:
198
+ - Detectar multiplicador (1.2x minor third ou 1.25x major second)
199
+ - Gerar escala: base(16px), sm(14px), xs(12px), lg(18px), xl(20px),
200
+ 2xl(24px), 3xl(30px), 4xl(36px), 5xl(48px)
201
+ - Mapear cada size existente ao step mais proximo
202
+
203
+ 3. FONT WEIGHTS:
204
+ - Consolidar: 300(light), 400(normal), 500(medium), 600(semibold), 700(bold)
205
+ - Merge weights com distancia < 50: ex. 450→400, 550→500
206
+ - Maximo 5 weights distintos
207
+
208
+ 4. LINE HEIGHTS:
209
+ - Calcular ratio ideal: heading(1.2), body(1.5), tight(1.25), relaxed(1.75)
210
+ - Mapear cada line-height existente ao ratio mais proximo
211
+
212
+ 5. LETTER SPACING:
213
+ - Consolidar: tight(-0.025em), normal(0), wide(0.025em), wider(0.05em)
214
+
215
+ Output: 3 families, 9-10 sizes, 5 weights, 4 line-heights, 4 letter-spacings
216
+ ```
217
+
218
+ **Thresholds:**
219
+ | Metrica | Target | PASS | CONDITIONAL | FAIL |
220
+ |---------|--------|------|-------------|------|
221
+ | Reducao typography | >= 50% | >= 50% | 35-49% | < 35% |
222
+ | Font families | <= 3 | <= 3 | 4 | > 4 |
223
+ | Weight count | <= 5 | <= 5 | 6 | > 6 |
224
+
225
+ ---
226
+
227
+ ### 4.4 SHADOWS — Depth Level Consolidation
228
+
229
+ **Algoritmo:**
230
+ ```
231
+ Input: Todos os box-shadow/drop-shadow do Figma raw
232
+
233
+ 1. Calcular "depth score": abs(offset-x) + abs(offset-y) + blur
234
+
235
+ 2. Bucket por depth:
236
+ xs: depth 1-3 (hover states)
237
+ sm: depth 4-8 (cards resting)
238
+ md: depth 9-15 (cards elevated)
239
+ lg: depth 16-25 (dropdowns)
240
+ xl: depth 26+ (modals, overlays)
241
+
242
+ 3. Para cada bucket → selecionar shadow com MAIOR frequencia
243
+
244
+ 4. Substituir cores hardcoded por tokens:
245
+ rgba(0,0,0,0.1) → var(--color-shadow-default)
246
+
247
+ 5. Adicionar shadows especiais se brand exigir:
248
+ glow: 0 0 Npx var(--color-primary) (accent glow — ex: Clickmax neon)
249
+
250
+ Output: 5-7 shadow tokens + 0-2 brand-specific
251
+ ```
252
+
253
+ ---
254
+
255
+ ### 4.5 BORDER RADIUS — Harmonic Scale
256
+
257
+ **Algoritmo:**
258
+ ```
259
+ Input: Todos os border-radius do Figma raw
260
+
261
+ 1. Normalizar para px
262
+
263
+ 2. Bucket por tamanho:
264
+ none: 0
265
+ sm: 1-4px → 0.125-0.25rem
266
+ md: 5-8px → 0.375rem
267
+ lg: 9-12px → 0.5-0.75rem
268
+ xl: 13-16px → 1rem
269
+ 2xl: 17-20px → 1.25rem
270
+ 3xl: 21-28px → 1.5rem
271
+ full: 9999px (pills, avatars)
272
+
273
+ 3. Selecionar valor mais frequente de cada bucket como canonico
274
+
275
+ 4. Se brand tem radius signature (ex: Clickmax usa lg/3xl mais que md)
276
+ → preservar como preferencia de brand no brand.json
277
+
278
+ Output: 7-8 radius tokens
279
+ ```
280
+
281
+ ---
282
+
283
+ ### 4.6 COMPONENTES — Quality Gate Multi-Dimensional
284
+
285
+ **Criterios de selecao para cada componente extraido:**
286
+
287
+ ```
288
+ Score = (
289
+ TypeScript_compile × 0.15 + # 0 ou 1 (compila sem erros)
290
+ Token_coverage × 0.15 + # % de valores usando tokens (target: 100%)
291
+ Test_coverage × 0.15 + # % coverage (target: >= 80%)
292
+ Accessibility_pass × 0.20 + # WCAG AA (ARIA, contrast, keyboard, focus)
293
+ Props_typed × 0.15 + # % de props com tipos especificos (no `any`)
294
+ Documentation × 0.10 + # Completa (props, examples, guidelines)
295
+ Semantic_HTML × 0.10 # Elementos corretos (<button> nao <div onClick>)
296
+ ) × 100
297
+
298
+ PASS: >= 80%
299
+ CONDITIONAL: 60-79%
300
+ FAIL: < 60%
301
+ ```
302
+
303
+ **Regra de selecao ao receber componentes brutos do Figma:**
304
+
305
+ ```
306
+ Input: Lista de componentes detectados no Figma
307
+
308
+ 1. FILTRAR por frequencia de uso (>= 3 instancias no Figma)
309
+
310
+ 2. CLASSIFICAR por nivel atomico:
311
+ Atom: Button, Input, Label, Badge, Avatar, Icon
312
+ Molecule: FormField, Card, Alert, Tooltip
313
+ Organism: Form, Modal, Sidebar, DataTable
314
+
315
+ 3. PRIORIZAR por impacto:
316
+ P0: Button, Input, Card (usados em >50% das telas)
317
+ P1: Badge, Avatar, Form, Modal (usados em 20-50%)
318
+ P2: Sidebar, DataTable, Toast (usados em <20%)
319
+
320
+ 4. Para cada componente selecionado:
321
+ - Extrair props do Figma (variants, states, sizes)
322
+ - Mapear tokens (bg, fg, border, radius, shadow)
323
+ - Definir variantes CVA (variant × size matrix)
324
+ - Validar contra quality gate (score >= 80%)
325
+
326
+ Output: Componente registrado em registry.json + metadata
327
+ ```
328
+
329
+ ---
330
+
331
+ ## 5. SCORING GLOBAL — Consolidation Report
332
+
333
+ Apos executar todos os algoritmos, o pipeline gera um `curation-report.json`:
334
+
335
+ ```json
336
+ {
337
+ "brand": "clickmax",
338
+ "source": "figma-tokens-raw.json",
339
+ "timestamp": "2026-02-17T08:00:00Z",
340
+ "scores": {
341
+ "colors": {
342
+ "before": 146,
343
+ "after": 24,
344
+ "reduction": "83.6%",
345
+ "target": "85%",
346
+ "status": "CONDITIONAL",
347
+ "wcag_aa_pass": "100%",
348
+ "coverage": "97.2%"
349
+ },
350
+ "spacing": {
351
+ "before": 32,
352
+ "after": 13,
353
+ "reduction": "59.4%",
354
+ "target": "60%",
355
+ "status": "CONDITIONAL",
356
+ "base_unit": "4px",
357
+ "coverage": "96.1%"
358
+ },
359
+ "typography": {
360
+ "before": { "families": 34, "sizes": 20, "weights": 8 },
361
+ "after": { "families": 3, "sizes": 10, "weights": 5 },
362
+ "reduction": "71.0%",
363
+ "target": "50%",
364
+ "status": "PASS"
365
+ },
366
+ "shadows": {
367
+ "before": 52,
368
+ "after": 7,
369
+ "reduction": "86.5%",
370
+ "target": "70%",
371
+ "status": "PASS"
372
+ },
373
+ "radius": {
374
+ "before": 15,
375
+ "after": 8,
376
+ "reduction": "46.7%",
377
+ "target": "60%",
378
+ "status": "CONDITIONAL"
379
+ },
380
+ "overall": {
381
+ "reduction": "81.3%",
382
+ "target": "80%",
383
+ "status": "PASS"
384
+ }
385
+ },
386
+ "decisions": [
387
+ {
388
+ "category": "color",
389
+ "action": "MERGE",
390
+ "items": ["#d4ff00", "#d5ff01", "#d3fe00"],
391
+ "result": "#d4ff00",
392
+ "reason": "deltaE < 0.02, kept most-used (2886 instances)",
393
+ "authority": "Brad Frost consolidation-algorithms + OKLCH clustering"
394
+ }
395
+ ]
396
+ }
397
+ ```
398
+
399
+ ---
400
+
401
+ ## 6. IMPLEMENTACAO PROPOSTA
402
+
403
+ ### 6.1 Scripts a Criar
404
+
405
+ | Script | Funcao | Input | Output |
406
+ |--------|--------|-------|--------|
407
+ | `squads/design/scripts/design-system/curate_colors.cjs` | OKLCH clustering + contrast validation | figma-tokens-raw.json | curated-colors.json |
408
+ | `squads/design/scripts/design-system/curate_spacing.cjs` | GCD detection + scale generation | figma-tokens-raw.json | curated-spacing.json |
409
+ | `squads/design/scripts/design-system/curate_typography.cjs` | Font consolidation + modular scale | figma-tokens-raw.json | curated-typography.json |
410
+ | `squads/design/scripts/design-system/curate_shadows.cjs` | Depth bucketing + token replacement | figma-tokens-raw.json | curated-shadows.json |
411
+ | `squads/design/scripts/design-system/curate_radius.cjs` | Harmonic scale mapping | figma-tokens-raw.json | curated-radius.json |
412
+ | `squads/design/scripts/design-system/curate_components.cjs` | Frequency filter + atomic classification | figma-tokens-raw.json | curated-components.json |
413
+ | `squads/design/scripts/design-system/generate_tokens.cjs` | Combina curated-*.json → CSS tokens | curated-*.json | tokens/*.css |
414
+ | `squads/design/scripts/design-system/generate_curation_report.cjs` | Scoring + decision trail | curated-*.json | curation-report.json |
415
+ | `squads/design/scripts/design-system/validate_curation.cjs` | Quality gates (thresholds check) | curation-report.json | PASS/FAIL |
416
+
417
+ ### 6.2 Integracao com MCP
418
+
419
+ Novas tools para o MCP server:
420
+
421
+ | Tool | Descricao |
422
+ |------|-----------|
423
+ | `design_system.curate_brand` | Executa pipeline completo para uma brand |
424
+ | `design_system.get_curation_report` | Retorna ultimo curation-report.json |
425
+ | `design_system.compare_brands` | Compara tokens entre 2 brands |
426
+
427
+ ### 6.3 Integracao com Workflow Existente
428
+
429
+ O pipeline se encaixa no workflow `brownfield-complete.yaml`:
430
+
431
+ ```
432
+ Fase existente: audit → consolidate → tokenize → migrate → build
433
+ Pipeline novo: ingest → curate → tokenize → validate → output
434
+ ↑ ↑ ↑ ↑
435
+ Fase 1 Fase 2 Fase 3 Fase 4
436
+ ```
437
+
438
+ ---
439
+
440
+ ## 7. LIMITACOES — O QUE NAO PODE SER AUTOMATIZADO
441
+
442
+ ### 7.1 Decisoes que EXIGEM julgamento humano
443
+
444
+ | Decisao | Por que nao automatiza | Mitigacao |
445
+ |---------|----------------------|-----------|
446
+ | **Identidade de marca** | A cor accent (#D4AF37 gold vs #D4FF00 lime) e uma decisao de negocio, nao tecnica | Pipeline PRESERVA accent, so consolida variantes |
447
+ | **Hierarquia visual** | Qual componente e "hero" vs "secondary" depende do contexto da pagina | Pipeline classifica por frequencia, humano valida prioridade |
448
+ | **Tom emocional** | Sombras suaves vs dramaticas, radius arredondado vs angular = decisao estetica | Pipeline oferece opcoes ranked, humano escolhe |
449
+ | **Excepcoes de marca** | Um botao com radius especial para campanha, uma cor fora do padrao | Pipeline flagga como "override manual" com justificativa obrigatoria |
450
+ | **Contexto de uso** | O mesmo componente pode precisar de variantes diferentes em checkout vs landing page | Pipeline cria variantes semanticas, humano valida mapeamento |
451
+
452
+ ### 7.2 Limitacoes tecnicas
453
+
454
+ | Limitacao | Impacto | Workaround |
455
+ |-----------|---------|------------|
456
+ | **Figma API retorna nodes sem semantica** | Nao sabemos se um retangulo e "card" ou "container" sem nomear | Depende de naming conventions no Figma (componentes nomeados) |
457
+ | **OKLCH conversion nao e 100% reversivel** | Arredondamentos minimos ao converter hex → OKLCH → hex | Aceitavel (< 0.5% deltaE de erro) |
458
+ | **Componentes complexos** | DataTable, Calendar, RichTextEditor nao sao extraiveis do Figma automaticamente | Construir manualmente seguindo tokens curados |
459
+ | **Animacoes** | Figma nao exporta motion/transition data | Capturar via Playwright + Gemini 3.0 (futuro) |
460
+ | **Responsividade** | Figma mostra layouts fixos, nao breakpoints reais | Definir breakpoints manualmente (mobile/tablet/desktop) |
461
+ | **Multi-pagina Figma** | Hoje so 1 de 78 paginas foi extraida | Precisa script de batch extraction (figma-scan.cjs existe, precisa ampliar) |
462
+ | **Acessibilidade visual** | Contraste pode ser validado, mas UX de leitor de tela nao | Testes manuais com NVDA/VoiceOver necessarios |
463
+
464
+ ### 7.3 O que o pipeline FAZ bem (automacao confiavel)
465
+
466
+ | Capacidade | Confianca | Fonte |
467
+ |------------|-----------|-------|
468
+ | Clustering perceptual de cores | 95%+ | Algoritmo matematico (deltaE) |
469
+ | Deteccao de base unit (4px/8px) | 99%+ | GCD matematico |
470
+ | Geracao de escala tipografica | 90%+ | Modular scale matematico |
471
+ | Validacao de contraste WCAG | 100% | Formula WCAG computable |
472
+ | Consolidacao de shadows por depth | 85%+ | Bucketing numerico |
473
+ | Mapping de radius para escala | 90%+ | Bucketing numerico |
474
+ | Deteccao de variantes de botao | 80%+ | Keyword analysis (heuristica) |
475
+ | Geracao de curation-report | 100% | Scoring formula definida |
476
+ | Validacao de quality gates | 100% | Thresholds numericos |
477
+
478
+ ---
479
+
480
+ ## 8. DECISOES ARQUITETURAIS (Workshop 2026-02-16)
481
+
482
+ Estas decisoes foram extraidas diretamente do workshop e sao **lei**:
483
+
484
+ 1. **"Governance Squad Creates, Execution Squad Uses"** — Os scripts de curadoria pertencem ao governance squad. O execution squad consume os tokens curados.
485
+
486
+ 2. **"Foundations Invisible, Not Customizable"** — Grid 4px, breakpoints, spacing scale sao padrao de mercado. Nao customizaveis por brand.
487
+
488
+ 3. **"Prompt Injection in Components"** — Todo componente gerado DEVE conter regras non-negotiable no header CSS (max words, CTA rules, error next-step).
489
+
490
+ 4. **"Reverse-Engineer > Infinite Research"** — Extrair padroes de sistemas validados (ClickMax tem milhoes investidos em UX) e mais rapido que pesquisar infinitamente.
491
+
492
+ 5. **"Synchronization Mandatory"** — Cada token curado deve triggerar atualizacao de: registry, metadata, MCP, tailwind.theme.css.
493
+
494
+ 6. **"Zero Hardcoded Values"** (Brad Frost) — Token ou nada. Scripts de validacao rejeitam qualquer #hex ou Npx hardcoded.
495
+
496
+ ---
497
+
498
+ ## 9. ROADMAP DE EXECUCAO
499
+
500
+ | Fase | Descricao | Dependencia | Esforco |
501
+ |------|-----------|-------------|---------|
502
+ | **10.1** | `curate_colors.cjs` — OKLCH clustering + contrast | figma-tokens-raw.json | 1 sessao |
503
+ | **10.2** | `curate_spacing.cjs` — GCD + harmonic scale | figma-tokens-raw.json | 0.5 sessao |
504
+ | **10.3** | `curate_typography.cjs` — Font consolidation | figma-tokens-raw.json | 0.5 sessao |
505
+ | **10.4** | `curate_shadows.cjs` — Depth bucketing | figma-tokens-raw.json | 0.5 sessao |
506
+ | **10.5** | `curate_radius.cjs` — Harmonic scale | figma-tokens-raw.json | 0.5 sessao |
507
+ | **10.6** | `generate_tokens.cjs` — Curated → CSS | 10.1-10.5 | 1 sessao |
508
+ | **10.7** | `generate_curation_report.cjs` — Scoring | 10.1-10.5 | 0.5 sessao |
509
+ | **10.8** | `validate_curation.cjs` — Quality gates | 10.7 | 0.5 sessao |
510
+ | **10.9** | Batch Figma extraction (78 paginas) | figma-scan.cjs | 1 sessao |
511
+ | **10.10** | Re-curate com dados completos | 10.9 | 1 sessao |
512
+
513
+ **Total estimado:** ~7 sessoes de trabalho
514
+
515
+ ---
516
+
517
+ ## 10. COMO VALIDAR O PIPELINE
518
+
519
+ ### Teste 1: Idempotencia
520
+ ```
521
+ Rodar pipeline 2x com mesmo input → output identico
522
+ ```
523
+
524
+ ### Teste 2: Regressao contra Lendario
525
+ ```
526
+ Rodar pipeline com dados Lendario → comparar com tokens manuais ja criados
527
+ Diferenca aceitavel: < 5% nos valores finais
528
+ ```
529
+
530
+ ### Teste 3: Novo brand (cold start)
531
+ ```
532
+ Extrair Figma de um 3o brand → pipeline produz DS valido sem intervencao manual?
533
+ Expectativa: 80-90% automatico, 10-20% revisao humana
534
+ ```
535
+
536
+ ### Teste 4: Quality gates bloqueiam corretamente
537
+ ```
538
+ Injetar dados com contraste invalido → pipeline DEVE rejeitar com FAIL
539
+ Injetar dados com < 85% reducao cores → pipeline DEVE retornar CONDITIONAL
540
+ ```
541
+
542
+ ---
543
+
544
+ ## 11. COMPARACAO COM EQUIPES SILICON VALLEY
545
+
546
+ | Aspecto | Enterprise (Material/Fluent/Carbon) | AIOS Pipeline |
547
+ |---------|-------------------------------------|---------------|
548
+ | **Token naming** | namespace-category-variant-scale | Mesmo padrao (W3C DTCG) |
549
+ | **Color space** | OKLCH / tonal palettes | OKLCH com deltaE clustering |
550
+ | **3-tier hierarchy** | Primitive → Semantic → Component | Identico |
551
+ | **Quality gates** | CI/CD automated | Scripts com thresholds numericos |
552
+ | **Accessibility** | WCAG AA built-in | Contraste automatico, ARIA manual |
553
+ | **Governance** | Federated (IBM) / Centralized (Google) | Governance Squad + validation scripts |
554
+ | **Machine-readable** | JSON APIs, Storybook | MCP server + metadata JSON |
555
+ | **Multi-brand** | Material Dynamic Color | Catalog multi-brand com brand.json |
556
+ | **Consolidation** | Manual by DS team | Algoritmos automaticos (85%+ reducao) |
557
+ | **Gap** | Equipes de 10-50 pessoas full-time | AI + scripts + revisao humana |
558
+
559
+ **Veredito:** O pipeline cobre ~85% do que uma equipe enterprise faz. Os 15% restantes sao: testes com usuarios reais, iteracao com stakeholders, edge cases de layout responsivo, e componentes complexos (calendar, rich text, etc.) que exigem construcao manual.
560
+
561
+ ---
562
+
563
+ ## RESUMO EXECUTIVO
564
+
565
+ **O que estamos propondo:**
566
+ 9 scripts Node.js que transformam dados brutos de Figma em tokens curados usando algoritmos matematicos (OKLCH deltaE, GCD, modular scale, depth bucketing) com quality gates numericos (>= 85% reducao cores, >= 4.5:1 contraste, >= 95% coverage).
567
+
568
+ **O que muda:**
569
+ - Hoje: curadoria 100% manual, sem rastreabilidade
570
+ - Depois: curadoria 80-90% automatica, com curation-report.json documentando cada decisao
571
+
572
+ **O que NAO muda:**
573
+ - Decisoes de identidade de marca continuam humanas
574
+ - Componentes complexos continuam sendo construidos manualmente
575
+ - Review humano continua obrigatorio antes de commit
576
+
577
+ **Proximo passo:** Aprovar proposta → Implementar Fase 10.1 (curate_colors.cjs) como prova de conceito.