mindforge-cc 11.8.3 → 11.9.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 (435) hide show
  1. package/.agent/mindforge/ship.md +2 -2
  2. package/.agent/mindforge/update.md +1 -1
  3. package/.agent/mindforge/wf-catalog.md +5 -2
  4. package/.agent/mindforge/wf-orchestrate-review.md +35 -0
  5. package/.agent/mindforge/wf-verification-loop.md +45 -0
  6. package/.agent/mindforge/wf-workflow-optimizer.md +51 -0
  7. package/.agent/skills/article-illustrator/SKILL.md +7 -7
  8. package/.agent/skills/arxiv/SKILL.md +6 -6
  9. package/.agent/skills/code-wiki/SKILL.md +11 -11
  10. package/.agent/skills/concept-diagrams/SKILL.md +6 -6
  11. package/.agent/skills/concept-diagrams/examples/apartment-floor-plan-conversion.md +244 -0
  12. package/.agent/skills/concept-diagrams/examples/automated-password-reset-flow.md +276 -0
  13. package/.agent/skills/concept-diagrams/examples/autonomous-llm-research-agent-flow.md +240 -0
  14. package/.agent/skills/concept-diagrams/examples/banana-journey-tree-to-smoothie.md +161 -0
  15. package/.agent/skills/concept-diagrams/examples/commercial-aircraft-structure.md +209 -0
  16. package/.agent/skills/concept-diagrams/examples/cpu-ooo-microarchitecture.md +236 -0
  17. package/.agent/skills/concept-diagrams/examples/electricity-grid-flow.md +182 -0
  18. package/.agent/skills/concept-diagrams/examples/feature-film-production-pipeline.md +172 -0
  19. package/.agent/skills/concept-diagrams/examples/hospital-emergency-department-flow.md +165 -0
  20. package/.agent/skills/concept-diagrams/examples/ml-benchmark-grouped-bar-chart.md +114 -0
  21. package/.agent/skills/concept-diagrams/examples/place-order-uml-sequence.md +325 -0
  22. package/.agent/skills/concept-diagrams/examples/smart-city-infrastructure.md +173 -0
  23. package/.agent/skills/concept-diagrams/examples/smartphone-layer-anatomy.md +154 -0
  24. package/.agent/skills/concept-diagrams/examples/sn2-reaction-mechanism.md +247 -0
  25. package/.agent/skills/concept-diagrams/examples/wind-turbine-structure.md +338 -0
  26. package/.agent/skills/concept-diagrams/templates/template.html +174 -0
  27. package/.agent/skills/domain-intel/SKILL.md +7 -7
  28. package/.agent/skills/duckduckgo-search/SKILL.md +17 -17
  29. package/.agent/skills/github-auth/scripts/gh-env.sh +66 -0
  30. package/.agent/skills/github-code-review/SKILL.md +9 -9
  31. package/.agent/skills/github-pr-workflow/SKILL.md +3 -3
  32. package/.agent/skills/godmode/SKILL.md +8 -8
  33. package/.agent/skills/jupyter-live-kernel/SKILL.md +3 -3
  34. package/.agent/skills/kanban-orchestrator/SKILL.md +10 -10
  35. package/.agent/skills/kanban-worker/SKILL.md +6 -6
  36. package/.agent/skills/llm-wiki/SKILL.md +7 -7
  37. package/.agent/skills/mindforge-autonomous/SKILL.md +1 -1
  38. package/.agent/skills/mindforge-complete-milestone/SKILL.md +1 -1
  39. package/.agent/skills/mindforge-discuss-phase/SKILL.md +1 -1
  40. package/.agent/skills/mindforge-do/SKILL.md +1 -1
  41. package/.agent/skills/mindforge-execute-phase/SKILL.md +1 -1
  42. package/.agent/skills/mindforge-list-workspaces/SKILL.md +1 -1
  43. package/.agent/skills/mindforge-manager/SKILL.md +1 -1
  44. package/.agent/skills/mindforge-neural-orchestrator/SKILL.md +1 -1
  45. package/.agent/skills/mindforge-new-milestone/SKILL.md +4 -4
  46. package/.agent/skills/mindforge-new-project/SKILL.md +4 -4
  47. package/.agent/skills/mindforge-new-workspace/SKILL.md +1 -1
  48. package/.agent/skills/mindforge-note/SKILL.md +1 -1
  49. package/.agent/skills/mindforge-plan-phase/SKILL.md +1 -1
  50. package/.agent/skills/mindforge-profile-user/SKILL.md +1 -1
  51. package/.agent/skills/mindforge-remove-workspace/SKILL.md +1 -1
  52. package/.agent/skills/mindforge-research-phase/SKILL.md +1 -1
  53. package/.agent/skills/mindforge-ui-phase/SKILL.md +1 -1
  54. package/.agent/skills/mindforge-ui-review/SKILL.md +1 -1
  55. package/.agent/skills/mindforge-verify-work/SKILL.md +1 -1
  56. package/.agent/skills/mindforge-workspace-isolated/SKILL.md +1 -1
  57. package/.agent/skills/node-inspect-debugger/SKILL.md +1 -1
  58. package/.agent/skills/obsidian/SKILL.md +15 -15
  59. package/.agent/skills/osint-investigation/SKILL.md +3 -2
  60. package/.agent/skills/osint-investigation/references/sources/courtlistener.md +98 -0
  61. package/.agent/skills/osint-investigation/references/sources/gdelt.md +104 -0
  62. package/.agent/skills/osint-investigation/references/sources/icij-offshore.md +104 -0
  63. package/.agent/skills/osint-investigation/references/sources/nyc-acris.md +90 -0
  64. package/.agent/skills/osint-investigation/references/sources/ofac-sdn.md +92 -0
  65. package/.agent/skills/osint-investigation/references/sources/opencorporates.md +103 -0
  66. package/.agent/skills/osint-investigation/references/sources/sec-edgar.md +83 -0
  67. package/.agent/skills/osint-investigation/references/sources/senate-ld.md +89 -0
  68. package/.agent/skills/osint-investigation/references/sources/usaspending.md +97 -0
  69. package/.agent/skills/osint-investigation/references/sources/wayback.md +93 -0
  70. package/.agent/skills/osint-investigation/references/sources/wikipedia.md +107 -0
  71. package/.agent/skills/osint-investigation/scripts/_http.py +82 -0
  72. package/.agent/skills/osint-investigation/scripts/_normalize.py +67 -0
  73. package/.agent/skills/osint-investigation/scripts/build_findings.py +221 -0
  74. package/.agent/skills/osint-investigation/scripts/entity_resolution.py +228 -0
  75. package/.agent/skills/osint-investigation/scripts/fetch_courtlistener.py +149 -0
  76. package/.agent/skills/osint-investigation/scripts/fetch_gdelt.py +161 -0
  77. package/.agent/skills/osint-investigation/scripts/fetch_icij_offshore.py +234 -0
  78. package/.agent/skills/osint-investigation/scripts/fetch_nyc_acris.py +203 -0
  79. package/.agent/skills/osint-investigation/scripts/fetch_ofac_sdn.py +175 -0
  80. package/.agent/skills/osint-investigation/scripts/fetch_opencorporates.py +191 -0
  81. package/.agent/skills/osint-investigation/scripts/fetch_sec_edgar.py +184 -0
  82. package/.agent/skills/osint-investigation/scripts/fetch_senate_ld.py +146 -0
  83. package/.agent/skills/osint-investigation/scripts/fetch_usaspending.py +170 -0
  84. package/.agent/skills/osint-investigation/scripts/fetch_wayback.py +142 -0
  85. package/.agent/skills/osint-investigation/scripts/fetch_wikipedia.py +266 -0
  86. package/.agent/skills/osint-investigation/scripts/timing_analysis.py +252 -0
  87. package/.agent/skills/oss-forensics/SKILL.md +10 -9
  88. package/.agent/skills/oss-forensics/scripts/evidence-store.py +313 -0
  89. package/.agent/skills/parallel-cli/SKILL.md +2 -2
  90. package/.agent/skills/pinggy-tunnel/SKILL.md +3 -3
  91. package/.agent/skills/pixel-art/SKILL.md +2 -2
  92. package/.agent/skills/plan/SKILL.md +10 -10
  93. package/.agent/skills/requesting-code-review/SKILL.md +4 -6
  94. package/.agent/skills/research-paper-writing/SKILL.md +32 -32
  95. package/.agent/skills/rest-graphql-debug/SKILL.md +31 -32
  96. package/.agent/skills/s6-container-supervision/SKILL.md +1 -1
  97. package/.agent/skills/scrapling/SKILL.md +1 -1
  98. package/.agent/skills/sherlock/SKILL.md +1 -1
  99. package/.agent/skills/simplify-code/SKILL.md +5 -7
  100. package/.agent/skills/skill-authoring/SKILL.md +4 -4
  101. package/.agent/skills/spike/SKILL.md +11 -13
  102. package/.agent/skills/subagent-driven-development/SKILL.md +7 -11
  103. package/.agent/skills/systematic-debugging/SKILL.md +13 -14
  104. package/.agent/skills/test-driven-development/SKILL.md +6 -7
  105. package/.agent/skills/video-orchestrator/SKILL.md +1 -1
  106. package/.agent/skills/web-pentest/SKILL.md +7 -7
  107. package/.claude/commands/mindforge/ship.md +2 -2
  108. package/.claude/commands/mindforge/update.md +1 -1
  109. package/.claude/commands/mindforge/wf-catalog.md +5 -2
  110. package/.claude/commands/mindforge/wf-orchestrate-review.md +35 -0
  111. package/.claude/commands/mindforge/wf-verification-loop.md +45 -0
  112. package/.claude/commands/mindforge/wf-workflow-optimizer.md +51 -0
  113. package/.mindforge/config.json +3 -3
  114. package/.mindforge/dynamic-workflows/REGISTRY.md +4 -1
  115. package/.mindforge/dynamic-workflows/index.json +910 -840
  116. package/.mindforge/dynamic-workflows/scripts/accessibility-audit.js +88 -90
  117. package/.mindforge/dynamic-workflows/scripts/ai-model-eval.js +59 -61
  118. package/.mindforge/dynamic-workflows/scripts/api-contract-test.js +87 -85
  119. package/.mindforge/dynamic-workflows/scripts/api-migration.js +120 -122
  120. package/.mindforge/dynamic-workflows/scripts/architecture-modernization.js +84 -86
  121. package/.mindforge/dynamic-workflows/scripts/code-audit.js +75 -77
  122. package/.mindforge/dynamic-workflows/scripts/code-explainer.js +99 -101
  123. package/.mindforge/dynamic-workflows/scripts/competitive-analysis.js +62 -64
  124. package/.mindforge/dynamic-workflows/scripts/competitive-teardown.js +106 -108
  125. package/.mindforge/dynamic-workflows/scripts/cost-analysis.js +78 -80
  126. package/.mindforge/dynamic-workflows/scripts/data-pipeline-validate.js +47 -49
  127. package/.mindforge/dynamic-workflows/scripts/database-migration.js +85 -87
  128. package/.mindforge/dynamic-workflows/scripts/debug-detective.js +97 -99
  129. package/.mindforge/dynamic-workflows/scripts/dependency-health.js +81 -83
  130. package/.mindforge/dynamic-workflows/scripts/design-system-audit.js +84 -86
  131. package/.mindforge/dynamic-workflows/scripts/documentation-gen.js +65 -67
  132. package/.mindforge/dynamic-workflows/scripts/feature-planner.js +78 -80
  133. package/.mindforge/dynamic-workflows/scripts/incident-response.js +81 -83
  134. package/.mindforge/dynamic-workflows/scripts/multi-repo-sync.js +49 -51
  135. package/.mindforge/dynamic-workflows/scripts/mutation-testing.js +113 -115
  136. package/.mindforge/dynamic-workflows/scripts/onboard-codebase.js +79 -81
  137. package/.mindforge/dynamic-workflows/scripts/orchestrate-review.js +115 -0
  138. package/.mindforge/dynamic-workflows/scripts/perf-optimize.js +97 -99
  139. package/.mindforge/dynamic-workflows/scripts/pr-review.js +61 -63
  140. package/.mindforge/dynamic-workflows/scripts/refactor-plan.js +88 -90
  141. package/.mindforge/dynamic-workflows/scripts/release-prep.js +79 -81
  142. package/.mindforge/dynamic-workflows/scripts/security-hardening.js +117 -119
  143. package/.mindforge/dynamic-workflows/scripts/security-threat-model.js +119 -121
  144. package/.mindforge/dynamic-workflows/scripts/tdd-sprint.js +80 -82
  145. package/.mindforge/dynamic-workflows/scripts/tech-evaluation.js +50 -52
  146. package/.mindforge/dynamic-workflows/scripts/test-coverage-gap.js +68 -70
  147. package/.mindforge/dynamic-workflows/scripts/ux-heuristic-audit.js +89 -91
  148. package/.mindforge/dynamic-workflows/scripts/verification-loop.js +138 -0
  149. package/.mindforge/dynamic-workflows/scripts/workflow-optimizer.js +136 -0
  150. package/.mindforge/dynamic-workflows/scripts/writer-reviewer.js +63 -65
  151. package/.mindforge/memory/sync-manifest.json +1 -1
  152. package/.mindforge/personas/advisor-researcher.md +2 -2
  153. package/.mindforge/personas/api-load-tester.md +1 -1
  154. package/.mindforge/personas/authentication-architect.md +1 -1
  155. package/.mindforge/personas/backup-recovery-specialist.md +1 -1
  156. package/.mindforge/personas/build-optimizer.md +1 -1
  157. package/.mindforge/personas/caching-strategist.md +1 -1
  158. package/.mindforge/personas/chaos-engineer.md +1 -1
  159. package/.mindforge/personas/compliance-auditor.md +1 -1
  160. package/.mindforge/personas/config-management-expert.md +1 -1
  161. package/.mindforge/personas/coverage-specialist.md +1 -1
  162. package/.mindforge/personas/debug-specialist.md +2 -2
  163. package/.mindforge/personas/debugger.md +2 -2
  164. package/.mindforge/personas/dependency-auditor.md +1 -1
  165. package/.mindforge/personas/developer.md +1 -1
  166. package/.mindforge/personas/devops-engineer.md +1 -1
  167. package/.mindforge/personas/doc-auditor.md +1 -1
  168. package/.mindforge/personas/executor.md +1 -1
  169. package/.mindforge/personas/go-specialist.md +1 -1
  170. package/.mindforge/personas/incident-commander.md +1 -1
  171. package/.mindforge/personas/java-specialist.md +1 -1
  172. package/.mindforge/personas/kubernetes-debugger.md +1 -1
  173. package/.mindforge/personas/logging-architect.md +1 -1
  174. package/.mindforge/personas/mf-planner.md +1 -1
  175. package/.mindforge/personas/mf-researcher.md +1 -1
  176. package/.mindforge/personas/mf-reviewer.md +1 -1
  177. package/.mindforge/personas/monorepo-architect.md +2 -1
  178. package/.mindforge/personas/nyquist-auditor.md +1 -1
  179. package/.mindforge/personas/observability-engineer.md +1 -1
  180. package/.mindforge/personas/performance-optimizer.md +1 -1
  181. package/.mindforge/personas/phase-researcher.md +5 -5
  182. package/.mindforge/personas/planner.md +1 -1
  183. package/.mindforge/personas/project-researcher.md +2 -2
  184. package/.mindforge/personas/python-specialist.md +1 -1
  185. package/.mindforge/personas/qa-engineer.md +1 -1
  186. package/.mindforge/personas/release-manager.md +6 -4
  187. package/.mindforge/personas/research-agent.md +4 -4
  188. package/.mindforge/personas/roadmapper-extend.md +1 -1
  189. package/.mindforge/personas/rust-specialist.md +1 -1
  190. package/.mindforge/personas/security-reviewer.md +1 -1
  191. package/.mindforge/personas/tech-writer.md +1 -1
  192. package/.mindforge/personas/typescript-wizard.md +1 -1
  193. package/.mindforge/personas/ui-researcher.md +1 -1
  194. package/.mindforge/skills/accessibility/SKILL.md +2 -2
  195. package/.mindforge/skills/agent-architecture-audit/SKILL.md +11 -0
  196. package/.mindforge/skills/arxiv/SKILL.md +6 -6
  197. package/.mindforge/skills/arxiv/scripts/search_arxiv.py +114 -0
  198. package/.mindforge/skills/code-tour/SKILL.md +2 -2
  199. package/.mindforge/skills/code-wiki/SKILL.md +11 -11
  200. package/.mindforge/skills/code-wiki/templates/README.md +31 -0
  201. package/.mindforge/skills/code-wiki/templates/architecture.md +30 -0
  202. package/.mindforge/skills/code-wiki/templates/getting-started.md +47 -0
  203. package/.mindforge/skills/code-wiki/templates/module.md +38 -0
  204. package/.mindforge/skills/concept-diagrams/SKILL.md +6 -6
  205. package/.mindforge/skills/concept-diagrams/examples/apartment-floor-plan-conversion.md +244 -0
  206. package/.mindforge/skills/concept-diagrams/examples/automated-password-reset-flow.md +276 -0
  207. package/.mindforge/skills/concept-diagrams/examples/autonomous-llm-research-agent-flow.md +240 -0
  208. package/.mindforge/skills/concept-diagrams/examples/banana-journey-tree-to-smoothie.md +161 -0
  209. package/.mindforge/skills/concept-diagrams/examples/commercial-aircraft-structure.md +209 -0
  210. package/.mindforge/skills/concept-diagrams/examples/cpu-ooo-microarchitecture.md +236 -0
  211. package/.mindforge/skills/concept-diagrams/examples/electricity-grid-flow.md +182 -0
  212. package/.mindforge/skills/concept-diagrams/examples/feature-film-production-pipeline.md +172 -0
  213. package/.mindforge/skills/concept-diagrams/examples/hospital-emergency-department-flow.md +165 -0
  214. package/.mindforge/skills/concept-diagrams/examples/ml-benchmark-grouped-bar-chart.md +114 -0
  215. package/.mindforge/skills/concept-diagrams/examples/place-order-uml-sequence.md +325 -0
  216. package/.mindforge/skills/concept-diagrams/examples/smart-city-infrastructure.md +173 -0
  217. package/.mindforge/skills/concept-diagrams/examples/smartphone-layer-anatomy.md +154 -0
  218. package/.mindforge/skills/concept-diagrams/examples/sn2-reaction-mechanism.md +247 -0
  219. package/.mindforge/skills/concept-diagrams/examples/wind-turbine-structure.md +338 -0
  220. package/.mindforge/skills/concept-diagrams/references/dashboard-patterns.md +43 -0
  221. package/.mindforge/skills/concept-diagrams/references/infrastructure-patterns.md +144 -0
  222. package/.mindforge/skills/concept-diagrams/references/physical-shape-cookbook.md +42 -0
  223. package/.mindforge/skills/concept-diagrams/templates/template.html +174 -0
  224. package/.mindforge/skills/creative-ideation/references/full-prompt-library.md +110 -0
  225. package/.mindforge/skills/documentation/SKILL.md +4 -1
  226. package/.mindforge/skills/domain-intel/SKILL.md +7 -7
  227. package/.mindforge/skills/domain-intel/scripts/domain_intel.py +397 -0
  228. package/.mindforge/skills/duckduckgo-search/SKILL.md +17 -17
  229. package/.mindforge/skills/duckduckgo-search/scripts/duckduckgo.sh +28 -0
  230. package/.mindforge/skills/environment-management/SKILL.md +1 -1
  231. package/.mindforge/skills/github-code-review/SKILL.md +9 -9
  232. package/.mindforge/skills/github-code-review/references/review-output-template.md +74 -0
  233. package/.mindforge/skills/github-issues/templates/bug-report.md +35 -0
  234. package/.mindforge/skills/github-issues/templates/feature-request.md +31 -0
  235. package/.mindforge/skills/github-pr-workflow/SKILL.md +3 -3
  236. package/.mindforge/skills/github-pr-workflow/references/ci-troubleshooting.md +183 -0
  237. package/.mindforge/skills/github-pr-workflow/references/conventional-commits.md +71 -0
  238. package/.mindforge/skills/github-pr-workflow/templates/pr-body-bugfix.md +35 -0
  239. package/.mindforge/skills/github-pr-workflow/templates/pr-body-feature.md +33 -0
  240. package/.mindforge/skills/jupyter-live-kernel/SKILL.md +3 -3
  241. package/.mindforge/skills/kanban-orchestrator/SKILL.md +10 -10
  242. package/.mindforge/skills/kanban-worker/SKILL.md +6 -6
  243. package/.mindforge/skills/meme-generation/SKILL.md +1 -1
  244. package/.mindforge/skills/meme-generation/scripts/generate_meme.py +470 -0
  245. package/.mindforge/skills/meme-generation/scripts/templates.json +97 -0
  246. package/.mindforge/skills/obsidian/SKILL.md +15 -15
  247. package/.mindforge/skills/orch-pipeline/SKILL.md +2 -2
  248. package/.mindforge/skills/osint-investigation/SKILL.md +3 -2
  249. package/.mindforge/skills/osint-investigation/references/sources/courtlistener.md +98 -0
  250. package/.mindforge/skills/osint-investigation/references/sources/gdelt.md +104 -0
  251. package/.mindforge/skills/osint-investigation/references/sources/icij-offshore.md +104 -0
  252. package/.mindforge/skills/osint-investigation/references/sources/nyc-acris.md +90 -0
  253. package/.mindforge/skills/osint-investigation/references/sources/ofac-sdn.md +92 -0
  254. package/.mindforge/skills/osint-investigation/references/sources/opencorporates.md +103 -0
  255. package/.mindforge/skills/osint-investigation/references/sources/sec-edgar.md +83 -0
  256. package/.mindforge/skills/osint-investigation/references/sources/senate-ld.md +89 -0
  257. package/.mindforge/skills/osint-investigation/references/sources/usaspending.md +97 -0
  258. package/.mindforge/skills/osint-investigation/references/sources/wayback.md +93 -0
  259. package/.mindforge/skills/osint-investigation/references/sources/wikipedia.md +107 -0
  260. package/.mindforge/skills/osint-investigation/scripts/_http.py +82 -0
  261. package/.mindforge/skills/osint-investigation/scripts/_normalize.py +67 -0
  262. package/.mindforge/skills/osint-investigation/scripts/build_findings.py +221 -0
  263. package/.mindforge/skills/osint-investigation/scripts/entity_resolution.py +228 -0
  264. package/.mindforge/skills/osint-investigation/scripts/fetch_courtlistener.py +149 -0
  265. package/.mindforge/skills/osint-investigation/scripts/fetch_gdelt.py +161 -0
  266. package/.mindforge/skills/osint-investigation/scripts/fetch_icij_offshore.py +234 -0
  267. package/.mindforge/skills/osint-investigation/scripts/fetch_nyc_acris.py +203 -0
  268. package/.mindforge/skills/osint-investigation/scripts/fetch_ofac_sdn.py +175 -0
  269. package/.mindforge/skills/osint-investigation/scripts/fetch_opencorporates.py +191 -0
  270. package/.mindforge/skills/osint-investigation/scripts/fetch_sec_edgar.py +184 -0
  271. package/.mindforge/skills/osint-investigation/scripts/fetch_senate_ld.py +146 -0
  272. package/.mindforge/skills/osint-investigation/scripts/fetch_usaspending.py +170 -0
  273. package/.mindforge/skills/osint-investigation/scripts/fetch_wayback.py +142 -0
  274. package/.mindforge/skills/osint-investigation/scripts/fetch_wikipedia.py +266 -0
  275. package/.mindforge/skills/osint-investigation/scripts/timing_analysis.py +252 -0
  276. package/.mindforge/skills/osint-investigation/templates/source-template.md +59 -0
  277. package/.mindforge/skills/oss-forensics/SKILL.md +6 -6
  278. package/.mindforge/skills/oss-forensics/references/evidence-types.md +89 -0
  279. package/.mindforge/skills/oss-forensics/references/github-archive-guide.md +184 -0
  280. package/.mindforge/skills/oss-forensics/references/investigation-templates.md +131 -0
  281. package/.mindforge/skills/oss-forensics/references/recovery-techniques.md +164 -0
  282. package/.mindforge/skills/oss-forensics/scripts/evidence-store.py +313 -0
  283. package/.mindforge/skills/oss-forensics/templates/forensic-report.md +151 -0
  284. package/.mindforge/skills/oss-forensics/templates/malicious-package-report.md +43 -0
  285. package/.mindforge/skills/pixel-art/SKILL.md +2 -2
  286. package/.mindforge/skills/pixel-art/references/palettes.md +49 -0
  287. package/.mindforge/skills/plan/SKILL.md +10 -10
  288. package/.mindforge/skills/requesting-code-review/SKILL.md +4 -6
  289. package/.mindforge/skills/research-paper-writing/SKILL.md +32 -32
  290. package/.mindforge/skills/research-paper-writing/references/autoreason-methodology.md +394 -0
  291. package/.mindforge/skills/research-paper-writing/references/checklists.md +434 -0
  292. package/.mindforge/skills/research-paper-writing/references/citation-workflow.md +563 -0
  293. package/.mindforge/skills/research-paper-writing/references/experiment-patterns.md +728 -0
  294. package/.mindforge/skills/research-paper-writing/references/human-evaluation.md +476 -0
  295. package/.mindforge/skills/research-paper-writing/references/paper-types.md +481 -0
  296. package/.mindforge/skills/research-paper-writing/references/reviewer-guidelines.md +433 -0
  297. package/.mindforge/skills/research-paper-writing/references/sources.md +191 -0
  298. package/.mindforge/skills/research-paper-writing/references/writing-guide.md +474 -0
  299. package/.mindforge/skills/research-paper-writing/templates/README.md +251 -0
  300. package/.mindforge/skills/scrapling/SKILL.md +1 -1
  301. package/.mindforge/skills/sherlock/SKILL.md +1 -1
  302. package/.mindforge/skills/simplify-code/SKILL.md +5 -7
  303. package/.mindforge/skills/spike/SKILL.md +11 -13
  304. package/.mindforge/skills/subagent-driven-development/SKILL.md +7 -11
  305. package/.mindforge/skills/subagent-driven-development/references/context-budget-discipline.md +53 -0
  306. package/.mindforge/skills/subagent-driven-development/references/gates-taxonomy.md +93 -0
  307. package/.mindforge/skills/systematic-debugging/SKILL.md +13 -14
  308. package/.mindforge/skills/test-driven-development/SKILL.md +6 -7
  309. package/.mindforge/skills/testing-standards/SKILL.md +1 -1
  310. package/.mindforge/skills/web-pentest/SKILL.md +2 -2
  311. package/.mindforge/skills/web-pentest/references/bypass-techniques.md +133 -0
  312. package/.mindforge/skills/web-pentest/references/exploitation-techniques.md +204 -0
  313. package/.mindforge/skills/web-pentest/references/scope-enforcement.md +110 -0
  314. package/.mindforge/skills/web-pentest/references/vuln-taxonomy.md +81 -0
  315. package/.mindforge/skills/web-pentest/templates/authorization.md +69 -0
  316. package/.mindforge/skills/web-pentest/templates/pentest-report.md +178 -0
  317. package/.mindforge/skills/writing-skills/SKILL.md +4 -3
  318. package/CHANGELOG.md +23 -1821
  319. package/MINDFORGE.md +3 -3
  320. package/README.md +58 -510
  321. package/RELEASENOTES.md +87 -2
  322. package/SECURITY.md +5 -3
  323. package/bin/install.js +1 -1
  324. package/bin/models/bedrock-provider.js +192 -0
  325. package/bin/models/model-client.js +19 -0
  326. package/bin/updater/changelog-fetcher.js +95 -5
  327. package/bin/utils/readiness-gate.js +3 -3
  328. package/changelogs/README.md +109 -0
  329. package/changelogs/index.json +103 -0
  330. package/changelogs/v0.1.0.md +21 -0
  331. package/changelogs/v0.2.0.md +15 -0
  332. package/changelogs/v0.3.0.md +28 -0
  333. package/changelogs/v0.4.0.md +29 -0
  334. package/changelogs/v0.5.0.md +34 -0
  335. package/changelogs/v0.6.0.md +34 -0
  336. package/changelogs/v1.0.0.md +60 -0
  337. package/changelogs/v1.0.1.md +15 -0
  338. package/changelogs/v1.0.2.md +10 -0
  339. package/changelogs/v1.0.3.md +10 -0
  340. package/changelogs/v1.0.4.md +10 -0
  341. package/changelogs/v1.0.5.md +10 -0
  342. package/changelogs/v10.0.0.md +71 -0
  343. package/changelogs/v10.0.2.md +15 -0
  344. package/changelogs/v10.0.3.md +21 -0
  345. package/changelogs/v10.0.4.md +16 -0
  346. package/changelogs/v10.0.5.md +16 -0
  347. package/changelogs/v10.0.6.md +15 -0
  348. package/changelogs/v10.0.7.md +15 -0
  349. package/changelogs/v10.0.8.md +15 -0
  350. package/changelogs/v10.0.9.md +15 -0
  351. package/changelogs/v10.1.0.md +16 -0
  352. package/changelogs/v10.1.1.md +15 -0
  353. package/changelogs/v10.2.0.md +14 -0
  354. package/changelogs/v10.3.0.md +13 -0
  355. package/changelogs/v10.4.0.md +13 -0
  356. package/changelogs/v10.5.0.md +13 -0
  357. package/changelogs/v10.6.0.md +13 -0
  358. package/changelogs/v10.7.0.md +15 -0
  359. package/changelogs/v11.0.0.md +66 -0
  360. package/changelogs/v11.0.1.md +10 -0
  361. package/changelogs/v11.1.0.md +56 -0
  362. package/changelogs/v11.2.0.md +41 -0
  363. package/changelogs/v11.2.1.md +38 -0
  364. package/changelogs/v11.3.0.md +45 -0
  365. package/changelogs/v11.3.1.md +39 -0
  366. package/changelogs/v11.4.0.md +38 -0
  367. package/changelogs/v11.5.0.md +77 -0
  368. package/changelogs/v11.5.1.md +47 -0
  369. package/changelogs/v11.6.0.md +45 -0
  370. package/changelogs/v11.7.0.md +30 -0
  371. package/changelogs/v11.7.1.md +8 -0
  372. package/changelogs/v11.8.0.md +19 -0
  373. package/changelogs/v11.8.1.md +28 -0
  374. package/changelogs/v11.8.2.md +22 -0
  375. package/changelogs/v11.8.3.md +22 -0
  376. package/changelogs/v11.9.0.md +17 -0
  377. package/changelogs/v11.9.1.md +8 -0
  378. package/changelogs/v2.0.0-alpha.1.md +42 -0
  379. package/changelogs/v2.0.0-alpha.10.md +13 -0
  380. package/changelogs/v2.0.0-alpha.11.md +14 -0
  381. package/changelogs/v2.0.0-alpha.12.md +16 -0
  382. package/changelogs/v2.0.0-alpha.2.md +14 -0
  383. package/changelogs/v2.0.0-alpha.3.md +17 -0
  384. package/changelogs/v2.0.0-alpha.4.md +17 -0
  385. package/changelogs/v2.0.0-alpha.7.md +18 -0
  386. package/changelogs/v2.0.0-alpha.8.md +11 -0
  387. package/changelogs/v2.0.0-alpha.9.md +12 -0
  388. package/changelogs/v2.0.0.md +35 -0
  389. package/changelogs/v2.1.0.md +22 -0
  390. package/changelogs/v2.1.1.md +25 -0
  391. package/changelogs/v2.1.2.md +21 -0
  392. package/changelogs/v2.3.2.md +19 -0
  393. package/changelogs/v2.3.3.md +16 -0
  394. package/changelogs/v2.3.4.md +16 -0
  395. package/changelogs/v2.3.5.md +21 -0
  396. package/changelogs/v2.4.0.md +29 -0
  397. package/changelogs/v2.5.0.md +26 -0
  398. package/changelogs/v2.6.0.md +26 -0
  399. package/changelogs/v3.0.0.md +17 -0
  400. package/changelogs/v4.0.0.md +19 -0
  401. package/changelogs/v4.1.0.md +19 -0
  402. package/changelogs/v4.3.0.md +31 -0
  403. package/changelogs/v5.0.0-alpha.1.md +35 -0
  404. package/changelogs/v5.0.0-alpha.2.md +22 -0
  405. package/changelogs/v5.1.0.md +42 -0
  406. package/changelogs/v5.2.0.md +18 -0
  407. package/changelogs/v5.3.0.md +14 -0
  408. package/changelogs/v5.4.0.md +28 -0
  409. package/changelogs/v5.5.0.md +11 -0
  410. package/changelogs/v5.6.0.md +11 -0
  411. package/changelogs/v5.7.0.md +12 -0
  412. package/changelogs/v5.8.0.md +12 -0
  413. package/changelogs/v5.9.0.md +11 -0
  414. package/changelogs/v6.0.0-alpha.md +45 -0
  415. package/changelogs/v6.1.0-alpha.md +29 -0
  416. package/changelogs/v6.2.0-alpha.md +30 -0
  417. package/changelogs/v6.2.0.md +21 -0
  418. package/changelogs/v6.3.0.md +14 -0
  419. package/changelogs/v6.4.0.md +13 -0
  420. package/changelogs/v6.5.0.md +13 -0
  421. package/changelogs/v6.6.0.md +12 -0
  422. package/changelogs/v6.7.0.md +12 -0
  423. package/changelogs/v7.0.0.md +13 -0
  424. package/changelogs/v8.0.0.md +14 -0
  425. package/changelogs/v8.1.0.md +13 -0
  426. package/changelogs/v8.2.0.md +12 -0
  427. package/changelogs/v8.2.1.md +11 -0
  428. package/changelogs/v9.0.0.md +20 -0
  429. package/docs/commands-reference.md +72 -4
  430. package/docs/faq.md +38 -1
  431. package/docs/getting-started.md +52 -12
  432. package/docs/sdk-reference.md +36 -3
  433. package/docs/troubleshooting.md +59 -1
  434. package/docs/user-guide.md +7 -4
  435. package/package.json +4 -3
