@cluesmith/codev 2.0.0-rc.7 → 2.0.0-rc.71

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 (456) hide show
  1. package/bin/af.js +2 -2
  2. package/bin/consult.js +1 -1
  3. package/bin/porch.js +6 -35
  4. package/dashboard/dist/assets/index-C7FtNK6Y.css +32 -0
  5. package/dashboard/dist/assets/index-CDAINZKT.js +131 -0
  6. package/dashboard/dist/assets/index-CDAINZKT.js.map +1 -0
  7. package/dashboard/dist/index.html +14 -0
  8. package/dist/agent-farm/cli.d.ts.map +1 -1
  9. package/dist/agent-farm/cli.js +173 -118
  10. package/dist/agent-farm/cli.js.map +1 -1
  11. package/dist/agent-farm/commands/architect.d.ts +3 -3
  12. package/dist/agent-farm/commands/architect.d.ts.map +1 -1
  13. package/dist/agent-farm/commands/architect.js +20 -147
  14. package/dist/agent-farm/commands/architect.js.map +1 -1
  15. package/dist/agent-farm/commands/attach.d.ts +13 -0
  16. package/dist/agent-farm/commands/attach.d.ts.map +1 -0
  17. package/dist/agent-farm/commands/attach.js +144 -0
  18. package/dist/agent-farm/commands/attach.js.map +1 -0
  19. package/dist/agent-farm/commands/cleanup.d.ts.map +1 -1
  20. package/dist/agent-farm/commands/cleanup.js +35 -19
  21. package/dist/agent-farm/commands/cleanup.js.map +1 -1
  22. package/dist/agent-farm/commands/consult.d.ts +3 -4
  23. package/dist/agent-farm/commands/consult.d.ts.map +1 -1
  24. package/dist/agent-farm/commands/consult.js +27 -37
  25. package/dist/agent-farm/commands/consult.js.map +1 -1
  26. package/dist/agent-farm/commands/index.d.ts +2 -2
  27. package/dist/agent-farm/commands/index.d.ts.map +1 -1
  28. package/dist/agent-farm/commands/index.js +2 -2
  29. package/dist/agent-farm/commands/index.js.map +1 -1
  30. package/dist/agent-farm/commands/open.d.ts +4 -2
  31. package/dist/agent-farm/commands/open.d.ts.map +1 -1
  32. package/dist/agent-farm/commands/open.js +33 -83
  33. package/dist/agent-farm/commands/open.js.map +1 -1
  34. package/dist/agent-farm/commands/send.d.ts +1 -1
  35. package/dist/agent-farm/commands/send.d.ts.map +1 -1
  36. package/dist/agent-farm/commands/send.js +60 -79
  37. package/dist/agent-farm/commands/send.js.map +1 -1
  38. package/dist/agent-farm/commands/shell.d.ts +15 -0
  39. package/dist/agent-farm/commands/shell.d.ts.map +1 -0
  40. package/dist/agent-farm/commands/shell.js +50 -0
  41. package/dist/agent-farm/commands/shell.js.map +1 -0
  42. package/dist/agent-farm/commands/spawn.d.ts.map +1 -1
  43. package/dist/agent-farm/commands/spawn.js +597 -281
  44. package/dist/agent-farm/commands/spawn.js.map +1 -1
  45. package/dist/agent-farm/commands/start.d.ts +10 -20
  46. package/dist/agent-farm/commands/start.d.ts.map +1 -1
  47. package/dist/agent-farm/commands/start.js +45 -491
  48. package/dist/agent-farm/commands/start.js.map +1 -1
  49. package/dist/agent-farm/commands/status.d.ts +2 -0
  50. package/dist/agent-farm/commands/status.d.ts.map +1 -1
  51. package/dist/agent-farm/commands/status.js +75 -24
  52. package/dist/agent-farm/commands/status.js.map +1 -1
  53. package/dist/agent-farm/commands/stop.d.ts +6 -0
  54. package/dist/agent-farm/commands/stop.d.ts.map +1 -1
  55. package/dist/agent-farm/commands/stop.js +49 -109
  56. package/dist/agent-farm/commands/stop.js.map +1 -1
  57. package/dist/agent-farm/commands/tower-cloud.d.ts +48 -0
  58. package/dist/agent-farm/commands/tower-cloud.d.ts.map +1 -0
  59. package/dist/agent-farm/commands/tower-cloud.js +329 -0
  60. package/dist/agent-farm/commands/tower-cloud.js.map +1 -0
  61. package/dist/agent-farm/commands/tower.d.ts +9 -0
  62. package/dist/agent-farm/commands/tower.d.ts.map +1 -1
  63. package/dist/agent-farm/commands/tower.js +59 -19
  64. package/dist/agent-farm/commands/tower.js.map +1 -1
  65. package/dist/agent-farm/db/index.d.ts +6 -2
  66. package/dist/agent-farm/db/index.d.ts.map +1 -1
  67. package/dist/agent-farm/db/index.js +246 -18
  68. package/dist/agent-farm/db/index.js.map +1 -1
  69. package/dist/agent-farm/db/migrate.d.ts +0 -4
  70. package/dist/agent-farm/db/migrate.d.ts.map +1 -1
  71. package/dist/agent-farm/db/migrate.js +6 -55
  72. package/dist/agent-farm/db/migrate.js.map +1 -1
  73. package/dist/agent-farm/db/schema.d.ts +3 -3
  74. package/dist/agent-farm/db/schema.d.ts.map +1 -1
  75. package/dist/agent-farm/db/schema.js +25 -19
  76. package/dist/agent-farm/db/schema.js.map +1 -1
  77. package/dist/agent-farm/db/types.d.ts +3 -13
  78. package/dist/agent-farm/db/types.d.ts.map +1 -1
  79. package/dist/agent-farm/db/types.js +3 -11
  80. package/dist/agent-farm/db/types.js.map +1 -1
  81. package/dist/agent-farm/hq-connector.d.ts +2 -6
  82. package/dist/agent-farm/hq-connector.d.ts.map +1 -1
  83. package/dist/agent-farm/hq-connector.js +2 -17
  84. package/dist/agent-farm/hq-connector.js.map +1 -1
  85. package/dist/agent-farm/lib/cloud-config.d.ts +59 -0
  86. package/dist/agent-farm/lib/cloud-config.d.ts.map +1 -0
  87. package/dist/agent-farm/lib/cloud-config.js +143 -0
  88. package/dist/agent-farm/lib/cloud-config.js.map +1 -0
  89. package/dist/agent-farm/lib/tower-client.d.ts +163 -0
  90. package/dist/agent-farm/lib/tower-client.d.ts.map +1 -0
  91. package/dist/agent-farm/lib/tower-client.js +233 -0
  92. package/dist/agent-farm/lib/tower-client.js.map +1 -0
  93. package/dist/agent-farm/lib/tunnel-client.d.ts +117 -0
  94. package/dist/agent-farm/lib/tunnel-client.d.ts.map +1 -0
  95. package/dist/agent-farm/lib/tunnel-client.js +504 -0
  96. package/dist/agent-farm/lib/tunnel-client.js.map +1 -0
  97. package/dist/agent-farm/servers/tower-server.js +2653 -185
  98. package/dist/agent-farm/servers/tower-server.js.map +1 -1
  99. package/dist/agent-farm/state.d.ts +6 -12
  100. package/dist/agent-farm/state.d.ts.map +1 -1
  101. package/dist/agent-farm/state.js +34 -49
  102. package/dist/agent-farm/state.js.map +1 -1
  103. package/dist/agent-farm/types.d.ts +49 -26
  104. package/dist/agent-farm/types.d.ts.map +1 -1
  105. package/dist/agent-farm/utils/config.d.ts +0 -5
  106. package/dist/agent-farm/utils/config.d.ts.map +1 -1
  107. package/dist/agent-farm/utils/config.js +12 -44
  108. package/dist/agent-farm/utils/config.js.map +1 -1
  109. package/dist/agent-farm/utils/deps.d.ts.map +1 -1
  110. package/dist/agent-farm/utils/deps.js +0 -32
  111. package/dist/agent-farm/utils/deps.js.map +1 -1
  112. package/dist/agent-farm/utils/file-tabs.d.ts +27 -0
  113. package/dist/agent-farm/utils/file-tabs.d.ts.map +1 -0
  114. package/dist/agent-farm/utils/file-tabs.js +46 -0
  115. package/dist/agent-farm/utils/file-tabs.js.map +1 -0
  116. package/dist/agent-farm/utils/gate-status.d.ts +16 -0
  117. package/dist/agent-farm/utils/gate-status.d.ts.map +1 -0
  118. package/dist/agent-farm/utils/gate-status.js +79 -0
  119. package/dist/agent-farm/utils/gate-status.js.map +1 -0
  120. package/dist/agent-farm/utils/gate-watcher.d.ts +38 -0
  121. package/dist/agent-farm/utils/gate-watcher.d.ts.map +1 -0
  122. package/dist/agent-farm/utils/gate-watcher.js +122 -0
  123. package/dist/agent-farm/utils/gate-watcher.js.map +1 -0
  124. package/dist/agent-farm/utils/index.d.ts +0 -1
  125. package/dist/agent-farm/utils/index.d.ts.map +1 -1
  126. package/dist/agent-farm/utils/index.js +0 -1
  127. package/dist/agent-farm/utils/index.js.map +1 -1
  128. package/dist/agent-farm/utils/notifications.d.ts +30 -0
  129. package/dist/agent-farm/utils/notifications.d.ts.map +1 -0
  130. package/dist/agent-farm/utils/notifications.js +121 -0
  131. package/dist/agent-farm/utils/notifications.js.map +1 -0
  132. package/dist/agent-farm/utils/server-utils.d.ts +5 -5
  133. package/dist/agent-farm/utils/server-utils.d.ts.map +1 -1
  134. package/dist/agent-farm/utils/server-utils.js +5 -16
  135. package/dist/agent-farm/utils/server-utils.js.map +1 -1
  136. package/dist/agent-farm/utils/session.d.ts +32 -0
  137. package/dist/agent-farm/utils/session.d.ts.map +1 -0
  138. package/dist/agent-farm/utils/session.js +57 -0
  139. package/dist/agent-farm/utils/session.js.map +1 -0
  140. package/dist/agent-farm/utils/shell.d.ts +9 -22
  141. package/dist/agent-farm/utils/shell.d.ts.map +1 -1
  142. package/dist/agent-farm/utils/shell.js +34 -34
  143. package/dist/agent-farm/utils/shell.js.map +1 -1
  144. package/dist/cli.d.ts.map +1 -1
  145. package/dist/cli.js +11 -54
  146. package/dist/cli.js.map +1 -1
  147. package/dist/commands/adopt.d.ts.map +1 -1
  148. package/dist/commands/adopt.js +49 -4
  149. package/dist/commands/adopt.js.map +1 -1
  150. package/dist/commands/consult/index.d.ts +13 -2
  151. package/dist/commands/consult/index.d.ts.map +1 -1
  152. package/dist/commands/consult/index.js +245 -29
  153. package/dist/commands/consult/index.js.map +1 -1
  154. package/dist/commands/doctor.d.ts.map +1 -1
  155. package/dist/commands/doctor.js +96 -79
  156. package/dist/commands/doctor.js.map +1 -1
  157. package/dist/commands/init.d.ts.map +1 -1
  158. package/dist/commands/init.js +41 -2
  159. package/dist/commands/init.js.map +1 -1
  160. package/dist/commands/porch/build-counter.d.ts +5 -0
  161. package/dist/commands/porch/build-counter.d.ts.map +1 -0
  162. package/dist/commands/porch/build-counter.js +5 -0
  163. package/dist/commands/porch/build-counter.js.map +1 -0
  164. package/dist/commands/porch/checks.d.ts +17 -29
  165. package/dist/commands/porch/checks.d.ts.map +1 -1
  166. package/dist/commands/porch/checks.js +96 -144
  167. package/dist/commands/porch/checks.js.map +1 -1
  168. package/dist/commands/porch/index.d.ts +25 -43
  169. package/dist/commands/porch/index.d.ts.map +1 -1
  170. package/dist/commands/porch/index.js +463 -1116
  171. package/dist/commands/porch/index.js.map +1 -1
  172. package/dist/commands/porch/next.d.ts +22 -0
  173. package/dist/commands/porch/next.d.ts.map +1 -0
  174. package/dist/commands/porch/next.js +571 -0
  175. package/dist/commands/porch/next.js.map +1 -0
  176. package/dist/commands/porch/plan.d.ts +70 -0
  177. package/dist/commands/porch/plan.d.ts.map +1 -0
  178. package/dist/commands/porch/plan.js +190 -0
  179. package/dist/commands/porch/plan.js.map +1 -0
  180. package/dist/commands/porch/prompts.d.ts +19 -0
  181. package/dist/commands/porch/prompts.d.ts.map +1 -0
  182. package/dist/commands/porch/prompts.js +277 -0
  183. package/dist/commands/porch/prompts.js.map +1 -0
  184. package/dist/commands/porch/protocol.d.ts +59 -0
  185. package/dist/commands/porch/protocol.d.ts.map +1 -0
  186. package/dist/commands/porch/protocol.js +294 -0
  187. package/dist/commands/porch/protocol.js.map +1 -0
  188. package/dist/commands/porch/state.d.ts +36 -107
  189. package/dist/commands/porch/state.d.ts.map +1 -1
  190. package/dist/commands/porch/state.js +120 -699
  191. package/dist/commands/porch/state.js.map +1 -1
  192. package/dist/commands/porch/types.d.ts +99 -164
  193. package/dist/commands/porch/types.d.ts.map +1 -1
  194. package/dist/commands/porch/types.js +2 -1
  195. package/dist/commands/porch/types.js.map +1 -1
  196. package/dist/commands/porch/verdict.d.ts +31 -0
  197. package/dist/commands/porch/verdict.d.ts.map +1 -0
  198. package/dist/commands/porch/verdict.js +59 -0
  199. package/dist/commands/porch/verdict.js.map +1 -0
  200. package/dist/commands/update.d.ts.map +1 -1
  201. package/dist/commands/update.js +31 -0
  202. package/dist/commands/update.js.map +1 -1
  203. package/dist/lib/scaffold.d.ts +37 -0
  204. package/dist/lib/scaffold.d.ts.map +1 -1
  205. package/dist/lib/scaffold.js +114 -0
  206. package/dist/lib/scaffold.js.map +1 -1
  207. package/dist/terminal/index.d.ts +8 -0
  208. package/dist/terminal/index.d.ts.map +1 -0
  209. package/dist/terminal/index.js +5 -0
  210. package/dist/terminal/index.js.map +1 -0
  211. package/dist/terminal/pty-manager.d.ts +69 -0
  212. package/dist/terminal/pty-manager.d.ts.map +1 -0
  213. package/dist/terminal/pty-manager.js +377 -0
  214. package/dist/terminal/pty-manager.js.map +1 -0
  215. package/dist/terminal/pty-session.d.ts +104 -0
  216. package/dist/terminal/pty-session.d.ts.map +1 -0
  217. package/dist/terminal/pty-session.js +327 -0
  218. package/dist/terminal/pty-session.js.map +1 -0
  219. package/dist/terminal/ring-buffer.d.ts +34 -0
  220. package/dist/terminal/ring-buffer.d.ts.map +1 -0
  221. package/dist/terminal/ring-buffer.js +94 -0
  222. package/dist/terminal/ring-buffer.js.map +1 -0
  223. package/dist/terminal/session-manager.d.ts +115 -0
  224. package/dist/terminal/session-manager.d.ts.map +1 -0
  225. package/dist/terminal/session-manager.js +582 -0
  226. package/dist/terminal/session-manager.js.map +1 -0
  227. package/dist/terminal/shepherd-client.d.ts +66 -0
  228. package/dist/terminal/shepherd-client.d.ts.map +1 -0
  229. package/dist/terminal/shepherd-client.js +234 -0
  230. package/dist/terminal/shepherd-client.js.map +1 -0
  231. package/dist/terminal/shepherd-main.d.ts +19 -0
  232. package/dist/terminal/shepherd-main.d.ts.map +1 -0
  233. package/dist/terminal/shepherd-main.js +153 -0
  234. package/dist/terminal/shepherd-main.js.map +1 -0
  235. package/dist/terminal/shepherd-process.d.ts +75 -0
  236. package/dist/terminal/shepherd-process.d.ts.map +1 -0
  237. package/dist/terminal/shepherd-process.js +279 -0
  238. package/dist/terminal/shepherd-process.js.map +1 -0
  239. package/dist/terminal/shepherd-protocol.d.ts +115 -0
  240. package/dist/terminal/shepherd-protocol.d.ts.map +1 -0
  241. package/dist/terminal/shepherd-protocol.js +214 -0
  242. package/dist/terminal/shepherd-protocol.js.map +1 -0
  243. package/dist/terminal/shepherd-replay-buffer.d.ts +38 -0
  244. package/dist/terminal/shepherd-replay-buffer.d.ts.map +1 -0
  245. package/dist/terminal/shepherd-replay-buffer.js +94 -0
  246. package/dist/terminal/shepherd-replay-buffer.js.map +1 -0
  247. package/dist/terminal/ws-protocol.d.ts +27 -0
  248. package/dist/terminal/ws-protocol.d.ts.map +1 -0
  249. package/dist/terminal/ws-protocol.js +44 -0
  250. package/dist/terminal/ws-protocol.js.map +1 -0
  251. package/package.json +19 -5
  252. package/skeleton/.claude/skills/af/SKILL.md +89 -0
  253. package/skeleton/.claude/skills/codev/SKILL.md +41 -0
  254. package/skeleton/.claude/skills/consult/SKILL.md +81 -0
  255. package/skeleton/.claude/skills/generate-image/SKILL.md +56 -0
  256. package/skeleton/DEPENDENCIES.md +4 -62
  257. package/skeleton/builders.md +1 -1
  258. package/skeleton/consult-types/impl-review.md +18 -9
  259. package/skeleton/consult-types/integration-review.md +1 -1
  260. package/skeleton/consult-types/plan-review.md +1 -1
  261. package/skeleton/consult-types/pr-ready.md +1 -1
  262. package/skeleton/consult-types/spec-review.md +1 -1
  263. package/skeleton/porch/prompts/defend.md +1 -1
  264. package/skeleton/porch/prompts/evaluate.md +2 -2
  265. package/skeleton/porch/prompts/implement.md +1 -1
  266. package/skeleton/porch/prompts/plan.md +1 -1
  267. package/skeleton/porch/prompts/review.md +4 -4
  268. package/skeleton/porch/prompts/specify.md +1 -1
  269. package/skeleton/porch/prompts/understand.md +2 -2
  270. package/skeleton/protocol-schema.json +282 -0
  271. package/skeleton/protocols/bugfix/builder-prompt.md +54 -0
  272. package/skeleton/protocols/bugfix/prompts/fix.md +77 -0
  273. package/skeleton/protocols/bugfix/prompts/investigate.md +77 -0
  274. package/skeleton/protocols/bugfix/prompts/pr.md +84 -0
  275. package/skeleton/protocols/bugfix/protocol.json +20 -33
  276. package/skeleton/protocols/experiment/builder-prompt.md +52 -0
  277. package/skeleton/protocols/experiment/protocol.json +101 -0
  278. package/skeleton/protocols/experiment/protocol.md +3 -3
  279. package/skeleton/protocols/experiment/templates/notes.md +1 -1
  280. package/skeleton/protocols/maintain/builder-prompt.md +46 -0
  281. package/skeleton/protocols/maintain/prompts/audit.md +111 -0
  282. package/skeleton/protocols/maintain/prompts/clean.md +91 -0
  283. package/skeleton/protocols/maintain/prompts/sync.md +113 -0
  284. package/skeleton/protocols/maintain/prompts/verify.md +110 -0
  285. package/skeleton/protocols/maintain/protocol.json +141 -0
  286. package/skeleton/protocols/maintain/protocol.md +17 -11
  287. package/skeleton/protocols/protocol-schema.json +54 -1
  288. package/skeleton/protocols/spir/builder-prompt.md +59 -0
  289. package/skeleton/protocols/spir/prompts/implement.md +208 -0
  290. package/skeleton/protocols/{spider → spir}/prompts/plan.md +6 -70
  291. package/skeleton/protocols/{spider → spir}/prompts/review.md +20 -39
  292. package/skeleton/protocols/{spider → spir}/prompts/specify.md +33 -61
  293. package/skeleton/protocols/spir/protocol.json +156 -0
  294. package/skeleton/protocols/{spider → spir}/protocol.md +35 -21
  295. package/skeleton/protocols/{spider → spir}/templates/plan.md +14 -0
  296. package/skeleton/protocols/spir/templates/review.md +89 -0
  297. package/skeleton/protocols/tick/builder-prompt.md +56 -0
  298. package/skeleton/protocols/tick/protocol.json +7 -2
  299. package/skeleton/protocols/tick/protocol.md +18 -18
  300. package/skeleton/protocols/tick/templates/review.md +1 -1
  301. package/skeleton/resources/commands/agent-farm.md +63 -46
  302. package/skeleton/resources/commands/codev.md +0 -2
  303. package/skeleton/resources/commands/overview.md +7 -17
  304. package/skeleton/resources/workflow-reference.md +4 -4
  305. package/skeleton/roles/architect.md +152 -315
  306. package/skeleton/roles/builder.md +110 -218
  307. package/skeleton/roles/consultant.md +6 -6
  308. package/skeleton/templates/AGENTS.md +2 -2
  309. package/skeleton/templates/CLAUDE.md +2 -2
  310. package/skeleton/templates/cheatsheet.md +7 -5
  311. package/skeleton/templates/projectlist.md +1 -1
  312. package/templates/dashboard/index.html +17 -43
  313. package/templates/dashboard/js/dialogs.js +7 -7
  314. package/templates/dashboard/js/files.js +2 -2
  315. package/templates/dashboard/js/main.js +4 -4
  316. package/templates/dashboard/js/projects.js +3 -3
  317. package/templates/dashboard/js/tabs.js +1 -1
  318. package/templates/dashboard/js/utils.js +22 -87
  319. package/templates/open.html +26 -0
  320. package/templates/tower.html +642 -36
  321. package/dist/agent-farm/commands/kickoff.d.ts +0 -20
  322. package/dist/agent-farm/commands/kickoff.d.ts.map +0 -1
  323. package/dist/agent-farm/commands/kickoff.js +0 -337
  324. package/dist/agent-farm/commands/kickoff.js.map +0 -1
  325. package/dist/agent-farm/commands/rename.d.ts +0 -13
  326. package/dist/agent-farm/commands/rename.d.ts.map +0 -1
  327. package/dist/agent-farm/commands/rename.js +0 -33
  328. package/dist/agent-farm/commands/rename.js.map +0 -1
  329. package/dist/agent-farm/commands/tutorial.d.ts +0 -10
  330. package/dist/agent-farm/commands/tutorial.d.ts.map +0 -1
  331. package/dist/agent-farm/commands/tutorial.js +0 -49
  332. package/dist/agent-farm/commands/tutorial.js.map +0 -1
  333. package/dist/agent-farm/commands/util.d.ts +0 -15
  334. package/dist/agent-farm/commands/util.d.ts.map +0 -1
  335. package/dist/agent-farm/commands/util.js +0 -108
  336. package/dist/agent-farm/commands/util.js.map +0 -1
  337. package/dist/agent-farm/servers/dashboard-server.d.ts +0 -7
  338. package/dist/agent-farm/servers/dashboard-server.d.ts.map +0 -1
  339. package/dist/agent-farm/servers/dashboard-server.js +0 -1872
  340. package/dist/agent-farm/servers/dashboard-server.js.map +0 -1
  341. package/dist/agent-farm/servers/open-server.d.ts +0 -7
  342. package/dist/agent-farm/servers/open-server.d.ts.map +0 -1
  343. package/dist/agent-farm/servers/open-server.js +0 -315
  344. package/dist/agent-farm/servers/open-server.js.map +0 -1
  345. package/dist/agent-farm/tutorial/index.d.ts +0 -8
  346. package/dist/agent-farm/tutorial/index.d.ts.map +0 -1
  347. package/dist/agent-farm/tutorial/index.js +0 -8
  348. package/dist/agent-farm/tutorial/index.js.map +0 -1
  349. package/dist/agent-farm/tutorial/prompts.d.ts +0 -57
  350. package/dist/agent-farm/tutorial/prompts.d.ts.map +0 -1
  351. package/dist/agent-farm/tutorial/prompts.js +0 -147
  352. package/dist/agent-farm/tutorial/prompts.js.map +0 -1
  353. package/dist/agent-farm/tutorial/runner.d.ts +0 -52
  354. package/dist/agent-farm/tutorial/runner.d.ts.map +0 -1
  355. package/dist/agent-farm/tutorial/runner.js +0 -204
  356. package/dist/agent-farm/tutorial/runner.js.map +0 -1
  357. package/dist/agent-farm/tutorial/state.d.ts +0 -26
  358. package/dist/agent-farm/tutorial/state.d.ts.map +0 -1
  359. package/dist/agent-farm/tutorial/state.js +0 -89
  360. package/dist/agent-farm/tutorial/state.js.map +0 -1
  361. package/dist/agent-farm/tutorial/steps/first-spec.d.ts +0 -7
  362. package/dist/agent-farm/tutorial/steps/first-spec.d.ts.map +0 -1
  363. package/dist/agent-farm/tutorial/steps/first-spec.js +0 -136
  364. package/dist/agent-farm/tutorial/steps/first-spec.js.map +0 -1
  365. package/dist/agent-farm/tutorial/steps/implementation.d.ts +0 -7
  366. package/dist/agent-farm/tutorial/steps/implementation.d.ts.map +0 -1
  367. package/dist/agent-farm/tutorial/steps/implementation.js +0 -76
  368. package/dist/agent-farm/tutorial/steps/implementation.js.map +0 -1
  369. package/dist/agent-farm/tutorial/steps/index.d.ts +0 -10
  370. package/dist/agent-farm/tutorial/steps/index.d.ts.map +0 -1
  371. package/dist/agent-farm/tutorial/steps/index.js +0 -10
  372. package/dist/agent-farm/tutorial/steps/index.js.map +0 -1
  373. package/dist/agent-farm/tutorial/steps/planning.d.ts +0 -7
  374. package/dist/agent-farm/tutorial/steps/planning.d.ts.map +0 -1
  375. package/dist/agent-farm/tutorial/steps/planning.js +0 -143
  376. package/dist/agent-farm/tutorial/steps/planning.js.map +0 -1
  377. package/dist/agent-farm/tutorial/steps/review.d.ts +0 -7
  378. package/dist/agent-farm/tutorial/steps/review.d.ts.map +0 -1
  379. package/dist/agent-farm/tutorial/steps/review.js +0 -78
  380. package/dist/agent-farm/tutorial/steps/review.js.map +0 -1
  381. package/dist/agent-farm/tutorial/steps/setup.d.ts +0 -7
  382. package/dist/agent-farm/tutorial/steps/setup.d.ts.map +0 -1
  383. package/dist/agent-farm/tutorial/steps/setup.js +0 -126
  384. package/dist/agent-farm/tutorial/steps/setup.js.map +0 -1
  385. package/dist/agent-farm/tutorial/steps/welcome.d.ts +0 -7
  386. package/dist/agent-farm/tutorial/steps/welcome.d.ts.map +0 -1
  387. package/dist/agent-farm/tutorial/steps/welcome.js +0 -50
  388. package/dist/agent-farm/tutorial/steps/welcome.js.map +0 -1
  389. package/dist/agent-farm/utils/orphan-handler.d.ts +0 -27
  390. package/dist/agent-farm/utils/orphan-handler.d.ts.map +0 -1
  391. package/dist/agent-farm/utils/orphan-handler.js +0 -149
  392. package/dist/agent-farm/utils/orphan-handler.js.map +0 -1
  393. package/dist/agent-farm/utils/port-registry.d.ts +0 -58
  394. package/dist/agent-farm/utils/port-registry.d.ts.map +0 -1
  395. package/dist/agent-farm/utils/port-registry.js +0 -166
  396. package/dist/agent-farm/utils/port-registry.js.map +0 -1
  397. package/dist/agent-farm/utils/terminal-ports.d.ts +0 -18
  398. package/dist/agent-farm/utils/terminal-ports.d.ts.map +0 -1
  399. package/dist/agent-farm/utils/terminal-ports.js +0 -35
  400. package/dist/agent-farm/utils/terminal-ports.js.map +0 -1
  401. package/dist/commands/pcheck/cache.d.ts +0 -48
  402. package/dist/commands/pcheck/cache.d.ts.map +0 -1
  403. package/dist/commands/pcheck/cache.js +0 -170
  404. package/dist/commands/pcheck/cache.js.map +0 -1
  405. package/dist/commands/pcheck/evaluator.d.ts +0 -15
  406. package/dist/commands/pcheck/evaluator.d.ts.map +0 -1
  407. package/dist/commands/pcheck/evaluator.js +0 -246
  408. package/dist/commands/pcheck/evaluator.js.map +0 -1
  409. package/dist/commands/pcheck/index.d.ts +0 -12
  410. package/dist/commands/pcheck/index.d.ts.map +0 -1
  411. package/dist/commands/pcheck/index.js +0 -249
  412. package/dist/commands/pcheck/index.js.map +0 -1
  413. package/dist/commands/pcheck/parser.d.ts +0 -39
  414. package/dist/commands/pcheck/parser.d.ts.map +0 -1
  415. package/dist/commands/pcheck/parser.js +0 -155
  416. package/dist/commands/pcheck/parser.js.map +0 -1
  417. package/dist/commands/pcheck/types.d.ts +0 -82
  418. package/dist/commands/pcheck/types.d.ts.map +0 -1
  419. package/dist/commands/pcheck/types.js +0 -5
  420. package/dist/commands/pcheck/types.js.map +0 -1
  421. package/dist/commands/porch/consultation.d.ts +0 -56
  422. package/dist/commands/porch/consultation.d.ts.map +0 -1
  423. package/dist/commands/porch/consultation.js +0 -330
  424. package/dist/commands/porch/consultation.js.map +0 -1
  425. package/dist/commands/porch/notifications.d.ts +0 -99
  426. package/dist/commands/porch/notifications.d.ts.map +0 -1
  427. package/dist/commands/porch/notifications.js +0 -223
  428. package/dist/commands/porch/notifications.js.map +0 -1
  429. package/dist/commands/porch/plan-parser.d.ts +0 -38
  430. package/dist/commands/porch/plan-parser.d.ts.map +0 -1
  431. package/dist/commands/porch/plan-parser.js +0 -166
  432. package/dist/commands/porch/plan-parser.js.map +0 -1
  433. package/dist/commands/porch/protocol-loader.d.ts +0 -46
  434. package/dist/commands/porch/protocol-loader.d.ts.map +0 -1
  435. package/dist/commands/porch/protocol-loader.js +0 -253
  436. package/dist/commands/porch/protocol-loader.js.map +0 -1
  437. package/dist/commands/porch/signal-parser.d.ts +0 -88
  438. package/dist/commands/porch/signal-parser.d.ts.map +0 -1
  439. package/dist/commands/porch/signal-parser.js +0 -148
  440. package/dist/commands/porch/signal-parser.js.map +0 -1
  441. package/dist/commands/tower.d.ts +0 -16
  442. package/dist/commands/tower.d.ts.map +0 -1
  443. package/dist/commands/tower.js +0 -21
  444. package/dist/commands/tower.js.map +0 -1
  445. package/skeleton/config.json +0 -7
  446. package/skeleton/porch/protocols/bugfix.json +0 -85
  447. package/skeleton/porch/protocols/spider.json +0 -135
  448. package/skeleton/porch/protocols/tick.json +0 -76
  449. package/skeleton/protocols/spider/prompts/defend.md +0 -215
  450. package/skeleton/protocols/spider/prompts/evaluate.md +0 -241
  451. package/skeleton/protocols/spider/prompts/implement.md +0 -149
  452. package/skeleton/protocols/spider/protocol.json +0 -210
  453. package/skeleton/protocols/spider/templates/review.md +0 -207
  454. package/templates/dashboard/css/activity.css +0 -151
  455. package/templates/dashboard/js/activity.js +0 -112
  456. /package/skeleton/protocols/{spider → spir}/templates/spec.md +0 -0
