@chorus-aidlc/chorus 0.16.2 → 0.16.3

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 (420) hide show
  1. package/.next/standalone/.next/BUILD_ID +1 -1
  2. package/.next/standalone/.next/app-build-manifest.json +422 -411
  3. package/.next/standalone/.next/app-path-routes-manifest.json +48 -48
  4. package/.next/standalone/.next/build-manifest.json +5 -5
  5. package/.next/standalone/.next/prerender-manifest.json +36 -36
  6. package/.next/standalone/.next/server/app/(dashboard)/project-groups/[uuid]/page.js +1 -1
  7. package/.next/standalone/.next/server/app/(dashboard)/project-groups/[uuid]/page.js.nft.json +1 -1
  8. package/.next/standalone/.next/server/app/(dashboard)/project-groups/[uuid]/page_client-reference-manifest.js +1 -1
  9. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/activity/page.js +1 -1
  10. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/activity/page.js.nft.json +1 -1
  11. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/activity/page_client-reference-manifest.js +1 -1
  12. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/dashboard/[ideaUuid]/page.js +1 -1
  13. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/dashboard/[ideaUuid]/page.js.nft.json +1 -1
  14. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/dashboard/[ideaUuid]/page_client-reference-manifest.js +1 -1
  15. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/dashboard/page.js +2 -2
  16. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/dashboard/page.js.nft.json +1 -1
  17. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/dashboard/page_client-reference-manifest.js +1 -1
  18. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/documents/[documentUuid]/page.js +1 -1
  19. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/documents/[documentUuid]/page.js.nft.json +1 -1
  20. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/documents/[documentUuid]/page_client-reference-manifest.js +1 -1
  21. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/documents/page.js +1 -1
  22. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/documents/page.js.nft.json +1 -1
  23. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/documents/page_client-reference-manifest.js +1 -1
  24. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/graph/page.js +1 -1
  25. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/graph/page.js.nft.json +1 -1
  26. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/graph/page_client-reference-manifest.js +1 -1
  27. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/proposals/[proposalUuid]/page.js +2 -2
  28. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/proposals/[proposalUuid]/page.js.nft.json +1 -1
  29. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/proposals/[proposalUuid]/page_client-reference-manifest.js +1 -1
  30. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/proposals/new/page.js +1 -1
  31. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/proposals/new/page.js.nft.json +1 -1
  32. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/proposals/new/page_client-reference-manifest.js +1 -1
  33. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/proposals/page.js +2 -2
  34. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/proposals/page.js.nft.json +1 -1
  35. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/proposals/page_client-reference-manifest.js +1 -1
  36. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/tasks/[taskUuid]/page.js +1 -1
  37. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/tasks/[taskUuid]/page.js.nft.json +1 -1
  38. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/tasks/[taskUuid]/page_client-reference-manifest.js +1 -1
  39. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/tasks/page.js +1 -1
  40. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/tasks/page.js.nft.json +1 -1
  41. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/tasks/page_client-reference-manifest.js +1 -1
  42. package/.next/standalone/.next/server/app/(dashboard)/projects/page.js +1 -1
  43. package/.next/standalone/.next/server/app/(dashboard)/projects/page.js.nft.json +1 -1
  44. package/.next/standalone/.next/server/app/(dashboard)/projects/page_client-reference-manifest.js +1 -1
  45. package/.next/standalone/.next/server/app/(dashboard)/settings/page.js +2 -2
  46. package/.next/standalone/.next/server/app/(dashboard)/settings/page.js.nft.json +1 -1
  47. package/.next/standalone/.next/server/app/(dashboard)/settings/page_client-reference-manifest.js +1 -1
  48. package/.next/standalone/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  49. package/.next/standalone/.next/server/app/_not-found.html +2 -2
  50. package/.next/standalone/.next/server/app/_not-found.rsc +2 -2
  51. package/.next/standalone/.next/server/app/admin/companies/[uuid]/page_client-reference-manifest.js +1 -1
  52. package/.next/standalone/.next/server/app/admin/companies/new/page_client-reference-manifest.js +1 -1
  53. package/.next/standalone/.next/server/app/admin/companies/new.html +2 -2
  54. package/.next/standalone/.next/server/app/admin/companies/new.rsc +2 -2
  55. package/.next/standalone/.next/server/app/admin/companies/page_client-reference-manifest.js +1 -1
  56. package/.next/standalone/.next/server/app/admin/companies.html +2 -2
  57. package/.next/standalone/.next/server/app/admin/companies.rsc +2 -2
  58. package/.next/standalone/.next/server/app/admin/page_client-reference-manifest.js +1 -1
  59. package/.next/standalone/.next/server/app/admin.html +2 -2
  60. package/.next/standalone/.next/server/app/admin.rsc +2 -2
  61. package/.next/standalone/.next/server/app/api/admin/companies/[uuid]/route_client-reference-manifest.js +1 -1
  62. package/.next/standalone/.next/server/app/api/admin/companies/route_client-reference-manifest.js +1 -1
  63. package/.next/standalone/.next/server/app/api/admin/login/route_client-reference-manifest.js +1 -1
  64. package/.next/standalone/.next/server/app/api/admin/session/route_client-reference-manifest.js +1 -1
  65. package/.next/standalone/.next/server/app/api/agent-connections/route.js.nft.json +1 -1
  66. package/.next/standalone/.next/server/app/api/agent-connections/route_client-reference-manifest.js +1 -1
  67. package/.next/standalone/.next/server/app/api/agents/[uuid]/route_client-reference-manifest.js +1 -1
  68. package/.next/standalone/.next/server/app/api/agents/[uuid]/sessions/route.js +1 -1
  69. package/.next/standalone/.next/server/app/api/agents/[uuid]/sessions/route.js.nft.json +1 -1
  70. package/.next/standalone/.next/server/app/api/agents/[uuid]/sessions/route_client-reference-manifest.js +1 -1
  71. package/.next/standalone/.next/server/app/api/agents/route_client-reference-manifest.js +1 -1
  72. package/.next/standalone/.next/server/app/api/api-keys/[uuid]/route_client-reference-manifest.js +1 -1
  73. package/.next/standalone/.next/server/app/api/api-keys/route_client-reference-manifest.js +1 -1
  74. package/.next/standalone/.next/server/app/api/auth/callback/route_client-reference-manifest.js +1 -1
  75. package/.next/standalone/.next/server/app/api/auth/check-default/route_client-reference-manifest.js +1 -1
  76. package/.next/standalone/.next/server/app/api/auth/company-oidc/route_client-reference-manifest.js +1 -1
  77. package/.next/standalone/.next/server/app/api/auth/default-login/route_client-reference-manifest.js +1 -1
  78. package/.next/standalone/.next/server/app/api/auth/identify/route_client-reference-manifest.js +1 -1
  79. package/.next/standalone/.next/server/app/api/auth/logout/route_client-reference-manifest.js +1 -1
  80. package/.next/standalone/.next/server/app/api/auth/me/route_client-reference-manifest.js +1 -1
  81. package/.next/standalone/.next/server/app/api/auth/sync-token/route_client-reference-manifest.js +1 -1
  82. package/.next/standalone/.next/server/app/api/comments/route.js +1 -1
  83. package/.next/standalone/.next/server/app/api/comments/route.js.nft.json +1 -1
  84. package/.next/standalone/.next/server/app/api/comments/route_client-reference-manifest.js +1 -1
  85. package/.next/standalone/.next/server/app/api/daemon/connection-heartbeat/route.js.nft.json +1 -1
  86. package/.next/standalone/.next/server/app/api/daemon/connection-heartbeat/route_client-reference-manifest.js +1 -1
  87. package/.next/standalone/.next/server/app/api/daemon/control/route_client-reference-manifest.js +1 -1
  88. package/.next/standalone/.next/server/app/api/daemon/directory-request/report/route.js.nft.json +1 -1
  89. package/.next/standalone/.next/server/app/api/daemon/directory-request/report/route_client-reference-manifest.js +1 -1
  90. package/.next/standalone/.next/server/app/api/daemon/execution-state/route.js.nft.json +1 -1
  91. package/.next/standalone/.next/server/app/api/daemon/execution-state/route_client-reference-manifest.js +1 -1
  92. package/.next/standalone/.next/server/app/api/daemon/executions/route.js.nft.json +1 -1
  93. package/.next/standalone/.next/server/app/api/daemon/executions/route_client-reference-manifest.js +1 -1
  94. package/.next/standalone/.next/server/app/api/daemon/pending-turns/route.js +1 -1
  95. package/.next/standalone/.next/server/app/api/daemon/pending-turns/route.js.nft.json +1 -1
  96. package/.next/standalone/.next/server/app/api/daemon/pending-turns/route_client-reference-manifest.js +1 -1
  97. package/.next/standalone/.next/server/app/api/daemon/report-interrupt/route.js.nft.json +1 -1
  98. package/.next/standalone/.next/server/app/api/daemon/report-interrupt/route_client-reference-manifest.js +1 -1
  99. package/.next/standalone/.next/server/app/api/daemon/resume/route.js.nft.json +1 -1
  100. package/.next/standalone/.next/server/app/api/daemon/resume/route_client-reference-manifest.js +1 -1
  101. package/.next/standalone/.next/server/app/api/daemon/transcript/route.js +1 -1
  102. package/.next/standalone/.next/server/app/api/daemon/transcript/route.js.nft.json +1 -1
  103. package/.next/standalone/.next/server/app/api/daemon/transcript/route_client-reference-manifest.js +1 -1
  104. package/.next/standalone/.next/server/app/api/daemon/turn-advance/route.js +1 -1
  105. package/.next/standalone/.next/server/app/api/daemon/turn-advance/route.js.nft.json +1 -1
  106. package/.next/standalone/.next/server/app/api/daemon/turn-advance/route_client-reference-manifest.js +1 -1
  107. package/.next/standalone/.next/server/app/api/daemon-directory-requests/[uuid]/route.js.nft.json +1 -1
  108. package/.next/standalone/.next/server/app/api/daemon-directory-requests/[uuid]/route_client-reference-manifest.js +1 -1
  109. package/.next/standalone/.next/server/app/api/daemon-directory-requests/route.js.nft.json +1 -1
  110. package/.next/standalone/.next/server/app/api/daemon-directory-requests/route_client-reference-manifest.js +1 -1
  111. package/.next/standalone/.next/server/app/api/daemon-sessions/[sessionUuid]/instruction/route.js +1 -1
  112. package/.next/standalone/.next/server/app/api/daemon-sessions/[sessionUuid]/instruction/route.js.nft.json +1 -1
  113. package/.next/standalone/.next/server/app/api/daemon-sessions/[sessionUuid]/instruction/route_client-reference-manifest.js +1 -1
  114. package/.next/standalone/.next/server/app/api/daemon-sessions/[sessionUuid]/repoint/route.js +1 -1
  115. package/.next/standalone/.next/server/app/api/daemon-sessions/[sessionUuid]/repoint/route.js.nft.json +1 -1
  116. package/.next/standalone/.next/server/app/api/daemon-sessions/[sessionUuid]/repoint/route_client-reference-manifest.js +1 -1
  117. package/.next/standalone/.next/server/app/api/daemon-sessions/[sessionUuid]/route.js +1 -1
  118. package/.next/standalone/.next/server/app/api/daemon-sessions/[sessionUuid]/route.js.nft.json +1 -1
  119. package/.next/standalone/.next/server/app/api/daemon-sessions/[sessionUuid]/route_client-reference-manifest.js +1 -1
  120. package/.next/standalone/.next/server/app/api/daemon-sessions/ad-hoc/route.js +1 -1
  121. package/.next/standalone/.next/server/app/api/daemon-sessions/ad-hoc/route.js.nft.json +1 -1
  122. package/.next/standalone/.next/server/app/api/daemon-sessions/ad-hoc/route_client-reference-manifest.js +1 -1
  123. package/.next/standalone/.next/server/app/api/daemon-sessions/route.js +1 -1
  124. package/.next/standalone/.next/server/app/api/daemon-sessions/route.js.nft.json +1 -1
  125. package/.next/standalone/.next/server/app/api/daemon-sessions/route_client-reference-manifest.js +1 -1
  126. package/.next/standalone/.next/server/app/api/documents/[uuid]/route_client-reference-manifest.js +1 -1
  127. package/.next/standalone/.next/server/app/api/entities/[type]/[uuid]/root-idea/route.js +1 -1
  128. package/.next/standalone/.next/server/app/api/entities/[type]/[uuid]/root-idea/route.js.nft.json +1 -1
  129. package/.next/standalone/.next/server/app/api/entities/[type]/[uuid]/root-idea/route_client-reference-manifest.js +1 -1
  130. package/.next/standalone/.next/server/app/api/events/notifications/route.js +1 -1
  131. package/.next/standalone/.next/server/app/api/events/notifications/route.js.nft.json +1 -1
  132. package/.next/standalone/.next/server/app/api/events/notifications/route_client-reference-manifest.js +1 -1
  133. package/.next/standalone/.next/server/app/api/events/route.js +1 -1
  134. package/.next/standalone/.next/server/app/api/events/route.js.nft.json +1 -1
  135. package/.next/standalone/.next/server/app/api/events/route_client-reference-manifest.js +1 -1
  136. package/.next/standalone/.next/server/app/api/health/route_client-reference-manifest.js +1 -1
  137. package/.next/standalone/.next/server/app/api/ideas/[uuid]/claim/route.js +1 -1
  138. package/.next/standalone/.next/server/app/api/ideas/[uuid]/claim/route.js.nft.json +1 -1
  139. package/.next/standalone/.next/server/app/api/ideas/[uuid]/claim/route_client-reference-manifest.js +1 -1
  140. package/.next/standalone/.next/server/app/api/ideas/[uuid]/move/preview/route.js +1 -1
  141. package/.next/standalone/.next/server/app/api/ideas/[uuid]/move/preview/route.js.nft.json +1 -1
  142. package/.next/standalone/.next/server/app/api/ideas/[uuid]/move/preview/route_client-reference-manifest.js +1 -1
  143. package/.next/standalone/.next/server/app/api/ideas/[uuid]/move/route.js +1 -1
  144. package/.next/standalone/.next/server/app/api/ideas/[uuid]/move/route.js.nft.json +1 -1
  145. package/.next/standalone/.next/server/app/api/ideas/[uuid]/move/route_client-reference-manifest.js +1 -1
  146. package/.next/standalone/.next/server/app/api/ideas/[uuid]/parent/route.js +1 -1
  147. package/.next/standalone/.next/server/app/api/ideas/[uuid]/parent/route.js.nft.json +1 -1
  148. package/.next/standalone/.next/server/app/api/ideas/[uuid]/parent/route_client-reference-manifest.js +1 -1
  149. package/.next/standalone/.next/server/app/api/ideas/[uuid]/release/route.js +1 -1
  150. package/.next/standalone/.next/server/app/api/ideas/[uuid]/release/route.js.nft.json +1 -1
  151. package/.next/standalone/.next/server/app/api/ideas/[uuid]/release/route_client-reference-manifest.js +1 -1
  152. package/.next/standalone/.next/server/app/api/ideas/[uuid]/route.js +1 -1
  153. package/.next/standalone/.next/server/app/api/ideas/[uuid]/route.js.nft.json +1 -1
  154. package/.next/standalone/.next/server/app/api/ideas/[uuid]/route_client-reference-manifest.js +1 -1
  155. package/.next/standalone/.next/server/app/api/ideas/[uuid]/wake-preview/route.js.nft.json +1 -1
  156. package/.next/standalone/.next/server/app/api/ideas/[uuid]/wake-preview/route_client-reference-manifest.js +1 -1
  157. package/.next/standalone/.next/server/app/api/ideas/conversational/route.js +1 -1
  158. package/.next/standalone/.next/server/app/api/ideas/conversational/route.js.nft.json +1 -1
  159. package/.next/standalone/.next/server/app/api/ideas/conversational/route_client-reference-manifest.js +1 -1
  160. package/.next/standalone/.next/server/app/api/mcp/route.js +4 -4
  161. package/.next/standalone/.next/server/app/api/mcp/route.js.nft.json +1 -1
  162. package/.next/standalone/.next/server/app/api/mcp/route_client-reference-manifest.js +1 -1
  163. package/.next/standalone/.next/server/app/api/me/assignments/route.js +1 -1
  164. package/.next/standalone/.next/server/app/api/me/assignments/route.js.nft.json +1 -1
  165. package/.next/standalone/.next/server/app/api/me/assignments/route_client-reference-manifest.js +1 -1
  166. package/.next/standalone/.next/server/app/api/mentionables/route.js +1 -1
  167. package/.next/standalone/.next/server/app/api/mentionables/route.js.nft.json +1 -1
  168. package/.next/standalone/.next/server/app/api/mentionables/route_client-reference-manifest.js +1 -1
  169. package/.next/standalone/.next/server/app/api/notifications/[uuid]/archive/route.js +1 -1
  170. package/.next/standalone/.next/server/app/api/notifications/[uuid]/archive/route.js.nft.json +1 -1
  171. package/.next/standalone/.next/server/app/api/notifications/[uuid]/archive/route_client-reference-manifest.js +1 -1
  172. package/.next/standalone/.next/server/app/api/notifications/[uuid]/read/route.js +1 -1
  173. package/.next/standalone/.next/server/app/api/notifications/[uuid]/read/route.js.nft.json +1 -1
  174. package/.next/standalone/.next/server/app/api/notifications/[uuid]/read/route_client-reference-manifest.js +1 -1
  175. package/.next/standalone/.next/server/app/api/notifications/preferences/route.js +1 -1
  176. package/.next/standalone/.next/server/app/api/notifications/preferences/route.js.nft.json +1 -1
  177. package/.next/standalone/.next/server/app/api/notifications/preferences/route_client-reference-manifest.js +1 -1
  178. package/.next/standalone/.next/server/app/api/notifications/read-all/route.js +1 -1
  179. package/.next/standalone/.next/server/app/api/notifications/read-all/route.js.nft.json +1 -1
  180. package/.next/standalone/.next/server/app/api/notifications/read-all/route_client-reference-manifest.js +1 -1
  181. package/.next/standalone/.next/server/app/api/notifications/route.js +1 -1
  182. package/.next/standalone/.next/server/app/api/notifications/route.js.nft.json +1 -1
  183. package/.next/standalone/.next/server/app/api/notifications/route_client-reference-manifest.js +1 -1
  184. package/.next/standalone/.next/server/app/api/notifications/unread-count/route.js +1 -1
  185. package/.next/standalone/.next/server/app/api/notifications/unread-count/route.js.nft.json +1 -1
  186. package/.next/standalone/.next/server/app/api/notifications/unread-count/route_client-reference-manifest.js +1 -1
  187. package/.next/standalone/.next/server/app/api/project-groups/[uuid]/dashboard/route_client-reference-manifest.js +1 -1
  188. package/.next/standalone/.next/server/app/api/project-groups/[uuid]/route_client-reference-manifest.js +1 -1
  189. package/.next/standalone/.next/server/app/api/project-groups/route_client-reference-manifest.js +1 -1
  190. package/.next/standalone/.next/server/app/api/project-visits/pin/route_client-reference-manifest.js +1 -1
  191. package/.next/standalone/.next/server/app/api/project-visits/route_client-reference-manifest.js +1 -1
  192. package/.next/standalone/.next/server/app/api/project-visits/visit/route_client-reference-manifest.js +1 -1
  193. package/.next/standalone/.next/server/app/api/projects/[uuid]/activity/route_client-reference-manifest.js +1 -1
  194. package/.next/standalone/.next/server/app/api/projects/[uuid]/agent-cwds/route.js.nft.json +1 -1
  195. package/.next/standalone/.next/server/app/api/projects/[uuid]/agent-cwds/route_client-reference-manifest.js +1 -1
  196. package/.next/standalone/.next/server/app/api/projects/[uuid]/available/route.js +1 -1
  197. package/.next/standalone/.next/server/app/api/projects/[uuid]/available/route.js.nft.json +1 -1
  198. package/.next/standalone/.next/server/app/api/projects/[uuid]/available/route_client-reference-manifest.js +1 -1
  199. package/.next/standalone/.next/server/app/api/projects/[uuid]/documents/route_client-reference-manifest.js +1 -1
  200. package/.next/standalone/.next/server/app/api/projects/[uuid]/group/route_client-reference-manifest.js +1 -1
  201. package/.next/standalone/.next/server/app/api/projects/[uuid]/ideas/route.js +1 -1
  202. package/.next/standalone/.next/server/app/api/projects/[uuid]/ideas/route.js.nft.json +1 -1
  203. package/.next/standalone/.next/server/app/api/projects/[uuid]/ideas/route_client-reference-manifest.js +1 -1
  204. package/.next/standalone/.next/server/app/api/projects/[uuid]/ideas/tracker/route.js +1 -1
  205. package/.next/standalone/.next/server/app/api/projects/[uuid]/ideas/tracker/route.js.nft.json +1 -1
  206. package/.next/standalone/.next/server/app/api/projects/[uuid]/ideas/tracker/route_client-reference-manifest.js +1 -1
  207. package/.next/standalone/.next/server/app/api/projects/[uuid]/proposals/[proposalUuid]/validate/route_client-reference-manifest.js +1 -1
  208. package/.next/standalone/.next/server/app/api/projects/[uuid]/proposals/route_client-reference-manifest.js +1 -1
  209. package/.next/standalone/.next/server/app/api/projects/[uuid]/proposals/summary/route_client-reference-manifest.js +1 -1
  210. package/.next/standalone/.next/server/app/api/projects/[uuid]/resource-graph/route.js +1 -1
  211. package/.next/standalone/.next/server/app/api/projects/[uuid]/resource-graph/route.js.nft.json +1 -1
  212. package/.next/standalone/.next/server/app/api/projects/[uuid]/resource-graph/route_client-reference-manifest.js +1 -1
  213. package/.next/standalone/.next/server/app/api/projects/[uuid]/route_client-reference-manifest.js +1 -1
  214. package/.next/standalone/.next/server/app/api/projects/[uuid]/stats/route_client-reference-manifest.js +1 -1
  215. package/.next/standalone/.next/server/app/api/projects/[uuid]/tasks/dependencies/route.js +1 -1
  216. package/.next/standalone/.next/server/app/api/projects/[uuid]/tasks/dependencies/route.js.nft.json +1 -1
  217. package/.next/standalone/.next/server/app/api/projects/[uuid]/tasks/dependencies/route_client-reference-manifest.js +1 -1
  218. package/.next/standalone/.next/server/app/api/projects/[uuid]/tasks/route.js +1 -1
  219. package/.next/standalone/.next/server/app/api/projects/[uuid]/tasks/route.js.nft.json +1 -1
  220. package/.next/standalone/.next/server/app/api/projects/[uuid]/tasks/route_client-reference-manifest.js +1 -1
  221. package/.next/standalone/.next/server/app/api/projects/agent-cwd-options/route.js.nft.json +1 -1
  222. package/.next/standalone/.next/server/app/api/projects/agent-cwd-options/route_client-reference-manifest.js +1 -1
  223. package/.next/standalone/.next/server/app/api/projects/route.js.nft.json +1 -1
  224. package/.next/standalone/.next/server/app/api/projects/route_client-reference-manifest.js +1 -1
  225. package/.next/standalone/.next/server/app/api/proposals/[uuid]/approve/route_client-reference-manifest.js +1 -1
  226. package/.next/standalone/.next/server/app/api/proposals/[uuid]/close/route_client-reference-manifest.js +1 -1
  227. package/.next/standalone/.next/server/app/api/proposals/[uuid]/reject/route_client-reference-manifest.js +1 -1
  228. package/.next/standalone/.next/server/app/api/proposals/[uuid]/revoke/route_client-reference-manifest.js +1 -1
  229. package/.next/standalone/.next/server/app/api/proposals/[uuid]/route_client-reference-manifest.js +1 -1
  230. package/.next/standalone/.next/server/app/api/references/[uuid]/route_client-reference-manifest.js +1 -1
  231. package/.next/standalone/.next/server/app/api/references/route_client-reference-manifest.js +1 -1
  232. package/.next/standalone/.next/server/app/api/search/route_client-reference-manifest.js +1 -1
  233. package/.next/standalone/.next/server/app/api/session/route_client-reference-manifest.js +1 -1
  234. package/.next/standalone/.next/server/app/api/sessions/[uuid]/route.js +1 -1
  235. package/.next/standalone/.next/server/app/api/sessions/[uuid]/route.js.nft.json +1 -1
  236. package/.next/standalone/.next/server/app/api/sessions/[uuid]/route_client-reference-manifest.js +1 -1
  237. package/.next/standalone/.next/server/app/api/tasks/[uuid]/claim/route.js +1 -1
  238. package/.next/standalone/.next/server/app/api/tasks/[uuid]/claim/route.js.nft.json +1 -1
  239. package/.next/standalone/.next/server/app/api/tasks/[uuid]/claim/route_client-reference-manifest.js +1 -1
  240. package/.next/standalone/.next/server/app/api/tasks/[uuid]/dependencies/[dependsOnUuid]/route.js +1 -1
  241. package/.next/standalone/.next/server/app/api/tasks/[uuid]/dependencies/[dependsOnUuid]/route.js.nft.json +1 -1
  242. package/.next/standalone/.next/server/app/api/tasks/[uuid]/dependencies/[dependsOnUuid]/route_client-reference-manifest.js +1 -1
  243. package/.next/standalone/.next/server/app/api/tasks/[uuid]/dependencies/route.js +1 -1
  244. package/.next/standalone/.next/server/app/api/tasks/[uuid]/dependencies/route.js.nft.json +1 -1
  245. package/.next/standalone/.next/server/app/api/tasks/[uuid]/dependencies/route_client-reference-manifest.js +1 -1
  246. package/.next/standalone/.next/server/app/api/tasks/[uuid]/release/route.js +1 -1
  247. package/.next/standalone/.next/server/app/api/tasks/[uuid]/release/route.js.nft.json +1 -1
  248. package/.next/standalone/.next/server/app/api/tasks/[uuid]/release/route_client-reference-manifest.js +1 -1
  249. package/.next/standalone/.next/server/app/api/tasks/[uuid]/route.js +1 -1
  250. package/.next/standalone/.next/server/app/api/tasks/[uuid]/route.js.nft.json +1 -1
  251. package/.next/standalone/.next/server/app/api/tasks/[uuid]/route_client-reference-manifest.js +1 -1
  252. package/.next/standalone/.next/server/app/api/tasks/[uuid]/sessions/route.js +1 -1
  253. package/.next/standalone/.next/server/app/api/tasks/[uuid]/sessions/route.js.nft.json +1 -1
  254. package/.next/standalone/.next/server/app/api/tasks/[uuid]/sessions/route_client-reference-manifest.js +1 -1
  255. package/.next/standalone/.next/server/app/index.html +2 -2
  256. package/.next/standalone/.next/server/app/index.rsc +2 -2
  257. package/.next/standalone/.next/server/app/login/admin/page_client-reference-manifest.js +1 -1
  258. package/.next/standalone/.next/server/app/login/admin.html +2 -2
  259. package/.next/standalone/.next/server/app/login/admin.rsc +2 -2
  260. package/.next/standalone/.next/server/app/login/callback/page_client-reference-manifest.js +1 -1
  261. package/.next/standalone/.next/server/app/login/callback.html +2 -2
  262. package/.next/standalone/.next/server/app/login/callback.rsc +2 -2
  263. package/.next/standalone/.next/server/app/login/page_client-reference-manifest.js +1 -1
  264. package/.next/standalone/.next/server/app/login/pick-workspace/page_client-reference-manifest.js +1 -1
  265. package/.next/standalone/.next/server/app/login/pick-workspace.html +2 -2
  266. package/.next/standalone/.next/server/app/login/pick-workspace.rsc +2 -2
  267. package/.next/standalone/.next/server/app/login.html +2 -2
  268. package/.next/standalone/.next/server/app/login.rsc +2 -2
  269. package/.next/standalone/.next/server/app/onboarding/page.js +2 -2
  270. package/.next/standalone/.next/server/app/onboarding/page.js.nft.json +1 -1
  271. package/.next/standalone/.next/server/app/onboarding/page_client-reference-manifest.js +1 -1
  272. package/.next/standalone/.next/server/app/onboarding.html +2 -2
  273. package/.next/standalone/.next/server/app/onboarding.rsc +3 -3
  274. package/.next/standalone/.next/server/app/page_client-reference-manifest.js +1 -1
  275. package/.next/standalone/.next/server/app/projects.html +2 -2
  276. package/.next/standalone/.next/server/app/projects.rsc +4 -4
  277. package/.next/standalone/.next/server/app/settings.html +2 -2
  278. package/.next/standalone/.next/server/app/settings.rsc +4 -4
  279. package/.next/standalone/.next/server/app-paths-manifest.json +48 -48
  280. package/.next/standalone/.next/server/chunks/1114.js +1 -0
  281. package/.next/standalone/.next/server/chunks/1318.js +1 -1
  282. package/.next/standalone/.next/server/chunks/1559.js +2 -2
  283. package/.next/standalone/.next/server/chunks/2572.js +1 -1
  284. package/.next/standalone/.next/server/chunks/2961.js +1 -1
  285. package/.next/standalone/.next/server/chunks/3594.js +1 -1
  286. package/.next/standalone/.next/server/chunks/4394.js +1 -1
  287. package/.next/standalone/.next/server/chunks/4827.js +1 -1
  288. package/.next/standalone/.next/server/chunks/5245.js +1 -1
  289. package/.next/standalone/.next/server/chunks/5351.js +1 -1
  290. package/.next/standalone/.next/server/chunks/{4011.js → 5489.js} +4 -4
  291. package/.next/standalone/.next/server/chunks/6113.js +1 -1
  292. package/.next/standalone/.next/server/chunks/6506.js +1 -1
  293. package/.next/standalone/.next/server/chunks/6667.js +1 -1
  294. package/.next/standalone/.next/server/chunks/6995.js +1 -1
  295. package/.next/standalone/.next/server/chunks/7368.js +1 -1
  296. package/.next/standalone/.next/server/chunks/7530.js +1 -1
  297. package/.next/standalone/.next/server/chunks/8044.js +1 -0
  298. package/.next/standalone/.next/server/chunks/920.js +1 -1
  299. package/.next/standalone/.next/server/chunks/9213.js +1 -1
  300. package/.next/standalone/.next/server/chunks/9378.js +1 -1
  301. package/.next/standalone/.next/server/chunks/951.js +1 -1
  302. package/.next/standalone/.next/server/middleware-build-manifest.js +1 -1
  303. package/.next/standalone/.next/server/middleware-manifest.json +1 -1
  304. package/.next/standalone/.next/server/pages/404.html +2 -2
  305. package/.next/standalone/.next/server/pages/500.html +1 -1
  306. package/.next/standalone/.next/server/server-reference-manifest.js +1 -1
  307. package/.next/standalone/.next/server/server-reference-manifest.json +1 -1
  308. package/.next/standalone/.next/static/chunks/11595.97e534422c57aee1.js +1 -0
  309. package/.next/standalone/.next/static/chunks/17099-936da9caf4c119b8.js +1 -0
  310. package/.next/standalone/.next/static/chunks/18609-6c859f756d530e94.js +1 -0
  311. package/.next/standalone/.next/static/chunks/19887-c0bb297a78a1c7cd.js +1 -0
  312. package/.next/standalone/.next/static/chunks/20204-90d655ea14281e10.js +1 -0
  313. package/.next/standalone/.next/static/chunks/{53402-a54163001f3d953a.js → 27370-c056dee2016c9124.js} +1 -1
  314. package/.next/standalone/.next/static/chunks/{29108-b9b232255811ffa8.js → 29108-5a11eea003f4cc11.js} +1 -1
  315. package/.next/standalone/.next/static/chunks/29305-f587e7e81bc0b200.js +10 -0
  316. package/.next/standalone/.next/static/chunks/33456.6dc44a6aca1a01fd.js +1 -0
  317. package/.next/standalone/.next/static/chunks/35432-5c245212c7595169.js +1 -0
  318. package/.next/standalone/.next/static/chunks/45024-eb7c062d13d9fe08.js +1 -0
  319. package/.next/standalone/.next/static/chunks/46294-6ae5bd0480b1820f.js +1 -0
  320. package/.next/standalone/.next/static/chunks/4860.7873ebc9ba435c8c.js +1 -0
  321. package/.next/standalone/.next/static/chunks/53073-a7ed20af6538a178.js +1 -0
  322. package/.next/standalone/.next/static/chunks/65096-f756aac39efad7a3.js +1 -0
  323. package/.next/standalone/.next/static/chunks/6603-e70ddeab6ad09c50.js +1 -0
  324. package/.next/standalone/.next/static/chunks/67580-8733964ab2c7fc0e.js +1 -0
  325. package/.next/standalone/.next/static/chunks/7777-8b1b6681256e1534.js +1 -0
  326. package/.next/standalone/.next/static/chunks/78917-1b59cbb806b3ecfc.js +1 -0
  327. package/.next/standalone/.next/static/chunks/82751-3e161e1d8dbda3ac.js +1 -0
  328. package/.next/standalone/.next/static/chunks/94643-01be319472d751b3.js +1 -0
  329. package/.next/standalone/.next/static/chunks/99373.d0e808c18408b8da.js +1 -0
  330. package/.next/standalone/.next/static/chunks/app/(dashboard)/{layout-cea0bb3e3a295bea.js → layout-b742c51c0a764daf.js} +1 -1
  331. package/.next/standalone/.next/static/chunks/app/(dashboard)/project-groups/[uuid]/page-974781e4886529f8.js +1 -0
  332. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/dashboard/{page-007278623926490f.js → page-f636e00c28f425ea.js} +1 -1
  333. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/documents/[documentUuid]/page-c004f1a194af7fa5.js +1 -0
  334. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/documents/page-425acbe9ade5fa83.js +1 -0
  335. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/graph/{page-f5a351c544ed23d7.js → page-fdd617457730a116.js} +1 -1
  336. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/proposals/[proposalUuid]/page-6b3fb08d53826d02.js +1 -0
  337. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/proposals/page-0a6c2d0e1b68e0e4.js +1 -0
  338. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/tasks/[taskUuid]/page-58b48aa0a11603c3.js +1 -0
  339. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/tasks/page-286faced32c6133f.js +1 -0
  340. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/{page-7a5ef281f6819ed4.js → page-9d79e285b6fd2f8d.js} +1 -1
  341. package/.next/standalone/.next/static/chunks/app/(dashboard)/settings/page-1507a761e67c2aa9.js +1 -0
  342. package/.next/standalone/.next/static/chunks/app/onboarding/page-5c82cf3abd856301.js +1 -0
  343. package/.next/standalone/.next/static/chunks/f5a9da1f-6abf712b3f684cf9.js +1 -0
  344. package/.next/standalone/.next/static/chunks/{webpack-b54e0c78eded76be.js → webpack-fa066d7ff9ab2b29.js} +1 -1
  345. package/.next/standalone/.next/static/css/5f52bd39b284ccdf.css +1 -0
  346. package/.next/standalone/package.json +3 -1
  347. package/.next/standalone/public/chorus-plugin/.claude-plugin/plugin.json +1 -1
  348. package/.next/standalone/public/chorus-plugin/skills/brainstorm/SKILL.md +1 -1
  349. package/.next/standalone/public/chorus-plugin/skills/chorus/SKILL.md +2 -1
  350. package/.next/standalone/public/chorus-plugin/skills/develop/SKILL.md +1 -1
  351. package/.next/standalone/public/chorus-plugin/skills/docs/SKILL.md +1 -1
  352. package/.next/standalone/public/chorus-plugin/skills/idea/SKILL.md +5 -4
  353. package/.next/standalone/public/chorus-plugin/skills/openspec-aware/SKILL.md +1 -1
  354. package/.next/standalone/public/chorus-plugin/skills/orchestrate/SKILL.md +128 -0
  355. package/.next/standalone/public/chorus-plugin/skills/proposal/SKILL.md +1 -1
  356. package/.next/standalone/public/chorus-plugin/skills/quick-dev/SKILL.md +1 -1
  357. package/.next/standalone/public/chorus-plugin/skills/review/SKILL.md +1 -1
  358. package/.next/standalone/public/chorus-plugin/skills/yolo/SKILL.md +1 -1
  359. package/.next/standalone/public/kiro-plugin/.kiro/skills/chorus-brainstorm/SKILL.md +1 -1
  360. package/.next/standalone/public/kiro-plugin/.kiro/skills/chorus-develop/SKILL.md +1 -1
  361. package/.next/standalone/public/kiro-plugin/.kiro/skills/chorus-docs/SKILL.md +1 -1
  362. package/.next/standalone/public/kiro-plugin/.kiro/skills/chorus-idea/SKILL.md +5 -4
  363. package/.next/standalone/public/kiro-plugin/.kiro/skills/chorus-openspec-aware/SKILL.md +1 -1
  364. package/.next/standalone/public/kiro-plugin/.kiro/skills/chorus-orchestrate/SKILL.md +128 -0
  365. package/.next/standalone/public/kiro-plugin/.kiro/skills/chorus-proposal/SKILL.md +1 -1
  366. package/.next/standalone/public/kiro-plugin/.kiro/skills/chorus-quick-dev/SKILL.md +1 -1
  367. package/.next/standalone/public/kiro-plugin/.kiro/skills/chorus-review/SKILL.md +1 -1
  368. package/.next/standalone/public/kiro-plugin/.kiro/skills/chorus-yolo/SKILL.md +1 -1
  369. package/.next/standalone/public/kiro-plugin/.kiro/steering/chorus.md +2 -1
  370. package/.next/standalone/public/kiro-plugin/bin/chorus-api.sh +1 -1
  371. package/.next/standalone/public/skill/brainstorm-chorus/SKILL.md +1 -1
  372. package/.next/standalone/public/skill/chorus/SKILL.md +2 -1
  373. package/.next/standalone/public/skill/code-reviewer-chorus/SKILL.md +1 -1
  374. package/.next/standalone/public/skill/develop-chorus/SKILL.md +1 -1
  375. package/.next/standalone/public/skill/docs-chorus/SKILL.md +1 -1
  376. package/.next/standalone/public/skill/idea-chorus/SKILL.md +5 -4
  377. package/.next/standalone/public/skill/orchestrate-chorus/SKILL.md +128 -0
  378. package/.next/standalone/public/skill/proposal-chorus/SKILL.md +1 -1
  379. package/.next/standalone/public/skill/proposal-reviewer-chorus/SKILL.md +1 -1
  380. package/.next/standalone/public/skill/quick-dev-chorus/SKILL.md +1 -1
  381. package/.next/standalone/public/skill/review-chorus/SKILL.md +1 -1
  382. package/.next/standalone/public/skill/task-reviewer-chorus/SKILL.md +1 -1
  383. package/.next/standalone/public/skill/yolo-chorus/SKILL.md +1 -1
  384. package/cli/prompts.mjs +13 -3
  385. package/package.json +3 -1
  386. package/.next/standalone/.next/server/chunks/2463.js +0 -1
  387. package/.next/standalone/.next/server/chunks/5205.js +0 -1
  388. package/.next/standalone/.next/static/chunks/11595.b6f8ad33572b32fe.js +0 -1
  389. package/.next/standalone/.next/static/chunks/19887-9f459ee9e8d0855f.js +0 -1
  390. package/.next/standalone/.next/static/chunks/22987-8fd965ab4ff87546.js +0 -1
  391. package/.next/standalone/.next/static/chunks/33456.e8550ad410031e29.js +0 -1
  392. package/.next/standalone/.next/static/chunks/35432-ee83da56c49ef6f8.js +0 -1
  393. package/.next/standalone/.next/static/chunks/38296-316ba18af72385fb.js +0 -1
  394. package/.next/standalone/.next/static/chunks/4860.b405fc235b36271b.js +0 -1
  395. package/.next/standalone/.next/static/chunks/53073-5fd399cb25a11740.js +0 -1
  396. package/.next/standalone/.next/static/chunks/6603-07faab08560f7ecd.js +0 -1
  397. package/.next/standalone/.next/static/chunks/6698-1c55791b2d0820d5.js +0 -1
  398. package/.next/standalone/.next/static/chunks/66980-652990fcf3212c94.js +0 -10
  399. package/.next/standalone/.next/static/chunks/75137-c9e8422c9d4e1f52.js +0 -1
  400. package/.next/standalone/.next/static/chunks/7777-5dad34f6bdc13482.js +0 -1
  401. package/.next/standalone/.next/static/chunks/78917-7354d3b6908da7d1.js +0 -1
  402. package/.next/standalone/.next/static/chunks/82751-de255af4418d53e4.js +0 -1
  403. package/.next/standalone/.next/static/chunks/83285-db8ae107944eb6df.js +0 -1
  404. package/.next/standalone/.next/static/chunks/86155-c9b7c2c08d3fa80e.js +0 -1
  405. package/.next/standalone/.next/static/chunks/89836-b5ab6a0b32c54f42.js +0 -1
  406. package/.next/standalone/.next/static/chunks/94643-6d31df78aa3074b5.js +0 -1
  407. package/.next/standalone/.next/static/chunks/96170-75da13decdb6f73f.js +0 -1
  408. package/.next/standalone/.next/static/chunks/99373.9dce8f30802824fc.js +0 -1
  409. package/.next/standalone/.next/static/chunks/app/(dashboard)/project-groups/[uuid]/page-7462c5eb92130796.js +0 -1
  410. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/documents/[documentUuid]/page-b6ecaf52f6b81ec7.js +0 -1
  411. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/documents/page-82404154708e48a9.js +0 -1
  412. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/proposals/[proposalUuid]/page-3cd46bec9383b191.js +0 -1
  413. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/proposals/page-6abc7d1785e2b999.js +0 -1
  414. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/tasks/[taskUuid]/page-7f87113e5d8bcf6e.js +0 -1
  415. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/tasks/page-30ab1573c4bd466f.js +0 -1
  416. package/.next/standalone/.next/static/chunks/app/(dashboard)/settings/page-b21d4184d9ca0b25.js +0 -1
  417. package/.next/standalone/.next/static/chunks/app/onboarding/page-3b6c54f887108635.js +0 -1
  418. package/.next/standalone/.next/static/css/893d99a21153c9b0.css +0 -1
  419. /package/.next/standalone/.next/static/{YTZwWTfE0BsJnjCDYCEHi → K8qIdwvKoIWbwQ_f01mnM}/_buildManifest.js +0 -0
  420. /package/.next/standalone/.next/static/{YTZwWTfE0BsJnjCDYCEHi → K8qIdwvKoIWbwQ_f01mnM}/_ssgManifest.js +0 -0
