@jaimevalasek/aioson 1.5.1 → 1.7.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 +49 -0
- package/README.md +729 -226
- package/docs/design-previews/aurora-command-ui-website.html +884 -0
- package/docs/design-previews/aurora-command-ui.html +682 -0
- package/docs/design-previews/bold-editorial-ui-website.html +658 -0
- package/docs/design-previews/bold-editorial-ui.html +717 -0
- package/docs/design-previews/clean-saas-ui-website.html +1202 -0
- package/docs/design-previews/clean-saas-ui.html +549 -0
- package/docs/design-previews/cognitive-core-ui-website.html +1009 -0
- package/docs/design-previews/cognitive-core-ui.html +463 -0
- package/docs/design-previews/glassmorphism-ui-website.html +572 -0
- package/docs/design-previews/glassmorphism-ui.html +886 -0
- package/docs/design-previews/index.html +699 -0
- package/docs/design-previews/interface-design-website.html +1187 -0
- package/docs/design-previews/interface-design.html +513 -0
- package/docs/design-previews/neo-brutalist-ui-website.html +621 -0
- package/docs/design-previews/neo-brutalist-ui.html +797 -0
- package/docs/design-previews/premium-command-center-ui-website.html +1217 -0
- package/docs/design-previews/premium-command-center-ui.html +552 -0
- package/docs/design-previews/pt.squarespace.com-homepage.html +889 -0
- package/docs/design-previews/warm-craft-ui-website.html +684 -0
- package/docs/design-previews/warm-craft-ui.html +739 -0
- package/docs/en/cli-reference.md +20 -9
- package/docs/integrations/sdlc-genius-boundary.md +76 -0
- package/docs/integrations/sdlc-genius-eval-matrix.md +75 -0
- package/docs/integrations/sdlc-genius-install-checklist.md +93 -0
- package/docs/integrations/sdlc-genius-review-samples.md +86 -0
- package/docs/pt/README.md +10 -0
- package/docs/pt/agent-sharding.md +132 -0
- package/docs/pt/agentes.md +9 -2
- package/docs/pt/busca-de-contexto.md +129 -0
- package/docs/pt/cache-de-contexto.md +156 -0
- package/docs/pt/comandos-cli.md +915 -1
- package/docs/pt/design-hybrid-forge.md +356 -0
- package/docs/pt/devlog-pipeline.md +270 -0
- package/docs/pt/fluxo-artefatos.md +178 -0
- package/docs/pt/hooks-session-guard.md +454 -0
- package/docs/pt/inicio-rapido.md +54 -3
- package/docs/pt/inteligencia-adaptativa.md +324 -0
- package/docs/pt/monitor-de-contexto.md +158 -0
- package/docs/pt/recuperacao-de-sessao.md +125 -0
- package/docs/pt/sandbox.md +125 -0
- package/docs/pt/sdd-automation-scripts.md +557 -0
- package/docs/pt/site-forge.md +309 -0
- package/docs/pt/skills.md +98 -6
- package/docs/pt/spec-learnings-pipeline.md +265 -0
- package/package.json +1 -1
- package/src/a2a/client.js +165 -0
- package/src/a2a/server.js +223 -0
- package/src/agent-loader.js +280 -0
- package/src/cli.js +329 -1
- package/src/commands/agent-audit.js +397 -0
- package/src/commands/agent-export-skill.js +229 -0
- package/src/commands/agent-loader.js +85 -0
- package/src/commands/artifact-validate.js +189 -0
- package/src/commands/brief-gen.js +405 -0
- package/src/commands/brief-validate.js +65 -0
- package/src/commands/classify.js +256 -0
- package/src/commands/context-cache.js +90 -0
- package/src/commands/context-compact.js +49 -0
- package/src/commands/context-health.js +175 -0
- package/src/commands/context-monitor.js +163 -0
- package/src/commands/context-search.js +66 -0
- package/src/commands/context-trim.js +177 -0
- package/src/commands/design-hybrid-options.js +385 -0
- package/src/commands/detect-test-runner.js +55 -0
- package/src/commands/devlog-export-brains.js +27 -0
- package/src/commands/devlog-process.js +292 -0
- package/src/commands/devlog-watch.js +131 -0
- package/src/commands/feature-close.js +165 -0
- package/src/commands/gate-check.js +228 -0
- package/src/commands/health.js +214 -0
- package/src/commands/hooks-emit.js +253 -0
- package/src/commands/hooks-install.js +347 -0
- package/src/commands/init.js +54 -13
- package/src/commands/install.js +52 -13
- package/src/commands/learning-auto-promote.js +195 -0
- package/src/commands/learning-evolve.js +364 -0
- package/src/commands/learning-export.js +103 -0
- package/src/commands/learning-rollback.js +164 -0
- package/src/commands/live.js +59 -1
- package/src/commands/pattern-detect.js +33 -0
- package/src/commands/preflight-context.js +30 -0
- package/src/commands/preflight.js +208 -0
- package/src/commands/pulse-update.js +130 -0
- package/src/commands/recovery.js +43 -0
- package/src/commands/runner-daemon.js +274 -0
- package/src/commands/runner-plan.js +70 -0
- package/src/commands/runner-queue-from-plan.js +166 -0
- package/src/commands/runner-queue.js +189 -0
- package/src/commands/runner-run.js +129 -0
- package/src/commands/runtime.js +47 -1
- package/src/commands/sandbox.js +37 -0
- package/src/commands/self-implement-loop.js +256 -0
- package/src/commands/session-guard.js +218 -0
- package/src/commands/setup-context.js +22 -2
- package/src/commands/setup.js +178 -0
- package/src/commands/sizing.js +165 -0
- package/src/commands/skill.js +144 -32
- package/src/commands/spec-checkpoint.js +177 -0
- package/src/commands/spec-status.js +79 -0
- package/src/commands/spec-sync.js +190 -0
- package/src/commands/spec-tasks.js +288 -0
- package/src/commands/squad-autorun.js +1220 -0
- package/src/commands/squad-bus.js +217 -0
- package/src/commands/squad-card.js +149 -0
- package/src/commands/squad-daemon.js +134 -0
- package/src/commands/squad-dependency-graph.js +164 -0
- package/src/commands/squad-review.js +106 -0
- package/src/commands/squad-scaffold.js +55 -0
- package/src/commands/squad-tool-register.js +157 -0
- package/src/commands/state-save.js +122 -0
- package/src/commands/tool-registry-cmd.js +232 -0
- package/src/commands/update.js +9 -0
- package/src/commands/verify-gate.js +572 -0
- package/src/commands/workflow-execute.js +241 -0
- package/src/constants.js +18 -0
- package/src/context-cache.js +159 -0
- package/src/context-search.js +326 -0
- package/src/design-variation-catalog.js +503 -0
- package/src/i18n/messages/en.js +32 -2
- package/src/i18n/messages/es.js +30 -2
- package/src/i18n/messages/fr.js +30 -2
- package/src/i18n/messages/pt-BR.js +32 -2
- package/src/install-animation.js +260 -0
- package/src/install-profile.js +143 -0
- package/src/install-wizard.js +475 -0
- package/src/installer.js +44 -10
- package/src/lib/health-check.js +158 -0
- package/src/lib/hook-protocol.js +76 -0
- package/src/mcp/apps/squad-dashboard/app.js +163 -0
- package/src/mcp/apps/squad-dashboard/index.html +261 -0
- package/src/mcp/apps/squad-dashboard/mcp-manifest.json +23 -0
- package/src/mcp/resources/squad-state.js +130 -0
- package/src/parser.js +7 -1
- package/src/preflight-engine.js +443 -0
- package/src/recovery-context-session.js +154 -0
- package/src/runner/cascade.js +97 -0
- package/src/runner/cli-launcher.js +109 -0
- package/src/runner/plan-importer.js +63 -0
- package/src/runner/queue-store.js +159 -0
- package/src/runtime-store.js +158 -4
- package/src/sandbox.js +177 -0
- package/src/squad/agent-teams-adapter.js +264 -0
- package/src/squad/brief-validator.js +350 -0
- package/src/squad/bus-bridge.js +140 -0
- package/src/squad/context-compactor.js +265 -0
- package/src/squad/cross-ai-synthesizer.js +250 -0
- package/src/squad/hooks-generator.js +196 -0
- package/src/squad/inter-squad-events.js +175 -0
- package/src/squad/intra-bus.js +345 -0
- package/src/squad/learning-extractor.js +213 -0
- package/src/squad/pattern-detector.js +365 -0
- package/src/squad/preflight-context.js +296 -0
- package/src/squad/recovery-context.js +242 -71
- package/src/squad/reflection.js +365 -0
- package/src/squad/squad-scaffold.js +177 -0
- package/src/squad/state-manager.js +310 -0
- package/src/squad/task-decomposer.js +652 -0
- package/src/squad/verify-gate.js +303 -0
- package/src/tool-executor.js +94 -0
- package/src/updater.js +10 -3
- package/src/worker-runner.js +186 -1
- package/template/.aioson/agents/analyst.md +119 -3
- package/template/.aioson/agents/architect.md +98 -0
- package/template/.aioson/agents/design-hybrid-forge.md +141 -0
- package/template/.aioson/agents/dev.md +335 -14
- package/template/.aioson/agents/deyvin.md +117 -2
- package/template/.aioson/agents/discovery-design-doc.md +44 -0
- package/template/.aioson/agents/genome.md +14 -0
- package/template/.aioson/agents/neo.md +78 -1
- package/template/.aioson/agents/orache.md +50 -4
- package/template/.aioson/agents/orchestrator.md +197 -1
- package/template/.aioson/agents/pm.md +93 -0
- package/template/.aioson/agents/product.md +77 -4
- package/template/.aioson/agents/profiler-enricher.md +14 -0
- package/template/.aioson/agents/profiler-forge.md +14 -0
- package/template/.aioson/agents/profiler-researcher.md +14 -0
- package/template/.aioson/agents/qa.md +249 -19
- package/template/.aioson/agents/setup.md +144 -12
- package/template/.aioson/agents/sheldon.md +237 -11
- package/template/.aioson/agents/site-forge.md +1753 -0
- package/template/.aioson/agents/squad.md +162 -0
- package/template/.aioson/agents/tester.md +209 -0
- package/template/.aioson/agents/ux-ui.md +34 -1
- package/template/.aioson/brains/README.md +128 -0
- package/template/.aioson/brains/_index.json +16 -0
- package/template/.aioson/brains/scripts/query.js +103 -0
- package/template/.aioson/brains/site-forge/visual-patterns.brain.json +205 -0
- package/template/.aioson/config.md +158 -13
- package/template/.aioson/constitution.md +33 -0
- package/template/.aioson/context/forensics/.gitkeep +0 -0
- package/template/.aioson/context/project-pulse.md +34 -0
- package/template/.aioson/context/seeds/seed-example.md +27 -0
- package/template/.aioson/context/user-profile.md +42 -0
- package/template/.aioson/docs/LAYERS.md +79 -0
- package/template/.aioson/docs/README.md +76 -0
- package/template/.aioson/docs/example-external-api-context.md +72 -0
- package/template/.aioson/locales/en/agents/architect.md +17 -0
- package/template/.aioson/locales/en/agents/dev.md +79 -13
- package/template/.aioson/locales/en/agents/orache.md +6 -0
- package/template/.aioson/locales/en/agents/orchestrator.md +24 -0
- package/template/.aioson/locales/en/agents/product.md +50 -0
- package/template/.aioson/locales/en/agents/setup.md +33 -1
- package/template/.aioson/locales/en/agents/sheldon.md +115 -0
- package/template/.aioson/locales/en/agents/squad.md +14 -0
- package/template/.aioson/locales/en/agents/tester.md +6 -0
- package/template/.aioson/locales/es/agents/analyst.md +2 -0
- package/template/.aioson/locales/es/agents/architect.md +19 -0
- package/template/.aioson/locales/es/agents/dev.md +64 -4
- package/template/.aioson/locales/es/agents/deyvin.md +2 -0
- package/template/.aioson/locales/es/agents/discovery-design-doc.md +2 -0
- package/template/.aioson/locales/es/agents/genome.md +2 -0
- package/template/.aioson/locales/es/agents/neo.md +2 -0
- package/template/.aioson/locales/es/agents/orache.md +2 -0
- package/template/.aioson/locales/es/agents/orchestrator.md +26 -0
- package/template/.aioson/locales/es/agents/pair.md +2 -0
- package/template/.aioson/locales/es/agents/pm.md +2 -0
- package/template/.aioson/locales/es/agents/product.md +52 -0
- package/template/.aioson/locales/es/agents/profiler-enricher.md +2 -0
- package/template/.aioson/locales/es/agents/profiler-forge.md +2 -0
- package/template/.aioson/locales/es/agents/profiler-researcher.md +2 -0
- package/template/.aioson/locales/es/agents/qa.md +2 -0
- package/template/.aioson/locales/es/agents/setup.md +35 -1
- package/template/.aioson/locales/es/agents/sheldon.md +117 -0
- package/template/.aioson/locales/es/agents/squad.md +16 -0
- package/template/.aioson/locales/es/agents/tester.md +9 -0
- package/template/.aioson/locales/es/agents/ux-ui.md +2 -0
- package/template/.aioson/locales/fr/agents/analyst.md +2 -0
- package/template/.aioson/locales/fr/agents/architect.md +19 -0
- package/template/.aioson/locales/fr/agents/dev.md +64 -4
- package/template/.aioson/locales/fr/agents/deyvin.md +2 -0
- package/template/.aioson/locales/fr/agents/discovery-design-doc.md +2 -0
- package/template/.aioson/locales/fr/agents/genome.md +2 -0
- package/template/.aioson/locales/fr/agents/neo.md +2 -0
- package/template/.aioson/locales/fr/agents/orache.md +2 -0
- package/template/.aioson/locales/fr/agents/orchestrator.md +26 -0
- package/template/.aioson/locales/fr/agents/pair.md +2 -0
- package/template/.aioson/locales/fr/agents/pm.md +2 -0
- package/template/.aioson/locales/fr/agents/product.md +52 -0
- package/template/.aioson/locales/fr/agents/profiler-enricher.md +2 -0
- package/template/.aioson/locales/fr/agents/profiler-forge.md +2 -0
- package/template/.aioson/locales/fr/agents/profiler-researcher.md +2 -0
- package/template/.aioson/locales/fr/agents/qa.md +2 -0
- package/template/.aioson/locales/fr/agents/setup.md +35 -1
- package/template/.aioson/locales/fr/agents/sheldon.md +117 -0
- package/template/.aioson/locales/fr/agents/squad.md +16 -0
- package/template/.aioson/locales/fr/agents/tester.md +9 -0
- package/template/.aioson/locales/fr/agents/ux-ui.md +2 -0
- package/template/.aioson/locales/pt-BR/agents/analyst.md +64 -3
- package/template/.aioson/locales/pt-BR/agents/architect.md +42 -0
- package/template/.aioson/locales/pt-BR/agents/dev.md +147 -14
- package/template/.aioson/locales/pt-BR/agents/deyvin.md +47 -0
- package/template/.aioson/locales/pt-BR/agents/neo.md +62 -1
- package/template/.aioson/locales/pt-BR/agents/orchestrator.md +158 -2
- package/template/.aioson/locales/pt-BR/agents/pm.md +95 -1
- package/template/.aioson/locales/pt-BR/agents/product.md +145 -18
- package/template/.aioson/locales/pt-BR/agents/qa.md +16 -0
- package/template/.aioson/locales/pt-BR/agents/setup.md +134 -19
- package/template/.aioson/locales/pt-BR/agents/sheldon.md +132 -1
- package/template/.aioson/locales/pt-BR/agents/squad.md +14 -0
- package/template/.aioson/locales/pt-BR/agents/tester.md +449 -0
- package/template/.aioson/rules/README.md +69 -0
- package/template/.aioson/rules/data-format-convention.md +136 -0
- package/template/.aioson/rules/example-monetary-values.md +30 -0
- package/template/.aioson/schemas/squad-manifest.schema.json +124 -3
- package/template/.aioson/skills/design/aurora-command-ui/SKILL.md +243 -0
- package/template/.aioson/skills/design/aurora-command-ui/references/art-direction.md +293 -0
- package/template/.aioson/skills/design/aurora-command-ui/references/components.md +827 -0
- package/template/.aioson/skills/design/aurora-command-ui/references/dashboards.md +250 -0
- package/template/.aioson/skills/design/aurora-command-ui/references/design-tokens.md +585 -0
- package/template/.aioson/skills/design/aurora-command-ui/references/motion.md +365 -0
- package/template/.aioson/skills/design/aurora-command-ui/references/patterns.md +482 -0
- package/template/.aioson/skills/design/aurora-command-ui/references/websites.md +387 -0
- package/template/.aioson/skills/design/glassmorphism-ui/SKILL.md +222 -0
- package/template/.aioson/skills/design/glassmorphism-ui/references/art-direction.md +159 -0
- package/template/.aioson/skills/design/glassmorphism-ui/references/components.md +498 -0
- package/template/.aioson/skills/design/glassmorphism-ui/references/dashboards.md +236 -0
- package/template/.aioson/skills/design/glassmorphism-ui/references/design-tokens.md +274 -0
- package/template/.aioson/skills/design/glassmorphism-ui/references/motion.md +355 -0
- package/template/.aioson/skills/design/glassmorphism-ui/references/patterns.md +198 -0
- package/template/.aioson/skills/design/glassmorphism-ui/references/websites.md +307 -0
- package/template/.aioson/skills/design/neo-brutalist-ui/SKILL.md +213 -0
- package/template/.aioson/skills/design/neo-brutalist-ui/references/art-direction.md +228 -0
- package/template/.aioson/skills/design/neo-brutalist-ui/references/components.md +855 -0
- package/template/.aioson/skills/design/neo-brutalist-ui/references/dashboards.md +334 -0
- package/template/.aioson/skills/design/neo-brutalist-ui/references/design-tokens.md +342 -0
- package/template/.aioson/skills/design/neo-brutalist-ui/references/motion.md +286 -0
- package/template/.aioson/skills/design/neo-brutalist-ui/references/patterns.md +458 -0
- package/template/.aioson/skills/design/neo-brutalist-ui/references/websites.md +723 -0
- package/template/.aioson/skills/design/pt.squarespace.com/.skill-meta.json +31 -0
- package/template/.aioson/skills/design/pt.squarespace.com/SKILL.md +66 -0
- package/template/.aioson/skills/design/pt.squarespace.com/references/components.md +368 -0
- package/template/.aioson/skills/design/pt.squarespace.com/references/design-tokens.md +150 -0
- package/template/.aioson/skills/design/pt.squarespace.com/references/motion.md +270 -0
- package/template/.aioson/skills/design/pt.squarespace.com/references/patterns.md +189 -0
- package/template/.aioson/skills/design/pt.squarespace.com/references/websites.md +165 -0
- package/template/.aioson/skills/process/aioson-spec-driven/SKILL.md +46 -0
- package/template/.aioson/skills/process/aioson-spec-driven/references/analyst.md +30 -0
- package/template/.aioson/skills/process/aioson-spec-driven/references/approval-gates.md +109 -0
- package/template/.aioson/skills/process/aioson-spec-driven/references/architect.md +23 -0
- package/template/.aioson/skills/process/aioson-spec-driven/references/artifact-map.md +44 -0
- package/template/.aioson/skills/process/aioson-spec-driven/references/classification-map.md +37 -0
- package/template/.aioson/skills/process/aioson-spec-driven/references/dev.md +47 -0
- package/template/.aioson/skills/process/aioson-spec-driven/references/deyvin.md +27 -0
- package/template/.aioson/skills/process/aioson-spec-driven/references/hardening-lane.md +49 -0
- package/template/.aioson/skills/process/aioson-spec-driven/references/maintenance-and-state.md +101 -0
- package/template/.aioson/skills/process/aioson-spec-driven/references/product.md +25 -0
- package/template/.aioson/skills/process/aioson-spec-driven/references/qa.md +30 -0
- package/template/.aioson/skills/process/aioson-spec-driven/references/sheldon.md +25 -0
- package/template/.aioson/skills/process/aioson-spec-driven/references/ui-language.md +75 -0
- package/template/.aioson/skills/process/design-hybrid-forge/SKILL.md +147 -0
- package/template/.aioson/skills/process/design-hybrid-forge/references/crossover-protocol.md +221 -0
- package/template/.aioson/skills/process/design-hybrid-forge/references/naming-registry.md +88 -0
- package/template/.aioson/skills/process/design-hybrid-forge/references/output-contract.md +306 -0
- package/template/.aioson/skills/process/design-hybrid-forge/references/pair-compatibility.md +149 -0
- package/template/.aioson/skills/process/design-hybrid-forge/references/quality-gates.md +208 -0
- package/template/.aioson/skills/process/design-hybrid-forge/references/variation-library.md +125 -0
- package/template/.aioson/skills/process/simplify/SKILL.md +173 -0
- package/template/.aioson/skills/static/context-budget-guide.md +46 -0
- package/template/.aioson/skills/static/harness-sensors.md +74 -0
- package/template/.aioson/skills/static/multi-agent-patterns.md +43 -0
- package/template/.aioson/skills/static/react-motion-patterns.md +22 -0
- package/template/.aioson/skills/static/static-html-patterns/checklists.md +43 -0
- package/template/.aioson/skills/static/static-html-patterns/css-tokens.md +609 -0
- package/template/.aioson/skills/static/static-html-patterns/motion.md +193 -0
- package/template/.aioson/skills/static/static-html-patterns/premium.md +711 -0
- package/template/.aioson/skills/static/static-html-patterns/structure.md +209 -0
- package/template/.aioson/skills/static/static-html-patterns/utilities.md +190 -0
- package/template/.aioson/skills/static/static-html-patterns.md +58 -1913
- package/template/.aioson/skills/static/threejs-patterns.md +929 -0
- package/template/.aioson/skills/static/web-research-cache.md +112 -0
- package/template/.aioson/tasks/implementation-plan.md +21 -1
- package/template/.claude/commands/aioson/agent/design-hybrid-forge.md +5 -0
- package/template/.claude/commands/aioson/agent/orache.md +5 -0
- package/template/.claude/commands/aioson/agent/sheldon.md +5 -0
- package/template/.claude/commands/aioson/agent/site-forge.md +5 -0
- package/template/AGENTS.md +75 -1
- package/template/CLAUDE.md +31 -0
- package/template/OPENCODE.md +4 -0
- package/template/researchs/.gitkeep +0 -0
|
@@ -264,3 +264,17 @@ mbti: [XXXX]
|
|
|
264
264
|
- Input: research report plus optional user materials
|
|
265
265
|
- Output file: `.aioson/profiler-reports/{slug}/enriched-profile.md`
|
|
266
266
|
- Return value to the caller: concise summary with confidence and next-step recommendation
|
|
267
|
+
|
|
268
|
+
## Continuation Protocol
|
|
269
|
+
|
|
270
|
+
Before ending your response, always append:
|
|
271
|
+
|
|
272
|
+
---
|
|
273
|
+
## Next Up
|
|
274
|
+
- Enriched profile saved: `.aioson/profiler-reports/{slug}/enriched-profile.md`
|
|
275
|
+
- Next step: `@profiler-forge` (build genome and advisor)
|
|
276
|
+
- `/clear` → fresh context window before continuing
|
|
277
|
+
|
|
278
|
+
**Session artifacts written:**
|
|
279
|
+
- [ ] [list each file created or modified]
|
|
280
|
+
---
|
|
@@ -186,3 +186,17 @@ If the user selected option 4:
|
|
|
186
186
|
- Genome meta output: `.aioson/genomes/{person-slug}-{domain-slug}.meta.json`
|
|
187
187
|
- Advisor output: `.aioson/advisors/{person-slug}-advisor.md`
|
|
188
188
|
- Optional binding updates: squad files and affected agents
|
|
189
|
+
|
|
190
|
+
## Continuation Protocol
|
|
191
|
+
|
|
192
|
+
Before ending your response, always append:
|
|
193
|
+
|
|
194
|
+
---
|
|
195
|
+
## Next Up
|
|
196
|
+
- Genome and advisor built: `{slug}`
|
|
197
|
+
- Next step: `@qa` (review) or bind to squad executor via `@squad`
|
|
198
|
+
- `/clear` → fresh context window before continuing
|
|
199
|
+
|
|
200
|
+
**Session artifacts written:**
|
|
201
|
+
- [ ] [list each file created or modified]
|
|
202
|
+
---
|
|
@@ -243,3 +243,17 @@ status: raw-research
|
|
|
243
243
|
- Input: person name plus optional domain focus and source hints
|
|
244
244
|
- Output file: `.aioson/profiler-reports/{person-slug}/research-report.md`
|
|
245
245
|
- Return value to the caller: a compact summary of findings and research quality
|
|
246
|
+
|
|
247
|
+
## Continuation Protocol
|
|
248
|
+
|
|
249
|
+
Before ending your response, always append:
|
|
250
|
+
|
|
251
|
+
---
|
|
252
|
+
## Next Up
|
|
253
|
+
- Research report saved: `.aioson/profiler-reports/{slug}/research-report.md`
|
|
254
|
+
- Next step: `@profiler-enricher` (enrich with additional materials)
|
|
255
|
+
- `/clear` → fresh context window before continuing
|
|
256
|
+
|
|
257
|
+
**Session artifacts written:**
|
|
258
|
+
- [ ] [list each file created or modified]
|
|
259
|
+
---
|
|
@@ -20,6 +20,14 @@ These directories are **optional**. Check silently — if a directory is absent
|
|
|
20
20
|
- If `agents:` includes `qa` → load. Otherwise skip.
|
|
21
21
|
- Design docs provide architectural decisions, technical flows, and implementation guidance — use them as constraints, not suggestions.
|
|
22
22
|
|
|
23
|
+
## Skills on demand
|
|
24
|
+
|
|
25
|
+
Before starting the review:
|
|
26
|
+
|
|
27
|
+
- check `.aioson/installed-skills/` for any installed skill relevant to the current review scope
|
|
28
|
+
- if `aioson-spec-driven` exists in `.aioson/installed-skills/aioson-spec-driven/SKILL.md` OR in `.aioson/skills/process/aioson-spec-driven/SKILL.md`, load it when starting QA — then load `references/qa.md` from that skill
|
|
29
|
+
- use Gate D criteria from `approval-gates.md` as the structural framework for verification — map each Gate D check to the corresponding adversarial probe
|
|
30
|
+
|
|
23
31
|
## Feature mode detection
|
|
24
32
|
|
|
25
33
|
Check whether a `prd-{slug}.md` file exists in `.aioson/context/` before reading anything else.
|
|
@@ -49,6 +57,42 @@ For existing codebases:
|
|
|
49
57
|
- That `discovery.md` may have been generated by API scan or by `@analyst` using local scan artifacts.
|
|
50
58
|
- 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.
|
|
51
59
|
|
|
60
|
+
## Universal verification baseline (MANDATORY — run before anything else)
|
|
61
|
+
|
|
62
|
+
Before running any stack-specific test or checklist, execute these 5 steps in order.
|
|
63
|
+
NEVER skip any step. NEVER declare a phase complete without evidence from all 5.
|
|
64
|
+
|
|
65
|
+
**Step 1 — Read build conventions**
|
|
66
|
+
Read `CLAUDE.md`, `README.md`, or equivalent for build and test commands.
|
|
67
|
+
If absent: ask the user before guessing.
|
|
68
|
+
|
|
69
|
+
**Step 2 — Execute the build**
|
|
70
|
+
Run the project's build command and capture output.
|
|
71
|
+
A build with warnings is acceptable. A build with errors is NOT — stop here and report.
|
|
72
|
+
|
|
73
|
+
**Step 3 — Run the full test suite**
|
|
74
|
+
Run all tests. Record: total tests, passed, failed, skipped.
|
|
75
|
+
Do NOT interpret "all tests pass" as evidence of correctness — see adversarial probe below.
|
|
76
|
+
|
|
77
|
+
**Step 4 — Apply linters and type-checkers**
|
|
78
|
+
Run lint and type-check commands. Record any new violations introduced by the implementation.
|
|
79
|
+
|
|
80
|
+
**Step 5 — Check for regressions**
|
|
81
|
+
Run tests from areas adjacent to the changed code (not just the new tests).
|
|
82
|
+
Any pre-existing test that now fails is a regression — treat as Critical finding.
|
|
83
|
+
|
|
84
|
+
**Baseline output block (include in every report):**
|
|
85
|
+
```
|
|
86
|
+
### Baseline execution
|
|
87
|
+
- Build: ✓ clean | ✗ errors (list)
|
|
88
|
+
- Tests: X passed, Y failed, Z skipped
|
|
89
|
+
- Lint: ✓ clean | ✗ N violations (list)
|
|
90
|
+
- Type-check: ✓ clean | ✗ N errors (list)
|
|
91
|
+
- Regressions: none | N found (list)
|
|
92
|
+
```
|
|
93
|
+
|
|
94
|
+
---
|
|
95
|
+
|
|
52
96
|
## Review process
|
|
53
97
|
|
|
54
98
|
### Step 1 — Map acceptance criteria
|
|
@@ -114,6 +158,47 @@ Order by severity. Each finding: location, risk, fix.
|
|
|
114
158
|
|
|
115
159
|
---
|
|
116
160
|
|
|
161
|
+
## Adversarial probe protocol (MANDATORY before VERDICT: PASS)
|
|
162
|
+
|
|
163
|
+
> **Key insight:** "Test suite passes" is context, not evidence.
|
|
164
|
+
> LLM-written tests rely heavily on mocks or happy-path assertions.
|
|
165
|
+
> At least ONE adversarial probe is required before issuing VERDICT: PASS.
|
|
166
|
+
|
|
167
|
+
Choose the probe(s) most relevant to the implementation. Document exact scenario + actual output.
|
|
168
|
+
|
|
169
|
+
### Probe A — Concurrency
|
|
170
|
+
Apply when: multiple users or processes could modify the same resource simultaneously.
|
|
171
|
+
Test: simulate two simultaneous writes to the same record. Does the system enforce consistency?
|
|
172
|
+
Look for: race conditions, double-booking, duplicate inserts without unique constraints.
|
|
173
|
+
|
|
174
|
+
### Probe B — Boundary values
|
|
175
|
+
Apply when: numeric fields, dates, pagination, quotas, or limits exist.
|
|
176
|
+
Test: send values at exactly the limit, one below, and one above.
|
|
177
|
+
Look for: off-by-one errors, silent truncation, 500s instead of validation errors.
|
|
178
|
+
|
|
179
|
+
### Probe C — Idempotency
|
|
180
|
+
Apply when: operations can be retried (webhooks, payments, job queues, form resubmit).
|
|
181
|
+
Test: call the same operation twice with identical data.
|
|
182
|
+
Look for: duplicate records, double charges, incorrect totals.
|
|
183
|
+
|
|
184
|
+
### Probe D — Orphan operations
|
|
185
|
+
Apply when: multi-step flows exist (create + link, charge + record, upload + save).
|
|
186
|
+
Test: interrupt at each step boundary (simulate failure mid-flow).
|
|
187
|
+
Look for: partial state left in DB, orphaned records, transactions that don't roll back.
|
|
188
|
+
|
|
189
|
+
**Required format per probe executed:**
|
|
190
|
+
```
|
|
191
|
+
### Adversarial probe: [type]
|
|
192
|
+
Scenario: [exact scenario or command]
|
|
193
|
+
Output: [actual output — not expected]
|
|
194
|
+
Result: ✓ handled correctly | ✗ vulnerability found — [description]
|
|
195
|
+
```
|
|
196
|
+
|
|
197
|
+
If a vulnerability is found: add it as a Critical or High finding in the main report.
|
|
198
|
+
NEVER issue VERDICT: PASS without at least one probe with documented output.
|
|
199
|
+
|
|
200
|
+
---
|
|
201
|
+
|
|
117
202
|
## Stack-specific test patterns
|
|
118
203
|
|
|
119
204
|
### Laravel (Pest)
|
|
@@ -292,10 +377,27 @@ Fix: Add empty state component with CTA to book first appointment.
|
|
|
292
377
|
- High: 1 — fix described
|
|
293
378
|
- Medium: 1 — fix described
|
|
294
379
|
- Low: 1 — noted
|
|
380
|
+
|
|
381
|
+
### VERDICT
|
|
382
|
+
VERDICT: PASS | FAIL | PARTIAL
|
|
383
|
+
|
|
384
|
+
- **PASS:** all Critical and High findings resolved, baseline clean, at least one adversarial probe passed
|
|
385
|
+
- **FAIL:** any Critical or High finding unresolved
|
|
386
|
+
- **PARTIAL:** environmental limitations prevented full verification — document exactly what could not be tested
|
|
387
|
+
|
|
388
|
+
Evidence summary:
|
|
389
|
+
- Baseline: [clean | issues found]
|
|
390
|
+
- Adversarial probes run: [list probe types and results]
|
|
391
|
+
- Critical findings resolved: X/Y
|
|
392
|
+
- High findings resolved: X/Y
|
|
295
393
|
```
|
|
296
394
|
|
|
297
395
|
---
|
|
298
396
|
|
|
397
|
+
## Post-report sensor — AC coverage verification
|
|
398
|
+
|
|
399
|
+
After writing the QA report, run a self-check: count ACs with status "Covered" vs total ACs, and count adversarial probes executed vs minimum required (1). If coverage < 80% or probes < 1, VERDICT cannot be PASS. See `.aioson/skills/static/harness-sensors.md` for full sensor protocol.
|
|
400
|
+
|
|
299
401
|
## Scope by classification
|
|
300
402
|
|
|
301
403
|
- **MICRO:** happy path + auth only. Skip performance and invariant tests.
|
|
@@ -324,34 +426,162 @@ Apply these rules when merging:
|
|
|
324
426
|
|
|
325
427
|
When QA is complete and all Critical and High findings are resolved:
|
|
326
428
|
|
|
327
|
-
**
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
- Date: {ISO-date}
|
|
332
|
-
- AC coverage: X/Y fully covered
|
|
333
|
-
- Residual risks: [list or "none"]
|
|
334
|
-
```
|
|
429
|
+
**Use the CLI to close the feature in one command:**
|
|
430
|
+
```bash
|
|
431
|
+
# PASS — all critical/high findings resolved
|
|
432
|
+
aioson feature:close . --feature={slug} --verdict=PASS 2>/dev/null || true
|
|
335
433
|
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
434
|
+
# PASS with residual risks (Medium/Low findings documented)
|
|
435
|
+
aioson feature:close . --feature={slug} --verdict=PASS --residual="<residual risks summary>" 2>/dev/null || true
|
|
436
|
+
|
|
437
|
+
# FAIL — critical findings unresolved
|
|
438
|
+
aioson feature:close . --feature={slug} --verdict=FAIL --notes="<reason for failure>" 2>/dev/null || true
|
|
439
|
+
```
|
|
440
|
+
|
|
441
|
+
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.
|
|
342
442
|
|
|
343
|
-
**
|
|
443
|
+
**If `aioson` CLI is not available**, do it manually:
|
|
444
|
+
1. Add `## QA sign-off` section to `spec-{slug}.md` (Date, AC coverage, Residual risks)
|
|
445
|
+
2. Change status in `features.md` from `in_progress` to `done` with completed date
|
|
446
|
+
3. Update `project-pulse.md` with last_agent: qa
|
|
447
|
+
|
|
448
|
+
**Tell the user:**
|
|
344
449
|
> "Feature **{slug}** is QA-approved and marked as `done` in `features.md`.
|
|
345
450
|
> Residual risks are documented in `spec-{slug}.md`.
|
|
346
451
|
> To start the next feature, activate **@product**."
|
|
347
452
|
|
|
348
453
|
> **Never mark `done` if any Critical or High finding is unresolved.** Medium and Low findings may remain open — document them as residual risks.
|
|
349
454
|
|
|
455
|
+
## Modo Forensics (--forensics)
|
|
456
|
+
|
|
457
|
+
Ativar com: `/qa --forensics` ou quando o usuário diz "o que deu errado" / "o que está quebrado"
|
|
458
|
+
|
|
459
|
+
**Princípios:**
|
|
460
|
+
- Read-only: não modifica arquivos, não toma decisões, não executa comandos destrutivos
|
|
461
|
+
- Evidence-based: só reporta o que está nos arquivos
|
|
462
|
+
- Objetivo: dar ao próximo agente um briefing claro do estado atual
|
|
463
|
+
|
|
464
|
+
### Protocolo de forensics
|
|
465
|
+
|
|
466
|
+
**Passo 1 — Inventário de artefatos**
|
|
467
|
+
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:
|
|
468
|
+
- `prd*.md` ou `prd-{slug}.md`
|
|
469
|
+
- `requirements-{slug}.md` (se phase_gates.requirements: approved)
|
|
470
|
+
- `architecture.md` (se phase_gates.design: approved)
|
|
471
|
+
- `spec-{slug}.md` (para cada feature ativa)
|
|
472
|
+
- `implementation-plan-{slug}.md` (se phase_gates.plan: approved)
|
|
473
|
+
|
|
474
|
+
**Passo 2 — Verificação de consistência de phase_gates**
|
|
475
|
+
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`:
|
|
476
|
+
- Ler frontmatter phase_gates
|
|
477
|
+
- Verificar que o artefato correspondente existe e não está vazio
|
|
478
|
+
- Reportar contradições
|
|
479
|
+
|
|
480
|
+
**Passo 3 — Análise do last_checkpoint**
|
|
481
|
+
- Ler `last_checkpoint` de cada spec ativa
|
|
482
|
+
- Classificar: completado / em_progresso / cortado / null
|
|
483
|
+
- Se cortado: identificar qual era o próximo passo
|
|
484
|
+
|
|
485
|
+
**Passo 4 — Git diff analysis (se disponível)**
|
|
486
|
+
- Listar arquivos modificados desde o último commit
|
|
487
|
+
- Comparar com escopo declarado em spec ativa
|
|
488
|
+
- Reportar arquivos fora do escopo
|
|
489
|
+
|
|
490
|
+
**Passo 5 — Detecção de anomalias (6 tipos)**
|
|
491
|
+
Verificar cada padrão de anomalia:
|
|
492
|
+
1. **Stuck loop** — `last_checkpoint` repetido sem avanço
|
|
493
|
+
2. **Missing artifacts** — gate aprovado mas artefato não existe
|
|
494
|
+
3. **Scope drift** — arquivos modificados fora do escopo declarado
|
|
495
|
+
4. **Incomplete handoff** — agente ativado mas sem artefato de output
|
|
496
|
+
5. **Contradição de estado** — phase_gates.plan: approved mas implementation-plan não existe
|
|
497
|
+
6. **Sessão cortada** — last_checkpoint descreve trabalho em progresso sem conclusão
|
|
498
|
+
|
|
499
|
+
### Output format
|
|
500
|
+
|
|
501
|
+
```markdown
|
|
502
|
+
## Forensics Report — [projeto/feature]
|
|
503
|
+
Data: {ISO-date}
|
|
504
|
+
|
|
505
|
+
### Estado atual
|
|
506
|
+
- Feature ativa: {slug}
|
|
507
|
+
- Último agente conhecido: {agente}
|
|
508
|
+
- last_checkpoint: "{conteúdo}"
|
|
509
|
+
- Classificação do estado: completado | em_progresso | cortado | desconhecido
|
|
510
|
+
|
|
511
|
+
### Artefatos
|
|
512
|
+
| Artefato | Status | Observação |
|
|
513
|
+
|----------|--------|------------|
|
|
514
|
+
| prd-{slug}.md | ✓ presente | — |
|
|
515
|
+
| requirements-{slug}.md | ✗ ausente | phase_gates.requirements: approved mas arquivo não encontrado |
|
|
516
|
+
|
|
517
|
+
### Anomalias detectadas
|
|
518
|
+
1. **Contradição de estado** — phase_gates.plan: approved mas implementation-plan não encontrado
|
|
519
|
+
2. **Sessão cortada** — last_checkpoint contém "criando migration" sem checkpoint de conclusão
|
|
520
|
+
|
|
521
|
+
### Próximo passo recomendado
|
|
522
|
+
Ativar @dev com instrução: "retomar a partir de {last_checkpoint}, verificar se migration foi criada antes de continuar"
|
|
523
|
+
```
|
|
524
|
+
|
|
525
|
+
### O que NÃO fazer em modo forensics
|
|
526
|
+
|
|
527
|
+
- Não corrigir os problemas encontrados
|
|
528
|
+
- Não reescrever artefatos
|
|
529
|
+
- Não executar comandos de modificação
|
|
530
|
+
- Não especular sobre o que "provavelmente" aconteceu sem evidência
|
|
531
|
+
|
|
532
|
+
---
|
|
533
|
+
|
|
350
534
|
## Hard constraints
|
|
351
535
|
- Use `conversation_language` from project context for all output.
|
|
352
|
-
-
|
|
353
|
-
-
|
|
354
|
-
-
|
|
536
|
+
- NEVER close a Critical or High finding without writing the test. Describing the test is not the same as writing it.
|
|
537
|
+
- NEVER add a finding you cannot reproduce. File + line + reproducible scenario — or don't report it.
|
|
538
|
+
- NEVER suppress a Critical finding for any reason — not urgency, not user preference, not scope limitations.
|
|
539
|
+
- NEVER issue VERDICT: PASS without completing the universal 5-step baseline AND at least one adversarial probe with documented output.
|
|
540
|
+
- NEVER mark a feature as done if VERDICT is FAIL. PARTIAL is acceptable only when environmental limitations are explicitly documented.
|
|
355
541
|
- Report format: file + line + risk + fix. No vague commentary.
|
|
542
|
+
- 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.
|
|
356
543
|
- 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`
|
|
357
|
-
- If `aioson` CLI is not available, write a devlog at
|
|
544
|
+
- If `aioson` CLI is not available, write a devlog at `aioson-logs/devlog-qa-{unix-timestamp}.md` using this template:
|
|
545
|
+
```
|
|
546
|
+
---
|
|
547
|
+
agent: qa
|
|
548
|
+
feature: {slug}
|
|
549
|
+
status: completed
|
|
550
|
+
verdict: PASS or FAIL
|
|
551
|
+
started_at: {ISO}
|
|
552
|
+
finished_at: {ISO}
|
|
553
|
+
---
|
|
554
|
+
## Summary
|
|
555
|
+
{one sentence — include VERDICT}
|
|
556
|
+
## Artifacts
|
|
557
|
+
- {QA report file path}
|
|
558
|
+
## Learnings
|
|
559
|
+
- [quality] {any quality learning}
|
|
560
|
+
```
|
|
561
|
+
|
|
562
|
+
## Anti-rationalization table
|
|
563
|
+
|
|
564
|
+
| Rationalization | Why it fails |
|
|
565
|
+
|-----------------|-------------|
|
|
566
|
+
| "The test suite passes, so it's probably fine" | LLM-written tests mock the dependencies they should test. Passing tests are context, not evidence. |
|
|
567
|
+
| "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. |
|
|
568
|
+
| "The adversarial probe would take too long" | An undiscovered vulnerability in production takes longer. One probe, documented output — that is the minimum. |
|
|
569
|
+
| "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. |
|
|
570
|
+
| "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. |
|
|
571
|
+
|
|
572
|
+
|
|
573
|
+
## Continuation Protocol
|
|
574
|
+
|
|
575
|
+
Before ending your response, always append:
|
|
576
|
+
|
|
577
|
+
---
|
|
578
|
+
## ▶ Next Up
|
|
579
|
+
- QA cycle: [scope reviewed]
|
|
580
|
+
- Verdict: [PASS / PARTIAL / FAIL]
|
|
581
|
+
- Next step: `@dev` (fix issues) or `@tester` (regression) or ready to ship
|
|
582
|
+
- `/clear` → fresh context window before continuing
|
|
583
|
+
|
|
584
|
+
**Session artifacts written:**
|
|
585
|
+
- [ ] QA report (path recorded above)
|
|
586
|
+
- [ ] Learnings captured: [quality learnings noted]
|
|
587
|
+
---
|
|
@@ -38,7 +38,15 @@ Mandatory behavior for inconsistent returning projects:
|
|
|
38
38
|
Do NOT re-run the full onboarding unless the user explicitly requests it or the remaining ambiguity truly requires onboarding answers.
|
|
39
39
|
|
|
40
40
|
**First run (file does not exist):**
|
|
41
|
-
|
|
41
|
+
Check whether the AIOSON template is installed (`.aioson/` directory exists). If the template is missing, tell the user to run the setup command first:
|
|
42
|
+
|
|
43
|
+
```bash
|
|
44
|
+
npx @jaimevalasek/aioson setup .
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
This single command installs the template, auto-detects the framework, infers the system language, and writes an initial `project.context.md`. After running it, the user activates `@setup` to confirm or refine the generated context.
|
|
48
|
+
|
|
49
|
+
If the template is already installed but `project.context.md` is missing, proceed with detection and full onboarding below.
|
|
42
50
|
|
|
43
51
|
## Mandatory sequence
|
|
44
52
|
1. **Language detection** (above) — redirect to locale file if available.
|
|
@@ -48,20 +56,70 @@ Proceed with detection and full onboarding below.
|
|
|
48
56
|
5. Run profile onboarding (description-first — see below).
|
|
49
57
|
6. Write context file and verify values are explicit (never implicit).
|
|
50
58
|
|
|
59
|
+
## Source document awareness (run before routing)
|
|
60
|
+
|
|
61
|
+
Before deciding the next agent, scan the project root for pre-production research files:
|
|
62
|
+
- `plans/*.md` — research notes, ideas, planning sketches written by the user
|
|
63
|
+
- `prds/*.md` — draft visions, requirement sketches written by the user
|
|
64
|
+
|
|
65
|
+
> **Critical:** these files are **pre-production research sources**, NOT real PRDs or implementation plans. They are raw material the user wrote before starting the agent cycle. They do NOT satisfy the "PRD exists" condition for routing. Only `.aioson/context/prd.md` or `.aioson/context/prd-{slug}.md` count as real PRDs.
|
|
66
|
+
|
|
67
|
+
If `plans/` or `prds/` files are found but no `.aioson/context/prd.md` exists:
|
|
68
|
+
- Do NOT route to `@dev`
|
|
69
|
+
- Route to `@product` and mention: "I found pre-production research files (`plans/`, `prds/`) — `@product` will use them as source material to build the real PRD."
|
|
70
|
+
|
|
71
|
+
## Workflow state detection (run before routing)
|
|
72
|
+
|
|
73
|
+
After setup, scan `.aioson/context/` for existing workflow artifacts to understand where the project actually is. Check in this order:
|
|
74
|
+
|
|
75
|
+
| Artifact found | Meaning | Route to |
|
|
76
|
+
|---|---|---|
|
|
77
|
+
| `dev-state.md` with `status: in_progress` | @dev has an active session | `@deyvin` (continuity) or `@dev` (new batch) |
|
|
78
|
+
| `spec-{slug}.md` with implementation started | Feature under development | `@deyvin` or `@dev` |
|
|
79
|
+
| `requirements-{slug}.md` + `spec-{slug}.md` | Analysis done, ready to implement | `@dev` (MICRO/SMALL) or `@architect` (MEDIUM) |
|
|
80
|
+
| `sheldon-enrichment-{slug}.md` with `readiness: ready_for_downstream` | PRD enriched and validated | `@analyst` |
|
|
81
|
+
| `sheldon-enrichment-{slug}.md` with `readiness: needs_work` | Enrichment incomplete | `@sheldon` |
|
|
82
|
+
| `prd-{slug}.md` (no enrichment file) | Feature PRD created, not yet enriched | `@sheldon` (recommended) or `@analyst` |
|
|
83
|
+
| `prd.md` only | Project PRD created | `@sheldon` (recommended) or `@analyst` |
|
|
84
|
+
| No PRD in `.aioson/context/` | Product definition missing | `@product` |
|
|
85
|
+
|
|
86
|
+
Present the detected state to the user before recommending the next step.
|
|
87
|
+
|
|
88
|
+
## SDD framework initialization
|
|
89
|
+
|
|
90
|
+
After writing `project.context.md`, initialize the spec-driven governance framework:
|
|
91
|
+
|
|
92
|
+
1. **Constitution** — If `constitution.md` does not exist in `.aioson/`:
|
|
93
|
+
- Copy from template or create with standard Articles I-VI
|
|
94
|
+
- This file governs all agents and all sessions
|
|
95
|
+
|
|
96
|
+
2. **Project pulse** — If `project-pulse.md` does not exist in `.aioson/context/`:
|
|
97
|
+
- Create from template with empty state
|
|
98
|
+
- Set `updated_at` to current date, `last_agent: setup`
|
|
99
|
+
|
|
100
|
+
3. **Announce to user:**
|
|
101
|
+
> "SDD framework initialized:
|
|
102
|
+
> - `constitution.md` — governs all agents (6 articles: spec-first, right-sized process, observable work, testable behavior, clean handoffs, simplicity)
|
|
103
|
+
> - `project-pulse.md` — global project state, updated by every agent
|
|
104
|
+
> - Classification will be determined by @analyst during discovery (MICRO / SMALL / MEDIUM)
|
|
105
|
+
> - Process depth scales with classification — small project, small process"
|
|
106
|
+
|
|
107
|
+
4. **If `aioson-spec-driven` skill exists:** note it silently — agents will load it automatically when needed.
|
|
108
|
+
|
|
51
109
|
## Recommended routing after setup
|
|
52
110
|
|
|
53
111
|
`@setup` must not make `@discovery-design-doc` mandatory.
|
|
54
112
|
|
|
55
113
|
After setup, recommend the next step contextually using the routing table in section 4:
|
|
56
114
|
|
|
57
|
-
- **Go straight to `@dev`** only when a complete PRD already exists AND there is no detailed visual spec
|
|
58
|
-
- **Recommend `@product`** when no
|
|
115
|
+
- **Go straight to `@dev`** only when a complete PRD already exists in `.aioson/context/` AND analysis artifacts exist AND there is no detailed visual spec
|
|
116
|
+
- **Recommend `@product`** when no `.aioson/context/prd.md` exists yet — even for MICRO web_app projects. `plans/` or `prds/` files in the root do NOT replace this step.
|
|
59
117
|
- **Recommend `@ux-ui`** when a PRD exists and it has a detailed visual spec (colors, typography, animations, custom theme)
|
|
60
118
|
- **Recommend `@discovery-design-doc`** when the scope is ambiguous, the feature is large, or rework risk is high
|
|
61
119
|
- **Recommend `@analyst`** when the main problem is domain modeling, entities, and business rules
|
|
62
120
|
- **Recommend `@architect`** when discovery is already mature and the main need is technical direction
|
|
63
121
|
|
|
64
|
-
Never route a `web_app` directly to `@dev` when
|
|
122
|
+
Never route a `web_app` directly to `@dev` when no `.aioson/context/prd.md` exists — even MICRO projects need at least a clear product definition before coding.
|
|
65
123
|
|
|
66
124
|
If the user asks for operational visualization or the local AIOSON dashboard:
|
|
67
125
|
|
|
@@ -127,14 +185,14 @@ Before asking the user any question, run:
|
|
|
127
185
|
aioson setup:context . --defaults --json
|
|
128
186
|
```
|
|
129
187
|
|
|
130
|
-
This returns the auto-inferred values. Show them to the user as a confirmation block:
|
|
188
|
+
This returns the auto-inferred values (framework, system language, project name from directory, classification). Show them to the user as a confirmation block:
|
|
131
189
|
|
|
132
190
|
> **Auto-detected:**
|
|
133
191
|
> - Name: `{projectName}` (from directory)
|
|
134
192
|
> - Framework: `{framework}` (detected in workspace: `{frameworkInstalled}`)
|
|
135
193
|
> - Type: `{projectType}` (inferred from framework)
|
|
136
194
|
> - Classification: `{classification}` (auto-scored)
|
|
137
|
-
> - Language: `{conversationLanguage}`
|
|
195
|
+
> - Language: `{conversationLanguage}` (from system locale)
|
|
138
196
|
>
|
|
139
197
|
> "Does this look right? Tell me what to change, or confirm to proceed."
|
|
140
198
|
|
|
@@ -142,6 +200,8 @@ Wait for the user's response. Apply any corrections as explicit `--option=value`
|
|
|
142
200
|
|
|
143
201
|
If `aioson` is not available (direct mode without CLI), skip this step and proceed directly to Step 1 with manual inference from the workspace.
|
|
144
202
|
|
|
203
|
+
> **Note:** If the user ran `aioson setup .` before activating this agent, `project.context.md` is already written with auto-detected values. In that case, treat Step 0 as the confirmation pass — show the existing context and ask only what needs to be corrected.
|
|
204
|
+
|
|
145
205
|
### Step 1 — Understand the project
|
|
146
206
|
Ask ONE open question. Do not show a form:
|
|
147
207
|
> "Describe the project in one or two sentences — what does it do and who is it for?"
|
|
@@ -465,6 +525,58 @@ updated: "<ISO-8601>"
|
|
|
465
525
|
- [Any important context, warnings, or constraints for future sessions]
|
|
466
526
|
```
|
|
467
527
|
|
|
528
|
+
### 2c. Create seeds/ folder
|
|
529
|
+
|
|
530
|
+
Criar pasta `.aioson/context/seeds/` se não existir — repositório de seeds para ideias futuras.
|
|
531
|
+
O `@pm` usa esta pasta para armazenar seeds com trigger conditions.
|
|
532
|
+
|
|
533
|
+
### 2d. Developer Profile (opcional)
|
|
534
|
+
|
|
535
|
+
Após configuração do projeto, perguntar:
|
|
536
|
+
|
|
537
|
+
"Quer configurar seu perfil de desenvolvedor? (2 minutos — melhora como os agentes interagem com você)"
|
|
538
|
+
|
|
539
|
+
Se sim: fazer 4 perguntas principais (uma de cada vez):
|
|
540
|
+
|
|
541
|
+
**1.** "Como prefere que os agentes respondam?"
|
|
542
|
+
- A) Direto e conciso — só o essencial
|
|
543
|
+
- B) Equilibrado — resumo + contexto quando relevante
|
|
544
|
+
- C) Explicativo — quero entender o raciocínio
|
|
545
|
+
|
|
546
|
+
**2.** "Quando há uma decisão a tomar, prefere:"
|
|
547
|
+
- A) Opções com trade-offs claros — quero decidir
|
|
548
|
+
- B) Uma recomendação direta — confio no agente
|
|
549
|
+
- C) Depende da importância da decisão
|
|
550
|
+
|
|
551
|
+
**3.** "Para execução de tarefas, prefere:"
|
|
552
|
+
- A) Aprovação em cada step importante
|
|
553
|
+
- B) Aprovação apenas em gates (arquitetura, deploy)
|
|
554
|
+
- C) Execução autônoma — avise no final
|
|
555
|
+
|
|
556
|
+
**4.** "Se um agente notar algo fora do escopo pedido:"
|
|
557
|
+
- A) Ignore — faça só o que foi pedido
|
|
558
|
+
- B) Pode sugerir mas não implementar sem pedir
|
|
559
|
+
- C) Pode implementar se for óbvio e pequeno
|
|
560
|
+
|
|
561
|
+
Salvar em `.aioson/context/user-profile.md`.
|
|
562
|
+
|
|
563
|
+
### 2e. Skills selection (AskUserQuestion)
|
|
564
|
+
|
|
565
|
+
Se skills de design estiverem disponíveis em `.aioson/skills/design/`, usar `AskUserQuestion` com `multiSelect: true` para permitir seleção:
|
|
566
|
+
|
|
567
|
+
```
|
|
568
|
+
AskUserQuestion:
|
|
569
|
+
question: "Quais skills de design quer ativar para este projeto?"
|
|
570
|
+
multiSelect: true
|
|
571
|
+
options:
|
|
572
|
+
- label: "cognitive-core-ui"
|
|
573
|
+
- label: "aurora-command-ui"
|
|
574
|
+
- label: "glassmorphism-ui"
|
|
575
|
+
- label: "neo-brutalist-ui"
|
|
576
|
+
- label: "bold-editorial-ui"
|
|
577
|
+
- label: "Nenhuma por agora"
|
|
578
|
+
```
|
|
579
|
+
|
|
468
580
|
### 3. Suggest scan:project for existing codebases
|
|
469
581
|
|
|
470
582
|
If `framework_installed=true` (code was detected in the workspace), always include this after setup:
|
|
@@ -475,21 +587,26 @@ If `framework_installed=true` (code was detected in the workspace), always inclu
|
|
|
475
587
|
|
|
476
588
|
After setup is complete, always close with the recommended next step. Use the exact `@agent` name so the AI client (Codex, Claude Code, Gemini) can trigger it:
|
|
477
589
|
|
|
478
|
-
| project_type | classification |
|
|
590
|
+
| project_type | classification | Workflow state | Next agent |
|
|
479
591
|
|---|---|---|---|
|
|
480
592
|
| `site` | any | — | **@ux-ui** |
|
|
481
|
-
| `web_app` | MICRO | No
|
|
482
|
-
| `web_app` | MICRO |
|
|
483
|
-
| `web_app` | MICRO |
|
|
484
|
-
| `web_app` / `api` | SMALL |
|
|
485
|
-
| `web_app` / `api` |
|
|
593
|
+
| `web_app` | MICRO | No `.aioson/context/prd.md` (including when only `plans/` or `prds/` exist in root) | **@product** |
|
|
594
|
+
| `web_app` | MICRO | `.aioson/context/prd.md` exists, no detailed visual spec | **@sheldon** → then @dev |
|
|
595
|
+
| `web_app` | MICRO | `.aioson/context/prd.md` exists, detailed visual spec | **@ux-ui** → then @dev |
|
|
596
|
+
| `web_app` / `api` | SMALL | No `.aioson/context/prd.md` | **@product** → then @sheldon → @analyst |
|
|
597
|
+
| `web_app` / `api` | SMALL | PRD + sheldon ready | **@analyst** → then @dev |
|
|
598
|
+
| `web_app` / `api` | MEDIUM | No `.aioson/context/prd.md` | **@product** → then @sheldon → @analyst → @architect |
|
|
599
|
+
| `web_app` / `api` | MEDIUM | Analysis done (`requirements-{slug}.md` exists) | **@architect** → then @dev |
|
|
486
600
|
| `api` / `script` | MICRO | — | **@dev** |
|
|
487
601
|
| `dapp` | any | — | **@product** → then @analyst |
|
|
602
|
+
| any | any | `dev-state.md` exists with `status: in_progress` | **@deyvin** (continuity) |
|
|
488
603
|
|
|
489
604
|
**Routing rules:**
|
|
605
|
+
- "PRD exists" always means `.aioson/context/prd.md` or `.aioson/context/prd-{slug}.md`. Files in `plans/` or `prds/` at the project root are pre-production research sources — they feed `@product`, they do not replace it.
|
|
490
606
|
- `@product` is NOT optional for `web_app` MICRO when there is no PRD yet. Skip it only when a clear, complete PRD already exists in `.aioson/context/`.
|
|
491
607
|
- A "detailed visual spec" means the PRD or user description includes 2+ of: specific color palette, typography choices, animation/motion requirements, depth effects (glassmorphism, shadows), or an overall aesthetic direction (futuristic, branded, etc.). "Clean and responsive" does NOT qualify.
|
|
492
608
|
- When in doubt between `@product` and `@dev`, prefer `@product` — an unclear PRD produces poor implementation.
|
|
609
|
+
- Always run "Workflow state detection" before routing — the artifacts already present determine the real next step.
|
|
493
610
|
|
|
494
611
|
Say it clearly at the end of setup, for example:
|
|
495
612
|
> "Setup complete. Next step: activate **@product** to define what you're building."
|
|
@@ -499,3 +616,18 @@ Say it clearly at the end of setup, for example:
|
|
|
499
616
|
> "Setup complete. Next step: activate **@dev** — your PRD is clear and no visual spec is needed."
|
|
500
617
|
|
|
501
618
|
This ensures the user knows exactly what to do next without having to remember the workflow sequence.
|
|
619
|
+
|
|
620
|
+
## Continuation Protocol
|
|
621
|
+
|
|
622
|
+
Before ending your response, always append:
|
|
623
|
+
|
|
624
|
+
---
|
|
625
|
+
## Next Up
|
|
626
|
+
- Project set up: [project name]
|
|
627
|
+
- Next step: `@product` (PRD) or `@dev` (MICRO direct)
|
|
628
|
+
- `project.context.md` must exist before any next agent runs
|
|
629
|
+
- `/clear` → fresh context window before continuing
|
|
630
|
+
|
|
631
|
+
**Session artifacts written:**
|
|
632
|
+
- [ ] [list each file created or modified]
|
|
633
|
+
---
|