kiokuko-dsh 0.2.39 → 0.2.41

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 (540) hide show
  1. package/PERMISSIONS.md +2 -2
  2. package/README.ja.md +17 -5
  3. package/README.ko.md +17 -5
  4. package/README.md +17 -5
  5. package/README.zh-CN.md +17 -5
  6. package/dist/akinator/skill-discovery-attempt.d.ts +3 -1
  7. package/dist/akinator/skill-discovery-attempt.d.ts.map +1 -1
  8. package/dist/akinator/skill-discovery-attempt.js +12 -11
  9. package/dist/akinator/skill-discovery-attempt.js.map +1 -1
  10. package/dist/client.cjs +7 -10
  11. package/dist/client.d.ts.map +1 -1
  12. package/dist/context/continuity-view.d.ts +0 -11
  13. package/dist/context/continuity-view.d.ts.map +1 -1
  14. package/dist/context/continuity-view.js +5 -9
  15. package/dist/context/continuity-view.js.map +1 -1
  16. package/dist/deep-thinker/controller.d.ts +4 -1
  17. package/dist/deep-thinker/controller.d.ts.map +1 -1
  18. package/dist/deep-thinker/controller.js +10 -0
  19. package/dist/deep-thinker/controller.js.map +1 -1
  20. package/dist/deep-thinker/core/contracts.d.ts +11 -11
  21. package/dist/deep-thinker/memory-finalizer.d.ts +1 -1
  22. package/dist/deep-thinker/native-executor.d.ts +1 -1
  23. package/dist/deep-thinker/native-executor.d.ts.map +1 -1
  24. package/dist/deep-thinker/prompts.js +1 -1
  25. package/dist/deep-thinker/prompts.js.map +1 -1
  26. package/dist/deep-thinker/quality-prompts.js +1 -1
  27. package/dist/deep-thinker/quality-prompts.js.map +1 -1
  28. package/dist/deep-thinker/report.d.ts +1 -1
  29. package/dist/deep-thinker/store.d.ts +1 -1
  30. package/dist/dsh/agenticreplay-hooks.d.ts.map +1 -1
  31. package/dist/dsh/agenticreplay-hooks.js +13 -0
  32. package/dist/dsh/agenticreplay-hooks.js.map +1 -1
  33. package/dist/dsh/agenticreplay-recorder.d.ts +5 -0
  34. package/dist/dsh/agenticreplay-recorder.d.ts.map +1 -1
  35. package/dist/dsh/agenticreplay-recorder.js +19 -0
  36. package/dist/dsh/agenticreplay-recorder.js.map +1 -1
  37. package/dist/dsh/coding-workflow/contracts.d.ts +2 -5
  38. package/dist/dsh/coding-workflow/contracts.d.ts.map +1 -1
  39. package/dist/dsh/coding-workflow/contracts.js +1 -1
  40. package/dist/dsh/coding-workflow/contracts.js.map +1 -1
  41. package/dist/dsh/coding-workflow/host.d.ts.map +1 -1
  42. package/dist/dsh/coding-workflow/host.js +1 -4
  43. package/dist/dsh/coding-workflow/host.js.map +1 -1
  44. package/dist/dsh/coding-workflow/intent.d.ts.map +1 -1
  45. package/dist/dsh/coding-workflow/intent.js +0 -6
  46. package/dist/dsh/coding-workflow/intent.js.map +1 -1
  47. package/dist/dsh/coding-workflow/service.d.ts +4 -8
  48. package/dist/dsh/coding-workflow/service.d.ts.map +1 -1
  49. package/dist/dsh/coding-workflow/service.js +5 -57
  50. package/dist/dsh/coding-workflow/service.js.map +1 -1
  51. package/dist/dsh/completion-report.d.ts +0 -31
  52. package/dist/dsh/completion-report.d.ts.map +1 -1
  53. package/dist/dsh/completion-report.js +16 -94
  54. package/dist/dsh/completion-report.js.map +1 -1
  55. package/dist/dsh/composition.d.ts +1 -3
  56. package/dist/dsh/composition.d.ts.map +1 -1
  57. package/dist/dsh/composition.js +13 -34
  58. package/dist/dsh/composition.js.map +1 -1
  59. package/dist/dsh/config.d.ts +1 -22
  60. package/dist/dsh/config.d.ts.map +1 -1
  61. package/dist/dsh/config.js +0 -8
  62. package/dist/dsh/config.js.map +1 -1
  63. package/dist/dsh/context-injection.d.ts +1 -11
  64. package/dist/dsh/context-injection.d.ts.map +1 -1
  65. package/dist/dsh/context-injection.js +3 -24
  66. package/dist/dsh/context-injection.js.map +1 -1
  67. package/dist/dsh/continuity-adapter.d.ts +0 -5
  68. package/dist/dsh/continuity-adapter.d.ts.map +1 -1
  69. package/dist/dsh/continuity-adapter.js +1 -39
  70. package/dist/dsh/continuity-adapter.js.map +1 -1
  71. package/dist/dsh/decisions/contracts.d.ts +0 -1
  72. package/dist/dsh/decisions/contracts.d.ts.map +1 -1
  73. package/dist/dsh/decisions/contracts.js +1 -1
  74. package/dist/dsh/decisions/contracts.js.map +1 -1
  75. package/dist/dsh/decisions/diagnostics.d.ts +8 -11
  76. package/dist/dsh/decisions/diagnostics.d.ts.map +1 -1
  77. package/dist/dsh/decisions/diagnostics.js +1 -9
  78. package/dist/dsh/decisions/diagnostics.js.map +1 -1
  79. package/dist/dsh/decisions/intent-assessment.d.ts +2 -5
  80. package/dist/dsh/decisions/intent-assessment.d.ts.map +1 -1
  81. package/dist/dsh/decisions/intent-assessment.js +17 -9
  82. package/dist/dsh/decisions/intent-assessment.js.map +1 -1
  83. package/dist/dsh/efficiency.d.ts +0 -3
  84. package/dist/dsh/efficiency.d.ts.map +1 -1
  85. package/dist/dsh/efficiency.js +1 -9
  86. package/dist/dsh/efficiency.js.map +1 -1
  87. package/dist/dsh/execution-selection.d.ts +6 -7
  88. package/dist/dsh/execution-selection.d.ts.map +1 -1
  89. package/dist/dsh/execution-selection.js +10 -15
  90. package/dist/dsh/execution-selection.js.map +1 -1
  91. package/dist/dsh/execution-support.d.ts +0 -4
  92. package/dist/dsh/execution-support.d.ts.map +1 -1
  93. package/dist/dsh/execution-support.js +3 -15
  94. package/dist/dsh/execution-support.js.map +1 -1
  95. package/dist/dsh/harness/factory.d.ts +109 -0
  96. package/dist/dsh/harness/factory.d.ts.map +1 -0
  97. package/dist/dsh/harness/factory.js +566 -0
  98. package/dist/dsh/harness/factory.js.map +1 -0
  99. package/dist/dsh/harness/inbox.d.ts +22 -0
  100. package/dist/dsh/harness/inbox.d.ts.map +1 -0
  101. package/dist/dsh/harness/inbox.js +61 -0
  102. package/dist/dsh/harness/inbox.js.map +1 -0
  103. package/dist/dsh/harness/index.d.ts +19 -0
  104. package/dist/dsh/harness/index.d.ts.map +1 -0
  105. package/dist/dsh/harness/index.js +26 -0
  106. package/dist/dsh/harness/index.js.map +1 -0
  107. package/dist/dsh/harness/lifecycle.d.ts +26 -0
  108. package/dist/dsh/harness/lifecycle.d.ts.map +1 -0
  109. package/dist/dsh/harness/lifecycle.js +21 -0
  110. package/dist/dsh/harness/lifecycle.js.map +1 -0
  111. package/dist/dsh/harness/projections.d.ts +16 -0
  112. package/dist/dsh/harness/projections.d.ts.map +1 -0
  113. package/dist/dsh/harness/projections.js +34 -0
  114. package/dist/dsh/harness/projections.js.map +1 -0
  115. package/dist/dsh/head-worker-configuration.d.ts +1 -2
  116. package/dist/dsh/head-worker-configuration.d.ts.map +1 -1
  117. package/dist/dsh/head-worker-configuration.js +0 -5
  118. package/dist/dsh/head-worker-configuration.js.map +1 -1
  119. package/dist/dsh/host-adapter/admission.d.ts +1 -8
  120. package/dist/dsh/host-adapter/admission.d.ts.map +1 -1
  121. package/dist/dsh/host-adapter/admission.js +51 -260
  122. package/dist/dsh/host-adapter/admission.js.map +1 -1
  123. package/dist/dsh/host-adapter/boundaries.d.ts +1 -28
  124. package/dist/dsh/host-adapter/boundaries.d.ts.map +1 -1
  125. package/dist/dsh/host-adapter/boundaries.js +27 -328
  126. package/dist/dsh/host-adapter/boundaries.js.map +1 -1
  127. package/dist/dsh/host-adapter/context.d.ts +1 -7
  128. package/dist/dsh/host-adapter/context.d.ts.map +1 -1
  129. package/dist/dsh/host-adapter/context.js +5 -28
  130. package/dist/dsh/host-adapter/context.js.map +1 -1
  131. package/dist/dsh/host-adapter/efficiency-host.d.ts +0 -2
  132. package/dist/dsh/host-adapter/efficiency-host.d.ts.map +1 -1
  133. package/dist/dsh/host-adapter/efficiency-host.js +2 -2
  134. package/dist/dsh/host-adapter/efficiency-host.js.map +1 -1
  135. package/dist/dsh/host-adapter/lifecycle.d.ts +0 -7
  136. package/dist/dsh/host-adapter/lifecycle.d.ts.map +1 -1
  137. package/dist/dsh/host-adapter/lifecycle.js +58 -71
  138. package/dist/dsh/host-adapter/lifecycle.js.map +1 -1
  139. package/dist/dsh/host-adapter/memory-application-host.d.ts +0 -2
  140. package/dist/dsh/host-adapter/memory-application-host.d.ts.map +1 -1
  141. package/dist/dsh/host-adapter/memory-application-host.js +2 -2
  142. package/dist/dsh/host-adapter/memory-application-host.js.map +1 -1
  143. package/dist/dsh/host-adapter/routing.d.ts +1 -5
  144. package/dist/dsh/host-adapter/routing.d.ts.map +1 -1
  145. package/dist/dsh/host-adapter/routing.js +21 -73
  146. package/dist/dsh/host-adapter/routing.js.map +1 -1
  147. package/dist/dsh/host-adapter/session-observation.d.ts +1 -8
  148. package/dist/dsh/host-adapter/session-observation.d.ts.map +1 -1
  149. package/dist/dsh/host-adapter/session-observation.js +2 -55
  150. package/dist/dsh/host-adapter/session-observation.js.map +1 -1
  151. package/dist/dsh/host-adapter/tool-host.d.ts +3 -41
  152. package/dist/dsh/host-adapter/tool-host.d.ts.map +1 -1
  153. package/dist/dsh/host-adapter/tool-host.js +14 -243
  154. package/dist/dsh/host-adapter/tool-host.js.map +1 -1
  155. package/dist/dsh/host-adapter/turn-state.d.ts +0 -4
  156. package/dist/dsh/host-adapter/turn-state.d.ts.map +1 -1
  157. package/dist/dsh/host-adapter/turn-state.js +16 -93
  158. package/dist/dsh/host-adapter/turn-state.js.map +1 -1
  159. package/dist/dsh/host-adapter.d.ts +0 -11
  160. package/dist/dsh/host-adapter.d.ts.map +1 -1
  161. package/dist/dsh/host-adapter.js +17 -179
  162. package/dist/dsh/host-adapter.js.map +1 -1
  163. package/dist/dsh/index.d.ts +3 -16
  164. package/dist/dsh/index.d.ts.map +1 -1
  165. package/dist/dsh/index.js +0 -6
  166. package/dist/dsh/index.js.map +1 -1
  167. package/dist/dsh/lifecycle-memory.d.ts +3 -0
  168. package/dist/dsh/lifecycle-memory.d.ts.map +1 -1
  169. package/dist/dsh/lifecycle-memory.js +67 -45
  170. package/dist/dsh/lifecycle-memory.js.map +1 -1
  171. package/dist/dsh/lisp/candidate.d.ts +2 -2
  172. package/dist/dsh/lisp/code-intelligence-contracts.d.ts +1 -1
  173. package/dist/dsh/lisp/compiled-cache.d.ts.map +1 -1
  174. package/dist/dsh/lisp/compiled-cache.js +27 -6
  175. package/dist/dsh/lisp/compiled-cache.js.map +1 -1
  176. package/dist/dsh/lisp/host-tool-dispatch.d.ts.map +1 -1
  177. package/dist/dsh/lisp/host-tool-dispatch.js +14 -5
  178. package/dist/dsh/lisp/host-tool-dispatch.js.map +1 -1
  179. package/dist/dsh/lisp/manager.d.ts +7 -4
  180. package/dist/dsh/lisp/manager.d.ts.map +1 -1
  181. package/dist/dsh/lisp/manager.js +132 -103
  182. package/dist/dsh/lisp/manager.js.map +1 -1
  183. package/dist/dsh/lisp/sandbox.d.ts.map +1 -1
  184. package/dist/dsh/lisp/sandbox.js +1 -5
  185. package/dist/dsh/lisp/sandbox.js.map +1 -1
  186. package/dist/dsh/lisp/supervision.d.ts +33 -0
  187. package/dist/dsh/lisp/supervision.d.ts.map +1 -0
  188. package/dist/dsh/lisp/supervision.js +89 -0
  189. package/dist/dsh/lisp/supervision.js.map +1 -0
  190. package/dist/dsh/lisp/surface.d.ts +2 -2
  191. package/dist/dsh/lisp/surface.d.ts.map +1 -1
  192. package/dist/dsh/lisp/surface.js +105 -11
  193. package/dist/dsh/lisp/surface.js.map +1 -1
  194. package/dist/dsh/lisp/worker.d.ts +2 -1
  195. package/dist/dsh/lisp/worker.d.ts.map +1 -1
  196. package/dist/dsh/lisp/worker.js +7 -1
  197. package/dist/dsh/lisp/worker.js.map +1 -1
  198. package/dist/dsh/loop-guard.d.ts +0 -8
  199. package/dist/dsh/loop-guard.d.ts.map +1 -1
  200. package/dist/dsh/loop-guard.js +0 -51
  201. package/dist/dsh/loop-guard.js.map +1 -1
  202. package/dist/dsh/memory-application.d.ts.map +1 -1
  203. package/dist/dsh/memory-application.js +0 -6
  204. package/dist/dsh/memory-application.js.map +1 -1
  205. package/dist/dsh/message-sources.d.ts +2 -12
  206. package/dist/dsh/message-sources.d.ts.map +1 -1
  207. package/dist/dsh/message-sources.js +20 -39
  208. package/dist/dsh/message-sources.js.map +1 -1
  209. package/dist/dsh/model-configuration.d.ts +6 -24
  210. package/dist/dsh/model-configuration.d.ts.map +1 -1
  211. package/dist/dsh/model-configuration.js +1 -78
  212. package/dist/dsh/model-configuration.js.map +1 -1
  213. package/dist/dsh/model-routing.d.ts +1 -3
  214. package/dist/dsh/model-routing.d.ts.map +1 -1
  215. package/dist/dsh/model-routing.js +0 -11
  216. package/dist/dsh/model-routing.js.map +1 -1
  217. package/dist/dsh/model-selection-ui.d.ts +1 -2
  218. package/dist/dsh/model-selection-ui.d.ts.map +1 -1
  219. package/dist/dsh/model-selection-ui.js +48 -309
  220. package/dist/dsh/model-selection-ui.js.map +1 -1
  221. package/dist/dsh/models/contracts.d.ts +2 -2
  222. package/dist/dsh/models/service.d.ts +1 -1
  223. package/dist/dsh/modules/legacy-bindings.d.ts +3 -1
  224. package/dist/dsh/modules/legacy-bindings.d.ts.map +1 -1
  225. package/dist/dsh/modules/legacy-bindings.js +5 -5
  226. package/dist/dsh/modules/legacy-bindings.js.map +1 -1
  227. package/dist/dsh/modules/lisp.js +1 -1
  228. package/dist/dsh/modules/lisp.js.map +1 -1
  229. package/dist/dsh/native-execution-ownership.d.ts.map +1 -1
  230. package/dist/dsh/native-execution-ownership.js +0 -2
  231. package/dist/dsh/native-execution-ownership.js.map +1 -1
  232. package/dist/dsh/native-worker-routing.d.ts.map +1 -1
  233. package/dist/dsh/native-worker-routing.js +7 -2
  234. package/dist/dsh/native-worker-routing.js.map +1 -1
  235. package/dist/dsh/on-demand-intake.d.ts.map +1 -1
  236. package/dist/dsh/on-demand-intake.js +17 -8
  237. package/dist/dsh/on-demand-intake.js.map +1 -1
  238. package/dist/dsh/orchestration/execution-owner.d.ts +3 -1
  239. package/dist/dsh/orchestration/execution-owner.d.ts.map +1 -1
  240. package/dist/dsh/orchestration/execution-owner.js.map +1 -1
  241. package/dist/dsh/owned-execution.js +1 -1
  242. package/dist/dsh/owned-execution.js.map +1 -1
  243. package/dist/dsh/replay-memory-extract.d.ts.map +1 -1
  244. package/dist/dsh/replay-memory-extract.js +15 -1
  245. package/dist/dsh/replay-memory-extract.js.map +1 -1
  246. package/dist/dsh/repository-learning.d.ts.map +1 -1
  247. package/dist/dsh/repository-learning.js +3 -0
  248. package/dist/dsh/repository-learning.js.map +1 -1
  249. package/dist/dsh/runtime.d.ts +10 -2
  250. package/dist/dsh/runtime.d.ts.map +1 -1
  251. package/dist/dsh/runtime.js +22 -43
  252. package/dist/dsh/runtime.js.map +1 -1
  253. package/dist/dsh/semantic-compaction/policy.js +1 -1
  254. package/dist/dsh/semantic-compaction/policy.js.map +1 -1
  255. package/dist/dsh/session-bridge.d.ts +1 -1
  256. package/dist/dsh/session-bridge.d.ts.map +1 -1
  257. package/dist/dsh/session-bridge.js +1 -1
  258. package/dist/dsh/session-bridge.js.map +1 -1
  259. package/dist/dsh/session-memory-finalizer.js +1 -1
  260. package/dist/dsh/session-memory-finalizer.js.map +1 -1
  261. package/dist/dsh/session-review-context.d.ts.map +1 -1
  262. package/dist/dsh/session-review-context.js +3 -16
  263. package/dist/dsh/session-review-context.js.map +1 -1
  264. package/dist/dsh/setup.d.ts +1 -1
  265. package/dist/dsh/setup.d.ts.map +1 -1
  266. package/dist/dsh/skill-compiler.js +1 -1
  267. package/dist/dsh/skill-compiler.js.map +1 -1
  268. package/dist/dsh/skill-prompt-contracts.d.ts +2 -2
  269. package/dist/dsh/skill-prompt-contracts.js +1 -1
  270. package/dist/dsh/skill-prompts.json +1 -1
  271. package/dist/dsh/standard-skills.d.ts +1 -8
  272. package/dist/dsh/standard-skills.d.ts.map +1 -1
  273. package/dist/dsh/standard-skills.js +1 -8
  274. package/dist/dsh/standard-skills.js.map +1 -1
  275. package/dist/dsh/task-authority-context.d.ts +3 -0
  276. package/dist/dsh/task-authority-context.d.ts.map +1 -1
  277. package/dist/dsh/task-authority-context.js +3 -0
  278. package/dist/dsh/task-authority-context.js.map +1 -1
  279. package/dist/dsh/task-completion-guidance.d.ts +1 -5
  280. package/dist/dsh/task-completion-guidance.d.ts.map +1 -1
  281. package/dist/dsh/task-completion-guidance.js +4 -6
  282. package/dist/dsh/task-completion-guidance.js.map +1 -1
  283. package/dist/dsh/task-completion-host.js +4 -4
  284. package/dist/dsh/task-completion-host.js.map +1 -1
  285. package/dist/dsh/task-completion.d.ts +1 -13
  286. package/dist/dsh/task-completion.d.ts.map +1 -1
  287. package/dist/dsh/task-completion.js +9 -104
  288. package/dist/dsh/task-completion.js.map +1 -1
  289. package/dist/dsh/task-intake.d.ts +2 -3
  290. package/dist/dsh/task-intake.d.ts.map +1 -1
  291. package/dist/dsh/task-intake.js +90 -86
  292. package/dist/dsh/task-intake.js.map +1 -1
  293. package/dist/dsh/task-state.d.ts.map +1 -1
  294. package/dist/dsh/task-state.js +0 -8
  295. package/dist/dsh/task-state.js.map +1 -1
  296. package/dist/dsh/tool-exposure.d.ts +1 -1
  297. package/dist/dsh/tool-exposure.d.ts.map +1 -1
  298. package/dist/dsh/tool-exposure.js +0 -2
  299. package/dist/dsh/tool-exposure.js.map +1 -1
  300. package/dist/dsh/tool-policy.d.ts +5 -8
  301. package/dist/dsh/tool-policy.d.ts.map +1 -1
  302. package/dist/dsh/tool-policy.js +3 -35
  303. package/dist/dsh/tool-policy.js.map +1 -1
  304. package/dist/dsh/tools.d.ts +2 -6
  305. package/dist/dsh/tools.d.ts.map +1 -1
  306. package/dist/dsh/tools.js +7 -63
  307. package/dist/dsh/tools.js.map +1 -1
  308. package/dist/dsh/turn-process.d.ts +0 -93
  309. package/dist/dsh/turn-process.d.ts.map +1 -1
  310. package/dist/dsh/turn-process.js +1 -307
  311. package/dist/dsh/turn-process.js.map +1 -1
  312. package/dist/dsh/user-interaction.d.ts +9 -16
  313. package/dist/dsh/user-interaction.d.ts.map +1 -1
  314. package/dist/dsh/user-interaction.js +19 -158
  315. package/dist/dsh/user-interaction.js.map +1 -1
  316. package/dist/index.js +2 -19
  317. package/dist/ledger/types.d.ts +1 -1
  318. package/dist/ledger/types.d.ts.map +1 -1
  319. package/dist/ledger/types.js +0 -7
  320. package/dist/ledger/types.js.map +1 -1
  321. package/dist/locale/en.json +1 -1
  322. package/dist/locale/ja.json +1 -1
  323. package/dist/locale/ko.json +1 -1
  324. package/dist/locale/zh-CN.json +1 -1
  325. package/dist/memory/correction-contract.d.ts +4 -4
  326. package/dist/memory/lifecycle.d.ts +1 -1
  327. package/dist/memory/review/evidence.js +1 -1
  328. package/dist/memory/review/evidence.js.map +1 -1
  329. package/dist/model-tools/contracts.d.ts +0 -437
  330. package/dist/model-tools/contracts.d.ts.map +1 -1
  331. package/dist/model-tools/contracts.js +0 -13
  332. package/dist/model-tools/contracts.js.map +1 -1
  333. package/dist/model-tools/names.d.ts +1 -1
  334. package/dist/model-tools/names.d.ts.map +1 -1
  335. package/dist/model-tools/names.js +0 -7
  336. package/dist/model-tools/names.js.map +1 -1
  337. package/dist/model-tools/registry.js +1 -1
  338. package/dist/model-tools/registry.js.map +1 -1
  339. package/dist/models-client.cjs +2 -2
  340. package/dist/models-client.js +2 -2
  341. package/dist/models-client.js.map +1 -1
  342. package/docs/README.ja.md +0 -1
  343. package/docs/README.md +0 -1
  344. package/docs/agenticreplay-recording.md +1 -1
  345. package/docs/agenticreplay-verification.md +1 -1
  346. package/docs/answer-review.md +2 -2
  347. package/docs/architecture.md +4 -7
  348. package/docs/auto-memory-review.md +3 -3
  349. package/docs/coding-workflow.md +1 -1
  350. package/docs/concepts.ja.md +3 -5
  351. package/docs/concepts.md +3 -5
  352. package/docs/core-modules.md +5 -16
  353. package/docs/database.md +5 -10
  354. package/docs/decision-diagnostics.md +1 -2
  355. package/docs/deep-planning.md +3 -3
  356. package/docs/dsh-plugin.md +42 -178
  357. package/docs/execution-ledger.md +1 -2
  358. package/docs/execution-support.md +6 -7
  359. package/docs/harness-map.md +1 -1
  360. package/docs/japanese-output.md +1 -1
  361. package/docs/keyboard-shortcuts.md +1 -1
  362. package/docs/kiokuko-harness.md +71 -0
  363. package/docs/kiokuko-models.md +4 -9
  364. package/docs/lisp-hot-tools.md +12 -7
  365. package/docs/lisp.md +43 -9
  366. package/docs/memory-application.md +5 -5
  367. package/docs/memory-delivery.md +1 -1
  368. package/docs/memory-reuse.md +1 -1
  369. package/docs/model-selection.ja.md +40 -123
  370. package/docs/model-selection.md +45 -114
  371. package/docs/on-demand-intake.md +2 -2
  372. package/docs/owned-execution.md +7 -7
  373. package/docs/pr72-ci-verification.md +2 -2
  374. package/docs/pstack-adaptation.json +0 -34
  375. package/docs/pstack-skills.md +1 -1
  376. package/docs/semantic-compaction.md +2 -2
  377. package/docs/session-history-repair.md +2 -2
  378. package/docs/skill-compiler.md +2 -4
  379. package/docs/tool-exposure.md +1 -1
  380. package/docs/typed-decisions.md +1 -9
  381. package/docs/verification.md +11 -7
  382. package/dsh/cordis.legacy.patch.yml +7 -0
  383. package/dsh/cordis.patch.yml +6 -1
  384. package/lisp/supervisor.mjs +16 -7
  385. package/lisp/tools.lisp +1 -1
  386. package/migrations/051_drop_enno.sql +19 -0
  387. package/package.json +5 -14
  388. package/scripts/session-history-codec.mjs +1 -1
  389. package/skills/coding-ideal-routine-skill/SKILL.md +1 -1
  390. package/skills/kiokuko-lisp/SKILL.md +11 -5
  391. package/skills/kiokuko-single-purpose-functions/SKILL.md +1 -1
  392. package/skills/kiokuko-ui-design-soul/SKILL.md +2 -2
  393. package/skills/one-shot-software-completion/SKILL.md +4 -7
  394. package/skills/one-shot-software-completion/references/boundaries-and-lifecycle.md +3 -5
  395. package/dist/dsh/advisory-runner.d.ts +0 -32
  396. package/dist/dsh/advisory-runner.d.ts.map +0 -1
  397. package/dist/dsh/advisory-runner.js +0 -116
  398. package/dist/dsh/advisory-runner.js.map +0 -1
  399. package/dist/dsh/completion-verifiers.d.ts +0 -45
  400. package/dist/dsh/completion-verifiers.d.ts.map +0 -1
  401. package/dist/dsh/completion-verifiers.js +0 -9
  402. package/dist/dsh/completion-verifiers.js.map +0 -1
  403. package/dist/dsh/continuation.d.ts +0 -24
  404. package/dist/dsh/continuation.d.ts.map +0 -1
  405. package/dist/dsh/continuation.js +0 -215
  406. package/dist/dsh/continuation.js.map +0 -1
  407. package/dist/dsh/decisions/check-model.d.ts +0 -6
  408. package/dist/dsh/decisions/check-model.d.ts.map +0 -1
  409. package/dist/dsh/decisions/check-model.js +0 -36
  410. package/dist/dsh/decisions/check-model.js.map +0 -1
  411. package/dist/dsh/decisions/plan-review.d.ts +0 -17
  412. package/dist/dsh/decisions/plan-review.d.ts.map +0 -1
  413. package/dist/dsh/decisions/plan-review.js +0 -68
  414. package/dist/dsh/decisions/plan-review.js.map +0 -1
  415. package/dist/dsh/directive-projection.d.ts +0 -7
  416. package/dist/dsh/directive-projection.d.ts.map +0 -1
  417. package/dist/dsh/directive-projection.js +0 -32
  418. package/dist/dsh/directive-projection.js.map +0 -1
  419. package/dist/dsh/enno-controller.d.ts +0 -132
  420. package/dist/dsh/enno-controller.d.ts.map +0 -1
  421. package/dist/dsh/enno-controller.js +0 -368
  422. package/dist/dsh/enno-controller.js.map +0 -1
  423. package/dist/dsh/enno-delegation.d.ts +0 -36
  424. package/dist/dsh/enno-delegation.d.ts.map +0 -1
  425. package/dist/dsh/enno-delegation.js +0 -203
  426. package/dist/dsh/enno-delegation.js.map +0 -1
  427. package/dist/dsh/enno-memory-refresh-store.d.ts +0 -26
  428. package/dist/dsh/enno-memory-refresh-store.d.ts.map +0 -1
  429. package/dist/dsh/enno-memory-refresh-store.js +0 -45
  430. package/dist/dsh/enno-memory-refresh-store.js.map +0 -1
  431. package/dist/dsh/enno-memory-refresh.d.ts +0 -57
  432. package/dist/dsh/enno-memory-refresh.d.ts.map +0 -1
  433. package/dist/dsh/enno-memory-refresh.js +0 -280
  434. package/dist/dsh/enno-memory-refresh.js.map +0 -1
  435. package/dist/dsh/host-adapter/enno-memory-host.d.ts +0 -29
  436. package/dist/dsh/host-adapter/enno-memory-host.d.ts.map +0 -1
  437. package/dist/dsh/host-adapter/enno-memory-host.js +0 -49
  438. package/dist/dsh/host-adapter/enno-memory-host.js.map +0 -1
  439. package/dist/dsh/modules/enno.d.ts +0 -70
  440. package/dist/dsh/modules/enno.d.ts.map +0 -1
  441. package/dist/dsh/modules/enno.js +0 -22
  442. package/dist/dsh/modules/enno.js.map +0 -1
  443. package/dist/dsh/verification-identity.d.ts +0 -3
  444. package/dist/dsh/verification-identity.d.ts.map +0 -1
  445. package/dist/dsh/verification-identity.js +0 -15
  446. package/dist/dsh/verification-identity.js.map +0 -1
  447. package/dist/enno-oduno/advisory-store.d.ts +0 -31
  448. package/dist/enno-oduno/advisory-store.d.ts.map +0 -1
  449. package/dist/enno-oduno/advisory-store.js +0 -105
  450. package/dist/enno-oduno/advisory-store.js.map +0 -1
  451. package/dist/enno-oduno/advisory.d.ts +0 -18
  452. package/dist/enno-oduno/advisory.d.ts.map +0 -1
  453. package/dist/enno-oduno/advisory.js +0 -311
  454. package/dist/enno-oduno/advisory.js.map +0 -1
  455. package/dist/enno-oduno/coding-workflow.d.ts +0 -39
  456. package/dist/enno-oduno/coding-workflow.d.ts.map +0 -1
  457. package/dist/enno-oduno/coding-workflow.js +0 -33
  458. package/dist/enno-oduno/coding-workflow.js.map +0 -1
  459. package/dist/enno-oduno/confirmation.d.ts +0 -4
  460. package/dist/enno-oduno/confirmation.d.ts.map +0 -1
  461. package/dist/enno-oduno/confirmation.js +0 -146
  462. package/dist/enno-oduno/confirmation.js.map +0 -1
  463. package/dist/enno-oduno/directives.d.ts +0 -10
  464. package/dist/enno-oduno/directives.d.ts.map +0 -1
  465. package/dist/enno-oduno/directives.js +0 -294
  466. package/dist/enno-oduno/directives.js.map +0 -1
  467. package/dist/enno-oduno/experts.d.ts +0 -3
  468. package/dist/enno-oduno/experts.d.ts.map +0 -1
  469. package/dist/enno-oduno/experts.js +0 -28
  470. package/dist/enno-oduno/experts.js.map +0 -1
  471. package/dist/enno-oduno/handoff.d.ts +0 -4
  472. package/dist/enno-oduno/handoff.d.ts.map +0 -1
  473. package/dist/enno-oduno/handoff.js +0 -18
  474. package/dist/enno-oduno/handoff.js.map +0 -1
  475. package/dist/enno-oduno/language.d.ts +0 -4
  476. package/dist/enno-oduno/language.d.ts.map +0 -1
  477. package/dist/enno-oduno/language.js +0 -6
  478. package/dist/enno-oduno/language.js.map +0 -1
  479. package/dist/enno-oduno/memory-focus.d.ts +0 -32
  480. package/dist/enno-oduno/memory-focus.d.ts.map +0 -1
  481. package/dist/enno-oduno/memory-focus.js +0 -87
  482. package/dist/enno-oduno/memory-focus.js.map +0 -1
  483. package/dist/enno-oduno/memory-refresh-policy.d.ts +0 -17
  484. package/dist/enno-oduno/memory-refresh-policy.d.ts.map +0 -1
  485. package/dist/enno-oduno/memory-refresh-policy.js +0 -11
  486. package/dist/enno-oduno/memory-refresh-policy.js.map +0 -1
  487. package/dist/enno-oduno/memory-verification.d.ts +0 -7
  488. package/dist/enno-oduno/memory-verification.d.ts.map +0 -1
  489. package/dist/enno-oduno/memory-verification.js +0 -59
  490. package/dist/enno-oduno/memory-verification.js.map +0 -1
  491. package/dist/enno-oduno/plan-draft.d.ts +0 -15
  492. package/dist/enno-oduno/plan-draft.d.ts.map +0 -1
  493. package/dist/enno-oduno/plan-draft.js +0 -20
  494. package/dist/enno-oduno/plan-draft.js.map +0 -1
  495. package/dist/enno-oduno/plan-recovery.d.ts +0 -44
  496. package/dist/enno-oduno/plan-recovery.d.ts.map +0 -1
  497. package/dist/enno-oduno/plan-recovery.js +0 -160
  498. package/dist/enno-oduno/plan-recovery.js.map +0 -1
  499. package/dist/enno-oduno/repository-state.d.ts +0 -10
  500. package/dist/enno-oduno/repository-state.d.ts.map +0 -1
  501. package/dist/enno-oduno/repository-state.js +0 -146
  502. package/dist/enno-oduno/repository-state.js.map +0 -1
  503. package/dist/enno-oduno/sanitize.d.ts +0 -17
  504. package/dist/enno-oduno/sanitize.d.ts.map +0 -1
  505. package/dist/enno-oduno/sanitize.js +0 -88
  506. package/dist/enno-oduno/sanitize.js.map +0 -1
  507. package/dist/enno-oduno/schemas.d.ts +0 -968
  508. package/dist/enno-oduno/schemas.d.ts.map +0 -1
  509. package/dist/enno-oduno/schemas.js +0 -622
  510. package/dist/enno-oduno/schemas.js.map +0 -1
  511. package/dist/enno-oduno/service.d.ts +0 -62
  512. package/dist/enno-oduno/service.d.ts.map +0 -1
  513. package/dist/enno-oduno/service.js +0 -1505
  514. package/dist/enno-oduno/service.js.map +0 -1
  515. package/dist/enno-oduno/skills.d.ts +0 -22
  516. package/dist/enno-oduno/skills.d.ts.map +0 -1
  517. package/dist/enno-oduno/skills.js +0 -127
  518. package/dist/enno-oduno/skills.js.map +0 -1
  519. package/dist/enno-oduno/store.d.ts +0 -109
  520. package/dist/enno-oduno/store.d.ts.map +0 -1
  521. package/dist/enno-oduno/store.js +0 -833
  522. package/dist/enno-oduno/store.js.map +0 -1
  523. package/dist/enno-oduno/types.d.ts +0 -457
  524. package/dist/enno-oduno/types.d.ts.map +0 -1
  525. package/dist/enno-oduno/types.js +0 -66
  526. package/dist/enno-oduno/types.js.map +0 -1
  527. package/dist/enno-oduno/validation-errors.d.ts +0 -93
  528. package/dist/enno-oduno/validation-errors.d.ts.map +0 -1
  529. package/dist/enno-oduno/validation-errors.js +0 -159
  530. package/dist/enno-oduno/validation-errors.js.map +0 -1
  531. package/dist/enno-oduno/verifier.d.ts +0 -16
  532. package/dist/enno-oduno/verifier.d.ts.map +0 -1
  533. package/dist/enno-oduno/verifier.js +0 -271
  534. package/dist/enno-oduno/verifier.js.map +0 -1
  535. package/docs/enno-memory-benchmark.json +0 -761
  536. package/docs/enno-memory-evaluation.md +0 -137
  537. package/docs/enno-oduno.ja.md +0 -68
  538. package/docs/enno-oduno.md +0 -94
  539. package/skills/kiokuko-enno-oduno/SKILL.md +0 -64
  540. package/skills/kiokuko-enno-oduno/enno-oduno.png +0 -0