@@ -0,0 +1,208 @@
1
+ # IMPLEMENT Phase Prompt
2
+
3
+ You are executing the **IMPLEMENT** phase of the SPIR protocol.
4
+
5
+ ## Your Goal
6
+
7
+ Write clean, well-structured code AND tests that implement the current plan phase.
8
+
9
+ ## Context
10
+
11
+ - **Project ID**: {{project_id}}
12
+ - **Project Title**: {{title}}
13
+ - **Current State**: {{current_state}}
14
+ - **Plan Phase**: {{plan_phase_id}} - {{plan_phase_title}}
15
+
16
+ ## ⚠️ SCOPE RESTRICTION — READ THIS FIRST
17
+
18
+ **You are implementing ONLY the current plan phase: {{plan_phase_id}} ({{plan_phase_title}}).**
19
+
20
+ - **DO NOT** implement other phases. Other phases will be handled in subsequent porch iterations.
21
+ - **DO NOT** read the full plan file and implement everything you see.
22
+ - The plan phase details are included below under "Current Plan Phase Details". That is your ONLY scope.
23
+ - If you need to reference the spec for requirements, read `codev/specs/{{project_id}}-*.md` but ONLY implement what the current phase requires.
24
+
25
+ ## What Happens After You Finish
26
+
27
+ When you signal `PHASE_COMPLETE`, porch will:
28
+ 1. Run 3-way consultation (Gemini, Codex, Claude) on your implementation
29
+ 2. Check that tests exist and pass
30
+ 3. If reviewers request changes, you'll be respawned with their feedback
31
+ 4. Once approved, porch commits and moves to the next plan phase
32
+
33
+ ## Spec Compliance (CRITICAL)
34
+
35
+ **The spec is the source of truth. Code that doesn't match the spec is wrong, even if it "works".**
36
+
37
+ ### Trust Hierarchy
38
+
39
+ ```
40
+ SPEC (source of truth)
41
+
42
+ PLAN (implementation guide derived from spec)
43
+
44
+ EXISTING CODE (NOT TRUSTED - must be validated against spec)
45
+ ```
46
+
47
+ **Never trust existing code over the spec.** Previous implementations may have drifted.
48
+
49
+ ### Pre-Implementation Sanity Check (PISC)
50
+
51
+ **Before writing ANY code:**
52
+
53
+ 1. ✅ "Have I read the spec in the last 30 minutes?"
54
+ 2. ✅ "If the spec has a 'Traps to Avoid' section, have I read it?"
55
+ 3. ✅ "Does my approach match the spec's Technical Implementation section?"
56
+ 4. ✅ "If the spec has code examples, am I following them?"
57
+ 5. ✅ "Does the existing code I'm building on actually match the spec?"
58
+
59
+ **If ANY answer is "no" or "unsure" → STOP and re-read the spec.**
60
+
61
+ ### Avoiding "Fixing Mode"
62
+
63
+ A dangerous pattern: You start looking at symptoms in code, making incremental fixes, copying existing patterns - without going back to the spec. This leads to:
64
+ - Cargo-culting patterns that may be wrong
65
+ - Building on broken foundations
66
+ - Implementing something different from the spec
67
+
68
+ **When you catch yourself "fixing" code:**
69
+ 1. STOP
70
+ 2. Ask: "What does the spec say about this?"
71
+ 3. Re-read the spec's Traps to Avoid section
72
+ 4. Verify existing code matches the spec before building on it
73
+
74
+ ## Prerequisites
75
+
76
+ Before implementing, verify:
77
+ 1. Previous phase (if any) is committed to git
78
+ 2. You've read the plan phase you're implementing
79
+ 3. You understand the success criteria for this phase
80
+ 4. Dependencies from earlier phases are available
81
+
82
+ ## Process
83
+
84
+ ### 1. Review the Plan Phase
85
+
86
+ Read the current phase in the plan:
87
+ - What is the objective?
88
+ - What files need to be created/modified?
89
+ - What are the success criteria?
90
+ - What dependencies exist?
91
+
92
+ ### 2. Set Up
93
+
94
+ - Verify you're on the correct branch
95
+ - Check that previous phase is committed: `git log --oneline -5`
96
+ - Ensure build passes before starting: `npm run build` (or equivalent)
97
+
98
+ ### 3. Implement the Code
99
+
100
+ Write the code following these principles:
101
+
102
+ **Code Quality Standards**:
103
+ - Self-documenting code (clear names, obvious structure)
104
+ - No commented-out code
105
+ - No debug prints in final code
106
+ - Explicit error handling
107
+ - Follow project style guide
108
+
109
+ **Implementation Approach**:
110
+ - Work on one file at a time
111
+ - Make small, incremental changes
112
+ - Document complex logic with comments
113
+
114
+ ### 4. Write Tests
115
+
116
+ **Tests are required.** For each piece of functionality you implement:
117
+
118
+ - Write unit tests for core logic
119
+ - Write integration tests if the phase involves multiple components
120
+ - Test error cases and edge conditions
121
+ - Ensure tests are deterministic (no flaky tests)
122
+
123
+ **Test file locations** (follow project conventions):
124
+ - `tests/` or `__tests__/` directories
125
+ - `*.test.ts` or `*.spec.ts` naming
126
+
127
+ ### 5. Verify Everything Works
128
+
129
+ Run both build and tests:
130
+
131
+ ```bash
132
+ npm run build # Must pass
133
+ npm test # Must pass
134
+ ```
135
+
136
+ **Important**: Don't assume these commands exist. Check `package.json` first.
137
+
138
+ Fix any errors before signaling completion.
139
+
140
+ ### 6. Self-Review
141
+
142
+ Before signaling completion:
143
+ - Read through all code changes
144
+ - Read through all test changes
145
+ - Verify code matches the spec requirements
146
+ - Ensure no accidental debug code
147
+ - Check test coverage is adequate
148
+
149
+ ## Output
150
+
151
+ When complete, you should have:
152
+ - Modified/created source files as specified in the plan phase
153
+ - Tests covering the new functionality
154
+ - All build checks passing
155
+ - All tests passing
156
+
157
+ ## Signals
158
+
159
+ When implementation AND tests are complete and passing:
160
+
161
+ ```
162
+ <signal>PHASE_COMPLETE</signal>
163
+ ```
164
+
165
+ If you encounter a blocker:
166
+
167
+ ```
168
+ <signal>BLOCKED:reason goes here</signal>
169
+ ```
170
+
171
+ If you need spec/plan clarification:
172
+
173
+ ```
174
+ <signal type=AWAITING_INPUT>
175
+ Your specific questions here
176
+ </signal>
177
+ ```
178
+
179
+ ## Important Notes
180
+
181
+ 1. **Follow the plan** - Implement what's specified, not more
182
+ 2. **Don't over-engineer** - Simplest solution that works
183
+ 3. **Don't skip error handling** - But don't go overboard either
184
+ 4. **Keep changes focused** - Only touch files in this phase
185
+ 5. **Build AND tests must pass** - Don't signal complete until both pass
186
+ 6. **Write tests** - Every implementation phase needs tests
187
+
188
+ ## What NOT to Do
189
+
190
+ - Don't modify files outside this phase's scope
191
+ - Don't add features not in the spec
192
+ - Don't leave TODO comments for later (fix now or note as blocker)
193
+ - Don't skip writing tests
194
+ - Don't use `git add .` or `git add -A` when you commit (security risk)
195
+
196
+ ## Handling Problems
197
+
198
+ **If the plan is unclear**:
199
+ Signal `AWAITING_INPUT` with your specific question.
200
+
201
+ **If you discover the spec is wrong**:
202
+ Signal `BLOCKED` and explain the issue. The Architect may need to update the spec.
203
+
204
+ **If a dependency is missing**:
205
+ Signal `BLOCKED` with details about what's missing.
206
+
207
+ **If build or tests fail and you can't fix it**:
208
+ Signal `BLOCKED` with the error message.
@@ -1,6 +1,6 @@
1
1
  # PLAN Phase Prompt