@@ -4,7 +4,7 @@ description: Chorus documentation router — consult the live Chorus docs site t
4
4
  license: AGPL-3.0
5
5
  metadata:
6
6
  author: chorus
7
- version: "0.16.2"
7
+ version: "0.16.3"
8
8
  category: project-management
9
9
  mcp_server: chorus
10
10
  ---
@@ -4,7 +4,7 @@ description: Chorus Idea workflow — claim ideas, run elaboration rounds, and p
4
4
  license: AGPL-3.0
5
5
  metadata:
6
6
  author: chorus
7
- version: "0.16.2"
7
+ version: "0.16.3"
8
8
  category: project-management
9
9
  mcp_server: chorus
10
10
  ---
@@ -39,6 +39,7 @@ All post-elaboration progress (planning, building, verifying, done) is **derived
39
39
  | `chorus_edit_idea` | Edit an existing idea's title, description, and/or lineage parent. `parentUuid`: another same-project idea to reparent under, `null` to detach to top-level, omit to leave unchanged (cycle-checked + same-project). Single-parent **weak** lineage — a parent shows a read-only `+N derived` rollup but never blocks either idea's flow. Records an "edited" activity and signals presence. |
40
40
  | `chorus_claim_idea` | Claim an open idea (open -> elaborating) |
