@cluesmith/codev 3.2.4 → 3.3.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 (394) hide show
  1. package/dashboard-dist/assets/index-BZRTEMtH.css +32 -0
  2. package/dashboard-dist/assets/{index-BZ1x7x1X.js → index-D3XaKpZW.js} +46 -44
  3. package/dashboard-dist/assets/index-D3XaKpZW.js.map +1 -0
  4. package/dashboard-dist/index.html +2 -2
  5. package/dist/agent-farm/cli.d.ts.map +1 -1
  6. package/dist/agent-farm/cli.js +154 -0
  7. package/dist/agent-farm/cli.js.map +1 -1
  8. package/dist/agent-farm/commands/cleanup.d.ts.map +1 -1
  9. package/dist/agent-farm/commands/cleanup.js +16 -0
  10. package/dist/agent-farm/commands/cleanup.js.map +1 -1
  11. package/dist/agent-farm/commands/inbox.d.ts +42 -0
  12. package/dist/agent-farm/commands/inbox.d.ts.map +1 -0
  13. package/dist/agent-farm/commands/inbox.js +129 -0
  14. package/dist/agent-farm/commands/inbox.js.map +1 -0
  15. package/dist/agent-farm/commands/interrupt.d.ts +20 -0
  16. package/dist/agent-farm/commands/interrupt.d.ts.map +1 -0
  17. package/dist/agent-farm/commands/interrupt.js +65 -0
  18. package/dist/agent-farm/commands/interrupt.js.map +1 -0
  19. package/dist/agent-farm/commands/reset/constants.d.ts +52 -0
  20. package/dist/agent-farm/commands/reset/constants.d.ts.map +1 -0
  21. package/dist/agent-farm/commands/reset/constants.js +52 -0
  22. package/dist/agent-farm/commands/reset/constants.js.map +1 -0
  23. package/dist/agent-farm/commands/reset/context.d.ts +230 -0
  24. package/dist/agent-farm/commands/reset/context.d.ts.map +1 -0
  25. package/dist/agent-farm/commands/reset/context.js +428 -0
  26. package/dist/agent-farm/commands/reset/context.js.map +1 -0
  27. package/dist/agent-farm/commands/reset/index.d.ts +192 -0
  28. package/dist/agent-farm/commands/reset/index.d.ts.map +1 -0
  29. package/dist/agent-farm/commands/reset/index.js +488 -0
  30. package/dist/agent-farm/commands/reset/index.js.map +1 -0
  31. package/dist/agent-farm/commands/reset/receipt.d.ts +97 -0
  32. package/dist/agent-farm/commands/reset/receipt.d.ts.map +1 -0
  33. package/dist/agent-farm/commands/reset/receipt.js +149 -0
  34. package/dist/agent-farm/commands/reset/receipt.js.map +1 -0
  35. package/dist/agent-farm/commands/reset/reorient.d.ts +117 -0
  36. package/dist/agent-farm/commands/reset/reorient.d.ts.map +1 -0
  37. package/dist/agent-farm/commands/reset/reorient.js +313 -0
  38. package/dist/agent-farm/commands/reset/reorient.js.map +1 -0
  39. package/dist/agent-farm/commands/reset.d.ts +34 -0
  40. package/dist/agent-farm/commands/reset.d.ts.map +1 -0
  41. package/dist/agent-farm/commands/reset.js +309 -0
  42. package/dist/agent-farm/commands/reset.js.map +1 -0
  43. package/dist/agent-farm/commands/send.d.ts.map +1 -1
  44. package/dist/agent-farm/commands/send.js +49 -8
  45. package/dist/agent-farm/commands/send.js.map +1 -1
  46. package/dist/agent-farm/commands/spawn-worktree.d.ts +105 -6
  47. package/dist/agent-farm/commands/spawn-worktree.d.ts.map +1 -1
  48. package/dist/agent-farm/commands/spawn-worktree.js +289 -66
  49. package/dist/agent-farm/commands/spawn-worktree.js.map +1 -1
  50. package/dist/agent-farm/commands/spawn.d.ts.map +1 -1
  51. package/dist/agent-farm/commands/spawn.js +13 -1
  52. package/dist/agent-farm/commands/spawn.js.map +1 -1
  53. package/dist/agent-farm/commands/status.d.ts.map +1 -1
  54. package/dist/agent-farm/commands/status.js +80 -8
  55. package/dist/agent-farm/commands/status.js.map +1 -1
  56. package/dist/agent-farm/commands/tower.d.ts.map +1 -1
  57. package/dist/agent-farm/commands/tower.js +13 -0
  58. package/dist/agent-farm/commands/tower.js.map +1 -1
  59. package/dist/agent-farm/db/index.d.ts +1 -1
  60. package/dist/agent-farm/db/index.d.ts.map +1 -1
  61. package/dist/agent-farm/db/index.js +80 -1
  62. package/dist/agent-farm/db/index.js.map +1 -1
  63. package/dist/agent-farm/db/mailbox.d.ts +222 -0
  64. package/dist/agent-farm/db/mailbox.d.ts.map +1 -0
  65. package/dist/agent-farm/db/mailbox.js +304 -0
  66. package/dist/agent-farm/db/mailbox.js.map +1 -0
  67. package/dist/agent-farm/db/schema.d.ts +1 -1
  68. package/dist/agent-farm/db/schema.d.ts.map +1 -1
  69. package/dist/agent-farm/db/schema.js +35 -0
  70. package/dist/agent-farm/db/schema.js.map +1 -1
  71. package/dist/agent-farm/db/types.d.ts +45 -0
  72. package/dist/agent-farm/db/types.d.ts.map +1 -1
  73. package/dist/agent-farm/db/types.js.map +1 -1
  74. package/dist/agent-farm/lib/builder-lookup.d.ts +1 -1
  75. package/dist/agent-farm/lib/builder-lookup.js +2 -2
  76. package/dist/agent-farm/lib/builder-lookup.js.map +1 -1
  77. package/dist/agent-farm/lib/reconnect-backoff.d.ts +64 -0
  78. package/dist/agent-farm/lib/reconnect-backoff.d.ts.map +1 -0
  79. package/dist/agent-farm/lib/reconnect-backoff.js +57 -0
  80. package/dist/agent-farm/lib/reconnect-backoff.js.map +1 -0
  81. package/dist/agent-farm/lib/tower-client.d.ts +16 -6
  82. package/dist/agent-farm/lib/tower-client.d.ts.map +1 -1
  83. package/dist/agent-farm/lib/tower-client.js +37 -6
  84. package/dist/agent-farm/lib/tower-client.js.map +1 -1
  85. package/dist/agent-farm/lib/tunnel-client.d.ts +69 -1
  86. package/dist/agent-farm/lib/tunnel-client.d.ts.map +1 -1
  87. package/dist/agent-farm/lib/tunnel-client.js +225 -30
  88. package/dist/agent-farm/lib/tunnel-client.js.map +1 -1
  89. package/dist/agent-farm/servers/canvas-relay.d.ts +60 -0
  90. package/dist/agent-farm/servers/canvas-relay.d.ts.map +1 -0
  91. package/dist/agent-farm/servers/canvas-relay.js +376 -0
  92. package/dist/agent-farm/servers/canvas-relay.js.map +1 -0
  93. package/dist/agent-farm/servers/cron-delivery.d.ts +72 -0
  94. package/dist/agent-farm/servers/cron-delivery.d.ts.map +1 -0
  95. package/dist/agent-farm/servers/cron-delivery.js +80 -0
  96. package/dist/agent-farm/servers/cron-delivery.js.map +1 -0
  97. package/dist/agent-farm/servers/delayed-send.d.ts +85 -0
  98. package/dist/agent-farm/servers/delayed-send.d.ts.map +1 -0
  99. package/dist/agent-farm/servers/delayed-send.js +165 -0
  100. package/dist/agent-farm/servers/delayed-send.js.map +1 -0
  101. package/dist/agent-farm/servers/gate-profiles.d.ts +67 -0
  102. package/dist/agent-farm/servers/gate-profiles.d.ts.map +1 -0
  103. package/dist/agent-farm/servers/gate-profiles.js +113 -0
  104. package/dist/agent-farm/servers/gate-profiles.js.map +1 -0
  105. package/dist/agent-farm/servers/mailbox-delivery.d.ts +370 -0
  106. package/dist/agent-farm/servers/mailbox-delivery.d.ts.map +1 -0
  107. package/dist/agent-farm/servers/mailbox-delivery.js +617 -0
  108. package/dist/agent-farm/servers/mailbox-delivery.js.map +1 -0
  109. package/dist/agent-farm/servers/mailbox-wiring.d.ts +125 -0
  110. package/dist/agent-farm/servers/mailbox-wiring.d.ts.map +1 -0
  111. package/dist/agent-farm/servers/mailbox-wiring.js +425 -0
  112. package/dist/agent-farm/servers/mailbox-wiring.js.map +1 -0
  113. package/dist/agent-farm/servers/message-write.d.ts +53 -1
  114. package/dist/agent-farm/servers/message-write.d.ts.map +1 -1
  115. package/dist/agent-farm/servers/message-write.js +63 -0
  116. package/dist/agent-farm/servers/message-write.js.map +1 -1
  117. package/dist/agent-farm/servers/overview.d.ts +19 -0
  118. package/dist/agent-farm/servers/overview.d.ts.map +1 -1
  119. package/dist/agent-farm/servers/overview.js +100 -4
  120. package/dist/agent-farm/servers/overview.js.map +1 -1
  121. package/dist/agent-farm/servers/render-gate.d.ts +141 -0
  122. package/dist/agent-farm/servers/render-gate.d.ts.map +1 -0
  123. package/dist/agent-farm/servers/render-gate.js +251 -0
  124. package/dist/agent-farm/servers/render-gate.js.map +1 -0
  125. package/dist/agent-farm/servers/session-submit.d.ts +90 -0
  126. package/dist/agent-farm/servers/session-submit.d.ts.map +1 -0
  127. package/dist/agent-farm/servers/session-submit.js +127 -0
  128. package/dist/agent-farm/servers/session-submit.js.map +1 -0
  129. package/dist/agent-farm/servers/tower-cron.d.ts +10 -7
  130. package/dist/agent-farm/servers/tower-cron.d.ts.map +1 -1
  131. package/dist/agent-farm/servers/tower-cron.js +58 -53
  132. package/dist/agent-farm/servers/tower-cron.js.map +1 -1
  133. package/dist/agent-farm/servers/tower-instances.d.ts +14 -2
  134. package/dist/agent-farm/servers/tower-instances.d.ts.map +1 -1
  135. package/dist/agent-farm/servers/tower-instances.js +78 -16
  136. package/dist/agent-farm/servers/tower-instances.js.map +1 -1
  137. package/dist/agent-farm/servers/tower-messages.d.ts +38 -1
  138. package/dist/agent-farm/servers/tower-messages.d.ts.map +1 -1
  139. package/dist/agent-farm/servers/tower-messages.js +106 -1
  140. package/dist/agent-farm/servers/tower-messages.js.map +1 -1
  141. package/dist/agent-farm/servers/tower-routes.d.ts +16 -4
  142. package/dist/agent-farm/servers/tower-routes.d.ts.map +1 -1
  143. package/dist/agent-farm/servers/tower-routes.js +826 -145
  144. package/dist/agent-farm/servers/tower-routes.js.map +1 -1
  145. package/dist/agent-farm/servers/tower-server.js +188 -34
  146. package/dist/agent-farm/servers/tower-server.js.map +1 -1
  147. package/dist/agent-farm/servers/tower-terminals.d.ts +23 -2
  148. package/dist/agent-farm/servers/tower-terminals.d.ts.map +1 -1
  149. package/dist/agent-farm/servers/tower-terminals.js +134 -127
  150. package/dist/agent-farm/servers/tower-terminals.js.map +1 -1
  151. package/dist/agent-farm/servers/tower-tunnel.d.ts.map +1 -1
  152. package/dist/agent-farm/servers/tower-tunnel.js +63 -4
  153. package/dist/agent-farm/servers/tower-tunnel.js.map +1 -1
  154. package/dist/agent-farm/servers/tower-types.d.ts +2 -1
  155. package/dist/agent-farm/servers/tower-types.d.ts.map +1 -1
  156. package/dist/agent-farm/servers/tower-utils.d.ts +64 -1
  157. package/dist/agent-farm/servers/tower-utils.d.ts.map +1 -1
  158. package/dist/agent-farm/servers/tower-utils.js +168 -1
  159. package/dist/agent-farm/servers/tower-utils.js.map +1 -1
  160. package/dist/agent-farm/servers/tower-websocket.d.ts +6 -1
  161. package/dist/agent-farm/servers/tower-websocket.d.ts.map +1 -1
  162. package/dist/agent-farm/servers/tower-websocket.js +95 -57
  163. package/dist/agent-farm/servers/tower-websocket.js.map +1 -1
  164. package/dist/agent-farm/servers/write-queue.d.ts +35 -0
  165. package/dist/agent-farm/servers/write-queue.d.ts.map +1 -0
  166. package/dist/agent-farm/servers/write-queue.js +56 -0
  167. package/dist/agent-farm/servers/write-queue.js.map +1 -0
  168. package/dist/agent-farm/types.d.ts +39 -0
  169. package/dist/agent-farm/types.d.ts.map +1 -1
  170. package/dist/agent-farm/utils/agent-names.d.ts +2 -2
  171. package/dist/agent-farm/utils/agent-names.d.ts.map +1 -1
  172. package/dist/agent-farm/utils/agent-names.js +3 -3
  173. package/dist/agent-farm/utils/agent-names.js.map +1 -1
  174. package/dist/agent-farm/utils/architect-name.d.ts +2 -2
  175. package/dist/agent-farm/utils/architect-name.d.ts.map +1 -1
  176. package/dist/agent-farm/utils/architect-name.js +3 -3
  177. package/dist/agent-farm/utils/architect-name.js.map +1 -1
  178. package/dist/agent-farm/utils/config.d.ts +13 -0
  179. package/dist/agent-farm/utils/config.d.ts.map +1 -1
  180. package/dist/agent-farm/utils/config.js +33 -1
  181. package/dist/agent-farm/utils/config.js.map +1 -1
  182. package/dist/agent-farm/utils/harness.d.ts +103 -7
  183. package/dist/agent-farm/utils/harness.d.ts.map +1 -1
  184. package/dist/agent-farm/utils/harness.js +126 -19
  185. package/dist/agent-farm/utils/harness.js.map +1 -1
  186. package/dist/agent-farm/utils/message-format.d.ts +8 -0
  187. package/dist/agent-farm/utils/message-format.d.ts.map +1 -1
  188. package/dist/agent-farm/utils/message-format.js +20 -0
  189. package/dist/agent-farm/utils/message-format.js.map +1 -1
  190. package/dist/agent-farm/utils/server-utils.d.ts +80 -4
  191. package/dist/agent-farm/utils/server-utils.d.ts.map +1 -1
  192. package/dist/agent-farm/utils/server-utils.js +286 -5
  193. package/dist/agent-farm/utils/server-utils.js.map +1 -1
  194. package/dist/cli.d.ts.map +1 -1
  195. package/dist/cli.js +6 -32
  196. package/dist/cli.js.map +1 -1
  197. package/dist/commands/consult/cli-options.d.ts +34 -0
  198. package/dist/commands/consult/cli-options.d.ts.map +1 -0
  199. package/dist/commands/consult/cli-options.js +67 -0
  200. package/dist/commands/consult/cli-options.js.map +1 -0
  201. package/dist/commands/consult/index.d.ts +56 -2
  202. package/dist/commands/consult/index.d.ts.map +1 -1
  203. package/dist/commands/consult/index.js +272 -28
  204. package/dist/commands/consult/index.js.map +1 -1
  205. package/dist/commands/consult/metrics.d.ts +42 -0
  206. package/dist/commands/consult/metrics.d.ts.map +1 -1
  207. package/dist/commands/consult/metrics.js +129 -9
  208. package/dist/commands/consult/metrics.js.map +1 -1
  209. package/dist/commands/doctor.d.ts.map +1 -1
  210. package/dist/commands/doctor.js +71 -19
  211. package/dist/commands/doctor.js.map +1 -1
  212. package/dist/commands/porch/checks.d.ts +23 -0
  213. package/dist/commands/porch/checks.d.ts.map +1 -1
  214. package/dist/commands/porch/checks.js +60 -0
  215. package/dist/commands/porch/checks.js.map +1 -1
  216. package/dist/commands/porch/config.d.ts +20 -0
  217. package/dist/commands/porch/config.d.ts.map +1 -1
  218. package/dist/commands/porch/config.js +20 -0
  219. package/dist/commands/porch/config.js.map +1 -1
  220. package/dist/commands/porch/index.js +21 -28
  221. package/dist/commands/porch/index.js.map +1 -1
  222. package/dist/commands/porch/next.d.ts.map +1 -1
  223. package/dist/commands/porch/next.js +2 -41
  224. package/dist/commands/porch/next.js.map +1 -1
  225. package/dist/lib/config.d.ts +69 -3
  226. package/dist/lib/config.d.ts.map +1 -1
  227. package/dist/lib/config.js +67 -3
  228. package/dist/lib/config.js.map +1 -1
  229. package/dist/lib/consult-lanes.d.ts +149 -0
  230. package/dist/lib/consult-lanes.d.ts.map +1 -0
  231. package/dist/lib/consult-lanes.js +360 -0
  232. package/dist/lib/consult-lanes.js.map +1 -0
  233. package/dist/lib/forge-contracts.d.ts +9 -0
  234. package/dist/lib/forge-contracts.d.ts.map +1 -1
  235. package/dist/lib/forge-contracts.js.map +1 -1
  236. package/dist/lib/github.d.ts +15 -1
  237. package/dist/lib/github.d.ts.map +1 -1
  238. package/dist/lib/github.js +18 -1
  239. package/dist/lib/github.js.map +1 -1
  240. package/dist/lib/prompt-behavior-metrics.d.ts +67 -0
  241. package/dist/lib/prompt-behavior-metrics.d.ts.map +1 -0
  242. package/dist/lib/prompt-behavior-metrics.js +290 -0
  243. package/dist/lib/prompt-behavior-metrics.js.map +1 -0
  244. package/dist/lib/skeleton.d.ts +22 -1
  245. package/dist/lib/skeleton.d.ts.map +1 -1
  246. package/dist/lib/skeleton.js +120 -0
  247. package/dist/lib/skeleton.js.map +1 -1
  248. package/dist/lib/test-env.d.ts +74 -0
  249. package/dist/lib/test-env.d.ts.map +1 -0
  250. package/dist/lib/test-env.js +92 -0
  251. package/dist/lib/test-env.js.map +1 -0
  252. package/dist/terminal/attach-replay.d.ts +39 -0
  253. package/dist/terminal/attach-replay.d.ts.map +1 -0
  254. package/dist/terminal/attach-replay.js +76 -0
  255. package/dist/terminal/attach-replay.js.map +1 -0
  256. package/dist/terminal/pty-manager.d.ts +2 -0
  257. package/dist/terminal/pty-manager.d.ts.map +1 -1
  258. package/dist/terminal/pty-manager.js +51 -23
  259. package/dist/terminal/pty-manager.js.map +1 -1
  260. package/dist/terminal/pty-session.d.ts +201 -1
  261. package/dist/terminal/pty-session.d.ts.map +1 -1
  262. package/dist/terminal/pty-session.js +327 -46
  263. package/dist/terminal/pty-session.js.map +1 -1
  264. package/dist/terminal/ring-buffer.d.ts +39 -6
  265. package/dist/terminal/ring-buffer.d.ts.map +1 -1
  266. package/dist/terminal/ring-buffer.js +74 -6
  267. package/dist/terminal/ring-buffer.js.map +1 -1
  268. package/dist/terminal/session-manager.d.ts +53 -0
  269. package/dist/terminal/session-manager.d.ts.map +1 -1
  270. package/dist/terminal/session-manager.js +94 -9
  271. package/dist/terminal/session-manager.js.map +1 -1
  272. package/dist/terminal/session-screen.d.ts +116 -0
  273. package/dist/terminal/session-screen.d.ts.map +1 -0
  274. package/dist/terminal/session-screen.js +180 -0
  275. package/dist/terminal/session-screen.js.map +1 -0
  276. package/dist/terminal/shellper-main.js +2 -1
  277. package/dist/terminal/shellper-main.js.map +1 -1
  278. package/dist/terminal/shellper-process.d.ts +1 -1
  279. package/dist/terminal/shellper-process.d.ts.map +1 -1
  280. package/dist/terminal/shellper-process.js +17 -8
  281. package/dist/terminal/shellper-process.js.map +1 -1
  282. package/dist/terminal/shellper-replay-buffer.d.ts +69 -7
  283. package/dist/terminal/shellper-replay-buffer.d.ts.map +1 -1
  284. package/dist/terminal/shellper-replay-buffer.js +167 -31
  285. package/dist/terminal/shellper-replay-buffer.js.map +1 -1
  286. package/package.json +13 -8
  287. package/scripts/forge/gitea/pr-view.sh +4 -1
  288. package/scripts/forge/github/pr-view.sh +1 -1
  289. package/scripts/forge/gitlab/pr-view.sh +4 -1
  290. package/skeleton/.claude/skills/afx/SKILL.md +68 -1
  291. package/skeleton/.claude/skills/arch-init/SKILL.md +22 -9
  292. package/skeleton/.claude/skills/arch-save/SKILL.md +183 -0
  293. package/skeleton/.claude/skills/codev/SKILL.md +31 -0
  294. package/skeleton/.claude/skills/runnable-worktrees/SKILL.md +119 -0
  295. package/skeleton/.codex/skills/afx/SKILL.md +68 -1
  296. package/skeleton/.codex/skills/arch-init/SKILL.md +22 -9
  297. package/skeleton/.codex/skills/arch-save/SKILL.md +183 -0
  298. package/skeleton/.codex/skills/codev/SKILL.md +31 -0
  299. package/skeleton/.codex/skills/runnable-worktrees/SKILL.md +119 -0
  300. package/skeleton/protocols/air/builder-prompt.md +28 -47
  301. package/skeleton/protocols/air/consult-types/impl-review.md +17 -34
  302. package/skeleton/protocols/air/consult-types/pr-review.md +14 -37
  303. package/skeleton/protocols/air/prompts/implement.md +20 -73
  304. package/skeleton/protocols/air/prompts/pr.md +22 -54
  305. package/skeleton/protocols/air/protocol.md +40 -71
  306. package/skeleton/protocols/aspir/builder-prompt.md +29 -66
  307. package/skeleton/protocols/aspir/consult-types/impl-review.md +17 -44
  308. package/skeleton/protocols/aspir/consult-types/phase-review.md +17 -44
  309. package/skeleton/protocols/aspir/consult-types/plan-review.md +14 -38
  310. package/skeleton/protocols/aspir/consult-types/pr-review.md +13 -39
  311. package/skeleton/protocols/aspir/consult-types/spec-review.md +13 -33
  312. package/skeleton/protocols/aspir/prompts/implement.md +27 -196
  313. package/skeleton/protocols/aspir/prompts/plan.md +21 -85
  314. package/skeleton/protocols/aspir/prompts/review.md +29 -228
  315. package/skeleton/protocols/aspir/prompts/specify.md +25 -111
  316. package/skeleton/protocols/aspir/protocol.json +10 -0
  317. package/skeleton/protocols/aspir/protocol.md +36 -82
  318. package/skeleton/protocols/bugfix/builder-prompt.md +23 -45
  319. package/skeleton/protocols/bugfix/consult-types/impl-review.md +21 -45
  320. package/skeleton/protocols/bugfix/consult-types/pr-review.md +18 -52
  321. package/skeleton/protocols/bugfix/prompts/fix.md +16 -61
  322. package/skeleton/protocols/bugfix/prompts/investigate.md +18 -62
  323. package/skeleton/protocols/bugfix/prompts/pr.md +22 -57
  324. package/skeleton/protocols/bugfix/protocol.md +44 -50
  325. package/skeleton/protocols/experiment/builder-prompt.md +25 -58
  326. package/skeleton/protocols/experiment/protocol.md +22 -188
  327. package/skeleton/protocols/experiment/templates/notes.md +11 -71
  328. package/skeleton/protocols/maintain/builder-prompt.md +24 -45
  329. package/skeleton/protocols/maintain/consult-types/impl-review.md +17 -44
  330. package/skeleton/protocols/maintain/consult-types/pr-review.md +13 -39
  331. package/skeleton/protocols/maintain/prompts/maintain.md +1 -1
  332. package/skeleton/protocols/maintain/protocol.md +32 -266
  333. package/skeleton/protocols/maintain/templates/maintenance-run.md +11 -0
  334. package/skeleton/protocols/pir/builder-prompt.md +31 -64
  335. package/skeleton/protocols/pir/consult-types/impl-review.md +17 -50
  336. package/skeleton/protocols/pir/consult-types/pr-review.md +11 -40
  337. package/skeleton/protocols/pir/prompts/implement.md +2 -3
  338. package/skeleton/protocols/pir/prompts/plan.md +1 -4
  339. package/skeleton/protocols/pir/prompts/review.md +2 -2
  340. package/skeleton/protocols/pir/protocol.md +54 -177
  341. package/skeleton/protocols/research/builder-prompt.md +27 -58
  342. package/skeleton/protocols/research/protocol.md +28 -153
  343. package/skeleton/protocols/spike/builder-prompt.md +30 -48
  344. package/skeleton/protocols/spike/protocol.md +24 -107
  345. package/skeleton/protocols/spike/templates/findings.md +9 -39
  346. package/skeleton/protocols/spir/builder-prompt.md +33 -62
  347. package/skeleton/protocols/spir/consult-types/impl-review.md +17 -44
  348. package/skeleton/protocols/spir/consult-types/phase-review.md +17 -44
  349. package/skeleton/protocols/spir/consult-types/plan-review.md +14 -38
  350. package/skeleton/protocols/spir/consult-types/pr-review.md +13 -39
  351. package/skeleton/protocols/spir/consult-types/spec-review.md +13 -33
  352. package/skeleton/protocols/spir/prompts/implement.md +26 -195
  353. package/skeleton/protocols/spir/prompts/plan.md +20 -84
  354. package/skeleton/protocols/spir/prompts/review.md +28 -227
  355. package/skeleton/protocols/spir/prompts/specify.md +24 -110
  356. package/skeleton/protocols/spir/protocol.json +10 -0
  357. package/skeleton/protocols/spir/protocol.md +84 -633
  358. package/skeleton/protocols/spir/templates/plan.md +28 -147
  359. package/skeleton/protocols/spir/templates/review.md +21 -80
  360. package/skeleton/protocols/spir/templates/spec.md +24 -118
  361. package/skeleton/resources/commands/agent-farm.md +262 -0
  362. package/skeleton/resources/commands/consult.md +236 -8
  363. package/skeleton/resources/commands/overview.md +1 -0
  364. package/skeleton/roles/architect.md +67 -317
  365. package/skeleton/roles/builder.md +76 -191
  366. package/skeleton/templates/AGENTS.md +2 -0
  367. package/skeleton/templates/CLAUDE.md +2 -0
  368. package/templates/3d-viewer.html +32 -4
  369. package/templates/open.html +58 -12
  370. package/templates/tower.html +65 -9
  371. package/templates/vendor/three-3MFLoader.js +1478 -0
  372. package/templates/vendor/three-STLLoader.js +410 -0
  373. package/templates/vendor/three-TrackballControls.js +828 -0
  374. package/templates/vendor/three-fflate.module.js +2474 -0
  375. package/templates/vendor/three.module.js +53044 -0
  376. package/dashboard-dist/assets/index-BZ1x7x1X.js.map +0 -1
  377. package/dashboard-dist/assets/index-DB1KBSNE.css +0 -32
  378. package/dist/agent-farm/servers/send-buffer.d.ts +0 -59
  379. package/dist/agent-farm/servers/send-buffer.d.ts.map +0 -1
  380. package/dist/agent-farm/servers/send-buffer.js +0 -116
  381. package/dist/agent-farm/servers/send-buffer.js.map +0 -1
  382. package/skeleton/porch/prompts/defend.md +0 -108
  383. package/skeleton/porch/prompts/diagnose.md +0 -70
  384. package/skeleton/porch/prompts/evaluate.md +0 -132
  385. package/skeleton/porch/prompts/fix.md +0 -59
  386. package/skeleton/porch/prompts/implement.md +0 -88
  387. package/skeleton/porch/prompts/plan.md +0 -74
  388. package/skeleton/porch/prompts/pr.md +0 -84
  389. package/skeleton/porch/prompts/review.md +0 -249
  390. package/skeleton/porch/prompts/specify.md +0 -53
  391. package/skeleton/porch/prompts/test.md +0 -63
  392. package/skeleton/protocols/aspir/templates/plan.md +0 -184
  393. package/skeleton/protocols/aspir/templates/review.md +0 -120
  394. package/skeleton/protocols/aspir/templates/spec.md +0 -154