2
2
 
3
- You are executing the **PLAN** phase of the SPIDER protocol.
3
+ You are executing the **PLAN** phase of the SPIR protocol.
4
4
 
5
5
  ## Your Goal
6
6
 
@@ -14,10 +14,6 @@ Transform the approved specification into an executable implementation plan with
14
14
  - **Spec File**: `codev/specs/{{project_id}}-{{title}}.md`
15
15
  - **Plan File**: `codev/plans/{{project_id}}-{{title}}.md`
16
16
 
17
- ## CRITICAL: Multi-Agent Consultation is MANDATORY
18
-
19
- The SPIDER protocol **requires** consultation with GPT-5 Codex AND Gemini Pro at specific checkpoints. This is BLOCKING - you cannot proceed without completing consultations.
20
-
21
17
  ## Prerequisites
22
18
 
23
19
  Before planning, verify:
@@ -72,51 +68,15 @@ Phase 3: API Endpoints (depends on Phase 2)
72
68
  Phase 4: Frontend Integration (depends on Phase 3)
73
69
  ```
74
70
 
75
- ### 5. MANDATORY: First Consultation (After Draft)
76
-
77
- After completing the initial plan draft:
78
-
79
- ```bash
80
- # Run consultations in parallel (REQUIRED)
81
- consult --model gemini plan {{project_id}} &
82
- consult --model codex plan {{project_id}} &
83
- wait
84
- ```
85
-
86
- - Review ALL feedback from both models
87
- - Update the plan with incorporated feedback
88
- - Add a **Consultation Log** section documenting:
89
- - Key feedback received
90
- - Changes made in response
91
- - Any feedback intentionally not incorporated (with reasoning)
92
-
93
- ### 6. Human Review
94
-
95
- After consultation feedback is incorporated:
96
- - Present the plan for human review
97
- - Wait for approval or change requests
98
- - If changes requested, make them and proceed to Step 7
99
-
100
- ### 7. MANDATORY: Second Consultation (After Human Feedback)
101
-
102
- After incorporating human feedback:
71
+ ### 5. Finalize
103
72
 
104
- ```bash
105
- # Run consultations again (REQUIRED)
106
- consult --model gemini plan {{project_id}} &
107
- consult --model codex plan {{project_id}} &
108
- wait
109
- ```
110
-
111
- - Update Consultation Log with new feedback
112
- - Incorporate changes
113
- - Prepare final plan for approval
73
+ After completing the plan draft, signal completion. Porch will run 3-way consultation (Gemini, Codex, Claude) automatically via the verify step. If reviewers request changes, you'll be respawned with their feedback.
114
74
 
115
75
  ## Output
116
76
 
117
77
  Create the plan file at `codev/plans/{{project_id}}-{{title}}.md`.
118
78
 
119
- Use the plan template from `codev/protocols/spider/templates/plan.md` if available.
79
+ Use the plan template from `codev/protocols/spir/templates/plan.md` if available.
120
80
 
121
81
  ### Plan Structure
122
82
 
@@ -148,18 +108,6 @@ Brief summary of what will be implemented.
148
108
  - [Risk 1]: [Mitigation]
149
109
  - [Risk 2]: [Mitigation]
150
110
 
151
- ## Consultation Log
152
-
153
- ### First Consultation (After Draft)
154
- - **Gemini Feedback**: [Summary]
155
- - **Codex Feedback**: [Summary]
156
- - **Changes Made**: [List]
157
- - **Not Incorporated**: [List with reasons]
158
-
159
- ### Second Consultation (After Human Feedback)
160
- - **Gemini Feedback**: [Summary]
161
- - **Codex Feedback**: [Summary]
162
- - **Changes Made**: [List]
163
111
  ```
