aios-core 2.1.6 → 2.2.1

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 (371) 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-framework.md +696 -696
  46. package/.aios-core/development/tasks/analyze-performance.md +637 -637
  47. package/.aios-core/development/tasks/apply-qa-fixes.md +340 -340
  48. package/.aios-core/development/tasks/architect-analyze-impact.md +826 -826
  49. package/.aios-core/development/tasks/audit-codebase.md +429 -429
  50. package/.aios-core/development/tasks/audit-tailwind-config.md +270 -270
  51. package/.aios-core/development/tasks/audit-utilities.md +358 -358
  52. package/.aios-core/development/tasks/bootstrap-shadcn-library.md +286 -286
  53. package/.aios-core/development/tasks/brownfield-create-epic.md +485 -485
  54. package/.aios-core/development/tasks/brownfield-create-story.md +356 -356
  55. package/.aios-core/development/tasks/build-component.md +478 -478
  56. package/.aios-core/development/tasks/calculate-roi.md +455 -455
  57. package/.aios-core/development/tasks/ci-cd-configuration.md +764 -764
  58. package/.aios-core/development/tasks/cleanup-utilities.md +670 -670
  59. package/.aios-core/development/tasks/collaborative-edit.md +1108 -1108
  60. package/.aios-core/development/tasks/compose-molecule.md +284 -284
  61. package/.aios-core/development/tasks/consolidate-patterns.md +414 -414
  62. package/.aios-core/development/tasks/correct-course.md +279 -279
  63. package/.aios-core/development/tasks/create-agent.md +321 -321
  64. package/.aios-core/development/tasks/create-brownfield-story.md +726 -726
  65. package/.aios-core/development/tasks/create-deep-research-prompt.md +498 -498
  66. package/.aios-core/development/tasks/create-doc.md +316 -316
  67. package/.aios-core/development/tasks/create-next-story.md +774 -774
  68. package/.aios-core/development/tasks/create-suite.md +283 -283
  69. package/.aios-core/development/tasks/create-task.md +371 -371
  70. package/.aios-core/development/tasks/create-workflow.md +370 -370
  71. package/.aios-core/development/tasks/db-analyze-hotpaths.md +572 -572
  72. package/.aios-core/development/tasks/db-apply-migration.md +381 -381
  73. package/.aios-core/development/tasks/db-bootstrap.md +642 -642
  74. package/.aios-core/development/tasks/db-domain-modeling.md +693 -693
  75. package/.aios-core/development/tasks/db-dry-run.md +293 -293
  76. package/.aios-core/development/tasks/db-env-check.md +260 -260
  77. package/.aios-core/development/tasks/db-expansion-pack-integration.md +663 -663
  78. package/.aios-core/development/tasks/db-explain.md +631 -631
  79. package/.aios-core/development/tasks/db-impersonate.md +495 -495
  80. package/.aios-core/development/tasks/db-load-csv.md +593 -593
  81. package/.aios-core/development/tasks/db-policy-apply.md +653 -653
  82. package/.aios-core/development/tasks/db-rls-audit.md +411 -411
  83. package/.aios-core/development/tasks/db-rollback.md +739 -739
  84. package/.aios-core/development/tasks/db-run-sql.md +613 -613
  85. package/.aios-core/development/tasks/db-schema-audit.md +1011 -1011
  86. package/.aios-core/development/tasks/db-seed.md +390 -390
  87. package/.aios-core/development/tasks/db-smoke-test.md +351 -351
  88. package/.aios-core/development/tasks/db-snapshot.md +569 -569
  89. package/.aios-core/development/tasks/db-supabase-setup.md +712 -712
  90. package/.aios-core/development/tasks/db-verify-order.md +515 -515
  91. package/.aios-core/development/tasks/deprecate-component.md +956 -956
  92. package/.aios-core/development/tasks/dev-apply-qa-fixes.md +318 -318
  93. package/.aios-core/development/tasks/dev-backlog-debt.md +469 -469
  94. package/.aios-core/development/tasks/dev-develop-story.md +846 -846
  95. package/.aios-core/development/tasks/dev-improve-code-quality.md +872 -872
  96. package/.aios-core/development/tasks/dev-optimize-performance.md +1033 -1033
  97. package/.aios-core/development/tasks/dev-suggest-refactoring.md +870 -870
  98. package/.aios-core/development/tasks/dev-validate-next-story.md +348 -348
  99. package/.aios-core/development/tasks/document-project.md +552 -552
  100. package/.aios-core/development/tasks/environment-bootstrap.md +1311 -1311
  101. package/.aios-core/development/tasks/execute-checklist.md +301 -301
  102. package/.aios-core/development/tasks/export-design-tokens-dtcg.md +274 -274
  103. package/.aios-core/development/tasks/extend-pattern.md +269 -269
  104. package/.aios-core/development/tasks/extract-tokens.md +467 -467
  105. package/.aios-core/development/tasks/facilitate-brainstorming-session.md +518 -518
  106. package/.aios-core/development/tasks/generate-ai-frontend-prompt.md +260 -260
  107. package/.aios-core/development/tasks/generate-documentation.md +284 -284
  108. package/.aios-core/development/tasks/generate-migration-strategy.md +522 -522
  109. package/.aios-core/development/tasks/generate-shock-report.md +501 -501
  110. package/.aios-core/development/tasks/github-devops-github-pr-automation.md +427 -427
  111. package/.aios-core/development/tasks/github-devops-pre-push-quality-gate.md +733 -733
  112. package/.aios-core/development/tasks/github-devops-repository-cleanup.md +374 -374
  113. package/.aios-core/development/tasks/github-devops-version-management.md +483 -483
  114. package/.aios-core/development/tasks/improve-self.md +822 -822
  115. package/.aios-core/development/tasks/index-docs.md +387 -387
  116. package/.aios-core/development/tasks/init-project-status.md +506 -506
  117. package/.aios-core/development/tasks/integrate-expansion-pack.md +314 -314
  118. package/.aios-core/development/tasks/kb-mode-interaction.md +283 -283
  119. package/.aios-core/development/tasks/learn-patterns.md +900 -900
  120. package/.aios-core/development/tasks/mcp-workflow.md +437 -437
  121. package/.aios-core/development/tasks/modify-agent.md +381 -381
  122. package/.aios-core/development/tasks/modify-task.md +424 -424
  123. package/.aios-core/development/tasks/modify-workflow.md +465 -465
  124. package/.aios-core/development/tasks/po-backlog-add.md +370 -370
  125. package/.aios-core/development/tasks/po-manage-story-backlog.md +523 -523
  126. package/.aios-core/development/tasks/po-pull-story-from-clickup.md +540 -540
  127. package/.aios-core/development/tasks/po-pull-story.md +316 -316
  128. package/.aios-core/development/tasks/po-stories-index.md +351 -351
  129. package/.aios-core/development/tasks/po-sync-story-to-clickup.md +457 -457
  130. package/.aios-core/development/tasks/po-sync-story.md +303 -303
  131. package/.aios-core/development/tasks/pr-automation.md +701 -701
  132. package/.aios-core/development/tasks/propose-modification.md +842 -842
  133. package/.aios-core/development/tasks/qa-backlog-add-followup.md +425 -425
  134. package/.aios-core/development/tasks/qa-gate.md +373 -373
  135. package/.aios-core/development/tasks/qa-generate-tests.md +1174 -1174
  136. package/.aios-core/development/tasks/qa-nfr-assess.md +557 -557
  137. package/.aios-core/development/tasks/qa-review-proposal.md +1157 -1157
  138. package/.aios-core/development/tasks/qa-review-story.md +682 -682
  139. package/.aios-core/development/tasks/qa-risk-profile.md +566 -566
  140. package/.aios-core/development/tasks/qa-run-tests.md +277 -277
  141. package/.aios-core/development/tasks/qa-test-design.md +387 -387
  142. package/.aios-core/development/tasks/qa-trace-requirements.md +476 -476
  143. package/.aios-core/development/tasks/release-management.md +723 -723
  144. package/.aios-core/development/tasks/security-audit.md +554 -554
  145. package/.aios-core/development/tasks/security-scan.md +790 -790
  146. package/.aios-core/development/tasks/setup-database.md +741 -741
  147. package/.aios-core/development/tasks/setup-design-system.md +462 -462
  148. package/.aios-core/development/tasks/setup-github.md +874 -874
  149. package/.aios-core/development/tasks/setup-llm-routing.md +1 -1
  150. package/.aios-core/development/tasks/setup-mcp-docker.md +584 -584
  151. package/.aios-core/development/tasks/setup-project-docs.md +1 -1
  152. package/.aios-core/development/tasks/shard-doc.md +537 -537
  153. package/.aios-core/development/tasks/sm-create-next-story.md +480 -480
  154. package/.aios-core/development/tasks/sync-documentation.md +864 -864
  155. package/.aios-core/development/tasks/tailwind-upgrade.md +294 -294
  156. package/.aios-core/development/tasks/test-as-user.md +621 -621
  157. package/.aios-core/development/tasks/test-validation-task.md +171 -171
  158. package/.aios-core/development/tasks/undo-last.md +346 -346
  159. package/.aios-core/development/tasks/update-manifest.md +409 -409
  160. package/.aios-core/development/tasks/ux-create-wireframe.md +617 -617
  161. package/.aios-core/development/tasks/ux-ds-scan-artifact.md +672 -672
  162. package/.aios-core/development/tasks/ux-user-research.md +559 -559
  163. package/.aios-core/development/tasks/validate-next-story.md +422 -422
  164. package/.aios-core/development/workflows/README.md +83 -83
  165. package/.aios-core/development/workflows/brownfield-fullstack.yaml +297 -297
  166. package/.aios-core/development/workflows/brownfield-service.yaml +187 -187
  167. package/.aios-core/development/workflows/brownfield-ui.yaml +197 -197
  168. package/.aios-core/development/workflows/greenfield-fullstack.yaml +333 -333
  169. package/.aios-core/development/workflows/greenfield-service.yaml +206 -206
  170. package/.aios-core/development/workflows/greenfield-ui.yaml +235 -235
  171. package/.aios-core/docs/SHARD-TRANSLATION-GUIDE.md +335 -335
  172. package/.aios-core/docs/component-creation-guide.md +457 -457
  173. package/.aios-core/docs/session-update-pattern.md +307 -307
  174. package/.aios-core/docs/standards/AGENT-PERSONALIZATION-STANDARD-V1.md +572 -572
  175. package/.aios-core/docs/standards/AIOS-COLOR-PALETTE-QUICK-REFERENCE.md +185 -185
  176. package/.aios-core/docs/standards/AIOS-COLOR-PALETTE-V2.1.md +354 -354
  177. package/.aios-core/docs/standards/AIOS-FRAMEWORK-MASTER.md +1963 -1963
  178. package/.aios-core/docs/standards/AIOS-LIVRO-DE-OURO-V2.1-COMPLETE.md +821 -821
  179. package/.aios-core/docs/standards/AIOS-LIVRO-DE-OURO-V2.1-SUMMARY.md +1190 -1190
  180. package/.aios-core/docs/standards/AIOS-LIVRO-DE-OURO-V2.1.md +439 -439
  181. package/.aios-core/docs/standards/AIOS-LIVRO-DE-OURO-V2.2-SUMMARY.md +1339 -1339
  182. package/.aios-core/docs/standards/AIOS-LIVRO-DE-OURO.md +5398 -5398
  183. package/.aios-core/docs/standards/EXECUTOR-DECISION-TREE.md +697 -697
  184. package/.aios-core/docs/standards/OPEN-SOURCE-VS-SERVICE-DIFFERENCES.md +511 -511
  185. package/.aios-core/docs/standards/QUALITY-GATES-SPECIFICATION.md +556 -556
  186. package/.aios-core/docs/standards/STANDARDS-INDEX.md +210 -210
  187. package/.aios-core/docs/standards/STORY-TEMPLATE-V2-SPECIFICATION.md +550 -550
  188. package/.aios-core/docs/standards/TASK-FORMAT-SPECIFICATION-V1.md +1414 -1414
  189. package/.aios-core/docs/standards/V3-ARCHITECTURAL-DECISIONS.md +523 -523
  190. package/.aios-core/docs/template-syntax.md +266 -266
  191. package/.aios-core/docs/troubleshooting-guide.md +624 -624
  192. package/.aios-core/index.esm.js +15 -15
  193. package/.aios-core/index.js +1 -1
  194. package/.aios-core/infrastructure/README.md +126 -126
  195. package/.aios-core/infrastructure/integrations/pm-adapters/README.md +59 -59
  196. package/.aios-core/infrastructure/scripts/approval-workflow.js +1 -1
  197. package/.aios-core/infrastructure/scripts/batch-creator.js +1 -1
  198. package/.aios-core/infrastructure/scripts/component-generator.js +3 -3
  199. package/.aios-core/infrastructure/scripts/component-metadata.js +1 -1
  200. package/.aios-core/infrastructure/scripts/component-search.js +1 -1
  201. package/.aios-core/infrastructure/scripts/coverage-analyzer.js +1 -1
  202. package/.aios-core/infrastructure/scripts/dependency-analyzer.js +1 -1
  203. package/.aios-core/infrastructure/scripts/dependency-impact-analyzer.js +1 -1
  204. package/.aios-core/infrastructure/scripts/framework-analyzer.js +1 -1
  205. package/.aios-core/infrastructure/scripts/improvement-engine.js +1 -1
  206. package/.aios-core/infrastructure/scripts/llm-routing/install-llm-routing.js +26 -13
  207. package/.aios-core/infrastructure/scripts/llm-routing/templates/claude-free-tracked.cmd +127 -0
  208. package/.aios-core/infrastructure/scripts/llm-routing/templates/claude-free-tracked.sh +108 -0
  209. package/.aios-core/infrastructure/scripts/llm-routing/templates/deepseek-proxy.cmd +71 -0
  210. package/.aios-core/infrastructure/scripts/llm-routing/templates/deepseek-proxy.sh +65 -0
  211. package/.aios-core/infrastructure/scripts/llm-routing/templates/deepseek-usage.cmd +51 -0
  212. package/.aios-core/infrastructure/scripts/llm-routing/templates/deepseek-usage.sh +16 -0
  213. package/.aios-core/infrastructure/scripts/llm-routing/usage-tracker/index.js +549 -0
  214. package/.aios-core/infrastructure/scripts/modification-risk-assessment.js +1 -1
  215. package/.aios-core/infrastructure/scripts/performance-analyzer.js +1 -1
  216. package/.aios-core/infrastructure/scripts/pm-adapter.js +134 -134
  217. package/.aios-core/infrastructure/scripts/repository-detector.js +3 -3
  218. package/.aios-core/infrastructure/scripts/template-engine.js +1 -1
  219. package/.aios-core/infrastructure/scripts/template-validator.js +1 -1
  220. package/.aios-core/infrastructure/scripts/test-generator.js +1 -1
  221. package/.aios-core/infrastructure/scripts/test-quality-assessment.js +1 -1
  222. package/.aios-core/infrastructure/scripts/transaction-manager.js +1 -1
  223. package/.aios-core/infrastructure/scripts/usage-analytics.js +1 -1
  224. package/.aios-core/infrastructure/scripts/visual-impact-generator.js +2 -2
  225. package/.aios-core/infrastructure/templates/github-workflows/README.md +109 -109
  226. package/.aios-core/infrastructure/tests/regression-suite-v2.md +621 -621
  227. package/.aios-core/infrastructure/tools/README.md +222 -222
  228. package/.aios-core/infrastructure/tools/cli/github-cli.yaml +200 -200
  229. package/.aios-core/infrastructure/tools/cli/railway-cli.yaml +260 -260
  230. package/.aios-core/infrastructure/tools/cli/supabase-cli.yaml +224 -224
  231. package/.aios-core/infrastructure/tools/local/ffmpeg.yaml +261 -261
  232. package/.aios-core/infrastructure/tools/mcp/21st-dev-magic.yaml +127 -127
  233. package/.aios-core/infrastructure/tools/mcp/browser.yaml +103 -103
  234. package/.aios-core/infrastructure/tools/mcp/clickup.yaml +534 -534
  235. package/.aios-core/infrastructure/tools/mcp/context7.yaml +78 -78
  236. package/.aios-core/infrastructure/tools/mcp/desktop-commander.yaml +180 -180
  237. package/.aios-core/infrastructure/tools/mcp/exa.yaml +103 -103
  238. package/.aios-core/infrastructure/tools/mcp/google-workspace.yaml +930 -930
  239. package/.aios-core/infrastructure/tools/mcp/n8n.yaml +551 -551
  240. package/.aios-core/infrastructure/tools/mcp/supabase.yaml +808 -808
  241. package/.aios-core/install-manifest.yaml +347 -347
  242. package/.aios-core/product/README.md +56 -56
  243. package/.aios-core/product/checklists/accessibility-wcag-checklist.md +80 -0
  244. package/.aios-core/product/checklists/architect-checklist.md +443 -443
  245. package/.aios-core/product/checklists/change-checklist.md +182 -182
  246. package/.aios-core/product/checklists/component-quality-checklist.md +74 -0
  247. package/.aios-core/product/checklists/database-design-checklist.md +119 -119
  248. package/.aios-core/product/checklists/dba-predeploy-checklist.md +97 -97
  249. package/.aios-core/product/checklists/dba-rollback-checklist.md +99 -99
  250. package/.aios-core/product/checklists/migration-readiness-checklist.md +75 -0
  251. package/.aios-core/product/checklists/pattern-audit-checklist.md +88 -0
  252. package/.aios-core/product/checklists/pm-checklist.md +375 -375
  253. package/.aios-core/product/checklists/po-master-checklist.md +441 -441
  254. package/.aios-core/product/checklists/pre-push-checklist.md +108 -108
  255. package/.aios-core/product/checklists/release-checklist.md +122 -122
  256. package/.aios-core/product/checklists/story-dod-checklist.md +101 -101
  257. package/.aios-core/product/checklists/story-draft-checklist.md +215 -215
  258. package/.aios-core/product/data/atomic-design-principles.md +108 -0
  259. package/.aios-core/product/data/brainstorming-techniques.md +36 -36
  260. package/.aios-core/product/data/consolidation-algorithms.md +142 -0
  261. package/.aios-core/product/data/database-best-practices.md +182 -0
  262. package/.aios-core/product/data/design-token-best-practices.md +107 -0
  263. package/.aios-core/product/data/elicitation-methods.md +134 -134
  264. package/.aios-core/product/data/integration-patterns.md +207 -0
  265. package/.aios-core/product/data/migration-safety-guide.md +329 -0
  266. package/.aios-core/product/data/mode-selection-best-practices.md +471 -471
  267. package/.aios-core/product/data/postgres-tuning-guide.md +300 -0
  268. package/.aios-core/product/data/rls-security-patterns.md +333 -0
  269. package/.aios-core/product/data/roi-calculation-guide.md +142 -0
  270. package/.aios-core/product/data/supabase-patterns.md +330 -0
  271. package/.aios-core/product/data/test-levels-framework.md +148 -148
  272. package/.aios-core/product/data/test-priorities-matrix.md +174 -174
  273. package/.aios-core/product/data/wcag-compliance-guide.md +267 -0
  274. package/.aios-core/product/templates/1mcp-config.yaml +225 -225
  275. package/.aios-core/product/templates/activation-instructions-inline-greeting.yaml +63 -63
  276. package/.aios-core/product/templates/activation-instructions-template.md +258 -258
  277. package/.aios-core/product/templates/agent-template.yaml +120 -120
  278. package/.aios-core/product/templates/architecture-tmpl.yaml +650 -650
  279. package/.aios-core/product/templates/brainstorming-output-tmpl.yaml +155 -155
  280. package/.aios-core/product/templates/brownfield-architecture-tmpl.yaml +475 -475
  281. package/.aios-core/product/templates/brownfield-prd-tmpl.yaml +279 -279
  282. package/.aios-core/product/templates/changelog-template.md +134 -134
  283. package/.aios-core/product/templates/command-rationalization-matrix.md +152 -152
  284. package/.aios-core/product/templates/competitor-analysis-tmpl.yaml +292 -292
  285. package/.aios-core/product/templates/design-story-tmpl.yaml +587 -587
  286. package/.aios-core/product/templates/ds-artifact-analysis.md +70 -70
  287. package/.aios-core/product/templates/front-end-architecture-tmpl.yaml +205 -205
  288. package/.aios-core/product/templates/front-end-spec-tmpl.yaml +348 -348
  289. package/.aios-core/product/templates/fullstack-architecture-tmpl.yaml +804 -804
  290. package/.aios-core/product/templates/github-pr-template.md +67 -67
  291. package/.aios-core/product/templates/gordon-mcp.yaml +140 -140
  292. package/.aios-core/product/templates/ide-rules/antigravity-rules.md +115 -115
  293. package/.aios-core/product/templates/ide-rules/claude-rules.md +221 -221
  294. package/.aios-core/product/templates/ide-rules/cline-rules.md +84 -84
  295. package/.aios-core/product/templates/ide-rules/copilot-rules.md +92 -92
  296. package/.aios-core/product/templates/ide-rules/cursor-rules.md +115 -115
  297. package/.aios-core/product/templates/ide-rules/gemini-rules.md +85 -85
  298. package/.aios-core/product/templates/ide-rules/roo-rules.md +86 -86
  299. package/.aios-core/product/templates/ide-rules/trae-rules.md +104 -104
  300. package/.aios-core/product/templates/ide-rules/windsurf-rules.md +80 -80
  301. package/.aios-core/product/templates/index-strategy-tmpl.yaml +53 -53
  302. package/.aios-core/product/templates/market-research-tmpl.yaml +251 -251
  303. package/.aios-core/product/templates/mcp-workflow.js +271 -271
  304. package/.aios-core/product/templates/migration-plan-tmpl.yaml +1022 -1022
  305. package/.aios-core/product/templates/migration-strategy-tmpl.md +524 -524
  306. package/.aios-core/product/templates/personalized-agent-template.md +258 -258
  307. package/.aios-core/product/templates/personalized-checklist-template.md +340 -340
  308. package/.aios-core/product/templates/personalized-task-template-v2.md +905 -905
  309. package/.aios-core/product/templates/personalized-task-template.md +344 -344
  310. package/.aios-core/product/templates/personalized-template-file.yaml +322 -322
  311. package/.aios-core/product/templates/personalized-workflow-template.yaml +460 -460
  312. package/.aios-core/product/templates/prd-tmpl.yaml +201 -201
  313. package/.aios-core/product/templates/project-brief-tmpl.yaml +220 -220
  314. package/.aios-core/product/templates/qa-gate-tmpl.yaml +240 -240
  315. package/.aios-core/product/templates/rls-policies-tmpl.yaml +1203 -1203
  316. package/.aios-core/product/templates/schema-design-tmpl.yaml +428 -428
  317. package/.aios-core/product/templates/state-persistence-tmpl.yaml +219 -219
  318. package/.aios-core/product/templates/story-tmpl.yaml +331 -331
  319. package/.aios-core/product/templates/task-execution-report.md +495 -495
  320. package/.aios-core/product/templates/task-template.md +122 -122
  321. package/.aios-core/product/templates/token-exports-tailwind-tmpl.js +395 -395
  322. package/.aios-core/product/templates/tokens-schema-tmpl.yaml +305 -305
  323. package/.aios-core/product/templates/workflow-template.yaml +133 -133
  324. package/.aios-core/scripts/README.md +354 -354
  325. package/.aios-core/scripts/aios-doc-template.md +325 -325
  326. package/.aios-core/scripts/elicitation-engine.js +1 -1
  327. package/.aios-core/scripts/test-template-system.js +1 -1
  328. package/.aios-core/scripts/workflow-management.md +69 -69
  329. package/.aios-core/user-guide.md +1413 -1413
  330. package/.aios-core/working-in-the-brownfield.md +361 -361
  331. package/LICENSE +1 -1
  332. package/README.md +704 -703
  333. package/bin/aios-init-old.js +3 -3
  334. package/bin/aios-init-v4.js +1 -1
  335. package/bin/aios-init.backup-v1.1.4.js +1 -1
  336. package/bin/aios-init.js +3 -3
  337. package/bin/aios.js +279 -279
  338. package/bin/utils/install-errors.js +339 -339
  339. package/bin/utils/install-transaction.js +445 -445
  340. package/index.d.ts +18 -18
  341. package/index.esm.js +20 -20
  342. package/index.js +6 -6
  343. package/package.json +8 -11
  344. package/packages/installer/src/config/templates/env-template.js +27 -4
  345. package/packages/installer/src/detection/detect-project-type.js +81 -81
  346. package/packages/installer/tests/integration/wizard-detection.test.js +8 -6
  347. package/packages/installer/tests/unit/env-template.test.js +8 -8
  348. package/src/config/ide-configs.js +1 -1
  349. package/src/wizard/feedback.js +2 -2
  350. package/src/wizard/index.js +1 -1
  351. package/src/wizard/validation/report-generator.js +1 -1
  352. package/src/wizard/validation/troubleshooting-system.js +13 -13
  353. package/tools/diagnose-installation.js +266 -0
  354. package/tools/diagnose-npx-issue.ps1 +96 -0
  355. package/tools/quick-diagnose.cmd +85 -0
  356. package/tools/quick-diagnose.ps1 +117 -0
  357. package/.aios-core/infrastructure/scripts/_archived/final-todo-count.js +0 -122
  358. package/.aios-core/infrastructure/scripts/_archived/fix-yaml-formatting.js +0 -89
  359. package/.aios-core/infrastructure/scripts/_archived/migration-generator.js +0 -780
  360. package/.aios-core/infrastructure/scripts/_archived/migration-path-generator.js +0 -950
  361. package/.aios-core/infrastructure/scripts/_archived/phase2-entrada-saida-errors.js +0 -425
  362. package/.aios-core/infrastructure/scripts/_archived/phase2-spot-check.js +0 -132
  363. package/.aios-core/infrastructure/scripts/_archived/phase3-tools-scripts-validation.js +0 -381
  364. package/.aios-core/infrastructure/scripts/_archived/phase4-metadata-performance.js +0 -203
  365. package/.aios-core/infrastructure/scripts/_archived/test-yaml-parsing.js +0 -24
  366. package/.aios-core/infrastructure/scripts/_archived/verify-yaml-fix.js +0 -51
  367. package/.aios-core/tasks/find-component.md.legacy +0 -391
  368. package/.aios-core/tasks/generate-commit-message.md.legacy +0 -426
  369. package/.aios-core/tasks/generate-migration.md.legacy +0 -382
  370. package/.aios-core/tasks/rollback-modification.md.legacy +0 -307
  371. package/.aios-core/tasks/update-tests.md.legacy +0 -283