41
41
  | `chorus_release_idea` | Release a claimed idea (elaborating -> open) |
42
+ | `chorus_pm_assign_idea` | Assign an idea to an agent (must hold `idea:write`) or a user, on a human's behalf — the counterpart to `chorus_claim_idea` (self-claim). Silently takes over any existing assignee; an `open` idea moves to `elaborating`, any other status is preserved. Optional `instanceUuid` pins an **agent** assignment to a specific AgentInstance (agent-only). Assigning to an agent wakes it best-effort (offline still persists the assignment); assigning to a user notifies them with no daemon wake. Requires `idea:admin`. |
42
43
  | `chorus_move_idea` | Move an Idea to a different Project. Cascade-migrates the Idea **and its full lineage subtree** (all descendant Ideas; the moved root is detached from any parent left behind), all linked Proposals (any status), all materialized Documents and Tasks, and all related Activities atomically. Comments, TaskDependency, AcceptanceCriterion, AgentSession, SessionTaskCheckin, Notification history, and Task assignees are NOT modified. Returns `moved: { ideas, proposals, documents, tasks, activities }` counts. Requires `idea:write` only — no project-level checks. |
43
44
 
44
45
  **Requirements Elaboration:**
@@ -46,7 +47,7 @@ All post-elaboration progress (planning, building, verifying, done) is **derived
46
47
  | Tool | Purpose |