164
112
 
165
113
  ## Signals
@@ -171,16 +119,6 @@ Emit appropriate signals based on your progress:
171
119
  <signal>PLAN_DRAFTED</signal>
172
120
  ```
173
121
 
174
- - After incorporating consultation feedback:
175
- ```
176
- <signal>CONSULTATION_INCORPORATED</signal>
177
- ```
178
-
179
- - After final plan is ready for human approval:
180
- ```
181
- <signal>PLAN_READY_FOR_APPROVAL</signal>
182
- ```
183
-
184
122
  ## Commit Cadence
185
123
 
186
124
  Make commits at these milestones:
@@ -196,16 +134,14 @@ git add codev/plans/{{project_id}}-{{title}}.md
196
134
 
197
135
  ## Important Notes
198
136
 
199
- 1. **Consultation is MANDATORY** - Cannot skip GPT-5 + Gemini reviews
200
- 2. **No time estimates** - Don't include hours/days/weeks
137
+ 1. **No time estimates** - Don't include hours/days/weeks
201
138
  3. **Be specific about files** - Exact paths, not "the config file"
202
139
  4. **Keep phases small** - 1-3 files per phase is ideal
203
140
  5. **Document dependencies clearly** - Prevents blocked work
204
- 6. **Document consultations** - Maintain the Consultation Log section
205
141
 
206
142
  ## What NOT to Do
207
143
 
208
- - Don't skip consultations (they are BLOCKING)
144
+ - Don't run `consult` commands yourself (porch handles consultations)
209
145
  - Don't write code (that's for Implement phase)
210
146
  - Don't estimate time (meaningless in AI development)
211
147
  - Don't create phases that can't be independently tested
@@ -1,14 +1,10 @@
1
1
  # REVIEW Phase Prompt
2
2
 
3
- You are executing the **REVIEW** phase of the SPIDER protocol.
3
+ You are executing the **REVIEW** phase of the SPIR protocol.
4
4
 
5
5
  ## Your Goal
6
6
 
7
- Perform a comprehensive review, document lessons learned, run final consultation, and prepare for PR submission.
8
-
9
- ## CRITICAL: Final Consultation Before PR
10
-
11
- The SPIDER protocol **requires** a final consultation with GPT-5 Codex AND Gemini Pro before submitting the PR. This ensures the complete implementation is reviewed.
7
+ Perform a comprehensive review, document lessons learned, and prepare for PR submission.
12
8
 
13
9
  ## Context
14
10
 
@@ -92,7 +88,7 @@ Brief description of what was implemented.
92
88
  - [Insight 2]
93
89
 
94
90
  ### Methodology Improvements
95
- - [Suggested improvement to SPIDER protocol]
91
+ - [Suggested improvement to SPIR protocol]
96
92
  - [Suggested improvement to tooling]
97
93
 
98
94
  ## Technical Debt
@@ -118,29 +114,14 @@ Before PR:
118
114
  - [ ] No uncommitted changes: `git status`
119
115
  - [ ] Review document complete
120
116
 
121
- ### 6. MANDATORY: Final Consultation (PR-Ready Review)
117
+ ### 6. Create Pull Request
122
118
 
123
- **Before creating the PR, run final consultation:**
119
+ **IMPORTANT: Create the PR BEFORE signaling completion.** The PR must exist so that
120
+ porch consultation reviews the actual PR, and the architect can review a real PR
121
+ when the pr-ready gate fires.
124
122
 
125
123
  ```bash