@@ -5,13 +5,13 @@ Kiokuko provides an out-of-tree DeepSeek Harness bundle at `kiokuko-dsh`.
5
5
  not fork DeepSeek Harness or modify a repository's files.
6
6
 
7
7
  These installation instructions use the full compatibility package. A separate
8
- `kiokuko-dsh/core` entry and local core/Enno/Lisp artifacts are available through
8
+ `kiokuko-dsh/core` entry and local core/Lisp artifacts are available through
9
9
  the [configured module build](core-modules.md). Selecting a subpath alone does
10
10
  not remove files or dependencies from an installed full package.
11
11
 
12
12
  ## Compatibility
13
13
 
14
- Compatibility depends on the native APIs exercised by the disposable-profile tests, not a package-version prefix. CI resolves official DSH master once, builds that exact revision and records it with the test evidence. Historical release records and locked fixtures remain reproducibility data, not proof of current-upstream support.
14
+ Compatibility depends on the native APIs exercised by the disposable-profile tests, not a package-version prefix. Each CI run resolves the latest official DSH master, builds that revision and records it with the test evidence. The resolved SHA forces compatibility coverage even for prose-only changes; daily GitHub runs also detect upstream-only changes. The SHA is shared within that run, never reused as a fixed baseline for later runs. Historical release records and locked fixtures remain reproducibility data, not proof of current-upstream support.
15
15
 
