agents-inc 0.162.0 → 0.164.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (341) hide show
  1. package/CHANGELOG.md +28 -0
  2. package/dist/{chunk-HRVPZMKK.js → chunk-2CQNPLVF.js} +35 -14
  3. package/dist/chunk-2CQNPLVF.js.map +1 -0
  4. package/dist/{chunk-VFZF7LVY.js → chunk-3WVH2CTK.js} +3 -3
  5. package/dist/{chunk-5J6DO4VW.js → chunk-4VL3CEOS.js} +3 -3
  6. package/dist/{chunk-QM3ZNOWJ.js → chunk-6MV4JOCL.js} +2 -2
  7. package/dist/{chunk-WIJM6BX6.js → chunk-7ANJQLPJ.js} +2 -2
  8. package/dist/{chunk-3JDVBHWO.js → chunk-7REKOTKG.js} +2 -2
  9. package/dist/{chunk-MI7LKLD7.js → chunk-ABAZMMG4.js} +2 -2
  10. package/dist/{chunk-XSM3IBMG.js → chunk-AOTCIUGX.js} +2 -2
  11. package/dist/{chunk-L65XGQKR.js → chunk-ARYNOWKF.js} +8 -8
  12. package/dist/{chunk-3QBOVV6A.js → chunk-AVK2HEKB.js} +5 -5
  13. package/dist/{chunk-3QBOVV6A.js.map → chunk-AVK2HEKB.js.map} +1 -1
  14. package/dist/{chunk-AQSMNUKJ.js → chunk-B3Y3QMWI.js} +4 -4
  15. package/dist/{chunk-ES7WGE32.js → chunk-B6FSLXYN.js} +3 -3
  16. package/dist/{chunk-S6GX7IJ2.js → chunk-DSL66I4N.js} +6 -6
  17. package/dist/{chunk-IMTWWA3N.js → chunk-ECURHW3T.js} +12 -12
  18. package/dist/{chunk-VEONZFTL.js → chunk-FLW25ORT.js} +3 -3
  19. package/dist/{chunk-53XPSAJ4.js → chunk-G2JJ5BO5.js} +17 -16
  20. package/dist/chunk-G2JJ5BO5.js.map +1 -0
  21. package/dist/{chunk-H2MDPOLG.js → chunk-JIERYE6B.js} +5 -5
  22. package/dist/{chunk-GFO55TMY.js → chunk-JU4ZGJ7A.js} +100 -24
  23. package/dist/chunk-JU4ZGJ7A.js.map +1 -0
  24. package/dist/{chunk-K26SBQLO.js → chunk-K5ITEA3I.js} +4 -4
  25. package/dist/{chunk-4KVJJJG2.js → chunk-LT5GXEB2.js} +6 -6
  26. package/dist/{chunk-2IMHZEIK.js → chunk-NKGYKOB7.js} +3 -3
  27. package/dist/{chunk-X6KXPRKI.js → chunk-NQXO4LR3.js} +4 -4
  28. package/dist/{chunk-ZFPQM63K.js → chunk-NTF4UXGK.js} +5 -5
  29. package/dist/{chunk-77YZFVQD.js → chunk-PHCPUQVR.js} +2 -2
  30. package/dist/{chunk-T2RPUNYP.js → chunk-Q4IRRVXK.js} +3 -3
  31. package/dist/{chunk-EN5MEPAS.js → chunk-QGUP3QJF.js} +5 -5
  32. package/dist/{chunk-MSUTHS2V.js → chunk-QZX7SYKU.js} +2 -2
  33. package/dist/{chunk-BR3TNSO3.js → chunk-RGYDFBCT.js} +4 -4
  34. package/dist/{chunk-4NAWM4OQ.js → chunk-S63LXWMC.js} +2 -2
  35. package/dist/{chunk-IV42Z63R.js → chunk-UITEKY2R.js} +19 -9
  36. package/dist/chunk-UITEKY2R.js.map +1 -0
  37. package/dist/{chunk-RMMEYCEA.js → chunk-URXIQE7I.js} +2 -2
  38. package/dist/{chunk-57YWAMNT.js → chunk-V5GLL2JB.js} +7 -7
  39. package/dist/{chunk-C53RJ7AA.js → chunk-X37UYIE3.js} +43 -41
  40. package/dist/chunk-X37UYIE3.js.map +1 -0
  41. package/dist/{chunk-J2YG7P7L.js → chunk-X4SSJZLY.js} +49 -6
  42. package/dist/chunk-X4SSJZLY.js.map +1 -0
  43. package/dist/{chunk-VEBEGZUV.js → chunk-XATLUKXK.js} +5 -5
  44. package/dist/{chunk-33ZKIYJM.js → chunk-XHPWTL4I.js} +3 -3
  45. package/dist/{chunk-UNASGGW2.js → chunk-XPDVAJDH.js} +69 -8
  46. package/dist/chunk-XPDVAJDH.js.map +1 -0
  47. package/dist/{chunk-FL2CJ5T5.js → chunk-YRS3QZP2.js} +3 -3
  48. package/dist/{chunk-FXL63LDL.js → chunk-ZVXGW2IC.js} +2 -2
  49. package/dist/commands/build/marketplace.js +7 -7
  50. package/dist/commands/build/plugins.js +7 -7
  51. package/dist/commands/compile.js +82 -30
  52. package/dist/commands/compile.js.map +1 -1
  53. package/dist/commands/doctor.js +10 -10
  54. package/dist/commands/doctor.js.map +1 -1
  55. package/dist/commands/edit.js +40 -38
  56. package/dist/commands/edit.js.map +1 -1
  57. package/dist/commands/eject.js +10 -10
  58. package/dist/commands/init.js +36 -36
  59. package/dist/commands/list.js +8 -8
  60. package/dist/commands/new/marketplace.js +7 -7
  61. package/dist/commands/search.js +10 -10
  62. package/dist/commands/share.js +8 -8
  63. package/dist/commands/uninstall.js +11 -11
  64. package/dist/commands/update.js +6 -6
  65. package/dist/components/common/removal-plan-confirm.js +2 -2
  66. package/dist/components/common/select-list.js +2 -2
  67. package/dist/components/wizard/category-grid.js +4 -4
  68. package/dist/components/wizard/checkbox-grid.js +4 -4
  69. package/dist/components/wizard/domain-selection.js +9 -9
  70. package/dist/components/wizard/run-wizard-session.js +26 -26
  71. package/dist/components/wizard/scroll-affordance.js +2 -2
  72. package/dist/components/wizard/skill-agent-summary.js +5 -5
  73. package/dist/components/wizard/source-grid.js +5 -5
  74. package/dist/components/wizard/stack-selection.js +7 -7
  75. package/dist/components/wizard/step-agents.js +8 -8
  76. package/dist/components/wizard/step-build.js +7 -7
  77. package/dist/components/wizard/step-confirm.js +9 -9
  78. package/dist/components/wizard/step-sources.js +8 -8
  79. package/dist/components/wizard/step-stack.js +8 -8
  80. package/dist/components/wizard/summary-panel.js +8 -8
  81. package/dist/components/wizard/toast.js +2 -2
  82. package/dist/components/wizard/wizard-layout.js +12 -12
  83. package/dist/components/wizard/wizard-tabs.js +2 -2
  84. package/dist/components/wizard/wizard.js +25 -25
  85. package/dist/hooks/init.js +36 -36
  86. package/dist/load-agent-defs-7IM3GBEQ.js +13 -0
  87. package/dist/recompile-project-agents-VR4NLGOU.js +17 -0
  88. package/dist/{source-loader-KAWB76OH.js → source-loader-GRBVNRAW.js} +4 -4
  89. package/dist/src/agents/_templates/agent.liquid +30 -122
  90. package/dist/src/agents/_templates/methodologies/operating-principles.liquid +27 -0
  91. package/dist/src/agents/developer/ai-developer/critical-reminders.md +9 -48
  92. package/dist/src/agents/developer/ai-developer/critical-requirements.md +29 -47
  93. package/dist/src/agents/developer/ai-developer/identity.md +31 -40
  94. package/dist/src/agents/developer/ai-developer/output.md +92 -245
  95. package/dist/src/agents/developer/ai-developer/playbook.md +116 -270
  96. package/dist/src/agents/developer/api-developer/critical-reminders.md +9 -40
  97. package/dist/src/agents/developer/api-developer/critical-requirements.md +19 -34
  98. package/dist/src/agents/developer/api-developer/identity.md +18 -33
  99. package/dist/src/agents/developer/api-developer/output.md +118 -255
  100. package/dist/src/agents/developer/api-developer/playbook.md +103 -284
  101. package/dist/src/agents/developer/cli-developer/critical-reminders.md +9 -45
  102. package/dist/src/agents/developer/cli-developer/critical-requirements.md +21 -39
  103. package/dist/src/agents/developer/cli-developer/identity.md +22 -36
  104. package/dist/src/agents/developer/cli-developer/output.md +72 -185
  105. package/dist/src/agents/developer/cli-developer/playbook.md +107 -307
  106. package/dist/src/agents/developer/web-developer/critical-reminders.md +9 -34
  107. package/dist/src/agents/developer/web-developer/critical-requirements.md +11 -30
  108. package/dist/src/agents/developer/web-developer/identity.md +15 -15
  109. package/dist/src/agents/developer/web-developer/output.md +67 -220
  110. package/dist/src/agents/developer/web-developer/playbook.md +93 -283
  111. package/dist/src/agents/meta/agent-summoner/critical-reminders.md +6 -39
  112. package/dist/src/agents/meta/agent-summoner/critical-requirements.md +6 -44
  113. package/dist/src/agents/meta/agent-summoner/identity.md +20 -23
  114. package/dist/src/agents/meta/agent-summoner/metadata.yaml +1 -1
  115. package/dist/src/agents/meta/agent-summoner/output.md +85 -261
  116. package/dist/src/agents/meta/agent-summoner/playbook.md +220 -1398
  117. package/dist/src/agents/meta/codex-keeper/critical-reminders.md +11 -32
  118. package/dist/src/agents/meta/codex-keeper/critical-requirements.md +32 -22
  119. package/dist/src/agents/meta/codex-keeper/identity.md +31 -32
  120. package/dist/src/agents/meta/codex-keeper/output.md +49 -335
  121. package/dist/src/agents/meta/codex-keeper/playbook.md +164 -1110
  122. package/dist/src/agents/meta/convention-keeper/critical-reminders.md +11 -26
  123. package/dist/src/agents/meta/convention-keeper/critical-requirements.md +36 -25
  124. package/dist/src/agents/meta/convention-keeper/identity.md +35 -21
  125. package/dist/src/agents/meta/convention-keeper/metadata.yaml +1 -1
  126. package/dist/src/agents/meta/convention-keeper/output.md +33 -123
  127. package/dist/src/agents/meta/convention-keeper/playbook.md +64 -144
  128. package/dist/src/agents/meta/skill-summoner/critical-reminders.md +8 -71
  129. package/dist/src/agents/meta/skill-summoner/critical-requirements.md +9 -73
  130. package/dist/src/agents/meta/skill-summoner/identity.md +18 -22
  131. package/dist/src/agents/meta/skill-summoner/metadata.yaml +1 -1
  132. package/dist/src/agents/meta/skill-summoner/output.md +164 -270
  133. package/dist/src/agents/meta/skill-summoner/playbook.md +150 -1398
  134. package/dist/src/agents/planning/pm/critical-requirements.md +23 -25
  135. package/dist/src/agents/planning/pm/identity.md +24 -23
  136. package/dist/src/agents/planning/pm/output.md +5 -9
  137. package/dist/src/agents/planning/pm/playbook.md +50 -140
  138. package/dist/src/agents/researcher/ai-researcher/critical-reminders.md +8 -53
  139. package/dist/src/agents/researcher/ai-researcher/critical-requirements.md +31 -26
  140. package/dist/src/agents/researcher/ai-researcher/identity.md +36 -77
  141. package/dist/src/agents/researcher/ai-researcher/output.md +44 -151
  142. package/dist/src/agents/researcher/ai-researcher/playbook.md +130 -394
  143. package/dist/src/agents/researcher/api-researcher/critical-reminders.md +6 -38
  144. package/dist/src/agents/researcher/api-researcher/critical-requirements.md +15 -17
  145. package/dist/src/agents/researcher/api-researcher/identity.md +29 -63
  146. package/dist/src/agents/researcher/api-researcher/output.md +61 -153
  147. package/dist/src/agents/researcher/api-researcher/playbook.md +63 -140
  148. package/dist/src/agents/researcher/cli-researcher/critical-reminders.md +8 -45
  149. package/dist/src/agents/researcher/cli-researcher/critical-requirements.md +29 -24
  150. package/dist/src/agents/researcher/cli-researcher/identity.md +36 -78
  151. package/dist/src/agents/researcher/cli-researcher/output.md +22 -128
  152. package/dist/src/agents/researcher/cli-researcher/playbook.md +108 -263
  153. package/dist/src/agents/researcher/web-researcher/critical-reminders.md +5 -34
  154. package/dist/src/agents/researcher/web-researcher/critical-requirements.md +11 -16
  155. package/dist/src/agents/researcher/web-researcher/identity.md +28 -60
  156. package/dist/src/agents/researcher/web-researcher/output.md +41 -134
  157. package/dist/src/agents/researcher/web-researcher/playbook.md +48 -162
  158. package/dist/src/agents/reviewer/reviewer/critical-reminders.md +9 -22
  159. package/dist/src/agents/reviewer/reviewer/critical-requirements.md +24 -19
  160. package/dist/src/agents/reviewer/reviewer/identity.md +23 -20
  161. package/dist/src/agents/reviewer/reviewer/metadata.yaml +7 -2
  162. package/dist/src/agents/reviewer/reviewer/output.md +8 -26
  163. package/dist/src/agents/reviewer/reviewer/playbook.md +50 -91
  164. package/dist/src/agents/tester/ai-tester/critical-reminders.md +7 -40
  165. package/dist/src/agents/tester/ai-tester/critical-requirements.md +39 -31
  166. package/dist/src/agents/tester/ai-tester/identity.md +25 -40
  167. package/dist/src/agents/tester/ai-tester/output.md +8 -144
  168. package/dist/src/agents/tester/ai-tester/playbook.md +28 -40
  169. package/dist/src/agents/tester/api-tester/critical-reminders.md +8 -35
  170. package/dist/src/agents/tester/api-tester/critical-requirements.md +36 -25
  171. package/dist/src/agents/tester/api-tester/identity.md +18 -29
  172. package/dist/src/agents/tester/api-tester/metadata.yaml +1 -1
  173. package/dist/src/agents/tester/api-tester/output.md +3 -86
  174. package/dist/src/agents/tester/api-tester/playbook.md +10 -2
  175. package/dist/src/agents/tester/cli-tester/critical-reminders.md +7 -30
  176. package/dist/src/agents/tester/cli-tester/critical-requirements.md +29 -21
  177. package/dist/src/agents/tester/cli-tester/identity.md +25 -33
  178. package/dist/src/agents/tester/cli-tester/output.md +13 -105
  179. package/dist/src/agents/tester/cli-tester/playbook.md +8 -5
  180. package/dist/src/agents/tester/web-tester/critical-reminders.md +7 -25
  181. package/dist/src/agents/tester/web-tester/critical-requirements.md +25 -16
  182. package/dist/src/agents/tester/web-tester/identity.md +24 -30
  183. package/dist/src/agents/tester/web-tester/output.md +11 -116
  184. package/dist/src/agents/tester/web-tester/playbook.md +58 -221
  185. package/dist/stores/wizard-store.js +4 -4
  186. package/package.json +1 -1
  187. package/src/agents/_templates/agent.liquid +30 -122
  188. package/src/agents/_templates/methodologies/operating-principles.liquid +27 -0
  189. package/src/agents/developer/ai-developer/critical-reminders.md +9 -48
  190. package/src/agents/developer/ai-developer/critical-requirements.md +29 -47
  191. package/src/agents/developer/ai-developer/identity.md +31 -40
  192. package/src/agents/developer/ai-developer/output.md +92 -245
  193. package/src/agents/developer/ai-developer/playbook.md +116 -270
  194. package/src/agents/developer/api-developer/critical-reminders.md +9 -40
  195. package/src/agents/developer/api-developer/critical-requirements.md +19 -34
  196. package/src/agents/developer/api-developer/identity.md +18 -33
  197. package/src/agents/developer/api-developer/output.md +118 -255
  198. package/src/agents/developer/api-developer/playbook.md +103 -284
  199. package/src/agents/developer/cli-developer/critical-reminders.md +9 -45
  200. package/src/agents/developer/cli-developer/critical-requirements.md +21 -39
  201. package/src/agents/developer/cli-developer/identity.md +22 -36
  202. package/src/agents/developer/cli-developer/output.md +72 -185
  203. package/src/agents/developer/cli-developer/playbook.md +107 -307
  204. package/src/agents/developer/web-developer/critical-reminders.md +9 -34
  205. package/src/agents/developer/web-developer/critical-requirements.md +11 -30
  206. package/src/agents/developer/web-developer/identity.md +15 -15
  207. package/src/agents/developer/web-developer/output.md +67 -220
  208. package/src/agents/developer/web-developer/playbook.md +93 -283
  209. package/src/agents/meta/agent-summoner/critical-reminders.md +6 -39
  210. package/src/agents/meta/agent-summoner/critical-requirements.md +6 -44
  211. package/src/agents/meta/agent-summoner/identity.md +20 -23
  212. package/src/agents/meta/agent-summoner/metadata.yaml +1 -1
  213. package/src/agents/meta/agent-summoner/output.md +85 -261
  214. package/src/agents/meta/agent-summoner/playbook.md +220 -1398
  215. package/src/agents/meta/codex-keeper/critical-reminders.md +11 -32
  216. package/src/agents/meta/codex-keeper/critical-requirements.md +32 -22
  217. package/src/agents/meta/codex-keeper/identity.md +31 -32
  218. package/src/agents/meta/codex-keeper/output.md +49 -335
  219. package/src/agents/meta/codex-keeper/playbook.md +164 -1110
  220. package/src/agents/meta/convention-keeper/critical-reminders.md +11 -26
  221. package/src/agents/meta/convention-keeper/critical-requirements.md +36 -25
  222. package/src/agents/meta/convention-keeper/identity.md +35 -21
  223. package/src/agents/meta/convention-keeper/metadata.yaml +1 -1
  224. package/src/agents/meta/convention-keeper/output.md +33 -123
  225. package/src/agents/meta/convention-keeper/playbook.md +64 -144
  226. package/src/agents/meta/skill-summoner/critical-reminders.md +8 -71
  227. package/src/agents/meta/skill-summoner/critical-requirements.md +9 -73
  228. package/src/agents/meta/skill-summoner/identity.md +18 -22
  229. package/src/agents/meta/skill-summoner/metadata.yaml +1 -1
  230. package/src/agents/meta/skill-summoner/output.md +164 -270
  231. package/src/agents/meta/skill-summoner/playbook.md +150 -1398
  232. package/src/agents/planning/pm/critical-requirements.md +23 -25
  233. package/src/agents/planning/pm/identity.md +24 -23
  234. package/src/agents/planning/pm/output.md +5 -9
  235. package/src/agents/planning/pm/playbook.md +50 -140
  236. package/src/agents/researcher/ai-researcher/critical-reminders.md +8 -53
  237. package/src/agents/researcher/ai-researcher/critical-requirements.md +31 -26
  238. package/src/agents/researcher/ai-researcher/identity.md +36 -77
  239. package/src/agents/researcher/ai-researcher/output.md +44 -151
  240. package/src/agents/researcher/ai-researcher/playbook.md +130 -394
  241. package/src/agents/researcher/api-researcher/critical-reminders.md +6 -38
  242. package/src/agents/researcher/api-researcher/critical-requirements.md +15 -17
  243. package/src/agents/researcher/api-researcher/identity.md +29 -63
  244. package/src/agents/researcher/api-researcher/output.md +61 -153
  245. package/src/agents/researcher/api-researcher/playbook.md +63 -140
  246. package/src/agents/researcher/cli-researcher/critical-reminders.md +8 -45
  247. package/src/agents/researcher/cli-researcher/critical-requirements.md +29 -24
  248. package/src/agents/researcher/cli-researcher/identity.md +36 -78
  249. package/src/agents/researcher/cli-researcher/output.md +22 -128
  250. package/src/agents/researcher/cli-researcher/playbook.md +108 -263
  251. package/src/agents/researcher/web-researcher/critical-reminders.md +5 -34
  252. package/src/agents/researcher/web-researcher/critical-requirements.md +11 -16
  253. package/src/agents/researcher/web-researcher/identity.md +28 -60
  254. package/src/agents/researcher/web-researcher/output.md +41 -134
  255. package/src/agents/researcher/web-researcher/playbook.md +48 -162
  256. package/src/agents/reviewer/reviewer/critical-reminders.md +9 -22
  257. package/src/agents/reviewer/reviewer/critical-requirements.md +24 -19
  258. package/src/agents/reviewer/reviewer/identity.md +23 -20
  259. package/src/agents/reviewer/reviewer/metadata.yaml +7 -2
  260. package/src/agents/reviewer/reviewer/output.md +8 -26
  261. package/src/agents/reviewer/reviewer/playbook.md +50 -91
  262. package/src/agents/tester/ai-tester/critical-reminders.md +7 -40
  263. package/src/agents/tester/ai-tester/critical-requirements.md +39 -31
  264. package/src/agents/tester/ai-tester/identity.md +25 -40
  265. package/src/agents/tester/ai-tester/output.md +8 -144
  266. package/src/agents/tester/ai-tester/playbook.md +28 -40
  267. package/src/agents/tester/api-tester/critical-reminders.md +8 -35
  268. package/src/agents/tester/api-tester/critical-requirements.md +36 -25
  269. package/src/agents/tester/api-tester/identity.md +18 -29
  270. package/src/agents/tester/api-tester/metadata.yaml +1 -1
  271. package/src/agents/tester/api-tester/output.md +3 -86
  272. package/src/agents/tester/api-tester/playbook.md +10 -2
  273. package/src/agents/tester/cli-tester/critical-reminders.md +7 -30
  274. package/src/agents/tester/cli-tester/critical-requirements.md +29 -21
  275. package/src/agents/tester/cli-tester/identity.md +25 -33
  276. package/src/agents/tester/cli-tester/output.md +13 -105
  277. package/src/agents/tester/cli-tester/playbook.md +8 -5
  278. package/src/agents/tester/web-tester/critical-reminders.md +7 -25
  279. package/src/agents/tester/web-tester/critical-requirements.md +25 -16
  280. package/src/agents/tester/web-tester/identity.md +24 -30
  281. package/src/agents/tester/web-tester/output.md +11 -116
  282. package/src/agents/tester/web-tester/playbook.md +58 -221
  283. package/src/schemas/agent-frontmatter.schema.json +14 -0
  284. package/src/schemas/agent.schema.json +14 -0
  285. package/dist/chunk-53XPSAJ4.js.map +0 -1
  286. package/dist/chunk-C53RJ7AA.js.map +0 -1
  287. package/dist/chunk-GFO55TMY.js.map +0 -1
  288. package/dist/chunk-HRVPZMKK.js.map +0 -1
  289. package/dist/chunk-IV42Z63R.js.map +0 -1
  290. package/dist/chunk-J2YG7P7L.js.map +0 -1
  291. package/dist/chunk-UNASGGW2.js.map +0 -1
  292. package/dist/load-agent-defs-57YKPVQW.js +0 -13
  293. package/dist/recompile-project-agents-IQD3HRRS.js +0 -17
  294. package/dist/src/agents/_templates/methodologies/anti-over-engineering.liquid +0 -135
  295. package/dist/src/agents/_templates/methodologies/context-management.liquid +0 -15
  296. package/dist/src/agents/_templates/methodologies/improvement-protocol.liquid +0 -150
  297. package/dist/src/agents/_templates/methodologies/investigation-requirements.liquid +0 -61
  298. package/dist/src/agents/_templates/methodologies/success-criteria.liquid +0 -121
  299. package/dist/src/agents/_templates/methodologies/write-verification.liquid +0 -43
  300. package/dist/src/agents/planning/pm/critical-reminders.md +0 -39
  301. package/src/agents/_templates/methodologies/anti-over-engineering.liquid +0 -135
  302. package/src/agents/_templates/methodologies/context-management.liquid +0 -15
  303. package/src/agents/_templates/methodologies/improvement-protocol.liquid +0 -150
  304. package/src/agents/_templates/methodologies/investigation-requirements.liquid +0 -61
  305. package/src/agents/_templates/methodologies/success-criteria.liquid +0 -121
  306. package/src/agents/_templates/methodologies/write-verification.liquid +0 -43
  307. package/src/agents/planning/pm/critical-reminders.md +0 -39
  308. /package/dist/{chunk-VFZF7LVY.js.map → chunk-3WVH2CTK.js.map} +0 -0
  309. /package/dist/{chunk-5J6DO4VW.js.map → chunk-4VL3CEOS.js.map} +0 -0
  310. /package/dist/{chunk-QM3ZNOWJ.js.map → chunk-6MV4JOCL.js.map} +0 -0
  311. /package/dist/{chunk-WIJM6BX6.js.map → chunk-7ANJQLPJ.js.map} +0 -0
  312. /package/dist/{chunk-3JDVBHWO.js.map → chunk-7REKOTKG.js.map} +0 -0
  313. /package/dist/{chunk-MI7LKLD7.js.map → chunk-ABAZMMG4.js.map} +0 -0
  314. /package/dist/{chunk-XSM3IBMG.js.map → chunk-AOTCIUGX.js.map} +0 -0
  315. /package/dist/{chunk-L65XGQKR.js.map → chunk-ARYNOWKF.js.map} +0 -0
  316. /package/dist/{chunk-AQSMNUKJ.js.map → chunk-B3Y3QMWI.js.map} +0 -0
  317. /package/dist/{chunk-ES7WGE32.js.map → chunk-B6FSLXYN.js.map} +0 -0
  318. /package/dist/{chunk-S6GX7IJ2.js.map → chunk-DSL66I4N.js.map} +0 -0
  319. /package/dist/{chunk-IMTWWA3N.js.map → chunk-ECURHW3T.js.map} +0 -0
  320. /package/dist/{chunk-VEONZFTL.js.map → chunk-FLW25ORT.js.map} +0 -0
  321. /package/dist/{chunk-H2MDPOLG.js.map → chunk-JIERYE6B.js.map} +0 -0
  322. /package/dist/{chunk-K26SBQLO.js.map → chunk-K5ITEA3I.js.map} +0 -0
  323. /package/dist/{chunk-4KVJJJG2.js.map → chunk-LT5GXEB2.js.map} +0 -0
  324. /package/dist/{chunk-2IMHZEIK.js.map → chunk-NKGYKOB7.js.map} +0 -0
  325. /package/dist/{chunk-X6KXPRKI.js.map → chunk-NQXO4LR3.js.map} +0 -0
  326. /package/dist/{chunk-ZFPQM63K.js.map → chunk-NTF4UXGK.js.map} +0 -0
  327. /package/dist/{chunk-77YZFVQD.js.map → chunk-PHCPUQVR.js.map} +0 -0
  328. /package/dist/{chunk-T2RPUNYP.js.map → chunk-Q4IRRVXK.js.map} +0 -0
  329. /package/dist/{chunk-EN5MEPAS.js.map → chunk-QGUP3QJF.js.map} +0 -0
  330. /package/dist/{chunk-MSUTHS2V.js.map → chunk-QZX7SYKU.js.map} +0 -0
  331. /package/dist/{chunk-BR3TNSO3.js.map → chunk-RGYDFBCT.js.map} +0 -0
  332. /package/dist/{chunk-4NAWM4OQ.js.map → chunk-S63LXWMC.js.map} +0 -0
  333. /package/dist/{chunk-RMMEYCEA.js.map → chunk-URXIQE7I.js.map} +0 -0
  334. /package/dist/{chunk-57YWAMNT.js.map → chunk-V5GLL2JB.js.map} +0 -0
  335. /package/dist/{chunk-VEBEGZUV.js.map → chunk-XATLUKXK.js.map} +0 -0
  336. /package/dist/{chunk-33ZKIYJM.js.map → chunk-XHPWTL4I.js.map} +0 -0
  337. /package/dist/{chunk-FL2CJ5T5.js.map → chunk-YRS3QZP2.js.map} +0 -0
  338. /package/dist/{chunk-FXL63LDL.js.map → chunk-ZVXGW2IC.js.map} +0 -0
  339. /package/dist/{load-agent-defs-57YKPVQW.js.map → load-agent-defs-7IM3GBEQ.js.map} +0 -0
  340. /package/dist/{recompile-project-agents-IQD3HRRS.js.map → recompile-project-agents-VR4NLGOU.js.map} +0 -0
  341. /package/dist/{source-loader-KAWB76OH.js.map → source-loader-GRBVNRAW.js.map} +0 -0
