@openrig/cli 0.6.5 → 0.6.7

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 (1125) hide show
  1. package/README.md +151 -63
  2. package/daemon/assets/claude-team-permissions.cjs +262 -0
  3. package/daemon/assets/onboarding/02-self-and-competent-action.md +46 -2
  4. package/daemon/assets/plugins/openrig-core/.claude-plugin/plugin.json +1 -1
  5. package/daemon/assets/plugins/openrig-core/.codex-plugin/plugin.json +1 -1
  6. package/daemon/assets/plugins/openrig-core/hooks/scripts/refocus-health.cjs +41 -0
  7. package/daemon/assets/plugins/openrig-core/hooks/scripts/refocus.cjs +69 -12
  8. package/daemon/assets/plugins/openrig-core/skills/applying-a-permission-policy/SKILL.md +41 -21
  9. package/daemon/assets/plugins/openrig-core/skills/claude-compaction-restore/SKILL.md +24 -7
  10. package/daemon/assets/plugins/openrig-core/skills/claude-compaction-restore/scripts/precompact-hook.mjs +4 -0
  11. package/daemon/assets/plugins/openrig-core/skills/forming-an-openrig-mental-model/SKILL.md +1 -1
  12. package/daemon/assets/plugins/openrig-core/skills/openrig-skills/SKILL.md +4 -5
  13. package/daemon/assets/plugins/openrig-core/skills/openrig-user/SKILL.md +9 -4
  14. package/daemon/assets/plugins/openrig-core/skills/refocusing/SKILL.md +31 -4
  15. package/daemon/assets/plugins/openrig-core/skills/refocusing/scripts/trace-to-root.py +24 -13
  16. package/daemon/assets/plugins/openrig-core/skills/retiring-and-inheriting-a-seat/SKILL.md +3 -0
  17. package/daemon/assets/plugins/openrig-core/skills/seat-continuity-and-handover/SKILL.md +42 -0
  18. package/daemon/assets/plugins/openrig-core/skills/session-compaction-and-restore/SKILL.md +6 -0
  19. package/daemon/assets/skills/rigs/SKILL.md +133 -0
  20. package/daemon/context-packs/help/help.md +66 -12
  21. package/daemon/context-packs/help/manifest.yaml +1 -1
  22. package/daemon/context-packs/onboarding-width/manifest.yaml +1 -1
  23. package/daemon/context-packs/onboarding-width/public-what-you-can-do.md +218 -38
  24. package/daemon/context-packs/reference/getting-started.md +593 -139
  25. package/daemon/context-packs/reference/manifest.yaml +4 -1
  26. package/daemon/context-packs/reference/rig-spec.md +175 -26
  27. package/daemon/context-packs/reference/whats-new.md +134 -0
  28. package/daemon/context-packs/skills/agent-operated-software/manifest.yaml +1 -1
  29. package/daemon/context-packs/skills/agent-operated-workflows/manifest.yaml +1 -1
  30. package/daemon/context-packs/skills/applying-a-permission-policy/SKILL.md +41 -21
  31. package/daemon/context-packs/skills/applying-a-permission-policy/manifest.yaml +1 -1
  32. package/daemon/context-packs/skills/claude-compaction-restore/SKILL.md +24 -7
  33. package/daemon/context-packs/skills/claude-compaction-restore/manifest.yaml +1 -1
  34. package/daemon/context-packs/skills/claude-compaction-restore/scripts/precompact-hook.mjs +4 -0
  35. package/daemon/context-packs/skills/core/agent-starters/SKILL.md +0 -6
  36. package/daemon/context-packs/skills/core/agent-starters/manifest.yaml +1 -1
  37. package/daemon/context-packs/skills/core/agent-startup-and-context-ingestion/SKILL.md +1 -8
  38. package/daemon/context-packs/skills/core/agent-startup-and-context-ingestion/manifest.yaml +1 -1
  39. package/daemon/context-packs/skills/core/cross-host-rig-commands/manifest.yaml +1 -1
  40. package/daemon/context-packs/skills/core/human-in-the-loop/manifest.yaml +1 -1
  41. package/daemon/context-packs/skills/core/messaging-the-human/manifest.yaml +1 -1
  42. package/daemon/context-packs/skills/core/openrig-architect/SKILL.md +5 -5
  43. package/daemon/context-packs/skills/core/openrig-architect/manifest.yaml +3 -3
  44. package/daemon/context-packs/skills/core/openrig-cmux/manifest.yaml +1 -1
  45. package/daemon/context-packs/skills/core/openrig-herdr/manifest.yaml +1 -1
  46. package/daemon/context-packs/skills/core/openrig-skills/SKILL.md +4 -5
  47. package/daemon/context-packs/skills/core/openrig-skills/manifest.yaml +1 -1
  48. package/daemon/context-packs/skills/core/openrig-software-factory/SKILL.md +31 -21
  49. package/daemon/context-packs/skills/core/openrig-software-factory/manifest.yaml +1 -1
  50. package/daemon/context-packs/skills/core/openrig-software-factory/references/worked-example.md +31 -31
  51. package/daemon/context-packs/skills/core/openrig-upgrade/SKILL.md +2 -0
  52. package/daemon/context-packs/skills/core/openrig-upgrade/manifest.yaml +1 -1
  53. package/daemon/context-packs/skills/core/rig-bundles-and-shareable-artifacts/SKILL.md +0 -1
  54. package/daemon/context-packs/skills/core/rig-bundles-and-shareable-artifacts/manifest.yaml +1 -1
  55. package/daemon/context-packs/skills/core/rig-lifecycle/manifest.yaml +1 -1
  56. package/daemon/context-packs/skills/core/session-source-fork/SKILL.md +0 -5
  57. package/daemon/context-packs/skills/core/session-source-fork/manifest.yaml +1 -1
  58. package/daemon/context-packs/skills/core/specification-system/manifest.yaml +1 -1
  59. package/daemon/context-packs/skills/core/topology-mutation-and-seat-management/manifest.yaml +1 -1
  60. package/daemon/context-packs/skills/core/watchdog/manifest.yaml +1 -1
  61. package/daemon/context-packs/skills/delegating-work/manifest.yaml +1 -1
  62. package/daemon/context-packs/skills/forming-an-openrig-mental-model/SKILL.md +1 -1
  63. package/daemon/context-packs/skills/forming-an-openrig-mental-model/manifest.yaml +1 -1
  64. package/daemon/context-packs/skills/loading-addressable-markdown/manifest.yaml +1 -1
  65. package/daemon/context-packs/skills/mission-slice-sop/manifest.yaml +1 -1
  66. package/daemon/context-packs/skills/openrig-operating-model/manifest.yaml +1 -1
  67. package/daemon/context-packs/skills/openrig-user/SKILL.md +9 -4
  68. package/daemon/context-packs/skills/openrig-user/manifest.yaml +1 -1
  69. package/daemon/context-packs/skills/orienting-to-an-inherited-seat/manifest.yaml +1 -1
  70. package/daemon/context-packs/skills/pm/backlog-capture/manifest.yaml +1 -1
  71. package/daemon/context-packs/skills/pm/context-builder/manifest.yaml +1 -1
  72. package/daemon/context-packs/skills/pm/exec-summary/manifest.yaml +1 -1
  73. package/daemon/context-packs/skills/pm/office-hours/manifest.yaml +1 -1
  74. package/daemon/context-packs/skills/pm/plan-review/manifest.yaml +1 -1
  75. package/daemon/context-packs/skills/pm/requirements-writer/manifest.yaml +1 -1
  76. package/daemon/context-packs/skills/pm/ui-mockup/manifest.yaml +1 -1
  77. package/daemon/context-packs/skills/pods/development-team/manifest.yaml +1 -1
  78. package/daemon/context-packs/skills/pods/orchestration-team/manifest.yaml +1 -1
  79. package/daemon/context-packs/skills/pods/oversight-team/manifest.yaml +1 -1
  80. package/daemon/context-packs/skills/pods/review-team/manifest.yaml +1 -1
  81. package/daemon/context-packs/skills/process/agent-browser/OPENRIG.md +1 -1
  82. package/daemon/context-packs/skills/process/agent-browser/manifest.yaml +1 -1
  83. package/daemon/context-packs/skills/process/context-engineering/manifest.yaml +1 -1
  84. package/daemon/context-packs/skills/process/dogfood/manifest.yaml +1 -1
  85. package/daemon/context-packs/skills/process/frontend-design/manifest.yaml +1 -1
  86. package/daemon/context-packs/skills/process/systematic-debugging/SKILL.md +0 -2
  87. package/daemon/context-packs/skills/process/systematic-debugging/manifest.yaml +1 -1
  88. package/daemon/context-packs/skills/process/test-driven-development/manifest.yaml +1 -1
  89. package/daemon/context-packs/skills/process/verification-before-completion/manifest.yaml +1 -1
  90. package/daemon/context-packs/skills/queue-handoff/manifest.yaml +1 -1
  91. package/daemon/context-packs/skills/refocusing/SKILL.md +31 -4
  92. package/daemon/context-packs/skills/refocusing/manifest.yaml +1 -1
  93. package/daemon/context-packs/skills/refocusing/scripts/trace-to-root.py +24 -13
  94. package/daemon/context-packs/skills/retiring-and-inheriting-a-seat/SKILL.md +3 -0
  95. package/daemon/context-packs/skills/retiring-and-inheriting-a-seat/manifest.yaml +1 -1
  96. package/daemon/context-packs/skills/seat-continuity-and-handover/SKILL.md +42 -0
  97. package/daemon/context-packs/skills/seat-continuity-and-handover/manifest.yaml +1 -1
  98. package/daemon/context-packs/skills/session-compaction-and-restore/SKILL.md +6 -0
  99. package/daemon/context-packs/skills/session-compaction-and-restore/manifest.yaml +1 -1
  100. package/daemon/context-packs/skills/software-for-agents/manifest.yaml +1 -1
  101. package/daemon/context-packs/world-example/manifest.yaml +1 -1
  102. package/daemon/context-packs/world-public/manifest.yaml +1 -1
  103. package/daemon/dist/adapters/claude-code-adapter.d.ts +2 -2
  104. package/daemon/dist/adapters/claude-code-adapter.d.ts.map +1 -1
  105. package/daemon/dist/adapters/claude-code-adapter.js +48 -26
  106. package/daemon/dist/adapters/claude-code-adapter.js.map +1 -1
  107. package/daemon/dist/adapters/claude-resume.d.ts +1 -1
  108. package/daemon/dist/adapters/claude-resume.d.ts.map +1 -1
  109. package/daemon/dist/adapters/claude-resume.js +7 -4
  110. package/daemon/dist/adapters/claude-resume.js.map +1 -1
  111. package/daemon/dist/adapters/codex-resume.d.ts +3 -1
  112. package/daemon/dist/adapters/codex-resume.d.ts.map +1 -1
  113. package/daemon/dist/adapters/codex-resume.js +27 -4
  114. package/daemon/dist/adapters/codex-resume.js.map +1 -1
  115. package/daemon/dist/adapters/codex-runtime-adapter.d.ts +3 -0
  116. package/daemon/dist/adapters/codex-runtime-adapter.d.ts.map +1 -1
  117. package/daemon/dist/adapters/codex-runtime-adapter.js +61 -63
  118. package/daemon/dist/adapters/codex-runtime-adapter.js.map +1 -1
  119. package/daemon/dist/adapters/compose-services-adapter.js +1 -1
  120. package/daemon/dist/adapters/compose-services-adapter.js.map +1 -1
  121. package/daemon/dist/adapters/kernel-authority.d.ts +10 -0
  122. package/daemon/dist/adapters/kernel-authority.d.ts.map +1 -0
  123. package/daemon/dist/adapters/kernel-authority.js +71 -0
  124. package/daemon/dist/adapters/kernel-authority.js.map +1 -0
  125. package/daemon/dist/adapters/non-interruptive.d.ts +14 -0
  126. package/daemon/dist/adapters/non-interruptive.d.ts.map +1 -0
  127. package/daemon/dist/adapters/non-interruptive.js +38 -0
  128. package/daemon/dist/adapters/non-interruptive.js.map +1 -0
  129. package/daemon/dist/adapters/pi-readiness.d.ts +15 -0
  130. package/daemon/dist/adapters/pi-readiness.d.ts.map +1 -0
  131. package/daemon/dist/adapters/pi-readiness.js +90 -0
  132. package/daemon/dist/adapters/pi-readiness.js.map +1 -0
  133. package/daemon/dist/adapters/pi-resume.d.ts +3 -1
  134. package/daemon/dist/adapters/pi-resume.d.ts.map +1 -1
  135. package/daemon/dist/adapters/pi-resume.js +8 -1
  136. package/daemon/dist/adapters/pi-resume.js.map +1 -1
  137. package/daemon/dist/adapters/pi-runner-protocol.d.ts +15 -0
  138. package/daemon/dist/adapters/pi-runner-protocol.d.ts.map +1 -1
  139. package/daemon/dist/adapters/pi-runner-protocol.js +28 -0
  140. package/daemon/dist/adapters/pi-runner-protocol.js.map +1 -1
  141. package/daemon/dist/adapters/pi-runner.d.ts +3 -0
  142. package/daemon/dist/adapters/pi-runner.d.ts.map +1 -1
  143. package/daemon/dist/adapters/pi-runner.js +92 -15
  144. package/daemon/dist/adapters/pi-runner.js.map +1 -1
  145. package/daemon/dist/adapters/pi-runtime-adapter.d.ts +8 -0
  146. package/daemon/dist/adapters/pi-runtime-adapter.d.ts.map +1 -1
  147. package/daemon/dist/adapters/pi-runtime-adapter.js +37 -9
  148. package/daemon/dist/adapters/pi-runtime-adapter.js.map +1 -1
  149. package/daemon/dist/adapters/stub-runner-protocol.d.ts +1 -1
  150. package/daemon/dist/adapters/stub-runner-protocol.d.ts.map +1 -1
  151. package/daemon/dist/adapters/stub-runner.d.ts +1 -1
  152. package/daemon/dist/adapters/stub-runner.d.ts.map +1 -1
  153. package/daemon/dist/adapters/stub-runtime-adapter.d.ts.map +1 -1
  154. package/daemon/dist/adapters/stub-runtime-adapter.js +10 -7
  155. package/daemon/dist/adapters/stub-runtime-adapter.js.map +1 -1
  156. package/daemon/dist/adapters/tmux.d.ts +7 -3
  157. package/daemon/dist/adapters/tmux.d.ts.map +1 -1
  158. package/daemon/dist/adapters/tmux.js +20 -12
  159. package/daemon/dist/adapters/tmux.js.map +1 -1
  160. package/daemon/dist/adapters/yolo-mode.d.ts +1 -1
  161. package/daemon/dist/adapters/yolo-mode.d.ts.map +1 -1
  162. package/daemon/dist/adapters/yolo-mode.js +3 -0
  163. package/daemon/dist/adapters/yolo-mode.js.map +1 -1
  164. package/daemon/dist/build-info.js +3 -3
  165. package/daemon/dist/bundle-behaviour-surface.d.ts +2 -0
  166. package/daemon/dist/bundle-behaviour-surface.d.ts.map +1 -0
  167. package/daemon/dist/bundle-behaviour-surface.js +2 -0
  168. package/daemon/dist/bundle-behaviour-surface.js.map +1 -0
  169. package/daemon/dist/bundle-identity-surface.d.ts +2 -0
  170. package/daemon/dist/bundle-identity-surface.d.ts.map +1 -0
  171. package/daemon/dist/bundle-identity-surface.js +4 -0
  172. package/daemon/dist/bundle-identity-surface.js.map +1 -0
  173. package/daemon/dist/daemon-shutdown.d.ts +1 -1
  174. package/daemon/dist/daemon-shutdown.d.ts.map +1 -1
  175. package/daemon/dist/daemon-shutdown.js +5 -1
  176. package/daemon/dist/daemon-shutdown.js.map +1 -1
  177. package/daemon/dist/db/all-migrations.d.ts.map +1 -1
  178. package/daemon/dist/db/all-migrations.js +6 -0
  179. package/daemon/dist/db/all-migrations.js.map +1 -1
  180. package/daemon/dist/db/migrations/095_rig_non_interruptive.d.ts +3 -0
  181. package/daemon/dist/db/migrations/095_rig_non_interruptive.d.ts.map +1 -0
  182. package/daemon/dist/db/migrations/095_rig_non_interruptive.js +5 -0
  183. package/daemon/dist/db/migrations/095_rig_non_interruptive.js.map +1 -0
  184. package/daemon/dist/db/migrations/096_rig_install_root.d.ts +3 -0
  185. package/daemon/dist/db/migrations/096_rig_install_root.d.ts.map +1 -0
  186. package/daemon/dist/db/migrations/096_rig_install_root.js +5 -0
  187. package/daemon/dist/db/migrations/096_rig_install_root.js.map +1 -0
  188. package/daemon/dist/db/migrations/097_thread_part_map.d.ts +3 -0
  189. package/daemon/dist/db/migrations/097_thread_part_map.d.ts.map +1 -0
  190. package/daemon/dist/db/migrations/097_thread_part_map.js +20 -0
  191. package/daemon/dist/db/migrations/097_thread_part_map.js.map +1 -0
  192. package/daemon/dist/domain/activity-taxonomy.d.ts +7 -0
  193. package/daemon/dist/domain/activity-taxonomy.d.ts.map +1 -1
  194. package/daemon/dist/domain/activity-taxonomy.js.map +1 -1
  195. package/daemon/dist/domain/agent-activity-store.d.ts +12 -0
  196. package/daemon/dist/domain/agent-activity-store.d.ts.map +1 -1
  197. package/daemon/dist/domain/agent-activity-store.js +55 -30
  198. package/daemon/dist/domain/agent-activity-store.js.map +1 -1
  199. package/daemon/dist/domain/agent-images/agent-image-types.d.ts +1 -1
  200. package/daemon/dist/domain/agent-images/agent-image-types.d.ts.map +1 -1
  201. package/daemon/dist/domain/agent-manifest.d.ts.map +1 -1
  202. package/daemon/dist/domain/agent-manifest.js +4 -2
  203. package/daemon/dist/domain/agent-manifest.js.map +1 -1
  204. package/daemon/dist/domain/bootstrap-orchestrator.d.ts +10 -0
  205. package/daemon/dist/domain/bootstrap-orchestrator.d.ts.map +1 -1
  206. package/daemon/dist/domain/bootstrap-orchestrator.js +136 -32
  207. package/daemon/dist/domain/bootstrap-orchestrator.js.map +1 -1
  208. package/daemon/dist/domain/builtin-policy-reference.d.ts +1 -1
  209. package/daemon/dist/domain/builtin-policy-reference.d.ts.map +1 -1
  210. package/daemon/dist/domain/builtin-policy-reference.js +2 -2
  211. package/daemon/dist/domain/builtin-policy-reference.js.map +1 -1
  212. package/daemon/dist/domain/bundle-archive.d.ts +24 -0
  213. package/daemon/dist/domain/bundle-archive.d.ts.map +1 -1
  214. package/daemon/dist/domain/bundle-archive.js +52 -27
  215. package/daemon/dist/domain/bundle-archive.js.map +1 -1
  216. package/daemon/dist/domain/bundle-audit.d.ts +5 -0
  217. package/daemon/dist/domain/bundle-audit.d.ts.map +1 -1
  218. package/daemon/dist/domain/bundle-audit.js.map +1 -1
  219. package/daemon/dist/domain/bundle-behaviour-inspect.d.ts +4 -0
  220. package/daemon/dist/domain/bundle-behaviour-inspect.d.ts.map +1 -0
  221. package/daemon/dist/domain/bundle-behaviour-inspect.js +56 -0
  222. package/daemon/dist/domain/bundle-behaviour-inspect.js.map +1 -0
  223. package/daemon/dist/domain/bundle-behaviour.d.ts +118 -0
  224. package/daemon/dist/domain/bundle-behaviour.d.ts.map +1 -0
  225. package/daemon/dist/domain/bundle-behaviour.js +364 -0
  226. package/daemon/dist/domain/bundle-behaviour.js.map +1 -0
  227. package/daemon/dist/domain/bundle-carried-context-pack.d.ts +16 -0
  228. package/daemon/dist/domain/bundle-carried-context-pack.d.ts.map +1 -0
  229. package/daemon/dist/domain/bundle-carried-context-pack.js +67 -0
  230. package/daemon/dist/domain/bundle-carried-context-pack.js.map +1 -0
  231. package/daemon/dist/domain/bundle-carried-project.d.ts +13 -0
  232. package/daemon/dist/domain/bundle-carried-project.d.ts.map +1 -0
  233. package/daemon/dist/domain/bundle-carried-project.js +71 -0
  234. package/daemon/dist/domain/bundle-carried-project.js.map +1 -0
  235. package/daemon/dist/domain/bundle-conflict-detector.js +3 -3
  236. package/daemon/dist/domain/bundle-conflict-detector.js.map +1 -1
  237. package/daemon/dist/domain/bundle-content-routing.d.ts +49 -0
  238. package/daemon/dist/domain/bundle-content-routing.d.ts.map +1 -0
  239. package/daemon/dist/domain/bundle-content-routing.js +246 -0
  240. package/daemon/dist/domain/bundle-content-routing.js.map +1 -0
  241. package/daemon/dist/domain/bundle-context-packs-router.d.ts +7 -2
  242. package/daemon/dist/domain/bundle-context-packs-router.d.ts.map +1 -1
  243. package/daemon/dist/domain/bundle-context-packs-router.js +19 -0
  244. package/daemon/dist/domain/bundle-context-packs-router.js.map +1 -1
  245. package/daemon/dist/domain/bundle-identity.d.ts +27 -0
  246. package/daemon/dist/domain/bundle-identity.d.ts.map +1 -0
  247. package/daemon/dist/domain/bundle-identity.js +34 -0
  248. package/daemon/dist/domain/bundle-identity.js.map +1 -0
  249. package/daemon/dist/domain/bundle-install-context.d.ts +22 -0
  250. package/daemon/dist/domain/bundle-install-context.d.ts.map +1 -0
  251. package/daemon/dist/domain/bundle-install-context.js +64 -0
  252. package/daemon/dist/domain/bundle-install-context.js.map +1 -0
  253. package/daemon/dist/domain/bundle-integrity.d.ts +1 -0
  254. package/daemon/dist/domain/bundle-integrity.d.ts.map +1 -1
  255. package/daemon/dist/domain/bundle-integrity.js +1 -1
  256. package/daemon/dist/domain/bundle-integrity.js.map +1 -1
  257. package/daemon/dist/domain/bundle-source-resolver.d.ts +4 -1
  258. package/daemon/dist/domain/bundle-source-resolver.d.ts.map +1 -1
  259. package/daemon/dist/domain/bundle-source-resolver.js +73 -19
  260. package/daemon/dist/domain/bundle-source-resolver.js.map +1 -1
  261. package/daemon/dist/domain/bundle-types.d.ts +38 -1
  262. package/daemon/dist/domain/bundle-types.d.ts.map +1 -1
  263. package/daemon/dist/domain/bundle-types.js +78 -0
  264. package/daemon/dist/domain/bundle-types.js.map +1 -1
  265. package/daemon/dist/domain/chat-repository.d.ts +5 -0
  266. package/daemon/dist/domain/chat-repository.d.ts.map +1 -1
  267. package/daemon/dist/domain/chat-repository.js +8 -0
  268. package/daemon/dist/domain/chat-repository.js.map +1 -1
  269. package/daemon/dist/domain/claim-service.d.ts.map +1 -1
  270. package/daemon/dist/domain/claim-service.js +5 -4
  271. package/daemon/dist/domain/claim-service.js.map +1 -1
  272. package/daemon/dist/domain/claude-activity-hooks.d.ts +3 -0
  273. package/daemon/dist/domain/claude-activity-hooks.d.ts.map +1 -1
  274. package/daemon/dist/domain/claude-activity-hooks.js +8 -1
  275. package/daemon/dist/domain/claude-activity-hooks.js.map +1 -1
  276. package/daemon/dist/domain/claude-compaction-enforcer.d.ts +15 -1
  277. package/daemon/dist/domain/claude-compaction-enforcer.d.ts.map +1 -1
  278. package/daemon/dist/domain/claude-compaction-enforcer.js +87 -23
  279. package/daemon/dist/domain/claude-compaction-enforcer.js.map +1 -1
  280. package/daemon/dist/domain/codex-team-workspace.d.ts +8 -0
  281. package/daemon/dist/domain/codex-team-workspace.d.ts.map +1 -0
  282. package/daemon/dist/domain/codex-team-workspace.js +54 -0
  283. package/daemon/dist/domain/codex-team-workspace.js.map +1 -0
  284. package/daemon/dist/domain/codex-thread-id.d.ts.map +1 -1
  285. package/daemon/dist/domain/codex-thread-id.js +4 -2
  286. package/daemon/dist/domain/codex-thread-id.js.map +1 -1
  287. package/daemon/dist/domain/context-monitor.d.ts.map +1 -1
  288. package/daemon/dist/domain/context-monitor.js +9 -1
  289. package/daemon/dist/domain/context-monitor.js.map +1 -1
  290. package/daemon/dist/domain/daemon-version.d.ts +3 -1
  291. package/daemon/dist/domain/daemon-version.d.ts.map +1 -1
  292. package/daemon/dist/domain/daemon-version.js +6 -1
  293. package/daemon/dist/domain/daemon-version.js.map +1 -1
  294. package/daemon/dist/domain/event-loop-monitor.d.ts +6 -0
  295. package/daemon/dist/domain/event-loop-monitor.d.ts.map +1 -1
  296. package/daemon/dist/domain/event-loop-monitor.js +13 -0
  297. package/daemon/dist/domain/event-loop-monitor.js.map +1 -1
  298. package/daemon/dist/domain/execution-view.d.ts.map +1 -1
  299. package/daemon/dist/domain/execution-view.js +57 -11
  300. package/daemon/dist/domain/execution-view.js.map +1 -1
  301. package/daemon/dist/domain/finite-telemetry.d.ts +74 -0
  302. package/daemon/dist/domain/finite-telemetry.d.ts.map +1 -0
  303. package/daemon/dist/domain/finite-telemetry.js +236 -0
  304. package/daemon/dist/domain/finite-telemetry.js.map +1 -0
  305. package/daemon/dist/domain/gateway/connections-projection.d.ts +5 -1
  306. package/daemon/dist/domain/gateway/connections-projection.d.ts.map +1 -1
  307. package/daemon/dist/domain/gateway/connections-projection.js +2 -0
  308. package/daemon/dist/domain/gateway/connections-projection.js.map +1 -1
  309. package/daemon/dist/domain/gateway/destination-resolver.d.ts.map +1 -1
  310. package/daemon/dist/domain/gateway/destination-resolver.js +7 -4
  311. package/daemon/dist/domain/gateway/destination-resolver.js.map +1 -1
  312. package/daemon/dist/domain/gateway/gateway-subsystem.d.ts +2 -0
  313. package/daemon/dist/domain/gateway/gateway-subsystem.d.ts.map +1 -1
  314. package/daemon/dist/domain/gateway/gateway-subsystem.js +4 -0
  315. package/daemon/dist/domain/gateway/gateway-subsystem.js.map +1 -1
  316. package/daemon/dist/domain/gateway/human-readiness.d.ts.map +1 -1
  317. package/daemon/dist/domain/gateway/human-readiness.js +23 -6
  318. package/daemon/dist/domain/gateway/human-readiness.js.map +1 -1
  319. package/daemon/dist/domain/gateway/human-registry.d.ts +2 -2
  320. package/daemon/dist/domain/gateway/human-registry.d.ts.map +1 -1
  321. package/daemon/dist/domain/gateway/human-registry.js +2 -2
  322. package/daemon/dist/domain/gateway/human-registry.js.map +1 -1
  323. package/daemon/dist/domain/gateway/slack/capabilities.d.ts.map +1 -1
  324. package/daemon/dist/domain/gateway/slack/capabilities.js +3 -1
  325. package/daemon/dist/domain/gateway/slack/capabilities.js.map +1 -1
  326. package/daemon/dist/domain/gateway/slack/channel-map.d.ts +39 -0
  327. package/daemon/dist/domain/gateway/slack/channel-map.d.ts.map +1 -0
  328. package/daemon/dist/domain/gateway/slack/channel-map.js +114 -0
  329. package/daemon/dist/domain/gateway/slack/channel-map.js.map +1 -0
  330. package/daemon/dist/domain/gateway/slack/channel-recovery.d.ts +45 -0
  331. package/daemon/dist/domain/gateway/slack/channel-recovery.d.ts.map +1 -0
  332. package/daemon/dist/domain/gateway/slack/channel-recovery.js +176 -0
  333. package/daemon/dist/domain/gateway/slack/channel-recovery.js.map +1 -0
  334. package/daemon/dist/domain/gateway/slack/config.d.ts +7 -0
  335. package/daemon/dist/domain/gateway/slack/config.d.ts.map +1 -1
  336. package/daemon/dist/domain/gateway/slack/config.js +19 -2
  337. package/daemon/dist/domain/gateway/slack/config.js.map +1 -1
  338. package/daemon/dist/domain/gateway/slack/inbound.d.ts +27 -2
  339. package/daemon/dist/domain/gateway/slack/inbound.d.ts.map +1 -1
  340. package/daemon/dist/domain/gateway/slack/inbound.js +123 -11
  341. package/daemon/dist/domain/gateway/slack/inbound.js.map +1 -1
  342. package/daemon/dist/domain/gateway/slack/message.d.ts +7 -0
  343. package/daemon/dist/domain/gateway/slack/message.d.ts.map +1 -1
  344. package/daemon/dist/domain/gateway/slack/message.js +36 -0
  345. package/daemon/dist/domain/gateway/slack/message.js.map +1 -1
  346. package/daemon/dist/domain/gateway/slack/slack-api.d.ts +1 -0
  347. package/daemon/dist/domain/gateway/slack/slack-api.d.ts.map +1 -1
  348. package/daemon/dist/domain/gateway/slack/slack-api.js +3 -1
  349. package/daemon/dist/domain/gateway/slack/slack-api.js.map +1 -1
  350. package/daemon/dist/domain/gateway/slack/slack-delivery.d.ts +30 -7
  351. package/daemon/dist/domain/gateway/slack/slack-delivery.d.ts.map +1 -1
  352. package/daemon/dist/domain/gateway/slack/slack-delivery.js +253 -51
  353. package/daemon/dist/domain/gateway/slack/slack-delivery.js.map +1 -1
  354. package/daemon/dist/domain/gateway/slack/slack-subsystem.d.ts.map +1 -1
  355. package/daemon/dist/domain/gateway/slack/slack-subsystem.js +97 -11
  356. package/daemon/dist/domain/gateway/slack/slack-subsystem.js.map +1 -1
  357. package/daemon/dist/domain/gateway/slack/socket-inbound.d.ts +6 -0
  358. package/daemon/dist/domain/gateway/slack/socket-inbound.d.ts.map +1 -1
  359. package/daemon/dist/domain/gateway/slack/socket-inbound.js +51 -1
  360. package/daemon/dist/domain/gateway/slack/socket-inbound.js.map +1 -1
  361. package/daemon/dist/domain/gateway/slack/state-store.d.ts +24 -0
  362. package/daemon/dist/domain/gateway/slack/state-store.d.ts.map +1 -1
  363. package/daemon/dist/domain/gateway/slack/state-store.js +84 -1
  364. package/daemon/dist/domain/gateway/slack/state-store.js.map +1 -1
  365. package/daemon/dist/domain/gateway/slack/thread-routing.d.ts.map +1 -1
  366. package/daemon/dist/domain/gateway/slack/thread-routing.js +22 -2
  367. package/daemon/dist/domain/gateway/slack/thread-routing.js.map +1 -1
  368. package/daemon/dist/domain/gateway/slack/thread-seat-map.d.ts +14 -0
  369. package/daemon/dist/domain/gateway/slack/thread-seat-map.d.ts.map +1 -1
  370. package/daemon/dist/domain/gateway/slack/thread-seat-map.js +27 -0
  371. package/daemon/dist/domain/gateway/slack/thread-seat-map.js.map +1 -1
  372. package/daemon/dist/domain/generated-file-hygiene.d.ts +3 -0
  373. package/daemon/dist/domain/generated-file-hygiene.d.ts.map +1 -0
  374. package/daemon/dist/domain/generated-file-hygiene.js +145 -0
  375. package/daemon/dist/domain/generated-file-hygiene.js.map +1 -0
  376. package/daemon/dist/domain/install-planner.d.ts.map +1 -1
  377. package/daemon/dist/domain/install-planner.js +17 -0
  378. package/daemon/dist/domain/install-planner.js.map +1 -1
  379. package/daemon/dist/domain/managed-blocks.d.ts +1 -0
  380. package/daemon/dist/domain/managed-blocks.d.ts.map +1 -1
  381. package/daemon/dist/domain/managed-blocks.js +8 -2
  382. package/daemon/dist/domain/managed-blocks.js.map +1 -1
  383. package/daemon/dist/domain/markdown-address.d.ts.map +1 -1
  384. package/daemon/dist/domain/markdown-address.js +23 -6
  385. package/daemon/dist/domain/markdown-address.js.map +1 -1
  386. package/daemon/dist/domain/native-permission-store.d.ts +14 -0
  387. package/daemon/dist/domain/native-permission-store.d.ts.map +1 -1
  388. package/daemon/dist/domain/native-permission-store.js +168 -4
  389. package/daemon/dist/domain/native-permission-store.js.map +1 -1
  390. package/daemon/dist/domain/native-process-executable.d.ts +4 -0
  391. package/daemon/dist/domain/native-process-executable.d.ts.map +1 -0
  392. package/daemon/dist/domain/native-process-executable.js +53 -0
  393. package/daemon/dist/domain/native-process-executable.js.map +1 -0
  394. package/daemon/dist/domain/native-process-lineage.d.ts +2 -0
  395. package/daemon/dist/domain/native-process-lineage.d.ts.map +1 -1
  396. package/daemon/dist/domain/native-process-lineage.js +70 -8
  397. package/daemon/dist/domain/native-process-lineage.js.map +1 -1
  398. package/daemon/dist/domain/native-resume-probe.d.ts +3 -1
  399. package/daemon/dist/domain/native-resume-probe.d.ts.map +1 -1
  400. package/daemon/dist/domain/native-resume-probe.js +38 -7
  401. package/daemon/dist/domain/native-resume-probe.js.map +1 -1
  402. package/daemon/dist/domain/node-inventory.d.ts +2 -2
  403. package/daemon/dist/domain/node-inventory.d.ts.map +1 -1
  404. package/daemon/dist/domain/node-inventory.js +30 -4
  405. package/daemon/dist/domain/node-inventory.js.map +1 -1
  406. package/daemon/dist/domain/node-launcher.d.ts.map +1 -1
  407. package/daemon/dist/domain/node-launcher.js +1 -0
  408. package/daemon/dist/domain/node-launcher.js.map +1 -1
  409. package/daemon/dist/domain/pane-binding-observation.d.ts +1 -0
  410. package/daemon/dist/domain/pane-binding-observation.d.ts.map +1 -1
  411. package/daemon/dist/domain/pane-binding-observation.js +3 -1
  412. package/daemon/dist/domain/pane-binding-observation.js.map +1 -1
  413. package/daemon/dist/domain/permission-policy/policy-ref.d.ts +6 -1
  414. package/daemon/dist/domain/permission-policy/policy-ref.d.ts.map +1 -1
  415. package/daemon/dist/domain/permission-policy/policy-ref.js +16 -4
  416. package/daemon/dist/domain/permission-policy/policy-ref.js.map +1 -1
  417. package/daemon/dist/domain/permission-policy/policy-spec.d.ts +1 -1
  418. package/daemon/dist/domain/permission-policy/policy-spec.d.ts.map +1 -1
  419. package/daemon/dist/domain/permission-policy/policy-spec.js +2 -2
  420. package/daemon/dist/domain/permission-policy/policy-spec.js.map +1 -1
  421. package/daemon/dist/domain/plugin-vendor-service.d.ts +6 -0
  422. package/daemon/dist/domain/plugin-vendor-service.d.ts.map +1 -1
  423. package/daemon/dist/domain/plugin-vendor-service.js +12 -0
  424. package/daemon/dist/domain/plugin-vendor-service.js.map +1 -1
  425. package/daemon/dist/domain/profile-resolver.d.ts +3 -2
  426. package/daemon/dist/domain/profile-resolver.d.ts.map +1 -1
  427. package/daemon/dist/domain/profile-resolver.js +71 -9
  428. package/daemon/dist/domain/profile-resolver.js.map +1 -1
  429. package/daemon/dist/domain/projection-planner.d.ts +11 -0
  430. package/daemon/dist/domain/projection-planner.d.ts.map +1 -1
  431. package/daemon/dist/domain/projection-planner.js +1 -1
  432. package/daemon/dist/domain/projection-planner.js.map +1 -1
  433. package/daemon/dist/domain/ps-projection.d.ts +11 -9
  434. package/daemon/dist/domain/ps-projection.d.ts.map +1 -1
  435. package/daemon/dist/domain/ps-projection.js +15 -12
  436. package/daemon/dist/domain/ps-projection.js.map +1 -1
  437. package/daemon/dist/domain/queue-repository.d.ts +2 -0
  438. package/daemon/dist/domain/queue-repository.d.ts.map +1 -1
  439. package/daemon/dist/domain/queue-repository.js +75 -24
  440. package/daemon/dist/domain/queue-repository.js.map +1 -1
  441. package/daemon/dist/domain/queue-retention.d.ts +2 -2
  442. package/daemon/dist/domain/queue-retention.js +4 -4
  443. package/daemon/dist/domain/queue-transition-log.d.ts.map +1 -1
  444. package/daemon/dist/domain/queue-transition-log.js +12 -10
  445. package/daemon/dist/domain/queue-transition-log.js.map +1 -1
  446. package/daemon/dist/domain/queue-wait-backoff.d.ts.map +1 -1
  447. package/daemon/dist/domain/queue-wait-backoff.js +6 -2
  448. package/daemon/dist/domain/queue-wait-backoff.js.map +1 -1
  449. package/daemon/dist/domain/queue-waiting.d.ts.map +1 -1
  450. package/daemon/dist/domain/queue-waiting.js +7 -2
  451. package/daemon/dist/domain/queue-waiting.js.map +1 -1
  452. package/daemon/dist/domain/queue-wake-ladder.d.ts +15 -2
  453. package/daemon/dist/domain/queue-wake-ladder.d.ts.map +1 -1
  454. package/daemon/dist/domain/queue-wake-ladder.js +29 -6
  455. package/daemon/dist/domain/queue-wake-ladder.js.map +1 -1
  456. package/daemon/dist/domain/readiness-timeout.d.ts +7 -0
  457. package/daemon/dist/domain/readiness-timeout.d.ts.map +1 -0
  458. package/daemon/dist/domain/readiness-timeout.js +19 -0
  459. package/daemon/dist/domain/readiness-timeout.js.map +1 -0
  460. package/daemon/dist/domain/rehydrate-eligibility.d.ts.map +1 -1
  461. package/daemon/dist/domain/rehydrate-eligibility.js +5 -2
  462. package/daemon/dist/domain/rehydrate-eligibility.js.map +1 -1
  463. package/daemon/dist/domain/reply-to-choice.d.ts +6 -2
  464. package/daemon/dist/domain/reply-to-choice.d.ts.map +1 -1
  465. package/daemon/dist/domain/reply-to-choice.js +9 -6
  466. package/daemon/dist/domain/reply-to-choice.js.map +1 -1
  467. package/daemon/dist/domain/request-phase-observer.d.ts +69 -0
  468. package/daemon/dist/domain/request-phase-observer.d.ts.map +1 -0
  469. package/daemon/dist/domain/request-phase-observer.js +206 -0
  470. package/daemon/dist/domain/request-phase-observer.js.map +1 -0
  471. package/daemon/dist/domain/restore-check-service.d.ts +5 -1
  472. package/daemon/dist/domain/restore-check-service.d.ts.map +1 -1
  473. package/daemon/dist/domain/restore-check-service.js +17 -3
  474. package/daemon/dist/domain/restore-check-service.js.map +1 -1
  475. package/daemon/dist/domain/restore-orchestrator.d.ts +2 -0
  476. package/daemon/dist/domain/restore-orchestrator.d.ts.map +1 -1
  477. package/daemon/dist/domain/restore-orchestrator.js +58 -12
  478. package/daemon/dist/domain/restore-orchestrator.js.map +1 -1
  479. package/daemon/dist/domain/rig-mode/operating-posture.d.ts +17 -1
  480. package/daemon/dist/domain/rig-mode/operating-posture.d.ts.map +1 -1
  481. package/daemon/dist/domain/rig-mode/operating-posture.js +53 -15
  482. package/daemon/dist/domain/rig-mode/operating-posture.js.map +1 -1
  483. package/daemon/dist/domain/rig-repository.d.ts +15 -6
  484. package/daemon/dist/domain/rig-repository.d.ts.map +1 -1
  485. package/daemon/dist/domain/rig-repository.js +62 -10
  486. package/daemon/dist/domain/rig-repository.js.map +1 -1
  487. package/daemon/dist/domain/rig-teardown.d.ts.map +1 -1
  488. package/daemon/dist/domain/rig-teardown.js +12 -3
  489. package/daemon/dist/domain/rig-teardown.js.map +1 -1
  490. package/daemon/dist/domain/rigspec-codec.d.ts.map +1 -1
  491. package/daemon/dist/domain/rigspec-codec.js +2 -0
  492. package/daemon/dist/domain/rigspec-codec.js.map +1 -1
  493. package/daemon/dist/domain/rigspec-exporter.d.ts.map +1 -1
  494. package/daemon/dist/domain/rigspec-exporter.js +1 -0
  495. package/daemon/dist/domain/rigspec-exporter.js.map +1 -1
  496. package/daemon/dist/domain/rigspec-instantiator.d.ts +9 -3
  497. package/daemon/dist/domain/rigspec-instantiator.d.ts.map +1 -1
  498. package/daemon/dist/domain/rigspec-instantiator.js +46 -13
  499. package/daemon/dist/domain/rigspec-instantiator.js.map +1 -1
  500. package/daemon/dist/domain/rigspec-preflight.d.ts +3 -2
  501. package/daemon/dist/domain/rigspec-preflight.d.ts.map +1 -1
  502. package/daemon/dist/domain/rigspec-preflight.js +24 -12
  503. package/daemon/dist/domain/rigspec-preflight.js.map +1 -1
  504. package/daemon/dist/domain/rigspec-schema.d.ts.map +1 -1
  505. package/daemon/dist/domain/rigspec-schema.js +24 -5
  506. package/daemon/dist/domain/rigspec-schema.js.map +1 -1
  507. package/daemon/dist/domain/route-timing-recorder.d.ts.map +1 -1
  508. package/daemon/dist/domain/route-timing-recorder.js +2 -0
  509. package/daemon/dist/domain/route-timing-recorder.js.map +1 -1
  510. package/daemon/dist/domain/runtime-adapter.d.ts +12 -3
  511. package/daemon/dist/domain/runtime-adapter.d.ts.map +1 -1
  512. package/daemon/dist/domain/runtime-adapter.js +1 -0
  513. package/daemon/dist/domain/runtime-adapter.js.map +1 -1
  514. package/daemon/dist/domain/seat-activity-service.d.ts.map +1 -1
  515. package/daemon/dist/domain/seat-activity-service.js +16 -6
  516. package/daemon/dist/domain/seat-activity-service.js.map +1 -1
  517. package/daemon/dist/domain/seat-attention-reconciler.d.ts.map +1 -1
  518. package/daemon/dist/domain/seat-attention-reconciler.js +10 -4
  519. package/daemon/dist/domain/seat-attention-reconciler.js.map +1 -1
  520. package/daemon/dist/domain/seat-handover-service.d.ts +2 -0
  521. package/daemon/dist/domain/seat-handover-service.d.ts.map +1 -1
  522. package/daemon/dist/domain/seat-handover-service.js +14 -8
  523. package/daemon/dist/domain/seat-handover-service.js.map +1 -1
  524. package/daemon/dist/domain/seat-launch-environment.d.ts.map +1 -1
  525. package/daemon/dist/domain/seat-launch-environment.js +4 -0
  526. package/daemon/dist/domain/seat-launch-environment.js.map +1 -1
  527. package/daemon/dist/domain/seat-lifecycle-service.d.ts +4 -0
  528. package/daemon/dist/domain/seat-lifecycle-service.d.ts.map +1 -1
  529. package/daemon/dist/domain/seat-lifecycle-service.js +4 -0
  530. package/daemon/dist/domain/seat-lifecycle-service.js.map +1 -1
  531. package/daemon/dist/domain/seat-status-service.d.ts +2 -1
  532. package/daemon/dist/domain/seat-status-service.d.ts.map +1 -1
  533. package/daemon/dist/domain/seat-status-service.js +6 -4
  534. package/daemon/dist/domain/seat-status-service.js.map +1 -1
  535. package/daemon/dist/domain/service-orchestrator.d.ts +1 -0
  536. package/daemon/dist/domain/service-orchestrator.d.ts.map +1 -1
  537. package/daemon/dist/domain/service-orchestrator.js +4 -0
  538. package/daemon/dist/domain/service-orchestrator.js.map +1 -1
  539. package/daemon/dist/domain/session-jsonl.d.ts.map +1 -1
  540. package/daemon/dist/domain/session-jsonl.js +10 -4
  541. package/daemon/dist/domain/session-jsonl.js.map +1 -1
  542. package/daemon/dist/domain/session-transport.d.ts +9 -20
  543. package/daemon/dist/domain/session-transport.d.ts.map +1 -1
  544. package/daemon/dist/domain/session-transport.js +198 -44
  545. package/daemon/dist/domain/session-transport.js.map +1 -1
  546. package/daemon/dist/domain/skill-audit.d.ts +19 -0
  547. package/daemon/dist/domain/skill-audit.d.ts.map +1 -1
  548. package/daemon/dist/domain/skill-audit.js +97 -5
  549. package/daemon/dist/domain/skill-audit.js.map +1 -1
  550. package/daemon/dist/domain/skill-catalog.d.ts +19 -0
  551. package/daemon/dist/domain/skill-catalog.d.ts.map +1 -1
  552. package/daemon/dist/domain/skill-catalog.js +175 -17
  553. package/daemon/dist/domain/skill-catalog.js.map +1 -1
  554. package/daemon/dist/domain/skill-discovery.d.ts +1 -1
  555. package/daemon/dist/domain/skill-discovery.d.ts.map +1 -1
  556. package/daemon/dist/domain/skill-discovery.js +6 -0
  557. package/daemon/dist/domain/skill-discovery.js.map +1 -1
  558. package/daemon/dist/domain/skill-mirror-drift.d.ts +6 -1
  559. package/daemon/dist/domain/skill-mirror-drift.d.ts.map +1 -1
  560. package/daemon/dist/domain/skill-mirror-drift.js +23 -12
  561. package/daemon/dist/domain/skill-mirror-drift.js.map +1 -1
  562. package/daemon/dist/domain/slow-op-recorder.d.ts +5 -0
  563. package/daemon/dist/domain/slow-op-recorder.d.ts.map +1 -1
  564. package/daemon/dist/domain/slow-op-recorder.js +34 -1
  565. package/daemon/dist/domain/slow-op-recorder.js.map +1 -1
  566. package/daemon/dist/domain/snapshot-repository.d.ts.map +1 -1
  567. package/daemon/dist/domain/snapshot-repository.js +12 -32
  568. package/daemon/dist/domain/snapshot-repository.js.map +1 -1
  569. package/daemon/dist/domain/startup-orchestrator.d.ts +30 -5
  570. package/daemon/dist/domain/startup-orchestrator.d.ts.map +1 -1
  571. package/daemon/dist/domain/startup-orchestrator.js +143 -43
  572. package/daemon/dist/domain/startup-orchestrator.js.map +1 -1
  573. package/daemon/dist/domain/startup-proof.d.ts +7 -0
  574. package/daemon/dist/domain/startup-proof.d.ts.map +1 -1
  575. package/daemon/dist/domain/startup-proof.js +7 -0
  576. package/daemon/dist/domain/startup-proof.js.map +1 -1
  577. package/daemon/dist/domain/startup-submission-evidence.d.ts +5 -1
  578. package/daemon/dist/domain/startup-submission-evidence.d.ts.map +1 -1
  579. package/daemon/dist/domain/startup-submission-evidence.js +19 -2
  580. package/daemon/dist/domain/startup-submission-evidence.js.map +1 -1
  581. package/daemon/dist/domain/successor-session-launcher.d.ts +9 -3
  582. package/daemon/dist/domain/successor-session-launcher.d.ts.map +1 -1
  583. package/daemon/dist/domain/successor-session-launcher.js +12 -4
  584. package/daemon/dist/domain/successor-session-launcher.js.map +1 -1
  585. package/daemon/dist/domain/system-world.d.ts +3 -0
  586. package/daemon/dist/domain/system-world.d.ts.map +1 -1
  587. package/daemon/dist/domain/system-world.js +24 -21
  588. package/daemon/dist/domain/system-world.js.map +1 -1
  589. package/daemon/dist/domain/terminal/cmux-provider-adapter.d.ts.map +1 -1
  590. package/daemon/dist/domain/terminal/cmux-provider-adapter.js +2 -3
  591. package/daemon/dist/domain/terminal/cmux-provider-adapter.js.map +1 -1
  592. package/daemon/dist/domain/terminal/herdr-adapter.d.ts +23 -5
  593. package/daemon/dist/domain/terminal/herdr-adapter.d.ts.map +1 -1
  594. package/daemon/dist/domain/terminal/herdr-adapter.js +116 -15
  595. package/daemon/dist/domain/terminal/herdr-adapter.js.map +1 -1
  596. package/daemon/dist/domain/terminal/terminal-provider.d.ts +11 -0
  597. package/daemon/dist/domain/terminal/terminal-provider.d.ts.map +1 -1
  598. package/daemon/dist/domain/terminal/terminal-service.d.ts +14 -0
  599. package/daemon/dist/domain/terminal/terminal-service.d.ts.map +1 -1
  600. package/daemon/dist/domain/terminal/terminal-service.js +91 -10
  601. package/daemon/dist/domain/terminal/terminal-service.js.map +1 -1
  602. package/daemon/dist/domain/terminal/view-composer.d.ts +6 -0
  603. package/daemon/dist/domain/terminal/view-composer.d.ts.map +1 -1
  604. package/daemon/dist/domain/terminal/view-composer.js +4 -2
  605. package/daemon/dist/domain/terminal/view-composer.js.map +1 -1
  606. package/daemon/dist/domain/topology/remote-up-leaf.d.ts +1 -0
  607. package/daemon/dist/domain/topology/remote-up-leaf.d.ts.map +1 -1
  608. package/daemon/dist/domain/topology/remote-up-leaf.js.map +1 -1
  609. package/daemon/dist/domain/transcript-store.d.ts.map +1 -1
  610. package/daemon/dist/domain/transcript-store.js +24 -11
  611. package/daemon/dist/domain/transcript-store.js.map +1 -1
  612. package/daemon/dist/domain/types.d.ts +8 -0
  613. package/daemon/dist/domain/types.d.ts.map +1 -1
  614. package/daemon/dist/domain/types.js.map +1 -1
  615. package/daemon/dist/domain/usage-samples-store.js +2 -2
  616. package/daemon/dist/domain/usage-samples-store.js.map +1 -1
  617. package/daemon/dist/domain/usage-series.d.ts.map +1 -1
  618. package/daemon/dist/domain/usage-series.js +42 -10
  619. package/daemon/dist/domain/usage-series.js.map +1 -1
  620. package/daemon/dist/domain/user-settings/settings-browser.d.ts.map +1 -1
  621. package/daemon/dist/domain/user-settings/settings-browser.js +2 -0
  622. package/daemon/dist/domain/user-settings/settings-browser.js.map +1 -1
  623. package/daemon/dist/domain/user-settings/settings-store.d.ts +1 -1
  624. package/daemon/dist/domain/user-settings/settings-store.d.ts.map +1 -1
  625. package/daemon/dist/domain/user-settings/settings-store.js +14 -1
  626. package/daemon/dist/domain/user-settings/settings-store.js.map +1 -1
  627. package/daemon/dist/domain/watchdog-due.d.ts +17 -0
  628. package/daemon/dist/domain/watchdog-due.d.ts.map +1 -0
  629. package/daemon/dist/domain/watchdog-due.js +45 -0
  630. package/daemon/dist/domain/watchdog-due.js.map +1 -0
  631. package/daemon/dist/domain/watchdog-scheduler.d.ts.map +1 -1
  632. package/daemon/dist/domain/watchdog-scheduler.js +3 -7
  633. package/daemon/dist/domain/watchdog-scheduler.js.map +1 -1
  634. package/daemon/dist/domain/workflow-projector.d.ts.map +1 -1
  635. package/daemon/dist/domain/workflow-projector.js +15 -5
  636. package/daemon/dist/domain/workflow-projector.js.map +1 -1
  637. package/daemon/dist/domain/workflow-runtime.d.ts +1 -1
  638. package/daemon/dist/domain/workflow-runtime.js +1 -1
  639. package/daemon/dist/domain/workflow-runtime.js.map +1 -1
  640. package/daemon/dist/domain/workflow-step-trail-log.d.ts +6 -0
  641. package/daemon/dist/domain/workflow-step-trail-log.d.ts.map +1 -1
  642. package/daemon/dist/domain/workflow-step-trail-log.js +11 -0
  643. package/daemon/dist/domain/workflow-step-trail-log.js.map +1 -1
  644. package/daemon/dist/domain/workspace/project-catalog.d.ts +20 -0
  645. package/daemon/dist/domain/workspace/project-catalog.d.ts.map +1 -1
  646. package/daemon/dist/domain/workspace/project-catalog.js +92 -0
  647. package/daemon/dist/domain/workspace/project-catalog.js.map +1 -1
  648. package/daemon/dist/domain/workspace/project-registration.d.ts +49 -0
  649. package/daemon/dist/domain/workspace/project-registration.d.ts.map +1 -0
  650. package/daemon/dist/domain/workspace/project-registration.js +251 -0
  651. package/daemon/dist/domain/workspace/project-registration.js.map +1 -0
  652. package/daemon/dist/gateway-slack-surface.d.ts +1 -0
  653. package/daemon/dist/gateway-slack-surface.d.ts.map +1 -1
  654. package/daemon/dist/gateway-slack-surface.js +2 -1
  655. package/daemon/dist/gateway-slack-surface.js.map +1 -1
  656. package/daemon/dist/index.d.ts +1 -0
  657. package/daemon/dist/index.d.ts.map +1 -1
  658. package/daemon/dist/index.js +9 -8
  659. package/daemon/dist/index.js.map +1 -1
  660. package/daemon/dist/project-catalog-surface.d.ts +2 -1
  661. package/daemon/dist/project-catalog-surface.d.ts.map +1 -1
  662. package/daemon/dist/project-catalog-surface.js +1 -1
  663. package/daemon/dist/project-catalog-surface.js.map +1 -1
  664. package/daemon/dist/routes/agent-images.js +5 -5
  665. package/daemon/dist/routes/agent-images.js.map +1 -1
  666. package/daemon/dist/routes/bootstrap-failure-response.d.ts +13 -0
  667. package/daemon/dist/routes/bootstrap-failure-response.d.ts.map +1 -0
  668. package/daemon/dist/routes/bootstrap-failure-response.js +52 -0
  669. package/daemon/dist/routes/bootstrap-failure-response.js.map +1 -0
  670. package/daemon/dist/routes/bundles.d.ts.map +1 -1
  671. package/daemon/dist/routes/bundles.js +197 -449
  672. package/daemon/dist/routes/bundles.js.map +1 -1
  673. package/daemon/dist/routes/chat.d.ts.map +1 -1
  674. package/daemon/dist/routes/chat.js +16 -1
  675. package/daemon/dist/routes/chat.js.map +1 -1
  676. package/daemon/dist/routes/compaction.d.ts.map +1 -1
  677. package/daemon/dist/routes/compaction.js +14 -2
  678. package/daemon/dist/routes/compaction.js.map +1 -1
  679. package/daemon/dist/routes/env.d.ts.map +1 -1
  680. package/daemon/dist/routes/env.js +14 -4
  681. package/daemon/dist/routes/env.js.map +1 -1
  682. package/daemon/dist/routes/gateway.d.ts.map +1 -1
  683. package/daemon/dist/routes/gateway.js +5 -0
  684. package/daemon/dist/routes/gateway.js.map +1 -1
  685. package/daemon/dist/routes/projects.d.ts.map +1 -1
  686. package/daemon/dist/routes/projects.js +4 -2
  687. package/daemon/dist/routes/projects.js.map +1 -1
  688. package/daemon/dist/routes/restore-check.d.ts.map +1 -1
  689. package/daemon/dist/routes/restore-check.js +2 -0
  690. package/daemon/dist/routes/restore-check.js.map +1 -1
  691. package/daemon/dist/routes/rigs.d.ts.map +1 -1
  692. package/daemon/dist/routes/rigs.js +5 -4
  693. package/daemon/dist/routes/rigs.js.map +1 -1
  694. package/daemon/dist/routes/rigspec.js +4 -2
  695. package/daemon/dist/routes/rigspec.js.map +1 -1
  696. package/daemon/dist/routes/seat.js +23 -16
  697. package/daemon/dist/routes/seat.js.map +1 -1
  698. package/daemon/dist/routes/sessions.d.ts.map +1 -1
  699. package/daemon/dist/routes/sessions.js +12 -11
  700. package/daemon/dist/routes/sessions.js.map +1 -1
  701. package/daemon/dist/routes/skills.d.ts.map +1 -1
  702. package/daemon/dist/routes/skills.js +15 -7
  703. package/daemon/dist/routes/skills.js.map +1 -1
  704. package/daemon/dist/routes/telemetry.d.ts +2 -0
  705. package/daemon/dist/routes/telemetry.d.ts.map +1 -1
  706. package/daemon/dist/routes/telemetry.js +16 -0
  707. package/daemon/dist/routes/telemetry.js.map +1 -1
  708. package/daemon/dist/routes/terminal-ws.js +15 -2
  709. package/daemon/dist/routes/terminal-ws.js.map +1 -1
  710. package/daemon/dist/routes/terminal.d.ts.map +1 -1
  711. package/daemon/dist/routes/terminal.js +6 -4
  712. package/daemon/dist/routes/terminal.js.map +1 -1
  713. package/daemon/dist/routes/up.d.ts.map +1 -1
  714. package/daemon/dist/routes/up.js +12 -59
  715. package/daemon/dist/routes/up.js.map +1 -1
  716. package/daemon/dist/server.d.ts +1 -0
  717. package/daemon/dist/server.d.ts.map +1 -1
  718. package/daemon/dist/server.js +4 -1
  719. package/daemon/dist/server.js.map +1 -1
  720. package/daemon/dist/spec-validation-surface.d.ts +2 -0
  721. package/daemon/dist/spec-validation-surface.d.ts.map +1 -1
  722. package/daemon/dist/spec-validation-surface.js +2 -0
  723. package/daemon/dist/spec-validation-surface.js.map +1 -1
  724. package/daemon/dist/startup.d.ts.map +1 -1
  725. package/daemon/dist/startup.js +65 -18
  726. package/daemon/dist/startup.js.map +1 -1
  727. package/daemon/dist/system-world-surface.d.ts +1 -1
  728. package/daemon/dist/system-world-surface.d.ts.map +1 -1
  729. package/daemon/dist/system-world-surface.js +1 -1
  730. package/daemon/dist/system-world-surface.js.map +1 -1
  731. package/daemon/dist/terminal/TerminalSessionBroker.d.ts.map +1 -1
  732. package/daemon/dist/terminal/TerminalSessionBroker.js +9 -1
  733. package/daemon/dist/terminal/TerminalSessionBroker.js.map +1 -1
  734. package/daemon/docs/reference/agent-spec.md +114 -68
  735. package/daemon/docs/reference/agent-startup-guide.md +111 -33
  736. package/daemon/docs/reference/agent-state-taxonomy.md +44 -13
  737. package/daemon/docs/reference/browser-access.md +8 -7
  738. package/daemon/docs/reference/bundle-formats.md +209 -0
  739. package/daemon/docs/reference/chain-file-convention.md +18 -9
  740. package/daemon/docs/reference/developing.md +8 -1
  741. package/daemon/docs/reference/edge-types.md +18 -10
  742. package/daemon/docs/reference/getting-started.md +593 -139
  743. package/daemon/docs/reference/health-diagnosis.md +14 -6
  744. package/daemon/docs/reference/help.md +66 -12
  745. package/daemon/docs/reference/host-resources.md +3 -2
  746. package/daemon/docs/reference/inventory-request-diagnostics.md +75 -0
  747. package/daemon/docs/reference/knowledge-maturity.md +3 -1
  748. package/daemon/docs/reference/legacy-topology-migration.md +4 -2
  749. package/daemon/docs/reference/lore-routing.md +3 -1
  750. package/daemon/docs/reference/mission-install.md +3 -1
  751. package/daemon/docs/reference/non-interruptive-mode.md +63 -0
  752. package/daemon/docs/reference/planning-dial.md +2 -1
  753. package/daemon/docs/reference/product-journey-sdlc.md +11 -6
  754. package/daemon/docs/reference/product-management-pass.md +3 -1
  755. package/daemon/docs/reference/project-workspace.md +81 -4
  756. package/daemon/docs/reference/publishing-a-rig-bundle.md +147 -0
  757. package/daemon/docs/reference/refocus-channel.md +28 -7
  758. package/daemon/docs/reference/release-boundary.md +7 -3
  759. package/daemon/docs/reference/rig-bundle.md +292 -43
  760. package/daemon/docs/reference/rig-spec.md +175 -26
  761. package/daemon/docs/reference/rosters.md +61 -0
  762. package/daemon/docs/reference/schemas/bundle-behaviour.v1.schema.json +546 -0
  763. package/daemon/docs/reference/schemas/bundle-common.v1.schema.json +110 -0
  764. package/daemon/docs/reference/schemas/bundle-configurations.v1.schema.json +67 -0
  765. package/daemon/docs/reference/schemas/bundle-status.v1.schema.json +323 -0
  766. package/daemon/docs/reference/schemas/fixtures/identity-vectors.json +80 -0
  767. package/daemon/docs/reference/schemas/fixtures/invalid/behaviour/not-generated-with-sections.json +60 -0
  768. package/daemon/docs/reference/schemas/fixtures/invalid/configurations/spaced-member.configurations.yaml +6 -0
  769. package/daemon/docs/reference/schemas/fixtures/invalid/registry/listed-with-withdrawn-on.yaml +21 -0
  770. package/daemon/docs/reference/schemas/fixtures/invalid/registry/missing-source.yaml +16 -0
  771. package/daemon/docs/reference/schemas/fixtures/invalid/registry/parent-folder.yaml +20 -0
  772. package/daemon/docs/reference/schemas/fixtures/invalid/registry/short-commit.yaml +20 -0
  773. package/daemon/docs/reference/schemas/fixtures/invalid/registry/withdrawn-without-date.yaml +20 -0
  774. package/daemon/docs/reference/schemas/fixtures/invalid/run-record/harness-check-with-configuration.json +75 -0
  775. package/daemon/docs/reference/schemas/fixtures/invalid/run-record/unlabelable-platform.json +97 -0
  776. package/daemon/docs/reference/schemas/fixtures/invalid/status/hand-edited-notice.json +61 -0
  777. package/daemon/docs/reference/schemas/fixtures/invalid/status/tested-with-assistance.json +62 -0
  778. package/daemon/docs/reference/schemas/fixtures/invalid/status/tested-without-records.json +59 -0
  779. package/daemon/docs/reference/schemas/fixtures/invalid/status/unavailable-harness-with-result.json +61 -0
  780. package/daemon/docs/reference/schemas/fixtures/invalid/status/unavailable-listing-with-label.json +61 -0
  781. package/daemon/docs/reference/schemas/fixtures/valid/behaviour/custom-not-generated.json +22 -0
  782. package/daemon/docs/reference/schemas/fixtures/valid/behaviour/legacy-archive-unknown-identity.json +53 -0
  783. package/daemon/docs/reference/schemas/fixtures/valid/behaviour/mixed-runtimes-default.json +101 -0
  784. package/daemon/docs/reference/schemas/fixtures/valid/behaviour/mixed-runtimes-yolo.json +102 -0
  785. package/daemon/docs/reference/schemas/fixtures/valid/behaviour/openrig-dev.recommended.json +258 -0
  786. package/daemon/docs/reference/schemas/fixtures/valid/configurations/openrig-dev.configurations.yaml +12 -0
  787. package/daemon/docs/reference/schemas/fixtures/valid/registry/openrig-dev.yaml +20 -0
  788. package/daemon/docs/reference/schemas/fixtures/valid/registry/withdrawn.yaml +21 -0
  789. package/daemon/docs/reference/schemas/fixtures/valid/run-record/pi-harness-check-blocked.json +74 -0
  790. package/daemon/docs/reference/schemas/fixtures/valid/run-record/team-assisted-pass.json +97 -0
  791. package/daemon/docs/reference/schemas/fixtures/valid/run-record/team-pass.json +97 -0
  792. package/daemon/docs/reference/schemas/fixtures/valid/run-record/withdraws-earlier.json +99 -0
  793. package/daemon/docs/reference/schemas/fixtures/valid/status/status.json +61 -0
  794. package/daemon/docs/reference/schemas/registry-entry.v1.schema.json +139 -0
  795. package/daemon/docs/reference/schemas/run-record.v1.schema.json +315 -0
  796. package/daemon/docs/reference/scoped-operating-posture.md +17 -9
  797. package/daemon/docs/reference/sdlc-conventions.md +46 -28
  798. package/daemon/docs/reference/slack-app-setup.md +112 -11
  799. package/daemon/docs/reference/stream-classifier-worker.md +21 -8
  800. package/daemon/docs/reference/telemetry.md +114 -0
  801. package/daemon/docs/reference/whats-new.md +134 -0
  802. package/daemon/docs/reference/worktree-builds.md +12 -6
  803. package/daemon/policies/builtin/auto.policy.md +24 -0
  804. package/daemon/specs/agents/development/implementer/agent.yaml +2 -2
  805. package/daemon/specs/agents/development/qa/agent.yaml +1 -1
  806. package/daemon/specs/agents/product-management/pm/agent.yaml +10 -0
  807. package/daemon/specs/agents/shared/skills/core/agent-starters/SKILL.md +0 -6
  808. package/daemon/specs/agents/shared/skills/core/agent-startup-and-context-ingestion/SKILL.md +1 -8
  809. package/daemon/specs/agents/shared/skills/core/openrig-architect/SKILL.md +5 -5
  810. package/daemon/specs/agents/shared/skills/core/openrig-skills/SKILL.md +4 -5
  811. package/daemon/specs/agents/shared/skills/core/openrig-software-factory/SKILL.md +31 -21
  812. package/daemon/specs/agents/shared/skills/core/openrig-software-factory/references/worked-example.md +31 -31
  813. package/daemon/specs/agents/shared/skills/core/openrig-upgrade/SKILL.md +2 -0
  814. package/daemon/specs/agents/shared/skills/core/rig-bundles-and-shareable-artifacts/SKILL.md +0 -1
  815. package/daemon/specs/agents/shared/skills/core/session-source-fork/SKILL.md +0 -5
  816. package/daemon/specs/agents/shared/skills/process/agent-browser/OPENRIG.md +1 -1
  817. package/daemon/specs/agents/shared/skills/process/systematic-debugging/SKILL.md +0 -2
  818. package/daemon/specs/rigs/focused/{adversarial-review → code-review}/rig.yaml +1 -1
  819. package/daemon/specs/rigs/focused/pm/CULTURE.md +21 -0
  820. package/daemon/specs/rigs/focused/{pm-team → pm}/rig.yaml +5 -5
  821. package/daemon/specs/rigs/focused/{research-team → research}/rig.yaml +1 -1
  822. package/daemon/specs/rigs/launch/factory/CULTURE.md +96 -0
  823. package/daemon/specs/rigs/launch/factory/guidance/advisor-role.md +10 -0
  824. package/daemon/specs/rigs/launch/factory/guidance/lead-first-move.md +83 -0
  825. package/daemon/specs/rigs/launch/{demo → factory}/rig.yaml +46 -35
  826. package/daemon/specs/rigs/{preview/product-team → launch/factory}/topology/instance/CRAFT.md +1 -1
  827. package/daemon/specs/rigs/{preview/product-team → launch/factory}/topology/rig/CRAFT.md +2 -2
  828. package/daemon/specs/rigs/{preview/product-team → launch/factory}/topology/rig/ORCHESTRATION-CRAFT.md +2 -2
  829. package/daemon/specs/rigs/{preview/product-team/topology/seats/dev1-qa → launch/factory/topology/seats/dev-qa}/CRAFT.md +1 -1
  830. package/daemon/specs/rigs/{preview/product-team/topology/seats/orch1-lead → launch/factory/topology/seats/orch-lead}/CRAFT.md +1 -1
  831. package/daemon/specs/rigs/{preview/product-team/topology/seats/rev1-r1 → launch/factory/topology/seats/review-r1}/CRAFT.md +1 -1
  832. package/daemon/specs/rigs/{preview/product-team/topology/seats/rev1-r2 → launch/factory/topology/seats/review-r2}/CRAFT.md +1 -1
  833. package/daemon/specs/rigs/launch/kernel/agents/advisor/lead/guidance/role.md +37 -0
  834. package/daemon/specs/rigs/launch/kernel/agents/advisor/lead/startup/context.md +12 -13
  835. package/daemon/specs/rigs/launch/kernel/agents/operator/agent/guidance/role.md +258 -9
  836. package/daemon/specs/rigs/launch/kernel/agents/operator/agent/startup/context.md +30 -7
  837. package/daemon/specs/rigs/launch/kernel/agents/queue/worker/guidance/role.md +37 -0
  838. package/daemon/specs/rigs/launch/kernel/culture/CULTURE.md +46 -2
  839. package/daemon/specs/rigs/launch/starter/CULTURE.md +39 -0
  840. package/daemon/specs/rigs/launch/starter/guidance/lead-first-move.md +67 -0
  841. package/daemon/specs/rigs/launch/{first-project-mixed → starter}/rig.yaml +11 -8
  842. package/dist/build-info.js +3 -3
  843. package/dist/bundle-behaviour.d.ts +10 -0
  844. package/dist/bundle-behaviour.d.ts.map +1 -0
  845. package/dist/bundle-behaviour.js +72 -0
  846. package/dist/bundle-behaviour.js.map +1 -0
  847. package/dist/cli-error.d.ts.map +1 -1
  848. package/dist/cli-error.js +11 -3
  849. package/dist/cli-error.js.map +1 -1
  850. package/dist/client.d.ts +2 -0
  851. package/dist/client.d.ts.map +1 -1
  852. package/dist/client.js +2 -0
  853. package/dist/client.js.map +1 -1
  854. package/dist/commands/agent-image.js +2 -2
  855. package/dist/commands/agent-image.js.map +1 -1
  856. package/dist/commands/bootstrap.d.ts.map +1 -1
  857. package/dist/commands/bootstrap.js +30 -5
  858. package/dist/commands/bootstrap.js.map +1 -1
  859. package/dist/commands/bundle.d.ts +12 -0
  860. package/dist/commands/bundle.d.ts.map +1 -1
  861. package/dist/commands/bundle.js +288 -22
  862. package/dist/commands/bundle.js.map +1 -1
  863. package/dist/commands/capture.js +4 -4
  864. package/dist/commands/capture.js.map +1 -1
  865. package/dist/commands/chatroom.d.ts.map +1 -1
  866. package/dist/commands/chatroom.js +21 -1
  867. package/dist/commands/chatroom.js.map +1 -1
  868. package/dist/commands/compact-plan.js +2 -2
  869. package/dist/commands/compact-plan.js.map +1 -1
  870. package/dist/commands/config.d.ts.map +1 -1
  871. package/dist/commands/config.js +3 -0
  872. package/dist/commands/config.js.map +1 -1
  873. package/dist/commands/context.d.ts +3 -1
  874. package/dist/commands/context.d.ts.map +1 -1
  875. package/dist/commands/context.js +70 -20
  876. package/dist/commands/context.js.map +1 -1
  877. package/dist/commands/daemon.js +1 -1
  878. package/dist/commands/daemon.js.map +1 -1
  879. package/dist/commands/doctor.d.ts +3 -1
  880. package/dist/commands/doctor.d.ts.map +1 -1
  881. package/dist/commands/doctor.js +17 -5
  882. package/dist/commands/doctor.js.map +1 -1
  883. package/dist/commands/down.d.ts.map +1 -1
  884. package/dist/commands/down.js +49 -1
  885. package/dist/commands/down.js.map +1 -1
  886. package/dist/commands/env.js +1 -1
  887. package/dist/commands/env.js.map +1 -1
  888. package/dist/commands/gateway.d.ts.map +1 -1
  889. package/dist/commands/gateway.js +4 -3
  890. package/dist/commands/gateway.js.map +1 -1
  891. package/dist/commands/health.d.ts.map +1 -1
  892. package/dist/commands/health.js +4 -1
  893. package/dist/commands/health.js.map +1 -1
  894. package/dist/commands/host.d.ts +11 -0
  895. package/dist/commands/host.d.ts.map +1 -1
  896. package/dist/commands/host.js +25 -1
  897. package/dist/commands/host.js.map +1 -1
  898. package/dist/commands/import.d.ts.map +1 -1
  899. package/dist/commands/import.js +2 -0
  900. package/dist/commands/import.js.map +1 -1
  901. package/dist/commands/mcp.d.ts.map +1 -1
  902. package/dist/commands/mcp.js +25 -12
  903. package/dist/commands/mcp.js.map +1 -1
  904. package/dist/commands/package.d.ts.map +1 -1
  905. package/dist/commands/package.js +6 -3
  906. package/dist/commands/package.js.map +1 -1
  907. package/dist/commands/policy.d.ts.map +1 -1
  908. package/dist/commands/policy.js +9 -7
  909. package/dist/commands/policy.js.map +1 -1
  910. package/dist/commands/project-jev.js +1 -1
  911. package/dist/commands/project-jev.js.map +1 -1
  912. package/dist/commands/project.d.ts.map +1 -1
  913. package/dist/commands/project.js +5 -3
  914. package/dist/commands/project.js.map +1 -1
  915. package/dist/commands/ps.d.ts +1 -0
  916. package/dist/commands/ps.d.ts.map +1 -1
  917. package/dist/commands/ps.js +12 -2
  918. package/dist/commands/ps.js.map +1 -1
  919. package/dist/commands/queue.d.ts.map +1 -1
  920. package/dist/commands/queue.js +10 -5
  921. package/dist/commands/queue.js.map +1 -1
  922. package/dist/commands/restore-packet.d.ts.map +1 -1
  923. package/dist/commands/restore-packet.js +6 -4
  924. package/dist/commands/restore-packet.js.map +1 -1
  925. package/dist/commands/restore.d.ts.map +1 -1
  926. package/dist/commands/restore.js +5 -0
  927. package/dist/commands/restore.js.map +1 -1
  928. package/dist/commands/roster.d.ts +63 -0
  929. package/dist/commands/roster.d.ts.map +1 -0
  930. package/dist/commands/roster.js +169 -0
  931. package/dist/commands/roster.js.map +1 -0
  932. package/dist/commands/scope.js +5 -5
  933. package/dist/commands/scope.js.map +1 -1
  934. package/dist/commands/seat.d.ts.map +1 -1
  935. package/dist/commands/seat.js +57 -8
  936. package/dist/commands/seat.js.map +1 -1
  937. package/dist/commands/send.d.ts.map +1 -1
  938. package/dist/commands/send.js +20 -6
  939. package/dist/commands/send.js.map +1 -1
  940. package/dist/commands/setup.d.ts +7 -16
  941. package/dist/commands/setup.d.ts.map +1 -1
  942. package/dist/commands/setup.js +174 -338
  943. package/dist/commands/setup.js.map +1 -1
  944. package/dist/commands/skill.d.ts.map +1 -1
  945. package/dist/commands/skill.js +6 -1
  946. package/dist/commands/skill.js.map +1 -1
  947. package/dist/commands/slack.d.ts +6 -2
  948. package/dist/commands/slack.d.ts.map +1 -1
  949. package/dist/commands/slack.js +192 -10
  950. package/dist/commands/slack.js.map +1 -1
  951. package/dist/commands/specs.d.ts.map +1 -1
  952. package/dist/commands/specs.js +19 -2
  953. package/dist/commands/specs.js.map +1 -1
  954. package/dist/commands/start.js +1 -1
  955. package/dist/commands/start.js.map +1 -1
  956. package/dist/commands/stream.js +1 -1
  957. package/dist/commands/stream.js.map +1 -1
  958. package/dist/commands/telemetry.d.ts +5 -0
  959. package/dist/commands/telemetry.d.ts.map +1 -0
  960. package/dist/commands/telemetry.js +58 -0
  961. package/dist/commands/telemetry.js.map +1 -0
  962. package/dist/commands/terminal.d.ts +33 -0
  963. package/dist/commands/terminal.d.ts.map +1 -1
  964. package/dist/commands/terminal.js +30 -12
  965. package/dist/commands/terminal.js.map +1 -1
  966. package/dist/commands/tui.js +4 -4
  967. package/dist/commands/tui.js.map +1 -1
  968. package/dist/commands/up.d.ts.map +1 -1
  969. package/dist/commands/up.js +115 -68
  970. package/dist/commands/up.js.map +1 -1
  971. package/dist/commands/whoami.d.ts +3 -0
  972. package/dist/commands/whoami.d.ts.map +1 -1
  973. package/dist/commands/whoami.js +29 -2
  974. package/dist/commands/whoami.js.map +1 -1
  975. package/dist/commands/workflow-follow.d.ts +1 -1
  976. package/dist/commands/workflow-follow.d.ts.map +1 -1
  977. package/dist/commands/workflow-follow.js +4 -3
  978. package/dist/commands/workflow-follow.js.map +1 -1
  979. package/dist/commands/workflow.d.ts.map +1 -1
  980. package/dist/commands/workflow.js +30 -18
  981. package/dist/commands/workflow.js.map +1 -1
  982. package/dist/config-store.d.ts +5 -1
  983. package/dist/config-store.d.ts.map +1 -1
  984. package/dist/config-store.js +17 -2
  985. package/dist/config-store.js.map +1 -1
  986. package/dist/daemon-auto-start.d.ts +8 -0
  987. package/dist/daemon-auto-start.d.ts.map +1 -0
  988. package/dist/daemon-auto-start.js +39 -0
  989. package/dist/daemon-auto-start.js.map +1 -0
  990. package/dist/front-door.d.ts.map +1 -1
  991. package/dist/front-door.js +5 -2
  992. package/dist/front-door.js.map +1 -1
  993. package/dist/herdr-launch-config.d.ts +3 -0
  994. package/dist/herdr-launch-config.d.ts.map +1 -0
  995. package/dist/herdr-launch-config.js +37 -0
  996. package/dist/herdr-launch-config.js.map +1 -0
  997. package/dist/index.d.ts +1 -0
  998. package/dist/index.d.ts.map +1 -1
  999. package/dist/index.js +6 -1
  1000. package/dist/index.js.map +1 -1
  1001. package/dist/lib/bundle-check.d.ts +13 -0
  1002. package/dist/lib/bundle-check.d.ts.map +1 -0
  1003. package/dist/lib/bundle-check.js +191 -0
  1004. package/dist/lib/bundle-check.js.map +1 -0
  1005. package/dist/lib/bundle-configuration.d.ts +60 -0
  1006. package/dist/lib/bundle-configuration.d.ts.map +1 -0
  1007. package/dist/lib/bundle-configuration.js +198 -0
  1008. package/dist/lib/bundle-configuration.js.map +1 -0
  1009. package/dist/lib/bundle-source.d.ts +59 -0
  1010. package/dist/lib/bundle-source.d.ts.map +1 -0
  1011. package/dist/lib/bundle-source.js +366 -0
  1012. package/dist/lib/bundle-source.js.map +1 -0
  1013. package/dist/lib/context-git.d.ts +2 -0
  1014. package/dist/lib/context-git.d.ts.map +1 -1
  1015. package/dist/lib/context-git.js +55 -5
  1016. package/dist/lib/context-git.js.map +1 -1
  1017. package/dist/lib/context-install.d.ts.map +1 -1
  1018. package/dist/lib/context-install.js +2 -3
  1019. package/dist/lib/context-install.js.map +1 -1
  1020. package/dist/lib/permission-policy/policy-ref.d.ts +6 -1
  1021. package/dist/lib/permission-policy/policy-ref.d.ts.map +1 -1
  1022. package/dist/lib/permission-policy/policy-ref.js +16 -4
  1023. package/dist/lib/permission-policy/policy-ref.js.map +1 -1
  1024. package/dist/lib/permission-policy/policy-spec.d.ts +1 -1
  1025. package/dist/lib/permission-policy/policy-spec.d.ts.map +1 -1
  1026. package/dist/lib/permission-policy/policy-spec.js +2 -2
  1027. package/dist/lib/permission-policy/policy-spec.js.map +1 -1
  1028. package/dist/lib/scope/scope-fs.d.ts +3 -2
  1029. package/dist/lib/scope/scope-fs.d.ts.map +1 -1
  1030. package/dist/lib/scope/scope-fs.js +97 -9
  1031. package/dist/lib/scope/scope-fs.js.map +1 -1
  1032. package/dist/lib/scope/templates.d.ts.map +1 -1
  1033. package/dist/lib/scope/templates.js +28 -23
  1034. package/dist/lib/scope/templates.js.map +1 -1
  1035. package/dist/lib/scope-templates/notes.md +1 -1
  1036. package/dist/lib/work-install.d.ts +12 -0
  1037. package/dist/lib/work-install.d.ts.map +1 -1
  1038. package/dist/lib/work-install.js +55 -4
  1039. package/dist/lib/work-install.js.map +1 -1
  1040. package/dist/provider-auth.d.ts +32 -0
  1041. package/dist/provider-auth.d.ts.map +1 -0
  1042. package/dist/provider-auth.js +128 -0
  1043. package/dist/provider-auth.js.map +1 -0
  1044. package/dist/terminal-window.d.ts +19 -0
  1045. package/dist/terminal-window.d.ts.map +1 -0
  1046. package/dist/terminal-window.js +513 -0
  1047. package/dist/terminal-window.js.map +1 -0
  1048. package/package.json +1 -1
  1049. package/tui/dist/commands/registry.d.ts.map +1 -1
  1050. package/tui/dist/commands/registry.js +9 -4
  1051. package/tui/dist/commands/registry.js.map +1 -1
  1052. package/tui/dist/config/config-model.d.ts.map +1 -1
  1053. package/tui/dist/config/config-model.js +1 -0
  1054. package/tui/dist/config/config-model.js.map +1 -1
  1055. package/tui/dist/connections/connections-model.d.ts +5 -0
  1056. package/tui/dist/connections/connections-model.d.ts.map +1 -1
  1057. package/tui/dist/connections/connections-model.js +1 -1
  1058. package/tui/dist/connections/connections-model.js.map +1 -1
  1059. package/tui/dist/daemon-client.d.ts +6 -0
  1060. package/tui/dist/daemon-client.d.ts.map +1 -1
  1061. package/tui/dist/daemon-client.js +5 -2
  1062. package/tui/dist/daemon-client.js.map +1 -1
  1063. package/tui/dist/execution/workflow-model.d.ts.map +1 -1
  1064. package/tui/dist/execution/workflow-model.js +3 -1
  1065. package/tui/dist/execution/workflow-model.js.map +1 -1
  1066. package/tui/dist/hydrate.d.ts +1 -1
  1067. package/tui/dist/hydrate.d.ts.map +1 -1
  1068. package/tui/dist/hydrate.js +3 -1
  1069. package/tui/dist/hydrate.js.map +1 -1
  1070. package/tui/dist/main.js +53 -14
  1071. package/tui/dist/main.js.map +1 -1
  1072. package/tui/dist/page-read.js +1 -1
  1073. package/tui/dist/page-read.js.map +1 -1
  1074. package/tui/dist/pending-address.d.ts +7 -0
  1075. package/tui/dist/pending-address.d.ts.map +1 -0
  1076. package/tui/dist/pending-address.js +11 -0
  1077. package/tui/dist/pending-address.js.map +1 -0
  1078. package/tui/dist/render.d.ts.map +1 -1
  1079. package/tui/dist/render.js +74 -23
  1080. package/tui/dist/render.js.map +1 -1
  1081. package/tui/dist/socket-server.d.ts +3 -1
  1082. package/tui/dist/socket-server.d.ts.map +1 -1
  1083. package/tui/dist/socket-server.js +6 -0
  1084. package/tui/dist/socket-server.js.map +1 -1
  1085. package/tui/dist/specs/graph.d.ts +5 -0
  1086. package/tui/dist/specs/graph.d.ts.map +1 -0
  1087. package/tui/dist/specs/graph.js +16 -0
  1088. package/tui/dist/specs/graph.js.map +1 -0
  1089. package/tui/dist/specs/launch.d.ts +29 -0
  1090. package/tui/dist/specs/launch.d.ts.map +1 -0
  1091. package/tui/dist/specs/launch.js +64 -0
  1092. package/tui/dist/specs/launch.js.map +1 -0
  1093. package/tui/dist/startup.d.ts.map +1 -1
  1094. package/tui/dist/startup.js +15 -6
  1095. package/tui/dist/startup.js.map +1 -1
  1096. package/tui/dist/state.d.ts +2 -2
  1097. package/tui/dist/state.d.ts.map +1 -1
  1098. package/tui/dist/state.js +77 -27
  1099. package/tui/dist/state.js.map +1 -1
  1100. package/tui/dist/stylize.js +1 -1
  1101. package/tui/dist/stylize.js.map +1 -1
  1102. package/tui/dist/terminals/open-window.d.ts +5 -0
  1103. package/tui/dist/terminals/open-window.d.ts.map +1 -0
  1104. package/tui/dist/terminals/open-window.js +55 -0
  1105. package/tui/dist/terminals/open-window.js.map +1 -0
  1106. package/tui/dist/terminals/terminal-model.d.ts +1 -0
  1107. package/tui/dist/terminals/terminal-model.d.ts.map +1 -1
  1108. package/tui/dist/terminals/terminal-model.js +21 -5
  1109. package/tui/dist/terminals/terminal-model.js.map +1 -1
  1110. package/tui/dist/types.d.ts +32 -0
  1111. package/tui/dist/types.d.ts.map +1 -1
  1112. package/ui/dist/assets/{index-HHSvwF97.js → index-D5n8EwkG.js} +1 -1
  1113. package/ui/dist/index.html +1 -1
  1114. package/daemon/specs/rigs/launch/conveyor/README.md +0 -33
  1115. package/daemon/specs/rigs/launch/conveyor/rig.yaml +0 -72
  1116. package/daemon/specs/rigs/launch/demo/project-example/README.md +0 -25
  1117. package/daemon/specs/rigs/launch/demo/project-example/missions/improve-onboarding/SPEC.md +0 -19
  1118. package/daemon/specs/rigs/launch/demo/project-example/missions/improve-onboarding/slices/01-shorten-first-run/PROGRESS.md +0 -6
  1119. package/daemon/specs/rigs/launch/demo/project-example/missions/improve-onboarding/slices/01-shorten-first-run/PROOF.md +0 -7
  1120. package/daemon/specs/rigs/launch/demo/project-example/missions/improve-onboarding/slices/01-shorten-first-run/SPEC.md +0 -31
  1121. package/daemon/specs/rigs/launch/first-project/rig.yaml +0 -31
  1122. package/daemon/specs/rigs/launch/first-project-claude/rig.yaml +0 -30
  1123. package/daemon/specs/rigs/launch/implementation-pair/rig.yaml +0 -27
  1124. package/daemon/specs/rigs/preview/product-team/rig.yaml +0 -90
  1125. /package/daemon/specs/rigs/launch/factory-rsi/{rig.yaml → world-bundle.yaml} +0 -0
