@kynetic-ai/spec 0.11.0 → 0.12.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 (501) hide show
  1. package/README.md +55 -455
  2. package/dist/agent-runtime/bootstrap.d.ts +31 -0
  3. package/dist/agent-runtime/bootstrap.d.ts.map +1 -0
  4. package/dist/agent-runtime/bootstrap.js +302 -0
  5. package/dist/agent-runtime/bootstrap.js.map +1 -0
  6. package/dist/agent-runtime/dispatch.d.ts +119 -10
  7. package/dist/agent-runtime/dispatch.d.ts.map +1 -1
  8. package/dist/agent-runtime/dispatch.js +1154 -219
  9. package/dist/agent-runtime/dispatch.js.map +1 -1
  10. package/dist/agent-runtime/invocation.d.ts +28 -1
  11. package/dist/agent-runtime/invocation.d.ts.map +1 -1
  12. package/dist/agent-runtime/invocation.js +171 -59
  13. package/dist/agent-runtime/invocation.js.map +1 -1
  14. package/dist/agent-runtime/prompts.d.ts +9 -0
  15. package/dist/agent-runtime/prompts.d.ts.map +1 -1
  16. package/dist/agent-runtime/prompts.js +42 -7
  17. package/dist/agent-runtime/prompts.js.map +1 -1
  18. package/dist/agent-runtime/session-event-accumulator.d.ts +83 -0
  19. package/dist/agent-runtime/session-event-accumulator.d.ts.map +1 -0
  20. package/dist/agent-runtime/session-event-accumulator.js +203 -0
  21. package/dist/agent-runtime/session-event-accumulator.js.map +1 -0
  22. package/dist/agent-runtime/session-event-types.d.ts +67 -0
  23. package/dist/agent-runtime/session-event-types.d.ts.map +1 -0
  24. package/dist/agent-runtime/session-event-types.js +13 -0
  25. package/dist/agent-runtime/session-event-types.js.map +1 -0
  26. package/dist/agent-runtime/workspace.d.ts +244 -0
  27. package/dist/agent-runtime/workspace.d.ts.map +1 -0
  28. package/dist/agent-runtime/workspace.js +2025 -0
  29. package/dist/agent-runtime/workspace.js.map +1 -0
  30. package/dist/agents/adapters.d.ts.map +1 -1
  31. package/dist/agents/adapters.js +58 -13
  32. package/dist/agents/adapters.js.map +1 -1
  33. package/dist/agents/spawner.d.ts +8 -0
  34. package/dist/agents/spawner.d.ts.map +1 -1
  35. package/dist/agents/spawner.js +25 -3
  36. package/dist/agents/spawner.js.map +1 -1
  37. package/dist/cli/batch-exec.js +1 -1
  38. package/dist/cli/batch-exec.js.map +1 -1
  39. package/dist/cli/command-annotations.d.ts +15 -3
  40. package/dist/cli/command-annotations.d.ts.map +1 -1
  41. package/dist/cli/command-annotations.js +23 -3
  42. package/dist/cli/command-annotations.js.map +1 -1
  43. package/dist/cli/commands/agent.d.ts +2 -0
  44. package/dist/cli/commands/agent.d.ts.map +1 -1
  45. package/dist/cli/commands/agent.js +144 -27
  46. package/dist/cli/commands/agent.js.map +1 -1
  47. package/dist/cli/commands/agents.d.ts.map +1 -1
  48. package/dist/cli/commands/agents.js +5 -5
  49. package/dist/cli/commands/agents.js.map +1 -1
  50. package/dist/cli/commands/derive.d.ts.map +1 -1
  51. package/dist/cli/commands/derive.js +118 -3
  52. package/dist/cli/commands/derive.js.map +1 -1
  53. package/dist/cli/commands/guard.d.ts.map +1 -1
  54. package/dist/cli/commands/guard.js +8 -6
  55. package/dist/cli/commands/guard.js.map +1 -1
  56. package/dist/cli/commands/index.d.ts +1 -0
  57. package/dist/cli/commands/index.d.ts.map +1 -1
  58. package/dist/cli/commands/index.js +1 -0
  59. package/dist/cli/commands/index.js.map +1 -1
  60. package/dist/cli/commands/init.d.ts.map +1 -1
  61. package/dist/cli/commands/init.js +20 -0
  62. package/dist/cli/commands/init.js.map +1 -1
  63. package/dist/cli/commands/item.d.ts.map +1 -1
  64. package/dist/cli/commands/item.js +205 -47
  65. package/dist/cli/commands/item.js.map +1 -1
  66. package/dist/cli/commands/log.d.ts.map +1 -1
  67. package/dist/cli/commands/log.js +24 -10
  68. package/dist/cli/commands/log.js.map +1 -1
  69. package/dist/cli/commands/plan-import.d.ts +3 -3
  70. package/dist/cli/commands/plan-import.d.ts.map +1 -1
  71. package/dist/cli/commands/plan-import.js +213 -528
  72. package/dist/cli/commands/plan-import.js.map +1 -1
  73. package/dist/cli/commands/plan.d.ts.map +1 -1
  74. package/dist/cli/commands/plan.js +533 -83
  75. package/dist/cli/commands/plan.js.map +1 -1
  76. package/dist/cli/commands/review.d.ts +14 -0
  77. package/dist/cli/commands/review.d.ts.map +1 -0
  78. package/dist/cli/commands/review.js +1142 -0
  79. package/dist/cli/commands/review.js.map +1 -0
  80. package/dist/cli/commands/serve.d.ts +1 -0
  81. package/dist/cli/commands/serve.d.ts.map +1 -1
  82. package/dist/cli/commands/serve.js +33 -10
  83. package/dist/cli/commands/serve.js.map +1 -1
  84. package/dist/cli/commands/session/checkpoint.d.ts +2 -4
  85. package/dist/cli/commands/session/checkpoint.d.ts.map +1 -1
  86. package/dist/cli/commands/session/checkpoint.js +6 -107
  87. package/dist/cli/commands/session/checkpoint.js.map +1 -1
  88. package/dist/cli/commands/session/commands.d.ts.map +1 -1
  89. package/dist/cli/commands/session/commands.js +33 -23
  90. package/dist/cli/commands/session/commands.js.map +1 -1
  91. package/dist/cli/commands/session/compact.js +4 -4
  92. package/dist/cli/commands/session/compact.js.map +1 -1
  93. package/dist/cli/commands/session/create.js +2 -2
  94. package/dist/cli/commands/session/create.js.map +1 -1
  95. package/dist/cli/commands/session/format.d.ts.map +1 -1
  96. package/dist/cli/commands/session/format.js +1 -6
  97. package/dist/cli/commands/session/format.js.map +1 -1
  98. package/dist/cli/commands/session/log.d.ts +32 -7
  99. package/dist/cli/commands/session/log.d.ts.map +1 -1
  100. package/dist/cli/commands/session/log.js +166 -60
  101. package/dist/cli/commands/session/log.js.map +1 -1
  102. package/dist/cli/commands/session/migrate.d.ts +9 -0
  103. package/dist/cli/commands/session/migrate.d.ts.map +1 -0
  104. package/dist/cli/commands/session/migrate.js +46 -0
  105. package/dist/cli/commands/session/migrate.js.map +1 -0
  106. package/dist/cli/commands/session/stale-close.d.ts.map +1 -1
  107. package/dist/cli/commands/session/stale-close.js +5 -8
  108. package/dist/cli/commands/session/stale-close.js.map +1 -1
  109. package/dist/cli/commands/session/types.d.ts +1 -1
  110. package/dist/cli/commands/session/types.d.ts.map +1 -1
  111. package/dist/cli/commands/setup.d.ts +2 -2
  112. package/dist/cli/commands/setup.d.ts.map +1 -1
  113. package/dist/cli/commands/setup.js +287 -257
  114. package/dist/cli/commands/setup.js.map +1 -1
  115. package/dist/cli/commands/shadow.d.ts.map +1 -1
  116. package/dist/cli/commands/shadow.js +147 -31
  117. package/dist/cli/commands/shadow.js.map +1 -1
  118. package/dist/cli/commands/skill-crud.d.ts +7 -0
  119. package/dist/cli/commands/skill-crud.d.ts.map +1 -1
  120. package/dist/cli/commands/skill-crud.js +41 -18
  121. package/dist/cli/commands/skill-crud.js.map +1 -1
  122. package/dist/cli/commands/skill-diff.d.ts.map +1 -1
  123. package/dist/cli/commands/skill-diff.js +29 -3
  124. package/dist/cli/commands/skill-diff.js.map +1 -1
  125. package/dist/cli/commands/skill-install.d.ts.map +1 -1
  126. package/dist/cli/commands/skill-install.js +5 -4
  127. package/dist/cli/commands/skill-install.js.map +1 -1
  128. package/dist/cli/commands/task.d.ts.map +1 -1
  129. package/dist/cli/commands/task.js +359 -49
  130. package/dist/cli/commands/task.js.map +1 -1
  131. package/dist/cli/commands/trait.d.ts.map +1 -1
  132. package/dist/cli/commands/trait.js +5 -27
  133. package/dist/cli/commands/trait.js.map +1 -1
  134. package/dist/cli/commands/validate.d.ts.map +1 -1
  135. package/dist/cli/commands/validate.js +113 -52
  136. package/dist/cli/commands/validate.js.map +1 -1
  137. package/dist/cli/index.d.ts.map +1 -1
  138. package/dist/cli/index.js +69 -2
  139. package/dist/cli/index.js.map +1 -1
  140. package/dist/cli/output.d.ts +26 -0
  141. package/dist/cli/output.d.ts.map +1 -1
  142. package/dist/cli/output.js +108 -1
  143. package/dist/cli/output.js.map +1 -1
  144. package/dist/cli/sync-mode.d.ts +44 -0
  145. package/dist/cli/sync-mode.d.ts.map +1 -0
  146. package/dist/cli/sync-mode.js +64 -0
  147. package/dist/cli/sync-mode.js.map +1 -0
  148. package/dist/daemon/middleware/project-context.ts +25 -7
  149. package/dist/daemon/project-context.ts +18 -0
  150. package/dist/daemon/routes/agent-dispatch.ts +99 -22
  151. package/dist/daemon/routes/aggregation.ts +184 -0
  152. package/dist/daemon/routes/inbox.ts +5 -0
  153. package/dist/daemon/routes/items.ts +145 -0
  154. package/dist/daemon/routes/meta.ts +1 -1
  155. package/dist/daemon/routes/projects.ts +28 -6
  156. package/dist/daemon/routes/ref-resolution.ts +119 -0
  157. package/dist/daemon/routes/refs.ts +42 -0
  158. package/dist/daemon/routes/session-related.ts +140 -0
  159. package/dist/daemon/routes/sessions.ts +420 -19
  160. package/dist/daemon/routes/tasks.ts +62 -5
  161. package/dist/daemon/routes/triage.ts +40 -1
  162. package/dist/daemon/server.ts +143 -49
  163. package/dist/daemon/session-sync.ts +11 -0
  164. package/dist/daemon/shadow-sync.ts +11 -0
  165. package/dist/daemon/watcher.ts +56 -5
  166. package/dist/daemon/websocket/project-resolution.ts +77 -0
  167. package/dist/export/json.d.ts.map +1 -1
  168. package/dist/export/json.js +104 -1
  169. package/dist/export/json.js.map +1 -1
  170. package/dist/export/types.d.ts +52 -1
  171. package/dist/export/types.d.ts.map +1 -1
  172. package/dist/index.d.ts +1 -0
  173. package/dist/index.d.ts.map +1 -1
  174. package/dist/index.js +1 -0
  175. package/dist/index.js.map +1 -1
  176. package/dist/parser/agent-detection.d.ts +1 -1
  177. package/dist/parser/agent-detection.d.ts.map +1 -1
  178. package/dist/parser/agent-detection.js +10 -0
  179. package/dist/parser/agent-detection.js.map +1 -1
  180. package/dist/parser/config.d.ts +397 -2
  181. package/dist/parser/config.d.ts.map +1 -1
  182. package/dist/parser/config.js +125 -3
  183. package/dist/parser/config.js.map +1 -1
  184. package/dist/parser/dispatch-workspaces.d.ts +18 -0
  185. package/dist/parser/dispatch-workspaces.d.ts.map +1 -0
  186. package/dist/parser/dispatch-workspaces.js +209 -0
  187. package/dist/parser/dispatch-workspaces.js.map +1 -0
  188. package/dist/parser/doctor.d.ts.map +1 -1
  189. package/dist/parser/doctor.js +27 -8
  190. package/dist/parser/doctor.js.map +1 -1
  191. package/dist/parser/file-lock.d.ts.map +1 -1
  192. package/dist/parser/file-lock.js +9 -2
  193. package/dist/parser/file-lock.js.map +1 -1
  194. package/dist/parser/index.d.ts +6 -0
  195. package/dist/parser/index.d.ts.map +1 -1
  196. package/dist/parser/index.js +6 -0
  197. package/dist/parser/index.js.map +1 -1
  198. package/dist/parser/plans.d.ts.map +1 -1
  199. package/dist/parser/plans.js +1 -0
  200. package/dist/parser/plans.js.map +1 -1
  201. package/dist/parser/refs.d.ts +8 -1
  202. package/dist/parser/refs.d.ts.map +1 -1
  203. package/dist/parser/refs.js +27 -1
  204. package/dist/parser/refs.js.map +1 -1
  205. package/dist/parser/review-operations.d.ts +72 -0
  206. package/dist/parser/review-operations.d.ts.map +1 -0
  207. package/dist/parser/review-operations.js +185 -0
  208. package/dist/parser/review-operations.js.map +1 -0
  209. package/dist/parser/review-task-integration.d.ts +78 -0
  210. package/dist/parser/review-task-integration.d.ts.map +1 -0
  211. package/dist/parser/review-task-integration.js +173 -0
  212. package/dist/parser/review-task-integration.js.map +1 -0
  213. package/dist/parser/review-threads.d.ts +101 -0
  214. package/dist/parser/review-threads.d.ts.map +1 -0
  215. package/dist/parser/review-threads.js +222 -0
  216. package/dist/parser/review-threads.js.map +1 -0
  217. package/dist/parser/review-validation.d.ts +69 -0
  218. package/dist/parser/review-validation.d.ts.map +1 -0
  219. package/dist/parser/review-validation.js +207 -0
  220. package/dist/parser/review-validation.js.map +1 -0
  221. package/dist/parser/reviews.d.ts +58 -0
  222. package/dist/parser/reviews.d.ts.map +1 -0
  223. package/dist/parser/reviews.js +230 -0
  224. package/dist/parser/reviews.js.map +1 -0
  225. package/dist/parser/session-branch.d.ts +91 -0
  226. package/dist/parser/session-branch.d.ts.map +1 -0
  227. package/dist/parser/session-branch.js +565 -0
  228. package/dist/parser/session-branch.js.map +1 -0
  229. package/dist/parser/session-sync-scheduler.d.ts +53 -0
  230. package/dist/parser/session-sync-scheduler.d.ts.map +1 -0
  231. package/dist/parser/session-sync-scheduler.js +100 -0
  232. package/dist/parser/session-sync-scheduler.js.map +1 -0
  233. package/dist/parser/setup-status.d.ts +7 -1
  234. package/dist/parser/setup-status.d.ts.map +1 -1
  235. package/dist/parser/setup-status.js +104 -39
  236. package/dist/parser/setup-status.js.map +1 -1
  237. package/dist/parser/shadow-sync-scheduler.d.ts +71 -0
  238. package/dist/parser/shadow-sync-scheduler.d.ts.map +1 -0
  239. package/dist/parser/shadow-sync-scheduler.js +139 -0
  240. package/dist/parser/shadow-sync-scheduler.js.map +1 -0
  241. package/dist/parser/shadow.d.ts +121 -14
  242. package/dist/parser/shadow.d.ts.map +1 -1
  243. package/dist/parser/shadow.js +752 -27
  244. package/dist/parser/shadow.js.map +1 -1
  245. package/dist/parser/skill-render.d.ts +24 -0
  246. package/dist/parser/skill-render.d.ts.map +1 -1
  247. package/dist/parser/skill-render.js +98 -26
  248. package/dist/parser/skill-render.js.map +1 -1
  249. package/dist/parser/validate.d.ts +43 -3
  250. package/dist/parser/validate.d.ts.map +1 -1
  251. package/dist/parser/validate.js +204 -30
  252. package/dist/parser/validate.js.map +1 -1
  253. package/dist/parser/yaml.d.ts +47 -11
  254. package/dist/parser/yaml.d.ts.map +1 -1
  255. package/dist/parser/yaml.js +329 -149
  256. package/dist/parser/yaml.js.map +1 -1
  257. package/dist/review/checks.d.ts +97 -0
  258. package/dist/review/checks.d.ts.map +1 -0
  259. package/dist/review/checks.js +175 -0
  260. package/dist/review/checks.js.map +1 -0
  261. package/dist/review/index.d.ts +3 -0
  262. package/dist/review/index.d.ts.map +1 -0
  263. package/dist/review/index.js +3 -0
  264. package/dist/review/index.js.map +1 -0
  265. package/dist/review/subject-bindings.d.ts +83 -0
  266. package/dist/review/subject-bindings.d.ts.map +1 -0
  267. package/dist/review/subject-bindings.js +175 -0
  268. package/dist/review/subject-bindings.js.map +1 -0
  269. package/dist/schema/common.d.ts +26 -0
  270. package/dist/schema/common.d.ts.map +1 -1
  271. package/dist/schema/common.js +13 -0
  272. package/dist/schema/common.js.map +1 -1
  273. package/dist/schema/dispatch-workspace.d.ts +2643 -0
  274. package/dist/schema/dispatch-workspace.d.ts.map +1 -0
  275. package/dist/schema/dispatch-workspace.js +187 -0
  276. package/dist/schema/dispatch-workspace.js.map +1 -0
  277. package/dist/schema/inbox.d.ts +8 -8
  278. package/dist/schema/index.d.ts +2 -0
  279. package/dist/schema/index.d.ts.map +1 -1
  280. package/dist/schema/index.js +2 -0
  281. package/dist/schema/index.js.map +1 -1
  282. package/dist/schema/meta.d.ts +648 -116
  283. package/dist/schema/meta.d.ts.map +1 -1
  284. package/dist/schema/meta.js +27 -0
  285. package/dist/schema/meta.js.map +1 -1
  286. package/dist/schema/plan.d.ts +30 -19
  287. package/dist/schema/plan.d.ts.map +1 -1
  288. package/dist/schema/plan.js +3 -1
  289. package/dist/schema/plan.js.map +1 -1
  290. package/dist/schema/review-records.d.ts +2676 -0
  291. package/dist/schema/review-records.d.ts.map +1 -0
  292. package/dist/schema/review-records.js +232 -0
  293. package/dist/schema/review-records.js.map +1 -0
  294. package/dist/schema/spec.d.ts +32 -14
  295. package/dist/schema/spec.d.ts.map +1 -1
  296. package/dist/schema/spec.js +5 -0
  297. package/dist/schema/spec.js.map +1 -1
  298. package/dist/schema/task.d.ts +187 -29
  299. package/dist/schema/task.d.ts.map +1 -1
  300. package/dist/schema/task.js +12 -2
  301. package/dist/schema/task.js.map +1 -1
  302. package/dist/schema/triage.d.ts +22 -22
  303. package/dist/sessions/cache.d.ts +119 -0
  304. package/dist/sessions/cache.d.ts.map +1 -0
  305. package/dist/sessions/cache.js +284 -0
  306. package/dist/sessions/cache.js.map +1 -0
  307. package/dist/sessions/index.d.ts +1 -0
  308. package/dist/sessions/index.d.ts.map +1 -1
  309. package/dist/sessions/index.js +2 -0
  310. package/dist/sessions/index.js.map +1 -1
  311. package/dist/sessions/legacy.d.ts +77 -0
  312. package/dist/sessions/legacy.d.ts.map +1 -0
  313. package/dist/sessions/legacy.js +146 -0
  314. package/dist/sessions/legacy.js.map +1 -0
  315. package/dist/sessions/store.d.ts +103 -73
  316. package/dist/sessions/store.d.ts.map +1 -1
  317. package/dist/sessions/store.js +335 -186
  318. package/dist/sessions/store.js.map +1 -1
  319. package/dist/sessions/types.d.ts +44 -16
  320. package/dist/sessions/types.d.ts.map +1 -1
  321. package/dist/sessions/types.js +11 -2
  322. package/dist/sessions/types.js.map +1 -1
  323. package/dist/strings/errors.d.ts +32 -0
  324. package/dist/strings/errors.d.ts.map +1 -1
  325. package/dist/strings/errors.js +17 -0
  326. package/dist/strings/errors.js.map +1 -1
  327. package/dist/strings/labels.d.ts +1 -0
  328. package/dist/strings/labels.d.ts.map +1 -1
  329. package/dist/strings/labels.js +1 -0
  330. package/dist/strings/labels.js.map +1 -1
  331. package/dist/utils/activity.d.ts +101 -0
  332. package/dist/utils/activity.d.ts.map +1 -0
  333. package/dist/utils/activity.js +408 -0
  334. package/dist/utils/activity.js.map +1 -0
  335. package/dist/utils/git.d.ts +31 -0
  336. package/dist/utils/git.d.ts.map +1 -1
  337. package/dist/utils/git.js +87 -0
  338. package/dist/utils/git.js.map +1 -1
  339. package/dist/utils/index.d.ts +2 -0
  340. package/dist/utils/index.d.ts.map +1 -1
  341. package/dist/utils/index.js +1 -0
  342. package/dist/utils/index.js.map +1 -1
  343. package/dist/web-ui/_app/immutable/assets/0.tmlwn-Ih.css +1 -0
  344. package/dist/web-ui/_app/immutable/assets/9.BwwJybWx.css +1 -0
  345. package/dist/web-ui/_app/immutable/chunks/2KqE8gtn.js +1 -0
  346. package/dist/web-ui/_app/immutable/chunks/70-t_QvE.js +1 -0
  347. package/dist/web-ui/_app/immutable/chunks/AiWQj974.js +1 -0
  348. package/dist/web-ui/_app/immutable/chunks/{CPPfDSei.js → B25nWFyA.js} +4 -4
  349. package/dist/web-ui/_app/immutable/chunks/{DBYE9jOd.js → B2bcA_Q_.js} +1 -1
  350. package/dist/web-ui/_app/immutable/chunks/B5e5HYyB.js +1 -0
  351. package/dist/web-ui/_app/immutable/chunks/B7-5z6eA.js +1 -0
  352. package/dist/web-ui/_app/immutable/chunks/B7bGmhK0.js +1 -0
  353. package/dist/web-ui/_app/immutable/chunks/{DzO4hlg9.js → B8tYZKAE.js} +1 -1
  354. package/dist/web-ui/_app/immutable/chunks/{B5LJFxqa.js → BFGAyJjD.js} +1 -1
  355. package/dist/web-ui/_app/immutable/chunks/BG0850zf.js +1 -0
  356. package/dist/web-ui/_app/immutable/chunks/{DAMmvwn4.js → BG8eSzAd.js} +1 -1
  357. package/dist/web-ui/_app/immutable/chunks/BIMxXS8I.js +1 -0
  358. package/dist/web-ui/_app/immutable/chunks/BSzL1fpU.js +1 -0
  359. package/dist/web-ui/_app/immutable/chunks/BYtjHfeq.js +1 -0
  360. package/dist/web-ui/_app/immutable/chunks/{DxCk-KHc.js → Bp5pFYXL.js} +1 -1
  361. package/dist/web-ui/_app/immutable/chunks/{B8a0xDxR.js → BsJFsuAT.js} +1 -1
  362. package/dist/web-ui/_app/immutable/chunks/BvpNHcD6.js +1 -0
  363. package/dist/web-ui/_app/immutable/chunks/BypqA25-.js +1 -0
  364. package/dist/web-ui/_app/immutable/chunks/{BVA9Exy-.js → C0w6WDm5.js} +1 -1
  365. package/dist/web-ui/_app/immutable/chunks/C5_PAZ0y.js +1 -0
  366. package/dist/web-ui/_app/immutable/chunks/CDRO15Iv.js +1 -0
  367. package/dist/web-ui/_app/immutable/chunks/CF1CoqD5.js +1 -0
  368. package/dist/web-ui/_app/immutable/chunks/CS2sa4_m.js +1 -0
  369. package/dist/web-ui/_app/immutable/chunks/{BJ0JX3ea.js → CWUQwB9H.js} +1 -1
  370. package/dist/web-ui/_app/immutable/chunks/CY5FDdSU.js +1 -0
  371. package/dist/web-ui/_app/immutable/chunks/C_7MTDoj.js +1 -0
  372. package/dist/web-ui/_app/immutable/chunks/{D3vxvonu.js → CaAJD3dl.js} +1 -1
  373. package/dist/web-ui/_app/immutable/chunks/{BP352uRn.js → ChB5iyEL.js} +1 -1
  374. package/dist/web-ui/_app/immutable/chunks/{pE6cYWlS.js → ChQD-6N8.js} +1 -1
  375. package/dist/web-ui/_app/immutable/chunks/{Eo4gF7ih.js → CqbsoCwA.js} +1 -1
  376. package/dist/web-ui/_app/immutable/chunks/DCeJW50p.js +1 -0
  377. package/dist/web-ui/_app/immutable/chunks/{Cncwi6fQ.js → DJtZNgcs.js} +1 -1
  378. package/dist/web-ui/_app/immutable/chunks/DKIeaprD.js +1 -0
  379. package/dist/web-ui/_app/immutable/chunks/DLd2uVIA.js +1 -0
  380. package/dist/web-ui/_app/immutable/chunks/{DjcCz-PU.js → DW_subyT.js} +2 -2
  381. package/dist/web-ui/_app/immutable/chunks/DbU6lVn0.js +1 -0
  382. package/dist/web-ui/_app/immutable/chunks/Dc7ZCC5m.js +1 -0
  383. package/dist/web-ui/_app/immutable/chunks/Dd5umPsk.js +2 -0
  384. package/dist/web-ui/_app/immutable/chunks/{BysXJlZb.js → Dg_zDpDS.js} +1 -1
  385. package/dist/web-ui/_app/immutable/chunks/Dgqu8Yuc.js +1 -0
  386. package/dist/web-ui/_app/immutable/chunks/DmxsPZTB.js +1 -0
  387. package/dist/web-ui/_app/immutable/chunks/DphTaFUB.js +1 -0
  388. package/dist/web-ui/_app/immutable/chunks/DqK4iHp0.js +1 -0
  389. package/dist/web-ui/_app/immutable/chunks/{D9QNBZM2.js → DqT6OH_u.js} +2 -2
  390. package/dist/web-ui/_app/immutable/chunks/Ds9I9wQb.js +1 -0
  391. package/dist/web-ui/_app/immutable/chunks/Du5ng3u4.js +1 -0
  392. package/dist/web-ui/_app/immutable/chunks/DxJw79Wi.js +1 -0
  393. package/dist/web-ui/_app/immutable/chunks/GFTX8GgV.js +1 -0
  394. package/dist/web-ui/_app/immutable/chunks/{C076q4JN.js → HNjs76Zz.js} +1 -1
  395. package/dist/web-ui/_app/immutable/chunks/HVMjDi4_.js +1 -0
  396. package/dist/web-ui/_app/immutable/chunks/{BkOJ8DkV.js → P0A_fJvS.js} +1 -1
  397. package/dist/web-ui/_app/immutable/chunks/T3vGWjIL.js +1 -0
  398. package/dist/web-ui/_app/immutable/chunks/VTmrX9Qu.js +1 -0
  399. package/dist/web-ui/_app/immutable/chunks/{k_Qegko0.js → Xvwhx_F1.js} +1 -1
  400. package/dist/web-ui/_app/immutable/chunks/Yyz1XMQA.js +1 -0
  401. package/dist/web-ui/_app/immutable/chunks/{62JVKtnb.js → dh5HeqUr.js} +1 -1
  402. package/dist/web-ui/_app/immutable/chunks/fZMteyca.js +62 -0
  403. package/dist/web-ui/_app/immutable/chunks/{D82RulSH.js → gPrj-hqC.js} +1 -1
  404. package/dist/web-ui/_app/immutable/chunks/htcWMiYN.js +1 -0
  405. package/dist/web-ui/_app/immutable/chunks/{CwELQvbx.js → oTsvd9y4.js} +1 -1
  406. package/dist/web-ui/_app/immutable/chunks/qJfLUwU4.js +1 -0
  407. package/dist/web-ui/_app/immutable/chunks/xCtiO_JE.js +1 -0
  408. package/dist/web-ui/_app/immutable/chunks/{DvA-KON-.js → y4GeEH6k.js} +1 -1
  409. package/dist/web-ui/_app/immutable/entry/app.C4h_eOn6.js +2 -0
  410. package/dist/web-ui/_app/immutable/entry/start.CQFTf9ep.js +1 -0
  411. package/dist/web-ui/_app/immutable/nodes/0.Dh1xO970.js +1 -0
  412. package/dist/web-ui/_app/immutable/nodes/1.l75D3Opx.js +1 -0
  413. package/dist/web-ui/_app/immutable/nodes/10.DBidBPc-.js +1 -0
  414. package/dist/web-ui/_app/immutable/nodes/11.Ab0gUKWe.js +1 -0
  415. package/dist/web-ui/_app/immutable/nodes/12.CMsnoxfs.js +1 -0
  416. package/dist/web-ui/_app/immutable/nodes/13.D8YKuknB.js +1 -0
  417. package/dist/web-ui/_app/immutable/nodes/14.DZ0aan7y.js +1 -0
  418. package/dist/web-ui/_app/immutable/nodes/15.CUIKreDL.js +2 -0
  419. package/dist/web-ui/_app/immutable/nodes/16.BWc8--BO.js +1 -0
  420. package/dist/web-ui/_app/immutable/nodes/2.CDUonbuh.js +1 -0
  421. package/dist/web-ui/_app/immutable/nodes/3.Ctg3M00i.js +1 -0
  422. package/dist/web-ui/_app/immutable/nodes/4.Ci-JDwbA.js +2 -0
  423. package/dist/web-ui/_app/immutable/nodes/5.CTyEDAq0.js +1 -0
  424. package/dist/web-ui/_app/immutable/nodes/6.BTZZqsAb.js +1 -0
  425. package/dist/web-ui/_app/immutable/nodes/7.BI52g_Jo.js +137 -0
  426. package/dist/web-ui/_app/immutable/nodes/8.3hZPaB9x.js +1 -0
  427. package/dist/web-ui/_app/immutable/nodes/9.DS49kvwl.js +29 -0
  428. package/dist/web-ui/_app/version.json +1 -1
  429. package/dist/web-ui/favicon-192.png +0 -0
  430. package/dist/web-ui/favicon-32.png +0 -0
  431. package/dist/web-ui/favicon.ico +0 -0
  432. package/dist/web-ui/index.html +14 -14
  433. package/package.json +12 -6
  434. package/plugin/.claude-plugin/marketplace.json +1 -1
  435. package/plugin/.claude-plugin/plugin.json +1 -1
  436. package/plugin/plugins/kspec/skills/merge/SKILL.md +127 -0
  437. package/plugin/plugins/kspec/skills/plan/SKILL.md +55 -26
  438. package/plugin/plugins/kspec/skills/review/SKILL.md +350 -133
  439. package/plugin/plugins/kspec/skills/task-work/SKILL.md +96 -106
  440. package/templates/agents-sections/04-pr-workflow.md +15 -12
  441. package/templates/agents-sections/06-ralph-loop.md +15 -10
  442. package/templates/skills/manifest.yaml +25 -7
  443. package/templates/skills/merge/SKILL.md +120 -0
  444. package/templates/skills/plan/SKILL.md +55 -26
  445. package/templates/skills/review/SKILL.md +346 -130
  446. package/templates/skills/task-work/SKILL.md +93 -103
  447. package/dist/web-ui/_app/immutable/assets/0.BJaYkGW2.css +0 -1
  448. package/dist/web-ui/_app/immutable/assets/9.SzGLxi4x.css +0 -1
  449. package/dist/web-ui/_app/immutable/chunks/-lc0BifF.js +0 -1
  450. package/dist/web-ui/_app/immutable/chunks/8RBjHMN1.js +0 -1
  451. package/dist/web-ui/_app/immutable/chunks/B5wTVqxm.js +0 -1
  452. package/dist/web-ui/_app/immutable/chunks/B6VSmczZ.js +0 -1
  453. package/dist/web-ui/_app/immutable/chunks/BEOQc37C.js +0 -1
  454. package/dist/web-ui/_app/immutable/chunks/BHtYorjv.js +0 -1
  455. package/dist/web-ui/_app/immutable/chunks/BMuCqDX8.js +0 -1
  456. package/dist/web-ui/_app/immutable/chunks/BUZujXJ2.js +0 -1
  457. package/dist/web-ui/_app/immutable/chunks/BWET-efb.js +0 -1
  458. package/dist/web-ui/_app/immutable/chunks/BXkNecpt.js +0 -1
  459. package/dist/web-ui/_app/immutable/chunks/BYzrIfX8.js +0 -1
  460. package/dist/web-ui/_app/immutable/chunks/BpuwufMc.js +0 -1
  461. package/dist/web-ui/_app/immutable/chunks/BwMO4RrG.js +0 -1
  462. package/dist/web-ui/_app/immutable/chunks/C33JaVbg.js +0 -1
  463. package/dist/web-ui/_app/immutable/chunks/CGtqifKp.js +0 -1
  464. package/dist/web-ui/_app/immutable/chunks/CHDZZ7OG.js +0 -1
  465. package/dist/web-ui/_app/immutable/chunks/CUir3f4J.js +0 -60
  466. package/dist/web-ui/_app/immutable/chunks/CrCIbn0C.js +0 -1
  467. package/dist/web-ui/_app/immutable/chunks/D6TVmR9T.js +0 -1
  468. package/dist/web-ui/_app/immutable/chunks/D7LTux4W.js +0 -1
  469. package/dist/web-ui/_app/immutable/chunks/DAh4Wfku.js +0 -1
  470. package/dist/web-ui/_app/immutable/chunks/DAx07bEQ.js +0 -1
  471. package/dist/web-ui/_app/immutable/chunks/DOno4cA2.js +0 -1
  472. package/dist/web-ui/_app/immutable/chunks/DQA8NZIH.js +0 -2
  473. package/dist/web-ui/_app/immutable/chunks/DRfPm2bo.js +0 -1
  474. package/dist/web-ui/_app/immutable/chunks/DhQhksaB.js +0 -1
  475. package/dist/web-ui/_app/immutable/chunks/DjG7s6hm.js +0 -1
  476. package/dist/web-ui/_app/immutable/chunks/DkltRNvh.js +0 -1
  477. package/dist/web-ui/_app/immutable/chunks/DlaTnPKL.js +0 -1
  478. package/dist/web-ui/_app/immutable/chunks/ExCq5swK.js +0 -1
  479. package/dist/web-ui/_app/immutable/chunks/T3zZGv51.js +0 -1
  480. package/dist/web-ui/_app/immutable/chunks/XZumBYeP.js +0 -1
  481. package/dist/web-ui/_app/immutable/chunks/_ySfNjkF.js +0 -1
  482. package/dist/web-ui/_app/immutable/chunks/iEtR5cV6.js +0 -1
  483. package/dist/web-ui/_app/immutable/entry/app.Cgu6uKeS.js +0 -2
  484. package/dist/web-ui/_app/immutable/entry/start.9XifnLoB.js +0 -1
  485. package/dist/web-ui/_app/immutable/nodes/0.DISwcKSK.js +0 -1
  486. package/dist/web-ui/_app/immutable/nodes/1.Cx2Ufqp1.js +0 -1
  487. package/dist/web-ui/_app/immutable/nodes/10.C3z8ijXL.js +0 -1
  488. package/dist/web-ui/_app/immutable/nodes/11.DZdIjZmM.js +0 -1
  489. package/dist/web-ui/_app/immutable/nodes/12.FsIGfAOa.js +0 -1
  490. package/dist/web-ui/_app/immutable/nodes/13.DZoFwagf.js +0 -1
  491. package/dist/web-ui/_app/immutable/nodes/14.DaIzDKbQ.js +0 -1
  492. package/dist/web-ui/_app/immutable/nodes/15.BYyt4XWF.js +0 -2
  493. package/dist/web-ui/_app/immutable/nodes/16.CQkSqpOe.js +0 -1
  494. package/dist/web-ui/_app/immutable/nodes/2.Bkf_j2UJ.js +0 -1
  495. package/dist/web-ui/_app/immutable/nodes/3.kaMCurJG.js +0 -1
  496. package/dist/web-ui/_app/immutable/nodes/4.BSsFPTHG.js +0 -2
  497. package/dist/web-ui/_app/immutable/nodes/5.CpPlcCEZ.js +0 -1
  498. package/dist/web-ui/_app/immutable/nodes/6.BN4FqQmY.js +0 -1
  499. package/dist/web-ui/_app/immutable/nodes/7.9kBYIZik.js +0 -1
  500. package/dist/web-ui/_app/immutable/nodes/8.BuijtZ6B.js +0 -1
  501. package/dist/web-ui/_app/immutable/nodes/9.C-Weba8R.js +0 -1