126
- # Run consultations in parallel (REQUIRED)
127
- consult --model gemini --type pr-ready spec {{project_id}} &
128
- consult --model codex --type pr-ready spec {{project_id}} &
129
- wait
130
- ```
131
-
132
- - Review ALL feedback from both models
133
- - Address any final issues identified
134
- - This is the last chance to catch problems before PR
135
-
136
- ### 7. Create Pull Request
137
-
138
- Prepare PR with:
139
-
140
- **Title**: `[Spec {{project_id}}] {{title}}`
141
-
142
- **Body**:
143
- ```markdown
124
+ gh pr create --title "[Spec {{project_id}}] {{title}}" --body "$(cat <<'EOF'
144
125
  ## Summary
145
126
  [Brief description of the implementation]
146
127
 
@@ -158,37 +139,37 @@ Link: codev/specs/{{project_id}}-{{title}}.md
158
139
 
159
140
  ## Review
160
141
  Link: codev/reviews/{{project_id}}-{{title}}.md
142
+ EOF
143
+ )"
161
144
  ```
162
145
 
146
+ ### 7. Signal Completion
147
+
148
+ After the PR is created, signal completion. Porch will run 3-way consultation
149
+ (Gemini, Codex, Claude) automatically via the verify step. If reviewers request
150
+ changes, you'll be respawned with their feedback.
151
+
163
152
  ## Output
164
153
 
165
154
  - Review document at `codev/reviews/{{project_id}}-{{title}}.md`
166
155
  - Updated documentation (if needed)
167
- - Pull request ready for submission
156
+ - Pull request created and ready for review
168
157
 
169
158
  ## Signals
170
159
 
171
- Emit appropriate signals based on your progress:
172
-
173
160
  - After review document is complete:
174
161
  ```
