mindforge-cc 11.8.2 → 11.9.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (361) hide show
  1. package/.agent/mindforge/wf-orchestrate-review.md +35 -0
  2. package/.agent/mindforge/wf-verification-loop.md +45 -0
  3. package/.agent/mindforge/wf-workflow-optimizer.md +51 -0
  4. package/.agent/skills/article-illustrator/SKILL.md +7 -7
  5. package/.agent/skills/arxiv/SKILL.md +6 -6
  6. package/.agent/skills/code-wiki/SKILL.md +11 -11
  7. package/.agent/skills/concept-diagrams/SKILL.md +6 -6
  8. package/.agent/skills/concept-diagrams/examples/apartment-floor-plan-conversion.md +244 -0
  9. package/.agent/skills/concept-diagrams/examples/automated-password-reset-flow.md +276 -0
  10. package/.agent/skills/concept-diagrams/examples/autonomous-llm-research-agent-flow.md +240 -0
  11. package/.agent/skills/concept-diagrams/examples/banana-journey-tree-to-smoothie.md +161 -0
  12. package/.agent/skills/concept-diagrams/examples/commercial-aircraft-structure.md +209 -0
  13. package/.agent/skills/concept-diagrams/examples/cpu-ooo-microarchitecture.md +236 -0
  14. package/.agent/skills/concept-diagrams/examples/electricity-grid-flow.md +182 -0
  15. package/.agent/skills/concept-diagrams/examples/feature-film-production-pipeline.md +172 -0
  16. package/.agent/skills/concept-diagrams/examples/hospital-emergency-department-flow.md +165 -0
  17. package/.agent/skills/concept-diagrams/examples/ml-benchmark-grouped-bar-chart.md +114 -0
  18. package/.agent/skills/concept-diagrams/examples/place-order-uml-sequence.md +325 -0
  19. package/.agent/skills/concept-diagrams/examples/smart-city-infrastructure.md +173 -0
  20. package/.agent/skills/concept-diagrams/examples/smartphone-layer-anatomy.md +154 -0
  21. package/.agent/skills/concept-diagrams/examples/sn2-reaction-mechanism.md +247 -0
  22. package/.agent/skills/concept-diagrams/examples/wind-turbine-structure.md +338 -0
  23. package/.agent/skills/concept-diagrams/templates/template.html +174 -0
  24. package/.agent/skills/domain-intel/SKILL.md +7 -7
  25. package/.agent/skills/duckduckgo-search/SKILL.md +17 -17
  26. package/.agent/skills/github-auth/scripts/gh-env.sh +66 -0
  27. package/.agent/skills/github-code-review/SKILL.md +9 -9
  28. package/.agent/skills/github-pr-workflow/SKILL.md +3 -3
  29. package/.agent/skills/godmode/SKILL.md +8 -8
  30. package/.agent/skills/jupyter-live-kernel/SKILL.md +3 -3
  31. package/.agent/skills/kanban-orchestrator/SKILL.md +10 -10
  32. package/.agent/skills/kanban-worker/SKILL.md +6 -6
  33. package/.agent/skills/llm-wiki/SKILL.md +7 -7
  34. package/.agent/skills/mindforge-autonomous/SKILL.md +1 -1
  35. package/.agent/skills/mindforge-complete-milestone/SKILL.md +1 -1
  36. package/.agent/skills/mindforge-discuss-phase/SKILL.md +1 -1
  37. package/.agent/skills/mindforge-do/SKILL.md +1 -1
  38. package/.agent/skills/mindforge-execute-phase/SKILL.md +1 -1
  39. package/.agent/skills/mindforge-list-workspaces/SKILL.md +1 -1
  40. package/.agent/skills/mindforge-manager/SKILL.md +1 -1
  41. package/.agent/skills/mindforge-neural-orchestrator/SKILL.md +1 -1
  42. package/.agent/skills/mindforge-new-milestone/SKILL.md +4 -4
  43. package/.agent/skills/mindforge-new-project/SKILL.md +4 -4
  44. package/.agent/skills/mindforge-new-workspace/SKILL.md +1 -1
  45. package/.agent/skills/mindforge-note/SKILL.md +1 -1
  46. package/.agent/skills/mindforge-plan-phase/SKILL.md +1 -1
  47. package/.agent/skills/mindforge-profile-user/SKILL.md +1 -1
  48. package/.agent/skills/mindforge-remove-workspace/SKILL.md +1 -1
  49. package/.agent/skills/mindforge-research-phase/SKILL.md +1 -1
  50. package/.agent/skills/mindforge-ui-phase/SKILL.md +1 -1
  51. package/.agent/skills/mindforge-ui-review/SKILL.md +1 -1
  52. package/.agent/skills/mindforge-verify-work/SKILL.md +1 -1
  53. package/.agent/skills/mindforge-workspace-isolated/SKILL.md +1 -1
  54. package/.agent/skills/node-inspect-debugger/SKILL.md +1 -1
  55. package/.agent/skills/obsidian/SKILL.md +15 -15
  56. package/.agent/skills/osint-investigation/SKILL.md +3 -2
  57. package/.agent/skills/osint-investigation/references/sources/courtlistener.md +98 -0
  58. package/.agent/skills/osint-investigation/references/sources/gdelt.md +104 -0
  59. package/.agent/skills/osint-investigation/references/sources/icij-offshore.md +104 -0
  60. package/.agent/skills/osint-investigation/references/sources/nyc-acris.md +90 -0
  61. package/.agent/skills/osint-investigation/references/sources/ofac-sdn.md +92 -0
  62. package/.agent/skills/osint-investigation/references/sources/opencorporates.md +103 -0
  63. package/.agent/skills/osint-investigation/references/sources/sec-edgar.md +83 -0
  64. package/.agent/skills/osint-investigation/references/sources/senate-ld.md +89 -0
  65. package/.agent/skills/osint-investigation/references/sources/usaspending.md +97 -0
  66. package/.agent/skills/osint-investigation/references/sources/wayback.md +93 -0
  67. package/.agent/skills/osint-investigation/references/sources/wikipedia.md +107 -0
  68. package/.agent/skills/osint-investigation/scripts/_http.py +82 -0
  69. package/.agent/skills/osint-investigation/scripts/_normalize.py +67 -0
  70. package/.agent/skills/osint-investigation/scripts/build_findings.py +221 -0
  71. package/.agent/skills/osint-investigation/scripts/entity_resolution.py +228 -0
  72. package/.agent/skills/osint-investigation/scripts/fetch_courtlistener.py +149 -0
  73. package/.agent/skills/osint-investigation/scripts/fetch_gdelt.py +161 -0
  74. package/.agent/skills/osint-investigation/scripts/fetch_icij_offshore.py +234 -0
  75. package/.agent/skills/osint-investigation/scripts/fetch_nyc_acris.py +203 -0
  76. package/.agent/skills/osint-investigation/scripts/fetch_ofac_sdn.py +175 -0
  77. package/.agent/skills/osint-investigation/scripts/fetch_opencorporates.py +191 -0
  78. package/.agent/skills/osint-investigation/scripts/fetch_sec_edgar.py +184 -0
  79. package/.agent/skills/osint-investigation/scripts/fetch_senate_ld.py +146 -0
  80. package/.agent/skills/osint-investigation/scripts/fetch_usaspending.py +170 -0
  81. package/.agent/skills/osint-investigation/scripts/fetch_wayback.py +142 -0
  82. package/.agent/skills/osint-investigation/scripts/fetch_wikipedia.py +266 -0
  83. package/.agent/skills/osint-investigation/scripts/timing_analysis.py +252 -0
  84. package/.agent/skills/oss-forensics/SKILL.md +10 -9
  85. package/.agent/skills/oss-forensics/scripts/evidence-store.py +313 -0
  86. package/.agent/skills/parallel-cli/SKILL.md +2 -2
  87. package/.agent/skills/pinggy-tunnel/SKILL.md +3 -3
  88. package/.agent/skills/pixel-art/SKILL.md +2 -2
  89. package/.agent/skills/plan/SKILL.md +10 -10
  90. package/.agent/skills/requesting-code-review/SKILL.md +4 -6
  91. package/.agent/skills/research-paper-writing/SKILL.md +32 -32
  92. package/.agent/skills/rest-graphql-debug/SKILL.md +31 -32
  93. package/.agent/skills/s6-container-supervision/SKILL.md +1 -1
  94. package/.agent/skills/scrapling/SKILL.md +1 -1
  95. package/.agent/skills/sherlock/SKILL.md +1 -1
  96. package/.agent/skills/simplify-code/SKILL.md +5 -7
  97. package/.agent/skills/skill-authoring/SKILL.md +4 -4
  98. package/.agent/skills/spike/SKILL.md +11 -13
  99. package/.agent/skills/subagent-driven-development/SKILL.md +7 -11
  100. package/.agent/skills/systematic-debugging/SKILL.md +13 -14
  101. package/.agent/skills/test-driven-development/SKILL.md +6 -7
  102. package/.agent/skills/video-orchestrator/SKILL.md +1 -1
  103. package/.agent/skills/web-pentest/SKILL.md +7 -7
  104. package/.mindforge/config.json +3 -2
  105. package/.mindforge/dynamic-workflows/REGISTRY.md +4 -1
  106. package/.mindforge/dynamic-workflows/index.json +910 -840
  107. package/.mindforge/dynamic-workflows/scripts/accessibility-audit.js +88 -90
  108. package/.mindforge/dynamic-workflows/scripts/ai-model-eval.js +59 -61
  109. package/.mindforge/dynamic-workflows/scripts/api-contract-test.js +87 -85
  110. package/.mindforge/dynamic-workflows/scripts/api-migration.js +120 -122
  111. package/.mindforge/dynamic-workflows/scripts/architecture-modernization.js +84 -86
  112. package/.mindforge/dynamic-workflows/scripts/code-audit.js +75 -77
  113. package/.mindforge/dynamic-workflows/scripts/code-explainer.js +99 -101
  114. package/.mindforge/dynamic-workflows/scripts/competitive-analysis.js +62 -64
  115. package/.mindforge/dynamic-workflows/scripts/competitive-teardown.js +106 -108
  116. package/.mindforge/dynamic-workflows/scripts/cost-analysis.js +78 -80
  117. package/.mindforge/dynamic-workflows/scripts/data-pipeline-validate.js +47 -49
  118. package/.mindforge/dynamic-workflows/scripts/database-migration.js +85 -87
  119. package/.mindforge/dynamic-workflows/scripts/debug-detective.js +97 -99
  120. package/.mindforge/dynamic-workflows/scripts/dependency-health.js +81 -83
  121. package/.mindforge/dynamic-workflows/scripts/design-system-audit.js +84 -86
  122. package/.mindforge/dynamic-workflows/scripts/documentation-gen.js +65 -67
  123. package/.mindforge/dynamic-workflows/scripts/feature-planner.js +78 -80
  124. package/.mindforge/dynamic-workflows/scripts/incident-response.js +81 -83
  125. package/.mindforge/dynamic-workflows/scripts/multi-repo-sync.js +49 -51
  126. package/.mindforge/dynamic-workflows/scripts/mutation-testing.js +113 -115
  127. package/.mindforge/dynamic-workflows/scripts/onboard-codebase.js +79 -81
  128. package/.mindforge/dynamic-workflows/scripts/orchestrate-review.js +115 -0
  129. package/.mindforge/dynamic-workflows/scripts/perf-optimize.js +97 -99
  130. package/.mindforge/dynamic-workflows/scripts/pr-review.js +61 -63
  131. package/.mindforge/dynamic-workflows/scripts/refactor-plan.js +88 -90
  132. package/.mindforge/dynamic-workflows/scripts/release-prep.js +79 -81
  133. package/.mindforge/dynamic-workflows/scripts/security-hardening.js +117 -119
  134. package/.mindforge/dynamic-workflows/scripts/security-threat-model.js +119 -121
  135. package/.mindforge/dynamic-workflows/scripts/tdd-sprint.js +80 -82
  136. package/.mindforge/dynamic-workflows/scripts/tech-evaluation.js +50 -52
  137. package/.mindforge/dynamic-workflows/scripts/test-coverage-gap.js +68 -70
  138. package/.mindforge/dynamic-workflows/scripts/ux-heuristic-audit.js +89 -91
  139. package/.mindforge/dynamic-workflows/scripts/verification-loop.js +138 -0
  140. package/.mindforge/dynamic-workflows/scripts/workflow-optimizer.js +136 -0
  141. package/.mindforge/dynamic-workflows/scripts/writer-reviewer.js +63 -65
  142. package/.mindforge/memory/sync-manifest.json +1 -1
  143. package/.mindforge/personas/advisor-researcher.md +2 -2
  144. package/.mindforge/personas/api-load-tester.md +1 -1
  145. package/.mindforge/personas/authentication-architect.md +1 -1
  146. package/.mindforge/personas/backup-recovery-specialist.md +1 -1
  147. package/.mindforge/personas/build-optimizer.md +1 -1
  148. package/.mindforge/personas/caching-strategist.md +1 -1
  149. package/.mindforge/personas/chaos-engineer.md +1 -1
  150. package/.mindforge/personas/compliance-auditor.md +1 -1
  151. package/.mindforge/personas/config-management-expert.md +1 -1
  152. package/.mindforge/personas/coverage-specialist.md +1 -1
  153. package/.mindforge/personas/debug-specialist.md +2 -2
  154. package/.mindforge/personas/debugger.md +2 -2
  155. package/.mindforge/personas/dependency-auditor.md +1 -1
  156. package/.mindforge/personas/developer.md +1 -1
  157. package/.mindforge/personas/devops-engineer.md +1 -1
  158. package/.mindforge/personas/executor.md +1 -1
  159. package/.mindforge/personas/go-specialist.md +1 -1
  160. package/.mindforge/personas/incident-commander.md +1 -1
  161. package/.mindforge/personas/java-specialist.md +1 -1
  162. package/.mindforge/personas/kubernetes-debugger.md +1 -1
  163. package/.mindforge/personas/logging-architect.md +1 -1
  164. package/.mindforge/personas/mf-planner.md +1 -1
  165. package/.mindforge/personas/mf-researcher.md +1 -1
  166. package/.mindforge/personas/mf-reviewer.md +1 -1
  167. package/.mindforge/personas/nyquist-auditor.md +1 -1
  168. package/.mindforge/personas/observability-engineer.md +1 -1
  169. package/.mindforge/personas/performance-optimizer.md +1 -1
  170. package/.mindforge/personas/phase-researcher.md +5 -5
  171. package/.mindforge/personas/planner.md +1 -1
  172. package/.mindforge/personas/project-researcher.md +2 -2
  173. package/.mindforge/personas/python-specialist.md +1 -1
  174. package/.mindforge/personas/qa-engineer.md +1 -1
  175. package/.mindforge/personas/release-manager.md +1 -1
  176. package/.mindforge/personas/research-agent.md +4 -4
  177. package/.mindforge/personas/roadmapper-extend.md +1 -1
  178. package/.mindforge/personas/rust-specialist.md +1 -1
  179. package/.mindforge/personas/security-reviewer.md +1 -1
  180. package/.mindforge/personas/tech-writer.md +1 -1
  181. package/.mindforge/personas/typescript-wizard.md +1 -1
  182. package/.mindforge/personas/ui-researcher.md +1 -1
  183. package/.mindforge/skills/accessibility/SKILL.md +3 -3
  184. package/.mindforge/skills/agent-architecture-audit/SKILL.md +11 -0
  185. package/.mindforge/skills/agent-loops/SKILL.md +1 -1
  186. package/.mindforge/skills/arxiv/SKILL.md +6 -6
  187. package/.mindforge/skills/arxiv/scripts/search_arxiv.py +114 -0
  188. package/.mindforge/skills/code-tour/SKILL.md +2 -2
  189. package/.mindforge/skills/code-wiki/SKILL.md +11 -11
  190. package/.mindforge/skills/code-wiki/templates/README.md +31 -0
  191. package/.mindforge/skills/code-wiki/templates/architecture.md +30 -0
  192. package/.mindforge/skills/code-wiki/templates/getting-started.md +47 -0
  193. package/.mindforge/skills/code-wiki/templates/module.md +38 -0
  194. package/.mindforge/skills/concept-diagrams/SKILL.md +6 -6
  195. package/.mindforge/skills/concept-diagrams/examples/apartment-floor-plan-conversion.md +244 -0
  196. package/.mindforge/skills/concept-diagrams/examples/automated-password-reset-flow.md +276 -0
  197. package/.mindforge/skills/concept-diagrams/examples/autonomous-llm-research-agent-flow.md +240 -0
  198. package/.mindforge/skills/concept-diagrams/examples/banana-journey-tree-to-smoothie.md +161 -0
  199. package/.mindforge/skills/concept-diagrams/examples/commercial-aircraft-structure.md +209 -0
  200. package/.mindforge/skills/concept-diagrams/examples/cpu-ooo-microarchitecture.md +236 -0
  201. package/.mindforge/skills/concept-diagrams/examples/electricity-grid-flow.md +182 -0
  202. package/.mindforge/skills/concept-diagrams/examples/feature-film-production-pipeline.md +172 -0
  203. package/.mindforge/skills/concept-diagrams/examples/hospital-emergency-department-flow.md +165 -0
  204. package/.mindforge/skills/concept-diagrams/examples/ml-benchmark-grouped-bar-chart.md +114 -0
  205. package/.mindforge/skills/concept-diagrams/examples/place-order-uml-sequence.md +325 -0
  206. package/.mindforge/skills/concept-diagrams/examples/smart-city-infrastructure.md +173 -0
  207. package/.mindforge/skills/concept-diagrams/examples/smartphone-layer-anatomy.md +154 -0
  208. package/.mindforge/skills/concept-diagrams/examples/sn2-reaction-mechanism.md +247 -0
  209. package/.mindforge/skills/concept-diagrams/examples/wind-turbine-structure.md +338 -0
  210. package/.mindforge/skills/concept-diagrams/references/dashboard-patterns.md +43 -0
  211. package/.mindforge/skills/concept-diagrams/references/infrastructure-patterns.md +144 -0
  212. package/.mindforge/skills/concept-diagrams/references/physical-shape-cookbook.md +42 -0
  213. package/.mindforge/skills/concept-diagrams/templates/template.html +174 -0
  214. package/.mindforge/skills/creative-ideation/references/full-prompt-library.md +110 -0
  215. package/.mindforge/skills/documentation/SKILL.md +1 -1
  216. package/.mindforge/skills/domain-intel/SKILL.md +7 -7
  217. package/.mindforge/skills/domain-intel/scripts/domain_intel.py +397 -0
  218. package/.mindforge/skills/duckduckgo-search/SKILL.md +17 -17
  219. package/.mindforge/skills/duckduckgo-search/scripts/duckduckgo.sh +28 -0
  220. package/.mindforge/skills/environment-management/SKILL.md +1 -1
  221. package/.mindforge/skills/github-code-review/SKILL.md +9 -9
  222. package/.mindforge/skills/github-code-review/references/review-output-template.md +74 -0
  223. package/.mindforge/skills/github-issues/templates/bug-report.md +35 -0
  224. package/.mindforge/skills/github-issues/templates/feature-request.md +31 -0
  225. package/.mindforge/skills/github-pr-workflow/SKILL.md +3 -3
  226. package/.mindforge/skills/github-pr-workflow/references/ci-troubleshooting.md +183 -0
  227. package/.mindforge/skills/github-pr-workflow/references/conventional-commits.md +71 -0
  228. package/.mindforge/skills/github-pr-workflow/templates/pr-body-bugfix.md +35 -0
  229. package/.mindforge/skills/github-pr-workflow/templates/pr-body-feature.md +33 -0
  230. package/.mindforge/skills/incident-response/SKILL.md +1 -1
  231. package/.mindforge/skills/jupyter-live-kernel/SKILL.md +3 -3
  232. package/.mindforge/skills/kanban-orchestrator/SKILL.md +10 -10
  233. package/.mindforge/skills/kanban-worker/SKILL.md +6 -6
  234. package/.mindforge/skills/meme-generation/SKILL.md +1 -1
  235. package/.mindforge/skills/meme-generation/scripts/generate_meme.py +470 -0
  236. package/.mindforge/skills/meme-generation/scripts/templates.json +97 -0
  237. package/.mindforge/skills/obsidian/SKILL.md +15 -15
  238. package/.mindforge/skills/orch-pipeline/SKILL.md +2 -2
  239. package/.mindforge/skills/osint-investigation/SKILL.md +3 -2
  240. package/.mindforge/skills/osint-investigation/references/sources/courtlistener.md +98 -0
  241. package/.mindforge/skills/osint-investigation/references/sources/gdelt.md +104 -0
  242. package/.mindforge/skills/osint-investigation/references/sources/icij-offshore.md +104 -0
  243. package/.mindforge/skills/osint-investigation/references/sources/nyc-acris.md +90 -0
  244. package/.mindforge/skills/osint-investigation/references/sources/ofac-sdn.md +92 -0
  245. package/.mindforge/skills/osint-investigation/references/sources/opencorporates.md +103 -0
  246. package/.mindforge/skills/osint-investigation/references/sources/sec-edgar.md +83 -0
  247. package/.mindforge/skills/osint-investigation/references/sources/senate-ld.md +89 -0
  248. package/.mindforge/skills/osint-investigation/references/sources/usaspending.md +97 -0
  249. package/.mindforge/skills/osint-investigation/references/sources/wayback.md +93 -0
  250. package/.mindforge/skills/osint-investigation/references/sources/wikipedia.md +107 -0
  251. package/.mindforge/skills/osint-investigation/scripts/_http.py +82 -0
  252. package/.mindforge/skills/osint-investigation/scripts/_normalize.py +67 -0
  253. package/.mindforge/skills/osint-investigation/scripts/build_findings.py +221 -0
  254. package/.mindforge/skills/osint-investigation/scripts/entity_resolution.py +228 -0
  255. package/.mindforge/skills/osint-investigation/scripts/fetch_courtlistener.py +149 -0
  256. package/.mindforge/skills/osint-investigation/scripts/fetch_gdelt.py +161 -0
  257. package/.mindforge/skills/osint-investigation/scripts/fetch_icij_offshore.py +234 -0
  258. package/.mindforge/skills/osint-investigation/scripts/fetch_nyc_acris.py +203 -0
  259. package/.mindforge/skills/osint-investigation/scripts/fetch_ofac_sdn.py +175 -0
  260. package/.mindforge/skills/osint-investigation/scripts/fetch_opencorporates.py +191 -0
  261. package/.mindforge/skills/osint-investigation/scripts/fetch_sec_edgar.py +184 -0
  262. package/.mindforge/skills/osint-investigation/scripts/fetch_senate_ld.py +146 -0
  263. package/.mindforge/skills/osint-investigation/scripts/fetch_usaspending.py +170 -0
  264. package/.mindforge/skills/osint-investigation/scripts/fetch_wayback.py +142 -0
  265. package/.mindforge/skills/osint-investigation/scripts/fetch_wikipedia.py +266 -0
  266. package/.mindforge/skills/osint-investigation/scripts/timing_analysis.py +252 -0
  267. package/.mindforge/skills/osint-investigation/templates/source-template.md +59 -0
  268. package/.mindforge/skills/oss-forensics/SKILL.md +6 -6
  269. package/.mindforge/skills/oss-forensics/references/evidence-types.md +89 -0
  270. package/.mindforge/skills/oss-forensics/references/github-archive-guide.md +184 -0
  271. package/.mindforge/skills/oss-forensics/references/investigation-templates.md +131 -0
  272. package/.mindforge/skills/oss-forensics/references/recovery-techniques.md +164 -0
  273. package/.mindforge/skills/oss-forensics/scripts/evidence-store.py +313 -0
  274. package/.mindforge/skills/oss-forensics/templates/forensic-report.md +151 -0
  275. package/.mindforge/skills/oss-forensics/templates/malicious-package-report.md +43 -0
  276. package/.mindforge/skills/pixel-art/SKILL.md +2 -2
  277. package/.mindforge/skills/pixel-art/references/palettes.md +49 -0
  278. package/.mindforge/skills/plan/SKILL.md +10 -10
  279. package/.mindforge/skills/requesting-code-review/SKILL.md +4 -6
  280. package/.mindforge/skills/research-paper-writing/SKILL.md +32 -32
  281. package/.mindforge/skills/research-paper-writing/references/autoreason-methodology.md +394 -0
  282. package/.mindforge/skills/research-paper-writing/references/checklists.md +434 -0
  283. package/.mindforge/skills/research-paper-writing/references/citation-workflow.md +563 -0
  284. package/.mindforge/skills/research-paper-writing/references/experiment-patterns.md +728 -0
  285. package/.mindforge/skills/research-paper-writing/references/human-evaluation.md +476 -0
  286. package/.mindforge/skills/research-paper-writing/references/paper-types.md +481 -0
  287. package/.mindforge/skills/research-paper-writing/references/reviewer-guidelines.md +433 -0
  288. package/.mindforge/skills/research-paper-writing/references/sources.md +191 -0
  289. package/.mindforge/skills/research-paper-writing/references/writing-guide.md +474 -0
  290. package/.mindforge/skills/research-paper-writing/templates/README.md +251 -0
  291. package/.mindforge/skills/scrapling/SKILL.md +1 -1
  292. package/.mindforge/skills/security-review/SKILL.md +1 -1
  293. package/.mindforge/skills/sherlock/SKILL.md +1 -1
  294. package/.mindforge/skills/simplify-code/SKILL.md +5 -7
  295. package/.mindforge/skills/spike/SKILL.md +11 -13
  296. package/.mindforge/skills/subagent-driven-development/SKILL.md +7 -11
  297. package/.mindforge/skills/subagent-driven-development/references/context-budget-discipline.md +53 -0
  298. package/.mindforge/skills/subagent-driven-development/references/gates-taxonomy.md +93 -0
  299. package/.mindforge/skills/systematic-debugging/SKILL.md +13 -14
  300. package/.mindforge/skills/test-driven-development/SKILL.md +7 -8
  301. package/.mindforge/skills/testing-standards/SKILL.md +1 -1
  302. package/.mindforge/skills/web-pentest/SKILL.md +2 -2
  303. package/.mindforge/skills/web-pentest/references/bypass-techniques.md +133 -0
  304. package/.mindforge/skills/web-pentest/references/exploitation-techniques.md +204 -0
  305. package/.mindforge/skills/web-pentest/references/scope-enforcement.md +110 -0
  306. package/.mindforge/skills/web-pentest/references/vuln-taxonomy.md +81 -0
  307. package/.mindforge/skills/web-pentest/templates/authorization.md +69 -0
  308. package/.mindforge/skills/web-pentest/templates/pentest-report.md +178 -0
  309. package/.mindforge/skills/writing-skills/SKILL.md +4 -3
  310. package/CHANGELOG.md +35 -0
  311. package/MINDFORGE.md +3 -3
  312. package/README.md +9 -7
  313. package/RELEASENOTES.md +65 -2
  314. package/SECURITY.md +5 -3
  315. package/bin/autonomous/auto-runner.js +5 -2
  316. package/bin/engine/skill-loader.js +4 -0
  317. package/bin/governance/rbac.js +4 -0
  318. package/bin/memory/eis-client.js +1 -0
  319. package/bin/mindforge-cli.js +5 -0
  320. package/bin/models/bedrock-provider.js +192 -0
  321. package/bin/models/model-client.js +19 -0
  322. package/bin/spawn-agent.js +9 -2
  323. package/docs/commands-reference.md +68 -6
  324. package/docs/faq.md +38 -1
  325. package/docs/getting-started.md +27 -12
  326. package/docs/sdk-reference.md +36 -3
  327. package/docs/troubleshooting.md +59 -1
  328. package/docs/user-guide.md +7 -4
  329. package/package.json +3 -3
  330. package/.claude/commands/mindforge/skill-tdd.md +0 -53
  331. package/.claude/commands/mindforge/skills-index.md +0 -118
  332. package/.claude/commands/mindforge/systematic-debug.md +0 -60
  333. package/.claude/commands/mindforge/wf-accessibility-audit.md +0 -31
  334. package/.claude/commands/mindforge/wf-ai-model-eval.md +0 -31
  335. package/.claude/commands/mindforge/wf-api-migration.md +0 -31
  336. package/.claude/commands/mindforge/wf-architecture-modernization.md +0 -32
  337. package/.claude/commands/mindforge/wf-catalog.md +0 -59
  338. package/.claude/commands/mindforge/wf-code-audit.md +0 -31
  339. package/.claude/commands/mindforge/wf-code-explainer.md +0 -31
  340. package/.claude/commands/mindforge/wf-competitive-analysis.md +0 -31
  341. package/.claude/commands/mindforge/wf-competitive-teardown.md +0 -31
  342. package/.claude/commands/mindforge/wf-cost-analysis.md +0 -31
  343. package/.claude/commands/mindforge/wf-data-pipeline-validate.md +0 -31
  344. package/.claude/commands/mindforge/wf-database-migration.md +0 -31
  345. package/.claude/commands/mindforge/wf-debug-detective.md +0 -32
  346. package/.claude/commands/mindforge/wf-design-system-audit.md +0 -31
  347. package/.claude/commands/mindforge/wf-documentation-gen.md +0 -31
  348. package/.claude/commands/mindforge/wf-feature-planner.md +0 -31
  349. package/.claude/commands/mindforge/wf-incident-response.md +0 -31
  350. package/.claude/commands/mindforge/wf-multi-repo-sync.md +0 -31
  351. package/.claude/commands/mindforge/wf-mutation-testing.md +0 -31
  352. package/.claude/commands/mindforge/wf-onboard-codebase.md +0 -31
  353. package/.claude/commands/mindforge/wf-perf-optimize.md +0 -31
  354. package/.claude/commands/mindforge/wf-pr-review.md +0 -31
  355. package/.claude/commands/mindforge/wf-refactor-plan.md +0 -31
  356. package/.claude/commands/mindforge/wf-release-prep.md +0 -31
  357. package/.claude/commands/mindforge/wf-security-threat-model.md +0 -31
  358. package/.claude/commands/mindforge/wf-tdd-sprint.md +0 -31
  359. package/.claude/commands/mindforge/wf-tech-evaluation.md +0 -31
  360. package/.claude/commands/mindforge/wf-ux-heuristic-audit.md +0 -31
  361. package/.claude/commands/mindforge/wf-writer-reviewer.md +0 -30