47
48
  |------|---------|
48
49
  | `chorus_pm_start_elaboration` | Generate an elaboration round (first, follow-up, or appended-after-resolution) |
49
- | `chorus_pm_validate_elaboration` | Mark the whole elaboration complete (requires `idea:admin`; requires human confirmation first) |
50
+ | `chorus_pm_validate_elaboration` | Mark the whole elaboration complete (requires `idea:admin`; requires human confirmation first) — callable by the Idea's assignee, or a non-assignee `idea:admin` gateway (wakes the assignee) |
50
51
  | `chorus_pm_skip_elaboration` | Skip elaboration for trivially clear Ideas |
51
52
  | `chorus_answer_elaboration` | Submit answers for an elaboration round (`roundUuid` optional — auto-locates the active round) |
52
53
  | `chorus_get_elaboration` | Get full elaboration state (rounds, questions, answers) |
@@ -155,7 +156,7 @@ If the Idea is fuzzy and you'd struggle to enumerate concrete multi-choice quest
155
156
 
156
157
  When `/chorus-brainstorm` returns, you own the lifecycle decision (the brainstorm skill deliberately leaves it to you):
157
158
 
158
- - If the synthesized round answers cover everything → obtain human confirmation, then call `chorus_pm_validate_elaboration` to resolve the elaboration. (Resolve needs `idea:admin` — see Step 5.6 if your key is `pm_agent`-preset.)
159
+ - If the synthesized round answers cover everything → obtain human confirmation, then call `chorus_pm_validate_elaboration` to resolve the elaboration. (Resolve needs `idea:admin` — see Step 5.6 if your key is `pm_agent`-preset, or a non-assignee `idea:admin` gateway (wakes the assignee).)
159
160
  - If gaps remain → call `chorus_pm_start_elaboration` again to open a structured Round 2. Pick the depth yourself — do NOT re-prompt the user.