@@ -1,91 +1,60 @@
1
1
  # AIR Protocol
2
2
 
3
- > **AIR** = **A**utonomous **I**mplement & **R**eview
4
- >
5
- > A lightweight protocol for small features that are fully specified by their GitHub issue.
6
- > Two phases: Implement → Review. No spec/plan artifacts.
3
+ **A**utonomous **I**mplement → **R**eview. The lightest protocol that still produces a reviewed
4
+ PR: no spec, no plan, no artifact files. The GitHub issue *is* the specification, and the review
5
+ lives in the PR body.
7
6
 
8
- ## What is AIR?
7
+ Use AIR when a small feature (roughly <300 LOC) is fully described by its issue and needs no
8
+ architectural decision, no new abstraction, and no significant refactor. If the issue leaves the
9
+ approach genuinely open, the cost of a spec is lower than the cost of building the wrong thing —
10
+ use SPIR or ASPIR. For a defect rather than a feature, use BUGFIX.
9
11
 
10
- AIR is a minimal protocol for implementing small features (< 300 LOC) where the GitHub issue provides all the requirements. It skips the Specify and Plan phases entirely — the builder implements directly from the issue and creates a PR with the review embedded in the PR body.
12
+ ## The state machine
11
13
 
12
- ### How AIR Compares
13
-
14
- | Aspect | BUGFIX | AIR | ASPIR/SPIR |
15
- |--------|--------|-----|------------|
16
- | **Use case** | Bug fixes | Small features | New features |
17
- | **Input** | GitHub Issue | GitHub Issue | GitHub Issue → Spec |
18
- | **Phases** | Investigate → Fix → PR | Implement → PR | Specify → Plan → Implement → Review |
19
- | **Artifacts** | None | None | Spec, plan, review files |
20
- | **Review location** | PR body | PR body | `codev/reviews/` file |
21
- | **Consultation** | PR phase only | Optional (builder decides) | Every phase (3-way) |
22
- | **Human gates** | None (PR gate) | None (PR gate) | Spec + Plan + PR gates (SPIR) |
23
- | **LOC limit** | < 300 | < 300 | No limit |
24
-
25
- ### When to Use AIR
26
-
27
- - Small features (< 300 LOC)
28
- - Requirements are clear from the GitHub issue
29
- - No architectural decisions needed
30
- - No new abstractions or significant refactoring required
31
- - Would be overkill for full SPIR/ASPIR ceremony
32
-
33
- ### When NOT to Use AIR
34
-
35
- - Bug fixes → use **BUGFIX**
36
- - Features needing spec discussion → use **SPIR** or **ASPIR**
37
- - Architectural changes → use **SPIR**
38
- - Complex features with multiple phases → use **SPIR** or **ASPIR**
39
-
40
- ## Baked Decisions (Optional)
14
+ ```json
15
+ {{> protocols/air/protocol.json}}
16
+ ```
41
17
 