package/RELEASENOTES.md CHANGED
@@ -1,12 +1,97 @@
1
1
  # Release Notes
2
2
 
3
+ ## v11.9.0 — 2026-07-27 — Bedrock Provider + Full Dry-Run Audit
4
+
5
+ ### What's New
6
+ Added an AWS Bedrock provider and completed a full exhaustive dry-run audit of all 224 commands, 216 personas, and 355 skills.
7
+
8
+ ### Fixes
9
+ - `bin/models/bedrock-provider.js`: AWS Bedrock provider with Anthropic/Bedrock config switch and base64 credential decoding
10
+ - Resolved phantom-tool references ported unmodified from a different agent harness across 40 personas and ~40 skills (`Context7`/`search_web`/`read_url_content` → `WebFetch`/`WebSearch`; `CommandStatus`/`ReadTerminal`/`terminal`/`read_file`/`write_file`/`search_files`/`patch` → real Claude Code tool names; `delegate_task` → `Agent`; `kanban_create` → `TaskCreate`)
11
+ - Repointed 21 broken `@.agent/references/` and `@.agent/templates/` path references to their real `docs/References/` and `docs/Templates/*/` locations
12
+ - Copied in missing companion `scripts/`/`references/`/`templates/` assets for 17 skills that referenced files never carried over during porting
13
+ - Fixed hardcoded broken paths (`~/.hermes/skills`, `/home/teknium/...`, `HERMES_HOME`)
14
+ - Fixed a markdown fence-nesting bug in `code-tour` and 4 truncated heredoc strings in `github-code-review`
15
+ - Removed banned single-word triggers (`test`, `tests`) from `testing-standards`
16
+ - CI: build SDK before test suite; run Verification before Health Check in execution-plane
17
+ - Security: patched hono and picomatch HIGH-severity vulnerabilities
18
+
19
+ ### Stats
20
+ - Dry-run audit: 224 commands, 216 personas, 355 skills reviewed
21
+ - Phantom-tool references resolved: 40 personas, ~40 skills
22
+
23
+ ---
24
+
25
+ ## v11.8.3 — 2026-07-01 — Autopsy Fixes Stable Release
26
+
27
+ ### What's New
28
+ First fully IQ200-audited stable release — 258/258 checks passing. All 10 issues found by deep audit resolved.
29
+
30
+ ### Fixes
31
+ - `bin/mindforge-cli.js`: Added `--version` / `-V` flag — now prints version and exits 0
32
+ - `bin/spawn-agent.js`: Added `assertSafeName()` path-containment guard on spawn branch; `[NOT IMPLEMENTED in v1.0]` disclosure in help text
33
+ - `bin/governance/rbac.js`: Created re-export shim → `rbac-manager.js`
34
+ - `bin/engine/skill-loader.js`: Created stub module (`loadSkill`, `matchTriggers`, `VERSION`)
35
+ - `bin/memory/eis-client.js`: Added `module.exports.EISClient` named export
36
+ - `bin/autonomous/auto-runner.js`: Null `phase` now throws `TypeError` instead of silently coercing to `"0"`
37
+ - `.mindforge/skills/`: 12 duplicate trigger strings resolved — skill routing is now deterministic
38
+ - `sdk/`: `@types/node` installed; 24 TypeScript typecheck errors resolved (0 errors)
39
+ - `.mindforge/config.json`: `mesh.node_id` confirmed `"auto"` (not `"beta-node"`)
40
+
41
+ ### Stats
42
+ - IQ200 audit: **258/258 checks passing** (96.1% → 100%)
43
+ - SDK typecheck: 24 errors → **0 errors**
44
+ - Tests: 95/97 (0 failures, 2 env-skipped)
45
+ - 0 CVEs across all 3 packages
46
+
47
+ ---
48
+
49
+ ## v11.8.2 — 2026-07-01 — Clean Stable Release
50
+
51
+ ### Fixes
52
+ - `bin/installer-core.js`: Added `require.main === module` guard — `health` command now produces full diagnostic output
53
+ - `bin/mindforge-cli.js:185`: Fixed null-status exit code bug — signal-killed child processes now exit 1 (not 0)
54
+ - `bin/change-classifier.js`: Tier 2 branch now pushes descriptive reasons to `reasons[]`
55
+ - `sdk/tests/sdk.test.js`: Version assertion made dynamic — reads from `package.json`, no longer hardcoded
56
+ - `tests/sdk-exports.test.js`: Fixed MODULE_NOT_FOUND path resolution
57
+ - `bin/governance/ztai-manager.js`: `SecureEnclaveProvider` now lazy-instantiated — no spurious Tier-3 warning on unrelated commands
58
+ - `bin/review/cross-review-engine.js`: CLI entry point added (`--help`, `--diff`, `--phase`, `--context`)
59
+ - `tests/worktree-engine.test.js`: 90-second timeout override added
60
+ - ESLint: 6,028 errors resolved to **0 errors**
61
+
62
+ ### Stats
63
+ - Tests: 91/94 → **95/97** (0 failures)
64
+ - ESLint errors: 6,028 → **0**
65
+
66
+ ---
67
+
68
+ ## v11.8.1 — 2026-07-01 — First Stable Release
69
+
70
+ ### Security
71
+ - **mcp-server**: Patched hono ≥4.12.25 — fixes CORS credential reflection, path traversal (Windows), body-limit bypass, Set-Cookie merging, Lambda@Edge header drop (5 CVEs)
72
+ - **sdk**: Patched picomatch — fixes ReDoS via extglob quantifiers and Method Injection via POSIX character classes
73
+ - **ztai**: Added `SECURITY_TIER_3_SIMULATED` disclosure constant and startup warning for in-process key simulation
74
+
75
+ ### Fixes
76
+ - `bin/sre/sli-verifier.js`: `simulateShadowWave()` gated behind `MINDFORGE_SRE_SIMULATE=true` env flag
77
+ - `bin/spawn-agent.js`: Silent 500ms stub replaced with explicit error and usage guidance
78
+ - `bin/memory/eis-client.js`: `resolveRemoteNode()` now throws explicitly (not silently returns null)
79
+ - `bin/browser/session-manager.js`: `capabilities.importFromBrowser=false` export added
80
+ - `.mindforge/config.json`: `mesh.node_id` changed from `"beta-node"` to `"auto"`
81
+
82
+ ### Stats
83
+ - Vulnerabilities: 2 HIGH → **0**
84
+ - npm audit: 0 vulnerabilities across root, sdk, mcp-server
85
+
86
+ ---
87
+
3
88
  ## v11.8.0 — Workflow Forge II