16
16
  On hosts exposing the batch executor API, development Lisp preserves the Agent’s selected native or PTC executor. Host-owned nested calls use DSH’s exported invocation pipeline, retaining scoped policy, cancellation settlement and host-only task authority. They are not submitted as model batches.
17
17
 
@@ -63,7 +63,7 @@ events; ordinary conversation text and native todo items are not state evidence.
63
63
 
64
64
  `toolExposure.mode` defaults to `auto`. On verified OpenAI API routes, normal
65
65
  chat/research/analysis/writing/review omit Kiokuko model tools; build/debug/devops
66
- and active Enno use phase/nextAction filtering with lean descriptions. Native
66
+ use lean descriptions. Native
67
67
  and external tools remain available. Explicit `full` preserves the surface.
68
68
  `phase` removes only verified Kiokuko tools that are unavailable in the current
69
69
  execution phase. Opt-in `lean` applies the same phase policy and removes the
@@ -439,184 +439,48 @@ depend on a consumer-side build permission.
439
439
 
440
440
  ## Runtime contract
441
441
 
442
- The Core SQLite database remains the semantic authority for Akinator, memory,
443
- Enno-Oduno, receipts, leases, and verifier evidence. DeepSeek `SessionEvent`
444
- is the canonical current-session transcript and tool-evidence boundary.
445
- Kiokuko copies events and verified attachment bytes into a separate,
446
- rebuildable cache for bounded export and post-completion finalization. Cache
447
- listeners contain their own failures; only an orchestration-requested native
448
- `sessions.flush()` remains an awaited, fail-closed durability boundary.
449
-
450
- Conversation-first intake permits text answers before execution preparation. Native `read`, `glob`, `grep`, `web_search`, and `web_fetch` demands automatically prepare the complete original request; when its action type is unresolved, `research` is advisory only. Models can read a plan or inspect files directly without a separate `prepare_requested_work` call. Missing targets, unresolved user choices, native permissions, current session ownership, and pending memory checks still govern admission. Other unclassified tools and arbitrary PTC programs retain explicit preparation requirements.
451
-
452
- The dsh integration provides:
453
-
454
- - the exact bundled `kiokuko-soul` system-prompt section and seven standard Skill
455
- providers;
456
- - named context fragments deduplicated against the retained native conversation
457
- and current message batch. Turns and phase changes append only changed
458
- fragments; the SOUL body stays in the system prompt. Compaction, session resume,
459
- and plugin reload restore missing fragments from current host state. A proposed
460
- message is not treated as delivered until the native loop retains or queues it;
461
- - the original human request and attachments remain native messages. Kiokuko's
462
- task context contains only additional intake facts, omitting exact request
463
- copies and request prefixes in those fields;
464
- - one current Akinator question at a time only when the task type remains
465
- ambiguous; the canonical workspace and exact user request ground the target
466
- and completion fields without asking the user to repeat known context, and
467
- unresolved intake blocks the model and tools;
468
- - Japanese task-type labels with concrete examples and guidance distinguishing
469
- file changes from drafting text. Kiokuko's initial Web question supports
470
- number keys 1–8 to select and Enter to confirm; digits entered in the custom
471
- field (including full-width digits) resolve in the same displayed order.
472
- Shift+Enter and IME composition do not submit. Pending drafts survive a
473
- Session switch. Every single-select question carrying one to nine options uses
474
- the same numbered card — Kiokuko's own intake, the Enno and Deep selection
475
- questions, an agent-composed choice such as a release step, and another
476
- plugin's question alike — so a shortcut is never missing from a question this
477
- composer shows. Carriers a single number key cannot address — multi-select
478
- batches, optionless prompts, several questions in one request, and catalogs
479
- larger than nine options outside the Enno and Deep flows — retain their native
480
- UI. Plan-review cards also use numbered choices: discussion first, refusal
481
- when offered, then approval. Cmd/Ctrl+1–3 selects a choice and Enter confirms;
482
- selecting a number alone never submits approval. The plan remains rendered as
483
- Markdown, and answers preserve the host's exact option labels. Discussion
484
- cancels the request through the native carrier;
485
- - an explicit `chat` intake choice (including free-form aliases such as
486
- `just chatting` and `雑談`) and the task-type question's **Skip this
487
- question** action; both skip target/success follow-ups and never create an
488
- Enno-Oduno contract, and the chat choice carries across conversational
489
- follow-ups until an explicit actionable request starts a new run;
490
- - the Kiokuko operations, with only the nine model-facing operations
491
- exposed as model tools and host identity injected after argument validation;
492
- - host-bound capability catalogs are carried into plan submission, while
493
- advisory digests remain host-owned and the current model reports only its
494
- per-slot advisory dispositions after receiving the bounded advisory evidence;
495
- - Oduno ideal directives distinguish the mandatory Skill reading list from
496
- Akinator-discovered Skill contributions, constrain the latter to the exact
497
- selected names (including an exact empty list), and return bounded corrective
498
- field diagnostics to DSH when a submission is rejected;
499
- - request-scoped Ponytail state for concurrent DSH conversations, with native
500
- commands routed to the exact invoking agent and session;
501
- - revision, route, phase, lease, idempotency, confirmation, verifier, and
502
- meditation gates through the Kiokuko core;
503
- - final verification compares the workspace at verification start, so completed
504
- implementation edits are allowed. Git and ordinary directories use the same
505
- file selection as their repository snapshots; unchanged content and ignored
506
- build output do not trigger plan approval. Actual source changes still
507
- invalidate evidence, while an unavailable mutation audit stops with a host
508
- error instead of requesting another plan or repeating completed work;
509
- - a non-terminal tool result whose next action requires host work (plan confirmation or
510
- final verification) calls DSH `concludeTurn()` only after
511
- the successful result exists. Plan submission therefore concludes its model
512
- step before DSH opens a dedicated `plan-review` interaction. Receipt,
513
- handoff, outbox, and seal commit atomically; a separate durable job then owns
514
- approval or cancellation. `agent/turn-stopping` only kicks that worker, so no model tool call remains
515
- live while the user decides and no stale confirmation directive can race the
516
- next Goki role. The card offers approve/cancel; **Chat about it** returns the
517
- normal composer, and the next human message becomes same-run revision
518
- feedback before Zenki resumes. DSH defines the card chrome from its own UI
519
- locale, while Kiokuko supplies the plan body as Markdown. Kiokuko derives an
520
- English or Japanese body language from the original task, instructs Zenki to
521
- keep every natural-language plan field in that language, and renders headings,
522
- lists, paths, commands, dependencies, checks, and limits without changing the
523
- DSH `plan-review` intent or decision labels;
524
- - a durable run-to-`turn/start` binding and an immutable terminal `turn/end`
525
- boundary. A successful Oduno meditation result deliberately does not call
526
- `concludeTurn()`: the same native turn remains open for one visible assistant
527
- response summarizing the outcome, changes, verification, and remaining
528
- uncertainty. On the resulting genuinely terminal idle boundary, the adapter
529
- awaits DSH's exact live `sessions.flush(session)` before the ledger close,
530
- including the tool result and that final assistant/turn suffix. The
531
- background finalizer reads only that inclusive range even if the session has
532
- already received later turns. If the final response is empty or its provider
533
- fails, a durable plugin-owned result appears in chat, using recorded work,
534
- verification, and remaining issues. It does not impersonate a model message
535
- or make another model request. The fallback remains visible after reload;
536
- - bounded turn continuation, exact run/session/workspace/route binding, and
537
- in-memory plaintext continuation tokens.
538
-
539
- Natural model stops before a required phase submission enter the same durable
540
- three-delivery loop guard. Boundary workers serialize per session, not across
541
- unrelated sessions. New human input aborts pending questions and supersedes old
542
- jobs; delivery rechecks ownership after native flushing. Future retry times and
543
- expired-owner recovery are scheduled from the database after restart as well
544
- as during normal operation.
545
-
546
- CI requires full native-loop coverage against the pinned published runtime,
547
- including natural stops, identical work-report retries, approval cancellation,
548
- and both empty and failed final responses. Package installation alone is not
549
- treated as proof of workflow completion.
550
-
551
- Expected validation or omission failures become bounded retry receipts. The
552
- first identical failure retries the same phase with temporary evidence; the
553
- second asks Akinator. A deterministic continuation is delivered only after a
554
- native flush. Human input supersedes a pending continuation, and plugin delivery
555
- IDs alone are deduplicated at the next pre-step.
556
-
557
- A DSH model-request failure, including a WebSocket failure, also leaves an
558
- unfinished Enno run active and does not automatically replay model or tool
559
- work. When the user continues in a later turn, the adapter revalidates the exact
560
- DSH session, contract revision, and current WorkUnit, then rotates its execution
561
- lease before reinjecting the directive. Recovery therefore remains available
562
- after the old 15-minute lease expires without allowing an older turn to report.
563
-
564
- Ordinary chat remains open while the agent is idle between conversational
565
- messages. An explicit build, debug, review, research, writing, analysis, or
566
- DevOps request closes the preceding chat run before starting its task run.
567
- An unfinished, resumable non-chat run remains bound across later user turns so
568
- a follow-up instruction does not orphan the existing plan. Completed,
569
- cancelled, and blocked runs are closed before the next independent request
570
- starts; blocked runs retain their failed ledger outcome rather than lingering
571
- as unusable active bindings. Disposing the DSH session closes its current run
572
- after queued events are durable.
573
-
574
- Short status checks such as `all fixed?` are classified as analysis rather than
575
- as a new fix request, and commit-message requests are classified as writing.
576
- If either arrives while an earlier Enno run is still at the unstarted Oduno
577
- ideal boundary, the old run is cancelled and the explicit lightweight request
578
- starts independently instead of being trapped inside that contract.
579
-
580
- After a plugin reload or process restart has cleared in-memory turn state, the
581
- adapter resumes only the single unambiguous active Enno-Oduno run already bound
582
- to the same persistent DSH session and canonical repository. The session is
583
- revalidated through the core continuation gate, persisted pending advisory evidence is restored once, and
584
- previous ordinary-memory context is not replayed implicitly. Multiple matching
585
- runs, a continuation limit, a conflicting execution lease, or a changed
586
- capability catalog still fails closed instead of selecting or advancing a run.
587
- User questions retain the exact live native Agent object; confirmation answers
588
- revalidate both that scope and the bound catalog/revision before they can mutate
589
- the core state machine.
590
-
591
- `runId` is required for dsh resume. The plugin never selects a repository-wide
592
- latest run. Ambiguous, stale, cancelled, aborted, lease-conflicting, or
593
- unavailable states stop without converting the failure into a normal success.
442
+ Kiokuko owns the input → model → tool → result → continue/finish loop through
443
+ DSH's AgentFactory/Agent API. The default bundle disables the stock AgentLoop;
444
+ model connections, native SessionEvent records and Web/CLI consumers retain
445
+ their DSH contracts. The explicit legacy-loop profile selects the stock loop
446
+ instead of the Kiokuko factory; the two loops never drive the same agent.
447
+
448
+ The native session retains the human request, attachments, model responses and
449
+ tool results. Kiokuko's SQLite database owns task identity, execution receipts
450
+ and memory. AgenticReplay records correlated execution for inspection; it does
451
+ not replace the memory store or authorize replay of effects.
452
+
453
+ Current session ownership, explicit operation permissions, cancellation and
454
+ Plan state are checked at the operation boundary. Memory retrieval, extraction
455
+ and saving are optional: their failure cannot authorize an operation, block
456
+ unrelated development or establish completion. Diagnostics distinguish work,
457
+ verification, receipt persistence and memory storage.
458
+
459
+ Owned operations keep stable request identities and durable receipts. Exact
460
+ retries return saved results; changed arguments conflict. After interruption,
461
+ unknown effects are reported without re-execution. Receipt persistence retries
462
+ and memory adoption retries reuse their existing journals and staged results.
463
+
464
+ A follow-up stays in its native session. Resume requires the exact session and
465
+ repository binding; ambiguous or stale ownership cannot be replaced with a
466
+ repository-wide latest task. Explicit task completion advances its authority;
467
+ final closing rechecks that authority so a delayed close cannot retire resumed
468
+ work. An idle model or a passing intermediate test is not task completion.
469
+
470
+ Lisp is an optional tool surface. Every Lisp worker is OS-isolated; workspace
471
+ changes and external commands use host tools and their permission checks.
472
+ The development surface coexists with ordinary tools, and its worker failure
473
+ leaves those tools available. See [owned execution](owned-execution.md) for
474
+ operation receipts, recovery and the protected compatibility mode.
594
475
 