42
- When filing an issue for AIR, you can pin architectural decisions you don't want the builder or CMAP reviewers to re-litigate. Include a `## Baked Decisions` section (any heading level is fine) anywhere in the issue body. Useful categories: language, framework, deployment shape, key dependencies, decisions deferred to a later spec. The builder will treat each listed item as fixed during implementation; CMAP reviewers will not propose alternatives unless the implementation itself fails to honor a stated decision. Leave the section out for issues where you want the builder to explore freely — absence is the no-op default. You can amend or rescind a baked decision at any time by updating the issue and respawning, or by sending the builder a direct instruction via `afx send`.
18
+ ## Artifacts
43
19
 
44
- ## Protocol Phases
20
+ **None on disk.** The issue carries the requirements; the review goes in the PR body. That is
21
+ the whole economy of AIR — a `codev/reviews/` file for a 200-line change costs more to maintain
22
+ than it ever repays.
45
23
 
46
- ### I - Implement
24
+ ## Consultation
47
25
 
48
- The builder reads the GitHub issue and implements the feature:
26
+ At the builder's discretion, unlike SPIR's mandatory 3-way at every phase. Reach for it when the
27
+ change touches shared code or you are unsure the approach is right; skip it when the issue is
28
+ unambiguous and the diff is small.
49
29
 
