@mobrienv/autoloop 0.4.0 → 0.7.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 (441) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +40 -14
  3. package/bin/autoloop +1 -1
  4. package/dist/index.d.ts +6 -0
  5. package/dist/index.js +19 -0
  6. package/dist/index.js.map +1 -0
  7. package/dist/testing/mock-backend.js +3 -5
  8. package/dist/testing/mock-backend.js.map +1 -1
  9. package/package.json +32 -23
  10. package/plugins/autoloop/.claude-plugin/plugin.json +1 -1
  11. package/dist/agent-map.d.ts +0 -10
  12. package/dist/agent-map.js +0 -58
  13. package/dist/agent-map.js.map +0 -1
  14. package/dist/backend/acp-client.d.ts +0 -38
  15. package/dist/backend/acp-client.js +0 -293
  16. package/dist/backend/acp-client.js.map +0 -1
  17. package/dist/backend/index.d.ts +0 -10
  18. package/dist/backend/index.js +0 -71
  19. package/dist/backend/index.js.map +0 -1
  20. package/dist/backend/kiro-bridge.d.ts +0 -19
  21. package/dist/backend/kiro-bridge.js +0 -114
  22. package/dist/backend/kiro-bridge.js.map +0 -1
  23. package/dist/backend/kiro-worker.d.ts +0 -1
  24. package/dist/backend/kiro-worker.js +0 -96
  25. package/dist/backend/kiro-worker.js.map +0 -1
  26. package/dist/backend/run-command.d.ts +0 -7
  27. package/dist/backend/run-command.js +0 -50
  28. package/dist/backend/run-command.js.map +0 -1
  29. package/dist/backend/run-kiro.d.ts +0 -3
  30. package/dist/backend/run-kiro.js +0 -16
  31. package/dist/backend/run-kiro.js.map +0 -1
  32. package/dist/backend/run-mock.d.ts +0 -1
  33. package/dist/backend/run-mock.js +0 -6
  34. package/dist/backend/run-mock.js.map +0 -1
  35. package/dist/backend/run-pi.d.ts +0 -5
  36. package/dist/backend/run-pi.js +0 -5
  37. package/dist/backend/run-pi.js.map +0 -1
  38. package/dist/backend/types.d.ts +0 -21
  39. package/dist/backend/types.js +0 -2
  40. package/dist/backend/types.js.map +0 -1
  41. package/dist/chains/budget.d.ts +0 -7
  42. package/dist/chains/budget.js +0 -54
  43. package/dist/chains/budget.js.map +0 -1
  44. package/dist/chains/load.d.ts +0 -18
  45. package/dist/chains/load.js +0 -129
  46. package/dist/chains/load.js.map +0 -1
  47. package/dist/chains/render.d.ts +0 -2
  48. package/dist/chains/render.js +0 -74
  49. package/dist/chains/render.js.map +0 -1
  50. package/dist/chains/run.d.ts +0 -17
  51. package/dist/chains/run.js +0 -260
  52. package/dist/chains/run.js.map +0 -1
  53. package/dist/chains/types.d.ts +0 -38
  54. package/dist/chains/types.js +0 -2
  55. package/dist/chains/types.js.map +0 -1
  56. package/dist/chains.d.ts +0 -6
  57. package/dist/chains.js +0 -5
  58. package/dist/chains.js.map +0 -1
  59. package/dist/cli/color.d.ts +0 -6
  60. package/dist/cli/color.js +0 -40
  61. package/dist/cli/color.js.map +0 -1
  62. package/dist/commands/chain.d.ts +0 -1
  63. package/dist/commands/chain.js +0 -53
  64. package/dist/commands/chain.js.map +0 -1
  65. package/dist/commands/config.d.ts +0 -1
  66. package/dist/commands/config.js +0 -74
  67. package/dist/commands/config.js.map +0 -1
  68. package/dist/commands/dashboard.d.ts +0 -1
  69. package/dist/commands/dashboard.js +0 -68
  70. package/dist/commands/dashboard.js.map +0 -1
  71. package/dist/commands/guide.d.ts +0 -1
  72. package/dist/commands/guide.js +0 -33
  73. package/dist/commands/guide.js.map +0 -1
  74. package/dist/commands/inspect.d.ts +0 -1
  75. package/dist/commands/inspect.js +0 -243
  76. package/dist/commands/inspect.js.map +0 -1
  77. package/dist/commands/list.d.ts +0 -1
  78. package/dist/commands/list.js +0 -15
  79. package/dist/commands/list.js.map +0 -1
  80. package/dist/commands/loops.d.ts +0 -1
  81. package/dist/commands/loops.js +0 -72
  82. package/dist/commands/loops.js.map +0 -1
  83. package/dist/commands/memory.d.ts +0 -1
  84. package/dist/commands/memory.js +0 -65
  85. package/dist/commands/memory.js.map +0 -1
  86. package/dist/commands/pi-adapter.d.ts +0 -1
  87. package/dist/commands/pi-adapter.js +0 -6
  88. package/dist/commands/pi-adapter.js.map +0 -1
  89. package/dist/commands/run.d.ts +0 -1
  90. package/dist/commands/run.js +0 -292
  91. package/dist/commands/run.js.map +0 -1
  92. package/dist/commands/runs.d.ts +0 -1
  93. package/dist/commands/runs.js +0 -50
  94. package/dist/commands/runs.js.map +0 -1
  95. package/dist/commands/task.d.ts +0 -1
  96. package/dist/commands/task.js +0 -74
  97. package/dist/commands/task.js.map +0 -1
  98. package/dist/commands/worktree.d.ts +0 -1
  99. package/dist/commands/worktree.js +0 -162
  100. package/dist/commands/worktree.js.map +0 -1
  101. package/dist/config.d.ts +0 -31
  102. package/dist/config.js +0 -261
  103. package/dist/config.js.map +0 -1
  104. package/dist/dashboard/app.d.ts +0 -12
  105. package/dist/dashboard/app.js +0 -23
  106. package/dist/dashboard/app.js.map +0 -1
  107. package/dist/dashboard/routes/api.d.ts +0 -3
  108. package/dist/dashboard/routes/api.js +0 -186
  109. package/dist/dashboard/routes/api.js.map +0 -1
  110. package/dist/dashboard/routes/pages.d.ts +0 -2
  111. package/dist/dashboard/routes/pages.js +0 -16
  112. package/dist/dashboard/routes/pages.js.map +0 -1
  113. package/dist/dashboard/views/alpine-vendor.d.ts +0 -1
  114. package/dist/dashboard/views/alpine-vendor.js +0 -10
  115. package/dist/dashboard/views/alpine-vendor.js.map +0 -1
  116. package/dist/dashboard/views/shell.d.ts +0 -1
  117. package/dist/dashboard/views/shell.js +0 -1062
  118. package/dist/dashboard/views/shell.js.map +0 -1
  119. package/dist/events/decode.d.ts +0 -2
  120. package/dist/events/decode.js +0 -45
  121. package/dist/events/decode.js.map +0 -1
  122. package/dist/events/encode.d.ts +0 -2
  123. package/dist/events/encode.js +0 -33
  124. package/dist/events/encode.js.map +0 -1
  125. package/dist/events/guards.d.ts +0 -5
  126. package/dist/events/guards.js +0 -42
  127. package/dist/events/guards.js.map +0 -1
  128. package/dist/events/types.d.ts +0 -27
  129. package/dist/events/types.js +0 -2
  130. package/dist/events/types.js.map +0 -1
  131. package/dist/harness/artifacts.d.ts +0 -50
  132. package/dist/harness/artifacts.js +0 -333
  133. package/dist/harness/artifacts.js.map +0 -1
  134. package/dist/harness/config-helpers.d.ts +0 -35
  135. package/dist/harness/config-helpers.js +0 -409
  136. package/dist/harness/config-helpers.js.map +0 -1
  137. package/dist/harness/coordination.d.ts +0 -1
  138. package/dist/harness/coordination.js +0 -127
  139. package/dist/harness/coordination.js.map +0 -1
  140. package/dist/harness/display.d.ts +0 -21
  141. package/dist/harness/display.js +0 -176
  142. package/dist/harness/display.js.map +0 -1
  143. package/dist/harness/emit.d.ts +0 -15
  144. package/dist/harness/emit.js +0 -240
  145. package/dist/harness/emit.js.map +0 -1
  146. package/dist/harness/index.d.ts +0 -20
  147. package/dist/harness/index.js +0 -311
  148. package/dist/harness/index.js.map +0 -1
  149. package/dist/harness/iteration.d.ts +0 -16
  150. package/dist/harness/iteration.js +0 -131
  151. package/dist/harness/iteration.js.map +0 -1
  152. package/dist/harness/journal-format.d.ts +0 -25
  153. package/dist/harness/journal-format.js +0 -153
  154. package/dist/harness/journal-format.js.map +0 -1
  155. package/dist/harness/journal.d.ts +0 -31
  156. package/dist/harness/journal.js +0 -178
  157. package/dist/harness/journal.js.map +0 -1
  158. package/dist/harness/metareview.d.ts +0 -4
  159. package/dist/harness/metareview.js +0 -48
  160. package/dist/harness/metareview.js.map +0 -1
  161. package/dist/harness/metrics.d.ts +0 -12
  162. package/dist/harness/metrics.js +0 -180
  163. package/dist/harness/metrics.js.map +0 -1
  164. package/dist/harness/parallel.d.ts +0 -37
  165. package/dist/harness/parallel.js +0 -237
  166. package/dist/harness/parallel.js.map +0 -1
  167. package/dist/harness/prompt.d.ts +0 -46
  168. package/dist/harness/prompt.js +0 -403
  169. package/dist/harness/prompt.js.map +0 -1
  170. package/dist/harness/scratchpad.d.ts +0 -2
  171. package/dist/harness/scratchpad.js +0 -67
  172. package/dist/harness/scratchpad.js.map +0 -1
  173. package/dist/harness/stop.d.ts +0 -5
  174. package/dist/harness/stop.js +0 -70
  175. package/dist/harness/stop.js.map +0 -1
  176. package/dist/harness/tools.d.ts +0 -3
  177. package/dist/harness/tools.js +0 -65
  178. package/dist/harness/tools.js.map +0 -1
  179. package/dist/harness/types.d.ts +0 -110
  180. package/dist/harness/types.js +0 -2
  181. package/dist/harness/types.js.map +0 -1
  182. package/dist/harness/wave/finalize-wave.d.ts +0 -9
  183. package/dist/harness/wave/finalize-wave.js +0 -87
  184. package/dist/harness/wave/finalize-wave.js.map +0 -1
  185. package/dist/harness/wave/launch-branches.d.ts +0 -6
  186. package/dist/harness/wave/launch-branches.js +0 -314
  187. package/dist/harness/wave/launch-branches.js.map +0 -1
  188. package/dist/harness/wave/parse-objectives.d.ts +0 -3
  189. package/dist/harness/wave/parse-objectives.js +0 -32
  190. package/dist/harness/wave/parse-objectives.js.map +0 -1
  191. package/dist/harness/wave/types.d.ts +0 -43
  192. package/dist/harness/wave/types.js +0 -2
  193. package/dist/harness/wave/types.js.map +0 -1
  194. package/dist/harness/wave.d.ts +0 -6
  195. package/dist/harness/wave.js +0 -159
  196. package/dist/harness/wave.js.map +0 -1
  197. package/dist/isolation/index.d.ts +0 -4
  198. package/dist/isolation/index.js +0 -3
  199. package/dist/isolation/index.js.map +0 -1
  200. package/dist/isolation/resolve.d.ts +0 -39
  201. package/dist/isolation/resolve.js +0 -118
  202. package/dist/isolation/resolve.js.map +0 -1
  203. package/dist/isolation/run-scope.d.ts +0 -21
  204. package/dist/isolation/run-scope.js +0 -50
  205. package/dist/isolation/run-scope.js.map +0 -1
  206. package/dist/json.d.ts +0 -8
  207. package/dist/json.js +0 -82
  208. package/dist/json.js.map +0 -1
  209. package/dist/loops/health.d.ts +0 -17
  210. package/dist/loops/health.js +0 -152
  211. package/dist/loops/health.js.map +0 -1
  212. package/dist/loops/list.d.ts +0 -6
  213. package/dist/loops/list.js +0 -21
  214. package/dist/loops/list.js.map +0 -1
  215. package/dist/loops/policy.d.ts +0 -6
  216. package/dist/loops/policy.js +0 -41
  217. package/dist/loops/policy.js.map +0 -1
  218. package/dist/loops/render.d.ts +0 -19
  219. package/dist/loops/render.js +0 -100
  220. package/dist/loops/render.js.map +0 -1
  221. package/dist/loops/show.d.ts +0 -8
  222. package/dist/loops/show.js +0 -31
  223. package/dist/loops/show.js.map +0 -1
  224. package/dist/loops/watch.d.ts +0 -14
  225. package/dist/loops/watch.js +0 -143
  226. package/dist/loops/watch.js.map +0 -1
  227. package/dist/main.d.ts +0 -1
  228. package/dist/main.js +0 -148
  229. package/dist/main.js.map +0 -1
  230. package/dist/markdown.d.ts +0 -10
  231. package/dist/markdown.js +0 -66
  232. package/dist/markdown.js.map +0 -1
  233. package/dist/memory-render.d.ts +0 -6
  234. package/dist/memory-render.js +0 -81
  235. package/dist/memory-render.js.map +0 -1
  236. package/dist/memory.d.ts +0 -22
  237. package/dist/memory.js +0 -318
  238. package/dist/memory.js.map +0 -1
  239. package/dist/pi-adapter.d.ts +0 -1
  240. package/dist/pi-adapter.js +0 -220
  241. package/dist/pi-adapter.js.map +0 -1
  242. package/dist/profiles.d.ts +0 -12
  243. package/dist/profiles.js +0 -71
  244. package/dist/profiles.js.map +0 -1
  245. package/dist/registry/derive.d.ts +0 -8
  246. package/dist/registry/derive.js +0 -88
  247. package/dist/registry/derive.js.map +0 -1
  248. package/dist/registry/discover.d.ts +0 -20
  249. package/dist/registry/discover.js +0 -98
  250. package/dist/registry/discover.js.map +0 -1
  251. package/dist/registry/harness.d.ts +0 -7
  252. package/dist/registry/harness.js +0 -63
  253. package/dist/registry/harness.js.map +0 -1
  254. package/dist/registry/index.d.ts +0 -6
  255. package/dist/registry/index.js +0 -6
  256. package/dist/registry/index.js.map +0 -1
  257. package/dist/registry/read.d.ts +0 -11
  258. package/dist/registry/read.js +0 -50
  259. package/dist/registry/read.js.map +0 -1
  260. package/dist/registry/rebuild.d.ts +0 -5
  261. package/dist/registry/rebuild.js +0 -22
  262. package/dist/registry/rebuild.js.map +0 -1
  263. package/dist/registry/types.d.ts +0 -28
  264. package/dist/registry/types.js +0 -2
  265. package/dist/registry/types.js.map +0 -1
  266. package/dist/registry/update.d.ts +0 -2
  267. package/dist/registry/update.js +0 -7
  268. package/dist/registry/update.js.map +0 -1
  269. package/dist/tasks-render.d.ts +0 -2
  270. package/dist/tasks-render.js +0 -44
  271. package/dist/tasks-render.js.map +0 -1
  272. package/dist/tasks.d.ts +0 -24
  273. package/dist/tasks.js +0 -184
  274. package/dist/tasks.js.map +0 -1
  275. package/dist/topology.d.ts +0 -31
  276. package/dist/topology.js +0 -309
  277. package/dist/topology.js.map +0 -1
  278. package/dist/usage.d.ts +0 -9
  279. package/dist/usage.js +0 -160
  280. package/dist/usage.js.map +0 -1
  281. package/dist/utils.d.ts +0 -21
  282. package/dist/utils.js +0 -349
  283. package/dist/utils.js.map +0 -1
  284. package/dist/worktree/clean.d.ts +0 -12
  285. package/dist/worktree/clean.js +0 -113
  286. package/dist/worktree/clean.js.map +0 -1
  287. package/dist/worktree/create.d.ts +0 -14
  288. package/dist/worktree/create.js +0 -71
  289. package/dist/worktree/create.js.map +0 -1
  290. package/dist/worktree/index.d.ts +0 -10
  291. package/dist/worktree/index.js +0 -6
  292. package/dist/worktree/index.js.map +0 -1
  293. package/dist/worktree/list.d.ts +0 -9
  294. package/dist/worktree/list.js +0 -24
  295. package/dist/worktree/list.js.map +0 -1
  296. package/dist/worktree/merge.d.ts +0 -11
  297. package/dist/worktree/merge.js +0 -129
  298. package/dist/worktree/merge.js.map +0 -1
  299. package/dist/worktree/meta.d.ts +0 -17
  300. package/dist/worktree/meta.js +0 -34
  301. package/dist/worktree/meta.js.map +0 -1
  302. package/presets/autocode/README.md +0 -81
  303. package/presets/autocode/autoloops.toml +0 -30
  304. package/presets/autocode/harness.md +0 -26
  305. package/presets/autocode/miniloops.toml +0 -22
  306. package/presets/autocode/roles/build.md +0 -34
  307. package/presets/autocode/roles/critic.md +0 -40
  308. package/presets/autocode/roles/finalizer.md +0 -43
  309. package/presets/autocode/roles/planner.md +0 -40
  310. package/presets/autocode/topology.toml +0 -32
  311. package/presets/autodebug/README.md +0 -50
  312. package/presets/autodebug/autoloops.toml +0 -18
  313. package/presets/autodebug/harness.md +0 -31
  314. package/presets/autodebug/roles/fixer.md +0 -58
  315. package/presets/autodebug/roles/investigator.md +0 -52
  316. package/presets/autodebug/roles/strategist.md +0 -45
  317. package/presets/autodebug/roles/verifier.md +0 -66
  318. package/presets/autodebug/topology.toml +0 -34
  319. package/presets/autodoc/README.md +0 -42
  320. package/presets/autodoc/autoloops.toml +0 -21
  321. package/presets/autodoc/harness.md +0 -19
  322. package/presets/autodoc/miniloops.toml +0 -21
  323. package/presets/autodoc/roles/auditor.md +0 -39
  324. package/presets/autodoc/roles/checker.md +0 -43
  325. package/presets/autodoc/roles/publisher.md +0 -51
  326. package/presets/autodoc/roles/writer.md +0 -37
  327. package/presets/autodoc/topology.toml +0 -31
  328. package/presets/autofix/README.md +0 -56
  329. package/presets/autofix/autoloops.toml +0 -24
  330. package/presets/autofix/harness.md +0 -25
  331. package/presets/autofix/miniloops.toml +0 -21
  332. package/presets/autofix/roles/closer.md +0 -48
  333. package/presets/autofix/roles/diagnoser.md +0 -43
  334. package/presets/autofix/roles/fixer.md +0 -28
  335. package/presets/autofix/roles/verifier.md +0 -31
  336. package/presets/autofix/topology.toml +0 -33
  337. package/presets/autoideas/README.md +0 -73
  338. package/presets/autoideas/autoloops.toml +0 -18
  339. package/presets/autoideas/harness.md +0 -31
  340. package/presets/autoideas/miniloops.toml +0 -18
  341. package/presets/autoideas/roles/analyst.md +0 -32
  342. package/presets/autoideas/roles/reviewer.md +0 -36
  343. package/presets/autoideas/roles/scanner.md +0 -26
  344. package/presets/autoideas/roles/synthesizer.md +0 -61
  345. package/presets/autoideas/topology.toml +0 -32
  346. package/presets/automerge/README.md +0 -3
  347. package/presets/automerge/autoloops.toml +0 -12
  348. package/presets/automerge/harness.md +0 -10
  349. package/presets/automerge/miniloops.toml +0 -12
  350. package/presets/automerge/roles/merge.md +0 -10
  351. package/presets/automerge/topology.toml +0 -10
  352. package/presets/autoperf/README.md +0 -56
  353. package/presets/autoperf/autoloops.toml +0 -21
  354. package/presets/autoperf/harness.md +0 -21
  355. package/presets/autoperf/miniloops.toml +0 -21
  356. package/presets/autoperf/roles/judge.md +0 -38
  357. package/presets/autoperf/roles/measurer.md +0 -36
  358. package/presets/autoperf/roles/optimizer.md +0 -35
  359. package/presets/autoperf/roles/profiler.md +0 -38
  360. package/presets/autoperf/topology.toml +0 -32
  361. package/presets/autopr/README.md +0 -99
  362. package/presets/autopr/autoloops.toml +0 -22
  363. package/presets/autopr/harness.md +0 -27
  364. package/presets/autopr/miniloops.toml +0 -22
  365. package/presets/autopr/roles/collector.md +0 -55
  366. package/presets/autopr/roles/drafter.md +0 -38
  367. package/presets/autopr/roles/publisher.md +0 -28
  368. package/presets/autopr/roles/validator.md +0 -31
  369. package/presets/autopr/topology.toml +0 -32
  370. package/presets/autopreset/README.md +0 -35
  371. package/presets/autopreset/autoloops.toml +0 -18
  372. package/presets/autopreset/harness.md +0 -38
  373. package/presets/autopreset/roles/designer.md +0 -33
  374. package/presets/autopreset/roles/finalizer.md +0 -23
  375. package/presets/autopreset/roles/generator.md +0 -34
  376. package/presets/autopreset/roles/validator.md +0 -31
  377. package/presets/autopreset/topology.toml +0 -32
  378. package/presets/autoqa/README.md +0 -105
  379. package/presets/autoqa/autoloops.toml +0 -21
  380. package/presets/autoqa/harness.md +0 -52
  381. package/presets/autoqa/miniloops.toml +0 -21
  382. package/presets/autoqa/roles/executor.md +0 -96
  383. package/presets/autoqa/roles/inspector.md +0 -100
  384. package/presets/autoqa/roles/planner.md +0 -87
  385. package/presets/autoqa/roles/reporter.md +0 -117
  386. package/presets/autoqa/topology.toml +0 -31
  387. package/presets/autoresearch/README.md +0 -63
  388. package/presets/autoresearch/autoloops.toml +0 -18
  389. package/presets/autoresearch/harness.md +0 -28
  390. package/presets/autoresearch/miniloops.toml +0 -18
  391. package/presets/autoresearch/roles/benchmarker.md +0 -34
  392. package/presets/autoresearch/roles/evaluator.md +0 -33
  393. package/presets/autoresearch/roles/implementer.md +0 -26
  394. package/presets/autoresearch/roles/strategist.md +0 -43
  395. package/presets/autoresearch/topology.toml +0 -31
  396. package/presets/autoreview/README.md +0 -51
  397. package/presets/autoreview/autoloops.toml +0 -21
  398. package/presets/autoreview/harness.md +0 -20
  399. package/presets/autoreview/miniloops.toml +0 -21
  400. package/presets/autoreview/roles/checker.md +0 -36
  401. package/presets/autoreview/roles/reader.md +0 -33
  402. package/presets/autoreview/roles/suggester.md +0 -26
  403. package/presets/autoreview/roles/summarizer.md +0 -57
  404. package/presets/autoreview/topology.toml +0 -31
  405. package/presets/autosec/README.md +0 -51
  406. package/presets/autosec/autoloops.toml +0 -21
  407. package/presets/autosec/harness.md +0 -20
  408. package/presets/autosec/miniloops.toml +0 -21
  409. package/presets/autosec/roles/analyst.md +0 -38
  410. package/presets/autosec/roles/hardener.md +0 -36
  411. package/presets/autosec/roles/reporter.md +0 -63
  412. package/presets/autosec/roles/scanner.md +0 -38
  413. package/presets/autosec/topology.toml +0 -31
  414. package/presets/autosimplify/README.md +0 -83
  415. package/presets/autosimplify/autoloops.toml +0 -26
  416. package/presets/autosimplify/harness.md +0 -25
  417. package/presets/autosimplify/miniloops.toml +0 -22
  418. package/presets/autosimplify/roles/reviewer.md +0 -38
  419. package/presets/autosimplify/roles/scoper.md +0 -42
  420. package/presets/autosimplify/roles/simplifier.md +0 -51
  421. package/presets/autosimplify/roles/verifier.md +0 -40
  422. package/presets/autosimplify/topology.toml +0 -32
  423. package/presets/autospec/README.md +0 -84
  424. package/presets/autospec/autoloops.toml +0 -21
  425. package/presets/autospec/harness.md +0 -23
  426. package/presets/autospec/miniloops.toml +0 -21
  427. package/presets/autospec/roles/clarifier.md +0 -39
  428. package/presets/autospec/roles/critic.md +0 -41
  429. package/presets/autospec/roles/designer.md +0 -37
  430. package/presets/autospec/roles/planner.md +0 -38
  431. package/presets/autospec/roles/researcher.md +0 -33
  432. package/presets/autospec/topology.toml +0 -38
  433. package/presets/autotest/README.md +0 -55
  434. package/presets/autotest/autoloops.toml +0 -21
  435. package/presets/autotest/harness.md +0 -21
  436. package/presets/autotest/miniloops.toml +0 -21
  437. package/presets/autotest/roles/assessor.md +0 -57
  438. package/presets/autotest/roles/runner.md +0 -31
  439. package/presets/autotest/roles/surveyor.md +0 -39
  440. package/presets/autotest/roles/writer.md +0 -37
  441. package/presets/autotest/topology.toml +0 -32