595
476
  ## Verification
596
477
 
597
- From the Kiokuko checkout:
598
-
599
- ```bash
600
- npm run test:e2e:dsh
601
- ```
602
-
603
- This builds the package, runs the Cordis composition test with an in-memory
604
- host adapter, validates model/tool/question/ledger/turn-end boundaries, and
605
- then runs the pack/install/dump-config/Web-start/Web-stop/remove flow when a
606
- `dsh` executable is available. When `DSH_BIN` points into a local DeepSeek
607
- Harness source checkout (or `KIOKUKO_DSH_SOURCE_ROOT` is set), it also resumes a
608
- persisted pending advisory round and runs two consecutive full Enno agent-loop
609
- flows through intake, ideal, planning, dedicated review, work reporting, final
610
- verification, advisory disposition, meditation, native DSH checkpoint,
611
- terminal close, and post-completion memory finalization. The second flow
612
- dismisses review, carries revision feedback through the
613
- next human turn, resubmits, and approves before work starts. It then handles
614
- consecutive `all fixed?` and commit-message turns without creating another Enno
615
- contract. The first flow includes a long streamed response and verifies that
616
- no DSH events are copied into the Kiokuko ledger; the rebuildable mirror retains
617
- them for cursor-backed finalization/export and records cache usage. Without a dsh executable the CLI portion is reported
618
- as `unsupported`; CI sets `KIOKUKO_REQUIRE_DSH_CLI=1` so absence is a failure
619
- rather than an unverified success.
478
+ From the Kiokuko checkout, `npm run build && node scripts/run-tests.mjs tests/dsh/e2e`
479
+ builds the package, runs the Cordis composition test with an in-memory host
480
+ adapter, and validates model/tool/ledger/turn-end boundaries. The
481
+ pack/install/Web-start/Web-stop/remove flow is exercised by the pinned
482
+ end-to-end suite when a `dsh` executable is available; without one the CLI
483
+ portion is reported as `unsupported`.
620
484
 