4
89
 
5
90
  **Released:** 2026-06-24
6
91
 
7
92
  ### What's New
8
93
 
9
- MindForge v11.8.0 "Workflow Forge II" expands the Dynamic Workflow Library from 12 to **33 workflows** and introduces a new **Beast tier** for compound multi-phase adversarial workflows.
94
+ MindForge v11.8.0 "Workflow Forge II" expands the Dynamic Workflow Library from 12 to **32 workflows** and introduces a new **Beast tier** for compound multi-phase adversarial workflows.
10
95
 
11
96
  ### Beast Tier (NEW)
12
97
 
@@ -86,7 +171,7 @@ node bin/mindforge-cli.js workflow info <name> # show phases and description
86
171
 
87
172
  1. `npx mindforge-cc@latest` — all 12 workflows and 13 commands install automatically
88
173
  2. Run `/mindforge:wf-catalog` to browse the library
89
- 3. Try `/mindforge:wf-deep-research <your question>` for a first run
174
+ 3. Try `/mindforge:wf-competitive-analysis <your topic>` or `/mindforge:wf-code-audit` for a first run
90
175
 
91
176
  ---
92
177
 
package/SECURITY.md CHANGED
@@ -1,5 +1,7 @@
1
1
  # Security Policy
2
2
 
3
+ > **Current version:** 11.9.0 | **npm audit:** 0 vulnerabilities across root, sdk, mcp-server
4
+
3
5
  ## Supported Versions
