aios-core 2.1.5 → 2.2.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.
Files changed (392) hide show
  1. package/.aios-core/core/README.md +229 -229
  2. package/.aios-core/core/data/agent-config-requirements.yaml +368 -368
  3. package/.aios-core/core/data/aios-kb.md +923 -923
  4. package/.aios-core/core/data/workflow-patterns.yaml +267 -267
  5. package/.aios-core/core/docs/SHARD-TRANSLATION-GUIDE.md +335 -335
  6. package/.aios-core/core/docs/component-creation-guide.md +457 -457
  7. package/.aios-core/core/docs/session-update-pattern.md +307 -307
  8. package/.aios-core/core/docs/template-syntax.md +266 -266
  9. package/.aios-core/core/docs/troubleshooting-guide.md +624 -624
  10. package/.aios-core/core/elicitation/elicitation-engine.js +1 -1
  11. package/.aios-core/core/index.esm.js +42 -42
  12. package/.aios-core/core/index.js +1 -1
  13. package/.aios-core/core/migration/migration-config.yaml +83 -83
  14. package/.aios-core/core/migration/module-mapping.yaml +89 -89
  15. package/.aios-core/core/quality-gates/layer2-pr-automation.js +1 -1
  16. package/.aios-core/core/quality-gates/quality-gate-config.yaml +86 -86
  17. package/.aios-core/core/registry/README.md +179 -179
  18. package/.aios-core/core/utils/security-utils.js +1 -1
  19. package/.aios-core/core-config.yaml +391 -382
  20. package/.aios-core/data/agent-config-requirements.yaml +368 -368
  21. package/.aios-core/data/aios-kb.md +923 -923
  22. package/.aios-core/data/technical-preferences.md +3 -3
  23. package/.aios-core/data/workflow-patterns.yaml +267 -267
  24. package/.aios-core/development/README.md +142 -142
  25. package/.aios-core/development/agent-teams/team-all.yaml +15 -15
  26. package/.aios-core/development/agent-teams/team-fullstack.yaml +18 -18
  27. package/.aios-core/development/agent-teams/team-ide-minimal.yaml +10 -10
  28. package/.aios-core/development/agent-teams/team-no-ui.yaml +13 -13
  29. package/.aios-core/development/agent-teams/team-qa-focused.yaml +155 -155
  30. package/.aios-core/development/agents/aios-master.md +339 -339
  31. package/.aios-core/development/agents/analyst.md +195 -195
  32. package/.aios-core/development/agents/architect.md +359 -359
  33. package/.aios-core/development/agents/data-engineer.md +468 -468
  34. package/.aios-core/development/agents/dev.md +390 -390
  35. package/.aios-core/development/agents/devops.md +398 -398
  36. package/.aios-core/development/agents/pm.md +198 -198
  37. package/.aios-core/development/agents/po.md +256 -256
  38. package/.aios-core/development/agents/qa.md +312 -312
  39. package/.aios-core/development/agents/sm.md +220 -220
  40. package/.aios-core/development/agents/ux-design-expert.md +451 -451
  41. package/.aios-core/development/scripts/greeting-config-cli.js +85 -85
  42. package/.aios-core/development/tasks/add-mcp.md +319 -319
  43. package/.aios-core/development/tasks/advanced-elicitation.md +318 -318
  44. package/.aios-core/development/tasks/analyst-facilitate-brainstorming.md +341 -341
  45. package/.aios-core/development/tasks/analyze-brownfield.md +456 -0
  46. package/.aios-core/development/tasks/analyze-framework.md +696 -696
  47. package/.aios-core/development/tasks/analyze-performance.md +637 -637
  48. package/.aios-core/development/tasks/apply-qa-fixes.md +340 -340
  49. package/.aios-core/development/tasks/architect-analyze-impact.md +826 -826
  50. package/.aios-core/development/tasks/audit-codebase.md +429 -429
  51. package/.aios-core/development/tasks/audit-tailwind-config.md +270 -270
  52. package/.aios-core/development/tasks/audit-utilities.md +358 -358
  53. package/.aios-core/development/tasks/bootstrap-shadcn-library.md +286 -286
  54. package/.aios-core/development/tasks/brownfield-create-epic.md +485 -485
  55. package/.aios-core/development/tasks/brownfield-create-story.md +356 -356
  56. package/.aios-core/development/tasks/build-component.md +478 -478
  57. package/.aios-core/development/tasks/calculate-roi.md +455 -455
  58. package/.aios-core/development/tasks/ci-cd-configuration.md +764 -764
  59. package/.aios-core/development/tasks/cleanup-utilities.md +670 -670
  60. package/.aios-core/development/tasks/collaborative-edit.md +1108 -1108
  61. package/.aios-core/development/tasks/compose-molecule.md +284 -284
  62. package/.aios-core/development/tasks/consolidate-patterns.md +414 -414
  63. package/.aios-core/development/tasks/correct-course.md +279 -279
  64. package/.aios-core/development/tasks/create-agent.md +321 -321
  65. package/.aios-core/development/tasks/create-brownfield-story.md +726 -726
  66. package/.aios-core/development/tasks/create-deep-research-prompt.md +498 -498
  67. package/.aios-core/development/tasks/create-doc.md +316 -316
  68. package/.aios-core/development/tasks/create-next-story.md +774 -774
  69. package/.aios-core/development/tasks/create-suite.md +283 -283
  70. package/.aios-core/development/tasks/create-task.md +371 -371
  71. package/.aios-core/development/tasks/create-workflow.md +370 -370
  72. package/.aios-core/development/tasks/db-analyze-hotpaths.md +572 -572
  73. package/.aios-core/development/tasks/db-apply-migration.md +381 -381
  74. package/.aios-core/development/tasks/db-bootstrap.md +642 -642
  75. package/.aios-core/development/tasks/db-domain-modeling.md +693 -693
  76. package/.aios-core/development/tasks/db-dry-run.md +293 -293
  77. package/.aios-core/development/tasks/db-env-check.md +260 -260
  78. package/.aios-core/development/tasks/db-expansion-pack-integration.md +663 -663
  79. package/.aios-core/development/tasks/db-explain.md +631 -631
  80. package/.aios-core/development/tasks/db-impersonate.md +495 -495
  81. package/.aios-core/development/tasks/db-load-csv.md +593 -593
  82. package/.aios-core/development/tasks/db-policy-apply.md +653 -653
  83. package/.aios-core/development/tasks/db-rls-audit.md +411 -411
  84. package/.aios-core/development/tasks/db-rollback.md +739 -739
  85. package/.aios-core/development/tasks/db-run-sql.md +613 -613
  86. package/.aios-core/development/tasks/db-schema-audit.md +1011 -1011
  87. package/.aios-core/development/tasks/db-seed.md +390 -390
  88. package/.aios-core/development/tasks/db-smoke-test.md +351 -351
  89. package/.aios-core/development/tasks/db-snapshot.md +569 -569
  90. package/.aios-core/development/tasks/db-supabase-setup.md +712 -712
  91. package/.aios-core/development/tasks/db-verify-order.md +515 -515
  92. package/.aios-core/development/tasks/deprecate-component.md +956 -956
  93. package/.aios-core/development/tasks/dev-apply-qa-fixes.md +318 -318
  94. package/.aios-core/development/tasks/dev-backlog-debt.md +469 -469
  95. package/.aios-core/development/tasks/dev-develop-story.md +846 -846
  96. package/.aios-core/development/tasks/dev-improve-code-quality.md +872 -872
  97. package/.aios-core/development/tasks/dev-optimize-performance.md +1033 -1033
  98. package/.aios-core/development/tasks/dev-suggest-refactoring.md +870 -870
  99. package/.aios-core/development/tasks/dev-validate-next-story.md +348 -348
  100. package/.aios-core/development/tasks/document-project.md +552 -552
  101. package/.aios-core/development/tasks/environment-bootstrap.md +1311 -1311
  102. package/.aios-core/development/tasks/execute-checklist.md +301 -301
  103. package/.aios-core/development/tasks/export-design-tokens-dtcg.md +274 -274
  104. package/.aios-core/development/tasks/extend-pattern.md +269 -269
  105. package/.aios-core/development/tasks/extract-tokens.md +467 -467
  106. package/.aios-core/development/tasks/facilitate-brainstorming-session.md +518 -518
  107. package/.aios-core/development/tasks/generate-ai-frontend-prompt.md +260 -260
  108. package/.aios-core/development/tasks/generate-documentation.md +284 -284
  109. package/.aios-core/development/tasks/generate-migration-strategy.md +522 -522
  110. package/.aios-core/development/tasks/generate-shock-report.md +501 -501
  111. package/.aios-core/development/tasks/github-devops-github-pr-automation.md +427 -427
  112. package/.aios-core/development/tasks/github-devops-pre-push-quality-gate.md +733 -733
  113. package/.aios-core/development/tasks/github-devops-repository-cleanup.md +374 -374
  114. package/.aios-core/development/tasks/github-devops-version-management.md +483 -483
  115. package/.aios-core/development/tasks/improve-self.md +822 -822
  116. package/.aios-core/development/tasks/index-docs.md +387 -387
  117. package/.aios-core/development/tasks/init-project-status.md +506 -506
  118. package/.aios-core/development/tasks/integrate-expansion-pack.md +314 -314
  119. package/.aios-core/development/tasks/kb-mode-interaction.md +283 -283
  120. package/.aios-core/development/tasks/learn-patterns.md +900 -900
  121. package/.aios-core/development/tasks/mcp-workflow.md +437 -437
  122. package/.aios-core/development/tasks/modify-agent.md +381 -381
  123. package/.aios-core/development/tasks/modify-task.md +424 -424
  124. package/.aios-core/development/tasks/modify-workflow.md +465 -465
  125. package/.aios-core/development/tasks/po-backlog-add.md +370 -370
  126. package/.aios-core/development/tasks/po-manage-story-backlog.md +523 -523
  127. package/.aios-core/development/tasks/po-pull-story-from-clickup.md +540 -540
  128. package/.aios-core/development/tasks/po-pull-story.md +316 -316
  129. package/.aios-core/development/tasks/po-stories-index.md +351 -351
  130. package/.aios-core/development/tasks/po-sync-story-to-clickup.md +457 -457
  131. package/.aios-core/development/tasks/po-sync-story.md +303 -303
  132. package/.aios-core/development/tasks/pr-automation.md +701 -701
  133. package/.aios-core/development/tasks/propose-modification.md +842 -842
  134. package/.aios-core/development/tasks/qa-backlog-add-followup.md +425 -425
  135. package/.aios-core/development/tasks/qa-gate.md +373 -373
  136. package/.aios-core/development/tasks/qa-generate-tests.md +1174 -1174
  137. package/.aios-core/development/tasks/qa-nfr-assess.md +557 -557
  138. package/.aios-core/development/tasks/qa-review-proposal.md +1157 -1157
  139. package/.aios-core/development/tasks/qa-review-story.md +682 -682
  140. package/.aios-core/development/tasks/qa-risk-profile.md +566 -566
  141. package/.aios-core/development/tasks/qa-run-tests.md +277 -277
  142. package/.aios-core/development/tasks/qa-test-design.md +387 -387
  143. package/.aios-core/development/tasks/qa-trace-requirements.md +476 -476
  144. package/.aios-core/development/tasks/release-management.md +723 -723
  145. package/.aios-core/development/tasks/security-audit.md +554 -554
  146. package/.aios-core/development/tasks/security-scan.md +790 -790
  147. package/.aios-core/development/tasks/setup-database.md +741 -741
  148. package/.aios-core/development/tasks/setup-design-system.md +462 -462
  149. package/.aios-core/development/tasks/setup-github.md +874 -874
  150. package/.aios-core/development/tasks/setup-llm-routing.md +1 -1
  151. package/.aios-core/development/tasks/setup-mcp-docker.md +584 -584
  152. package/.aios-core/development/tasks/setup-project-docs.md +440 -0
  153. package/.aios-core/development/tasks/shard-doc.md +537 -537
  154. package/.aios-core/development/tasks/sm-create-next-story.md +480 -480
  155. package/.aios-core/development/tasks/sync-documentation.md +864 -864
  156. package/.aios-core/development/tasks/tailwind-upgrade.md +294 -294
  157. package/.aios-core/development/tasks/test-as-user.md +621 -621
  158. package/.aios-core/development/tasks/test-validation-task.md +171 -171
  159. package/.aios-core/development/tasks/undo-last.md +346 -346
  160. package/.aios-core/development/tasks/update-manifest.md +409 -409
  161. package/.aios-core/development/tasks/ux-create-wireframe.md +617 -617
  162. package/.aios-core/development/tasks/ux-ds-scan-artifact.md +672 -672
  163. package/.aios-core/development/tasks/ux-user-research.md +559 -559
  164. package/.aios-core/development/tasks/validate-next-story.md +422 -422
  165. package/.aios-core/development/workflows/README.md +83 -83
  166. package/.aios-core/development/workflows/brownfield-fullstack.yaml +297 -297
  167. package/.aios-core/development/workflows/brownfield-service.yaml +187 -187
  168. package/.aios-core/development/workflows/brownfield-ui.yaml +197 -197
  169. package/.aios-core/development/workflows/greenfield-fullstack.yaml +333 -333
  170. package/.aios-core/development/workflows/greenfield-service.yaml +206 -206
  171. package/.aios-core/development/workflows/greenfield-ui.yaml +235 -235
  172. package/.aios-core/docs/SHARD-TRANSLATION-GUIDE.md +335 -335
  173. package/.aios-core/docs/component-creation-guide.md +457 -457
  174. package/.aios-core/docs/session-update-pattern.md +307 -307
  175. package/.aios-core/docs/standards/AGENT-PERSONALIZATION-STANDARD-V1.md +572 -572
  176. package/.aios-core/docs/standards/AIOS-COLOR-PALETTE-QUICK-REFERENCE.md +185 -185
  177. package/.aios-core/docs/standards/AIOS-COLOR-PALETTE-V2.1.md +354 -354
  178. package/.aios-core/docs/standards/AIOS-FRAMEWORK-MASTER.md +1963 -1963
  179. package/.aios-core/docs/standards/AIOS-LIVRO-DE-OURO-V2.1-COMPLETE.md +821 -821
  180. package/.aios-core/docs/standards/AIOS-LIVRO-DE-OURO-V2.1-SUMMARY.md +1190 -1190
  181. package/.aios-core/docs/standards/AIOS-LIVRO-DE-OURO-V2.1.md +439 -439
  182. package/.aios-core/docs/standards/AIOS-LIVRO-DE-OURO-V2.2-SUMMARY.md +1339 -1339
  183. package/.aios-core/docs/standards/AIOS-LIVRO-DE-OURO.md +5398 -5398
  184. package/.aios-core/docs/standards/EXECUTOR-DECISION-TREE.md +697 -697
  185. package/.aios-core/docs/standards/OPEN-SOURCE-VS-SERVICE-DIFFERENCES.md +511 -511
  186. package/.aios-core/docs/standards/QUALITY-GATES-SPECIFICATION.md +556 -556
  187. package/.aios-core/docs/standards/STANDARDS-INDEX.md +210 -210
  188. package/.aios-core/docs/standards/STORY-TEMPLATE-V2-SPECIFICATION.md +550 -550
  189. package/.aios-core/docs/standards/TASK-FORMAT-SPECIFICATION-V1.md +1414 -1414
  190. package/.aios-core/docs/standards/V3-ARCHITECTURAL-DECISIONS.md +523 -523
  191. package/.aios-core/docs/template-syntax.md +266 -266
  192. package/.aios-core/docs/troubleshooting-guide.md +624 -624
  193. package/.aios-core/index.esm.js +15 -15
  194. package/.aios-core/index.js +1 -1
  195. package/.aios-core/infrastructure/README.md +126 -126
  196. package/.aios-core/infrastructure/integrations/pm-adapters/README.md +59 -59
  197. package/.aios-core/infrastructure/scripts/approval-workflow.js +1 -1
  198. package/.aios-core/infrastructure/scripts/batch-creator.js +1 -1
  199. package/.aios-core/infrastructure/scripts/component-generator.js +3 -3
  200. package/.aios-core/infrastructure/scripts/component-metadata.js +1 -1
  201. package/.aios-core/infrastructure/scripts/component-search.js +1 -1
  202. package/.aios-core/infrastructure/scripts/coverage-analyzer.js +1 -1
  203. package/.aios-core/infrastructure/scripts/dependency-analyzer.js +1 -1
  204. package/.aios-core/infrastructure/scripts/dependency-impact-analyzer.js +1 -1
  205. package/.aios-core/infrastructure/scripts/documentation-integrity/brownfield-analyzer.js +501 -0
  206. package/.aios-core/infrastructure/scripts/documentation-integrity/config-generator.js +368 -0
  207. package/.aios-core/infrastructure/scripts/documentation-integrity/deployment-config-loader.js +308 -0
  208. package/.aios-core/infrastructure/scripts/documentation-integrity/doc-generator.js +331 -0
  209. package/.aios-core/infrastructure/scripts/documentation-integrity/gitignore-generator.js +312 -0
  210. package/.aios-core/infrastructure/scripts/documentation-integrity/index.js +74 -0
  211. package/.aios-core/infrastructure/scripts/documentation-integrity/mode-detector.js +389 -0
  212. package/.aios-core/infrastructure/scripts/framework-analyzer.js +1 -1
  213. package/.aios-core/infrastructure/scripts/improvement-engine.js +1 -1
  214. package/.aios-core/infrastructure/scripts/llm-routing/install-llm-routing.js +26 -13
  215. package/.aios-core/infrastructure/scripts/llm-routing/templates/claude-free-tracked.cmd +127 -0
  216. package/.aios-core/infrastructure/scripts/llm-routing/templates/claude-free-tracked.sh +108 -0
  217. package/.aios-core/infrastructure/scripts/llm-routing/templates/deepseek-proxy.cmd +71 -0
  218. package/.aios-core/infrastructure/scripts/llm-routing/templates/deepseek-proxy.sh +65 -0
  219. package/.aios-core/infrastructure/scripts/llm-routing/templates/deepseek-usage.cmd +51 -0
  220. package/.aios-core/infrastructure/scripts/llm-routing/templates/deepseek-usage.sh +16 -0
  221. package/.aios-core/infrastructure/scripts/llm-routing/usage-tracker/index.js +549 -0
  222. package/.aios-core/infrastructure/scripts/modification-risk-assessment.js +1 -1
  223. package/.aios-core/infrastructure/scripts/performance-analyzer.js +1 -1
  224. package/.aios-core/infrastructure/scripts/pm-adapter.js +134 -134
  225. package/.aios-core/infrastructure/scripts/repository-detector.js +3 -3
  226. package/.aios-core/infrastructure/scripts/template-engine.js +1 -1
  227. package/.aios-core/infrastructure/scripts/template-validator.js +1 -1
  228. package/.aios-core/infrastructure/scripts/test-generator.js +1 -1
  229. package/.aios-core/infrastructure/scripts/test-quality-assessment.js +1 -1
  230. package/.aios-core/infrastructure/scripts/transaction-manager.js +1 -1
  231. package/.aios-core/infrastructure/scripts/usage-analytics.js +1 -1
  232. package/.aios-core/infrastructure/scripts/visual-impact-generator.js +2 -2
  233. package/.aios-core/infrastructure/templates/core-config/core-config-brownfield.tmpl.yaml +176 -0
  234. package/.aios-core/infrastructure/templates/core-config/core-config-greenfield.tmpl.yaml +127 -0
  235. package/.aios-core/infrastructure/templates/github-workflows/README.md +109 -109
  236. package/.aios-core/infrastructure/templates/gitignore/gitignore-aios-base.tmpl +63 -0
  237. package/.aios-core/infrastructure/templates/gitignore/gitignore-brownfield-merge.tmpl +18 -0
  238. package/.aios-core/infrastructure/templates/gitignore/gitignore-node.tmpl +85 -0
  239. package/.aios-core/infrastructure/templates/gitignore/gitignore-python.tmpl +145 -0
  240. package/.aios-core/infrastructure/templates/project-docs/coding-standards-tmpl.md +346 -0
  241. package/.aios-core/infrastructure/templates/project-docs/source-tree-tmpl.md +177 -0
  242. package/.aios-core/infrastructure/templates/project-docs/tech-stack-tmpl.md +267 -0
  243. package/.aios-core/infrastructure/tests/regression-suite-v2.md +621 -621
  244. package/.aios-core/infrastructure/tools/README.md +222 -222
  245. package/.aios-core/infrastructure/tools/cli/github-cli.yaml +200 -200
  246. package/.aios-core/infrastructure/tools/cli/railway-cli.yaml +260 -260
  247. package/.aios-core/infrastructure/tools/cli/supabase-cli.yaml +224 -224
  248. package/.aios-core/infrastructure/tools/local/ffmpeg.yaml +261 -261
  249. package/.aios-core/infrastructure/tools/mcp/21st-dev-magic.yaml +127 -127
  250. package/.aios-core/infrastructure/tools/mcp/browser.yaml +103 -103
  251. package/.aios-core/infrastructure/tools/mcp/clickup.yaml +534 -534
  252. package/.aios-core/infrastructure/tools/mcp/context7.yaml +78 -78
  253. package/.aios-core/infrastructure/tools/mcp/desktop-commander.yaml +180 -180
  254. package/.aios-core/infrastructure/tools/mcp/exa.yaml +103 -103
  255. package/.aios-core/infrastructure/tools/mcp/google-workspace.yaml +930 -930
  256. package/.aios-core/infrastructure/tools/mcp/n8n.yaml +551 -551
  257. package/.aios-core/infrastructure/tools/mcp/supabase.yaml +808 -808
  258. package/.aios-core/install-manifest.yaml +347 -347
  259. package/.aios-core/product/README.md +56 -56
  260. package/.aios-core/product/checklists/accessibility-wcag-checklist.md +80 -0
  261. package/.aios-core/product/checklists/architect-checklist.md +443 -443
  262. package/.aios-core/product/checklists/change-checklist.md +182 -182
  263. package/.aios-core/product/checklists/component-quality-checklist.md +74 -0
  264. package/.aios-core/product/checklists/database-design-checklist.md +119 -119
  265. package/.aios-core/product/checklists/dba-predeploy-checklist.md +97 -97
  266. package/.aios-core/product/checklists/dba-rollback-checklist.md +99 -99
  267. package/.aios-core/product/checklists/migration-readiness-checklist.md +75 -0
  268. package/.aios-core/product/checklists/pattern-audit-checklist.md +88 -0
  269. package/.aios-core/product/checklists/pm-checklist.md +375 -375
  270. package/.aios-core/product/checklists/po-master-checklist.md +441 -441
  271. package/.aios-core/product/checklists/pre-push-checklist.md +108 -108
  272. package/.aios-core/product/checklists/release-checklist.md +122 -122
  273. package/.aios-core/product/checklists/story-dod-checklist.md +101 -101
  274. package/.aios-core/product/checklists/story-draft-checklist.md +215 -215
  275. package/.aios-core/product/data/atomic-design-principles.md +108 -0
  276. package/.aios-core/product/data/brainstorming-techniques.md +36 -36
  277. package/.aios-core/product/data/consolidation-algorithms.md +142 -0
  278. package/.aios-core/product/data/database-best-practices.md +182 -0
  279. package/.aios-core/product/data/design-token-best-practices.md +107 -0
  280. package/.aios-core/product/data/elicitation-methods.md +134 -134
  281. package/.aios-core/product/data/integration-patterns.md +207 -0
  282. package/.aios-core/product/data/migration-safety-guide.md +329 -0
  283. package/.aios-core/product/data/mode-selection-best-practices.md +471 -471
  284. package/.aios-core/product/data/postgres-tuning-guide.md +300 -0
  285. package/.aios-core/product/data/rls-security-patterns.md +333 -0
  286. package/.aios-core/product/data/roi-calculation-guide.md +142 -0
  287. package/.aios-core/product/data/supabase-patterns.md +330 -0
  288. package/.aios-core/product/data/test-levels-framework.md +148 -148
  289. package/.aios-core/product/data/test-priorities-matrix.md +174 -174
  290. package/.aios-core/product/data/wcag-compliance-guide.md +267 -0
  291. package/.aios-core/product/templates/1mcp-config.yaml +225 -225
  292. package/.aios-core/product/templates/activation-instructions-inline-greeting.yaml +63 -63
  293. package/.aios-core/product/templates/activation-instructions-template.md +258 -258
  294. package/.aios-core/product/templates/agent-template.yaml +120 -120
  295. package/.aios-core/product/templates/architecture-tmpl.yaml +650 -650
  296. package/.aios-core/product/templates/brainstorming-output-tmpl.yaml +155 -155
  297. package/.aios-core/product/templates/brownfield-architecture-tmpl.yaml +475 -475
  298. package/.aios-core/product/templates/brownfield-prd-tmpl.yaml +279 -279
  299. package/.aios-core/product/templates/changelog-template.md +134 -134
  300. package/.aios-core/product/templates/command-rationalization-matrix.md +152 -152
  301. package/.aios-core/product/templates/competitor-analysis-tmpl.yaml +292 -292
  302. package/.aios-core/product/templates/design-story-tmpl.yaml +587 -587
  303. package/.aios-core/product/templates/ds-artifact-analysis.md +70 -70
  304. package/.aios-core/product/templates/front-end-architecture-tmpl.yaml +205 -205
  305. package/.aios-core/product/templates/front-end-spec-tmpl.yaml +348 -348
  306. package/.aios-core/product/templates/fullstack-architecture-tmpl.yaml +804 -804
  307. package/.aios-core/product/templates/github-pr-template.md +67 -67
  308. package/.aios-core/product/templates/gordon-mcp.yaml +140 -140
  309. package/.aios-core/product/templates/ide-rules/antigravity-rules.md +115 -115
  310. package/.aios-core/product/templates/ide-rules/claude-rules.md +221 -221
  311. package/.aios-core/product/templates/ide-rules/cline-rules.md +84 -84
  312. package/.aios-core/product/templates/ide-rules/copilot-rules.md +92 -92
  313. package/.aios-core/product/templates/ide-rules/cursor-rules.md +115 -115
  314. package/.aios-core/product/templates/ide-rules/gemini-rules.md +85 -85
  315. package/.aios-core/product/templates/ide-rules/roo-rules.md +86 -86
  316. package/.aios-core/product/templates/ide-rules/trae-rules.md +104 -104
  317. package/.aios-core/product/templates/ide-rules/windsurf-rules.md +80 -80
  318. package/.aios-core/product/templates/index-strategy-tmpl.yaml +53 -53
  319. package/.aios-core/product/templates/market-research-tmpl.yaml +251 -251
  320. package/.aios-core/product/templates/mcp-workflow.js +271 -271
  321. package/.aios-core/product/templates/migration-plan-tmpl.yaml +1022 -1022
  322. package/.aios-core/product/templates/migration-strategy-tmpl.md +524 -524
  323. package/.aios-core/product/templates/personalized-agent-template.md +258 -258
  324. package/.aios-core/product/templates/personalized-checklist-template.md +340 -340
  325. package/.aios-core/product/templates/personalized-task-template-v2.md +905 -905
  326. package/.aios-core/product/templates/personalized-task-template.md +344 -344
  327. package/.aios-core/product/templates/personalized-template-file.yaml +322 -322
  328. package/.aios-core/product/templates/personalized-workflow-template.yaml +460 -460
  329. package/.aios-core/product/templates/prd-tmpl.yaml +201 -201
  330. package/.aios-core/product/templates/project-brief-tmpl.yaml +220 -220
  331. package/.aios-core/product/templates/qa-gate-tmpl.yaml +240 -240
  332. package/.aios-core/product/templates/rls-policies-tmpl.yaml +1203 -1203
  333. package/.aios-core/product/templates/schema-design-tmpl.yaml +428 -428
  334. package/.aios-core/product/templates/state-persistence-tmpl.yaml +219 -219
  335. package/.aios-core/product/templates/story-tmpl.yaml +331 -331
  336. package/.aios-core/product/templates/task-execution-report.md +495 -495
  337. package/.aios-core/product/templates/task-template.md +122 -122
  338. package/.aios-core/product/templates/token-exports-tailwind-tmpl.js +395 -395
  339. package/.aios-core/product/templates/tokens-schema-tmpl.yaml +305 -305
  340. package/.aios-core/product/templates/workflow-template.yaml +133 -133
  341. package/.aios-core/scripts/README.md +354 -354
  342. package/.aios-core/scripts/aios-doc-template.md +325 -325
  343. package/.aios-core/scripts/elicitation-engine.js +1 -1
  344. package/.aios-core/scripts/test-template-system.js +1 -1
  345. package/.aios-core/scripts/workflow-management.md +69 -69
  346. package/.aios-core/user-guide.md +1413 -1413
  347. package/.aios-core/working-in-the-brownfield.md +361 -361
  348. package/LICENSE +1 -1
  349. package/README.md +702 -703
  350. package/bin/aios-init-old.js +3 -3
  351. package/bin/aios-init-v4.js +1 -1
  352. package/bin/aios-init.backup-v1.1.4.js +1 -1
  353. package/bin/aios-init.js +3 -3
  354. package/bin/aios.js +279 -279
  355. package/bin/utils/install-errors.js +339 -339
  356. package/bin/utils/install-transaction.js +445 -445
  357. package/index.d.ts +18 -18
  358. package/index.esm.js +20 -20
  359. package/index.js +6 -6
  360. package/package.json +8 -10
  361. package/packages/installer/src/config/templates/env-template.js +27 -4
  362. package/packages/installer/src/detection/detect-project-type.js +81 -81
  363. package/packages/installer/src/wizard/wizard.js +185 -34
  364. package/packages/installer/tests/integration/environment-configuration.test.js +2 -1
  365. package/packages/installer/tests/integration/wizard-detection.test.js +8 -6
  366. package/packages/installer/tests/unit/env-template.test.js +11 -10
  367. package/src/config/ide-configs.js +1 -1
  368. package/src/wizard/feedback.js +2 -2
  369. package/src/wizard/index.js +1 -1
  370. package/src/wizard/validation/report-generator.js +1 -1
  371. package/src/wizard/validation/troubleshooting-system.js +13 -13
  372. package/.aios-core/development/tasks/validate-structure.md +0 -243
  373. package/.aios-core/infrastructure/scripts/_archived/final-todo-count.js +0 -122
  374. package/.aios-core/infrastructure/scripts/_archived/fix-yaml-formatting.js +0 -89
  375. package/.aios-core/infrastructure/scripts/_archived/migration-generator.js +0 -780
  376. package/.aios-core/infrastructure/scripts/_archived/migration-path-generator.js +0 -950
  377. package/.aios-core/infrastructure/scripts/_archived/phase2-entrada-saida-errors.js +0 -425
  378. package/.aios-core/infrastructure/scripts/_archived/phase2-spot-check.js +0 -132
  379. package/.aios-core/infrastructure/scripts/_archived/phase3-tools-scripts-validation.js +0 -381
  380. package/.aios-core/infrastructure/scripts/_archived/phase4-metadata-performance.js +0 -203
  381. package/.aios-core/infrastructure/scripts/_archived/test-yaml-parsing.js +0 -24
  382. package/.aios-core/infrastructure/scripts/_archived/verify-yaml-fix.js +0 -51
  383. package/.aios-core/infrastructure/scripts/source-tree-guardian/index.js +0 -375
  384. package/.aios-core/infrastructure/scripts/source-tree-guardian/manifest-generator.js +0 -410
  385. package/.aios-core/infrastructure/scripts/source-tree-guardian/rules/naming-rules.yaml +0 -285
  386. package/.aios-core/infrastructure/scripts/source-tree-guardian/rules/placement-rules.yaml +0 -262
  387. package/.aios-core/infrastructure/scripts/source-tree-guardian/validator.js +0 -468
  388. package/.aios-core/tasks/find-component.md.legacy +0 -391
  389. package/.aios-core/tasks/generate-commit-message.md.legacy +0 -426
  390. package/.aios-core/tasks/generate-migration.md.legacy +0 -382
  391. package/.aios-core/tasks/rollback-modification.md.legacy +0 -307
  392. package/.aios-core/tasks/update-tests.md.legacy +0 -283