621
485
  The terminal profile has a separate acceptance runner. Supply a built DSH CLI,
622
486
  packed UI and Kiokuko tarballs, the installed `node-pty/package.json`, and a
@@ -4,8 +4,7 @@ The ledger records one DSH run, its Akinator intake, ordered lifecycle events,
4
4
  evidence, context deliveries, and feedback. Every `ledger_runs` row carries its
5
5
  authoritative `dsh_session_id`; the schema baseline has no client-kind column.
6
6
 
7
- DSH session rebinding emits `enno.dsh_session_bound` or
8
- `enno.dsh_session_rebound` with
7
+ DSH session rebinding emits its rebind lifecycle event with
9
8
  only the previous and next DSH session IDs. The route epoch increments at the
10
9
  same mutation. A current WorkUnit lease prevents rebinding; an expired lease may
11
10
  be replaced atomically by the new session.
@@ -5,7 +5,7 @@
5
5
  上限付きの表示に置き換えます。圧縮で消えた snapshot は再提示の抑制に使いません。
6
6
  設定、限界、無効化と検証結果は [continuity.md](continuity.md) を参照してください。
7
7
 
8
- 対応するDSHは `0.2.1-alpha.2`。この機能はKiokukoの任意の補助状態として動作し、モデル呼び出しや独立した承認画面を追加しません。Ennoの必須検証、改訂番号、WorkUnitの実行権限、receipt、outbox、最終回答の境界は従来の処理が管理します。
8
+ 対応するDSHは `0.2.1-alpha.2`。この機能はKiokukoの任意の補助状態として動作し、モデル呼び出しや独立した承認画面を追加しません。改訂番号、receipt、outbox、最終回答の境界は従来の処理が管理します。
9
9
 