4
6
 
5
7
  | Version | Status | Support Level |
@@ -44,7 +46,7 @@ We follow responsible disclosure practices. We will credit reporters in the rele
44
46
 
45
47
  ---
46
48
 
47
- ## Security Features (v11.0.0)
49
+ ## Security Features (v11.0.0+)
48
50
 
49
51
  ### Authentication & Authorization
50
52
 
@@ -138,10 +140,10 @@ narrow disposable memory · scan skills/hooks/MCP/agents as supply-chain artifac
138
140
  For security questions that are not vulnerability reports, open a GitHub Discussion with the "security" label.
139
141
 
140
142
  ## Tier-3 Trust (ZTAI Secure Enclave)
141
- Tier-3 trust in v1.0 uses **in-process key simulation** (`bin/governance/ztai-manager.js` `SecureEnclaveProvider`). Key material resides in the Node.js heap — it is NOT hardware-isolated. A real TPM/HSM provider is planned for v1.2. **Do not use Tier-3 trust for production credential workflows in v1.0.**
143
+ Tier-3 trust in v11.x uses **in-process key simulation** (`bin/governance/ztai-manager.js` `SecureEnclaveProvider`). Key material resides in the Node.js heap — it is NOT hardware-isolated. A real TPM/HSM provider is planned for v12.x. **Do not use Tier-3 trust for production credential workflows in v11.x.**
142
144
 