@@ -28,14 +28,23 @@ export declare const KspecConfigSchema: z.ZodObject<{
28
28
  * - Git URL (contains :// or starts with git@)
29
29
  */
30
30
  remote: z.ZodOptional<z.ZodString>;
31
+ /**
32
+ * Interval in seconds for periodic background shadow pull in daemon mode.
33
+ * Set to 0 to disable periodic sync. Default: 60.
34
+ *
35
+ * AC: @config-shadow ac-12 — configurable sync interval for daemon background pull
36
+ */
37
+ sync_interval: z.ZodOptional<z.ZodNumber>;
31
38
  }, "strict", z.ZodTypeAny, {
32
39
  directory?: string | undefined;
33
40
  branch?: string | undefined;
34
41
  remote?: string | undefined;
42
+ sync_interval?: number | undefined;
35
43
  }, {
36
44
  directory?: string | undefined;
37
45
  branch?: string | undefined;
38
46
  remote?: string | undefined;
47
+ sync_interval?: number | undefined;
39
48
  }>>;
40
49
  /** Identity configuration */
41
50
  identity: z.ZodOptional<z.ZodObject<{
@@ -85,6 +94,100 @@ export declare const KspecConfigSchema: z.ZodObject<{
85
94
  port?: number | undefined;
86
95
  host?: string | undefined;
87
96
  }>>;
97
+ /** Dispatch workspace configuration */
98
+ dispatch: z.ZodOptional<z.ZodObject<{
99
+ /**
100
+ * Base/integration branch used when provisioning task workspaces.
101
+ * When omitted, the dispatcher resolves a deterministic fallback.
102
+ */
103
+ base_branch: z.ZodOptional<z.ZodString>;
104
+ /**
105
+ * Root directory where dispatcher-managed git worktrees live.
106
+ * Relative paths resolve from the project root.
107
+ */
108
+ worktree_root: z.ZodOptional<z.ZodString>;
109
+ /**
110
+ * How dispatched agents publish completed work.
111
+ * - "pull_request": agents create GitHub PRs (requires gh CLI + GitHub remote)
112
+ * - "manual_merge": agents merge locally, no PRs created
113
+ * - "auto": detect based on environment (default, preserves existing behavior)
114
+ */
115
+ publication_mode: z.ZodOptional<z.ZodEnum<["pull_request", "manual_merge", "auto"]>>;
116
+ /**
117
+ * Dispatcher-owned workspace bootstrap contract.
118
+ * Steps run before agent prompts are delivered.
119
+ */
120
+ bootstrap: z.ZodOptional<z.ZodObject<{
121
+ steps: z.ZodDefault<z.ZodArray<z.ZodObject<{
122
+ run: z.ZodString;
123
+ name: z.ZodOptional<z.ZodString>;
124
+ roles: z.ZodOptional<z.ZodArray<z.ZodEnum<["worker", "reviewer"]>, "many">>;
125
+ idempotent: z.ZodOptional<z.ZodBoolean>;
126
+ allow_tracked_changes: z.ZodOptional<z.ZodBoolean>;
127
+ reviewer_rerun_allowed: z.ZodOptional<z.ZodBoolean>;
128
+ }, "strict", z.ZodTypeAny, {
129
+ run: string;
130
+ name?: string | undefined;
131
+ idempotent?: boolean | undefined;
132
+ roles?: ("worker" | "reviewer")[] | undefined;
133
+ allow_tracked_changes?: boolean | undefined;
134
+ reviewer_rerun_allowed?: boolean | undefined;
135
+ }, {
136
+ run: string;
137
+ name?: string | undefined;
138
+ idempotent?: boolean | undefined;
139
+ roles?: ("worker" | "reviewer")[] | undefined;
140
+ allow_tracked_changes?: boolean | undefined;
141
+ reviewer_rerun_allowed?: boolean | undefined;
142
+ }>, "many">>;
143
+ }, "strict", z.ZodTypeAny, {
144
+ steps: {
145
+ run: string;
146
+ name?: string | undefined;
147
+ idempotent?: boolean | undefined;
148
+ roles?: ("worker" | "reviewer")[] | undefined;
149
+ allow_tracked_changes?: boolean | undefined;
150
+ reviewer_rerun_allowed?: boolean | undefined;
151
+ }[];
152
+ }, {
153
+ steps?: {
154
+ run: string;
155
+ name?: string | undefined;
156
+ idempotent?: boolean | undefined;
157
+ roles?: ("worker" | "reviewer")[] | undefined;
158
+ allow_tracked_changes?: boolean | undefined;
159
+ reviewer_rerun_allowed?: boolean | undefined;
160
+ }[] | undefined;
161
+ }>>;
162
+ }, "strict", z.ZodTypeAny, {
163
+ publication_mode?: "pull_request" | "manual_merge" | "auto" | undefined;
164
+ worktree_root?: string | undefined;
165
+ bootstrap?: {
166
+ steps: {
167
+ run: string;
168
+ name?: string | undefined;
169
+ idempotent?: boolean | undefined;
170
+ roles?: ("worker" | "reviewer")[] | undefined;
171
+ allow_tracked_changes?: boolean | undefined;
172
+ reviewer_rerun_allowed?: boolean | undefined;
173
+ }[];
174
+ } | undefined;
175
+ base_branch?: string | undefined;
176
+ }, {
177
+ publication_mode?: "pull_request" | "manual_merge" | "auto" | undefined;
178
+ worktree_root?: string | undefined;
179
+ bootstrap?: {
180
+ steps?: {
181
+ run: string;
182
+ name?: string | undefined;
183
+ idempotent?: boolean | undefined;
184
+ roles?: ("worker" | "reviewer")[] | undefined;
185
+ allow_tracked_changes?: boolean | undefined;
186
+ reviewer_rerun_allowed?: boolean | undefined;
187
+ }[] | undefined;
188
+ } | undefined;
189
+ base_branch?: string | undefined;
190
+ }>>;
88
191
  /** Ralph automation configuration */
89
192
  ralph: z.ZodOptional<z.ZodObject<{
90
193
  /** Skill invocation name overrides */
@@ -117,6 +220,19 @@ export declare const KspecConfigSchema: z.ZodObject<{
117
220
  pr_review?: string | undefined;
118
221
  } | undefined;
119
222
  }>>;
223
+ /** Hooks installation configuration */
224
+ hooks: z.ZodOptional<z.ZodObject<{
225
+ /** Whether to install the checkpoint (Stop) hook. Default: false */
226
+ checkpoint: z.ZodOptional<z.ZodBoolean>;
227
+ /** Whether to install the prompt-check (UserPromptSubmit) hook. Default: true */
228
+ prompt_check: z.ZodOptional<z.ZodBoolean>;
229
+ }, "strict", z.ZodTypeAny, {
230
+ checkpoint?: boolean | undefined;
231
+ prompt_check?: boolean | undefined;
232
+ }, {
233
+ checkpoint?: boolean | undefined;
234
+ prompt_check?: boolean | undefined;
235
+ }>>;
120
236
  }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
121
237
  /** Shadow branch configuration */
122
238
  shadow: z.ZodOptional<z.ZodObject<{
@@ -131,14 +247,23 @@ export declare const KspecConfigSchema: z.ZodObject<{
131
247
  * - Git URL (contains :// or starts with git@)
132
248
  */
133
249
  remote: z.ZodOptional<z.ZodString>;
250
+ /**
251
+ * Interval in seconds for periodic background shadow pull in daemon mode.
252
+ * Set to 0 to disable periodic sync. Default: 60.
253
+ *
254
+ * AC: @config-shadow ac-12 — configurable sync interval for daemon background pull
255
+ */
256
+ sync_interval: z.ZodOptional<z.ZodNumber>;
134
257
  }, "strict", z.ZodTypeAny, {
135
258
  directory?: string | undefined;
136
259
  branch?: string | undefined;
137
260
  remote?: string | undefined;
261
+ sync_interval?: number | undefined;
138
262
  }, {
139
263
  directory?: string | undefined;
140
264
  branch?: string | undefined;
141
265
  remote?: string | undefined;
266
+ sync_interval?: number | undefined;
142
267
  }>>;
143
268
  /** Identity configuration */
144
269
  identity: z.ZodOptional<z.ZodObject<{
@@ -188,6 +313,100 @@ export declare const KspecConfigSchema: z.ZodObject<{
188
313
  port?: number | undefined;
189
314
  host?: string | undefined;
190
315
  }>>;
316
+ /** Dispatch workspace configuration */
317
+ dispatch: z.ZodOptional<z.ZodObject<{
318
+ /**
319
+ * Base/integration branch used when provisioning task workspaces.
320
+ * When omitted, the dispatcher resolves a deterministic fallback.
321
+ */
322
+ base_branch: z.ZodOptional<z.ZodString>;
323
+ /**
324
+ * Root directory where dispatcher-managed git worktrees live.
325
+ * Relative paths resolve from the project root.
326
+ */
327
+ worktree_root: z.ZodOptional<z.ZodString>;
328
+ /**
329
+ * How dispatched agents publish completed work.
330
+ * - "pull_request": agents create GitHub PRs (requires gh CLI + GitHub remote)
331
+ * - "manual_merge": agents merge locally, no PRs created
332
+ * - "auto": detect based on environment (default, preserves existing behavior)
333
+ */
334
+ publication_mode: z.ZodOptional<z.ZodEnum<["pull_request", "manual_merge", "auto"]>>;
335
+ /**
336
+ * Dispatcher-owned workspace bootstrap contract.
337
+ * Steps run before agent prompts are delivered.
338
+ */
339
+ bootstrap: z.ZodOptional<z.ZodObject<{
340
+ steps: z.ZodDefault<z.ZodArray<z.ZodObject<{
341
+ run: z.ZodString;
342
+ name: z.ZodOptional<z.ZodString>;
343
+ roles: z.ZodOptional<z.ZodArray<z.ZodEnum<["worker", "reviewer"]>, "many">>;
344
+ idempotent: z.ZodOptional<z.ZodBoolean>;
345
+ allow_tracked_changes: z.ZodOptional<z.ZodBoolean>;
346
+ reviewer_rerun_allowed: z.ZodOptional<z.ZodBoolean>;
347
+ }, "strict", z.ZodTypeAny, {
348
+ run: string;
349
+ name?: string | undefined;
350
+ idempotent?: boolean | undefined;
351
+ roles?: ("worker" | "reviewer")[] | undefined;
352
+ allow_tracked_changes?: boolean | undefined;
353
+ reviewer_rerun_allowed?: boolean | undefined;
354
+ }, {
355
+ run: string;
356
+ name?: string | undefined;
357
+ idempotent?: boolean | undefined;
358
+ roles?: ("worker" | "reviewer")[] | undefined;
359
+ allow_tracked_changes?: boolean | undefined;
360
+ reviewer_rerun_allowed?: boolean | undefined;
361
+ }>, "many">>;
362
+ }, "strict", z.ZodTypeAny, {
363
+ steps: {
364
+ run: string;
365
+ name?: string | undefined;
366
+ idempotent?: boolean | undefined;
367
+ roles?: ("worker" | "reviewer")[] | undefined;
368
+ allow_tracked_changes?: boolean | undefined;
369
+ reviewer_rerun_allowed?: boolean | undefined;
370
+ }[];
371
+ }, {
372
+ steps?: {
373
+ run: string;
374
+ name?: string | undefined;
375
+ idempotent?: boolean | undefined;
376
+ roles?: ("worker" | "reviewer")[] | undefined;
377
+ allow_tracked_changes?: boolean | undefined;
378
+ reviewer_rerun_allowed?: boolean | undefined;
379
+ }[] | undefined;
380
+ }>>;
381
+ }, "strict", z.ZodTypeAny, {
382
+ publication_mode?: "pull_request" | "manual_merge" | "auto" | undefined;
383
+ worktree_root?: string | undefined;
384
+ bootstrap?: {
385
+ steps: {
386
+ run: string;
387
+ name?: string | undefined;
388
+ idempotent?: boolean | undefined;
389
+ roles?: ("worker" | "reviewer")[] | undefined;
390
+ allow_tracked_changes?: boolean | undefined;
391
+ reviewer_rerun_allowed?: boolean | undefined;
392
+ }[];
393
+ } | undefined;
394
+ base_branch?: string | undefined;
395
+ }, {
396
+ publication_mode?: "pull_request" | "manual_merge" | "auto" | undefined;
397
+ worktree_root?: string | undefined;
398
+ bootstrap?: {
399
+ steps?: {
400
+ run: string;
401
+ name?: string | undefined;
402
+ idempotent?: boolean | undefined;
403
+ roles?: ("worker" | "reviewer")[] | undefined;
404
+ allow_tracked_changes?: boolean | undefined;
405
+ reviewer_rerun_allowed?: boolean | undefined;
406
+ }[] | undefined;
407
+ } | undefined;
408
+ base_branch?: string | undefined;
409
+ }>>;
191
410
  /** Ralph automation configuration */
192
411
  ralph: z.ZodOptional<z.ZodObject<{
193
412
  /** Skill invocation name overrides */
@@ -220,6 +439,19 @@ export declare const KspecConfigSchema: z.ZodObject<{
220
439
  pr_review?: string | undefined;
221
440
  } | undefined;
222
441
  }>>;
442
+ /** Hooks installation configuration */
443
+ hooks: z.ZodOptional<z.ZodObject<{
444
+ /** Whether to install the checkpoint (Stop) hook. Default: false */
445
+ checkpoint: z.ZodOptional<z.ZodBoolean>;
446
+ /** Whether to install the prompt-check (UserPromptSubmit) hook. Default: true */
447
+ prompt_check: z.ZodOptional<z.ZodBoolean>;
448
+ }, "strict", z.ZodTypeAny, {
449
+ checkpoint?: boolean | undefined;
450
+ prompt_check?: boolean | undefined;
451
+ }, {
452
+ checkpoint?: boolean | undefined;
453
+ prompt_check?: boolean | undefined;
454
+ }>>;
223
455
  }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
224
456
  /** Shadow branch configuration */
225
457
  shadow: z.ZodOptional<z.ZodObject<{
@@ -234,14 +466,23 @@ export declare const KspecConfigSchema: z.ZodObject<{
234
466
  * - Git URL (contains :// or starts with git@)
235
467
  */
236
468
  remote: z.ZodOptional<z.ZodString>;
469
+ /**
470
+ * Interval in seconds for periodic background shadow pull in daemon mode.
471
+ * Set to 0 to disable periodic sync. Default: 60.
472
+ *
473
+ * AC: @config-shadow ac-12 — configurable sync interval for daemon background pull
474
+ */
475
+ sync_interval: z.ZodOptional<z.ZodNumber>;
237
476
  }, "strict", z.ZodTypeAny, {
238
477
  directory?: string | undefined;
239
478
  branch?: string | undefined;
240
479
  remote?: string | undefined;
480
+ sync_interval?: number | undefined;
241
481
  }, {
242
482
  directory?: string | undefined;
243
483
  branch?: string | undefined;
244
484
  remote?: string | undefined;
485
+ sync_interval?: number | undefined;
245
486
  }>>;
246
487
  /** Identity configuration */
247
488
  identity: z.ZodOptional<z.ZodObject<{
@@ -291,6 +532,100 @@ export declare const KspecConfigSchema: z.ZodObject<{
291
532
  port?: number | undefined;
292
533
  host?: string | undefined;
293
534
  }>>;
535
+ /** Dispatch workspace configuration */
536
+ dispatch: z.ZodOptional<z.ZodObject<{
537
+ /**
538
+ * Base/integration branch used when provisioning task workspaces.
539
+ * When omitted, the dispatcher resolves a deterministic fallback.
540
+ */
541
+ base_branch: z.ZodOptional<z.ZodString>;
542
+ /**
543
+ * Root directory where dispatcher-managed git worktrees live.
544
+ * Relative paths resolve from the project root.
545
+ */
546
+ worktree_root: z.ZodOptional<z.ZodString>;
547
+ /**
548
+ * How dispatched agents publish completed work.
549
+ * - "pull_request": agents create GitHub PRs (requires gh CLI + GitHub remote)
550
+ * - "manual_merge": agents merge locally, no PRs created
551
+ * - "auto": detect based on environment (default, preserves existing behavior)
552
+ */
553
+ publication_mode: z.ZodOptional<z.ZodEnum<["pull_request", "manual_merge", "auto"]>>;
554
+ /**
555
+ * Dispatcher-owned workspace bootstrap contract.
556
+ * Steps run before agent prompts are delivered.
557
+ */
558
+ bootstrap: z.ZodOptional<z.ZodObject<{
559
+ steps: z.ZodDefault<z.ZodArray<z.ZodObject<{
560
+ run: z.ZodString;
561
+ name: z.ZodOptional<z.ZodString>;
562
+ roles: z.ZodOptional<z.ZodArray<z.ZodEnum<["worker", "reviewer"]>, "many">>;
563
+ idempotent: z.ZodOptional<z.ZodBoolean>;
564
+ allow_tracked_changes: z.ZodOptional<z.ZodBoolean>;
565
+ reviewer_rerun_allowed: z.ZodOptional<z.ZodBoolean>;
566
+ }, "strict", z.ZodTypeAny, {
567
+ run: string;
568
+ name?: string | undefined;
569
+ idempotent?: boolean | undefined;
570
+ roles?: ("worker" | "reviewer")[] | undefined;
571
+ allow_tracked_changes?: boolean | undefined;
572
+ reviewer_rerun_allowed?: boolean | undefined;
573
+ }, {
574
+ run: string;
575
+ name?: string | undefined;
576
+ idempotent?: boolean | undefined;
577
+ roles?: ("worker" | "reviewer")[] | undefined;
578
+ allow_tracked_changes?: boolean | undefined;
579
+ reviewer_rerun_allowed?: boolean | undefined;
580
+ }>, "many">>;
581
+ }, "strict", z.ZodTypeAny, {
582
+ steps: {
583
+ run: string;
584
+ name?: string | undefined;
585
+ idempotent?: boolean | undefined;
586
+ roles?: ("worker" | "reviewer")[] | undefined;
587
+ allow_tracked_changes?: boolean | undefined;
588
+ reviewer_rerun_allowed?: boolean | undefined;
589
+ }[];
590
+ }, {
591
+ steps?: {
592
+ run: string;
593
+ name?: string | undefined;
594
+ idempotent?: boolean | undefined;
595
+ roles?: ("worker" | "reviewer")[] | undefined;
596
+ allow_tracked_changes?: boolean | undefined;
597
+ reviewer_rerun_allowed?: boolean | undefined;
598
+ }[] | undefined;
599
+ }>>;
600
+ }, "strict", z.ZodTypeAny, {
601
+ publication_mode?: "pull_request" | "manual_merge" | "auto" | undefined;
602
+ worktree_root?: string | undefined;
603
+ bootstrap?: {
604
+ steps: {
605
+ run: string;
606
+ name?: string | undefined;
607
+ idempotent?: boolean | undefined;
608
+ roles?: ("worker" | "reviewer")[] | undefined;
609
+ allow_tracked_changes?: boolean | undefined;
610
+ reviewer_rerun_allowed?: boolean | undefined;
611
+ }[];
612
+ } | undefined;
613
+ base_branch?: string | undefined;
614
+ }, {
615
+ publication_mode?: "pull_request" | "manual_merge" | "auto" | undefined;
616
+ worktree_root?: string | undefined;
617
+ bootstrap?: {
618
+ steps?: {
619
+ run: string;
620
+ name?: string | undefined;
621
+ idempotent?: boolean | undefined;
622
+ roles?: ("worker" | "reviewer")[] | undefined;
623
+ allow_tracked_changes?: boolean | undefined;
624
+ reviewer_rerun_allowed?: boolean | undefined;
625
+ }[] | undefined;
626
+ } | undefined;
627
+ base_branch?: string | undefined;
628
+ }>>;
294
629
  /** Ralph automation configuration */
295
630
  ralph: z.ZodOptional<z.ZodObject<{
296
631
  /** Skill invocation name overrides */
@@ -323,6 +658,19 @@ export declare const KspecConfigSchema: z.ZodObject<{
323
658
  pr_review?: string | undefined;
324
659
  } | undefined;
325
660
  }>>;
661
+ /** Hooks installation configuration */
662
+ hooks: z.ZodOptional<z.ZodObject<{
663
+ /** Whether to install the checkpoint (Stop) hook. Default: false */
664
+ checkpoint: z.ZodOptional<z.ZodBoolean>;
665
+ /** Whether to install the prompt-check (UserPromptSubmit) hook. Default: true */
666
+ prompt_check: z.ZodOptional<z.ZodBoolean>;
667
+ }, "strict", z.ZodTypeAny, {
668
+ checkpoint?: boolean | undefined;
669
+ prompt_check?: boolean | undefined;
670
+ }, {
671
+ checkpoint?: boolean | undefined;
672
+ prompt_check?: boolean | undefined;
673
+ }>>;
326
674
  }, z.ZodTypeAny, "passthrough">>;
327
675
  /**
328
676
  * Raw config type as parsed from YAML file.
@@ -364,6 +712,12 @@ export interface ResolvedKspecConfig {
364
712
  directory: string;
365
713
  /** Remote configuration, null if not specified */
366
714
  remote: ResolvedShadowRemote | null;
715
+ /**
716
+ * Interval in seconds for periodic background shadow pull in daemon mode.
717
+ * 0 disables periodic sync. Default: 60.
718
+ * AC: @config-shadow ac-12
719
+ */
720
+ sync_interval: number;
367
721
  };
368
722
  identity: {
369
723
  author: string | null;
@@ -389,6 +743,33 @@ export interface ResolvedKspecConfig {
389
743
  */
390
744
  auto_start: boolean;
391
745
  };
746
+ dispatch: {
747
+ /**
748
+ * Optional configured base branch for dispatcher-managed workspaces.
749
+ * Null means "resolve deterministically at provisioning time".
750
+ */
751
+ base_branch: string | null;
752
+ /**
753
+ * Raw worktree root from config/defaults. Relative paths resolve from the
754
+ * project root when dispatch workspaces are provisioned.
755
+ */
756
+ worktree_root: string;
757
+ /**
758
+ * How dispatched agents publish completed work.
759
+ * "auto" means detect based on environment (gh CLI + GitHub remote).
760
+ */
761
+ publication_mode: "pull_request" | "manual_merge" | "auto";
762
+ bootstrap: {
763
+ steps: Array<{
764
+ run: string;
765
+ name?: string;
766
+ roles?: Array<"worker" | "reviewer">;
767
+ idempotent: boolean;
768
+ allow_tracked_changes: boolean;
769
+ reviewer_rerun_allowed: boolean;
770
+ }>;
771
+ };
772
+ };
392
773
  ralph: {
393
774
  skills: {
394
775
  /** Skill invocation for task-work (default: /kspec:task-work) */
@@ -399,6 +780,20 @@ export interface ResolvedKspecConfig {
399
780
  pr_review: string;
400
781
  };
401
782
  };
783
+ hooks: {
784
+ /**
785
+ * Whether to install the checkpoint (Stop) hook.
786
+ * Default: false — most dispatch-managed sessions don't need it.
787
+ * AC: @project-config ac-hooks-section
788
+ */
789
+ checkpoint: boolean;
790
+ /**
791
+ * Whether to install the prompt-check (UserPromptSubmit) hook.
792
+ * Default: true — lightweight spec-first reminder.
793
+ * AC: @project-config ac-hooks-section
794
+ */
795
+ prompt_check: boolean;
796
+ };
402
797
  }
403
798
  /**
404
799
  * Result of loading project config.
@@ -425,7 +820,7 @@ export interface LoadConfigResult {
425
820
  *
426
821
  * AC: @project-config ac-6 — loads from git root, not cwd subdirectory
427
822
  */
428
- export declare function findProjectRoot(startDir: string): string | null;
823
+ export declare function findProjectRoot(startDir: string, mainRoot?: string): string | null;
429
824
  /**
430
825
  * Load project configuration from kspec.config.yaml.
431
826
  *
@@ -439,7 +834,7 @@ export declare function findProjectRoot(startDir: string): string | null;
439
834
  *
440
835
  * @param startDir Starting directory for git root detection
441
836
  */
442
- export declare function loadProjectConfig(startDir?: string): Promise<LoadConfigResult>;
837
+ export declare function loadProjectConfig(startDir?: string, mainRoot?: string): Promise<LoadConfigResult>;
443
838
  /**
444
839
  * Resolve configuration by merging file config with env vars and defaults.
445
840
  *
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/parser/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/parser/config.ts"],"names":[],"mappings":"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"}