10
10
  ## 作業条件の指定
11
11
 
@@ -36,13 +36,13 @@
36
36
 
37
37
  `completion.mode` は `shadow` が既定です。条件別に `satisfied`、`unmet`、`unknown`、`stale` を記録しますが、従来の終了動作は変えません。`enforce` を明示した場合は、その設定で開始した新しいrunだけを対象とし、明示・承認済みの必須条件に新しい証拠がそろうまで検証待ちとして保持します。会話ターンの終了や、追加の指示・取消は妨げません。
38
38
 
39
- モデル向け `task_completion` の `status` は条件と不足理由を返し、`bind` は条件と検証方法の対応を提案します。`bind` はコマンドを実行しません。通常実行では、検証方法の承認後、リポジトリ直下で実行した正確なforegroundコマンドと対象ファイルの状態をホストが観測します。Ennoでは承認済みの最終verifierを参照しますが、そのverifierと個別条件の対応は別に承認を受けます。条件の変更、対象ファイルの変更、別runの結果は古い証拠として扱います。回答文だけで条件を達成済みとは判定しません。
39
+ モデル向け `task_completion` の `status` は条件と不足理由を返し、`bind` は条件と検証方法の対応を提案します。`bind` はコマンドを実行しません。検証方法の承認後、リポジトリ直下で実行した正確なforegroundコマンドと対象ファイルの状態をホストが観測します。条件の変更、対象ファイルの変更、別runの結果は古い証拠として扱います。回答文だけで条件を達成済みとは判定しません。
40
40
 
41
- `exit_zero` は指定コマンドの正常終了だけを表します。`selected_tests_pass` は対象を絞ったNode test/TAPの最終集計が必要です。対象テストのスキップ・未完了は未達、集計が欠ける場合は不明です。Ennoで検証後に条件との対応を承認した場合、その前の結果は使わずホストが検証し直します。旧verifierの確認範囲が不明な場合も、自動的に全テスト実行済みへ変更しません。通常実行にEnnoのWorkUnitは作りません。
41
+ `exit_zero` は指定コマンドの正常終了だけを表します。`selected_tests_pass` は対象を絞ったNode test/TAPの最終集計が必要です。対象テストのスキップ・未完了は未達、集計が欠ける場合は不明です。
42
42
 
43
43
  パス指定はリテラルです。glob式や自然文の「src以外は変更しない」を新しい機械制約へ自動変換しません。引用行、コードブロック、インデントされた例からも強制条件を作りません。添付ファイルの内容をこの抽出器へ読み込むことはありません。原文と出典のダイジェストを保持し、再提示が長くなる場合は表示だけを短縮します。強制対象のパス条件を黙って間引くことはありません。
44
44
 
45
- 同じラベルを後の人間の入力で明示し直すと、その条件を更新します。単なる「続行」では消えません。自然文の解釈候補は、Oduno/Zenkiが任意の `executionHints` として提出できます。
45
+ 同じラベルを後の人間の入力で明示し直すと、その条件を更新します。単なる「続行」では消えません。自然文から取り出した条件は候補として扱い、明示された入力と照合します。
46
46
 