@@ -1,10 +1,11 @@
1
1
  ## Output Format
2
2
 
3
3
  <output_format>
4
- Provide your implementation in this structure:
4
+
5
+ Report your implementation in this structure.
5
6
 
6
7
  <summary>
7
- **Task:** [Brief description of what was implemented]
8
+ **Task:** [what was implemented]
8
9
  **Status:** [Complete | Partial | Blocked]
9
10
  **Files Changed:** [count] files ([+additions] / [-deletions] lines)
10
11
  </summary>
@@ -12,34 +13,34 @@ Provide your implementation in this structure:
12
13
  <investigation>
13
14
  **Files Examined:**
14
15
 
15
- | File | Lines | What Was Learned |
16
- | --------------- | ----- | ---------------------------- |
17
- | [/path/to/file] | [X-Y] | [Pattern/utility discovered] |
16
+ | File | Symbol read | What it showed |
17
+ | --------------- | ----------------- | -------------------------- |
18
+ | [/path/to/file] | [function / type] | [pattern or utility found] |
18
19
 
19
20
  **Patterns Identified:**
20
21
 
21
- - **Route structure:** [How routes are organized - from /path:lines]
22
- - **Validation approach:** [How input is validated - from /path:lines]
23
- - **Error handling:** [How errors are managed - from /path:lines]
24
- - **Database access:** [Query patterns used - from /path:lines]
22
+ - **Route structure:** [how routes are registered — from /path, naming the symbol]
23
+ - **Validation approach:** [how input is validated — from /path, naming the symbol]
24
+ - **Error handling:** [how errors are shaped — from /path, naming the symbol]
25
+ - **Database access:** [the query patterns used — from /path, naming the symbol]
25
26
 