@@ -0,0 +1,276 @@
1
+ # Automated Password Reset Flow
2
+
3
+ A two-section flowchart tracing the full user journey for a web application password reset: the initial request phase (forgot password → email check → token generation) and the reset-form phase (link click → new password entry → token/password validation). Demonstrates multi-exit decision diamonds, a three-column branching layout, a loop-back path, and a cross-section separator arrow.
4
+
5
+ ## Key Patterns Used
6
+
7
+ - **Three-column layout**: Left column (error/terminal branches at cx=115), center column (main happy path at cx=340), right column (expired-token branch at cx=552) — allows side branches to live at the same y-level as center nodes without overlap
8
+ - **Decision diamonds with `<polygon>`**: Each decision uses a `<g class="decision">` wrapper containing a `<polygon>` and centered `<text>`; the diamond points are computed as `cx±hw, cy±hh` (hw=100, hh=28)
9
+ - **Pill-shaped terminals**: Start and end nodes use `rx=22` on their `<rect>` to signal entry/exit points; all mid-flow process nodes use `rx=8`
10
+ - **Three-branch decision paths**: Each diamond has a "Yes" branch (down, short `<line>`) and a "No" branch (`<path>` going horizontal then vertical to a side column)
11
+ - **Loop-back path**: Mismatch error node loops back to the password-entry node via a routing corridor at x=215 — a 5-px gap between the left column (right edge x=210) and center column (left edge x=220); the path exits the bottom of the error node, drops below it, travels right to x=215, then goes up to the target node's center y, then right 5 px into the node's left edge
12
+ - **Section separator**: A dashed horizontal `<line>` at y=452 splits the two phases; the connecting arrow crosses it with a faded label ("user receives email") to preserve flow continuity
13
+ - **Italic annotation**: The exact UX copy for the generic message ("If that email exists…") is shown as a faded italic `ts` text block below the left-branch terminal node
14
+ - **Legend row**: Five inline swatches (gray, purple, teal, red, amber diamond) at the bottom explain the color-to-role mapping
15
+
16
+ ## Diagram
17
+
18
+ ```xml
19
+ <svg width="100%" viewBox="0 0 680 960" xmlns="http://www.w3.org/2000/svg">
20
+ <defs>
21
+ <marker id="arrow" viewBox="0 0 10 10" refX="8" refY="5"
22
+ markerWidth="6" markerHeight="6" orient="auto-start-reverse">
23
+ <path d="M2 1L8 5L2 9" fill="none" stroke="context-stroke"
24
+ stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
25
+ </marker>
26
+ </defs>
27
+
28
+ <!--
29
+ Column layout (680px viewBox, safe area x=40–640):
30
+ Left col : x=20, w=190, cx=115 (error / terminal branches)
31
+ Center col: x=220, w=240, cx=340 (main happy path)
32
+ Right col: x=465, w=175, cx=552 (expired-token branch)
33
+ Loop corridor at x=215 (5-px gap between left and center cols)
34
+ -->
35
+
36
+ <!-- ═══ SECTION 1 — Forgot password request ═══ -->
37
+ <text class="ts" x="40" y="38" opacity=".45">Section 1 — Forgot password request</text>
38
+
39
+ <!-- START terminal (pill rx=22 signals start/end) -->
40
+ <g class="c-gray">
41
+ <rect x="220" y="46" width="240" height="44" rx="22"/>
42
+ <text class="th" x="340" y="68" text-anchor="middle" dominant-baseline="central">User: &quot;Forgot password&quot;</text>
43
+ </g>
44
+
45
+ <line x1="340" y1="90" x2="340" y2="108" class="arr" marker-end="url(#arrow)"/>
46
+
47
+ <!-- N2 · Enter email -->
48
+ <g class="c-gray">
49
+ <rect x="220" y="108" width="240" height="44" rx="8"/>
50
+ <text class="th" x="340" y="130" text-anchor="middle" dominant-baseline="central">Enter email address</text>
51
+ </g>
52
+
53
+ <line x1="340" y1="152" x2="340" y2="172" class="arr" marker-end="url(#arrow)"/>
54
+
55
+ <!-- D1 · Email in system? diamond: center=(340,200) hw=100 hh=28 -->
56
+ <g class="decision">
57
+ <polygon points="340,172 440,200 340,228 240,200"/>
58
+ <text class="th" x="340" y="200" text-anchor="middle" dominant-baseline="central">Email in system?</text>
59
+ </g>
60
+
61
+ <!-- D1 "No" → left column -->
62
+ <path d="M 240,200 L 115,200 L 115,248" class="arr" marker-end="url(#arrow)"/>
63
+ <text class="ts" x="178" y="193" text-anchor="middle" opacity=".75">No</text>
64
+
65
+ <!-- D1 "Yes" → continue down -->
66
+ <line x1="340" y1="228" x2="340" y2="248" class="arr" marker-end="url(#arrow)"/>
67
+ <text class="ts" x="348" y="242" text-anchor="start" opacity=".75">Yes</text>
68
+
69
+ <!-- ── Left branch (D1 = No): generic security message → end ── -->
70
+
71
+ <!-- L1 · Generic message (security: never confirm email existence) -->
72
+ <g class="c-gray">
73
+ <rect x="20" y="248" width="190" height="56" rx="8"/>
74
+ <text class="th" x="115" y="269" text-anchor="middle" dominant-baseline="central">Generic message shown</text>
75
+ <text class="ts" x="115" y="287" text-anchor="middle" dominant-baseline="central">Email sent if found</text>
76
+ </g>
77
+
78
+ <line x1="115" y1="304" x2="115" y2="324" class="arr" marker-end="url(#arrow)"/>
79
+
80
+ <!-- L2 · End terminal (left) -->
81
+ <g class="c-gray">
82
+ <rect x="20" y="324" width="190" height="44" rx="22"/>
83
+ <text class="th" x="115" y="346" text-anchor="middle" dominant-baseline="central">Request handled</text>
84
+ </g>
85
+
86
+ <!-- Italic annotation: actual UX copy shown below the end node -->
87
+ <text class="ts" x="20" y="384" opacity=".45" font-style="italic">&quot;If that email exists, a reset</text>
88
+ <text class="ts" x="20" y="398" opacity=".45" font-style="italic">link has been sent.&quot;</text>
89
+
90
+ <!-- ── Center Yes branch: system generates & sends token ── -->
91
+
92
+ <!-- N3 · Generate unique token -->
93
+ <g class="c-purple">
94
+ <rect x="220" y="248" width="240" height="56" rx="8"/>
95
+ <text class="th" x="340" y="269" text-anchor="middle" dominant-baseline="central">Generate unique token</text>
96
+ <text class="ts" x="340" y="287" text-anchor="middle" dominant-baseline="central">Time-limited, cryptographic</text>
97
+ </g>
98
+
99
+ <line x1="340" y1="304" x2="340" y2="324" class="arr" marker-end="url(#arrow)"/>
100
+
101
+ <!-- N4 · Store token + user ID -->
102
+ <g class="c-purple">
103
+ <rect x="220" y="324" width="240" height="44" rx="8"/>
104
+ <text class="th" x="340" y="346" text-anchor="middle" dominant-baseline="central">Store token + user ID</text>
105
+ </g>
106
+
107
+ <line x1="340" y1="368" x2="340" y2="388" class="arr" marker-end="url(#arrow)"/>
108
+
109
+ <!-- N5 · Send reset email -->
110
+ <g class="c-teal">
111
+ <rect x="220" y="388" width="240" height="44" rx="8"/>
112
+ <text class="th" x="340" y="410" text-anchor="middle" dominant-baseline="central">Send reset link via email</text>
113
+ </g>
114
+
115
+ <!-- ═══ Section separator ═══ -->
116
+ <line x1="40" y1="452" x2="640" y2="452"
117
+ stroke="var(--border)" stroke-width="1" stroke-dasharray="8 5"/>
118
+
119
+ <!-- Arrow crossing separator (with inline label) -->
120
+ <line x1="340" y1="432" x2="340" y2="472" class="arr" marker-end="url(#arrow)"/>
121
+ <text class="ts" x="348" y="448" text-anchor="start" opacity=".55">user receives email</text>
122
+
123
+ <text class="ts" x="40" y="464" opacity=".45">Section 2 — Password reset form</text>
124
+
125
+ <!-- ═══ SECTION 2 — Password reset form ═══ -->
126
+
127
+ <!-- N6 · User clicks reset link -->
128
+ <g class="c-gray">
129
+ <rect x="220" y="480" width="240" height="44" rx="8"/>
130
+ <text class="th" x="340" y="502" text-anchor="middle" dominant-baseline="central">User clicks reset link</text>
131
+ </g>
132
+
133
+ <line x1="340" y1="524" x2="340" y2="544" class="arr" marker-end="url(#arrow)"/>
134
+
135
+ <!-- N7 · Enter new password ×2 -->
136
+ <g class="c-gray">
137
+ <rect x="220" y="544" width="240" height="56" rx="8"/>
138
+ <text class="th" x="340" y="565" text-anchor="middle" dominant-baseline="central">Enter new password ×2</text>
139
+ <text class="ts" x="340" y="583" text-anchor="middle" dominant-baseline="central">Confirm both passwords match</text>
140
+ </g>
141
+
142
+ <line x1="340" y1="600" x2="340" y2="620" class="arr" marker-end="url(#arrow)"/>
143
+
144
+ <!-- D2 · Token expired? diamond: center=(340,648) hw=100 hh=28 -->
145
+ <g class="decision">
146
+ <polygon points="340,620 440,648 340,676 240,648"/>
147
+ <text class="th" x="340" y="648" text-anchor="middle" dominant-baseline="central">Token expired?</text>
148
+ </g>
149
+
150
+ <!-- D2 "Yes" → right column (expired-token branch) -->
151
+ <path d="M 440,648 L 552,648 L 552,692" class="arr" marker-end="url(#arrow)"/>
152
+ <text class="ts" x="496" y="641" text-anchor="middle" opacity=".75">Yes</text>
153
+
154
+ <!-- D2 "No" → down to password-match check -->
155
+ <line x1="340" y1="676" x2="340" y2="714" class="arr" marker-end="url(#arrow)"/>
156
+ <text class="ts" x="348" y="698" text-anchor="start" opacity=".75">No</text>
157
+
158
+ <!-- ── Right branch (D2 = Yes): token expired → dead end ── -->
159
+
160
+ <!-- R1 · Token expired error -->
161
+ <g class="c-red">
162
+ <rect x="465" y="692" width="175" height="56" rx="8"/>
163
+ <text class="th" x="552" y="713" text-anchor="middle" dominant-baseline="central">Token expired</text>
164
+ <text class="ts" x="552" y="731" text-anchor="middle" dominant-baseline="central">Show expiry error</text>
165
+ </g>
166
+
167
+ <line x1="552" y1="748" x2="552" y2="768" class="arr" marker-end="url(#arrow)"/>
168
+
169
+ <!-- R2 · End terminal (right) -->
170
+ <g class="c-gray">
171
+ <rect x="465" y="768" width="175" height="44" rx="22"/>
172
+ <text class="th" x="552" y="790" text-anchor="middle" dominant-baseline="central">End — request again</text>
173
+ </g>
174
+
175
+ <!-- D3 · Passwords match? diamond: center=(340,742) hw=100 hh=28 -->
176
+ <g class="decision">
177
+ <polygon points="340,714 440,742 340,770 240,742"/>
178
+ <text class="th" x="340" y="742" text-anchor="middle" dominant-baseline="central">Passwords match?</text>
179
+ </g>
180
+
181
+ <!-- D3 "No" → left column (mismatch branch) -->
182
+ <path d="M 240,742 L 115,742 L 115,786" class="arr" marker-end="url(#arrow)"/>
183
+ <text class="ts" x="178" y="735" text-anchor="middle" opacity=".75">No</text>
184
+
185
+ <!-- D3 "Yes" → down to reset -->
186
+ <line x1="340" y1="770" x2="340" y2="790" class="arr" marker-end="url(#arrow)"/>
187
+ <text class="ts" x="348" y="783" text-anchor="start" opacity=".75">Yes</text>
188
+
189
+ <!-- ── Left branch (D3 = No): passwords don't match → loop back ── -->
190
+
191
+ <!-- L3 · Password mismatch error -->
192
+ <g class="c-red">
193
+ <rect x="20" y="786" width="190" height="56" rx="8"/>
194
+ <text class="th" x="115" y="807" text-anchor="middle" dominant-baseline="central">Password mismatch</text>
195
+ <text class="ts" x="115" y="825" text-anchor="middle" dominant-baseline="central">Passwords do not match</text>
196
+ </g>
197
+
198
+ <!-- Loop-back arrow: exits L3 bottom → drops to y=862 →
199
+ travels right to corridor x=215 → climbs to N7 center y=572 →
200
+ enters N7 left edge at (220, 572) pointing right -->
201
+ <path d="M 115,842 L 115,862 L 215,862 L 215,572 L 220,572"
202
+ class="arr" marker-end="url(#arrow)"/>
203
+ <text class="ts" x="224" y="538" text-anchor="start" opacity=".6">retry</text>
204
+
205
+ <!-- ── Center Yes branch (D3 = Yes): reset password & invalidate token ── -->
206
+
207
+ <!-- N8 · Reset password -->
208
+ <g class="c-teal">
209
+ <rect x="220" y="790" width="240" height="56" rx="8"/>
210
+ <text class="th" x="340" y="811" text-anchor="middle" dominant-baseline="central">Reset password</text>
211
+ <text class="ts" x="340" y="829" text-anchor="middle" dominant-baseline="central">Invalidate used token</text>
212
+ </g>
213
+
214
+ <line x1="340" y1="846" x2="340" y2="866" class="arr" marker-end="url(#arrow)"/>
215
+
216
+ <!-- N9 · Success terminal -->
217
+ <g class="c-green">
218
+ <rect x="220" y="866" width="240" height="44" rx="22"/>
219
+ <text class="th" x="340" y="888" text-anchor="middle" dominant-baseline="central">Password reset complete</text>
220
+ </g>
221
+
222
+ <!-- ═══ Legend ═══ -->
223
+ <text class="ts" x="40" y="930" opacity=".4">Legend —</text>
224
+ <rect x="108" y="920" width="13" height="13" rx="2" fill="#F1EFE8" stroke="#5F5E5A" stroke-width="0.5"/>
225
+ <text class="ts" x="126" y="930" opacity=".7">User action</text>
226
+ <rect x="210" y="920" width="13" height="13" rx="2" fill="#EEEDFE" stroke="#534AB7" stroke-width="0.5"/>
227
+ <text class="ts" x="228" y="930" opacity=".7">System process</text>
228
+ <rect x="334" y="920" width="13" height="13" rx="2" fill="#E1F5EE" stroke="#0F6E56" stroke-width="0.5"/>
229
+ <text class="ts" x="352" y="930" opacity=".7">Email / success</text>
230
+ <rect x="455" y="920" width="13" height="13" rx="2" fill="#FCEBEB" stroke="#A32D2D" stroke-width="0.5"/>
231
+ <text class="ts" x="473" y="930" opacity=".7">Error state</text>
232
+ <polygon points="556,926 566,932 556,938 546,932" fill="#FAEEDA" stroke="#854F0B" stroke-width="0.5"/>
233
+ <text class="ts" x="572" y="932" opacity=".7">Decision</text>
234
+
235
+ </svg>
236
+ ```
237
+
238
+ ## Custom CSS
239
+
240
+ Add these classes to the hosting page `<style>` block (in addition to the standard skill CSS):
241
+
242
+ ```css
243
+ /* Decision diamond — amber fill, same palette as c-amber */
244
+ .decision > polygon { fill: #FAEEDA; stroke: #854F0B; stroke-width: 0.5; }
245
+ .decision > .th { fill: #633806; }
246
+
247
+ @media (prefers-color-scheme: dark) {
248
+ .decision > polygon { fill: #633806; stroke: #EF9F27; }
249
+ .decision > .th { fill: #FAC775; }
250
+ }
251
+ ```
252
+
253
+ ## Color Assignments
254
+
255
+ | Element | Color | Reason |
256
+ |---------|-------|--------|
257
+ | Start / end terminals | `c-gray` | Neutral entry and exit points |
258
+ | User actions (enter email, click link, enter password) | `c-gray` | User-facing steps with no system processing |
259
+ | Generic message + request-handled terminal | `c-gray` | Intentionally neutral — the security message must not reveal data |
260
+ | Generate & store token | `c-purple` | Backend system operations |
261
+ | Send reset email | `c-teal` | Positive external action (outbound communication) |
262
+ | Token expired error | `c-red` | Failure / blocking error state |
263
+ | Password mismatch error | `c-red` | Validation failure |
264
+ | Reset password + success | `c-teal` / `c-green` | Positive outcome: teal for the action, green pill for the terminal |
265
+ | Decision diamonds | `c-amber` (custom `.decision`) | Warning / branch point — matches amber semantic meaning |
266
+
267
+ ## Layout Notes
268
+
269
+ - **ViewBox**: 680×960 — tall flowchart with two phases
270
+ - **Three-column structure**: Left (cx=115), center (cx=340), right (cx=552) — each branch stays within its column; only `<path>` arrows cross column boundaries
271
+ - **Diamond formula**: `<polygon points="cx,cy-hh cx+hw,cy cx,cy+hh cx-hw,cy"/>` with hw=100, hh=28 gives a 200×56px diamond that sits flush with the center column (x=220–460)
272
+ - **Branch routing pattern**: "No" paths use `<path d="M left_point,cy L side_cx,cy L side_cx,node_top">` — one horizontal segment + one vertical segment, no curves needed
273
+ - **Loop corridor**: The 5-px gap at x=210–220 between left and center columns provides a clean vertical channel for the loop-back path without any node overlap; the path exits node bottom, drops 20px, goes right to x=215, climbs to target y, enters from left
274
+ - **Section separator**: A dashed `<line>` at y=452 with `stroke-dasharray="8 5"` provides a visual phase break; the single connecting arrow crosses it at center, with a faded label on the arrow
275
+ - **Pill terminals**: `rx=22` (half the 44px node height) produces a perfect capsule/pill shape — use this consistently for all start/end terminals
276
+ - **Error annotation**: The exact UX copy is rendered as faded (`opacity=".45"`) italic `ts` text below the relevant node, keeping it informative without cluttering the flow
@@ -0,0 +1,240 @@
1
+ # Autonomous LLM Research Agent Flow
2
+
3
+ A multi-section flowchart showing Karpathy's autoresearch framework: human-agent handoff, the autonomous experiment loop with keep/discard decision branching, and the modifiable training pipeline. Demonstrates loop-back arrows, convergent decision paths, and semantic color coding for outcomes.
4
+
5
+ ## Key Patterns Used
6
+
7
+ - **Three-section layout**: Setup row, main loop container, and detail container — each visually distinct
8
+ - **Neutral dashed containers**: Loop and training pipeline use `var(--bg-secondary)` fill with dashed borders to recede behind colored content nodes
9
+ - **Decision branching with convergence**: "val_bpb improved?" splits into Keep (green) and Discard (red), then both converge back to "Log to results.tsv"
10
+ - **Loop-back arrow**: Dashed path with rounded corners on the right side of the container showing infinite repetition
11
+ - **Semantic color for outcomes**: Green = improvement (keep), Red = no improvement (discard) — not arbitrary decoration
12
+ - **Highlighted key step**: "Run training" uses `c-coral` to visually distinguish the most important step from other `c-teal` actions
13
+ - **Horizontal pipeline flow**: Training details section uses left-to-right arrow-connected nodes (GPT → MuonAdamW → Evaluation)
14
+ - **Footer metadata**: Fixed constraints shown as subtle centered text below the pipeline nodes
15
+ - **Legend row**: Color key at the bottom explaining what each color means
16
+
17
+ ## Diagram
18
+
19
+ ```xml
20
+ <svg width="100%" viewBox="0 0 680 920" xmlns="http://www.w3.org/2000/svg">
21
+ <defs>
22
+ <marker id="arrow" viewBox="0 0 10 10" refX="8" refY="5"
23
+ markerWidth="6" markerHeight="6" orient="auto-start-reverse">
24
+ <path d="M2 1L8 5L2 9" fill="none" stroke="context-stroke"
25
+ stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
26
+ </marker>
27
+ </defs>
28
+
29
+ <!-- ========================================== -->
30
+ <!-- SECTION 1: SETUP (Human → program.md → AI) -->
31
+ <!-- ========================================== -->
32
+
33
+ <text class="ts" x="40" y="30" text-anchor="start" opacity=".5">One-time setup</text>
34
+
35
+ <!-- Human -->
36
+ <g class="node c-gray">
37
+ <rect x="60" y="42" width="140" height="56" rx="8" stroke-width="0.5"/>
38
+ <text class="th" x="130" y="62" text-anchor="middle" dominant-baseline="central">Human</text>
39
+ <text class="ts" x="130" y="82" text-anchor="middle" dominant-baseline="central">Researcher</text>
40
+ </g>
41
+
42
+ <!-- Arrow: Human → program.md -->
43
+ <line x1="200" y1="70" x2="250" y2="70" class="arr" marker-end="url(#arrow)"/>
44
+
45
+ <!-- program.md -->
46
+ <g class="node c-gray">
47
+ <rect x="250" y="42" width="180" height="56" rx="8" stroke-width="0.5"/>
48
+ <text class="th" x="340" y="62" text-anchor="middle" dominant-baseline="central">program.md</text>
49
+ <text class="ts" x="340" y="82" text-anchor="middle" dominant-baseline="central">Agent instructions</text>
50
+ </g>
51
+
52
+ <!-- Arrow: program.md → AI Agent -->
53
+ <line x1="430" y1="70" x2="470" y2="70" class="arr" marker-end="url(#arrow)"/>
54
+
55
+ <!-- AI Agent -->
56
+ <g class="node c-purple">
57
+ <rect x="470" y="42" width="160" height="56" rx="8" stroke-width="0.5"/>
58
+ <text class="th" x="550" y="62" text-anchor="middle" dominant-baseline="central">AI agent</text>
59
+ <text class="ts" x="550" y="82" text-anchor="middle" dominant-baseline="central">Claude / Codex</text>
60
+ </g>
61
+
62
+ <!-- Arrow: Setup row → Loop (from program.md center down) -->
63
+ <line x1="340" y1="98" x2="340" y2="142" class="arr" marker-end="url(#arrow)"/>
64
+
65
+ <!-- ========================================== -->
66
+ <!-- SECTION 2: AUTONOMOUS EXPERIMENT LOOP -->
67
+ <!-- ========================================== -->
68
+
69
+ <!-- Loop container (neutral dashed) -->
70
+ <g>
71
+ <rect x="40" y="142" width="600" height="528" rx="16"
72
+ stroke-width="1" stroke-dasharray="6 4"
73
+ fill="var(--bg-secondary)" stroke="var(--border)"/>
74
+ <text class="th" x="66" y="170">Autonomous experiment loop</text>
75
+ <text class="ts" x="66" y="188">~12 experiments/hour — runs until manually stopped</text>
76
+ </g>
77
+
78
+ <!-- Step 1: Read code + past results -->
79
+ <g class="node c-teal">
80
+ <rect x="170" y="208" width="280" height="44" rx="8" stroke-width="0.5"/>
81
+ <text class="th" x="310" y="230" text-anchor="middle" dominant-baseline="central">Read code + past results</text>
82
+ </g>
83
+
84
+ <!-- Arrow: S1 → S2 -->
85
+ <line x1="310" y1="252" x2="310" y2="274" class="arr" marker-end="url(#arrow)"/>
86
+
87
+ <!-- Step 2: Propose + edit train.py -->
88
+ <g class="node c-teal">
89
+ <rect x="170" y="274" width="280" height="56" rx="8" stroke-width="0.5"/>
90
+ <text class="th" x="310" y="294" text-anchor="middle" dominant-baseline="central">Propose + edit train.py</text>
91
+ <text class="ts" x="310" y="314" text-anchor="middle" dominant-baseline="central">Arch, optimizer, hyperparameters</text>
92
+ </g>
93
+
94
+ <!-- Arrow: S2 → S3 -->
95
+ <line x1="310" y1="330" x2="310" y2="352" class="arr" marker-end="url(#arrow)"/>
96
+
97
+ <!-- Step 3: Run training (highlighted — key step) -->
98
+ <g class="node c-coral">
99
+ <rect x="170" y="352" width="280" height="56" rx="8" stroke-width="0.5"/>
100
+ <text class="th" x="310" y="372" text-anchor="middle" dominant-baseline="central">Run training</text>
101
+ <text class="ts" x="310" y="392" text-anchor="middle" dominant-baseline="central">uv run train.py (5 min budget)</text>
102
+ </g>
103
+
104
+ <!-- Arrow: S3 → S4 -->
105
+ <line x1="310" y1="408" x2="310" y2="430" class="arr" marker-end="url(#arrow)"/>
106
+
107
+ <!-- Step 4: Decision — val_bpb improved? -->
108
+ <g class="node c-gray">
109
+ <rect x="170" y="430" width="280" height="44" rx="8" stroke-width="0.5"/>
110
+ <text class="th" x="310" y="452" text-anchor="middle" dominant-baseline="central">val_bpb improved?</text>
111
+ </g>
112
+
113
+ <!-- Decision arrows to Keep / Discard -->
114
+ <line x1="240" y1="474" x2="175" y2="508" class="arr" marker-end="url(#arrow)"/>
115
+ <line x1="380" y1="474" x2="445" y2="508" class="arr" marker-end="url(#arrow)"/>
116
+
117
+ <!-- Decision labels -->
118
+ <text class="ts" x="195" y="496" opacity=".6">yes</text>
119
+ <text class="ts" x="416" y="496" opacity=".6">no</text>
120
+
121
+ <!-- Keep — advance branch -->
122
+ <g class="node c-green">
123
+ <rect x="70" y="508" width="210" height="56" rx="8" stroke-width="0.5"/>
124
+ <text class="th" x="175" y="528" text-anchor="middle" dominant-baseline="central">Keep</text>
125
+ <text class="ts" x="175" y="548" text-anchor="middle" dominant-baseline="central">Advance git branch</text>
126
+ </g>
127
+
128
+ <!-- Discard — git reset -->
129
+ <g class="node c-red">
130
+ <rect x="340" y="508" width="210" height="56" rx="8" stroke-width="0.5"/>
131
+ <text class="th" x="445" y="528" text-anchor="middle" dominant-baseline="central">Discard</text>
132
+ <text class="ts" x="445" y="548" text-anchor="middle" dominant-baseline="central">Git reset to previous</text>
133
+ </g>
134
+
135
+ <!-- Converge arrows: Keep → Log, Discard → Log -->
136
+ <line x1="175" y1="564" x2="250" y2="590" class="arr" marker-end="url(#arrow)"/>
137
+ <line x1="445" y1="564" x2="370" y2="590" class="arr" marker-end="url(#arrow)"/>
138
+
139
+ <!-- Step 6: Log to results.tsv -->
140
+ <g class="node c-teal">
141
+ <rect x="170" y="590" width="280" height="44" rx="8" stroke-width="0.5"/>
142
+ <text class="th" x="310" y="612" text-anchor="middle" dominant-baseline="central">Log to results.tsv</text>
143
+ </g>
144
+
145
+ <!-- Loop-back arrow (dashed, right side) -->
146
+ <path d="M 450 612 L 564 612 Q 576 612 576 600 L 576 242 Q 576 230 564 230 L 450 230"
147
+ fill="none" class="arr" stroke-dasharray="4 3" marker-end="url(#arrow)"/>
148
+
149
+ <!-- ========================================== -->
150
+ <!-- SECTION 3: TRAINING PIPELINE DETAILS -->
151
+ <!-- ========================================== -->
152
+
153
+ <!-- Connection arrow: Loop → Training details -->
154
+ <line x1="310" y1="670" x2="310" y2="710" class="arr" marker-end="url(#arrow)"/>
155
+
156
+ <!-- Training container (neutral dashed) -->
157
+ <g>
158
+ <rect x="40" y="710" width="600" height="170" rx="16"
159
+ stroke-width="1" stroke-dasharray="6 4"
160
+ fill="var(--bg-secondary)" stroke="var(--border)"/>
161
+ <text class="th" x="66" y="738">train.py — modifiable training pipeline</text>
162
+ <text class="ts" x="66" y="756">Runs during each training step — single GPU, single file</text>
163
+ </g>
164
+
165
+ <!-- GPT model -->
166
+ <g class="node c-coral">
167
+ <rect x="70" y="774" width="155" height="56" rx="8" stroke-width="0.5"/>
168
+ <text class="th" x="147" y="794" text-anchor="middle" dominant-baseline="central">GPT model</text>
169
+ <text class="ts" x="147" y="814" text-anchor="middle" dominant-baseline="central">RoPE, FlashAttn3</text>
170
+ </g>
171
+
172
+ <!-- Arrow: GPT → MuonAdamW -->
173
+ <line x1="225" y1="802" x2="260" y2="802" class="arr" marker-end="url(#arrow)"/>
174
+
175
+ <!-- MuonAdamW optimizer -->
176
+ <g class="node c-coral">
177
+ <rect x="260" y="774" width="155" height="56" rx="8" stroke-width="0.5"/>
178
+ <text class="th" x="337" y="794" text-anchor="middle" dominant-baseline="central">MuonAdamW</text>
179
+ <text class="ts" x="337" y="814" text-anchor="middle" dominant-baseline="central">Hybrid optimizer</text>
180
+ </g>
181
+
182
+ <!-- Arrow: MuonAdamW → Evaluation -->
183
+ <line x1="415" y1="802" x2="450" y2="802" class="arr" marker-end="url(#arrow)"/>
184
+
185
+ <!-- Evaluation -->
186
+ <g class="node c-amber">
187
+ <rect x="450" y="774" width="155" height="56" rx="8" stroke-width="0.5"/>
188
+ <text class="th" x="527" y="794" text-anchor="middle" dominant-baseline="central">Evaluation</text>
189
+ <text class="ts" x="527" y="814" text-anchor="middle" dominant-baseline="central">val_bpb metric</text>
190
+ </g>
191
+
192
+ <!-- Footer: fixed constraints -->
193
+ <text class="ts" x="340" y="856" text-anchor="middle" opacity=".5">climbmix-400b data · 8K BPE vocab · 300s budget · 2048 context</text>
194
+
195
+ <!-- ========================================== -->
196
+ <!-- LEGEND -->
197
+ <!-- ========================================== -->
198
+
199
+ <g class="c-teal"><rect x="40" y="890" width="14" height="14" rx="3" stroke-width="0.5"/></g>
200
+ <text class="ts" x="62" y="902">Agent actions</text>
201
+
202
+ <g class="c-coral"><rect x="170" y="890" width="14" height="14" rx="3" stroke-width="0.5"/></g>
203
+ <text class="ts" x="192" y="902">Training run</text>
204
+
205
+ <g class="c-green"><rect x="300" y="890" width="14" height="14" rx="3" stroke-width="0.5"/></g>
206
+ <text class="ts" x="322" y="902">Improvement</text>
207
+
208
+ <g class="c-red"><rect x="430" y="890" width="14" height="14" rx="3" stroke-width="0.5"/></g>
209
+ <text class="ts" x="452" y="902">No improvement</text>
210
+
211
+ </svg>
212
+ ```
213
+
214
+ ## Color Assignments
215
+
216
+ | Element | Color | Reason |
217
+ |---------|-------|--------|
218
+ | Human, program.md | `c-gray` | Neutral setup / input nodes |
219
+ | AI agent | `c-purple` | The active intelligent actor |
220
+ | Loop action steps | `c-teal` | Agent's analytical/editing actions |
221
+ | Run training | `c-coral` | Highlighted key step — the 5-min training run |
222
+ | Decision check | `c-gray` | Neutral evaluation checkpoint |
223
+ | Keep (improved) | `c-green` | Semantic success — val_bpb decreased |
224
+ | Discard (not improved) | `c-red` | Semantic failure — no improvement |
225
+ | Training pipeline nodes | `c-coral` | Training infrastructure components |
226
+ | Evaluation node | `c-amber` | Distinct from training — measurement/metric role |
227
+ | Containers | Neutral (dashed) | Subtle grouping that recedes behind content |
228
+
229
+ ## Layout Notes
230
+
231
+ - **ViewBox**: 680×920 (standard width, tall for 3 sections)
232
+ - **Three sections**: Setup row (y=30–98), loop container (y=142–670), training details (y=710–880)
233
+ - **Container style**: Dashed border (`stroke-dasharray="6 4"`), neutral fill (`var(--bg-secondary)`), `stroke-width="1"` — not colored, so inner nodes pop
234
+ - **Loop-back arrow**: Dashed `<path>` with quadratic curves (`Q`) at corners for smooth rounded turns, running up the right side of the loop container from "Log" back to "Read code"
235
+ - **Decision pattern**: Single question node ("val_bpb improved?") with diagonal arrows to Keep/Discard, then convergent diagonal arrows back to "Log to results.tsv"
236
+ - **Decision labels**: "yes"/"no" labels placed along the diagonal arrows with `opacity=".6"` to stay subtle
237
+ - **Key step highlight**: "Run training" uses `c-coral` while surrounding steps use `c-teal`, drawing the eye to the most important step
238
+ - **Horizontal sub-flow**: Training pipeline uses left-to-right arrow-connected nodes (GPT model → MuonAdamW → Evaluation)
239
+ - **Footer metadata**: Fixed constraints (data, vocab, budget, context) shown as a single centered `ts` text line with `opacity=".5"`
240
+ - **Legend**: Four color swatches at the bottom explaining the semantic meaning of each color used