47
47
  ```json
48
48
  {
@@ -58,7 +58,7 @@
58
58
 
59
59
  対応する構造化ツールは `read`、`read_image`、`glob`、`grep`、`write`、`edit`、および `str_replace_editor` の `view/create/str_replace/insert/undo_edit` です。探索ツールの省略されたパスは作業ディレクトリです。パスの祖先も解決するため、新規ファイルをシンボリックリンク経由で範囲外へ作る操作も拒否します。
60
60
 
61
- 拒否は当該ツールの通常のエラー結果です。報告・質問回答・取消・記憶保存をこのガードで拒否しません。既存のEnnoのフェーズやleaseの検証は別に適用されます。既知の条件を復元できない場合は、その条件に依存する操作を保留し、会話と復旧入力を受け付けます。
61
+ 拒否は当該ツールの通常のエラー結果です。報告・質問回答・取消・記憶保存をこのガードで拒否しません。既知の条件を復元できない場合は、その条件に依存する操作を保留し、会話と復旧入力を受け付けます。
62
62
 
63
63
  これはOSのサンドボックスではありません。任意Shell、未対応ツール、別のファイルシステムを持つ外部サービス、呼び出し後の外部変更を完全に制御する機能ではありません。検索の指定パスを検査するもので、外部サービスの検索実装全体を仲介するものでもありません。
64
64
 
@@ -69,9 +69,8 @@
69
69
  同じ検索・読み取りと同じ結果を3回観測すると、次の要求で軌道修正を一度提示します。その提示後に開始された操作が同じ結果を繰り返した場合、入力を消費しないステップ境界で一時停止します。同時実行された4件を、注意後の再反復とは判定しません。24件ごとの整理要求は助言です。
70
70
 
71
71
  - 実際の子call IDでPTCを識別し、同じイベントの再配送は計数しません。
72
- - ホスト検証、Enno提出、状態確認、記憶保存は計数しません。
72
+ - ホスト検証、状態確認、記憶保存は計数しません。
73
73
  - 再検証の実行世代が変わったら、正当な再読を新しく扱います。
74
- - カウンターや提示状態はEnnoの進展ダイジェストに入りません。
75
74
  - 停止通知をネイティブログへ保存しflushできた場合だけ停止します。失敗時は助言へ縮退します。
76
75
  - ターン封鎖や成功receiptを作って停止を偽装しません。「提出忘れ」の継続も生成しません。
77
76
  - 新しいユーザー入力で停止を解除し、条件・承認・検証結果は保持します。別sessionには波及しません。
@@ -8,7 +8,7 @@ Use this map to find the current entry point and a focused check before editing.
8
8
  | Advisory decision provenance and diagnostics | `src/dsh/decisions/diagnostics.ts`, `src/dsh/decisions/service.ts`, `src/dsh/on-demand-intake.ts`; [contract](decision-diagnostics.md) | `node scripts/run-tests.mjs tests/dsh/integration/decision-diagnostics.test.ts tests/dsh/integration/decision-diagnostics-native.test.ts tests/dsh/integration/turn-process.test.ts` |
9
9
  | Independent intent comparison and finite-domain judge | `src/dsh/decisions/intent-assessment.ts`, `src/dsh/decisions/micro-judge.ts`, `crates/micro-judge/src/main.rs`; [contract](micro-judge.md) | `KIOKUKO_REQUIRE_MICRO_JUDGE=1 node scripts/run-tests.mjs tests/dsh/integration/micro-judge.test.ts tests/dsh/integration/request-intent-clarification-native.test.ts` |
10
10
  | Task conditions and structured file scope | `src/dsh/execution-frame.ts`, `src/dsh/execution-support.ts` | `node scripts/run-tests.mjs tests/dsh/unit/execution-support.test.ts` |
11
- | Normal and Enno completion evidence | `src/dsh/task-completion.ts`, `src/enno-oduno/service.ts` | `node scripts/run-tests.mjs tests/dsh/unit/task-completion.test.ts tests/dsh/integration/final-verification` |
11
+ | Normal completion evidence | `src/dsh/task-completion.ts` | `node scripts/run-tests.mjs tests/dsh/unit/task-completion.test.ts` |
12
12
  | Durable continuation and recovery | `src/dsh/turn-process.ts`, `src/dsh/boundary-worker.ts` | `node scripts/run-tests.mjs tests/dsh/integration/boundary-worker.test.ts` |
13
13
  | Memory selection and application | `src/dsh/message-sources.ts`, `src/dsh/memory-application.ts` | `node scripts/run-tests.mjs tests/dsh/integration/memory-application.test.ts` |
14
14
  | Context projection and provenance | `src/dsh/context-projection.ts`, `src/dsh/agenticreplay-event-mapper.ts` | `node scripts/run-tests.mjs tests/dsh/unit/agenticreplay-request-manifest.test.ts tests/dsh/integration/continuity` |
@@ -3,7 +3,7 @@
3
3
  Kiokuko automatically includes the complete bundled
4
4
  [Natural Japanese Output Skill](../skills/japanese-translation-for-oss-models/SKILL.md)
5
5
  in native Agent prompts for DeepSeek, Kimi, GLM, Qwen, HY/Hunyuan, MiMo and
6
- MiniMax model families. This covers ordinary work, Enno roles and Deep workers.
6
+ MiniMax model families. This covers ordinary work and Deep workers.
7
7
  No additional configuration or Skill tool permission is needed.
8
8
 
9
9
  The exact selected **model ID** determines the match, after host routing.
@@ -1,6 +1,6 @@
1
1
  # 選択画面のキー操作
2
2
 
3
- 質問カードは、質問IDに関係なく番号で選べます。通常実行、Enno、Deep、AgenticReplay、Lisp、承認画面も同じ操作です。
3
+ 質問カードは、質問IDに関係なく番号で選べます。実行方式、Deep、AgenticReplay、Lisp、承認画面も同じ操作です。
4
4
 
5
5
  | 操作 | キー |
6
6
  | --- | --- |
@@ -0,0 +1,71 @@
1
+ # Kiokuko-owned harness
2
+
3
+ This unreleased source build replaces DSH's agent factory through a plugin. It does not modify DSH core or dsh-cli. The bundle disables `agent-loop` and installs `kiokuko-dsh/harness`; do not enable both factories in one profile.
4
+
5
+ ## Configuration
6
+
7
+ Build the package, then install the resulting local tarball into an isolated profile:
8
+
9
+ ```sh
10
+ npm ci --ignore-scripts
11
+ npm run build
12
+ npm pack --ignore-scripts
13
+ dsh plugin --profile dsh-cli add ./kiokuko-dsh-0.2.39.tgz --ignore-scripts
14
+ dsh --profile dsh-cli --dump-config
15
+ dsh-cli
16
+ ```
17
+
18
+ The profile must already supply DSH and the CLI's required peer services. DSH delegates plugin installation to pnpm; adding a tarball with npm to an existing dsh-cli dependency tree can reject the CLI's bundled `workspace:*` dependencies. Keep the host dependency graph coherent. Do not disable compatibility checks or relax permissions to repair a missing peer package.
19
+
20
+ The resolved configuration must have one enabled `kiokuko-dsh/harness` and a disabled `agent-loop`. Harness options are provider/model defaults and an explicit step budget:
21
+
22
+ ```yaml
23
+ - id: kiokuko-harness
24
+ config:
25
+ maxSteps: 128
26
+ ```
27
+
28
+ Reaching the budget records a failed turn for inspection; it does not assert task success. Set a suitable budget for longer work. Tool authority still belongs to the native tool scope and approvals.
29
+
30
+ For the previous plugin integration, pass the installed overlay **after** the bundle:
31
+
32
+ ```sh
33
+ dsh --profile dsh-cli --patch /absolute/install/path/kiokuko-dsh/dsh/cordis.legacy.patch.yml
34
+ ```
35
+
36
+ It disables the Kiokuko factory, enables the standard factory, and removes the main plugin's replacement-factory dependency. The default bundle still selects the replacement. With a supporting CLI, `dsh-cli --ignore-kiokuko` excludes Kiokuko for that launch and restores the other bundles' configuration. A profile containing only DSH and dsh-cli remains independent of Kiokuko.
37
+
38
+ ## Runtime contracts
39
+
40
+ `AgentFactory.createAgent` and `resume` publish agents only after scoped setup. The registry, session storage, model adapters, system prompt assembly, tool execution and UI remain native DSH services. Kiokuko owns the inbox, turn/step scheduling, direct intake and continuation callbacks. Public pre-step, turn-stopping and idle notifications remain available to other plugins; the standard AgentLoop is not required to drive them.
41
+
42
+ `followup` wakes the next turn; `steer` wakes the next step; `inject` queues context without waking an idle agent. Rejected intake retains its request and parks until another wake, rather than consuming it or spinning. Cancellation preserves a streamed prefix, closes the turn and leaves subsequent input usable. Resume reads the persisted session, closes interrupted turns with native recovery records and does not automatically repeat past tool effects. This does not provide exactly-once effects after an unacknowledged external operation: inspect its receipt before retrying.
43
+
44
+ Parent and child agents use the same factory and native scope inheritance. A separately scheduled turn clears the caller's ambient task lease and resolves its own authority at tool admission. A child restricted by the native tools service cannot execute a denied tool through this driver.
45
+
46
+ Lisp function definition, composition, invocation and workspace observation do not require switching to task mode or creating a Working task. Only the caller's own protected-mode worker may be reused; development workers and other owners' heaps are never borrowed. Other calls use protected scratch without a repository mount or host RPC. Arbitrary Lisp is not certified pure by a JSON schema. Shared publication, file changes and external commands retain their existing task/approval/receipt boundaries. A child with an exact live native owner inherits only Lisp capabilities its native scope already exposes, with separate results and scratch execution. There is no worker handoff layer. Real SBCL behavior remains an explicit environment-dependent acceptance check.
47
+
48
+ ## Memory and improvement
49
+
50
+ Native repository learning consumes the canonical turn observations, emits hypotheses with source references, persists the compact projection and supplies it to later requests as untrusted reference data. A terminal `completed` event means the turn ended, not that the task was independently verified. Re-check hypotheses against current files. Root discovery matches the runtime registration even when launched from a repository subdirectory.
51
+
52
+ Optional retrieval, validation or reflection failures leave ordinary permitted work usable. Diagnostics distinguish saved, not saved and unknown acknowledgement. Existing pending admissions support repository-learning recovery after reload; exact approved curated-memory candidates retain their original save identity for retry. Neither path reruns the original task. Capture refusal, exclusion, stale authority and actual operation approvals remain enforced. Curated replay-memory proposals still require the native question and approval of the exact preview revision.
53
+
54
+ The improvement loop is recorded outcome → bounded reflection → evidence-linked hypothesis → later retrieval and current-source verification. It does not rewrite production code or infer approval from logs. The live assistant acceptance has exercised generation, persisted hypothesis retrieval after process restart, and re-reading the current input before using the recalled suggestion.
55
+
56
+ ## Logs and limits
57
+
58
+ | Path | Evidence retained | Limits |
59
+ | --- | --- | --- |
60
+ | Inbox and lifecycle | Native session commands, turn/step boundaries, harness action metadata | Host/process death can leave a final boundary pending until resume |
61
+ | Model stream | Native assistant stream, committed message or interrupted attempt, error/cancel/retry metadata | Provider internals and activity outside this driver are not observable |
62
+ | Tool execution | Native call/result IDs, harness start/result/error/cancel metadata; flush before effect | A crash between effect and receipt leaves an uncertain external outcome |
63
+ | Parent/child | Native ownership, session parent identity and call/turn correlation; child capability filters are preserved | Detached external agents and real SBCL child execution remain unverified |
64
+ | AgenticReplay | Existing model/tool hooks plus bounded harness metadata when recording is enabled and the session is bound | Early unbound lifecycle records remain only in the canonical DSH session; recorder completion is not task success |
65
+ | Memory | Capture/retrieval diagnostics, source references, reflection status, saved revision | Unavailable stores cannot be described as saved; optional generation is not a permission grant |
66
+
67
+ Harness metadata contains no copied tool arguments or model bodies. AgenticReplay retains its existing redaction and metadata modes. DSH's canonical conversation persistence remains DSH's own content contract; this change does not retrofit redaction into old sessions. Do not put API keys into prompts or tool arguments.
68
+
69
+ Cloud checks exercised DSH `0.2.1-rc.5`, dsh-cli `0.14.18`, Node `24.19.0` and pnpm `11.25.0`, plus unit contracts against the repository's declared development dependencies. These identify tested artifacts, not a version-number compatibility fence. Scripted providers test wire contracts; live assistant-in-loop transport uses fresh decisions by the executing assistant and is not an authenticated external provider API session.
70
+
71
+ SBCL is required for real Lisp execution. It was absent in this cloud runtime and its configured OS package source returned HTTP 403. Manager/transport contracts and a real DSH child read/scope test passed without SBCL; these are not Lisp execution or OS isolation proof. Real SBCL tests now include resident composition, preserved parent state, child scratch, restart and reader-time write refusal, but still require execution on a supported host. Deep native planning contracts (24 cases) ran against the replacement factory with scripted adapters. External provider authentication and the actual browser UI remain unverified. No complete-compatibility claim follows from these checks.
@@ -31,7 +31,7 @@ once, preserving any preceding path prefix.
31
31
  returns nothing usable, register the exact model ID and limits manually under
32
32
  **Advanced settings → Register model manually**, then **Save connection**. Search the
33
33
  resulting list. **Use in current chat** only changes that idle chat; **Default for new
34
- chats** saves the native default for future chats. Enno, Deep and model-auto use the
34
+ chats** saves the native default for future chats. Deep and model-auto use the
35
35
  same registered adapters and model capabilities. An unavailable model is rejected
36
36
  rather than silently substituted.
37
37
 
@@ -52,13 +52,8 @@ a different normal head model also leaves pair mode for the selected scope. Sele
52
52
  the exact same provider and head model preserves the worker choice. Profile defaults are
53
53
  snapshotted per chat, so changing the default does not rewrite existing chats.
54
54
 
55
- The execution-choice card also offers the pair for just the current normal task,
56
- and Enno's model-configuration menu offers the same pair. Lisp is an execution-tool
57
- choice and uses the normal parent/worker routing. In Enno, `ideal`, `zenki`, `goki`
58
- and `check` use the head; the delegated `worker` uses Flash. A profile/chat pair
59
- seeds the initial Enno role review. An already approved Enno task keeps its explicit
60
- role configuration until the next task; selecting another Enno custom configuration
61
- continues to work.
55
+ The execution-choice card also offers the pair for just the current normal task.
56
+ Lisp is an execution-tool choice and uses the normal parent/worker routing.
62
57
 
63
58
  Selection and dispatch require the exact live catalog bindings. The head ID is
64
59
  `gpt-6.1-sol`. The worker ID is `deepseek-flash` on a DeepSeek route,
@@ -101,7 +96,7 @@ appear in list responses, normal profile settings or command history. The settin
101
96
  necessarily grants access to the shared credentials through login, replacement and logout.
102
97
  Session tool permissions do not govern these explicit human settings operations.
103
98
 
104
- OrcaRouter is no longer offered or recommended. Legacy saved Enno/Deep configurations
99
+ OrcaRouter is no longer offered or recommended. Legacy saved Deep configurations
105
100
  remain readable and require explicit model reselection before reuse. Replay history and
106
101
  migrations are unaffected.
107
102
 
@@ -23,10 +23,12 @@ ZIP の試作をそのまま別の実行環境にするのではなく、既存
23
23
 
24
24
  設定の `lisp.enabled: true` と SBCL が必要です。既存の選択画面で Lisp を選べば、
25
25
  共有関数をそのまま利用できます。選択肢の順序、番号キー・修飾キー・Enterによる操作、
26
- 通常実行/役小角の選択とは別に、Lisp の選択をタスクと scopeVersion に保存します。新しい実装タスクでは再確認し、未回答・閉じる操作では起動しません。
27
- 常駐Lispがある場合は、同じsession・agent・repoの評価枠を再利用します。
28
- PID・世代・既存定義を維持し、別SBCLの起動やmode切替はしません。評価中は `BUSY`、
29
- 別ownerの場合は `REPOSITORY_IN_USE` です。常駐workerがない作業用modeでは従来の一回限りworkerを使います。
26
+ 実行方式の選択とは別に、Lisp の選択をタスクと scopeVersion に保存します。新しい実装タスクでは再確認し、未回答・閉じる操作では起動しません。
27
+ `lisp_define`・`lisp_call`・`lisp_observe` は、Working taskや `enable-task` への切替を要求しません。
28
+ 同じsession・agentの保護済み常駐workerは再利用し、PID・世代・既存定義を維持します。
29
+ 開発用workerや別ownerのheapは借りず、リポジトリをマウントしない保護付きscratchで計算します。
30
+ JSON schemaは任意Lispの安全性を証明しません。計算側のホストRPCを拒否し、実際の副作用には従来の承認・scope・証拠を要求します。
31
+ 親のworkerを停止・譲渡する必要はありません。同じownerの評価中は `BUSY` です。
30
32
  ワーカー枠がすべて使用中の場合は `WORKER_LIMIT` で停止します。
31
33
 
32
34
  次は任意の確認コマンドです。有効化の追加操作は不要です。
@@ -113,9 +115,11 @@ PID・世代・既存定義を維持し、別SBCLの起動やmode切替はしま
113
115
  各検証は新しいpackageで行います。常駐ownerがない場合は検証ごとにworkerを起動します。
114
116
  - 入力・結果はセッションとエージェントに束縛されます。共有関数の呼び出しは
115
117
  他人の `resultRef` の参照権限や、作業ファイルの書き込み権限を与えません。
116
- - 常駐workerを再利用する呼び出しは、新しいpackage・object参照表・専用結果scratchを使い、
117
- host RPCを許可しません。同じownerのCommon Lisp heap全体を隔離する仕組みではないため、
118
- 明示的な依存関数と入力だけを使う純粋関数として記述してください。別ownerとはworkerを共有しません。
118
+ - 保護済み常駐workerを再利用する呼び出しは、新しいpackage・object参照表・専用結果scratchを使い、host RPCを許可しません。
119
+ 同じownerのheap全体を分離する仕組みではありませんが、外部への操作はOSの保護範囲に制限します。
120
+ 別owner・開発用workerとはheapを共有せず、リポジトリマウントも渡しません。
121
+ - nativeの生きた親子所有関係と同じ作業場所を確認できる子には、見えているLisp計算機能だけを準備します。
122
+ 拒否済みのツールを子のローカル登録で復活させず、親のtask leaseや入力・結果参照も渡しません。
119
123
 
120
124
  再送は同一の操作 ID と同一の引数で行います。保存結果を返し、再実行しません。
121
125
  `UNKNOWN` は成功でも安全な再試行でもありません。
@@ -135,5 +139,6 @@ npm run test:skill-delivery
135
139
  ```