26
27
  **Existing Code Reused:**
27
28
 
28
- - [Utility/middleware] from [/path] - [Why reused instead of creating new]
29
+ - [utility or middleware] from [/path] — [why reused rather than written]
29
30
  </investigation>
30
31
 
31
32
  <approach>
32
- **Summary:** [1-2 sentences describing the implementation approach]
33
+ **Summary:** [the implementation approach, in a sentence or two]
33
34
 
34
35
  **Files:**
35
36
 
36
- | File | Action | Purpose |
37
- | --------------- | ------------------ | --------------------- |
38
- | [/path/to/file] | [created/modified] | [What change and why] |
37
+ | File | Action | Purpose |
38
+ | --------------- | ------------------ | ---------------------- |
39
+ | [/path/to/file] | [created/modified] | [what changed and why] |
39
40
 
40
41
  **Key Decisions:**
41
42
 
42
- - [Decision]: [Rationale based on existing patterns from /path:lines]
43
+ - [decision]: [the existing pattern it follows, and where that pattern lives]
43
44
  </approach>
44
45
 
45
46
  <implementation>
@@ -47,51 +48,45 @@ Provide your implementation in this structure:
47
48
  ### [filename.ts]
48
49
 
49
50
  **Location:** `/absolute/path/to/file.ts`
