claudecode-omc 4.8.4 → 4.9.4

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 (1648) hide show
  1. package/.claude-plugin/marketplace.json +2 -2
  2. package/.claude-plugin/plugin.json +3 -3
  3. package/README.de.md +26 -0
  4. package/README.es.md +26 -0
  5. package/README.fr.md +26 -0
  6. package/README.it.md +26 -0
  7. package/README.ja.md +26 -0
  8. package/README.ko.md +26 -0
  9. package/README.md +80 -133
  10. package/README.pt.md +26 -0
  11. package/README.ru.md +26 -0
  12. package/README.tr.md +26 -0
  13. package/README.vi.md +26 -0
  14. package/README.zh.md +26 -0
  15. package/agents/analyst.md +1 -0
  16. package/agents/architect.md +1 -0
  17. package/agents/code-reviewer.md +1 -0
  18. package/agents/code-simplifier.md +1 -0
  19. package/agents/critic.md +1 -0
  20. package/agents/debugger.md +1 -0
  21. package/agents/designer.md +1 -0
  22. package/agents/document-specialist.md +1 -0
  23. package/agents/executor.md +1 -0
  24. package/agents/explore.md +21 -19
  25. package/agents/git-master.md +1 -0
  26. package/agents/planner.md +1 -0
  27. package/agents/qa-tester.md +1 -0
  28. package/agents/scientist.md +1 -0
  29. package/agents/security-reviewer.md +1 -0
  30. package/agents/test-engineer.md +1 -0
  31. package/agents/tracer.md +161 -0
  32. package/agents/verifier.md +21 -13
  33. package/agents/writer.md +1 -0
  34. package/bridge/cli.cjs +37707 -25194
  35. package/bridge/gyoshu_bridge.py +60 -15
  36. package/bridge/mcp-server.cjs +1323 -503
  37. package/bridge/runtime-cli.cjs +1220 -328
  38. package/bridge/team-bridge.cjs +140 -112
  39. package/bridge/team-mcp.cjs +325 -107
  40. package/bridge/team.js +2572 -1462
  41. package/dist/__tests__/agent-registry.test.js +5 -3
  42. package/dist/__tests__/agent-registry.test.js.map +1 -1
  43. package/dist/__tests__/auto-slash-aliases.test.js +149 -68
  44. package/dist/__tests__/auto-slash-aliases.test.js.map +1 -1
  45. package/dist/__tests__/auto-update.test.js +502 -3
  46. package/dist/__tests__/auto-update.test.js.map +1 -1
  47. package/dist/__tests__/background-cleanup-directory.test.d.ts +2 -0
  48. package/dist/__tests__/background-cleanup-directory.test.d.ts.map +1 -0
  49. package/dist/__tests__/background-cleanup-directory.test.js +57 -0
  50. package/dist/__tests__/background-cleanup-directory.test.js.map +1 -0
  51. package/dist/__tests__/bedrock-lm-suffix-hook.test.d.ts +24 -0
  52. package/dist/__tests__/bedrock-lm-suffix-hook.test.d.ts.map +1 -0
  53. package/dist/__tests__/bedrock-lm-suffix-hook.test.js +210 -0
  54. package/dist/__tests__/bedrock-lm-suffix-hook.test.js.map +1 -0
  55. package/dist/__tests__/cleanup-validation.test.js +5 -3
  56. package/dist/__tests__/cleanup-validation.test.js.map +1 -1
  57. package/dist/__tests__/context-guard-stop.test.js +20 -0
  58. package/dist/__tests__/context-guard-stop.test.js.map +1 -1
  59. package/dist/__tests__/context-safety.test.js +51 -22
  60. package/dist/__tests__/context-safety.test.js.map +1 -1
  61. package/dist/__tests__/deep-interview-provider-options.test.d.ts +2 -0
  62. package/dist/__tests__/deep-interview-provider-options.test.d.ts.map +1 -0
  63. package/dist/__tests__/deep-interview-provider-options.test.js +79 -0
  64. package/dist/__tests__/deep-interview-provider-options.test.js.map +1 -0
  65. package/dist/__tests__/delegation-enforcement-levels.test.js +4 -0
  66. package/dist/__tests__/delegation-enforcement-levels.test.js.map +1 -1
  67. package/dist/__tests__/delegation-enforcer.test.js +12 -0
  68. package/dist/__tests__/delegation-enforcer.test.js.map +1 -1
  69. package/dist/__tests__/doctor-conflicts.test.js +111 -24
  70. package/dist/__tests__/doctor-conflicts.test.js.map +1 -1
  71. package/dist/__tests__/featured-contributors-generator.test.d.ts +2 -0
  72. package/dist/__tests__/featured-contributors-generator.test.d.ts.map +1 -0
  73. package/dist/__tests__/featured-contributors-generator.test.js +118 -0
  74. package/dist/__tests__/featured-contributors-generator.test.js.map +1 -0
  75. package/dist/__tests__/hooks/learner/bridge.test.js +27 -1
  76. package/dist/__tests__/hooks/learner/bridge.test.js.map +1 -1
  77. package/dist/__tests__/hooks/learner/transliteration-map.test.d.ts +8 -0
  78. package/dist/__tests__/hooks/learner/transliteration-map.test.d.ts.map +1 -0
  79. package/dist/__tests__/hooks/learner/transliteration-map.test.js +183 -0
  80. package/dist/__tests__/hooks/learner/transliteration-map.test.js.map +1 -0
  81. package/dist/__tests__/hooks-command-escaping.test.d.ts +2 -0
  82. package/dist/__tests__/hooks-command-escaping.test.d.ts.map +1 -0
  83. package/dist/__tests__/hooks-command-escaping.test.js +41 -0
  84. package/dist/__tests__/hooks-command-escaping.test.js.map +1 -0
  85. package/dist/__tests__/hooks.test.js +13 -9
  86. package/dist/__tests__/hooks.test.js.map +1 -1
  87. package/dist/__tests__/hud/background-tasks.test.d.ts +2 -0
  88. package/dist/__tests__/hud/background-tasks.test.d.ts.map +1 -0
  89. package/dist/__tests__/hud/background-tasks.test.js +90 -0
  90. package/dist/__tests__/hud/background-tasks.test.js.map +1 -0
  91. package/dist/__tests__/hud/context.test.d.ts +2 -0
  92. package/dist/__tests__/hud/context.test.d.ts.map +1 -0
  93. package/dist/__tests__/hud/context.test.js +47 -0
  94. package/dist/__tests__/hud/context.test.js.map +1 -0
  95. package/dist/__tests__/hud/defaults.test.js +11 -0
  96. package/dist/__tests__/hud/defaults.test.js.map +1 -1
  97. package/dist/__tests__/hud/git.test.js +2 -1
  98. package/dist/__tests__/hud/git.test.js.map +1 -1
  99. package/dist/__tests__/hud/mission-board-state.test.js +32 -0
  100. package/dist/__tests__/hud/mission-board-state.test.js.map +1 -1
  101. package/dist/__tests__/hud/mission-board.test.js +1 -0
  102. package/dist/__tests__/hud/mission-board.test.js.map +1 -1
  103. package/dist/__tests__/hud/omc-state.test.d.ts +2 -0
  104. package/dist/__tests__/hud/omc-state.test.d.ts.map +1 -0
  105. package/dist/__tests__/hud/omc-state.test.js +123 -0
  106. package/dist/__tests__/hud/omc-state.test.js.map +1 -0
  107. package/dist/__tests__/hud/render-rate-limits-priority.test.js +1 -0
  108. package/dist/__tests__/hud/render-rate-limits-priority.test.js.map +1 -1
  109. package/dist/__tests__/hud/render.test.js +125 -0
  110. package/dist/__tests__/hud/render.test.js.map +1 -1
  111. package/dist/__tests__/hud/state.test.js +104 -47
  112. package/dist/__tests__/hud/state.test.js.map +1 -1
  113. package/dist/__tests__/hud/stdin.test.d.ts +2 -0
  114. package/dist/__tests__/hud/stdin.test.d.ts.map +1 -0
  115. package/dist/__tests__/hud/stdin.test.js +108 -0
  116. package/dist/__tests__/hud/stdin.test.js.map +1 -0
  117. package/dist/__tests__/hud/token-usage.test.d.ts +2 -0
  118. package/dist/__tests__/hud/token-usage.test.d.ts.map +1 -0
  119. package/dist/__tests__/hud/token-usage.test.js +143 -0
  120. package/dist/__tests__/hud/token-usage.test.js.map +1 -0
  121. package/dist/__tests__/hud/usage-api-lock.test.js +6 -3
  122. package/dist/__tests__/hud/usage-api-lock.test.js.map +1 -1
  123. package/dist/__tests__/hud/usage-api-stale.test.js +4 -2
  124. package/dist/__tests__/hud/usage-api-stale.test.js.map +1 -1
  125. package/dist/__tests__/hud/usage-api.test.js +128 -1
  126. package/dist/__tests__/hud/usage-api.test.js.map +1 -1
  127. package/dist/__tests__/hud/version-display.test.js +1 -0
  128. package/dist/__tests__/hud/version-display.test.js.map +1 -1
  129. package/dist/__tests__/hud/watch-mode-init.test.js +25 -3
  130. package/dist/__tests__/hud/watch-mode-init.test.js.map +1 -1
  131. package/dist/__tests__/hud-marketplace-resolution.test.js +25 -0
  132. package/dist/__tests__/hud-marketplace-resolution.test.js.map +1 -1
  133. package/dist/__tests__/hud-windows.test.js +11 -0
  134. package/dist/__tests__/hud-windows.test.js.map +1 -1
  135. package/dist/__tests__/installer-mcp-config.test.d.ts +2 -0
  136. package/dist/__tests__/installer-mcp-config.test.d.ts.map +1 -0
  137. package/dist/__tests__/installer-mcp-config.test.js +119 -0
  138. package/dist/__tests__/installer-mcp-config.test.js.map +1 -0
  139. package/dist/__tests__/installer-omc-reference.test.d.ts +2 -0
  140. package/dist/__tests__/installer-omc-reference.test.d.ts.map +1 -0
  141. package/dist/__tests__/installer-omc-reference.test.js +85 -0
  142. package/dist/__tests__/installer-omc-reference.test.js.map +1 -0
  143. package/dist/__tests__/job-management-sqlite.test.js +1 -1
  144. package/dist/__tests__/job-state-db.test.js +1 -1
  145. package/dist/__tests__/jobid-collision-safety.test.d.ts +10 -0
  146. package/dist/__tests__/jobid-collision-safety.test.d.ts.map +1 -0
  147. package/dist/__tests__/jobid-collision-safety.test.js +51 -0
  148. package/dist/__tests__/jobid-collision-safety.test.js.map +1 -0
  149. package/dist/__tests__/live-data.test.js +21 -0
  150. package/dist/__tests__/live-data.test.js.map +1 -1
  151. package/dist/__tests__/load-agent-prompt.test.js +10 -0
  152. package/dist/__tests__/load-agent-prompt.test.js.map +1 -1
  153. package/dist/__tests__/lsp-servers.test.js +14 -2
  154. package/dist/__tests__/lsp-servers.test.js.map +1 -1
  155. package/dist/__tests__/marketplace-metadata.test.d.ts +2 -0
  156. package/dist/__tests__/marketplace-metadata.test.d.ts.map +1 -0
  157. package/dist/__tests__/marketplace-metadata.test.js +20 -0
  158. package/dist/__tests__/marketplace-metadata.test.js.map +1 -0
  159. package/dist/__tests__/mcp-comm-inbox-dedup.test.d.ts +2 -0
  160. package/dist/__tests__/mcp-comm-inbox-dedup.test.d.ts.map +1 -0
  161. package/dist/__tests__/mcp-comm-inbox-dedup.test.js +105 -0
  162. package/dist/__tests__/mcp-comm-inbox-dedup.test.js.map +1 -0
  163. package/dist/__tests__/mnemosyne/finder.test.js +10 -0
  164. package/dist/__tests__/mnemosyne/finder.test.js.map +1 -1
  165. package/dist/__tests__/mode-names-ralplan.test.d.ts +2 -0
  166. package/dist/__tests__/mode-names-ralplan.test.d.ts.map +1 -0
  167. package/dist/__tests__/mode-names-ralplan.test.js +31 -0
  168. package/dist/__tests__/mode-names-ralplan.test.js.map +1 -0
  169. package/dist/__tests__/model-routing-esm.test.d.ts +2 -0
  170. package/dist/__tests__/model-routing-esm.test.d.ts.map +1 -0
  171. package/dist/__tests__/model-routing-esm.test.js +26 -0
  172. package/dist/__tests__/model-routing-esm.test.js.map +1 -0
  173. package/dist/__tests__/notepad.test.js +20 -0
  174. package/dist/__tests__/notepad.test.js.map +1 -1
  175. package/dist/__tests__/omc-cli-rendering.test.d.ts +2 -0
  176. package/dist/__tests__/omc-cli-rendering.test.d.ts.map +1 -0
  177. package/dist/__tests__/omc-cli-rendering.test.js +33 -0
  178. package/dist/__tests__/omc-cli-rendering.test.js.map +1 -0
  179. package/dist/__tests__/omc-tools-server.test.js +5 -5
  180. package/dist/__tests__/outbox-reader-partial-lines.test.d.ts +2 -0
  181. package/dist/__tests__/outbox-reader-partial-lines.test.d.ts.map +1 -0
  182. package/dist/__tests__/outbox-reader-partial-lines.test.js +49 -0
  183. package/dist/__tests__/outbox-reader-partial-lines.test.js.map +1 -0
  184. package/dist/__tests__/package-dir-resolution-regression.test.js +30 -0
  185. package/dist/__tests__/package-dir-resolution-regression.test.js.map +1 -1
  186. package/dist/__tests__/pipeline-signal-regex-escape.test.d.ts +2 -0
  187. package/dist/__tests__/pipeline-signal-regex-escape.test.d.ts.map +1 -0
  188. package/dist/__tests__/pipeline-signal-regex-escape.test.js +32 -0
  189. package/dist/__tests__/pipeline-signal-regex-escape.test.js.map +1 -0
  190. package/dist/__tests__/plugin-setup-devpaths.test.d.ts +2 -0
  191. package/dist/__tests__/plugin-setup-devpaths.test.d.ts.map +1 -0
  192. package/dist/__tests__/plugin-setup-devpaths.test.js +47 -0
  193. package/dist/__tests__/plugin-setup-devpaths.test.js.map +1 -0
  194. package/dist/__tests__/pre-compact-cwd.test.js +1 -1
  195. package/dist/__tests__/pre-tool-enforcer.test.js +101 -2
  196. package/dist/__tests__/pre-tool-enforcer.test.js.map +1 -1
  197. package/dist/__tests__/project-memory-merge.test.js +17 -0
  198. package/dist/__tests__/project-memory-merge.test.js.map +1 -1
  199. package/dist/__tests__/providers/bitbucket.test.js +70 -56
  200. package/dist/__tests__/providers/bitbucket.test.js.map +1 -1
  201. package/dist/__tests__/providers/gitea.test.js +36 -0
  202. package/dist/__tests__/providers/gitea.test.js.map +1 -1
  203. package/dist/__tests__/purge-stale-cache.test.js +17 -2
  204. package/dist/__tests__/purge-stale-cache.test.js.map +1 -1
  205. package/dist/__tests__/rate-limit-wait/daemon-bootstrap.test.js +7 -3
  206. package/dist/__tests__/rate-limit-wait/daemon-bootstrap.test.js.map +1 -1
  207. package/dist/__tests__/rate-limit-wait/integration.test.js +9 -5
  208. package/dist/__tests__/rate-limit-wait/integration.test.js.map +1 -1
  209. package/dist/__tests__/rate-limit-wait/tmux-detector.test.js +11 -11
  210. package/dist/__tests__/rate-limit-wait/tmux-detector.test.js.map +1 -1
  211. package/dist/__tests__/repo-slug-dots.test.d.ts +2 -0
  212. package/dist/__tests__/repo-slug-dots.test.d.ts.map +1 -0
  213. package/dist/__tests__/repo-slug-dots.test.js +24 -0
  214. package/dist/__tests__/repo-slug-dots.test.js.map +1 -0
  215. package/dist/__tests__/routing-force-inherit.test.js +31 -0
  216. package/dist/__tests__/routing-force-inherit.test.js.map +1 -1
  217. package/dist/__tests__/runtime-task-orphan.test.d.ts +2 -0
  218. package/dist/__tests__/runtime-task-orphan.test.d.ts.map +1 -0
  219. package/dist/__tests__/runtime-task-orphan.test.js +103 -0
  220. package/dist/__tests__/runtime-task-orphan.test.js.map +1 -0
  221. package/dist/__tests__/session-start-script-context.test.js +85 -0
  222. package/dist/__tests__/session-start-script-context.test.js.map +1 -1
  223. package/dist/__tests__/session-start-timeout-cleanup.test.d.ts +2 -0
  224. package/dist/__tests__/session-start-timeout-cleanup.test.d.ts.map +1 -0
  225. package/dist/__tests__/session-start-timeout-cleanup.test.js +26 -0
  226. package/dist/__tests__/session-start-timeout-cleanup.test.js.map +1 -0
  227. package/dist/__tests__/session-summary-pid-tracking.test.d.ts +2 -0
  228. package/dist/__tests__/session-summary-pid-tracking.test.d.ts.map +1 -0
  229. package/dist/__tests__/session-summary-pid-tracking.test.js +107 -0
  230. package/dist/__tests__/session-summary-pid-tracking.test.js.map +1 -0
  231. package/dist/__tests__/setup-claude-md-script.test.d.ts +2 -0
  232. package/dist/__tests__/setup-claude-md-script.test.d.ts.map +1 -0
  233. package/dist/__tests__/setup-claude-md-script.test.js +292 -0
  234. package/dist/__tests__/setup-claude-md-script.test.js.map +1 -0
  235. package/dist/__tests__/shared-state-locking.test.d.ts +10 -0
  236. package/dist/__tests__/shared-state-locking.test.d.ts.map +1 -0
  237. package/dist/__tests__/shared-state-locking.test.js +61 -0
  238. package/dist/__tests__/shared-state-locking.test.js.map +1 -0
  239. package/dist/__tests__/skills.test.js +135 -17
  240. package/dist/__tests__/skills.test.js.map +1 -1
  241. package/dist/__tests__/slack-fallback-removal.test.d.ts +2 -0
  242. package/dist/__tests__/slack-fallback-removal.test.d.ts.map +1 -0
  243. package/dist/__tests__/slack-fallback-removal.test.js +16 -0
  244. package/dist/__tests__/slack-fallback-removal.test.js.map +1 -0
  245. package/dist/__tests__/ssrf-guard.test.js +12 -0
  246. package/dist/__tests__/ssrf-guard.test.js.map +1 -1
  247. package/dist/__tests__/team-ops-task-locking.test.d.ts +2 -0
  248. package/dist/__tests__/team-ops-task-locking.test.d.ts.map +1 -0
  249. package/dist/__tests__/team-ops-task-locking.test.js +66 -0
  250. package/dist/__tests__/team-ops-task-locking.test.js.map +1 -0
  251. package/dist/__tests__/team-server-validation.test.js +6 -5
  252. package/dist/__tests__/team-server-validation.test.js.map +1 -1
  253. package/dist/__tests__/team-status-failed-count.test.d.ts +2 -0
  254. package/dist/__tests__/team-status-failed-count.test.d.ts.map +1 -0
  255. package/dist/__tests__/team-status-failed-count.test.js +91 -0
  256. package/dist/__tests__/team-status-failed-count.test.js.map +1 -0
  257. package/dist/__tests__/team-status-tmux-provider.test.d.ts +2 -0
  258. package/dist/__tests__/team-status-tmux-provider.test.d.ts.map +1 -0
  259. package/dist/__tests__/team-status-tmux-provider.test.js +39 -0
  260. package/dist/__tests__/team-status-tmux-provider.test.js.map +1 -0
  261. package/dist/__tests__/tier0-docs-consistency.test.js +42 -0
  262. package/dist/__tests__/tier0-docs-consistency.test.js.map +1 -1
  263. package/dist/__tests__/tools/ast-tools.test.d.ts +2 -0
  264. package/dist/__tests__/tools/ast-tools.test.d.ts.map +1 -0
  265. package/dist/__tests__/tools/ast-tools.test.js +74 -0
  266. package/dist/__tests__/tools/ast-tools.test.js.map +1 -0
  267. package/dist/__tests__/visual-verdict-skill.test.d.ts +2 -0
  268. package/dist/__tests__/visual-verdict-skill.test.d.ts.map +1 -0
  269. package/dist/__tests__/visual-verdict-skill.test.js +26 -0
  270. package/dist/__tests__/visual-verdict-skill.test.js.map +1 -0
  271. package/dist/__tests__/webhook-timeout-cleanup.test.d.ts +2 -0
  272. package/dist/__tests__/webhook-timeout-cleanup.test.d.ts.map +1 -0
  273. package/dist/__tests__/webhook-timeout-cleanup.test.js +18 -0
  274. package/dist/__tests__/webhook-timeout-cleanup.test.js.map +1 -0
  275. package/dist/__tests__/worktree-metadata-locking.test.d.ts +2 -0
  276. package/dist/__tests__/worktree-metadata-locking.test.d.ts.map +1 -0
  277. package/dist/__tests__/worktree-metadata-locking.test.js +51 -0
  278. package/dist/__tests__/worktree-metadata-locking.test.js.map +1 -0
  279. package/dist/agents/definitions.d.ts +2 -1
  280. package/dist/agents/definitions.d.ts.map +1 -1
  281. package/dist/agents/definitions.js +6 -1
  282. package/dist/agents/definitions.js.map +1 -1
  283. package/dist/agents/index.d.ts +1 -0
  284. package/dist/agents/index.d.ts.map +1 -1
  285. package/dist/agents/index.js +1 -0
  286. package/dist/agents/index.js.map +1 -1
  287. package/dist/agents/tracer.d.ts +11 -0
  288. package/dist/agents/tracer.d.ts.map +1 -0
  289. package/dist/agents/tracer.js +40 -0
  290. package/dist/agents/tracer.js.map +1 -0
  291. package/dist/agents/utils.d.ts.map +1 -1
  292. package/dist/agents/utils.js +2 -0
  293. package/dist/agents/utils.js.map +1 -1
  294. package/dist/autoresearch/__tests__/contracts.test.d.ts +2 -0
  295. package/dist/autoresearch/__tests__/contracts.test.d.ts.map +1 -0
  296. package/dist/autoresearch/__tests__/contracts.test.js +90 -0
  297. package/dist/autoresearch/__tests__/contracts.test.js.map +1 -0
  298. package/dist/autoresearch/__tests__/runtime-parity-extra.test.d.ts +2 -0
  299. package/dist/autoresearch/__tests__/runtime-parity-extra.test.d.ts.map +1 -0
  300. package/dist/autoresearch/__tests__/runtime-parity-extra.test.js +352 -0
  301. package/dist/autoresearch/__tests__/runtime-parity-extra.test.js.map +1 -0
  302. package/dist/autoresearch/__tests__/runtime.test.d.ts +2 -0
  303. package/dist/autoresearch/__tests__/runtime.test.d.ts.map +1 -0
  304. package/dist/autoresearch/__tests__/runtime.test.js +210 -0
  305. package/dist/autoresearch/__tests__/runtime.test.js.map +1 -0
  306. package/dist/autoresearch/__tests__/setup-contract.test.d.ts +2 -0
  307. package/dist/autoresearch/__tests__/setup-contract.test.d.ts.map +1 -0
  308. package/dist/autoresearch/__tests__/setup-contract.test.js +57 -0
  309. package/dist/autoresearch/__tests__/setup-contract.test.js.map +1 -0
  310. package/dist/autoresearch/contracts.d.ts +31 -0
  311. package/dist/autoresearch/contracts.d.ts.map +1 -0
  312. package/dist/autoresearch/contracts.js +189 -0
  313. package/dist/autoresearch/contracts.js.map +1 -0
  314. package/dist/autoresearch/runtime.d.ts +137 -0
  315. package/dist/autoresearch/runtime.d.ts.map +1 -0
  316. package/dist/autoresearch/runtime.js +1103 -0
  317. package/dist/autoresearch/runtime.js.map +1 -0
  318. package/dist/autoresearch/setup-contract.d.ts +18 -0
  319. package/dist/autoresearch/setup-contract.d.ts.map +1 -0
  320. package/dist/autoresearch/setup-contract.js +96 -0
  321. package/dist/autoresearch/setup-contract.js.map +1 -0
  322. package/dist/cli/__tests__/ask.test.js +32 -130
  323. package/dist/cli/__tests__/ask.test.js.map +1 -1
  324. package/dist/cli/__tests__/autoresearch-guided.test.d.ts +2 -0
  325. package/dist/cli/__tests__/autoresearch-guided.test.d.ts.map +1 -0
  326. package/dist/cli/__tests__/autoresearch-guided.test.js +389 -0
  327. package/dist/cli/__tests__/autoresearch-guided.test.js.map +1 -0
  328. package/dist/cli/__tests__/autoresearch-intake.test.d.ts +2 -0
  329. package/dist/cli/__tests__/autoresearch-intake.test.d.ts.map +1 -0
  330. package/dist/cli/__tests__/autoresearch-intake.test.js +131 -0
  331. package/dist/cli/__tests__/autoresearch-intake.test.js.map +1 -0
  332. package/dist/cli/__tests__/autoresearch-setup-session.test.d.ts +2 -0
  333. package/dist/cli/__tests__/autoresearch-setup-session.test.d.ts.map +1 -0
  334. package/dist/cli/__tests__/autoresearch-setup-session.test.js +73 -0
  335. package/dist/cli/__tests__/autoresearch-setup-session.test.js.map +1 -0
  336. package/dist/cli/__tests__/autoresearch.test.d.ts +2 -0
  337. package/dist/cli/__tests__/autoresearch.test.d.ts.map +1 -0
  338. package/dist/cli/__tests__/autoresearch.test.js +148 -0
  339. package/dist/cli/__tests__/autoresearch.test.js.map +1 -0
  340. package/dist/cli/__tests__/hud-watch.test.d.ts +2 -0
  341. package/dist/cli/__tests__/hud-watch.test.d.ts.map +1 -0
  342. package/dist/cli/__tests__/hud-watch.test.js +56 -0
  343. package/dist/cli/__tests__/hud-watch.test.js.map +1 -0
  344. package/dist/cli/__tests__/launch.test.js +82 -5
  345. package/dist/cli/__tests__/launch.test.js.map +1 -1
  346. package/dist/cli/__tests__/team.test.js +44 -2
  347. package/dist/cli/__tests__/team.test.js.map +1 -1
  348. package/dist/cli/__tests__/tmux-utils.test.js +41 -1
  349. package/dist/cli/__tests__/tmux-utils.test.js.map +1 -1
  350. package/dist/cli/autoresearch-guided.d.ts +37 -0
  351. package/dist/cli/autoresearch-guided.d.ts.map +1 -0
  352. package/dist/cli/autoresearch-guided.js +312 -0
  353. package/dist/cli/autoresearch-guided.js.map +1 -0
  354. package/dist/cli/autoresearch-intake.d.ts +60 -0
  355. package/dist/cli/autoresearch-intake.d.ts.map +1 -0
  356. package/dist/cli/autoresearch-intake.js +325 -0
  357. package/dist/cli/autoresearch-intake.js.map +1 -0
  358. package/dist/cli/autoresearch-setup-session.d.ts +15 -0
  359. package/dist/cli/autoresearch-setup-session.d.ts.map +1 -0
  360. package/dist/cli/autoresearch-setup-session.js +133 -0
  361. package/dist/cli/autoresearch-setup-session.js.map +1 -0
  362. package/dist/cli/autoresearch.d.ts +19 -0
  363. package/dist/cli/autoresearch.d.ts.map +1 -0
  364. package/dist/cli/autoresearch.js +330 -0
  365. package/dist/cli/autoresearch.js.map +1 -0
  366. package/dist/cli/commands/__tests__/team.test.js +88 -1
  367. package/dist/cli/commands/__tests__/team.test.js.map +1 -1
  368. package/dist/cli/commands/doctor-conflicts.d.ts +2 -0
  369. package/dist/cli/commands/doctor-conflicts.d.ts.map +1 -1
  370. package/dist/cli/commands/doctor-conflicts.js +44 -1
  371. package/dist/cli/commands/doctor-conflicts.js.map +1 -1
  372. package/dist/cli/commands/ralphthon.d.ts +30 -0
  373. package/dist/cli/commands/ralphthon.d.ts.map +1 -0
  374. package/dist/cli/commands/ralphthon.js +361 -0
  375. package/dist/cli/commands/ralphthon.js.map +1 -0
  376. package/dist/cli/commands/team.d.ts +39 -0
  377. package/dist/cli/commands/team.d.ts.map +1 -1
  378. package/dist/cli/commands/team.js +178 -19
  379. package/dist/cli/commands/team.js.map +1 -1
  380. package/dist/cli/commands/teleport.js +5 -5
  381. package/dist/cli/commands/teleport.js.map +1 -1
  382. package/dist/cli/hud-watch.d.ts +15 -0
  383. package/dist/cli/hud-watch.d.ts.map +1 -0
  384. package/dist/cli/hud-watch.js +37 -0
  385. package/dist/cli/hud-watch.js.map +1 -0
  386. package/dist/cli/index.d.ts +0 -1
  387. package/dist/cli/index.d.ts.map +1 -1
  388. package/dist/cli/index.js +39 -180
  389. package/dist/cli/index.js.map +1 -1
  390. package/dist/cli/launch.d.ts +9 -1
  391. package/dist/cli/launch.d.ts.map +1 -1
  392. package/dist/cli/launch.js +25 -4
  393. package/dist/cli/launch.js.map +1 -1
  394. package/dist/cli/team.d.ts +1 -0
  395. package/dist/cli/team.d.ts.map +1 -1
  396. package/dist/cli/team.js +42 -54
  397. package/dist/cli/team.js.map +1 -1
  398. package/dist/cli/tmux-utils.d.ts +3 -2
  399. package/dist/cli/tmux-utils.d.ts.map +1 -1
  400. package/dist/cli/tmux-utils.js +16 -3
  401. package/dist/cli/tmux-utils.js.map +1 -1
  402. package/dist/config/__tests__/loader.test.js +121 -67
  403. package/dist/config/__tests__/loader.test.js.map +1 -1
  404. package/dist/config/__tests__/models.test.js +114 -1
  405. package/dist/config/__tests__/models.test.js.map +1 -1
  406. package/dist/config/__tests__/plan-output.test.d.ts +2 -0
  407. package/dist/config/__tests__/plan-output.test.d.ts.map +1 -0
  408. package/dist/config/__tests__/plan-output.test.js +41 -0
  409. package/dist/config/__tests__/plan-output.test.js.map +1 -0
  410. package/dist/config/index.d.ts +2 -1
  411. package/dist/config/index.d.ts.map +1 -1
  412. package/dist/config/index.js +2 -1
  413. package/dist/config/index.js.map +1 -1
  414. package/dist/config/loader.d.ts +1 -1
  415. package/dist/config/loader.d.ts.map +1 -1
  416. package/dist/config/loader.js +280 -215
  417. package/dist/config/loader.js.map +1 -1
  418. package/dist/config/models.d.ts +33 -0
  419. package/dist/config/models.d.ts.map +1 -1
  420. package/dist/config/models.js +57 -0
  421. package/dist/config/models.js.map +1 -1
  422. package/dist/config/plan-output.d.ts +12 -0
  423. package/dist/config/plan-output.d.ts.map +1 -0
  424. package/dist/config/plan-output.js +67 -0
  425. package/dist/config/plan-output.js.map +1 -0
  426. package/dist/constants/names.d.ts +1 -5
  427. package/dist/constants/names.d.ts.map +1 -1
  428. package/dist/constants/names.js +1 -6
  429. package/dist/constants/names.js.map +1 -1
  430. package/dist/features/auto-update.d.ts +8 -0
  431. package/dist/features/auto-update.d.ts.map +1 -1
  432. package/dist/features/auto-update.js +218 -24
  433. package/dist/features/auto-update.js.map +1 -1
  434. package/dist/features/boulder-state/storage.d.ts.map +1 -1
  435. package/dist/features/boulder-state/storage.js +15 -10
  436. package/dist/features/boulder-state/storage.js.map +1 -1
  437. package/dist/features/builtin-skills/runtime-guidance.d.ts +9 -0
  438. package/dist/features/builtin-skills/runtime-guidance.d.ts.map +1 -0
  439. package/dist/features/builtin-skills/runtime-guidance.js +35 -0
  440. package/dist/features/builtin-skills/runtime-guidance.js.map +1 -0
  441. package/dist/features/builtin-skills/skills.d.ts.map +1 -1
  442. package/dist/features/builtin-skills/skills.js +32 -7
  443. package/dist/features/builtin-skills/skills.js.map +1 -1
  444. package/dist/features/continuation-enforcement.d.ts.map +1 -1
  445. package/dist/features/continuation-enforcement.js +3 -2
  446. package/dist/features/continuation-enforcement.js.map +1 -1
  447. package/dist/features/delegation-categories/__tests__/index.test.d.ts.map +1 -0
  448. package/dist/features/delegation-categories/__tests__/index.test.js +19 -0
  449. package/dist/features/delegation-categories/__tests__/index.test.js.map +1 -0
  450. package/dist/features/delegation-enforcer.d.ts.map +1 -1
  451. package/dist/features/delegation-enforcer.js +62 -3
  452. package/dist/features/delegation-enforcer.js.map +1 -1
  453. package/dist/features/magic-keywords.d.ts +1 -1
  454. package/dist/features/magic-keywords.d.ts.map +1 -1
  455. package/dist/features/magic-keywords.js +42 -12
  456. package/dist/features/magic-keywords.js.map +1 -1
  457. package/dist/features/model-routing/__tests__/index.test.d.ts +2 -0
  458. package/dist/features/model-routing/__tests__/index.test.d.ts.map +1 -0
  459. package/dist/features/model-routing/__tests__/index.test.js +21 -0
  460. package/dist/features/model-routing/__tests__/index.test.js.map +1 -0
  461. package/dist/features/model-routing/index.d.ts.map +1 -1
  462. package/dist/features/model-routing/index.js +3 -2
  463. package/dist/features/model-routing/index.js.map +1 -1
  464. package/dist/features/model-routing/signals.js +1 -1
  465. package/dist/features/model-routing/signals.js.map +1 -1
  466. package/dist/features/model-routing/types.d.ts +1 -1
  467. package/dist/features/rate-limit-wait/daemon.d.ts.map +1 -1
  468. package/dist/features/rate-limit-wait/daemon.js +11 -22
  469. package/dist/features/rate-limit-wait/daemon.js.map +1 -1
  470. package/dist/features/rate-limit-wait/tmux-detector.js +6 -6
  471. package/dist/features/rate-limit-wait/tmux-detector.js.map +1 -1
  472. package/dist/features/rate-limit-wait/types.d.ts +3 -3
  473. package/dist/features/rate-limit-wait/types.d.ts.map +1 -1
  474. package/dist/features/state-manager/index.d.ts +2 -2
  475. package/dist/features/state-manager/index.d.ts.map +1 -1
  476. package/dist/features/state-manager/index.js +12 -8
  477. package/dist/features/state-manager/index.js.map +1 -1
  478. package/dist/features/state-manager/types.d.ts +2 -2
  479. package/dist/features/state-manager/types.d.ts.map +1 -1
  480. package/dist/features/state-manager/types.js +2 -2
  481. package/dist/features/state-manager/types.js.map +1 -1
  482. package/dist/features/task-decomposer/index.js +3 -1
  483. package/dist/features/task-decomposer/index.js.map +1 -1
  484. package/dist/features/verification/index.d.ts.map +1 -1
  485. package/dist/features/verification/index.js +4 -2
  486. package/dist/features/verification/index.js.map +1 -1
  487. package/dist/hooks/__tests__/background-process-guard.test.js +151 -3
  488. package/dist/hooks/__tests__/background-process-guard.test.js.map +1 -1
  489. package/dist/hooks/__tests__/bridge-openclaw.test.js +15 -0
  490. package/dist/hooks/__tests__/bridge-openclaw.test.js.map +1 -1
  491. package/dist/hooks/__tests__/bridge-routing.test.js +130 -0
  492. package/dist/hooks/__tests__/bridge-routing.test.js.map +1 -1
  493. package/dist/hooks/__tests__/bridge-team-worker-guard.test.js +1 -1
  494. package/dist/hooks/__tests__/bridge-team-worker-guard.test.js.map +1 -1
  495. package/dist/hooks/__tests__/bridge.test.js +101 -0
  496. package/dist/hooks/__tests__/bridge.test.js.map +1 -1
  497. package/dist/hooks/__tests__/team-worker-heartbeat.test.d.ts +10 -0
  498. package/dist/hooks/__tests__/team-worker-heartbeat.test.d.ts.map +1 -0
  499. package/dist/hooks/__tests__/team-worker-heartbeat.test.js +87 -0
  500. package/dist/hooks/__tests__/team-worker-heartbeat.test.js.map +1 -0
  501. package/dist/hooks/auto-slash-command/executor.d.ts.map +1 -1
  502. package/dist/hooks/auto-slash-command/executor.js +134 -70
  503. package/dist/hooks/auto-slash-command/executor.js.map +1 -1
  504. package/dist/hooks/auto-slash-command/live-data.d.ts.map +1 -1
  505. package/dist/hooks/auto-slash-command/live-data.js +12 -0
  506. package/dist/hooks/auto-slash-command/live-data.js.map +1 -1
  507. package/dist/hooks/autopilot/__tests__/prompts.test.js +61 -52
  508. package/dist/hooks/autopilot/__tests__/prompts.test.js.map +1 -1
  509. package/dist/hooks/autopilot/__tests__/state.test.js +34 -34
  510. package/dist/hooks/autopilot/adapters/execution-adapter.d.ts +1 -1
  511. package/dist/hooks/autopilot/adapters/execution-adapter.d.ts.map +1 -1
  512. package/dist/hooks/autopilot/adapters/execution-adapter.js +6 -5
  513. package/dist/hooks/autopilot/adapters/execution-adapter.js.map +1 -1
  514. package/dist/hooks/autopilot/adapters/ralplan-adapter.d.ts +1 -1
  515. package/dist/hooks/autopilot/adapters/ralplan-adapter.d.ts.map +1 -1
  516. package/dist/hooks/autopilot/adapters/ralplan-adapter.js +8 -7
  517. package/dist/hooks/autopilot/adapters/ralplan-adapter.js.map +1 -1
  518. package/dist/hooks/autopilot/enforcement.d.ts +2 -2
  519. package/dist/hooks/autopilot/enforcement.d.ts.map +1 -1
  520. package/dist/hooks/autopilot/enforcement.js +98 -70
  521. package/dist/hooks/autopilot/enforcement.js.map +1 -1
  522. package/dist/hooks/autopilot/pipeline-types.d.ts +8 -6
  523. package/dist/hooks/autopilot/pipeline-types.d.ts.map +1 -1
  524. package/dist/hooks/autopilot/pipeline-types.js +9 -9
  525. package/dist/hooks/autopilot/pipeline-types.js.map +1 -1
  526. package/dist/hooks/autopilot/pipeline.d.ts +3 -3
  527. package/dist/hooks/autopilot/pipeline.d.ts.map +1 -1
  528. package/dist/hooks/autopilot/pipeline.js +51 -36
  529. package/dist/hooks/autopilot/pipeline.js.map +1 -1
  530. package/dist/hooks/autopilot/prompts.d.ts +4 -2
  531. package/dist/hooks/autopilot/prompts.d.ts.map +1 -1
  532. package/dist/hooks/autopilot/prompts.js +31 -24
  533. package/dist/hooks/autopilot/prompts.js.map +1 -1
  534. package/dist/hooks/autopilot/state.d.ts.map +1 -1
  535. package/dist/hooks/autopilot/state.js +21 -14
  536. package/dist/hooks/autopilot/state.js.map +1 -1
  537. package/dist/hooks/bridge.d.ts.map +1 -1
  538. package/dist/hooks/bridge.js +329 -71
  539. package/dist/hooks/bridge.js.map +1 -1
  540. package/dist/hooks/code-simplifier/index.d.ts +3 -2
  541. package/dist/hooks/code-simplifier/index.d.ts.map +1 -1
  542. package/dist/hooks/code-simplifier/index.js +15 -12
  543. package/dist/hooks/code-simplifier/index.js.map +1 -1
  544. package/dist/hooks/comment-checker/index.d.ts.map +1 -1
  545. package/dist/hooks/comment-checker/index.js +0 -17
  546. package/dist/hooks/comment-checker/index.js.map +1 -1
  547. package/dist/hooks/index.d.ts +0 -1
  548. package/dist/hooks/index.d.ts.map +1 -1
  549. package/dist/hooks/index.js +0 -8
  550. package/dist/hooks/index.js.map +1 -1
  551. package/dist/hooks/keyword-detector/__tests__/index.test.js +304 -0
  552. package/dist/hooks/keyword-detector/__tests__/index.test.js.map +1 -1
  553. package/dist/hooks/keyword-detector/index.d.ts.map +1 -1
  554. package/dist/hooks/keyword-detector/index.js +46 -16
  555. package/dist/hooks/keyword-detector/index.js.map +1 -1
  556. package/dist/hooks/learner/bridge.d.ts +1 -0
  557. package/dist/hooks/learner/bridge.d.ts.map +1 -1
  558. package/dist/hooks/learner/bridge.js +30 -19
  559. package/dist/hooks/learner/bridge.js.map +1 -1
  560. package/dist/hooks/learner/constants.d.ts +2 -0
  561. package/dist/hooks/learner/constants.d.ts.map +1 -1
  562. package/dist/hooks/learner/constants.js +2 -0
  563. package/dist/hooks/learner/constants.js.map +1 -1
  564. package/dist/hooks/learner/finder.d.ts.map +1 -1
  565. package/dist/hooks/learner/finder.js +25 -20
  566. package/dist/hooks/learner/finder.js.map +1 -1
  567. package/dist/hooks/learner/transliteration-map.d.ts +30 -0
  568. package/dist/hooks/learner/transliteration-map.d.ts.map +1 -0
  569. package/dist/hooks/learner/transliteration-map.js +51 -0
  570. package/dist/hooks/learner/transliteration-map.js.map +1 -0
  571. package/dist/hooks/non-interactive-env/index.d.ts.map +1 -1
  572. package/dist/hooks/non-interactive-env/index.js +5 -5
  573. package/dist/hooks/non-interactive-env/index.js.map +1 -1
  574. package/dist/hooks/non-interactive-env/index.test.d.ts +2 -0
  575. package/dist/hooks/non-interactive-env/index.test.d.ts.map +1 -0
  576. package/dist/hooks/non-interactive-env/index.test.js +30 -0
  577. package/dist/hooks/non-interactive-env/index.test.js.map +1 -0
  578. package/dist/hooks/notepad/index.d.ts.map +1 -1
  579. package/dist/hooks/notepad/index.js +20 -6
  580. package/dist/hooks/notepad/index.js.map +1 -1
  581. package/dist/hooks/omc-orchestrator/index.d.ts.map +1 -1
  582. package/dist/hooks/omc-orchestrator/index.js +6 -2
  583. package/dist/hooks/omc-orchestrator/index.js.map +1 -1
  584. package/dist/hooks/permission-handler/__tests__/index.test.js +9 -1
  585. package/dist/hooks/permission-handler/__tests__/index.test.js.map +1 -1
  586. package/dist/hooks/permission-handler/index.d.ts +2 -0
  587. package/dist/hooks/permission-handler/index.d.ts.map +1 -1
  588. package/dist/hooks/permission-handler/index.js +67 -7
  589. package/dist/hooks/permission-handler/index.js.map +1 -1
  590. package/dist/hooks/persistent-mode/__tests__/idle-cooldown.test.js +79 -15
  591. package/dist/hooks/persistent-mode/__tests__/idle-cooldown.test.js.map +1 -1
  592. package/dist/hooks/persistent-mode/__tests__/ralph-verification-flow.test.js +1 -1
  593. package/dist/hooks/persistent-mode/__tests__/ralph-verification-flow.test.js.map +1 -1
  594. package/dist/hooks/persistent-mode/__tests__/skill-state-stop.test.js +36 -1
  595. package/dist/hooks/persistent-mode/__tests__/skill-state-stop.test.js.map +1 -1
  596. package/dist/hooks/persistent-mode/__tests__/team-ralplan-stop.test.js +113 -2
  597. package/dist/hooks/persistent-mode/__tests__/team-ralplan-stop.test.js.map +1 -1
  598. package/dist/hooks/persistent-mode/index.d.ts +1 -1
  599. package/dist/hooks/persistent-mode/index.d.ts.map +1 -1
  600. package/dist/hooks/persistent-mode/index.js +50 -14
  601. package/dist/hooks/persistent-mode/index.js.map +1 -1
  602. package/dist/hooks/persistent-mode/session-isolation.test.js +20 -14
  603. package/dist/hooks/persistent-mode/session-isolation.test.js.map +1 -1
  604. package/dist/hooks/persistent-mode/stop-hook-blocking.test.js +173 -5
  605. package/dist/hooks/persistent-mode/stop-hook-blocking.test.js.map +1 -1
  606. package/dist/hooks/project-memory/__tests__/formatter.test.js +244 -191
  607. package/dist/hooks/project-memory/__tests__/formatter.test.js.map +1 -1
  608. package/dist/hooks/project-memory/__tests__/integration.test.js +185 -101
  609. package/dist/hooks/project-memory/__tests__/integration.test.js.map +1 -1
  610. package/dist/hooks/project-memory/__tests__/pre-compact.test.d.ts +5 -0
  611. package/dist/hooks/project-memory/__tests__/pre-compact.test.d.ts.map +1 -0
  612. package/dist/hooks/project-memory/__tests__/pre-compact.test.js +121 -0
  613. package/dist/hooks/project-memory/__tests__/pre-compact.test.js.map +1 -0
  614. package/dist/hooks/project-memory/formatter.d.ts +2 -2
  615. package/dist/hooks/project-memory/formatter.d.ts.map +1 -1
  616. package/dist/hooks/project-memory/formatter.js +167 -92
  617. package/dist/hooks/project-memory/formatter.js.map +1 -1
  618. package/dist/hooks/project-memory/hot-path-tracker.d.ts +3 -3
  619. package/dist/hooks/project-memory/hot-path-tracker.d.ts.map +1 -1
  620. package/dist/hooks/project-memory/hot-path-tracker.js +71 -27
  621. package/dist/hooks/project-memory/hot-path-tracker.js.map +1 -1
  622. package/dist/hooks/project-memory/index.d.ts +0 -20
  623. package/dist/hooks/project-memory/index.d.ts.map +1 -1
  624. package/dist/hooks/project-memory/index.js +37 -39
  625. package/dist/hooks/project-memory/index.js.map +1 -1
  626. package/dist/hooks/project-memory/pre-compact.d.ts.map +1 -1
  627. package/dist/hooks/project-memory/pre-compact.js +2 -1
  628. package/dist/hooks/project-memory/pre-compact.js.map +1 -1
  629. package/dist/hooks/project-memory/types.d.ts +11 -6
  630. package/dist/hooks/project-memory/types.d.ts.map +1 -1
  631. package/dist/hooks/ralph/verifier.d.ts.map +1 -1
  632. package/dist/hooks/ralph/verifier.js +2 -1
  633. package/dist/hooks/ralph/verifier.js.map +1 -1
  634. package/dist/hooks/recovery/session-recovery.d.ts.map +1 -1
  635. package/dist/hooks/recovery/session-recovery.js +7 -4
  636. package/dist/hooks/recovery/session-recovery.js.map +1 -1
  637. package/dist/hooks/session-end/__tests__/mode-state-cleanup.test.js +28 -0
  638. package/dist/hooks/session-end/__tests__/mode-state-cleanup.test.js.map +1 -1
  639. package/dist/hooks/session-end/__tests__/session-end-timeout.test.d.ts +2 -0
  640. package/dist/hooks/session-end/__tests__/session-end-timeout.test.d.ts.map +1 -0
  641. package/dist/hooks/session-end/__tests__/session-end-timeout.test.js +91 -0
  642. package/dist/hooks/session-end/__tests__/session-end-timeout.test.js.map +1 -0
  643. package/dist/hooks/session-end/__tests__/team-cleanup.test.d.ts +2 -0
  644. package/dist/hooks/session-end/__tests__/team-cleanup.test.d.ts.map +1 -0
  645. package/dist/hooks/session-end/__tests__/team-cleanup.test.js +150 -0
  646. package/dist/hooks/session-end/__tests__/team-cleanup.test.js.map +1 -0
  647. package/dist/hooks/session-end/index.d.ts +9 -0
  648. package/dist/hooks/session-end/index.d.ts.map +1 -1
  649. package/dist/hooks/session-end/index.js +178 -30
  650. package/dist/hooks/session-end/index.js.map +1 -1
  651. package/dist/hooks/setup/__tests__/windows-patch.test.js +8 -7
  652. package/dist/hooks/setup/__tests__/windows-patch.test.js.map +1 -1
  653. package/dist/hooks/setup/index.d.ts +1 -1
  654. package/dist/hooks/setup/index.js +3 -3
  655. package/dist/hooks/setup/index.js.map +1 -1
  656. package/dist/hooks/skill-bridge.cjs +48 -16
  657. package/dist/hooks/skill-state/__tests__/skill-state.test.js +74 -8
  658. package/dist/hooks/skill-state/__tests__/skill-state.test.js.map +1 -1
  659. package/dist/hooks/skill-state/index.d.ts +18 -4
  660. package/dist/hooks/skill-state/index.d.ts.map +1 -1
  661. package/dist/hooks/skill-state/index.js +43 -7
  662. package/dist/hooks/skill-state/index.js.map +1 -1
  663. package/dist/hooks/subagent-tracker/__tests__/index.test.js +42 -1
  664. package/dist/hooks/subagent-tracker/__tests__/index.test.js.map +1 -1
  665. package/dist/hooks/subagent-tracker/index.d.ts +5 -0
  666. package/dist/hooks/subagent-tracker/index.d.ts.map +1 -1
  667. package/dist/hooks/subagent-tracker/index.js +62 -49
  668. package/dist/hooks/subagent-tracker/index.js.map +1 -1
  669. package/dist/hooks/team-dispatch-hook.d.ts.map +1 -1
  670. package/dist/hooks/team-dispatch-hook.js +4 -2
  671. package/dist/hooks/team-dispatch-hook.js.map +1 -1
  672. package/dist/hooks/team-leader-nudge-hook.d.ts +6 -0
  673. package/dist/hooks/team-leader-nudge-hook.d.ts.map +1 -1
  674. package/dist/hooks/team-leader-nudge-hook.js +113 -15
  675. package/dist/hooks/team-leader-nudge-hook.js.map +1 -1
  676. package/dist/hooks/team-worker-hook.d.ts.map +1 -1
  677. package/dist/hooks/team-worker-hook.js +6 -3
  678. package/dist/hooks/team-worker-hook.js.map +1 -1
  679. package/dist/hud/background-cleanup.d.ts +3 -3
  680. package/dist/hud/background-cleanup.d.ts.map +1 -1
  681. package/dist/hud/background-cleanup.js +9 -9
  682. package/dist/hud/background-cleanup.js.map +1 -1
  683. package/dist/hud/background-tasks.d.ts +7 -0
  684. package/dist/hud/background-tasks.d.ts.map +1 -1
  685. package/dist/hud/background-tasks.js +83 -0
  686. package/dist/hud/background-tasks.js.map +1 -1
  687. package/dist/hud/elements/context.d.ts +12 -2
  688. package/dist/hud/elements/context.d.ts.map +1 -1
  689. package/dist/hud/elements/context.js +86 -35
  690. package/dist/hud/elements/context.js.map +1 -1
  691. package/dist/hud/elements/git.d.ts +4 -0
  692. package/dist/hud/elements/git.d.ts.map +1 -1
  693. package/dist/hud/elements/git.js +39 -9
  694. package/dist/hud/elements/git.js.map +1 -1
  695. package/dist/hud/elements/index.d.ts +1 -0
  696. package/dist/hud/elements/index.d.ts.map +1 -1
  697. package/dist/hud/elements/index.js +1 -0
  698. package/dist/hud/elements/index.js.map +1 -1
  699. package/dist/hud/elements/session-summary.d.ts +23 -0
  700. package/dist/hud/elements/session-summary.d.ts.map +1 -0
  701. package/dist/hud/elements/session-summary.js +23 -0
  702. package/dist/hud/elements/session-summary.js.map +1 -0
  703. package/dist/hud/elements/token-usage.d.ts +8 -0
  704. package/dist/hud/elements/token-usage.d.ts.map +1 -0
  705. package/dist/hud/elements/token-usage.js +24 -0
  706. package/dist/hud/elements/token-usage.js.map +1 -0
  707. package/dist/hud/index.d.ts +4 -0
  708. package/dist/hud/index.d.ts.map +1 -1
  709. package/dist/hud/index.js +165 -32
  710. package/dist/hud/index.js.map +1 -1
  711. package/dist/hud/mission-board.d.ts.map +1 -1
  712. package/dist/hud/mission-board.js +8 -2
  713. package/dist/hud/mission-board.js.map +1 -1
  714. package/dist/hud/omc-state.d.ts +5 -5
  715. package/dist/hud/omc-state.d.ts.map +1 -1
  716. package/dist/hud/omc-state.js +20 -16
  717. package/dist/hud/omc-state.js.map +1 -1
  718. package/dist/hud/render.d.ts +1 -1
  719. package/dist/hud/render.d.ts.map +1 -1
  720. package/dist/hud/render.js +69 -54
  721. package/dist/hud/render.js.map +1 -1
  722. package/dist/hud/state.d.ts +3 -3
  723. package/dist/hud/state.d.ts.map +1 -1
  724. package/dist/hud/state.js +110 -57
  725. package/dist/hud/state.js.map +1 -1
  726. package/dist/hud/stdin.d.ts +8 -1
  727. package/dist/hud/stdin.d.ts.map +1 -1
  728. package/dist/hud/stdin.js +60 -13
  729. package/dist/hud/stdin.js.map +1 -1
  730. package/dist/hud/transcript.d.ts.map +1 -1
  731. package/dist/hud/transcript.js +148 -35
  732. package/dist/hud/transcript.js.map +1 -1
  733. package/dist/hud/types.d.ts +30 -13
  734. package/dist/hud/types.d.ts.map +1 -1
  735. package/dist/hud/types.js +24 -0
  736. package/dist/hud/types.js.map +1 -1
  737. package/dist/hud/usage-api.d.ts.map +1 -1
  738. package/dist/hud/usage-api.js +57 -24
  739. package/dist/hud/usage-api.js.map +1 -1
  740. package/dist/index.d.ts +1 -1
  741. package/dist/index.d.ts.map +1 -1
  742. package/dist/index.js +1 -1
  743. package/dist/index.js.map +1 -1
  744. package/dist/installer/__tests__/claude-md-merge.test.js +23 -0
  745. package/dist/installer/__tests__/claude-md-merge.test.js.map +1 -1
  746. package/dist/installer/__tests__/hook-templates.test.js +50 -5
  747. package/dist/installer/__tests__/hook-templates.test.js.map +1 -1
  748. package/dist/installer/__tests__/mcp-registry.test.d.ts +2 -0
  749. package/dist/installer/__tests__/mcp-registry.test.d.ts.map +1 -0
  750. package/dist/installer/__tests__/mcp-registry.test.js +316 -0
  751. package/dist/installer/__tests__/mcp-registry.test.js.map +1 -0
  752. package/dist/installer/__tests__/session-start-template.test.d.ts +2 -0
  753. package/dist/installer/__tests__/session-start-template.test.d.ts.map +1 -0
  754. package/dist/installer/__tests__/session-start-template.test.js +95 -0
  755. package/dist/installer/__tests__/session-start-template.test.js.map +1 -0
  756. package/dist/installer/hooks.d.ts +0 -14
  757. package/dist/installer/hooks.d.ts.map +1 -1
  758. package/dist/installer/hooks.js +0 -33
  759. package/dist/installer/hooks.js.map +1 -1
  760. package/dist/installer/index.d.ts +2 -0
  761. package/dist/installer/index.d.ts.map +1 -1
  762. package/dist/installer/index.js +71 -7
  763. package/dist/installer/index.js.map +1 -1
  764. package/dist/installer/mcp-registry.d.ts +48 -0
  765. package/dist/installer/mcp-registry.d.ts.map +1 -0
  766. package/dist/installer/mcp-registry.js +453 -0
  767. package/dist/installer/mcp-registry.js.map +1 -0
  768. package/dist/interop/omx-team-state.d.ts +2 -0
  769. package/dist/interop/omx-team-state.d.ts.map +1 -1
  770. package/dist/interop/omx-team-state.js.map +1 -1
  771. package/dist/interop/shared-state.d.ts.map +1 -1
  772. package/dist/interop/shared-state.js +21 -18
  773. package/dist/interop/shared-state.js.map +1 -1
  774. package/dist/lib/__tests__/mode-state-io.test.js +58 -8
  775. package/dist/lib/__tests__/mode-state-io.test.js.map +1 -1
  776. package/dist/lib/__tests__/swallowed-error.test.d.ts +2 -0
  777. package/dist/lib/__tests__/swallowed-error.test.d.ts.map +1 -0
  778. package/dist/lib/__tests__/swallowed-error.test.js +19 -0
  779. package/dist/lib/__tests__/swallowed-error.test.js.map +1 -0
  780. package/dist/lib/featured-contributors.d.ts +54 -0
  781. package/dist/lib/featured-contributors.d.ts.map +1 -0
  782. package/dist/lib/featured-contributors.js +290 -0
  783. package/dist/lib/featured-contributors.js.map +1 -0
  784. package/dist/lib/file-lock.d.ts.map +1 -1
  785. package/dist/lib/file-lock.js +49 -51
  786. package/dist/lib/file-lock.js.map +1 -1
  787. package/dist/lib/mode-names.d.ts +1 -0
  788. package/dist/lib/mode-names.d.ts.map +1 -1
  789. package/dist/lib/mode-names.js +5 -0
  790. package/dist/lib/mode-names.js.map +1 -1
  791. package/dist/lib/mode-state-io.d.ts +2 -0
  792. package/dist/lib/mode-state-io.d.ts.map +1 -1
  793. package/dist/lib/mode-state-io.js +57 -11
  794. package/dist/lib/mode-state-io.js.map +1 -1
  795. package/dist/lib/project-memory-merge.d.ts.map +1 -1
  796. package/dist/lib/project-memory-merge.js +2 -0
  797. package/dist/lib/project-memory-merge.js.map +1 -1
  798. package/dist/lib/shared-memory.d.ts.map +1 -1
  799. package/dist/lib/shared-memory.js +40 -21
  800. package/dist/lib/shared-memory.js.map +1 -1
  801. package/dist/lib/swallowed-error.d.ts +4 -0
  802. package/dist/lib/swallowed-error.d.ts.map +1 -0
  803. package/dist/lib/swallowed-error.js +26 -0
  804. package/dist/lib/swallowed-error.js.map +1 -0
  805. package/dist/lib/worktree-paths.d.ts +1 -0
  806. package/dist/lib/worktree-paths.d.ts.map +1 -1
  807. package/dist/lib/worktree-paths.js +1 -0
  808. package/dist/lib/worktree-paths.js.map +1 -1
  809. package/dist/mcp/__tests__/prompt-injection.test.js +15 -0
  810. package/dist/mcp/__tests__/prompt-injection.test.js.map +1 -1
  811. package/dist/mcp/__tests__/standalone-shutdown.test.d.ts +2 -0
  812. package/dist/mcp/__tests__/standalone-shutdown.test.d.ts.map +1 -0
  813. package/dist/mcp/__tests__/standalone-shutdown.test.js +57 -0
  814. package/dist/mcp/__tests__/standalone-shutdown.test.js.map +1 -0
  815. package/dist/mcp/__tests__/team-cleanup.test.js +5 -5
  816. package/dist/mcp/job-management.d.ts +4 -0
  817. package/dist/mcp/job-management.d.ts.map +1 -1
  818. package/dist/mcp/job-management.js +30 -10
  819. package/dist/mcp/job-management.js.map +1 -1
  820. package/dist/mcp/omc-tools-server.d.ts +2 -0
  821. package/dist/mcp/omc-tools-server.d.ts.map +1 -1
  822. package/dist/mcp/omc-tools-server.js +10 -2
  823. package/dist/mcp/omc-tools-server.js.map +1 -1
  824. package/dist/mcp/prompt-injection.d.ts.map +1 -1
  825. package/dist/mcp/prompt-injection.js +25 -4
  826. package/dist/mcp/prompt-injection.js.map +1 -1
  827. package/dist/mcp/prompt-persistence.js +1 -1
  828. package/dist/mcp/prompt-persistence.js.map +1 -1
  829. package/dist/mcp/standalone-server.js +15 -4
  830. package/dist/mcp/standalone-server.js.map +1 -1
  831. package/dist/mcp/standalone-shutdown.d.ts +25 -0
  832. package/dist/mcp/standalone-shutdown.d.ts.map +1 -0
  833. package/dist/mcp/standalone-shutdown.js +68 -0
  834. package/dist/mcp/standalone-shutdown.js.map +1 -0
  835. package/dist/mcp/team-job-convergence.d.ts +0 -1
  836. package/dist/mcp/team-job-convergence.d.ts.map +1 -1
  837. package/dist/mcp/team-job-convergence.js +0 -9
  838. package/dist/mcp/team-job-convergence.js.map +1 -1
  839. package/dist/mcp/team-server.d.ts.map +1 -1
  840. package/dist/mcp/team-server.js +18 -11
  841. package/dist/mcp/team-server.js.map +1 -1
  842. package/dist/notifications/__tests__/reply-listener.test.js +57 -1
  843. package/dist/notifications/__tests__/reply-listener.test.js.map +1 -1
  844. package/dist/notifications/config.d.ts.map +1 -1
  845. package/dist/notifications/config.js +36 -3
  846. package/dist/notifications/config.js.map +1 -1
  847. package/dist/notifications/dispatcher.d.ts.map +1 -1
  848. package/dist/notifications/dispatcher.js +18 -14
  849. package/dist/notifications/dispatcher.js.map +1 -1
  850. package/dist/notifications/redact.d.ts.map +1 -1
  851. package/dist/notifications/redact.js +10 -1
  852. package/dist/notifications/redact.js.map +1 -1
  853. package/dist/notifications/reply-listener.d.ts +2 -0
  854. package/dist/notifications/reply-listener.d.ts.map +1 -1
  855. package/dist/notifications/reply-listener.js +17 -24
  856. package/dist/notifications/reply-listener.js.map +1 -1
  857. package/dist/notifications/session-registry.d.ts +1 -1
  858. package/dist/notifications/session-registry.d.ts.map +1 -1
  859. package/dist/notifications/session-registry.js +37 -43
  860. package/dist/notifications/session-registry.js.map +1 -1
  861. package/dist/notifications/types.d.ts +2 -0
  862. package/dist/notifications/types.d.ts.map +1 -1
  863. package/dist/planning/__tests__/artifacts.test.d.ts +2 -0
  864. package/dist/planning/__tests__/artifacts.test.d.ts.map +1 -0
  865. package/dist/planning/__tests__/artifacts.test.js +303 -0
  866. package/dist/planning/__tests__/artifacts.test.js.map +1 -0
  867. package/dist/planning/artifacts.d.ts +29 -0
  868. package/dist/planning/artifacts.d.ts.map +1 -0
  869. package/dist/planning/artifacts.js +144 -0
  870. package/dist/planning/artifacts.js.map +1 -0
  871. package/dist/platform/process-utils.d.ts +1 -0
  872. package/dist/platform/process-utils.d.ts.map +1 -1
  873. package/dist/platform/process-utils.js +7 -3
  874. package/dist/platform/process-utils.js.map +1 -1
  875. package/dist/providers/bitbucket.d.ts +2 -2
  876. package/dist/providers/bitbucket.d.ts.map +1 -1
  877. package/dist/providers/bitbucket.js +11 -12
  878. package/dist/providers/bitbucket.js.map +1 -1
  879. package/dist/providers/gitea.d.ts.map +1 -1
  880. package/dist/providers/gitea.js +8 -2
  881. package/dist/providers/gitea.js.map +1 -1
  882. package/dist/providers/index.d.ts +4 -0
  883. package/dist/providers/index.d.ts.map +1 -1
  884. package/dist/providers/index.js +49 -26
  885. package/dist/providers/index.js.map +1 -1
  886. package/dist/providers/types.d.ts +2 -2
  887. package/dist/providers/types.d.ts.map +1 -1
  888. package/dist/ralphthon/__tests__/cli.test.d.ts +5 -0
  889. package/dist/ralphthon/__tests__/cli.test.d.ts.map +1 -0
  890. package/dist/ralphthon/__tests__/cli.test.js +103 -0
  891. package/dist/ralphthon/__tests__/cli.test.js.map +1 -0
  892. package/dist/ralphthon/__tests__/orchestrator.test.d.ts +5 -0
  893. package/dist/ralphthon/__tests__/orchestrator.test.d.ts.map +1 -0
  894. package/dist/ralphthon/__tests__/orchestrator.test.js +393 -0
  895. package/dist/ralphthon/__tests__/orchestrator.test.js.map +1 -0
  896. package/dist/ralphthon/__tests__/prd.test.d.ts +5 -0
  897. package/dist/ralphthon/__tests__/prd.test.d.ts.map +1 -0
  898. package/dist/ralphthon/__tests__/prd.test.js +454 -0
  899. package/dist/ralphthon/__tests__/prd.test.js.map +1 -0
  900. package/dist/ralphthon/deep-interview-prompt.d.ts +2 -0
  901. package/dist/ralphthon/deep-interview-prompt.d.ts.map +1 -0
  902. package/dist/ralphthon/deep-interview-prompt.js +20 -0
  903. package/dist/ralphthon/deep-interview-prompt.js.map +1 -0
  904. package/dist/ralphthon/index.d.ts +13 -0
  905. package/dist/ralphthon/index.d.ts.map +1 -0
  906. package/dist/ralphthon/index.js +14 -0
  907. package/dist/ralphthon/index.js.map +1 -0
  908. package/dist/ralphthon/orchestrator.d.ts +112 -0
  909. package/dist/ralphthon/orchestrator.d.ts.map +1 -0
  910. package/dist/ralphthon/orchestrator.js +453 -0
  911. package/dist/ralphthon/orchestrator.js.map +1 -0
  912. package/dist/ralphthon/prd.d.ts +111 -0
  913. package/dist/ralphthon/prd.d.ts.map +1 -0
  914. package/dist/ralphthon/prd.js +345 -0
  915. package/dist/ralphthon/prd.js.map +1 -0
  916. package/dist/ralphthon/types.d.ts +213 -0
  917. package/dist/ralphthon/types.d.ts.map +1 -0
  918. package/dist/ralphthon/types.js +21 -0
  919. package/dist/ralphthon/types.js.map +1 -0
  920. package/dist/shared/types.d.ts +25 -16
  921. package/dist/shared/types.d.ts.map +1 -1
  922. package/dist/skills/__tests__/mingw-escape.test.js +15 -0
  923. package/dist/skills/__tests__/mingw-escape.test.js.map +1 -1
  924. package/dist/team/__tests__/allocation-policy.test.d.ts +2 -0
  925. package/dist/team/__tests__/allocation-policy.test.d.ts.map +1 -0
  926. package/dist/team/__tests__/allocation-policy.test.js +125 -0
  927. package/dist/team/__tests__/allocation-policy.test.js.map +1 -0
  928. package/dist/team/__tests__/api-interop.cleanup.test.d.ts +2 -0
  929. package/dist/team/__tests__/api-interop.cleanup.test.d.ts.map +1 -0
  930. package/dist/team/__tests__/api-interop.cleanup.test.js +129 -0
  931. package/dist/team/__tests__/api-interop.cleanup.test.js.map +1 -0
  932. package/dist/team/__tests__/api-interop.cwd-resolution.test.js +22 -0
  933. package/dist/team/__tests__/api-interop.cwd-resolution.test.js.map +1 -1
  934. package/dist/team/__tests__/api-interop.dispatch.test.js +59 -0
  935. package/dist/team/__tests__/api-interop.dispatch.test.js.map +1 -1
  936. package/dist/team/__tests__/audit-log.test.js +0 -1
  937. package/dist/team/__tests__/audit-log.test.js.map +1 -1
  938. package/dist/team/__tests__/bridge-integration.test.js.map +1 -1
  939. package/dist/team/__tests__/events.swallowed-error.test.d.ts +2 -0
  940. package/dist/team/__tests__/events.swallowed-error.test.d.ts.map +1 -0
  941. package/dist/team/__tests__/events.swallowed-error.test.js +33 -0
  942. package/dist/team/__tests__/events.swallowed-error.test.js.map +1 -0
  943. package/dist/team/__tests__/followup-planner.test.d.ts +2 -0
  944. package/dist/team/__tests__/followup-planner.test.d.ts.map +1 -0
  945. package/dist/team/__tests__/followup-planner.test.js +197 -0
  946. package/dist/team/__tests__/followup-planner.test.js.map +1 -0
  947. package/dist/team/__tests__/governance-enforcement.test.d.ts +2 -0
  948. package/dist/team/__tests__/governance-enforcement.test.d.ts.map +1 -0
  949. package/dist/team/__tests__/governance-enforcement.test.js +138 -0
  950. package/dist/team/__tests__/governance-enforcement.test.js.map +1 -0
  951. package/dist/team/__tests__/governance.test.d.ts +2 -0
  952. package/dist/team/__tests__/governance.test.d.ts.map +1 -0
  953. package/dist/team/__tests__/governance.test.js +38 -0
  954. package/dist/team/__tests__/governance.test.js.map +1 -0
  955. package/dist/team/__tests__/idle-nudge.test.js +9 -0
  956. package/dist/team/__tests__/idle-nudge.test.js.map +1 -1
  957. package/dist/team/__tests__/leader-nudge-guidance.test.d.ts +2 -0
  958. package/dist/team/__tests__/leader-nudge-guidance.test.d.ts.map +1 -0
  959. package/dist/team/__tests__/leader-nudge-guidance.test.js +37 -0
  960. package/dist/team/__tests__/leader-nudge-guidance.test.js.map +1 -0
  961. package/dist/team/__tests__/lifecycle-profile.test.d.ts +2 -0
  962. package/dist/team/__tests__/lifecycle-profile.test.d.ts.map +1 -0
  963. package/dist/team/__tests__/lifecycle-profile.test.js +46 -0
  964. package/dist/team/__tests__/lifecycle-profile.test.js.map +1 -0
  965. package/dist/team/__tests__/model-contract.test.js +84 -3
  966. package/dist/team/__tests__/model-contract.test.js.map +1 -1
  967. package/dist/team/__tests__/phase1-foundation.test.d.ts +2 -0
  968. package/dist/team/__tests__/phase1-foundation.test.d.ts.map +1 -0
  969. package/dist/team/__tests__/phase1-foundation.test.js +151 -0
  970. package/dist/team/__tests__/phase1-foundation.test.js.map +1 -0
  971. package/dist/team/__tests__/role-router.test.d.ts +2 -0
  972. package/dist/team/__tests__/role-router.test.d.ts.map +1 -0
  973. package/dist/team/__tests__/role-router.test.js +122 -0
  974. package/dist/team/__tests__/role-router.test.js.map +1 -0
  975. package/dist/team/__tests__/runtime-prompt-mode.test.js +4 -1
  976. package/dist/team/__tests__/runtime-prompt-mode.test.js.map +1 -1
  977. package/dist/team/__tests__/runtime-v2.dispatch.test.js +114 -6
  978. package/dist/team/__tests__/runtime-v2.dispatch.test.js.map +1 -1
  979. package/dist/team/__tests__/runtime-v2.monitor.test.js +45 -0
  980. package/dist/team/__tests__/runtime-v2.monitor.test.js.map +1 -1
  981. package/dist/team/__tests__/runtime-v2.shutdown-pane-cleanup.test.d.ts +2 -0
  982. package/dist/team/__tests__/runtime-v2.shutdown-pane-cleanup.test.d.ts.map +1 -0
  983. package/dist/team/__tests__/runtime-v2.shutdown-pane-cleanup.test.js +110 -0
  984. package/dist/team/__tests__/runtime-v2.shutdown-pane-cleanup.test.js.map +1 -0
  985. package/dist/team/__tests__/scaling.test.d.ts +2 -0
  986. package/dist/team/__tests__/scaling.test.d.ts.map +1 -0
  987. package/dist/team/__tests__/scaling.test.js +44 -0
  988. package/dist/team/__tests__/scaling.test.js.map +1 -0
  989. package/dist/team/__tests__/shell-affinity.test.d.ts +2 -0
  990. package/dist/team/__tests__/shell-affinity.test.d.ts.map +1 -0
  991. package/dist/team/__tests__/shell-affinity.test.js +98 -0
  992. package/dist/team/__tests__/shell-affinity.test.js.map +1 -0
  993. package/dist/team/__tests__/state-paths.test.js +4 -1
  994. package/dist/team/__tests__/state-paths.test.js.map +1 -1
  995. package/dist/team/__tests__/task-file-ops.test.js +6 -4
  996. package/dist/team/__tests__/task-file-ops.test.js.map +1 -1
  997. package/dist/team/__tests__/team-leader-nudge-hook.logging.test.d.ts +2 -0
  998. package/dist/team/__tests__/team-leader-nudge-hook.logging.test.d.ts.map +1 -0
  999. package/dist/team/__tests__/team-leader-nudge-hook.logging.test.js +63 -0
  1000. package/dist/team/__tests__/team-leader-nudge-hook.logging.test.js.map +1 -0
  1001. package/dist/team/__tests__/team-leader-nudge-hook.test.d.ts +2 -0
  1002. package/dist/team/__tests__/team-leader-nudge-hook.test.d.ts.map +1 -0
  1003. package/dist/team/__tests__/team-leader-nudge-hook.test.js +90 -0
  1004. package/dist/team/__tests__/team-leader-nudge-hook.test.js.map +1 -0
  1005. package/dist/team/__tests__/tmux-comm.test.js +5 -4
  1006. package/dist/team/__tests__/tmux-comm.test.js.map +1 -1
  1007. package/dist/team/__tests__/tmux-session.create-team.test.js +46 -2
  1008. package/dist/team/__tests__/tmux-session.create-team.test.js.map +1 -1
  1009. package/dist/team/__tests__/tmux-session.kill-team-session.test.js +45 -13
  1010. package/dist/team/__tests__/tmux-session.kill-team-session.test.js.map +1 -1
  1011. package/dist/team/__tests__/tmux-session.test.js +50 -58
  1012. package/dist/team/__tests__/tmux-session.test.js.map +1 -1
  1013. package/dist/team/__tests__/unified-team.test.js.map +1 -1
  1014. package/dist/team/__tests__/worker-bootstrap.test.js +50 -5
  1015. package/dist/team/__tests__/worker-bootstrap.test.js.map +1 -1
  1016. package/dist/team/__tests__/worker-canonicalization.test.d.ts +2 -0
  1017. package/dist/team/__tests__/worker-canonicalization.test.d.ts.map +1 -0
  1018. package/dist/team/__tests__/worker-canonicalization.test.js +35 -0
  1019. package/dist/team/__tests__/worker-canonicalization.test.js.map +1 -0
  1020. package/dist/team/__tests__/worker-health.test.js.map +1 -1
  1021. package/dist/team/__tests__/worker-restart.test.js +3 -1
  1022. package/dist/team/__tests__/worker-restart.test.js.map +1 -1
  1023. package/dist/team/allocation-policy.d.ts +34 -0
  1024. package/dist/team/allocation-policy.d.ts.map +1 -0
  1025. package/dist/team/allocation-policy.js +92 -0
  1026. package/dist/team/allocation-policy.js.map +1 -0
  1027. package/dist/team/api-interop.d.ts +1 -1
  1028. package/dist/team/api-interop.d.ts.map +1 -1
  1029. package/dist/team/api-interop.js +51 -6
  1030. package/dist/team/api-interop.js.map +1 -1
  1031. package/dist/team/audit-log.d.ts.map +1 -1
  1032. package/dist/team/audit-log.js +3 -2
  1033. package/dist/team/audit-log.js.map +1 -1
  1034. package/dist/team/events.d.ts.map +1 -1
  1035. package/dist/team/events.js +6 -4
  1036. package/dist/team/events.js.map +1 -1
  1037. package/dist/team/followup-planner.d.ts +32 -0
  1038. package/dist/team/followup-planner.d.ts.map +1 -0
  1039. package/dist/team/followup-planner.js +82 -0
  1040. package/dist/team/followup-planner.js.map +1 -0
  1041. package/dist/team/git-worktree.d.ts.map +1 -1
  1042. package/dist/team/git-worktree.js +20 -10
  1043. package/dist/team/git-worktree.js.map +1 -1
  1044. package/dist/team/governance.d.ts +18 -0
  1045. package/dist/team/governance.d.ts.map +1 -0
  1046. package/dist/team/governance.js +68 -0
  1047. package/dist/team/governance.js.map +1 -0
  1048. package/dist/team/index.d.ts +2 -1
  1049. package/dist/team/index.d.ts.map +1 -1
  1050. package/dist/team/index.js +1 -0
  1051. package/dist/team/index.js.map +1 -1
  1052. package/dist/team/leader-nudge-guidance.d.ts +23 -0
  1053. package/dist/team/leader-nudge-guidance.d.ts.map +1 -0
  1054. package/dist/team/leader-nudge-guidance.js +44 -0
  1055. package/dist/team/leader-nudge-guidance.js.map +1 -0
  1056. package/dist/team/mcp-comm.d.ts.map +1 -1
  1057. package/dist/team/mcp-comm.js +17 -3
  1058. package/dist/team/mcp-comm.js.map +1 -1
  1059. package/dist/team/mcp-team-bridge.d.ts.map +1 -1
  1060. package/dist/team/mcp-team-bridge.js +11 -48
  1061. package/dist/team/mcp-team-bridge.js.map +1 -1
  1062. package/dist/team/merge-coordinator.d.ts +3 -1
  1063. package/dist/team/merge-coordinator.d.ts.map +1 -1
  1064. package/dist/team/merge-coordinator.js +27 -5
  1065. package/dist/team/merge-coordinator.js.map +1 -1
  1066. package/dist/team/model-contract.d.ts +17 -0
  1067. package/dist/team/model-contract.d.ts.map +1 -1
  1068. package/dist/team/model-contract.js +49 -2
  1069. package/dist/team/model-contract.js.map +1 -1
  1070. package/dist/team/monitor.d.ts.map +1 -1
  1071. package/dist/team/monitor.js +69 -2
  1072. package/dist/team/monitor.js.map +1 -1
  1073. package/dist/team/outbox-reader.d.ts.map +1 -1
  1074. package/dist/team/outbox-reader.js +13 -10
  1075. package/dist/team/outbox-reader.js.map +1 -1
  1076. package/dist/team/phase-controller.js +2 -2
  1077. package/dist/team/phase-controller.js.map +1 -1
  1078. package/dist/team/role-router.d.ts +36 -0
  1079. package/dist/team/role-router.d.ts.map +1 -0
  1080. package/dist/team/role-router.js +215 -0
  1081. package/dist/team/role-router.js.map +1 -0
  1082. package/dist/team/runtime-cli.d.ts.map +1 -1
  1083. package/dist/team/runtime-cli.js +35 -0
  1084. package/dist/team/runtime-cli.js.map +1 -1
  1085. package/dist/team/runtime-v2.d.ts +1 -0
  1086. package/dist/team/runtime-v2.d.ts.map +1 -1
  1087. package/dist/team/runtime-v2.js +164 -49
  1088. package/dist/team/runtime-v2.js.map +1 -1
  1089. package/dist/team/runtime.d.ts.map +1 -1
  1090. package/dist/team/runtime.js +29 -15
  1091. package/dist/team/runtime.js.map +1 -1
  1092. package/dist/team/scaling.d.ts.map +1 -1
  1093. package/dist/team/scaling.js +12 -3
  1094. package/dist/team/scaling.js.map +1 -1
  1095. package/dist/team/state/tasks.js +1 -1
  1096. package/dist/team/state/tasks.js.map +1 -1
  1097. package/dist/team/state-paths.js +2 -2
  1098. package/dist/team/state-paths.js.map +1 -1
  1099. package/dist/team/task-file-ops.d.ts.map +1 -1
  1100. package/dist/team/task-file-ops.js +3 -43
  1101. package/dist/team/task-file-ops.js.map +1 -1
  1102. package/dist/team/task-router.d.ts.map +1 -1
  1103. package/dist/team/task-router.js +31 -1
  1104. package/dist/team/task-router.js.map +1 -1
  1105. package/dist/team/team-ops.d.ts.map +1 -1
  1106. package/dist/team/team-ops.js +93 -49
  1107. package/dist/team/team-ops.js.map +1 -1
  1108. package/dist/team/team-registration.d.ts.map +1 -1
  1109. package/dist/team/team-registration.js +18 -14
  1110. package/dist/team/team-registration.js.map +1 -1
  1111. package/dist/team/team-status.d.ts +1 -1
  1112. package/dist/team/team-status.d.ts.map +1 -1
  1113. package/dist/team/team-status.js +8 -5
  1114. package/dist/team/team-status.js.map +1 -1
  1115. package/dist/team/tmux-comm.d.ts.map +1 -1
  1116. package/dist/team/tmux-comm.js +5 -2
  1117. package/dist/team/tmux-comm.js.map +1 -1
  1118. package/dist/team/tmux-session.d.ts +32 -5
  1119. package/dist/team/tmux-session.d.ts.map +1 -1
  1120. package/dist/team/tmux-session.js +179 -50
  1121. package/dist/team/tmux-session.js.map +1 -1
  1122. package/dist/team/types.d.ts +16 -3
  1123. package/dist/team/types.d.ts.map +1 -1
  1124. package/dist/team/types.js.map +1 -1
  1125. package/dist/team/worker-bootstrap.d.ts.map +1 -1
  1126. package/dist/team/worker-bootstrap.js +36 -23
  1127. package/dist/team/worker-bootstrap.js.map +1 -1
  1128. package/dist/team/worker-canonicalization.d.ts +8 -0
  1129. package/dist/team/worker-canonicalization.d.ts.map +1 -0
  1130. package/dist/team/worker-canonicalization.js +98 -0
  1131. package/dist/team/worker-canonicalization.js.map +1 -0
  1132. package/dist/tools/__tests__/cancel-integration.test.js +57 -2
  1133. package/dist/tools/__tests__/cancel-integration.test.js.map +1 -1
  1134. package/dist/tools/__tests__/deepinit-manifest.test.d.ts +7 -0
  1135. package/dist/tools/__tests__/deepinit-manifest.test.d.ts.map +1 -0
  1136. package/dist/tools/__tests__/deepinit-manifest.test.js +559 -0
  1137. package/dist/tools/__tests__/deepinit-manifest.test.js.map +1 -0
  1138. package/dist/tools/__tests__/state-tools.test.js +16 -0
  1139. package/dist/tools/__tests__/state-tools.test.js.map +1 -1
  1140. package/dist/tools/ast-tools.d.ts.map +1 -1
  1141. package/dist/tools/ast-tools.js +11 -2
  1142. package/dist/tools/ast-tools.js.map +1 -1
  1143. package/dist/tools/deepinit-manifest.d.ts +88 -0
  1144. package/dist/tools/deepinit-manifest.d.ts.map +1 -0
  1145. package/dist/tools/deepinit-manifest.js +373 -0
  1146. package/dist/tools/deepinit-manifest.js.map +1 -0
  1147. package/dist/tools/diagnostics/tsc-runner.js +2 -2
  1148. package/dist/tools/diagnostics/tsc-runner.js.map +1 -1
  1149. package/dist/tools/lsp/__tests__/client-devcontainer.test.d.ts +2 -0
  1150. package/dist/tools/lsp/__tests__/client-devcontainer.test.d.ts.map +1 -0
  1151. package/dist/tools/lsp/__tests__/client-devcontainer.test.js +185 -0
  1152. package/dist/tools/lsp/__tests__/client-devcontainer.test.js.map +1 -0
  1153. package/dist/tools/lsp/__tests__/client-singleton.test.d.ts +2 -0
  1154. package/dist/tools/lsp/__tests__/client-singleton.test.d.ts.map +1 -0
  1155. package/dist/tools/lsp/__tests__/client-singleton.test.js +17 -0
  1156. package/dist/tools/lsp/__tests__/client-singleton.test.js.map +1 -0
  1157. package/dist/tools/lsp/__tests__/client-timeout-env.test.js +18 -2
  1158. package/dist/tools/lsp/__tests__/client-timeout-env.test.js.map +1 -1
  1159. package/dist/tools/lsp/__tests__/devcontainer.test.d.ts +2 -0
  1160. package/dist/tools/lsp/__tests__/devcontainer.test.d.ts.map +1 -0
  1161. package/dist/tools/lsp/__tests__/devcontainer.test.js +311 -0
  1162. package/dist/tools/lsp/__tests__/devcontainer.test.js.map +1 -0
  1163. package/dist/tools/lsp/client.d.ts +17 -3
  1164. package/dist/tools/lsp/client.d.ts.map +1 -1
  1165. package/dist/tools/lsp/client.js +228 -77
  1166. package/dist/tools/lsp/client.js.map +1 -1
  1167. package/dist/tools/lsp/devcontainer.d.ts +12 -0
  1168. package/dist/tools/lsp/devcontainer.d.ts.map +1 -0
  1169. package/dist/tools/lsp/devcontainer.js +276 -0
  1170. package/dist/tools/lsp/devcontainer.js.map +1 -0
  1171. package/dist/tools/lsp/index.d.ts +2 -0
  1172. package/dist/tools/lsp/index.d.ts.map +1 -1
  1173. package/dist/tools/lsp/index.js +1 -0
  1174. package/dist/tools/lsp/index.js.map +1 -1
  1175. package/dist/tools/lsp/servers.d.ts +1 -0
  1176. package/dist/tools/lsp/servers.d.ts.map +1 -1
  1177. package/dist/tools/lsp/servers.js +20 -5
  1178. package/dist/tools/lsp/servers.js.map +1 -1
  1179. package/dist/tools/lsp/utils.d.ts.map +1 -1
  1180. package/dist/tools/lsp/utils.js +7 -1
  1181. package/dist/tools/lsp/utils.js.map +1 -1
  1182. package/dist/tools/python-repl/__tests__/bridge-manager-cleanup.test.js +34 -1
  1183. package/dist/tools/python-repl/__tests__/bridge-manager-cleanup.test.js.map +1 -1
  1184. package/dist/tools/python-repl/bridge-manager.d.ts +2 -0
  1185. package/dist/tools/python-repl/bridge-manager.d.ts.map +1 -1
  1186. package/dist/tools/python-repl/bridge-manager.js +38 -2
  1187. package/dist/tools/python-repl/bridge-manager.js.map +1 -1
  1188. package/dist/tools/python-repl/socket-client.d.ts.map +1 -1
  1189. package/dist/tools/python-repl/socket-client.js +37 -7
  1190. package/dist/tools/python-repl/socket-client.js.map +1 -1
  1191. package/dist/tools/python-repl/tool.d.ts.map +1 -1
  1192. package/dist/tools/python-repl/tool.js +1 -5
  1193. package/dist/tools/python-repl/tool.js.map +1 -1
  1194. package/dist/tools/state-tools.d.ts.map +1 -1
  1195. package/dist/tools/state-tools.js +193 -57
  1196. package/dist/tools/state-tools.js.map +1 -1
  1197. package/dist/tools/trace-tools.d.ts.map +1 -1
  1198. package/dist/tools/trace-tools.js +7 -5
  1199. package/dist/tools/trace-tools.js.map +1 -1
  1200. package/dist/tools/types.d.ts +16 -0
  1201. package/dist/tools/types.d.ts.map +1 -1
  1202. package/dist/utils/__tests__/paths.test.js +86 -1
  1203. package/dist/utils/__tests__/paths.test.js.map +1 -1
  1204. package/dist/utils/jsonc.d.ts.map +1 -1
  1205. package/dist/utils/jsonc.js +6 -2
  1206. package/dist/utils/jsonc.js.map +1 -1
  1207. package/dist/utils/omc-cli-rendering.d.ts +8 -0
  1208. package/dist/utils/omc-cli-rendering.d.ts.map +1 -0
  1209. package/dist/utils/omc-cli-rendering.js +37 -0
  1210. package/dist/utils/omc-cli-rendering.js.map +1 -0
  1211. package/dist/utils/paths.d.ts +32 -1
  1212. package/dist/utils/paths.d.ts.map +1 -1
  1213. package/dist/utils/paths.js +103 -8
  1214. package/dist/utils/paths.js.map +1 -1
  1215. package/dist/utils/skill-resources.d.ts +7 -0
  1216. package/dist/utils/skill-resources.d.ts.map +1 -0
  1217. package/dist/utils/skill-resources.js +53 -0
  1218. package/dist/utils/skill-resources.js.map +1 -0
  1219. package/dist/utils/ssrf-guard.d.ts.map +1 -1
  1220. package/dist/utils/ssrf-guard.js +22 -0
  1221. package/dist/utils/ssrf-guard.js.map +1 -1
  1222. package/docs/ARCHITECTURE.md +468 -37
  1223. package/docs/CLAUDE.md +1 -1
  1224. package/docs/COMPATIBILITY.md +18 -1
  1225. package/docs/LOCAL_PLUGIN_INSTALL.md +17 -3
  1226. package/docs/MIGRATION.md +8 -46
  1227. package/docs/PERFORMANCE-MONITORING.md +2 -2
  1228. package/docs/REFERENCE.md +99 -58
  1229. package/docs/design/SKILLS_2_0_ADAPTATION.md +115 -0
  1230. package/docs/ko/ARCHITECTURE.md +1 -1
  1231. package/docs/ko/MIGRATION.md +7 -47
  1232. package/docs/ko/REFERENCE.md +1 -15
  1233. package/docs/partials/features.md +1 -32
  1234. package/docs/partials/mode-hierarchy.md +7 -22
  1235. package/docs/partials/verification-tiers.md +1 -1
  1236. package/docs/plans/2026-02-26-skill-optimization-design.md +3 -3
  1237. package/docs/shared/features.md +1 -32
  1238. package/docs/shared/mode-hierarchy.md +7 -22
  1239. package/docs/shared/verification-tiers.md +1 -1
  1240. package/hooks/hooks.json +21 -31
  1241. package/package.json +1 -1
  1242. package/scripts/cleanup-orphans.mjs +12 -9
  1243. package/scripts/context-guard-stop.mjs +13 -5
  1244. package/scripts/context-safety.mjs +12 -149
  1245. package/scripts/eval-autoresearch-json.mjs +49 -0
  1246. package/scripts/eval-autoresearch-timed-json.mjs +62 -0
  1247. package/scripts/generate-featured-contributors.ts +43 -0
  1248. package/scripts/keyword-detector.mjs +136 -36
  1249. package/scripts/persistent-mode.cjs +87 -25
  1250. package/scripts/persistent-mode.mjs +37 -17
  1251. package/scripts/plugin-setup.mjs +19 -16
  1252. package/scripts/post-tool-verifier.mjs +25 -20
  1253. package/scripts/pre-tool-enforcer.mjs +184 -6
  1254. package/scripts/project-memory-session.mjs +5 -1
  1255. package/scripts/release.ts +511 -0
  1256. package/scripts/run-provider-advisor.js +10 -4
  1257. package/scripts/session-end.mjs +3 -2
  1258. package/scripts/session-start.mjs +118 -4
  1259. package/scripts/session-summary.mjs +241 -0
  1260. package/scripts/setup-claude-md.sh +140 -3
  1261. package/scripts/skill-injector.mjs +2 -1
  1262. package/scripts/sync-metadata.ts +41 -7
  1263. package/scripts/sync-version.sh +42 -0
  1264. package/skills/AGENTS.md +108 -74
  1265. package/skills/ai-slop-cleaner/SKILL.md +120 -117
  1266. package/skills/ask/SKILL.md +4 -2
  1267. package/skills/autopilot/SKILL.md +1 -0
  1268. package/skills/cancel/SKILL.md +62 -0
  1269. package/skills/ccg/SKILL.md +7 -13
  1270. package/skills/configure-notifications/SKILL.md +1 -0
  1271. package/skills/deep-dive/SKILL.md +476 -0
  1272. package/skills/deep-interview/SKILL.md +109 -14
  1273. package/skills/deepinit/SKILL.md +1 -0
  1274. package/skills/external-context/SKILL.md +1 -0
  1275. package/skills/hud/SKILL.md +6 -5
  1276. package/skills/learner/SKILL.md +63 -57
  1277. package/skills/mcp-setup/SKILL.md +1 -0
  1278. package/skills/omc-doctor/SKILL.md +6 -5
  1279. package/skills/omc-reference/SKILL.md +141 -0
  1280. package/skills/omc-setup/SKILL.md +11 -2
  1281. package/skills/omc-setup/phases/01-install-claude-md.md +11 -1
  1282. package/skills/omc-setup/phases/02-configure.md +3 -1
  1283. package/skills/omc-teams/SKILL.md +9 -5
  1284. package/skills/plan/SKILL.md +23 -7
  1285. package/skills/project-session-manager/SKILL.md +3 -2
  1286. package/skills/ralph/SKILL.md +17 -1
  1287. package/skills/ralplan/SKILL.md +4 -1
  1288. package/skills/release/SKILL.md +1 -0
  1289. package/skills/sciomc/SKILL.md +1 -0
  1290. package/skills/setup/SKILL.md +9 -8
  1291. package/skills/skill-creator/SKILL.md +311 -0
  1292. package/skills/skill-creator/references/upstream-anthropic-skill-creator.md +485 -0
  1293. package/skills/skill-debugger/README.md +52 -0
  1294. package/skills/skill-debugger/SKILL.md +146 -270
  1295. package/skills/skill-quality-analyzer/HOW_TO_USE.md +92 -185
  1296. package/skills/skill-quality-analyzer/README.md +39 -35
  1297. package/skills/skill-quality-analyzer/SKILL.md +105 -196
  1298. package/skills/skill-tester/README.md +31 -23
  1299. package/skills/skill-tester/SKILL.md +116 -266
  1300. package/skills/team/SKILL.md +1 -0
  1301. package/skills/trace/SKILL.md +262 -0
  1302. package/skills/ultraqa/SKILL.md +1 -0
  1303. package/skills/ultrawork/SKILL.md +1 -0
  1304. package/skills/visual-verdict/SKILL.md +77 -0
  1305. package/skills/writer-memory/SKILL.md +1 -0
  1306. package/templates/hooks/keyword-detector.mjs +89 -25
  1307. package/templates/hooks/persistent-mode.mjs +33 -9
  1308. package/templates/hooks/post-tool-use-failure.mjs +2 -5
  1309. package/templates/hooks/pre-tool-use.mjs +47 -1
  1310. package/templates/hooks/session-start.mjs +105 -14
  1311. package/templates/hooks/stop-continuation.mjs +7 -1
  1312. package/dist/__tests__/codex-backoff.test.d.ts +0 -2
  1313. package/dist/__tests__/codex-backoff.test.d.ts.map +0 -1
  1314. package/dist/__tests__/codex-backoff.test.js +0 -143
  1315. package/dist/__tests__/codex-backoff.test.js.map +0 -1
  1316. package/dist/__tests__/codex-callsite-normalization.test.js +0 -112
  1317. package/dist/__tests__/compatibility-security.test.d.ts +0 -13
  1318. package/dist/__tests__/compatibility-security.test.d.ts.map +0 -1
  1319. package/dist/__tests__/compatibility-security.test.js +0 -403
  1320. package/dist/__tests__/compatibility-security.test.js.map +0 -1
  1321. package/dist/__tests__/compatibility.test.d.ts +0 -7
  1322. package/dist/__tests__/compatibility.test.d.ts.map +0 -1
  1323. package/dist/__tests__/compatibility.test.js +0 -484
  1324. package/dist/__tests__/compatibility.test.js.map +0 -1
  1325. package/dist/__tests__/example.test.d.ts +0 -2
  1326. package/dist/__tests__/example.test.d.ts.map +0 -1
  1327. package/dist/__tests__/example.test.js +0 -20
  1328. package/dist/__tests__/example.test.js.map +0 -1
  1329. package/dist/__tests__/hud/analytics-display.test.d.ts +0 -2
  1330. package/dist/__tests__/hud/analytics-display.test.d.ts.map +0 -1
  1331. package/dist/__tests__/hud/analytics-display.test.js +0 -236
  1332. package/dist/__tests__/hud/analytics-display.test.js.map +0 -1
  1333. package/dist/__tests__/hud/top-agents.test.d.ts +0 -8
  1334. package/dist/__tests__/hud/top-agents.test.d.ts.map +0 -1
  1335. package/dist/__tests__/hud/top-agents.test.js +0 -158
  1336. package/dist/__tests__/hud/top-agents.test.js.map +0 -1
  1337. package/dist/__tests__/inline-prompt-integration.test.d.ts +0 -2
  1338. package/dist/__tests__/inline-prompt-integration.test.d.ts.map +0 -1
  1339. package/dist/__tests__/inline-prompt-integration.test.js +0 -411
  1340. package/dist/__tests__/inline-prompt-integration.test.js.map +0 -1
  1341. package/dist/__tests__/inline-success-shape.test.d.ts +0 -2
  1342. package/dist/__tests__/inline-success-shape.test.d.ts.map +0 -1
  1343. package/dist/__tests__/inline-success-shape.test.js +0 -130
  1344. package/dist/__tests__/inline-success-shape.test.js.map +0 -1
  1345. package/dist/__tests__/mcp-fallback-429.test.d.ts +0 -2
  1346. package/dist/__tests__/mcp-fallback-429.test.d.ts.map +0 -1
  1347. package/dist/__tests__/mcp-fallback-429.test.js +0 -193
  1348. package/dist/__tests__/mcp-fallback-429.test.js.map +0 -1
  1349. package/dist/__tests__/mcp-server-workflows.test.d.ts +0 -2
  1350. package/dist/__tests__/mcp-server-workflows.test.d.ts.map +0 -1
  1351. package/dist/__tests__/mcp-server-workflows.test.js +0 -301
  1352. package/dist/__tests__/mcp-server-workflows.test.js.map +0 -1
  1353. package/dist/__tests__/multi-model-mcp-integration.test.d.ts +0 -2
  1354. package/dist/__tests__/multi-model-mcp-integration.test.d.ts.map +0 -1
  1355. package/dist/__tests__/multi-model-mcp-integration.test.js +0 -69
  1356. package/dist/__tests__/multi-model-mcp-integration.test.js.map +0 -1
  1357. package/dist/__tests__/multi-model-mcp.test.d.ts +0 -2
  1358. package/dist/__tests__/multi-model-mcp.test.d.ts.map +0 -1
  1359. package/dist/__tests__/multi-model-mcp.test.js +0 -145
  1360. package/dist/__tests__/multi-model-mcp.test.js.map +0 -1
  1361. package/dist/__tests__/omc-shorthand.test.d.ts +0 -2
  1362. package/dist/__tests__/omc-shorthand.test.d.ts.map +0 -1
  1363. package/dist/__tests__/omc-shorthand.test.js +0 -73
  1364. package/dist/__tests__/omc-shorthand.test.js.map +0 -1
  1365. package/dist/__tests__/prompt-file-only.test.d.ts +0 -2
  1366. package/dist/__tests__/prompt-file-only.test.d.ts.map +0 -1
  1367. package/dist/__tests__/prompt-file-only.test.js +0 -263
  1368. package/dist/__tests__/prompt-file-only.test.js.map +0 -1
  1369. package/dist/__tests__/session-catalog.test.d.ts +0 -2
  1370. package/dist/__tests__/session-catalog.test.d.ts.map +0 -1
  1371. package/dist/__tests__/session-catalog.test.js +0 -195
  1372. package/dist/__tests__/session-catalog.test.js.map +0 -1
  1373. package/dist/__tests__/session-migration.test.d.ts +0 -2
  1374. package/dist/__tests__/session-migration.test.d.ts.map +0 -1
  1375. package/dist/__tests__/session-migration.test.js +0 -155
  1376. package/dist/__tests__/session-migration.test.js.map +0 -1
  1377. package/dist/__tests__/shell-path.test.d.ts +0 -5
  1378. package/dist/__tests__/shell-path.test.d.ts.map +0 -1
  1379. package/dist/__tests__/shell-path.test.js +0 -70
  1380. package/dist/__tests__/shell-path.test.js.map +0 -1
  1381. package/dist/__tests__/smoke-functional.test.d.ts +0 -8
  1382. package/dist/__tests__/smoke-functional.test.d.ts.map +0 -1
  1383. package/dist/__tests__/smoke-functional.test.js +0 -450
  1384. package/dist/__tests__/smoke-functional.test.js.map +0 -1
  1385. package/dist/__tests__/smoke-team-worker.test.d.ts +0 -15
  1386. package/dist/__tests__/smoke-team-worker.test.d.ts.map +0 -1
  1387. package/dist/__tests__/smoke-team-worker.test.js +0 -483
  1388. package/dist/__tests__/smoke-team-worker.test.js.map +0 -1
  1389. package/dist/__tests__/validate-and-read-file.test.d.ts +0 -2
  1390. package/dist/__tests__/validate-and-read-file.test.d.ts.map +0 -1
  1391. package/dist/__tests__/validate-and-read-file.test.js +0 -84
  1392. package/dist/__tests__/validate-and-read-file.test.js.map +0 -1
  1393. package/dist/__tests__/worker-adapter.test.d.ts +0 -5
  1394. package/dist/__tests__/worker-adapter.test.d.ts.map +0 -1
  1395. package/dist/__tests__/worker-adapter.test.js +0 -211
  1396. package/dist/__tests__/worker-adapter.test.js.map +0 -1
  1397. package/dist/agents/coordinator-deprecated.d.ts +0 -18
  1398. package/dist/agents/coordinator-deprecated.d.ts.map +0 -1
  1399. package/dist/agents/coordinator-deprecated.js +0 -38
  1400. package/dist/agents/coordinator-deprecated.js.map +0 -1
  1401. package/dist/agents/deep-executor.d.ts +0 -15
  1402. package/dist/agents/deep-executor.d.ts.map +0 -1
  1403. package/dist/agents/deep-executor.js +0 -45
  1404. package/dist/agents/deep-executor.js.map +0 -1
  1405. package/dist/agents/delegation-validator.d.ts +0 -31
  1406. package/dist/agents/delegation-validator.d.ts.map +0 -1
  1407. package/dist/agents/delegation-validator.js +0 -75
  1408. package/dist/agents/delegation-validator.js.map +0 -1
  1409. package/dist/agents/harsh-critic.d.ts +0 -14
  1410. package/dist/agents/harsh-critic.d.ts.map +0 -1
  1411. package/dist/agents/harsh-critic.js +0 -42
  1412. package/dist/agents/harsh-critic.js.map +0 -1
  1413. package/dist/agents/preamble.d.ts +0 -38
  1414. package/dist/agents/preamble.d.ts.map +0 -1
  1415. package/dist/agents/preamble.js +0 -122
  1416. package/dist/agents/preamble.js.map +0 -1
  1417. package/dist/agents/prompt-generator.d.ts +0 -96
  1418. package/dist/agents/prompt-generator.d.ts.map +0 -1
  1419. package/dist/agents/prompt-generator.js +0 -141
  1420. package/dist/agents/prompt-generator.js.map +0 -1
  1421. package/dist/agents/researcher.d.ts +0 -12
  1422. package/dist/agents/researcher.d.ts.map +0 -1
  1423. package/dist/agents/researcher.js +0 -40
  1424. package/dist/agents/researcher.js.map +0 -1
  1425. package/dist/agents/vision.d.ts +0 -11
  1426. package/dist/agents/vision.d.ts.map +0 -1
  1427. package/dist/agents/vision.js +0 -40
  1428. package/dist/agents/vision.js.map +0 -1
  1429. package/dist/cli/commands/__tests__/cleanup.test.d.ts +0 -2
  1430. package/dist/cli/commands/__tests__/cleanup.test.d.ts.map +0 -1
  1431. package/dist/cli/commands/__tests__/cleanup.test.js +0 -37
  1432. package/dist/cli/commands/__tests__/cleanup.test.js.map +0 -1
  1433. package/dist/compatibility/discovery.d.ts +0 -58
  1434. package/dist/compatibility/discovery.d.ts.map +0 -1
  1435. package/dist/compatibility/discovery.js +0 -620
  1436. package/dist/compatibility/discovery.js.map +0 -1
  1437. package/dist/compatibility/index.d.ts +0 -51
  1438. package/dist/compatibility/index.d.ts.map +0 -1
  1439. package/dist/compatibility/index.js +0 -72
  1440. package/dist/compatibility/index.js.map +0 -1
  1441. package/dist/compatibility/mcp-bridge.d.ts +0 -143
  1442. package/dist/compatibility/mcp-bridge.d.ts.map +0 -1
  1443. package/dist/compatibility/mcp-bridge.js +0 -540
  1444. package/dist/compatibility/mcp-bridge.js.map +0 -1
  1445. package/dist/compatibility/permission-adapter.d.ts +0 -79
  1446. package/dist/compatibility/permission-adapter.d.ts.map +0 -1
  1447. package/dist/compatibility/permission-adapter.js +0 -369
  1448. package/dist/compatibility/permission-adapter.js.map +0 -1
  1449. package/dist/compatibility/registry.d.ts +0 -161
  1450. package/dist/compatibility/registry.d.ts.map +0 -1
  1451. package/dist/compatibility/registry.js +0 -389
  1452. package/dist/compatibility/registry.js.map +0 -1
  1453. package/dist/compatibility/types.d.ts +0 -249
  1454. package/dist/compatibility/types.d.ts.map +0 -1
  1455. package/dist/compatibility/types.js +0 -8
  1456. package/dist/compatibility/types.js.map +0 -1
  1457. package/dist/features/model-routing/__tests__/external-model-policy.test.d.ts +0 -2
  1458. package/dist/features/model-routing/__tests__/external-model-policy.test.d.ts.map +0 -1
  1459. package/dist/features/model-routing/__tests__/external-model-policy.test.js +0 -476
  1460. package/dist/features/model-routing/__tests__/external-model-policy.test.js.map +0 -1
  1461. package/dist/features/model-routing/external-model-policy.d.ts +0 -27
  1462. package/dist/features/model-routing/external-model-policy.d.ts.map +0 -1
  1463. package/dist/features/model-routing/external-model-policy.js +0 -145
  1464. package/dist/features/model-routing/external-model-policy.js.map +0 -1
  1465. package/dist/features/verification/example.d.ts +0 -49
  1466. package/dist/features/verification/example.d.ts.map +0 -1
  1467. package/dist/features/verification/example.js +0 -237
  1468. package/dist/features/verification/example.js.map +0 -1
  1469. package/dist/hooks/setup/__tests__/github-star.test.d.ts +0 -8
  1470. package/dist/hooks/setup/__tests__/github-star.test.d.ts.map +0 -1
  1471. package/dist/hooks/setup/__tests__/github-star.test.js +0 -208
  1472. package/dist/hooks/setup/__tests__/github-star.test.js.map +0 -1
  1473. package/dist/hooks/setup/github-star.d.ts +0 -37
  1474. package/dist/hooks/setup/github-star.d.ts.map +0 -1
  1475. package/dist/hooks/setup/github-star.js +0 -123
  1476. package/dist/hooks/setup/github-star.js.map +0 -1
  1477. package/dist/hooks/swarm/__tests__/addMoreTasks.test.d.ts +0 -2
  1478. package/dist/hooks/swarm/__tests__/addMoreTasks.test.d.ts.map +0 -1
  1479. package/dist/hooks/swarm/__tests__/addMoreTasks.test.js +0 -203
  1480. package/dist/hooks/swarm/__tests__/addMoreTasks.test.js.map +0 -1
  1481. package/dist/hooks/swarm/__tests__/aggressive-swarm.integration.test.d.ts +0 -2
  1482. package/dist/hooks/swarm/__tests__/aggressive-swarm.integration.test.d.ts.map +0 -1
  1483. package/dist/hooks/swarm/__tests__/aggressive-swarm.integration.test.js +0 -273
  1484. package/dist/hooks/swarm/__tests__/aggressive-swarm.integration.test.js.map +0 -1
  1485. package/dist/hooks/swarm/__tests__/claiming.test.d.ts +0 -2
  1486. package/dist/hooks/swarm/__tests__/claiming.test.d.ts.map +0 -1
  1487. package/dist/hooks/swarm/__tests__/claiming.test.js +0 -170
  1488. package/dist/hooks/swarm/__tests__/claiming.test.js.map +0 -1
  1489. package/dist/hooks/swarm/__tests__/index.test.d.ts.map +0 -1
  1490. package/dist/hooks/swarm/__tests__/index.test.js +0 -157
  1491. package/dist/hooks/swarm/__tests__/index.test.js.map +0 -1
  1492. package/dist/hooks/swarm/__tests__/migration.test.d.ts +0 -2
  1493. package/dist/hooks/swarm/__tests__/migration.test.d.ts.map +0 -1
  1494. package/dist/hooks/swarm/__tests__/migration.test.js +0 -140
  1495. package/dist/hooks/swarm/__tests__/migration.test.js.map +0 -1
  1496. package/dist/hooks/swarm/__tests__/mode-registry.test.d.ts +0 -2
  1497. package/dist/hooks/swarm/__tests__/mode-registry.test.d.ts.map +0 -1
  1498. package/dist/hooks/swarm/__tests__/mode-registry.test.js +0 -177
  1499. package/dist/hooks/swarm/__tests__/mode-registry.test.js.map +0 -1
  1500. package/dist/hooks/swarm/__tests__/priority-claiming.test.d.ts +0 -2
  1501. package/dist/hooks/swarm/__tests__/priority-claiming.test.d.ts.map +0 -1
  1502. package/dist/hooks/swarm/__tests__/priority-claiming.test.js +0 -122
  1503. package/dist/hooks/swarm/__tests__/priority-claiming.test.js.map +0 -1
  1504. package/dist/hooks/swarm/__tests__/types.test.d.ts +0 -2
  1505. package/dist/hooks/swarm/__tests__/types.test.d.ts.map +0 -1
  1506. package/dist/hooks/swarm/__tests__/types.test.js +0 -73
  1507. package/dist/hooks/swarm/__tests__/types.test.js.map +0 -1
  1508. package/dist/hooks/swarm/claiming.d.ts +0 -123
  1509. package/dist/hooks/swarm/claiming.d.ts.map +0 -1
  1510. package/dist/hooks/swarm/claiming.js +0 -639
  1511. package/dist/hooks/swarm/claiming.js.map +0 -1
  1512. package/dist/hooks/swarm/index.d.ts +0 -261
  1513. package/dist/hooks/swarm/index.d.ts.map +0 -1
  1514. package/dist/hooks/swarm/index.js +0 -485
  1515. package/dist/hooks/swarm/index.js.map +0 -1
  1516. package/dist/hooks/swarm/state.d.ts +0 -131
  1517. package/dist/hooks/swarm/state.d.ts.map +0 -1
  1518. package/dist/hooks/swarm/state.js +0 -690
  1519. package/dist/hooks/swarm/state.js.map +0 -1
  1520. package/dist/hooks/swarm/types.d.ts +0 -138
  1521. package/dist/hooks/swarm/types.d.ts.map +0 -1
  1522. package/dist/hooks/swarm/types.js +0 -22
  1523. package/dist/hooks/swarm/types.js.map +0 -1
  1524. package/dist/hooks/ultrapilot/decomposer.d.ts +0 -141
  1525. package/dist/hooks/ultrapilot/decomposer.d.ts.map +0 -1
  1526. package/dist/hooks/ultrapilot/decomposer.js +0 -379
  1527. package/dist/hooks/ultrapilot/decomposer.js.map +0 -1
  1528. package/dist/hooks/ultrapilot/index.d.ts +0 -121
  1529. package/dist/hooks/ultrapilot/index.d.ts.map +0 -1
  1530. package/dist/hooks/ultrapilot/index.js +0 -353
  1531. package/dist/hooks/ultrapilot/index.js.map +0 -1
  1532. package/dist/hooks/ultrapilot/state.d.ts +0 -72
  1533. package/dist/hooks/ultrapilot/state.d.ts.map +0 -1
  1534. package/dist/hooks/ultrapilot/state.js +0 -275
  1535. package/dist/hooks/ultrapilot/state.js.map +0 -1
  1536. package/dist/hooks/ultrapilot/types.d.ts +0 -115
  1537. package/dist/hooks/ultrapilot/types.d.ts.map +0 -1
  1538. package/dist/hooks/ultrapilot/types.js +0 -36
  1539. package/dist/hooks/ultrapilot/types.js.map +0 -1
  1540. package/dist/interop/__tests__/worker-adapter-integration.test.d.ts +0 -2
  1541. package/dist/interop/__tests__/worker-adapter-integration.test.d.ts.map +0 -1
  1542. package/dist/interop/__tests__/worker-adapter-integration.test.js +0 -219
  1543. package/dist/interop/__tests__/worker-adapter-integration.test.js.map +0 -1
  1544. package/dist/interop/__tests__/worker-adapter.test.d.ts +0 -2
  1545. package/dist/interop/__tests__/worker-adapter.test.d.ts.map +0 -1
  1546. package/dist/interop/__tests__/worker-adapter.test.js +0 -408
  1547. package/dist/interop/__tests__/worker-adapter.test.js.map +0 -1
  1548. package/dist/interop/adapter-types.d.ts +0 -39
  1549. package/dist/interop/adapter-types.d.ts.map +0 -1
  1550. package/dist/interop/adapter-types.js +0 -9
  1551. package/dist/interop/adapter-types.js.map +0 -1
  1552. package/dist/interop/worker-adapter.d.ts +0 -116
  1553. package/dist/interop/worker-adapter.d.ts.map +0 -1
  1554. package/dist/interop/worker-adapter.js +0 -324
  1555. package/dist/interop/worker-adapter.js.map +0 -1
  1556. package/dist/mcp/__tests__/codex-reasoning-effort.test.d.ts +0 -2
  1557. package/dist/mcp/__tests__/codex-reasoning-effort.test.d.ts.map +0 -1
  1558. package/dist/mcp/__tests__/codex-reasoning-effort.test.js +0 -175
  1559. package/dist/mcp/__tests__/codex-reasoning-effort.test.js.map +0 -1
  1560. package/dist/mcp/__tests__/job-state-db-deprecation.test.d.ts +0 -2
  1561. package/dist/mcp/__tests__/job-state-db-deprecation.test.d.ts.map +0 -1
  1562. package/dist/mcp/__tests__/job-state-db-deprecation.test.js +0 -119
  1563. package/dist/mcp/__tests__/job-state-db-deprecation.test.js.map +0 -1
  1564. package/dist/mcp/__tests__/shared-exec.test.d.ts +0 -2
  1565. package/dist/mcp/__tests__/shared-exec.test.d.ts.map +0 -1
  1566. package/dist/mcp/__tests__/shared-exec.test.js +0 -151
  1567. package/dist/mcp/__tests__/shared-exec.test.js.map +0 -1
  1568. package/dist/mcp/__tests__/team-server-deprecation.test.d.ts +0 -2
  1569. package/dist/mcp/__tests__/team-server-deprecation.test.d.ts.map +0 -1
  1570. package/dist/mcp/__tests__/team-server-deprecation.test.js +0 -56
  1571. package/dist/mcp/__tests__/team-server-deprecation.test.js.map +0 -1
  1572. package/dist/mcp/cli-detection.d.ts +0 -22
  1573. package/dist/mcp/cli-detection.d.ts.map +0 -1
  1574. package/dist/mcp/cli-detection.js +0 -77
  1575. package/dist/mcp/cli-detection.js.map +0 -1
  1576. package/dist/mcp/codex-core.d.ts +0 -119
  1577. package/dist/mcp/codex-core.d.ts.map +0 -1
  1578. package/dist/mcp/codex-core.js +0 -942
  1579. package/dist/mcp/codex-core.js.map +0 -1
  1580. package/dist/mcp/codex-request-normalizer.js +0 -59
  1581. package/dist/mcp/codex-server.d.ts +0 -20
  1582. package/dist/mcp/codex-server.d.ts.map +0 -1
  1583. package/dist/mcp/codex-server.js +0 -81
  1584. package/dist/mcp/codex-server.js.map +0 -1
  1585. package/dist/mcp/codex-standalone-server.d.ts +0 -8
  1586. package/dist/mcp/codex-standalone-server.d.ts.map +0 -1
  1587. package/dist/mcp/codex-standalone-server.js +0 -81
  1588. package/dist/mcp/codex-standalone-server.js.map +0 -1
  1589. package/dist/mcp/gemini-core.d.ts +0 -75
  1590. package/dist/mcp/gemini-core.d.ts.map +0 -1
  1591. package/dist/mcp/gemini-core.js +0 -674
  1592. package/dist/mcp/gemini-core.js.map +0 -1
  1593. package/dist/mcp/gemini-server.d.ts +0 -20
  1594. package/dist/mcp/gemini-server.d.ts.map +0 -1
  1595. package/dist/mcp/gemini-server.js +0 -69
  1596. package/dist/mcp/gemini-server.js.map +0 -1
  1597. package/dist/mcp/gemini-standalone-server.d.ts +0 -8
  1598. package/dist/mcp/gemini-standalone-server.d.ts.map +0 -1
  1599. package/dist/mcp/gemini-standalone-server.js +0 -72
  1600. package/dist/mcp/gemini-standalone-server.js.map +0 -1
  1601. package/dist/mcp/job-state-db.d.ts +0 -2
  1602. package/dist/mcp/job-state-db.d.ts.map +0 -1
  1603. package/dist/mcp/job-state-db.js +0 -3
  1604. package/dist/mcp/job-state-db.js.map +0 -1
  1605. package/dist/mcp/shared-exec.d.ts +0 -50
  1606. package/dist/mcp/shared-exec.d.ts.map +0 -1
  1607. package/dist/mcp/shared-exec.js +0 -182
  1608. package/dist/mcp/shared-exec.js.map +0 -1
  1609. package/dist/team/__tests__/cli-path-resolution.test.d.ts +0 -2
  1610. package/dist/team/__tests__/cli-path-resolution.test.d.ts.map +0 -1
  1611. package/dist/team/__tests__/cli-path-resolution.test.js +0 -281
  1612. package/dist/team/__tests__/cli-path-resolution.test.js.map +0 -1
  1613. package/dist/team/__tests__/layout-stabilizer.test.d.ts +0 -2
  1614. package/dist/team/__tests__/layout-stabilizer.test.d.ts.map +0 -1
  1615. package/dist/team/__tests__/layout-stabilizer.test.js +0 -217
  1616. package/dist/team/__tests__/layout-stabilizer.test.js.map +0 -1
  1617. package/dist/team/__tests__/pane-readiness.test.d.ts +0 -2
  1618. package/dist/team/__tests__/pane-readiness.test.d.ts.map +0 -1
  1619. package/dist/team/__tests__/pane-readiness.test.js +0 -185
  1620. package/dist/team/__tests__/pane-readiness.test.js.map +0 -1
  1621. package/dist/team/__tests__/runtime-gemini-prompt.test.d.ts +0 -2
  1622. package/dist/team/__tests__/runtime-gemini-prompt.test.d.ts.map +0 -1
  1623. package/dist/team/__tests__/runtime-gemini-prompt.test.js +0 -153
  1624. package/dist/team/__tests__/runtime-gemini-prompt.test.js.map +0 -1
  1625. package/dist/team/__tests__/runtime-interop-spawn-regression.test.d.ts +0 -2
  1626. package/dist/team/__tests__/runtime-interop-spawn-regression.test.d.ts.map +0 -1
  1627. package/dist/team/__tests__/runtime-interop-spawn-regression.test.js +0 -139
  1628. package/dist/team/__tests__/runtime-interop-spawn-regression.test.js.map +0 -1
  1629. package/dist/team/__tests__/shell-path.test.d.ts +0 -2
  1630. package/dist/team/__tests__/shell-path.test.d.ts.map +0 -1
  1631. package/dist/team/__tests__/shell-path.test.js +0 -193
  1632. package/dist/team/__tests__/shell-path.test.js.map +0 -1
  1633. package/dist/team/__tests__/wait-for-shell-ready.test.d.ts +0 -2
  1634. package/dist/team/__tests__/wait-for-shell-ready.test.d.ts.map +0 -1
  1635. package/dist/team/__tests__/wait-for-shell-ready.test.js +0 -242
  1636. package/dist/team/__tests__/wait-for-shell-ready.test.js.map +0 -1
  1637. package/dist/team/shell-path.d.ts +0 -21
  1638. package/dist/team/shell-path.d.ts.map +0 -1
  1639. package/dist/team/shell-path.js +0 -73
  1640. package/dist/team/shell-path.js.map +0 -1
  1641. package/scripts/ask-codex.sh +0 -24
  1642. package/scripts/ask-gemini.sh +0 -24
  1643. package/scripts/build-gemini-server.mjs +0 -74
  1644. package/scripts/test-codex-gemini-team.mjs +0 -78
  1645. package/skills/skill-development/SKILL.md +0 -218
  1646. package/skills/skill-development/references/description-patterns.md +0 -160
  1647. package/skills/skill-development/references/format-guide.md +0 -203
  1648. /package/dist/{hooks/swarm → features/delegation-categories}/__tests__/index.test.d.ts +0 -0