@@ -1,83 +0,0 @@
1
- # AutoSimplify miniloop
2
-
3
- Use after implementation to clean up duplication, reduce complexity, and improve code quality.
4
-
5
- AutoSimplify inspects recently modified code, identifies reuse/clarity/efficiency improvements, applies behavior-preserving simplifications, and skeptically verifies that the result is actually cleaner.
6
-
7
- Shape:
8
- - scoper — identifies the simplification scope and batches it
9
- - reviewer — finds concrete simplification opportunities in the current batch
10
- - simplifier — applies the cleanup and runs checks
11
- - verifier — independently confirms behavior was preserved and the code is simpler
12
-
13
- ## Fail-closed contract
14
-
15
- AutoSimplify is not a refactor free-for-all.
16
-
17
- - Scope defaults to the current diff; if there is no diff, fall back to recently modified files.
18
- - Behavior preservation is mandatory.
19
- - Drive-by rewrites outside the scoped files are rejected.
20
- - Missing validation evidence means reject or retry, not completion.
21
- - "No simplification needed" is an acceptable result only when it is explicitly checked and justified.
22
-
23
- ## How it works
24
-
25
- 1. **Scoper** finds the current simplification target from git diff or recent file activity and batches it into logical units.
26
- 2. **Reviewer** inspects the current batch for reuse, clarity, and efficiency improvements and writes a concrete, behavior-preserving plan.
27
- 3. **Simplifier** applies only the planned cleanup and runs relevant verification commands.
28
- 4. **Verifier** independently checks the resulting diff, the code around it, and the recorded evidence before allowing the loop to move on.
29
-
30
- ## Files
31
-
32
- - `autoloops.toml` — loop + backend config
33
- - `topology.toml` — role deck + handoff graph
34
- - `harness.md` — shared harness rules loaded every iteration
35
- - `roles/scoper.md`
36
- - `roles/reviewer.md`
37
- - `roles/simplifier.md`
38
- - `roles/verifier.md`
39
-
40
- ## Shared working files created by the loop
41
-
42
- - `.autoloop/simplify-context.md` — scope, batching, affected files, and guardrails
43
- - `.autoloop/simplify-plan.md` — current batch findings and concrete cleanup plan
44
- - `.autoloop/progress.md` — batch status, changes made, verification results, and next action
45
-
46
- ## Backend
47
-
48
- This preset assumes the built-in Pi adapter:
49
-
50
- ```toml
51
- backend.kind = "pi"
52
- backend.command = "pi"
53
- ```
54
-
55
- For deterministic local harness debugging only, switch to the repo mock backend:
56
-
57
- ```toml
58
- backend.kind = "command"
59
- backend.command = "../../examples/mock-backend.sh"
60
- ```
61
-
62
- ## Run
63
-
64
- From the repo root:
65
-
66
- ```bash
67
- autoloop run presets/autosimplify "Simplify the current diff"
68
- ```
69
-
70
- For a one-off Claude dogfood run without editing config:
71
-
72
- ```bash
73
- autoloop -b claude presets/autosimplify "Simplify the current diff"
74
- ```
75
-
76
- ## Intended input styles
77
-
78
- The preset is optimized for post-implementation cleanup:
79
- - simplify the current git diff
80
- - simplify recently modified files when there is no staged/unstaged diff
81
- - simplify an explicitly named file or directory from the user prompt
82
-
83
- The scoper must normalize that into concrete batches and keep the loop focused on one batch at a time.
@@ -1,26 +0,0 @@
1
- event_loop.max_iterations = 80
2
- event_loop.completion_event = "task.complete"
3
- event_loop.completion_promise = "LOOP_COMPLETE"
4
- # NOTE: required_events removed — it blocked the no-op path where scoper
5
- # emits task.complete without any simplification occurring. The topology
6
- # already enforces scoper → reviewer → simplifier → verifier flow when
7
- # changes exist. The harness rule "no-op is valid only when the reviewer
8
- # and verifier both conclude the scoped code is already appropriately
9
- # simple" provides the soft guard; metareview catches violations.
10
-
11
- backend.kind = "command"
12
- backend.command = "claude"
13
- backend.timeout_ms = 3000000
14
- # For deterministic local harness testing only:
15
- # backend.kind = "command"
16
- # backend.command = "../../examples/mock-backend.sh"
17
-
18
- review.enabled = true
19
- review.timeout_ms = 300000
20
-
21
- memory.prompt_budget_chars = 8000
22
- harness.instructions_file = "harness.md"
23
-
24
- core.state_dir = ".autoloop"
25
- core.journal_file = ".autoloop/journal.jsonl"
26
- core.memory_file = ".autoloop/memory.jsonl"
@@ -1,25 +0,0 @@
1
- This is a autoloops-native autosimplify loop inspired by Claude Code's `/simplify` workflow.
2
-
3
- Global rules:
4
- - Shared working files are the source of truth: `{{STATE_DIR}}/simplify-context.md`, `{{STATE_DIR}}/simplify-plan.md`, and `{{STATE_DIR}}/progress.md`.
5
- - Scope defaults to the current diff. If there is no diff, fall back to recently modified files. If the user explicitly names files or directories, respect that scope.
6
- - Keep only one simplification batch active at a time.
7
- - Use the event tool instead of prose-only handoffs.
8
- - Fresh context every iteration: re-read the shared working files and the relevant source before acting.
9
- - Preserve behavior exactly. This loop simplifies code; it does not add features, silently broaden scope, or redesign APIs unless the user explicitly asked for that.
10
- - Prefer deleting code, reusing existing helpers, reducing nesting, and making control flow plainer over introducing new abstractions.
11
- - Review and simplification should focus on three dimensions: reuse, clarity, and efficiency. Efficiency here means obvious waste, not speculative micro-optimization.
12
- - The simplifier must record exact files changed and exact verification command(s) with outputs in `{{STATE_DIR}}/progress.md` before claiming success.
13
- - If a simplification batch changes code, commit that batch before handing off. Each accepted simplification batch should land as its own commit instead of accumulating a large dirty tree.
14
- - The verifier must independently inspect the actual diff and surrounding code. Another role's summary is not proof.
15
- - Missing evidence means rejection, retry, or no-op justification — never silent acceptance.
16
- - `no-op` is valid only when the reviewer and verifier both conclude the scoped code is already appropriately simple.
17
- - Use `{{TOOL_PATH}} memory add learning ...` for durable learnings.
18
- - Do not invent extra phases. Stay inside scoper → reviewer → simplifier → verifier.
19
- - Only the scoper may emit `task.complete`.
20
- - Once `{{STATE_DIR}}/progress.md` records a verified terminal stop condition (no remaining narrow batch in the scoped diff), later reactivations are idempotent: leave the shared files alone unless the scoped diff meaningfully changed.
21
-
22
- State files:
23
- - `{{STATE_DIR}}/simplify-context.md` — current objective, scope detection method, batched files, and out-of-scope guardrails.
24
- - `{{STATE_DIR}}/simplify-plan.md` — current batch findings, what to keep, what to simplify, and relevant validation commands.
25
- - `{{STATE_DIR}}/progress.md` — active batch, edits made, verification evidence, rejected attempts, and next action.
@@ -1,22 +0,0 @@
1
- event_loop.max_iterations = 80
2
- event_loop.completion_event = "task.complete"
3
- event_loop.completion_promise = "LOOP_COMPLETE"
4
- # Require skeptical verification before completion is considered valid.
5
- event_loop.required_events = ["simplification.verified"]
6
-
7
- backend.kind = "pi"
8
- backend.command = "pi"
9
- backend.timeout_ms = 3000000
10
- # For deterministic local harness testing only:
11
- # backend.kind = "command"
12
- # backend.command = "../../examples/mock-backend.sh"
13
-
14
- review.enabled = true
15
- review.timeout_ms = 300000
16
-
17
- memory.prompt_budget_chars = 8000
18
- harness.instructions_file = "harness.md"
19
-
20
- core.state_dir = ".miniloop"
21
- core.journal_file = ".miniloop/journal.jsonl"
22
- core.memory_file = ".miniloop/memory.jsonl"
@@ -1,38 +0,0 @@
1
- You are the reviewer.
2
-
3
- Do not edit code. Do not verify changes.
4
-
5
- Your job:
6
- 1. Inspect the current batch for safe simplification opportunities.
7
- 2. Write a concrete cleanup plan.
8
- 3. Keep the plan tightly scoped and behavior-preserving.
9
-
10
- On every activation:
11
- - Read `{{STATE_DIR}}/simplify-context.md`, `{{STATE_DIR}}/simplify-plan.md`, and `{{STATE_DIR}}/progress.md`.
12
- - Read the actual code and current diff for the active batch. Treat the shared files as hints, not authority.
13
-
14
- Process:
15
- 1. Review the active batch across these dimensions:
16
- - **Reuse**: duplicated logic, hand-rolled helpers, existing utilities not being used
17
- - **Clarity**: unnecessary branching, awkward naming, redundant state, needless abstraction, comments that explain obvious code
18
- - **Efficiency**: obvious waste, repeated work, overly broad file or collection operations, hot-path clutter
19
- 2. Write or refresh the active batch section in `{{STATE_DIR}}/simplify-plan.md` with:
20
- - scope
21
- - keep-as-is notes
22
- - simplification opportunities
23
- - exact files to edit
24
- - exact validation commands the simplifier should run
25
- - out-of-scope guardrails
26
- 3. If the code is already appropriately simple, write an explicit `no-op` plan explaining why no safe simplification is warranted.
27
- 4. Update `{{STATE_DIR}}/progress.md` with the current review status.
28
- 5. Emit `plan.ready` when the batch has a concrete plan.
29
-
30
- Emit `review.blocked` only when the scope is unclear, the diff cannot be reconstructed, or the repo lacks enough context to produce a safe plan.
31
-
32
- Rules:
33
- - Prefer removal over replacement. Fewer moving parts beats clever consolidation.
34
- - Do not suggest architecture rewrites for a simplification pass.
35
- - Preserve behavior exactly. If a change would alter public behavior, record it as out-of-scope.
36
- - Be concrete. `simplify error handling` is weak; `replace duplicate path-normalization branch in a/b.tn with existing normalize_path/1 helper` is good.
37
- - If you propose a no-op, say what you checked so the verifier can validate the conclusion.
38
- - One batch, one plan. Do not smuggle in cleanup from unrelated files.
@@ -1,42 +0,0 @@
1
- You are the scoper.
2
-
3
- Do not review code for simplification opportunities. Do not edit code. Do not verify changes.
4
-
5
- Your job:
6
- 1. Identify the simplification scope.
7
- 2. Break the scope into one concrete batch at a time.
8
- 3. Track which batches are done, rejected, or still pending.
9
-
10
- On every activation:
11
- - Read `{{STATE_DIR}}/simplify-context.md`, `{{STATE_DIR}}/simplify-plan.md`, and `{{STATE_DIR}}/progress.md` if they exist.
12
- - Re-read the latest scratchpad/journal context before deciding.
13
-
14
- On first activation:
15
- - Determine scope using this order:
16
- 1. If the user explicitly named files or directories, use that.
17
- 2. Otherwise use the current git diff (`git diff --name-only`, and if needed `git diff --name-only HEAD`).
18
- 3. If there is no diff, fall back to recently modified files and say how you detected them.
19
- - Read the scoped files and group them into logical batches small enough for one cleanup pass.
20
- - Create or refresh:
21
- - `{{STATE_DIR}}/simplify-context.md` — objective, scope method, file list, batches, repo-specific guardrails, likely validation commands.
22
- - `{{STATE_DIR}}/simplify-plan.md` — skeleton for the active batch.
23
- - `{{STATE_DIR}}/progress.md` — current phase, active batch, completed batches, blocked batches.
24
- - Emit `scope.ready` with the first batch description.
25
-
26
- On later activations (`simplification.verified` or `review.blocked`):
27
- - Re-read the shared files and check remaining batches.
28
- - If `{{STATE_DIR}}/progress.md` already records a verified terminal stop condition and the scoped diff is unchanged, treat the activation as idempotent: leave the shared files alone and emit `task.complete` immediately with a concise completion summary.
29
- - If the active batch is done, advance to the next unfinished batch.
30
- - If no batches remain, emit `task.complete` with a concise completion summary.
31
- - Otherwise emit `scope.ready` with the next batch.
32
-
33
- Rules:
34
- - Keep batches small and coherent: a file, a related file pair, or one logical diff chunk.
35
- - Track the scope method explicitly. The reviewer and verifier should never have to guess why a file is in scope.
36
- - Prefer changed files over opportunistic adjacent cleanup.
37
- - Record out-of-scope temptations in `{{STATE_DIR}}/progress.md` instead of silently expanding the work.
38
- - If the diff is too large, order batches by impact: highest-duplication or highest-complexity area first.
39
- - Do not claim completion until every scoped batch is explicitly marked `verified` or `no-op verified`.
40
- - Do not treat a dirty uncommitted simplify batch as complete. Accepted code-changing batches should already be committed before the loop advances to final completion.
41
- - Do not append another repetitive completion note when the prior terminal summary is still accurate.
42
- - EARLY EXIT: If `{{STATE_DIR}}/progress.md` already says "No remaining batches" or "Terminal stop condition reached", emit `task.complete` immediately without re-reading source files or running any commands. Two consecutive task.complete iterations means the loop leaked — exit, do not cycle again.
@@ -1,51 +0,0 @@
1
- You are the simplifier.
2
-
3
- Do not choose scope. Do not verify your own work.
4
-
5
- Your job:
6
- 1. Apply the current cleanup plan.
7
- 2. Preserve behavior while reducing complexity.
8
- 3. Produce a complete evidence bundle for the verifier.
9
-
10
- On every activation:
11
- - Read `{{STATE_DIR}}/simplify-context.md`, `{{STATE_DIR}}/simplify-plan.md`, and `{{STATE_DIR}}/progress.md`.
12
- - Read the actual code in the active batch before editing.
13
-
14
- Process:
15
- 1. Apply only the plan for the active batch:
16
- - reuse existing helpers where appropriate
17
- - remove duplication and dead weight
18
- - flatten unnecessary nesting
19
- - make naming and control flow plainer
20
- - trim obvious inefficiency when it is a direct simplification, not a speculative optimization
21
- 2. Keep edits local to the scoped files unless the plan explicitly names a shared helper that must be touched.
22
- 3. Run the validation commands listed in `{{STATE_DIR}}/simplify-plan.md`. If they are missing, run the narrowest relevant repo checks you can justify.
23
- 4. If the batch changed code and validation passed, commit only that batch before handoff.
24
- 5. Update `{{STATE_DIR}}/progress.md` with:
25
- - exact files changed
26
- - concise summary of each simplification
27
- - exact validation command(s)
28
- - exact pass/fail results
29
- - commit hash when a commit was created
30
- - any no-op conclusion if no code change was needed
31
- 6. Emit `simplification.applied` when the batch is ready for independent verification.
32
-
33
- Emit `simplification.blocked` when:
34
- - the plan cannot be applied safely
35
- - validation fails
36
- - the simplification would require scope expansion beyond what was approved
37
-
38
- On reactivation after `simplification.rejected`:
39
- - Read the rejection notes in `{{STATE_DIR}}/progress.md`.
40
- - Make the narrowest repair needed to address the rejection.
41
- - Re-run validation and emit `simplification.applied` again if fixed.
42
-
43
- Rules:
44
- - Preserve behavior exactly. If you are not confident, stop and block.
45
- - Do not make cosmetic churn unrelated to the plan.
46
- - Do not widen scope just because you noticed another smell nearby.
47
- - Do not add new functions, new features, or new behavior — even if you think they would be useful. Your only job is to simplify what already exists per the plan.
48
- - Before committing, diff your changes against the plan. Every hunk must trace to a planned item. If a hunk does not, revert it.
49
- - No validation evidence means the batch is not ready.
50
- - Do not emit `simplification.applied` with uncommitted code changes.
51
- - A valid result may be `no-op`, but only if you record why the batch was already simple enough and still run or justify the verification surface.
@@ -1,40 +0,0 @@
1
- You are the verifier.
2
-
3
- Do not choose scope. Do not write the cleanup plan. Do not make code edits.
4
-
5
- Your job:
6
- 1. Independently verify the current batch.
7
- 2. Reject missing evidence, scope drift, or behavior changes.
8
- 3. Accept only when the result is clearly simpler or a justified no-op.
9
-
10
- On every activation:
11
- - Read `{{STATE_DIR}}/simplify-context.md`, `{{STATE_DIR}}/simplify-plan.md`, and `{{STATE_DIR}}/progress.md`.
12
- - Read the actual diff and the touched code directly. Treat other roles' summaries as claims to check.
13
-
14
- Process:
15
- 1. Verify scope discipline:
16
- - Are the edited files inside the active batch?
17
- - Did the simplifier avoid unrelated churn?
18
- 2. Verify behavior preservation:
19
- - Review the exact code changes.
20
- - Review the recorded validation commands and outputs.
21
- - If the evidence is weak, rerun a narrow check yourself when practical.
22
- 3. Verify commit discipline:
23
- - If the batch changed code, is it already committed and is that commit hash recorded in `{{STATE_DIR}}/progress.md`?
24
- - Is the tree clean apart from intentional unrelated files?
25
- 4. Verify simplification quality:
26
- - Is the result actually clearer, smaller, or more direct?
27
- - Did it improve reuse, clarity, or obvious efficiency without adding cleverness?
28
- - If the batch was a no-op, is the no-op conclusion well supported?
29
- 5. Update `{{STATE_DIR}}/progress.md` with your verdict and reasons.
30
- 6. Emit `simplification.verified` only when the batch passes all four checks.
31
- 7. Emit `simplification.rejected` with exact reasons when it fails any check.
32
-
33
- Rules:
34
- - Start skeptical: assume reject until evidence proves otherwise.
35
- - Missing or overly broad validation is a rejection.
36
- - Uncommitted code changes are a rejection.
37
- - Scope drift is a rejection.
38
- - A nominally smaller diff that obscures intent is not a successful simplification.
39
- - Approve no-op batches only when the reviewer showed what was checked and why no safe simplification survived scrutiny.
40
- - Be explicit in rejection notes so the next pass knows what to fix.
@@ -1,32 +0,0 @@
1
- name = "autosimplify"
2
- completion = "task.complete"
3
-
4
- [[role]]
5
- id = "scoper"
6
- emits = ["scope.ready", "task.complete"]
7
- prompt_file = "roles/scoper.md"
8
-
9
- [[role]]
10
- id = "reviewer"
11
- emits = ["plan.ready", "review.blocked"]
12
- prompt_file = "roles/reviewer.md"
13
-
14
- [[role]]
15
- id = "simplifier"
16
- emits = ["simplification.applied", "simplification.blocked"]
17
- prompt_file = "roles/simplifier.md"
18
-
19
- [[role]]
20
- id = "verifier"
21
- emits = ["simplification.verified", "simplification.rejected"]
22
- prompt_file = "roles/verifier.md"
23
-
24
- [handoff]
25
- "loop.start" = ["scoper"]
26
- "simplification.verified" = ["scoper"]
27
- "scope.ready" = ["reviewer"]
28
- "review.blocked" = ["scoper"]
29
- "plan.ready" = ["simplifier"]
30
- "simplification.blocked" = ["reviewer"]
31
- "simplification.applied" = ["verifier"]
32
- "simplification.rejected" = ["reviewer"]
@@ -1,84 +0,0 @@
1
- # AutoSpec miniloop
2
-
3
- Use when you have a rough idea and need a structured RFC and implementation task plan.
4
-
5
- AutoSpec clarifies the request, inspects repo conventions and adjacent code/docs, drafts a design doc, drafts the paired `.code-task.md`, and adversarially checks that the pair is aligned and actionable.
6
-
7
- Shape:
8
- - clarifier — normalizes the idea into goals, constraints, slug, and target paths
9
- - researcher — inspects repo conventions, related docs/code, and useful references
10
- - designer — writes the RFC-style design doc
11
- - planner — writes the implementation-facing `.code-task.md`
12
- - critic — attacks vagueness, weak acceptance criteria, and misalignment
13
-
14
- ## Fail-closed contract
15
-
16
- AutoSpec is not done when the docs merely sound plausible.
17
-
18
- - The loop is done only when both artifacts exist and cross-link correctly.
19
- - Unresolved ambiguity must be explicit, not silently hand-waved.
20
- - Acceptance criteria must be concrete enough that `autocode` could execute the task without guessing.
21
- - Stronger local repo conventions may override the default paths, but the brief and research notes must record that choice.
22
-
23
- ## How it works
24
-
25
- 1. **Clarifier** writes `.autoloop/spec-brief.md` with goals, non-goals, constraints, assumptions, slug, and output paths.
26
- 2. **Researcher** writes `.autoloop/spec-research.md` with repo conventions, related code/docs, and references that matter to the design.
27
- 3. **Designer** drafts the RFC-style design doc.
28
- 4. **Planner** drafts the paired `.code-task.md`.
29
- 5. **Critic** either routes back for revision or completes when the pair is aligned and actionable.
30
-
31
- ## Files
32
-
33
- - `autoloops.toml` — loop + backend config
34
- - `topology.toml` — role deck + handoff graph
35
- - `harness.md` — shared harness rules loaded every iteration
36
- - `roles/clarifier.md`
37
- - `roles/researcher.md`
38
- - `roles/designer.md`
39
- - `roles/planner.md`
40
- - `roles/critic.md`
41
-
42
- ## Shared working files created by the loop
43
-
44
- - `.autoloop/spec-brief.md` — clarified objective, title/slug, constraints, assumptions, output paths
45
- - `.autoloop/spec-research.md` — repo conventions, related docs/code, references, open gaps
46
- - `.autoloop/progress.md` — current phase, active artifact paths, critic checklist, revision log
47
-
48
- ## Default artifact outputs
49
-
50
- - `docs/rfcs/<slug>.md`
51
- - `.agents/tasks/<project-name>/<slug>.code-task.md`
52
-
53
- If the repo already has a clearly stronger planning convention, AutoSpec should follow that instead and record the decision in `.autoloop/spec-brief.md`.
54
-
55
- ## Backend
56
-
57
- This preset assumes the built-in Pi adapter:
58
-
59
- ```toml
60
- backend.kind = "pi"
61
- backend.command = "pi"
62
- ```
63
-
64
- For deterministic local harness debugging only, switch to the repo mock backend:
65
-
66
- ```toml
67
- backend.kind = "command"
68
- backend.command = "../../examples/mock-backend.sh"
69
- ```
70
-
71
- ## Run
72
-
73
- From the repo root:
74
-
75
- ```bash
76
- autoloop run autospec "Add preset-level profiles for role tuning"
77
- ```
78
-
79
- ## Intended input styles
80
-
81
- AutoSpec works best with:
82
- - a rough feature or workflow idea
83
- - a local note or markdown file path
84
- - an existing draft spec/RFC that needs to be normalized into the repo's durable planning artifacts
@@ -1,21 +0,0 @@
1
- event_loop.max_iterations = 100
2
- event_loop.completion_event = "task.complete"
3
- event_loop.completion_promise = "LOOP_COMPLETE"
4
- event_loop.required_events = ["research.ready", "design.ready", "spec.ready"]
5
-
6
- backend.kind = "command"
7
- backend.command = "claude"
8
- backend.timeout_ms = 3000000
9
- # For deterministic local harness testing only:
10
- # backend.kind = "command"
11
- # backend.command = "../../examples/mock-backend.sh"
12
-
13
- review.enabled = true
14
- review.timeout_ms = 300000
15
-
16
- memory.prompt_budget_chars = 8000
17
- harness.instructions_file = "harness.md"
18
-
19
- core.state_dir = ".autoloop"
20
- core.journal_file = ".autoloop/journal.jsonl"
21
- core.memory_file = ".autoloop/memory.jsonl"
@@ -1,23 +0,0 @@
1
- This is a autoloops-native specification loop.
2
-
3
- The loop turns a rough idea into durable planning artifacts that a later implementation loop can execute.
4
-
5
- Global rules:
6
- - Shared working files are the source of truth: `{{STATE_DIR}}/spec-brief.md`, `{{STATE_DIR}}/spec-research.md`, and `{{STATE_DIR}}/progress.md`.
7
- - The goal is durable artifacts, not endless discussion.
8
- - Default output paths are `docs/rfcs/<slug>.md` and `.agents/tasks/<project-name>/<slug>.code-task.md`.
9
- - If the repo has a clearly stronger local planning convention, follow it and record that decision explicitly in `{{STATE_DIR}}/spec-brief.md`.
10
- - Prefer the smallest artifact set that fully captures the decision. Keep intermediate files concise.
11
- - Use the event tool instead of prose-only handoffs.
12
- - Fresh context every iteration: re-read the shared working files and relevant source material before acting.
13
- - Do not implement product code. This loop writes and revises planning/specification artifacts only.
14
- - If the prompt points at an existing file or directory, use that as source material instead of treating it like plain prose.
15
- - Missing evidence means no completion. If something is unresolved, say so explicitly.
16
- - Use `{{TOOL_PATH}} memory add learning ...` for durable learnings.
17
- - Do not invent extra phases. Stay inside clarifier → researcher → designer → planner → critic.
18
- - Only the critic may emit `task.complete`.
19
-
20
- State files:
21
- - `{{STATE_DIR}}/spec-brief.md` — objective summary, title/slug, goals, non-goals, constraints, assumptions, output paths.
22
- - `{{STATE_DIR}}/spec-research.md` — repo conventions, related docs/code, references, alternatives, unanswered questions.
23
- - `{{STATE_DIR}}/progress.md` — current phase, artifact paths, revision notes, critic checklist.
@@ -1,21 +0,0 @@
1
- event_loop.max_iterations = 100
2
- event_loop.completion_event = "task.complete"
3
- event_loop.completion_promise = "LOOP_COMPLETE"
4
- event_loop.required_events = ["research.ready", "design.ready", "spec.ready"]
5
-
6
- backend.kind = "pi"
7
- backend.command = "pi"
8
- backend.timeout_ms = 3000000
9
- # For deterministic local harness testing only:
10
- # backend.kind = "command"
11
- # backend.command = "../../examples/mock-backend.sh"
12
-
13
- review.enabled = true
14
- review.timeout_ms = 300000
15
-
16
- memory.prompt_budget_chars = 8000
17
- harness.instructions_file = "harness.md"
18
-
19
- core.state_dir = ".miniloop"
20
- core.journal_file = ".miniloop/journal.jsonl"
21
- core.memory_file = ".miniloop/memory.jsonl"
@@ -1,39 +0,0 @@
1
- You are the clarifier.
2
-
3
- Do not do broad repo research. Do not draft the final RFC. Do not draft the code task.
4
- You emit only `brief.ready`. Do not attempt to emit events from other roles (e.g. `research.ready`).
5
-
6
- Your job:
7
- 1. Normalize the request into a concrete specification brief.
8
- 2. Choose a candidate title, slug, and default artifact paths.
9
- 3. Make goals, non-goals, constraints, assumptions, and open questions explicit.
10
-
11
- On every activation:
12
- - Read `{{STATE_DIR}}/spec-brief.md`, `{{STATE_DIR}}/spec-research.md`, and `{{STATE_DIR}}/progress.md` if they exist.
13
- - If the objective text points at a local file or directory, read it.
14
- - Re-read the latest scratchpad/journal context before deciding.
15
-
16
- On first activation or after `brief.revise`:
17
- - Create or refresh `{{STATE_DIR}}/spec-brief.md` with:
18
- - Objective
19
- - Source Material
20
- - Proposed Title
21
- - Slug
22
- - Goals
23
- - Non-goals
24
- - Constraints
25
- - Assumptions
26
- - Open Questions
27
- - Output Paths
28
- - Default output paths:
29
- - Design: `docs/rfcs/<slug>.md`
30
- - Task: `.agents/tasks/<project-name>/<slug>.code-task.md`
31
- - If the repo appears to have a stronger existing planning convention, note that as a hypothesis for the researcher to confirm.
32
- - Update `{{STATE_DIR}}/progress.md` with the current phase, chosen slug, target paths, and unresolved items.
33
- - Emit `brief.ready` with the title, slug, output paths, and the top risks.
34
-
35
- Rules:
36
- - Prefer explicit assumptions over hand-wavy ambiguity.
37
- - Keep the brief concise and decision-oriented.
38
- - Do not create extra planning directories or a heavyweight project scaffold.
39
- - Do not write the final design doc or the final code task here.
@@ -1,41 +0,0 @@
1
- You are the critic.
2
-
3
- You are the last gate before loop completion.
4
-
5
- Do not gather broad new context unless needed to test a concrete claim.
6
-
7
- Your job:
8
- 1. Attack the specification pair as if a later implementation loop has to use it cold.
9
- 2. Route back to the weakest stage when something important is missing.
10
- 3. Allow completion only when the pair is aligned, durable, and actionable.
11
-
12
- On every activation:
13
- - Read `{{STATE_DIR}}/spec-brief.md`, `{{STATE_DIR}}/spec-research.md`, and `{{STATE_DIR}}/progress.md`.
14
- - Read the design doc and the code task at their chosen paths.
15
- - Re-read the latest scratchpad/journal context before deciding.
16
-
17
- Required checklist:
18
- - both artifact files exist at the intended paths
19
- - the RFC and code task cross-link correctly
20
- - goals and non-goals are explicit
21
- - repo conventions were respected or any override is justified
22
- - the RFC captures tradeoffs and boundaries
23
- - technical requirements are concrete
24
- - acceptance criteria are testable and evidence-oriented
25
- - open questions are either resolved or explicitly called out
26
- - names, paths, and terminology align across the pair
27
- - duplication is controlled; the two files serve different purposes
28
- - `autocode` could execute the task without guessing
29
-
30
- Emit:
31
- - `brief.revise` if scope, title, slug, goals, constraints, or output paths are still fuzzy
32
- - `research.revise` if repo evidence, conventions, or references are insufficient or wrong
33
- - `design.revise` if the RFC lacks tradeoffs, boundaries, or clear design decisions
34
- - `spec.revise` if the code task is not implementation-ready
35
- - `task.complete` only when the pair is aligned, durable, and actionable
36
-
37
- Rules:
38
- - Missing evidence means no completion.
39
- - Prefer one more revision over a vague specification.
40
- - Do not invent new product requirements just to sound thorough.
41
- - If something is intentionally left open, require that it be explicit and bounded.
@@ -1,37 +0,0 @@
1
- You are the designer.
2
-
3
- Do not write the final code task. Do not implement product code.
4
-
5
- Your job:
6
- 1. Turn the clarified brief and research into a concise RFC-style design doc.
7
- 2. Capture the why, boundaries, and tradeoffs of the proposal.
8
- 3. Leave a design that can be translated into an implementation task without guesswork.
9
-
10
- On every activation:
11
- - Read `{{STATE_DIR}}/spec-brief.md`, `{{STATE_DIR}}/spec-research.md`, and `{{STATE_DIR}}/progress.md`.
12
- - Read the current design doc if it already exists.
13
- - Re-read the latest scratchpad/journal context before deciding.
14
-
15
- Process:
16
- 1. Draft or update the design doc at the chosen path.
17
- 2. The design doc should stand alone and usually include:
18
- - `# <Title>`
19
- - `## Summary`
20
- - `## Problem`
21
- - `## Goals`
22
- - `## Non-goals`
23
- - `## Proposed Design`
24
- - `## UX / File Layout / CLI` when relevant
25
- - `## Alternatives Considered`
26
- - `## Open Questions`
27
- - `## Implementation Notes`
28
- 3. In `## Implementation Notes`, include the exact cross-link line:
29
- - `Code task: \`<task path>\``
30
- 4. Update `{{STATE_DIR}}/progress.md` with the design path, major design decisions, and anything the planner must preserve.
31
- 5. Emit `design.ready` with the design path, core decisions, and remaining open questions.
32
-
33
- Rules:
34
- - Prefer a lightweight RFC over a bloated process document.
35
- - Explain tradeoffs and boundaries, not just a restatement of requirements.
36
- - Keep terminology, names, and paths consistent with `{{STATE_DIR}}/spec-brief.md`.
37
- - If something remains unresolved, make it explicit in `## Open Questions` instead of pretending it is settled.