50
- **Changes:** [Brief description - e.g., "New route handler" or "Added validation"]
51
+ **Changes:** [e.g. "new route handler" or "added validation"]
51
52
 
52
53
  ```typescript
53
- // [Description of this code block]
54
- [Your implementation code]
54
+ // [what this block does]
55
+ [implementation code]
55
56
  ```
56
57
 
57
58
  **Design Notes:**
58
59
 
59
- - [Why this approach was chosen]
60
- - [How it matches existing patterns]
61
-
62
- ### [filename2.ts]
63
-
64
- [Same structure...]
60
+ - [why this approach]
61
+ - [the existing pattern it matches]
65
62
 
66
63
  </implementation>
67
64
 
68
65
  <api_changes>
69
66
 
70
- ## Endpoints Added/Modified
67
+ ## Endpoints Added or Modified
71
68
 
72
69
  ### [METHOD] [/api/path]
73
70
 
74
- **Handler:** `/path/to/route.ts:lines`
75
- **Auth Required:** [Yes - middleware name / No]
71
+ **Handler:** `[symbol]` in `/path/to/route.ts`
72
+ **Auth required:** [the middleware that enforces it, or No]
76
73
 
77
74
  **Request:**
78
75
 
79
76
  ```typescript
80
- // Path params / Query params / Body schema
77
+ // path params / query params / body schema
81
78
  {
82
- // Schema definition or description
83
79
  }
84
80
  ```