50
- 1. Read and understand the issue requirements
51
- 2. Implement the feature (< 300 LOC)
52
- 3. Write tests
53
- 4. Verify build and tests pass
54
- 5. Commit with descriptive message
30
+ ## Gate
55
31
 
56
- If the feature grows beyond 300 LOC or requires architectural decisions, the builder signals `TOO_COMPLEX` to escalate to ASPIR.
32
+ The `pr` gate is human. There are no pre-implementation gates — which is precisely why AIR is
33
+ only appropriate when the issue has already settled the questions a spec would ask.
57
34
 
58
- ### R - Review (PR)
35
+ ## Baked Decisions
59
36
 
60
- The builder creates a PR with the review embedded in the PR body:
37
+ An issue may carry a `## Baked Decisions` section pinning architectural choices the architect
38
+ does not want re-litigated — typically **language**, **framework**, deployment shape, key
39
+ **dependencies**, or decisions deferred to a later spec.
61
40
 
62
- 1. Create PR linking to the issue
63
- 2. Include a review section in the PR body (summary, key decisions, test plan)
64
- 3. Optionally run CMAP consultation if the builder judges the complexity warrants it
65
- 4. Notify the architect
41
+ Every item in it is fixed. Copy the section verbatim into the spec's Constraints and do not
42
+ re-open it in the spec, plan, or review; CMAP reviewers will not propose alternatives unless the
43
+ spec fails to honour one. If two items contradict each other, do not choose — surface the
44
+ contradiction and wait.
66
45
 