136
140
 
137
141
  通常の `npm test` は保護付き SBCL / ネイティブ DSH の任意テストを省略します。
142
+ `hot-tools.test.ts` の常駐合成・親子scratch・読込時書込み拒否の実SBCL試験も、明示した必須実行で確認します。
138
143
  上記の必須実行を別途確認してください。ローカルテストの成功は、稼働中の
139
144
  DSH プロファイルの更新、別プラットフォームの実行、リモート CI の成功を意味しません。
package/docs/lisp.md CHANGED
@@ -10,7 +10,7 @@ For explicit semantic decisions and `/kioku-typesafe-key` setup, see
10
10
  [TypeSafe from Lisp](typesafe.md). Answers can guide inspection and proposals;
11
11
  the existing permission and approval boundaries still apply.
12
12
 
13
- The default is `lisp.executionMode: development`. Old `approvalMode` values remain readable. Set `executionMode: protected` explicitly to select the legacy worker/approval/fence behavior. See [owned execution and memory evidence](owned-execution.md).
13
+ The default is `lisp.executionMode: development`. Old `approvalMode` values remain readable. Set `executionMode: protected` explicitly to select the additional approval and tool-fence policy. See [owned execution and memory evidence](owned-execution.md).
14
14
 
15
15
  ## Task state at execution boundaries
16
16
 
@@ -87,9 +87,43 @@ Session disposal also stops its workers. Normal suspension appears as `SUSPENDED
87
87
  retains protection and resumes automatically on the next use; status polling never
88
88
  starts a worker. Variables, definitions and references are lost on restart; the
89
89
  agent receives the new generation and must rebuild helpers without replaying
90
- completed effects. Crashes and explicit cancellation still require human recovery.
91
-
92
- One canonical repository has one runtime owner and one persistent supervisor/SBCL,
90
+ completed effects. A clean host restart or an exited idle child resumes on the next
91
+ admitted request after confirmed process termination and journal reconciliation.
92
+ Fault replacements are limited to two per owner in 60 seconds. Explicit cancellation,
93
+ unresolved effects, unconfirmed termination and exhausted restart limits require recovery.
94
+
95
+ Kiokuko owns a local master–worker hierarchy: `LispManager` binds requests and their
96
+ existing operation journals; `LispSupervisor` owns shared capacity, compiled startup,
97
+ isolation probes and confirmed release for persistent and disposable children;
98
+ `LispWorker` owns one RPC evaluation slot and reports process failures immediately.
99
+ The external `supervisor.mjs` retains OS process ownership and stops descendants when
100
+ the host pipe closes. Local process events and bounded RPC deadlines provide liveness
101
+ signals; no network heartbeat, separate task router or recovery daemon is involved.
102
+ Restarting replaces a process generation, never a journaled operation. A worker whose
103
+ termination is uncertain continues to consume capacity.
104
+
105
+ This separates durable work from execution, as in the
106
+ [DeepSeek executor](https://github.com/deepseek-ai/dsh-superagent-prototype/blob/main/src/executor/dsh.ts),
107
+ and uses bounded, per-child recovery following
108
+ [OTP supervision](https://www.erlang.org/doc/system/sup_princ.html).
109
+ It preserves the existing Kiokuko execution loop and DSH Agent/SessionEvent contracts.
110
+
111
+ Routed child work sessions each own a persistent Lisp runtime, private heap,
112
+ scratch directory and owner-bound result journal. The router supplies the task
113
+ and receives the native child result; siblings do not inherit each other's
114
+ variables, object references or task authority. Repeated model steps reuse the
115
+ same worker generation. Completing/disposal of a child stops only its runtime.
116
+ The session worker starts before the first child model request; startup failure
117
+ prevents that request instead of silently selecting another execution route.
118
+ Existing disposable child sessions are promoted on their next admitted request,
119
+ and the saved session mode survives a host restart without replaying old code.
120
+
121
+ These workers compute in private scratch without taking a repository-wide lease.
122
+ Project reads, commands and changes still use the owning session's host adapters,
123
+ native tool restrictions, permission checks and operation journal. Shared project
124
+ files are not separate worktrees; callers must still coordinate conflicting edits.
125
+
126
+ A standalone repository runtime has one owner and one persistent supervisor/SBCL,
93
127
  including across separate DSH databases and sessions. Git subdirectories and symlink
94
128
  aliases resolve to the same repository; separate worktrees retain their own root.
95
129
  The existing supervisor holds an OS-backed SQLite lease under the current user's
@@ -125,7 +159,7 @@ rejection and model abstention defer classification. Native adapters let the
125
159
  ordinary model infer advisory intent or ask a concrete clarification; they do not
126
160
  repeat the generic category dialog merely because the classifier abstained. Classification does not authorize implementation. For an explicit coding request the agent defines the Goal, implementation items and their observable criteria, then the host asks whether to use Lisp for that task. Both yes and no persist for the task and scope across restart. Conversation, review and plan-only requests do not trigger this prompt. Closing, free text without a clear choice or a disconnected question leaves implementation pending. Cancellation preserves the prepared work. A selected Lisp startup failure remains a recoverable blocker.
127
161
 
128
- Normal/Enno execution mode and Lisp choice are separate. The task question remains available when the Lisp module is disabled; no needs no Lisp runtime, while yes requires the enabled module and working SBCL. To explicitly change the current task's Lisp route or inspect its state, use these commands in the desired DSH session:
162
+ Execution-mode selection and Lisp choice are separate. The task question remains available when the Lisp module is disabled; no needs no Lisp runtime, while yes requires the enabled module and working SBCL. To explicitly change the current task's Lisp route or inspect its state, use these commands in the desired DSH session:
129
163
 
130
164
  ```text
131
165
  /kioku-lisp enable
@@ -192,7 +226,7 @@ not the complete worker startup or the speed of an individual Lisp computation.
192
226
  copied into the worker's read-only inputs. Files from other sessions and arbitrary
193
227
  absolute paths are refused. The original attachment store stays inaccessible to
194
228
  Lisp and its subprocesses. Limits: 64 MiB per file, 256 MiB per worker generation.
195
- - Lisp/FFI/Python/shell use the normal user environment. Prefer owned tools and broker APIs for host-observed execution; direct arbitrary effects are not verification evidence.
229
+ - Lisp/FFI runs inside OS isolation without workspace access or inherited credentials. Project file changes and external Python/shell commands cross the host tool boundary, which checks operation permissions and records the result.
196
230
  - Project proposals freeze targets, preserve backups and reject duplicate targets. Writes/edits are authorized; source/data deletion requires concrete confirmation. Generated/temp/disposable artifacts are routine development.
197
231
  - Refusal, skip, timeout, cancelled confirmation or unavailable UI means no change.
198
232
  File identities/content are checked again after approval. Links, directories,
@@ -271,8 +305,8 @@ The host serializes conflicting target proposals and checks their captured hashe
271
305
 
272
306
  ## Stop and recover
273
307
 
274
- The control beside the session input shows the Lisp state and opens a recovery view on a detected
275
- failure. It offers stop/recovery without needing a model response. The commands
308
+ The control beside the session input shows the Lisp state. Selecting it opens the
309
+ recovery view; failures do not repeatedly open a modal. It offers stop/recovery without needing a model response. The commands
276
310
  remain available when the AI loop is stopped:
277
311
 
278
312
  ```text
@@ -366,7 +400,7 @@ subprocesses use the same output limit and parent-liveness supervisor as workers
366
400
  Published bundles are limited to 256 MiB each. Concurrent first enables share one
367
401
  serialized build under the host's existing exclusive data-directory lease.
368
402
 
369
- Lisp workers and processes use the normal user environment and process groups for termination. kioku.process run/start-job use the owned execution service; directory defaults to the admitted workspace and may select a real subdirectory. Collect background results rather than rerunning commands.
403
+ Lisp workers remain OS-isolated. Host processes launched through kioku.process run/start-job use the normal user environment and supervised process groups after the host permission check; directory defaults to the admitted workspace and may select a real subdirectory. Collect background results rather than rerunning commands.
370
404
  `python`, `shell`, `run-lines`, `python-stdout` and `shell-stdout` also accept
371
405
  `:directory`. The output-only helpers signal an error on process failure, so a
372
406
  composed operation stops before its next step. Use `run` when the function needs