@@ -0,0 +1,352 @@
1
+ import { describe, it, expect } from 'vitest';
2
+ import { execFileSync } from 'node:child_process';
3
+ import { mkdtemp, mkdir, readFile, rm, writeFile } from 'node:fs/promises';
4
+ import { join } from 'node:path';
5
+ import { tmpdir } from 'node:os';
6
+ import { assertResetSafeWorktree, decideAutoresearchOutcome, loadAutoresearchRunManifest, materializeAutoresearchMissionToWorktree, prepareAutoresearchRuntime, processAutoresearchCandidate, resumeAutoresearchRuntime, } from '../runtime.js';
7
+ async function initRepo() {
8
+ const cwd = await mkdtemp(join(tmpdir(), 'omc-autoresearch-parity-extra-'));
9
+ execFileSync('git', ['init'], { cwd, stdio: 'ignore' });
10
+ execFileSync('git', ['config', 'user.email', 'test@example.com'], { cwd, stdio: 'ignore' });
11
+ execFileSync('git', ['config', 'user.name', 'Test User'], { cwd, stdio: 'ignore' });
12
+ await writeFile(join(cwd, 'README.md'), 'hello\n', 'utf-8');
13
+ execFileSync('git', ['add', 'README.md'], { cwd, stdio: 'ignore' });
14
+ execFileSync('git', ['commit', '-m', 'init'], { cwd, stdio: 'ignore' });
15
+ return cwd;
16
+ }
17
+ async function makeContract(repo, keepPolicy) {
18
+ const missionDir = join(repo, 'missions', 'demo');
19
+ await mkdir(missionDir, { recursive: true });
20
+ await mkdir(join(repo, 'scripts'), { recursive: true });
21
+ const missionFile = join(missionDir, 'mission.md');
22
+ const sandboxFile = join(missionDir, 'sandbox.md');
23
+ const missionContent = '# Mission\nSolve the task.\n';
24
+ const keepPolicyLine = keepPolicy ? ` keep_policy: ${keepPolicy}\n` : '';
25
+ const sandboxContent = `---\nevaluator:\n command: node scripts/eval.js\n format: json\n${keepPolicyLine}---\nStay inside the mission boundary.\n`;
26
+ await writeFile(missionFile, missionContent, 'utf-8');
27
+ await writeFile(sandboxFile, sandboxContent, 'utf-8');
28
+ await writeFile(join(repo, 'score.txt'), '1\n', 'utf-8');
29
+ await writeFile(join(repo, 'scripts', 'eval.js'), "process.stdout.write(JSON.stringify({ pass: true, score: 1 }));\n", 'utf-8');
30
+ execFileSync('git', ['add', 'missions/demo/mission.md', 'missions/demo/sandbox.md', 'scripts/eval.js', 'score.txt'], { cwd: repo, stdio: 'ignore' });
31
+ execFileSync('git', ['commit', '-m', 'add autoresearch fixtures'], { cwd: repo, stdio: 'ignore' });
32
+ return {
33
+ missionDir,
34
+ repoRoot: repo,
35
+ missionFile,
36
+ sandboxFile,
37
+ missionRelativeDir: 'missions/demo',
38
+ missionContent,
39
+ sandboxContent,
40
+ sandbox: {
41
+ frontmatter: { evaluator: { command: 'node scripts/eval.js', format: 'json', ...(keepPolicy ? { keep_policy: keepPolicy } : {}) } },
42
+ evaluator: { command: 'node scripts/eval.js', format: 'json', ...(keepPolicy ? { keep_policy: keepPolicy } : {}) },
43
+ body: 'Stay inside the mission boundary.',
44
+ },
45
+ missionSlug: 'missions-demo',
46
+ };
47
+ }
48
+ describe('autoresearch runtime parity extras', () => {
49
+ it('treats allowed runtime files as reset-safe and blocks unrelated dirt', async () => {
50
+ const repo = await initRepo();
51
+ try {
52
+ const contract = await makeContract(repo);
53
+ const worktreePath = join(repo, '..', `${repo.split('/').pop()}.omc-worktrees`, 'autoresearch-missions-demo-20260314t020000z');
54
+ execFileSync('git', ['worktree', 'add', '-b', 'autoresearch/missions-demo/20260314t020000z', worktreePath, 'HEAD'], {
55
+ cwd: repo,
56
+ stdio: 'ignore',
57
+ });
58
+ const worktreeContract = await materializeAutoresearchMissionToWorktree(contract, worktreePath);
59
+ const runtime = await prepareAutoresearchRuntime(worktreeContract, repo, worktreePath, { runTag: '20260314T020000Z' });
60
+ await writeFile(join(worktreePath, 'results.tsv'), 'iteration\tcommit\tpass\tscore\tstatus\tdescription\n', 'utf-8');
61
+ await writeFile(join(worktreePath, 'run.log'), 'ok\n', 'utf-8');
62
+ expect(() => assertResetSafeWorktree(worktreePath)).not.toThrow();
63
+ await writeFile(join(worktreePath, 'scratch.tmp'), 'nope\n', 'utf-8');
64
+ expect(() => assertResetSafeWorktree(worktreePath)).toThrow(/autoresearch_reset_requires_clean_worktree/i);
65
+ const manifest = await loadAutoresearchRunManifest(repo, runtime.runId);
66
+ expect(manifest.results_file).toBe(join(worktreePath, 'results.tsv'));
67
+ }
68
+ finally {
69
+ await rm(repo, { recursive: true, force: true });
70
+ }
71
+ });
72
+ it('fresh prepare tolerates bootstrap dirt even when the worktree path is not normalized', async () => {
73
+ const repo = await initRepo();
74
+ try {
75
+ const contract = await makeContract(repo);
76
+ const worktreeRoot = `${repo.split('/').pop()}.omc-worktrees`;
77
+ const worktreePath = `${repo}/../${worktreeRoot}/autoresearch-missions-demo-20260314t021500z`;
78
+ execFileSync('git', ['worktree', 'add', '-b', 'autoresearch/missions-demo/20260314t021500z', worktreePath, 'HEAD'], {
79
+ cwd: repo,
80
+ stdio: 'ignore',
81
+ });
82
+ const worktreeContract = await materializeAutoresearchMissionToWorktree(contract, worktreePath);
83
+ await expect(prepareAutoresearchRuntime(worktreeContract, repo, worktreePath, { runTag: '20260314T021500Z' })).resolves.toMatchObject({ worktreePath });
84
+ }
85
+ finally {
86
+ await rm(repo, { recursive: true, force: true });
87
+ }
88
+ });
89
+ it('rejects concurrent fresh runs via the repo-root active-run lock', async () => {
90
+ const repo = await initRepo();
91
+ try {
92
+ const contract = await makeContract(repo);
93
+ const worktreePathA = join(repo, '..', `${repo.split('/').pop()}.omc-worktrees`, 'autoresearch-missions-demo-20260314t030000z');
94
+ execFileSync('git', ['worktree', 'add', '-b', 'autoresearch/missions-demo/20260314t030000z', worktreePathA, 'HEAD'], {
95
+ cwd: repo,
96
+ stdio: 'ignore',
97
+ });
98
+ const worktreeContractA = await materializeAutoresearchMissionToWorktree(contract, worktreePathA);
99
+ await prepareAutoresearchRuntime(worktreeContractA, repo, worktreePathA, { runTag: '20260314T030000Z' });
100
+ const worktreePathB = join(repo, '..', `${repo.split('/').pop()}.omc-worktrees`, 'autoresearch-missions-demo-20260314t030500z');
101
+ execFileSync('git', ['worktree', 'add', '-b', 'autoresearch/missions-demo/20260314t030500z', worktreePathB, 'HEAD'], {
102
+ cwd: repo,
103
+ stdio: 'ignore',
104
+ });
105
+ const worktreeContractB = await materializeAutoresearchMissionToWorktree(contract, worktreePathB);
106
+ await expect(prepareAutoresearchRuntime(worktreeContractB, repo, worktreePathB, { runTag: '20260314T030500Z' })).rejects.toThrow(/autoresearch_active_run_exists/i);
107
+ }
108
+ finally {
109
+ await rm(repo, { recursive: true, force: true });
110
+ }
111
+ });
112
+ it('resumes a running manifest and rejects missing worktrees', async () => {
113
+ const repo = await initRepo();
114
+ try {
115
+ const contract = await makeContract(repo);
116
+ const worktreePath = join(repo, '..', `${repo.split('/').pop()}.omc-worktrees`, 'autoresearch-missions-demo-20260314t040000z');
117
+ execFileSync('git', ['worktree', 'add', '-b', 'autoresearch/missions-demo/20260314t040000z', worktreePath, 'HEAD'], {
118
+ cwd: repo,
119
+ stdio: 'ignore',
120
+ });
121
+ const worktreeContract = await materializeAutoresearchMissionToWorktree(contract, worktreePath);
122
+ const runtime = await prepareAutoresearchRuntime(worktreeContract, repo, worktreePath, { runTag: '20260314T040000Z' });
123
+ const statePath = join(repo, '.omc', 'state', 'autoresearch-state.json');
124
+ const idleState = {
125
+ schema_version: 1,
126
+ active: false,
127
+ run_id: runtime.runId,
128
+ mission_slug: contract.missionSlug,
129
+ repo_root: repo,
130
+ worktree_path: worktreePath,
131
+ status: 'idle',
132
+ updated_at: '2026-03-14T04:05:00.000Z',
133
+ };
134
+ await writeFile(statePath, `${JSON.stringify(idleState, null, 2)}\n`, 'utf-8');
135
+ const resumed = await resumeAutoresearchRuntime(repo, runtime.runId);
136
+ expect(resumed.runId).toBe(runtime.runId);
137
+ expect(resumed.worktreePath).toBe(worktreePath);
138
+ await writeFile(statePath, `${JSON.stringify(idleState, null, 2)}\n`, 'utf-8');
139
+ await rm(worktreePath, { recursive: true, force: true });
140
+ await expect(resumeAutoresearchRuntime(repo, runtime.runId)).rejects.toThrow(/autoresearch_resume_missing_worktree/i);
141
+ }
142
+ finally {
143
+ await rm(repo, { recursive: true, force: true });
144
+ }
145
+ });
146
+ it('resume only tolerates the active run bootstrap dirt', async () => {
147
+ const repo = await initRepo();
148
+ try {
149
+ const contract = await makeContract(repo);
150
+ const worktreePath = join(repo, '..', `${repo.split('/').pop()}.omc-worktrees`, 'autoresearch-missions-demo-20260314t041500z');
151
+ execFileSync('git', ['worktree', 'add', '-b', 'autoresearch/missions-demo/20260314t041500z', worktreePath, 'HEAD'], {
152
+ cwd: repo,
153
+ stdio: 'ignore',
154
+ });
155
+ const worktreeContract = await materializeAutoresearchMissionToWorktree(contract, worktreePath);
156
+ const runtime = await prepareAutoresearchRuntime(worktreeContract, repo, worktreePath, { runTag: '20260314T041500Z' });
157
+ const statePath = join(repo, '.omc', 'state', 'autoresearch-state.json');
158
+ const idleState = {
159
+ schema_version: 1,
160
+ active: false,
161
+ run_id: runtime.runId,
162
+ mission_slug: contract.missionSlug,
163
+ repo_root: repo,
164
+ worktree_path: worktreePath,
165
+ status: 'idle',
166
+ updated_at: '2026-03-14T04:16:00.000Z',
167
+ };
168
+ await writeFile(statePath, `${JSON.stringify(idleState, null, 2)}\n`, 'utf-8');
169
+ await expect(resumeAutoresearchRuntime(repo, runtime.runId)).resolves.toMatchObject({ runId: runtime.runId });
170
+ await writeFile(statePath, `${JSON.stringify(idleState, null, 2)}\n`, 'utf-8');
171
+ await writeFile(join(worktreePath, 'missions', 'demo', 'extra.md'), 'unexpected\n', 'utf-8');
172
+ await expect(resumeAutoresearchRuntime(repo, runtime.runId)).rejects.toThrow(/autoresearch_reset_requires_clean_worktree/i);
173
+ }
174
+ finally {
175
+ await rm(repo, { recursive: true, force: true });
176
+ }
177
+ });
178
+ it('decides ambiguous vs keep based on keep_policy semantics', () => {
179
+ const candidate = {
180
+ status: 'candidate',
181
+ candidate_commit: 'abc1234',
182
+ base_commit: 'base1234',
183
+ description: 'candidate',
184
+ notes: [],
185
+ created_at: '2026-03-14T05:00:00.000Z',
186
+ };
187
+ const ambiguous = decideAutoresearchOutcome({ keep_policy: 'score_improvement', last_kept_score: null }, candidate, { command: 'node eval.js', ran_at: '2026-03-14T05:00:01.000Z', status: 'pass', pass: true, exit_code: 0 });
188
+ expect(ambiguous.decision).toBe('ambiguous');
189
+ expect(ambiguous.keep).toBe(false);
190
+ const kept = decideAutoresearchOutcome({ keep_policy: 'pass_only', last_kept_score: null }, candidate, { command: 'node eval.js', ran_at: '2026-03-14T05:00:01.000Z', status: 'pass', pass: true, exit_code: 0 });
191
+ expect(kept.decision).toBe('keep');
192
+ expect(kept.keep).toBe(true);
193
+ });
194
+ it('resume rejects terminal manifests', async () => {
195
+ const repo = await initRepo();
196
+ try {
197
+ const contract = await makeContract(repo);
198
+ const worktreePath = join(repo, '..', `${repo.split('/').pop()}.omc-worktrees`, 'autoresearch-missions-demo-20260314t050000z');
199
+ execFileSync('git', ['worktree', 'add', '-b', 'autoresearch/missions-demo/20260314t050000z', worktreePath, 'HEAD'], {
200
+ cwd: repo,
201
+ stdio: 'ignore',
202
+ });
203
+ const worktreeContract = await materializeAutoresearchMissionToWorktree(contract, worktreePath);
204
+ const runtime = await prepareAutoresearchRuntime(worktreeContract, repo, worktreePath, { runTag: '20260314T050000Z' });
205
+ const manifest = JSON.parse(await readFile(runtime.manifestFile, 'utf-8'));
206
+ manifest.status = 'completed';
207
+ await writeFile(runtime.manifestFile, `${JSON.stringify(manifest, null, 2)}\n`, 'utf-8');
208
+ await writeFile(join(repo, '.omc', 'state', 'autoresearch-state.json'), `${JSON.stringify({
209
+ schema_version: 1,
210
+ active: false,
211
+ run_id: runtime.runId,
212
+ mission_slug: contract.missionSlug,
213
+ repo_root: repo,
214
+ worktree_path: worktreePath,
215
+ status: 'completed',
216
+ updated_at: '2026-03-14T05:05:00.000Z',
217
+ }, null, 2)}\n`, 'utf-8');
218
+ await expect(resumeAutoresearchRuntime(repo, runtime.runId)).rejects.toThrow(/autoresearch_resume_terminal_run/i);
219
+ }
220
+ finally {
221
+ await rm(repo, { recursive: true, force: true });
222
+ }
223
+ });
224
+ it('records noop and abort candidate branches explicitly', async () => {
225
+ const repo = await initRepo();
226
+ try {
227
+ const contract = await makeContract(repo);
228
+ const worktreePath = join(repo, '..', `${repo.split('/').pop()}.omc-worktrees`, 'autoresearch-missions-demo-20260314t060000z');
229
+ execFileSync('git', ['worktree', 'add', '-b', 'autoresearch/missions-demo/20260314t060000z', worktreePath, 'HEAD'], {
230
+ cwd: repo,
231
+ stdio: 'ignore',
232
+ });
233
+ const worktreeContract = await materializeAutoresearchMissionToWorktree(contract, worktreePath);
234
+ const runtime = await prepareAutoresearchRuntime(worktreeContract, repo, worktreePath, { runTag: '20260314T060000Z' });
235
+ let manifest = await loadAutoresearchRunManifest(repo, runtime.runId);
236
+ await writeFile(runtime.candidateFile, `${JSON.stringify({
237
+ status: 'noop',
238
+ candidate_commit: null,
239
+ base_commit: manifest.last_kept_commit,
240
+ description: 'no useful change',
241
+ notes: ['noop branch'],
242
+ created_at: '2026-03-14T06:01:00.000Z',
243
+ }, null, 2)}\n`, 'utf-8');
244
+ expect(await processAutoresearchCandidate(worktreeContract, manifest, repo)).toBe('noop');
245
+ manifest = await loadAutoresearchRunManifest(repo, runtime.runId);
246
+ await writeFile(runtime.candidateFile, `${JSON.stringify({
247
+ status: 'abort',
248
+ candidate_commit: null,
249
+ base_commit: manifest.last_kept_commit,
250
+ description: 'operator stop',
251
+ notes: ['abort branch'],
252
+ created_at: '2026-03-14T06:02:00.000Z',
253
+ }, null, 2)}\n`, 'utf-8');
254
+ expect(await processAutoresearchCandidate(worktreeContract, manifest, repo)).toBe('abort');
255
+ const results = await readFile(runtime.resultsFile, 'utf-8');
256
+ expect(results).toMatch(/^1\t.+\t\t\tnoop\tno useful change$/m);
257
+ expect(results).toMatch(/^2\t.+\t\t\tabort\toperator stop$/m);
258
+ const finalManifest = await loadAutoresearchRunManifest(repo, runtime.runId);
259
+ expect(finalManifest.status).toBe('stopped');
260
+ expect(finalManifest.stop_reason).toBe('candidate abort');
261
+ }
262
+ finally {
263
+ await rm(repo, { recursive: true, force: true });
264
+ }
265
+ });
266
+ it('discard reset tolerates only exact bootstrap dirt', async () => {
267
+ const repo = await initRepo();
268
+ try {
269
+ const contract = await makeContract(repo);
270
+ const worktreePath = join(repo, '..', `${repo.split('/').pop()}.omc-worktrees`, 'autoresearch-missions-demo-20260314t061500z');
271
+ execFileSync('git', ['worktree', 'add', '-b', 'autoresearch/missions-demo/20260314t061500z', worktreePath, 'HEAD'], {
272
+ cwd: repo,
273
+ stdio: 'ignore',
274
+ });
275
+ const worktreeContract = await materializeAutoresearchMissionToWorktree(contract, worktreePath);
276
+ const runtime = await prepareAutoresearchRuntime(worktreeContract, repo, worktreePath, { runTag: '20260314T061500Z' });
277
+ await writeFile(join(worktreePath, 'score.txt'), '0\n', 'utf-8');
278
+ execFileSync('git', ['add', 'score.txt'], { cwd: worktreePath, stdio: 'ignore' });
279
+ execFileSync('git', ['commit', '-m', 'worse score'], { cwd: worktreePath, stdio: 'ignore' });
280
+ const worseCommit = execFileSync('git', ['rev-parse', 'HEAD'], { cwd: worktreePath, encoding: 'utf-8' }).trim();
281
+ let manifest = await loadAutoresearchRunManifest(repo, runtime.runId);
282
+ await writeFile(runtime.candidateFile, `${JSON.stringify({
283
+ status: 'candidate',
284
+ candidate_commit: worseCommit,
285
+ base_commit: manifest.last_kept_commit,
286
+ description: 'worse score',
287
+ notes: ['discard should reset safely'],
288
+ created_at: '2026-03-14T06:15:00.000Z',
289
+ }, null, 2)}\n`, 'utf-8');
290
+ await expect(processAutoresearchCandidate(worktreeContract, manifest, repo)).resolves.toBe('discard');
291
+ await writeFile(join(worktreePath, 'score.txt'), '0\n', 'utf-8');
292
+ execFileSync('git', ['add', 'score.txt'], { cwd: worktreePath, stdio: 'ignore' });
293
+ execFileSync('git', ['commit', '-m', 'worse score again'], { cwd: worktreePath, stdio: 'ignore' });
294
+ const worseAgainCommit = execFileSync('git', ['rev-parse', 'HEAD'], { cwd: worktreePath, encoding: 'utf-8' }).trim();
295
+ await writeFile(join(worktreePath, 'missions', 'demo', 'extra.md'), 'unexpected\n', 'utf-8');
296
+ manifest = await loadAutoresearchRunManifest(repo, runtime.runId);
297
+ await writeFile(runtime.candidateFile, `${JSON.stringify({
298
+ status: 'candidate',
299
+ candidate_commit: worseAgainCommit,
300
+ base_commit: manifest.last_kept_commit,
301
+ description: 'worse again',
302
+ notes: ['discard should fail on unrelated dirt'],
303
+ created_at: '2026-03-14T06:16:00.000Z',
304
+ }, null, 2)}\n`, 'utf-8');
305
+ await expect(processAutoresearchCandidate(worktreeContract, manifest, repo)).rejects.toThrow(/autoresearch_reset_requires_clean_worktree/i);
306
+ }
307
+ finally {
308
+ await rm(repo, { recursive: true, force: true });
309
+ }
310
+ });
311
+ it('interrupted handling tolerates only exact bootstrap dirt', async () => {
312
+ const repo = await initRepo();
313
+ try {
314
+ const contract = await makeContract(repo);
315
+ const worktreePath = join(repo, '..', `${repo.split('/').pop()}.omc-worktrees`, 'autoresearch-missions-demo-20260314t061700z');
316
+ execFileSync('git', ['worktree', 'add', '-b', 'autoresearch/missions-demo/20260314t061700z', worktreePath, 'HEAD'], {
317
+ cwd: repo,
318
+ stdio: 'ignore',
319
+ });
320
+ const worktreeContract = await materializeAutoresearchMissionToWorktree(contract, worktreePath);
321
+ const runtime = await prepareAutoresearchRuntime(worktreeContract, repo, worktreePath, { runTag: '20260314T061700Z' });
322
+ let manifest = await loadAutoresearchRunManifest(repo, runtime.runId);
323
+ await writeFile(runtime.candidateFile, `${JSON.stringify({
324
+ status: 'interrupted',
325
+ candidate_commit: null,
326
+ base_commit: manifest.last_kept_commit,
327
+ description: 'interrupted cleanly',
328
+ notes: ['bootstrap dirt only'],
329
+ created_at: '2026-03-14T06:17:00.000Z',
330
+ }, null, 2)}\n`, 'utf-8');
331
+ await expect(processAutoresearchCandidate(worktreeContract, manifest, repo)).resolves.toBe('interrupted');
332
+ await writeFile(join(worktreePath, 'missions', 'demo', 'extra.md'), 'unexpected\n', 'utf-8');
333
+ manifest = await loadAutoresearchRunManifest(repo, runtime.runId);
334
+ await writeFile(runtime.candidateFile, `${JSON.stringify({
335
+ status: 'interrupted',
336
+ candidate_commit: null,
337
+ base_commit: manifest.last_kept_commit,
338
+ description: 'interrupted with unrelated dirt',
339
+ notes: ['should fail'],
340
+ created_at: '2026-03-14T06:18:00.000Z',
341
+ }, null, 2)}\n`, 'utf-8');
342
+ await expect(processAutoresearchCandidate(worktreeContract, manifest, repo)).resolves.toBe('error');
343
+ const failedManifest = await loadAutoresearchRunManifest(repo, runtime.runId);
344
+ expect(failedManifest.status).toBe('failed');
345
+ expect(failedManifest.stop_reason).toMatch(/interrupted dirty worktree requires operator intervention/i);
346
+ }
347
+ finally {
348
+ await rm(repo, { recursive: true, force: true });
349
+ }
350
+ });
351
+ });
352
+ //# sourceMappingURL=runtime-parity-extra.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runtime-parity-extra.test.js","sourceRoot":"","sources":["../../../src/autoresearch/__tests__/runtime-parity-extra.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=runtime.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runtime.test.d.ts","sourceRoot":"","sources":["../../../src/autoresearch/__tests__/runtime.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,210 @@
1
+ import { describe, it, expect } from 'vitest';
2
+ import { mkdtemp, mkdir, readFile, rm, writeFile } from 'node:fs/promises';
3
+ import { existsSync } from 'node:fs';
4
+ import { execFileSync } from 'node:child_process';
5
+ import { join } from 'node:path';
6
+ import { tmpdir } from 'node:os';
7
+ import { assertResetSafeWorktree, buildAutoresearchInstructions, loadAutoresearchRunManifest, materializeAutoresearchMissionToWorktree, prepareAutoresearchRuntime, processAutoresearchCandidate, } from '../runtime.js';
8
+ import { readModeState } from '../../lib/mode-state-io.js';
9
+ async function initRepo() {
10
+ const cwd = await mkdtemp(join(tmpdir(), 'omc-autoresearch-runtime-'));
11
+ execFileSync('git', ['init'], { cwd, stdio: 'ignore' });
12
+ execFileSync('git', ['config', 'user.email', 'test@example.com'], { cwd, stdio: 'ignore' });
13
+ execFileSync('git', ['config', 'user.name', 'Test User'], { cwd, stdio: 'ignore' });
14
+ await writeFile(join(cwd, 'README.md'), 'hello\n', 'utf-8');
15
+ execFileSync('git', ['add', 'README.md'], { cwd, stdio: 'ignore' });
16
+ execFileSync('git', ['commit', '-m', 'init'], { cwd, stdio: 'ignore' });
17
+ return cwd;
18
+ }
19
+ async function makeContract(repo) {
20
+ const missionDir = join(repo, 'missions', 'demo');
21
+ await mkdir(missionDir, { recursive: true });
22
+ await mkdir(join(repo, 'scripts'), { recursive: true });
23
+ const missionFile = join(missionDir, 'mission.md');
24
+ const sandboxFile = join(missionDir, 'sandbox.md');
25
+ const missionContent = '# Mission\nSolve the task.\n';
26
+ const sandboxContent = `---\nevaluator:\n command: node scripts/eval.js\n format: json\n---\nStay inside the mission boundary.\n`;
27
+ await writeFile(missionFile, missionContent, 'utf-8');
28
+ await writeFile(sandboxFile, sandboxContent, 'utf-8');
29
+ await writeFile(join(repo, 'score.txt'), '1\n', 'utf-8');
30
+ await writeFile(join(repo, 'scripts', 'eval.js'), "import { readFileSync } from 'node:fs';\nconst score = Number(readFileSync('score.txt', 'utf-8').trim());\nprocess.stdout.write(JSON.stringify({ pass: true, score }));\n", 'utf-8');
31
+ execFileSync('git', ['add', 'missions/demo/mission.md', 'missions/demo/sandbox.md', 'scripts/eval.js', 'score.txt'], { cwd: repo, stdio: 'ignore' });
32
+ execFileSync('git', ['commit', '-m', 'add autoresearch fixtures'], { cwd: repo, stdio: 'ignore' });
33
+ return {
34
+ missionDir,
35
+ repoRoot: repo,
36
+ missionFile,
37
+ sandboxFile,
38
+ missionRelativeDir: 'missions/demo',
39
+ missionContent,
40
+ sandboxContent,
41
+ sandbox: {
42
+ frontmatter: { evaluator: { command: 'node scripts/eval.js', format: 'json' } },
43
+ evaluator: { command: 'node scripts/eval.js', format: 'json' },
44
+ body: 'Stay inside the mission boundary.',
45
+ },
46
+ missionSlug: 'missions-demo',
47
+ };
48
+ }
49
+ describe('autoresearch runtime', () => {
50
+ it('builds bootstrap instructions with mission, sandbox, and evaluator contract', async () => {
51
+ const repo = await initRepo();
52
+ try {
53
+ const contract = await makeContract(repo);
54
+ const instructions = buildAutoresearchInstructions(contract, { runId: 'missions-demo-20260314t000000z', iteration: 1, baselineCommit: 'abc1234', lastKeptCommit: 'abc1234', resultsFile: 'results.tsv', candidateFile: '.omc/logs/autoresearch/missions-demo-20260314t000000z/candidate.json', keepPolicy: 'score_improvement' });
55
+ expect(instructions).toMatch(/exactly one experiment cycle/i);
56
+ expect(instructions).toMatch(/required output field: pass/i);
57
+ expect(instructions).toMatch(/optional output field: score/i);
58
+ expect(instructions).toMatch(/Iteration state snapshot:/i);
59
+ expect(instructions).toMatch(/Mission file:/i);
60
+ expect(instructions).toMatch(/Sandbox policy:/i);
61
+ }
62
+ finally {
63
+ await rm(repo, { recursive: true, force: true });
64
+ }
65
+ });
66
+ it('allows untracked .omc runtime files when checking reset safety', async () => {
67
+ const repo = await initRepo();
68
+ try {
69
+ await mkdir(join(repo, '.omc', 'logs'), { recursive: true });
70
+ await mkdir(join(repo, '.omc', 'state'), { recursive: true });
71
+ await writeFile(join(repo, '.omc', 'logs', 'hooks-2026-03-15.jsonl'), '{}\n', 'utf-8');
72
+ await writeFile(join(repo, '.omc', 'metrics.json'), '{}\n', 'utf-8');
73
+ await writeFile(join(repo, '.omc', 'state', 'hud-state.json'), '{}\n', 'utf-8');
74
+ expect(() => assertResetSafeWorktree(repo)).not.toThrow();
75
+ }
76
+ finally {
77
+ await rm(repo, { recursive: true, force: true });
78
+ }
79
+ });
80
+ it('prepares runtime artifacts and persists autoresearch mode state', async () => {
81
+ const repo = await initRepo();
82
+ try {
83
+ const contract = await makeContract(repo);
84
+ await mkdir(join(repo, 'node_modules', 'fixture-dep'), { recursive: true });
85
+ await writeFile(join(repo, 'node_modules', 'fixture-dep', 'index.js'), 'export default 1;\n', 'utf-8');
86
+ const worktreePath = join(repo, '..', `${repo.split('/').pop()}.omc-worktrees`, 'autoresearch-missions-demo-20260314t000000z');
87
+ execFileSync('git', ['worktree', 'add', '-b', 'autoresearch/missions-demo/20260314t000000z', worktreePath, 'HEAD'], {
88
+ cwd: repo,
89
+ stdio: 'ignore',
90
+ });
91
+ const worktreeContract = await materializeAutoresearchMissionToWorktree(contract, worktreePath);
92
+ const runtime = await prepareAutoresearchRuntime(worktreeContract, repo, worktreePath, { runTag: '20260314T000000Z' });
93
+ expect(existsSync(worktreeContract.missionFile)).toBe(true);
94
+ expect(existsSync(worktreeContract.sandboxFile)).toBe(true);
95
+ expect(existsSync(runtime.instructionsFile)).toBe(true);
96
+ expect(existsSync(runtime.manifestFile)).toBe(true);
97
+ expect(existsSync(runtime.ledgerFile)).toBe(true);
98
+ expect(existsSync(runtime.latestEvaluatorFile)).toBe(true);
99
+ expect(existsSync(runtime.resultsFile)).toBe(true);
100
+ expect(existsSync(join(worktreePath, 'node_modules'))).toBe(true);
101
+ expect(() => assertResetSafeWorktree(worktreePath)).not.toThrow();
102
+ const manifest = JSON.parse(await readFile(runtime.manifestFile, 'utf-8'));
103
+ expect(manifest.mission_slug).toBe('missions-demo');
104
+ expect(manifest.branch_name).toBe('autoresearch/missions-demo/20260314t000000z');
105
+ expect(manifest.mission_dir).toBe(join(worktreePath, 'missions', 'demo'));
106
+ expect(manifest.worktree_path).toBe(worktreePath);
107
+ expect(manifest.results_file).toBe(runtime.resultsFile);
108
+ expect(typeof manifest.baseline_commit).toBe('string');
109
+ const ledger = JSON.parse(await readFile(runtime.ledgerFile, 'utf-8'));
110
+ expect(Array.isArray(ledger.entries)).toBe(true);
111
+ expect(ledger.entries.length).toBe(1);
112
+ const latestEvaluator = JSON.parse(await readFile(runtime.latestEvaluatorFile, 'utf-8'));
113
+ expect(latestEvaluator.status).toBe('pass');
114
+ expect(latestEvaluator.pass).toBe(true);
115
+ expect(latestEvaluator.score).toBe(1);
116
+ const results = await readFile(runtime.resultsFile, 'utf-8');
117
+ expect(results).toMatch(/^iteration commit pass score status description$/m);
118
+ expect(results).toMatch(/^0 .+ true 1 baseline initial baseline evaluation$/m);
119
+ const state = readModeState('autoresearch', repo);
120
+ expect(state).toBeTruthy();
121
+ const worktreeState = readModeState('autoresearch', worktreePath);
122
+ expect(worktreeState).toBeNull();
123
+ expect(state?.active).toBe(true);
124
+ expect(state?.current_phase).toBe('running');
125
+ expect(state?.mission_slug).toBe('missions-demo');
126
+ expect(state?.mission_dir).toBe(join(worktreePath, 'missions', 'demo'));
127
+ expect(state?.worktree_path).toBe(worktreePath);
128
+ expect(state?.bootstrap_instructions_path).toBe(runtime.instructionsFile);
129
+ expect(state?.latest_evaluator_status).toBe('pass');
130
+ expect(state?.results_file).toBe(runtime.resultsFile);
131
+ expect(state?.baseline_commit).toBe(manifest.baseline_commit);
132
+ const instructions = await readFile(runtime.instructionsFile, 'utf-8');
133
+ expect(instructions).toMatch(/Last kept score:\s+1/i);
134
+ expect(instructions).toMatch(/previous_iteration_outcome/i);
135
+ expect(instructions).toMatch(/baseline established/i);
136
+ }
137
+ finally {
138
+ await rm(repo, { recursive: true, force: true });
139
+ }
140
+ });
141
+ });
142
+ describe('autoresearch parity decisions', () => {
143
+ it('keeps improved candidates and resets discarded candidates back to the last kept commit', async () => {
144
+ const repo = await initRepo();
145
+ try {
146
+ const contract = await makeContract(repo);
147
+ const worktreePath = join(repo, '..', `${repo.split('/').pop()}.omc-worktrees`, 'autoresearch-missions-demo-20260314t010000z');
148
+ execFileSync('git', ['worktree', 'add', '-b', 'autoresearch/missions-demo/20260314t010000z', worktreePath, 'HEAD'], {
149
+ cwd: repo,
150
+ stdio: 'ignore',
151
+ });
152
+ const worktreeContract = await materializeAutoresearchMissionToWorktree(contract, worktreePath);
153
+ const runtime = await prepareAutoresearchRuntime(worktreeContract, repo, worktreePath, { runTag: '20260314T010000Z' });
154
+ await writeFile(join(worktreePath, 'score.txt'), '2\n', 'utf-8');
155
+ execFileSync('git', ['add', 'score.txt'], { cwd: worktreePath, stdio: 'ignore' });
156
+ execFileSync('git', ['commit', '-m', 'improve score'], { cwd: worktreePath, stdio: 'ignore' });
157
+ const improvedCommit = execFileSync('git', ['rev-parse', 'HEAD'], { cwd: worktreePath, encoding: 'utf-8' }).trim();
158
+ const initialManifest = await loadAutoresearchRunManifest(repo, runtime.runId);
159
+ await writeFile(runtime.candidateFile, `${JSON.stringify({
160
+ status: 'candidate',
161
+ candidate_commit: improvedCommit,
162
+ base_commit: initialManifest.last_kept_commit,
163
+ description: 'improved score',
164
+ notes: ['score raised to 2'],
165
+ created_at: '2026-03-14T01:00:00.000Z',
166
+ }, null, 2)}\n`, 'utf-8');
167
+ const keepDecision = await processAutoresearchCandidate(worktreeContract, initialManifest, repo);
168
+ expect(keepDecision).toBe('keep');
169
+ const keptManifest = await loadAutoresearchRunManifest(repo, runtime.runId);
170
+ expect(keptManifest.last_kept_commit).toBe(improvedCommit);
171
+ await writeFile(join(worktreePath, 'score.txt'), '1\n', 'utf-8');
172
+ execFileSync('git', ['add', 'score.txt'], { cwd: worktreePath, stdio: 'ignore' });
173
+ execFileSync('git', ['commit', '-m', 'worse score'], { cwd: worktreePath, stdio: 'ignore' });
174
+ const worseCommit = execFileSync('git', ['rev-parse', 'HEAD'], { cwd: worktreePath, encoding: 'utf-8' }).trim();
175
+ const beforeDiscardManifest = await loadAutoresearchRunManifest(repo, runtime.runId);
176
+ await writeFile(runtime.candidateFile, `${JSON.stringify({
177
+ status: 'candidate',
178
+ candidate_commit: worseCommit,
179
+ base_commit: beforeDiscardManifest.last_kept_commit,
180
+ description: 'worse score',
181
+ notes: ['score dropped back to 1'],
182
+ created_at: '2026-03-14T01:05:00.000Z',
183
+ }, null, 2)}\n`, 'utf-8');
184
+ const discardDecision = await processAutoresearchCandidate(worktreeContract, beforeDiscardManifest, repo);
185
+ expect(discardDecision).toBe('discard');
186
+ const headAfterDiscard = execFileSync('git', ['rev-parse', 'HEAD'], { cwd: worktreePath, encoding: 'utf-8' }).trim();
187
+ expect(headAfterDiscard).toBe(improvedCommit);
188
+ const finalManifest = await loadAutoresearchRunManifest(repo, runtime.runId);
189
+ const results = await readFile(runtime.resultsFile, 'utf-8');
190
+ expect(results).toMatch(/^1\t.+\ttrue\t2\tkeep\timproved score$/m);
191
+ expect(results).toMatch(/^2\t.+\ttrue\t1\tdiscard\tworse score$/m);
192
+ const ledger = JSON.parse(await readFile(runtime.ledgerFile, 'utf-8'));
193
+ expect(ledger.entries.length).toBe(3);
194
+ expect(ledger.entries.map((entry) => [entry.decision, entry.description])).toEqual([
195
+ ['baseline', 'initial baseline evaluation'],
196
+ ['keep', 'improved score'],
197
+ ['discard', 'worse score'],
198
+ ]);
199
+ const instructions = await readFile(runtime.instructionsFile, 'utf-8');
200
+ expect(instructions).toMatch(/"previous_iteration_outcome": "discard:score did not improve"/);
201
+ expect(instructions).toMatch(/"decision": "keep"/);
202
+ expect(instructions).toMatch(/"decision": "discard"/);
203
+ expect(finalManifest.last_kept_commit).toBe(improvedCommit);
204
+ }
205
+ finally {
206
+ await rm(repo, { recursive: true, force: true });
207
+ }
208
+ });
209
+ });
210
+ //# sourceMappingURL=runtime.test.js.map