175
162
  <signal>REVIEW_COMPLETE</signal>
176
163
  ```
177
164
 
178
- - After PR is created:
179
- ```
180
- <signal>PR_CREATED</signal>
181
- ```
182
-
183
- - When ready for Architect review:
165
+ - After PR is created — signal completion so porch runs consultation:
184
166
  ```
185
167
  <signal>PR_READY</signal>
186
168
  ```
187
169
 
188
170
  ## Important Notes
189
171
 
190
- 1. **Final consultation is MANDATORY** - Cannot skip GPT-5 + Gemini reviews before PR
191
- 2. **Be honest in lessons learned** - Future you will thank present you
172
+ 1. **Be honest in lessons learned** - Future you will thank present you
192
173
  3. **Document deviations** - They're not failures, they're learnings
193
174
  4. **Update methodology** - If you found a better way, document it
194
175
  5. **Don't skip the checklist** - It catches last-minute issues
@@ -196,7 +177,7 @@ Emit appropriate signals based on your progress:
196
177
 
197
178
  ## What NOT to Do
198
179
 
199
- - Don't skip final consultation (it's BLOCKING)
180
+ - Don't run `consult` commands yourself (porch handles consultations)
200
181
  - Don't skip lessons learned ("nothing to report")
201
182
  - Don't merge your own PR (Architect handles integration)
202
183
  - Don't leave uncommitted changes
@@ -1,6 +1,6 @@
1
1
  # SPECIFY Phase Prompt
2
2
 
3
- You are executing the **SPECIFY** phase of the SPIDER protocol.
3
+ You are executing the **SPECIFY** phase of the SPIR protocol.
4
4
 
5
5
  ## Your Goal
6
6
 
@@ -13,13 +13,25 @@ Create a comprehensive specification document that thoroughly explores the probl
13
13
  - **Current State**: {{current_state}}
14
14
  - **Spec File**: `codev/specs/{{project_id}}-{{title}}.md`
15
15
 
16
- ## CRITICAL: Multi-Agent Consultation is MANDATORY
16
+ ## Process
17
17
 
18
- The SPIDER protocol **requires** consultation with GPT-5 Codex AND Gemini Pro at specific checkpoints. This is BLOCKING - you cannot proceed without completing consultations.
18
+ ### 0. Check for Existing Spec (ALWAYS DO THIS FIRST)
19
19
 
20
- ## Process
20
+ **Before asking ANY questions**, check if a spec already exists:
21
+
22
+ ```bash
23
+ ls codev/specs/{{project_id}}-*.md
24
+ ```
25
+
26
+ **If a spec file exists:**
27
+ 1. READ IT COMPLETELY - the answers to your questions are already there
28
+ 2. The spec author has already made the key decisions
29
+ 3. DO NOT ask clarifying questions - proceed directly to consultation
30
+ 4. Your job is to REVIEW and IMPROVE the existing spec, not rewrite it from scratch
31
+
32
+ **If no spec exists:** Proceed to Step 1 below.
21
33
 
22
- ### 1. Clarifying Questions (ALWAYS START HERE)
34
+ ### 1. Clarifying Questions (ONLY IF NO SPEC EXISTS)
23
35
 
24
36
  Before writing anything, ask clarifying questions to understand:
25
37
  - What problem is being solved?
@@ -28,7 +40,9 @@ Before writing anything, ask clarifying questions to understand:
28
40
  - What's in scope vs out of scope?
29
41
  - What does success look like?
30
42
 
31
- If this is your first iteration, ask these questions now and wait for answers.
43
+ If this is your first iteration AND no spec exists, ask these questions now and wait for answers.
44
+
45
+ **CRITICAL**: Do NOT ask questions if a spec already exists. The spec IS the answer.
32
46
 
33
47
  **On subsequent iterations**: If questions were already answered, acknowledge the answers and proceed to the next step.
34
48
 
@@ -62,45 +76,9 @@ Define measurable acceptance criteria:
62
76
  - Non-functional requirements (performance, security)
63
77
  - Test scenarios
64
78
 
65
- ### 6. MANDATORY: First Consultation (After Draft)
66
-
67
- After completing the initial spec draft:
68
-
69
- ```bash
70
- # Run consultations in parallel (REQUIRED)
71
- consult --model gemini spec {{project_id}} &
72
- consult --model codex spec {{project_id}} &
73
- wait
74
- ```
75
-
76
- - Review ALL feedback from both models
77
- - Update the spec with incorporated feedback
78
- - Add a **Consultation Log** section documenting:
79
- - Key feedback received
80
- - Changes made in response
81
- - Any feedback intentionally not incorporated (with reasoning)
82
-
83
- ### 7. Human Review
79
+ ### 6. Finalize
84
80
 
85
- After consultation feedback is incorporated:
86
- - Present the spec for human review
87
- - Wait for approval or change requests
88
- - If changes requested, make them and proceed to Step 8
89
-
90
- ### 8. MANDATORY: Second Consultation (After Human Feedback)
91
-
92
- After incorporating human feedback:
93
-
94
- ```bash
95
- # Run consultations again (REQUIRED)
96
- consult --model gemini spec {{project_id}} &
97
- consult --model codex spec {{project_id}} &
98
- wait
99
- ```
100
-
101
- - Update Consultation Log with new feedback
102
- - Incorporate changes
103
- - Prepare final spec for approval
81
+ After completing the spec draft, signal completion. Porch will run 3-way consultation (Gemini, Codex, Claude) automatically via the verify step. If reviewers request changes, you'll be respawned with their feedback.
104
82
 
105
83
  ## Output
106
84
 
@@ -111,31 +89,27 @@ Create or update the specification file at `codev/specs/{{project_id}}-{{title}}
111
89
  - Plan: `codev/plans/{{project_id}}-{{title}}.md`