85
81
 
86
- **Success Response:** [status code]
82
+ **Success response:** [status code]
87
83
 
88
84
  ```typescript
89
85
  {
90
- // Response shape
91
86
  }
92
87
  ```
93
88
 
94
- **Error Responses:**
89
+ **Error responses:**
95
90
 
96
91
  | Status | Condition | Response Shape |
97
92
  | ------ | ------------------ | ------------------------------------ |
@@ -105,33 +100,26 @@ Provide your implementation in this structure:
105
100
 
106
101
  <database_changes>
107
102
 
108
- ## Schema Changes (if applicable)
103
+ ## Schema Changes
109
104
 
110
105
  ### Table: [table_name]
111
106
 
112
- **File:** `/path/to/schema.ts:lines`
113
-
114
- **Columns Added/Modified:**
115
-
116
- | Column | Type | Constraints | Purpose |
117
- | ------ | ------ | --------------------------------- | ------------ |
118
- | [name] | [type] | [nullable, default, unique, etc.] | [Why needed] |
119
-
120
- **Relationships:**
121
-
122
- - [one-to-many / many-to-many] with [other_table] via [foreign key]
107
+ **Defined by:** `[symbol]` in `/path/to/schema.ts`
123
108
 
124
- **Indexes:**
109
+ | Column | Type | Constraints | Purpose |
110
+ | ------ | ------ | ------------------------------ | ------------ |
111
+ | [name] | [type] | [nullable, default, unique, …] | [why needed] |
125
112
 