67
- The **PR gate** is preserved — a human reviews all code before merge.
46
+ **Absence is the no-op default**: an issue with no such section is an invitation to explore
47
+ freely, not an omission to be filled in.
68
48
 
69
- ## Usage
49
+ The architect can **amend or rescind** a baked decision at any time by updating the issue and
50
+ respawning, or by sending the builder a direct instruction via `afx send`.
70
51
 
71
- ```bash
72
- # Spawn a builder using AIR
73
- afx spawn 42 --protocol air
52
+ ## Escalation
74
53
 
75
- # The builder implements autonomously and stops at the PR gate
76
- ```
54
+ If implementation reveals that the change is not small, or that it needs a decision the issue
55
+ does not make, **stop and say so** rather than growing an AIR project into an unplanned SPIR.
56
+ Escalating early is cheap; discovering it at PR review is not.
77
57
 
78
- ## File Structure
58
+ ## Branch naming
79
59
 
80
- ```
81
- codev-skeleton/protocols/air/
82
- ├── protocol.json # Protocol definition
83
- ├── protocol.md # This file
84
- ├── builder-prompt.md # Builder instructions (Handlebars template)
85
- ├── prompts/
86
- │ ├── implement.md # Implement phase prompt
87
- │ └── pr.md # PR phase prompt
88
- └── consult-types/
89
- ├── impl-review.md # Implementation consultation guide
90
- └── pr-review.md # PR consultation guide
91
- ```
60
+ `builder/air-<issue>-<short-description>`
@@ -4,36 +4,33 @@ You are implementing {{input_description}}.
4
4
 
