@astrosheep/keiyaku 4.6.7 → 4.6.9

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 (336) hide show
  1. package/README.md +46 -16
  2. package/build/plugins/claude/.claude-plugin/plugin.json +1 -1
  3. package/build/plugins/claude/skills/keiyaku/SKILL.md +5 -6
  4. package/build/plugins/claude/skills/keiyaku-akuma/SKILL.md +1 -1
  5. package/build/plugins/claude/skills/keiyaku-akuma/references/automation.md +8 -8
  6. package/build/plugins/claude/skills/keiyaku-babysit/SKILL.md +1 -1
  7. package/build/plugins/claude/skills/keiyaku-bind/SKILL.md +9 -9
  8. package/build/plugins/claude/skills/keiyaku-debt/SKILL.md +91 -0
  9. package/build/plugins/claude/skills/keiyaku-workflow/SKILL.md +2 -2
  10. package/build/plugins/codex/.codex-plugin/plugin.json +1 -1
  11. package/build/plugins/codex/skills/keiyaku/SKILL.md +5 -6
  12. package/build/plugins/codex/skills/keiyaku-akuma/SKILL.md +1 -1
  13. package/build/plugins/codex/skills/keiyaku-akuma/references/automation.md +8 -8
  14. package/build/plugins/codex/skills/keiyaku-babysit/SKILL.md +1 -1
  15. package/build/plugins/codex/skills/keiyaku-bind/SKILL.md +9 -9
  16. package/build/plugins/codex/skills/keiyaku-debt/SKILL.md +91 -0
  17. package/build/plugins/codex/skills/keiyaku-workflow/SKILL.md +2 -2
  18. package/build/plugins/opencode/index.js +1 -1
  19. package/build/plugins/opencode/skills/keiyaku/SKILL.md +5 -6
  20. package/build/plugins/opencode/skills/keiyaku-akuma/SKILL.md +1 -1
  21. package/build/plugins/opencode/skills/keiyaku-akuma/references/automation.md +8 -8
  22. package/build/plugins/opencode/skills/keiyaku-babysit/SKILL.md +1 -1
  23. package/build/plugins/opencode/skills/keiyaku-bind/SKILL.md +9 -9
  24. package/build/plugins/opencode/skills/keiyaku-debt/SKILL.md +91 -0
  25. package/build/plugins/opencode/skills/keiyaku-workflow/SKILL.md +2 -2
  26. package/build/plugins/pi/keiyaku.ts +0 -5
  27. package/build/skills/keiyaku/SKILL.md +5 -6
  28. package/build/skills/keiyaku-akuma/SKILL.md +1 -1
  29. package/build/skills/keiyaku-akuma/references/automation.md +8 -8
  30. package/build/skills/keiyaku-babysit/SKILL.md +1 -1
  31. package/build/skills/keiyaku-bind/SKILL.md +9 -9
  32. package/build/skills/keiyaku-debt/SKILL.md +91 -0
  33. package/build/skills/keiyaku-workflow/SKILL.md +2 -2
  34. package/build/src/akuma/akuma-call.d.ts +2 -0
  35. package/build/src/akuma/akuma-call.js +8 -2
  36. package/build/src/akuma/akuma-instance.d.ts +14 -1
  37. package/build/src/akuma/akuma-instance.js +37 -7
  38. package/build/src/akuma/akuma-observe.d.ts +33 -8
  39. package/build/src/akuma/akuma-observe.js +89 -63
  40. package/build/src/akuma/akuma-owner.d.ts +14 -2
  41. package/build/src/akuma/akuma-owner.js +49 -35
  42. package/build/src/akuma/akuma-selection-execution.js +9 -1
  43. package/build/src/akuma/akuma-stream.d.ts +22 -0
  44. package/build/src/akuma/akuma-stream.js +116 -0
  45. package/build/src/akuma/akuma-wait.d.ts +1 -40
  46. package/build/src/akuma/akuma-wait.js +23 -84
  47. package/build/src/akuma/akuma.d.ts +52 -16
  48. package/build/src/akuma/akuma.js +10 -10
  49. package/build/src/akuma/allowed.d.ts +7 -12
  50. package/build/src/akuma/allowed.js +13 -4
  51. package/build/src/akuma/archetype.d.ts +7 -15
  52. package/build/src/akuma/archetype.js +36 -35
  53. package/build/src/akuma/body-supervisor.d.ts +5 -5
  54. package/build/src/akuma/body-supervisor.js +22 -20
  55. package/build/src/akuma/body.d.ts +5 -3
  56. package/build/src/akuma/body.js +57 -8
  57. package/build/src/akuma/call-request.d.ts +30 -32
  58. package/build/src/akuma/call-request.js +10 -3
  59. package/build/src/akuma/caller.d.ts +39 -0
  60. package/build/src/akuma/caller.js +36 -0
  61. package/build/src/akuma/dispatch-association.d.ts +0 -1
  62. package/build/src/akuma/dispatch-association.js +0 -3
  63. package/build/src/akuma/heart/activity-schema.d.ts +12 -0
  64. package/build/src/akuma/heart/activity-schema.js +6 -0
  65. package/build/src/akuma/heart/facts.d.ts +16 -12
  66. package/build/src/akuma/heart/facts.js +8 -0
  67. package/build/src/akuma/heart/index.d.ts +61 -9
  68. package/build/src/akuma/heart/index.js +89 -24
  69. package/build/src/akuma/heart/rows.d.ts +3 -3
  70. package/build/src/akuma/heart/rows.js +5 -3
  71. package/build/src/akuma/heart/soul.d.ts +10 -1
  72. package/build/src/akuma/heart/soul.js +34 -24
  73. package/build/src/akuma/heart/storage.d.ts +20 -0
  74. package/build/src/akuma/heart/storage.js +62 -3
  75. package/build/src/akuma/heart/timeline.d.ts +7 -0
  76. package/build/src/akuma/heart/timeline.js +10 -0
  77. package/build/src/akuma/identity.d.ts +0 -1
  78. package/build/src/akuma/identity.js +2 -5
  79. package/build/src/akuma/index.d.ts +6 -2
  80. package/build/src/akuma/index.js +1 -0
  81. package/build/src/akuma/nuke.js +6 -28
  82. package/build/src/akuma/projection.d.ts +25 -11
  83. package/build/src/akuma/projection.js +24 -7
  84. package/build/src/akuma/provider-recipe.d.ts +18 -6
  85. package/build/src/akuma/provider-recipe.js +24 -1
  86. package/build/src/akuma/provider.d.ts +31 -10
  87. package/build/src/akuma/provider.js +105 -14
  88. package/build/src/akuma/providers/acp/events.js +29 -19
  89. package/build/src/akuma/providers/acp/index.js +2 -3
  90. package/build/src/akuma/providers/claude/events.js +110 -69
  91. package/build/src/akuma/providers/claude/index.d.ts +2 -2
  92. package/build/src/akuma/providers/claude/index.js +4 -8
  93. package/build/src/akuma/providers/codex-app-server/events.js +17 -2
  94. package/build/src/akuma/providers/codex-app-server/index.js +17 -11
  95. package/build/src/akuma/providers/decode.d.ts +33 -0
  96. package/build/src/akuma/providers/decode.js +65 -0
  97. package/build/src/akuma/providers/execution-environment.d.ts +2 -1
  98. package/build/src/akuma/providers/execution-environment.js +3 -0
  99. package/build/src/akuma/providers/grok-build/index.js +16 -48
  100. package/build/src/akuma/providers/index.js +2 -0
  101. package/build/src/akuma/providers/lifecycle.d.ts +9 -0
  102. package/build/src/akuma/providers/lifecycle.js +10 -0
  103. package/build/src/akuma/providers/opencode-sdk/event-stream.d.ts +3 -3
  104. package/build/src/akuma/providers/opencode-sdk/event-stream.js +2 -25
  105. package/build/src/akuma/providers/opencode-sdk/events.d.ts +7 -43
  106. package/build/src/akuma/providers/opencode-sdk/events.js +146 -296
  107. package/build/src/akuma/providers/opencode-sdk/index.js +270 -431
  108. package/build/src/akuma/providers/opencode-sdk/native-http.d.ts +9 -0
  109. package/build/src/akuma/providers/opencode-sdk/native-http.js +69 -0
  110. package/build/src/akuma/providers/opencode-sdk/session.d.ts +42 -36
  111. package/build/src/akuma/providers/opencode-sdk/session.js +75 -84
  112. package/build/src/akuma/providers/paseo/events.d.ts +33 -0
  113. package/build/src/akuma/providers/paseo/events.js +204 -0
  114. package/build/src/akuma/providers/paseo/index.d.ts +9 -0
  115. package/build/src/akuma/providers/paseo/index.js +357 -0
  116. package/build/src/akuma/providers/pi/events.d.ts +2 -0
  117. package/build/src/akuma/providers/pi/events.js +36 -38
  118. package/build/src/akuma/providers/pi/index.js +21 -35
  119. package/build/src/akuma/publication.d.ts +2 -0
  120. package/build/src/akuma/publication.js +5 -0
  121. package/build/src/akuma/request-lifecycle.d.ts +4 -2
  122. package/build/src/akuma/request-lifecycle.js +27 -12
  123. package/build/src/akuma/request-rendezvous.js +38 -55
  124. package/build/src/akuma/request-serve.d.ts +1 -1
  125. package/build/src/akuma/request-serve.js +77 -113
  126. package/build/src/akuma/requests.d.ts +3 -1
  127. package/build/src/akuma/requests.js +32 -0
  128. package/build/src/akuma/selection-observation.d.ts +129 -53
  129. package/build/src/akuma/selection-observation.js +3 -9
  130. package/build/src/akuma/turn-drive.d.ts +3 -0
  131. package/build/src/akuma/turn-drive.js +28 -10
  132. package/build/src/akuma-body.js +12 -22
  133. package/build/src/cli/akuma-caller.d.ts +3 -0
  134. package/build/src/cli/akuma-caller.js +31 -0
  135. package/build/src/cli/commands/akuma-grammar.js +10 -16
  136. package/build/src/cli/commands/akuma.js +25 -55
  137. package/build/src/cli/commands/contract-grammar.d.ts +9 -7
  138. package/build/src/cli/commands/contract-grammar.js +40 -47
  139. package/build/src/cli/commands/contract-help.d.ts +17 -7
  140. package/build/src/cli/commands/contract-help.js +50 -11
  141. package/build/src/cli/commands/contract.js +34 -63
  142. package/build/src/cli/commands/debt-grammar.d.ts +19 -0
  143. package/build/src/cli/commands/debt-grammar.js +323 -0
  144. package/build/src/cli/commands/debt-query.d.ts +5 -0
  145. package/build/src/cli/commands/{task-query.js → debt-query.js} +9 -9
  146. package/build/src/cli/commands/{task.d.ts → debt.d.ts} +2 -2
  147. package/build/src/cli/commands/{task.js → debt.js} +87 -164
  148. package/build/src/cli/coordinates.d.ts +1 -1
  149. package/build/src/cli/coordinates.js +1 -1
  150. package/build/src/cli/parse.d.ts +5 -5
  151. package/build/src/cli/parse.js +17 -16
  152. package/build/src/cli/render/akuma-activity.d.ts +11 -83
  153. package/build/src/cli/render/akuma-activity.js +20 -382
  154. package/build/src/cli/render/catalog.d.ts +4 -7
  155. package/build/src/cli/render/catalog.js +5 -5
  156. package/build/src/cli/render/contract-history.js +3 -6
  157. package/build/src/cli/render/contract.js +17 -52
  158. package/build/src/cli/render/debt.d.ts +28 -0
  159. package/build/src/cli/render/{task.js → debt.js} +55 -133
  160. package/build/src/cli/render/kanshi.js +28 -28
  161. package/build/src/cli/render/marks.d.ts +5 -5
  162. package/build/src/cli/render/marks.js +4 -10
  163. package/build/src/cli/render/nuke.js +1 -1
  164. package/build/src/cli/render/receipt.js +3 -10
  165. package/build/src/cli/runtime.d.ts +1 -1
  166. package/build/src/cli/runtime.js +14 -20
  167. package/build/src/cli/scan.d.ts +1 -1
  168. package/build/src/cli/selectors.d.ts +3 -6
  169. package/build/src/cli/selectors.js +22 -53
  170. package/build/src/cli/usage.d.ts +1 -1
  171. package/build/src/cli/usage.js +4 -4
  172. package/build/src/contract-worktree.js +3 -3
  173. package/build/src/debt/board.d.ts +160 -0
  174. package/build/src/{task → debt}/board.js +89 -89
  175. package/build/src/debt/catalog.d.ts +11 -0
  176. package/build/src/debt/catalog.js +59 -0
  177. package/build/src/{task → debt}/context.d.ts +1 -1
  178. package/build/src/{task → debt}/context.js +1 -1
  179. package/build/src/{task → debt}/created-observation.d.ts +6 -10
  180. package/build/src/{task → debt}/created-observation.js +7 -7
  181. package/build/src/debt/document.d.ts +37 -0
  182. package/build/src/{task → debt}/document.js +37 -37
  183. package/build/src/debt/identity.d.ts +21 -0
  184. package/build/src/{task → debt}/identity.js +35 -35
  185. package/build/src/debt/index.d.ts +111 -0
  186. package/build/src/debt/index.js +203 -0
  187. package/build/src/{task → debt}/input.d.ts +8 -8
  188. package/build/src/{task → debt}/input.js +21 -21
  189. package/build/src/debt/lifecycle-operations.d.ts +6 -0
  190. package/build/src/{task → debt}/lifecycle-operations.js +27 -31
  191. package/build/src/debt/mutation-result.d.ts +981 -0
  192. package/build/src/debt/mutation-result.js +109 -0
  193. package/build/src/debt/mutation.d.ts +424 -0
  194. package/build/src/debt/mutation.js +223 -0
  195. package/build/src/debt/operation-types.d.ts +71 -0
  196. package/build/src/debt/operations.d.ts +28 -0
  197. package/build/src/{task → debt}/operations.js +59 -60
  198. package/build/src/debt/query.d.ts +76 -0
  199. package/build/src/{task → debt}/query.js +55 -55
  200. package/build/src/{task → debt}/store.d.ts +13 -13
  201. package/build/src/{task → debt}/store.js +58 -49
  202. package/build/src/debt/view.d.ts +4 -0
  203. package/build/src/debt/view.js +7 -0
  204. package/build/src/dispatch/index.d.ts +3 -3
  205. package/build/src/dispatch/index.js +1 -2
  206. package/build/src/git/observe.d.ts +6 -2
  207. package/build/src/git/observe.js +6 -2
  208. package/build/src/identity/coordinates.d.ts +1 -1
  209. package/build/src/index.d.ts +17 -17
  210. package/build/src/index.js +11 -11
  211. package/build/src/kanshi/index.d.ts +2 -2
  212. package/build/src/kanshi/read.js +54 -39
  213. package/build/src/kanshi/report.d.ts +7 -7
  214. package/build/src/kanshi/select.js +4 -4
  215. package/build/src/library/address.js +2 -4
  216. package/build/src/library/akuma-creation.d.ts +5 -1
  217. package/build/src/library/akuma-creation.js +27 -47
  218. package/build/src/library/akumas.d.ts +7 -7
  219. package/build/src/library/akumas.js +13 -9
  220. package/build/src/library/bind.d.ts +17 -17
  221. package/build/src/library/bind.js +16 -12
  222. package/build/src/library/contract-address.d.ts +9 -0
  223. package/build/src/library/contract-address.js +71 -0
  224. package/build/src/library/contract-composition.d.ts +4 -7
  225. package/build/src/library/contract-composition.js +6 -18
  226. package/build/src/library/contract-creation.d.ts +3 -5
  227. package/build/src/library/contract-creation.js +24 -22
  228. package/build/src/library/contract-execution.js +21 -26
  229. package/build/src/library/contract-outcomes.d.ts +2 -14
  230. package/build/src/library/contract-outcomes.js +2 -13
  231. package/build/src/library/contract-types.d.ts +38 -4
  232. package/build/src/library/delivery.d.ts +0 -2
  233. package/build/src/library/delivery.js +2 -5
  234. package/build/src/library/input.d.ts +2 -2
  235. package/build/src/library/input.js +5 -5
  236. package/build/src/library/invocation.js +2 -2
  237. package/build/src/library/keiyaku.d.ts +0 -5
  238. package/build/src/library/keiyaku.js +6 -12
  239. package/build/src/library/nuke.js +3 -3
  240. package/build/src/library/outcome.d.ts +626 -625
  241. package/build/src/library/outcome.js +13 -3
  242. package/build/src/library/reconcile.js +8 -16
  243. package/build/src/library/refusal.d.ts +2 -2
  244. package/build/src/library/repo.d.ts +3 -2
  245. package/build/src/library/repo.js +10 -5
  246. package/build/src/library/selection.d.ts +5 -8
  247. package/build/src/library/selection.js +22 -73
  248. package/build/src/plugin/akuma-signals.d.ts +2 -0
  249. package/build/src/plugin/akuma-signals.js +4 -0
  250. package/build/src/plugin/public.d.ts +32 -2
  251. package/build/src/plugin/runtime.js +5 -3
  252. package/build/src/protocol/amend.js +3 -2
  253. package/build/src/protocol/attempt.js +3 -8
  254. package/build/src/protocol/bind.d.ts +2 -2
  255. package/build/src/protocol/bind.js +1 -1
  256. package/build/src/protocol/deliver.js +3 -3
  257. package/build/src/protocol/operations.d.ts +1 -3
  258. package/build/src/protocol/operations.js +0 -8
  259. package/build/src/protocol/outcome.d.ts +1 -2
  260. package/build/src/protocol/outcome.js +1 -13
  261. package/build/src/protocol/placement.js +3 -10
  262. package/build/src/protocol/read/status.js +31 -70
  263. package/build/src/protocol/reintegrate.js +3 -10
  264. package/build/src/protocol/review.js +3 -3
  265. package/build/src/protocol/run.d.ts +5 -1
  266. package/build/src/protocol/run.js +3 -3
  267. package/build/src/runtime/proc/windows-launch.exe +0 -0
  268. package/build/src/settlement/fence.d.ts +3 -3
  269. package/build/src/settlement/fence.js +4 -4
  270. package/build/src/settlement/holder.d.ts +16 -16
  271. package/build/src/settlement/holder.js +69 -63
  272. package/build/src/settlement/settle.d.ts +5 -5
  273. package/build/src/settlement/settle.js +53 -53
  274. package/package.json +19 -9
  275. package/plugins/paseo/plugin/index.server.ts +17 -0
  276. package/plugins/paseo/plugin/paseo-plugin.json +4 -0
  277. package/plugins/paseo/plugin/server/attach.ts +52 -0
  278. package/plugins/paseo/plugin/server/keiyaku.ts +44 -0
  279. package/plugins/paseo/plugin/server/message.ts +60 -0
  280. package/plugins/paseo/plugin/server/mirror.ts +193 -0
  281. package/plugins/paseo/plugin/server/model.ts +14 -0
  282. package/plugins/paseo/plugin/server/provider.ts +276 -0
  283. package/plugins/paseo/plugin/server/sdk-worker.ts +237 -0
  284. package/plugins/paseo/plugin/server/sdk.ts +289 -0
  285. package/plugins/paseo/plugin/server/stop.ts +26 -0
  286. package/plugins/paseo/plugin/server/transport.ts +35 -0
  287. package/plugins/paseo/plugin/shared/attach-rpc.ts +10 -0
  288. package/plugins/paseo/plugin/shared/refresh-rpc.ts +6 -0
  289. package/plugins/paseo/plugin/tsconfig.json +6 -0
  290. package/plugins/pi/keiyaku.ts +57 -0
  291. package/skills/keiyaku/SKILL.md +43 -0
  292. package/skills/keiyaku-akuma/SKILL.md +130 -0
  293. package/skills/keiyaku-akuma/references/automation.md +269 -0
  294. package/skills/keiyaku-babysit/SKILL.md +65 -0
  295. package/skills/keiyaku-bind/SKILL.md +216 -0
  296. package/skills/keiyaku-bind/agents/openai.yaml +4 -0
  297. package/skills/keiyaku-debt/SKILL.md +91 -0
  298. package/skills/keiyaku-workflow/SKILL.md +129 -0
  299. package/build/plugins/claude/skills/keiyaku-task/SKILL.md +0 -104
  300. package/build/plugins/codex/skills/keiyaku-task/SKILL.md +0 -104
  301. package/build/plugins/opencode/skills/keiyaku-task/SKILL.md +0 -104
  302. package/build/skills/keiyaku-task/SKILL.md +0 -104
  303. package/build/src/cli/commands/amend.d.ts +0 -12
  304. package/build/src/cli/commands/amend.js +0 -10
  305. package/build/src/cli/commands/bind.d.ts +0 -11
  306. package/build/src/cli/commands/bind.js +0 -23
  307. package/build/src/cli/commands/task-grammar.d.ts +0 -19
  308. package/build/src/cli/commands/task-grammar.js +0 -384
  309. package/build/src/cli/commands/task-query.d.ts +0 -5
  310. package/build/src/cli/render/task.d.ts +0 -41
  311. package/build/src/dispatch/association.d.ts +0 -1
  312. package/build/src/dispatch/association.js +0 -1
  313. package/build/src/task/board.d.ts +0 -168
  314. package/build/src/task/catalog.d.ts +0 -11
  315. package/build/src/task/catalog.js +0 -59
  316. package/build/src/task/compose-language.d.ts +0 -57
  317. package/build/src/task/compose-language.js +0 -364
  318. package/build/src/task/compose-parser.d.ts +0 -32
  319. package/build/src/task/compose-parser.js +0 -180
  320. package/build/src/task/compose.d.ts +0 -16
  321. package/build/src/task/compose.js +0 -189
  322. package/build/src/task/document.d.ts +0 -39
  323. package/build/src/task/identity.d.ts +0 -21
  324. package/build/src/task/index.d.ts +0 -138
  325. package/build/src/task/index.js +0 -269
  326. package/build/src/task/lifecycle-operations.d.ts +0 -6
  327. package/build/src/task/mutation-result.d.ts +0 -1726
  328. package/build/src/task/mutation-result.js +0 -198
  329. package/build/src/task/mutation.d.ts +0 -590
  330. package/build/src/task/mutation.js +0 -262
  331. package/build/src/task/operation-types.d.ts +0 -71
  332. package/build/src/task/operations.d.ts +0 -28
  333. package/build/src/task/query.d.ts +0 -76
  334. package/build/src/task/view.d.ts +0 -4
  335. package/build/src/task/view.js +0 -7
  336. /package/build/src/{task → debt}/operation-types.js +0 -0