126
- - [Index on columns] for [query optimization reason]
113
+ **Relationships:** [one-to-many / many-to-many] with [other_table], via [foreign key]
114
+ **Indexes:** [columns] — [the query this serves]
127
115
 
128
- ## Migrations (if applicable)
116
+ ## Migrations
129
117
 
130
118
  **File:** `/path/to/migration.sql`
131
- **Reversible:** [Yes / No - why not]
119
+ **Reversible:** [Yes, or No and why not]
132
120
 
133
121
  ```sql
134
- -- Migration SQL
122
+ -- migration SQL
135
123
  ```
136
124
 
137
125
  </database_changes>
@@ -140,34 +128,32 @@ Provide your implementation in this structure:
140
128
 
141
129
  ## Security Verification
142
130
 
143
- **Input Validation:**
131
+ **Input validation:**
144
132
 
145
- - [ ] All user inputs validated before use
146
- - [ ] SQL injection prevented (parameterized queries / ORM)
147
- - [ ] Path traversal prevented (if file operations)
133
+ - [ ] Every user-supplied value validated before use
134
+ - [ ] Queries parameterised or built through the ORM — never assembled by string concatenation
135
+ - [ ] Path traversal prevented, where the endpoint touches the filesystem
148
136
  - [ ] Request size limits enforced
149
137
 
150
- **Authentication/Authorization:**
138
+ **Authentication and authorization:**
151
139
 
152
- - [ ] Auth middleware applied to protected routes
153
- - [ ] Permission/role checks where needed
154
- - [ ] Resource ownership verified (user can only access their data)
140
+ - [ ] Auth middleware applied to every protected route
141
+ - [ ] Identity and permission both checked — authentication alone answers only who is calling
142
+ - [ ] Resource ownership verified, so a caller reaches only their own records
155
143
 
156
- **Sensitive Data:**
144
+ **Sensitive data:**
157
145
 
158
- - [ ] No secrets hardcoded (using env vars)
159
- - [ ] No PII in logs
160
- - [ ] Sensitive fields excluded from API responses
161
- - [ ] Passwords hashed (if auth-related)
146
+ - [ ] Secrets read from the environment, never committed
147
+ - [ ] No passwords, tokens or PII written to logs
148
+ - [ ] Sensitive fields excluded from responses
149
+ - [ ] Passwords hashed, where this touches credentials
162
150
 
163
- **Rate Limiting:**
151
+ **Rate limiting:**
164
152
 
165
- - [ ] Rate limiting applied (if public endpoint)
166
- - [ ] Abuse vectors considered
153
+ - [ ] Applied where the endpoint is public
154
+ - [ ] Abuse vectors considered and named
167
155
 
168
- **Notes:**
169
-
170
- - [Any security decisions or considerations]
156
+ **Notes:** [security decisions taken, and what they assume]
171
157
 
172
158
  </security>
173
159
 
@@ -175,23 +161,22 @@ Provide your implementation in this structure:
175
161
 
176
162
  ## Error Handling
177
163
 
178
- **Pattern Used:** [Matches pattern from /path:lines]
179
-
180
- **Errors Handled:**
164
+ **Pattern followed:** `[symbol]` in `/path`
181
165
 