160
161
 
161
162
  Either outcome ends Step 4.5; skip Step 5.
@@ -270,7 +271,7 @@ chorus_pm_skip_elaboration({
270
271
 
271
272
  > **Permission (N1): `chorus_pm_validate_elaboration` requires `idea:admin`.** The `pm_agent` preset only grants `idea:write`, so a PM-preset agent **cannot** resolve — it must hand off to an `admin_agent`-preset agent (or an admin-preset API key) to perform the resolve. If your key lacks `idea:admin`, surface this to the human and request the handoff instead of failing silently.
272
273
 
273
- > **Assignee precondition (N2):** the resolving actor must be the Idea's **assignee**. A separate human reviewer resolving a PM-owned Idea therefore needs **both** `idea:admin` **and** to be assigned the Idea (claim/reassign it first). Admin permission alone is not enough.
274
+ > **Assignee OR idea:admin gateway (N2):** the resolving actor may be the Idea's **assignee**, OR a non-assignee holding **`idea:admin`** acting as a gateway. A gateway resolve (or skip via `chorus_pm_skip_elaboration`) is the MCP analogue of the human UI **Verify-Elaborate**: it logs an `elaboration_verified` activity that wakes the Idea's **assignee** agent to write the proposal. So an orchestrator/admin no longer needs to claim/reassign the Idea to resolve it — holding `idea:admin` is enough. (Assignee self-resolve/skip is unchanged and wakes no one.)
274
275
 
275
276
  ```
276
277
  chorus_pm_validate_elaboration({
@@ -4,7 +4,7 @@ description: Opt-in OpenSpec-mode authoring for Chorus PM workflows in Kiro CLI.
4
4
  license: AGPL-3.0
5
5
  metadata:
6
6
  author: chorus
7
- version: "0.16.2"
7
+ version: "0.16.3"
8
8
  category: project-management
9
9
  mcp_server: chorus
10
10
  ---
@@ -0,0 +1,128 @@
1
+ ---
2
+ name: chorus-orchestrate
3
+ description: Multi-agent orchestration playbook — coordinate OTHER agents and humans across the AI-DLC lifecycle by delegating ideas and tasks, running independent reviewers, and gatekeeping at the Reversed-Conversation gates.
4
+ license: AGPL-3.0
5
+ metadata:
6
+ author: chorus
7
+ version: "0.16.3"
8
+ category: project-management
9
+ mcp_server: chorus
10
+ ---
11
+
12
+ # Chorus Orchestrate Skill
13
+
14
+ This skill is for an **orchestrator** (typically an Admin-preset agent) that coordinates *other* agents and humans across the AI-DLC lifecycle instead of doing all the work itself. The orchestrator decomposes work, hands each piece to a chosen owner, runs independent reviewers as quality gates, and gatekeeps the human-owned approval/verify gates — but never ships on its own.
15
+
16
+ It complements the other skills rather than replacing them:
17
+
18
+ - `/chorus-yolo` — **one** agent drives the whole pipeline solo. Orchestration is the opposite: **many** agents, each owning a piece, coordinated by you.
19
+ - `/chorus-idea`, `/chorus-proposal`, `/chorus-develop`, `/chorus-review`, `/chorus-quick-dev` — a single stage you execute yourself. Orchestration is the layer *above* those: you decide who runs each stage.
20
+
21
+ ---
22
+
23
+ ## When to use this skill
24
+
25
+ Use it when **more than one agent (or agent + human) will touch the work** and someone has to keep them coherent:
26
+
27
+ - You own a **theme / epic / container idea** that decomposes into several independent child ideas, and you want to hand each child to a specific worker (the motivating case: a theme owner gives one child to Codex, another to a Claude dev agent, another to a human).
28
+ - An approved proposal has a **task DAG** and you want several developer agents working the unblocked tasks in parallel waves.
29
+ - You need an **independent adversarial review** of someone else's proposal / task / feature before it advances.
30
+ - You are the responsible owner and must keep **one accountable assignee per idea** while work fans out.
31
+
32
+ Prerequisite: delegating ideas needs `idea:admin`; delegating tasks needs `proposal:write`. Run `chorus_checkin()` first to confirm your permission set.
33
+
34
+ ---
35
+
36
+ ## Delegation primitives
37
+
38
+ ### Assign an idea — `chorus_pm_assign_idea` (`idea:admin`)
39
+
40
+ Hand a whole idea to a chosen agent or user. Parameters:
41
+
42
+ | Param | Meaning |
43
+ |-------|---------|
44
+ | `ideaUuid` | The idea to delegate |
45
+ | `assigneeType` | `"agent"` or `"user"` |
46
+ | `assigneeUuid` | The chosen agent/user UUID (resolve names with `chorus_search_mentionables`) |
47
+ | `instanceUuid` | *(optional, agent targets only)* pin the work to one durable AgentInstance — the `(agent, host, cwd)` place — so wakes land where the code lives |
48
+
49
+ Behavior you must understand:
50
+
51
+ - **The assignee is woken and advances from the idea's *current* stage** — it does **NOT** re-claim. If the idea is `open` it moves to `elaborating`; any other status is preserved. The assignee picks up wherever the idea already is (elaboration, ready-for-proposal, etc.).
52
+ - **Agent targets must hold `idea:write`** (via a preset such as `pm_agent`/`admin_agent`, or an explicit permission) or the call is rejected. **User targets must be in your company.** `instanceUuid` is rejected for user targets.
53
+ - **Silent takeover.** Reassigning an already-owned idea simply moves ownership to the new assignee — there is one owner at a time, no confirmation prompt. Use this deliberately, not by accident.
54
+
55
+ ### Assign a task — `chorus_pm_assign_task` (`proposal:write`)
56
+
57
+ Hand a single task to a developer agent. Parameters: `taskUuid`, `agentUuid` (must hold `task:write`), optional `instanceUuid`. The task must be `open` or `assigned`. The assignee is woken to execute it. Use this to distribute the tasks of an approved proposal.
58
+
59
+ ### Derive child ideas and fan them out
60
+
61
+ The theme-decomposition case, end to end:
62
+
63
+ 1. Read the container/theme idea and its context (`chorus_get_idea`, `chorus_get_documents`, `chorus_get_comments`).
64
+ 2. For each independent slice, create a child idea with `chorus_pm_create_idea` (link it back to the parent in the body / via `references[]`).
65
+ 3. Assign each child to a distinct owner with `chorus_pm_assign_idea` — e.g. one child to Codex, one to a Claude dev agent, one to a human. Each child now has its **own single owner** and advances independently.
66
+ 4. @mention each assignee and the theme owner so the delegation is visible.
67
+
68
+ ---
69
+
70
+ ## Independent review as an adversarial gate
71
+
72
+ The plugin ships three read-only reviewer subagents. As orchestrator you spawn them at the three gates and act on the verdict — this is your primary quality lever when you are not writing the code yourself.
73
+
74
+ | Reviewer subagent | Spawn after | Reviews |
75
+ |-------------------|-------------|---------|
76
+ | `chorus-proposal-reviewer` | a proposal is submitted | proposal draft quality (VERDICT on the proposal) |
77
+ | `chorus-task-reviewer` | a task is submitted for verify | one task vs its acceptance criteria (VERDICT on the task) |
78
+ | `chorus-code-reviewer` | the idea's last task is verified | the idea's **aggregate** code change — the final ship gateway (VERDICT on the idea) |
79
+
80
+ Kiro auto-selects a reviewer by its `description`, and each is also reachable as a `/name` slash command. Each posts exactly one `VERDICT: PASS` / `PASS WITH NOTES` / `FAIL` comment. Verdicts are **advisory** — they do not auto-approve, auto-verify, or hard-block; you read the BLOCKERs and decide. A `FAIL` means route the BLOCKERs back for a fix before advancing (for a code-review FAIL, add fix tasks to the *approved* proposal via `/chorus-quick-dev` and re-run once they are `done`). See `/chorus-review` for the full pattern.
81
+
82
+ ---
83
+
84
+ ## Choosing a collaboration mode
85
+
86
+ Pick the lightest mode that fits the shape of the work:
87
+
88
+ | Mode | Use when | How you run it |
89
+ |------|----------|----------------|
90
+ | **Single-owner drives one idea** | The work is one coherent feature | Assign the idea once (`chorus_pm_assign_idea`); that owner runs idea → proposal → tasks; you gatekeep the gates |
91
+ | **Fan-out children to N agents** | A theme decomposes into independent slices | Derive child ideas, assign each to a distinct owner; children run in parallel, each single-owner |
92
+ | **Parallel task waves** | One approved proposal with a task DAG | Assign the currently-unblocked tasks (`chorus_pm_assign_task`) to several dev agents; as tasks reach `done`, assign the next wave |
93
+ | **Review-only** | Work is already produced elsewhere | Spawn the relevant reviewer, read the VERDICT, and gatekeep — no new delegation |
94
+
95
+ Guidance: start narrow. If a single owner can hold the whole feature in their head, prefer **single-owner** — coordination overhead is not free. Reach for **fan-out** only when slices are genuinely independent (separate scope, separable elaboration). Use **parallel task waves** only after a proposal is approved and its DAG is real; respect dependencies — `to_verify` does **not** unblock downstream, only `done` does.
96
+
97
+ ---
98
+
99
+ ## Single-owner & concurrency discipline
100
+
101
+ - **One responsible assignee per idea at a time.** This mirrors the daemon's single-owner semantics: the idea is the authoritative pin root, and its owner's proposals/tasks/wakes inherit that identity. Don't leave an idea ambiguously "owned by the team."
102
+ - **Don't race duplicate sessions on the same work.** Two daemon sessions (or two agents) driving the same idea/task will collide on status transitions and produce conflicting wakes. Assign, then let one owner run.
103
+ - **Pin with `instanceUuid` when the work is tied to a place.** If a child idea's code lives on a specific host/cwd, pin the assignment to that AgentInstance so every downstream wake lands there instead of a random daemon.
104
+
105
+ ---
106
+
107
+ ## Reversed-Conversation gates (you never auto-ship)
108
+
109
+ Chorus is **AI proposes, humans verify**. As orchestrator you enforce that, you do not bypass it:
110
+
111
+ - **Elaboration gate (gateway resolve/skip).** When a child idea you assigned to another agent has its elaboration answered, you can close the elaboration gate yourself via `chorus_pm_validate_elaboration` (or `chorus_pm_skip_elaboration` for a trivially clear idea) even though you are not the assignee — holding `idea:admin` is enough. This is the MCP parity of the UI Verify-Elaborate: it wakes the **assignee** agent to write the proposal. You gatekeep the gate; the assignee still authors the proposal (Reversed-Conversation preserved).
112
+ - **Proposal gate.** When a delegated owner submits a proposal, STOP. Run the proposal reviewer, then hand the approve/reject decision to the human owner. Do not self-approve just because you *can* (`proposal:admin`).
113
+ - **Verify gate.** When a task reaches `to_verify`, STOP. Run the task reviewer, then let the human verify. Permission to verify is not authorization to rubber-stamp your own coordinated work.
114
+ - **Never merge or push.** The orchestrator drives work up to "PR ready" and hands it back to the human — it does not merge, push, or otherwise ship autonomously.
115
+
116
+ @mention the owner at each gate so the handoff is explicit and auditable.
117
+
118
+ ---
119
+
120
+ ## Derive a child idea vs add a task vs assign directly
121
+
122
+ | Do this | When |
123
+ |---------|------|
124
+ | **Derive a new child idea** (`chorus_pm_create_idea` + assign) | The slice is genuinely separate scope that deserves its own elaboration, proposal, and owner — a theme decomposition, or a parallelizable sub-feature. |
125
+ | **Add a task to an approved proposal** (`chorus_create_tasks` with `proposalUuid`) | The work is a discrete unit of the **same** feature that already has a proposal — e.g. code-review fix tasks, or a follow-up step in an existing DAG. |
126
+ | **Assign the existing idea/task directly** (`chorus_pm_assign_idea` / `chorus_pm_assign_task`) | The work is already scoped and just needs a (different) owner or executor — reassignment, taking over a stalled idea, or distributing existing tasks. |
127
+
128
+ Rule of thumb: **new scope → child idea; same-proposal unit → task; only the owner changes → assign.**
@@ -4,7 +4,7 @@ description: Chorus Proposal workflow — create proposals with document and tas
4
4
  license: AGPL-3.0
5
5
  metadata:
6
6
  author: chorus
7
- version: "0.16.2"
7
+ version: "0.16.3"
8
8
  category: project-management
9
9
  mcp_server: chorus
10
10
  ---
@@ -4,7 +4,7 @@ description: Quick Task workflow — skip Idea→Proposal, create tasks directly
4
4
  license: AGPL-3.0
5
5
  metadata:
6
6
  author: chorus
7
- version: "0.16.2"
7
+ version: "0.16.3"
8
8
  category: project-management
9
9
  mcp_server: chorus
10
10
  ---
@@ -4,7 +4,7 @@ description: Chorus Review workflow — approve/reject proposals, verify tasks,
4
4
  license: AGPL-3.0
5
5
  metadata:
6
6
  author: chorus
7
- version: "0.16.2"
7
+ version: "0.16.3"
8
8
  category: project-management
9
9
  mcp_server: chorus
10
10
  ---
@@ -4,7 +4,7 @@ description: Full-auto AI-DLC pipeline — from prompt to done. Automates the en
4
4
  license: AGPL-3.0
5
5
  metadata:
6
6
  author: chorus
7
- version: "0.16.2"
7
+ version: "0.16.3"
8
8
  category: project-management
9
9
  mcp_server: chorus
10
10
  ---
@@ -2,7 +2,7 @@
2
2
 
3
3
  Chorus is a work collaboration platform for AI Agents, enabling multiple Agents (PM, Developer, Admin) and humans to collaborate on the same platform through the **AI-DLC (AI Development Life Cycle)** workflow.
4
4
 
5
- This is the **always-on project-context steering doc** for the Chorus Kiro plugin. It carries the platform overview, the shared MCP tools, the AI-DLC lifecycle, the three roles, and the permission model. For a stage-specific workflow, invoke the matching skill (`/chorus-idea`, `/chorus-proposal`, `/chorus-develop`, `/chorus-yolo`, `/chorus-review`, `/chorus-quick-dev`, `/chorus-brainstorm`, `/chorus-openspec-aware`).
5
+ This is the **always-on project-context steering doc** for the Chorus Kiro plugin. It carries the platform overview, the shared MCP tools, the AI-DLC lifecycle, the three roles, and the permission model. For a stage-specific workflow, invoke the matching skill (`/chorus-idea`, `/chorus-proposal`, `/chorus-develop`, `/chorus-yolo`, `/chorus-orchestrate`, `/chorus-review`, `/chorus-quick-dev`, `/chorus-brainstorm`, `/chorus-openspec-aware`).
6
6
 
7
7
  > **Why this is steering, not a skill.** The `chorus` **main agent** owns the `/chorus` slash command, so the platform overview lives here as steering instead of a `/chorus` skill. Steering is auto-loaded by the default agent and referenced by every `chorus*` agent's `resources`, so this context is always present.
8
8
 
@@ -389,6 +389,7 @@ The `chorus` main agent owns `/chorus` and pre-loads all skills below. For stage
389
389
  | Stage | Skill | Description |
390
390
  |-------|-------|-------------|
391
391
  | **Full Auto** | `/chorus-yolo` | Full-auto AI-DLC pipeline — from prompt to done. Automates Idea → Proposal → Execute → Verify with adversarial reviewers |
392
+ | **Orchestration** | `/chorus-orchestrate` | Coordinate OTHER agents & humans across the lifecycle — delegate ideas (`chorus_pm_assign_idea`) & tasks, fan a theme out to child ideas, run independent reviewers, and gatekeep the proposal/verify gates |
392
393
  | **Quick Dev** | `/chorus-quick-dev` | Skip Idea→Proposal, create tasks directly, execute, and verify |
393
394
  | **Ideation** | `/chorus-idea` | Claim Ideas, run elaboration rounds, prepare for proposal |
394
395
  | **Planning** | `/chorus-proposal` | Create Proposals with document & task drafts, manage dependency DAG, submit for review |
@@ -240,7 +240,7 @@ cmd_mcp_tool() {
240
240
  # Step 1: Initialize MCP session
241
241
  local init_payload
242
242
  init_payload=$(cat <<JSONEOF
243
- {"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2025-03-26","capabilities":{},"clientInfo":{"name":"chorus-hook","version":"0.16.2"}}}
243
+ {"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2025-03-26","capabilities":{},"clientInfo":{"name":"chorus-hook","version":"0.16.3"}}}
244
244
  JSONEOF
245
245
  )
246
246
 
@@ -4,7 +4,7 @@ description: Optional divergent-then-convergent dialogue for fuzzy ideas. Invoke
4
4
  license: AGPL-3.0
5
5
  metadata:
6
6
  author: chorus
7
- version: "0.16.0"
7
+ version: "0.16.3"
8
8
  category: project-management
9
9
  mcp_server: chorus
10
10
  ---
@@ -4,7 +4,7 @@ description: Chorus AI Agent collaboration platform — overview, common tools,
4
4
  license: AGPL-3.0
5
5
  metadata:
6
6
  author: chorus
7
- version: "0.16.0"
7
+ version: "0.16.3"
8
8
  category: project-management
9
9
  mcp_server: chorus
10
10
  ---
@@ -463,6 +463,7 @@ This is the core overview skill. For stage-specific workflows, download and read
463
463
  | **Task Review** | `task-reviewer-chorus` | `<BASE_URL>/skill/task-reviewer-chorus/SKILL.md` |
464
464
  | **Code Review (ship gateway)** | `code-reviewer-chorus` | `<BASE_URL>/skill/code-reviewer-chorus/SKILL.md` |
465
465
  | **Full-Auto** | `yolo-chorus` | `<BASE_URL>/skill/yolo-chorus/SKILL.md` |
466
+ | **Orchestration** | `orchestrate-chorus` | `<BASE_URL>/skill/orchestrate-chorus/SKILL.md` |
466
467
 
467
468
  ### Getting Started
468
469
 
@@ -4,7 +4,7 @@ description: Read-only adversarial Chorus code-review gateway — independently
4
4
  license: AGPL-3.0
5
5
  metadata:
6
6
  author: chorus
7
- version: "0.16.2"
7
+ version: "0.16.3"
8
8
  category: project-management
9
9
  mcp_server: chorus
10
10
  ---
@@ -4,7 +4,7 @@ description: Chorus Development workflow — claim tasks, report work, self-chec
4
4
  license: AGPL-3.0
5
5
  metadata:
6
6
  author: chorus
7
- version: "0.16.0"
7
+ version: "0.16.3"
8
8
  category: project-management
9
9
  mcp_server: chorus
10
10
  ---
@@ -4,7 +4,7 @@ description: Chorus documentation router — consult the live Chorus docs site t
4
4
  license: AGPL-3.0
5
5
  metadata:
6
6
  author: chorus
7
- version: "0.16.0"
7
+ version: "0.16.3"
8
8
  category: project-management
9
9
  mcp_server: chorus
10
10
  ---
@@ -4,7 +4,7 @@ description: Chorus Idea workflow — claim ideas, run elaboration rounds, and p
4
4
  license: AGPL-3.0
5
5
  metadata:
6
6
  author: chorus
7
- version: "0.16.0"
7
+ version: "0.16.3"
8
8
  category: project-management
9
9
  mcp_server: chorus
10
10
  ---
@@ -39,6 +39,7 @@ All post-elaboration progress (planning, building, verifying, done) is **derived
39
39
  | `chorus_edit_idea` | Edit an existing idea's title, description, and/or lineage parent. `parentUuid`: another same-project idea to reparent under, `null` to detach to top-level, omit to leave unchanged (cycle-checked + same-project). Single-parent **weak** lineage — a parent shows a read-only `+N derived` rollup but never blocks either idea's flow. Records an "edited" activity and signals presence. |
40
40
  | `chorus_claim_idea` | Claim an open idea (open -> elaborating) |
41
41
  | `chorus_release_idea` | Release a claimed idea (elaborating -> open) |
42
+ | `chorus_pm_assign_idea` | Assign an idea to an agent (must hold `idea:write`) or a user, on a human's behalf — the counterpart to `chorus_claim_idea` (self-claim). Silently takes over any existing assignee; an `open` idea moves to `elaborating`, any other status is preserved. Optional `instanceUuid` pins an **agent** assignment to a specific AgentInstance (agent-only). Assigning to an agent wakes it best-effort (offline still persists the assignment); assigning to a user notifies them with no daemon wake. Requires `idea:admin`. |
42
43
  | `chorus_move_idea` | Move an Idea to a different Project. Cascade-migrates the Idea **and its full lineage subtree** (all descendant Ideas; the moved root is detached from any parent left behind), all linked Proposals (any status), all materialized Documents and Tasks, and all related Activities atomically. Comments, TaskDependency, AcceptanceCriterion, AgentSession, SessionTaskCheckin, Notification history, and Task assignees are NOT modified. Returns `moved: { ideas, proposals, documents, tasks, activities }` counts. Requires `idea:write` only — no project-level checks. |
43
44
 
44
45
  **Requirements Elaboration:**
@@ -46,7 +47,7 @@ All post-elaboration progress (planning, building, verifying, done) is **derived
46
47
  | Tool | Purpose |
47
48
  |------|---------|
48
49
  | `chorus_pm_start_elaboration` | Generate an elaboration round (first, follow-up, or appended-after-resolution) |
49
- | `chorus_pm_validate_elaboration` | Mark the whole elaboration complete (requires `idea:admin`; requires human confirmation first) |
50
+ | `chorus_pm_validate_elaboration` | Mark the whole elaboration complete (requires `idea:admin`; requires human confirmation first) — callable by the Idea's assignee, or a non-assignee `idea:admin` gateway (wakes the assignee) |
50
51
  | `chorus_pm_skip_elaboration` | Skip elaboration for trivially clear Ideas |
51
52
  | `chorus_answer_elaboration` | Submit answers for an elaboration round (`roundUuid` optional — auto-locates the active round) |
52
53
  | `chorus_get_elaboration` | Get full elaboration state (rounds, questions, answers) |
@@ -155,7 +156,7 @@ If the Idea is fuzzy and you'd struggle to enumerate concrete multi-choice quest
155
156
 
156
157
  When the brainstorm skill returns, you own the lifecycle decision (the brainstorm skill deliberately leaves it to you):
157
158
 
158
- - If the synthesized round answers cover everything → obtain human confirmation, then call `chorus_pm_validate_elaboration` to resolve the elaboration. (Resolve needs `idea:admin` — see Step 5.6 if your key is `pm_agent`-preset.)
159
+ - If the synthesized round answers cover everything → obtain human confirmation, then call `chorus_pm_validate_elaboration` to resolve the elaboration. (Resolve needs `idea:admin` — see Step 5.6 if your key is `pm_agent`-preset, or a non-assignee `idea:admin` gateway (wakes the assignee).)
159
160
  - If gaps remain → call `chorus_pm_start_elaboration` again to open a structured Round 2. Pick the depth yourself — do NOT re-prompt the user.
160
161
 
161
162
  Either outcome ends Step 4.5; skip Step 5.
@@ -281,7 +282,7 @@ chorus_pm_skip_elaboration({
281
282
 
282
283
  > **Permission (N1): `chorus_pm_validate_elaboration` requires `idea:admin`.** The `pm_agent` preset only grants `idea:write`, so a PM-preset agent **cannot** resolve — it must hand off to an `admin_agent`-preset agent (or an admin-preset API key) to perform the resolve. If your key lacks `idea:admin`, surface this to the human and request the handoff instead of failing silently.
283
284
 
284
- > **Assignee precondition (N2):** the resolving actor must be the Idea's **assignee**. A separate human reviewer resolving a PM-owned Idea therefore needs **both** `idea:admin` **and** to be assigned the Idea (claim/reassign it first). Admin permission alone is not enough.
285
+ > **Assignee OR idea:admin gateway (N2):** the resolving actor may be the Idea's **assignee**, OR a non-assignee holding **`idea:admin`** acting as a gateway. A gateway resolve (or skip via `chorus_pm_skip_elaboration`) is the MCP analogue of the human UI **Verify-Elaborate**: it logs an `elaboration_verified` activity that wakes the Idea's **assignee** agent to write the proposal. So an orchestrator/admin no longer needs to claim/reassign the Idea to resolve it — holding `idea:admin` is enough. (Assignee self-resolve/skip is unchanged and wakes no one.)
285
286
 
286
287
  ```
287
288
  chorus_pm_validate_elaboration({
@@ -0,0 +1,128 @@
1
+ ---
2
+ name: orchestrate-chorus
3
+ description: Multi-agent orchestration playbook — coordinate OTHER agents and humans across the AI-DLC lifecycle by delegating ideas and tasks, running independent reviewers, and gatekeeping at the Reversed-Conversation gates.
4
+ license: AGPL-3.0
5
+ metadata:
6
+ author: chorus
7
+ version: "0.16.3"
8
+ category: project-management
9
+ mcp_server: chorus
10
+ ---
11
+
12
+ # Orchestrate Skill
13
+
14
+ This skill is for an **orchestrator** (typically an Admin-preset agent) that coordinates *other* agents and humans across the AI-DLC lifecycle instead of doing all the work itself. The orchestrator decomposes work, hands each piece to a chosen owner, runs independent reviewers as quality gates, and gatekeeps the human-owned approval/verify gates — but never ships on its own.
15
+
16
+ It complements the other skills rather than replacing them:
17
+
18
+ - `yolo-chorus` (`<BASE_URL>/skill/yolo-chorus/SKILL.md`) — **one** agent drives the whole pipeline solo. Orchestration is the opposite: **many** agents, each owning a piece, coordinated by you.
19
+ - `idea-chorus`, `proposal-chorus`, `develop-chorus`, `review-chorus`, `quick-dev-chorus` — a single stage you execute yourself. Orchestration is the layer *above* those: you decide who runs each stage.
20
+
21
+ ---
22
+
23
+ ## When to use this skill
24
+
25
+ Use it when **more than one agent (or agent + human) will touch the work** and someone has to keep them coherent:
26
+
27
+ - You own a **theme / epic / container idea** that decomposes into several independent child ideas, and you want to hand each child to a specific worker (the motivating case: a theme owner gives one child to Codex, another to a Claude dev agent, another to a human).
28
+ - An approved proposal has a **task DAG** and you want several developer agents working the unblocked tasks in parallel waves.
29
+ - You need an **independent adversarial review** of someone else's proposal / task / feature before it advances.
30
+ - You are the responsible owner and must keep **one accountable assignee per idea** while work fans out.
31
+
32
+ Prerequisite: delegating ideas needs `idea:admin`; delegating tasks needs `proposal:write`. Run `chorus_checkin()` first to confirm your permission set.
33
+
34
+ ---
35
+
36
+ ## Delegation primitives
37
+
38
+ ### Assign an idea — `chorus_pm_assign_idea` (`idea:admin`)
39
+
40
+ Hand a whole idea to a chosen agent or user. Parameters:
41
+
42
+ | Param | Meaning |
43
+ |-------|---------|
44
+ | `ideaUuid` | The idea to delegate |
45
+ | `assigneeType` | `"agent"` or `"user"` |
46
+ | `assigneeUuid` | The chosen agent/user UUID (resolve names with `chorus_search_mentionables`) |
47
+ | `instanceUuid` | *(optional, agent targets only)* pin the work to one durable AgentInstance — the `(agent, host, cwd)` place — so wakes land where the code lives |
48
+
49
+ Behavior you must understand:
50
+
51
+ - **The assignee is woken and advances from the idea's *current* stage** — it does **NOT** re-claim. If the idea is `open` it moves to `elaborating`; any other status is preserved. The assignee picks up wherever the idea already is (elaboration, ready-for-proposal, etc.).
52
+ - **Agent targets must hold `idea:write`** (via a preset such as `pm_agent`/`admin_agent`, or an explicit permission) or the call is rejected. **User targets must be in your company.** `instanceUuid` is rejected for user targets.
53
+ - **Silent takeover.** Reassigning an already-owned idea simply moves ownership to the new assignee — there is one owner at a time, no confirmation prompt. Use this deliberately, not by accident.
54
+
55
+ ### Assign a task — `chorus_pm_assign_task` (`proposal:write`)
56
+
57
+ Hand a single task to a developer agent. Parameters: `taskUuid`, `agentUuid` (must hold `task:write`), optional `instanceUuid`. The task must be `open` or `assigned`. The assignee is woken to execute it. Use this to distribute the tasks of an approved proposal.
58
+
59
+ ### Derive child ideas and fan them out
60
+
61
+ The theme-decomposition case, end to end:
62
+
63
+ 1. Read the container/theme idea and its context (`chorus_get_idea`, `chorus_get_documents`, `chorus_get_comments`).
64
+ 2. For each independent slice, create a child idea with `chorus_pm_create_idea` (link it back to the parent in the body / via `references[]`).
65
+ 3. Assign each child to a distinct owner with `chorus_pm_assign_idea` — e.g. one child to Codex, one to a Claude dev agent, one to a human. Each child now has its **own single owner** and advances independently.
66
+ 4. @mention each assignee and the theme owner so the delegation is visible.
67
+
68
+ ---
69
+
70
+ ## Independent review as an adversarial gate
71
+
72
+ Chorus uses three read-only adversarial reviewers as quality gates. As orchestrator you run them at the three gates and act on the verdict — this is your primary quality lever when you are not writing the code yourself.
73
+
74
+ | Reviewer skill | Run after | Reviews |
75
+ |----------------|-----------|---------|
76
+ | `proposal-reviewer-chorus` | a proposal is submitted | proposal draft quality (VERDICT on the proposal) |
77
+ | `task-reviewer-chorus` | a task is submitted for verify | one task vs its acceptance criteria (VERDICT on the task) |
78
+ | `code-reviewer-chorus` | the idea's last task is verified | the idea's **aggregate** code change — the final ship gateway (VERDICT on the idea) |
79
+
80
+ Spawn a read-only sub-agent that loads the matching reviewer skill and the target UUID (pass the `ideaUuid` for code review); if your harness has no sub-agent primitive, run the reviewer's procedure inline yourself. Each posts exactly one `VERDICT: PASS` / `PASS WITH NOTES` / `FAIL` comment. Verdicts are **advisory** — they do not auto-approve, auto-verify, or hard-block; you read the BLOCKERs and decide. A `FAIL` means route the BLOCKERs back for a fix before advancing (for a code-review FAIL, add fix tasks to the *approved* proposal via `quick-dev-chorus` and re-run once they are `done`). The **Independent Review** section of the core `chorus` skill (`<BASE_URL>/skill/chorus/SKILL.md`) is the canonical description of this pattern.
81
+
82
+ ---
83
+
84
+ ## Choosing a collaboration mode
85
+
86
+ Pick the lightest mode that fits the shape of the work:
87
+
88
+ | Mode | Use when | How you run it |
89
+ |------|----------|----------------|
90
+ | **Single-owner drives one idea** | The work is one coherent feature | Assign the idea once (`chorus_pm_assign_idea`); that owner runs idea → proposal → tasks; you gatekeep the gates |
91
+ | **Fan-out children to N agents** | A theme decomposes into independent slices | Derive child ideas, assign each to a distinct owner; children run in parallel, each single-owner |
92
+ | **Parallel task waves** | One approved proposal with a task DAG | Assign the currently-unblocked tasks (`chorus_pm_assign_task`) to several dev agents; as tasks reach `done`, assign the next wave |
93
+ | **Review-only** | Work is already produced elsewhere | Spawn the relevant reviewer, read the VERDICT, and gatekeep — no new delegation |
94
+
95
+ Guidance: start narrow. If a single owner can hold the whole feature in their head, prefer **single-owner** — coordination overhead is not free. Reach for **fan-out** only when slices are genuinely independent (separate scope, separable elaboration). Use **parallel task waves** only after a proposal is approved and its DAG is real; respect dependencies — `to_verify` does **not** unblock downstream, only `done` does.
96
+
97
+ ---
98
+
99
+ ## Single-owner & concurrency discipline
100
+
101
+ - **One responsible assignee per idea at a time.** This mirrors the daemon's single-owner semantics: the idea is the authoritative pin root, and its owner's proposals/tasks/wakes inherit that identity. Don't leave an idea ambiguously "owned by the team."
102
+ - **Don't race duplicate sessions on the same work.** Two daemon sessions (or two agents) driving the same idea/task will collide on status transitions and produce conflicting wakes. Assign, then let one owner run.
103
+ - **Pin with `instanceUuid` when the work is tied to a place.** If a child idea's code lives on a specific host/cwd, pin the assignment to that AgentInstance so every downstream wake lands there instead of a random daemon.
104
+
105
+ ---
106
+
107
+ ## Reversed-Conversation gates (you never auto-ship)
108
+
109
+ Chorus is **AI proposes, humans verify**. As orchestrator you enforce that, you do not bypass it:
110
+
111
+ - **Elaboration gate (gateway resolve/skip).** When a child idea you assigned to another agent has its elaboration answered, you can close the elaboration gate yourself via `chorus_pm_validate_elaboration` (or `chorus_pm_skip_elaboration` for a trivially clear idea) even though you are not the assignee — holding `idea:admin` is enough. This is the MCP parity of the UI Verify-Elaborate: it wakes the **assignee** agent to write the proposal. You gatekeep the gate; the assignee still authors the proposal (Reversed-Conversation preserved).
112
+ - **Proposal gate.** When a delegated owner submits a proposal, STOP. Run the proposal reviewer, then hand the approve/reject decision to the human owner. Do not self-approve just because you *can* (`proposal:admin`).
113
+ - **Verify gate.** When a task reaches `to_verify`, STOP. Run the task reviewer, then let the human verify. Permission to verify is not authorization to rubber-stamp your own coordinated work.
114
+ - **Never merge or push.** The orchestrator drives work up to "PR ready" and hands it back to the human — it does not merge, push, or otherwise ship autonomously.
115
+
116
+ @mention the owner at each gate so the handoff is explicit and auditable.
117
+
118
+ ---
119
+
120
+ ## Derive a child idea vs add a task vs assign directly
121
+
122
+ | Do this | When |
123
+ |---------|------|
124
+ | **Derive a new child idea** (`chorus_pm_create_idea` + assign) | The slice is genuinely separate scope that deserves its own elaboration, proposal, and owner — a theme decomposition, or a parallelizable sub-feature. |
125
+ | **Add a task to an approved proposal** (`chorus_create_tasks` with `proposalUuid`) | The work is a discrete unit of the **same** feature that already has a proposal — e.g. code-review fix tasks, or a follow-up step in an existing DAG. |
126
+ | **Assign the existing idea/task directly** (`chorus_pm_assign_idea` / `chorus_pm_assign_task`) | The work is already scoped and just needs a (different) owner or executor — reassignment, taking over a stalled idea, or distributing existing tasks. |
127
+
128
+ Rule of thumb: **new scope → child idea; same-proposal unit → task; only the owner changes → assign.**
@@ -4,7 +4,7 @@ description: Chorus Proposal workflow — create proposals with document and tas
4
4
  license: AGPL-3.0
5
5
  metadata:
6
6
  author: chorus
7
- version: "0.16.0"
7
+ version: "0.16.3"
8
8
  category: project-management
9
9
  mcp_server: chorus
10
10
  ---
@@ -4,7 +4,7 @@ description: Read-only adversarial Chorus proposal reviewer — audits PRD/task
4
4
  license: AGPL-3.0
5
5
  metadata:
6
6
  author: chorus
7
- version: "0.16.2"
7
+ version: "0.16.3"
8
8
  category: project-management
9
9
  mcp_server: chorus
10
10
  ---
@@ -4,7 +4,7 @@ description: Quick Task workflow — skip Idea→Proposal, create tasks directly
4
4
  license: AGPL-3.0
5
5
  metadata:
6
6
  author: chorus
7
- version: "0.16.0"
7
+ version: "0.16.3"
8
8
  category: project-management
9
9
  mcp_server: chorus
10
10
  ---
@@ -4,7 +4,7 @@ description: Chorus Review workflow — approve/reject proposals, verify tasks,
4
4
  license: AGPL-3.0
5
5
  metadata:
6
6
  author: chorus
7
- version: "0.16.0"
7
+ version: "0.16.3"
8
8
  category: project-management
9
9
  mcp_server: chorus
10
10
  ---
@@ -4,7 +4,7 @@ description: Read-only adversarial Chorus task reviewer — independently verifi
4
4
  license: AGPL-3.0
5
5
  metadata:
6
6
  author: chorus
7
- version: "0.16.2"
7
+ version: "0.16.3"
8
8
  category: project-management
9
9
  mcp_server: chorus
10
10
  ---
@@ -4,7 +4,7 @@ description: Full-auto AI-DLC pipeline — drive a single prompt from Idea throu
4
4
  license: AGPL-3.0
5
5
  metadata:
6
6
  author: chorus
7
- version: "0.16.0"
7
+ version: "0.16.3"
8
8
  category: project-management
9
9
  mcp_server: chorus
10
10
  ---
package/cli/prompts.mjs CHANGED
@@ -320,10 +320,20 @@ function buildPromptBody(n) {
320
320
  );
321
321
  }
322
322
  case "idea_claimed":
323
+ // The assignment ALREADY set you as the assignee, so there is nothing to claim —
324
+ // chorus_claim_idea would throw (AlreadyClaimedError, and a hard "Cannot claim an
325
+ // elaborated Idea" for the elaborated-backfill case). Do NOT emit a claim
326
+ // instruction here (a prompt test asserts the literal never appears). Instead tell
327
+ // the already-assigned agent to review and advance from the idea's CURRENT stage,
328
+ // stopping at the human proposal/verify gates. Names the assigner via n.actorName /
329
+ // n.actorType (already on the notification — no server change). Mirrored in the
330
+ // OpenClaw twin handleIdeaClaimed (event-router.ts) — KEEP THE TWO WORDINGS IN SYNC.
323
331
  return (
324
- `[Chorus] Idea '${n.entityTitle}' was assigned to you (ideaUuid: ${n.entityUuid}, ` +
325
- `projectUuid: ${n.projectUuid}). Use chorus_get_idea to review it, then claim it ` +
326
- `(chorus_claim_idea) to begin elaboration.\n${mentionGuidance(n, "idea")}`
332
+ `[Chorus] Idea '${n.entityTitle}' was assigned to you by ${n.actorName} (${n.actorType}) ` +
333
+ `(ideaUuid: ${n.entityUuid}, projectUuid: ${n.projectUuid}). You are now the assignee no need ` +
334
+ `to claim it. Use chorus_get_idea to review it, then advance it from its CURRENT stage: if it is ` +
335
+ `still elaborating, run or continue elaboration; if it is already elaborated, author the proposal. ` +
336
+ `Stop at the human proposal/verify gates and never merge automatically.\n${mentionGuidance(n, "idea")}`
327
337
  );
328
338
  case "task_reopened":
329
339
  return (
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@chorus-aidlc/chorus",
3
- "version": "0.16.2",
3
+ "version": "0.16.3",
4
4
  "description": "The Agent Harness for AI-Human Collaboration — session lifecycle, task state, sub-agent orchestration, observability, and failure recovery",
5
5
  "homepage": "https://github.com/Chorus-AIDLC/Chorus",
6
6
  "repository": {
@@ -64,6 +64,8 @@
64
64
  },
65
65
  "dependencies": {
66
66
  "@bprogress/next": "^3.2.12",
67
+ "@dicebear/core": "^10",
68
+ "@dicebear/styles": "^10",
67
69
  "@electric-sql/pglite": "^0.4.4",
68
70
  "@electric-sql/pglite-socket": "^0.1.4",
69
71
  "@floating-ui/dom": "^1.7.5",