143
145
  ## Audit Log Tamper Evidence
144
146
  The Merkle chain (`bin/governance/audit-hash.js`) provides tamper-evidence for content and ordering but does not prevent replay of identical entries. Restrict OS-level write access to `.planning/AUDIT.jsonl` to prevent replay attacks.
145
147
 
146
148
  ## Agent Dispatch (spawn mode)
147
- `bin/spawn-agent.js` spawn mode exits with an error in v1.0 — real agent dispatch is not yet implemented at the shell level. Use Claude Code slash commands (`/mindforge:auto`, `/mindforge:next`) to dispatch agents. Direct shell-level dispatch is planned for v1.1.
149
+ `bin/spawn-agent.js` spawn mode exits with an error in v11.x — real agent dispatch is not yet implemented at the shell level. Use Claude Code slash commands (`/mindforge:auto`, `/mindforge:next`) to dispatch agents.
package/bin/install.js CHANGED
@@ -123,7 +123,7 @@ function printHelp() {
123
123
  npx mindforge-cc@latest --all --global Global install for all runtimes
124
124
 
125
125
  ${c.bold('DOCUMENTATION')}
126
- ${c.dim('https://github.com/mindforge-dev/mindforge')}
126
+ ${c.dim('https://github.com/sairam0424/MindForge')}
127
127
  ${c.dim('docs/enterprise-setup.md (after install)')}
128
128
  \n`);
129
129
  }
@@ -0,0 +1,192 @@
1
+ /**
2
+ * MindForge — AWS Bedrock Provider
3
+ *
4
+ * Implements the same complete() / streamComplete() interface as AnthropicProvider
5
+ * but routes calls through the AWS Bedrock Converse API using boto3-style logic
6
+ * ported from Trelix's BedrockBackend.
7
+ *
8
+ * Credential resolution order (mirrors Trelix):
9
+ * 1. AWS_ACCESS_KEY_ID + AWS_SECRET_ACCESS_KEY env vars
10
+ * 2. AWS_PROFILE env var (named profile from ~/.aws/credentials)
11
+ * 3. Instance/task role (when running on EC2/ECS/Lambda — no env vars needed)
12
+ *
13
+ * Model ID format: Bedrock inference profile IDs with us.* prefix for on-demand:
14
+ * us.anthropic.claude-sonnet-4-6 (Sonnet 4.6)
15
+ * us.anthropic.claude-opus-4-8 (Opus 4.8)
16
+ * us.anthropic.claude-haiku-4-5-20251001-v1:0 (Haiku 4.5 — fallback)
17
+ */
18
+ 'use strict';
19
+
20
+ // Map MindForge short model IDs → Bedrock inference profile IDs
21
+ const BEDROCK_MODEL_MAP = {
22
+ 'claude-sonnet-4-6': 'us.anthropic.claude-sonnet-4-6',
23
+ 'claude-opus-4-7': 'us.anthropic.claude-opus-4-8',
24
+ 'claude-opus-4-8': 'us.anthropic.claude-opus-4-8',
25
+ 'claude-haiku-4-5': 'us.anthropic.claude-haiku-4-5-20251001-v1:0',
26
+ // Pass-through: if already a Bedrock ID, use as-is
27
+ };
28
+
29
+ function resolveBedrockModelId(modelId) {
30
+ return BEDROCK_MODEL_MAP[modelId] || modelId;
31
+ }
32
+
33
+ /**
34
+ * Transparently decode a credential value that may be stored as base64.
35
+ * If the value decodes to a printable single-line string it is returned decoded;
36
+ * otherwise the original value is returned unchanged.
37
+ * Mirrors Trelix's BedrockBackend._decode_credential() exactly.
38
+ */
39
+ function decodeCredential(value) {
40
+ if (!value) return value;
41
+ // Trim surrounding whitespace first — GitHub Secrets copy-paste often adds trailing newlines
42
+ const trimmed = value.trim();
43
+ try {
44
+ const decoded = Buffer.from(trimmed, 'base64').toString('utf8').trim();
45
+ // Accept only if printable ASCII and single-line (real AWS keys are always [A-Za-z0-9/+=])
46
+ if (decoded && /^[\x20-\x7E]+$/.test(decoded) && !decoded.includes('\n')) {
47
+ return decoded;
48
+ }
49
+ } catch (_) { /* not valid base64 — fall through */ }
50
+ return trimmed;
51
+ }
52
+
53
+ class BedrockProvider {
54
+ constructor(opts = {}) {
55
+ this._region = decodeCredential(opts.region || process.env.AWS_REGION || 'us-east-1');
56
+ this._accessKey = decodeCredential(opts.accessKey || process.env.AWS_ACCESS_KEY_ID);
57
+ this._secretKey = decodeCredential(opts.secretKey || process.env.AWS_SECRET_ACCESS_KEY);
58
+ this._profile = decodeCredential(opts.profile || process.env.AWS_PROFILE);
59
+ this._client = null; // lazy-init on first call
60
+ }
61
+
62
+ _getClient() {
63
+ if (this._client) return this._client;
64
+
65
+ let AWS;
66
+ try {
67
+ AWS = require('@aws-sdk/client-bedrock-runtime');
68
+ } catch (e) {
69
+ throw new Error(
70
+ 'AWS Bedrock provider requires @aws-sdk/client-bedrock-runtime. ' +
71
+ 'Run: npm install @aws-sdk/client-bedrock-runtime'
72
+ );
73
+ }
74
+
75
+ const clientConfig = { region: this._region };
76
+
77
+ if (this._accessKey && this._secretKey) {
78
+ // Pass decoded credentials explicitly — mirrors Trelix BedrockBackend pattern.
79
+ // This prevents the SDK from falling through to its env-var credential chain,
80
+ // which would read the raw (still-base64) env vars and produce signature errors.
81
+ clientConfig.credentials = {
82
+ accessKeyId: this._accessKey,
83
+ secretAccessKey: this._secretKey,
84
+ };
85
+ }
86
+ // No explicit creds: SDK falls back to instance role / ~/.aws/credentials / env chain.
87
+ // In that case the env vars must already be plain-text (not base64).
88
+
89
+ this._client = new AWS.BedrockRuntimeClient(clientConfig);
90
+ this._AWS = AWS;
91
+ return this._client;
92
+ }
93
+
94
+ async complete(params) {
95
+ const {
96
+ model,
97
+ systemPrompt,
98
+ userMessage,
99
+ maxTokens = 4096,
100
+ temperature = 0.7,
101
+ } = params;
102
+
103
+ const client = this._getClient();
104
+ const { ConverseCommand } = this._AWS;
105
+
106
+ const bedrockModelId = resolveBedrockModelId(model);
107
+
108
+ const request = {
109
+ modelId: bedrockModelId,
110
+ inferenceConfig: {
111
+ maxTokens,
112
+ temperature,
113
+ },
114
+ messages: [
115
+ { role: 'user', content: [{ text: userMessage }] },
116
+ ],
117
+ };
118
+ if (systemPrompt) {
119
+ request.system = [{ text: systemPrompt }];
120
+ }
121
+
122
+ const start = Date.now();
123
+ let response;
124
+ try {
125
+ response = await client.send(new ConverseCommand(request));
126
+ } catch (err) {
127
+ throw Object.assign(
128
+ new Error(`Bedrock Converse error: ${err.message}`),
129
+ { status: err.$metadata?.httpStatusCode || 500, provider: 'bedrock' }
130
+ );
131
+ }
132
+
133
+ const output = response.output?.message?.content?.[0]?.text || '';
134
+ const usage = response.usage || {};
135
+ const latency = Date.now() - start;
136
+
137
+ const { priceCall } = require('./pricing-registry');
138
+ const cost = priceCall(bedrockModelId, {
139
+ input_tokens: usage.inputTokens || 0,
140
+ output_tokens: usage.outputTokens || 0,
141
+ });
142
+
143
+ return {
144
+ model: bedrockModelId,
145
+ content: output,
146
+ input_tokens: usage.inputTokens || 0,
147
+ output_tokens: usage.outputTokens || 0,
148
+ cost_usd: cost,
149
+ latency_ms: latency,
150
+ provider: 'bedrock',
151
+ };
152
+ }
153
+
154
+ async streamComplete(messages, options = {}) {
155
+ const client = this._getClient();
156
+ const { ConverseStreamCommand } = this._AWS;
157
+
158
+ const bedrockModelId = resolveBedrockModelId(options.model || 'claude-sonnet-4-6');
159
+
160
+ // Separate system messages from the conversation
161
+ const systemMessages = messages.filter(m => m.role === 'system');
162
+ const convoMessages = messages.filter(m => m.role !== 'system');
163
+
164
+ const request = {
165
+ modelId: bedrockModelId,
166
+ inferenceConfig: { maxTokens: options.maxTokens || 4096 },
167
+ messages: convoMessages.map(m => ({
168
+ role: m.role,
169
+ content: [{ text: typeof m.content === 'string' ? m.content : JSON.stringify(m.content) }],
170
+ })),
171
+ };
172
+ if (systemMessages.length > 0) {
173
+ request.system = [{ text: systemMessages.map(m => m.content).join('\n') }];
174
+ }
175
+
176
+ let streamResponse;
177
+ try {
178
+ streamResponse = await client.send(new ConverseStreamCommand(request));
179
+ } catch (err) {
180
+ throw Object.assign(
181
+ new Error(`Bedrock stream error: ${err.message}`),
182
+ { status: err.$metadata?.httpStatusCode || 500 }
183
+ );
184
+ }
185
+
186
+ // Return an async iterable that yields SSE-style text chunks,
187
+ // matching the shape callers of streamComplete expect.
188
+ return streamResponse.stream;
189
+ }
190
+ }
191
+
192
+ module.exports = BedrockProvider;
@@ -7,6 +7,7 @@
7
7
  const Router = require('./model-router');
8
8
  const CostTracker = require('./cost-tracker');
9
9
  const AnthropicProvider = require('./anthropic-provider');
10
+ const BedrockProvider = require('./bedrock-provider');
10
11
  const OpenAIProvider = require('./openai-provider');
11
12
  const GeminiProvider = require('./gemini-provider');
12
13
  const OllamaProvider = require('./ollama-provider');
@@ -132,6 +133,24 @@ class ModelClient {
132
133
  const registered = resolveProvider(modelId);
133
134
  if (registered) return registered;
134
135
 
136
+ // Bedrock: explicit opt-in via MINDFORGE_LLM_PROVIDER=bedrock OR
137
+ // when ANTHROPIC_API_KEY is absent but AWS credentials are present.
138
+ // Supports both short IDs (claude-sonnet-4-6) and native Bedrock IDs
139
+ // (us.anthropic.*, anthropic.claude-*).
140
+ const bedrockModelPrefixes = modelId.startsWith('us.anthropic.') || modelId.startsWith('anthropic.claude');
141
+ const useBedrockExplicit = process.env.MINDFORGE_LLM_PROVIDER === 'bedrock';
142
+ const awsCredsPresent = !!(process.env.AWS_ACCESS_KEY_ID || process.env.AWS_PROFILE);
143
+ const anthropicKeyAbsent = !process.env.ANTHROPIC_API_KEY;
144
+
145
+ if (bedrockModelPrefixes || useBedrockExplicit || (anthropicKeyAbsent && awsCredsPresent && modelId.startsWith('claude'))) {
146
+ return new BedrockProvider({
147
+ region: process.env.AWS_REGION,
148
+ accessKey: process.env.AWS_ACCESS_KEY_ID,
149
+ secretKey: process.env.AWS_SECRET_ACCESS_KEY,
150
+ profile: process.env.AWS_PROFILE,
151
+ });
152
+ }
153
+
135
154
  if (modelId.startsWith('claude') || modelId.startsWith('anthropic.claude')) {
136
155
  if (!process.env.ANTHROPIC_API_KEY) return null;
137
156
  return new AnthropicProvider(process.env.ANTHROPIC_API_KEY);
@@ -7,7 +7,15 @@
7
7
 
8
8
  const { compareSemver } = require('./version-comparator');
9
9
 
10
- const CHANGELOG_URL = 'https://raw.githubusercontent.com/mindforge-dev/mindforge/main/CHANGELOG.md';
10
+ const REPO = 'sairam0424/MindForge';
11
+ const CHANGELOG_URL = `https://raw.githubusercontent.com/${REPO}/main/CHANGELOG.md`;
12
+ const CHANGELOGS_ARCHIVE_BASE = `https://raw.githubusercontent.com/${REPO}/main/changelogs`;
13
+
14
+ // Root CHANGELOG.md ships as a rolling-window aggregator (newest ~10 versions,
15
+ // full '## [x.y.z]' headers). Older versions live one-per-file under changelogs/.
16
+ // Cap the per-version fallback fetch loop so an ancient fromVersion can't trigger
17
+ // unbounded GitHub requests.
18
+ const MAX_ARCHIVE_FETCHES = 20;
11
19
 
12
20
  /**
13
21
  * Fetch CHANGELOG.md and extract entries between fromVersion and toVersion.
@@ -16,13 +24,36 @@ const CHANGELOG_URL = 'https://raw.githubusercontent.com/mindforge-dev/mindforge
16
24
  async function fetchChangelog(fromVersion, toVersion) {
17
25
  const raw = await fetchRaw();
18
26
  if (!raw) return null;
19
- return extractEntries(raw, fromVersion, toVersion);
27
+
28
+ const sections = extractSections(raw, fromVersion, toVersion);
29
+ if (sections.length) {
30
+ return sections.map(s => s.lines.join('\n').trimEnd()).join('\n\n');
31
+ }
32
+
33
+ // Empty result can mean either "nothing changed" or "fromVersion predates the
34
+ // rolling window now kept in root CHANGELOG.md". Only fall back to the
35
+ // per-version archive when fromVersion is genuinely older than the oldest
36
+ // version still present in the fetched root file.
37
+ const oldestInWindow = oldestVersionIn(raw);
38
+ if (oldestInWindow && compareSemver(fromVersion, oldestInWindow) < 0) {
39
+ return fetchFromArchive(fromVersion, toVersion);
40
+ }
41
+
42
+ return null;
20
43
  }
21
44
 
22
45
  async function fetchRaw() {
46
+ return fetchUrl(CHANGELOG_URL);
47
+ }
48
+
49
+ async function fetchVersionFile(version) {
50
+ return fetchUrl(`${CHANGELOGS_ARCHIVE_BASE}/v${version}.md`);
51
+ }
52
+
53
+ function fetchUrl(url) {
23
54
  const https = require('https');
24
55
  return new Promise(resolve => {
25
- const req = https.get(CHANGELOG_URL, { timeout: 8000 }, res => {
56
+ const req = https.get(url, { timeout: 8000 }, res => {
26
57
  if (res.statusCode !== 200) { resolve(null); return; }
27
58
  let body = '';
28
59
  res.setEncoding('utf8');
@@ -34,10 +65,62 @@ async function fetchRaw() {
34
65
  });
35
66
  }
36
67
 
68
+ /**
69
+ * Fallback path: fromVersion predates the rolling window kept in root
70
+ * CHANGELOG.md. Fetch the archive's version index (the authoritative list of
71
+ * every released version — avoids guessing nonexistent versions by walking
72
+ * semver digits), select the versions in range, fetch each one's
73
+ * changelogs/vX.Y.Z.md, and concatenate the ones that exist. Capped at
74
+ * MAX_ARCHIVE_FETCHES, newest-first-trimmed (closest to toVersion kept).
75
+ */
76
+ async function fetchFromArchive(fromVersion, toVersion) {
77
+ const versions = await enumerateVersions(fromVersion, toVersion);
78
+ if (!versions.length) return null;
79
+
80
+ const results = await Promise.all(versions.map(v => fetchVersionFile(v)));
81
+ const parts = results.filter(Boolean).map(body => body.replace(/^# Changelog\s*\n+/, '').trimEnd());
82
+ return parts.length ? parts.join('\n\n') : null;
83
+ }
84
+
85
+ /**
86
+ * Fetch changelogs/index.json (authoritative version list) and return every
87
+ * version strictly after fromVersion and up to and including toVersion,
88
+ * oldest-first, capped at MAX_ARCHIVE_FETCHES (keeping the versions nearest
89
+ * toVersion when the range exceeds the cap, since those are most relevant to
90
+ * the user's update).
91
+ */
92
+ async function enumerateVersions(fromVersion, toVersion) {
93
+ const indexRaw = await fetchUrl(`${CHANGELOGS_ARCHIVE_BASE}/index.json`);
94
+ if (!indexRaw) return [];
95
+
96
+ let versions;
97
+ try { versions = JSON.parse(indexRaw).versions; } catch { return []; }
98
+ if (!Array.isArray(versions)) return [];
99
+
100
+ const inRange = versions.filter(
101
+ v => compareSemver(v, fromVersion) > 0 && compareSemver(v, toVersion) <= 0
102
+ );
103
+ // index.json is newest-first; keep the newest MAX_ARCHIVE_FETCHES, then
104
+ // restore oldest-first order for chronological concatenation.
105
+ return inRange.slice(0, MAX_ARCHIVE_FETCHES).reverse();
106
+ }
107
+
108
+ function oldestVersionIn(changelog) {
109
+ let oldest = null;
110
+ for (const line of changelog.split('\n')) {
111
+ const vMatch = line.match(/^## \[?v?(\d+\.\d+\.\d+)/);
112
+ if (vMatch) {
113
+ const v = vMatch[1];
114
+ if (!oldest || compareSemver(v, oldest) < 0) oldest = v;
115
+ }
116
+ }
117
+ return oldest;
118
+ }
119
+
37
120
  /**
38
121
  * Parse CHANGELOG.md and extract version sections in range (from, to].
39
122
  */
40
- function extractEntries(changelog, fromVersion, toVersion) {
123
+ function extractSections(changelog, fromVersion, toVersion) {
41
124
  const sections = [];
42
125
  let current = null;
43
126
 
@@ -54,9 +137,16 @@ function extractEntries(changelog, fromVersion, toVersion) {
54
137
  }
55
138
  if (current) sections.push(current);
56
139
 
140
+ return sections;
141
+ }
142
+
143
+ // Back-compat named export: some callers/tests may reference extractEntries
144
+ // directly with the original (string | null) return contract.
145
+ function extractEntries(changelog, fromVersion, toVersion) {
146
+ const sections = extractSections(changelog, fromVersion, toVersion);
57
147
  return sections.length
58
148
  ? sections.map(s => s.lines.join('\n').trimEnd()).join('\n\n')
59
149
  : null;
60
150
  }
61
151
 
62
- module.exports = { fetchChangelog };
152
+ module.exports = { fetchChangelog, extractEntries };
@@ -109,10 +109,10 @@ function releaseReadinessChecks(root) {
109
109
  },
110
110
  {
111
111
  id: 'changelog',
112
- label: 'CHANGELOG.md present',
112
+ label: 'CHANGELOG.md present and has an entry for the current version',
113
113
  points: 2,
114
- pass: fileExists(root, 'CHANGELOG.md'),
115
- fix: 'Add/update CHANGELOG.md.',
114
+ pass: fileExists(root, 'CHANGELOG.md') && Boolean(pkgVersion) && safeRead(root, 'CHANGELOG.md').includes(pkgVersion),
115
+ fix: `Add/update CHANGELOG.md — no entry found for version ${pkgVersion || '?'} in its rolling window. If this version has aged out of the root file, ensure changelogs/v${pkgVersion || '?'}.md exists and was prepended to CHANGELOG.md's rolling window before release.`,
116
116
  },
117
117
  {
118
118
  id: 'security-policy',
@@ -0,0 +1,109 @@
1
+ # MindForge Changelog Archive
2
+
3
+ Complete, unabridged version history for MindForge — every release from [v0.1.0](./v0.1.0.md) through [v11.9.1](./v11.9.1.md), one file per version.
4
+
5
+ The root [CHANGELOG.md](../CHANGELOG.md) keeps only the newest versions inline as a rolling-window aggregator (for `bin/updater/changelog-fetcher.js` regex compatibility); this index is the full historical record.
6
+
7
+ ## All versions (newest first)
8
+
9
+ | Version | Summary |
10
+ |---|---|
11
+ | [v11.9.1](./v11.9.1.md) | Packaging Fix: Restore Missing Workflow Commands |
12
+ | [v11.9.0](./v11.9.0.md) | Bedrock Provider + Full Dry-Run Audit |
13
+ | [v11.8.3](./v11.8.3.md) | Autopsy Fixes Stable Release |
14
+ | [v11.8.2](./v11.8.2.md) | Clean Stable Release |
15
+ | [v11.8.1](./v11.8.1.md) | First Stable Release |
16
+ | [v11.8.0](./v11.8.0.md) | Workflow Forge II |
17
+ | [v11.7.1](./v11.7.1.md) | Workflow Forge (patch) |
18
+ | [v11.7.0](./v11.7.0.md) | Workflow Forge |
19
+ | [v11.6.0](./v11.6.0.md) | Skill Forge |
20
+ | [v11.5.1](./v11.5.1.md) | Robustness + governance-gate patch (Wave 8) |
21
+ | [v11.5.0](./v11.5.0.md) | Governance hardening + autonomous-engine repair (Waves 4–7) |
22
+ | [v11.4.0](./v11.4.0.md) | Claude Code plugin distribution |
23
+ | [v11.3.1](./v11.3.1.md) | Packaging hotfix (commands, skills & framework now ship) |
24
+ | [v11.3.0](./v11.3.0.md) | "Legion" (154-subagent expansion) |
25
+ | [v11.2.1](./v11.2.1.md) | "Hardening" (security & integrity audit remediation) |
26
+ | [v11.2.0](./v11.2.0.md) | "Verification & Trust" |
27
+ | [v11.1.0](./v11.1.0.md) | "Beast Mode" |
28
+ | [v11.0.1](./v11.0.1.md) | "Stability Patch" |
29
+ | [v11.0.0](./v11.0.0.md) | "Sovereign Stability" |
30
+ | [v10.7.0](./v10.7.0.md) | "Platform Sovereign" |
31
+ | [v10.6.0](./v10.6.0.md) | "Data Alchemy" |
32
+ | [v10.5.0](./v10.5.0.md) | "AI Frontier" |
33
+ | [v10.4.0](./v10.4.0.md) | "Cross-Platform" |
34
+ | [v10.3.0](./v10.3.0.md) | "Leader's Edge" |
35
+ | [v10.2.0](./v10.2.0.md) | "Industry Forge" |
36
+ | [v10.1.1](./v10.1.1.md) | "Scale & Edge" |
37
+ | [v10.1.0](./v10.1.0.md) | "Strategic Intelligence" |
38
+ | [v10.0.9](./v10.0.9.md) | "Full Spectrum" |
39
+ | [v10.0.8](./v10.0.8.md) | "Deep Patterns" |
40
+ | [v10.0.7](./v10.0.7.md) | "Meta Engineer" |
41
+ | [v10.0.6](./v10.0.6.md) | "Complete Arsenal" |
42
+ | [v10.0.5](./v10.0.5.md) | "Forge Master" |
43
+ | [v10.0.4](./v10.0.4.md) | "Santa's Eval" |
44
+ | [v10.0.3](./v10.0.3.md) | "Council Awakens" |
45
+ | [v10.0.2](./v10.0.2.md) | "Persona Expansion" |
46
+ | [v10.0.0](./v10.0.0.md) | "Bedrock Fortified" |
47
+ | [v9.0.0](./v9.0.0.md) | Bedrock Meridian — Pillars XXIV-XXVIII |
48
+ | [v8.2.1](./v8.2.1.md) | Stability & Cleanup |
49
+ | [v8.2.0](./v8.2.0.md) | Autonomous SRE Layer — Pillars XX-XXIII |
50
+ | [v8.1.0](./v8.1.0.md) | Sovereign Identity — Pillar XIX |
51
+ | [v8.0.0](./v8.0.0.md) | Celestial Orchestration - SQLite & FMS |
52
+ | [v7.0.0](./v7.0.0.md) | Sovereign Intelligence - Post-Quantum & Homing |
53
+ | [v6.7.0](./v6.7.0.md) | Federated Intelligence Mesh - FIM Expansion |
54
+ | [v6.6.0](./v6.6.0.md) | Self-Corrective Synthesis - SCS |
55
+ | [v6.5.0](./v6.5.0.md) | Reason-Source Alignment - RSA |
56
+ | [v6.4.0](./v6.4.0.md) | Context Entropy Guard - CEG |
57
+ | [v6.3.0](./v6.3.0.md) | Intelligence-Drift Coupling - IDC |
58
+ | [v6.2.0](./v6.2.0.md) | Sovereign Enterprise Stable |
59
+ | [v6.2.0-alpha](./v6.2.0-alpha.md) | Sovereign Pillars XI & XII |
60
+ | [v6.1.0-alpha](./v6.1.0-alpha.md) | Sovereign Intelligence |
61
+ | [v6.0.0-alpha](./v6.0.0-alpha.md) | The v6.0.0-alpha release introduces the final pillar of the MindForge Enterprise architect |
62
+ | [v5.9.0](./v5.9.0.md) | - Pillar VII: Nexus Steering (Hierarchical Intent Orchestration). |
63
+ | [v5.8.0](./v5.8.0.md) | - Pillar VI: Sovereign Reason Enclaves (ZK-Proof Audit Trails). |
64
+ | [v5.7.0](./v5.7.0.md) | - Pillar V: Multi-Cloud Arbitrage (Task-to-Model Affinity Routing). |
65
+ | [v5.6.0](./v5.6.0.md) | - Pillar IV: Supply Chain Trust (Binary Runtime Attestation). |
66
+ | [v5.5.0](./v5.5.0.md) | - Pillar III: Predictive Agentic Reliability (Reasoning Entropy Monitoring). |
67
+ | [v5.4.0](./v5.4.0.md) | Enterprise-Grade Hardening — 2026-03-28 |
68
+ | [v5.3.0](./v5.3.0.md) | Dynamic Blast Radius — 2026-03-28 |
69
+ | [v5.2.0](./v5.2.0.md) | Semantic Vector Consensus — 2026-03-28 |
70
+ | [v5.1.0](./v5.1.0.md) | The Enterprise Expansion — 2026-03-28 |
71
+ | [v5.0.0-alpha.2](./v5.0.0-alpha.2.md) | Predictive Reliability & Supply Chain Trust — 2026-03-28 |
72
+ | [v5.0.0-alpha.1](./v5.0.0-alpha.1.md) | Federated Intelligence & Policy Orchestration — 2026-03-28 |
73
+ | [v4.3.0](./v4.3.0.md) | Enterprise Mesh & Proactive Equilibrium — 2026-03-28 |
74
+ | [v4.1.0](./v4.1.0.md) | MindForge Nexus (Observability & Tracing) — 2026-03-27 |
75
+ | [v4.0.0](./v4.0.0.md) | Dynamic Multi-Agent Swarms (Agentic Mesh) — 2026-03-27 |
76
+ | [v3.0.0](./v3.0.0.md) | Reactive Autonomous Intelligence — 2026-03-27 |
77
+ | [v2.6.0](./v2.6.0.md) | Temporal Vision (Time-Travel Debugging) — 2026-03-27 |
78
+ | [v2.5.0](./v2.5.0.md) | Local-First Knowledge Graph (RAG 2.0) — 2026-03-27 |
79
+ | [v2.4.0](./v2.4.0.md) | The Core Pillars Optimization — 2026-03-27 |
80
+ | [v2.3.5](./v2.3.5.md) | Intelligent Asset Sync & Merge — 2026-03-26 |
81
+ | [v2.3.4](./v2.3.4.md) | Architectural Sync & Zero-GSD Purge — 2026-03-25 |
82
+ | [v2.3.3](./v2.3.3.md) | Payload Cleanup & Enterprise Pruning — 2026-03-25 |
83
+ | [v2.3.2](./v2.3.2.md) | Asset Sync Repair — 2026-03-25 |
84
+ | [v2.1.2](./v2.1.2.md) | *Status: V5.2.0 Semantic Consensus Implemented & Verified (2026-03-28)* |
85
+ | [v2.1.1](./v2.1.1.md) | Core Migration Finalization — 2026-03-25 |
86
+ | [v2.1.0](./v2.1.0.md) | The Specialized Expansion — 2026-03-24 |
87
+ | [v2.0.0](./v2.0.0.md) | The Autonomous Enterprise — 2026-03-24 |
88
+ | [v2.0.0-alpha.12](./v2.0.0-alpha.12.md) | Self-Building Skills Platform — 2026-03-24 |
89
+ | [v2.0.0-alpha.11](./v2.0.0-alpha.11.md) | Persistent Knowledge Graph — 2026-03-24 |
90
+ | [v2.0.0-alpha.10](./v2.0.0-alpha.10.md) | Skill Installation & Validation CLI — 2026-03-24 |
91
+ | [v2.0.0-alpha.9](./v2.0.0-alpha.9.md) | Verified Antigravity Compatibility — 2026-03-23 |
92
+ | [v2.0.0-alpha.8](./v2.0.0-alpha.8.md) | Antigravity Visibility Fix — 2026-03-23 |
93
+ | [v2.0.0-alpha.7](./v2.0.0-alpha.7.md) | Day 12: Real-time Observability Dashboard — 2026-03-22 |
94
+ | [v2.0.0-alpha.4](./v2.0.0-alpha.4.md) | Day 11: Persistent Knowledge Graph (Long-Term Memory) — 2026-03-22 |
95
+ | [v2.0.0-alpha.3](./v2.0.0-alpha.3.md) | Day 10: Multi-Model Intelligence Layer — 2026-03-22 |
96
+ | [v2.0.0-alpha.2](./v2.0.0-alpha.2.md) | Day 9: Visual QA Engine (Browser Runtime Engine) — 2026-03-22 |
97
+ | [v2.0.0-alpha.1](./v2.0.0-alpha.1.md) | Day 8: Autonomous Execution Engine — 2026-03-22 |
98
+ | [v1.0.5](./v1.0.5.md) | v1.0.5 Minimal Install Option — 2026-03-22 |
99
+ | [v1.0.4](./v1.0.4.md) | v1.0.4 Antigravity Install Fix — 2026-03-22 |
100
+ | [v1.0.3](./v1.0.3.md) | v1.0.3 Antigravity Agents Folder — 2026-03-22 |
101
+ | [v1.0.2](./v1.0.2.md) | v1.0.2 CLI Bin Fix — 2026-03-22 |
102
+ | [v1.0.1](./v1.0.1.md) | v1.0.1 Installer and Packaging Fixes — 2026-03-22 |
103
+ | [v1.0.0](./v1.0.0.md) | v1.0.0 First Stable Public Release — 2026-03-22 |
104
+ | [v0.6.0](./v0.6.0.md) | Day 6 Distribution Platform |
105
+ | [v0.5.0](./v0.5.0.md) | Day 5 Intelligence Layer |
106
+ | [v0.4.0](./v0.4.0.md) | Day 4 Enterprise Integrations and Governance |
107
+ | [v0.3.0](./v0.3.0.md) | Day 3 Skills Platform |
108
+ | [v0.2.0](./v0.2.0.md) | Day 2 Wave Engine |
109
+ | [v0.1.0](./v0.1.0.md) | Day 1 Foundation |