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.
- package/.aiox-core/core/execution/predictive-pipeline.js +1283 -0
- package/.aiox-core/core/memory/decision-memory.js +564 -0
- package/.aiox-core/data/entity-registry.yaml +1068 -1028
- package/.aiox-core/data/registry-update-log.jsonl +2 -2
- package/.aiox-core/development/templates/service-template/README.md.hbs +158 -158
- package/.aiox-core/development/templates/service-template/__tests__/index.test.ts.hbs +237 -237
- package/.aiox-core/development/templates/service-template/client.ts.hbs +403 -403
- package/.aiox-core/development/templates/service-template/errors.ts.hbs +182 -182
- package/.aiox-core/development/templates/service-template/index.ts.hbs +120 -120
- package/.aiox-core/development/templates/service-template/package.json.hbs +87 -87
- package/.aiox-core/development/templates/service-template/types.ts.hbs +145 -145
- package/.aiox-core/development/templates/squad-template/LICENSE +21 -21
- package/.aiox-core/infrastructure/templates/aiox-sync.yaml.template +182 -182
- package/.aiox-core/infrastructure/templates/coderabbit.yaml.template +279 -279
- package/.aiox-core/infrastructure/templates/github-workflows/ci.yml.template +169 -169
- package/.aiox-core/infrastructure/templates/github-workflows/pr-automation.yml.template +330 -330
- package/.aiox-core/infrastructure/templates/github-workflows/release.yml.template +196 -196
- package/.aiox-core/infrastructure/templates/gitignore/gitignore-aiox-base.tmpl +63 -63
- package/.aiox-core/infrastructure/templates/gitignore/gitignore-brownfield-merge.tmpl +18 -18
- package/.aiox-core/infrastructure/templates/gitignore/gitignore-node.tmpl +85 -85
- package/.aiox-core/infrastructure/templates/gitignore/gitignore-python.tmpl +145 -145
- package/.aiox-core/install-manifest.yaml +63 -55
- package/.aiox-core/local-config.yaml.template +71 -71
- package/.aiox-core/monitor/hooks/lib/__init__.py +1 -1
- package/.aiox-core/monitor/hooks/lib/enrich.py +58 -58
- package/.aiox-core/monitor/hooks/lib/send_event.py +47 -47
- package/.aiox-core/monitor/hooks/notification.py +29 -29
- package/.aiox-core/monitor/hooks/post_tool_use.py +45 -45
- package/.aiox-core/monitor/hooks/pre_compact.py +29 -29
- package/.aiox-core/monitor/hooks/pre_tool_use.py +40 -40
- package/.aiox-core/monitor/hooks/stop.py +29 -29
- package/.aiox-core/monitor/hooks/subagent_stop.py +29 -29
- package/.aiox-core/monitor/hooks/user_prompt_submit.py +38 -38
- package/.aiox-core/product/templates/adr.hbs +125 -125
- package/.aiox-core/product/templates/dbdr.hbs +241 -241
- package/.aiox-core/product/templates/epic.hbs +212 -212
- package/.aiox-core/product/templates/pmdr.hbs +186 -186
- package/.aiox-core/product/templates/prd-v2.0.hbs +216 -216
- package/.aiox-core/product/templates/prd.hbs +201 -201
- package/.aiox-core/product/templates/story.hbs +263 -263
- package/.aiox-core/product/templates/task.hbs +170 -170
- package/.aiox-core/product/templates/tmpl-comment-on-examples.sql +158 -158
- package/.aiox-core/product/templates/tmpl-migration-script.sql +91 -91
- package/.aiox-core/product/templates/tmpl-rls-granular-policies.sql +104 -104
- package/.aiox-core/product/templates/tmpl-rls-kiss-policy.sql +10 -10
- package/.aiox-core/product/templates/tmpl-rls-roles.sql +135 -135
- package/.aiox-core/product/templates/tmpl-rls-simple.sql +77 -77
- package/.aiox-core/product/templates/tmpl-rls-tenant.sql +152 -152
- package/.aiox-core/product/templates/tmpl-rollback-script.sql +77 -77
- package/.aiox-core/product/templates/tmpl-seed-data.sql +140 -140
- package/.aiox-core/product/templates/tmpl-smoke-test.sql +16 -16
- package/.aiox-core/product/templates/tmpl-staging-copy-merge.sql +139 -139
- package/.aiox-core/product/templates/tmpl-stored-proc.sql +140 -140
- package/.aiox-core/product/templates/tmpl-trigger.sql +152 -152
- package/.aiox-core/product/templates/tmpl-view-materialized.sql +133 -133
- package/.aiox-core/product/templates/tmpl-view.sql +177 -177
- package/.aiox-core/scripts/pm.sh +0 -0
- package/.claude/hooks/enforce-architecture-first.py +196 -196
- package/.claude/hooks/mind-clone-governance.py +192 -192
- package/.claude/hooks/read-protection.py +151 -151
- package/.claude/hooks/slug-validation.py +176 -176
- package/.claude/hooks/sql-governance.py +182 -182
- package/.claude/hooks/write-path-validation.py +194 -194
- package/LICENSE +33 -33
- package/bin/aiox-graph.js +0 -0
- package/bin/aiox-minimal.js +0 -0
- package/bin/aiox.js +0 -0
- package/package.json +1 -1
- package/packages/aiox-install/bin/aiox-install.js +0 -0
- package/packages/aiox-install/bin/edmcp.js +0 -0
- package/packages/aiox-pro-cli/bin/aiox-pro.js +0 -0
- package/packages/installer/src/wizard/pro-setup.js +28 -0
- package/pro/README.md +66 -66
- package/pro/feature-registry.yaml +225 -223
- package/pro/license/license-api.js +701 -679
- package/pro/package.json +39 -39
- package/pro/pro-config.yaml +63 -63
- package/pro/squads/README.md +24 -24
- package/pro/squads/design/HEADLINE.md +3 -3
- package/pro/squads/design/README.md +109 -109
- package/pro/squads/design/agents/brad-frost.md +1097 -1097
- package/pro/squads/design/agents/dan-mall.md +857 -857
- package/pro/squads/design/agents/dave-malouf.md +2272 -2272
- package/pro/squads/design/agents/design-chief.md +114 -114
- package/pro/squads/design/agents/ds-foundations-lead.md +194 -194
- package/pro/squads/design/agents/ds-token-architect.md +361 -361
- package/pro/squads/design/agents/nano-banana-generator.md +162 -162
- package/pro/squads/design/agents/storybook-expert.md +809 -809
- package/pro/squads/design/checklists/atomic-refactor-checklist.md +299 -299
- package/pro/squads/design/checklists/component-adaptation-checklist.md +81 -81
- package/pro/squads/design/checklists/design-fidelity-checklist.md +283 -283
- package/pro/squads/design/checklists/design-handoff-checklist.md +55 -55
- package/pro/squads/design/checklists/design-team-health-checklist.md +454 -454
- package/pro/squads/design/checklists/designops-maturity-checklist.md +518 -518
- package/pro/squads/design/checklists/ds-a11y-release-gate-checklist.md +45 -45
- package/pro/squads/design/checklists/ds-accessibility-wcag-checklist.md +147 -147
- package/pro/squads/design/checklists/ds-component-quality-checklist.md +150 -150
- package/pro/squads/design/checklists/ds-critical-eye-review-checklist.md +147 -147
- package/pro/squads/design/checklists/ds-migration-readiness-checklist.md +99 -99
- package/pro/squads/design/checklists/ds-pattern-audit-checklist.md +164 -164
- package/pro/squads/design/checklists/reading-accessibility-checklist.md +275 -275
- package/pro/squads/design/checklists/token-mapping-checklist.md +107 -107
- package/pro/squads/design/config/coding-standards.md +286 -286
- package/pro/squads/design/config/source-tree.md +59 -59
- package/pro/squads/design/config/tech-stack.md +48 -48
- package/pro/squads/design/config.yaml +204 -204
- package/pro/squads/design/data/agentic-design-systems-guide.md +46 -46
- package/pro/squads/design/data/agentic-ds-principles.md +100 -100
- package/pro/squads/design/data/atomic-design-principles.md +108 -108
- package/pro/squads/design/data/atomic-refactor-rules.md +582 -582
- package/pro/squads/design/data/base-component-specs.md +972 -972
- package/pro/squads/design/data/brad-frost-analysis-extract-implicit.yaml +270 -270
- package/pro/squads/design/data/brad-frost-analysis-find-0.8.yaml +176 -176
- package/pro/squads/design/data/brad-frost-analysis-qa-report.yaml +168 -168
- package/pro/squads/design/data/brad-frost-dna.yaml +713 -713
- package/pro/squads/design/data/capability-tools.yaml +124 -124
- package/pro/squads/design/data/component-adaptation-changelog.md +318 -318
- package/pro/squads/design/data/consolidation-algorithms.md +168 -168
- package/pro/squads/design/data/critical-eye-scoring-rules.yaml +240 -240
- package/pro/squads/design/data/design-token-best-practices.md +107 -107
- package/pro/squads/design/data/design-tokens-spec.yaml +418 -418
- package/pro/squads/design/data/ds-reference-architectures.md +93 -93
- package/pro/squads/design/data/f2-qa-report.md +168 -168
- package/pro/squads/design/data/f3-derived-components-changelog.md +100 -100
- package/pro/squads/design/data/f3-qa-report.md +208 -208
- package/pro/squads/design/data/figma-base-components-raw.md +101 -101
- package/pro/squads/design/data/figma-tokens-raw.md +1548 -1548
- package/pro/squads/design/data/fluent2-design-principles.md +114 -114
- package/pro/squads/design/data/high-retention-reading-guide.md +349 -349
- package/pro/squads/design/data/integration-patterns.md +207 -207
- package/pro/squads/design/data/internal-quality-chain.yaml +48 -48
- package/pro/squads/design/data/motion-tokens-guide.md +202 -202
- package/pro/squads/design/data/roi-calculation-guide.md +142 -142
- package/pro/squads/design/data/token-mapping-reference.md +213 -213
- package/pro/squads/design/data/w3c-dtcg-spec-reference.md +149 -149
- package/pro/squads/design/data/wcag-compliance-guide.md +267 -267
- package/pro/squads/design/docs/AUDIT_REPORT.md +97 -97
- package/pro/squads/design/docs/DS-CURATION-PIPELINE-PROPOSAL.md +577 -577
- package/pro/squads/design/docs/UPGRADE_PLAN.md +618 -618
- package/pro/squads/design/docs/brad-frost-research-validation.md +372 -372
- package/pro/squads/design/docs/dave-malouf-research-validation.md +391 -391
- package/pro/squads/design/docs/tool-discovery-report.md +87 -87
- package/pro/squads/design/docs/tool-integration-plan.md +44 -44
- package/pro/squads/design/protocols/ai-first-governance.md +56 -56
- package/pro/squads/design/protocols/governance-execution-boundary.md +59 -59
- package/pro/squads/design/protocols/handoff.md +60 -60
- package/pro/squads/design/rules/.claude-rules.md +88 -88
- package/pro/squads/design/scripts/design-system/curate_colors.cjs +447 -447
- package/pro/squads/design/scripts/design-system/curate_components.cjs +217 -217
- package/pro/squads/design/scripts/design-system/curate_radius.cjs +190 -190
- package/pro/squads/design/scripts/design-system/curate_shadows.cjs +208 -208
- package/pro/squads/design/scripts/design-system/curate_spacing.cjs +243 -243
- package/pro/squads/design/scripts/design-system/curate_typography.cjs +404 -404
- package/pro/squads/design/scripts/design-system/design-system-metadata.test.js +49 -49
- package/pro/squads/design/scripts/design-system/design_manifest_lib.cjs +142 -142
- package/pro/squads/design/scripts/design-system/fetch_page_images.cjs +195 -195
- package/pro/squads/design/scripts/design-system/generate_components_metadata.cjs +114 -114
- package/pro/squads/design/scripts/design-system/generate_curation_report.cjs +258 -258
- package/pro/squads/design/scripts/design-system/generate_tokens.cjs +342 -342
- package/pro/squads/design/scripts/design-system/sync_design_manifest.cjs +27 -27
- package/pro/squads/design/scripts/design-system/test_mcp_tools.cjs +232 -232
- package/pro/squads/design/scripts/design-system/validate_components_metadata.cjs +96 -96
- package/pro/squads/design/scripts/design-system/validate_curation.cjs +226 -226
- package/pro/squads/design/scripts/design-system/validate_design_manifest_drift.cjs +72 -72
- package/pro/squads/design/scripts/design-system/validate_mcp_skeleton.cjs +38 -38
- package/pro/squads/design/scripts/design-system/validate_registry.cjs +186 -186
- package/pro/squads/design/scripts/design-system/validate_task_checklist_bindings.cjs +78 -78
- package/pro/squads/design/scripts/dissect-artifact.cjs +806 -806
- package/pro/squads/design/scripts/validate-a11y-integration.cjs +40 -40
- package/pro/squads/design/scripts/validate-design-squad.py +411 -411
- package/pro/squads/design/squad.yaml +714 -714
- package/pro/squads/design/tasks/a11y-audit.md +340 -340
- package/pro/squads/design/tasks/aria-audit.md +525 -525
- package/pro/squads/design/tasks/atomic-refactor-execute.md +391 -391
- package/pro/squads/design/tasks/atomic-refactor-plan.md +262 -262
- package/pro/squads/design/tasks/audit-reading-experience.md +350 -350
- package/pro/squads/design/tasks/audit-tailwind-config.md +101 -101
- package/pro/squads/design/tasks/bootstrap-shadcn-library.md +96 -96
- package/pro/squads/design/tasks/bundle-audit.md +245 -245
- package/pro/squads/design/tasks/contrast-matrix.md +373 -373
- package/pro/squads/design/tasks/create-doc.md +135 -135
- package/pro/squads/design/tasks/dead-code-detection.md +329 -329
- package/pro/squads/design/tasks/design-compare.md +414 -414
- package/pro/squads/design/tasks/design-process-optimization.md +407 -407
- package/pro/squads/design/tasks/design-review-orchestration.md +99 -99
- package/pro/squads/design/tasks/design-team-scaling.md +407 -407
- package/pro/squads/design/tasks/design-tooling-audit.md +404 -404
- package/pro/squads/design/tasks/design-triage.md +89 -89
- package/pro/squads/design/tasks/designops-maturity-assessment.md +364 -364
- package/pro/squads/design/tasks/designops-metrics-setup.md +465 -465
- package/pro/squads/design/tasks/ds-agentic-audit.md +100 -100
- package/pro/squads/design/tasks/ds-agentic-setup.md +103 -103
- package/pro/squads/design/tasks/ds-audit-codebase.md +273 -273
- package/pro/squads/design/tasks/ds-build-component.md +349 -349
- package/pro/squads/design/tasks/ds-build-mcp-server.md +84 -84
- package/pro/squads/design/tasks/ds-calculate-roi.md +282 -282
- package/pro/squads/design/tasks/ds-compose-molecule.md +106 -106
- package/pro/squads/design/tasks/ds-consolidate-patterns.md +253 -253
- package/pro/squads/design/tasks/ds-context-contract.md +194 -194
- package/pro/squads/design/tasks/ds-critical-eye-compare.md +130 -130
- package/pro/squads/design/tasks/ds-critical-eye-decide.md +139 -139
- package/pro/squads/design/tasks/ds-critical-eye-inventory.md +111 -111
- package/pro/squads/design/tasks/ds-critical-eye-report.md +101 -101
- package/pro/squads/design/tasks/ds-critical-eye-score.md +109 -109
- package/pro/squads/design/tasks/ds-designops.md +99 -99
- package/pro/squads/design/tasks/ds-extend-pattern.md +91 -91
- package/pro/squads/design/tasks/ds-extract-tokens.md +312 -312
- package/pro/squads/design/tasks/ds-figma-pipeline.md +95 -95
- package/pro/squads/design/tasks/ds-fluent-audit.md +105 -105
- package/pro/squads/design/tasks/ds-fluent-build.md +110 -110
- package/pro/squads/design/tasks/ds-generate-ai-metadata.md +81 -81
- package/pro/squads/design/tasks/ds-generate-cursor-rules.md +74 -74
- package/pro/squads/design/tasks/ds-generate-documentation.md +101 -101
- package/pro/squads/design/tasks/ds-generate-migration-strategy.md +331 -331
- package/pro/squads/design/tasks/ds-generate-shock-report.md +323 -323
- package/pro/squads/design/tasks/ds-govern-a11y-compliance.md +93 -93
- package/pro/squads/design/tasks/ds-governance.md +187 -187
- package/pro/squads/design/tasks/ds-health-metrics.md +278 -278
- package/pro/squads/design/tasks/ds-integrate-squad.md +130 -130
- package/pro/squads/design/tasks/ds-integrate-workspace.md +100 -100
- package/pro/squads/design/tasks/ds-legacy-modernization.md +302 -302
- package/pro/squads/design/tasks/ds-mcp-status.md +65 -65
- package/pro/squads/design/tasks/ds-motion-audit.md +118 -118
- package/pro/squads/design/tasks/ds-multi-framework.md +96 -96
- package/pro/squads/design/tasks/ds-parallelization-gate.md +246 -246
- package/pro/squads/design/tasks/ds-query.md +90 -90
- package/pro/squads/design/tasks/ds-rebuild-artifact.md +369 -369
- package/pro/squads/design/tasks/ds-reverse-engineer.md +194 -194
- package/pro/squads/design/tasks/ds-scan-artifact.md +131 -131
- package/pro/squads/design/tasks/ds-setup-design-system.md +297 -297
- package/pro/squads/design/tasks/ds-sync-registry.md +287 -287
- package/pro/squads/design/tasks/ds-theme-multi-brand.md +90 -90
- package/pro/squads/design/tasks/ds-token-modes.md +108 -108
- package/pro/squads/design/tasks/ds-token-w3c-extract.md +105 -105
- package/pro/squads/design/tasks/ds-validate-ai-readiness.md +69 -69
- package/pro/squads/design/tasks/ds-visual-regression.md +130 -130
- package/pro/squads/design/tasks/execute-checklist.md +141 -141
- package/pro/squads/design/tasks/export-design-tokens-dtcg.md +97 -97
- package/pro/squads/design/tasks/f1-apply-foundations.md +154 -154
- package/pro/squads/design/tasks/f1-ingest-figma-tokens.md +130 -130
- package/pro/squads/design/tasks/f1-map-tokens-to-shadcn.md +145 -145
- package/pro/squads/design/tasks/f1-qa-foundations.md +95 -95
- package/pro/squads/design/tasks/f2-adapt-shadcn-components.md +155 -155
- package/pro/squads/design/tasks/f2-ingest-base-components.md +148 -148
- package/pro/squads/design/tasks/f2-qa-base-components.md +98 -98
- package/pro/squads/design/tasks/f3-derive-components.md +145 -145
- package/pro/squads/design/tasks/f3-qa-derived-components.md +101 -101
- package/pro/squads/design/tasks/focus-order-audit.md +450 -450
- package/pro/squads/design/tasks/sb-brownfield-migrate.md +367 -367
- package/pro/squads/design/tasks/sb-brownfield-scan.md +318 -318
- package/pro/squads/design/tasks/sb-configure.md +230 -230
- package/pro/squads/design/tasks/sb-expand-shadcn.md +213 -213
- package/pro/squads/design/tasks/sb-generate-all-stories.md +288 -288
- package/pro/squads/design/tasks/sb-install.md +152 -152
- package/pro/squads/design/tasks/sb-sync-workspace.md +239 -239
- package/pro/squads/design/tasks/sb-verify.md +203 -203
- package/pro/squads/design/tasks/tailwind-upgrade.md +117 -117
- package/pro/squads/design/tasks/token-usage-analytics.md +262 -262
- package/pro/squads/design/tasks/ux-rewrite-sixth-grade.md +82 -82
- package/pro/squads/design/tasks/validate-design-fidelity.md +222 -222
- package/pro/squads/design/templates/agent-template.yaml +46 -46
- package/pro/squads/design/templates/clone-mind-template.md +352 -352
- package/pro/squads/design/templates/component-prompt-injection-tmpl.md +236 -236
- package/pro/squads/design/templates/component-visual-spec-tmpl.md +378 -378
- package/pro/squads/design/templates/critical-eye-cycle-report-tmpl.md +165 -165
- package/pro/squads/design/templates/design-fidelity-report-tmpl.md +155 -155
- package/pro/squads/design/templates/ds-ai-component-metadata-schema-tmpl.json +138 -138
- package/pro/squads/design/templates/ds-artifact-analysis.md +70 -70
- package/pro/squads/design/templates/ds-health-report-tmpl.md +236 -236
- package/pro/squads/design/templates/ds-migration-strategy-tmpl.md +524 -524
- package/pro/squads/design/templates/ds-state-persistence-tmpl.yaml +194 -194
- package/pro/squads/design/templates/ds-tokens-schema-tmpl.yaml +139 -139
- package/pro/squads/design/templates/migration-strategy-tmpl.md +524 -524
- package/pro/squads/design/templates/reading-design-tokens.css +26 -26
- package/pro/squads/design/templates/state-persistence-tmpl.yaml +219 -219
- package/pro/squads/design/templates/tokens-schema-tmpl.yaml +305 -305
- package/pro/squads/design/workflows/agentic-readiness.yaml +83 -83
- package/pro/squads/design/workflows/audit-only.yaml +198 -198
- package/pro/squads/design/workflows/brownfield-complete.yaml +257 -257
- package/pro/squads/design/workflows/critical-eye.yaml +184 -184
- package/pro/squads/design/workflows/dtcg-tokens-governance.yaml +64 -64
- package/pro/squads/design/workflows/foundations-pipeline.yaml +192 -192
- package/pro/squads/design/workflows/greenfield-new.yaml +192 -192
- package/pro/squads/design/workflows/motion-quality.yaml +65 -65
- package/pro/squads/design/workflows/self-healing-workflow.yaml +237 -237
- package/pro/squads/design/workflows/storybook-brownfield-migration.yaml +400 -400
- package/pro/squads/design/workflows/storybook-full-setup.yaml +280 -280
- package/pro/squads/mmos-squad/minds/alex_hormozi/artifacts/ARQUITETURA_COGNITIVA_DE_ALEX_HORMOZI_EXTRA/303/207/303/203O_COMPLETA.md +215 -0
- 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
- 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
- package/pro/squads/mmos-squad/minds/alex_hormozi/artifacts/Processo_Cria/303/247/303/243o_Conte/303/272do_Hormozi.md +0 -0
- 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
- 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
- package/pro/squads/mmos-squad/minds/brad_frost/.backup/2026-01-13/artifacts/O_Cemit/303/251rio_de_Design_Systems.md +447 -0
- package/pro/squads/mmos-squad/minds/brad_frost/.backup/2026-01-13/artifacts/PRINC/303/215PIOS_DE_RACIOC/303/215NIO.md +190 -0
- package/pro/squads/mmos-squad/minds/brad_frost/artifacts/DECIS/303/225ES_ESTRAT/303/211GICAS_DE_DESIGN_SYSTEMS_(2022_2025).md +1038 -0
- package/pro/squads/mmos-squad/minds/brad_frost/artifacts/FRAMEWORK_COMPLETO_DE_IMPLEMENTA/303/207/303/203O_ATOMIC_DESIGN.md +797 -0
- package/pro/squads/mmos-squad/minds/brad_frost/artifacts/O_Cemit/303/251rio_de_Design_Systems.md +447 -0
- package/pro/squads/mmos-squad/minds/brad_frost/artifacts/PRINC/303/215PIOS_DE_RACIOC/303/215NIO.md +190 -0
- package/pro/squads/mmos-squad/minds/elon_musk/artifacts/AN/303/201LISE_PSICOM/303/211TRICA_PROFUNDA_ELON_MUSK.md +291 -0
- package/pro/squads/mmos-squad/minds/elon_musk/artifacts/ASSINATURA_LINGU/303/215STICA_ELON_MUSK.md +485 -0
- 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
- 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
- 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
- package/pro/squads/mmos-squad/minds/elon_musk/artifacts/Uma_an/303/241lise_psicol/303/263gica_abrangente.md +187 -0
- package/pro/squads/mmos-squad/minds/eugene_schwartz/artifacts/AN/303/201LISE_PSICOM/303/211TRICA_PROFUNDA_EUGENE_M._SCHWARTZ.md +790 -0
- package/pro/squads/mmos-squad/minds/eugene_schwartz/artifacts/An/303/241lise_Completa_Eugene_Schwartz_Arquitetura_Cognitiva_DEEP.md +210 -0
- 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
- 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
- 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
- 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
- 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
- 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
- package/pro/squads/mmos-squad/minds/pedro_valerio/sources/artifacts_v1.6/EXTRA/303/207/303/203O_PEDRO_VAL/303/211RIO.md +237 -0
- package/pro/squads/mmos-squad/minds/pedro_valerio/sources/artifacts_v1.6/MAPEAMENTO_LINGU/303/215STICO_PROFUNDO.md +161 -0
- package/pro/squads/mmos-squad/minds/pedro_valerio/sources/artifacts_v1.6/META_AXIOMAS_DE_PEDRO_VAL/303/211RIO.md +256 -0
- 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
- 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
- package/pro/squads/mmos-squad/minds/pedro_valerio/sources/artifacts_v1.6/TABELA_COMPARATIVA_AN/303/201LISE_COMPLETA_DOS_CLONES_IA.md +102 -0
- 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
- 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
- package/pro/squads/mmos-squad/minds/ray_kurzweil/sources/books/PROTOCOLO_COMPLETO_DE_INTERROGA/303/207/303/203O_-_NAVAL_RAVIKANT.md +3624 -0
- package/pro/squads/mmos-squad/minds/steve_jobs/artifacts/FRAMEWORK_COMPLETO_DE_IMPLEMENTA/303/207/303/203O_JOBS.md +488 -0
- package/pro/squads/mmos-squad/minds/steve_jobs/artifacts/Framework_Cabe/303/247a_Steve.md +257 -0
- 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
- 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
- package/pro/squads/squad-creator-pro/HEADLINE.md +3 -3
- package/pro/squads/squad-creator-pro/agents/oalanicolas.md +438 -438
- package/pro/squads/squad-creator-pro/agents/squad-chief.md +1651 -1651
- package/pro/squads/squad-creator-pro/agents/thiago_finch.md +976 -976
- package/pro/squads/squad-creator-pro/assessments/axioma-assessment-wf-create-squad.yaml +325 -325
- package/pro/squads/squad-creator-pro/checklists/create-agent-checklist.md +184 -184
- package/pro/squads/squad-creator-pro/checklists/create-squad-checklist.md +219 -219
- package/pro/squads/squad-creator-pro/checklists/create-workflow-checklist.md +224 -224
- package/pro/squads/squad-creator-pro/checklists/mental-model-integration-checklist.md +95 -95
- package/pro/squads/squad-creator-pro/checklists/squad-overview-checklist.md +393 -393
- package/pro/squads/squad-creator-pro/config/model-routing.yaml +693 -693
- package/pro/squads/squad-creator-pro/config/scoring-rubric.yaml +199 -199
- package/pro/squads/squad-creator-pro/config.yaml +35 -35
- package/pro/squads/squad-creator-pro/data/internal-infrastructure-library.yaml +99 -99
- package/pro/squads/squad-creator-pro/data/mental-model-task-matrix.yaml +692 -692
- package/pro/squads/squad-creator-pro/docs/ADR-001-model-tier-qualification.md +344 -344
- package/pro/squads/squad-creator-pro/docs/AGENT-COLLABORATION.md +609 -609
- package/pro/squads/squad-creator-pro/docs/MIGRATION-PLAN-AGENT-CONFORMITY.md +861 -861
- package/pro/squads/squad-creator-pro/docs/MODEL-TIER-QUALIFICATION.md +337 -337
- package/pro/squads/squad-creator-pro/docs/optimize-v4-proposal.md +354 -354
- package/pro/squads/squad-creator-pro/docs/task-optimization-framework.md +229 -229
- package/pro/squads/squad-creator-pro/minds/oalanicolas/heuristics/AN_KE_010.md +240 -240
- package/pro/squads/squad-creator-pro/protocols/ai-first-governance.md +63 -63
- package/pro/squads/squad-creator-pro/scripts/assess-sources.sh +443 -443
- package/pro/squads/squad-creator-pro/scripts/clone-review.sh +394 -394
- package/pro/squads/squad-creator-pro/scripts/create-agent-preflight.py +243 -243
- package/pro/squads/squad-creator-pro/scripts/cross-provider/compare-results.js +281 -281
- package/pro/squads/squad-creator-pro/scripts/cross-provider/cross-provider-runner.js +462 -462
- package/pro/squads/squad-creator-pro/scripts/fidelity-score.sh +519 -519
- package/pro/squads/squad-creator-pro/scripts/generate-squad-guide.js +558 -558
- package/pro/squads/squad-creator-pro/scripts/lib/config-loader.js +151 -151
- package/pro/squads/squad-creator-pro/scripts/model-tier-validator.cjs +369 -369
- package/pro/squads/squad-creator-pro/scripts/model-usage-logger.cjs +245 -245
- package/pro/squads/squad-creator-pro/scripts/modernization-score.sh +308 -308
- package/pro/squads/squad-creator-pro/scripts/scaffold-squad.cjs +281 -281
- package/pro/squads/squad-creator-pro/scripts/security_scanner.py +378 -378
- package/pro/squads/squad-creator-pro/scripts/squad-context-loader.cjs +205 -205
- package/pro/squads/squad-creator-pro/scripts/squad-state-manager.cjs +451 -451
- package/pro/squads/squad-creator-pro/scripts/squad-workflow-runner.cjs +471 -471
- package/pro/squads/squad-creator-pro/scripts/squad_utils.py +261 -261
- package/pro/squads/squad-creator-pro/scripts/tests/run_bash_tests.sh +29 -29
- package/pro/squads/squad-creator-pro/scripts/tests/test_assess_sources.sh +216 -216
- package/pro/squads/squad-creator-pro/scripts/tests/test_clone_review.sh +239 -239
- package/pro/squads/squad-creator-pro/scripts/tests/test_coherence_validator.py +212 -212
- package/pro/squads/squad-creator-pro/scripts/tests/test_fidelity_score.sh +298 -298
- package/pro/squads/squad-creator-pro/scripts/tests/test_modernization_score.sh +211 -211
- package/pro/squads/squad-creator-pro/scripts/tests/test_security_scanner.py +354 -354
- package/pro/squads/squad-creator-pro/scripts/tests/test_validate_clone.sh +252 -252
- package/pro/squads/squad-creator-pro/squad.yaml +36 -36
- package/pro/squads/squad-creator-pro/tasks/an-compare-outputs.md +354 -354
- package/pro/squads/squad-creator-pro/tasks/create-squad.md +933 -933
- package/pro/squads/squad-creator-pro/tasks/detect-squad-context.md +81 -81
- package/pro/squads/squad-creator-pro/tasks/lookup-model.md +78 -78
- package/pro/squads/squad-creator-pro/tasks/next-squad.md +487 -487
- package/pro/squads/squad-creator-pro/tasks/optimize-workflow.md +851 -851
- package/pro/squads/squad-creator-pro/tasks/parallel-discovery.md +58 -58
- package/pro/squads/squad-creator-pro/tasks/pv-axioma-assessment-wf-clone-mind.yaml +256 -256
- package/pro/squads/squad-creator-pro/tasks/qualify-task.md +265 -265
- package/pro/squads/squad-creator-pro/tasks/reexecute-squad-phase.md +64 -64
- package/pro/squads/squad-creator-pro/tasks/smoke-test-model-routing.md +167 -167
- package/pro/squads/squad-creator-pro/tasks/squad-overview.md +683 -683
- package/pro/squads/squad-creator-pro/tasks/validate-final-artifacts.md +80 -80
- package/pro/squads/squad-creator-pro/templates/orchestrator-tmpl.md +74 -74
- package/pro/squads/squad-creator-pro/test-cases/BATCH-PROGRESS.md +268 -268
- package/pro/squads/squad-creator-pro/test-cases/QUALIFICATION-DASHBOARD.yaml +13 -13
- package/pro/squads/squad-creator-pro/test-cases/_template.yaml +147 -147
- package/pro/squads/squad-creator-pro/test-cases/an-assess-sources/ASSESSMENT-SUMMARY.md +275 -275
- package/pro/squads/squad-creator-pro/test-cases/an-assess-sources/ASSESSMENT_SUMMARY.md +140 -140
- package/pro/squads/squad-creator-pro/test-cases/an-assess-sources/CHECKPOINT_MATRIX.md +202 -202
- package/pro/squads/squad-creator-pro/test-cases/an-assess-sources/EXECUTION-REPORT.md +413 -413
- package/pro/squads/squad-creator-pro/test-cases/an-assess-sources/EXECUTION_NOTES.md +358 -358
- package/pro/squads/squad-creator-pro/test-cases/an-assess-sources/README-v2.2.2.md +299 -299
- package/pro/squads/squad-creator-pro/test-cases/an-assess-sources/README.md +320 -320
- package/pro/squads/squad-creator-pro/test-cases/an-assess-sources/TEST-REPORT-v2.1.md +351 -351
- package/pro/squads/squad-creator-pro/test-cases/an-assess-sources/VERIFICATION-CHECKLIST.txt +247 -247
- package/pro/squads/squad-creator-pro/test-cases/an-assess-sources/formal-qualification-report.yaml +389 -389
- package/pro/squads/squad-creator-pro/test-cases/an-assess-sources/haiku-output.yaml +366 -366
- package/pro/squads/squad-creator-pro/test-cases/an-assess-sources/haiku-v2.1-output.yaml +452 -452
- package/pro/squads/squad-creator-pro/test-cases/an-assess-sources/haiku-v2.2.1-output.yaml +281 -281
- package/pro/squads/squad-creator-pro/test-cases/an-assess-sources/haiku-v2.2.2-output.yaml +332 -332
- package/pro/squads/squad-creator-pro/test-cases/an-assess-sources/opus-baseline.yaml +517 -517
- package/pro/squads/squad-creator-pro/test-cases/an-assess-sources/qualification-report.yaml +213 -213
- package/pro/squads/squad-creator-pro/test-cases/an-assess-sources/test-case.yaml +69 -69
- package/pro/squads/squad-creator-pro/test-cases/an-clone-review/haiku-round-1.yaml +213 -213
- package/pro/squads/squad-creator-pro/test-cases/an-clone-review/opus-baseline.yaml +566 -566
- package/pro/squads/squad-creator-pro/test-cases/an-clone-review/qualification-report.yaml +82 -82
- package/pro/squads/squad-creator-pro/test-cases/an-design-clone/test-case.yaml +102 -102
- package/pro/squads/squad-creator-pro/test-cases/an-extract-dna/test-case.yaml +105 -105
- package/pro/squads/squad-creator-pro/test-cases/an-fidelity-score/haiku-round-1.yaml +262 -262
- package/pro/squads/squad-creator-pro/test-cases/an-fidelity-score/opus-baseline.yaml +266 -266
- package/pro/squads/squad-creator-pro/test-cases/an-fidelity-score/qualification-report.yaml +94 -94
- package/pro/squads/squad-creator-pro/test-cases/an-validate-clone/haiku-round-1.yaml +282 -282
- package/pro/squads/squad-creator-pro/test-cases/an-validate-clone/opus-baseline.yaml +470 -470
- package/pro/squads/squad-creator-pro/test-cases/an-validate-clone/qualification-report.yaml +106 -106
- package/pro/squads/squad-creator-pro/test-cases/collect-sources/test-case.yaml +105 -105
- package/pro/squads/squad-creator-pro/test-cases/create-task/test-case.yaml +104 -104
- package/pro/squads/squad-creator-pro/test-cases/cross-provider/DASHBOARD.yaml +11 -11
- package/pro/squads/squad-creator-pro/test-cases/pv-audit/test-case.yaml +106 -106
- package/pro/squads/squad-creator-pro/test-cases/pv-axioma-assessment/haiku-output.yaml +209 -209
- package/pro/squads/squad-creator-pro/test-cases/pv-axioma-assessment/opus-baseline.yaml +96 -96
- package/pro/squads/squad-creator-pro/test-cases/pv-axioma-assessment/sonnet-output.yaml +30 -30
- package/pro/squads/squad-creator-pro/test-cases/pv-axioma-assessment/test-case.yaml +129 -129
- package/pro/squads/squad-creator-pro/test-cases/pv-modernization-score/comparison-round-1.yaml +242 -242
- package/pro/squads/squad-creator-pro/test-cases/pv-modernization-score/haiku-round-1.yaml +393 -393
- package/pro/squads/squad-creator-pro/test-cases/pv-modernization-score/opus-baseline.yaml +488 -488
- package/pro/squads/squad-creator-pro/test-cases/pv-modernization-score/qualification-report.yaml +74 -74
- package/pro/squads/squad-creator-pro/test-cases/qa-after-creation/haiku-round-1.yaml +292 -292
- package/pro/squads/squad-creator-pro/test-cases/qa-after-creation/opus-baseline.yaml +603 -603
- package/pro/squads/squad-creator-pro/test-cases/qa-after-creation/qualification-report.yaml +97 -97
- package/pro/squads/squad-creator-pro/test-cases/smoke-test-model-routing/test-case.yaml +100 -100
- package/pro/squads/squad-creator-pro/test-cases/upgrade-squad/test-case.yaml +106 -106
- package/pro/squads/squad-creator-pro/test-cases/validate-squad/comparison-round-1.yaml +223 -223
- package/pro/squads/squad-creator-pro/test-cases/validate-squad/haiku-round-1-MINE.yaml +36 -36
- package/pro/squads/squad-creator-pro/test-cases/validate-squad/haiku-round-1.yaml +193 -193
- package/pro/squads/squad-creator-pro/test-cases/validate-squad/haiku-round-2.yaml +303 -303
- package/pro/squads/squad-creator-pro/test-cases/validate-squad/haiku-round-3-v4-task.yaml +149 -149
- package/pro/squads/squad-creator-pro/test-cases/validate-squad/opus-baseline.yaml +529 -529
- package/pro/squads/squad-creator-pro/test-cases/validate-squad/opus-round-3-v4-task.yaml +132 -132
- package/pro/squads/squad-creator-pro/test-cases/validate-squad/qualification-report.yaml +104 -104
- package/pro/squads/squad-creator-pro/test-cases/wf-clone-mind/haiku-output-v2-calibrated.yaml +200 -200
- package/pro/squads/squad-creator-pro/test-cases/wf-clone-mind/haiku-output.yaml +183 -183
- package/pro/squads/squad-creator-pro/test-cases/wf-clone-mind/opus-baseline.yaml +112 -112
- package/pro/squads/squad-creator-pro/workflows/create-squad.yaml +348 -348
- package/pro/squads/squad-creator-pro/workflows/modules/module-discovery.yaml +16 -16
- package/pro/squads/squad-creator-pro/workflows/modules/module-integration.yaml +16 -16
- package/pro/squads/squad-creator-pro/workflows/modules/module-quality-gates.yaml +15 -15
- package/pro/squads/squad-creator-pro/workflows/wf-brownfield-upgrade-squad.yaml +46 -46
- package/pro/squads/squad-creator-pro/workflows/wf-context-aware-create-squad.yaml +47 -47
- package/pro/squads/squad-creator-pro/workflows/wf-create-squad.yaml +1619 -1619
- package/pro/squads/squad-creator-pro/workflows/wf-cross-provider-qualification.yaml +711 -711
- package/pro/squads/squad-creator-pro/workflows/wf-model-tier-qualification.yaml +800 -800
- package/pro/squads/squad-creator-pro/workflows/wf-optimize-squad.yaml +684 -684
- package/scripts/check-markdown-links.py +352 -352
- package/scripts/dashboard-parallel-dev.sh +0 -0
- package/scripts/dashboard-parallel-phase3.sh +0 -0
- package/scripts/dashboard-parallel-phase4.sh +0 -0
- package/scripts/install-monitor-hooks.sh +0 -0
- package/.claude/hooks/code-intel-pretool.cjs +0 -107
- package/docs/guides/aios-workflows/README.md +0 -247
- package/docs/guides/aios-workflows/bob-orchestrator-workflow.md +0 -1536
- package/scripts/glue/README.md +0 -355
- package/scripts/glue/compose-agent-prompt.cjs +0 -362
|
@@ -1,150 +1,150 @@
|
|
|
1
|
-
# Component Quality Checklist
|
|
2
|
-
|
|
3
|
-
**Purpose:** Validate component before marking complete
|
|
4
|
-
**Agent:** Merovingian (Design System Builder)
|
|
5
|
-
**Standard:** Production-ready React/TypeScript components
|
|
6
|
-
|
|
7
|
-
---
|
|
8
|
-
|
|
9
|
-
## CODE QUALITY
|
|
10
|
-
|
|
11
|
-
- [ ] TypeScript compiles with zero errors
|
|
12
|
-
→ Fix: Run `tsc --noEmit` and resolve each error by type. Most common: missing prop types, incorrect event handler signatures
|
|
13
|
-
- [ ] No `any` types used
|
|
14
|
-
→ Fix: Replace `any` with specific types. Use `unknown` + type guard for truly dynamic data. Search: `grep -rn ': any' src/`
|
|
15
|
-
- [ ] Props fully typed with interface
|
|
16
|
-
→ Fix: Create `interface {Component}Props` with each prop explicitly typed. Avoid `Record<string, unknown>` for known shapes
|
|
17
|
-
- [ ] All props documented with TSDoc comments
|
|
18
|
-
→ Fix: Add `/** description */` TSDoc comment above each prop in the interface. Include `@default` for optional props
|
|
19
|
-
- [ ] Component exported correctly
|
|
20
|
-
→ Fix: Ensure `export const {Component}` or named export in index.ts. Verify barrel file re-exports: `export { Component } from './Component'`
|
|
21
|
-
|
|
22
|
-
---
|
|
23
|
-
|
|
24
|
-
## STYLING
|
|
25
|
-
|
|
26
|
-
- [ ] All styling uses tokens (zero hardcoded values)
|
|
27
|
-
→ Fix: `grep -rn '#[0-9a-f]' *.module.css` to find hardcoded values, replace with `var(--token-name)`
|
|
28
|
-
- [ ] CSS Modules or chosen approach used consistently
|
|
29
|
-
→ Fix: Rename .css to .module.css, update imports to `import styles from './X.module.css'`
|
|
30
|
-
- [ ] No inline styles
|
|
31
|
-
→ Fix: `grep -rn 'style={{' *.tsx` — move all inline styles to CSS Module classes
|
|
32
|
-
- [ ] Responsive design implemented (if needed)
|
|
33
|
-
→ Fix: Add `@media` queries for sm/md/lg breakpoints using token breakpoint values
|
|
34
|
-
- [ ] All variants styled correctly
|
|
35
|
-
→ Fix: Create CSS class per variant (`.primary`, `.secondary`), verify each renders differently in Storybook
|
|
36
|
-
|
|
37
|
-
---
|
|
38
|
-
|
|
39
|
-
## ACCESSIBILITY (WCAG AA MINIMUM)
|
|
40
|
-
|
|
41
|
-
- [ ] Semantic HTML elements used
|
|
42
|
-
→ Fix: Replace `<div onClick>` with `<button>`, `<div>` navigation with `<nav>`, generic containers with `<section>`/`<article>`
|
|
43
|
-
- [ ] ARIA attributes present where needed
|
|
44
|
-
→ Fix: Add `aria-label` for icon-only buttons, `aria-expanded` for toggles, `role` only when no native semantic equivalent
|
|
45
|
-
- [ ] Color contrast ≥4.5:1 for text
|
|
46
|
-
→ Fix: Use `*contrast-matrix` to find failing pairs, adjust to nearest compliant token color
|
|
47
|
-
- [ ] Keyboard navigation works (Tab, Enter, Space)
|
|
48
|
-
→ Fix: Ensure `onKeyDown` handles Enter/Space for custom interactive elements. Native `<button>` gets this for free
|
|
49
|
-
- [ ] Focus indicators visible
|
|
50
|
-
→ Fix: Add `:focus-visible` style with `outline: 2px solid var(--color-focus)` and `outline-offset: 2px`
|
|
51
|
-
- [ ] Disabled state handled correctly
|
|
52
|
-
→ Fix: Add `aria-disabled="true"` + visual dimming + prevent onClick via `pointer-events: none` or early return
|
|
53
|
-
- [ ] Screen reader tested (or documented)
|
|
54
|
-
→ Fix: Test with VoiceOver (Mac: Cmd+F5) or NVDA (Windows). Document results in component README
|
|
55
|
-
|
|
56
|
-
---
|
|
57
|
-
|
|
58
|
-
## TESTING
|
|
59
|
-
|
|
60
|
-
- [ ] Unit tests written
|
|
61
|
-
→ Fix: Create `{Component}.test.tsx` using React Testing Library. Start with render test, then add interaction tests
|
|
62
|
-
- [ ] All variants tested
|
|
63
|
-
→ Fix: Use `test.each` to iterate over variant values. Verify each variant applies the correct CSS class
|
|
64
|
-
- [ ] All sizes tested
|
|
65
|
-
→ Fix: Render each size, assert expected class or computed style. Use snapshot tests for visual regression
|
|
66
|
-
- [ ] Disabled state tested
|
|
67
|
-
→ Fix: Render with `disabled` prop, assert `aria-disabled`, verify click handler is NOT called
|
|
68
|
-
- [ ] Event handlers tested
|
|
69
|
-
→ Fix: Use `fireEvent.click()` or `userEvent.click()`, assert callback was called with expected args
|
|
70
|
-
- [ ] Test coverage >80%
|
|
71
|
-
→ Fix: Run `--coverage` flag, check uncovered lines. Add tests for branches (if/else, ternary, early returns)
|
|
72
|
-
- [ ] All tests pass
|
|
73
|
-
→ Fix: Run `npm test -- --watchAll=false`. Fix failures starting with type errors, then logic errors
|
|
74
|
-
|
|
75
|
-
---
|
|
76
|
-
|
|
77
|
-
## DOCUMENTATION
|
|
78
|
-
|
|
79
|
-
- [ ] Component.md created
|
|
80
|
-
→ Fix: Copy template from `docs/templates/component.md`. Fill in purpose, API, and examples sections
|
|
81
|
-
- [ ] Props documented with examples
|
|
82
|
-
→ Fix: Add a props table with Name, Type, Default, Description columns. Include code snippet for each prop
|
|
83
|
-
- [ ] Variants explained
|
|
84
|
-
→ Fix: Show visual example or code snippet for each variant. Explain when to use which variant
|
|
85
|
-
- [ ] Usage examples provided
|
|
86
|
-
→ Fix: Add at least 3 examples: basic usage, with all props, and composition with other components
|
|
87
|
-
- [ ] Accessibility notes included
|
|
88
|
-
→ Fix: Document keyboard shortcuts, ARIA attributes used, and screen reader behavior
|
|
89
|
-
|
|
90
|
-
---
|
|
91
|
-
|
|
92
|
-
## STORYBOOK (if enabled)
|
|
93
|
-
|
|
94
|
-
- [ ] Stories file created
|
|
95
|
-
→ Fix: Create `{Component}.stories.tsx` with `Meta` and `StoryObj` types from `@storybook/react`
|
|
96
|
-
- [ ] Story for each variant
|
|
97
|
-
→ Fix: Export a named story per variant (e.g., `export const Primary: Story = { args: { variant: 'primary' } }`)
|
|
98
|
-
- [ ] Interactive controls work
|
|
99
|
-
→ Fix: Ensure `argTypes` are defined in Meta. Use `control: 'select'` for enums, `control: 'boolean'` for flags
|
|
100
|
-
- [ ] Stories display correctly
|
|
101
|
-
→ Fix: Check Storybook console for warnings. Verify all stories render without errors in multiple viewports
|
|
102
|
-
|
|
103
|
-
---
|
|
104
|
-
|
|
105
|
-
## Edge Cases
|
|
106
|
-
|
|
107
|
-
- [ ] **Empty/null state:** Component handles `undefined` props gracefully (default values or explicit empty state UI)
|
|
108
|
-
→ Fix: Add default values for all optional props, test with `<Component />` (no props)
|
|
109
|
-
- [ ] **Loading state:** If async, component shows loading indicator with `aria-busy="true"`
|
|
110
|
-
- [ ] **Error state:** Component displays error feedback (not just console.error) with `role="alert"`
|
|
111
|
-
- [ ] **Long content:** Text overflow handled (truncation with `title` attribute or expand/collapse)
|
|
112
|
-
→ Fix: Add `overflow: hidden; text-overflow: ellipsis` or `word-break: break-word` as appropriate
|
|
113
|
-
- [ ] **RTL support:** Layout mirrors correctly for right-to-left languages (if i18n required)
|
|
114
|
-
→ Fix: Use logical properties (`margin-inline-start` instead of `margin-left`)
|
|
115
|
-
- [ ] **Recursive nesting:** Component renders correctly when nested inside itself
|
|
116
|
-
→ Fix: Test recursive rendering, ensure no infinite loops in useEffect
|
|
117
|
-
|
|
118
|
-
---
|
|
119
|
-
|
|
120
|
-
**Reviewer:** ________ **Date:** ________
|
|
121
|
-
**Quality Gate:** [ ] PASS [ ] FAIL
|
|
122
|
-
|
|
123
|
-
---
|
|
124
|
-
|
|
125
|
-
## Scoring
|
|
126
|
-
|
|
127
|
-
### Point System
|
|
128
|
-
Each checkbox item = 1 point.
|
|
129
|
-
|
|
130
|
-
| Category | Items | Weight |
|
|
131
|
-
|----------|-------|--------|
|
|
132
|
-
| Code Quality (API Design) | 5 | 5pts |
|
|
133
|
-
| Styling (Token Integration) | 5 | 5pts |
|
|
134
|
-
| Accessibility | 7 | 7pts |
|
|
135
|
-
| Testing | 7 | 7pts |
|
|
136
|
-
| Documentation | 5 | 5pts |
|
|
137
|
-
| Storybook | 4 | 4pts |
|
|
138
|
-
| Edge Cases | 6 | 6pts |
|
|
139
|
-
| **Total** | **39** | **39pts** |
|
|
140
|
-
|
|
141
|
-
### Pass/Fail Thresholds
|
|
142
|
-
| Grade | Score | Action |
|
|
143
|
-
|-------|-------|--------|
|
|
144
|
-
| PASS | >= 80% (32+) | Proceed to next phase |
|
|
145
|
-
| CONDITIONAL | 60-79% (24-31) | Fix critical items, re-check |
|
|
146
|
-
| FAIL | < 60% (23-) | Major rework required |
|
|
147
|
-
|
|
148
|
-
### Auto-Correction
|
|
149
|
-
If items fail:
|
|
150
|
-
- Run `*ds-build-component --validate` to check token coverage. Use `*execute-checklist` for automated validation.
|
|
1
|
+
# Component Quality Checklist
|
|
2
|
+
|
|
3
|
+
**Purpose:** Validate component before marking complete
|
|
4
|
+
**Agent:** Merovingian (Design System Builder)
|
|
5
|
+
**Standard:** Production-ready React/TypeScript components
|
|
6
|
+
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
## CODE QUALITY
|
|
10
|
+
|
|
11
|
+
- [ ] TypeScript compiles with zero errors
|
|
12
|
+
→ Fix: Run `tsc --noEmit` and resolve each error by type. Most common: missing prop types, incorrect event handler signatures
|
|
13
|
+
- [ ] No `any` types used
|
|
14
|
+
→ Fix: Replace `any` with specific types. Use `unknown` + type guard for truly dynamic data. Search: `grep -rn ': any' src/`
|
|
15
|
+
- [ ] Props fully typed with interface
|
|
16
|
+
→ Fix: Create `interface {Component}Props` with each prop explicitly typed. Avoid `Record<string, unknown>` for known shapes
|
|
17
|
+
- [ ] All props documented with TSDoc comments
|
|
18
|
+
→ Fix: Add `/** description */` TSDoc comment above each prop in the interface. Include `@default` for optional props
|
|
19
|
+
- [ ] Component exported correctly
|
|
20
|
+
→ Fix: Ensure `export const {Component}` or named export in index.ts. Verify barrel file re-exports: `export { Component } from './Component'`
|
|
21
|
+
|
|
22
|
+
---
|
|
23
|
+
|
|
24
|
+
## STYLING
|
|
25
|
+
|
|
26
|
+
- [ ] All styling uses tokens (zero hardcoded values)
|
|
27
|
+
→ Fix: `grep -rn '#[0-9a-f]' *.module.css` to find hardcoded values, replace with `var(--token-name)`
|
|
28
|
+
- [ ] CSS Modules or chosen approach used consistently
|
|
29
|
+
→ Fix: Rename .css to .module.css, update imports to `import styles from './X.module.css'`
|
|
30
|
+
- [ ] No inline styles
|
|
31
|
+
→ Fix: `grep -rn 'style={{' *.tsx` — move all inline styles to CSS Module classes
|
|
32
|
+
- [ ] Responsive design implemented (if needed)
|
|
33
|
+
→ Fix: Add `@media` queries for sm/md/lg breakpoints using token breakpoint values
|
|
34
|
+
- [ ] All variants styled correctly
|
|
35
|
+
→ Fix: Create CSS class per variant (`.primary`, `.secondary`), verify each renders differently in Storybook
|
|
36
|
+
|
|
37
|
+
---
|
|
38
|
+
|
|
39
|
+
## ACCESSIBILITY (WCAG AA MINIMUM)
|
|
40
|
+
|
|
41
|
+
- [ ] Semantic HTML elements used
|
|
42
|
+
→ Fix: Replace `<div onClick>` with `<button>`, `<div>` navigation with `<nav>`, generic containers with `<section>`/`<article>`
|
|
43
|
+
- [ ] ARIA attributes present where needed
|
|
44
|
+
→ Fix: Add `aria-label` for icon-only buttons, `aria-expanded` for toggles, `role` only when no native semantic equivalent
|
|
45
|
+
- [ ] Color contrast ≥4.5:1 for text
|
|
46
|
+
→ Fix: Use `*contrast-matrix` to find failing pairs, adjust to nearest compliant token color
|
|
47
|
+
- [ ] Keyboard navigation works (Tab, Enter, Space)
|
|
48
|
+
→ Fix: Ensure `onKeyDown` handles Enter/Space for custom interactive elements. Native `<button>` gets this for free
|
|
49
|
+
- [ ] Focus indicators visible
|
|
50
|
+
→ Fix: Add `:focus-visible` style with `outline: 2px solid var(--color-focus)` and `outline-offset: 2px`
|
|
51
|
+
- [ ] Disabled state handled correctly
|
|
52
|
+
→ Fix: Add `aria-disabled="true"` + visual dimming + prevent onClick via `pointer-events: none` or early return
|
|
53
|
+
- [ ] Screen reader tested (or documented)
|
|
54
|
+
→ Fix: Test with VoiceOver (Mac: Cmd+F5) or NVDA (Windows). Document results in component README
|
|
55
|
+
|
|
56
|
+
---
|
|
57
|
+
|
|
58
|
+
## TESTING
|
|
59
|
+
|
|
60
|
+
- [ ] Unit tests written
|
|
61
|
+
→ Fix: Create `{Component}.test.tsx` using React Testing Library. Start with render test, then add interaction tests
|
|
62
|
+
- [ ] All variants tested
|
|
63
|
+
→ Fix: Use `test.each` to iterate over variant values. Verify each variant applies the correct CSS class
|
|
64
|
+
- [ ] All sizes tested
|
|
65
|
+
→ Fix: Render each size, assert expected class or computed style. Use snapshot tests for visual regression
|
|
66
|
+
- [ ] Disabled state tested
|
|
67
|
+
→ Fix: Render with `disabled` prop, assert `aria-disabled`, verify click handler is NOT called
|
|
68
|
+
- [ ] Event handlers tested
|
|
69
|
+
→ Fix: Use `fireEvent.click()` or `userEvent.click()`, assert callback was called with expected args
|
|
70
|
+
- [ ] Test coverage >80%
|
|
71
|
+
→ Fix: Run `--coverage` flag, check uncovered lines. Add tests for branches (if/else, ternary, early returns)
|
|
72
|
+
- [ ] All tests pass
|
|
73
|
+
→ Fix: Run `npm test -- --watchAll=false`. Fix failures starting with type errors, then logic errors
|
|
74
|
+
|
|
75
|
+
---
|
|
76
|
+
|
|
77
|
+
## DOCUMENTATION
|
|
78
|
+
|
|
79
|
+
- [ ] Component.md created
|
|
80
|
+
→ Fix: Copy template from `docs/templates/component.md`. Fill in purpose, API, and examples sections
|
|
81
|
+
- [ ] Props documented with examples
|
|
82
|
+
→ Fix: Add a props table with Name, Type, Default, Description columns. Include code snippet for each prop
|
|
83
|
+
- [ ] Variants explained
|
|
84
|
+
→ Fix: Show visual example or code snippet for each variant. Explain when to use which variant
|
|
85
|
+
- [ ] Usage examples provided
|
|
86
|
+
→ Fix: Add at least 3 examples: basic usage, with all props, and composition with other components
|
|
87
|
+
- [ ] Accessibility notes included
|
|
88
|
+
→ Fix: Document keyboard shortcuts, ARIA attributes used, and screen reader behavior
|
|
89
|
+
|
|
90
|
+
---
|
|
91
|
+
|
|
92
|
+
## STORYBOOK (if enabled)
|
|
93
|
+
|
|
94
|
+
- [ ] Stories file created
|
|
95
|
+
→ Fix: Create `{Component}.stories.tsx` with `Meta` and `StoryObj` types from `@storybook/react`
|
|
96
|
+
- [ ] Story for each variant
|
|
97
|
+
→ Fix: Export a named story per variant (e.g., `export const Primary: Story = { args: { variant: 'primary' } }`)
|
|
98
|
+
- [ ] Interactive controls work
|
|
99
|
+
→ Fix: Ensure `argTypes` are defined in Meta. Use `control: 'select'` for enums, `control: 'boolean'` for flags
|
|
100
|
+
- [ ] Stories display correctly
|
|
101
|
+
→ Fix: Check Storybook console for warnings. Verify all stories render without errors in multiple viewports
|
|
102
|
+
|
|
103
|
+
---
|
|
104
|
+
|
|
105
|
+
## Edge Cases
|
|
106
|
+
|
|
107
|
+
- [ ] **Empty/null state:** Component handles `undefined` props gracefully (default values or explicit empty state UI)
|
|
108
|
+
→ Fix: Add default values for all optional props, test with `<Component />` (no props)
|
|
109
|
+
- [ ] **Loading state:** If async, component shows loading indicator with `aria-busy="true"`
|
|
110
|
+
- [ ] **Error state:** Component displays error feedback (not just console.error) with `role="alert"`
|
|
111
|
+
- [ ] **Long content:** Text overflow handled (truncation with `title` attribute or expand/collapse)
|
|
112
|
+
→ Fix: Add `overflow: hidden; text-overflow: ellipsis` or `word-break: break-word` as appropriate
|
|
113
|
+
- [ ] **RTL support:** Layout mirrors correctly for right-to-left languages (if i18n required)
|
|
114
|
+
→ Fix: Use logical properties (`margin-inline-start` instead of `margin-left`)
|
|
115
|
+
- [ ] **Recursive nesting:** Component renders correctly when nested inside itself
|
|
116
|
+
→ Fix: Test recursive rendering, ensure no infinite loops in useEffect
|
|
117
|
+
|
|
118
|
+
---
|
|
119
|
+
|
|
120
|
+
**Reviewer:** ________ **Date:** ________
|
|
121
|
+
**Quality Gate:** [ ] PASS [ ] FAIL
|
|
122
|
+
|
|
123
|
+
---
|
|
124
|
+
|
|
125
|
+
## Scoring
|
|
126
|
+
|
|
127
|
+
### Point System
|
|
128
|
+
Each checkbox item = 1 point.
|
|
129
|
+
|
|
130
|
+
| Category | Items | Weight |
|
|
131
|
+
|----------|-------|--------|
|
|
132
|
+
| Code Quality (API Design) | 5 | 5pts |
|
|
133
|
+
| Styling (Token Integration) | 5 | 5pts |
|
|
134
|
+
| Accessibility | 7 | 7pts |
|
|
135
|
+
| Testing | 7 | 7pts |
|
|
136
|
+
| Documentation | 5 | 5pts |
|
|
137
|
+
| Storybook | 4 | 4pts |
|
|
138
|
+
| Edge Cases | 6 | 6pts |
|
|
139
|
+
| **Total** | **39** | **39pts** |
|
|
140
|
+
|
|
141
|
+
### Pass/Fail Thresholds
|
|
142
|
+
| Grade | Score | Action |
|
|
143
|
+
|-------|-------|--------|
|
|
144
|
+
| PASS | >= 80% (32+) | Proceed to next phase |
|
|
145
|
+
| CONDITIONAL | 60-79% (24-31) | Fix critical items, re-check |
|
|
146
|
+
| FAIL | < 60% (23-) | Major rework required |
|
|
147
|
+
|
|
148
|
+
### Auto-Correction
|
|
149
|
+
If items fail:
|
|
150
|
+
- Run `*ds-build-component --validate` to check token coverage. Use `*execute-checklist` for automated validation.
|
|
@@ -1,147 +1,147 @@
|
|
|
1
|
-
# Critical Eye — Canonical Review Checklist
|
|
2
|
-
|
|
3
|
-
**Purpose:** Human checkpoint for STABLE → CANONICAL and CANONICAL → DEPRECATED transitions
|
|
4
|
-
**Agent:** Design Chief (Design Principal)
|
|
5
|
-
**Standard:** Enterprise DS governance — only the best pattern per category becomes canonical
|
|
6
|
-
**Authority:** Nathan Curtis/EightShapes, GOV.UK Contribution Criteria, USWDS Lifecycle, Salesforce 4-Point Screening
|
|
7
|
-
|
|
8
|
-
---
|
|
9
|
-
|
|
10
|
-
## CONTEXT
|
|
11
|
-
|
|
12
|
-
- **Proposal ID:** ________
|
|
13
|
-
- **Cycle:** ________
|
|
14
|
-
- **Variant:** ________
|
|
15
|
-
- **Category:** ________
|
|
16
|
-
- **Proposed Transition:** [ ] STABLE → CANONICAL [ ] CANONICAL → DEPRECATED
|
|
17
|
-
- **Current Score:** ________/100
|
|
18
|
-
- **Replacing (if deprecation):** ________
|
|
19
|
-
|
|
20
|
-
---
|
|
21
|
-
|
|
22
|
-
## SCORE VERIFICATION
|
|
23
|
-
|
|
24
|
-
- [ ] Total score >= 80 (canonical threshold)
|
|
25
|
-
→ Fix: If score < 80, REJECT proposal. Variant needs improvement before canonical consideration.
|
|
26
|
-
- [ ] Highest score in its category
|
|
27
|
-
→ Fix: If not the leader, check comparison matrix. Only the best becomes canonical.
|
|
28
|
-
- [ ] All 5 dimensions have non-null scores
|
|
29
|
-
→ Fix: Re-run scoring if any dimension is null. Incomplete evaluation cannot be promoted.
|
|
30
|
-
- [ ] No accessibility blocker (a11y > 0)
|
|
31
|
-
→ Fix: Accessibility score = 0 is absolute REJECT. Cannot be overridden.
|
|
32
|
-
|
|
33
|
-
---
|
|
34
|
-
|
|
35
|
-
## BREADTH (Nathan Curtis — Usage Breadth Scale)
|
|
36
|
-
|
|
37
|
-
- [ ] Pattern appears in 2+ sources/brands
|
|
38
|
-
→ Fix: Single-source patterns are snowflakes. Need adoption across brands before canonical status.
|
|
39
|
-
- [ ] Source attributions are accurate (verified against brand.json files)
|
|
40
|
-
→ Fix: Cross-reference variant.sources with actual brand files. Remove phantom sources.
|
|
41
|
-
- [ ] Breadth score reflects actual usage, not just registration
|
|
42
|
-
→ Fix: Verify the pattern is ACTUALLY USED in source brands, not just registered.
|
|
43
|
-
|
|
44
|
-
---
|
|
45
|
-
|
|
46
|
-
## QUALITY (EightShapes Component QA 8+1)
|
|
47
|
-
|
|
48
|
-
- [ ] Token compliance: zero hardcoded values
|
|
49
|
-
→ Fix: Search component source for `#hex` and `Npx` values. Replace all with CSS custom properties.
|
|
50
|
-
- [ ] States coverage: all required states implemented [default, hover, focus, disabled, error, loading]
|
|
51
|
-
→ Fix: Check component for missing states. Focus and disabled are non-negotiable.
|
|
52
|
-
- [ ] Accessibility: WCAG AA contrast + ARIA + keyboard + focus-visible
|
|
53
|
-
→ Fix: Run contrast checker. Add missing ARIA attributes. Test keyboard navigation.
|
|
54
|
-
- [ ] Responsiveness: works across mobile, tablet, desktop
|
|
55
|
-
→ Fix: Test at 320px, 768px, 1024px widths minimum.
|
|
56
|
-
- [ ] Composability: integrates with other canonical components
|
|
57
|
-
→ Fix: Test composition with 3+ other components. No CSS hacks or overrides needed.
|
|
58
|
-
- [ ] Resilience: handles edge cases (empty, long text, overflow, missing image)
|
|
59
|
-
→ Fix: Test with empty props, 500-character strings, missing optional data.
|
|
60
|
-
|
|
61
|
-
---
|
|
62
|
-
|
|
63
|
-
## CONSISTENCY (GOV.UK Contribution Criteria — Consistent)
|
|
64
|
-
|
|
65
|
-
- [ ] Follows DS naming conventions (kebab-case, semantic prefixes)
|
|
66
|
-
→ Fix: Rename files, props, and CSS classes to match established conventions.
|
|
67
|
-
- [ ] API follows established patterns (CVA + variants + slots)
|
|
68
|
-
→ Fix: Align prop signatures with other canonical components. Use same variant/size pattern.
|
|
69
|
-
- [ ] Visually harmonious with rest of DS (indistinguishable quality)
|
|
70
|
-
→ Fix: Compare side-by-side with existing canonicals. Spacing, typography, and color should match.
|
|
71
|
-
|
|
72
|
-
---
|
|
73
|
-
|
|
74
|
-
## MATURITY (USWDS Component Lifecycle)
|
|
75
|
-
|
|
76
|
-
- [ ] Stable for 3+ cycles (no breaking changes)
|
|
77
|
-
→ Fix: Check lifecycleHistory. Recent major changes disqualify from canonical. Wait for stabilization.
|
|
78
|
-
- [ ] Documentation complete (guidelines + API + examples + do/dont)
|
|
79
|
-
→ Fix: Create missing documentation sections. Canonical components MUST have full docs.
|
|
80
|
-
- [ ] Test coverage adequate (unit + a11y minimum)
|
|
81
|
-
→ Fix: Add missing tests. Canonical components must demonstrate reliability.
|
|
82
|
-
|
|
83
|
-
---
|
|
84
|
-
|
|
85
|
-
## SIMPLICITY (Brad Frost — Death to Complexity)
|
|
86
|
-
|
|
87
|
-
- [ ] Reasonable LOC count (< 150 LOC preferred)
|
|
88
|
-
→ Fix: Refactor complex components. Extract utilities. Simplify branching logic.
|
|
89
|
-
- [ ] Minimal dependencies (0-2 external deps preferred)
|
|
90
|
-
→ Fix: Evaluate if dependencies can be removed or replaced with lighter alternatives.
|
|
91
|
-
|
|
92
|
-
---
|
|
93
|
-
|
|
94
|
-
## DEPRECATION-SPECIFIC (only for CANONICAL → DEPRECATED)
|
|
95
|
-
|
|
96
|
-
- [ ] Replacement candidate scores > current + 10 points
|
|
97
|
-
→ Fix: Margin must be significant (>10%) to justify disruption of deprecating a canonical.
|
|
98
|
-
- [ ] Migration path documented for consumers
|
|
99
|
-
→ Fix: Document exactly how existing usage should be updated. Provide codemod if possible.
|
|
100
|
-
- [ ] Deprecation timeline defined (minimum 2 cycles grace period)
|
|
101
|
-
→ Fix: Deprecated components remain available for at least 2 more cycles.
|
|
102
|
-
|
|
103
|
-
---
|
|
104
|
-
|
|
105
|
-
## FINAL DECISION
|
|
106
|
-
|
|
107
|
-
**Reviewer:** ________ **Date:** ________
|
|
108
|
-
|
|
109
|
-
| Decision | Criteria |
|
|
110
|
-
|----------|----------|
|
|
111
|
-
| [ ] **APPROVE** | All checks pass. Transition is justified and beneficial. |
|
|
112
|
-
| [ ] **APPROVE WITH CONDITIONS** | Minor issues to address, but transition is warranted. |
|
|
113
|
-
| [ ] **DEFER** | Not ready yet. Specific improvements needed first. |
|
|
114
|
-
| [ ] **REJECT** | Does not meet canonical/deprecation criteria. |
|
|
115
|
-
|
|
116
|
-
**Conditions (if applicable):**
|
|
117
|
-
________________________________________________________________________
|
|
118
|
-
|
|
119
|
-
**Notes:**
|
|
120
|
-
________________________________________________________________________
|
|
121
|
-
|
|
122
|
-
---
|
|
123
|
-
|
|
124
|
-
## Scoring
|
|
125
|
-
|
|
126
|
-
### Point System
|
|
127
|
-
Each checkbox item = 1 point.
|
|
128
|
-
|
|
129
|
-
| Category | Items | Weight |
|
|
130
|
-
|----------|-------|--------|
|
|
131
|
-
| Score Verification | 4 | 4pts |
|
|
132
|
-
| Breadth | 3 | 3pts |
|
|
133
|
-
| Quality | 6 | 6pts |
|
|
134
|
-
| Consistency | 3 | 3pts |
|
|
135
|
-
| Maturity | 3 | 3pts |
|
|
136
|
-
| Simplicity | 2 | 2pts |
|
|
137
|
-
| Deprecation (if applicable) | 3 | 3pts |
|
|
138
|
-
| **Total (promotion)** | **21** | **21pts** |
|
|
139
|
-
| **Total (deprecation)** | **24** | **24pts** |
|
|
140
|
-
|
|
141
|
-
### Pass/Fail Thresholds
|
|
142
|
-
| Grade | Score | Action |
|
|
143
|
-
|-------|-------|--------|
|
|
144
|
-
| APPROVE | >= 90% (19+/21 or 22+/24) | Execute transition |
|
|
145
|
-
| APPROVE WITH CONDITIONS | 75-89% (16-18/21 or 18-21/24) | Execute with noted conditions |
|
|
146
|
-
| DEFER | 60-74% (13-15/21 or 15-17/24) | Return for improvements |
|
|
147
|
-
| REJECT | < 60% (12-/21 or 14-/24) | Do not transition |
|
|
1
|
+
# Critical Eye — Canonical Review Checklist
|
|
2
|
+
|
|
3
|
+
**Purpose:** Human checkpoint for STABLE → CANONICAL and CANONICAL → DEPRECATED transitions
|
|
4
|
+
**Agent:** Design Chief (Design Principal)
|
|
5
|
+
**Standard:** Enterprise DS governance — only the best pattern per category becomes canonical
|
|
6
|
+
**Authority:** Nathan Curtis/EightShapes, GOV.UK Contribution Criteria, USWDS Lifecycle, Salesforce 4-Point Screening
|
|
7
|
+
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
## CONTEXT
|
|
11
|
+
|
|
12
|
+
- **Proposal ID:** ________
|
|
13
|
+
- **Cycle:** ________
|
|
14
|
+
- **Variant:** ________
|
|
15
|
+
- **Category:** ________
|
|
16
|
+
- **Proposed Transition:** [ ] STABLE → CANONICAL [ ] CANONICAL → DEPRECATED
|
|
17
|
+
- **Current Score:** ________/100
|
|
18
|
+
- **Replacing (if deprecation):** ________
|
|
19
|
+
|
|
20
|
+
---
|
|
21
|
+
|
|
22
|
+
## SCORE VERIFICATION
|
|
23
|
+
|
|
24
|
+
- [ ] Total score >= 80 (canonical threshold)
|
|
25
|
+
→ Fix: If score < 80, REJECT proposal. Variant needs improvement before canonical consideration.
|
|
26
|
+
- [ ] Highest score in its category
|
|
27
|
+
→ Fix: If not the leader, check comparison matrix. Only the best becomes canonical.
|
|
28
|
+
- [ ] All 5 dimensions have non-null scores
|
|
29
|
+
→ Fix: Re-run scoring if any dimension is null. Incomplete evaluation cannot be promoted.
|
|
30
|
+
- [ ] No accessibility blocker (a11y > 0)
|
|
31
|
+
→ Fix: Accessibility score = 0 is absolute REJECT. Cannot be overridden.
|
|
32
|
+
|
|
33
|
+
---
|
|
34
|
+
|
|
35
|
+
## BREADTH (Nathan Curtis — Usage Breadth Scale)
|
|
36
|
+
|
|
37
|
+
- [ ] Pattern appears in 2+ sources/brands
|
|
38
|
+
→ Fix: Single-source patterns are snowflakes. Need adoption across brands before canonical status.
|
|
39
|
+
- [ ] Source attributions are accurate (verified against brand.json files)
|
|
40
|
+
→ Fix: Cross-reference variant.sources with actual brand files. Remove phantom sources.
|
|
41
|
+
- [ ] Breadth score reflects actual usage, not just registration
|
|
42
|
+
→ Fix: Verify the pattern is ACTUALLY USED in source brands, not just registered.
|
|
43
|
+
|
|
44
|
+
---
|
|
45
|
+
|
|
46
|
+
## QUALITY (EightShapes Component QA 8+1)
|
|
47
|
+
|
|
48
|
+
- [ ] Token compliance: zero hardcoded values
|
|
49
|
+
→ Fix: Search component source for `#hex` and `Npx` values. Replace all with CSS custom properties.
|
|
50
|
+
- [ ] States coverage: all required states implemented [default, hover, focus, disabled, error, loading]
|
|
51
|
+
→ Fix: Check component for missing states. Focus and disabled are non-negotiable.
|
|
52
|
+
- [ ] Accessibility: WCAG AA contrast + ARIA + keyboard + focus-visible
|
|
53
|
+
→ Fix: Run contrast checker. Add missing ARIA attributes. Test keyboard navigation.
|
|
54
|
+
- [ ] Responsiveness: works across mobile, tablet, desktop
|
|
55
|
+
→ Fix: Test at 320px, 768px, 1024px widths minimum.
|
|
56
|
+
- [ ] Composability: integrates with other canonical components
|
|
57
|
+
→ Fix: Test composition with 3+ other components. No CSS hacks or overrides needed.
|
|
58
|
+
- [ ] Resilience: handles edge cases (empty, long text, overflow, missing image)
|
|
59
|
+
→ Fix: Test with empty props, 500-character strings, missing optional data.
|
|
60
|
+
|
|
61
|
+
---
|
|
62
|
+
|
|
63
|
+
## CONSISTENCY (GOV.UK Contribution Criteria — Consistent)
|
|
64
|
+
|
|
65
|
+
- [ ] Follows DS naming conventions (kebab-case, semantic prefixes)
|
|
66
|
+
→ Fix: Rename files, props, and CSS classes to match established conventions.
|
|
67
|
+
- [ ] API follows established patterns (CVA + variants + slots)
|
|
68
|
+
→ Fix: Align prop signatures with other canonical components. Use same variant/size pattern.
|
|
69
|
+
- [ ] Visually harmonious with rest of DS (indistinguishable quality)
|
|
70
|
+
→ Fix: Compare side-by-side with existing canonicals. Spacing, typography, and color should match.
|
|
71
|
+
|
|
72
|
+
---
|
|
73
|
+
|
|
74
|
+
## MATURITY (USWDS Component Lifecycle)
|
|
75
|
+
|
|
76
|
+
- [ ] Stable for 3+ cycles (no breaking changes)
|
|
77
|
+
→ Fix: Check lifecycleHistory. Recent major changes disqualify from canonical. Wait for stabilization.
|
|
78
|
+
- [ ] Documentation complete (guidelines + API + examples + do/dont)
|
|
79
|
+
→ Fix: Create missing documentation sections. Canonical components MUST have full docs.
|
|
80
|
+
- [ ] Test coverage adequate (unit + a11y minimum)
|
|
81
|
+
→ Fix: Add missing tests. Canonical components must demonstrate reliability.
|
|
82
|
+
|
|
83
|
+
---
|
|
84
|
+
|
|
85
|
+
## SIMPLICITY (Brad Frost — Death to Complexity)
|
|
86
|
+
|
|
87
|
+
- [ ] Reasonable LOC count (< 150 LOC preferred)
|
|
88
|
+
→ Fix: Refactor complex components. Extract utilities. Simplify branching logic.
|
|
89
|
+
- [ ] Minimal dependencies (0-2 external deps preferred)
|
|
90
|
+
→ Fix: Evaluate if dependencies can be removed or replaced with lighter alternatives.
|
|
91
|
+
|
|
92
|
+
---
|
|
93
|
+
|
|
94
|
+
## DEPRECATION-SPECIFIC (only for CANONICAL → DEPRECATED)
|
|
95
|
+
|
|
96
|
+
- [ ] Replacement candidate scores > current + 10 points
|
|
97
|
+
→ Fix: Margin must be significant (>10%) to justify disruption of deprecating a canonical.
|
|
98
|
+
- [ ] Migration path documented for consumers
|
|
99
|
+
→ Fix: Document exactly how existing usage should be updated. Provide codemod if possible.
|
|
100
|
+
- [ ] Deprecation timeline defined (minimum 2 cycles grace period)
|
|
101
|
+
→ Fix: Deprecated components remain available for at least 2 more cycles.
|
|
102
|
+
|
|
103
|
+
---
|
|
104
|
+
|
|
105
|
+
## FINAL DECISION
|
|
106
|
+
|
|
107
|
+
**Reviewer:** ________ **Date:** ________
|
|
108
|
+
|
|
109
|
+
| Decision | Criteria |
|
|
110
|
+
|----------|----------|
|
|
111
|
+
| [ ] **APPROVE** | All checks pass. Transition is justified and beneficial. |
|
|
112
|
+
| [ ] **APPROVE WITH CONDITIONS** | Minor issues to address, but transition is warranted. |
|
|
113
|
+
| [ ] **DEFER** | Not ready yet. Specific improvements needed first. |
|
|
114
|
+
| [ ] **REJECT** | Does not meet canonical/deprecation criteria. |
|
|
115
|
+
|
|
116
|
+
**Conditions (if applicable):**
|
|
117
|
+
________________________________________________________________________
|
|
118
|
+
|
|
119
|
+
**Notes:**
|
|
120
|
+
________________________________________________________________________
|
|
121
|
+
|
|
122
|
+
---
|
|
123
|
+
|
|
124
|
+
## Scoring
|
|
125
|
+
|
|
126
|
+
### Point System
|
|
127
|
+
Each checkbox item = 1 point.
|
|
128
|
+
|
|
129
|
+
| Category | Items | Weight |
|
|
130
|
+
|----------|-------|--------|
|
|
131
|
+
| Score Verification | 4 | 4pts |
|
|
132
|
+
| Breadth | 3 | 3pts |
|
|
133
|
+
| Quality | 6 | 6pts |
|
|
134
|
+
| Consistency | 3 | 3pts |
|
|
135
|
+
| Maturity | 3 | 3pts |
|
|
136
|
+
| Simplicity | 2 | 2pts |
|
|
137
|
+
| Deprecation (if applicable) | 3 | 3pts |
|
|
138
|
+
| **Total (promotion)** | **21** | **21pts** |
|
|
139
|
+
| **Total (deprecation)** | **24** | **24pts** |
|
|
140
|
+
|
|
141
|
+
### Pass/Fail Thresholds
|
|
142
|
+
| Grade | Score | Action |
|
|
143
|
+
|-------|-------|--------|
|
|
144
|
+
| APPROVE | >= 90% (19+/21 or 22+/24) | Execute transition |
|
|
145
|
+
| APPROVE WITH CONDITIONS | 75-89% (16-18/21 or 18-21/24) | Execute with noted conditions |
|
|
146
|
+
| DEFER | 60-74% (13-15/21 or 15-17/24) | Return for improvements |
|
|
147
|
+
| REJECT | < 60% (12-/21 or 14-/24) | Do not transition |
|