@cluesmith/codev 3.0.0-rc.1 → 3.0.0-rc.11

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 (328) hide show
  1. package/LICENSE +201 -0
  2. package/bin/af.js +2 -2
  3. package/bin/afx.js +8 -0
  4. package/bin/consult.js +2 -1
  5. package/bin/team.js +2 -1
  6. package/{dashboard/dist/assets/index-nr0cXxtf.css → dashboard-dist/assets/index-Bs8I7N2s.css} +1 -1
  7. package/dashboard-dist/assets/index-CkNo2z6t.js +195 -0
  8. package/dashboard-dist/assets/index-CkNo2z6t.js.map +1 -0
  9. package/dashboard-dist/dist/assets/index-Bs8I7N2s.css +32 -0
  10. package/dashboard-dist/dist/assets/index-CkNo2z6t.js +195 -0
  11. package/dashboard-dist/dist/assets/index-CkNo2z6t.js.map +1 -0
  12. package/{dashboard → dashboard-dist}/dist/index.html +2 -2
  13. package/dashboard-dist/index.html +14 -0
  14. package/dist/agent-farm/cli.d.ts.map +1 -1
  15. package/dist/agent-farm/cli.js +17 -14
  16. package/dist/agent-farm/cli.js.map +1 -1
  17. package/dist/agent-farm/commands/architect.d.ts +4 -4
  18. package/dist/agent-farm/commands/architect.d.ts.map +1 -1
  19. package/dist/agent-farm/commands/architect.js +23 -12
  20. package/dist/agent-farm/commands/architect.js.map +1 -1
  21. package/dist/agent-farm/commands/attach.js +8 -8
  22. package/dist/agent-farm/commands/attach.js.map +1 -1
  23. package/dist/agent-farm/commands/bench.d.ts +1 -1
  24. package/dist/agent-farm/commands/bench.js +1 -1
  25. package/dist/agent-farm/commands/cleanup.d.ts.map +1 -1
  26. package/dist/agent-farm/commands/cleanup.js +10 -5
  27. package/dist/agent-farm/commands/cleanup.js.map +1 -1
  28. package/dist/agent-farm/commands/cron.js +1 -1
  29. package/dist/agent-farm/commands/cron.js.map +1 -1
  30. package/dist/agent-farm/commands/db.d.ts +3 -3
  31. package/dist/agent-farm/commands/db.js +4 -4
  32. package/dist/agent-farm/commands/db.js.map +1 -1
  33. package/dist/agent-farm/commands/open.js +2 -2
  34. package/dist/agent-farm/commands/open.js.map +1 -1
  35. package/dist/agent-farm/commands/rename.js +1 -1
  36. package/dist/agent-farm/commands/rename.js.map +1 -1
  37. package/dist/agent-farm/commands/send.d.ts +4 -1
  38. package/dist/agent-farm/commands/send.d.ts.map +1 -1
  39. package/dist/agent-farm/commands/send.js +8 -5
  40. package/dist/agent-farm/commands/send.js.map +1 -1
  41. package/dist/agent-farm/commands/shell.js +3 -3
  42. package/dist/agent-farm/commands/shell.js.map +1 -1
  43. package/dist/agent-farm/commands/spawn-roles.d.ts +2 -1
  44. package/dist/agent-farm/commands/spawn-roles.d.ts.map +1 -1
  45. package/dist/agent-farm/commands/spawn-roles.js +1 -1
  46. package/dist/agent-farm/commands/spawn-roles.js.map +1 -1
  47. package/dist/agent-farm/commands/spawn-worktree.d.ts +49 -10
  48. package/dist/agent-farm/commands/spawn-worktree.d.ts.map +1 -1
  49. package/dist/agent-farm/commands/spawn-worktree.js +356 -51
  50. package/dist/agent-farm/commands/spawn-worktree.js.map +1 -1
  51. package/dist/agent-farm/commands/spawn.d.ts +6 -6
  52. package/dist/agent-farm/commands/spawn.d.ts.map +1 -1
  53. package/dist/agent-farm/commands/spawn.js +182 -74
  54. package/dist/agent-farm/commands/spawn.js.map +1 -1
  55. package/dist/agent-farm/commands/status.d.ts.map +1 -1
  56. package/dist/agent-farm/commands/status.js +48 -3
  57. package/dist/agent-farm/commands/status.js.map +1 -1
  58. package/dist/agent-farm/commands/team-update.d.ts +1 -1
  59. package/dist/agent-farm/commands/team-update.d.ts.map +1 -1
  60. package/dist/agent-farm/commands/team-update.js +8 -5
  61. package/dist/agent-farm/commands/team-update.js.map +1 -1
  62. package/dist/agent-farm/commands/team.d.ts +1 -1
  63. package/dist/agent-farm/commands/team.d.ts.map +1 -1
  64. package/dist/agent-farm/commands/team.js +7 -3
  65. package/dist/agent-farm/commands/team.js.map +1 -1
  66. package/dist/agent-farm/commands/tower-cloud.d.ts +2 -2
  67. package/dist/agent-farm/commands/tower-cloud.js +3 -3
  68. package/dist/agent-farm/commands/tower-cloud.js.map +1 -1
  69. package/dist/agent-farm/commands/tower.js +2 -2
  70. package/dist/agent-farm/commands/tower.js.map +1 -1
  71. package/dist/agent-farm/lib/cloud-config.js +2 -2
  72. package/dist/agent-farm/lib/cloud-config.js.map +1 -1
  73. package/dist/agent-farm/lib/tower-client.d.ts +6 -230
  74. package/dist/agent-farm/lib/tower-client.d.ts.map +1 -1
  75. package/dist/agent-farm/lib/tower-client.js +6 -293
  76. package/dist/agent-farm/lib/tower-client.js.map +1 -1
  77. package/dist/agent-farm/lib/tunnel-client.js +1 -1
  78. package/dist/agent-farm/lib/tunnel-client.js.map +1 -1
  79. package/dist/agent-farm/servers/message-write.d.ts +24 -0
  80. package/dist/agent-farm/servers/message-write.d.ts.map +1 -0
  81. package/dist/agent-farm/servers/message-write.js +63 -0
  82. package/dist/agent-farm/servers/message-write.js.map +1 -0
  83. package/dist/agent-farm/servers/overview.d.ts +10 -8
  84. package/dist/agent-farm/servers/overview.d.ts.map +1 -1
  85. package/dist/agent-farm/servers/overview.js +78 -38
  86. package/dist/agent-farm/servers/overview.js.map +1 -1
  87. package/dist/agent-farm/servers/send-buffer.d.ts +4 -3
  88. package/dist/agent-farm/servers/send-buffer.d.ts.map +1 -1
  89. package/dist/agent-farm/servers/send-buffer.js +7 -4
  90. package/dist/agent-farm/servers/send-buffer.js.map +1 -1
  91. package/dist/agent-farm/servers/tower-cron-parser.js +1 -1
  92. package/dist/agent-farm/servers/tower-cron-parser.js.map +1 -1
  93. package/dist/agent-farm/servers/tower-cron.d.ts.map +1 -1
  94. package/dist/agent-farm/servers/tower-cron.js +4 -5
  95. package/dist/agent-farm/servers/tower-cron.js.map +1 -1
  96. package/dist/agent-farm/servers/tower-instances.d.ts.map +1 -1
  97. package/dist/agent-farm/servers/tower-instances.js +15 -13
  98. package/dist/agent-farm/servers/tower-instances.js.map +1 -1
  99. package/dist/agent-farm/servers/tower-routes.d.ts.map +1 -1
  100. package/dist/agent-farm/servers/tower-routes.js +9 -16
  101. package/dist/agent-farm/servers/tower-routes.js.map +1 -1
  102. package/dist/agent-farm/servers/tower-server.js +1 -1
  103. package/dist/agent-farm/servers/tower-terminals.d.ts +2 -2
  104. package/dist/agent-farm/servers/tower-terminals.d.ts.map +1 -1
  105. package/dist/agent-farm/servers/tower-terminals.js +64 -36
  106. package/dist/agent-farm/servers/tower-terminals.js.map +1 -1
  107. package/dist/agent-farm/servers/tower-tunnel.js +2 -2
  108. package/dist/agent-farm/servers/tower-tunnel.js.map +1 -1
  109. package/dist/agent-farm/servers/tower-utils.d.ts +9 -6
  110. package/dist/agent-farm/servers/tower-utils.d.ts.map +1 -1
  111. package/dist/agent-farm/servers/tower-utils.js +13 -7
  112. package/dist/agent-farm/servers/tower-utils.js.map +1 -1
  113. package/dist/agent-farm/types.d.ts +13 -0
  114. package/dist/agent-farm/types.d.ts.map +1 -1
  115. package/dist/agent-farm/utils/config.d.ts +11 -0
  116. package/dist/agent-farm/utils/config.d.ts.map +1 -1
  117. package/dist/agent-farm/utils/config.js +39 -17
  118. package/dist/agent-farm/utils/config.js.map +1 -1
  119. package/dist/agent-farm/utils/harness.d.ts +85 -0
  120. package/dist/agent-farm/utils/harness.d.ts.map +1 -0
  121. package/dist/agent-farm/utils/harness.js +212 -0
  122. package/dist/agent-farm/utils/harness.js.map +1 -0
  123. package/dist/agent-farm/utils/roles.d.ts +11 -4
  124. package/dist/agent-farm/utils/roles.d.ts.map +1 -1
  125. package/dist/agent-farm/utils/roles.js +21 -6
  126. package/dist/agent-farm/utils/roles.js.map +1 -1
  127. package/dist/cli.d.ts +1 -1
  128. package/dist/cli.d.ts.map +1 -1
  129. package/dist/cli.js +40 -5
  130. package/dist/cli.js.map +1 -1
  131. package/dist/commands/adopt.d.ts.map +1 -1
  132. package/dist/commands/adopt.js +16 -45
  133. package/dist/commands/adopt.js.map +1 -1
  134. package/dist/commands/consult/index.d.ts +37 -3
  135. package/dist/commands/consult/index.d.ts.map +1 -1
  136. package/dist/commands/consult/index.js +281 -194
  137. package/dist/commands/consult/index.js.map +1 -1
  138. package/dist/commands/doctor.d.ts.map +1 -1
  139. package/dist/commands/doctor.js +121 -31
  140. package/dist/commands/doctor.js.map +1 -1
  141. package/dist/commands/init.d.ts.map +1 -1
  142. package/dist/commands/init.js +13 -43
  143. package/dist/commands/init.js.map +1 -1
  144. package/dist/commands/porch/artifacts.d.ts +69 -0
  145. package/dist/commands/porch/artifacts.d.ts.map +1 -0
  146. package/dist/commands/porch/artifacts.js +368 -0
  147. package/dist/commands/porch/artifacts.js.map +1 -0
  148. package/dist/commands/porch/checks.d.ts +14 -3
  149. package/dist/commands/porch/checks.d.ts.map +1 -1
  150. package/dist/commands/porch/checks.js +150 -4
  151. package/dist/commands/porch/checks.js.map +1 -1
  152. package/dist/commands/porch/config.d.ts +6 -9
  153. package/dist/commands/porch/config.d.ts.map +1 -1
  154. package/dist/commands/porch/config.js +12 -37
  155. package/dist/commands/porch/config.js.map +1 -1
  156. package/dist/commands/porch/index.d.ts +12 -7
  157. package/dist/commands/porch/index.d.ts.map +1 -1
  158. package/dist/commands/porch/index.js +273 -82
  159. package/dist/commands/porch/index.js.map +1 -1
  160. package/dist/commands/porch/next.d.ts.map +1 -1
  161. package/dist/commands/porch/next.js +142 -75
  162. package/dist/commands/porch/next.js.map +1 -1
  163. package/dist/commands/porch/notify.d.ts +2 -2
  164. package/dist/commands/porch/notify.js +5 -5
  165. package/dist/commands/porch/notify.js.map +1 -1
  166. package/dist/commands/porch/prompts.d.ts +2 -1
  167. package/dist/commands/porch/prompts.d.ts.map +1 -1
  168. package/dist/commands/porch/prompts.js +34 -38
  169. package/dist/commands/porch/prompts.js.map +1 -1
  170. package/dist/commands/porch/protocol.d.ts +4 -3
  171. package/dist/commands/porch/protocol.d.ts.map +1 -1
  172. package/dist/commands/porch/protocol.js +21 -21
  173. package/dist/commands/porch/protocol.js.map +1 -1
  174. package/dist/commands/porch/state.d.ts +27 -2
  175. package/dist/commands/porch/state.d.ts.map +1 -1
  176. package/dist/commands/porch/state.js +100 -9
  177. package/dist/commands/porch/state.js.map +1 -1
  178. package/dist/commands/porch/types.d.ts +10 -2
  179. package/dist/commands/porch/types.d.ts.map +1 -1
  180. package/dist/commands/sync.d.ts +26 -0
  181. package/dist/commands/sync.d.ts.map +1 -0
  182. package/dist/commands/sync.js +207 -0
  183. package/dist/commands/sync.js.map +1 -0
  184. package/dist/commands/update.d.ts +15 -2
  185. package/dist/commands/update.d.ts.map +1 -1
  186. package/dist/commands/update.js +159 -202
  187. package/dist/commands/update.js.map +1 -1
  188. package/dist/lib/config.d.ts +96 -0
  189. package/dist/lib/config.d.ts.map +1 -0
  190. package/dist/lib/config.js +165 -0
  191. package/dist/lib/config.js.map +1 -0
  192. package/dist/lib/forge-contracts.d.ts +100 -0
  193. package/dist/lib/forge-contracts.d.ts.map +1 -0
  194. package/dist/lib/forge-contracts.js +35 -0
  195. package/dist/lib/forge-contracts.js.map +1 -0
  196. package/dist/lib/forge.d.ts +102 -0
  197. package/dist/lib/forge.d.ts.map +1 -0
  198. package/dist/lib/forge.js +376 -0
  199. package/dist/lib/forge.js.map +1 -0
  200. package/dist/lib/github.d.ts +68 -60
  201. package/dist/lib/github.d.ts.map +1 -1
  202. package/dist/lib/github.js +160 -169
  203. package/dist/lib/github.js.map +1 -1
  204. package/dist/lib/skeleton.d.ts +15 -5
  205. package/dist/lib/skeleton.d.ts.map +1 -1
  206. package/dist/lib/skeleton.js +82 -7
  207. package/dist/lib/skeleton.js.map +1 -1
  208. package/dist/lib/team-github.d.ts +7 -3
  209. package/dist/lib/team-github.d.ts.map +1 -1
  210. package/dist/lib/team-github.js +29 -19
  211. package/dist/lib/team-github.js.map +1 -1
  212. package/dist/terminal/pty-manager.d.ts.map +1 -1
  213. package/dist/terminal/pty-manager.js +2 -0
  214. package/dist/terminal/pty-manager.js.map +1 -1
  215. package/dist/terminal/ws-protocol.d.ts +10 -8
  216. package/dist/terminal/ws-protocol.d.ts.map +1 -1
  217. package/dist/terminal/ws-protocol.js +3 -0
  218. package/dist/terminal/ws-protocol.js.map +1 -1
  219. package/package.json +27 -24
  220. package/scripts/forge/gitea/auth-status.sh +3 -0
  221. package/scripts/forge/gitea/issue-comment.sh +3 -0
  222. package/scripts/forge/gitea/issue-list.sh +3 -0
  223. package/scripts/forge/gitea/issue-view.sh +3 -0
  224. package/scripts/forge/gitea/pr-exists.sh +6 -0
  225. package/scripts/forge/gitea/pr-list.sh +3 -0
  226. package/scripts/forge/gitea/pr-merge.sh +3 -0
  227. package/scripts/forge/gitea/pr-view.sh +3 -0
  228. package/scripts/forge/gitea/recently-closed.sh +3 -0
  229. package/scripts/forge/gitea/recently-merged.sh +3 -0
  230. package/scripts/forge/gitea/repo-archive.sh +11 -0
  231. package/scripts/forge/gitea/user-identity.sh +3 -0
  232. package/scripts/forge/github/auth-status.sh +4 -0
  233. package/scripts/forge/github/issue-comment.sh +5 -0
  234. package/scripts/forge/github/issue-list.sh +4 -0
  235. package/scripts/forge/github/issue-view.sh +5 -0
  236. package/scripts/forge/github/on-it-timestamps.sh +8 -0
  237. package/scripts/forge/github/pr-diff.sh +10 -0
  238. package/scripts/forge/github/pr-exists.sh +7 -0
  239. package/scripts/forge/github/pr-list.sh +4 -0
  240. package/scripts/forge/github/pr-merge.sh +5 -0
  241. package/scripts/forge/github/pr-search.sh +5 -0
  242. package/scripts/forge/github/pr-view.sh +11 -0
  243. package/scripts/forge/github/recently-closed.sh +15 -0
  244. package/scripts/forge/github/recently-merged.sh +15 -0
  245. package/scripts/forge/github/repo-archive.sh +10 -0
  246. package/scripts/forge/github/team-activity.sh +5 -0
  247. package/scripts/forge/github/user-identity.sh +4 -0
  248. package/scripts/forge/gitlab/auth-status.sh +3 -0
  249. package/scripts/forge/gitlab/issue-comment.sh +3 -0
  250. package/scripts/forge/gitlab/issue-list.sh +3 -0
  251. package/scripts/forge/gitlab/issue-view.sh +3 -0
  252. package/scripts/forge/gitlab/pr-diff.sh +3 -0
  253. package/scripts/forge/gitlab/pr-exists.sh +5 -0
  254. package/scripts/forge/gitlab/pr-list.sh +3 -0
  255. package/scripts/forge/gitlab/pr-merge.sh +3 -0
  256. package/scripts/forge/gitlab/pr-search.sh +3 -0
  257. package/scripts/forge/gitlab/pr-view.sh +3 -0
  258. package/scripts/forge/gitlab/recently-closed.sh +3 -0
  259. package/scripts/forge/gitlab/recently-merged.sh +3 -0
  260. package/scripts/forge/gitlab/repo-archive.sh +12 -0
  261. package/scripts/forge/gitlab/user-identity.sh +3 -0
  262. package/skeleton/.claude/skills/afx/SKILL.md +144 -0
  263. package/skeleton/.claude/skills/codev/SKILL.md +3 -3
  264. package/skeleton/.claude/skills/consult/SKILL.md +1 -1
  265. package/skeleton/.claude/skills/porch/SKILL.md +2 -2
  266. package/skeleton/DEPENDENCIES.md +1 -1
  267. package/skeleton/builders.md +4 -4
  268. package/skeleton/protocol-schema.json +2 -2
  269. package/skeleton/protocols/air/builder-prompt.md +6 -6
  270. package/skeleton/protocols/air/prompts/pr.md +17 -5
  271. package/skeleton/protocols/air/protocol.md +1 -2
  272. package/skeleton/protocols/aspir/builder-prompt.md +28 -6
  273. package/skeleton/protocols/aspir/prompts/review.md +11 -0
  274. package/skeleton/protocols/aspir/protocol.json +9 -1
  275. package/skeleton/protocols/aspir/protocol.md +1 -1
  276. package/skeleton/protocols/aspir/templates/plan.md +0 -20
  277. package/skeleton/protocols/aspir/templates/spec.md +0 -28
  278. package/skeleton/protocols/bugfix/builder-prompt.md +6 -6
  279. package/skeleton/protocols/bugfix/prompts/pr.md +16 -4
  280. package/skeleton/protocols/experiment/builder-prompt.md +15 -0
  281. package/skeleton/protocols/experiment/protocol.md +1 -6
  282. package/skeleton/protocols/maintain/builder-prompt.md +12 -11
  283. package/skeleton/protocols/maintain/prompts/maintain.md +88 -0
  284. package/skeleton/protocols/maintain/prompts/review.md +84 -0
  285. package/skeleton/protocols/maintain/protocol.json +14 -68
  286. package/skeleton/protocols/maintain/protocol.md +111 -409
  287. package/skeleton/protocols/maintain/templates/maintenance-run.md +18 -49
  288. package/skeleton/protocols/protocol-schema.json +1 -1
  289. package/skeleton/protocols/spike/builder-prompt.md +1 -1
  290. package/skeleton/protocols/spike/protocol.md +4 -4
  291. package/skeleton/protocols/spir/builder-prompt.md +28 -5
  292. package/skeleton/protocols/spir/prompts/review.md +11 -0
  293. package/skeleton/protocols/spir/protocol.json +9 -1
  294. package/skeleton/protocols/spir/protocol.md +2 -2
  295. package/skeleton/protocols/spir/templates/plan.md +0 -20
  296. package/skeleton/protocols/spir/templates/spec.md +0 -28
  297. package/skeleton/resources/commands/agent-farm.md +84 -84
  298. package/skeleton/resources/commands/codev.md +1 -1
  299. package/skeleton/resources/commands/consult.md +16 -7
  300. package/skeleton/resources/commands/overview.md +14 -15
  301. package/skeleton/resources/risk-triage.md +1 -1
  302. package/skeleton/resources/workflow-reference.md +14 -14
  303. package/skeleton/roles/architect.md +55 -43
  304. package/skeleton/roles/builder.md +22 -14
  305. package/skeleton/templates/AGENTS.md +4 -3
  306. package/skeleton/templates/CLAUDE.md +4 -3
  307. package/skeleton/templates/cheatsheet.md +11 -12
  308. package/templates/3d-viewer.html +16 -18
  309. package/templates/tower.html +1 -1
  310. package/dashboard/dist/assets/index-CiIBsixF.js +0 -194
  311. package/dashboard/dist/assets/index-CiIBsixF.js.map +0 -1
  312. package/skeleton/.claude/skills/af/SKILL.md +0 -146
  313. package/skeleton/porch/prompts/understand.md +0 -61
  314. package/skeleton/porch/prompts/verify.md +0 -58
  315. package/skeleton/protocols/maintain/prompts/audit.md +0 -111
  316. package/skeleton/protocols/maintain/prompts/clean.md +0 -91
  317. package/skeleton/protocols/maintain/prompts/sync.md +0 -113
  318. package/skeleton/protocols/maintain/prompts/verify.md +0 -110
  319. package/skeleton/protocols/tick/builder-prompt.md +0 -65
  320. package/skeleton/protocols/tick/consult-types/impl-review.md +0 -72
  321. package/skeleton/protocols/tick/consult-types/plan-review.md +0 -59
  322. package/skeleton/protocols/tick/consult-types/pr-review.md +0 -72
  323. package/skeleton/protocols/tick/consult-types/spec-review.md +0 -55
  324. package/skeleton/protocols/tick/protocol.json +0 -151
  325. package/skeleton/protocols/tick/protocol.md +0 -277
  326. package/skeleton/protocols/tick/templates/plan.md +0 -67
  327. package/skeleton/protocols/tick/templates/review.md +0 -89
  328. package/skeleton/protocols/tick/templates/spec.md +0 -61