182
- | Error Type | HTTP Status | Handling | Logged? |
183
- | -------------- | ----------- | ------------------------- | ------- |
184
- | Validation | 400 | Return validation details | No |
185
- | Auth | 401/403 | Return generic message | Yes |
186
- | Not Found | 404 | Return not found message | No |
187
- | Business Logic | 400/422 | Return specific error | Depends |
188
- | Database | 500 | Log + generic message | Yes |
189
- | Unknown | 500 | Log + generic message | Yes |
166
+ | Error Type | HTTP Status | Handling | Logged? |
167
+ | -------------- | ----------- | -------------------------- | ------- |
168
+ | Validation | 400 | Return validation details | No |
169
+ | Auth | 401/403 | Return a generic message | Yes |
170
+ | Not Found | 404 | Return a not-found message | No |
171
+ | Business Logic | 400/422 | Return the specific error | Depends |
172
+ | Database | 500 | Log, return generic | Yes |
173
+ | Unknown | 500 | Log, return generic | Yes |
190
174
 
191
- **Logging:**
175
+ Client errors take a 4xx and server errors a 5xx; the message a client sees never carries internals,
176
+ and the log carries enough to debug without carrying PII. The same error shape applies across every
177
+ endpoint, so a consumer parses one format.
192
178
 
193
- - Errors logged with: [correlation ID, user ID, request path, etc.]
194
- - Log level: [error / warn depending on type]
179
+ **Logging:** [what each error record carries — correlation id, user id, request path] at [level]
195
180
 
196
181
  </error_handling>
197
182
 
@@ -202,7 +187,7 @@ Provide your implementation in this structure:
202
187
  **Location:** `/absolute/path/to/file.test.ts`
203
188
 
204
189
  ```typescript
205
- [Test code covering the implementation]
190
+ [test code covering the implementation]
206
191
  ```
207
192
 
208
193
  **Coverage:**
@@ -212,12 +197,7 @@ Provide your implementation in this structure:
212
197
  - [x] Auth errors: [scenarios]
213
198
  - [x] Edge cases: [scenarios]
214
199
 
215
- **Test Commands:**
216
-
217
- ```bash
218
- # Run tests for this feature
219
- [specific test command]
220
- ```
200
+ **Test command:** `[the command that runs these]`
221
201
 
222
202
  </tests>
223
203
 
@@ -225,48 +205,47 @@ Provide your implementation in this structure:
225
205
 
226
206
  ## Success Criteria
227
207
 
228
- | Criterion | Status | Evidence |
229
- | -------------------- | --------- | ---------------------------------------------- |
230
- | [From specification] | PASS/FAIL | [How verified - test name, curl command, etc.] |
208
+ | Criterion | Status | Evidence |
209
+ | -------------------- | --------- | ------------------------------------ |
210
+ | [from specification] | PASS/FAIL | [test name, request, or observation] |
231
211
 
232
- ## Universal Quality Checks
212
+ ## Quality Checks
233
213
 
234
- **API Design:**
214
+ **API design:**
235
215
 
236
- - [ ] RESTful conventions followed (or GraphQL if applicable)
237
- - [ ] Consistent response format across endpoints
238
- - [ ] Appropriate HTTP status codes used
239
- - [ ] API versioning considered (if breaking change)
216
+ - [ ] The project's conventions followed, REST or GraphQL
217
+ - [ ] Response format consistent with the endpoints beside it
218
+ - [ ] Status codes appropriate to each outcome
219
+ - [ ] `PUT` and `DELETE` idempotent
220
+ - [ ] List endpoints paginated, and filterable where callers need it
221
+ - [ ] Versioning considered, where this breaks an existing consumer
240
222
 
241
223
  **Database:**
242
224
 
243
- - [ ] Queries optimized (no N+1, proper indexes)
244
- - [ ] Transactions used for multi-step operations
245
- - [ ] Soft delete checks where applicable
246
- - [ ] Connection pooling respected
225
+ - [ ] No N+1 — related data fetched in one query rather than inside a loop
226
+ - [ ] Indexes present for the columns this queries on
227
+ - [ ] Multi-step operations wrapped in a transaction, atomic as a unit
228
+ - [ ] Soft-delete checks applied where the project soft-deletes
229
+ - [ ] Connections returned to the pool rather than leaked
247
230
 
248
231
  **Code Quality:**
249
232
 
250
- - [ ] No magic numbers (named constants used)
251
- - [ ] No `any` types without justification
252
- - [ ] Follows existing naming conventions
253
- - [ ] Follows existing file/folder structure
254
- - [ ] No hardcoded config values (uses env/config)
233
+ - [ ] Named constants rather than magic numbers
234
+ - [ ] No `any` without a justification in a comment
235
+ - [ ] Naming and file placement match the files you read
236
+ - [ ] Configuration read from the environment rather than hardcoded
255
237
 
256
238
  **Observability:**
257
239
 
258
- - [ ] Appropriate logging added
259
- - [ ] Errors include context for debugging
260
- - [ ] Metrics/tracing hooks (if applicable)
240
+ - [ ] Errors logged with enough context to debug them
241
+ - [ ] Metrics or tracing hooks, where the project has them
261
242
 
262
243
  ## Build & Test Status
263
244
 
264
245
  - [ ] Existing tests pass
265
- - [ ] New tests pass (if added)
266
- - [ ] Build succeeds
267
- - [ ] No type errors
268
- - [ ] No lint errors
269
- - [ ] Migrations run successfully (if applicable)
246
+ - [ ] New tests pass
247
+ - [ ] Build succeeds, with no type or lint errors
248
+ - [ ] Migrations run, where the change adds one
270
249
 
271
250
  </verification>
272
251
 
@@ -274,31 +253,24 @@ Provide your implementation in this structure:
274
253
 
275
254
  ## For Reviewer
276
255
 
277
- - [Areas to focus review on - e.g., "The permission check logic"]
278
- - [Decisions that may need discussion]
279
- - [Alternative approaches considered and why rejected]
256
+ - [where to focus]
257
+ - [decisions worth discussing]
258
+ - [alternatives considered and rejected]
280
259
 
281
260
  ## Scope Control
282
261
 
283
- **Added only what was specified:**
284
-
285
- - [Feature implemented as requested]
286
-
287
- **Did NOT add:**
288
-
289
- - [Unrequested feature avoided - why it was tempting but wrong]
262
+ **Added:** [what the spec asked for]
263
+ **Did not add:** [what was tempting and out of scope]
290
264
 
291
265
  ## Known Limitations
292
266
 