@@ -2,50 +2,24 @@ import { Command } from "commander";
2
2
  import { execSync } from "node:child_process";
3
3
  import { readFileSync, writeFileSync, existsSync, accessSync, constants, mkdirSync } from "node:fs";
4
4
  import path from "node:path";
5
+ import { homedir } from "node:os";
6
+ import { shellQuote } from "../cross-host-executor.js";
5
7
  import { fileURLToPath } from "node:url";
6
8
  import { parseDocument } from "yaml";
7
9
  import { runDoctorChecks } from "./doctor.js";
8
- import { formatDaemonHostForUrl } from "../client.js";
9
10
  import { ConfigStore } from "../config-store.js";
10
- import { CMUX_SETTINGS_DISCLOSURE_PATH, isCmuxSocketControlCompatible, readCmuxSocketControlModeFromText, resolveCmuxSettingsPath, upsertCmuxSocketControlMode, } from "../cmux-config.js";
11
11
  import { buildTmuxControlFailure, probeTmuxControl } from "../tmux-health.js";
12
- import { parse as parseToml } from "smol-toml";
13
- import { resolveCodexHome } from "../lib/codex-auth.js";
14
- export function selectCodexProviderAuth(configToml) {
15
- if (configToml === null)
16
- return { kind: "openai-login" };
17
- let config;
18
- try {
19
- config = parseToml(configToml);
20
- }
21
- catch {
22
- return { kind: "openai-login", unresolved: "config.toml could not be parsed" };
23
- }
24
- if (Object.hasOwn(config, "profile")) {
25
- return { kind: "openai-login", unresolved: "config.toml selects a legacy profile, which is not resolved here" };
26
- }
27
- const providerId = config["model_provider"];
28
- const providers = config["model_providers"];
29
- if (typeof providerId !== "string" || !providers || typeof providers !== "object" || !Object.hasOwn(providers, providerId)) {
30
- return { kind: "openai-login" };
31
- }
32
- const entry = providers[providerId];
33
- if (!entry || typeof entry !== "object")
34
- return { kind: "openai-login" };
35
- const { requires_openai_auth: requiresOpenAiAuth, env_key: envKey } = entry;
36
- if (requiresOpenAiAuth !== false || typeof envKey !== "string" || !/^[A-Za-z_][A-Za-z0-9_]*$/.test(envKey)) {
37
- return { kind: "openai-login" };
38
- }
39
- return { kind: "env-key", providerId, envKey };
40
- }
12
+ import { checkClaudeAuth, checkCodexAuth } from "../provider-auth.js";
13
+ // Preserve the setup module's existing selector export.
14
+ export { selectCodexProviderAuth } from "../provider-auth.js";
41
15
  const DEFAULT_COMMAND_TIMEOUT_MS = 30_000;