@@ -0,0 +1,216 @@
1
+ ---
2
+ name: keiyaku-bind
3
+ description: >-
4
+ Must read before binding a `kei` (Contract). Use when deciding what belongs
5
+ in one `kei`, how to divide its work, and how to write or run `bind`.
6
+ ---
7
+
8
+ # Before Binding A Keiyaku
9
+
10
+ Bind records a Contract whose objective, design, and acceptance boundary are
11
+ settled. Do not use it to leave an open design for someone else to decide.
12
+
13
+ ## 1. What Must Be Clear Before Binding
14
+
15
+ Settle these facts first:
16
+
17
+ - objective and intended outcome;
18
+ - architecture and module boundaries;
19
+ - detailed design and implementation approach;
20
+ - public interfaces, behavior, data, and persistence;
21
+ - ordering, concurrency, dependencies, and failure behavior;
22
+ - acceptance conditions;
23
+ - verification and required evidence;
24
+ - the affected Region;
25
+ - the one holder responsible for the `kei`.
26
+
27
+ The Design section is a detailed design document. It may contain subsections
28
+ such as:
29
+
30
+ - Architecture: components, module boundaries, ownership, and connections;
31
+ - Interfaces And Behavior: public surfaces, inputs, outputs, success, and
32
+ refusal behavior;
33
+ - Data And Persistence: data shape, identity, lifecycle facts, and persistence;
34
+ - Approach And Flow: implementation approach, dependencies, ordering,
35
+ concurrency, and failure handling;
36
+ - Pseudocode: algorithms and control flow.
37
+
38
+ Record every design decision the implementation must follow. Add other Design
39
+ subsections when needed. Do not bind while the architecture, design, approach,
40
+ or acceptance conditions are open.
41
+
42
+ ### Contract Shape: Mandatory Acceptance Boundary Check
43
+
44
+ Before every bind, identify the independently acceptable outcomes. For each
45
+ proposed part, ask whether it can be reviewed and accepted while another part
46
+ remains unfinished. If it can, you MUST bind it as a separate `kei`. Do not bind
47
+ an aggregate Contract containing independently acceptable outcomes.
48
+
49
+ A shared request, audit, theme, product name, worker, verification command, or
50
+ overlapping Region does NOT justify combining acceptance boundaries. Worker
51
+ assignment and Contract boundaries are separate decisions: one worker may
52
+ serve several Contracts, and several workers may contribute to one outcome.
53
+ A request to "open a kei" does not by itself instruct you to combine outcomes.
54
+
55
+ Keep parts together only when they jointly establish one outcome that cannot
56
+ be meaningfully accepted in parts. State that inseparability in Context and
57
+ make Criteria judge the same outcome. Do not manufacture inseparability by
58
+ writing one broad Objective around unrelated fixes.
59
+
60
+ - Use an Arc only for a chapter inside that one acceptance boundary; an Arc is
61
+ not separately accepted and MUST NOT substitute for an independent `kei`.
62
+ - Use a Debt for confirmed unresolved work and dependencies that must outlive
63
+ the current conversation.
64
+
65
+ A `kei` owns one independently acceptable outcome and its delivery lifecycle. A
66
+ Debt records confirmed unresolved work; it may exist without a `kei`,
67
+ and it does not create a second acceptance or lifecycle. Associate a `kei` with
68
+ an existing Debt only when the delivery actually settles that unresolved work.
69
+ Do not create a Debt just to mirror a `kei`.
70
+
71
+ ### Parallel Work
72
+
73
+ Parallel work is the default.
74
+
75
+ - Bind and advance independent `kei`s in parallel. Each has its own acceptance
76
+ boundary and holder.
77
+ - Within one `kei`, run independent Debts or Arc chapters in parallel whenever
78
+ their work can proceed independently. They converge on the one acceptance
79
+ boundary, which the holder owns.
80
+
81
+ Region overlap is planning information. It does not prevent parallel work and
82
+ is not a lock, ownership claim, exact diff, or dependency. Use `--after` only
83
+ when one result must exist before another can proceed because of a real logical
84
+ dependency. Do not add `--after` merely because work touches the same Region.
85
+
86
+ ## 2. Bind Syntax
87
+
88
+ Read the command's help for the complete option grammar:
89
+
90
+ ```bash
91
+ keiyaku -C <repo> bind --help
92
+ ```
93
+
94
+ Inspect declared Regions when planning parallel work:
95
+
96
+ ```bash
97
+ keiyaku -C <repo> region
98
+ keiyaku -C <repo> region <kei/...>
99
+ keiyaku -C <repo> region --path 'src/**' --path 'tests/**'
100
+ ```
101
+
102
+ These list active Regions, read one Contract's Region, or show active Regions
103
+ overlapping the supplied patterns. Overlap is coordination information only.
104
+
105
+ Bind from stdin with a heredoc or a saved Markdown file:
106
+
107
+ ~~~~bash
108
+ keiyaku -C <repo> bind - <<'KEIYAKU'
109
+ # <Delivery name>
110
+
111
+ ## Context
112
+ <Motivation, authority, baseline, and boundaries.>
113
+
114
+ ## Objective
115
+ <One observable, independently acceptable outcome.>
116
+
117
+ ## Design
118
+ ### Architecture
119
+ <Components, module boundaries, ownership, and connections.>
120
+
121
+ ### Interfaces And Behavior
122
+ <Public surfaces, inputs, outputs, success, and refusal behavior.>
123
+
124
+ ### Data And Persistence
125
+ <Data shape, identity, lifecycle facts, and persistence decisions.>
126
+
127
+ ### Approach And Flow
128
+ <Implementation approach, dependencies, ordering, concurrency, and failure.>
129
+
130
+ ### Pseudocode
131
+ <Algorithms and control flow.>
132
+
133
+ ## Region
134
+ <One repository-relative write pattern per nonblank line.>
135
+
136
+ ## Criteria
137
+ ### <observable acceptance condition>
138
+ <How to observe pass or refusal.>
139
+
140
+ ## Verification
141
+ ```bash timeout=5m
142
+ <commands runnable exactly as written>
143
+ ```
144
+ KEIYAKU
145
+ ~~~~
146
+
147
+ Use the narrowest justified Region patterns for likely writes. A trailing `/`
148
+ is directory shorthand for `/**`. Patterns may be fenced lines, list items, or
149
+ bare lines; those forms are combined. Region patterns are planning evidence,
150
+ not a prediction of the exact diff.
151
+
152
+ Verification is optional. Each declaration is a closed bash, zsh, or pwsh
153
+ fence containing commands runnable as written. Use separate fences when checks
154
+ need different timeouts or results. Use an explicit timeout for bounded
155
+ commands; `5m` is the normal baseline.
156
+
157
+ Verification runs only when the Contract selects the `verified` gate, against
158
+ the exact integration snapshot in a clean disposable worktree for that attempt.
159
+ `deliver` reuses current satisfied evidence or runs the declarations; unsatisfied
160
+ results and runtime stops prevent placement. `audit` runs declarations for a
161
+ prospective candidate. Without `verified`, no verb runs Verification and the
162
+ section is inert document text. `reviewed` independently requires review
163
+ evidence. Selected gates are checked at placement.
164
+
165
+ For an existing Debt that this delivery settles:
166
+
167
+ ```bash
168
+ keiyaku -C <repo> bind --debt <debt/...> - < CONTRACT.md
169
+ ```
170
+
171
+ For a real logical dependency between Contracts:
172
+
173
+ ```bash
174
+ keiyaku -C <repo> bind --after <kei/...> - < CONTRACT.md
175
+ ```
176
+
177
+ Gate selection is part of binding:
178
+
179
+ ```bash
180
+ keiyaku -C <repo> bind --gates <name,...> - < CONTRACT.md
181
+ keiyaku -C <repo> bind --gates "" - < CONTRACT.md
182
+ keiyaku -C <repo> bind --gates reviewed - < CONTRACT.md
183
+ ```
184
+
185
+ Omitting `--gates` uses `gates.default`, or `reviewed` when no default group
186
+ exists. `--gates ""` selects no gates. Gates are named acceptance obligations,
187
+ not work assignments. Named gate groups and worktree hooks live in Settings;
188
+ see the README Configuration section or `keiyaku settings --help`.
189
+
190
+ ## 3. After Binding
191
+
192
+ Binding appoints one managed worktree for the `kei`. Read the receipt as the
193
+ handoff. Keep the complete `kei/...` identity and note:
194
+
195
+ - the holder;
196
+ - the appointed worktree path (absent when appointment lagged);
197
+ - the target;
198
+ - gates and prerequisites;
199
+ - whether the `kei` is ready or waiting.
200
+
201
+ Work in the appointed worktree. When appointment lags, the receipt carries no
202
+ path and the `kei` shows pending reconciliation instead. If the receipt is
203
+ waiting, the stated prerequisites remain; do not bind a duplicate Contract.
204
+
205
+ The holder now owns the lifecycle:
206
+
207
+ 1. Start the work directly or delegate Debts, Arc chapters, Akumas, or Contract roles.
208
+ 2. Run independent work in parallel and let it converge on the one acceptance
209
+ boundary.
210
+ 3. Prepare and deliver the candidate.
211
+ 4. Coordinate verification, review evidence, gates, and prerequisites.
212
+ 5. Continue until the `kei` is accepted, amend terms while keeping the same
213
+ objective and acceptance boundary, or abandon it when either has changed.
214
+
215
+ Continue with `keiyaku-workflow` for this lifecycle. For Akuma invocation,
216
+ telling, waiting, permissions, and history, read `keiyaku-akuma`.
@@ -0,0 +1,4 @@
1
+ interface:
2
+ display_name: "Keiyaku Bind"
3
+ short_description: "Author and bind a delivery Contract."
4
+ default_prompt: "Use $keiyaku-bind to author and bind this delivery."
@@ -0,0 +1,91 @@
1
+ ---
2
+ name: keiyaku-debt
3
+ description: >-
4
+ Must read when recording confirmed unresolved work or dependencies in Debts.
5
+ ---
6
+
7
+ # Keiyaku Debt
8
+
9
+ A Debt records confirmed unresolved work and its relationships. Debt is an
10
+ independent product; it is not a Contract, Arc, Akuma, permission, acceptance
11
+ boundary, or fulfillment lifecycle.
12
+
13
+ ## 1. When To Use A Debt
14
+
15
+ Use a Debt when confirmed unresolved work or a dependency must outlive the
16
+ current conversation. Keep plans and execution progress in reasoning or session
17
+ notes instead.
18
+
19
+ - Use a `kei` for one independently acceptable outcome.
20
+ - Use an Arc for a chapter inside one `kei`.
21
+ - Use a Debt for confirmed unresolved work and its prerequisites.
22
+ - Do not create a Debt just to mirror a `kei`.
23
+
24
+ A Debt may exist without a Contract. Associating a Debt with a `kei` does not
25
+ transfer the Contract's holder, acceptance, or lifecycle to the Debt.
26
+
27
+ ## 2. Relationships And Parallel Work
28
+
29
+ Independent work may proceed in parallel when its dependencies allow it.
30
+ Debt records no execution-progress state.
31
+
32
+ Use the relationships for their actual meanings:
33
+
34
+ - `needs` means this Debt must wait for another Debt to become terminal.
35
+ - `parent` groups decomposition; it does not create a dependency.
36
+ - `supersedes` points to work replaced by this Debt.
37
+ - `relates` records a connection without affecting readiness.
38
+
39
+ Only `needs` orders work. Do not add it because Debts touch the same Region or
40
+ because one Debt is related to another. A terminal Debt releases its dependents.
41
+
42
+ ## 3. Debt Commands
43
+
44
+ Create and inspect Debts:
45
+
46
+ ```bash
47
+ keiyaku debt add "<title>"
48
+ keiyaku debt add "<title>" --priority 1 --needs <debt-id>
49
+ keiyaku debt show <debt-id>
50
+ keiyaku debt ls
51
+ keiyaku debt ready
52
+ keiyaku debt blocked
53
+ keiyaku debt tree <debt-id>
54
+ keiyaku debt doctor
55
+ ```
56
+
57
+ Use complete Debt IDs for targeted commands. `ls`, `ready`, and `blocked` use
58
+ the current namespace; use `--world` to inspect the complete Debt world.
59
+
60
+ Close work:
61
+
62
+ ```bash
63
+ keiyaku debt done <debt-id>...
64
+ keiyaku debt drop <debt-id>... --note "<reason>"
65
+ ```
66
+
67
+ Use `done` when the Debt is complete. Use `drop` when it is no longer owed.
68
+ Both terminal states release dependent Debts. Unresolved `needs` appear in
69
+ `blocked`; open work with all prerequisites terminal appears in `ready`.
70
+
71
+ Update a Debt without changing its lifecycle:
72
+
73
+ ```bash
74
+ keiyaku debt update <debt-id> --title "<title>"
75
+ keiyaku debt update <debt-id> --body "<body>"
76
+ keiyaku debt update <debt-id> --needs <debt-id>
77
+ ```
78
+
79
+ ## 4. After Creating A Debt
80
+
81
+ Read the returned Debt identity. Then:
82
+
83
+ 1. Add or remove relationships when the confirmed prerequisites change.
84
+ 2. Mark completed work `done`, or work no longer owed `drop` with a reason.
85
+ 3. Use `ready`, `blocked`, `tree`, or `doctor` to inspect the current ledger.
86
+
87
+ Debt records unresolved work. It does not perform the work, claim acceptance,
88
+ assign a holder, or decide what a Contract may accept.
89
+
90
+ Read `keiyaku-bind` for Contract authoring and `keiyaku-workflow` for Contract
91
+ lifecycle.
@@ -0,0 +1,129 @@
1
+ ---
2
+ name: keiyaku-workflow
3
+ description: >-
4
+ Must read before binding a `kei` (Contract) or when acting as its holder.
5
+ Use when deciding when to bind a kei, how to shape and hold it, how to
6
+ delegate its work, and how to accept, amend, or end it.
7
+ ---
8
+
9
+ # Keiyaku Workflow
10
+
11
+ The holder runs one Contract's fulfillment loop from preparation to completion.
12
+
13
+ ## 1. Prepare Before Binding
14
+
15
+ Before `bind`, settle the information that makes the `kei` truthful:
16
+
17
+ - objective and intended outcome;
18
+ - design and approach;
19
+ - affected Region;
20
+ - acceptance conditions;
21
+ - verification and required evidence;
22
+ - prerequisites;
23
+ - holder.
24
+
25
+ If the design, approach, or acceptance conditions are still open, do not bind.
26
+ Resolve them with their owner first. Private implementation details may remain
27
+ for the Deliverer; the public meaning and acceptance boundary may not.
28
+
29
+ Bind independent `kei`s in parallel. Do not split one acceptance boundary just
30
+ to create parallel work.
31
+
32
+ ## 2. Split the Work
33
+
34
+ - Separate `kei`s have independently acceptable outcomes.
35
+ - An Arc is a chapter of one `kei`; it is not separately accepted.
36
+ - A Debt records confirmed unresolved work and its dependencies.
37
+
38
+ Use `after` only when one `kei` requires another to be accepted first. Ordinary
39
+ overlap is not a dependency.
40
+
41
+ ## 3. Roles
42
+
43
+ A `kei` has three roles. They are responsibilities, not people, and one agent
44
+ may fill more than one of them, with one exception below.
45
+
46
+ - **Holder:** exactly one per `kei`. Owns the fulfillment loop and acceptance
47
+ until the Contract is accepted or abandoned. Handing work to others never
48
+ transfers this responsibility.
49
+ - **Deliverer:** produces the candidate in the appointed worktree and tenders
50
+ it with `deliver`.
51
+ - **Reviewer:** judges the complete Contract against its acceptance conditions
52
+ and records the verdict with `review`.
53
+
54
+ Review is independent when the Reviewer did not deliver the candidate under
55
+ review. That is the whole requirement. The holder may review its own `kei`; a
56
+ fresh Akuma is not what makes review independent. Keiyaku does not check who
57
+ reviews, so keeping the Reviewer apart from the Deliverer is the holder's duty.
58
+
59
+ Any role may be filled directly or handed to an Akuma. Hand one over when other
60
+ hands help the work, not to make review count.
61
+
62
+ ## 4. Lifecycle
63
+
64
+ Each act changes a different part of the world:
65
+
66
+ - **Bind:** Journal gains the Contract and its terms. Workspace appointment
67
+ names one managed worktree; the receipt reports its path. Appointment lag
68
+ leaves the bind admitted without a path and reports pending reconciliation.
69
+ `reconcile` retries workspace realization.
70
+ - **Work:** Changes and commits belong in the appointed worktree. Another
71
+ lane's claim can move the target beneath it. Check target movement before
72
+ audit; when it matters, merge the target branch (main when selected) in the
73
+ worktree and resolve conflicts there before auditing.
74
+ - **Audit:** Previews the candidate and target without tendering or claiming.
75
+ With `verified` selected, Verification runs for the captured subject and can
76
+ record an attestation. Without that gate, the section is inert text and no
77
+ verb runs Verification. A stopped run records no new verdict.
78
+ - **Deliver:** Captures a tender and integration against the observed target;
79
+ journal gains a delivered candidate. Ready prerequisites and gates trigger
80
+ placement and claim in this invocation; otherwise the candidate waits.
81
+ Changed candidate content stales earlier review. Identical content retains
82
+ review across rebase or target movement.
83
+ - **Review:** Records verdict evidence for the current document and worktree
84
+ content, even before delivery. Satisfied review requests placement: with a
85
+ delivered candidate, current gates, and ready prerequisites, it accepts in
86
+ this invocation. Unsatisfied review records testimony without placement.
87
+ - **Abandon:** Records the alternate terminal outcome without accepting. Accepted
88
+ and abandoned Contracts cannot be reopened.
89
+
90
+ Placement judges declared gates, not the producer's identity. Review does not
91
+ replace Verification; audit never requests placement. Read the final receipt
92
+ for stops and reconciliation lag after an admitted act.
93
+
94
+ ## 5. Handing A Role To An Akuma
95
+
96
+ This is the one commissioning map. `call --help` owns the exact action
97
+ vocabulary and default set. The flagship acting directly needs no grant.
98
+ Birth freezes an Akuma's actions; `--contract` records association, not
99
+ authority.
100
+
101
+ | Role | Grant at birth | Return |
102
+ | --- | --- | --- |
103
+ | Holder | The actions the delegated loop will perform; include `contract.review` when this holder will review. Commission with the `kei`, current Arc when one exists, appointed worktree, and holder duties. | Acceptance or abandonment, with receipts. |
104
+ | Deliverer | The ordinary baseline: every Debt mutation, Contract audit and delivery, and Akuma management. `keiyaku -C <repo> call worker --alias @deliverer --contract <kei/...> --workdir <appointed-path> -` | The delivery receipt. |
105
+ | Reviewer | `--allowed contract.review`: `keiyaku -C <repo> call review-akuma --alias @reviewer --contract <kei/...> --workdir <appointed-path> --allowed contract.review -` | The verdict receipt. Without the grant, `not-allowed` refuses and no verdict is recorded. |
106
+
107
+ An Archetype's explicit allowed set replaces the ordinary baseline; check
108
+ `status` for effective actions. `tell` and `fork` cannot add a grant to a live
109
+ Akuma, so call a fresh one with the grant. Nested calls cannot exceed their
110
+ direct parent's actions.
111
+
112
+ Commission with a clear objective, current Arc when one exists, appointed
113
+ worktree, and expected result. Never ask the Akuma that delivered a candidate
114
+ to review it. Use `keiyaku-akuma` for invocation and observation, and command
115
+ help for exact syntax.
116
+
117
+ ## 6. Decide What Happens Next
118
+
119
+ The holder checks candidate, verification, review, prerequisites, and gates.
120
+
121
+ - A ready delivered candidate claims automatically on delivery or satisfied
122
+ review; no separate claim command is needed.
123
+ - Missing evidence or unfinished work calls for another commission or chapter.
124
+ - Amend when the objective and acceptance boundary remain the same but terms
125
+ must change.
126
+ - Abandon and bind a new `kei` when the objective or acceptance boundary changes.
127
+
128
+ Read `keiyaku-bind` for authoring, `keiyaku-akuma` for delegation, and
129
+ `keiyaku-babysit` for supervising multiple lanes.
@@ -1,104 +0,0 @@
1
- ---
2
- name: keiyaku-task
3
- description: >-
4
- Must read when using Tasks for durable work planning, decomposition, or
5
- dependencies.
6
- ---
7
-
8
- # Keiyaku Task
9
-
10
- A Task is durable planning memory. It records work, decomposition, and
11
- relationships that must remain after the current conversation. Task is an
12
- independent product; it is not a Contract, Arc, Akuma, permission, acceptance
13
- boundary, or fulfillment lifecycle.
14
-
15
- ## 1. When To Use A Task
16
-
17
- Use a Task when the plan or dependency must outlive the current conversation.
18
- Skip it when the work is small and no durable planning memory is needed.
19
-
20
- - Use a `kei` for one independently acceptable outcome.
21
- - Use an Arc for a chapter inside one `kei`.
22
- - Use a Task for decomposition or dependency memory.
23
- - Do not create a Task just to mirror a `kei`.
24
-
25
- A Task may exist without a Contract. Associating a Task with a `kei` does not
26
- transfer the Contract's holder, acceptance, or lifecycle to the Task.
27
-
28
- ## 2. Relationships And Parallel Work
29
-
30
- Independent Tasks may start and progress in parallel when their dependencies
31
- allow it.
32
-
33
- Use the relationships for their actual meanings:
34
-
35
- - `needs` means this Task must wait for another Task to become terminal.
36
- - `parent` groups decomposition; it does not create a dependency.
37
- - `supersedes` points to work replaced by this Task.
38
- - `relates` records a connection without affecting readiness.
39
-
40
- Only `needs` orders work. Do not add it because Tasks touch the same Region or
41
- because one Task is related to another. A terminal Task releases its dependents.
42
- An `on_hold` Task is deliberately paused; it is neither ready nor blocked.
43
-
44
- ## 3. Task Commands
45
-
46
- Create and inspect Tasks:
47
-
48
- ```bash
49
- keiyaku task add "<title>"
50
- keiyaku task add "<title>" --priority 1 --needs <task-id>
51
- keiyaku task show <task-id>
52
- keiyaku task ls
53
- keiyaku task ready
54
- keiyaku task blocked
55
- keiyaku task tree <task-id>
56
- keiyaku task doctor
57
- ```
58
-
59
- Use complete Task IDs for targeted commands. `ls`, `ready`, and `blocked` use
60
- the current namespace; use `--world` to inspect the complete Task world.
61
-
62
- Change lifecycle state:
63
-
64
- ```bash
65
- keiyaku task start <task-id>...
66
- keiyaku task stop <task-id>
67
- keiyaku task hold <task-id>...
68
- keiyaku task resume <task-id>
69
- keiyaku task done <task-id>...
70
- keiyaku task drop <task-id>... --note "<reason>"
71
- ```
72
-
73
- Use `done` when the Task is complete. Use `drop` when it will not be done.
74
- Both terminal states release dependent Tasks. Use `hold` for a deliberate pause,
75
- not for an unresolved dependency; unresolved `needs` appear in `blocked`.
76
-
77
- Update a Task without changing its lifecycle:
78
-
79
- ```bash
80
- keiyaku task update <task-id> --title "<title>"
81
- keiyaku task update <task-id> --body "<body>"
82
- keiyaku task update <task-id> --needs <task-id>
83
- ```
84
-
85
- Use `task compose -` when several Tasks and their relationships should be
86
- planned or admitted together. Use `--plan` to inspect the composition without
87
- writing it.
88
-
89
- ## 4. After Creating A Task
90
-
91
- Read the returned Task identity. Then:
92
-
93
- 1. Start ready work.
94
- 2. Run independent Tasks in parallel.
95
- 3. Add or remove relationships when the plan changes.
96
- 4. Hold work that is deliberately paused.
97
- 5. Mark completed work `done`, or mark abandoned work `drop` with a reason.
98
- 6. Use `ready`, `blocked`, `tree`, or `doctor` to rebuild the current view.
99
-
100
- Task records planning memory. It does not perform the work, claim acceptance,
101
- assign a holder, or decide what a Contract may accept.
102
-
103
- Read `keiyaku-bind` for Contract authoring and `keiyaku-workflow` for Contract
104
- lifecycle.
@@ -1,104 +0,0 @@
1
- ---
2
- name: keiyaku-task
3
- description: >-
4
- Must read when using Tasks for durable work planning, decomposition, or
5
- dependencies.
6
- ---
7
-
8
- # Keiyaku Task
9
-
10
- A Task is durable planning memory. It records work, decomposition, and
11
- relationships that must remain after the current conversation. Task is an
12
- independent product; it is not a Contract, Arc, Akuma, permission, acceptance
13
- boundary, or fulfillment lifecycle.
14
-
15
- ## 1. When To Use A Task
16
-
17
- Use a Task when the plan or dependency must outlive the current conversation.
18
- Skip it when the work is small and no durable planning memory is needed.
19
-
20
- - Use a `kei` for one independently acceptable outcome.
21
- - Use an Arc for a chapter inside one `kei`.
22
- - Use a Task for decomposition or dependency memory.
23
- - Do not create a Task just to mirror a `kei`.
24
-
25
- A Task may exist without a Contract. Associating a Task with a `kei` does not
26
- transfer the Contract's holder, acceptance, or lifecycle to the Task.
27
-
28
- ## 2. Relationships And Parallel Work
29
-
30
- Independent Tasks may start and progress in parallel when their dependencies
31
- allow it.
32
-
33
- Use the relationships for their actual meanings:
34
-
35
- - `needs` means this Task must wait for another Task to become terminal.
36
- - `parent` groups decomposition; it does not create a dependency.
37
- - `supersedes` points to work replaced by this Task.
38
- - `relates` records a connection without affecting readiness.
39
-
40
- Only `needs` orders work. Do not add it because Tasks touch the same Region or
41
- because one Task is related to another. A terminal Task releases its dependents.
42
- An `on_hold` Task is deliberately paused; it is neither ready nor blocked.
43
-
44
- ## 3. Task Commands
45
-
46
- Create and inspect Tasks:
47
-
48
- ```bash
49
- keiyaku task add "<title>"
50
- keiyaku task add "<title>" --priority 1 --needs <task-id>
51
- keiyaku task show <task-id>
52
- keiyaku task ls
53
- keiyaku task ready
54
- keiyaku task blocked
55
- keiyaku task tree <task-id>
56
- keiyaku task doctor
57
- ```
58
-
59
- Use complete Task IDs for targeted commands. `ls`, `ready`, and `blocked` use
60
- the current namespace; use `--world` to inspect the complete Task world.
61
-
62
- Change lifecycle state:
63
-
64
- ```bash
65
- keiyaku task start <task-id>...
66
- keiyaku task stop <task-id>
67
- keiyaku task hold <task-id>...
68
- keiyaku task resume <task-id>
69
- keiyaku task done <task-id>...
70
- keiyaku task drop <task-id>... --note "<reason>"
71
- ```
72
-
73
- Use `done` when the Task is complete. Use `drop` when it will not be done.
74
- Both terminal states release dependent Tasks. Use `hold` for a deliberate pause,
75
- not for an unresolved dependency; unresolved `needs` appear in `blocked`.
76
-
77
- Update a Task without changing its lifecycle:
78
-
79
- ```bash
80
- keiyaku task update <task-id> --title "<title>"
81
- keiyaku task update <task-id> --body "<body>"
82
- keiyaku task update <task-id> --needs <task-id>
83
- ```
84
-
85
- Use `task compose -` when several Tasks and their relationships should be
86
- planned or admitted together. Use `--plan` to inspect the composition without
87
- writing it.
88
-
89
- ## 4. After Creating A Task
90
-
91
- Read the returned Task identity. Then:
92
-
93
- 1. Start ready work.
94
- 2. Run independent Tasks in parallel.
95
- 3. Add or remove relationships when the plan changes.
96
- 4. Hold work that is deliberately paused.
97
- 5. Mark completed work `done`, or mark abandoned work `drop` with a reason.
98
- 6. Use `ready`, `blocked`, `tree`, or `doctor` to rebuild the current view.
99
-
100
- Task records planning memory. It does not perform the work, claim acceptance,
101
- assign a holder, or decide what a Contract may accept.
102
-
103
- Read `keiyaku-bind` for Contract authoring and `keiyaku-workflow` for Contract
104
- lifecycle.