📊 Visão Geral dos Scripts
| Script | LOC | Epic | Função |
|---|---|---|---|
| qa-loop-orchestrator.js | 1262 | Epic 6 | Loop review → fix → re-review |
| gotchas-documenter.js | 1295 | Epic 7 | Extrai gotchas de insights |
| test-discovery.js | 1259 | Gap Analysis | Detecta frameworks de teste |
| cicd-discovery.js | 1268 | Gap Analysis | Detecta CI/CD infrastructure |
| documentation-synchronizer.js | 1431 | - | Sincroniza docs com código |
| squad-generator.js | 1405 | SQS-4 | Gera estrutura de squads |
| pattern-learner.js | 1224 | - | Aprende padrões de sucesso |
| greeting-builder.js | 1404 | ACT-7 | Constrói greetings contextuais |
🔄 QA Loop Orchestrator
Orquestra o ciclo automatizado de review → fix → re-review com state management completo.
Acceptance Criteria (Story 6.5)
- AC1: Loop automático: review → fix → re-review
- AC2: Máximo 5 iterações (configurável via
autoClaude.qaLoop.maxIterations) - AC3: Após 5 iterações: escala para humano com full context
- AC4: Track iteração atual em
qa/loop-status.json - AC5: Interrupção manual via
*stop-qa-loop - AC6: Summary ao final com histórico de iterações
- AC7: Integra com status.json para dashboard
Loop Status
const LoopStatus = {
PENDING: 'pending', // ⏳
IN_PROGRESS: 'in_progress', // 🔄
COMPLETED: 'completed', // ✅
STOPPED: 'stopped', // ⏹️
ESCALATED: 'escalated', // 🚨
};
const Verdict = {
APPROVE: 'APPROVE', // ✅
REJECT: 'REJECT', // ❌
BLOCKED: 'BLOCKED', // 🚫
};
Configuration
defaultMaxIterations: 5reviewTimeout: 30 minutesfixTimeout: 60 minutesabandonedThreshold: 1 hour
📝 Gotchas Documenter
Extrai gotchas automaticamente de session insights e consolida em knowledge base pesquisável.
Output Format (AC3)
{
wrong: "O que estava errado",
right: "A forma correta",
reason: "Por que isso importa",
category: "API|Frontend|Database|...",
severity: "high|medium|low"
}
Categories (AC4)
Outputs
.aios/gotchas.md- Consolidated markdown.aios/gotchas.json- Structured JSON
🧪 Test Discovery
Auto-detecta frameworks de teste, arquivos de teste, e provê execução inteligente.
Frameworks Suportados
| Framework | Config Files | Test Patterns |
|---|---|---|
| Jest | jest.config.js, .ts, .json | *.test.js, *.spec.js |
| Vitest | vitest.config.js, vite.config.js | *.test.ts, *.spec.ts |
| Mocha | .mocharc.js, .json, .yaml | test/**/*.js |
| Pytest | pytest.ini, pyproject.toml | test_*.py, *_test.py |
| RSpec | .rspec, spec/spec_helper.rb | spec/**/*_spec.rb |
| Go Test | go.mod | *_test.go |
| PHPUnit | phpunit.xml | *Test.php |
| JUnit | pom.xml, build.gradle | *Test.java |
| Playwright | playwright.config.js | *.spec.ts (e2e) |
| Cypress | cypress.config.js | *.cy.js (e2e) |
Capabilities
- Auto-detection de framework pelo package.json
- Run command generation (
--coverage,--watch) - Selective testing (
--findRelatedTests) - E2E vs Unit test differentiation
🚀 CI/CD Discovery
Auto-detecta CI/CD infrastructure e provê integration points para AIOS workflows.
Providers Suportados
| Provider | Config Path | Triggers |
|---|---|---|
| GitHub Actions | .github/workflows/*.yml | push, pull_request, schedule |
| GitLab CI | .gitlab-ci.yml | push, merge_request, schedule |
| Jenkins | Jenkinsfile | scm, cron, upstream |
| CircleCI | .circleci/config.yml | push, pull_request, api |
| Travis CI | .travis.yml | push, pull_request, cron |
| Azure Pipelines | azure-pipelines.yml | push, pull_request, manual |
| Bitbucket | bitbucket-pipelines.yml | push, pull_request |
| AWS CodePipeline | buildspec.yml | push, manual |
ConfigParser
Parser YAML simplificado sem dependências externas. Também parseia Jenkinsfile (Groovy-based).
📚 Documentation Synchronizer
Sincroniza automaticamente documentação com mudanças de código.
Sync Strategies
- jsdoc - Sync JSDoc comments com markdown docs
- markdown - Update markdown files com code changes
- schema - Sync YAML/JSON schemas com structures
- api - Update API docs com endpoint changes
- examples - Update code examples em docs
Configuration
{
autoSync: true,
syncInterval: 60000, // 1 minute
docFormats: ['.md', '.yaml', '.yml', '.json'],
codeFormats: ['.js', '.jsx', '.ts', '.tsx'],
syncStrategies: ['jsdoc', 'markdown', 'schema', 'api', 'examples']
}
🎭 Squad Generator
Gera estrutura de squad seguindo arquitetura task-first. Usado pelo *create-squad task do squad-creator agent.
Squad Structure
squads/my-squad/
├── config/
├── agents/
├── tasks/
├── workflows/
├── checklists/
├── templates/
├── tools/
├── scripts/
└── data/
Templates Disponíveis
basic- Squad básicoetl- Squad de ETL/dataagent-only- Só agentes
Config Modes
extend- Estende config existenteoverride- Sobrescreve confignone- Sem config changes
🧠 Pattern Learner & Greeting Builder
Pattern Learner (1224 LOC)
Aprende de modificações bem-sucedidas para sugerir melhorias.
- Threshold: 3 ocorrências para aprender
- Similaridade: 80% para match
- Extrai: code patterns, structural, refactoring, dependency, performance
Greeting Builder (1404 LOC)
Constrói greetings inteligentes baseado em contexto.
- Session type: new/existing/workflow
- Git config status
- Project status (narrative)
- Previous agent handoff
- Timeout: 150ms per section