@@ -1,65 +0,0 @@
1
- # {{protocol_name}} Builder ({{mode}} mode)
2
-
3
- You are implementing {{input_description}}.
4
-
5
- {{#if mode_soft}}
6
- ## Mode: SOFT
7
- You are running in SOFT mode. This means:
8
- - You follow the TICK protocol 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
12
- {{/if}}
13
-
14
- {{#if mode_strict}}
15
- ## 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
-
21
- ### ABSOLUTE RESTRICTIONS (STRICT MODE)
22
- - **NEVER edit `status.yaml` directly** — only porch commands may modify project state
23
- - **NEVER call `porch approve` without explicit human approval** — only run it after the architect says to
24
- - **NEVER skip the 3-way review** — always follow porch next → porch done cycle
25
- {{/if}}
26
-
27
- ## Protocol
28
- Follow the TICK protocol: `codev/protocols/tick/protocol.md`
29
-
30
- TICK is for amendments to existing SPIR specifications. You will:
31
- 1. Identify the target spec to amend
32
- 2. Update the spec with the amendment
33
- 3. Update the plan
34
- 4. Implement the changes
35
- 5. Defend with tests
36
- 6. Create review
37
-
38
- {{#if spec}}
39
- ## Target Spec
40
- The spec to amend is at: `{{spec.path}}`
41
- {{/if}}
42
-
43
- {{#if plan}}
44
- ## Target Plan
45
- The plan to amend is at: `{{plan.path}}`
46
- {{/if}}
47
-
48
- {{#if task}}
49
- ## Amendment Description
50
- {{task_text}}
51
- {{/if}}
52
-
53
- ## Handling Flaky Tests
54
-
55
- If you encounter **pre-existing flaky tests** (intermittent failures unrelated to your changes):
56
- 1. **DO NOT** edit `status.yaml` to bypass checks
57
- 2. **DO NOT** skip porch checks or use any workaround to avoid the failure
58
- 3. **DO** mark the test as skipped with a clear annotation (e.g., `it.skip('...') // FLAKY: skipped pending investigation`)
59
- 4. **DO** document each skipped flaky test in your review under a `## Flaky Tests` section
60
- 5. Commit the skip and continue with your work
61
-
62
- ## Getting Started
63
- 1. Read the TICK protocol thoroughly
64
- 2. Identify what needs to change in the existing spec
65
- 3. Follow the amendment workflow
@@ -1,72 +0,0 @@
1
- # Implementation Review Prompt
2
-
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
-
6
- ## CRITICAL: Verify Before Flagging
7
-
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
13
-
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?
24
-
25
- 3. **Test Coverage**
26
- - Are the tests adequate for this phase?
27
- - Do tests cover the main paths AND edge cases?
28
-
29
- 4. **Plan Alignment**
30
- - Does the implementation follow the plan?
31
- - Are there plan items skipped or partially completed?
32
-
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?
36
-
37
- ## Verdict Format
38
-
39
- After your review, provide your verdict in exactly this format:
40
-
41
- ```
42
- ---
43
- VERDICT: [APPROVE | REQUEST_CHANGES | COMMENT]
44
- SUMMARY: [One-line summary of your assessment]
45
- CONFIDENCE: [HIGH | MEDIUM | LOW]
46
- ---
47
- KEY_ISSUES:
48
- - [Issue 1 or "None"]
49
- - [Issue 2]
50
- ...
51
- ```
52
-
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
57
-
58
- ## Scoping (Multi-Phase Plans)
59
-
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
@@ -1,59 +0,0 @@
1
- # Plan Review Prompt
2
-
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.
5
-
6
- ## Focus Areas
7
-
8
- 1. **Spec Coverage**
9
- - Does the plan address all requirements in the spec?
10
- - Are there spec requirements not covered by any phase?
11
- - Are there phases that go beyond the spec scope?
12
-
13
- 2. **Phase Breakdown**
14
- - Are phases appropriately sized (not too large or too small)?
15
- - Is the sequence logical (dependencies respected)?
16
- - Can each phase be completed and committed independently?
17
-
18
- 3. **Technical Approach**
19
- - Is the implementation approach sound?
20
- - Are the right files/modules being modified?
21
- - Are there obvious better approaches being missed?
22
-
23
- 4. **Testability**
24
- - Does each phase have clear test criteria?
25
- - Will the Defend step (writing tests) be feasible?
26
- - Are edge cases from the spec addressable?
27
-
28
- 5. **Risk Assessment**
29
- - Are there potential blockers not addressed?
30
- - Are dependencies on other systems identified?
31
- - Is the plan realistic given constraints?
32
-
33
- ## Verdict Format
34
-
35
- After your review, provide your verdict in exactly this format:
36
-
37
- ```
38
- ---
39
- VERDICT: [APPROVE | REQUEST_CHANGES | COMMENT]
40
- SUMMARY: [One-line summary of your assessment]
41
- CONFIDENCE: [HIGH | MEDIUM | LOW]
42
- ---
43
- KEY_ISSUES:
44
- - [Issue 1 or "None"]
45
- - [Issue 2]
46
- ...
47
- ```
48
-
49
- **Verdict meanings:**
50
- - `APPROVE`: Plan is ready for human review
51
- - `REQUEST_CHANGES`: Significant issues with approach or coverage
52
- - `COMMENT`: Minor suggestions, plan is workable but could improve
53
-
54
- ## Notes
55
-
56
- - The spec has already been approved - don't re-litigate spec decisions
57
- - Focus on the quality of the plan as a guide for builders
58
- - Consider: Would a builder be able to follow this plan successfully?
59
- - If referencing existing code, verify file paths seem accurate
@@ -1,72 +0,0 @@
1
- # PR Ready Review Prompt
2
-
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
-
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?
18
-
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?
29
-
30
- 5. **PR Readiness**
31
- - Is the branch up to date with main?
32
- - Are commits atomic and well-described?
33
- - Is the change diff reasonable in size?
34
-
35
- ## Verdict Format
36
-
37
- After your review, provide your verdict in exactly this format:
38
-
39
- ```
40
- ---
41
- VERDICT: [APPROVE | REQUEST_CHANGES | COMMENT]
42
- SUMMARY: [One-line summary of your assessment]
43
- CONFIDENCE: [HIGH | MEDIUM | LOW]
44
- ---
45
- KEY_ISSUES:
46
- - [Issue 1 or "None"]
47
- - [Issue 2]
48
- ...
49
-
50
- PR_SUMMARY: |
51
- ## Summary
52
- [2-3 sentences describing what this PR does]
53
-
54
- ## Key Changes
55
- - [Change 1]
56
- - [Change 2]
57
-
58
- ## Test Plan
59
- - [How to test]
60
- ```
61
-
62
- **Verdict meanings:**
63
- - `APPROVE`: Ready to create PR
64
- - `REQUEST_CHANGES`: Issues to fix before PR creation
65
- - `COMMENT`: Minor items, can create PR but note feedback
66
-
67
- ## Notes
68
-
69
- - This is the builder's final self-review before hand-off
70
- - The PR_SUMMARY in your output can be used as the PR description
71
- - Focus on "is this ready for someone else to review" not "is this perfect"
72
- - Any issues found here are cheaper to fix than during integration review
@@ -1,55 +0,0 @@
1
- # Specification Review Prompt
2
-
3
- ## Context
4
- You are reviewing a feature specification during the Specify phase. Your role is to ensure the spec is complete, correct, and feasible before it moves to human approval.
5
-
6
- ## Focus Areas
7
-
8
- 1. **Completeness**
9
- - Are all requirements clearly stated?
10
- - Are success criteria defined?
11
- - Are edge cases considered?
12
- - Is scope well-bounded (not too broad or vague)?
13
-
14
- 2. **Correctness**
15
- - Do requirements make sense technically?
16
- - Are there contradictions?
17
- - Is the problem statement accurate?
18
-
19
- 3. **Feasibility**
20
- - Can this be implemented with available tools/constraints?
21
- - Are there obvious technical blockers?
22
- - Is the scope realistic for a single spec?
23
-
24
- 4. **Clarity**
25
- - Would a builder understand what to build?
26
- - Are acceptance criteria testable?
27
- - Is terminology consistent?
28
-
29
- ## Verdict Format
30
-
31
- After your review, provide your verdict in exactly this format:
32
-
33
- ```
34
- ---
35
- VERDICT: [APPROVE | REQUEST_CHANGES | COMMENT]
36
- SUMMARY: [One-line summary of your assessment]
37
- CONFIDENCE: [HIGH | MEDIUM | LOW]
38
- ---
39
- KEY_ISSUES:
40
- - [Issue 1 or "None"]
41
- - [Issue 2]
42
- ...
43
- ```
44
-
45
- **Verdict meanings:**
46
- - `APPROVE`: Spec is ready for human review
47
- - `REQUEST_CHANGES`: Significant issues must be fixed before proceeding
48
- - `COMMENT`: Minor suggestions, can proceed but consider feedback
49
-
50
- ## Notes
51
-
52
- - You are NOT reviewing code - you are reviewing the specification document
53
- - Focus on WHAT is being built, not HOW it will be implemented (that's for plan review)
54
- - Be constructive - identify issues AND suggest solutions
55
- - If the spec references other specs, note if context seems missing
@@ -1,151 +0,0 @@
1
- {
2
- "$schema": "../../protocol-schema.json",
3
- "name": "tick",
4
- "version": "1.1.0",
5
- "description": "Amendment workflow for existing SPIR specifications",
6
- "input": {
7
- "type": "spec",
8
- "required": false
9
- },
10
- "phases": [
11
- {
12
- "id": "identify",
13
- "name": "Identify Target",
14
- "description": "Find the existing spec to amend",
15
- "type": "once",
16
- "steps": [
17
- "analyze_requirements",
18
- "find_target_spec",
19
- "verify_spec_integrated",
20
- "determine_tick_number"
21
- ],
22
- "transition": {
23
- "on_complete": "amend_spec"
24
- }
25
- },
26
- {
27
- "id": "amend_spec",
28
- "name": "Amend Specification",
29
- "description": "Update the existing specification",
30
- "type": "once",
31
- "steps": [
32
- "analyze_changes_needed",
33
- "update_spec_sections",
34
- "add_amendment_entry",
35
- "commit_spec_changes"
36
- ],
37
- "transition": {
38
- "on_complete": "amend_plan"
39
- }
40
- },
41
- {
42
- "id": "amend_plan",
43
- "name": "Amend Plan",
44
- "description": "Update the existing plan",
45
- "type": "once",
46
- "steps": [
47
- "update_plan_phases",
48
- "add_amendment_history",
49
- "commit_plan_changes"
50
- ],
51
- "transition": {
52
- "on_complete": "implement"
53
- }
54
- },
55
- {
56
- "id": "implement",
57
- "name": "Implement",
58
- "description": "Implement the amendment",
59
- "type": "once",
60
- "steps": [
61
- "implement_changes",
62
- "self_review",
63
- "commit"
64
- ],
65
- "checks": {
66
- "build": {
67
- "command": "npm run build",
68
- "on_fail": "retry",
69
- "max_retries": 2
70
- }
71
- },
72
- "transition": {
73
- "on_complete": "defend"
74
- }
75
- },
76
- {
77
- "id": "defend",
78
- "name": "Defend",
79
- "description": "Test the amendment",
80
- "type": "once",
81
- "steps": [
82
- "write_tests",
83
- "run_tests",
84
- "fix_failures"
85
- ],
86
- "checks": {
87
- "tests": {
88
- "command": "npm test",
89
- "on_fail": "implement",
90
- "max_retries": 1
91
- }
92
- },
93
- "transition": {
94
- "on_complete": "evaluate"
95
- }
96
- },
97
- {
98
- "id": "evaluate",
99
- "name": "Evaluate",
100
- "description": "Verify amendment meets requirements",
101
- "type": "once",
102
- "steps": [
103
- "verify_requirements",
104
- "check_regressions"
105
- ],
106
- "transition": {
107
- "on_complete": "review"
108
- }
109
- },
110
- {
111
- "id": "review",
112
- "name": "Review",
113
- "description": "Create review document and PR",
114
- "type": "once",
115
- "steps": [
116
- "create_tick_review",
117
- "create_pr"
118
- ],
119
- "consultation": {
120
- "on": "review",
121
- "models": ["gemini", "codex"],
122
- "type": "impl",
123
- "parallel": true,
124
- "max_rounds": 1
125
- },
126
- "gate": "pr"
127
- }
128
- ],
129
- "signals": {
130
- "PHASE_COMPLETE": {
131
- "description": "Signal current phase is complete",
132
- "transitions_to": "next_phase"
133
- },
134
- "BLOCKED": {
135
- "description": "Signal implementation is blocked",
136
- "requires": "reason"
137
- }
138
- },
139
- "defaults": {
140
- "mode": "strict",
141
- "consultation": {
142
- "enabled": true,
143
- "models": ["gemini", "codex"],
144
- "parallel": true
145
- },
146
- "checks": {
147
- "build": "npm run build",
148
- "test": "npm test"
149
- }
150
- }
151
- }