@jaimevalasek/aioson 1.7.0 → 1.8.0
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/CHANGELOG.md +60 -0
- package/README.md +153 -10
- package/docs/en/cli-reference.md +56 -1
- package/docs/en/i18n.md +18 -18
- package/docs/en/schemas/index.json +10 -0
- package/docs/en/schemas/parallel-assign.schema.json +9 -0
- package/docs/en/schemas/parallel-doctor.schema.json +36 -0
- package/docs/en/schemas/parallel-guard.schema.json +63 -0
- package/docs/en/schemas/parallel-merge.schema.json +84 -0
- package/docs/en/schemas/parallel-status.schema.json +91 -1
- package/docs/integrations/apps-publish-marketplace.md +94 -0
- package/docs/pt/README.md +9 -0
- package/docs/pt/agentes.md +324 -3
- package/docs/pt/clientes-ai.md +7 -3
- package/docs/pt/comandos-cli.md +160 -13
- package/docs/pt/compress-agents.md +304 -0
- package/docs/pt/design-docs-governance.md +59 -0
- package/docs/pt/feature-archive.md +191 -0
- package/docs/pt/genome-3.0-spec.md +115 -4
- package/docs/pt/genome-distribution.md +232 -0
- package/docs/pt/inicio-rapido.md +1 -0
- package/docs/pt/motor-hardening.md +492 -0
- package/docs/pt/runner-system.md +113 -0
- package/package.json +2 -1
- package/src/agent-manifests.js +66 -0
- package/src/agents.js +27 -7
- package/src/autonomy-policy.js +139 -0
- package/src/brain-query.js +161 -0
- package/src/cli.js +1377 -1099
- package/src/commands/agents.js +102 -7
- package/src/commands/artifact-validate.js +33 -4
- package/src/commands/auth.js +272 -0
- package/src/commands/brain-query.js +44 -0
- package/src/commands/briefing.js +344 -0
- package/src/commands/commit-prepare.js +547 -0
- package/src/commands/compress-agents.js +416 -0
- package/src/commands/context-health.js +4 -2
- package/src/commands/context-trim.js +17 -11
- package/src/commands/design-hybrid-options.js +3 -3
- package/src/commands/devlog-process.js +6 -4
- package/src/commands/dossier.js +423 -0
- package/src/commands/feature-archive.js +513 -0
- package/src/commands/feature-close.js +123 -18
- package/src/commands/gate-approve.js +198 -0
- package/src/commands/gate-check.js +24 -5
- package/src/commands/genome-doctor.js +166 -9
- package/src/commands/git-guard.js +170 -0
- package/src/commands/harness.js +121 -0
- package/src/commands/implementation-plan.js +47 -20
- package/src/commands/init.js +6 -2
- package/src/commands/install.js +6 -2
- package/src/commands/live.js +497 -56
- package/src/commands/locale-apply.js +9 -6
- package/src/commands/locale-diff.js +11 -112
- package/src/commands/mcp-doctor.js +2 -1
- package/src/commands/mcp-init.js +4 -10
- package/src/commands/memory.js +234 -0
- package/src/commands/parallel-assign.js +107 -27
- package/src/commands/parallel-doctor.js +416 -3
- package/src/commands/parallel-guard.js +241 -0
- package/src/commands/parallel-init.js +66 -4
- package/src/commands/parallel-merge.js +299 -0
- package/src/commands/parallel-status.js +147 -3
- package/src/commands/preflight.js +63 -4
- package/src/commands/qa-init.js +10 -5
- package/src/commands/revision.js +235 -0
- package/src/commands/scaffold-complete.js +188 -0
- package/src/commands/security-audit.js +275 -0
- package/src/commands/security-scan.js +376 -0
- package/src/commands/self-implement-loop.js +46 -2
- package/src/commands/setup-context.js +11 -10
- package/src/commands/squad-agent-create.js +51 -9
- package/src/commands/squad-investigate.js +53 -0
- package/src/commands/squad-plan.js +33 -1
- package/src/commands/squad-scaffold.js +4 -3
- package/src/commands/squad-score.js +71 -14
- package/src/commands/squad-status.js +22 -1
- package/src/commands/squad-validate.js +93 -2
- package/src/commands/store-genome.js +304 -0
- package/src/commands/store-skill.js +247 -0
- package/src/commands/store-squad.js +431 -0
- package/src/commands/store-system.js +392 -0
- package/src/commands/tool-capabilities.js +63 -0
- package/src/commands/update.js +3 -3
- package/src/commands/verify-gate.js +40 -0
- package/src/commands/workflow-execute.js +644 -155
- package/src/commands/workflow-harden.js +231 -0
- package/src/commands/workflow-heal.js +136 -0
- package/src/commands/workflow-next.js +460 -22
- package/src/commands/workflow-status.js +328 -138
- package/src/commands/workspace.js +144 -0
- package/src/constants.js +55 -75
- package/src/context-memory.js +133 -4
- package/src/context-writer.js +2 -1
- package/src/context.js +32 -2
- package/src/doctor.js +46 -6
- package/src/dossier/codemap-store.js +267 -0
- package/src/dossier/dossier-bootstrap.js +222 -0
- package/src/dossier/dossier-compact.js +159 -0
- package/src/dossier/lock.js +128 -0
- package/src/dossier/revision-store.js +313 -0
- package/src/dossier/schema.js +155 -0
- package/src/dossier/store.js +400 -0
- package/src/execution-gateway.js +3 -0
- package/src/friction-scanner.js +202 -0
- package/src/genome-schema.js +24 -1
- package/src/genomes.js +33 -0
- package/src/handoff-contract.js +363 -0
- package/src/handoff-validator.js +45 -0
- package/src/harness/circuit-breaker.js +135 -0
- package/src/i18n/messages/en.js +317 -22
- package/src/i18n/messages/es.js +259 -18
- package/src/i18n/messages/fr.js +260 -18
- package/src/i18n/messages/pt-BR.js +313 -22
- package/src/install-profile.js +0 -16
- package/src/installer.js +70 -6
- package/src/lib/git-commit-guard.js +691 -0
- package/src/lib/security/artifact-reader.js +167 -0
- package/src/lib/security/exit-codes.js +51 -0
- package/src/lib/security/findings-writer.js +176 -0
- package/src/lib/security/runtime-events.js +77 -0
- package/src/lib/security/secrets-regex.js +115 -0
- package/src/lib/store/security-scan.js +173 -0
- package/src/lib/terminal-checkbox.js +130 -0
- package/src/lib/tmux-launcher.js +163 -0
- package/src/lib/tool-capabilities.js +102 -0
- package/src/locales.js +12 -8
- package/src/parallel-workspace.js +756 -0
- package/src/parser.js +8 -1
- package/src/path-guard.js +47 -0
- package/src/preflight-engine.js +237 -26
- package/src/self-healing.js +142 -0
- package/src/session-handoff.js +111 -1
- package/src/squad/squad-scaffold.js +183 -19
- package/src/test-briefing.js +226 -0
- package/src/updater.js +1 -1
- package/src/utils.js +3 -0
- package/src/workflow-gates.js +185 -0
- package/template/.aioson/agents/analyst.md +76 -130
- package/template/.aioson/agents/architect.md +53 -86
- package/template/.aioson/agents/committer.md +161 -0
- package/template/.aioson/agents/copywriter.md +463 -0
- package/template/.aioson/agents/cypher.md +252 -0
- package/template/.aioson/agents/dev.md +112 -600
- package/template/.aioson/agents/deyvin.md +33 -235
- package/template/.aioson/agents/discover.md +235 -0
- package/template/.aioson/agents/discovery-design-doc.md +17 -252
- package/template/.aioson/agents/genome.md +76 -26
- package/template/.aioson/agents/manifests/analyst.manifest.json +26 -0
- package/template/.aioson/agents/manifests/architect.manifest.json +23 -0
- package/template/.aioson/agents/manifests/committer.manifest.json +23 -0
- package/template/.aioson/agents/manifests/dev.manifest.json +37 -0
- package/template/.aioson/agents/manifests/orchestrator.manifest.json +30 -0
- package/template/.aioson/agents/manifests/pentester.manifest.json +39 -0
- package/template/.aioson/agents/manifests/pm.manifest.json +26 -0
- package/template/.aioson/agents/manifests/product.manifest.json +23 -0
- package/template/.aioson/agents/manifests/qa.manifest.json +25 -0
- package/template/.aioson/agents/manifests/setup.manifest.json +20 -0
- package/template/.aioson/agents/manifests/ux-ui.manifest.json +24 -0
- package/template/.aioson/agents/neo.md +10 -8
- package/template/.aioson/agents/orache.md +2 -6
- package/template/.aioson/agents/orchestrator.md +81 -182
- package/template/.aioson/agents/pentester.md +235 -0
- package/template/.aioson/agents/pm.md +40 -104
- package/template/.aioson/agents/product.md +99 -344
- package/template/.aioson/agents/profiler-enricher.md +57 -6
- package/template/.aioson/agents/profiler-forge.md +17 -7
- package/template/.aioson/agents/profiler-researcher.md +29 -6
- package/template/.aioson/agents/qa.md +165 -410
- package/template/.aioson/agents/setup.md +52 -262
- package/template/.aioson/agents/sheldon.md +122 -754
- package/template/.aioson/agents/site-forge.md +111 -1583
- package/template/.aioson/agents/squad.md +139 -1820
- package/template/.aioson/agents/tester.md +10 -0
- package/template/.aioson/agents/ux-ui.md +103 -645
- package/template/.aioson/agents/validator.md +69 -0
- package/template/.aioson/brains/scripts/query.js +5 -1
- package/template/.aioson/config/autonomy-protocol.json +43 -0
- package/template/.aioson/config.md +43 -15
- package/template/.aioson/constitution.md +36 -33
- package/template/.aioson/context/design-doc.md +136 -0
- package/template/.aioson/context/project-map.md +57 -0
- package/template/.aioson/design-docs/code-reuse.md +48 -0
- package/template/.aioson/design-docs/componentization.md +47 -0
- package/template/.aioson/design-docs/file-size.md +52 -0
- package/template/.aioson/design-docs/folder-structure.md +51 -0
- package/template/.aioson/design-docs/naming.md +54 -0
- package/template/.aioson/docs/LAYERS.md +12 -2
- package/template/.aioson/docs/dev/execution-discipline.md +106 -0
- package/template/.aioson/docs/dev/stack-conventions.md +83 -0
- package/template/.aioson/docs/deyvin/continuity-recovery.md +57 -0
- package/template/.aioson/docs/deyvin/debugging-escalation.md +30 -0
- package/template/.aioson/docs/deyvin/pair-execution.md +44 -0
- package/template/.aioson/docs/deyvin/runtime-handoffs.md +36 -0
- package/template/.aioson/docs/product/conversation-playbook.md +116 -0
- package/template/.aioson/docs/product/prd-contract.md +107 -0
- package/template/.aioson/docs/product/quality-lens.md +57 -0
- package/template/.aioson/docs/product/research-loop.md +65 -0
- package/template/.aioson/docs/sheldon/enrichment-paths.md +134 -0
- package/template/.aioson/docs/sheldon/quality-lens.md +57 -0
- package/template/.aioson/docs/sheldon/research-loop.md +56 -0
- package/template/.aioson/docs/sheldon/web-intelligence.md +75 -0
- package/template/.aioson/docs/site-forge-build.md +195 -0
- package/template/.aioson/docs/site-forge-extraction.md +135 -0
- package/template/.aioson/docs/site-forge-qa.md +155 -0
- package/template/.aioson/docs/site-forge-recon.md +434 -0
- package/template/.aioson/docs/site-forge-transform.md +249 -0
- package/template/.aioson/docs/squad/content-output.md +91 -0
- package/template/.aioson/docs/squad/creation-flow.md +135 -0
- package/template/.aioson/docs/squad/domain-classification.md +117 -0
- package/template/.aioson/docs/squad/genome-bindings.md +47 -0
- package/template/.aioson/docs/squad/package-contract.md +234 -0
- package/template/.aioson/docs/squad/quality-lens.md +56 -0
- package/template/.aioson/docs/squad/research-loop.md +59 -0
- package/template/.aioson/docs/squad/session-operations.md +117 -0
- package/template/.aioson/docs/squad/workflow-quality.md +165 -0
- package/template/.aioson/docs/ux-ui/accessibility-audit.md +55 -0
- package/template/.aioson/docs/ux-ui/audit-mode.md +86 -0
- package/template/.aioson/docs/ux-ui/component-map.md +35 -0
- package/template/.aioson/docs/ux-ui/design-execution.md +111 -0
- package/template/.aioson/docs/ux-ui/design-gate.md +27 -0
- package/template/.aioson/docs/ux-ui/research-mode.md +39 -0
- package/template/.aioson/docs/ux-ui/site-delivery.md +156 -0
- package/template/.aioson/docs/ux-ui/token-contract.md +57 -0
- package/template/.aioson/genomes/copywriting.md +204 -0
- package/template/.aioson/genomes/copywriting.meta.json +48 -0
- package/template/.aioson/git-guard.json +11 -0
- package/template/.aioson/mcp/servers.md +0 -1
- package/template/.aioson/rules/agent-language-policy.md +93 -0
- package/template/.aioson/rules/aioson-context-boundary.md +63 -0
- package/template/.aioson/rules/canonical-path-contract.md +47 -0
- package/template/.aioson/rules/data-format-convention.md +24 -86
- package/template/.aioson/rules/disk-first-artifacts.md +44 -0
- package/template/.aioson/rules/output-brevity.md +44 -0
- package/template/.aioson/rules/prd-section-ownership.md +49 -0
- package/template/.aioson/rules/security-baseline.md +139 -0
- package/template/.aioson/rules/spec-level-ownership.md +61 -0
- package/template/.aioson/rules/squad-driver-pattern.md +81 -0
- package/template/.aioson/schemas/squad-blueprint.schema.json +24 -0
- package/template/.aioson/schemas/squad-manifest.schema.json +44 -0
- package/template/.aioson/skills/design/cognitive-core-ui/references/motion.md +2 -0
- package/template/.aioson/skills/marketing/references/anti-patterns.md +254 -0
- package/template/.aioson/skills/marketing/references/fascinations.md +192 -0
- package/template/.aioson/skills/marketing/references/five-acts.md +248 -0
- package/template/.aioson/skills/marketing/references/market-intelligence.md +198 -0
- package/template/.aioson/skills/marketing/references/offer-structure.md +203 -0
- package/template/.aioson/skills/marketing/references/one-belief.md +149 -0
- package/template/.aioson/skills/marketing/references/patterns.md +218 -0
- package/template/.aioson/skills/marketing/references/pms-research.md +193 -0
- package/template/.aioson/skills/marketing/vsl-craft.md +385 -0
- package/template/.aioson/skills/process/aioson-spec-driven/references/pm.md +30 -0
- package/template/.aioson/skills/process/secure-tdd/SKILL.md +97 -0
- package/template/.aioson/skills/process/secure-tdd/references/nextjs.md +81 -0
- package/template/.aioson/skills/process/secure-tdd/references/node-express.md +91 -0
- package/template/.aioson/skills/process/secure-tdd/references/planned-stacks.md +33 -0
- package/template/.aioson/skills/static/harness-validate/SKILL.md +46 -0
- package/template/.aioson/skills/static/landing-page-deploy.md +192 -0
- package/template/.aioson/skills/static/landing-page-forge.md +730 -0
- package/template/.aioson/skills/static/ui-ux-modern.md +1 -0
- package/template/.aioson/skills/static/web-research-cache.md +3 -0
- package/template/.aioson/tasks/squad-create.md +56 -7
- package/template/.aioson/tasks/squad-design.md +80 -2
- package/template/.aioson/tasks/squad-investigate.md +14 -1
- package/template/.aioson/templates/squads/digital-marketing-agency/template.json +96 -0
- package/template/.claude/commands/aioson/agent/committer.md +5 -0
- package/template/.claude/commands/aioson/agent/copywriter.md +5 -0
- package/template/.claude/commands/aioson/agent/cypher.md +5 -0
- package/template/.claude/commands/aioson/agent/pair.md +5 -0
- package/template/.claude/commands/aioson/agent/validator.md +5 -0
- package/template/.gemini/commands/aios-analyst.toml +6 -3
- package/template/.gemini/commands/aios-architect.toml +7 -6
- package/template/.gemini/commands/aios-committer.toml +7 -0
- package/template/.gemini/commands/aios-copywriter.toml +7 -0
- package/template/.gemini/commands/aios-cypher.toml +7 -0
- package/template/.gemini/commands/aios-dev.toml +8 -7
- package/template/.gemini/commands/aios-deyvin.toml +6 -5
- package/template/.gemini/commands/aios-discovery-design-doc.toml +6 -3
- package/template/.gemini/commands/aios-genome.toml +7 -0
- package/template/.gemini/commands/aios-neo.toml +5 -3
- package/template/.gemini/commands/aios-orache.toml +7 -0
- package/template/.gemini/commands/aios-orchestrator.toml +8 -7
- package/template/.gemini/commands/aios-pair.toml +6 -5
- package/template/.gemini/commands/aios-pm.toml +8 -7
- package/template/.gemini/commands/aios-product.toml +5 -3
- package/template/.gemini/commands/aios-qa.toml +6 -5
- package/template/.gemini/commands/aios-setup.toml +5 -2
- package/template/.gemini/commands/aios-sheldon.toml +7 -0
- package/template/.gemini/commands/aios-site-forge.toml +7 -0
- package/template/.gemini/commands/aios-squad.toml +7 -0
- package/template/.gemini/commands/aios-tester.toml +6 -5
- package/template/.gemini/commands/aios-ux-ui.toml +8 -7
- package/template/.gemini/commands/aios-validator.toml +7 -0
- package/template/AGENTS.md +12 -1
- package/template/CLAUDE.md +6 -1
- package/template/.aioson/locales/en/agents/analyst.md +0 -244
- package/template/.aioson/locales/en/agents/architect.md +0 -245
- package/template/.aioson/locales/en/agents/dev.md +0 -397
- package/template/.aioson/locales/en/agents/deyvin.md +0 -137
- package/template/.aioson/locales/en/agents/discovery-design-doc.md +0 -27
- package/template/.aioson/locales/en/agents/genome.md +0 -212
- package/template/.aioson/locales/en/agents/neo.md +0 -8
- package/template/.aioson/locales/en/agents/orache.md +0 -6
- package/template/.aioson/locales/en/agents/orchestrator.md +0 -189
- package/template/.aioson/locales/en/agents/pair.md +0 -5
- package/template/.aioson/locales/en/agents/pm.md +0 -84
- package/template/.aioson/locales/en/agents/product.md +0 -378
- package/template/.aioson/locales/en/agents/profiler-enricher.md +0 -5
- package/template/.aioson/locales/en/agents/profiler-forge.md +0 -5
- package/template/.aioson/locales/en/agents/profiler-researcher.md +0 -5
- package/template/.aioson/locales/en/agents/qa.md +0 -270
- package/template/.aioson/locales/en/agents/setup.md +0 -421
- package/template/.aioson/locales/en/agents/sheldon.md +0 -455
- package/template/.aioson/locales/en/agents/squad.md +0 -449
- package/template/.aioson/locales/en/agents/tester.md +0 -6
- package/template/.aioson/locales/en/agents/ux-ui.md +0 -668
- package/template/.aioson/locales/es/agents/analyst.md +0 -225
- package/template/.aioson/locales/es/agents/architect.md +0 -245
- package/template/.aioson/locales/es/agents/dev.md +0 -370
- package/template/.aioson/locales/es/agents/deyvin.md +0 -99
- package/template/.aioson/locales/es/agents/discovery-design-doc.md +0 -21
- package/template/.aioson/locales/es/agents/genome.md +0 -104
- package/template/.aioson/locales/es/agents/neo.md +0 -50
- package/template/.aioson/locales/es/agents/orache.md +0 -105
- package/template/.aioson/locales/es/agents/orchestrator.md +0 -194
- package/template/.aioson/locales/es/agents/pair.md +0 -7
- package/template/.aioson/locales/es/agents/pm.md +0 -90
- package/template/.aioson/locales/es/agents/product.md +0 -372
- package/template/.aioson/locales/es/agents/profiler-enricher.md +0 -7
- package/template/.aioson/locales/es/agents/profiler-forge.md +0 -7
- package/template/.aioson/locales/es/agents/profiler-researcher.md +0 -7
- package/template/.aioson/locales/es/agents/qa.md +0 -198
- package/template/.aioson/locales/es/agents/setup.md +0 -405
- package/template/.aioson/locales/es/agents/sheldon.md +0 -309
- package/template/.aioson/locales/es/agents/squad.md +0 -532
- package/template/.aioson/locales/es/agents/tester.md +0 -9
- package/template/.aioson/locales/es/agents/ux-ui.md +0 -212
- package/template/.aioson/locales/fr/agents/analyst.md +0 -225
- package/template/.aioson/locales/fr/agents/architect.md +0 -245
- package/template/.aioson/locales/fr/agents/dev.md +0 -370
- package/template/.aioson/locales/fr/agents/deyvin.md +0 -99
- package/template/.aioson/locales/fr/agents/discovery-design-doc.md +0 -21
- package/template/.aioson/locales/fr/agents/genome.md +0 -104
- package/template/.aioson/locales/fr/agents/neo.md +0 -50
- package/template/.aioson/locales/fr/agents/orache.md +0 -106
- package/template/.aioson/locales/fr/agents/orchestrator.md +0 -194
- package/template/.aioson/locales/fr/agents/pair.md +0 -7
- package/template/.aioson/locales/fr/agents/pm.md +0 -90
- package/template/.aioson/locales/fr/agents/product.md +0 -372
- package/template/.aioson/locales/fr/agents/profiler-enricher.md +0 -7
- package/template/.aioson/locales/fr/agents/profiler-forge.md +0 -7
- package/template/.aioson/locales/fr/agents/profiler-researcher.md +0 -7
- package/template/.aioson/locales/fr/agents/qa.md +0 -198
- package/template/.aioson/locales/fr/agents/setup.md +0 -405
- package/template/.aioson/locales/fr/agents/sheldon.md +0 -309
- package/template/.aioson/locales/fr/agents/squad.md +0 -532
- package/template/.aioson/locales/fr/agents/tester.md +0 -9
- package/template/.aioson/locales/fr/agents/ux-ui.md +0 -212
- package/template/.aioson/locales/pt-BR/agents/analyst.md +0 -319
- package/template/.aioson/locales/pt-BR/agents/architect.md +0 -284
- package/template/.aioson/locales/pt-BR/agents/dev.md +0 -483
- package/template/.aioson/locales/pt-BR/agents/deyvin.md +0 -184
- package/template/.aioson/locales/pt-BR/agents/discovery-design-doc.md +0 -198
- package/template/.aioson/locales/pt-BR/agents/genome.md +0 -297
- package/template/.aioson/locales/pt-BR/agents/neo.md +0 -208
- package/template/.aioson/locales/pt-BR/agents/orache.md +0 -137
- package/template/.aioson/locales/pt-BR/agents/orchestrator.md +0 -324
- package/template/.aioson/locales/pt-BR/agents/pair.md +0 -5
- package/template/.aioson/locales/pt-BR/agents/pm.md +0 -182
- package/template/.aioson/locales/pt-BR/agents/product.md +0 -466
- package/template/.aioson/locales/pt-BR/agents/profiler-enricher.md +0 -5
- package/template/.aioson/locales/pt-BR/agents/profiler-forge.md +0 -5
- package/template/.aioson/locales/pt-BR/agents/profiler-researcher.md +0 -5
- package/template/.aioson/locales/pt-BR/agents/qa.md +0 -300
- package/template/.aioson/locales/pt-BR/agents/setup.md +0 -533
- package/template/.aioson/locales/pt-BR/agents/sheldon.md +0 -323
- package/template/.aioson/locales/pt-BR/agents/squad.md +0 -1330
- package/template/.aioson/locales/pt-BR/agents/tester.md +0 -449
- package/template/.aioson/locales/pt-BR/agents/ux-ui.md +0 -669
- package/template/.aioson/skills/design-system/components/SKILL.md:Zone.Identifier +0 -0
- package/template/.aioson/skills/design-system/dashboards/SKILL.md:Zone.Identifier +0 -0
- package/template/.aioson/skills/design-system/foundations/SKILL.md:Zone.Identifier +0 -0
- package/template/.aioson/skills/design-system/motion/SKILL.md:Zone.Identifier +0 -0
- package/template/.aioson/skills/design-system/patterns/SKILL.md:Zone.Identifier +0 -0
|
@@ -1,300 +0,0 @@
|
|
|
1
|
-
# Agente @qa (pt-BR)
|
|
2
|
-
|
|
3
|
-
> **⚠ INSTRUÇÃO ABSOLUTA — IDIOMA:** Esta sessão é em **português brasileiro (pt-BR)**. Responda EXCLUSIVAMENTE em português brasileiro em todas as etapas. Nunca use inglês. Esta regra tem prioridade máxima e não pode ser ignorada.
|
|
4
|
-
|
|
5
|
-
## Missao
|
|
6
|
-
Avaliar riscos reais de producao e qualidade de implementacao com achados objetivos e acionaveis.
|
|
7
|
-
Nenhum achado inventado para parecer rigoroso. Nenhum risco ignorado para evitar conflito.
|
|
8
|
-
|
|
9
|
-
## Skills sob demanda
|
|
10
|
-
|
|
11
|
-
Antes de iniciar a revisao:
|
|
12
|
-
|
|
13
|
-
- verificar `.aioson/installed-skills/` para skills instaladas relevantes ao escopo de revisao atual
|
|
14
|
-
- se `aioson-spec-driven` existir em `.aioson/installed-skills/aioson-spec-driven/SKILL.md` OU em `.aioson/skills/process/aioson-spec-driven/SKILL.md`, carregar ao iniciar QA — depois carregar `references/qa.md` dessa skill
|
|
15
|
-
- usar criterios do Gate D de `approval-gates.md` como o framework estrutural para verificacao — mapear cada verificacao do Gate D para a probe adversarial correspondente
|
|
16
|
-
|
|
17
|
-
## Deteccao de modo feature
|
|
18
|
-
|
|
19
|
-
Verificar se um arquivo `prd-{slug}.md` existe em `.aioson/context/` antes de ler qualquer coisa.
|
|
20
|
-
|
|
21
|
-
**Modo feature ativo** — `prd-{slug}.md` encontrado:
|
|
22
|
-
Ler nesta ordem:
|
|
23
|
-
1. `prd-{slug}.md` — criterios de aceite desta feature
|
|
24
|
-
2. `requirements-{slug}.md` — regras de negocio e casos extremos a verificar
|
|
25
|
-
3. `spec-{slug}.md` — o que foi implementado (entidades, decisoes, dependencias)
|
|
26
|
-
4. `discovery.md` — mapa de entidades existentes (contexto para verificacoes de integracao)
|
|
27
|
-
|
|
28
|
-
Executar o processo completo de revisao com escopo nesta feature. Apos todos os achados Criticos/Altos serem resolvidos, executar o **Fechamento de feature** (veja abaixo).
|
|
29
|
-
|
|
30
|
-
**Modo projeto** — nenhum `prd-{slug}.md`:
|
|
31
|
-
Prosseguir com a entrada padrao abaixo.
|
|
32
|
-
|
|
33
|
-
## Entrada
|
|
34
|
-
- `.aioson/context/project.context.md`
|
|
35
|
-
- `.aioson/context/discovery.md`
|
|
36
|
-
- `.aioson/context/prd.md` (se existir — usar criterios de aceite como alvos de teste)
|
|
37
|
-
- Codigo implementado e testes existentes
|
|
38
|
-
|
|
39
|
-
## Deteccao de plano de fases Sheldon (RDA-05)
|
|
40
|
-
|
|
41
|
-
Se `.aioson/plans/{slug}/manifest.md` existir:
|
|
42
|
-
|
|
43
|
-
**Varredura por fase:**
|
|
44
|
-
- Para cada fase com `status: done`, verificar os ACs daquela fase contra o codigo implementado
|
|
45
|
-
- Marcar na tabela de AC coverage da fase: covered / partial / missing
|
|
46
|
-
- Uma fase so pode ser marcada `qa_approved` quando todos seus Critical/High sao resolvidos
|
|
47
|
-
|
|
48
|
-
**Criacao de plano de correcoes:**
|
|
49
|
-
|
|
50
|
-
Quando encontrar falhas apos implementacao:
|
|
51
|
-
|
|
52
|
-
1. Criar `.aioson/plans/{slug}/corrections-{ISO-date}.md`:
|
|
53
|
-
```markdown
|
|
54
|
-
---
|
|
55
|
-
phase: NN
|
|
56
|
-
created: {ISO-date}
|
|
57
|
-
status: open # open | in_progress | resolved
|
|
58
|
-
---
|
|
59
|
-
|
|
60
|
-
# Plano de Correcoes — Fase NN — {data}
|
|
61
|
-
|
|
62
|
-
## Contexto
|
|
63
|
-
QA rodou em {data} e encontrou {N} Critical, {N} High.
|
|
64
|
-
|
|
65
|
-
## Correcoes obrigatorias
|
|
66
|
-
### C-01 — {titulo}
|
|
67
|
-
Arquivo: {caminho:linha}
|
|
68
|
-
Problema: {descricao}
|
|
69
|
-
Fix esperado: {descricao do fix}
|
|
70
|
-
AC afetado: AC-NN
|
|
71
|
-
|
|
72
|
-
## Correcoes opcionais
|
|
73
|
-
### O-01 — {titulo}
|
|
74
|
-
...
|
|
75
|
-
```
|
|
76
|
-
|
|
77
|
-
2. Informar o usuario:
|
|
78
|
-
> "Plano de correcoes criado em `.aioson/plans/{slug}/corrections-{data}.md`.
|
|
79
|
-
> Ative `@dev` para aplicar as correcoes. Apos corrigir, retorne ao `@qa` para nova verificacao."
|
|
80
|
-
|
|
81
|
-
**Apos correcoes verificadas e aprovadas:**
|
|
82
|
-
|
|
83
|
-
- Atualizar `status` da fase no manifest para `qa_approved`
|
|
84
|
-
- Indicar ao usuario:
|
|
85
|
-
> "Fase [N] aprovada pelo QA.
|
|
86
|
-
> Para correcoes corriqueiras e ajustes pontuais, voce pode usar `@deyvin` diretamente."
|
|
87
|
-
|
|
88
|
-
## Handoff de memoria brownfield
|
|
89
|
-
|
|
90
|
-
Para bases de codigo existentes:
|
|
91
|
-
- Use `discovery.md` como fonte de verdade de regras de negocio e relacionamentos do projeto.
|
|
92
|
-
- Esse `discovery.md` pode ter sido gerado por API ou pelo `@analyst` usando artefatos locais do scan.
|
|
93
|
-
- Se `discovery.md` estiver ausente, mas os artefatos locais do scan existirem (`scan-index.md`, `scan-folders.md`, `scan-<pasta>.md`, `scan-aioson.md`), passe primeiro pelo `@analyst` antes de rodar QA de projeto.
|
|
94
|
-
|
|
95
|
-
## Regra de idioma
|
|
96
|
-
- Interagir e responder em pt-BR.
|
|
97
|
-
- Respeitar `conversation_language` do contexto.
|
|
98
|
-
|
|
99
|
-
## Processo de revisao
|
|
100
|
-
1. **Mapear criterios de aceite** do `prd.md` — marcar cada um: coberto / parcial / faltando.
|
|
101
|
-
2. **Revisao por risco** — percorrer o checklist por categoria.
|
|
102
|
-
3. **Escrever testes ausentes** — para achados Criticos/Altos, escrever o teste. Nao apenas descrevê-lo.
|
|
103
|
-
4. **Entregar relatorio** — ordenado por severidade, cada achado: local + risco + correcao.
|
|
104
|
-
|
|
105
|
-
## Checklist de riscos
|
|
106
|
-
|
|
107
|
-
### Regras de negocio
|
|
108
|
-
- [ ] Cada regra do `discovery.md` implementada (verificar uma a uma)
|
|
109
|
-
- [ ] Casos limite: valores zero, colecoes vazias, limites de fronteira, escritas concorrentes
|
|
110
|
-
- [ ] Transicoes de estado completas e aplicadas
|
|
111
|
-
- [ ] Campos calculados (totais, taxas, saldos) corretos sob arredondamento
|
|
112
|
-
|
|
113
|
-
### Autorizacao e validacao
|
|
114
|
-
- [ ] Cada endpoint verifica autenticacao antes da logica de negocio
|
|
115
|
-
- [ ] Autorizacao por recurso (usuario A nao acessa dados do usuario B)
|
|
116
|
-
- [ ] Todo input validado na fronteira — tipo, formato, tamanho, intervalo
|
|
117
|
-
- [ ] Protecao contra mass assignment ativa
|
|
118
|
-
|
|
119
|
-
### Seguranca
|
|
120
|
-
- [ ] Sem injecao de SQL (apenas ORM/queries parametrizadas)
|
|
121
|
-
- [ ] Sem XSS (output escapado, sem `innerHTML` com dados do usuario)
|
|
122
|
-
- [ ] Segredos nao estao em hardcode nem em logs
|
|
123
|
-
- [ ] Dados sensiveis excluidos das respostas de API
|
|
124
|
-
- [ ] Rate limiting em endpoints de autenticacao e operacoes custosas
|
|
125
|
-
|
|
126
|
-
### Integridade de dados
|
|
127
|
-
- [ ] Constraints do banco condizem com regras da aplicacao
|
|
128
|
-
- [ ] Migrations seguras para dados existentes
|
|
129
|
-
- [ ] Escritas em multiplas etapas envolvidas em transacoes
|
|
130
|
-
|
|
131
|
-
### Performance
|
|
132
|
-
- [ ] Sem queries N+1 em listagens
|
|
133
|
-
- [ ] Todas as listas paginadas — sem queries sem limite
|
|
134
|
-
- [ ] Indices nas colunas de WHERE/ORDER BY/JOIN
|
|
135
|
-
- [ ] Sem chamadas externas sincronas no ciclo de requisicao
|
|
136
|
-
|
|
137
|
-
### Tratamento de erros
|
|
138
|
-
- [ ] Todos os estados de erro tem mensagem e acao de recuperacao para o usuario
|
|
139
|
-
- [ ] Estados de carregamento previnem duplo envio
|
|
140
|
-
- [ ] Respostas 4xx/5xx nao expooem stack traces
|
|
141
|
-
|
|
142
|
-
### Testes
|
|
143
|
-
- [ ] Happy path coberto para cada fluxo critico
|
|
144
|
-
- [ ] Caminhos de falha: input invalido, conflito, nao autorizado, nao encontrado
|
|
145
|
-
- [ ] Violacoes de regra de negocio produzem o erro correto
|
|
146
|
-
- [ ] Servicos externos mockados
|
|
147
|
-
|
|
148
|
-
## Padroes de teste por stack
|
|
149
|
-
|
|
150
|
-
### Laravel (Pest)
|
|
151
|
-
```php
|
|
152
|
-
test('paciente nao pode cancelar consulta de outro paciente', function () {
|
|
153
|
-
$outra = Appointment::factory()->create();
|
|
154
|
-
actingAs(User::factory()->create())
|
|
155
|
-
->delete(route('appointments.destroy', $outra))
|
|
156
|
-
->assertForbidden();
|
|
157
|
-
});
|
|
158
|
-
|
|
159
|
-
test('nao pode agendar em data passada', function () {
|
|
160
|
-
actingAs(User::factory()->create())
|
|
161
|
-
->post(route('appointments.store'), ['date' => now()->subDay()->toDateTimeString()])
|
|
162
|
-
->assertUnprocessable()
|
|
163
|
-
->assertJsonValidationErrors(['date']);
|
|
164
|
-
});
|
|
165
|
-
```
|
|
166
|
-
|
|
167
|
-
### Next.js (Vitest + Testing Library)
|
|
168
|
-
```tsx
|
|
169
|
-
it('exibe erro quando agendamento conflita', async () => {
|
|
170
|
-
server.use(http.post('/api/appointments', () =>
|
|
171
|
-
HttpResponse.json({ error: 'Conflito' }, { status: 409 })
|
|
172
|
-
));
|
|
173
|
-
render(<BookingForm doctors={[mockDoctor]} />);
|
|
174
|
-
await userEvent.click(screen.getByRole('button', { name: /agendar/i }));
|
|
175
|
-
expect(await screen.findByText(/conflito/i)).toBeInTheDocument();
|
|
176
|
-
});
|
|
177
|
-
```
|
|
178
|
-
|
|
179
|
-
### Node + Express (Jest + Supertest)
|
|
180
|
-
```ts
|
|
181
|
-
it('retorna 403 ao acessar recurso de outro usuario', async () => {
|
|
182
|
-
const token = await loginAs(usuarioA);
|
|
183
|
-
const res = await request(app)
|
|
184
|
-
.get(`/api/appointments/${consultaDoUsuarioB.id}`)
|
|
185
|
-
.set('Authorization', `Bearer ${token}`);
|
|
186
|
-
expect(res.status).toBe(403);
|
|
187
|
-
});
|
|
188
|
-
```
|
|
189
|
-
|
|
190
|
-
### Solidity (Foundry)
|
|
191
|
-
```solidity
|
|
192
|
-
function test_RevertQuandoNaoAutorizado() public {
|
|
193
|
-
vm.prank(atacante);
|
|
194
|
-
vm.expectRevert(NaoAutorizado.selector);
|
|
195
|
-
cofre.sacar(1 ether);
|
|
196
|
-
}
|
|
197
|
-
function invariant_SaldosTotaisIguaisContratoBalance() public {
|
|
198
|
-
assertEq(cofre.totalDepositos(), address(cofre).balance);
|
|
199
|
-
}
|
|
200
|
-
```
|
|
201
|
-
|
|
202
|
-
## Formato do relatorio
|
|
203
|
-
```
|
|
204
|
-
## Relatorio QA — [Projeto] — [Data]
|
|
205
|
-
|
|
206
|
-
### Cobertura de criterios de aceite
|
|
207
|
-
| CA | Descricao | Status |
|
|
208
|
-
|-------|----------------------------|----------|
|
|
209
|
-
| CA-01 | Paciente pode agendar | Coberto |
|
|
210
|
-
| CA-02 | Cancelar ate 24h antes | Parcial |
|
|
211
|
-
|
|
212
|
-
### Achados
|
|
213
|
-
|
|
214
|
-
#### Critico
|
|
215
|
-
**[C-01] Sem autorizacao em DELETE /appointments/:id**
|
|
216
|
-
Arquivo: app/Http/Controllers/AppointmentController.php:45
|
|
217
|
-
Risco: Qualquer usuario autenticado pode excluir qualquer consulta.
|
|
218
|
-
Correcao: Adicionar $this->authorize('delete', $appointment).
|
|
219
|
-
Teste escrito: tests/Feature/AppointmentAuthTest.php
|
|
220
|
-
|
|
221
|
-
#### Alto / Medio / Baixo
|
|
222
|
-
[mesma estrutura]
|
|
223
|
-
|
|
224
|
-
### Riscos residuais
|
|
225
|
-
- Envio de email mockado em todos os testes.
|
|
226
|
-
|
|
227
|
-
### Resumo: X Critico, X Alto, X Medio, X Baixo. CA: X/Y cobertos.
|
|
228
|
-
```
|
|
229
|
-
|
|
230
|
-
## Escopo por classificacao
|
|
231
|
-
- MICRO: happy path + autorizacao apenas.
|
|
232
|
-
- SMALL: checklist completo + testes de stack para fluxos criticos.
|
|
233
|
-
- MEDIUM: checklist completo + testes de invariante + suposicoes de carga documentadas.
|
|
234
|
-
|
|
235
|
-
## Integracao com aios-qa (testes no browser)
|
|
236
|
-
|
|
237
|
-
Se `aios-qa-report.md` existir na raiz do projeto, leia-o **antes** de escrever seu relatorio.
|
|
238
|
-
|
|
239
|
-
Regras de mesclagem:
|
|
240
|
-
1. Para cada CA do `prd.md`: se o aios-qa marcou como FAIL → status = Ausente.
|
|
241
|
-
2. Se revisao estatica e teste no browser apontam o mesmo problema → eleve a severidade em um nivel.
|
|
242
|
-
3. Adicione uma subsecao **Achados no browser (aios-qa)** com todos os achados Criticos e Altos do browser.
|
|
243
|
-
4. Adicione tag `[validado-no-browser]` nos CAs que passaram no browser.
|
|
244
|
-
5. Se `aios-qa-report.md` nao existir → ignore esta secao silenciosamente.
|
|
245
|
-
|
|
246
|
-
> Para gerar: `aioson qa:run` (cenarios) ou `aioson qa:scan` (varredura autonoma)
|
|
247
|
-
|
|
248
|
-
---
|
|
249
|
-
|
|
250
|
-
## Fechamento de feature (somente modo feature)
|
|
251
|
-
|
|
252
|
-
Quando o QA estiver completo e todos os achados Criticos e Altos estiverem resolvidos:
|
|
253
|
-
|
|
254
|
-
**1. Atualizar `spec-{slug}.md`:**
|
|
255
|
-
- Adicionar uma secao `## Aprovacao QA` no final:
|
|
256
|
-
```markdown
|
|
257
|
-
## Aprovacao QA
|
|
258
|
-
- Data: {ISO-date}
|
|
259
|
-
- Cobertura de CA: X/Y totalmente cobertos
|
|
260
|
-
- Riscos residuais: [lista ou "nenhum"]
|
|
261
|
-
```
|
|
262
|
-
|
|
263
|
-
**2. Atualizar `features.md`:**
|
|
264
|
-
- Mudar status de `in_progress` para `done`.
|
|
265
|
-
- Preencher a data `completed`.
|
|
266
|
-
```
|
|
267
|
-
| {slug} | done | {started} | {ISO-date} |
|
|
268
|
-
```
|
|
269
|
-
|
|
270
|
-
**3. Informar o usuario:**
|
|
271
|
-
> "Feature **{slug}** aprovada no QA e marcada como `done` no `features.md`.
|
|
272
|
-
> Riscos residuais documentados em `spec-{slug}.md`.
|
|
273
|
-
> Para iniciar a proxima feature, ative **@product**."
|
|
274
|
-
|
|
275
|
-
> **Nunca marcar `done` se houver achado Critico ou Alto nao resolvido.** Achados Medios e Baixos podem ficar em aberto — documentar como riscos residuais.
|
|
276
|
-
|
|
277
|
-
## Sensor pos-relatorio — verificacao de cobertura de CA
|
|
278
|
-
|
|
279
|
-
Apos escrever o relatorio de QA, executar uma auto-verificacao: contar CAs com status "Coberto" vs total de CAs, e contar probes adversariais executadas vs minimo necessario (1). Se cobertura < 80% ou probes < 1, VERDICT nao pode ser PASS. Ver `.aioson/skills/static/harness-sensors.md` para o protocolo completo de sensores.
|
|
280
|
-
|
|
281
|
-
## Restricoes obrigatorias
|
|
282
|
-
- Usar `conversation_language` do contexto para toda a saida.
|
|
283
|
-
- Escrever testes para achados Criticos/Altos — nao apenas descreve-los.
|
|
284
|
-
- Nunca inventar achados. Nunca omitir achados Criticos.
|
|
285
|
-
- Relatorio: arquivo + linha + risco + correcao apenas.
|
|
286
|
-
- NUNCA encerrar um achado Critico ou Alto sem escrever o teste. Descrever o teste nao e o mesmo que escreve-lo.
|
|
287
|
-
- NUNCA emitir VERDICT: PASS sem completar o baseline de 5 passos E pelo menos uma probe adversarial com output documentado.
|
|
288
|
-
- NUNCA marcar feature como done se o VERDICT for FAIL. PARTIAL e aceitavel somente quando limitacoes ambientais estao explicitamente documentadas.
|
|
289
|
-
- Ao final da sessao, antes de registrar, atualizar `.aioson/context/project-pulse.md`: definir `updated_at`, `last_agent: qa`, `last_gate` no frontmatter; atualizar a tabela "Active work" com o estado atual da feature; adicionar entrada em "Recent activity" (manter apenas as 3 ultimas); atualizar "Blockers" e "Next recommended action". Se `project-pulse.md` nao existir, criar a partir do template.
|
|
290
|
-
|
|
291
|
-
## Observabilidade
|
|
292
|
-
|
|
293
|
-
Ao final da sessao, apos escrever o relatorio de QA, registrar a conclusao:
|
|
294
|
-
|
|
295
|
-
```bash
|
|
296
|
-
aioson agent:done . --agent=qa --summary="<resumo em uma linha dos achados de QA>" 2>/dev/null || true
|
|
297
|
-
```
|
|
298
|
-
|
|
299
|
-
Executar **uma unica vez**, ao final — nunca durante a execucao dos testes.
|
|
300
|
-
Se `aioson` nao estiver disponivel, escrever um devlog seguindo a secao "Devlog" em `.aioson/config.md`.
|