293
- - [Any scope reductions from spec]
294
- - [Technical debt incurred and why]
295
- - [Performance considerations for high load]
267
+ - [scope reduced from the spec, debt taken on, or behaviour under load, and why]
296
268
 
297
269
  ## Dependencies
298
270
 
299
- - [New packages added: none / list with justification]
300
- - [Breaking changes: none / description]
301
- - [Migration required: yes/no]
271
+ - [packages added: none, or each with its justification]
272
+ - [breaking changes: none, or what breaks]
273
+ - [migration required: yes or no]
302
274
 
303
275
  </notes>
304
276
 
@@ -306,127 +278,18 @@ Provide your implementation in this structure:
306
278
 
307
279
  ---
308
280
 
309
- ## Section Guidelines
310
-
311
- ### When to Include Each Section
312
-
313
- | Section | When Required |
314
- | -------------------- | --------------------------------- |
315
- | `<summary>` | Always |
316
- | `<investigation>` | Always - proves research was done |
317
- | `<approach>` | Always - shows planning |
318
- | `<implementation>` | Always - the actual code |
319
- | `<api_changes>` | When API endpoints added/modified |
320
- | `<database_changes>` | When schema/migrations added |
321
- | `<security>` | Always for backend work |
322
- | `<error_handling>` | Always - shows error strategy |
323
- | `<tests>` | When tests are part of the task |
324
- | `<verification>` | Always - proves completion |
325
- | `<notes>` | When there's context for reviewer |
326
-
327
- ### Security Checks (Framework-Agnostic)
328
-
329
- These apply regardless of framework:
330
-
331
- - **Input validation:** Never trust user input - validate everything
332
- - **SQL injection:** Use parameterized queries or ORM, never string concatenation
333
- - **Auth checks:** Verify identity AND authorization on every protected route
334
- - **Secrets:** Environment variables only, never in code
335
- - **Logging:** Never log passwords, tokens, or PII
336
-
337
- ### Database Checks (ORM-Agnostic)
338
-
339
- - **Transactions:** Multi-step operations must be atomic
340
- - **N+1 queries:** Avoid fetching related data in loops
341
- - **Indexes:** Add for frequently queried columns
342
- - **Soft delete:** Check for deleted records if pattern exists
343
- - **Connection handling:** Don't leak connections
344
-
345
- ### Error Handling (Framework-Agnostic)
346
-
347
- Every error needs:
348
-
349
- 1. **Appropriate status code:** 4xx for client errors, 5xx for server
350
- 2. **Safe message:** Don't expose internals to clients
351
- 3. **Logging:** Log enough to debug, not too much PII
352
- 4. **Consistency:** Same error format across all endpoints
353
-
354
- ### API Design (Framework-Agnostic)
355
-
356
- - **Idempotency:** PUT/DELETE should be idempotent
357
- - **Pagination:** List endpoints should paginate
358
- - **Filtering:** Support common filter patterns
359
- - **Versioning:** Consider when making breaking changes
360
-
361
- ## Example Implementation Output
362
-
363
- Here's what a complete, high-quality backend developer output looks like:
364
-
365
- ```markdown
366
- # Implementation: Add Job Skills Endpoint
367
-
368
- ## Investigation Notes
369
-
370
- **Files Read:**
371
-
372
- - app/api/routes/jobs.ts:45-89 - Existing job routes pattern
373
- - app/api/schemas.ts:12-67 - Schema definition pattern
374
- - lib/db/schema.ts:134-156 - Job skills relation definition
375
-
376
- **Pattern Found:**
377
- Routes use createRoute with OpenAPI registration, schemas use .openapi() method
378
- Existing filtering uses comma-separated values with case-insensitive matching
379
-
380
- ## Implementation Plan
381
-
382
- 1. Add SkillSchema and JobSkillSchema to schemas.ts
383
- 2. Create getJobSkills route in routes/jobs.ts
384
- 3. Add skill filtering to existing getJobs route
385
- 4. Add tests for new endpoint
386
-
387
- ## Changes Made
388
-
389
- ### 1. Added Schemas (app/api/schemas.ts)
390
-
391
- - Added SkillSchema with .openapi("Skill")
392
- - Added JobSkillsQuerySchema for filtering
393
- - Exported types with z.infer
394
-
395
- ### 2. Created Route (app/api/routes/jobs.ts)
396
-
397
- - Added getJobSkillsRoute with operationId "getJobSkills"
398
- - Implemented filtering by skill name (case-insensitive)
399
- - Added soft delete check (isNull(jobs.deletedAt))
400
- - Used .with() for relation loading (no N+1)
401
-
402
- ### 3. Updated Existing Route
403
-
404
- - Added optional skill_ids filter to getJobsRoute
405
- - Used inArray() for multiple skill filtering
406
-
407
- ## Verification
408
-
409
- **Success Criteria:**
410
-
411
- - [x] GET /jobs/:id/skills returns skills for a job
412
- - [x] Skills can be filtered by name (case-insensitive)
413
- - [x] Response includes skill metadata (popularity, slug)
414
- - [x] OpenAPI spec generates correctly (tested with generate script)
415
-
416
- **Quality Checks:**
417
-
418
- - [x] All schemas have .openapi() registration
419
- - [x] Named constants used (MAX_SKILLS_PER_JOB = 50)
420
- - [x] Follows existing patterns
421
-
422
- **Build Status:**
423
-
424
- - [x] `bun test` passes
425
- - [x] `bun run build` succeeds
426
-
427
- ## Summary
428
-
429
- **Files:** 2 changed (+91 lines)
430
- **Scope:** Added skills endpoint + filtering. Did NOT add skill CRUD operations (not in spec).
431
- **For Reviewer:** Verify OpenAPI spec renders correctly with Swagger UI.
432
- ```
281
+ ## When to Include Each Section
282
+
283
+ | Section | When Required |
284
+ | -------------------- | -------------------------------------- |
285
+ | `<summary>` | Always |
286
+ | `<investigation>` | Always — it evidences the research |
287
+ | `<approach>` | Always — it evidences the planning |
288
+ | `<implementation>` | Always — the actual code |
289
+ | `<api_changes>` | When endpoints are added or modified |
290
+ | `<database_changes>` | When schema or migrations change |
291
+ | `<security>` | Always, for backend work |
292
+ | `<error_handling>` | Always — it states the error strategy |
293
+ | `<tests>` | When tests are part of the task |
294
+ | `<verification>` | Always — it evidences completion |
295
+ | `<notes>` | When there is context for the reviewer |