5
5
  {{#if mode_soft}}
6
6
  ## Mode: SOFT
7
- You are running in SOFT mode. This means:
8
- - You follow the protocol document yourself (no porch orchestration)
9
- - The architect monitors your work and verifies you're adhering to the protocol
10
- - Run consultations manually when the protocol calls for them
11
- - You have flexibility in execution, but must stay compliant with the protocol
7
+
8
+ You follow the protocol yourself; the architect verifies compliance.
12
9
  {{/if}}
13
10
 
14
11
  {{#if mode_strict}}
15
12
  ## Mode: STRICT
16
- You are running in STRICT mode. This means:
17
- - Porch orchestrates your work
18
- - Run: `porch next` to get your next tasks
19
- - Follow porch signals and gate approvals
20
- - Do not deviate from the porch-driven workflow
21
-
22
- ### ABSOLUTE RESTRICTIONS (STRICT MODE)
23
- - **NEVER edit `status.yaml` directly** — only porch commands may modify project state
24
- - **NEVER call `porch approve` without explicit human approval** — only run it after the architect says to
25
- - **NEVER skip the 3-way review** — always follow porch next → porch done cycle
26
- - **NEVER advance plan phases manually** — porch handles phase transitions after unanimous review approval
13
+
14
+ Porch orchestrates. `porch next` gives you tasks; `porch done` signals completion. Never
15
+ hand-edit `status.yaml` — only porch commands modify project state.
27
16
  {{/if}}
28
17
 
29
18
  ## Protocol
30
- Follow the ASPIR protocol. Read and internalize the protocol before starting any work. The full protocol text is included below under **## Protocol Reference (full text)**.
19
+
20
+ Follow the ASPIR protocol. The full protocol text is inlined below under **## Protocol Reference (full text)** — you do not
21
+ need to fetch it.
31
22
 
32
23
  ## Baked Decisions
33
24
 
34
- If the issue body contains a section named "Baked Decisions" (any heading level, case-insensitive), treat its contents as fixed architectural decisions baked in by the architect. Do not autonomously override them in your spec, plan, or implementation. If you discover a serious reason to question a baked decision, surface that concern to the architect via `afx send` rather than relitigating it inside the spec/plan/review.
25
+ If the issue body contains a section named "Baked Decisions" (any heading level,
26
+ case-insensitive), treat its contents as fixed architectural decisions baked in by the
27
+ architect. Do not autonomously override them in your spec, plan, or implementation. If you
28
+ discover a serious reason to question a baked decision, surface that concern to the architect
29
+ via `afx send` rather than relitigating it inside the spec/plan/review.
35
30
 
36
- If the architect's baked-decisions section contains internal contradictions (e.g., two different language choices), do not pick one — pause, flag the contradiction to the architect via `afx send`, and wait for resolution before proceeding.
31
+ If the architect's baked-decisions section contains internal contradictions (e.g., two different
32
+ language choices), do not pick one — pause, flag the contradiction to the architect via
33
+ `afx send`, and wait for resolution before proceeding.
37
34
 
38
35
  {{#if spec}}
39
36
  ## Spec
@@ -53,37 +50,25 @@ Follow the implementation plan at: `{{plan.path}}`
53
50
  {{issue.body}}
54
51
  {{/if}}
55
52
 
56
- {{#if task}}
57
- ## Task
58
- {{task_text}}
59
- {{/if}}
60
-
61
53
  ## PR Strategy
62
54
 
63
- **Do not autonomously open a PR per implementation phase.** Plan phases ship as git commits within a single PR, not as separate PRs. The plan's instruction that "each phase commits independently" refers to git commits, not PRs.
64
-
65
- By default, the PR is opened during/after the final implement phase, with all phase-commits already on the branch.
66
-
67
- ### Architect-requested PRs
68
-
69
- The architect MAY request a PR at any point — for spec review, mid-implementation feedback, slicing a large spec into shippable PRs, etc. When the architect explicitly asks for a PR earlier (or for additional PRs), follow that direction. The prohibition is specifically on the *builder* autonomously deciding to open per-phase PRs without architect request.
55
+ **Do not autonomously open a PR per implementation phase.** Plan phases ship as git commits
56
+ within a single PR, not as separate PRs. The plan's instruction that "each phase commits
57
+ independently" refers to git commits, not PRs.
70
58
 
71
- ### Multi-PR Mechanics (when the architect requests sequential PRs)
59
+ By default, the PR is opened during/after the final implement phase, with all phase-commits
60
+ already on the branch.
72
61
 
73
- Your worktree is persistent — it survives across PR merges. When the architect asks for sequential PRs (e.g., to slice a large spec into shippable pieces), use this loop:
62
+ The architect MAY request a PR at any point — follow that direction when they do; the
63
+ prohibition is on *you* deciding to open per-phase PRs unasked.
74
64
 
75
- 1. Cut a branch, open a PR, wait for merge
76
- 2. After merge: `git fetch origin <integration-branch> && git checkout -b <next-branch> origin/<integration-branch>` — where `<integration-branch>` is the branch the architect targets PRs at (usually `main`; check the open PR's `baseRefName` if unsure)
77
- 3. Continue to the next slice, open another PR
78
-
79
- **Important**: Do NOT run `git checkout <integration-branch>` — git worktrees cannot check out a branch that's checked out elsewhere. Always branch off `origin/<integration-branch>` via fetch.
80
-
81
- Record PRs: `porch done {{project_id}} --pr <N> --branch <name>`
82
- Record merges: `porch done {{project_id}} --merged <N>`
65
+ Record them: `porch done {{project_id}} --pr <N> --branch <name>`, and
66
+ `porch done {{project_id}} --merged <N>`.
83
67
 
84
68
  ## Verify Phase
85
69
 
86
- After the final PR merges, the project enters the **verify** phase. You stay alive through verify:
70
+ After the final PR merges the project enters **verify**, and you stay alive through it:
71
+
87
72
  1. Pull the integration branch into your worktree
88
73
  2. Run `porch done {{project_id}}` to signal verification is ready
89
74
  3. The architect approves `verify-approval` when satisfied
@@ -91,28 +76,6 @@ After the final PR merges, the project enters the **verify** phase. You stay ali
91
76
  If verification is not needed: `porch verify {{project_id}} --skip "reason"`
92
77
 
93
78
  ## Notifications
94
- Always use `afx send architect "..."` to notify the architect at key moments:
95
- - **Gate reached**: `afx send architect "Project {{project_id}}: <gate-name> ready for approval"`
96
- - **PR ready**: `afx send architect "PR #N ready for review (project {{project_id}})"`
97
- - **PR merged**: `afx send architect "Project {{project_id}} PR merged. Entering verify phase."`
98
- - **Blocked**: `afx send architect "Blocked on project {{project_id}}: [reason]"`
99
-
100
- ## Handling Flaky Tests
101
-
102
- If you encounter **pre-existing flaky tests** (intermittent failures unrelated to your changes):
103
- 1. **DO NOT** edit `status.yaml` to bypass checks
104
- 2. **DO NOT** skip porch checks or use any workaround to avoid the failure
105
- 3. **DO** mark the test as skipped with a clear annotation (e.g., `it.skip('...') // FLAKY: skipped pending investigation`)
106
- 4. **DO** document each skipped flaky test in your review under a `## Flaky Tests` section
107
- 5. Commit the skip and continue with your work
108
-
109
- ## Getting Started
110
- 1. Read the protocol document thoroughly
111
- 2. Review the spec and plan (if available)
112
- 3. Begin implementation following the protocol phases
113
-
114
- ---
115
-
116
- ## Protocol Reference (full text)
117
79
 
118
- {{protocol_reference}}
80
+ The architect is not watching. `afx send architect "..."` at each of: gate reached, PR ready, PR
81
+ merged, blocked.
@@ -1,42 +1,28 @@
1
1
  # Implementation Review Prompt
2
2
 
3
3
  ## Context
4
- You are reviewing implementation work during the Implement phase. A builder has completed a plan phase and needs feedback before proceeding. Your job is to verify the implementation matches the spec and plan.
5
4
 
6
- ## CRITICAL: Verify Before Flagging
5
+ You are reviewing implementation work during the Implement phase. A builder has completed a plan phase and needs feedback before proceeding. Verify the implementation matches the spec and plan.
7
6
 
8
- Before requesting changes for missing configuration, incorrect patterns, or framework issues:
9
- 1. **Check `package.json`** for actual dependency versions — framework conventions change between major versions
10
- 2. **Read the actual config files** (or confirm their deliberate absence) before flagging missing configs
11
- 3. **Do not assume** your training data reflects the version in use — verify against project files
12
- 4. If "Previous Iteration Context" is provided, read it carefully before re-raising concerns that were already disputed
7
+ ## Verify before flagging
13
8
 
14
- ## Focus Areas
15
-
16
- 1. **Spec Adherence**
17
- - Does the implementation fulfill the spec requirements for this phase?
18
- - Are acceptance criteria met?
19
-
20
- 2. **Code Quality**
21
- - Is the code readable and maintainable?
22
- - Are there obvious bugs or issues?
23
- - Are error cases handled appropriately?
9
+ Before requesting changes for missing configuration, wrong patterns, or framework issues, confirm the claim against the project rather than your training data:
24
10
 
25
- 3. **Test Coverage**
26
- - Are the tests adequate for this phase?
27
- - Do tests cover the main paths AND edge cases?
11
+ - Check `package.json` for the actual dependency versions — framework conventions change between major versions.
12
+ - Read the actual config files (or confirm their deliberate absence) before flagging a missing config.
13
+ - If "Previous Iteration Context" is provided, read it before re-raising concerns already disputed.
28
14
 
29
- 4. **Plan Alignment**
30
- - Does the implementation follow the plan?
31
- - Are there plan items skipped or partially completed?
15
+ ## Focus Areas
32
16
 
33
- 5. **UX Verification** (if spec has UX requirements)
34
- - Does the actual user experience match what the spec describes?
35
- - If spec says "async" or "non-blocking", is it actually async?
17
+ - **Spec Adherence** — the implementation fulfills the spec requirements for this phase; acceptance criteria are met.
18
+ - **Code Quality** — readable and maintainable; no obvious bugs; error cases handled.
19
+ - **Test Coverage** — tests are adequate for this phase and cover main paths and edge cases.
20
+ - **Plan Alignment** — the implementation follows the plan; no plan items silently skipped.
21
+ - **UX Verification** (if the spec has UX requirements) — the actual behavior matches what the spec describes (e.g. "async"/"non-blocking" really is).
36
22
 
37
23
  ## Verdict Format
38
24
 
39
- After your review, provide your verdict in exactly this format:
25
+ Provide your verdict in exactly this format — `consult` parses it:
40
26
 
41
27
  ```
42
28
  ---
@@ -50,23 +36,10 @@ KEY_ISSUES:
50
36
  ...
51
37
  ```
52
38
 
53
- **Verdict meanings:**
54
- - `APPROVE`: Phase is complete, builder can proceed
55
- - `REQUEST_CHANGES`: Issues that must be fixed before proceeding
56
- - `COMMENT`: Minor suggestions, can proceed but note feedback
39
+ - `APPROVE`: phase is complete, builder can proceed.
40
+ - `REQUEST_CHANGES`: issues that must be fixed before proceeding.
41
+ - `COMMENT`: minor suggestions; can proceed but note the feedback.
57
42
 
58
43
  ## Scoping (Multi-Phase Plans)
59
44
 
60
- When the implementation plan has multiple phases (e.g., scaffolding, landing, media_rtl):
61
- - **ONLY review work belonging to the current plan phase**
62
- - The query will specify which phase you are reviewing
63
- - Do NOT request changes for functionality scheduled in later phases
64
- - Do NOT flag missing features that are out of scope for this phase
65
- - If unsure whether something belongs to this phase, check the plan file
66
-
67
- ## Notes
68
-
69
- - This is a phase-level review, not the final PR review
70
- - Focus on "does this phase work" not "is the whole feature done"
71
- - If referencing line numbers, use `file:line` format
72
- - The builder needs actionable feedback to continue
45
+ Review **only the current plan phase** — the query names which one. Do not request changes for functionality scheduled in later phases, and do not flag missing features that are out of scope for this phase. If unsure whether something belongs to this phase, check the plan file. This is a phase-level review ("does this phase work"), not the final PR review.
@@ -1,42 +1,28 @@
1
1
  # Implementation Review Prompt
2
2
 
3
3
  ## Context
4
- You are reviewing implementation work during the Implement phase. A builder has completed a plan phase and needs feedback before proceeding. Your job is to verify the implementation matches the spec and plan.
5
4
 
6
- ## CRITICAL: Verify Before Flagging
5
+ You are reviewing implementation work during the Implement phase. A builder has completed a plan phase and needs feedback before proceeding. Verify the implementation matches the spec and plan.
7
6
 
8
- Before requesting changes for missing configuration, incorrect patterns, or framework issues:
9
- 1. **Check `package.json`** for actual dependency versions — framework conventions change between major versions
10
- 2. **Read the actual config files** (or confirm their deliberate absence) before flagging missing configs
11
- 3. **Do not assume** your training data reflects the version in use — verify against project files
12
- 4. If "Previous Iteration Context" is provided, read it carefully before re-raising concerns that were already disputed
7
+ ## Verify before flagging
13
8
 
14
- ## Focus Areas
15
-
16
- 1. **Spec Adherence**
17
- - Does the implementation fulfill the spec requirements for this phase?
18
- - Are acceptance criteria met?
19
-
20
- 2. **Code Quality**
21
- - Is the code readable and maintainable?
22
- - Are there obvious bugs or issues?
23
- - Are error cases handled appropriately?
9
+ Before requesting changes for missing configuration, wrong patterns, or framework issues, confirm the claim against the project rather than your training data:
24
10
 
25
- 3. **Test Coverage**
26
- - Are the tests adequate for this phase?
27
- - Do tests cover the main paths AND edge cases?
11
+ - Check `package.json` for the actual dependency versions — framework conventions change between major versions.
12
+ - Read the actual config files (or confirm their deliberate absence) before flagging a missing config.
13
+ - If "Previous Iteration Context" is provided, read it before re-raising concerns already disputed.
28
14
 
29
- 4. **Plan Alignment**
30
- - Does the implementation follow the plan?
31
- - Are there plan items skipped or partially completed?
15
+ ## Focus Areas
32
16
 
33
- 5. **UX Verification** (if spec has UX requirements)
34
- - Does the actual user experience match what the spec describes?
35
- - If spec says "async" or "non-blocking", is it actually async?
17
+ - **Spec Adherence** — the implementation fulfills the spec requirements for this phase; acceptance criteria are met.
18
+ - **Code Quality** — readable and maintainable; no obvious bugs; error cases handled.
19
+ - **Test Coverage** — tests are adequate for this phase and cover main paths and edge cases.
20
+ - **Plan Alignment** — the implementation follows the plan; no plan items silently skipped.
21
+ - **UX Verification** (if the spec has UX requirements) — the actual behavior matches what the spec describes (e.g. "async"/"non-blocking" really is).
36
22
 
37
23
  ## Verdict Format
38
24
 
39
- After your review, provide your verdict in exactly this format:
25
+ Provide your verdict in exactly this format — `consult` parses it:
40
26
 
41
27
  ```
42
28
  ---
@@ -50,23 +36,10 @@ KEY_ISSUES:
50
36
  ...
51
37
  ```
52
38
 
53
- **Verdict meanings:**
54
- - `APPROVE`: Phase is complete, builder can proceed
55
- - `REQUEST_CHANGES`: Issues that must be fixed before proceeding
56
- - `COMMENT`: Minor suggestions, can proceed but note feedback
39
+ - `APPROVE`: phase is complete, builder can proceed.
40
+ - `REQUEST_CHANGES`: issues that must be fixed before proceeding.
41
+ - `COMMENT`: minor suggestions; can proceed but note the feedback.
57
42
 
58
43
  ## Scoping (Multi-Phase Plans)
59
44
 
60
- When the implementation plan has multiple phases (e.g., scaffolding, landing, media_rtl):
61
- - **ONLY review work belonging to the current plan phase**
62
- - The query will specify which phase you are reviewing
63
- - Do NOT request changes for functionality scheduled in later phases
64
- - Do NOT flag missing features that are out of scope for this phase
65
- - If unsure whether something belongs to this phase, check the plan file
66
-
67
- ## Notes
68
-
69
- - This is a phase-level review, not the final PR review
70
- - Focus on "does this phase work" not "is the whole feature done"
71
- - If referencing line numbers, use `file:line` format
72
- - The builder needs actionable feedback to continue
45
+ Review **only the current plan phase** — the query names which one. Do not request changes for functionality scheduled in later phases, and do not flag missing features that are out of scope for this phase. If unsure whether something belongs to this phase, check the plan file. This is a phase-level review ("does this phase work"), not the final PR review.
@@ -1,44 +1,28 @@
1
1
  # Plan Review Prompt
2
2
 
3
3
  ## Context
4
- You are reviewing an implementation plan during the Plan phase. The spec has been approved - now you must evaluate whether the plan adequately describes HOW to implement it.
4
+
5
+ You are reviewing an implementation plan during the Plan phase. The spec is already approved; judge whether the plan adequately describes HOW to implement it.
5
6
 
6
7
  ## Baked Decisions
7
8
 
8
- If the issue body or the approved spec's Constraints section includes content under a "Baked Decisions" heading, the architect has marked those choices as fixed (this extends the existing "don't re-litigate spec decisions" rule with explicit baked-decision language). Do not autonomously challenge them: do not propose alternative languages, frameworks, deployment shapes, or dependencies that contradict a baked decision. You may `COMMENT` with concerns; reserve `REQUEST_CHANGES` for the case where the plan **fails to honor** a stated baked decision — that is a real defect.
9
+ If the issue body or the approved spec's Constraints section includes content under a "Baked Decisions" heading, the architect has marked those choices as fixed. Do not autonomously challenge them: do not propose alternative languages, frameworks, deployment shapes, or dependencies that contradict a baked decision. You may `COMMENT` with concerns; reserve `REQUEST_CHANGES` for the case where the plan **fails to honor** a stated baked decision — that is a real defect.
9
10
 
10
- If the baked decisions themselves contain contradictions, do not pick one — `REQUEST_CHANGES` and ask the architect to clarify before proceeding.
11
+ If the baked decisions themselves contradict each other, do not pick one — `REQUEST_CHANGES` and ask the architect to clarify before proceeding.
11
12
 
12
13
  ## Focus Areas
13
14
 
14
- 1. **Spec Coverage**
15
- - Does the plan address all requirements in the spec?
16
- - Are there spec requirements not covered by any phase?
17
- - Are there phases that go beyond the spec scope?
18
-
19
- 2. **Phase Breakdown**
20
- - Are phases appropriately sized (not too large or too small)?
21
- - Is the sequence logical (dependencies respected)?
22
- - Can each phase be completed and committed independently?
23
-
24
- 3. **Technical Approach**
25
- - Is the implementation approach sound?
26
- - Are the right files/modules being modified?
27
- - Are there obvious better approaches being missed?
15
+ - **Spec coverage** — every spec requirement is addressed by some phase; nothing goes beyond the spec's scope.
16
+ - **Phase breakdown** — phases are appropriately sized, logically sequenced (dependencies respected), and each can be completed and committed independently.
17
+ - **Technical approach** — the approach is sound, the right files/modules are targeted, and no obviously better approach is being missed.
18
+ - **Testability** — each phase has clear test criteria and the spec's edge cases are addressable.
19
+ - **Risk** — blockers and cross-system dependencies are identified; the plan is realistic given the constraints.
28
20
 
29
- 4. **Testability**
30
- - Does each phase have clear test criteria?
31
- - Will the Defend step (writing tests) be feasible?
32
- - Are edge cases from the spec addressable?
33
-
34
- 5. **Risk Assessment**
35
- - Are there potential blockers not addressed?
36
- - Are dependencies on other systems identified?
37
- - Is the plan realistic given constraints?
21
+ The spec is already approved — do not re-litigate spec decisions. Judge the plan as a guide a builder can follow successfully; verify referenced file paths look accurate.
38
22
 
39
23
  ## Verdict Format
40
24
 
41
- After your review, provide your verdict in exactly this format:
25
+ Provide your verdict in exactly this format — `consult` parses it:
42
26
 
43
27
  ```
44
28
  ---
@@ -52,14 +36,6 @@ KEY_ISSUES:
52
36
  ...
53
37
  ```
54
38
 
55
- **Verdict meanings:**
56
- - `APPROVE`: Plan is ready for human review
57
- - `REQUEST_CHANGES`: Significant issues with approach or coverage
58
- - `COMMENT`: Minor suggestions, plan is workable but could improve
59
-
60
- ## Notes
61
-
62
- - The spec has already been approved - don't re-litigate spec decisions
63
- - Focus on the quality of the plan as a guide for builders
64
- - Consider: Would a builder be able to follow this plan successfully?
65
- - If referencing existing code, verify file paths seem accurate
39
+ - `APPROVE`: plan is ready for human review.
40
+ - `REQUEST_CHANGES`: significant issues with approach or coverage.
41
+ - `COMMENT`: minor suggestions; the plan is workable but could improve.
@@ -1,44 +1,24 @@
1
1
  # PR Ready Review Prompt
2
2
 
3
3
  ## Context
4
- You are performing a final self-check during the Review phase. The builder has completed all implementation phases and is about to create a PR. This is the last check before the work goes to the architect for integration review.
5
4
 
6
- ## Focus Areas
7
-
8
- 1. **Completeness**
9
- - Are all spec requirements implemented?
10
- - Are all plan phases complete?
11
- - Is the review document written (`codev/reviews/XXXX-name.md`)?
12
- - Are all commits properly formatted (`[Spec XXXX][Phase]`)?
13
-
14
- 2. **Test Status**
15
- - Do all tests pass?
16
- - Is test coverage adequate for the changes?
17
- - Are there any skipped or flaky tests?
5
+ You are performing the final self-check during the Review phase — the builder has completed all implementation phases and is about to open the PR. This is the last check before the work goes to the architect for integration review.
18
6
 
19
- 3. **Code Cleanliness**
20
- - Is there any debug code left in?
21
- - Are there any TODO comments that should be resolved?
22
- - Are there any `// REVIEW:` comments that weren't addressed?
23
- - Is the code properly formatted?
24
-
25
- 4. **Documentation**
26
- - Are inline comments clear where needed?
27
- - Is the review document comprehensive?
28
- - Are any new APIs documented?
7
+ ## Focus Areas
29
8
 
30
- 5. **PR Readiness**
31
- - Is the branch up to date with its base (the integration branch the PR targets)?
32
- - Are commits atomic and well-described?
33
- - Is the change diff reasonable in size?
9
+ - **Completeness** — all spec requirements implemented, all plan phases complete, the review document written (`codev/reviews/XXXX-name.md`), and commits in the `[Spec XXXX][Phase]` format.
10
+ - **Test Status** — all tests pass, coverage is adequate for the changes, and any skipped/flaky tests are accounted for.
11
+ - **Code Cleanliness** — no debug code, no stray `TODO` / `// REVIEW:` left unaddressed, code properly formatted.
12
+ - **Documentation** — inline comments clear where needed, the review document comprehensive, new APIs documented.
13
+ - **PR Readiness** — the branch is up to date with its base (the integration branch the PR targets), commits are atomic and well-described, and the diff size is reasonable.
34
14
 
35
15
  ## Scope
36
16
 
37
- - **DO NOT** flag the syntax of `git diff` examples that appear in review-file prose (e.g., `git diff ci..HEAD` inside a "Files Changed" caption or "How to Test Locally" section). Quoted diff syntax is documentation, not a command. Apply two-dot/three-dot scrutiny only to diffs you compute yourself.
17
+ Do not flag the syntax of `git diff` examples that appear in review-file prose (e.g. `git diff ci..HEAD` inside a "Files Changed" caption or "How to Test Locally" section) — quoted diff syntax is documentation, not a command. Apply two-dot/three-dot scrutiny only to diffs you compute yourself.
38
18
 
39
19
  ## Verdict Format
40
20
 
41
- After your review, provide your verdict in exactly this format:
21
+ Provide your verdict in exactly this format — `consult` parses it:
42
22
 
43
23
  ```
44
24
  ---
@@ -63,14 +43,8 @@ PR_SUMMARY: |
63
43
  - [How to test]
64
44
  ```
65
45
 
66
- **Verdict meanings:**
67
- - `APPROVE`: Ready to create PR
68
- - `REQUEST_CHANGES`: Issues to fix before PR creation
69
- - `COMMENT`: Minor items, can create PR but note feedback
70
-
71
- ## Notes
46
+ - `APPROVE`: ready to create the PR.
47
+ - `REQUEST_CHANGES`: issues to fix before PR creation.
48
+ - `COMMENT`: minor items; can create the PR but note the feedback.
72
49
 
73
- - This is the builder's final self-review before hand-off
74
- - The PR_SUMMARY in your output can be used as the PR description
75
- - Focus on "is this ready for someone else to review" not "is this perfect"
76
- - Any issues found here are cheaper to fix than during integration review
50
+ The `PR_SUMMARY` block can be used directly as the PR description.