112
90
  - Review: `codev/reviews/{{project_id}}-{{title}}.md`
113
91
 
114
- Include a **Consultation Log** section in the spec documenting all consultation feedback.
115
-
116
92
  ## Signals
117
93
 
118
94
  Emit appropriate signals based on your progress:
119
95
 
120
- - When waiting for clarifying question answers:
96
+ - When waiting for clarifying question answers, **include your questions in the signal**:
121
97
  ```
122
- <signal>AWAITING_INPUT</signal>
98
+ <signal type=AWAITING_INPUT>
99
+ Please answer these questions:
100
+ 1. What should the primary use case be - internal tooling or customer-facing?
101
+ 2. What are the key constraints we should consider?
102
+ 3. Who are the main stakeholders?
103
+ </signal>
123
104
  ```
124
105
 
106
+ The content inside the signal tag is displayed prominently to the user.
107
+
125
108
  - After completing the initial spec draft:
126
109
  ```
127
110
  <signal>SPEC_DRAFTED</signal>
128
111
  ```
129
112
 
130
- - After incorporating consultation feedback:
131
- ```
132
- <signal>CONSULTATION_INCORPORATED</signal>
133
- ```
134
-
135
- - After final spec is ready for human approval:
136
- ```
137
- <signal>SPEC_READY_FOR_APPROVAL</signal>
138
- ```
139
113
 
140
114
  ## Commit Cadence
141
115
 
@@ -152,15 +126,13 @@ git add codev/specs/{{project_id}}-{{title}}.md
152
126
 
153
127
  ## Important Notes
154
128
 
155
- 1. **Consultation is MANDATORY** - Cannot skip GPT-5 + Gemini reviews
156
- 2. **Be thorough** - A good spec prevents implementation problems
129
+ 1. **Be thorough** - A good spec prevents implementation problems
157
130
  3. **Be specific** - Vague specs lead to wrong implementations
158
131
  4. **Include examples** - Concrete examples clarify intent
159
- 5. **Document consultations** - Maintain the Consultation Log section
160
132
 
161
133
  ## What NOT to Do
162
134
 
163
- - Don't skip consultations (they are BLOCKING)
135
+ - Don't run `consult` commands yourself (porch handles consultations)
164
136
  - Don't include implementation details (that's for the Plan phase)
165
137
  - Don't estimate time (AI makes time estimates meaningless)
166
138
  - Don't start coding (you're in Specify, not Implement)