42
16
  const INSTALL_COMMAND_TIMEOUT_MS = 5 * 60_000;
43
- const CMUX_READY_ATTEMPTS = 5;
44
- const CMUX_READY_DELAY_MS = 1_000;
17
+ const HERDR_INSTALL_COMMAND = "curl -fsSL https://herdr.dev/install.sh | sh";
45
18
  const CORE_STEP_IDS = [
46
19
  "brew",
47
20
  "tmux_install",
48
- "cmux_install",
21
+ "herdr_install",
22
+ "ghostty_install",
49
23
  "claude_install",
50
24
  "claude_auth",
51
25
  "codex_install",
@@ -54,6 +28,11 @@ const CORE_STEP_IDS = [
54
28
  "verify",
55
29
  ];
56
30
  const FULL_EXTRA_STEP_IDS = ["jq_install", "gh_install"];
31
+ const BREW_PLATFORM_SKIP = "Skipped: Homebrew setup path is only used on macOS.";
32
+ /** Homebrew is only used by the macOS setup path. Herdr also installs on Linux. */
33
+ const NON_DARWIN_DRY_RUN_SKIPS = {
34
+ brew: BREW_PLATFORM_SKIP,
35
+ };
57
36
  const BASE_RUNTIME_CONFIG_DISCLOSURE = [
58
37
  // OPR.0.4.8.2 agnostic rip-out: OpenRig no longer writes ~/.claude/settings.json — the global
59
38
  // permission allow-list (C2) is removed, so that global file is no longer touched at all.
@@ -67,7 +46,7 @@ const BASE_RUNTIME_CONFIG_DISCLOSURE = [
67
46
  scope: "project",
68
47
  runtime: "claude-code",
69
48
  path: ".claude/settings.local.json",
70
- purpose: "Apply context-collector statusLine config and the acceptEdits floor fragment. OpenRig bakes NO allow/ask/deny permission policy — the harness-native permissions are the control surface.",
49
+ purpose: "Apply context-collector statusLine config and the acceptEdits floor fragment. The team and kernel launch defaults pass allow/ask lists per launch and save none; a selected Claude settings fragment can merge native settings, rules included; the harness-native permissions are the control surface.",
71
50
  },
72
51
  {
73
52
  scope: "project",
@@ -82,12 +61,6 @@ const BASE_RUNTIME_CONFIG_DISCLOSURE = [
82
61
  purpose: "Pre-trust managed workspaces and apply selected Codex config runtime-resource fragments.",
83
62
  },
84
63
  ];
85
- const DARWIN_RUNTIME_CONFIG_DISCLOSURE = {
86
- scope: "global",
87
- runtime: "cmux",
88
- path: CMUX_SETTINGS_DISCLOSURE_PATH,
89
- purpose: "Set cmux socket control to an OpenRig-compatible automation mode.",
90
- };
91
64
  export function defaultDeps() {
92
65
  return {
93
66
  exec: (cmd, opts) => execSync(cmd, {
@@ -109,89 +82,74 @@ export function defaultDeps() {
109
82
  function installCommand(deps, cmd) {
110
83
  return deps.exec(cmd, { timeoutMs: INSTALL_COMMAND_TIMEOUT_MS });
111
84
  }
112
- function sleep(ms) {
113
- return new Promise((resolve) => setTimeout(resolve, ms));
114
- }
115
- async function waitForCmuxCapabilities(deps, attempts = CMUX_READY_ATTEMPTS) {
116
- for (let index = 0; index < attempts; index += 1) {
85
+ /** Probe without starting a server or taking over the installing terminal. */
86
+ function findHerdrCommand(deps) {
87
+ const env = deps.env ?? process.env;
88
+ const installDir = env["HERDR_INSTALL_DIR"] ?? path.join(env["HOME"] ?? homedir(), ".local", "bin");
89
+ for (const command of ["herdr", shellQuote(path.join(installDir, "herdr"))]) {
117
90
  try {
118
- deps.exec("cmux capabilities --json");
119
- return true;
120
- }
121
- catch {
122
- if (index < attempts - 1) {
123
- await sleep(CMUX_READY_DELAY_MS);
124
- }
91
+ deps.exec(`${command} --version`);
92
+ return command;
125
93
  }
94
+ catch { /* Try the installer's default path if it is not on PATH. */ }
126
95
  }
127
- return false;
96
+ return null;
128
97
  }
129
- async function tryEnableCmuxControl(deps, platform) {
130
- if (platform !== "darwin")
131
- return false;
132
- const settingsPath = resolveCmuxSettingsPath();
133
- const settingsText = deps.readFile(settingsPath);
134
- const currentMode = readCmuxSocketControlModeFromText(settingsText);
135
- if (currentMode.error) {
136
- return false;
98
+ function installHerdr(deps, platform) {
99
+ if (platform !== "darwin" && platform !== "linux") {
100
+ return { id: "herdr_install", status: "skipped", message: "Automatic herdr installation is supported on macOS and Linux." };
137
101
  }
102
+ let command = findHerdrCommand(deps);
103
+ const present = command !== null;
138
104
  try {
139
- deps.mkdirp?.(path.dirname(settingsPath));
140
- const next = upsertCmuxSocketControlMode(settingsText, "automation");
141
- if (next.changed) {
142
- deps.writeFile(settingsPath, next.content);
143
- }
144
- }
145
- catch {
146
- return false;
147
- }
148
- const shellReady = await waitForCmuxCapabilities(deps, 1);
149
- if (shellReady) {
150
- try {
151
- deps.exec("cmux reload-config");
105
+ if (!command) {
106
+ installCommand(deps, HERDR_INSTALL_COMMAND);
107
+ command = findHerdrCommand(deps);
108
+ if (!command)
109
+ throw new Error("The installer returned, but the herdr binary could not be verified.");
152
110
  }
153
- catch {
154
- // Best effort: if reload fails, the daemon-side verification will surface it honestly.
155
- }
156
- return waitForCmuxCapabilities(deps, 1);
157
- }
158
- try {
159
- deps.exec("open -a /Applications/cmux.app");
111
+ return {
112
+ id: "herdr_install",
113
+ status: present ? "pass" : "applied",
114
+ message: `${present ? "Found" : "Installed"} herdr (${command}). No terminal or view was opened.`,
115
+ ...(command !== "herdr" ? { fixHint: `Use ${command} when opening the view, or add its directory to your shell PATH.` } : {}),
116
+ };
160
117
  }
161
- catch {
162
- // Best effort: cmux may already be running or the app open may be blocked; capability probe decides readiness.
118
+ catch (err) {
119
+ return {
120
+ id: "herdr_install", status: "warn",
121
+ message: `Could not install or verify herdr: ${err.message}`,
122
+ reason: "The OpenRig view can use plain tmux without herdr. Existing cmux workflows remain available.",
123
+ fixHint: `Retry \`${HERDR_INSTALL_COMMAND}\`, or follow https://herdr.dev/docs/install/.`,
124
+ };
163
125
  }
164
- return waitForCmuxCapabilities(deps);
165
- }
166
- function buildRuntimeConfigDisclosure(platform) {
167
- return platform === "darwin"
168
- ? [...BASE_RUNTIME_CONFIG_DISCLOSURE, DARWIN_RUNTIME_CONFIG_DISCLOSURE]
169
- : [...BASE_RUNTIME_CONFIG_DISCLOSURE];
170
126
  }
171
- async function probeDaemonCmuxStatus(doctorDeps) {
172
- const fetchFn = doctorDeps?.fetch;
173
- if (!fetchFn)
174
- return "skipped";
175
- const config = doctorDeps.configStore.resolve();
176
- const host = config.daemon.host;
177
- const port = config.daemon.port;
178
- try {
179
- const healthRes = await fetchFn(`http://${formatDaemonHostForUrl(host)}:${port}/healthz`);
180
- if (!healthRes.ok)
181
- return "skipped";
182
- }
183
- catch {
184
- return "skipped";
185
- }
127
+ /** The installing agent asks once; only an explicit Yes installs the optional Mac terminal. */
128
+ function installGhostty(deps, platform, choice) {
129
+ const id = "ghostty_install";
130
+ if (platform !== "darwin")
131
+ return { id, status: "skipped", message: "The Ghostty offer is for macOS; existing Linux terminals remain available." };
132
+ if (choice === false)
133
+ return { id, status: "skipped", message: "Ghostty declined (--no-ghostty). Terminal.app remains available." };
134
+ const home = (deps.env ?? process.env)["HOME"] ?? homedir();
135
+ const locations = ["/Applications/Ghostty.app", path.join(home, "Applications/Ghostty.app")];
136
+ if (locations.some(deps.exists))
137
+ return { id, status: "pass", message: "Ghostty is already installed. No terminal was opened." };
138
+ if (choice !== true)
139
+ return {
140
+ id, status: "skipped",
141
+ message: "Installing agent: ask once, 'Install Ghostty for the OpenRig view?'",
142
+ fixHint: "On Yes, rerun rig setup with --ghostty, preserving earlier choices such as --no-herdr. On No, use --no-ghostty; Terminal.app remains available. The person types no command.",
143
+ };
186
144
  try {
187
- const cmuxRes = await fetchFn(`http://${formatDaemonHostForUrl(host)}:${port}/api/adapters/cmux/status`);
188
- if (!cmuxRes.ok || !cmuxRes.json)
189
- return "unavailable";
190
- const data = (await cmuxRes.json());
191
- return data.available ? "available" : "unavailable";
145
+ installCommand(deps, "brew install --cask ghostty");
146
+ if (!locations.some(deps.exists))
147
+ throw new Error("The installer returned, but Ghostty.app was not found.");
148
+ return { id, status: "applied", message: "Installed Ghostty. No terminal was opened." };
192
149
  }
193
- catch {
194
- return "unavailable";
150
+ catch (err) {
151
+ return { id, status: "fail", message: `Could not install or verify Ghostty: ${err.message}`,
152
+ fixHint: "Check Homebrew and https://ghostty.org/docs/install/binary. Terminal.app remains available; no view was opened." };
195
153
  }
196
154
  }
197
155
  // Slice-03 Lane B (OPR.0.4.8) onboarding RECORD path. RULING-C (b4913ed4): the v1 onboarding menu
@@ -203,7 +161,7 @@ async function probeDaemonCmuxStatus(doctorDeps) {
203
161
  // deliberate-none -> permission_policy: none (origin deliberate_none; floor==absent)
204
162
  // P3: the record runs ONLY on an explicit --policy selection, NEVER on skip/quit/timeout (no flag =>
205
163
  // no step => bare setup byte-unchanged). P1: no path here upgrades an absent spec to deliberate_none.
206
- export const POLICY_CHOICES = ["locked", "standard", "open", "yolo", "none"];
164
+ export const POLICY_CHOICES = ["locked", "standard", "open", "yolo", "auto", "none"];
207
165
  // Root-spec filenames, matching the CLI's established file-or-directory spec convention
208
166
  // (see specs.ts resolveAddSpecSource + `rig up <source>`).
209
167
  const ROOT_SPEC_NAMES = ["rig.yaml", "rig.yml", "agent.yaml", "agent.yml"];
@@ -248,7 +206,7 @@ export function recordPermissionPolicyStep(deps, choice, specPath) {
248
206
  id: "policy_record",
249
207
  status: "fail",
250
208
  message: "No existing rig spec to record the policy into.",
251
- reason: "The onboarding menu records a policy choice into an EXISTING spec only. A new install has no spec, so nothing is written — the usability floor holds by absence.",
209
+ reason: "The onboarding menu records a policy choice into an EXISTING spec only. A new install has no spec, so nothing is written — team seats keep the team default.",
252
210
  fixHint: "Point --spec at an existing rig.yaml (or a directory containing one), then re-run `rig setup --policy`.",
253
211
  };
254
212
  }
@@ -283,12 +241,19 @@ export function recordPermissionPolicyStep(deps, choice, specPath) {
283
241
  export async function runSetup(deps, opts) {
284
242
  const profile = opts.full ? "full" : "core";
285
243
  const platform = deps.platform ?? process.platform;
286
- const runtimeConfig = buildRuntimeConfigDisclosure(platform);
244
+ const runtimeConfig = [...BASE_RUNTIME_CONFIG_DISCLOSURE];
287
245
  const stepIds = opts.full ? [...CORE_STEP_IDS, ...FULL_EXTRA_STEP_IDS] : [...CORE_STEP_IDS];
288
246
  const steps = [];
289
247
  if (opts.dryRun) {
290
248
  for (const id of stepIds) {
291
- steps.push({ id, status: "skipped", message: `Dry run: ${id} would be attempted.` });
249
+ const platformSkip = id === "herdr_install" && opts.herdr === false ? "Skipped: herdr installation declined (--no-herdr)."
250
+ : id === "herdr_install" && !["darwin", "linux"].includes(platform) ? "Automatic herdr installation is supported on macOS and Linux."
251
+ : id === "ghostty_install" ? (platform !== "darwin" ? "The Ghostty offer is for macOS."
252
+ : opts.ghostty === false ? "Ghostty declined (--no-ghostty)."
253
+ : opts.ghostty === true ? "Dry run: Ghostty installation would be attempted."
254
+ : "Dry run: the installing agent offers Ghostty once; only Yes installs it.")
255
+ : platform !== "darwin" ? NON_DARWIN_DRY_RUN_SKIPS[id] : undefined;
256
+ steps.push({ id, status: "skipped", message: platformSkip ?? `Dry run: ${id} would be attempted.` });
292
257
  }
293
258
  if (opts.policy !== undefined) {
294
259
  steps.push({ id: "policy_record", status: "skipped", message: `Dry run: would record permission_policy for '${opts.policy}'.` });
@@ -302,7 +267,7 @@ export async function runSetup(deps, opts) {
302
267
  steps.push({
303
268
  id: "brew",
304
269
  status: "skipped",
305
- message: "Skipped: Homebrew setup path is only used on macOS.",
270
+ message: BREW_PLATFORM_SKIP,
306
271
  });
307
272
  }
308
273
  else {
@@ -316,7 +281,7 @@ export async function runSetup(deps, opts) {
316
281
  id: "brew",
317
282
  status: "fail",
318
283
  message: "Homebrew not found.",
319
- reason: "Homebrew is required to install tmux and cmux on macOS.",
284
+ reason: "Homebrew is required to install tmux on macOS.",
320
285
  fixHint: "Install Homebrew: https://brew.sh",
321
286
  });
322
287
  }
@@ -350,129 +315,11 @@ export async function runSetup(deps, opts) {
350
315
  else {
351
316
  steps.push({ id: "tmux_install", status: "pass", message: "tmux available." });
352
317
  }
353
- // 3. cmux
354
- const daemonCmuxBefore = await probeDaemonCmuxStatus(opts.doctorDeps);
355
- if (await waitForCmuxCapabilities(deps, 1)) {
356
- const socketMode = readCmuxSocketControlModeFromText(deps.readFile(resolveCmuxSettingsPath()));
357
- if (platform === "darwin" && socketMode.error) {
358
- steps.push({
359
- id: "cmux_install",
360
- status: "fail",
361
- message: "cmux settings file is unreadable.",
362
- reason: `OpenRig could not parse ${CMUX_SETTINGS_DISCLOSURE_PATH}: ${socketMode.error}`,
363
- fixHint: "Repair or remove the cmux settings file, then rerun `rig setup`.",
364
- });
365
- }
366
- else if (platform === "darwin" && !isCmuxSocketControlCompatible(socketMode.mode)) {
367
- if (await tryEnableCmuxControl(deps, platform)) {
368
- const daemonCmuxAfter = await probeDaemonCmuxStatus(opts.doctorDeps);
369
- if (daemonCmuxAfter === "unavailable") {
370
- steps.push({
371
- id: "cmux_install",
372
- status: "fail",
373
- message: "OpenRig updated cmux settings, but the running daemon still cannot control cmux.",
374
- reason: "The cmux settings file is now compatible, so the remaining blocker is in the live daemon/cmux session state.",
375
- fixHint: "Restart the daemon with `rig daemon start`, then rerun `rig doctor` to confirm cmux daemon control.",
376
- });
377
- }
378
- else {
379
- steps.push({
380
- id: "cmux_install",
381
- status: "applied",
382
- message: "Normalized cmux socket control to automation mode in ~/.config/cmux/settings.json.",
383
- });
384
- }
385
- }
386
- else {
387
- steps.push({
388
- id: "cmux_install",
389
- status: "fail",
390
- message: "cmux shell control works, but OpenRig could not normalize cmux socket control.",
391
- reason: "OpenRig needs a compatible cmux socket control mode so the daemon can open CMUX surfaces reliably.",
392
- fixHint: `Set automation.socketControlMode to "automation" in ${CMUX_SETTINGS_DISCLOSURE_PATH}, then rerun \`rig setup\` or \`rig doctor\`.`,
393
- });
394
- }
395
- }
396
- else if (daemonCmuxBefore === "unavailable") {
397
- steps.push({
398
- id: "cmux_install",
399
- status: "fail",
400
- message: "cmux shell control works, but the running daemon still cannot control cmux.",
401
- reason: "Current cmux settings already look compatible, so the remaining blocker is outside the cmux settings file OpenRig can repair automatically.",
402
- fixHint: "Run `rig doctor` for the exact daemon cmux diagnosis, then restart the daemon after clearing the underlying blocker.",
403
- });
404
- }
405
- else {
406
- steps.push({ id: "cmux_install", status: "pass", message: "cmux available." });
407
- }
408
- }
409
- else {
410
- try {
411
- deps.exec("cmux --help");
412
- if (await tryEnableCmuxControl(deps, platform)) {
413
- const daemonCmuxAfter = await probeDaemonCmuxStatus(opts.doctorDeps);
414
- if (daemonCmuxAfter === "unavailable") {
415
- steps.push({
416
- id: "cmux_install",
417
- status: "fail",
418
- message: "OpenRig enabled cmux socket control, but the running daemon still cannot control cmux.",
419
- reason: "The cmux app and settings are now in place, so the remaining blocker is in the live daemon/cmux session state.",
420
- fixHint: "Restart the daemon with `rig daemon start`, then rerun `rig doctor` to confirm cmux daemon control.",
421
- });
422
- }
423
- else {
424
- steps.push({
425
- id: "cmux_install",
426
- status: "applied",
427
- message: "Enabled cmux socket control in ~/.config/cmux/settings.json.",
428
- });
429
- }
430
- }
431
- else {
432
- steps.push({
433
- id: "cmux_install",
434
- status: platform === "darwin" ? "fail" : "warn",
435
- message: "cmux installed but control unavailable.",
436
- reason: "Open CMUX workflows need cmux socket control to be enabled.",
437
- fixHint: platform === "darwin"
438
- ? `Set automation.socketControlMode to "automation" in ${CMUX_SETTINGS_DISCLOSURE_PATH}, then rerun \`rig setup\` or \`rig doctor\`.`
439
- : "Open cmux, approve any first-run prompts, and rerun `rig setup` or `rig doctor`.",
440
- });
441
- }
442
- }
443
- catch {
444
- if (!brewOk) {
445
- steps.push({ id: "cmux_install", status: "skipped", message: "Skipped: Homebrew not available." });
446
- }
447
- else {
448
- try {
449
- installCommand(deps, "brew install --cask cmux");
450
- if (await tryEnableCmuxControl(deps, platform) || await waitForCmuxCapabilities(deps, 1)) {
451
- steps.push({ id: "cmux_install", status: "applied", message: "Installed cmux with Homebrew." });
452
- }
453
- else {
454
- steps.push({
455
- id: "cmux_install",
456
- status: platform === "darwin" ? "fail" : "warn",
457
- message: "Installed cmux, but control is still unavailable.",
458
- reason: "Open CMUX workflows need the cmux app to expose socket control after installation.",
459
- fixHint: "Open cmux, approve any first-run prompts, and rerun `rig setup` or `rig doctor`.",
460
- });
461
- }
462
- }
463
- catch (err) {
464
- steps.push({
465
- id: "cmux_install",
466
- status: "fail",
467
- message: `Failed to install cmux: ${err.message}`,
468
- reason: "Open CMUX workflows stay unavailable until the cmux app and CLI are installed.",
469
- fixHint: "Retry `brew install --cask cmux` after connectivity stabilizes, or install cmux manually.",
470
- });
471
- }
472
- }
473
- }
474
- }
475
- // 4. tmux config
318
+ // 3. Herdr is the default view provider. Leave optional cmux installations untouched.
319
+ steps.push(opts.herdr === false
320
+ ? { id: "herdr_install", status: "skipped", message: "Skipped: herdr installation declined (--no-herdr)." }
321
+ : installHerdr(deps, platform));
322
+ steps.push(installGhostty(deps, platform, opts.ghostty));
476
323
  // 4. Claude Code runtime
477
324
  let claudeInstalled = false;
478
325
  try {
@@ -497,29 +344,8 @@ export async function runSetup(deps, opts) {
497
344
  });
498
345
  }
499
346
  }
500
- if (claudeInstalled) {
501
- try {
502
- deps.exec("claude auth status");
503
- steps.push({ id: "claude_auth", status: "pass", message: "Claude Code authentication available." });
504
- }
505
- catch (err) {
506
- steps.push({
507
- id: "claude_auth",
508
- status: "fail",
509
- message: `Claude Code is installed but not ready to launch: ${err.message}`,
510
- reason: "Claude Code seats cannot launch until the Claude CLI is logged in and usable.",
511
- fixHint: "Run `claude auth login` or open `claude` once to complete authentication, then rerun `rig setup` or `rig doctor`.",
512
- });
513
- }
514
- }
515
- else {
516
- steps.push({
517
- id: "claude_auth",
518
- status: "skipped",
519
- message: "Skipped: Claude Code is not installed.",
520
- reason: "Authentication cannot be checked until the Claude Code CLI is installed.",
521
- });
522
- }
347
+ const { name: claudeName, fix: claudeFix, ...claudeAuth } = checkClaudeAuth(deps, claudeInstalled);
348
+ steps.push({ id: claudeName, ...claudeAuth, ...(claudeFix ? { fixHint: claudeFix } : {}) });
523
349
  // 5. Codex runtime
524
350
  let codexInstalled = false;
525
351
  try {
@@ -544,52 +370,8 @@ export async function runSetup(deps, opts) {
544
370
  });
545
371
  }
546
372
  }
547
- if (codexInstalled) {
548
- const env = deps.env ?? process.env;
549
- const codexAuth = selectCodexProviderAuth(deps.readFile(path.join(resolveCodexHome(env).codexHome, "config.toml")));
550
- if (codexAuth.kind === "env-key") {
551
- if (env[codexAuth.envKey]?.trim()) {
552
- steps.push({
553
- id: "codex_auth",
554
- status: "pass",
555
- message: `Codex provider "${codexAuth.providerId}" does not use an OpenAI login, and its credential variable ${codexAuth.envKey} is set. This confirms a local credential is available, not that the provider accepts it or that managed seats receive it.`,
556
- });
557
- }
558
- else {
559
- steps.push({
560
- id: "codex_auth",
561
- status: "fail",
562
- message: `Codex provider "${codexAuth.providerId}" needs ${codexAuth.envKey}, which is not set in this environment.`,
563
- reason: "Codex seats using this provider cannot authenticate without that variable.",
564
- fixHint: `Export ${codexAuth.envKey} in the environment that runs rig setup and the OpenRig daemon, then rerun \`rig setup\`.`,
565
- });
566
- }
567
- }
568
- else {
569
- try {
570
- deps.exec("codex login status");
571
- steps.push({ id: "codex_auth", status: "pass", message: "Codex authentication available." });
572
- }
573
- catch (err) {
574
- const unresolved = codexAuth.unresolved ? ` (${codexAuth.unresolved}, so the OpenAI login was checked)` : "";
575
- steps.push({
576
- id: "codex_auth",
577
- status: "fail",
578
- message: `Codex is installed but not ready to launch${unresolved}: ${err.message}`,
579
- reason: "Codex seats cannot launch until the Codex CLI is logged in and usable.",
580
- fixHint: "Run `codex login` and complete authentication, then rerun `rig setup` or `rig doctor`.",
581
- });
582
- }
583
- }
584
- }
585
- else {
586
- steps.push({
587
- id: "codex_auth",
588
- status: "skipped",
589
- message: "Skipped: Codex is not installed.",
590
- reason: "Authentication cannot be checked until the Codex CLI is installed.",
591
- });
592
- }
373
+ const { name: codexName, fix: codexFix, ...codexAuth } = checkCodexAuth(deps, codexInstalled);
374
+ steps.push({ id: codexName, ...codexAuth, ...(codexFix ? { fixHint: codexFix } : {}) });
593
375
  // 6. tmux config
594
376
  const TMUX_CONF = `${process.env["HOME"] ?? "~"}/.tmux.conf`;
595
377
  const MANAGED_MARKER = "# OpenRig managed block";
@@ -625,7 +407,7 @@ export async function runSetup(deps, opts) {
625
407
  steps.push({
626
408
  id: "verify",
627
409
  status: anyFail ? "warn" : "pass",
628
- message: anyFail ? "Some setup steps failed. Run `rig doctor` for detailed diagnostics." : "Core setup verified.",
410
+ message: anyFail ? "Some setup steps failed; follow their Fix hints." : "Core setup verified.",
629
411
  });
630
412
  // Full profile extras
631
413
  if (opts.full) {
@@ -654,7 +436,14 @@ export async function runSetup(deps, opts) {
654
436
  let verification;
655
437
  if (!opts.dryRun && opts.doctorDeps) {
656
438
  const doctorDeps = opts.doctorDeps;
657
- const doctor = runDoctorChecks(doctorDeps);
439
+ // Reuse the post-install facts above; do not repeat login probes during verification.
440
+ const providerChecks = steps
441
+ .filter((step) => ["claude_install", "claude_auth", "codex_install", "codex_auth"].includes(step.id))
442
+ .map(({ id, status, fixHint, ...check }) => ({
443
+ name: id, status: status === "applied" ? "pass" : status,
444
+ ...check, ...(fixHint ? { fix: fixHint } : {}),
445
+ }));
446
+ const doctor = runDoctorChecks(doctorDeps, providerChecks);
658
447
  const asyncResults = await Promise.all(doctor.asyncChecks);
659
448
  const allDoctorChecks = [...doctor.checks, ...asyncResults];
660
449
  verification = {
@@ -710,14 +499,44 @@ function buildDefaultDoctorDeps(setupDeps) {
710
499
  */
711
500
  export function goldenPathNextSteps() {
712
501
  return [
713
- "Next steps (the guided path; full reference: docs/reference/getting-started.md):",
714
- " 1. cd <your-repository> Choose the code the team will work on",
715
- " 2. Choose first-project (two Codex), first-project-claude (two Claude), or first-project-mixed; check only selected logins",
716
- " Preview rig up <starter> --cwd . --plan, then rig up <starter> --cwd .; daemon and kernel start automatically",
717
- " 3. rig status Check daemon/kernel readiness; rig ps --nodes --rig <starter> checks the team",
718
- " 4. rig send dev-owner@<starter> '<one useful change, boundaries, and how to check it>'",
719
- " 5. rig tui --shared Join the kernel dashboard; plain rig tui opens your own view",
720
- " Next: rig queue list --destination dev-owner@<starter>; rig workspace doctor; rig scope ...; rig workflow specs",
502
+ "Next steps (guidance only; full reference: rig context get reference/getting-started.md):",
503
+ " 1. Check only selected logins: claude auth status or codex login status; one working provider is enough",
504
+ " 2. rig daemon start If stopped; a fresh instance also starts the kernel, including operator and advisor",
505
+ " The kernel is part of installation. Keep it for normal setup; --no-kernel is for automation or when requested",
506
+ " 3. rig status Read the kernel boot state; rig ps --nodes --rig kernel checks its seats",
507
+ " Started is not ready. The view may open while agents finish starting; report their actual state",
508
+ " For an existing kernel or blocked startup: rig context get reference/getting-started.md#incomplete-setup-and-restart",
509
+ " 4. Show the person OpenRig: open the OpenRig TUI and operator for them now. Say so first; it's the next step, not a question",
510
+ " It opens a NEW terminal tab/window, or a space in their current Herdr, and preserves this terminal",
511
+ " rig terminal open saved:kernel --window --json (TUI and operator, advisor on its own tab; herdr, otherwise plain tmux)",
512
+ " rig context get reference/getting-started.md#open-the-kernel-conversations",
513
+ " If they said not now: give the command to open it later. Over headless SSH: ask the person to open a new terminal/tab and give the exact connection/attach command",
514
+ " Herdr needs a terminal the person can see; switching the shared TUI to :terminals does not open one",
515
+ " No, SSH and headless use are fine background outcomes; do not report an unseen window as opened",
516
+ " On a desktop, no copying or typing for the person; check the result notes, not just CLI success",
517
+ " On a Mac, offer Ghostty once: on Yes run rig setup --ghostty; preserve earlier choices such as --no-herdr",
518
+ " On No use --no-ghostty; Terminal.app remains available",
519
+ " Setup installs herdr by default; use --no-herdr if the person declines. Plain tmux remains available",
520
+ " Only if the window cannot open: rig tui --shared is the dashboard-only fallback, not the operator's conversation",
521
+ " If opening fails, inspect any new surface before retrying; report the error and finish the local action",
522
+ " Do not replace a failed desktop action with commands for the person to copy or type",
523
+ " 5. Installing agent: ask the person's goal and project folder, then hand them to the ready operator",
524
+ " Find operator.agent with rig ps --nodes --rig kernel --json; use its canonicalSessionName with rig send",
525
+ " Send the goal and folder, or have the person type them in the operator pane; show where it answers",
526
+ " In the message, say: This is the agent that installed OpenRig. The person will answer in your pane",
527
+ " Do not implement the person's project yourself. The operator helps them choose and start a team",
528
+ " If the person gives you a goal later, forward it and the folder with rig send; leave the work with the operator's team",
529
+ " Finish installation when the operator is ready and the person is talking to it; daemon health alone is not completion",
530
+ " If they choose to talk later, leave the exact connection step and name the pending handoff",
531
+ " The operator handles team choice, launch and goal delivery. The installing agent stops at the handoff",
532
+ " Manual path (without the operator):",
533
+ " 1. Pick a first team, then cd <your-repository>",
534
+ " Teams: starter (a Claude builder and a Codex reviewer), workshop (a rig bundle) or factory (seven agents)",
535
+ " With one provider, use a team adapted to it; first-project is starter's old name",
536
+ " Preview rig up <team> --cwd . --plan; with your yes, rig up <team> --cwd .",
537
+ " rig ps --nodes --rig <team> checks the project seats before giving them work",
538
+ " 2. rig send dev-build@starter '<one useful change, boundaries, and how to check it>' (workshop, factory: orch-lead@<team>)",
539
+ " Next: rig queue list --destination dev-build@starter; rig workspace doctor; rig scope ...; rig workflow specs",
721
540
  ];
722
541
  }
723
542
  /**
@@ -728,13 +547,17 @@ export function goldenPathNextSteps() {
728
547
  * skip-line phrasing, NO pre-selected default, and `Standard` carries the ⭐ recommendation marker.
729
548
  * REGISTER RULE (pm-lead): factual + version-neutral — never "treacherous"/editorializing/
730
549
  * founder-internal wording. Recording is a thought, never a gate — `rig up` always works bare.
550
+ * 0.6.7: the question, the deliberate-none line and the skip line now state the team launch default
551
+ * (#893) that ships with 0.6.6, matching docs/reference/getting-started.md and the
552
+ * applying-a-permission-policy skill. The labels, marker and register are unchanged.
731
553
  */
732
554
  export function permissionPolicyMenuLines() {
733
555
  return [
734
- "Before team launch, your agent asks once (reuse an existing explicit choice):",
735
- " Allow your agents to run OpenRig commands without repeated permission prompts?",
736
- " Yes — recommended / No — keep prompts. No answer leaves settings unchanged too.",
737
- " Includes all rig verbs, lifecycle/config changes and launching processes; not global YOLO or authority to invent work.",
556
+ "Before team launch, your agent recommends keeping the team default (reuse an existing explicit choice):",
557
+ " Claude team seats with no policy or explicit seat choice run ordinary rig commands, project reads and common tests without prompts; lifecycle commands such as rig up and rig down still ask.",
558
+ " Only if you want more, it offers once: Remember these selected OpenRig commands in your native settings for this project?",
559
+ " Yes / No — keep the team default. No answer leaves settings unchanged too.",
560
+ " A remembered allowance can cover all rig verbs, but Claude team seats still ask before lifecycle commands; not global YOLO or authority to invent work.",
738
561
  " Personal project scope unless you explicitly choose user-wide sessions. On Yes, the agent adds native rules, preserving stricter rules.",
739
562
  " Procedure: rig context get skills/applying-a-permission-policy/SKILL.md",
740
563
  " Undo: ask your agent to remove only the OpenRig command allowances added by this setup.",
@@ -746,12 +569,12 @@ export function permissionPolicyMenuLines() {
746
569
  " Standard ⭐ The recommended balanced built-in policy.",
747
570
  " Open The least restrictive built-in policy.",
748
571
  " YOLO Mode The full-bypass built-in policy.",
749
- " No policy — deliberate choice (recorded)",
572
+ " No policy — deliberate choice (recorded): the floor, without the team allowances",
750
573
  "",
751
- " If you skip: OpenRig sets nothing — the usability floor only",
574
+ " If you skip: nothing is recorded; team seats launch with the team default unless a seat choice or named Codex profile applies",
752
575
  "",
753
576
  " To record a choice into an existing spec:",
754
- " rig setup --policy <locked|standard|open|yolo|none> --spec <path>",
577
+ " rig setup --policy <locked|standard|open|yolo|auto|none> --spec <path>",
755
578
  ];
756
579
  }
757
580
  export function setupCommand(depsOverride) {
@@ -760,14 +583,17 @@ export function setupCommand(depsOverride) {
760
583
  .option("--dry-run", "Show the plan without making changes")
761
584
  .option("--json", "Machine-readable JSON output")
762
585
  .option("--full", "Install broader operator workstation tools")
586
+ .option("--no-herdr", "Skip the default herdr installation; the OpenRig view can use plain tmux")
587
+ .option("--ghostty", "Install Ghostty on macOS after the person accepts the offer")
588
+ .option("--no-ghostty", "Decline Ghostty; Terminal.app remains available on macOS")
763
589
  .option("--policy <name>", `Record a deliberate permission-policy choice into an existing spec (${POLICY_CHOICES.join("|")})`)
764
590
  .option("--spec <path>", "Existing rig spec (file or directory) to record the --policy choice into")
765
591
  .action(async (opts) => {
766
592
  const deps = depsOverride ?? defaultDeps();
767
593
  const doctorDeps = opts.dryRun ? undefined : buildDefaultDoctorDeps(deps);
768
- const result = await runSetup(deps, { dryRun: opts.dryRun, full: opts.full, policy: opts.policy, specPath: opts.spec, doctorDeps });
594
+ const result = await runSetup(deps, { dryRun: opts.dryRun, full: opts.full, policy: opts.policy, specPath: opts.spec, herdr: opts.herdr, ghostty: opts.ghostty, doctorDeps });
769
595
  if (opts.json) {
770
- console.log(JSON.stringify(result, null, 2));
596
+ console.log(JSON.stringify({ ...result, nextSteps: goldenPathNextSteps() }, null, 2));
771
597
  if (!opts.dryRun && !result.ready)
772
598
  process.exitCode = 1;
773
599
  return;
@@ -787,23 +613,33 @@ export function setupCommand(depsOverride) {
787
613
  if (step.fixHint)
788
614
  console.log(` Fix: ${step.fixHint}`);
789
615
  }
790
- // Surface the permission-policy choice (the 0.4.8 onboarding "menu" is calm-register narrative,
791
- // not a TUI). Recording is optional and never a gate.
792
- console.log("");
793
- for (const line of permissionPolicyMenuLines())
794
- console.log(line);
795
616
  // OPR.0.3.3.04.2 (AC-1): the canonical ordered golden path. `rig setup` is
796
617
  // the primary surface for the new-operator sequence (status/doctor only
797
618
  // HINT back to it; the durable reference is docs/reference/getting-started.md).
798
619
  if (result.ready) {
799
620
  console.log("\nSetup complete.\n");
800
- for (const line of goldenPathNextSteps())
801
- console.log(line);
802
621
  }
803
622
  else {
804
- console.log("\nSome steps need attention. Run `rig doctor` for detailed diagnostics.");
805
- console.log("Once setup is healthy, follow the guided path: docs/reference/getting-started.md");
623
+ console.log("\nSome steps need attention:");
624
+ if (opts.dryRun)
625
+ console.log("Plan only: no setup changes were made; readiness was not checked.");
626
+ for (const step of result.steps.filter(step => step.status === "fail")) {
627
+ console.log(` ${step.id}: ${step.message}`);
628
+ if (step.fixHint)
629
+ console.log(` Fix: ${step.fixHint}`);
630
+ }
631
+ console.log("Only the harnesses selected for your project need a login; an unused harness does not.");
632
+ console.log("Run `rig doctor` to recheck the system and provider authentication.");
806
633
  }
634
+ // Keep the conversation route available even after a dry run or incomplete setup,
635
+ // before the optional menu so a short output read still includes the handoff.
636
+ console.log("");
637
+ for (const line of goldenPathNextSteps())
638
+ console.log(line);
639
+ // This printed menu records no choice and changes no native permissions.
640
+ console.log("");
641
+ for (const line of permissionPolicyMenuLines())
642
+ console.log(line);
807
643
  if (!opts.dryRun && !result.ready)
808
644
  process.exitCode = 1;
809
645
  });