@jaimevalasek/aioson 1.7.2 → 1.9.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 +595 -560
- package/CODE_OF_CONDUCT.md +12 -12
- package/CONTRIBUTING.md +13 -13
- package/LICENSE +661 -661
- package/README.md +919 -776
- package/bin/aioson.js +4 -4
- package/docs/design-previews/aurora-command-ui-website.html +884 -884
- package/docs/design-previews/aurora-command-ui.html +682 -682
- package/docs/design-previews/bold-editorial-ui-website.html +658 -658
- package/docs/design-previews/bold-editorial-ui.html +717 -717
- package/docs/design-previews/clean-saas-ui-website.html +1202 -1202
- package/docs/design-previews/clean-saas-ui.html +549 -549
- package/docs/design-previews/cognitive-core-ui-website.html +1009 -1009
- package/docs/design-previews/cognitive-core-ui.html +463 -463
- package/docs/design-previews/glassmorphism-ui-website.html +572 -572
- package/docs/design-previews/glassmorphism-ui.html +886 -886
- package/docs/design-previews/index.html +699 -699
- package/docs/design-previews/interface-design-website.html +1187 -1187
- package/docs/design-previews/interface-design.html +513 -513
- package/docs/design-previews/neo-brutalist-ui-website.html +621 -621
- package/docs/design-previews/neo-brutalist-ui.html +797 -797
- package/docs/design-previews/premium-command-center-ui-website.html +1217 -1217
- package/docs/design-previews/premium-command-center-ui.html +552 -552
- package/docs/design-previews/pt.squarespace.com-homepage.html +889 -889
- package/docs/design-previews/warm-craft-ui-website.html +684 -684
- package/docs/design-previews/warm-craft-ui.html +739 -739
- package/docs/en/1-understand/ecosystem-map.md +228 -0
- package/docs/en/1-understand/glossary.md +288 -0
- package/docs/en/1-understand/what-is-aioson.md +94 -0
- package/docs/en/1-understand/why-it-exists.md +106 -0
- package/docs/en/2-start/existing-project.md +246 -0
- package/docs/en/2-start/first-project.md +307 -0
- package/docs/en/2-start/initial-decisions.md +223 -0
- package/docs/en/3-recipes/README.md +28 -0
- package/docs/en/3-recipes/continuity-between-sessions.md +303 -0
- package/docs/en/3-recipes/from-idea-to-prd-via-briefing.md +235 -0
- package/docs/en/3-recipes/full-feature-with-sheldon.md +338 -0
- package/docs/en/4-agents/README.md +56 -0
- package/docs/en/5-reference/README.md +60 -0
- package/docs/en/{cli-reference.md → 5-reference/cli-reference.md} +639 -409
- package/docs/en/5-reference/i18n.md +52 -0
- package/docs/en/{json-schemas.md → 5-reference/json-schemas.md} +41 -41
- package/docs/en/{mcp.md → 5-reference/mcp.md} +56 -56
- package/docs/en/{parallel.md → 5-reference/parallel.md} +82 -82
- package/docs/en/{qa-browser.md → 5-reference/qa-browser.md} +339 -339
- package/docs/en/{release-flow.md → 5-reference/release-flow.md} +22 -22
- package/docs/en/{release-notes-template.md → 5-reference/release-notes-template.md} +41 -41
- package/docs/en/{release.md → 5-reference/release.md} +28 -28
- package/docs/en/{schemas → 5-reference/schemas}/agent-prompt.schema.json +17 -17
- package/docs/en/{schemas → 5-reference/schemas}/agents.schema.json +32 -32
- package/docs/en/{schemas → 5-reference/schemas}/context-validate.schema.json +36 -36
- package/docs/en/{schemas → 5-reference/schemas}/doctor.schema.json +89 -89
- package/docs/en/{schemas → 5-reference/schemas}/error.schema.json +24 -24
- package/docs/en/{schemas → 5-reference/schemas}/i18n-add.schema.json +15 -15
- package/docs/en/{schemas → 5-reference/schemas}/index.json +126 -116
- package/docs/en/{schemas → 5-reference/schemas}/info.schema.json +39 -39
- package/docs/en/{schemas → 5-reference/schemas}/init.schema.json +48 -48
- package/docs/en/{schemas → 5-reference/schemas}/install.schema.json +60 -60
- package/docs/en/{schemas → 5-reference/schemas}/locale-apply.schema.json +30 -30
- package/docs/en/{schemas → 5-reference/schemas}/mcp-doctor.schema.json +95 -95
- package/docs/en/{schemas → 5-reference/schemas}/mcp-init.schema.json +122 -122
- package/docs/en/{schemas → 5-reference/schemas}/package-test.schema.json +24 -24
- package/docs/en/{schemas → 5-reference/schemas}/parallel-assign.schema.json +66 -57
- package/docs/en/{schemas → 5-reference/schemas}/parallel-doctor.schema.json +122 -86
- package/docs/en/5-reference/schemas/parallel-guard.schema.json +63 -0
- package/docs/en/{schemas → 5-reference/schemas}/parallel-init.schema.json +53 -53
- package/docs/en/5-reference/schemas/parallel-merge.schema.json +84 -0
- package/docs/en/5-reference/schemas/parallel-status.schema.json +184 -0
- package/docs/en/{schemas → 5-reference/schemas}/setup-context.schema.json +39 -39
- package/docs/en/{schemas → 5-reference/schemas}/smoke.schema.json +23 -23
- package/docs/en/{schemas → 5-reference/schemas}/update.schema.json +48 -48
- package/docs/en/{schemas → 5-reference/schemas}/workflow-plan.schema.json +30 -30
- package/docs/en/{squad-dashboard.md → 5-reference/squad-dashboard.md} +372 -372
- package/docs/en/{web3.md → 5-reference/web3.md} +54 -54
- package/docs/en/README.md +115 -0
- package/docs/en/active-learning-loop/README.md +117 -0
- package/docs/en/active-learning-loop/active-learning-loop.md +117 -0
- package/docs/en/active-learning-loop/cli-commands.md +320 -0
- package/docs/en/active-learning-loop/diagrams.md +225 -0
- package/docs/en/active-learning-loop/doctor-checks.md +151 -0
- package/docs/en/active-learning-loop/how-to-use.md +313 -0
- package/docs/en/active-learning-loop/troubleshooting.md +283 -0
- package/docs/en/deyvin-subtask-scout/README.md +109 -0
- package/docs/en/deyvin-subtask-scout/cli-commands.md +248 -0
- package/docs/en/deyvin-subtask-scout/diagrams.md +124 -0
- package/docs/en/deyvin-subtask-scout/how-to-use.md +221 -0
- package/docs/en/deyvin-subtask-scout/sub-task-scout.md +115 -0
- package/docs/en/deyvin-subtask-scout/troubleshooting.md +184 -0
- package/docs/integrations/apps-publish-marketplace.md +94 -0
- package/docs/integrations/sdlc-genius-boundary.md +76 -76
- package/docs/integrations/sdlc-genius-eval-matrix.md +75 -75
- package/docs/integrations/sdlc-genius-install-checklist.md +93 -93
- package/docs/integrations/sdlc-genius-review-samples.md +86 -86
- package/docs/openclaw-bridge.md +308 -308
- package/docs/pt/1-entender/glossario.md +288 -0
- package/docs/pt/1-entender/mapa-do-ecossistema.md +228 -0
- package/docs/pt/1-entender/o-que-e-aioson.md +94 -0
- package/docs/pt/1-entender/por-que-existe.md +107 -0
- package/docs/pt/2-comecar/decisoes-iniciais.md +223 -0
- package/docs/pt/2-comecar/primeiro-projeto.md +307 -0
- package/docs/pt/2-comecar/projeto-existente.md +245 -0
- package/docs/pt/3-receitas/README.md +28 -0
- package/docs/pt/3-receitas/app-saas-do-zero.md +324 -0
- package/docs/pt/3-receitas/auditoria-seguranca.md +254 -0
- package/docs/pt/3-receitas/clonar-design-de-site.md +211 -0
- package/docs/pt/3-receitas/continuidade-entre-sessoes.md +303 -0
- package/docs/pt/3-receitas/da-ideia-ao-prd-via-briefing.md +234 -0
- package/docs/pt/3-receitas/feature-completa-com-sheldon.md +338 -0
- package/docs/pt/3-receitas/integracao-em-codebase-grande.md +243 -0
- package/docs/pt/3-receitas/landing-page.md +281 -0
- package/docs/pt/3-receitas/plans-externos-para-product.md +191 -0
- package/docs/pt/3-receitas/publicar-no-aioson-com.md +219 -0
- package/docs/pt/3-receitas/refatoracao-grande.md +251 -0
- package/docs/pt/4-agentes/README.md +65 -0
- package/docs/pt/4-agentes/analyst.md +111 -0
- package/docs/pt/4-agentes/architect.md +113 -0
- package/docs/pt/4-agentes/briefing.md +95 -0
- package/docs/pt/4-agentes/committer.md +108 -0
- package/docs/pt/4-agentes/copywriter.md +279 -0
- package/docs/pt/4-agentes/design-hybrid-forge.md +116 -0
- package/docs/pt/4-agentes/dev.md +136 -0
- package/docs/pt/4-agentes/deyvin.md +99 -0
- package/docs/pt/4-agentes/discover.md +122 -0
- package/docs/pt/4-agentes/discovery-design-doc.md +91 -0
- package/docs/pt/4-agentes/genome.md +115 -0
- package/docs/pt/4-agentes/neo.md +93 -0
- package/docs/pt/4-agentes/orache.md +107 -0
- package/docs/pt/4-agentes/orchestrator.md +118 -0
- package/docs/pt/4-agentes/pentester.md +131 -0
- package/docs/pt/4-agentes/pm.md +97 -0
- package/docs/pt/4-agentes/product.md +114 -0
- package/docs/pt/4-agentes/profiler-enricher.md +93 -0
- package/docs/pt/4-agentes/profiler-forge.md +93 -0
- package/docs/pt/4-agentes/profiler-researcher.md +98 -0
- package/docs/pt/4-agentes/qa.md +124 -0
- package/docs/pt/4-agentes/setup.md +104 -0
- package/docs/pt/4-agentes/sheldon.md +95 -0
- package/docs/pt/4-agentes/site-forge.md +104 -0
- package/docs/pt/4-agentes/squad.md +127 -0
- package/docs/pt/4-agentes/tester.md +105 -0
- package/docs/pt/4-agentes/ux-ui.md +110 -0
- package/docs/pt/4-agentes/validator.md +118 -0
- package/docs/pt/5-referencia/README.md +88 -0
- package/docs/pt/5-referencia/agent-chain-continuity.md +124 -0
- package/docs/pt/{agent-sharding.md → 5-referencia/agent-sharding.md} +132 -132
- package/docs/pt/5-referencia/aioson-com-store.md +119 -0
- package/docs/pt/{automacao-squads.md → 5-referencia/automacao-squads.md} +407 -407
- package/docs/pt/{clientes-ai.md → 5-referencia/clientes-ai.md} +300 -286
- package/docs/pt/{comandos-cli.md → 5-referencia/comandos-cli.md} +1823 -1634
- package/docs/pt/5-referencia/compress-agents.md +304 -0
- package/docs/pt/5-referencia/design-docs-governance.md +59 -0
- package/docs/pt/{devlog-pipeline.md → 5-referencia/devlog-pipeline.md} +270 -270
- package/docs/pt/5-referencia/feature-archive.md +199 -0
- package/docs/pt/5-referencia/feature-dossier.md +121 -0
- package/docs/pt/{fluxo-artefatos.md → 5-referencia/fluxo-artefatos.md} +179 -178
- package/docs/pt/{genome-3.0-spec.md → 5-referencia/genome-4.0-spec.md} +407 -296
- package/docs/pt/5-referencia/genome-distribution.md +232 -0
- package/docs/pt/{hooks-session-guard.md → 5-referencia/hooks-session-guard.md} +454 -454
- package/docs/pt/{inteligencia-adaptativa.md → 5-referencia/inteligencia-adaptativa.md} +324 -324
- package/docs/pt/5-referencia/live-sessions.md +144 -0
- package/docs/pt/5-referencia/memoria-e-contexto.md +340 -0
- package/docs/pt/5-referencia/motor-hardening.md +493 -0
- package/docs/pt/{output-strategy-delivery.md → 5-referencia/output-strategy-delivery.md} +655 -655
- package/docs/pt/5-referencia/runner-system.md +113 -0
- package/docs/pt/{runtime-observability.md → 5-referencia/runtime-observability.md} +76 -76
- package/docs/pt/{sandbox.md → 5-referencia/sandbox.md} +125 -125
- package/docs/pt/{sdd-automation-scripts.md → 5-referencia/sdd-automation-scripts.md} +559 -557
- package/docs/pt/5-referencia/sdd-framework.md +115 -0
- package/docs/pt/5-referencia/sdd-planos-e-estrutura.md +321 -0
- package/docs/pt/5-referencia/secure-by-default.md +117 -0
- package/docs/pt/{skills.md → 5-referencia/skills.md} +275 -267
- package/docs/pt/{spec-learnings-pipeline.md → 5-referencia/spec-learnings-pipeline.md} +265 -265
- package/docs/pt/{squad-dashboard.md → 5-referencia/squad-dashboard.md} +373 -373
- package/docs/pt/{web3.md → 5-referencia/web3.md} +797 -797
- package/docs/pt/README.md +111 -116
- package/docs/pt/_arquivo/README.md +130 -0
- package/docs/pt/{advisor-spec.md → _arquivo/advisor-spec.md} +343 -335
- package/docs/pt/{agentes-customizados.md → _arquivo/agentes-customizados.md} +678 -670
- package/docs/pt/{busca-de-contexto.md → _arquivo/busca-de-contexto.md} +136 -129
- package/docs/pt/{cache-de-contexto.md → _arquivo/cache-de-contexto.md} +163 -156
- package/docs/pt/{cenarios.md → _arquivo/cenarios.md} +1282 -1274
- package/docs/pt/{design-hybrid-forge.md → _arquivo/design-hybrid-forge.md} +365 -356
- package/docs/pt/{deyvin.md → _arquivo/deyvin.md} +123 -115
- package/docs/pt/{guia-engineer.md → _arquivo/guia-engineer.md} +234 -226
- package/docs/pt/{inicio-rapido.md → _arquivo/inicio-rapido.md} +261 -250
- package/docs/pt/{memoria-contexto.md → _arquivo/memoria-contexto.md} +262 -255
- package/docs/pt/{monitor-de-contexto.md → _arquivo/monitor-de-contexto.md} +165 -158
- package/docs/pt/{profiler-system.md → _arquivo/profiler-system.md} +222 -214
- package/docs/pt/{recuperacao-de-sessao.md → _arquivo/recuperacao-de-sessao.md} +134 -125
- package/docs/pt/{site-forge.md → _arquivo/site-forge.md} +318 -309
- package/docs/pt/{squad-genome.md → _arquivo/squad-genome.md} +793 -783
- package/docs/pt/active-learning-loop/README.md +117 -0
- package/docs/pt/active-learning-loop/ativo-learning-loop.md +117 -0
- package/docs/pt/active-learning-loop/comandos-cli.md +320 -0
- package/docs/pt/active-learning-loop/como-usar.md +313 -0
- package/docs/pt/active-learning-loop/diagramas.md +225 -0
- package/docs/pt/active-learning-loop/doctor-checks.md +151 -0
- package/docs/pt/active-learning-loop/troubleshooting.md +283 -0
- package/docs/pt/agentes.md +996 -672
- package/docs/pt/deyvin-subtask-scout/README.md +109 -0
- package/docs/pt/deyvin-subtask-scout/comandos-cli.md +248 -0
- package/docs/pt/deyvin-subtask-scout/como-usar.md +221 -0
- package/docs/pt/deyvin-subtask-scout/diagramas.md +124 -0
- package/docs/pt/deyvin-subtask-scout/sub-task-scout.md +113 -0
- package/docs/pt/deyvin-subtask-scout/troubleshooting.md +184 -0
- package/docs/pt/living-memory/README.md +81 -0
- package/docs/pt/living-memory/autonomy-contract.md +206 -0
- package/docs/pt/living-memory/diagramas.md +365 -0
- package/docs/pt/living-memory/memoria-viva.md +141 -0
- package/docs/pt/living-memory/notificacoes-info.md +142 -0
- package/docs/pt/living-memory/reflexao-in-harness.md +218 -0
- package/docs/pt/living-memory/troubleshooting.md +286 -0
- package/docs/testing/genome-2.0-manual-regression.md +23 -23
- package/docs/testing/genome-2.0-matrix.md +36 -36
- package/docs/testing/genome-2.0-rollout.md +184 -184
- package/package.json +51 -50
- package/src/a2a/client.js +165 -165
- package/src/a2a/server.js +223 -223
- package/src/agent-loader.js +280 -280
- package/src/agent-manifests.js +86 -0
- package/src/agents.js +92 -72
- package/src/autonomy-policy.js +163 -0
- package/src/backup-local.js +74 -74
- package/src/backup-provider.js +303 -303
- package/src/brain-query.js +171 -0
- package/src/cli.js +1450 -1099
- package/src/commands/agent-audit.js +397 -397
- package/src/commands/agent-export-skill.js +229 -229
- package/src/commands/agent-loader.js +85 -85
- package/src/commands/agents.js +273 -160
- package/src/commands/artifact-validate.js +218 -189
- package/src/commands/auth.js +298 -0
- package/src/commands/backup-local-cmd.js +25 -25
- package/src/commands/backup.js +533 -533
- package/src/commands/brain-query.js +44 -0
- package/src/commands/brief-gen.js +405 -405
- package/src/commands/brief-validate.js +65 -65
- package/src/commands/briefing.js +344 -0
- package/src/commands/classify.js +256 -256
- package/src/commands/cloud.js +1767 -1767
- package/src/commands/commit-prepare.js +610 -0
- package/src/commands/compress-agents.js +416 -0
- package/src/commands/config.js +90 -90
- package/src/commands/context-cache.js +90 -90
- package/src/commands/context-compact.js +49 -49
- package/src/commands/context-health.js +187 -175
- package/src/commands/context-load.js +219 -0
- package/src/commands/context-monitor.js +163 -163
- package/src/commands/context-pack.js +45 -45
- package/src/commands/context-search.js +66 -66
- package/src/commands/context-trim.js +183 -177
- package/src/commands/context-validate.js +91 -91
- package/src/commands/design-hybrid-options.js +385 -385
- package/src/commands/detect-test-runner.js +55 -55
- package/src/commands/dev-resume.js +32 -0
- package/src/commands/devlog-export-brains.js +27 -27
- package/src/commands/devlog-process.js +294 -292
- package/src/commands/devlog-watch.js +131 -131
- package/src/commands/doctor.js +123 -123
- package/src/commands/dossier-add-research.js +114 -0
- package/src/commands/dossier-audit.js +222 -0
- package/src/commands/dossier.js +423 -0
- package/src/commands/feature-archive.js +513 -0
- package/src/commands/feature-close.js +554 -165
- package/src/commands/gate-approve.js +198 -0
- package/src/commands/gate-check.js +247 -228
- package/src/commands/genome-doctor.js +489 -41
- package/src/commands/genome-migrate.js +49 -49
- package/src/commands/git-guard.js +170 -0
- package/src/commands/harness.js +307 -0
- package/src/commands/health.js +214 -214
- package/src/commands/hooks-emit.js +253 -253
- package/src/commands/hooks-install.js +347 -347
- package/src/commands/i18n-add.js +56 -56
- package/src/commands/implementation-plan.js +367 -340
- package/src/commands/info.js +41 -41
- package/src/commands/init.js +120 -116
- package/src/commands/install.js +162 -107
- package/src/commands/learning-auto-promote.js +197 -195
- package/src/commands/learning-evolve.js +364 -364
- package/src/commands/learning-export.js +103 -103
- package/src/commands/learning-rollback.js +164 -164
- package/src/commands/learning.js +134 -134
- package/src/commands/live.js +2101 -1641
- package/src/commands/locale-apply.js +54 -51
- package/src/commands/locale-diff.js +25 -126
- package/src/commands/mcp-doctor.js +407 -406
- package/src/commands/mcp-init.js +373 -379
- package/src/commands/memory-archive.js +193 -0
- package/src/commands/memory-reflect-commit.js +148 -0
- package/src/commands/memory-reflect-prepare.js +97 -0
- package/src/commands/memory-restore.js +177 -0
- package/src/commands/memory-search.js +135 -0
- package/src/commands/memory.js +299 -0
- package/src/commands/notify.js +68 -0
- package/src/commands/package-e2e.js +273 -273
- package/src/commands/parallel-assign.js +483 -403
- package/src/commands/parallel-doctor.js +850 -437
- package/src/commands/parallel-guard.js +241 -0
- package/src/commands/parallel-init.js +311 -249
- package/src/commands/parallel-merge.js +299 -0
- package/src/commands/parallel-status.js +434 -290
- package/src/commands/pattern-detect.js +33 -33
- package/src/commands/preflight-context.js +30 -30
- package/src/commands/preflight.js +267 -208
- package/src/commands/pulse-update.js +130 -130
- package/src/commands/qa-doctor.js +185 -185
- package/src/commands/qa-init.js +166 -161
- package/src/commands/qa-report.js +58 -58
- package/src/commands/qa-run.js +873 -873
- package/src/commands/qa-scan.js +337 -337
- package/src/commands/recovery.js +43 -43
- package/src/commands/revision.js +235 -0
- package/src/commands/runner-daemon.js +274 -274
- package/src/commands/runner-plan.js +70 -70
- package/src/commands/runner-queue-from-plan.js +166 -166
- package/src/commands/runner-queue.js +189 -189
- package/src/commands/runner-run.js +129 -129
- package/src/commands/runtime.js +2086 -2067
- package/src/commands/sandbox.js +37 -37
- package/src/commands/scaffold-complete.js +188 -0
- package/src/commands/scan-project.js +1371 -1371
- package/src/commands/scout-commit.js +163 -0
- package/src/commands/scout-prep.js +214 -0
- package/src/commands/scout-validate.js +112 -0
- package/src/commands/security-audit.js +275 -0
- package/src/commands/security-scan.js +376 -0
- package/src/commands/self-implement-loop.js +306 -256
- package/src/commands/session-guard.js +218 -218
- package/src/commands/setup-context.js +699 -698
- package/src/commands/setup.js +178 -178
- package/src/commands/sizing.js +165 -165
- package/src/commands/skill.js +670 -670
- package/src/commands/smoke.js +426 -426
- package/src/commands/spec-checkpoint.js +177 -177
- package/src/commands/spec-status.js +79 -79
- package/src/commands/spec-sync.js +190 -190
- package/src/commands/spec-tasks.js +288 -288
- package/src/commands/squad-agent-create.js +830 -788
- package/src/commands/squad-autorun.js +1220 -1220
- package/src/commands/squad-bus.js +217 -217
- package/src/commands/squad-card.js +149 -149
- package/src/commands/squad-daemon.js +343 -343
- package/src/commands/squad-dashboard.js +39 -39
- package/src/commands/squad-dependency-graph.js +164 -164
- package/src/commands/squad-deploy.js +64 -64
- package/src/commands/squad-doctor.js +460 -460
- package/src/commands/squad-export.js +77 -46
- package/src/commands/squad-investigate.js +314 -261
- package/src/commands/squad-learning.js +209 -209
- package/src/commands/squad-mcp.js +270 -270
- package/src/commands/squad-pipeline.js +343 -343
- package/src/commands/squad-plan.js +361 -329
- package/src/commands/squad-processes.js +56 -56
- package/src/commands/squad-recovery.js +42 -42
- package/src/commands/squad-repair-genomes.js +39 -39
- package/src/commands/squad-review.js +106 -106
- package/src/commands/squad-roi.js +291 -291
- package/src/commands/squad-scaffold.js +56 -55
- package/src/commands/squad-score.js +311 -250
- package/src/commands/squad-status.js +481 -460
- package/src/commands/squad-tool-register.js +157 -157
- package/src/commands/squad-validate.js +438 -347
- package/src/commands/squad-webhook.js +160 -160
- package/src/commands/squad-worker.js +191 -191
- package/src/commands/squad-worktrees.js +75 -75
- package/src/commands/state-save.js +122 -122
- package/src/commands/store-genome.js +667 -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/sync-agents-preflight.js +176 -0
- package/src/commands/test-agents.js +199 -199
- package/src/commands/tool-capabilities.js +63 -0
- package/src/commands/tool-registry-cmd.js +232 -232
- package/src/commands/update.js +64 -64
- package/src/commands/verify-gate.js +612 -572
- package/src/commands/web-map.js +70 -70
- package/src/commands/web-scrape.js +71 -71
- package/src/commands/workflow-execute.js +730 -241
- package/src/commands/workflow-harden.js +231 -0
- package/src/commands/workflow-heal.js +136 -0
- package/src/commands/workflow-next.js +1279 -601
- package/src/commands/workflow-plan.js +108 -108
- package/src/commands/workflow-status.js +440 -250
- package/src/commands/workspace.js +144 -0
- package/src/constants.js +413 -417
- package/src/context-cache.js +159 -159
- package/src/context-memory.js +975 -837
- package/src/context-parse-reason.js +22 -22
- package/src/context-search.js +326 -326
- package/src/context-writer.js +197 -196
- package/src/context.js +247 -217
- package/src/delivery-runner.js +319 -319
- package/src/design-variation-catalog.js +503 -503
- package/src/detector.js +261 -261
- package/src/doctor.js +760 -289
- 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/research-index-store.js +233 -0
- package/src/dossier/revision-store.js +313 -0
- package/src/dossier/schema.js +162 -0
- package/src/dossier/scout-section.js +127 -0
- package/src/dossier/store.js +406 -0
- package/src/execution-gateway.js +464 -461
- package/src/friction-scanner.js +202 -0
- package/src/genome-files.js +198 -198
- package/src/genome-format.js +442 -442
- package/src/genome-schema.js +238 -215
- package/src/genomes/bindings.js +281 -281
- package/src/genomes.js +500 -467
- package/src/handoff-contract.js +417 -0
- package/src/handoff-validator.js +45 -0
- package/src/harness/circuit-breaker.js +135 -0
- package/src/i18n/index.js +103 -103
- package/src/i18n/messages/en.js +1541 -1139
- package/src/i18n/messages/es.js +1325 -980
- package/src/i18n/messages/fr.js +1333 -987
- package/src/i18n/messages/pt-BR.js +1561 -1166
- package/src/i18n/scaffold.js +64 -64
- package/src/install-animation.js +260 -260
- package/src/install-profile.js +127 -143
- package/src/install-wizard.js +475 -475
- package/src/installer-config-merge.js +207 -0
- package/src/installer.js +449 -294
- package/src/learning-loop-archive.js +595 -0
- package/src/learning-loop-doctor.js +217 -0
- package/src/learning-loop-engine.js +254 -0
- package/src/learning-loop-fts5.js +132 -0
- package/src/learning-loop-migration.js +163 -0
- package/src/lib/dev-resume.js +140 -0
- package/src/lib/dossier-telemetry.js +36 -0
- package/src/lib/genomes/compat.js +206 -206
- package/src/lib/genomes/migrate.js +90 -90
- package/src/lib/git-commit-guard.js +751 -0
- package/src/lib/health-check.js +158 -158
- package/src/lib/hook-protocol.js +76 -76
- package/src/lib/llm-content-sanitizer.js +44 -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/squads/genome-repair.js +49 -49
- package/src/lib/store/security-scan.js +175 -0
- package/src/lib/terminal-checkbox.js +135 -0
- package/src/lib/terminal-picker.js +447 -0
- package/src/lib/tmux-launcher.js +163 -0
- package/src/lib/tool-capabilities.js +102 -0
- package/src/lib/webhook-server.js +328 -328
- package/src/locales.js +88 -84
- package/src/mcp/apps/squad-dashboard/app.js +163 -163
- package/src/mcp/apps/squad-dashboard/index.html +261 -261
- package/src/mcp/apps/squad-dashboard/mcp-manifest.json +23 -23
- package/src/mcp/resources/squad-state.js +130 -130
- package/src/mcp-connectors/registry.js +602 -602
- package/src/memory-reflect-engine.js +359 -0
- package/src/notify-renderer.js +32 -0
- package/src/onboarding.js +305 -305
- package/src/parallel-workspace.js +756 -0
- package/src/parser.js +66 -59
- package/src/path-guard.js +47 -0
- package/src/permissions-generator.js +400 -0
- package/src/preflight-engine.js +654 -443
- package/src/prompt-tool.js +20 -20
- package/src/qa-html-report.js +472 -472
- package/src/recovery-context-session.js +154 -154
- package/src/runner/cascade.js +97 -97
- package/src/runner/cli-launcher.js +109 -109
- package/src/runner/plan-importer.js +63 -63
- package/src/runner/queue-store.js +159 -159
- package/src/runtime-store.js +2720 -2676
- package/src/sandbox.js +194 -177
- package/src/self-healing.js +142 -0
- package/src/session-handoff.js +295 -77
- package/src/squad/agent-teams-adapter.js +270 -264
- package/src/squad/brief-validator.js +350 -350
- package/src/squad/bus-bridge.js +140 -140
- package/src/squad/context-compactor.js +265 -265
- package/src/squad/cross-ai-synthesizer.js +250 -250
- package/src/squad/external-session.js +180 -180
- package/src/squad/hooks-generator.js +196 -196
- package/src/squad/inter-squad-events.js +175 -175
- package/src/squad/inter-squad.js +74 -74
- package/src/squad/intra-bus.js +345 -345
- package/src/squad/learning-extractor.js +213 -213
- package/src/squad/pattern-detector.js +365 -365
- package/src/squad/preflight-context.js +296 -296
- package/src/squad/recovery-context.js +372 -372
- package/src/squad/reflection.js +365 -365
- package/src/squad/squad-scaffold.js +341 -177
- package/src/squad/state-manager.js +310 -310
- package/src/squad/task-decomposer.js +652 -652
- package/src/squad/verify-gate.js +303 -303
- package/src/squad/worktree-manager.js +114 -114
- package/src/squad-daemon.js +490 -490
- package/src/squad-dashboard/api.js +223 -223
- package/src/squad-dashboard/attachment-handler.js +93 -93
- package/src/squad-dashboard/context-monitor.js +157 -157
- package/src/squad-dashboard/execution-logs.js +115 -115
- package/src/squad-dashboard/hunk-review.js +209 -209
- package/src/squad-dashboard/metrics.js +133 -133
- package/src/squad-dashboard/process-monitor.js +125 -125
- package/src/squad-dashboard/renderer.js +858 -858
- package/src/squad-dashboard/server.js +232 -232
- package/src/squad-dashboard/styles.js +525 -525
- package/src/squad-dashboard/token-tracker.js +99 -99
- package/src/squads/apply-genome.js +21 -21
- package/src/squads/genome-binding-service.js +154 -154
- package/src/sub-task-engine.js +415 -0
- package/src/sub-task-schemas.js +150 -0
- package/src/sub-task-state.js +152 -0
- package/src/sub-task-telemetry.js +69 -0
- package/src/test-briefing.js +226 -0
- package/src/tool-executor.js +94 -94
- package/src/updater.js +39 -39
- package/src/utils.js +49 -46
- package/src/version.js +50 -50
- package/src/web.js +284 -284
- package/src/worker-runner.js +541 -524
- package/src/workflow-gates.js +185 -0
- package/template/.aioson/advisors/.gitkeep +1 -1
- package/template/.aioson/agents/analyst.md +333 -372
- package/template/.aioson/agents/architect.md +325 -338
- package/template/.aioson/agents/briefing.md +264 -0
- package/template/.aioson/agents/committer.md +161 -0
- package/template/.aioson/agents/copywriter.md +937 -463
- package/template/.aioson/agents/design-hybrid-forge.md +141 -141
- package/template/.aioson/agents/dev.md +295 -779
- package/template/.aioson/agents/deyvin.md +198 -290
- package/template/.aioson/agents/discover.md +235 -0
- package/template/.aioson/agents/discovery-design-doc.md +56 -264
- package/template/.aioson/agents/genome.md +1904 -314
- 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 +54 -0
- package/template/.aioson/agents/manifests/deyvin.manifest.json +41 -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 +41 -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 +341 -233
- package/template/.aioson/agents/orache.md +430 -434
- package/template/.aioson/agents/orchestrator.md +274 -364
- package/template/.aioson/agents/pair.md +5 -5
- package/template/.aioson/agents/pentester.md +289 -0
- package/template/.aioson/agents/pm.md +141 -194
- package/template/.aioson/agents/product.md +351 -518
- package/template/.aioson/agents/profiler-enricher.md +331 -280
- package/template/.aioson/agents/profiler-forge.md +212 -202
- package/template/.aioson/agents/profiler-researcher.md +282 -259
- package/template/.aioson/agents/qa.md +432 -688
- package/template/.aioson/agents/setup.md +423 -649
- package/template/.aioson/agents/sheldon.md +259 -829
- package/template/.aioson/agents/site-forge.md +281 -1753
- package/template/.aioson/agents/squad.md +160 -2027
- package/template/.aioson/agents/tester.md +536 -463
- package/template/.aioson/agents/ux-ui.md +195 -870
- package/template/.aioson/agents/validator.md +101 -0
- package/template/.aioson/brains/README.md +132 -128
- package/template/.aioson/brains/_archived/.gitkeep +0 -0
- package/template/.aioson/brains/_index.json +34 -16
- package/template/.aioson/brains/dev/patterns.brain.json +79 -0
- package/template/.aioson/brains/scripts/query.js +107 -103
- package/template/.aioson/brains/sheldon/architecture-decisions.brain.json +79 -0
- package/template/.aioson/brains/site-forge/visual-patterns.brain.json +205 -205
- package/template/.aioson/config/autonomy-protocol.json +125 -0
- package/template/.aioson/config/learning-loop.json +10 -0
- package/template/.aioson/config/scout-engine.json +1 -0
- package/template/.aioson/config.md +410 -382
- package/template/.aioson/constitution.md +36 -33
- package/template/.aioson/context/_archived/.gitkeep +0 -0
- package/template/.aioson/context/design-doc.md +136 -0
- package/template/.aioson/context/project-map.md +57 -0
- package/template/.aioson/context/project-pulse.md +34 -34
- package/template/.aioson/context/seeds/seed-example.md +27 -27
- package/template/.aioson/context/spec.md.template +54 -54
- package/template/.aioson/context/user-profile.md +42 -42
- 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 +89 -79
- package/template/.aioson/docs/README.md +76 -76
- package/template/.aioson/docs/autonomy-protocol.md +80 -0
- package/template/.aioson/docs/briefing/briefing-craft.md +237 -0
- 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/example-external-api-context.md +72 -72
- package/template/.aioson/docs/pentester/app-playbooks.md +206 -0
- package/template/.aioson/docs/pentester/llm-supplychain.md +165 -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/harness-contract.md +118 -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 +149 -0
- package/template/.aioson/docs/squad/domain-breadth.md +322 -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 +260 -0
- package/template/.aioson/docs/squad/quality-lens.md +60 -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/tester/coverage-quality.md +351 -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/INDEX.md +195 -0
- package/template/.aioson/genomes/copywriting/SKILL.md +137 -0
- package/template/.aioson/genomes/copywriting/manifest.json +140 -0
- package/template/.aioson/genomes/copywriting/references/application-notes.md +145 -0
- package/template/.aioson/genomes/copywriting/references/decision-weights.md +45 -0
- package/template/.aioson/genomes/copywriting/references/frameworks/5-act-narrative.md +184 -0
- package/template/.aioson/genomes/copywriting/references/frameworks/classical-formulas.md +164 -0
- package/template/.aioson/genomes/copywriting/references/frameworks/offer-stack.md +195 -0
- package/template/.aioson/genomes/copywriting/references/frameworks/one-belief.md +135 -0
- package/template/.aioson/genomes/copywriting/references/frameworks/pms-research.md +211 -0
- package/template/.aioson/genomes/copywriting/references/frameworks/two-paths-close.md +190 -0
- package/template/.aioson/genomes/copywriting/references/heuristics.md +114 -0
- package/template/.aioson/genomes/copywriting/references/meta-axioms.md +68 -0
- package/template/.aioson/genomes/copywriting/references/methodology.md +115 -0
- package/template/.aioson/genomes/copywriting-brunson/SKILL.md +133 -0
- package/template/.aioson/genomes/copywriting-brunson/manifest.json +152 -0
- package/template/.aioson/genomes/copywriting-brunson/references/application-notes.md +113 -0
- package/template/.aioson/genomes/copywriting-brunson/references/decision-weights.md +33 -0
- package/template/.aioson/genomes/copywriting-brunson/references/evidence-and-attribution.md +81 -0
- package/template/.aioson/genomes/copywriting-brunson/references/frameworks/6-part-structure.md +136 -0
- package/template/.aioson/genomes/copywriting-brunson/references/frameworks/origin-story.md +121 -0
- package/template/.aioson/genomes/copywriting-brunson/references/frameworks/perfect-webinar-script.md +139 -0
- package/template/.aioson/genomes/copywriting-brunson/references/frameworks/persuasive-storytelling-5-structures.md +164 -0
- package/template/.aioson/genomes/copywriting-brunson/references/frameworks/value-stack.md +136 -0
- package/template/.aioson/genomes/copywriting-brunson/references/frameworks/who-what-why-how.md +110 -0
- package/template/.aioson/genomes/copywriting-brunson/references/meta-axioms.md +36 -0
- package/template/.aioson/genomes/copywriting-brunson/references/methodology.md +112 -0
- package/template/.aioson/git-guard.json +12 -0
- package/template/.aioson/mcp/servers.md +23 -24
- package/template/.aioson/profiler-reports/.gitkeep +1 -1
- package/template/.aioson/rules/README.md +69 -69
- package/template/.aioson/rules/_archived/.gitkeep +0 -0
- 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 +74 -136
- package/template/.aioson/rules/disk-first-artifacts.md +44 -0
- package/template/.aioson/rules/example-monetary-values.md +30 -30
- 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/README.md +50 -50
- package/template/.aioson/rules/squad-driver-pattern.md +81 -0
- package/template/.aioson/schemas/content-blueprint.schema.json +30 -30
- package/template/.aioson/schemas/genome-meta.schema.json +150 -150
- package/template/.aioson/schemas/genome.schema.json +115 -115
- package/template/.aioson/schemas/readiness.schema.json +27 -27
- package/template/.aioson/schemas/squad-blueprint.schema.json +228 -204
- package/template/.aioson/schemas/squad-manifest.schema.json +874 -830
- package/template/.aioson/skills/design/aurora-command-ui/SKILL.md +243 -243
- package/template/.aioson/skills/design/aurora-command-ui/references/art-direction.md +293 -293
- package/template/.aioson/skills/design/aurora-command-ui/references/components.md +827 -827
- package/template/.aioson/skills/design/aurora-command-ui/references/dashboards.md +250 -250
- package/template/.aioson/skills/design/aurora-command-ui/references/design-tokens.md +585 -585
- package/template/.aioson/skills/design/aurora-command-ui/references/motion.md +365 -365
- package/template/.aioson/skills/design/aurora-command-ui/references/patterns.md +482 -482
- package/template/.aioson/skills/design/aurora-command-ui/references/websites.md +387 -387
- package/template/.aioson/skills/design/bold-editorial-ui/SKILL.md +205 -205
- package/template/.aioson/skills/design/bold-editorial-ui/references/art-direction.md +338 -338
- package/template/.aioson/skills/design/bold-editorial-ui/references/components.md +977 -977
- package/template/.aioson/skills/design/bold-editorial-ui/references/dashboards.md +218 -218
- package/template/.aioson/skills/design/bold-editorial-ui/references/design-tokens.md +326 -326
- package/template/.aioson/skills/design/bold-editorial-ui/references/motion.md +461 -461
- package/template/.aioson/skills/design/bold-editorial-ui/references/patterns.md +293 -293
- package/template/.aioson/skills/design/bold-editorial-ui/references/websites.md +352 -352
- package/template/.aioson/skills/design/clean-saas-ui/SKILL.md +210 -210
- package/template/.aioson/skills/design/clean-saas-ui/references/art-direction.md +319 -319
- package/template/.aioson/skills/design/clean-saas-ui/references/components.md +365 -365
- package/template/.aioson/skills/design/clean-saas-ui/references/dashboards.md +196 -196
- package/template/.aioson/skills/design/clean-saas-ui/references/design-tokens.md +244 -244
- package/template/.aioson/skills/design/clean-saas-ui/references/motion.md +235 -235
- package/template/.aioson/skills/design/clean-saas-ui/references/patterns.md +215 -215
- package/template/.aioson/skills/design/clean-saas-ui/references/websites.md +295 -295
- package/template/.aioson/skills/design/cognitive-core-ui/SKILL.md +203 -203
- package/template/.aioson/skills/design/cognitive-core-ui/references/art-direction.md +339 -339
- package/template/.aioson/skills/design/cognitive-core-ui/references/components.md +407 -407
- package/template/.aioson/skills/design/cognitive-core-ui/references/dashboards.md +272 -272
- package/template/.aioson/skills/design/cognitive-core-ui/references/design-tokens.md +524 -524
- package/template/.aioson/skills/design/cognitive-core-ui/references/motion.md +279 -279
- package/template/.aioson/skills/design/cognitive-core-ui/references/patterns.md +289 -289
- package/template/.aioson/skills/design/cognitive-core-ui/references/websites.md +437 -437
- package/template/.aioson/skills/design/glassmorphism-ui/SKILL.md +222 -222
- package/template/.aioson/skills/design/glassmorphism-ui/references/art-direction.md +159 -159
- package/template/.aioson/skills/design/glassmorphism-ui/references/components.md +498 -498
- package/template/.aioson/skills/design/glassmorphism-ui/references/dashboards.md +236 -236
- package/template/.aioson/skills/design/glassmorphism-ui/references/design-tokens.md +274 -274
- package/template/.aioson/skills/design/glassmorphism-ui/references/motion.md +355 -355
- package/template/.aioson/skills/design/glassmorphism-ui/references/patterns.md +198 -198
- package/template/.aioson/skills/design/glassmorphism-ui/references/websites.md +307 -307
- package/template/.aioson/skills/design/interface-design/SKILL.md +47 -47
- package/template/.aioson/skills/design/interface-design/references/components-and-states.md +105 -105
- package/template/.aioson/skills/design/interface-design/references/design-directions.md +101 -101
- package/template/.aioson/skills/design/interface-design/references/handoff-and-quality.md +71 -71
- package/template/.aioson/skills/design/interface-design/references/intent-and-domain.md +74 -74
- package/template/.aioson/skills/design/interface-design/references/tokens-and-depth.md +173 -173
- package/template/.aioson/skills/design/neo-brutalist-ui/SKILL.md +213 -213
- package/template/.aioson/skills/design/neo-brutalist-ui/references/art-direction.md +228 -228
- package/template/.aioson/skills/design/neo-brutalist-ui/references/components.md +855 -855
- package/template/.aioson/skills/design/neo-brutalist-ui/references/dashboards.md +334 -334
- package/template/.aioson/skills/design/neo-brutalist-ui/references/design-tokens.md +342 -342
- package/template/.aioson/skills/design/neo-brutalist-ui/references/motion.md +286 -286
- package/template/.aioson/skills/design/neo-brutalist-ui/references/patterns.md +458 -458
- package/template/.aioson/skills/design/neo-brutalist-ui/references/websites.md +723 -723
- package/template/.aioson/skills/design/premium-command-center-ui/SKILL.md +62 -62
- package/template/.aioson/skills/design/premium-command-center-ui/references/operations.md +74 -74
- package/template/.aioson/skills/design/premium-command-center-ui/references/patterns.md +116 -116
- package/template/.aioson/skills/design/premium-command-center-ui/references/validation.md +47 -47
- package/template/.aioson/skills/design/premium-command-center-ui/references/visual-system.md +215 -215
- package/template/.aioson/skills/design/pt.squarespace.com/.skill-meta.json +31 -31
- package/template/.aioson/skills/design/pt.squarespace.com/SKILL.md +66 -66
- package/template/.aioson/skills/design/pt.squarespace.com/references/components.md +368 -368
- package/template/.aioson/skills/design/pt.squarespace.com/references/design-tokens.md +150 -150
- package/template/.aioson/skills/design/pt.squarespace.com/references/motion.md +270 -270
- package/template/.aioson/skills/design/pt.squarespace.com/references/patterns.md +189 -189
- package/template/.aioson/skills/design/pt.squarespace.com/references/websites.md +165 -165
- package/template/.aioson/skills/design/warm-craft-ui/SKILL.md +209 -209
- package/template/.aioson/skills/design/warm-craft-ui/references/art-direction.md +324 -324
- package/template/.aioson/skills/design/warm-craft-ui/references/components.md +508 -508
- package/template/.aioson/skills/design/warm-craft-ui/references/dashboards.md +223 -223
- package/template/.aioson/skills/design/warm-craft-ui/references/design-tokens.md +374 -374
- package/template/.aioson/skills/design/warm-craft-ui/references/motion.md +356 -356
- package/template/.aioson/skills/design/warm-craft-ui/references/patterns.md +288 -288
- package/template/.aioson/skills/design/warm-craft-ui/references/websites.md +289 -289
- package/template/.aioson/skills/design-system/SKILL.md +92 -92
- package/template/.aioson/skills/design-system/components/SKILL.md +274 -274
- package/template/.aioson/skills/design-system/dashboards/SKILL.md +184 -184
- package/template/.aioson/skills/design-system/foundations/SKILL.md +250 -250
- package/template/.aioson/skills/design-system/motion/SKILL.md +197 -197
- package/template/.aioson/skills/design-system/patterns/SKILL.md +231 -231
- package/template/.aioson/skills/dynamic/README.md +30 -30
- package/template/.aioson/skills/dynamic/cardano-docs.md +16 -16
- package/template/.aioson/skills/dynamic/ethereum-docs.md +17 -17
- package/template/.aioson/skills/dynamic/flux-ui-docs.md +13 -13
- package/template/.aioson/skills/dynamic/laravel-docs.md +41 -41
- package/template/.aioson/skills/dynamic/npm-packages.md +16 -16
- package/template/.aioson/skills/dynamic/solana-docs.md +16 -16
- package/template/.aioson/skills/marketing/references/anti-patterns.md +254 -254
- package/template/.aioson/skills/marketing/references/cta-matrix.md +361 -0
- package/template/.aioson/skills/marketing/references/fascinations.md +192 -192
- package/template/.aioson/skills/marketing/references/five-acts.md +248 -248
- package/template/.aioson/skills/marketing/references/headline-matrix.md +358 -0
- package/template/.aioson/skills/marketing/references/market-intelligence.md +198 -198
- package/template/.aioson/skills/marketing/references/offer-structure.md +203 -203
- package/template/.aioson/skills/marketing/references/one-belief.md +149 -149
- package/template/.aioson/skills/marketing/references/patterns.md +218 -218
- package/template/.aioson/skills/marketing/references/platform-constraints.md +337 -0
- package/template/.aioson/skills/marketing/references/pms-research.md +193 -193
- package/template/.aioson/skills/marketing/vsl-craft.md +385 -385
- package/template/.aioson/skills/premium-visual-design/SKILL.md +83 -83
- package/template/.aioson/skills/premium-visual-design/components/agent-badge.md +92 -92
- package/template/.aioson/skills/premium-visual-design/components/dependency-node.md +102 -102
- package/template/.aioson/skills/premium-visual-design/components/mention-autocomplete.md +136 -136
- package/template/.aioson/skills/premium-visual-design/components/notification-center.md +136 -136
- package/template/.aioson/skills/premium-visual-design/components/review-action-bar.md +188 -188
- package/template/.aioson/skills/premium-visual-design/components/team-switcher.md +131 -131
- package/template/.aioson/skills/premium-visual-design/patterns/agent-message-thread.md +198 -198
- package/template/.aioson/skills/premium-visual-design/patterns/notification-panel.md +275 -275
- package/template/.aioson/skills/premium-visual-design/patterns/review-workflow-ui.md +234 -234
- package/template/.aioson/skills/premium-visual-design/patterns/task-dependency-graph.md +147 -147
- package/template/.aioson/skills/premium-visual-design/tokens/status-extended.md +142 -142
- package/template/.aioson/skills/process/aioson-spec-driven/SKILL.md +46 -46
- package/template/.aioson/skills/process/aioson-spec-driven/references/analyst.md +30 -30
- package/template/.aioson/skills/process/aioson-spec-driven/references/approval-gates.md +109 -109
- package/template/.aioson/skills/process/aioson-spec-driven/references/architect.md +23 -23
- package/template/.aioson/skills/process/aioson-spec-driven/references/artifact-map.md +44 -44
- package/template/.aioson/skills/process/aioson-spec-driven/references/classification-map.md +37 -37
- package/template/.aioson/skills/process/aioson-spec-driven/references/dev.md +47 -47
- package/template/.aioson/skills/process/aioson-spec-driven/references/deyvin.md +27 -27
- package/template/.aioson/skills/process/aioson-spec-driven/references/hardening-lane.md +49 -49
- package/template/.aioson/skills/process/aioson-spec-driven/references/maintenance-and-state.md +101 -101
- package/template/.aioson/skills/process/aioson-spec-driven/references/pm.md +30 -0
- package/template/.aioson/skills/process/aioson-spec-driven/references/product.md +25 -25
- package/template/.aioson/skills/process/aioson-spec-driven/references/qa.md +30 -30
- package/template/.aioson/skills/process/aioson-spec-driven/references/sheldon.md +25 -25
- package/template/.aioson/skills/process/aioson-spec-driven/references/ui-language.md +75 -75
- package/template/.aioson/skills/process/design-hybrid-forge/SKILL.md +147 -147
- package/template/.aioson/skills/process/design-hybrid-forge/references/crossover-protocol.md +221 -221
- package/template/.aioson/skills/process/design-hybrid-forge/references/naming-registry.md +88 -88
- package/template/.aioson/skills/process/design-hybrid-forge/references/output-contract.md +306 -306
- package/template/.aioson/skills/process/design-hybrid-forge/references/pair-compatibility.md +149 -149
- package/template/.aioson/skills/process/design-hybrid-forge/references/quality-gates.md +208 -208
- package/template/.aioson/skills/process/design-hybrid-forge/references/variation-library.md +125 -125
- package/template/.aioson/skills/process/secure-tdd/SKILL.md +97 -0
- package/template/.aioson/skills/process/simplify/SKILL.md +173 -173
- package/template/.aioson/skills/references/premium-command-center-ui/master-application-prompt.md +79 -79
- package/template/.aioson/skills/references/premium-command-center-ui/operational-ux-playbook.md +253 -253
- package/template/.aioson/skills/references/premium-command-center-ui/quality-validation-checklist.md +82 -82
- package/template/.aioson/skills/references/premium-command-center-ui/visual-system-and-component-patterns.md +270 -270
- package/template/.aioson/skills/squad/SKILL.md +58 -58
- package/template/.aioson/skills/squad/formats/catalog.json +15 -15
- package/template/.aioson/skills/squad/formats/content/blog-post.md +47 -47
- package/template/.aioson/skills/squad/formats/content/newsletter.md +47 -47
- package/template/.aioson/skills/squad/formats/creative/podcast-script.md +43 -43
- package/template/.aioson/skills/squad/formats/creative/video-script.md +41 -41
- package/template/.aioson/skills/squad/formats/social/instagram-feed.md +42 -42
- package/template/.aioson/skills/squad/formats/social/linkedin-post.md +42 -42
- package/template/.aioson/skills/squad/formats/social/tiktok.md +39 -39
- package/template/.aioson/skills/squad/formats/social/twitter-thread.md +39 -39
- package/template/.aioson/skills/squad/formats/social/youtube-long.md +47 -47
- package/template/.aioson/skills/squad/formats/social/youtube-shorts.md +39 -39
- package/template/.aioson/skills/squad/patterns/multi-platform-pattern.md +108 -108
- package/template/.aioson/skills/squad/patterns/persona-based-pattern.md +98 -98
- package/template/.aioson/skills/squad/patterns/pipeline-pattern.md +106 -106
- package/template/.aioson/skills/squad/patterns/review-loop-pattern.md +81 -81
- package/template/.aioson/skills/squad/references/checklist-templates.md +122 -122
- package/template/.aioson/skills/squad/references/executor-archetypes.md +123 -123
- package/template/.aioson/skills/squad/references/workflow-templates.md +169 -169
- package/template/.aioson/skills/static/context-budget-guide.md +46 -46
- package/template/.aioson/skills/static/debugging-protocol.md +42 -42
- package/template/.aioson/skills/static/django-patterns.md +342 -342
- package/template/.aioson/skills/static/fastapi-patterns.md +344 -344
- package/template/.aioson/skills/static/filament-patterns.md +267 -267
- package/template/.aioson/skills/static/flux-ui-components.md +262 -262
- package/template/.aioson/skills/static/git-conventions.md +227 -227
- package/template/.aioson/skills/static/git-worktrees.md +36 -36
- package/template/.aioson/skills/static/harness-sensors.md +74 -74
- package/template/.aioson/skills/static/harness-validate/SKILL.md +46 -0
- package/template/.aioson/skills/static/jetstream-setup.md +200 -200
- package/template/.aioson/skills/static/landing-page-deploy.md +192 -192
- package/template/.aioson/skills/static/landing-page-forge.md +730 -730
- package/template/.aioson/skills/static/laravel-conventions.md +491 -491
- package/template/.aioson/skills/static/multi-agent-patterns.md +43 -43
- package/template/.aioson/skills/static/nextjs-patterns.md +321 -321
- package/template/.aioson/skills/static/node-express-patterns.md +317 -317
- package/template/.aioson/skills/static/node-typescript-patterns.md +282 -282
- package/template/.aioson/skills/static/rails-conventions.md +307 -307
- package/template/.aioson/skills/static/react-motion-patterns.md +599 -599
- package/template/.aioson/skills/static/static-html-patterns/checklists.md +43 -43
- package/template/.aioson/skills/static/static-html-patterns/css-tokens.md +609 -609
- package/template/.aioson/skills/static/static-html-patterns/motion.md +193 -193
- package/template/.aioson/skills/static/static-html-patterns/premium.md +711 -711
- package/template/.aioson/skills/static/static-html-patterns/structure.md +209 -209
- package/template/.aioson/skills/static/static-html-patterns/utilities.md +190 -190
- package/template/.aioson/skills/static/static-html-patterns.md +80 -80
- package/template/.aioson/skills/static/tall-stack-patterns.md +286 -286
- package/template/.aioson/skills/static/threejs-patterns.md +929 -929
- package/template/.aioson/skills/static/ui-ux-modern.md +76 -76
- package/template/.aioson/skills/static/web-research-cache.md +115 -112
- package/template/.aioson/skills/static/web3-cardano-patterns.md +337 -337
- package/template/.aioson/skills/static/web3-ethereum-patterns.md +310 -310
- package/template/.aioson/skills/static/web3-security-checklist.md +284 -284
- package/template/.aioson/skills/static/web3-solana-patterns.md +324 -324
- package/template/.aioson/squads/memory.md +5 -5
- package/template/.aioson/tasks/implementation-plan.md +327 -327
- package/template/.aioson/tasks/squad-analyze.md +83 -83
- package/template/.aioson/tasks/squad-create.md +148 -121
- package/template/.aioson/tasks/squad-design.md +206 -158
- package/template/.aioson/tasks/squad-execution-plan.md +279 -279
- package/template/.aioson/tasks/squad-export.md +20 -20
- package/template/.aioson/tasks/squad-extend.md +68 -68
- package/template/.aioson/tasks/squad-investigate.md +57 -44
- package/template/.aioson/tasks/squad-learning-review.md +44 -44
- package/template/.aioson/tasks/squad-output-config.md +177 -177
- package/template/.aioson/tasks/squad-pipeline.md +122 -122
- package/template/.aioson/tasks/squad-profile.md +48 -48
- package/template/.aioson/tasks/squad-refresh.md +236 -0
- package/template/.aioson/tasks/squad-repair.md +85 -85
- package/template/.aioson/tasks/squad-review.md +61 -61
- package/template/.aioson/tasks/squad-task-decompose.md +66 -66
- package/template/.aioson/tasks/squad-validate.md +58 -58
- package/template/.aioson/templates/reflect-prompts/current-state.md +36 -0
- package/template/.aioson/templates/reflect-prompts/how-it-works.md +23 -0
- package/template/.aioson/templates/reflect-prompts/what-it-does.md +21 -0
- package/template/.aioson/templates/squads/content-basic/template.json +21 -21
- package/template/.aioson/templates/squads/digital-marketing-agency/template.json +96 -96
- package/template/.aioson/templates/squads/media-channel/template.json +24 -24
- package/template/.aioson/templates/squads/research-analysis/template.json +22 -22
- package/template/.aioson/templates/squads/software-delivery/template.json +21 -21
- package/template/.claude/commands/aioson/agent/analyst.md +5 -5
- package/template/.claude/commands/aioson/agent/architect.md +5 -5
- package/template/.claude/commands/aioson/agent/briefing.md +5 -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/design-hybrid-forge.md +5 -5
- package/template/.claude/commands/aioson/agent/dev.md +5 -5
- package/template/.claude/commands/aioson/agent/deyvin.md +5 -5
- package/template/.claude/commands/aioson/agent/discover.md +5 -0
- package/template/.claude/commands/aioson/agent/discovery-design-doc.md +5 -5
- package/template/.claude/commands/aioson/agent/genome.md +5 -5
- package/template/.claude/commands/aioson/agent/neo.md +5 -5
- package/template/.claude/commands/aioson/agent/orache.md +5 -5
- package/template/.claude/commands/aioson/agent/orchestrator.md +5 -5
- package/template/.claude/commands/aioson/agent/pair.md +5 -0
- package/template/.claude/commands/aioson/agent/pentester.md +5 -0
- package/template/.claude/commands/aioson/agent/pm.md +5 -5
- package/template/.claude/commands/aioson/agent/product.md +5 -5
- package/template/.claude/commands/aioson/agent/profiler-enricher.md +5 -5
- package/template/.claude/commands/aioson/agent/profiler-forge.md +5 -5
- package/template/.claude/commands/aioson/agent/profiler-researcher.md +5 -5
- package/template/.claude/commands/aioson/agent/qa.md +5 -5
- package/template/.claude/commands/aioson/agent/setup.md +5 -5
- package/template/.claude/commands/aioson/agent/sheldon.md +5 -5
- package/template/.claude/commands/aioson/agent/site-forge.md +5 -5
- package/template/.claude/commands/aioson/agent/squad.md +5 -5
- package/template/.claude/commands/aioson/agent/tester.md +5 -5
- package/template/.claude/commands/aioson/agent/ux-ui.md +5 -5
- package/template/.claude/commands/aioson/agent/validator.md +5 -0
- package/template/.gemini/GEMINI.md +13 -13
- package/template/.gemini/commands/aios-analyst.toml +7 -4
- package/template/.gemini/commands/aios-architect.toml +8 -7
- 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 +9 -8
- package/template/.gemini/commands/aios-deyvin.toml +7 -6
- package/template/.gemini/commands/aios-discover.toml +6 -0
- package/template/.gemini/commands/aios-discovery-design-doc.toml +7 -4
- package/template/.gemini/commands/aios-genome.toml +7 -0
- package/template/.gemini/commands/aios-neo.toml +6 -4
- package/template/.gemini/commands/aios-orache.toml +7 -0
- package/template/.gemini/commands/aios-orchestrator.toml +9 -8
- package/template/.gemini/commands/aios-pair.toml +7 -6
- package/template/.gemini/commands/aios-pm.toml +9 -8
- package/template/.gemini/commands/aios-product.toml +6 -4
- package/template/.gemini/commands/aios-qa.toml +7 -6
- package/template/.gemini/commands/aios-setup.toml +6 -3
- 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 +7 -6
- package/template/.gemini/commands/aios-ux-ui.toml +9 -8
- package/template/.gemini/commands/aios-validator.toml +7 -0
- package/template/AGENTS.md +184 -172
- package/template/CLAUDE.md +98 -93
- package/template/OPENCODE.md +35 -34
- package/template/aioson-models.json +40 -40
- package/docs/en/i18n.md +0 -52
- package/docs/en/schemas/parallel-status.schema.json +0 -94
- package/template/.aioson/genomes/copywriting.md +0 -204
- 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
|
@@ -1,688 +1,432 @@
|
|
|
1
|
-
# Agent @qa
|
|
2
|
-
|
|
3
|
-
>
|
|
4
|
-
|
|
5
|
-
##
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
##
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
##
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
-
|
|
57
|
-
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
##
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
-
|
|
127
|
-
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
-
|
|
144
|
-
-
|
|
145
|
-
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
-
|
|
155
|
-
-
|
|
156
|
-
-
|
|
157
|
-
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
###
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
###
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
actingAs(User::factory()->
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
});
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
```
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
}
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
|
|
378
|
-
|
|
379
|
-
-
|
|
380
|
-
|
|
381
|
-
|
|
382
|
-
|
|
383
|
-
|
|
384
|
-
- **
|
|
385
|
-
- **
|
|
386
|
-
- **
|
|
387
|
-
|
|
388
|
-
|
|
389
|
-
-
|
|
390
|
-
|
|
391
|
-
|
|
392
|
-
|
|
393
|
-
|
|
394
|
-
|
|
395
|
-
|
|
396
|
-
|
|
397
|
-
|
|
398
|
-
|
|
399
|
-
|
|
400
|
-
|
|
401
|
-
|
|
402
|
-
|
|
403
|
-
|
|
404
|
-
|
|
405
|
-
|
|
406
|
-
|
|
407
|
-
|
|
408
|
-
|
|
409
|
-
|
|
410
|
-
|
|
411
|
-
|
|
412
|
-
|
|
413
|
-
|
|
414
|
-
|
|
415
|
-
|
|
416
|
-
|
|
417
|
-
-
|
|
418
|
-
|
|
419
|
-
|
|
420
|
-
|
|
421
|
-
|
|
422
|
-
|
|
423
|
-
|
|
424
|
-
|
|
425
|
-
|
|
426
|
-
|
|
427
|
-
|
|
428
|
-
|
|
429
|
-
-
|
|
430
|
-
|
|
431
|
-
|
|
432
|
-
|
|
433
|
-
- [ ] Mobile score ≥ 90
|
|
434
|
-
- [ ] LCP (Largest Contentful Paint) < 2.5 s
|
|
435
|
-
- [ ] CLS (Cumulative Layout Shift) < 0.1
|
|
436
|
-
- [ ] All images below fold have `loading="lazy"`
|
|
437
|
-
- [ ] Hero image has `<link rel="preload" as="image">` in `<head>`
|
|
438
|
-
- [ ] No render-blocking scripts without `defer` or `async`
|
|
439
|
-
- [ ] `@media (prefers-reduced-motion: reduce)` present in CSS
|
|
440
|
-
|
|
441
|
-
If running Lighthouse CLI: `lighthouse {url} --output=json --only-categories=performance`
|
|
442
|
-
|
|
443
|
-
### Step W4 — SEO / LLMO validation
|
|
444
|
-
- [ ] Single `<h1>` per page
|
|
445
|
-
- [ ] `<meta name="description">` present and 150–160 chars
|
|
446
|
-
- [ ] `<link rel="canonical">` present and correct
|
|
447
|
-
- [ ] OG tags: `og:title`, `og:description`, `og:image` (1200×630), `og:url`
|
|
448
|
-
- [ ] JSON-LD schema present before `</body>`
|
|
449
|
-
- [ ] `/robots.txt` accessible and allows crawling
|
|
450
|
-
- [ ] `/sitemap.xml` accessible and valid XML
|
|
451
|
-
- [ ] `/llms.txt` present (LLMO discoverability)
|
|
452
|
-
|
|
453
|
-
### Step W5 — Tracking validation
|
|
454
|
-
Verify with Meta Pixel Helper browser extension or equivalent:
|
|
455
|
-
- [ ] Meta Pixel `PageView` fires on page load (if Pixel ID configured)
|
|
456
|
-
- [ ] `fbq('init', 'PIXEL_ID')` called before any `fbq('track', ...)` call
|
|
457
|
-
- [ ] GTM fires on page load (if GTM container configured)
|
|
458
|
-
- [ ] UTM parameters captured in `sessionStorage` when visiting with `?utm_source=test`
|
|
459
|
-
- [ ] UTM values injected as hidden fields on form submit
|
|
460
|
-
- [ ] `Lead` event fires on form submit (if Pixel configured)
|
|
461
|
-
|
|
462
|
-
If Pixel ID or GTM container is `PENDING` in the spec, flag as `[W5-PENDING]` — not a blocking failure.
|
|
463
|
-
|
|
464
|
-
### Step W6 — Cross-browser validation
|
|
465
|
-
Test in:
|
|
466
|
-
- [ ] Chrome (latest)
|
|
467
|
-
- [ ] Safari (latest, or iOS Safari on mobile)
|
|
468
|
-
- [ ] Firefox (latest)
|
|
469
|
-
|
|
470
|
-
Known cross-browser issues to check:
|
|
471
|
-
- CSS `backdrop-filter` not supported in older Firefox — check fallback
|
|
472
|
-
- CSS `clamp()` works in all modern browsers — verify if targeting IE
|
|
473
|
-
- GSAP and AnimeJS work in all modern browsers — verify CDN loads
|
|
474
|
-
- `gap` in Flexbox not supported in Safari < 14 — use `margin` fallback
|
|
475
|
-
|
|
476
|
-
### Step W7 — Conversion quality checks
|
|
477
|
-
- [ ] Single primary action per section (no competing CTAs)
|
|
478
|
-
- [ ] Primary CTA uses action verb (not "Learn More" or "Click Here")
|
|
479
|
-
- [ ] Trust signals visible before the first CTA (social proof, logos, testimonials, or stats)
|
|
480
|
-
- [ ] Form fields: only fields absolutely necessary (fewer fields = higher conversion)
|
|
481
|
-
- [ ] H1 communicates the value proposition, not just the product name
|
|
482
|
-
- [ ] No dead whitespace sections with no clear purpose
|
|
483
|
-
|
|
484
|
-
### Web validation report format
|
|
485
|
-
|
|
486
|
-
```
|
|
487
|
-
## Web Validation Report — [Page/Project] — [Date]
|
|
488
|
-
|
|
489
|
-
### W1 Functional: ✓ PASS | ✗ FAIL (list issues)
|
|
490
|
-
### W2 Responsive: ✓ PASS | ✗ FAIL (list breakpoints with issues)
|
|
491
|
-
### W3 Performance: Score [mobile] / [desktop] — LCP [ms] — CLS [score]
|
|
492
|
-
### W4 SEO/LLMO: [N]/8 checks passed
|
|
493
|
-
### W5 Tracking: [N]/6 checks passed — [PENDING items noted]
|
|
494
|
-
### W6 Cross-browser: ✓ Chrome ✓ Safari ✓ Firefox | issues: [list]
|
|
495
|
-
### W7 Conversion: [N]/6 checks passed
|
|
496
|
-
|
|
497
|
-
### Critical (blocks launch)
|
|
498
|
-
- [issue]: [location] → [fix]
|
|
499
|
-
|
|
500
|
-
### Important (degrades conversion)
|
|
501
|
-
- [issue]: [location] → [fix]
|
|
502
|
-
|
|
503
|
-
### VERDICT: LAUNCH-READY | NEEDS-FIXES | BLOCKED
|
|
504
|
-
- LAUNCH-READY: all Critical resolved, W3 score ≥ 90, W4 ≥ 6/8, W5 tracking configured or PENDING
|
|
505
|
-
- NEEDS-FIXES: Critical issues present or performance < 90
|
|
506
|
-
- BLOCKED: broken forms, broken CTAs, or tracking completely absent (not PENDING)
|
|
507
|
-
```
|
|
508
|
-
|
|
509
|
-
> **`.aioson/context/` rule:** this folder accepts only `.md` files. Never write `.html`, `.css`, `.js`, or any other non-markdown file inside `.aioson/`.
|
|
510
|
-
|
|
511
|
-
## aios-qa browser report integration
|
|
512
|
-
|
|
513
|
-
If `aios-qa-report.md` exists in the project root, read it **before** writing your report.
|
|
514
|
-
|
|
515
|
-
Apply these rules when merging:
|
|
516
|
-
1. For each AC in `prd.md`: if aios-qa marked it as FAIL → set status to Missing.
|
|
517
|
-
2. If both static review and browser test flag the same issue → promote severity by one level (Medium → High, High → Critical).
|
|
518
|
-
3. Add a **Browser findings (aios-qa)** subsection to your report with all Critical and High browser findings.
|
|
519
|
-
4. Add `[browser-validated]` tag to ACs that passed in the live browser.
|
|
520
|
-
5. If `aios-qa-report.md` does not exist → skip this section silently. Do not mention it.
|
|
521
|
-
|
|
522
|
-
> To generate a browser report: `aioson qa:run` (scenarios) or `aioson qa:scan` (autonomous crawl)
|
|
523
|
-
|
|
524
|
-
---
|
|
525
|
-
|
|
526
|
-
## Feature closure (feature mode only)
|
|
527
|
-
|
|
528
|
-
When QA is complete and all Critical and High findings are resolved:
|
|
529
|
-
|
|
530
|
-
**Use the CLI to close the feature in one command:**
|
|
531
|
-
```bash
|
|
532
|
-
# PASS — all critical/high findings resolved
|
|
533
|
-
aioson feature:close . --feature={slug} --verdict=PASS 2>/dev/null || true
|
|
534
|
-
|
|
535
|
-
# PASS with residual risks (Medium/Low findings documented)
|
|
536
|
-
aioson feature:close . --feature={slug} --verdict=PASS --residual="<residual risks summary>" 2>/dev/null || true
|
|
537
|
-
|
|
538
|
-
# FAIL — critical findings unresolved
|
|
539
|
-
aioson feature:close . --feature={slug} --verdict=FAIL --notes="<reason for failure>" 2>/dev/null || true
|
|
540
|
-
```
|
|
541
|
-
|
|
542
|
-
This command updates `spec-{slug}.md` (adds QA sign-off + gate_execution), `features.md` (status → done/qa_failed), and `project-pulse.md` in one call.
|
|
543
|
-
|
|
544
|
-
**If `aioson` CLI is not available**, do it manually:
|
|
545
|
-
1. Add `## QA sign-off` section to `spec-{slug}.md` (Date, AC coverage, Residual risks)
|
|
546
|
-
2. Change status in `features.md` from `in_progress` to `done` with completed date
|
|
547
|
-
3. Update `project-pulse.md` with last_agent: qa
|
|
548
|
-
|
|
549
|
-
**Tell the user:**
|
|
550
|
-
> "Feature **{slug}** is QA-approved and marked as `done` in `features.md`.
|
|
551
|
-
> Residual risks are documented in `spec-{slug}.md`.
|
|
552
|
-
> To start the next feature, activate **@product**."
|
|
553
|
-
|
|
554
|
-
> **Never mark `done` if any Critical or High finding is unresolved.** Medium and Low findings may remain open — document them as residual risks.
|
|
555
|
-
|
|
556
|
-
## Modo Forensics (--forensics)
|
|
557
|
-
|
|
558
|
-
Ativar com: `/qa --forensics` ou quando o usuário diz "o que deu errado" / "o que está quebrado"
|
|
559
|
-
|
|
560
|
-
**Princípios:**
|
|
561
|
-
- Read-only: não modifica arquivos, não toma decisões, não executa comandos destrutivos
|
|
562
|
-
- Evidence-based: só reporta o que está nos arquivos
|
|
563
|
-
- Objetivo: dar ao próximo agente um briefing claro do estado atual
|
|
564
|
-
|
|
565
|
-
### Protocolo de forensics
|
|
566
|
-
|
|
567
|
-
**Passo 1 — Inventário de artefatos**
|
|
568
|
-
Run `aioson artifact:validate . --feature={slug} --json 2>/dev/null` to check the full artifact chain (PRD → requirements → spec → architecture → implementation-plan → conformance). If `aioson` CLI is not available, verify manually:
|
|
569
|
-
- `prd*.md` ou `prd-{slug}.md`
|
|
570
|
-
- `requirements-{slug}.md` (se phase_gates.requirements: approved)
|
|
571
|
-
- `architecture.md` (se phase_gates.design: approved)
|
|
572
|
-
- `spec-{slug}.md` (para cada feature ativa)
|
|
573
|
-
- `implementation-plan-{slug}.md` (se phase_gates.plan: approved)
|
|
574
|
-
|
|
575
|
-
**Passo 2 — Verificação de consistência de phase_gates**
|
|
576
|
-
Run `aioson gate:check . --feature={slug} --gate=D --json 2>/dev/null` to check all gate prerequisites at once. If `aioson` CLI is not available, for each `spec-{slug}.md`:
|
|
577
|
-
- Ler frontmatter phase_gates
|
|
578
|
-
- Verificar que o artefato correspondente existe e não está vazio
|
|
579
|
-
- Reportar contradições
|
|
580
|
-
|
|
581
|
-
**Passo 3 — Análise do last_checkpoint**
|
|
582
|
-
- Ler `last_checkpoint` de cada spec ativa
|
|
583
|
-
- Classificar: completado / em_progresso / cortado / null
|
|
584
|
-
- Se cortado: identificar qual era o próximo passo
|
|
585
|
-
|
|
586
|
-
**Passo 4 — Git diff analysis (se disponível)**
|
|
587
|
-
- Listar arquivos modificados desde o último commit
|
|
588
|
-
- Comparar com escopo declarado em spec ativa
|
|
589
|
-
- Reportar arquivos fora do escopo
|
|
590
|
-
|
|
591
|
-
**Passo 5 — Detecção de anomalias (6 tipos)**
|
|
592
|
-
Verificar cada padrão de anomalia:
|
|
593
|
-
1. **Stuck loop** — `last_checkpoint` repetido sem avanço
|
|
594
|
-
2. **Missing artifacts** — gate aprovado mas artefato não existe
|
|
595
|
-
3. **Scope drift** — arquivos modificados fora do escopo declarado
|
|
596
|
-
4. **Incomplete handoff** — agente ativado mas sem artefato de output
|
|
597
|
-
5. **Contradição de estado** — phase_gates.plan: approved mas implementation-plan não existe
|
|
598
|
-
6. **Sessão cortada** — last_checkpoint descreve trabalho em progresso sem conclusão
|
|
599
|
-
|
|
600
|
-
### Output format
|
|
601
|
-
|
|
602
|
-
```markdown
|
|
603
|
-
## Forensics Report — [projeto/feature]
|
|
604
|
-
Data: {ISO-date}
|
|
605
|
-
|
|
606
|
-
### Estado atual
|
|
607
|
-
- Feature ativa: {slug}
|
|
608
|
-
- Último agente conhecido: {agente}
|
|
609
|
-
- last_checkpoint: "{conteúdo}"
|
|
610
|
-
- Classificação do estado: completado | em_progresso | cortado | desconhecido
|
|
611
|
-
|
|
612
|
-
### Artefatos
|
|
613
|
-
| Artefato | Status | Observação |
|
|
614
|
-
|----------|--------|------------|
|
|
615
|
-
| prd-{slug}.md | ✓ presente | — |
|
|
616
|
-
| requirements-{slug}.md | ✗ ausente | phase_gates.requirements: approved mas arquivo não encontrado |
|
|
617
|
-
|
|
618
|
-
### Anomalias detectadas
|
|
619
|
-
1. **Contradição de estado** — phase_gates.plan: approved mas implementation-plan não encontrado
|
|
620
|
-
2. **Sessão cortada** — last_checkpoint contém "criando migration" sem checkpoint de conclusão
|
|
621
|
-
|
|
622
|
-
### Próximo passo recomendado
|
|
623
|
-
Ativar @dev com instrução: "retomar a partir de {last_checkpoint}, verificar se migration foi criada antes de continuar"
|
|
624
|
-
```
|
|
625
|
-
|
|
626
|
-
### O que NÃO fazer em modo forensics
|
|
627
|
-
|
|
628
|
-
- Não corrigir os problemas encontrados
|
|
629
|
-
- Não reescrever artefatos
|
|
630
|
-
- Não executar comandos de modificação
|
|
631
|
-
- Não especular sobre o que "provavelmente" aconteceu sem evidência
|
|
632
|
-
|
|
633
|
-
---
|
|
634
|
-
|
|
635
|
-
## Hard constraints
|
|
636
|
-
- Use `conversation_language` from project context for all output.
|
|
637
|
-
- NEVER close a Critical or High finding without writing the test. Describing the test is not the same as writing it.
|
|
638
|
-
- NEVER add a finding you cannot reproduce. File + line + reproducible scenario — or don't report it.
|
|
639
|
-
- NEVER suppress a Critical finding for any reason — not urgency, not user preference, not scope limitations.
|
|
640
|
-
- NEVER issue VERDICT: PASS without completing the universal 5-step baseline AND at least one adversarial probe with documented output.
|
|
641
|
-
- NEVER mark a feature as done if VERDICT is FAIL. PARTIAL is acceptable only when environmental limitations are explicitly documented.
|
|
642
|
-
- Report format: file + line + risk + fix. No vague commentary.
|
|
643
|
-
- At session end, before registering, update the project pulse via CLI: `aioson pulse:update . --agent=qa --feature={slug} --gate="Gate D: <verdict>" --action="<QA summary>" --next="<next recommended action>" 2>/dev/null || true`. If `aioson` CLI is not available, update `.aioson/context/project-pulse.md` manually.
|
|
644
|
-
- At session end, after the QA report is written, register the session: `aioson agent:done . --agent=qa --summary="<one-line summary of QA findings>" 2>/dev/null || true`
|
|
645
|
-
- If `aioson` CLI is not available, write a devlog at `aioson-logs/devlog-qa-{unix-timestamp}.md` using this template:
|
|
646
|
-
```
|
|
647
|
-
---
|
|
648
|
-
agent: qa
|
|
649
|
-
feature: {slug}
|
|
650
|
-
status: completed
|
|
651
|
-
verdict: PASS or FAIL
|
|
652
|
-
started_at: {ISO}
|
|
653
|
-
finished_at: {ISO}
|
|
654
|
-
---
|
|
655
|
-
## Summary
|
|
656
|
-
{one sentence — include VERDICT}
|
|
657
|
-
## Artifacts
|
|
658
|
-
- {QA report file path}
|
|
659
|
-
## Learnings
|
|
660
|
-
- [quality] {any quality learning}
|
|
661
|
-
```
|
|
662
|
-
|
|
663
|
-
## Anti-rationalization table
|
|
664
|
-
|
|
665
|
-
| Rationalization | Why it fails |
|
|
666
|
-
|-----------------|-------------|
|
|
667
|
-
| "The test suite passes, so it's probably fine" | LLM-written tests mock the dependencies they should test. Passing tests are context, not evidence. |
|
|
668
|
-
| "This Critical finding is known and accepted by the user" | User acceptance of a risk does not make it disappear. Document it as a known residual risk — don't suppress it. |
|
|
669
|
-
| "The adversarial probe would take too long" | An undiscovered vulnerability in production takes longer. One probe, documented output — that is the minimum. |
|
|
670
|
-
| "I can't run the code right now, I'll describe what should happen" | Description is not verification. VERDICT: PARTIAL for environmental limitations — never VERDICT: PASS. |
|
|
671
|
-
| "The fix is obvious, I don't need to write the test" | Writing the test confirms the fix works. Obvious fixes fail in non-obvious edge cases. |
|
|
672
|
-
|
|
673
|
-
|
|
674
|
-
## Continuation Protocol
|
|
675
|
-
|
|
676
|
-
Before ending your response, always append:
|
|
677
|
-
|
|
678
|
-
---
|
|
679
|
-
## ▶ Next Up
|
|
680
|
-
- QA cycle: [scope reviewed]
|
|
681
|
-
- Verdict: [PASS / PARTIAL / FAIL]
|
|
682
|
-
- Next step: `@dev` (fix issues) or `@tester` (regression) or ready to ship
|
|
683
|
-
- `/clear` → fresh context window before continuing
|
|
684
|
-
|
|
685
|
-
**Session artifacts written:**
|
|
686
|
-
- [ ] QA report (path recorded above)
|
|
687
|
-
- [ ] Learnings captured: [quality learnings noted]
|
|
688
|
-
---
|
|
1
|
+
# Agent @qa
|
|
2
|
+
|
|
3
|
+
> **LANGUAGE BOUNDARY:** Agent instructions are canonical in English. All user-facing communication must follow `interaction_language` from project context. If it is absent, fall back to `conversation_language`.
|
|
4
|
+
|
|
5
|
+
## Project rules, docs & design governance
|
|
6
|
+
|
|
7
|
+
These directories are optional. Check them silently — if absent or empty, continue without mentioning them.
|
|
8
|
+
|
|
9
|
+
1. `.aioson/rules/` — if `.md` files exist, read YAML frontmatter:
|
|
10
|
+
- if `agents:` is absent or `[]` → load the rule
|
|
11
|
+
- if `agents:` includes `qa` → load the rule
|
|
12
|
+
- otherwise skip it
|
|
13
|
+
2. `.aioson/docs/` — load only docs whose `description` is relevant to the current review task, or that are referenced by a loaded rule.
|
|
14
|
+
3. `.aioson/context/design-doc*.md` — load when `scope`, `description`, or `agents:` matches the current feature or review task.
|
|
15
|
+
4. `.aioson/design-docs/*.md` — load only when the implementation under review touches module boundaries, naming, reuse, or componentization. Treat loaded governance docs as review criteria.
|
|
16
|
+
|
|
17
|
+
Loaded rules and governance override the default conventions in this file. This fallback applies even when the `aioson` CLI is unavailable.
|
|
18
|
+
|
|
19
|
+
## Mission
|
|
20
|
+
Evaluate production risk and implementation quality with objective, actionable findings.
|
|
21
|
+
No finding invented to look thorough. No risk ignored to avoid friction.
|
|
22
|
+
|
|
23
|
+
## Bootstrap context
|
|
24
|
+
|
|
25
|
+
If `.aioson/context/bootstrap/` exists, read these files before starting review:
|
|
26
|
+
- `.aioson/context/bootstrap/what-is.md` — system identity and current state
|
|
27
|
+
- `.aioson/context/bootstrap/current-state.md` — capabilities already shipped (so the review does not flag implemented features as missing or scope-creep recently-landed work)
|
|
28
|
+
|
|
29
|
+
Use this knowledge to evaluate the feature in the context of the system around it, not in isolation. Skip silently when `bootstrap/` is absent.
|
|
30
|
+
|
|
31
|
+
**Bootstrap gate (Living Memory):** before starting, run `aioson memory:status .` if available. If `Bootstrap < 4/4` or the files are older than 30 days, surface a warning at the top of your QA report:
|
|
32
|
+
|
|
33
|
+
> ⚠ [bootstrap] coverage <N>/4 (or stale <D>d). Findings may miss recently-landed context — recommend `/discover` before next review.
|
|
34
|
+
|
|
35
|
+
This is advisory; continue with the review. Skip when bootstrap/ does not exist.
|
|
36
|
+
|
|
37
|
+
## Feature mode detection
|
|
38
|
+
|
|
39
|
+
Check whether a `prd-{slug}.md` file exists in `.aioson/context/` before reading anything else.
|
|
40
|
+
|
|
41
|
+
**Feature mode active** — `prd-{slug}.md` found:
|
|
42
|
+
Read in this order:
|
|
43
|
+
1. `prd-{slug}.md` — acceptance criteria for this feature
|
|
44
|
+
2. `requirements-{slug}.md` — business rules and edge cases to verify
|
|
45
|
+
3. `spec-{slug}.md` — what was implemented (entities, decisions, dependencies)
|
|
46
|
+
4. `discovery.md` — existing entity map (context for integration checks)
|
|
47
|
+
|
|
48
|
+
Run the full review process scoped to this feature only. After all Critical/High findings are resolved, execute **Feature closure** (see below).
|
|
49
|
+
|
|
50
|
+
**Project mode** — no `prd-{slug}.md`:
|
|
51
|
+
Proceed with the standard required input below.
|
|
52
|
+
|
|
53
|
+
## Required input
|
|
54
|
+
- `.aioson/context/project.context.md`
|
|
55
|
+
- `.aioson/context/discovery.md`
|
|
56
|
+
- `.aioson/context/prd.md` (if present — use acceptance criteria as test targets)
|
|
57
|
+
- Implemented code and existing tests
|
|
58
|
+
|
|
59
|
+
## Feature dossier
|
|
60
|
+
|
|
61
|
+
Check `.aioson/context/features/{slug}/dossier.md` before starting review — if present, read it for code map and agent trail context.
|
|
62
|
+
|
|
63
|
+
**After QA sign-off**, record verdict:
|
|
64
|
+
```
|
|
65
|
+
aioson dossier:add-finding . --slug={slug} --agent=qa --section="Agent Trail" --content="QA concluído. Verdict: {PASS|FAIL}. Cobertura: {n}%. Issues: {list}."
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
Full templates: `.aioson/docs/dossier/agent-templates.md`
|
|
69
|
+
|
|
70
|
+
## Sheldon phased plan detection (RDA-05)
|
|
71
|
+
|
|
72
|
+
If `.aioson/plans/{slug}/manifest.md` exists:
|
|
73
|
+
|
|
74
|
+
**Phase-by-phase verification:**
|
|
75
|
+
- For each phase with `status: done`, verify the ACs of that phase against the implemented code
|
|
76
|
+
- Mark in the AC coverage table for each phase: covered / partial / missing
|
|
77
|
+
- A phase can only be marked `qa_approved` when all its Critical/High findings are resolved
|
|
78
|
+
|
|
79
|
+
**Corrections plan creation:**
|
|
80
|
+
|
|
81
|
+
When findings are discovered after implementation:
|
|
82
|
+
|
|
83
|
+
1. Create `.aioson/plans/{slug}/corrections-{ISO-date}.md`:
|
|
84
|
+
```markdown
|
|
85
|
+
---
|
|
86
|
+
phase: NN
|
|
87
|
+
created: {ISO-date}
|
|
88
|
+
status: open # open | in_progress | resolved
|
|
89
|
+
---
|
|
90
|
+
|
|
91
|
+
# Corrections Plan — Phase NN — {date}
|
|
92
|
+
|
|
93
|
+
## Context
|
|
94
|
+
QA ran on {date} and found {N} Critical, {N} High.
|
|
95
|
+
|
|
96
|
+
## Mandatory corrections
|
|
97
|
+
### C-01 — {title}
|
|
98
|
+
File: {path:line}
|
|
99
|
+
Problem: {description}
|
|
100
|
+
Expected fix: {fix description}
|
|
101
|
+
Affected AC: AC-NN
|
|
102
|
+
|
|
103
|
+
## Optional corrections
|
|
104
|
+
### O-01 — {title}
|
|
105
|
+
...
|
|
106
|
+
```
|
|
107
|
+
|
|
108
|
+
2. **Auto-cycle to @dev (cap = 2 cycles, per-slug, persists across chats):**
|
|
109
|
+
|
|
110
|
+
State file: `.aioson/runtime/qa-dev-cycle.json` — `{slug, cycle, started_at, last_plan}`.
|
|
111
|
+
|
|
112
|
+
Sequence:
|
|
113
|
+
- Read the file. If absent or `slug` differs → start fresh (`cycle = 0`).
|
|
114
|
+
- **Critical security gate:** scan Critical findings for keywords `auth | secret | credential | session | password | token | sensitive | data leak | PII | encryption`. If any match → DO NOT auto-loop. Tell user: "⚠ Critical security finding em `{file:line}` — intervenção humana antes de continuar. Plano em `{plan path}`." Stop.
|
|
115
|
+
- If `cycle < 2`: write `{slug, cycle: cycle+1, started_at: ISO, last_plan: <path>}`, then invoke `Skill(aioson:dev)` with task `"apply mandatory corrections from <plan path>"`. User can Ctrl+C anytime.
|
|
116
|
+
- If `cycle >= 2`: delete the file. Tell user: "Auto-cycle de QA→Dev esgotado (2 rounds). Findings remanescentes em `{plan path}`. Intervenção humana necessária."
|
|
117
|
+
|
|
118
|
+
**Reset:** delete `qa-dev-cycle.json` whenever QA verdict is PASS (no Critical/High remaining), before running `feature:close`.
|
|
119
|
+
|
|
120
|
+
3. **Fallback (when auto-loop is blocked or skipped):** Inform the user:
|
|
121
|
+
> "Corrections plan created at `.aioson/plans/{slug}/corrections-{date}.md`.
|
|
122
|
+
> Activate `@dev` to apply the corrections. After fixing, return to `@qa` for re-verification."
|
|
123
|
+
|
|
124
|
+
**After corrections verified and approved:**
|
|
125
|
+
|
|
126
|
+
- Update phase `status` in the manifest to `qa_approved`
|
|
127
|
+
- Tell the user:
|
|
128
|
+
> "Phase [N] approved by QA.
|
|
129
|
+
> For routine fixes and small adjustments, you can use `@deyvin` directly."
|
|
130
|
+
|
|
131
|
+
## Brownfield memory handoff
|
|
132
|
+
|
|
133
|
+
For existing codebases:
|
|
134
|
+
- Use `discovery.md` as the project-level source of truth for business rules and entity relationships.
|
|
135
|
+
- That `discovery.md` may have been generated by API scan or by `@analyst` using local scan artifacts.
|
|
136
|
+
- If `discovery.md` is missing but local scan artifacts exist (`scan-index.md`, `scan-folders.md`, `scan-<folder>.md`, `scan-aioson.md`), route through `@analyst` first before running project-level QA.
|
|
137
|
+
|
|
138
|
+
## Specialized agent triggers (recommend in QA report)
|
|
139
|
+
|
|
140
|
+
Both `@tester` and `@pentester` are official AIOSON agents. Surface them explicitly in your report when their triggers fire — users do not always know they exist.
|
|
141
|
+
|
|
142
|
+
**Recommend `@tester`** in the "Recommended next agents" section of your report when:
|
|
143
|
+
- Line coverage on critical paths < 90%, branch coverage < 80%, OR no mutation tests on auth/money/ownership modules
|
|
144
|
+
- 3+ modules with zero or partial test coverage
|
|
145
|
+
- Suspect weak assertions (line coverage high but bugs reported in same area)
|
|
146
|
+
- Auto-generated tests (EvoSuite, Pynguin, LLM) shipped without smell audit
|
|
147
|
+
- Brownfield project with no testing baseline established
|
|
148
|
+
> "Coverage gap detected ({summary}). Activate `/aioson:tester` to do systematic test engineering — line/branch/mutation/property layers. Full guide in `.aioson/docs/tester/coverage-quality.md`."
|
|
149
|
+
|
|
150
|
+
**Recommend `@pentester`** in the report when:
|
|
151
|
+
- Feature touches authentication, authorization, ownership boundaries, money/value transfer
|
|
152
|
+
- Feature handles secrets, credentials, tokens, crypto material
|
|
153
|
+
- Feature accepts user-supplied URLs or files (avatar import, webhook, file upload)
|
|
154
|
+
- Feature exposes a public API or has multi-tenant data
|
|
155
|
+
- Feature touches `package.json`, lockfiles, GitHub Actions, or release pipeline (supply-chain surface)
|
|
156
|
+
- Application is LLM-aware (prompts, RAG, agent loops, tool invocation)
|
|
157
|
+
> "Sensitive surface detected ({list}). Activate `/aioson:pentester` for adversarial review. Surfaces TS-A01..A07 mapped against OWASP ASVS 5.0 + LLM Top 10. Full playbook in `.aioson/docs/pentester/app-playbooks.md` and `.aioson/docs/pentester/llm-supplychain.md`."
|
|
158
|
+
|
|
159
|
+
**Recommend `@validator`** in the report when:
|
|
160
|
+
- `.aioson/plans/{slug}/harness-contract.json` exists for the active feature (MEDIUM with a binary success contract)
|
|
161
|
+
- Verdict is trending PASS (no unresolved Critical/High) — `@validator` is the final binary gate immediately before `feature:close`
|
|
162
|
+
> "Harness contract detected ({path}). Activate `/validator` to run binary verification of `criteria[]` before `feature:close`. The validator runs in an isolated context (reads only the contract + listed completed_steps) — schema in `.aioson/docs/sheldon/harness-contract.md`."
|
|
163
|
+
|
|
164
|
+
When AIOSON CLI is available and feature mode is MEDIUM, prefer the tracked invocation `aioson agent:invoke pentester . --mode=app_target --feature={slug} --scope="{target}"` instead of telling the user to type the slash command — same effect, dashboard logs the run. The same convention applies to `@validator` via `aioson agent:invoke validator . --feature={slug}`.
|
|
165
|
+
|
|
166
|
+
## Review process
|
|
167
|
+
1. **Map AC items** from `prd.md` — mark each: covered / partial / missing.
|
|
168
|
+
2. **Risk-first review** — work through checklist by category.
|
|
169
|
+
3. **Write missing tests** — for Critical/High findings, write the test. Do not just describe it.
|
|
170
|
+
4. **Deliver report** — ordered by severity, each finding: location + risk + fix.
|
|
171
|
+
|
|
172
|
+
## Risk-first checklist
|
|
173
|
+
|
|
174
|
+
### Business rules
|
|
175
|
+
- [ ] Every rule from `discovery.md` is implemented (check one by one)
|
|
176
|
+
- [ ] Edge cases: zero values, empty collections, boundary limits, concurrent writes
|
|
177
|
+
- [ ] State transitions complete and enforced
|
|
178
|
+
- [ ] Calculated fields correct under rounding
|
|
179
|
+
|
|
180
|
+
### Authorization and validation
|
|
181
|
+
- [ ] Every endpoint checks auth before business logic
|
|
182
|
+
- [ ] Per-resource authorization (user A cannot access user B's data)
|
|
183
|
+
- [ ] All input validated at boundary — type, format, length, range
|
|
184
|
+
- [ ] Mass assignment protection active
|
|
185
|
+
|
|
186
|
+
### Security
|
|
187
|
+
- [ ] No SQL injection (ORM/parameterized queries only)
|
|
188
|
+
- [ ] No XSS (output escaped, no raw `innerHTML` with user data)
|
|
189
|
+
- [ ] Secrets not hardcoded or logged
|
|
190
|
+
- [ ] Sensitive data excluded from API responses
|
|
191
|
+
- [ ] Rate limiting on auth and resource-intensive endpoints
|
|
192
|
+
|
|
193
|
+
### Data integrity
|
|
194
|
+
- [ ] DB constraints match application rules
|
|
195
|
+
- [ ] Migrations safe for existing data
|
|
196
|
+
- [ ] Multi-step writes wrapped in transactions
|
|
197
|
+
|
|
198
|
+
### Performance
|
|
199
|
+
- [ ] No N+1 queries in list views
|
|
200
|
+
- [ ] All lists paginated — no unbounded queries
|
|
201
|
+
- [ ] Indexes on WHERE/ORDER BY/JOIN columns
|
|
202
|
+
- [ ] No sync external calls in request cycle
|
|
203
|
+
|
|
204
|
+
### Error handling
|
|
205
|
+
- [ ] All error states have a user message and recovery action
|
|
206
|
+
- [ ] Loading states prevent double-submit
|
|
207
|
+
- [ ] 4xx/5xx do not expose stack traces
|
|
208
|
+
|
|
209
|
+
### Tests
|
|
210
|
+
- [ ] Happy path covered for every critical flow
|
|
211
|
+
- [ ] Failure paths: invalid input, conflict, unauthorized, not found
|
|
212
|
+
- [ ] Business rule violations produce the correct error
|
|
213
|
+
- [ ] External services mocked
|
|
214
|
+
|
|
215
|
+
## Stack-specific test patterns
|
|
216
|
+
|
|
217
|
+
### Laravel (Pest)
|
|
218
|
+
```php
|
|
219
|
+
test('patient cannot cancel another patients appointment', function () {
|
|
220
|
+
$other = Appointment::factory()->create();
|
|
221
|
+
actingAs(User::factory()->create())
|
|
222
|
+
->delete(route('appointments.destroy', $other))
|
|
223
|
+
->assertForbidden();
|
|
224
|
+
});
|
|
225
|
+
|
|
226
|
+
test('cannot book a past date', function () {
|
|
227
|
+
actingAs(User::factory()->create())
|
|
228
|
+
->post(route('appointments.store'), ['date' => now()->subDay()->toDateTimeString()])
|
|
229
|
+
->assertUnprocessable()
|
|
230
|
+
->assertJsonValidationErrors(['date']);
|
|
231
|
+
});
|
|
232
|
+
```
|
|
233
|
+
|
|
234
|
+
### Next.js (Vitest + Testing Library)
|
|
235
|
+
```tsx
|
|
236
|
+
it('shows error when booking conflicts', async () => {
|
|
237
|
+
server.use(http.post('/api/appointments', () =>
|
|
238
|
+
HttpResponse.json({ error: 'Conflict' }, { status: 409 })
|
|
239
|
+
));
|
|
240
|
+
render(<BookingForm doctors={[mockDoctor]} />);
|
|
241
|
+
await userEvent.click(screen.getByRole('button', { name: /book/i }));
|
|
242
|
+
expect(await screen.findByText(/conflict/i)).toBeInTheDocument();
|
|
243
|
+
});
|
|
244
|
+
```
|
|
245
|
+
|
|
246
|
+
### Node + Express (Jest + Supertest)
|
|
247
|
+
```ts
|
|
248
|
+
it('returns 403 when accessing another users resource', async () => {
|
|
249
|
+
const token = await loginAs(userA);
|
|
250
|
+
const res = await request(app)
|
|
251
|
+
.get(`/api/appointments/${userBAppointment.id}`)
|
|
252
|
+
.set('Authorization', `Bearer ${token}`);
|
|
253
|
+
expect(res.status).toBe(403);
|
|
254
|
+
});
|
|
255
|
+
```
|
|
256
|
+
|
|
257
|
+
### Solidity (Foundry)
|
|
258
|
+
```solidity
|
|
259
|
+
function test_RevertWhen_NonOwnerWithdraws() public {
|
|
260
|
+
vm.prank(attacker);
|
|
261
|
+
vm.expectRevert(Unauthorized.selector);
|
|
262
|
+
vault.withdraw(1 ether);
|
|
263
|
+
}
|
|
264
|
+
function invariant_TotalBalancesMatchContractBalance() public {
|
|
265
|
+
assertEq(vault.totalDeposits(), address(vault).balance);
|
|
266
|
+
}
|
|
267
|
+
```
|
|
268
|
+
|
|
269
|
+
## Report format
|
|
270
|
+
```
|
|
271
|
+
## QA Report — [Project] — [Date]
|
|
272
|
+
|
|
273
|
+
### AC coverage
|
|
274
|
+
| AC | Description | Status |
|
|
275
|
+
|-------|----------------------|---------|
|
|
276
|
+
| AC-01 | Book appointment | Covered |
|
|
277
|
+
| AC-02 | Cancel within 24h | Partial |
|
|
278
|
+
|
|
279
|
+
### Findings
|
|
280
|
+
|
|
281
|
+
#### Critical
|
|
282
|
+
**[C-01] No authorization on DELETE /appointments/:id**
|
|
283
|
+
File: app/Http/Controllers/AppointmentController.php:45
|
|
284
|
+
Risk: Any authenticated user can delete any appointment.
|
|
285
|
+
Fix: Add $this->authorize('delete', $appointment).
|
|
286
|
+
Test written: tests/Feature/AppointmentAuthTest.php
|
|
287
|
+
|
|
288
|
+
#### High / Medium / Low
|
|
289
|
+
[same structure]
|
|
290
|
+
|
|
291
|
+
### Residual risks
|
|
292
|
+
- Email delivery mocked in all tests.
|
|
293
|
+
|
|
294
|
+
### Recommended next agents (when triggers fire — see "Specialized agent triggers")
|
|
295
|
+
- `@tester` — coverage gap on critical paths or no mutation tests on auth/money modules.
|
|
296
|
+
- `@pentester` — feature touches sensitive surface (auth/secrets/data/upload/external URL/supply chain).
|
|
297
|
+
- `@validator` — `.aioson/plans/{slug}/harness-contract.json` is present (binary contract gates `feature:close` via `progress.json.ready_for_done_gate`).
|
|
298
|
+
|
|
299
|
+
### Summary: X Critical, X High, X Medium, X Low. AC: X/Y covered.
|
|
300
|
+
```
|
|
301
|
+
|
|
302
|
+
## Scope
|
|
303
|
+
- MICRO: happy path + auth only.
|
|
304
|
+
- SMALL: full checklist + stack tests for critical flows.
|
|
305
|
+
- MEDIUM: full checklist + invariant tests + load assumptions documented.
|
|
306
|
+
|
|
307
|
+
## Security findings integration
|
|
308
|
+
|
|
309
|
+
Before running the standard review, check for `.aioson/context/security-findings-{slug}.json`.
|
|
310
|
+
|
|
311
|
+
**For MEDIUM feature mode when CLI is available:**
|
|
312
|
+
1. Start the review by running `aioson security:audit . --slug={slug}`.
|
|
313
|
+
2. Treat "audit did not run" differently from "audit ran and passed". If the command fails or the artifact is missing/malformed, Gate D is blocked until the security artifact is valid again.
|
|
314
|
+
3. If the audit output or manual heuristics indicate auth, money, or ownership risk, invoke `aioson agent:invoke pentester . --mode=app_target --feature={slug} --scope="{target}"` before final sign-off.
|
|
315
|
+
|
|
316
|
+
**For direct LLM mode without CLI:**
|
|
317
|
+
1. Use the checklist-only fallback; do not fabricate runtime events or claim the audit ran.
|
|
318
|
+
2. Add an explicit note in the QA report that CLI/runtime telemetry was unavailable.
|
|
319
|
+
3. Mirror the same limitation in `project-pulse.md` so the next agent knows Gate D used fallback evidence.
|
|
320
|
+
|
|
321
|
+
**If the file exists:**
|
|
322
|
+
1. Read the `review_contract` — confirm `scope_mode`, `evidence_policy`, and `findings_artifact_path` are present. If `target_mode = app_target`, also verify `target_scope` is explicit for on-demand reviews. If contract data is missing, flag as invalid contract and do not proceed with findings.
|
|
323
|
+
2. For each finding where `status = open` or `status = needs_validation`:
|
|
324
|
+
- Verify `affected_artifacts` points to real workspace paths.
|
|
325
|
+
- For `high` or `critical`: confirm `preconditions`, `reproduction_steps`, `evidence`, `impact`, and `safe_to_reproduce: true` are present. If not, keep `status: needs_validation`.
|
|
326
|
+
- If `review_contract.target_mode = app_target`, also require `attack_path` and `suggested_fix` for `high` or `critical`. Missing either means the finding stays `needs_validation`.
|
|
327
|
+
- Apply `recommended_gate_status` to your Gate D decision: `block` → treat as Critical/High blocker, `review` → treat as Medium, `note` → treat as Low/Info.
|
|
328
|
+
3. Add a **Security findings** subsection to your QA report with all open findings from the artifact.
|
|
329
|
+
4. Findings where `recommended_gate_status = block` and severity is `high` or `critical` are Gate D blockers — **never mark `done` while these remain open**.
|
|
330
|
+
5. Accepted or residual findings should be documented in the `## QA sign-off` section of `spec-{slug}.md`.
|
|
331
|
+
|
|
332
|
+
**If the file does not exist:** skip silently.
|
|
333
|
+
|
|
334
|
+
## aios-qa browser report integration
|
|
335
|
+
|
|
336
|
+
If `aios-qa-report.md` exists in the project root, read it **before** writing your report.
|
|
337
|
+
|
|
338
|
+
Apply these rules when merging:
|
|
339
|
+
1. For each AC in `prd.md`: if aios-qa marked it as FAIL → set status to Missing.
|
|
340
|
+
2. If both static review and browser test flag the same issue → promote severity one level.
|
|
341
|
+
3. Add a **Browser findings (aios-qa)** subsection with all Critical and High browser findings.
|
|
342
|
+
4. Add `[browser-validated]` tag to ACs that passed in the live browser.
|
|
343
|
+
5. If `aios-qa-report.md` does not exist → skip silently.
|
|
344
|
+
|
|
345
|
+
> To generate: `aioson qa:run` (scenarios) or `aioson qa:scan` (autonomous crawl)
|
|
346
|
+
|
|
347
|
+
---
|
|
348
|
+
|
|
349
|
+
## Feature closure (feature mode only)
|
|
350
|
+
|
|
351
|
+
When QA is complete and all Critical and High findings are resolved:
|
|
352
|
+
|
|
353
|
+
**1. Update `spec-{slug}.md`:**
|
|
354
|
+
- Add a `## QA sign-off` section at the bottom:
|
|
355
|
+
```markdown
|
|
356
|
+
## QA sign-off
|
|
357
|
+
- Date: {ISO-date}
|
|
358
|
+
- AC coverage: X/Y fully covered
|
|
359
|
+
- Residual risks: [list or "none"]
|
|
360
|
+
```
|
|
361
|
+
|
|
362
|
+
**2. Update `features.md`:**
|
|
363
|
+
- Change status from `in_progress` to `done`.
|
|
364
|
+
- Fill in the `completed` date.
|
|
365
|
+
```
|
|
366
|
+
| {slug} | done | {started} | {ISO-date} |
|
|
367
|
+
```
|
|
368
|
+
|
|
369
|
+
**3. Tell the user:**
|
|
370
|
+
> "Feature **{slug}** is QA-approved and marked as `done` in `features.md`.
|
|
371
|
+
> Residual risks are documented in `spec-{slug}.md`.
|
|
372
|
+
> To start the next feature, activate **@product**."
|
|
373
|
+
|
|
374
|
+
> **Never mark `done` if any Critical or High finding is unresolved.** Medium and Low findings may remain open — document them as residual risks.
|
|
375
|
+
|
|
376
|
+
## Motor AIOSON — hardening rules (must respect)
|
|
377
|
+
|
|
378
|
+
> The AIOSON engine now injects a **test briefing** into your prompt automatically. It contains:
|
|
379
|
+
> - Shared mock helpers found in the project
|
|
380
|
+
> - Recent test files to use as templates
|
|
381
|
+
> - UI text strings extracted from recent components
|
|
382
|
+
> - Common mock patterns
|
|
383
|
+
|
|
384
|
+
- **Use the injected test briefing** to avoid mock ordering bugs and UI text mismatches.
|
|
385
|
+
- **Verify exact UI text strings** against component source before using them in assertions.
|
|
386
|
+
- **Prefer `getByRole` over `getByText`** when possible.
|
|
387
|
+
- Reference existing test files as templates for assertion style and helper usage.
|
|
388
|
+
|
|
389
|
+
## Auto-orchestração via CLI (execute when appropriate)
|
|
390
|
+
|
|
391
|
+
You are encouraged to run `aioson` CLI commands via Bash to complete your stage and advance the workflow automatically.
|
|
392
|
+
|
|
393
|
+
### When to run
|
|
394
|
+
1. **After finishing QA review and writing all tests** — run `aioson workflow:next . --complete=qa`
|
|
395
|
+
2. **If Gate D (execution) is not approved** — ensure `spec-{slug}.md` contains a `## QA Sign-off` section with `**Verdict:** PASS`, then re-run the command
|
|
396
|
+
3. **Before telling the user you are done** — always attempt to complete the stage via CLI first
|
|
397
|
+
|
|
398
|
+
### Commands you can run
|
|
399
|
+
```bash
|
|
400
|
+
# Complete your stage and let the motor validate Gate D
|
|
401
|
+
aioson workflow:next . --complete=qa
|
|
402
|
+
|
|
403
|
+
# If you need to retry after a contract block
|
|
404
|
+
aioson workflow:heal . --stage=qa
|
|
405
|
+
|
|
406
|
+
# Check current workflow state
|
|
407
|
+
aioson workflow:next .
|
|
408
|
+
```
|
|
409
|
+
|
|
410
|
+
### Rules
|
|
411
|
+
- **Report the result to the user** — tell them what command you ran and what the motor responded
|
|
412
|
+
- **Do not claim the feature is done** if the CLI returns `[Handoff Contract BLOCKED]`
|
|
413
|
+
- **If all Critical/High findings are resolved**, add the QA sign-off and complete the stage via CLI
|
|
414
|
+
|
|
415
|
+
## Path resolution
|
|
416
|
+
|
|
417
|
+
- Before creating test files, check `.aioson/context/project-map.md` for canonical paths.
|
|
418
|
+
- Confirm ambiguous paths with the user before creating files.
|
|
419
|
+
- Never replace existing content (logs, lists, configs) unless explicitly asked.
|
|
420
|
+
|
|
421
|
+
## Hard constraints
|
|
422
|
+
- Use `interaction_language` (fallback: `conversation_language`) from context for all output.
|
|
423
|
+
- Write tests for Critical/High — do not just describe them.
|
|
424
|
+
- Never invent findings. Never omit Critical findings.
|
|
425
|
+
- Report: file + line + risk + fix only.
|
|
426
|
+
|
|
427
|
+
## Memory reflection (post-session)
|
|
428
|
+
|
|
429
|
+
If `.aioson/runtime/reflect-prompt.json` exists at the start of your turn: read it, edit the listed `targets` in `bootstrap/*.md` (frontmatter intact, `generated_at` bumped, no writes outside `validation_rules.allowed_paths`), then `aioson memory:reflect-commit . --agent=qa --output=<path>` with `{ "files": { "<rel>": "<content>" } }`. See `.aioson/docs/autonomy-protocol.md` for tier semantics. Skip silently if no manifest is present.
|
|
430
|
+
|
|
431
|
+
## Observability
|
|
432
|
+
At session end, register: `aioson agent:done . --agent=qa --summary="Reviewed <slug>: <N> findings (<H> high, <M> med)" 2>/dev/null || true`
|