@@ -1,631 +1,631 @@
1
- # Task: EXPLAIN (ANALYZE, BUFFERS)
2
-
3
- **Purpose**: Run detailed query plan analysis to assess performance
4
-
5
- **Elicit**: true
6
-
7
- ---
8
-
9
- ## Execution Modes
10
-
11
- **Choose your execution mode:**
12
-
13
- ### 1. YOLO Mode - Fast, Autonomous (0-1 prompts)
14
- - Autonomous decision making with logging
15
- - Minimal user interaction
16
- - **Best for:** Simple, deterministic tasks
17
-
18
- ### 2. Interactive Mode - Balanced, Educational (5-10 prompts) **[DEFAULT]**
19
- - Explicit decision checkpoints
20
- - Educational explanations
21
- - **Best for:** Learning, complex decisions
22
-
23
- ### 3. Pre-Flight Planning - Comprehensive Upfront Planning
24
- - Task analysis phase (identify all ambiguities)
25
- - Zero ambiguity execution
26
- - **Best for:** Ambiguous requirements, critical work
27
-
28
- **Parameter:** `mode` (optional, default: `interactive`)
29
-
30
- ---
31
-
32
- ## Task Definition (AIOS Task Format V1.0)
33
-
34
- ```yaml
35
- task: dbExplain()
36
- responsável: Dara (Sage)
37
- responsavel_type: Agente
38
- atomic_layer: Config
39
-
40
- **Entrada:**
41
- - campo: query
42
- tipo: string
43
- origem: User Input
44
- obrigatório: true
45
- validação: Valid SQL query
46
-
47
- - campo: params
48
- tipo: object
49
- origem: User Input
50
- obrigatório: false
51
- validação: Query parameters
52
-
53
- - campo: connection
54
- tipo: object
55
- origem: config
56
- obrigatório: true
57
- validação: Valid PostgreSQL connection via Supabase
58
-
59
- **Saída:**
60
- - campo: query_result
61
- tipo: array
62
- destino: Memory
63
- persistido: false
64
-
65
- - campo: records_affected
66
- tipo: number
67
- destino: Return value
68
- persistido: false
69
-
70
- - campo: execution_time
71
- tipo: number
72
- destino: Memory
73
- persistido: false
74
- ```
75
-
76
- ---
77
-
78
- ## Pre-Conditions
79
-
80
- **Purpose:** Validate prerequisites BEFORE task execution (blocking)
81
-
82
- **Checklist:**
83
-
84
- ```yaml
85
- pre-conditions:
86
- - [ ] Database connection established; query syntax valid
87
- tipo: pre-condition
88
- blocker: true
89
- validação: |
90
- Check database connection established; query syntax valid
91
- error_message: "Pre-condition failed: Database connection established; query syntax valid"
92
- ```
93
-
94
- ---
95
-
96
- ## Post-Conditions
97
-
98
- **Purpose:** Validate execution success AFTER task completes
99
-
100
- **Checklist:**
101
-
102
- ```yaml
103
- post-conditions:
104
- - [ ] Query executed; results returned; transaction committed
105
- tipo: post-condition
106
- blocker: true
107
- validação: |
108
- Verify query executed; results returned; transaction committed
109
- error_message: "Post-condition failed: Query executed; results returned; transaction committed"
110
- ```
111
-
112
- ---
113
-
114
- ## Acceptance Criteria
115
-
116
- **Purpose:** Definitive pass/fail criteria for task completion
117
-
118
- **Checklist:**
119
-
120
- ```yaml
121
- acceptance-criteria:
122
- - [ ] Data persisted correctly; constraints respected; no orphaned data
123
- tipo: acceptance-criterion
124
- blocker: true
125
- validação: |
126
- Assert data persisted correctly; constraints respected; no orphaned data
127
- error_message: "Acceptance criterion not met: Data persisted correctly; constraints respected; no orphaned data"
128
- ```
129
-
130
- ---
131
-
132
- ## Tools
133
-
134
- **External/shared resources used by this task:**
135
-
136
- - **Tool:** supabase
137
- - **Purpose:** PostgreSQL database connection via Supabase client
138
- - **Source:** @supabase/supabase-js
139
-
140
- - **Tool:** query-validator
141
- - **Purpose:** SQL query syntax validation
142
- - **Source:** .aios-core/utils/db-query-validator.js
143
-
144
- ---
145
-
146
- ## Scripts
147
-
148
- **Agent-specific code for this task:**
149
-
150
- - **Script:** db-query.js
151
- - **Purpose:** Execute PostgreSQL queries with error handling via Supabase
152
- - **Language:** JavaScript
153
- - **Location:** .aios-core/scripts/db-query.js
154
-
155
- ---
156
-
157
- ## Error Handling
158
-
159
- **Strategy:** retry
160
-
161
- **Common Errors:**
162
-
163
- 1. **Error:** Connection Failed
164
- - **Cause:** Unable to connect to Neo4j database
165
- - **Resolution:** Check connection string, credentials, network
166
- - **Recovery:** Retry with exponential backoff (max 3 attempts)
167
-
168
- 2. **Error:** Query Syntax Error
169
- - **Cause:** Invalid Cypher query syntax
170
- - **Resolution:** Validate query syntax before execution
171
- - **Recovery:** Return detailed syntax error, suggest fix
172
-
173
- 3. **Error:** Transaction Rollback
174
- - **Cause:** Query violates constraints or timeout
175
- - **Resolution:** Review query logic and constraints
176
- - **Recovery:** Automatic rollback, preserve data integrity
177
-
178
- ---
179
-
180
- ## Performance
181
-
182
- **Expected Metrics:**
183
-
184
- ```yaml
185
- duration_expected: 2-10 min (estimated)
186
- cost_estimated: $0.001-0.008
187
- token_usage: ~800-2,500 tokens
188
- ```
189
-
190
- **Optimization Notes:**
191
- - Validate configuration early; use atomic writes; implement rollback checkpoints
192
-
193
- ---
194
-
195
- ## Metadata
196
-
197
- ```yaml
198
- story: N/A
199
- version: 1.0.0
200
- dependencies:
201
- - N/A
202
- tags:
203
- - database
204
- - infrastructure
205
- updated_at: 2025-11-17
206
- ```
207
-
208
- ---
209
-
210
-
211
- ## Inputs
212
-
213
- - `sql` (string): SQL query to analyze
214
-
215
- ---
216
-
217
- ## Process
218
-
219
- ### 1. Confirm Query
220
-
221
- Ask user:
222
- - Query to analyze
223
- - Expected result count (approximate)
224
- - Known performance issues?
225
-
226
- ### 2. Run EXPLAIN ANALYZE
227
-
228
- Execute with full analysis options:
229
-
230
- ```bash
231
- psql "$SUPABASE_DB_URL" -v ON_ERROR_STOP=1 <<SQL
232
- EXPLAIN (ANALYZE, BUFFERS, VERBOSE, FORMAT TEXT)
233
- {sql};
234
- SQL
235
- ```
236
-
237
- ### 3. Interpret Results
238
-
239
- Present key metrics:
240
-
241
- ```
242
- === Query Performance Analysis ===
243
-
244
- Execution Time: X.XX ms
245
- Planning Time: Y.YY ms
246
- Total Time: Z.ZZ ms
247
-
248
- Buffers:
249
- - Shared Hit: XXX (cache hits)
250
- - Shared Read: YYY (disk reads)
251
- - Temp Read/Written: ZZZ (temp files)
252
-
253
- Cost: XXX.XX..YYY.YY
254
- Rows: Estimated XXX, Actual YYY
255
- ```
256
-
257
- ---
258
-
259
- ## Understanding EXPLAIN Output
260
-
261
- ### Top-Level Metrics
262
-
263
- **Planning Time**
264
- - Time spent planning query
265
- - High value (>100ms) suggests complex query or missing statistics
266
-
267
- **Execution Time**
268
- - Actual query execution time
269
- - This is what users experience
270
-
271
- **Total Cost**
272
- - Estimated cost units (not milliseconds)
273
- - Higher = more expensive
274
- - Compare different query versions
275
-
276
- ### Node Types (Common Patterns)
277
-
278
- **Seq Scan** (Sequential Scan)
279
- - 🔴 Reads entire table
280
- - Slow for large tables
281
- - **Fix**: Add index if filtering rows
282
-
283
- **Index Scan**
284
- - ✅ Uses index to find rows
285
- - Fast for selective queries
286
- - Good when returning few rows
287
-
288
- **Index Only Scan**
289
- - ✅✅ Best case - reads only index
290
- - No table access needed
291
- - Requires VACUUM to update visibility map
292
-
293
- **Bitmap Heap Scan**
294
- - ✅ Good for medium selectivity
295
- - Combines multiple indexes
296
- - Better than multiple index scans
297
-
298
- **Nested Loop**
299
- - Good for small result sets
300
- - Joins by iterating
301
- - Can be slow with large data
302
-
303
- **Hash Join**
304
- - Good for large result sets
305
- - Builds hash table in memory
306
- - Fast for equi-joins
307
-
308
- **Merge Join**
309
- - Good for sorted inputs
310
- - Efficient for large sorted data
311
- - Requires sorted inputs (or sorts them)
312
-
313
- ### Buffer Analysis
314
-
315
- **Shared Hits** (Good)
316
- - Data found in cache
317
- - No disk I/O needed
318
- - High ratio = good caching
319
-
320
- **Shared Reads** (Bad if high)
321
- - Data read from disk
322
- - Slow compared to cache
323
- - High ratio = cache misses
324
-
325
- **Temp Read/Written** (Bad)
326
- - Using temp disk files
327
- - Memory insufficient
328
- - Often due to large sorts/hashes
329
-
330
- ---
331
-
332
- ## Common Performance Issues
333
-
334
- ### Issue 1: Sequential Scan on Large Table
335
-
336
- ```
337
- Seq Scan on fragments (cost=0.00..10000 rows=1000000)
338
- Filter: (user_id = '...')
339
- ```
340
-
341
- **Problem**: Scanning entire table
342
- **Impact**: Slow for large tables
343
- **Fix**: Create index
344
-
345
- ```sql
346
- CREATE INDEX idx_fragments_user_id ON fragments(user_id);
347
- ```
348
-
349
- ### Issue 2: Missing Index on Join
350
-
351
- ```
352
- Nested Loop (cost=0.00..50000)
353
- -> Seq Scan on users
354
- -> Seq Scan on fragments
355
- Filter: (fragments.user_id = users.id)
356
- ```
357
-
358
- **Problem**: No index for join condition
359
- **Impact**: Quadratic complexity
360
- **Fix**: Index foreign key
361
-
362
- ```sql
363
- CREATE INDEX idx_fragments_user_id ON fragments(user_id);
364
- ```
365
-
366
- ### Issue 3: High Temp File Usage
367
-
368
- ```
369
- Sort (cost=10000..12000)
370
- Sort Key: created_at DESC
371
- Sort Method: external merge Disk: 5000kB
372
- ```
373
-
374
- **Problem**: Sorting spills to disk
375
- **Impact**: Much slower than in-memory
376
- **Fix**: Increase work_mem or add index
377
-
378
- ```sql
379
- -- Option 1: Increase memory (session)
380
- SET work_mem = '64MB';
381
-
382
- -- Option 2: Add index to avoid sort
383
- CREATE INDEX idx_fragments_created_at ON fragments(created_at DESC);
384
- ```
385
-
386
- ### Issue 4: Poor Row Estimate
387
-
388
- ```
389
- Seq Scan on users (cost=0.00..100 rows=10 actual rows=10000)
390
- ```
391
-
392
- **Problem**: Estimated 10 rows, actually 10,000
393
- **Impact**: Wrong join strategy chosen
394
- **Fix**: Update statistics
395
-
396
- ```sql
397
- ANALYZE users;
398
- -- Or more aggressive:
399
- VACUUM ANALYZE users;
400
- ```
401
-
402
- ### Issue 5: Slow RLS Policy
403
-
404
- ```
405
- Seq Scan on fragments (cost=0.00..10000 rows=500000)
406
- Filter: ((user_id = auth.uid()) AND (deleted_at IS NULL))
407
- Rows Removed by Filter: 499990
408
- ```
409
-
410
- **Problem**: RLS policy not using index
411
- **Impact**: Scans all rows to apply policy
412
- **Fix**: Index RLS policy columns
413
-
414
- ```sql
415
- CREATE INDEX idx_fragments_user_id_not_deleted
416
- ON fragments(user_id)
417
- WHERE deleted_at IS NULL;
418
- ```
419
-
420
- ---
421
-
422
- ## Optimization Workflow
423
-
424
- ### 1. Baseline
425
-
426
- Run current query:
427
- ```bash
428
- *explain "SELECT * FROM table WHERE ..."
429
- ```
430
-
431
- Note execution time and plan.
432
-
433
- ### 2. Hypothesize
434
-
435
- What might be slow?
436
- - Sequential scans?
437
- - Missing indexes?
438
- - Sort/hash spills?
439
- - Poor statistics?
440
-
441
- ### 3. Test Fix
442
-
443
- Apply potential fix:
444
- ```sql
445
- CREATE INDEX ...;
446
- -- or
447
- VACUUM ANALYZE table;
448
- -- or
449
- SET work_mem = '...';
450
- ```
451
-
452
- ### 4. Re-Measure
453
-
454
- Run explain again:
455
- ```bash
456
- *explain "SELECT * FROM table WHERE ..."
457
- ```
458
-
459
- Compare:
460
- - Execution time improved?
461
- - Plan changed as expected?
462
- - Cost reduced?
463
-
464
- ### 5. Iterate
465
-
466
- Repeat until performance acceptable.
467
-
468
- ---
469
-
470
- ## Advanced Options
471
-
472
- ### Compare Different Queries
473
-
474
- ```bash
475
- # Option A
476
- *explain "SELECT * FROM users WHERE status = 'active'"
477
-
478
- # Option B (rewritten)
479
- *explain "SELECT * FROM users WHERE deleted_at IS NULL AND status = 'active'"
480
- ```
481
-
482
- Pick query with better plan.
483
-
484
- ### Analyze Hot Paths
485
-
486
- For critical queries, analyze under load:
487
-
488
- ```sql
489
- -- Run multiple times to warm cache
490
- EXPLAIN (ANALYZE, BUFFERS) SELECT ...;
491
- EXPLAIN (ANALYZE, BUFFERS) SELECT ...;
492
- EXPLAIN (ANALYZE, BUFFERS) SELECT ...;
493
-
494
- -- Check consistency of execution time
495
- ```
496
-
497
- ### Export Plan for Analysis
498
-
499
- ```bash
500
- psql "$SUPABASE_DB_URL" -qAt -c \
501
- "EXPLAIN (ANALYZE, BUFFERS, FORMAT JSON) SELECT ..." \
502
- > query_plan.json
503
- ```
504
-
505
- Upload to: https://explain.depesz.com or https://explain.dalibo.com
506
-
507
- ---
508
-
509
- ## Performance Targets
510
-
511
- ### Response Time Goals
512
-
513
- **Interactive queries**: < 100ms
514
- **Reports**: < 1s
515
- **Batch/Background**: < 5s
516
-
517
- **If slower:**
518
- - Check for sequential scans
519
- - Add/optimize indexes
520
- - Consider caching
521
- - Optimize RLS policies
522
-
523
- ### Cache Hit Ratio
524
-
525
- **Goal**: > 95% shared hits
526
-
527
- ```sql
528
- -- Check overall cache hit ratio
529
- SELECT
530
- sum(heap_blks_hit) / (sum(heap_blks_hit) + sum(heap_blks_read)) AS cache_hit_ratio
531
- FROM pg_statio_user_tables;
532
- ```
533
-
534
- **If low:**
535
- - Increase shared_buffers (DBA task)
536
- - Query optimization needed
537
- - Consider query pattern changes
538
-
539
- ---
540
-
541
- ## When to Use EXPLAIN
542
-
543
- **Always:**
544
- - New query in production code
545
- - After schema changes
546
- - When adding indexes
547
- - RLS policy changes
548
-
549
- **Reactive:**
550
- - Slow query reports
551
- - Performance degradation
552
- - High database load
553
- - Before optimization attempts
554
-
555
- **Never:**
556
- - For queries already known to be fast
557
- - On queries with no data yet (stats unreliable)
558
- - Without ANALYZE if you need actual timing
559
-
560
- ---
561
-
562
- ## Limitations
563
-
564
- ### EXPLAIN ANALYZE Runs Query
565
-
566
- ⚠️ **Warning**: ANALYZE actually executes query
567
-
568
- **Safe:**
569
- - SELECT queries
570
- - Read-only queries
571
-
572
- **Dangerous:**
573
- - INSERT/UPDATE/DELETE (use transaction + rollback)
574
- - Queries with side effects
575
-
576
- ```sql
577
- -- Safe way to EXPLAIN write queries
578
- BEGIN;
579
- EXPLAIN ANALYZE DELETE FROM ...;
580
- ROLLBACK; -- Undo changes
581
- ```
582
-
583
- ### Statistics May Be Stale
584
-
585
- Plans based on table statistics:
586
- - Updated by VACUUM/ANALYZE
587
- - May not reflect current data
588
- - Run ANALYZE if estimates way off
589
-
590
- ### Plan Can Change
591
-
592
- Plans vary based on:
593
- - Data distribution
594
- - Table size
595
- - Server configuration
596
- - Cache state
597
- - Time of day (load)
598
-
599
- ---
600
-
601
- ## Integration with Workflow
602
-
603
- Query optimization workflow:
604
-
605
- 1. Find slow query (logs, monitoring)
606
- 2. `*explain "SELECT ..."` - Baseline
607
- 3. Analyze plan (sequential scans? missing indexes?)
608
- 4. Hypothesize fix
609
- 5. Apply fix in dev
610
- 6. `*explain "SELECT ..."` - Verify improvement
611
- 7. Test with real data volume
612
- 8. Deploy to production
613
- 9. Monitor actual performance
614
-
615
- ---
616
-
617
- ## Resources
618
-
619
- **Visualization Tools:**
620
- - https://explain.depesz.com
621
- - https://explain.dalibo.com
622
- - https://tatiyants.com/pev/
623
-
624
- **Documentation:**
625
- - PostgreSQL EXPLAIN: https://www.postgresql.org/docs/current/sql-explain.html
626
- - Using EXPLAIN: https://www.postgresql.org/docs/current/using-explain.html
627
-
628
- **Related Commands:**
629
- - `*analyze-hotpaths` - Check common query patterns
630
- - `*design-indexes` - Plan index strategy
631
- - `*rls-audit` - Check RLS policy performance
1
+ # Task: EXPLAIN (ANALYZE, BUFFERS)
2
+
3
+ **Purpose**: Run detailed query plan analysis to assess performance
4
+
5
+ **Elicit**: true
6
+
7
+ ---
8
+
9
+ ## Execution Modes
10
+
11
+ **Choose your execution mode:**
12
+
13
+ ### 1. YOLO Mode - Fast, Autonomous (0-1 prompts)
14
+ - Autonomous decision making with logging
15
+ - Minimal user interaction
16
+ - **Best for:** Simple, deterministic tasks
17
+
18
+ ### 2. Interactive Mode - Balanced, Educational (5-10 prompts) **[DEFAULT]**
19
+ - Explicit decision checkpoints
20
+ - Educational explanations
21
+ - **Best for:** Learning, complex decisions
22
+
23
+ ### 3. Pre-Flight Planning - Comprehensive Upfront Planning
24
+ - Task analysis phase (identify all ambiguities)
25
+ - Zero ambiguity execution
26
+ - **Best for:** Ambiguous requirements, critical work
27
+
28
+ **Parameter:** `mode` (optional, default: `interactive`)
29
+
30
+ ---
31
+
32
+ ## Task Definition (AIOS Task Format V1.0)
33
+
34
+ ```yaml
35
+ task: dbExplain()
36
+ responsável: Dara (Sage)
37
+ responsavel_type: Agente
38
+ atomic_layer: Config
39
+
40
+ **Entrada:**
41
+ - campo: query
42
+ tipo: string
43
+ origem: User Input
44
+ obrigatório: true
45
+ validação: Valid SQL query
46
+
47
+ - campo: params
48
+ tipo: object
49
+ origem: User Input
50
+ obrigatório: false
51
+ validação: Query parameters
52
+
53
+ - campo: connection
54
+ tipo: object
55
+ origem: config
56
+ obrigatório: true
57
+ validação: Valid PostgreSQL connection via Supabase
58
+
59
+ **Saída:**
60
+ - campo: query_result
61
+ tipo: array
62
+ destino: Memory
63
+ persistido: false
64
+
65
+ - campo: records_affected
66
+ tipo: number
67
+ destino: Return value
68
+ persistido: false
69
+
70
+ - campo: execution_time
71
+ tipo: number
72
+ destino: Memory
73
+ persistido: false
74
+ ```
75
+
76
+ ---
77
+
78
+ ## Pre-Conditions
79
+
80
+ **Purpose:** Validate prerequisites BEFORE task execution (blocking)
81
+
82
+ **Checklist:**
83
+
84
+ ```yaml
85
+ pre-conditions:
86
+ - [ ] Database connection established; query syntax valid
87
+ tipo: pre-condition
88
+ blocker: true
89
+ validação: |
90
+ Check database connection established; query syntax valid
91
+ error_message: "Pre-condition failed: Database connection established; query syntax valid"
92
+ ```
93
+
94
+ ---
95
+
96
+ ## Post-Conditions
97
+
98
+ **Purpose:** Validate execution success AFTER task completes
99
+
100
+ **Checklist:**
101
+
102
+ ```yaml
103
+ post-conditions:
104
+ - [ ] Query executed; results returned; transaction committed
105
+ tipo: post-condition
106
+ blocker: true
107
+ validação: |
108
+ Verify query executed; results returned; transaction committed
109
+ error_message: "Post-condition failed: Query executed; results returned; transaction committed"
110
+ ```
111
+
112
+ ---
113
+
114
+ ## Acceptance Criteria
115
+
116
+ **Purpose:** Definitive pass/fail criteria for task completion
117
+
118
+ **Checklist:**
119
+
120
+ ```yaml
121
+ acceptance-criteria:
122
+ - [ ] Data persisted correctly; constraints respected; no orphaned data
123
+ tipo: acceptance-criterion
124
+ blocker: true
125
+ validação: |
126
+ Assert data persisted correctly; constraints respected; no orphaned data
127
+ error_message: "Acceptance criterion not met: Data persisted correctly; constraints respected; no orphaned data"
128
+ ```
129
+
130
+ ---
131
+
132
+ ## Tools
133
+
134
+ **External/shared resources used by this task:**
135
+
136
+ - **Tool:** supabase
137
+ - **Purpose:** PostgreSQL database connection via Supabase client
138
+ - **Source:** @supabase/supabase-js
139
+
140
+ - **Tool:** query-validator
141
+ - **Purpose:** SQL query syntax validation
142
+ - **Source:** .aios-core/utils/db-query-validator.js
143
+
144
+ ---
145
+
146
+ ## Scripts
147
+
148
+ **Agent-specific code for this task:**
149
+
150
+ - **Script:** db-query.js
151
+ - **Purpose:** Execute PostgreSQL queries with error handling via Supabase
152
+ - **Language:** JavaScript
153
+ - **Location:** .aios-core/scripts/db-query.js
154
+
155
+ ---
156
+
157
+ ## Error Handling
158
+
159
+ **Strategy:** retry
160
+
161
+ **Common Errors:**
162
+
163
+ 1. **Error:** Connection Failed
164
+ - **Cause:** Unable to connect to Neo4j database
165
+ - **Resolution:** Check connection string, credentials, network
166
+ - **Recovery:** Retry with exponential backoff (max 3 attempts)
167
+
168
+ 2. **Error:** Query Syntax Error
169
+ - **Cause:** Invalid Cypher query syntax
170
+ - **Resolution:** Validate query syntax before execution
171
+ - **Recovery:** Return detailed syntax error, suggest fix
172
+
173
+ 3. **Error:** Transaction Rollback
174
+ - **Cause:** Query violates constraints or timeout
175
+ - **Resolution:** Review query logic and constraints
176
+ - **Recovery:** Automatic rollback, preserve data integrity
177
+
178
+ ---
179
+
180
+ ## Performance
181
+
182
+ **Expected Metrics:**
183
+
184
+ ```yaml
185
+ duration_expected: 2-10 min (estimated)
186
+ cost_estimated: $0.001-0.008
187
+ token_usage: ~800-2,500 tokens
188
+ ```
189
+
190
+ **Optimization Notes:**
191
+ - Validate configuration early; use atomic writes; implement rollback checkpoints
192
+
193
+ ---
194
+
195
+ ## Metadata
196
+
197
+ ```yaml
198
+ story: N/A
199
+ version: 1.0.0
200
+ dependencies:
201
+ - N/A
202
+ tags:
203
+ - database
204
+ - infrastructure
205
+ updated_at: 2025-11-17
206
+ ```
207
+
208
+ ---
209
+
210
+
211
+ ## Inputs
212
+
213
+ - `sql` (string): SQL query to analyze
214
+
215
+ ---
216
+
217
+ ## Process
218
+
219
+ ### 1. Confirm Query
220
+
221
+ Ask user:
222
+ - Query to analyze
223
+ - Expected result count (approximate)
224
+ - Known performance issues?
225
+
226
+ ### 2. Run EXPLAIN ANALYZE
227
+
228
+ Execute with full analysis options:
229
+
230
+ ```bash
231
+ psql "$SUPABASE_DB_URL" -v ON_ERROR_STOP=1 <<SQL
232
+ EXPLAIN (ANALYZE, BUFFERS, VERBOSE, FORMAT TEXT)
233
+ {sql};
234
+ SQL
235
+ ```
236
+
237
+ ### 3. Interpret Results
238
+
239
+ Present key metrics:
240
+
241
+ ```
242
+ === Query Performance Analysis ===
243
+
244
+ Execution Time: X.XX ms
245
+ Planning Time: Y.YY ms
246
+ Total Time: Z.ZZ ms
247
+
248
+ Buffers:
249
+ - Shared Hit: XXX (cache hits)
250
+ - Shared Read: YYY (disk reads)
251
+ - Temp Read/Written: ZZZ (temp files)
252
+
253
+ Cost: XXX.XX..YYY.YY
254
+ Rows: Estimated XXX, Actual YYY
255
+ ```
256
+
257
+ ---
258
+
259
+ ## Understanding EXPLAIN Output
260
+
261
+ ### Top-Level Metrics
262
+
263
+ **Planning Time**
264
+ - Time spent planning query
265
+ - High value (>100ms) suggests complex query or missing statistics
266
+
267
+ **Execution Time**
268
+ - Actual query execution time
269
+ - This is what users experience
270
+
271
+ **Total Cost**
272
+ - Estimated cost units (not milliseconds)
273
+ - Higher = more expensive
274
+ - Compare different query versions
275
+
276
+ ### Node Types (Common Patterns)
277
+
278
+ **Seq Scan** (Sequential Scan)
279
+ - 🔴 Reads entire table
280
+ - Slow for large tables
281
+ - **Fix**: Add index if filtering rows
282
+
283
+ **Index Scan**
284
+ - ✅ Uses index to find rows
285
+ - Fast for selective queries
286
+ - Good when returning few rows
287
+
288
+ **Index Only Scan**
289
+ - ✅✅ Best case - reads only index
290
+ - No table access needed
291
+ - Requires VACUUM to update visibility map
292
+
293
+ **Bitmap Heap Scan**
294
+ - ✅ Good for medium selectivity
295
+ - Combines multiple indexes
296
+ - Better than multiple index scans
297
+
298
+ **Nested Loop**
299
+ - Good for small result sets
300
+ - Joins by iterating
301
+ - Can be slow with large data
302
+
303
+ **Hash Join**
304
+ - Good for large result sets
305
+ - Builds hash table in memory
306
+ - Fast for equi-joins
307
+
308
+ **Merge Join**
309
+ - Good for sorted inputs
310
+ - Efficient for large sorted data
311
+ - Requires sorted inputs (or sorts them)
312
+
313
+ ### Buffer Analysis
314
+
315
+ **Shared Hits** (Good)
316
+ - Data found in cache
317
+ - No disk I/O needed
318
+ - High ratio = good caching
319
+
320
+ **Shared Reads** (Bad if high)
321
+ - Data read from disk
322
+ - Slow compared to cache
323
+ - High ratio = cache misses
324
+
325
+ **Temp Read/Written** (Bad)
326
+ - Using temp disk files
327
+ - Memory insufficient
328
+ - Often due to large sorts/hashes
329
+
330
+ ---
331
+
332
+ ## Common Performance Issues
333
+
334
+ ### Issue 1: Sequential Scan on Large Table
335
+
336
+ ```
337
+ Seq Scan on fragments (cost=0.00..10000 rows=1000000)
338
+ Filter: (user_id = '...')
339
+ ```
340
+
341
+ **Problem**: Scanning entire table
342
+ **Impact**: Slow for large tables
343
+ **Fix**: Create index
344
+
345
+ ```sql
346
+ CREATE INDEX idx_fragments_user_id ON fragments(user_id);
347
+ ```
348
+
349
+ ### Issue 2: Missing Index on Join
350
+
351
+ ```
352
+ Nested Loop (cost=0.00..50000)
353
+ -> Seq Scan on users
354
+ -> Seq Scan on fragments
355
+ Filter: (fragments.user_id = users.id)
356
+ ```
357
+
358
+ **Problem**: No index for join condition
359
+ **Impact**: Quadratic complexity
360
+ **Fix**: Index foreign key
361
+
362
+ ```sql
363
+ CREATE INDEX idx_fragments_user_id ON fragments(user_id);
364
+ ```
365
+
366
+ ### Issue 3: High Temp File Usage
367
+
368
+ ```
369
+ Sort (cost=10000..12000)
370
+ Sort Key: created_at DESC
371
+ Sort Method: external merge Disk: 5000kB
372
+ ```
373
+
374
+ **Problem**: Sorting spills to disk
375
+ **Impact**: Much slower than in-memory
376
+ **Fix**: Increase work_mem or add index
377
+
378
+ ```sql
379
+ -- Option 1: Increase memory (session)
380
+ SET work_mem = '64MB';
381
+
382
+ -- Option 2: Add index to avoid sort
383
+ CREATE INDEX idx_fragments_created_at ON fragments(created_at DESC);
384
+ ```
385
+
386
+ ### Issue 4: Poor Row Estimate
387
+
388
+ ```
389
+ Seq Scan on users (cost=0.00..100 rows=10 actual rows=10000)
390
+ ```
391
+
392
+ **Problem**: Estimated 10 rows, actually 10,000
393
+ **Impact**: Wrong join strategy chosen
394
+ **Fix**: Update statistics
395
+
396
+ ```sql
397
+ ANALYZE users;
398
+ -- Or more aggressive:
399
+ VACUUM ANALYZE users;
400
+ ```
401
+
402
+ ### Issue 5: Slow RLS Policy
403
+
404
+ ```
405
+ Seq Scan on fragments (cost=0.00..10000 rows=500000)
406
+ Filter: ((user_id = auth.uid()) AND (deleted_at IS NULL))
407
+ Rows Removed by Filter: 499990
408
+ ```
409
+
410
+ **Problem**: RLS policy not using index
411
+ **Impact**: Scans all rows to apply policy
412
+ **Fix**: Index RLS policy columns
413
+
414
+ ```sql
415
+ CREATE INDEX idx_fragments_user_id_not_deleted
416
+ ON fragments(user_id)
417
+ WHERE deleted_at IS NULL;
418
+ ```
419
+
420
+ ---
421
+
422
+ ## Optimization Workflow
423
+
424
+ ### 1. Baseline
425
+
426
+ Run current query:
427
+ ```bash
428
+ *explain "SELECT * FROM table WHERE ..."
429
+ ```
430
+
431
+ Note execution time and plan.
432
+
433
+ ### 2. Hypothesize
434
+
435
+ What might be slow?
436
+ - Sequential scans?
437
+ - Missing indexes?
438
+ - Sort/hash spills?
439
+ - Poor statistics?
440
+
441
+ ### 3. Test Fix
442
+
443
+ Apply potential fix:
444
+ ```sql
445
+ CREATE INDEX ...;
446
+ -- or
447
+ VACUUM ANALYZE table;
448
+ -- or
449
+ SET work_mem = '...';
450
+ ```
451
+
452
+ ### 4. Re-Measure
453
+
454
+ Run explain again:
455
+ ```bash
456
+ *explain "SELECT * FROM table WHERE ..."
457
+ ```
458
+
459
+ Compare:
460
+ - Execution time improved?
461
+ - Plan changed as expected?
462
+ - Cost reduced?
463
+
464
+ ### 5. Iterate
465
+
466
+ Repeat until performance acceptable.
467
+
468
+ ---
469
+
470
+ ## Advanced Options
471
+
472
+ ### Compare Different Queries
473
+
474
+ ```bash
475
+ # Option A
476
+ *explain "SELECT * FROM users WHERE status = 'active'"
477
+
478
+ # Option B (rewritten)
479
+ *explain "SELECT * FROM users WHERE deleted_at IS NULL AND status = 'active'"
480
+ ```
481
+
482
+ Pick query with better plan.
483
+
484
+ ### Analyze Hot Paths
485
+
486
+ For critical queries, analyze under load:
487
+
488
+ ```sql
489
+ -- Run multiple times to warm cache
490
+ EXPLAIN (ANALYZE, BUFFERS) SELECT ...;
491
+ EXPLAIN (ANALYZE, BUFFERS) SELECT ...;
492
+ EXPLAIN (ANALYZE, BUFFERS) SELECT ...;
493
+
494
+ -- Check consistency of execution time
495
+ ```
496
+
497
+ ### Export Plan for Analysis
498
+
499
+ ```bash
500
+ psql "$SUPABASE_DB_URL" -qAt -c \
501
+ "EXPLAIN (ANALYZE, BUFFERS, FORMAT JSON) SELECT ..." \
502
+ > query_plan.json
503
+ ```
504
+
505
+ Upload to: https://explain.depesz.com or https://explain.dalibo.com
506
+
507
+ ---
508
+
509
+ ## Performance Targets
510
+
511
+ ### Response Time Goals
512
+
513
+ **Interactive queries**: < 100ms
514
+ **Reports**: < 1s
515
+ **Batch/Background**: < 5s
516
+
517
+ **If slower:**
518
+ - Check for sequential scans
519
+ - Add/optimize indexes
520
+ - Consider caching
521
+ - Optimize RLS policies
522
+
523
+ ### Cache Hit Ratio
524
+
525
+ **Goal**: > 95% shared hits
526
+
527
+ ```sql
528
+ -- Check overall cache hit ratio
529
+ SELECT
530
+ sum(heap_blks_hit) / (sum(heap_blks_hit) + sum(heap_blks_read)) AS cache_hit_ratio
531
+ FROM pg_statio_user_tables;
532
+ ```
533
+
534
+ **If low:**
535
+ - Increase shared_buffers (DBA task)
536
+ - Query optimization needed
537
+ - Consider query pattern changes
538
+
539
+ ---
540
+
541
+ ## When to Use EXPLAIN
542
+
543
+ **Always:**
544
+ - New query in production code
545
+ - After schema changes
546
+ - When adding indexes
547
+ - RLS policy changes
548
+
549
+ **Reactive:**
550
+ - Slow query reports
551
+ - Performance degradation
552
+ - High database load
553
+ - Before optimization attempts
554
+
555
+ **Never:**
556
+ - For queries already known to be fast
557
+ - On queries with no data yet (stats unreliable)
558
+ - Without ANALYZE if you need actual timing
559
+
560
+ ---
561
+
562
+ ## Limitations
563
+
564
+ ### EXPLAIN ANALYZE Runs Query
565
+
566
+ ⚠️ **Warning**: ANALYZE actually executes query
567
+
568
+ **Safe:**
569
+ - SELECT queries
570
+ - Read-only queries
571
+
572
+ **Dangerous:**
573
+ - INSERT/UPDATE/DELETE (use transaction + rollback)
574
+ - Queries with side effects
575
+
576
+ ```sql
577
+ -- Safe way to EXPLAIN write queries
578
+ BEGIN;
579
+ EXPLAIN ANALYZE DELETE FROM ...;
580
+ ROLLBACK; -- Undo changes
581
+ ```
582
+
583
+ ### Statistics May Be Stale
584
+
585
+ Plans based on table statistics:
586
+ - Updated by VACUUM/ANALYZE
587
+ - May not reflect current data
588
+ - Run ANALYZE if estimates way off
589
+
590
+ ### Plan Can Change
591
+
592
+ Plans vary based on:
593
+ - Data distribution
594
+ - Table size
595
+ - Server configuration
596
+ - Cache state
597
+ - Time of day (load)
598
+
599
+ ---
600
+
601
+ ## Integration with Workflow
602
+
603
+ Query optimization workflow:
604
+
605
+ 1. Find slow query (logs, monitoring)
606
+ 2. `*explain "SELECT ..."` - Baseline
607
+ 3. Analyze plan (sequential scans? missing indexes?)
608
+ 4. Hypothesize fix
609
+ 5. Apply fix in dev
610
+ 6. `*explain "SELECT ..."` - Verify improvement
611
+ 7. Test with real data volume
612
+ 8. Deploy to production
613
+ 9. Monitor actual performance
614
+
615
+ ---
616
+
617
+ ## Resources
618
+
619
+ **Visualization Tools:**
620
+ - https://explain.depesz.com
621
+ - https://explain.dalibo.com
622
+ - https://tatiyants.com/pev/
623
+
624
+ **Documentation:**
625
+ - PostgreSQL EXPLAIN: https://www.postgresql.org/docs/current/sql-explain.html
626
+ - Using EXPLAIN: https://www.postgresql.org/docs/current/using-explain.html
627
+
628
+ **Related Commands:**
629
+ - `*analyze-hotpaths` - Check common query patterns
630
+ - `*design-indexes` - Plan index strategy
631
+ - `*rls-audit` - Check RLS policy performance