gaia-framework 1.57.0 → 1.57.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/bin/gaia-framework.js +27 -19
- package/gaia-install.sh +1 -1
- package/package.json +15 -11
- package/.claude/commands/gaia-a11y-testing.md +0 -17
- package/.claude/commands/gaia-action-items.md +0 -23
- package/.claude/commands/gaia-add-feature.md +0 -17
- package/.claude/commands/gaia-add-stories.md +0 -17
- package/.claude/commands/gaia-advanced-elicitation.md +0 -17
- package/.claude/commands/gaia-adversarial.md +0 -15
- package/.claude/commands/gaia-agent-analyst.md +0 -14
- package/.claude/commands/gaia-agent-architect.md +0 -14
- package/.claude/commands/gaia-agent-brainstorming.md +0 -14
- package/.claude/commands/gaia-agent-data-engineer.md +0 -14
- package/.claude/commands/gaia-agent-design-thinking.md +0 -14
- package/.claude/commands/gaia-agent-dev-angular.md +0 -14
- package/.claude/commands/gaia-agent-dev-flutter.md +0 -14
- package/.claude/commands/gaia-agent-dev-go.md +0 -14
- package/.claude/commands/gaia-agent-dev-java.md +0 -14
- package/.claude/commands/gaia-agent-dev-mobile.md +0 -14
- package/.claude/commands/gaia-agent-dev-python.md +0 -14
- package/.claude/commands/gaia-agent-dev-typescript.md +0 -14
- package/.claude/commands/gaia-agent-devops.md +0 -14
- package/.claude/commands/gaia-agent-innovation.md +0 -14
- package/.claude/commands/gaia-agent-performance.md +0 -14
- package/.claude/commands/gaia-agent-pm.md +0 -14
- package/.claude/commands/gaia-agent-presentation.md +0 -14
- package/.claude/commands/gaia-agent-problem-solver.md +0 -14
- package/.claude/commands/gaia-agent-qa.md +0 -14
- package/.claude/commands/gaia-agent-security.md +0 -14
- package/.claude/commands/gaia-agent-sm.md +0 -14
- package/.claude/commands/gaia-agent-storyteller.md +0 -14
- package/.claude/commands/gaia-agent-tech-writer.md +0 -14
- package/.claude/commands/gaia-agent-test-architect.md +0 -14
- package/.claude/commands/gaia-agent-ux-designer.md +0 -14
- package/.claude/commands/gaia-agent-validator.md +0 -14
- package/.claude/commands/gaia-atdd.md +0 -17
- package/.claude/commands/gaia-brainstorm.md +0 -17
- package/.claude/commands/gaia-brainstorming.md +0 -17
- package/.claude/commands/gaia-brownfield.md +0 -17
- package/.claude/commands/gaia-build-configs.md +0 -22
- package/.claude/commands/gaia-change-request.md +0 -11
- package/.claude/commands/gaia-changelog.md +0 -16
- package/.claude/commands/gaia-check-dod.md +0 -17
- package/.claude/commands/gaia-check-review-gate.md +0 -17
- package/.claude/commands/gaia-ci-setup.md +0 -17
- package/.claude/commands/gaia-code-review.md +0 -17
- package/.claude/commands/gaia-correct-course.md +0 -17
- package/.claude/commands/gaia-create-arch.md +0 -17
- package/.claude/commands/gaia-create-epics.md +0 -17
- package/.claude/commands/gaia-create-prd.md +0 -17
- package/.claude/commands/gaia-create-story.md +0 -23
- package/.claude/commands/gaia-create-ux.md +0 -17
- package/.claude/commands/gaia-creative-sprint.md +0 -17
- package/.claude/commands/gaia-deploy-checklist.md +0 -17
- package/.claude/commands/gaia-design-thinking.md +0 -17
- package/.claude/commands/gaia-dev-story.md +0 -23
- package/.claude/commands/gaia-document-project.md +0 -17
- package/.claude/commands/gaia-domain-research.md +0 -17
- package/.claude/commands/gaia-edge-cases.md +0 -15
- package/.claude/commands/gaia-edit-arch.md +0 -17
- package/.claude/commands/gaia-edit-prd.md +0 -17
- package/.claude/commands/gaia-edit-test-plan.md +0 -17
- package/.claude/commands/gaia-editorial-prose.md +0 -15
- package/.claude/commands/gaia-editorial-structure.md +0 -15
- package/.claude/commands/gaia-epic-status.md +0 -17
- package/.claude/commands/gaia-fix-story.md +0 -17
- package/.claude/commands/gaia-help.md +0 -15
- package/.claude/commands/gaia-index-docs.md +0 -15
- package/.claude/commands/gaia-infra-design.md +0 -17
- package/.claude/commands/gaia-innovation.md +0 -17
- package/.claude/commands/gaia-market-research.md +0 -17
- package/.claude/commands/gaia-memory-hygiene.md +0 -17
- package/.claude/commands/gaia-merge-docs.md +0 -16
- package/.claude/commands/gaia-mobile-testing.md +0 -17
- package/.claude/commands/gaia-nfr.md +0 -17
- package/.claude/commands/gaia-party.md +0 -17
- package/.claude/commands/gaia-perf-testing.md +0 -17
- package/.claude/commands/gaia-performance-review.md +0 -17
- package/.claude/commands/gaia-pitch-deck.md +0 -17
- package/.claude/commands/gaia-post-deploy.md +0 -17
- package/.claude/commands/gaia-problem-solving.md +0 -17
- package/.claude/commands/gaia-product-brief.md +0 -17
- package/.claude/commands/gaia-project-context.md +0 -17
- package/.claude/commands/gaia-qa-tests.md +0 -17
- package/.claude/commands/gaia-quick-dev.md +0 -17
- package/.claude/commands/gaia-quick-spec.md +0 -17
- package/.claude/commands/gaia-readiness-check.md +0 -17
- package/.claude/commands/gaia-refresh-ground-truth.md +0 -17
- package/.claude/commands/gaia-release-plan.md +0 -17
- package/.claude/commands/gaia-resume.md +0 -25
- package/.claude/commands/gaia-retro.md +0 -20
- package/.claude/commands/gaia-review-a11y.md +0 -16
- package/.claude/commands/gaia-review-api.md +0 -16
- package/.claude/commands/gaia-review-deps.md +0 -16
- package/.claude/commands/gaia-review-perf.md +0 -16
- package/.claude/commands/gaia-review-security.md +0 -16
- package/.claude/commands/gaia-rollback-plan.md +0 -17
- package/.claude/commands/gaia-run-all-reviews.md +0 -17
- package/.claude/commands/gaia-security-review.md +0 -17
- package/.claude/commands/gaia-shard-doc.md +0 -15
- package/.claude/commands/gaia-slide-deck.md +0 -17
- package/.claude/commands/gaia-sprint-plan.md +0 -17
- package/.claude/commands/gaia-sprint-status.md +0 -17
- package/.claude/commands/gaia-storytelling.md +0 -17
- package/.claude/commands/gaia-summarize.md +0 -16
- package/.claude/commands/gaia-teach-testing.md +0 -17
- package/.claude/commands/gaia-tech-debt-review.md +0 -20
- package/.claude/commands/gaia-tech-research.md +0 -17
- package/.claude/commands/gaia-test-automate.md +0 -17
- package/.claude/commands/gaia-test-design.md +0 -17
- package/.claude/commands/gaia-test-framework.md +0 -17
- package/.claude/commands/gaia-test-review.md +0 -17
- package/.claude/commands/gaia-threat-model.md +0 -17
- package/.claude/commands/gaia-trace.md +0 -17
- package/.claude/commands/gaia-triage-findings.md +0 -20
- package/.claude/commands/gaia-val-validate-plan.md +0 -17
- package/.claude/commands/gaia-val-validate.md +0 -17
- package/.claude/commands/gaia-validate-framework.md +0 -17
- package/.claude/commands/gaia-validate-prd.md +0 -17
- package/.claude/commands/gaia-validate-story.md +0 -22
- package/.claude/commands/gaia.md +0 -32
- package/CLAUDE.md +0 -165
- package/_gaia/_config/agent-manifest.csv +0 -29
- package/_gaia/_config/agents/CUSTOMIZATION-README.md +0 -117
- package/_gaia/_config/files-manifest.csv +0 -30
- package/_gaia/_config/gaia-help.csv +0 -82
- package/_gaia/_config/global.yaml +0 -45
- package/_gaia/_config/lifecycle-sequence.yaml +0 -593
- package/_gaia/_config/manifest.yaml +0 -24
- package/_gaia/_config/skill-manifest.csv +0 -12
- package/_gaia/_config/task-manifest.csv +0 -17
- package/_gaia/_config/workflow-manifest.csv +0 -73
- package/_gaia/_memory/tier2-results/.gitkeep +0 -0
- package/_gaia/_memory/tier2-results/checkpoint-resume-2026-03-24.yaml +0 -6
- package/_gaia/_memory/tier2-results/engine-scenarios-2026-03-22.yaml +0 -14
- package/_gaia/core/.resolved/.gitkeep +0 -0
- package/_gaia/core/agents/orchestrator.md +0 -303
- package/_gaia/core/config.yaml +0 -8
- package/_gaia/core/engine/error-recovery.xml +0 -28
- package/_gaia/core/engine/protocols/discover-inputs.xml +0 -31
- package/_gaia/core/engine/protocols/handoff.xml +0 -21
- package/_gaia/core/engine/protocols/preflight-check.xml +0 -31
- package/_gaia/core/engine/task-runner.xml +0 -63
- package/_gaia/core/engine/workflow.xml +0 -225
- package/_gaia/core/module-help.csv +0 -21
- package/_gaia/core/protocols/agent-specification-protocol.md +0 -103
- package/_gaia/core/protocols/review-gate-check.xml +0 -29
- package/_gaia/core/protocols/sprint-status-write-safety.xml +0 -35
- package/_gaia/core/protocols/status-sync.xml +0 -49
- package/_gaia/core/tasks/editorial-review-prose.xml +0 -42
- package/_gaia/core/tasks/editorial-review-structure.xml +0 -43
- package/_gaia/core/tasks/generate-changelog.xml +0 -35
- package/_gaia/core/tasks/help.md +0 -45
- package/_gaia/core/tasks/index-docs.xml +0 -46
- package/_gaia/core/tasks/merge-docs.xml +0 -34
- package/_gaia/core/tasks/review-accessibility.xml +0 -47
- package/_gaia/core/tasks/review-adversarial.xml +0 -55
- package/_gaia/core/tasks/review-api-design.xml +0 -38
- package/_gaia/core/tasks/review-dependency-audit.xml +0 -38
- package/_gaia/core/tasks/review-edge-case-hunter.xml +0 -52
- package/_gaia/core/tasks/review-performance.xml +0 -49
- package/_gaia/core/tasks/review-security.xml +0 -37
- package/_gaia/core/tasks/shard-doc.xml +0 -49
- package/_gaia/core/tasks/summarize-doc.xml +0 -33
- package/_gaia/core/tasks/validate-framework.xml +0 -66
- package/_gaia/core/workflows/brainstorming/steps/step-01-session-setup.md +0 -7
- package/_gaia/core/workflows/brainstorming/steps/step-02-technique-selection.md +0 -20
- package/_gaia/core/workflows/brainstorming/steps/step-03-technique-execution.md +0 -11
- package/_gaia/core/workflows/brainstorming/steps/step-04-idea-organization.md +0 -14
- package/_gaia/core/workflows/brainstorming/template.md +0 -38
- package/_gaia/core/workflows/brainstorming/workflow.yaml +0 -26
- package/_gaia/core/workflows/party-mode/steps/step-01-agent-loading.md +0 -11
- package/_gaia/core/workflows/party-mode/steps/step-02-discussion-orchestration.md +0 -16
- package/_gaia/core/workflows/party-mode/steps/step-03-graceful-exit.md +0 -10
- package/_gaia/core/workflows/party-mode/workflow.yaml +0 -23
- package/_gaia/creative/.resolved/.gitkeep +0 -0
- package/_gaia/creative/agents/brainstorming-coach.md +0 -93
- package/_gaia/creative/agents/design-thinking-coach.md +0 -91
- package/_gaia/creative/agents/innovation-strategist.md +0 -89
- package/_gaia/creative/agents/presentation-designer.md +0 -99
- package/_gaia/creative/agents/problem-solver.md +0 -90
- package/_gaia/creative/agents/storyteller.md +0 -90
- package/_gaia/creative/config.yaml +0 -8
- package/_gaia/creative/data/design-methods.csv +0 -28
- package/_gaia/creative/data/innovation-frameworks.csv +0 -15
- package/_gaia/creative/data/solving-methods.csv +0 -14
- package/_gaia/creative/data/story-types.csv +0 -12
- package/_gaia/creative/module-help.csv +0 -8
- package/_gaia/creative/teams/creative-squad.yaml +0 -10
- package/_gaia/creative/workflows/creative-sprint/checklist.md +0 -10
- package/_gaia/creative/workflows/creative-sprint/instructions.xml +0 -40
- package/_gaia/creative/workflows/creative-sprint/workflow.yaml +0 -11
- package/_gaia/creative/workflows/design-thinking/checklist.md +0 -25
- package/_gaia/creative/workflows/design-thinking/instructions.xml +0 -38
- package/_gaia/creative/workflows/design-thinking/workflow.yaml +0 -13
- package/_gaia/creative/workflows/innovation-strategy/checklist.md +0 -26
- package/_gaia/creative/workflows/innovation-strategy/instructions.xml +0 -34
- package/_gaia/creative/workflows/innovation-strategy/workflow.yaml +0 -13
- package/_gaia/creative/workflows/pitch-deck/checklist.md +0 -22
- package/_gaia/creative/workflows/pitch-deck/instructions.xml +0 -49
- package/_gaia/creative/workflows/pitch-deck/workflow.yaml +0 -15
- package/_gaia/creative/workflows/problem-solving/checklist.md +0 -26
- package/_gaia/creative/workflows/problem-solving/instructions.xml +0 -39
- package/_gaia/creative/workflows/problem-solving/workflow.yaml +0 -13
- package/_gaia/creative/workflows/slide-deck/checklist.md +0 -21
- package/_gaia/creative/workflows/slide-deck/instructions.xml +0 -39
- package/_gaia/creative/workflows/slide-deck/workflow.yaml +0 -15
- package/_gaia/creative/workflows/storytelling/checklist.md +0 -26
- package/_gaia/creative/workflows/storytelling/instructions.xml +0 -38
- package/_gaia/creative/workflows/storytelling/workflow.yaml +0 -13
- package/_gaia/dev/agents/_base-dev.md +0 -180
- package/_gaia/dev/agents/angular-dev.md +0 -70
- package/_gaia/dev/agents/flutter-dev.md +0 -70
- package/_gaia/dev/agents/go-dev.md +0 -72
- package/_gaia/dev/agents/java-dev.md +0 -70
- package/_gaia/dev/agents/mobile-dev.md +0 -70
- package/_gaia/dev/agents/python-dev.md +0 -70
- package/_gaia/dev/agents/typescript-dev.md +0 -70
- package/_gaia/dev/config.yaml +0 -11
- package/_gaia/dev/knowledge/_index.csv +0 -25
- package/_gaia/dev/knowledge/angular/angular-conventions.md +0 -119
- package/_gaia/dev/knowledge/angular/angular-patterns.md +0 -126
- package/_gaia/dev/knowledge/angular/ngrx-state.md +0 -124
- package/_gaia/dev/knowledge/angular/rxjs-patterns.md +0 -119
- package/_gaia/dev/knowledge/flutter/dart-conventions.md +0 -143
- package/_gaia/dev/knowledge/flutter/platform-channels.md +0 -144
- package/_gaia/dev/knowledge/flutter/state-management.md +0 -144
- package/_gaia/dev/knowledge/flutter/widget-patterns.md +0 -134
- package/_gaia/dev/knowledge/go/gin-fiber-patterns.md +0 -40
- package/_gaia/dev/knowledge/go/go-conventions.md +0 -54
- package/_gaia/dev/knowledge/go/go-stdlib-patterns.md +0 -39
- package/_gaia/dev/knowledge/go/go-testing-patterns.md +0 -39
- package/_gaia/dev/knowledge/java/jpa-patterns.md +0 -136
- package/_gaia/dev/knowledge/java/maven-gradle.md +0 -189
- package/_gaia/dev/knowledge/java/microservices.md +0 -159
- package/_gaia/dev/knowledge/java/spring-boot-patterns.md +0 -160
- package/_gaia/dev/knowledge/mobile/kotlin-patterns.md +0 -193
- package/_gaia/dev/knowledge/mobile/mobile-testing.md +0 -186
- package/_gaia/dev/knowledge/mobile/react-native-patterns.md +0 -162
- package/_gaia/dev/knowledge/mobile/swift-patterns.md +0 -190
- package/_gaia/dev/knowledge/python/data-pipelines.md +0 -169
- package/_gaia/dev/knowledge/python/django-patterns.md +0 -145
- package/_gaia/dev/knowledge/python/fastapi-patterns.md +0 -164
- package/_gaia/dev/knowledge/python/python-conventions.md +0 -170
- package/_gaia/dev/knowledge/typescript/express-patterns.md +0 -188
- package/_gaia/dev/knowledge/typescript/nextjs-patterns.md +0 -166
- package/_gaia/dev/knowledge/typescript/react-patterns.md +0 -176
- package/_gaia/dev/knowledge/typescript/ts-conventions.md +0 -133
- package/_gaia/dev/module-help.csv +0 -10
- package/_gaia/dev/skills/_skill-index.yaml +0 -55
- package/_gaia/dev/skills/api-design.md +0 -229
- package/_gaia/dev/skills/code-review-standards.md +0 -226
- package/_gaia/dev/skills/database-design.md +0 -172
- package/_gaia/dev/skills/docker-workflow.md +0 -222
- package/_gaia/dev/skills/documentation-standards.md +0 -256
- package/_gaia/dev/skills/git-workflow.md +0 -157
- package/_gaia/dev/skills/security-basics.md +0 -230
- package/_gaia/dev/skills/testing-patterns.md +0 -232
- package/_gaia/lifecycle/.resolved/.gitkeep +0 -0
- package/_gaia/lifecycle/agents/analyst.md +0 -104
- package/_gaia/lifecycle/agents/architect.md +0 -109
- package/_gaia/lifecycle/agents/data-engineer.md +0 -99
- package/_gaia/lifecycle/agents/devops.md +0 -110
- package/_gaia/lifecycle/agents/performance.md +0 -92
- package/_gaia/lifecycle/agents/pm.md +0 -112
- package/_gaia/lifecycle/agents/qa.md +0 -89
- package/_gaia/lifecycle/agents/security.md +0 -108
- package/_gaia/lifecycle/agents/sm.md +0 -119
- package/_gaia/lifecycle/agents/tech-writer.md +0 -94
- package/_gaia/lifecycle/agents/ux-designer.md +0 -94
- package/_gaia/lifecycle/agents/validator.md +0 -189
- package/_gaia/lifecycle/config.yaml +0 -14
- package/_gaia/lifecycle/module-help.csv +0 -39
- package/_gaia/lifecycle/skills/ground-truth-management.md +0 -252
- package/_gaia/lifecycle/skills/memory-management.md +0 -322
- package/_gaia/lifecycle/skills/validation-patterns.md +0 -230
- package/_gaia/lifecycle/teams/team-data-intensive.yaml +0 -12
- package/_gaia/lifecycle/teams/team-enterprise.yaml +0 -16
- package/_gaia/lifecycle/teams/team-full.yaml +0 -13
- package/_gaia/lifecycle/teams/team-implementation.yaml +0 -8
- package/_gaia/lifecycle/teams/team-planning.yaml +0 -9
- package/_gaia/lifecycle/teams/team-quick-ship.yaml +0 -6
- package/_gaia/lifecycle/teams/team-security-focused.yaml +0 -13
- package/_gaia/lifecycle/templates/api-documentation-template.md +0 -112
- package/_gaia/lifecycle/templates/architecture-template.md +0 -65
- package/_gaia/lifecycle/templates/brownfield-architecture-template.md +0 -198
- package/_gaia/lifecycle/templates/brownfield-assessment-template.md +0 -78
- package/_gaia/lifecycle/templates/brownfield-onboarding-template.md +0 -160
- package/_gaia/lifecycle/templates/dependency-map-template.md +0 -73
- package/_gaia/lifecycle/templates/deployment-template.md +0 -52
- package/_gaia/lifecycle/templates/epic-status-template.md +0 -64
- package/_gaia/lifecycle/templates/event-catalog-template.md +0 -78
- package/_gaia/lifecycle/templates/nfr-assessment-template.md +0 -96
- package/_gaia/lifecycle/templates/prd-template.md +0 -83
- package/_gaia/lifecycle/templates/product-brief-template.md +0 -48
- package/_gaia/lifecycle/templates/review-template.md +0 -47
- package/_gaia/lifecycle/templates/sprint-plan-template.md +0 -45
- package/_gaia/lifecycle/templates/story-template.md +0 -118
- package/_gaia/lifecycle/templates/tech-debt-dashboard-template.md +0 -71
- package/_gaia/lifecycle/templates/test-plan-template.md +0 -56
- package/_gaia/lifecycle/templates/ux-design-assessment-template.md +0 -122
- package/_gaia/lifecycle/workflows/1-analysis/advanced-elicitation/instructions.xml +0 -44
- package/_gaia/lifecycle/workflows/1-analysis/advanced-elicitation/methods.csv +0 -9
- package/_gaia/lifecycle/workflows/1-analysis/advanced-elicitation/workflow.yaml +0 -33
- package/_gaia/lifecycle/workflows/1-analysis/brainstorm-project/checklist.md +0 -24
- package/_gaia/lifecycle/workflows/1-analysis/brainstorm-project/instructions.xml +0 -39
- package/_gaia/lifecycle/workflows/1-analysis/brainstorm-project/workflow.yaml +0 -19
- package/_gaia/lifecycle/workflows/1-analysis/create-product-brief/checklist.md +0 -27
- package/_gaia/lifecycle/workflows/1-analysis/create-product-brief/instructions.xml +0 -57
- package/_gaia/lifecycle/workflows/1-analysis/create-product-brief/workflow.yaml +0 -38
- package/_gaia/lifecycle/workflows/1-analysis/domain-research/checklist.md +0 -22
- package/_gaia/lifecycle/workflows/1-analysis/domain-research/instructions.xml +0 -34
- package/_gaia/lifecycle/workflows/1-analysis/domain-research/workflow.yaml +0 -15
- package/_gaia/lifecycle/workflows/1-analysis/market-research/checklist.md +0 -28
- package/_gaia/lifecycle/workflows/1-analysis/market-research/instructions.xml +0 -42
- package/_gaia/lifecycle/workflows/1-analysis/market-research/workflow.yaml +0 -15
- package/_gaia/lifecycle/workflows/1-analysis/technical-research/checklist.md +0 -22
- package/_gaia/lifecycle/workflows/1-analysis/technical-research/instructions.xml +0 -34
- package/_gaia/lifecycle/workflows/1-analysis/technical-research/workflow.yaml +0 -15
- package/_gaia/lifecycle/workflows/2-planning/create-prd/checklist.md +0 -36
- package/_gaia/lifecycle/workflows/2-planning/create-prd/instructions.xml +0 -80
- package/_gaia/lifecycle/workflows/2-planning/create-prd/workflow.yaml +0 -23
- package/_gaia/lifecycle/workflows/2-planning/create-ux-design/checklist.md +0 -26
- package/_gaia/lifecycle/workflows/2-planning/create-ux-design/instructions.xml +0 -49
- package/_gaia/lifecycle/workflows/2-planning/create-ux-design/workflow.yaml +0 -23
- package/_gaia/lifecycle/workflows/2-planning/edit-prd/checklist.md +0 -17
- package/_gaia/lifecycle/workflows/2-planning/edit-prd/instructions.xml +0 -50
- package/_gaia/lifecycle/workflows/2-planning/edit-prd/workflow.yaml +0 -22
- package/_gaia/lifecycle/workflows/2-planning/validate-prd/checklist.md +0 -12
- package/_gaia/lifecycle/workflows/2-planning/validate-prd/instructions.xml +0 -52
- package/_gaia/lifecycle/workflows/2-planning/validate-prd/workflow.yaml +0 -19
- package/_gaia/lifecycle/workflows/3-solutioning/create-architecture/checklist.md +0 -32
- package/_gaia/lifecycle/workflows/3-solutioning/create-architecture/instructions.xml +0 -100
- package/_gaia/lifecycle/workflows/3-solutioning/create-architecture/workflow.yaml +0 -41
- package/_gaia/lifecycle/workflows/3-solutioning/create-epics-stories/checklist.md +0 -30
- package/_gaia/lifecycle/workflows/3-solutioning/create-epics-stories/instructions.xml +0 -86
- package/_gaia/lifecycle/workflows/3-solutioning/create-epics-stories/workflow.yaml +0 -34
- package/_gaia/lifecycle/workflows/3-solutioning/edit-architecture/checklist.md +0 -24
- package/_gaia/lifecycle/workflows/3-solutioning/edit-architecture/instructions.xml +0 -91
- package/_gaia/lifecycle/workflows/3-solutioning/edit-architecture/workflow.yaml +0 -32
- package/_gaia/lifecycle/workflows/3-solutioning/implementation-readiness/checklist.md +0 -66
- package/_gaia/lifecycle/workflows/3-solutioning/implementation-readiness/instructions.xml +0 -160
- package/_gaia/lifecycle/workflows/3-solutioning/implementation-readiness/workflow.yaml +0 -48
- package/_gaia/lifecycle/workflows/3-solutioning/infrastructure-design/checklist.md +0 -24
- package/_gaia/lifecycle/workflows/3-solutioning/infrastructure-design/instructions.xml +0 -44
- package/_gaia/lifecycle/workflows/3-solutioning/infrastructure-design/workflow.yaml +0 -23
- package/_gaia/lifecycle/workflows/3-solutioning/security-threat-model/checklist.md +0 -24
- package/_gaia/lifecycle/workflows/3-solutioning/security-threat-model/instructions.xml +0 -55
- package/_gaia/lifecycle/workflows/3-solutioning/security-threat-model/workflow.yaml +0 -23
- package/_gaia/lifecycle/workflows/4-implementation/action-items/instructions.xml +0 -131
- package/_gaia/lifecycle/workflows/4-implementation/action-items/workflow.yaml +0 -19
- package/_gaia/lifecycle/workflows/4-implementation/add-stories/checklist.md +0 -27
- package/_gaia/lifecycle/workflows/4-implementation/add-stories/instructions.xml +0 -100
- package/_gaia/lifecycle/workflows/4-implementation/add-stories/workflow.yaml +0 -35
- package/_gaia/lifecycle/workflows/4-implementation/change-request/checklist.md +0 -25
- package/_gaia/lifecycle/workflows/4-implementation/change-request/instructions.xml +0 -123
- package/_gaia/lifecycle/workflows/4-implementation/change-request/workflow.yaml +0 -38
- package/_gaia/lifecycle/workflows/4-implementation/check-dod/checklist.md +0 -18
- package/_gaia/lifecycle/workflows/4-implementation/check-dod/instructions.xml +0 -54
- package/_gaia/lifecycle/workflows/4-implementation/check-dod/workflow.yaml +0 -19
- package/_gaia/lifecycle/workflows/4-implementation/check-review-gate/checklist.md +0 -18
- package/_gaia/lifecycle/workflows/4-implementation/check-review-gate/instructions.xml +0 -53
- package/_gaia/lifecycle/workflows/4-implementation/check-review-gate/workflow.yaml +0 -19
- package/_gaia/lifecycle/workflows/4-implementation/code-review/checklist.md +0 -18
- package/_gaia/lifecycle/workflows/4-implementation/code-review/instructions.xml +0 -50
- package/_gaia/lifecycle/workflows/4-implementation/code-review/workflow.yaml +0 -24
- package/_gaia/lifecycle/workflows/4-implementation/correct-course/checklist.md +0 -21
- package/_gaia/lifecycle/workflows/4-implementation/correct-course/instructions.xml +0 -63
- package/_gaia/lifecycle/workflows/4-implementation/correct-course/workflow.yaml +0 -25
- package/_gaia/lifecycle/workflows/4-implementation/create-story/checklist.md +0 -38
- package/_gaia/lifecycle/workflows/4-implementation/create-story/instructions.xml +0 -194
- package/_gaia/lifecycle/workflows/4-implementation/create-story/workflow.yaml +0 -26
- package/_gaia/lifecycle/workflows/4-implementation/dev-story/checklist.md +0 -26
- package/_gaia/lifecycle/workflows/4-implementation/dev-story/instructions.xml +0 -268
- package/_gaia/lifecycle/workflows/4-implementation/dev-story/workflow.yaml +0 -51
- package/_gaia/lifecycle/workflows/4-implementation/epic-status/checklist.md +0 -25
- package/_gaia/lifecycle/workflows/4-implementation/epic-status/instructions.xml +0 -62
- package/_gaia/lifecycle/workflows/4-implementation/epic-status/workflow.yaml +0 -24
- package/_gaia/lifecycle/workflows/4-implementation/fix-story/checklist.md +0 -12
- package/_gaia/lifecycle/workflows/4-implementation/fix-story/instructions.xml +0 -67
- package/_gaia/lifecycle/workflows/4-implementation/fix-story/workflow.yaml +0 -17
- package/_gaia/lifecycle/workflows/4-implementation/qa-generate-tests/checklist.md +0 -19
- package/_gaia/lifecycle/workflows/4-implementation/qa-generate-tests/instructions.xml +0 -52
- package/_gaia/lifecycle/workflows/4-implementation/qa-generate-tests/workflow.yaml +0 -20
- package/_gaia/lifecycle/workflows/4-implementation/retrospective/checklist.md +0 -15
- package/_gaia/lifecycle/workflows/4-implementation/retrospective/instructions.xml +0 -164
- package/_gaia/lifecycle/workflows/4-implementation/retrospective/workflow.yaml +0 -30
- package/_gaia/lifecycle/workflows/4-implementation/run-all-reviews/checklist.md +0 -14
- package/_gaia/lifecycle/workflows/4-implementation/run-all-reviews/instructions.xml +0 -78
- package/_gaia/lifecycle/workflows/4-implementation/run-all-reviews/workflow.yaml +0 -16
- package/_gaia/lifecycle/workflows/4-implementation/security-review/checklist.md +0 -29
- package/_gaia/lifecycle/workflows/4-implementation/security-review/instructions.xml +0 -80
- package/_gaia/lifecycle/workflows/4-implementation/security-review/workflow.yaml +0 -27
- package/_gaia/lifecycle/workflows/4-implementation/sprint-planning/checklist.md +0 -29
- package/_gaia/lifecycle/workflows/4-implementation/sprint-planning/instructions.xml +0 -140
- package/_gaia/lifecycle/workflows/4-implementation/sprint-planning/workflow.yaml +0 -33
- package/_gaia/lifecycle/workflows/4-implementation/sprint-status/checklist.md +0 -18
- package/_gaia/lifecycle/workflows/4-implementation/sprint-status/instructions.xml +0 -36
- package/_gaia/lifecycle/workflows/4-implementation/sprint-status/workflow.yaml +0 -19
- package/_gaia/lifecycle/workflows/4-implementation/tech-debt-review/checklist.md +0 -30
- package/_gaia/lifecycle/workflows/4-implementation/tech-debt-review/instructions.xml +0 -147
- package/_gaia/lifecycle/workflows/4-implementation/tech-debt-review/workflow.yaml +0 -24
- package/_gaia/lifecycle/workflows/4-implementation/triage-findings/checklist.md +0 -17
- package/_gaia/lifecycle/workflows/4-implementation/triage-findings/instructions.xml +0 -124
- package/_gaia/lifecycle/workflows/4-implementation/triage-findings/workflow.yaml +0 -15
- package/_gaia/lifecycle/workflows/4-implementation/val-refresh-ground-truth/checklist.md +0 -48
- package/_gaia/lifecycle/workflows/4-implementation/val-refresh-ground-truth/instructions.xml +0 -125
- package/_gaia/lifecycle/workflows/4-implementation/val-refresh-ground-truth/workflow.yaml +0 -31
- package/_gaia/lifecycle/workflows/4-implementation/val-validate-artifact/checklist.md +0 -54
- package/_gaia/lifecycle/workflows/4-implementation/val-validate-artifact/instructions.xml +0 -147
- package/_gaia/lifecycle/workflows/4-implementation/val-validate-artifact/test-structure.sh +0 -116
- package/_gaia/lifecycle/workflows/4-implementation/val-validate-artifact/workflow.yaml +0 -29
- package/_gaia/lifecycle/workflows/4-implementation/val-validate-plan/checklist.md +0 -34
- package/_gaia/lifecycle/workflows/4-implementation/val-validate-plan/instructions.xml +0 -162
- package/_gaia/lifecycle/workflows/4-implementation/val-validate-plan/workflow.yaml +0 -39
- package/_gaia/lifecycle/workflows/4-implementation/validate-story/checklist.md +0 -23
- package/_gaia/lifecycle/workflows/4-implementation/validate-story/instructions.xml +0 -146
- package/_gaia/lifecycle/workflows/4-implementation/validate-story/workflow.yaml +0 -25
- package/_gaia/lifecycle/workflows/5-deployment/deployment-checklist/checklist.md +0 -29
- package/_gaia/lifecycle/workflows/5-deployment/deployment-checklist/instructions.xml +0 -59
- package/_gaia/lifecycle/workflows/5-deployment/deployment-checklist/workflow.yaml +0 -39
- package/_gaia/lifecycle/workflows/5-deployment/post-deploy-verify/checklist.md +0 -19
- package/_gaia/lifecycle/workflows/5-deployment/post-deploy-verify/instructions.xml +0 -33
- package/_gaia/lifecycle/workflows/5-deployment/post-deploy-verify/workflow.yaml +0 -15
- package/_gaia/lifecycle/workflows/5-deployment/release-plan/checklist.md +0 -20
- package/_gaia/lifecycle/workflows/5-deployment/release-plan/instructions.xml +0 -33
- package/_gaia/lifecycle/workflows/5-deployment/release-plan/workflow.yaml +0 -19
- package/_gaia/lifecycle/workflows/5-deployment/rollback-plan/checklist.md +0 -20
- package/_gaia/lifecycle/workflows/5-deployment/rollback-plan/instructions.xml +0 -33
- package/_gaia/lifecycle/workflows/5-deployment/rollback-plan/workflow.yaml +0 -15
- package/_gaia/lifecycle/workflows/anytime/brownfield-onboarding/checklist.md +0 -52
- package/_gaia/lifecycle/workflows/anytime/brownfield-onboarding/instructions.xml +0 -122
- package/_gaia/lifecycle/workflows/anytime/brownfield-onboarding/test-step7.sh +0 -149
- package/_gaia/lifecycle/workflows/anytime/brownfield-onboarding/workflow.yaml +0 -33
- package/_gaia/lifecycle/workflows/anytime/document-project/checklist.md +0 -11
- package/_gaia/lifecycle/workflows/anytime/document-project/instructions.xml +0 -26
- package/_gaia/lifecycle/workflows/anytime/document-project/workflow.yaml +0 -15
- package/_gaia/lifecycle/workflows/anytime/generate-project-context/checklist.md +0 -11
- package/_gaia/lifecycle/workflows/anytime/generate-project-context/instructions.xml +0 -22
- package/_gaia/lifecycle/workflows/anytime/generate-project-context/workflow.yaml +0 -15
- package/_gaia/lifecycle/workflows/anytime/memory-hygiene/checklist.md +0 -24
- package/_gaia/lifecycle/workflows/anytime/memory-hygiene/instructions.xml +0 -108
- package/_gaia/lifecycle/workflows/anytime/memory-hygiene/workflow.yaml +0 -15
- package/_gaia/lifecycle/workflows/anytime/performance-review/checklist.md +0 -25
- package/_gaia/lifecycle/workflows/anytime/performance-review/instructions.xml +0 -62
- package/_gaia/lifecycle/workflows/anytime/performance-review/workflow.yaml +0 -15
- package/_gaia/lifecycle/workflows/cross-phase/add-feature/checklist.md +0 -30
- package/_gaia/lifecycle/workflows/cross-phase/add-feature/instructions.xml +0 -85
- package/_gaia/lifecycle/workflows/cross-phase/add-feature/workflow.yaml +0 -37
- package/_gaia/lifecycle/workflows/quick-flow/quick-dev/checklist.md +0 -11
- package/_gaia/lifecycle/workflows/quick-flow/quick-dev/instructions.xml +0 -26
- package/_gaia/lifecycle/workflows/quick-flow/quick-dev/workflow.yaml +0 -19
- package/_gaia/lifecycle/workflows/quick-flow/quick-spec/checklist.md +0 -13
- package/_gaia/lifecycle/workflows/quick-flow/quick-spec/instructions.xml +0 -27
- package/_gaia/lifecycle/workflows/quick-flow/quick-spec/workflow.yaml +0 -15
- package/_gaia/testing/.resolved/.gitkeep +0 -0
- package/_gaia/testing/agents/test-architect.md +0 -131
- package/_gaia/testing/config.yaml +0 -8
- package/_gaia/testing/knowledge/_index.csv +0 -22
- package/_gaia/testing/knowledge/accessibility/axe-core-patterns.md +0 -177
- package/_gaia/testing/knowledge/accessibility/wcag-checks.md +0 -191
- package/_gaia/testing/knowledge/core/deterministic-testing.md +0 -167
- package/_gaia/testing/knowledge/core/fixture-architecture.md +0 -131
- package/_gaia/testing/knowledge/core/test-isolation.md +0 -142
- package/_gaia/testing/knowledge/core/test-pyramid.md +0 -129
- package/_gaia/testing/knowledge/extended/api-testing-patterns.md +0 -196
- package/_gaia/testing/knowledge/extended/data-factories.md +0 -158
- package/_gaia/testing/knowledge/extended/risk-governance.md +0 -119
- package/_gaia/testing/knowledge/extended/selector-resilience.md +0 -109
- package/_gaia/testing/knowledge/mobile-testing/appium-patterns.md +0 -164
- package/_gaia/testing/knowledge/mobile-testing/react-native-testing.md +0 -193
- package/_gaia/testing/knowledge/mobile-testing/responsive-testing.md +0 -177
- package/_gaia/testing/knowledge/performance/k6-patterns.md +0 -200
- package/_gaia/testing/knowledge/performance/lighthouse-ci.md +0 -158
- package/_gaia/testing/knowledge/specialized/contract-testing.md +0 -173
- package/_gaia/testing/knowledge/specialized/test-healing.md +0 -129
- package/_gaia/testing/knowledge/specialized/visual-testing.md +0 -129
- package/_gaia/testing/knowledge/unit-testing/jest-vitest-patterns.md +0 -193
- package/_gaia/testing/knowledge/unit-testing/junit5-patterns.md +0 -200
- package/_gaia/testing/knowledge/unit-testing/pytest-patterns.md +0 -185
- package/_gaia/testing/module-help.csv +0 -13
- package/_gaia/testing/workflows/accessibility-testing/checklist.md +0 -12
- package/_gaia/testing/workflows/accessibility-testing/instructions.xml +0 -41
- package/_gaia/testing/workflows/accessibility-testing/workflow.yaml +0 -13
- package/_gaia/testing/workflows/atdd/checklist.md +0 -6
- package/_gaia/testing/workflows/atdd/instructions.xml +0 -36
- package/_gaia/testing/workflows/atdd/workflow.yaml +0 -22
- package/_gaia/testing/workflows/ci-setup/checklist.md +0 -9
- package/_gaia/testing/workflows/ci-setup/instructions.xml +0 -43
- package/_gaia/testing/workflows/ci-setup/workflow.yaml +0 -11
- package/_gaia/testing/workflows/edit-test-plan/checklist.md +0 -20
- package/_gaia/testing/workflows/edit-test-plan/instructions.xml +0 -65
- package/_gaia/testing/workflows/edit-test-plan/workflow.yaml +0 -35
- package/_gaia/testing/workflows/mobile-testing/checklist.md +0 -13
- package/_gaia/testing/workflows/mobile-testing/instructions.xml +0 -41
- package/_gaia/testing/workflows/mobile-testing/workflow.yaml +0 -11
- package/_gaia/testing/workflows/nfr-assessment/checklist.md +0 -7
- package/_gaia/testing/workflows/nfr-assessment/instructions.xml +0 -26
- package/_gaia/testing/workflows/nfr-assessment/workflow.yaml +0 -11
- package/_gaia/testing/workflows/performance-testing/checklist.md +0 -11
- package/_gaia/testing/workflows/performance-testing/instructions.xml +0 -41
- package/_gaia/testing/workflows/performance-testing/workflow.yaml +0 -11
- package/_gaia/testing/workflows/teach-me-testing/checklist.md +0 -6
- package/_gaia/testing/workflows/teach-me-testing/instructions.xml +0 -28
- package/_gaia/testing/workflows/teach-me-testing/workflow.yaml +0 -12
- package/_gaia/testing/workflows/test-automation/checklist.md +0 -6
- package/_gaia/testing/workflows/test-automation/instructions.xml +0 -49
- package/_gaia/testing/workflows/test-automation/workflow.yaml +0 -11
- package/_gaia/testing/workflows/test-design/checklist.md +0 -9
- package/_gaia/testing/workflows/test-design/instructions.xml +0 -47
- package/_gaia/testing/workflows/test-design/workflow.yaml +0 -11
- package/_gaia/testing/workflows/test-framework/checklist.md +0 -8
- package/_gaia/testing/workflows/test-framework/instructions.xml +0 -25
- package/_gaia/testing/workflows/test-framework/workflow.yaml +0 -11
- package/_gaia/testing/workflows/test-review/checklist.md +0 -9
- package/_gaia/testing/workflows/test-review/instructions.xml +0 -51
- package/_gaia/testing/workflows/test-review/workflow.yaml +0 -11
- package/_gaia/testing/workflows/traceability/checklist.md +0 -6
- package/_gaia/testing/workflows/traceability/instructions.xml +0 -49
- package/_gaia/testing/workflows/traceability/workflow.yaml +0 -21
|
@@ -1,131 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: 'test-architect'
|
|
3
|
-
description: 'Sable — Master Test Architect specializing in risk-based testing and quality governance'
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
You must fully embody this agent's persona and follow the activation protocol EXACTLY.
|
|
7
|
-
|
|
8
|
-
```xml
|
|
9
|
-
<agent id="test-architect" name="Sable" title="Master Test Architect" icon="🧪">
|
|
10
|
-
|
|
11
|
-
<activation critical="MANDATORY">
|
|
12
|
-
<step n="1">This file IS the loaded persona — embody Sable fully</step>
|
|
13
|
-
<step n="2">Load {project-root}/_gaia/testing/config.yaml</step>
|
|
14
|
-
<step n="3">Store {user_name}, {test_artifacts}, {knowledge_path}</step>
|
|
15
|
-
<step n="4">Greet user AS Sable — data-driven, strong opinions weakly held</step>
|
|
16
|
-
<step n="5">Display menu</step>
|
|
17
|
-
<step n="6">WAIT for user input</step>
|
|
18
|
-
<step n="7">Match input to handler</step>
|
|
19
|
-
<step n="8">Execute handler</step>
|
|
20
|
-
</activation>
|
|
21
|
-
|
|
22
|
-
<menu-handlers>
|
|
23
|
-
<handler cmd="1" action="workflow" path="testing/workflows/teach-me-testing/workflow.yaml" />
|
|
24
|
-
<handler cmd="2" action="workflow" path="testing/workflows/test-design/workflow.yaml" />
|
|
25
|
-
<handler cmd="3" action="workflow" path="testing/workflows/test-framework/workflow.yaml" />
|
|
26
|
-
<handler cmd="4" action="workflow" path="testing/workflows/ci-setup/workflow.yaml" />
|
|
27
|
-
<handler cmd="5" action="workflow" path="testing/workflows/atdd/workflow.yaml" />
|
|
28
|
-
<handler cmd="6" action="workflow" path="testing/workflows/test-automation/workflow.yaml" />
|
|
29
|
-
<handler cmd="7" action="workflow" path="testing/workflows/test-review/workflow.yaml" />
|
|
30
|
-
<handler cmd="8" action="workflow" path="testing/workflows/nfr-assessment/workflow.yaml" />
|
|
31
|
-
<handler cmd="9" action="workflow" path="testing/workflows/traceability/workflow.yaml" />
|
|
32
|
-
</menu-handlers>
|
|
33
|
-
|
|
34
|
-
<rules>
|
|
35
|
-
<rule>Always start with risk assessment before test planning</rule>
|
|
36
|
-
<rule>Load knowledge fragments from {knowledge_path}/ JIT based on workflow needs</rule>
|
|
37
|
-
<rule>Record test decisions in {project-root}/_memory/test-architect-sidecar/decision-log.md</rule>
|
|
38
|
-
<rule>Output ALL artifacts to {test_artifacts}/</rule>
|
|
39
|
-
<rule>Prefer lower test levels: unit > integration > E2E when possible</rule>
|
|
40
|
-
<rule>API tests are first-class citizens, not just UI support</rule>
|
|
41
|
-
<rule>Flakiness is critical technical debt — never accept it</rule>
|
|
42
|
-
</rules>
|
|
43
|
-
|
|
44
|
-
<memory-reads>
|
|
45
|
-
<cross-ref agent="architect" file="decision-log" mode="recent" required="true" />
|
|
46
|
-
<cross-ref agent="validator" file="ground-truth" mode="recent" required="true" />
|
|
47
|
-
</memory-reads>
|
|
48
|
-
|
|
49
|
-
<specification protocol-ref="core/protocols/agent-specification-protocol.md">
|
|
50
|
-
<mission>Design risk-based test strategies and quality governance systems that scale depth with impact, producing data-backed quality gates and traceable test coverage.</mission>
|
|
51
|
-
<scope>
|
|
52
|
-
<owns>Test strategy design, test framework setup, CI/CD quality gates, ATDD, test automation expansion, test review, NFR assessment, traceability matrices, testing education</owns>
|
|
53
|
-
<does-not-own>Code implementation (dev agents), QA test generation for stories (Vera), security testing (Zara), performance profiling (Juno), architecture design (Theo)</does-not-own>
|
|
54
|
-
</scope>
|
|
55
|
-
<escalation-triggers>
|
|
56
|
-
<trigger>Test flakiness exceeds 5% of suite — systemic issue requiring architecture or infrastructure review</trigger>
|
|
57
|
-
<trigger>Traceability gap: requirements exist without mapped tests — escalate to responsible agent</trigger>
|
|
58
|
-
<trigger>CI pipeline cannot support designed quality gates — escalate to Soren</trigger>
|
|
59
|
-
<trigger>NFR assessment reveals risks not covered by architecture — escalate to Theo</trigger>
|
|
60
|
-
</escalation-triggers>
|
|
61
|
-
<authority>
|
|
62
|
-
<decide>Test strategy, risk-based coverage depth, test framework selection, quality gate thresholds, test pyramid ratios</decide>
|
|
63
|
-
<consult>Acceptable risk levels, test infrastructure budget, flakiness tolerance</consult>
|
|
64
|
-
<escalate>Architecture changes for testability (to Theo), CI infrastructure (to Soren), requirement gaps (to Derek)</escalate>
|
|
65
|
-
</authority>
|
|
66
|
-
<dod>
|
|
67
|
-
<criterion>Test artifact saved to {test_artifacts}/ with all sections complete</criterion>
|
|
68
|
-
<criterion>Quality gates backed by data with defined thresholds</criterion>
|
|
69
|
-
<criterion>Test decisions recorded in test-architect-sidecar memory</criterion>
|
|
70
|
-
<criterion>Risk assessment completed before test planning</criterion>
|
|
71
|
-
</dod>
|
|
72
|
-
<constraints>
|
|
73
|
-
<constraint>NEVER accept test flakiness — fix or delete flaky tests</constraint>
|
|
74
|
-
<constraint>NEVER skip risk assessment before test planning</constraint>
|
|
75
|
-
<constraint>NEVER design tests without considering the test pyramid (prefer lower levels)</constraint>
|
|
76
|
-
</constraints>
|
|
77
|
-
<handoffs>
|
|
78
|
-
<handoff to="devops" when="CI setup requires pipeline changes" gate="ci-setup.md exists" />
|
|
79
|
-
<handoff to="sm" when="ATDD produces testable acceptance criteria" gate="atdd artifact exists" />
|
|
80
|
-
</handoffs>
|
|
81
|
-
</specification>
|
|
82
|
-
|
|
83
|
-
<memory sidecar="_memory/test-architect-sidecar/decision-log.md" />
|
|
84
|
-
<memory sidecar="_memory/test-architect-sidecar/conversation-context.md" />
|
|
85
|
-
|
|
86
|
-
<persona>
|
|
87
|
-
<role>Master Test Architect</role>
|
|
88
|
-
<identity>Test architect specializing in risk-based testing, fixture architecture, ATDD, API testing, backend services, UI automation, CI/CD governance, and scalable quality gates. Equally proficient in API/service testing (pytest, JUnit, Go test, xUnit) and browser E2E (Playwright, Cypress). Has built testing systems that caught critical bugs before they cost millions.</identity>
|
|
89
|
-
<communication_style>Blends data with gut instinct. "Strong opinions, weakly held." Speaks in risk calculations and impact assessments. Will say "the probability of this failing in production is 73%" and then explain exactly why.</communication_style>
|
|
90
|
-
<principles>
|
|
91
|
-
- Risk-based testing — depth scales with impact
|
|
92
|
-
- Quality gates backed by data, not feelings
|
|
93
|
-
- Tests mirror usage patterns (API, UI, or both)
|
|
94
|
-
- Flakiness is critical technical debt — fix it or delete it
|
|
95
|
-
- Prefer lower test levels (unit > integration > E2E) when possible
|
|
96
|
-
- API tests are first-class citizens, not just UI support
|
|
97
|
-
</principles>
|
|
98
|
-
</persona>
|
|
99
|
-
|
|
100
|
-
<menu>
|
|
101
|
-
<item cmd="1" label="Teach Me Testing" description="Interactive testing education" />
|
|
102
|
-
<item cmd="2" label="Test Design" description="Create risk-based test plan" />
|
|
103
|
-
<item cmd="3" label="Test Framework Setup" description="Scaffold test infrastructure" />
|
|
104
|
-
<item cmd="4" label="CI/CD Setup" description="Quality pipeline configuration" />
|
|
105
|
-
<item cmd="5" label="ATDD" description="Acceptance test-driven development" />
|
|
106
|
-
<item cmd="6" label="Test Automation" description="Expand automated test coverage" />
|
|
107
|
-
<item cmd="7" label="Test Review" description="Review test quality and flakiness" />
|
|
108
|
-
<item cmd="8" label="NFR Assessment" description="Non-functional requirements assessment" />
|
|
109
|
-
<item cmd="9" label="Traceability" description="Requirements-to-tests traceability" />
|
|
110
|
-
</menu>
|
|
111
|
-
|
|
112
|
-
<greeting>
|
|
113
|
-
Sable here. Test architect.
|
|
114
|
-
|
|
115
|
-
I see testing through a risk lens — not everything needs the same depth of coverage. Let's figure out where the real risks are and build quality gates that actually work.
|
|
116
|
-
|
|
117
|
-
1. **Teach Me Testing** — learn testing progressively
|
|
118
|
-
2. **Test Design** — risk-based test plan for your system
|
|
119
|
-
3. **Test Framework Setup** — scaffold your test infrastructure
|
|
120
|
-
4. **CI/CD Setup** — quality pipeline with automated gates
|
|
121
|
-
5. **ATDD** — acceptance test-driven development
|
|
122
|
-
6. **Test Automation** — expand your automated coverage
|
|
123
|
-
7. **Test Review** — audit existing test quality
|
|
124
|
-
8. **NFR Assessment** — performance, security, reliability
|
|
125
|
-
9. **Traceability** — requirements-to-tests matrix
|
|
126
|
-
|
|
127
|
-
What's the risk profile we're working with?
|
|
128
|
-
</greeting>
|
|
129
|
-
|
|
130
|
-
</agent>
|
|
131
|
-
```
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
tier,fragment,file,description,used_by_workflows
|
|
2
|
-
"core","fixture-architecture","core/fixture-architecture.md","Fixture patterns, factories, pure function wrappers","test-framework,test-automation"
|
|
3
|
-
"core","test-pyramid","core/test-pyramid.md","Test levels and when to use each","test-design,teach-me-testing"
|
|
4
|
-
"core","test-isolation","core/test-isolation.md","Test doubles, dependency injection, database isolation","test-framework,test-review"
|
|
5
|
-
"core","deterministic-testing","core/deterministic-testing.md","Avoiding flaky tests, time control, network determinism","test-review,test-automation"
|
|
6
|
-
"extended","api-testing-patterns","extended/api-testing-patterns.md","Schema validation, contract testing, REST patterns","test-design,test-automation,atdd"
|
|
7
|
-
"extended","risk-governance","extended/risk-governance.md","Risk-based testing, probability-impact matrix","test-design,nfr-assessment"
|
|
8
|
-
"extended","data-factories","extended/data-factories.md","Builder pattern, factory functions, test data","test-framework,test-automation"
|
|
9
|
-
"extended","selector-resilience","extended/selector-resilience.md","data-testid, role-based selectors, resilience","test-automation,test-review"
|
|
10
|
-
"specialized","contract-testing","specialized/contract-testing.md","Consumer-driven contracts with Pact","test-design,ci-setup"
|
|
11
|
-
"specialized","visual-testing","specialized/visual-testing.md","Screenshot comparison, visual regression","test-automation,test-review"
|
|
12
|
-
"specialized","test-healing","specialized/test-healing.md","Self-healing tests, selector fallbacks","test-review"
|
|
13
|
-
"unit-testing","pytest-patterns","unit-testing/pytest-patterns.md","Pytest fixtures, parameterization, mocking, async testing","test-framework,test-automation"
|
|
14
|
-
"unit-testing","jest-vitest-patterns","unit-testing/jest-vitest-patterns.md","Jest/Vitest patterns, RTL, mocking, snapshots","test-framework,test-automation"
|
|
15
|
-
"unit-testing","junit5-patterns","unit-testing/junit5-patterns.md","JUnit 5 patterns, Mockito, Testcontainers, Spring slices","test-framework,test-automation"
|
|
16
|
-
"mobile-testing","appium-patterns","mobile-testing/appium-patterns.md","Appium cross-platform automation, Page Object Model, device farms","mobile-testing,test-automation"
|
|
17
|
-
"mobile-testing","react-native-testing","mobile-testing/react-native-testing.md","Jest + RNTL, Detox E2E, native module mocking","mobile-testing,test-framework"
|
|
18
|
-
"mobile-testing","responsive-testing","mobile-testing/responsive-testing.md","Viewport testing, CSS breakpoints, visual regression, touch vs click","mobile-testing,test-automation"
|
|
19
|
-
"accessibility","axe-core-patterns","accessibility/axe-core-patterns.md","axe-core integration with Playwright/Cypress, CI automation","accessibility-testing,ci-setup"
|
|
20
|
-
"accessibility","wcag-checks","accessibility/wcag-checks.md","WCAG 2.1 Level AA checklist, POUR principles, screen reader testing","accessibility-testing,test-review"
|
|
21
|
-
"performance","k6-patterns","performance/k6-patterns.md","k6 load testing, scenarios, thresholds, CI integration","performance-testing,ci-setup"
|
|
22
|
-
"performance","lighthouse-ci","performance/lighthouse-ci.md","Lighthouse CI, Core Web Vitals, performance budgets, bundle analysis","performance-testing,ci-setup"
|
|
@@ -1,177 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: axe-core-patterns
|
|
3
|
-
tier: accessibility
|
|
4
|
-
version: '1.0'
|
|
5
|
-
---
|
|
6
|
-
|
|
7
|
-
# axe-core Patterns
|
|
8
|
-
|
|
9
|
-
## Principle
|
|
10
|
-
|
|
11
|
-
axe-core is the de facto standard for automated accessibility testing. It catches
|
|
12
|
-
approximately 30-40% of WCAG violations automatically — the remainder require manual
|
|
13
|
-
testing. Integrate axe-core into your test suite and CI pipeline to prevent regressions
|
|
14
|
-
while complementing with manual audits.
|
|
15
|
-
|
|
16
|
-
## Rationale
|
|
17
|
-
|
|
18
|
-
Manual accessibility testing is essential but slow and inconsistent. axe-core provides
|
|
19
|
-
fast, repeatable checks for common violations (missing alt text, insufficient contrast,
|
|
20
|
-
missing labels). Running axe-core in CI prevents new violations from being introduced,
|
|
21
|
-
creating a ratchet effect that improves accessibility over time.
|
|
22
|
-
|
|
23
|
-
## Pattern Examples
|
|
24
|
-
|
|
25
|
-
### Playwright Integration
|
|
26
|
-
|
|
27
|
-
```typescript
|
|
28
|
-
import { test, expect } from '@playwright/test';
|
|
29
|
-
import AxeBuilder from '@axe-core/playwright';
|
|
30
|
-
|
|
31
|
-
test.describe('Accessibility', () => {
|
|
32
|
-
test('homepage has no violations', async ({ page }) => {
|
|
33
|
-
await page.goto('/');
|
|
34
|
-
|
|
35
|
-
const results = await new AxeBuilder({ page })
|
|
36
|
-
.withTags(['wcag2a', 'wcag2aa', 'wcag21aa'])
|
|
37
|
-
.analyze();
|
|
38
|
-
|
|
39
|
-
expect(results.violations).toEqual([]);
|
|
40
|
-
});
|
|
41
|
-
|
|
42
|
-
test('login form is accessible', async ({ page }) => {
|
|
43
|
-
await page.goto('/login');
|
|
44
|
-
|
|
45
|
-
const results = await new AxeBuilder({ page })
|
|
46
|
-
.include('[data-testid="login-form"]')
|
|
47
|
-
.analyze();
|
|
48
|
-
|
|
49
|
-
expect(results.violations).toEqual([]);
|
|
50
|
-
});
|
|
51
|
-
});
|
|
52
|
-
```
|
|
53
|
-
|
|
54
|
-
### Cypress Integration
|
|
55
|
-
|
|
56
|
-
```javascript
|
|
57
|
-
// cypress/support/commands.js
|
|
58
|
-
import 'cypress-axe';
|
|
59
|
-
|
|
60
|
-
// cypress/e2e/accessibility.cy.js
|
|
61
|
-
describe('Accessibility', () => {
|
|
62
|
-
beforeEach(() => {
|
|
63
|
-
cy.visit('/');
|
|
64
|
-
cy.injectAxe();
|
|
65
|
-
});
|
|
66
|
-
|
|
67
|
-
it('has no violations on homepage', () => {
|
|
68
|
-
cy.checkA11y(null, {
|
|
69
|
-
runOnly: {
|
|
70
|
-
type: 'tag',
|
|
71
|
-
values: ['wcag2a', 'wcag2aa'],
|
|
72
|
-
},
|
|
73
|
-
});
|
|
74
|
-
});
|
|
75
|
-
|
|
76
|
-
it('has no violations on modal', () => {
|
|
77
|
-
cy.get('[data-testid="open-modal"]').click();
|
|
78
|
-
cy.checkA11y('[data-testid="modal"]');
|
|
79
|
-
});
|
|
80
|
-
});
|
|
81
|
-
```
|
|
82
|
-
|
|
83
|
-
### Rule Configuration
|
|
84
|
-
|
|
85
|
-
```typescript
|
|
86
|
-
// Disable specific rules when you have a known exception
|
|
87
|
-
const results = await new AxeBuilder({ page })
|
|
88
|
-
.disableRules(['color-contrast']) // only if you have a documented exception
|
|
89
|
-
.analyze();
|
|
90
|
-
|
|
91
|
-
// Run only specific rules
|
|
92
|
-
const results = await new AxeBuilder({ page })
|
|
93
|
-
.withRules(['label', 'image-alt', 'button-name', 'link-name'])
|
|
94
|
-
.analyze();
|
|
95
|
-
|
|
96
|
-
// Target specific WCAG levels
|
|
97
|
-
const results = await new AxeBuilder({ page })
|
|
98
|
-
.withTags(['wcag2a']) // Level A only
|
|
99
|
-
.withTags(['wcag2aa']) // Level AA
|
|
100
|
-
.withTags(['wcag21aa']) // WCAG 2.1 Level AA
|
|
101
|
-
.analyze();
|
|
102
|
-
```
|
|
103
|
-
|
|
104
|
-
### CI Integration
|
|
105
|
-
|
|
106
|
-
```yaml
|
|
107
|
-
# GitHub Actions
|
|
108
|
-
- name: Run accessibility tests
|
|
109
|
-
run: npx playwright test tests/accessibility/
|
|
110
|
-
env:
|
|
111
|
-
CI: true
|
|
112
|
-
|
|
113
|
-
# Custom reporter for CI visibility
|
|
114
|
-
- name: Upload axe results
|
|
115
|
-
if: always()
|
|
116
|
-
uses: actions/upload-artifact@v4
|
|
117
|
-
with:
|
|
118
|
-
name: accessibility-report
|
|
119
|
-
path: test-results/accessibility/
|
|
120
|
-
```
|
|
121
|
-
|
|
122
|
-
### Custom Result Handling
|
|
123
|
-
|
|
124
|
-
```typescript
|
|
125
|
-
function formatViolations(violations: axe.Result[]): string {
|
|
126
|
-
return violations
|
|
127
|
-
.map((v) => {
|
|
128
|
-
const nodes = v.nodes.map((n) => ` - ${n.html} (${n.failureSummary})`).join('\n');
|
|
129
|
-
return `${v.id} (${v.impact}): ${v.description}\n${nodes}`;
|
|
130
|
-
})
|
|
131
|
-
.join('\n\n');
|
|
132
|
-
}
|
|
133
|
-
|
|
134
|
-
test('check and report violations', async ({ page }) => {
|
|
135
|
-
await page.goto('/dashboard');
|
|
136
|
-
const results = await new AxeBuilder({ page }).analyze();
|
|
137
|
-
|
|
138
|
-
if (results.violations.length > 0) {
|
|
139
|
-
console.log('Accessibility violations found:\n' + formatViolations(results.violations));
|
|
140
|
-
}
|
|
141
|
-
expect(results.violations).toEqual([]);
|
|
142
|
-
});
|
|
143
|
-
```
|
|
144
|
-
|
|
145
|
-
### Common Violations and Fixes
|
|
146
|
-
|
|
147
|
-
| Violation | Impact | Fix |
|
|
148
|
-
|-----------|--------|-----|
|
|
149
|
-
| `image-alt` | Critical | Add `alt` attribute to all `<img>` tags |
|
|
150
|
-
| `button-name` | Critical | Add text content or `aria-label` to buttons |
|
|
151
|
-
| `link-name` | Serious | Add descriptive text to all links |
|
|
152
|
-
| `color-contrast` | Serious | Ensure 4.5:1 ratio for normal text, 3:1 for large |
|
|
153
|
-
| `label` | Critical | Associate `<label>` with form inputs via `for`/`id` |
|
|
154
|
-
| `region` | Moderate | Wrap content in landmark regions |
|
|
155
|
-
|
|
156
|
-
## Anti-Patterns
|
|
157
|
-
|
|
158
|
-
1. **Disabling rules without justification** — Every disabled rule should have a
|
|
159
|
-
documented exception with a plan to fix.
|
|
160
|
-
|
|
161
|
-
2. **Running axe-core only in development** — Accessibility checks belong in CI.
|
|
162
|
-
New code should never introduce violations.
|
|
163
|
-
|
|
164
|
-
3. **Testing only the homepage** — Run axe-core on every page and every state
|
|
165
|
-
(modals open, forms with errors, loading states).
|
|
166
|
-
|
|
167
|
-
4. **Treating axe-core as complete** — axe-core catches 30-40% of issues. Manual
|
|
168
|
-
testing for keyboard nav, screen readers, and focus management is still required.
|
|
169
|
-
|
|
170
|
-
5. **Ignoring incomplete results** — axe-core reports "incomplete" for checks that
|
|
171
|
-
need human review. These are not passes — review them.
|
|
172
|
-
|
|
173
|
-
## Integration Points
|
|
174
|
-
|
|
175
|
-
- **Tools**: axe-core, @axe-core/playwright, cypress-axe, pa11y
|
|
176
|
-
- **Workflows**: `accessibility-testing` (test plan), `ci-setup` (pipeline integration)
|
|
177
|
-
- **Related fragments**: `wcag-checks` (manual testing checklist)
|
|
@@ -1,191 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: wcag-checks
|
|
3
|
-
tier: accessibility
|
|
4
|
-
version: '1.0'
|
|
5
|
-
---
|
|
6
|
-
|
|
7
|
-
# WCAG 2.1 Checks
|
|
8
|
-
|
|
9
|
-
## Principle
|
|
10
|
-
|
|
11
|
-
WCAG 2.1 Level AA is the baseline standard for web accessibility. The four principles
|
|
12
|
-
— Perceivable, Operable, Understandable, Robust (POUR) — provide a framework for
|
|
13
|
-
evaluating accessibility. Each principle contains guidelines with specific, testable
|
|
14
|
-
success criteria.
|
|
15
|
-
|
|
16
|
-
## Rationale
|
|
17
|
-
|
|
18
|
-
Legal requirements (ADA, EAA, Section 508) increasingly mandate WCAG 2.1 AA compliance.
|
|
19
|
-
Beyond compliance, accessible design improves usability for all users — keyboard
|
|
20
|
-
navigation helps power users, captions help users in noisy environments, and clear
|
|
21
|
-
structure helps everyone. Testing against POUR ensures comprehensive coverage.
|
|
22
|
-
|
|
23
|
-
## Pattern Examples
|
|
24
|
-
|
|
25
|
-
### Perceivable
|
|
26
|
-
|
|
27
|
-
**1.1 Text Alternatives**
|
|
28
|
-
```html
|
|
29
|
-
<!-- Good: Informative alt text -->
|
|
30
|
-
<img src="chart.png" alt="Q3 revenue increased 15% to $2.3M" />
|
|
31
|
-
|
|
32
|
-
<!-- Good: Decorative image -->
|
|
33
|
-
<img src="divider.png" alt="" role="presentation" />
|
|
34
|
-
|
|
35
|
-
<!-- Bad: Missing or meaningless alt -->
|
|
36
|
-
<img src="chart.png" />
|
|
37
|
-
<img src="chart.png" alt="image" />
|
|
38
|
-
```
|
|
39
|
-
|
|
40
|
-
**1.3 Adaptable — Correct heading hierarchy**
|
|
41
|
-
```html
|
|
42
|
-
<!-- Good: Logical hierarchy -->
|
|
43
|
-
<h1>Dashboard</h1>
|
|
44
|
-
<h2>Sales Overview</h2>
|
|
45
|
-
<h3>Monthly Trends</h3>
|
|
46
|
-
<h2>Customer Metrics</h2>
|
|
47
|
-
|
|
48
|
-
<!-- Bad: Skipped levels -->
|
|
49
|
-
<h1>Dashboard</h1>
|
|
50
|
-
<h3>Sales Overview</h3> <!-- skipped h2 -->
|
|
51
|
-
```
|
|
52
|
-
|
|
53
|
-
**1.4 Distinguishable — Color contrast**
|
|
54
|
-
```css
|
|
55
|
-
/* Good: 4.5:1 ratio for normal text */
|
|
56
|
-
.body-text { color: #333333; background: #ffffff; } /* 12.6:1 */
|
|
57
|
-
|
|
58
|
-
/* Good: 3:1 ratio for large text (18px+ or 14px+ bold) */
|
|
59
|
-
.heading { color: #767676; background: #ffffff; font-size: 24px; } /* 4.5:1 */
|
|
60
|
-
|
|
61
|
-
/* Bad: Insufficient contrast */
|
|
62
|
-
.light-text { color: #aaaaaa; background: #ffffff; } /* 2.3:1 */
|
|
63
|
-
```
|
|
64
|
-
|
|
65
|
-
### Operable
|
|
66
|
-
|
|
67
|
-
**2.1 Keyboard Accessible**
|
|
68
|
-
```typescript
|
|
69
|
-
// Test: All interactive elements reachable by Tab
|
|
70
|
-
test('keyboard navigation covers all actions', async ({ page }) => {
|
|
71
|
-
await page.goto('/form');
|
|
72
|
-
const tabbableElements = await page.evaluate(() => {
|
|
73
|
-
const elements: string[] = [];
|
|
74
|
-
let el = document.body;
|
|
75
|
-
while (el = document.activeElement as HTMLElement) {
|
|
76
|
-
elements.push(el.tagName + (el.id ? '#' + el.id : ''));
|
|
77
|
-
(el as HTMLElement).dispatchEvent(new KeyboardEvent('keydown', { key: 'Tab' }));
|
|
78
|
-
if (elements.length > 50) break;
|
|
79
|
-
}
|
|
80
|
-
return elements;
|
|
81
|
-
});
|
|
82
|
-
expect(tabbableElements).toContain('BUTTON#submit');
|
|
83
|
-
});
|
|
84
|
-
|
|
85
|
-
// Test: No keyboard trap
|
|
86
|
-
test('escape closes modal', async ({ page }) => {
|
|
87
|
-
await page.click('[data-testid="open-modal"]');
|
|
88
|
-
await page.keyboard.press('Escape');
|
|
89
|
-
await expect(page.locator('[data-testid="modal"]')).toBeHidden();
|
|
90
|
-
});
|
|
91
|
-
```
|
|
92
|
-
|
|
93
|
-
**2.4 Navigable — Focus indicators**
|
|
94
|
-
```css
|
|
95
|
-
/* Good: Visible focus indicator */
|
|
96
|
-
:focus-visible {
|
|
97
|
-
outline: 2px solid #0066cc;
|
|
98
|
-
outline-offset: 2px;
|
|
99
|
-
}
|
|
100
|
-
|
|
101
|
-
/* Bad: Removing focus indicator */
|
|
102
|
-
:focus { outline: none; } /* NEVER do this without a replacement */
|
|
103
|
-
```
|
|
104
|
-
|
|
105
|
-
### Understandable
|
|
106
|
-
|
|
107
|
-
**3.1 Readable — Language declared**
|
|
108
|
-
```html
|
|
109
|
-
<html lang="en">
|
|
110
|
-
<!-- For multilingual content -->
|
|
111
|
-
<p>The French word <span lang="fr">bonjour</span> means hello.</p>
|
|
112
|
-
```
|
|
113
|
-
|
|
114
|
-
**3.2 Predictable — Consistent navigation**
|
|
115
|
-
```html
|
|
116
|
-
<!-- Navigation must be consistent across pages -->
|
|
117
|
-
<nav aria-label="Main navigation">
|
|
118
|
-
<ul>
|
|
119
|
-
<li><a href="/" aria-current="page">Home</a></li>
|
|
120
|
-
<li><a href="/about">About</a></li>
|
|
121
|
-
<li><a href="/contact">Contact</a></li>
|
|
122
|
-
</ul>
|
|
123
|
-
</nav>
|
|
124
|
-
```
|
|
125
|
-
|
|
126
|
-
**3.3 Input Assistance — Error handling**
|
|
127
|
-
```html
|
|
128
|
-
<!-- Good: Error identified and described -->
|
|
129
|
-
<label for="email">Email</label>
|
|
130
|
-
<input id="email" type="email" aria-describedby="email-error" aria-invalid="true" />
|
|
131
|
-
<p id="email-error" role="alert">Please enter a valid email address (e.g., user@example.com)</p>
|
|
132
|
-
```
|
|
133
|
-
|
|
134
|
-
### Robust
|
|
135
|
-
|
|
136
|
-
**4.1 Compatible — Valid ARIA**
|
|
137
|
-
```html
|
|
138
|
-
<!-- Good: Correct ARIA usage -->
|
|
139
|
-
<button aria-expanded="false" aria-controls="menu-dropdown">Menu</button>
|
|
140
|
-
<ul id="menu-dropdown" role="menu" hidden>
|
|
141
|
-
<li role="menuitem"><a href="/profile">Profile</a></li>
|
|
142
|
-
</ul>
|
|
143
|
-
|
|
144
|
-
<!-- Bad: Conflicting roles -->
|
|
145
|
-
<div role="button" role="link">Click me</div>
|
|
146
|
-
```
|
|
147
|
-
|
|
148
|
-
### Testing Tools Quick Reference
|
|
149
|
-
|
|
150
|
-
| Tool | Purpose | Automated? |
|
|
151
|
-
|------|---------|-----------|
|
|
152
|
-
| axe-core | Rule-based WCAG scanning | Yes |
|
|
153
|
-
| Lighthouse | Accessibility score + audit | Yes |
|
|
154
|
-
| WAVE | Visual overlay of issues | Semi |
|
|
155
|
-
| VoiceOver (macOS/iOS) | Screen reader testing | Manual |
|
|
156
|
-
| NVDA (Windows) | Screen reader testing | Manual |
|
|
157
|
-
| Colour Contrast Analyser | Contrast ratio checking | Manual |
|
|
158
|
-
| Keyboard only | Tab/Enter/Space navigation | Manual |
|
|
159
|
-
|
|
160
|
-
### Screen Reader Testing Procedure
|
|
161
|
-
|
|
162
|
-
1. Turn on screen reader (VoiceOver: Cmd+F5, NVDA: Ctrl+Alt+N)
|
|
163
|
-
2. Navigate page with Tab key — verify all interactive elements announced
|
|
164
|
-
3. Read through headings (VO: Ctrl+Alt+Cmd+H) — verify logical order
|
|
165
|
-
4. Complete primary user flow using only keyboard
|
|
166
|
-
5. Verify form labels read correctly when fields focused
|
|
167
|
-
6. Check dynamic content updates announced via live regions
|
|
168
|
-
7. Verify modal focus trap works correctly
|
|
169
|
-
|
|
170
|
-
## Anti-Patterns
|
|
171
|
-
|
|
172
|
-
1. **ARIA overuse** — Adding ARIA to elements that already have semantic meaning.
|
|
173
|
-
`<button>` does not need `role="button"`. Use semantic HTML first.
|
|
174
|
-
|
|
175
|
-
2. **Color as sole indicator** — Using only color to convey information (red for error,
|
|
176
|
-
green for success). Add icons, text, or patterns alongside color.
|
|
177
|
-
|
|
178
|
-
3. **Removing focus indicators** — `outline: none` without a visible replacement makes
|
|
179
|
-
keyboard navigation impossible.
|
|
180
|
-
|
|
181
|
-
4. **Auto-playing media** — Audio or video that plays automatically without user control
|
|
182
|
-
violates WCAG 1.4.2.
|
|
183
|
-
|
|
184
|
-
5. **Non-descriptive links** — "Click here" and "Read more" links provide no context
|
|
185
|
-
to screen reader users. Use descriptive link text.
|
|
186
|
-
|
|
187
|
-
## Integration Points
|
|
188
|
-
|
|
189
|
-
- **Tools**: axe-core, VoiceOver, NVDA, Lighthouse, WAVE
|
|
190
|
-
- **Workflows**: `accessibility-testing` (test plan), `test-review` (quality checks)
|
|
191
|
-
- **Related fragments**: `axe-core-patterns` (automated testing)
|