@@ -1,827 +1,827 @@
1
- # An
2
- ## Execution Modes
3
-
4
- **Choose your execution mode:**
5
-
6
- ### 1. YOLO Mode - Fast, Autonomous (0-1 prompts)
7
- - Autonomous decision making with logging
8
- - Minimal user interaction
9
- - **Best for:** Simple, deterministic tasks
10
-
11
- ### 2. Interactive Mode - Balanced, Educational (5-10 prompts) **[DEFAULT]**
12
- - Explicit decision checkpoints
13
- - Educational explanations
14
- - **Best for:** Learning, complex decisions
15
-
16
- ### 3. Pre-Flight Planning - Comprehensive Upfront Planning
17
- - Task analysis phase (identify all ambiguities)
18
- - Zero ambiguity execution
19
- - **Best for:** Ambiguous requirements, critical work
20
-
21
- **Parameter:** `mode` (optional, default: `interactive`)
22
-
23
- ---
24
-
25
- ## Task Definition (AIOS Task Format V1.0)
26
-
27
- ```yaml
28
- task: architectAnalyzeImpact()
29
- responsável: Aria (Visionary)
30
- responsavel_type: Agente
31
- atomic_layer: Strategy
32
-
33
- **Entrada:**
34
- - campo: task
35
- tipo: string
36
- origem: User Input
37
- obrigatório: true
38
- validação: Must be registered task
39
-
40
- - campo: parameters
41
- tipo: object
42
- origem: User Input
43
- obrigatório: false
44
- validação: Valid task parameters
45
-
46
- - campo: mode
47
- tipo: string
48
- origem: User Input
49
- obrigatório: false
50
- validação: yolo|interactive|pre-flight
51
-
52
- **Saída:**
53
- - campo: execution_result
54
- tipo: object
55
- destino: Memory
56
- persistido: false
57
-
58
- - campo: logs
59
- tipo: array
60
- destino: File (.ai/logs/*)
61
- persistido: true
62
-
63
- - campo: state
64
- tipo: object
65
- destino: State management
66
- persistido: true
67
- ```
68
-
69
- ---
70
-
71
- ## Pre-Conditions
72
-
73
- **Purpose:** Validate prerequisites BEFORE task execution (blocking)
74
-
75
- **Checklist:**
76
-
77
- ```yaml
78
- pre-conditions:
79
- - [ ] Task is registered; required parameters provided; dependencies met
80
- tipo: pre-condition
81
- blocker: true
82
- validação: |
83
- Check task is registered; required parameters provided; dependencies met
84
- error_message: "Pre-condition failed: Task is registered; required parameters provided; dependencies met"
85
- ```
86
-
87
- ---
88
-
89
- ## Post-Conditions
90
-
91
- **Purpose:** Validate execution success AFTER task completes
92
-
93
- **Checklist:**
94
-
95
- ```yaml
96
- post-conditions:
97
- - [ ] Task completed; exit code 0; expected outputs created
98
- tipo: post-condition
99
- blocker: true
100
- validação: |
101
- Verify task completed; exit code 0; expected outputs created
102
- error_message: "Post-condition failed: Task completed; exit code 0; expected outputs created"
103
- ```
104
-
105
- ---
106
-
107
- ## Acceptance Criteria
108
-
109
- **Purpose:** Definitive pass/fail criteria for task completion
110
-
111
- **Checklist:**
112
-
113
- ```yaml
114
- acceptance-criteria:
115
- - [ ] Task completed as expected; side effects documented
116
- tipo: acceptance-criterion
117
- blocker: true
118
- validação: |
119
- Assert task completed as expected; side effects documented
120
- error_message: "Acceptance criterion not met: Task completed as expected; side effects documented"
121
- ```
122
-
123
- ---
124
-
125
- ## Tools
126
-
127
- **External/shared resources used by this task:**
128
-
129
- - **Tool:** task-runner
130
- - **Purpose:** Task execution and orchestration
131
- - **Source:** .aios-core/core/task-runner.js
132
-
133
- - **Tool:** logger
134
- - **Purpose:** Execution logging and error tracking
135
- - **Source:** .aios-core/utils/logger.js
136
-
137
- ---
138
-
139
- ## Scripts
140
-
141
- **Agent-specific code for this task:**
142
-
143
- - **Script:** execute-task.js
144
- - **Purpose:** Generic task execution wrapper
145
- - **Language:** JavaScript
146
- - **Location:** .aios-core/scripts/execute-task.js
147
-
148
- ---
149
-
150
- ## Error Handling
151
-
152
- **Strategy:** retry
153
-
154
- **Common Errors:**
155
-
156
- 1. **Error:** Task Not Found
157
- - **Cause:** Specified task not registered in system
158
- - **Resolution:** Verify task name and registration
159
- - **Recovery:** List available tasks, suggest similar
160
-
161
- 2. **Error:** Invalid Parameters
162
- - **Cause:** Task parameters do not match expected schema
163
- - **Resolution:** Validate parameters against task definition
164
- - **Recovery:** Provide parameter template, reject execution
165
-
166
- 3. **Error:** Execution Timeout
167
- - **Cause:** Task exceeds maximum execution time
168
- - **Resolution:** Optimize task or increase timeout
169
- - **Recovery:** Kill task, cleanup resources, log state
170
-
171
- ---
172
-
173
- ## Performance
174
-
175
- **Expected Metrics:**
176
-
177
- ```yaml
178
- duration_expected: 5-20 min (estimated)
179
- cost_estimated: $0.003-0.015
180
- token_usage: ~2,000-8,000 tokens
181
- ```
182
-
183
- **Optimization Notes:**
184
- - Iterative analysis with depth limits; cache intermediate results; batch similar operations
185
-
186
- ---
187
-
188
- ## Metadata
189
-
190
- ```yaml
191
- story: N/A
192
- version: 1.0.0
193
- dependencies:
194
- - N/A
195
- tags:
196
- - analysis
197
- - metrics
198
- updated_at: 2025-11-17
199
- ```
200
-
201
- ---
202
-
203
- alyze Impact - AIOS Developer Task
204
-
205
- ## Purpose
206
- Analyze the potential impact of proposed component modifications on the broader AIOS-FULLSTACK framework.
207
-
208
- ## Command Pattern
209
- ```
210
- *analyze-impact <modification-type> <component-path> [options]
211
- ```
212
-
213
- ## Parameters
214
- - `modification-type`: Type of modification (modify, deprecate, remove, refactor)
215
- - `component-path`: Path to the component being modified
216
- - `options`: Impact analysis configuration
217
-
218
- ### Options
219
- - `--depth <level>`: Analysis depth (shallow, medium, deep)
220
- - `--include-tests`: Include test file impact analysis
221
- - `--risk-threshold <level>`: Risk threshold for warnings (low, medium, high, critical)
222
- - `--output-format <format>`: Output format (text, json, visual, html)
223
- - `--save-report <path>`: Save detailed report to file
224
- - `--approve-high-risk`: Skip approval workflow for high-risk changes
225
- - `--exclude-external`: Exclude external dependency analysis
226
-
227
- ## Examples
228
- ```bash
229
- # Analyze impact of modifying an agent
230
- *analyze-impact modify aios-core/agents/weather-agent.md --depth deep --include-tests
231
-
232
- # Analyze deprecation impact with visual output
233
- *analyze-impact deprecate aios-core/scripts/old-helper.js --output-format visual --save-report reports/deprecation-impact.html
234
-
235
- # Quick impact check for refactoring
236
- *analyze-impact refactor aios-core/tasks/process-data.md --depth shallow --risk-threshold medium
237
-
238
- # Analyze removal with approval workflow
239
- *analyze-impact remove aios-core/workflows/legacy-workflow.yaml --depth deep --save-report reports/removal-impact.json
240
- ```
241
-
242
- ## Implementation
243
-
244
- ```javascript
245
- const fs = require('fs').promises;
246
- const path = require('path');
247
- const chalk = require('chalk');
248
- const inquirer = require('inquirer');
249
-
250
- class AnalyzeImpactTask {
251
- constructor() {
252
- this.taskName = 'analyze-impact';
253
- this.description = 'Analyze potential impact of component modifications';
254
- this.rootPath = process.cwd();
255
- this.dependencyAnalyzer = null;
256
- this.propagationPredictor = null;
257
- this.riskAssessment = null;
258
- this.visualGenerator = null;
259
- this.approvalWorkflow = null;
260
- }
261
-
262
- async execute(params) {
263
- try {
264
- console.log(chalk.blue('🔍 AIOS Impact Analysis'));
265
- console.log(chalk.gray('Analyzing potential impact of component modifications\\n'));
266
-
267
- // Parse and validate parameters
268
- const config = await this.parseParameters(params);
269
-
270
- // Initialize dependencies
271
- await this.initializeDependencies();
272
-
273
- // Validate target component exists
274
- const targetComponent = await this.validateTargetComponent(config);
275
-
276
- // Perform dependency impact analysis
277
- console.log(chalk.gray('Analyzing dependency impact...'));
278
- const dependencyImpact = await this.analyzeDependencyImpact(targetComponent, config);
279
-
280
- // Predict change propagation
281
- console.log(chalk.gray('Predicting change propagation...'));
282
- const propagationAnalysis = await this.predictChangePropagation(targetComponent, dependencyImpact, config);
283
-
284
- // Assess modification risks
285
- console.log(chalk.gray('Assessing modification risks...'));
286
- const riskAssessment = await this.assessModificationRisks(targetComponent, dependencyImpact, propagationAnalysis, config);
287
-
288
- // Generate comprehensive impact report
289
- const impactReport = await this.generateImpactReport(targetComponent, {
290
- dependencyImpact,
291
- propagationAnalysis,
292
- riskAssessment
293
- }, config);
294
-
295
- // Display impact summary
296
- await this.displayImpactSummary(impactReport);
297
-
298
- // Generate visual representation if requested
299
- if (config.outputFormat === 'visual' || config.outputFormat === 'html') {
300
- console.log(chalk.gray('Generating visual impact representation...'));
301
- await this.generateVisualRepresentation(impactReport, config);
302
- }
303
-
304
- // Save detailed report if requested
305
- if (config.saveReport) {
306
- await this.saveDetailedReport(impactReport, config.saveReport, config.outputFormat);
307
- }
308
-
309
- // Handle high-risk change approval workflow
310
- if (riskAssessment.overallRisk === 'high' || riskAssessment.overallRisk === 'critical') {
311
- if (!config.approveHighRisk) {
312
- const approved = await this.handleHighRiskApproval(impactReport);
313
- if (!approved) {
314
- console.log(chalk.yellow('\\n⚠ High-risk modification requires approval before proceeding'));
315
- return {
316
- success: true,
317
- requiresApproval: true,
318
- riskLevel: riskAssessment.overallRisk,
319
- impactSummary: impactReport.summary
320
- };
321
- }
322
- }
323
- }
324
-
325
- // Display completion summary
326
- console.log(chalk.green('\\n✅ Impact analysis completed'));
327
- console.log(chalk.gray(` Components analyzed: ${dependencyImpact.affectedComponents.length}`));
328
- console.log(chalk.gray(` Risk level: ${this.formatRiskLevel(riskAssessment.overallRisk)}`));
329
- console.log(chalk.gray(` Propagation depth: ${propagationAnalysis.maxDepth}`));
330
-
331
- return {
332
- success: true,
333
- targetComponent: targetComponent.path,
334
- riskLevel: riskAssessment.overallRisk,
335
- affectedComponents: dependencyImpact.affectedComponents.length,
336
- propagationDepth: propagationAnalysis.maxDepth,
337
- requiresApproval: false,
338
- impactReport: config.outputFormat === 'json' ? impactReport : impactReport.summary
339
- };
340
-
341
- } catch (error) {
342
- console.error(chalk.red(`\\n❌ Impact analysis failed: ${error.message}`));
343
- throw error;
344
- }
345
- }
346
-
347
- async parseParameters(params) {
348
- if (params.length < 2) {
349
- throw new Error('Usage: *analyze-impact <modification-type> <component-path> [options]');
350
- }
351
-
352
- const config = {
353
- modificationType: params[0],
354
- componentPath: params[1],
355
- depth: 'medium',
356
- includeTests: false,
357
- riskThreshold: 'medium',
358
- outputFormat: 'text',
359
- saveReport: null,
360
- approveHighRisk: false,
361
- excludeExternal: false
362
- };
363
-
364
- // Parse options
365
- for (let i = 2; i < params.length; i++) {
366
- const param = params[i];
367
-
368
- if (param === '--include-tests') {
369
- config.includeTests = true;
370
- } else if (param === '--approve-high-risk') {
371
- config.approveHighRisk = true;
372
- } else if (param === '--exclude-external') {
373
- config.excludeExternal = true;
374
- } else if (param.startsWith('--depth') && params[i + 1]) {
375
- config.depth = params[++i];
376
- } else if (param.startsWith('--risk-threshold') && params[i + 1]) {
377
- config.riskThreshold = params[++i];
378
- } else if (param.startsWith('--output-format') && params[i + 1]) {
379
- config.outputFormat = params[++i];
380
- } else if (param.startsWith('--save-report') && params[i + 1]) {
381
- config.saveReport = params[++i];
382
- }
383
- }
384
-
385
- // Validation
386
- const validModificationTypes = ['modify', 'deprecate', 'remove', 'refactor'];
387
- if (!validModificationTypes.includes(config.modificationType)) {
388
- throw new Error(`Invalid modification type: ${config.modificationType}. Must be one of: ${validModificationTypes.join(', ')}`);
389
- }
390
-
391
- const validDepths = ['shallow', 'medium', 'deep'];
392
- if (!validDepths.includes(config.depth)) {
393
- throw new Error(`Invalid depth: ${config.depth}. Must be one of: ${validDepths.join(', ')}`);
394
- }
395
-
396
- const validRiskThresholds = ['low', 'medium', 'high', 'critical'];
397
- if (!validRiskThresholds.includes(config.riskThreshold)) {
398
- throw new Error(`Invalid risk threshold: ${config.riskThreshold}. Must be one of: ${validRiskThresholds.join(', ')}`);
399
- }
400
-
401
- const validOutputFormats = ['text', 'json', 'visual', 'html'];
402
- if (!validOutputFormats.includes(config.outputFormat)) {
403
- throw new Error(`Invalid output format: ${config.outputFormat}. Must be one of: ${validOutputFormats.join(', ')}`);
404
- }
405
-
406
- return config;
407
- }
408
-
409
- async initializeDependencies() {
410
- try {
411
- // Initialize dependency impact analyzer
412
- const DependencyImpactAnalyzer = require('../scripts/dependency-impact-analyzer');
413
- this.dependencyAnalyzer = new DependencyImpactAnalyzer({ rootPath: this.rootPath });
414
- await this.dependencyAnalyzer.initialize();
415
-
416
- // Initialize change propagation predictor
417
- // const ChangePropagationPredictor = require('../scripts/change-propagation-predictor'); // Archived in archived-utilities/ (Story 3.1.2)
418
- // this.propagationPredictor = new ChangePropagationPredictor({ rootPath: this.rootPath }); // Archived in archived-utilities/ (Story 3.1.2)
419
-
420
- // Initialize risk assessment
421
- const ModificationRiskAssessment = require('../scripts/modification-risk-assessment');
422
- this.riskAssessment = new ModificationRiskAssessment({ rootPath: this.rootPath });
423
-
424
- // Initialize visual impact generator
425
- const VisualImpactGenerator = require('../scripts/visual-impact-generator');
426
- this.visualGenerator = new VisualImpactGenerator({ rootPath: this.rootPath });
427
-
428
- // Initialize approval workflow
429
- const ApprovalWorkflow = require('../scripts/approval-workflow');
430
- this.approvalWorkflow = new ApprovalWorkflow({ rootPath: this.rootPath });
431
-
432
- } catch (error) {
433
- throw new Error(`Failed to initialize dependencies: ${error.message}`);
434
- }
435
- }
436
-
437
- async validateTargetComponent(config) {
438
- const fullPath = path.resolve(this.rootPath, config.componentPath);
439
-
440
- try {
441
- const stats = await fs.stat(fullPath);
442
- if (!stats.isFile()) {
443
- throw new Error(`Target path is not a file: ${config.componentPath}`);
444
- }
445
-
446
- const content = await fs.readFile(fullPath, 'utf-8');
447
- const componentType = this.determineComponentType(fullPath, content);
448
-
449
- return {
450
- path: config.componentPath,
451
- fullPath: fullPath,
452
- type: componentType,
453
- content: content,
454
- size: stats.size,
455
- lastModified: stats.mtime.toISOString()
456
- };
457
-
458
- } catch (error) {
459
- if (error.code === 'ENOENT') {
460
- throw new Error(`Component not found: ${config.componentPath}`);
461
- }
462
- throw error;
463
- }
464
- }
465
-
466
- async analyzeDependencyImpact(targetComponent, config) {
467
- return await this.dependencyAnalyzer.analyzeDependencyImpact(targetComponent, {
468
- depth: config.depth,
469
- includeTests: config.includeTests,
470
- excludeExternal: config.excludeExternal,
471
- modificationType: config.modificationType
472
- });
473
- }
474
-
475
- async predictChangePropagation(targetComponent, dependencyImpact, config) {
476
- return await this.propagationPredictor.predictPropagation(targetComponent, dependencyImpact, {
477
- depth: config.depth,
478
- modificationType: config.modificationType
479
- });
480
- }
481
-
482
- async assessModificationRisks(targetComponent, dependencyImpact, propagationAnalysis, config) {
483
- return await this.riskAssessment.assessRisks(targetComponent, {
484
- dependencyImpact,
485
- propagationAnalysis,
486
- modificationType: config.modificationType,
487
- riskThreshold: config.riskThreshold
488
- });
489
- }
490
-
491
- async generateImpactReport(targetComponent, analyses, config) {
492
- const { dependencyImpact, propagationAnalysis, riskAssessment } = analyses;
493
-
494
- const report = {
495
- reportId: `impact-${Date.now()}-${Math.random().toString(36).substr(2, 6)}`,
496
- timestamp: new Date().toISOString(),
497
- targetComponent: {
498
- path: targetComponent.path,
499
- type: targetComponent.type,
500
- size: targetComponent.size
501
- },
502
- modificationType: config.modificationType,
503
- analysisDepth: config.depth,
504
- summary: {
505
- overallRisk: riskAssessment.overallRisk,
506
- affectedComponents: dependencyImpact.affectedComponents.length,
507
- propagationDepth: propagationAnalysis.maxDepth,
508
- criticalIssues: riskAssessment.criticalIssues.length,
509
- recommendations: riskAssessment.recommendations.length
510
- },
511
- dependencyAnalysis: dependencyImpact,
512
- propagationAnalysis: propagationAnalysis,
513
- riskAssessment: riskAssessment,
514
- metadata: {
515
- analysisTimestamp: new Date().toISOString(),
516
- configUsed: config
517
- }
518
- };
519
-
520
- return report;
521
- }
522
-
523
- async displayImpactSummary(report) {
524
- console.log(chalk.blue('\\n📊 Impact Analysis Results'));
525
- console.log(chalk.gray('━'.repeat(50)));
526
-
527
- console.log(`Target: ${chalk.white(report.targetComponent.path)}`);
528
- console.log(`Modification: ${chalk.white(report.modificationType)}`);
529
- console.log(`Risk Level: ${this.formatRiskLevel(report.summary.overallRisk)}`);
530
- console.log(`Affected Components: ${chalk.white(report.summary.affectedComponents)}`);
531
- console.log(`Propagation Depth: ${chalk.white(report.summary.propagationDepth)}`);
532
-
533
- if (report.summary.criticalIssues > 0) {
534
- console.log(`${chalk.red('⚠ Critical Issues:')} ${report.summary.criticalIssues}`);
535
- }
536
-
537
- if (report.riskAssessment.recommendations.length > 0) {
538
- console.log(chalk.blue('\\n💡 Key Recommendations:'));
539
- report.riskAssessment.recommendations.slice(0, 3).forEach((rec, index) => {
540
- console.log(` ${index + 1}. ${rec.title}`);
541
- });
542
- }
543
-
544
- // Display most critical affected components
545
- if (report.dependencyAnalysis.affectedComponents.length > 0) {
546
- console.log(chalk.blue('\\n🔗 Most Impacted Components:'));
547
- const topImpacted = report.dependencyAnalysis.affectedComponents
548
- .sort((a, b) => b.impactScore - a.impactScore)
549
- .slice(0, 5);
550
-
551
- topImpacted.forEach(component => {
552
- const riskIcon = component.impactScore > 8 ? '🔴' : component.impactScore > 5 ? '🟡' : '🟢';
553
- console.log(` ${riskIcon} ${component.path} (impact: ${component.impactScore}/10)`);
554
- });
555
- }
556
- }
557
-
558
- async generateVisualRepresentation(report, config) {
559
- const visualData = await this.visualGenerator.generateImpactVisualization(report, {
560
- format: config.outputFormat,
561
- includeInteractive: config.outputFormat === 'html'
562
- });
563
-
564
- if (config.outputFormat === 'visual') {
565
- // Display ASCII-based visual representation
566
- console.log(chalk.blue('\\n📈 Visual Impact Map:'));
567
- console.log(visualData.asciiGraph);
568
- }
569
-
570
- return visualData;
571
- }
572
-
573
- async saveDetailedReport(report, savePath, format) {
574
- const fullPath = path.resolve(this.rootPath, savePath);
575
- await fs.mkdir(path.dirname(fullPath), { recursive: true });
576
-
577
- let content;
578
- switch (format) {
579
- case 'json':
580
- content = JSON.stringify(report, null, 2);
581
- break;
582
- case 'html':
583
- content = await this.generateHtmlReport(report);
584
- break;
585
- default:
586
- content = await this.generateTextReport(report);
587
- }
588
-
589
- await fs.writeFile(fullPath, content);
590
- console.log(chalk.green(`\\n📄 Detailed report saved to: ${savePath}`));
591
- }
592
-
593
- async handleHighRiskApproval(report) {
594
- console.log(chalk.yellow('\\n⚠ HIGH RISK MODIFICATION DETECTED'));
595
- console.log(chalk.gray('This modification may have significant impact on the framework.\\n'));
596
-
597
- const { approved } = await inquirer.prompt([{
598
- type: 'confirm',
599
- name: 'approved',
600
- message: `Proceed with ${report.summary.overallRisk} risk modification of ${report.targetComponent.path}?`,
601
- default: false
602
- }]);
603
-
604
- if (approved) {
605
- // Log approval for audit trail
606
- await this.approvalWorkflow.logApproval(report, {
607
- approvedBy: 'user',
608
- approvalTimestamp: new Date().toISOString(),
609
- riskLevel: report.summary.overallRisk
610
- });
611
- }
612
-
613
- return approved;
614
- }
615
-
616
- // Helper methods
617
-
618
- determineComponentType(filePath, content) {
619
- if (filePath.includes('/agents/')) return 'agent';
620
- if (filePath.includes('/tasks/')) return 'task';
621
- if (filePath.includes('/workflows/')) return 'workflow';
622
- if (filePath.includes('/utils/')) return 'util';
623
-
624
- // Analyze content for type hints
625
- if (content.includes('class') && content.includes('execute')) return 'task';
626
- if (content.includes('agent_name') || content.includes('Agent')) return 'agent';
627
- if (content.includes('workflow_steps') || content.includes('Workflow')) return 'workflow';
628
-
629
- return 'unknown';
630
- }
631
-
632
- formatRiskLevel(riskLevel) {
633
- const colors = {
634
- low: chalk.green,
635
- medium: chalk.yellow,
636
- high: chalk.red,
637
- critical: chalk.red.bold
638
- };
639
- return colors[riskLevel] ? colors[riskLevel](riskLevel.toUpperCase()) : riskLevel;
640
- }
641
-
642
- async generateHtmlReport(report) {
643
- // Generate comprehensive HTML report with charts and interactivity
644
- return `<!DOCTYPE html>
645
- <html>
646
- <head>
647
- <title>Impact Analysis Report - ${report.targetComponent.path}</title>
648
- <style>
649
- body { font-family: Arial, sans-serif; margin: 20px; }
650
- .risk-${report.summary.overallRisk} { color: ${this.getRiskColor(report.summary.overallRisk)}; }
651
- .component-list { margin: 10px 0; }
652
- .component-item { padding: 5px; margin: 2px 0; border-left: 3px solid #ccc; }
653
- .chart-container { margin: 20px 0; }
654
- </style>
655
- </head>
656
- <body>
657
- <h1>Impact Analysis Report</h1>
658
- <h2>Target: ${report.targetComponent.path}</h2>
659
- <p><strong>Risk Level:</strong> <span class="risk-${report.summary.overallRisk}">${report.summary.overallRisk.toUpperCase()}</span></p>
660
- <p><strong>Affected Components:</strong> ${report.summary.affectedComponents}</p>
661
- <p><strong>Analysis Date:</strong> ${report.timestamp}</p>
662
-
663
- <h3>Dependency Impact</h3>
664
- <div class="component-list">
665
- ${report.dependencyAnalysis.affectedComponents.map(comp =>
666
- `<div class="component-item">
667
- <strong>${comp.path}</strong> (Impact: ${comp.impactScore}/10)
668
- <br><small>${comp.reason}</small>
669
- </div>`
670
- ).join('')}
671
- </div>
672
-
673
- <h3>Risk Assessment</h3>
674
- <ul>
675
- ${report.riskAssessment.recommendations.map(rec =>
676
- `<li><strong>${rec.title}</strong><br>${rec.description}</li>`
677
- ).join('')}
678
- </ul>
679
- </body>
680
- </html>`;
681
- }
682
-
683
- async generateTextReport(report) {
684
- return `
685
- IMPACT ANALYSIS REPORT
686
- =====================
687
-
688
- Target Component: ${report.targetComponent.path}
689
- Modification Type: ${report.modificationType}
690
- Analysis Depth: ${report.analysisDepth}
691
- Risk Level: ${report.summary.overallRisk.toUpperCase()}
692
- Analysis Date: ${report.timestamp}
693
-
694
- SUMMARY
695
- -------
696
- Affected Components: ${report.summary.affectedComponents}
697
- Propagation Depth: ${report.summary.propagationDepth}
698
- Critical Issues: ${report.summary.criticalIssues}
699
- Recommendations: ${report.summary.recommendations}
700
-
701
- AFFECTED COMPONENTS
702
- ------------------
703
- ${report.dependencyAnalysis.affectedComponents.map(comp =>
704
- `- ${comp.path} (Impact: ${comp.impactScore}/10)
705
- Reason: ${comp.reason}`
706
- ).join('\\n')}
707
-
708
- RECOMMENDATIONS
709
- --------------
710
- ${report.riskAssessment.recommendations.map((rec, index) =>
711
- `${index + 1}. ${rec.title}
712
- ${rec.description}`
713
- ).join('\\n\\n')}
714
-
715
- RISK FACTORS
716
- -----------
717
- ${report.riskAssessment.riskFactors.map(factor =>
718
- `- ${factor.type}: ${factor.description} (Severity: ${factor.severity})`
719
- ).join('\\n')}
720
- `;
721
- }
722
-
723
- getRiskColor(riskLevel) {
724
- const colors = {
725
- low: '#28a745',
726
- medium: '#ffc107',
727
- high: '#dc3545',
728
- critical: '#721c24'
729
- };
730
- return colors[riskLevel] || '#6c757d';
731
- }
732
- }
733
-
734
- module.exports = AnalyzeImpactTask;
735
- ```
736
-
737
- ## Validation Rules
738
-
739
- ### Input Validation
740
- - Modification type must be valid (modify, deprecate, remove, refactor)
741
- - Component path must exist and be accessible
742
- - Analysis depth must be recognized level
743
- - Risk threshold must be valid level
744
-
745
- ### Safety Checks
746
- - High-risk modifications require approval workflow
747
- - Critical modifications generate detailed warnings
748
- - External dependency analysis can be excluded for security
749
- - Report generation validates output paths
750
-
751
- ### Analysis Requirements
752
- - Dependency analysis must trace all connections
753
- - Risk assessment must consider modification type
754
- - Propagation prediction must respect analysis depth
755
- - Visual representation must be accessible
756
-
757
- ## Integration Points
758
-
759
- ### Dependency Impact Analyzer
760
- - Analyzes component dependencies and reverse dependencies
761
- - Calculates impact scores for affected components
762
- - Traces dependency chains to specified depth
763
- - Identifies breaking change potential
764
-
765
- ### Change Propagation Predictor
766
- - Predicts how changes will propagate through the system
767
- - Models cascading effects of modifications
768
- - Estimates propagation depth and scope
769
- - Identifies potential bottlenecks and failure points
770
-
771
- ### Risk Assessment System
772
- - Evaluates modification risks across multiple dimensions
773
- - Considers component criticality and usage patterns
774
- - Generates actionable recommendations
775
- - Provides risk mitigation strategies
776
-
777
- ### Visual Impact Generator
778
- - Creates visual representations of impact analysis
779
- - Supports multiple output formats (ASCII, HTML, JSON)
780
- - Generates interactive impact maps for complex scenarios
781
- - Provides exportable reports and visualizations
782
-
783
- ### Approval Workflow
784
- - Manages approval process for high-risk modifications
785
- - Maintains audit trail of approval decisions
786
- - Integrates with user approval prompts
787
- - Supports automated approval rules for trusted scenarios
788
-
789
- ## Output Structure
790
-
791
- ### Success Response
792
- ```json
793
- {
794
- "success": true,
795
- "targetComponent": "aios-core/agents/weather-agent.md",
796
- "riskLevel": "medium",
797
- "affectedComponents": 12,
798
- "propagationDepth": 3,
799
- "requiresApproval": false,
800
- "impactReport": {
801
- "summary": { ... },
802
- "dependencyAnalysis": { ... },
803
- "riskAssessment": { ... }
804
- }
805
- }
806
- ```
807
-
808
- ### High-Risk Response
809
- ```json
810
- {
811
- "success": true,
812
- "requiresApproval": true,
813
- "riskLevel": "high",
814
- "impactSummary": {
815
- "criticalIssues": 3,
816
- "affectedComponents": 25,
817
- "recommendations": 8
818
- }
819
- }
820
- ```
821
-
822
- ## Security Considerations
823
- - Validate all file paths to prevent directory traversal
824
- - Sanitize component paths and modification descriptions
825
- - Ensure approval workflow cannot be bypassed for critical changes
826
- - Validate output file paths for report generation
1
+ # An
2
+ ## Execution Modes
3
+
4
+ **Choose your execution mode:**
5
+
6
+ ### 1. YOLO Mode - Fast, Autonomous (0-1 prompts)
7
+ - Autonomous decision making with logging
8
+ - Minimal user interaction
9
+ - **Best for:** Simple, deterministic tasks
10
+
11
+ ### 2. Interactive Mode - Balanced, Educational (5-10 prompts) **[DEFAULT]**
12
+ - Explicit decision checkpoints
13
+ - Educational explanations
14
+ - **Best for:** Learning, complex decisions
15
+
16
+ ### 3. Pre-Flight Planning - Comprehensive Upfront Planning
17
+ - Task analysis phase (identify all ambiguities)
18
+ - Zero ambiguity execution
19
+ - **Best for:** Ambiguous requirements, critical work
20
+
21
+ **Parameter:** `mode` (optional, default: `interactive`)
22
+
23
+ ---
24
+
25
+ ## Task Definition (AIOS Task Format V1.0)
26
+
27
+ ```yaml
28
+ task: architectAnalyzeImpact()
29
+ responsável: Aria (Visionary)
30
+ responsavel_type: Agente
31
+ atomic_layer: Strategy
32
+
33
+ **Entrada:**
34
+ - campo: task
35
+ tipo: string
36
+ origem: User Input
37
+ obrigatório: true
38
+ validação: Must be registered task
39
+
40
+ - campo: parameters
41
+ tipo: object
42
+ origem: User Input
43
+ obrigatório: false
44
+ validação: Valid task parameters
45
+
46
+ - campo: mode
47
+ tipo: string
48
+ origem: User Input
49
+ obrigatório: false
50
+ validação: yolo|interactive|pre-flight
51
+
52
+ **Saída:**
53
+ - campo: execution_result
54
+ tipo: object
55
+ destino: Memory
56
+ persistido: false
57
+
58
+ - campo: logs
59
+ tipo: array
60
+ destino: File (.ai/logs/*)
61
+ persistido: true
62
+
63
+ - campo: state
64
+ tipo: object
65
+ destino: State management
66
+ persistido: true
67
+ ```
68
+
69
+ ---
70
+
71
+ ## Pre-Conditions
72
+
73
+ **Purpose:** Validate prerequisites BEFORE task execution (blocking)
74
+
75
+ **Checklist:**
76
+
77
+ ```yaml
78
+ pre-conditions:
79
+ - [ ] Task is registered; required parameters provided; dependencies met
80
+ tipo: pre-condition
81
+ blocker: true
82
+ validação: |
83
+ Check task is registered; required parameters provided; dependencies met
84
+ error_message: "Pre-condition failed: Task is registered; required parameters provided; dependencies met"
85
+ ```
86
+
87
+ ---
88
+
89
+ ## Post-Conditions
90
+
91
+ **Purpose:** Validate execution success AFTER task completes
92
+
93
+ **Checklist:**
94
+
95
+ ```yaml
96
+ post-conditions:
97
+ - [ ] Task completed; exit code 0; expected outputs created
98
+ tipo: post-condition
99
+ blocker: true
100
+ validação: |
101
+ Verify task completed; exit code 0; expected outputs created
102
+ error_message: "Post-condition failed: Task completed; exit code 0; expected outputs created"
103
+ ```
104
+
105
+ ---
106
+
107
+ ## Acceptance Criteria
108
+
109
+ **Purpose:** Definitive pass/fail criteria for task completion
110
+
111
+ **Checklist:**
112
+
113
+ ```yaml
114
+ acceptance-criteria:
115
+ - [ ] Task completed as expected; side effects documented
116
+ tipo: acceptance-criterion
117
+ blocker: true
118
+ validação: |
119
+ Assert task completed as expected; side effects documented
120
+ error_message: "Acceptance criterion not met: Task completed as expected; side effects documented"
121
+ ```
122
+
123
+ ---
124
+
125
+ ## Tools
126
+
127
+ **External/shared resources used by this task:**
128
+
129
+ - **Tool:** task-runner
130
+ - **Purpose:** Task execution and orchestration
131
+ - **Source:** .aios-core/core/task-runner.js
132
+
133
+ - **Tool:** logger
134
+ - **Purpose:** Execution logging and error tracking
135
+ - **Source:** .aios-core/utils/logger.js
136
+
137
+ ---
138
+
139
+ ## Scripts
140
+
141
+ **Agent-specific code for this task:**
142
+
143
+ - **Script:** execute-task.js
144
+ - **Purpose:** Generic task execution wrapper
145
+ - **Language:** JavaScript
146
+ - **Location:** .aios-core/scripts/execute-task.js
147
+
148
+ ---
149
+
150
+ ## Error Handling
151
+
152
+ **Strategy:** retry
153
+
154
+ **Common Errors:**
155
+
156
+ 1. **Error:** Task Not Found
157
+ - **Cause:** Specified task not registered in system
158
+ - **Resolution:** Verify task name and registration
159
+ - **Recovery:** List available tasks, suggest similar
160
+
161
+ 2. **Error:** Invalid Parameters
162
+ - **Cause:** Task parameters do not match expected schema
163
+ - **Resolution:** Validate parameters against task definition
164
+ - **Recovery:** Provide parameter template, reject execution
165
+
166
+ 3. **Error:** Execution Timeout
167
+ - **Cause:** Task exceeds maximum execution time
168
+ - **Resolution:** Optimize task or increase timeout
169
+ - **Recovery:** Kill task, cleanup resources, log state
170
+
171
+ ---
172
+
173
+ ## Performance
174
+
175
+ **Expected Metrics:**
176
+
177
+ ```yaml
178
+ duration_expected: 5-20 min (estimated)
179
+ cost_estimated: $0.003-0.015
180
+ token_usage: ~2,000-8,000 tokens
181
+ ```
182
+
183
+ **Optimization Notes:**
184
+ - Iterative analysis with depth limits; cache intermediate results; batch similar operations
185
+
186
+ ---
187
+
188
+ ## Metadata
189
+
190
+ ```yaml
191
+ story: N/A
192
+ version: 1.0.0
193
+ dependencies:
194
+ - N/A
195
+ tags:
196
+ - analysis
197
+ - metrics
198
+ updated_at: 2025-11-17
199
+ ```
200
+
201
+ ---
202
+
203
+ alyze Impact - AIOS Developer Task
204
+
205
+ ## Purpose
206
+ Analyze the potential impact of proposed component modifications on the broader Synkra AIOS framework.
207
+
208
+ ## Command Pattern
209
+ ```
210
+ *analyze-impact <modification-type> <component-path> [options]
211
+ ```
212
+
213
+ ## Parameters
214
+ - `modification-type`: Type of modification (modify, deprecate, remove, refactor)
215
+ - `component-path`: Path to the component being modified
216
+ - `options`: Impact analysis configuration
217
+
218
+ ### Options
219
+ - `--depth <level>`: Analysis depth (shallow, medium, deep)
220
+ - `--include-tests`: Include test file impact analysis
221
+ - `--risk-threshold <level>`: Risk threshold for warnings (low, medium, high, critical)
222
+ - `--output-format <format>`: Output format (text, json, visual, html)
223
+ - `--save-report <path>`: Save detailed report to file
224
+ - `--approve-high-risk`: Skip approval workflow for high-risk changes
225
+ - `--exclude-external`: Exclude external dependency analysis
226
+
227
+ ## Examples
228
+ ```bash
229
+ # Analyze impact of modifying an agent
230
+ *analyze-impact modify aios-core/agents/weather-agent.md --depth deep --include-tests
231
+
232
+ # Analyze deprecation impact with visual output
233
+ *analyze-impact deprecate aios-core/scripts/old-helper.js --output-format visual --save-report reports/deprecation-impact.html
234
+
235
+ # Quick impact check for refactoring
236
+ *analyze-impact refactor aios-core/tasks/process-data.md --depth shallow --risk-threshold medium
237
+
238
+ # Analyze removal with approval workflow
239
+ *analyze-impact remove aios-core/workflows/legacy-workflow.yaml --depth deep --save-report reports/removal-impact.json
240
+ ```
241
+
242
+ ## Implementation
243
+
244
+ ```javascript
245
+ const fs = require('fs').promises;
246
+ const path = require('path');
247
+ const chalk = require('chalk');
248
+ const inquirer = require('inquirer');
249
+
250
+ class AnalyzeImpactTask {
251
+ constructor() {
252
+ this.taskName = 'analyze-impact';
253
+ this.description = 'Analyze potential impact of component modifications';
254
+ this.rootPath = process.cwd();
255
+ this.dependencyAnalyzer = null;
256
+ this.propagationPredictor = null;
257
+ this.riskAssessment = null;
258
+ this.visualGenerator = null;
259
+ this.approvalWorkflow = null;
260
+ }
261
+
262
+ async execute(params) {
263
+ try {
264
+ console.log(chalk.blue('🔍 AIOS Impact Analysis'));
265
+ console.log(chalk.gray('Analyzing potential impact of component modifications\\n'));
266
+
267
+ // Parse and validate parameters
268
+ const config = await this.parseParameters(params);
269
+
270
+ // Initialize dependencies
271
+ await this.initializeDependencies();
272
+
273
+ // Validate target component exists
274
+ const targetComponent = await this.validateTargetComponent(config);
275
+
276
+ // Perform dependency impact analysis
277
+ console.log(chalk.gray('Analyzing dependency impact...'));
278
+ const dependencyImpact = await this.analyzeDependencyImpact(targetComponent, config);
279
+
280
+ // Predict change propagation
281
+ console.log(chalk.gray('Predicting change propagation...'));
282
+ const propagationAnalysis = await this.predictChangePropagation(targetComponent, dependencyImpact, config);
283
+
284
+ // Assess modification risks
285
+ console.log(chalk.gray('Assessing modification risks...'));
286
+ const riskAssessment = await this.assessModificationRisks(targetComponent, dependencyImpact, propagationAnalysis, config);
287
+
288
+ // Generate comprehensive impact report
289
+ const impactReport = await this.generateImpactReport(targetComponent, {
290
+ dependencyImpact,
291
+ propagationAnalysis,
292
+ riskAssessment
293
+ }, config);
294
+
295
+ // Display impact summary
296
+ await this.displayImpactSummary(impactReport);
297
+
298
+ // Generate visual representation if requested
299
+ if (config.outputFormat === 'visual' || config.outputFormat === 'html') {
300
+ console.log(chalk.gray('Generating visual impact representation...'));
301
+ await this.generateVisualRepresentation(impactReport, config);
302
+ }
303
+
304
+ // Save detailed report if requested
305
+ if (config.saveReport) {
306
+ await this.saveDetailedReport(impactReport, config.saveReport, config.outputFormat);
307
+ }
308
+
309
+ // Handle high-risk change approval workflow
310
+ if (riskAssessment.overallRisk === 'high' || riskAssessment.overallRisk === 'critical') {
311
+ if (!config.approveHighRisk) {
312
+ const approved = await this.handleHighRiskApproval(impactReport);
313
+ if (!approved) {
314
+ console.log(chalk.yellow('\\n⚠ High-risk modification requires approval before proceeding'));
315
+ return {
316
+ success: true,
317
+ requiresApproval: true,
318
+ riskLevel: riskAssessment.overallRisk,
319
+ impactSummary: impactReport.summary
320
+ };
321
+ }
322
+ }
323
+ }
324
+
325
+ // Display completion summary
326
+ console.log(chalk.green('\\n✅ Impact analysis completed'));
327
+ console.log(chalk.gray(` Components analyzed: ${dependencyImpact.affectedComponents.length}`));
328
+ console.log(chalk.gray(` Risk level: ${this.formatRiskLevel(riskAssessment.overallRisk)}`));
329
+ console.log(chalk.gray(` Propagation depth: ${propagationAnalysis.maxDepth}`));
330
+
331
+ return {
332
+ success: true,
333
+ targetComponent: targetComponent.path,
334
+ riskLevel: riskAssessment.overallRisk,
335
+ affectedComponents: dependencyImpact.affectedComponents.length,
336
+ propagationDepth: propagationAnalysis.maxDepth,
337
+ requiresApproval: false,
338
+ impactReport: config.outputFormat === 'json' ? impactReport : impactReport.summary
339
+ };
340
+
341
+ } catch (error) {
342
+ console.error(chalk.red(`\\n❌ Impact analysis failed: ${error.message}`));
343
+ throw error;
344
+ }
345
+ }
346
+
347
+ async parseParameters(params) {
348
+ if (params.length < 2) {
349
+ throw new Error('Usage: *analyze-impact <modification-type> <component-path> [options]');
350
+ }
351
+
352
+ const config = {
353
+ modificationType: params[0],
354
+ componentPath: params[1],
355
+ depth: 'medium',
356
+ includeTests: false,
357
+ riskThreshold: 'medium',
358
+ outputFormat: 'text',
359
+ saveReport: null,
360
+ approveHighRisk: false,
361
+ excludeExternal: false
362
+ };
363
+
364
+ // Parse options
365
+ for (let i = 2; i < params.length; i++) {
366
+ const param = params[i];
367
+
368
+ if (param === '--include-tests') {
369
+ config.includeTests = true;
370
+ } else if (param === '--approve-high-risk') {
371
+ config.approveHighRisk = true;
372
+ } else if (param === '--exclude-external') {
373
+ config.excludeExternal = true;
374
+ } else if (param.startsWith('--depth') && params[i + 1]) {
375
+ config.depth = params[++i];
376
+ } else if (param.startsWith('--risk-threshold') && params[i + 1]) {
377
+ config.riskThreshold = params[++i];
378
+ } else if (param.startsWith('--output-format') && params[i + 1]) {
379
+ config.outputFormat = params[++i];
380
+ } else if (param.startsWith('--save-report') && params[i + 1]) {
381
+ config.saveReport = params[++i];
382
+ }
383
+ }
384
+
385
+ // Validation
386
+ const validModificationTypes = ['modify', 'deprecate', 'remove', 'refactor'];
387
+ if (!validModificationTypes.includes(config.modificationType)) {
388
+ throw new Error(`Invalid modification type: ${config.modificationType}. Must be one of: ${validModificationTypes.join(', ')}`);
389
+ }
390
+
391
+ const validDepths = ['shallow', 'medium', 'deep'];
392
+ if (!validDepths.includes(config.depth)) {
393
+ throw new Error(`Invalid depth: ${config.depth}. Must be one of: ${validDepths.join(', ')}`);
394
+ }
395
+
396
+ const validRiskThresholds = ['low', 'medium', 'high', 'critical'];
397
+ if (!validRiskThresholds.includes(config.riskThreshold)) {
398
+ throw new Error(`Invalid risk threshold: ${config.riskThreshold}. Must be one of: ${validRiskThresholds.join(', ')}`);
399
+ }
400
+
401
+ const validOutputFormats = ['text', 'json', 'visual', 'html'];
402
+ if (!validOutputFormats.includes(config.outputFormat)) {
403
+ throw new Error(`Invalid output format: ${config.outputFormat}. Must be one of: ${validOutputFormats.join(', ')}`);
404
+ }
405
+
406
+ return config;
407
+ }
408
+
409
+ async initializeDependencies() {
410
+ try {
411
+ // Initialize dependency impact analyzer
412
+ const DependencyImpactAnalyzer = require('../scripts/dependency-impact-analyzer');
413
+ this.dependencyAnalyzer = new DependencyImpactAnalyzer({ rootPath: this.rootPath });
414
+ await this.dependencyAnalyzer.initialize();
415
+
416
+ // Initialize change propagation predictor
417
+ // const ChangePropagationPredictor = require('../scripts/change-propagation-predictor'); // Archived in archived-utilities/ (Story 3.1.2)
418
+ // this.propagationPredictor = new ChangePropagationPredictor({ rootPath: this.rootPath }); // Archived in archived-utilities/ (Story 3.1.2)
419
+
420
+ // Initialize risk assessment
421
+ const ModificationRiskAssessment = require('../scripts/modification-risk-assessment');
422
+ this.riskAssessment = new ModificationRiskAssessment({ rootPath: this.rootPath });
423
+
424
+ // Initialize visual impact generator
425
+ const VisualImpactGenerator = require('../scripts/visual-impact-generator');
426
+ this.visualGenerator = new VisualImpactGenerator({ rootPath: this.rootPath });
427
+
428
+ // Initialize approval workflow
429
+ const ApprovalWorkflow = require('../scripts/approval-workflow');
430
+ this.approvalWorkflow = new ApprovalWorkflow({ rootPath: this.rootPath });
431
+
432
+ } catch (error) {
433
+ throw new Error(`Failed to initialize dependencies: ${error.message}`);
434
+ }
435
+ }
436
+
437
+ async validateTargetComponent(config) {
438
+ const fullPath = path.resolve(this.rootPath, config.componentPath);
439
+
440
+ try {
441
+ const stats = await fs.stat(fullPath);
442
+ if (!stats.isFile()) {
443
+ throw new Error(`Target path is not a file: ${config.componentPath}`);
444
+ }
445
+
446
+ const content = await fs.readFile(fullPath, 'utf-8');
447
+ const componentType = this.determineComponentType(fullPath, content);
448
+
449
+ return {
450
+ path: config.componentPath,
451
+ fullPath: fullPath,
452
+ type: componentType,
453
+ content: content,
454
+ size: stats.size,
455
+ lastModified: stats.mtime.toISOString()
456
+ };
457
+
458
+ } catch (error) {
459
+ if (error.code === 'ENOENT') {
460
+ throw new Error(`Component not found: ${config.componentPath}`);
461
+ }
462
+ throw error;
463
+ }
464
+ }
465
+
466
+ async analyzeDependencyImpact(targetComponent, config) {
467
+ return await this.dependencyAnalyzer.analyzeDependencyImpact(targetComponent, {
468
+ depth: config.depth,
469
+ includeTests: config.includeTests,
470
+ excludeExternal: config.excludeExternal,
471
+ modificationType: config.modificationType
472
+ });
473
+ }
474
+
475
+ async predictChangePropagation(targetComponent, dependencyImpact, config) {
476
+ return await this.propagationPredictor.predictPropagation(targetComponent, dependencyImpact, {
477
+ depth: config.depth,
478
+ modificationType: config.modificationType
479
+ });
480
+ }
481
+
482
+ async assessModificationRisks(targetComponent, dependencyImpact, propagationAnalysis, config) {
483
+ return await this.riskAssessment.assessRisks(targetComponent, {
484
+ dependencyImpact,
485
+ propagationAnalysis,
486
+ modificationType: config.modificationType,
487
+ riskThreshold: config.riskThreshold
488
+ });
489
+ }
490
+
491
+ async generateImpactReport(targetComponent, analyses, config) {
492
+ const { dependencyImpact, propagationAnalysis, riskAssessment } = analyses;
493
+
494
+ const report = {
495
+ reportId: `impact-${Date.now()}-${Math.random().toString(36).substr(2, 6)}`,
496
+ timestamp: new Date().toISOString(),
497
+ targetComponent: {
498
+ path: targetComponent.path,
499
+ type: targetComponent.type,
500
+ size: targetComponent.size
501
+ },
502
+ modificationType: config.modificationType,
503
+ analysisDepth: config.depth,
504
+ summary: {
505
+ overallRisk: riskAssessment.overallRisk,
506
+ affectedComponents: dependencyImpact.affectedComponents.length,
507
+ propagationDepth: propagationAnalysis.maxDepth,
508
+ criticalIssues: riskAssessment.criticalIssues.length,
509
+ recommendations: riskAssessment.recommendations.length
510
+ },
511
+ dependencyAnalysis: dependencyImpact,
512
+ propagationAnalysis: propagationAnalysis,
513
+ riskAssessment: riskAssessment,
514
+ metadata: {
515
+ analysisTimestamp: new Date().toISOString(),
516
+ configUsed: config
517
+ }
518
+ };
519
+
520
+ return report;
521
+ }
522
+
523
+ async displayImpactSummary(report) {
524
+ console.log(chalk.blue('\\n📊 Impact Analysis Results'));
525
+ console.log(chalk.gray('━'.repeat(50)));
526
+
527
+ console.log(`Target: ${chalk.white(report.targetComponent.path)}`);
528
+ console.log(`Modification: ${chalk.white(report.modificationType)}`);
529
+ console.log(`Risk Level: ${this.formatRiskLevel(report.summary.overallRisk)}`);
530
+ console.log(`Affected Components: ${chalk.white(report.summary.affectedComponents)}`);
531
+ console.log(`Propagation Depth: ${chalk.white(report.summary.propagationDepth)}`);
532
+
533
+ if (report.summary.criticalIssues > 0) {
534
+ console.log(`${chalk.red('⚠ Critical Issues:')} ${report.summary.criticalIssues}`);
535
+ }
536
+
537
+ if (report.riskAssessment.recommendations.length > 0) {
538
+ console.log(chalk.blue('\\n💡 Key Recommendations:'));
539
+ report.riskAssessment.recommendations.slice(0, 3).forEach((rec, index) => {
540
+ console.log(` ${index + 1}. ${rec.title}`);
541
+ });
542
+ }
543
+
544
+ // Display most critical affected components
545
+ if (report.dependencyAnalysis.affectedComponents.length > 0) {
546
+ console.log(chalk.blue('\\n🔗 Most Impacted Components:'));
547
+ const topImpacted = report.dependencyAnalysis.affectedComponents
548
+ .sort((a, b) => b.impactScore - a.impactScore)
549
+ .slice(0, 5);
550
+
551
+ topImpacted.forEach(component => {
552
+ const riskIcon = component.impactScore > 8 ? '🔴' : component.impactScore > 5 ? '🟡' : '🟢';
553
+ console.log(` ${riskIcon} ${component.path} (impact: ${component.impactScore}/10)`);
554
+ });
555
+ }
556
+ }
557
+
558
+ async generateVisualRepresentation(report, config) {
559
+ const visualData = await this.visualGenerator.generateImpactVisualization(report, {
560
+ format: config.outputFormat,
561
+ includeInteractive: config.outputFormat === 'html'
562
+ });
563
+
564
+ if (config.outputFormat === 'visual') {
565
+ // Display ASCII-based visual representation
566
+ console.log(chalk.blue('\\n📈 Visual Impact Map:'));
567
+ console.log(visualData.asciiGraph);
568
+ }
569
+
570
+ return visualData;
571
+ }
572
+
573
+ async saveDetailedReport(report, savePath, format) {
574
+ const fullPath = path.resolve(this.rootPath, savePath);
575
+ await fs.mkdir(path.dirname(fullPath), { recursive: true });
576
+
577
+ let content;
578
+ switch (format) {
579
+ case 'json':
580
+ content = JSON.stringify(report, null, 2);
581
+ break;
582
+ case 'html':
583
+ content = await this.generateHtmlReport(report);
584
+ break;
585
+ default:
586
+ content = await this.generateTextReport(report);
587
+ }
588
+
589
+ await fs.writeFile(fullPath, content);
590
+ console.log(chalk.green(`\\n📄 Detailed report saved to: ${savePath}`));
591
+ }
592
+
593
+ async handleHighRiskApproval(report) {
594
+ console.log(chalk.yellow('\\n⚠ HIGH RISK MODIFICATION DETECTED'));
595
+ console.log(chalk.gray('This modification may have significant impact on the framework.\\n'));
596
+
597
+ const { approved } = await inquirer.prompt([{
598
+ type: 'confirm',
599
+ name: 'approved',
600
+ message: `Proceed with ${report.summary.overallRisk} risk modification of ${report.targetComponent.path}?`,
601
+ default: false
602
+ }]);
603
+
604
+ if (approved) {
605
+ // Log approval for audit trail
606
+ await this.approvalWorkflow.logApproval(report, {
607
+ approvedBy: 'user',
608
+ approvalTimestamp: new Date().toISOString(),
609
+ riskLevel: report.summary.overallRisk
610
+ });
611
+ }
612
+
613
+ return approved;
614
+ }
615
+
616
+ // Helper methods
617
+
618
+ determineComponentType(filePath, content) {
619
+ if (filePath.includes('/agents/')) return 'agent';
620
+ if (filePath.includes('/tasks/')) return 'task';
621
+ if (filePath.includes('/workflows/')) return 'workflow';
622
+ if (filePath.includes('/utils/')) return 'util';
623
+
624
+ // Analyze content for type hints
625
+ if (content.includes('class') && content.includes('execute')) return 'task';
626
+ if (content.includes('agent_name') || content.includes('Agent')) return 'agent';
627
+ if (content.includes('workflow_steps') || content.includes('Workflow')) return 'workflow';
628
+
629
+ return 'unknown';
630
+ }
631
+
632
+ formatRiskLevel(riskLevel) {
633
+ const colors = {
634
+ low: chalk.green,
635
+ medium: chalk.yellow,
636
+ high: chalk.red,
637
+ critical: chalk.red.bold
638
+ };
639
+ return colors[riskLevel] ? colors[riskLevel](riskLevel.toUpperCase()) : riskLevel;
640
+ }
641
+
642
+ async generateHtmlReport(report) {
643
+ // Generate comprehensive HTML report with charts and interactivity
644
+ return `<!DOCTYPE html>
645
+ <html>
646
+ <head>
647
+ <title>Impact Analysis Report - ${report.targetComponent.path}</title>
648
+ <style>
649
+ body { font-family: Arial, sans-serif; margin: 20px; }
650
+ .risk-${report.summary.overallRisk} { color: ${this.getRiskColor(report.summary.overallRisk)}; }
651
+ .component-list { margin: 10px 0; }
652
+ .component-item { padding: 5px; margin: 2px 0; border-left: 3px solid #ccc; }
653
+ .chart-container { margin: 20px 0; }
654
+ </style>
655
+ </head>
656
+ <body>
657
+ <h1>Impact Analysis Report</h1>
658
+ <h2>Target: ${report.targetComponent.path}</h2>
659
+ <p><strong>Risk Level:</strong> <span class="risk-${report.summary.overallRisk}">${report.summary.overallRisk.toUpperCase()}</span></p>
660
+ <p><strong>Affected Components:</strong> ${report.summary.affectedComponents}</p>
661
+ <p><strong>Analysis Date:</strong> ${report.timestamp}</p>
662
+
663
+ <h3>Dependency Impact</h3>
664
+ <div class="component-list">
665
+ ${report.dependencyAnalysis.affectedComponents.map(comp =>
666
+ `<div class="component-item">
667
+ <strong>${comp.path}</strong> (Impact: ${comp.impactScore}/10)
668
+ <br><small>${comp.reason}</small>
669
+ </div>`
670
+ ).join('')}
671
+ </div>
672
+
673
+ <h3>Risk Assessment</h3>
674
+ <ul>
675
+ ${report.riskAssessment.recommendations.map(rec =>
676
+ `<li><strong>${rec.title}</strong><br>${rec.description}</li>`
677
+ ).join('')}
678
+ </ul>
679
+ </body>
680
+ </html>`;
681
+ }
682
+
683
+ async generateTextReport(report) {
684
+ return `
685
+ IMPACT ANALYSIS REPORT
686
+ =====================
687
+
688
+ Target Component: ${report.targetComponent.path}
689
+ Modification Type: ${report.modificationType}
690
+ Analysis Depth: ${report.analysisDepth}
691
+ Risk Level: ${report.summary.overallRisk.toUpperCase()}
692
+ Analysis Date: ${report.timestamp}
693
+
694
+ SUMMARY
695
+ -------
696
+ Affected Components: ${report.summary.affectedComponents}
697
+ Propagation Depth: ${report.summary.propagationDepth}
698
+ Critical Issues: ${report.summary.criticalIssues}
699
+ Recommendations: ${report.summary.recommendations}
700
+
701
+ AFFECTED COMPONENTS
702
+ ------------------
703
+ ${report.dependencyAnalysis.affectedComponents.map(comp =>
704
+ `- ${comp.path} (Impact: ${comp.impactScore}/10)
705
+ Reason: ${comp.reason}`
706
+ ).join('\\n')}
707
+
708
+ RECOMMENDATIONS
709
+ --------------
710
+ ${report.riskAssessment.recommendations.map((rec, index) =>
711
+ `${index + 1}. ${rec.title}
712
+ ${rec.description}`
713
+ ).join('\\n\\n')}
714
+
715
+ RISK FACTORS
716
+ -----------
717
+ ${report.riskAssessment.riskFactors.map(factor =>
718
+ `- ${factor.type}: ${factor.description} (Severity: ${factor.severity})`
719
+ ).join('\\n')}
720
+ `;
721
+ }
722
+
723
+ getRiskColor(riskLevel) {
724
+ const colors = {
725
+ low: '#28a745',
726
+ medium: '#ffc107',
727
+ high: '#dc3545',
728
+ critical: '#721c24'
729
+ };
730
+ return colors[riskLevel] || '#6c757d';
731
+ }
732
+ }
733
+
734
+ module.exports = AnalyzeImpactTask;
735
+ ```
736
+
737
+ ## Validation Rules
738
+
739
+ ### Input Validation
740
+ - Modification type must be valid (modify, deprecate, remove, refactor)
741
+ - Component path must exist and be accessible
742
+ - Analysis depth must be recognized level
743
+ - Risk threshold must be valid level
744
+
745
+ ### Safety Checks
746
+ - High-risk modifications require approval workflow
747
+ - Critical modifications generate detailed warnings
748
+ - External dependency analysis can be excluded for security
749
+ - Report generation validates output paths
750
+
751
+ ### Analysis Requirements
752
+ - Dependency analysis must trace all connections
753
+ - Risk assessment must consider modification type
754
+ - Propagation prediction must respect analysis depth
755
+ - Visual representation must be accessible
756
+
757
+ ## Integration Points
758
+
759
+ ### Dependency Impact Analyzer
760
+ - Analyzes component dependencies and reverse dependencies
761
+ - Calculates impact scores for affected components
762
+ - Traces dependency chains to specified depth
763
+ - Identifies breaking change potential
764
+
765
+ ### Change Propagation Predictor
766
+ - Predicts how changes will propagate through the system
767
+ - Models cascading effects of modifications
768
+ - Estimates propagation depth and scope
769
+ - Identifies potential bottlenecks and failure points
770
+
771
+ ### Risk Assessment System
772
+ - Evaluates modification risks across multiple dimensions
773
+ - Considers component criticality and usage patterns
774
+ - Generates actionable recommendations
775
+ - Provides risk mitigation strategies
776
+
777
+ ### Visual Impact Generator
778
+ - Creates visual representations of impact analysis
779
+ - Supports multiple output formats (ASCII, HTML, JSON)
780
+ - Generates interactive impact maps for complex scenarios
781
+ - Provides exportable reports and visualizations
782
+
783
+ ### Approval Workflow
784
+ - Manages approval process for high-risk modifications
785
+ - Maintains audit trail of approval decisions
786
+ - Integrates with user approval prompts
787
+ - Supports automated approval rules for trusted scenarios
788
+
789
+ ## Output Structure
790
+
791
+ ### Success Response
792
+ ```json
793
+ {
794
+ "success": true,
795
+ "targetComponent": "aios-core/agents/weather-agent.md",
796
+ "riskLevel": "medium",
797
+ "affectedComponents": 12,
798
+ "propagationDepth": 3,
799
+ "requiresApproval": false,
800
+ "impactReport": {
801
+ "summary": { ... },
802
+ "dependencyAnalysis": { ... },
803
+ "riskAssessment": { ... }
804
+ }
805
+ }
806
+ ```
807
+
808
+ ### High-Risk Response
809
+ ```json
810
+ {
811
+ "success": true,
812
+ "requiresApproval": true,
813
+ "riskLevel": "high",
814
+ "impactSummary": {
815
+ "criticalIssues": 3,
816
+ "affectedComponents": 25,
817
+ "recommendations": 8
818
+ }
819
+ }
820
+ ```
821
+
822
+ ## Security Considerations
823
+ - Validate all file paths to prevent directory traversal
824
+ - Sanitize component paths and modification descriptions
825
+ - Ensure approval workflow cannot be bypassed for critical changes
826
+ - Validate output file paths for report generation
827
827
  - Log all high-risk modification attempts for audit