@openrig/cli 0.6.13 → 0.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (823) hide show
  1. package/README.md +58 -9
  2. package/daemon/assets/plugins/openrig-core/.claude-plugin/plugin.json +1 -1
  3. package/daemon/assets/plugins/openrig-core/.codex-plugin/plugin.json +1 -1
  4. package/daemon/assets/plugins/openrig-core/README.md +11 -4
  5. package/daemon/assets/plugins/openrig-core/hooks/codex.json +6 -6
  6. package/daemon/assets/plugins/openrig-core/hooks/scripts/activity-relay.cjs +13 -1
  7. package/daemon/assets/plugins/openrig-core/hooks/scripts/codex-hook-trust.cjs +49 -0
  8. package/daemon/assets/plugins/openrig-core/hooks/scripts/refocus.cjs +26 -5
  9. package/daemon/assets/plugins/openrig-core/skills/claude-compaction-restore/SKILL.md +9 -2
  10. package/daemon/assets/plugins/openrig-core/skills/forming-an-openrig-mental-model/SKILL.md +3 -2
  11. package/daemon/assets/plugins/openrig-core/skills/messaging-the-human/SKILL.md +24 -0
  12. package/daemon/assets/plugins/openrig-core/skills/openrig-skills/SKILL.md +2 -2
  13. package/daemon/assets/plugins/openrig-core/skills/openrig-user/SKILL.md +39 -21
  14. package/daemon/assets/plugins/openrig-core/skills/queue-handoff/SKILL.md +10 -4
  15. package/daemon/assets/plugins/openrig-core/skills/refocusing/scripts/trace-to-root.py +12 -32
  16. package/daemon/assets/skills/rigs/SKILL.md +24 -5
  17. package/daemon/context-packs/help/manifest.yaml +1 -1
  18. package/daemon/context-packs/onboarding-width/manifest.yaml +1 -1
  19. package/daemon/context-packs/onboarding-width/public-what-you-can-do.md +18 -8
  20. package/daemon/context-packs/reference/getting-started.md +178 -35
  21. package/daemon/context-packs/reference/manifest.yaml +1 -1
  22. package/daemon/context-packs/reference/rig-spec.md +1 -1
  23. package/daemon/context-packs/reference/whats-new.md +126 -100
  24. package/daemon/context-packs/skills/agent-operated-software/manifest.yaml +1 -1
  25. package/daemon/context-packs/skills/agent-operated-workflows/manifest.yaml +1 -1
  26. package/daemon/context-packs/skills/applying-a-permission-policy/manifest.yaml +1 -1
  27. package/daemon/context-packs/skills/claude-compaction-restore/SKILL.md +9 -2
  28. package/daemon/context-packs/skills/claude-compaction-restore/manifest.yaml +1 -1
  29. package/daemon/context-packs/skills/core/agent-starters/manifest.yaml +1 -1
  30. package/daemon/context-packs/skills/core/agent-startup-and-context-ingestion/manifest.yaml +1 -1
  31. package/daemon/context-packs/skills/core/cross-host-rig-commands/manifest.yaml +1 -1
  32. package/daemon/context-packs/skills/core/human-in-the-loop/manifest.yaml +1 -1
  33. package/daemon/context-packs/skills/core/messaging-the-human/SKILL.md +24 -0
  34. package/daemon/context-packs/skills/core/messaging-the-human/manifest.yaml +1 -1
  35. package/daemon/context-packs/skills/core/openrig-architect/manifest.yaml +1 -1
  36. package/daemon/context-packs/skills/core/openrig-cmux/manifest.yaml +1 -1
  37. package/daemon/context-packs/skills/core/openrig-herdr/manifest.yaml +1 -1
  38. package/daemon/context-packs/skills/core/openrig-skills/SKILL.md +2 -2
  39. package/daemon/context-packs/skills/core/openrig-skills/manifest.yaml +1 -1
  40. package/daemon/context-packs/skills/core/openrig-software-factory/manifest.yaml +1 -1
  41. package/daemon/context-packs/skills/core/openrig-upgrade/SKILL.md +11 -5
  42. package/daemon/context-packs/skills/core/openrig-upgrade/manifest.yaml +1 -1
  43. package/daemon/context-packs/skills/core/rig-bundles-and-shareable-artifacts/manifest.yaml +1 -1
  44. package/daemon/context-packs/skills/core/rig-lifecycle/manifest.yaml +1 -1
  45. package/daemon/context-packs/skills/core/session-source-fork/manifest.yaml +1 -1
  46. package/daemon/context-packs/skills/core/specification-system/manifest.yaml +1 -1
  47. package/daemon/context-packs/skills/core/topology-mutation-and-seat-management/manifest.yaml +1 -1
  48. package/daemon/context-packs/skills/core/watchdog/manifest.yaml +1 -1
  49. package/daemon/context-packs/skills/delegating-work/manifest.yaml +1 -1
  50. package/daemon/context-packs/skills/forming-an-openrig-mental-model/SKILL.md +3 -2
  51. package/daemon/context-packs/skills/forming-an-openrig-mental-model/manifest.yaml +1 -1
  52. package/daemon/context-packs/skills/loading-addressable-markdown/manifest.yaml +1 -1
  53. package/daemon/context-packs/skills/mission-slice-sop/manifest.yaml +1 -1
  54. package/daemon/context-packs/skills/openrig-operating-model/manifest.yaml +1 -1
  55. package/daemon/context-packs/skills/openrig-user/SKILL.md +39 -21
  56. package/daemon/context-packs/skills/openrig-user/manifest.yaml +1 -1
  57. package/daemon/context-packs/skills/orienting-to-an-inherited-seat/manifest.yaml +1 -1
  58. package/daemon/context-packs/skills/pm/backlog-capture/manifest.yaml +1 -1
  59. package/daemon/context-packs/skills/pm/context-builder/manifest.yaml +1 -1
  60. package/daemon/context-packs/skills/pm/exec-summary/manifest.yaml +1 -1
  61. package/daemon/context-packs/skills/pm/office-hours/manifest.yaml +1 -1
  62. package/daemon/context-packs/skills/pm/plan-review/manifest.yaml +1 -1
  63. package/daemon/context-packs/skills/pm/requirements-writer/manifest.yaml +1 -1
  64. package/daemon/context-packs/skills/pm/ui-mockup/manifest.yaml +1 -1
  65. package/daemon/context-packs/skills/pods/development-team/SKILL.md +2 -0
  66. package/daemon/context-packs/skills/pods/development-team/manifest.yaml +3 -1
  67. package/daemon/context-packs/skills/pods/development-team/references/refactoring.md +11 -0
  68. package/daemon/context-packs/skills/pods/orchestration-team/manifest.yaml +1 -1
  69. package/daemon/context-packs/skills/pods/oversight-team/manifest.yaml +1 -1
  70. package/daemon/context-packs/skills/pods/review-team/SKILL.md +46 -96
  71. package/daemon/context-packs/skills/pods/review-team/manifest.yaml +1 -1
  72. package/daemon/context-packs/skills/process/agent-browser/manifest.yaml +1 -1
  73. package/daemon/context-packs/skills/process/context-engineering/manifest.yaml +1 -1
  74. package/daemon/context-packs/skills/process/dogfood/manifest.yaml +1 -1
  75. package/daemon/context-packs/skills/process/frontend-design/manifest.yaml +1 -1
  76. package/daemon/context-packs/skills/process/systematic-debugging/manifest.yaml +1 -1
  77. package/daemon/context-packs/skills/process/test-driven-development/manifest.yaml +1 -1
  78. package/daemon/context-packs/skills/process/verification-before-completion/SKILL.md +17 -80
  79. package/daemon/context-packs/skills/process/verification-before-completion/manifest.yaml +5 -3
  80. package/daemon/context-packs/skills/process/verification-before-completion/references/performance-claims.md +12 -0
  81. package/daemon/context-packs/skills/queue-handoff/SKILL.md +10 -4
  82. package/daemon/context-packs/skills/queue-handoff/manifest.yaml +1 -1
  83. package/daemon/context-packs/skills/refocusing/manifest.yaml +1 -1
  84. package/daemon/context-packs/skills/refocusing/scripts/trace-to-root.py +12 -32
  85. package/daemon/context-packs/skills/retiring-and-inheriting-a-seat/manifest.yaml +1 -1
  86. package/daemon/context-packs/skills/seat-continuity-and-handover/manifest.yaml +1 -1
  87. package/daemon/context-packs/skills/session-compaction-and-restore/manifest.yaml +1 -1
  88. package/daemon/context-packs/skills/software-for-agents/manifest.yaml +1 -1
  89. package/daemon/context-packs/world-example/manifest.yaml +1 -1
  90. package/daemon/context-packs/world-public/manifest.yaml +1 -1
  91. package/daemon/dist/adapters/claude-code-adapter.d.ts +6 -2
  92. package/daemon/dist/adapters/claude-code-adapter.d.ts.map +1 -1
  93. package/daemon/dist/adapters/claude-code-adapter.js +33 -6
  94. package/daemon/dist/adapters/claude-code-adapter.js.map +1 -1
  95. package/daemon/dist/adapters/codex-resume.d.ts.map +1 -1
  96. package/daemon/dist/adapters/codex-resume.js +2 -7
  97. package/daemon/dist/adapters/codex-resume.js.map +1 -1
  98. package/daemon/dist/adapters/codex-runtime-adapter.d.ts +68 -2
  99. package/daemon/dist/adapters/codex-runtime-adapter.d.ts.map +1 -1
  100. package/daemon/dist/adapters/codex-runtime-adapter.js +371 -60
  101. package/daemon/dist/adapters/codex-runtime-adapter.js.map +1 -1
  102. package/daemon/dist/adapters/compose-services-adapter.d.ts +16 -0
  103. package/daemon/dist/adapters/compose-services-adapter.d.ts.map +1 -1
  104. package/daemon/dist/adapters/compose-services-adapter.js +52 -9
  105. package/daemon/dist/adapters/compose-services-adapter.js.map +1 -1
  106. package/daemon/dist/adapters/kernel-authority.d.ts.map +1 -1
  107. package/daemon/dist/adapters/kernel-authority.js +9 -5
  108. package/daemon/dist/adapters/kernel-authority.js.map +1 -1
  109. package/daemon/dist/adapters/pi-runner.d.ts +2 -0
  110. package/daemon/dist/adapters/pi-runner.d.ts.map +1 -1
  111. package/daemon/dist/adapters/pi-runner.js +5 -0
  112. package/daemon/dist/adapters/pi-runner.js.map +1 -1
  113. package/daemon/dist/adapters/runtime-probe-exec.d.ts +11 -0
  114. package/daemon/dist/adapters/runtime-probe-exec.d.ts.map +1 -0
  115. package/daemon/dist/adapters/runtime-probe-exec.js +25 -0
  116. package/daemon/dist/adapters/runtime-probe-exec.js.map +1 -0
  117. package/daemon/dist/adapters/stub-runner.d.ts.map +1 -1
  118. package/daemon/dist/adapters/stub-runner.js +2 -0
  119. package/daemon/dist/adapters/stub-runner.js.map +1 -1
  120. package/daemon/dist/adapters/tmux.d.ts +21 -1
  121. package/daemon/dist/adapters/tmux.d.ts.map +1 -1
  122. package/daemon/dist/adapters/tmux.js +101 -14
  123. package/daemon/dist/adapters/tmux.js.map +1 -1
  124. package/daemon/dist/build-info.js +3 -3
  125. package/daemon/dist/db/all-migrations.d.ts.map +1 -1
  126. package/daemon/dist/db/all-migrations.js +12 -0
  127. package/daemon/dist/db/all-migrations.js.map +1 -1
  128. package/daemon/dist/db/migrations/116_queue_item_wake_input_box.d.ts +3 -0
  129. package/daemon/dist/db/migrations/116_queue_item_wake_input_box.d.ts.map +1 -0
  130. package/daemon/dist/db/migrations/116_queue_item_wake_input_box.js +8 -0
  131. package/daemon/dist/db/migrations/116_queue_item_wake_input_box.js.map +1 -0
  132. package/daemon/dist/db/migrations/118_human_quiet_windows.d.ts +3 -0
  133. package/daemon/dist/db/migrations/118_human_quiet_windows.d.ts.map +1 -0
  134. package/daemon/dist/db/migrations/118_human_quiet_windows.js +30 -0
  135. package/daemon/dist/db/migrations/118_human_quiet_windows.js.map +1 -0
  136. package/daemon/dist/db/migrations/119_seat_identity_pane_pid.d.ts +3 -0
  137. package/daemon/dist/db/migrations/119_seat_identity_pane_pid.d.ts.map +1 -0
  138. package/daemon/dist/db/migrations/119_seat_identity_pane_pid.js +7 -0
  139. package/daemon/dist/db/migrations/119_seat_identity_pane_pid.js.map +1 -0
  140. package/daemon/dist/db/migrations/121_rig_startup_layers.d.ts +13 -0
  141. package/daemon/dist/db/migrations/121_rig_startup_layers.d.ts.map +1 -0
  142. package/daemon/dist/db/migrations/121_rig_startup_layers.js +17 -0
  143. package/daemon/dist/db/migrations/121_rig_startup_layers.js.map +1 -0
  144. package/daemon/dist/db/migrations/122_human_operating_modes.d.ts +3 -0
  145. package/daemon/dist/db/migrations/122_human_operating_modes.d.ts.map +1 -0
  146. package/daemon/dist/db/migrations/122_human_operating_modes.js +55 -0
  147. package/daemon/dist/db/migrations/122_human_operating_modes.js.map +1 -0
  148. package/daemon/dist/db/migrations/123_queue_delegated_decision.d.ts +3 -0
  149. package/daemon/dist/db/migrations/123_queue_delegated_decision.d.ts.map +1 -0
  150. package/daemon/dist/db/migrations/123_queue_delegated_decision.js +10 -0
  151. package/daemon/dist/db/migrations/123_queue_delegated_decision.js.map +1 -0
  152. package/daemon/dist/domain/active-occupant.d.ts +5 -3
  153. package/daemon/dist/domain/active-occupant.d.ts.map +1 -1
  154. package/daemon/dist/domain/active-occupant.js +2 -2
  155. package/daemon/dist/domain/active-occupant.js.map +1 -1
  156. package/daemon/dist/domain/activity-taxonomy.d.ts +16 -1
  157. package/daemon/dist/domain/activity-taxonomy.d.ts.map +1 -1
  158. package/daemon/dist/domain/activity-taxonomy.js +21 -0
  159. package/daemon/dist/domain/activity-taxonomy.js.map +1 -1
  160. package/daemon/dist/domain/agent-activity-store.d.ts +20 -0
  161. package/daemon/dist/domain/agent-activity-store.d.ts.map +1 -1
  162. package/daemon/dist/domain/agent-activity-store.js +41 -5
  163. package/daemon/dist/domain/agent-activity-store.js.map +1 -1
  164. package/daemon/dist/domain/agent-images/evidence-guard.js +3 -3
  165. package/daemon/dist/domain/agent-images/evidence-guard.js.map +1 -1
  166. package/daemon/dist/domain/agent-images/resume-token-discovery.d.ts.map +1 -1
  167. package/daemon/dist/domain/agent-images/resume-token-discovery.js +2 -10
  168. package/daemon/dist/domain/agent-images/resume-token-discovery.js.map +1 -1
  169. package/daemon/dist/domain/ask-service.d.ts +1 -0
  170. package/daemon/dist/domain/ask-service.d.ts.map +1 -1
  171. package/daemon/dist/domain/ask-service.js +7 -1
  172. package/daemon/dist/domain/ask-service.js.map +1 -1
  173. package/daemon/dist/domain/bootstrap-orchestrator.d.ts +2 -0
  174. package/daemon/dist/domain/bootstrap-orchestrator.d.ts.map +1 -1
  175. package/daemon/dist/domain/bootstrap-orchestrator.js +5 -6
  176. package/daemon/dist/domain/bootstrap-orchestrator.js.map +1 -1
  177. package/daemon/dist/domain/claim-service.d.ts +10 -19
  178. package/daemon/dist/domain/claim-service.d.ts.map +1 -1
  179. package/daemon/dist/domain/claim-service.js +90 -0
  180. package/daemon/dist/domain/claim-service.js.map +1 -1
  181. package/daemon/dist/domain/classification-sources.d.ts.map +1 -1
  182. package/daemon/dist/domain/classification-sources.js +2 -0
  183. package/daemon/dist/domain/classification-sources.js.map +1 -1
  184. package/daemon/dist/domain/claude-compaction-enforcer.d.ts +19 -6
  185. package/daemon/dist/domain/claude-compaction-enforcer.d.ts.map +1 -1
  186. package/daemon/dist/domain/claude-compaction-enforcer.js +108 -38
  187. package/daemon/dist/domain/claude-compaction-enforcer.js.map +1 -1
  188. package/daemon/dist/domain/claude-core-plugin-env.d.ts +11 -0
  189. package/daemon/dist/domain/claude-core-plugin-env.d.ts.map +1 -1
  190. package/daemon/dist/domain/claude-core-plugin-env.js +15 -0
  191. package/daemon/dist/domain/claude-core-plugin-env.js.map +1 -1
  192. package/daemon/dist/domain/codex-core-plugin-install.d.ts +41 -0
  193. package/daemon/dist/domain/codex-core-plugin-install.d.ts.map +1 -0
  194. package/daemon/dist/domain/codex-core-plugin-install.js +126 -0
  195. package/daemon/dist/domain/codex-core-plugin-install.js.map +1 -0
  196. package/daemon/dist/domain/codex-thread-id.d.ts +23 -1
  197. package/daemon/dist/domain/codex-thread-id.d.ts.map +1 -1
  198. package/daemon/dist/domain/codex-thread-id.js +58 -17
  199. package/daemon/dist/domain/codex-thread-id.js.map +1 -1
  200. package/daemon/dist/domain/context-monitor.d.ts +13 -5
  201. package/daemon/dist/domain/context-monitor.d.ts.map +1 -1
  202. package/daemon/dist/domain/context-monitor.js +47 -13
  203. package/daemon/dist/domain/context-monitor.js.map +1 -1
  204. package/daemon/dist/domain/context-usage-store.d.ts.map +1 -1
  205. package/daemon/dist/domain/context-usage-store.js +3 -0
  206. package/daemon/dist/domain/context-usage-store.js.map +1 -1
  207. package/daemon/dist/domain/current-work.d.ts +18 -0
  208. package/daemon/dist/domain/current-work.d.ts.map +1 -1
  209. package/daemon/dist/domain/current-work.js +17 -3
  210. package/daemon/dist/domain/current-work.js.map +1 -1
  211. package/daemon/dist/domain/draft-aware-delivery.d.ts +7 -7
  212. package/daemon/dist/domain/draft-aware-delivery.d.ts.map +1 -1
  213. package/daemon/dist/domain/draft-aware-delivery.js +61 -82
  214. package/daemon/dist/domain/draft-aware-delivery.js.map +1 -1
  215. package/daemon/dist/domain/execution-view.d.ts.map +1 -1
  216. package/daemon/dist/domain/execution-view.js +2 -1
  217. package/daemon/dist/domain/execution-view.js.map +1 -1
  218. package/daemon/dist/domain/existing-rig-restore.d.ts +110 -0
  219. package/daemon/dist/domain/existing-rig-restore.d.ts.map +1 -0
  220. package/daemon/dist/domain/existing-rig-restore.js +254 -0
  221. package/daemon/dist/domain/existing-rig-restore.js.map +1 -0
  222. package/daemon/dist/domain/fresh-occupant-relation.d.ts.map +1 -1
  223. package/daemon/dist/domain/fresh-occupant-relation.js +11 -3
  224. package/daemon/dist/domain/fresh-occupant-relation.js.map +1 -1
  225. package/daemon/dist/domain/gateway/channel-operations.d.ts +3 -4
  226. package/daemon/dist/domain/gateway/channel-operations.d.ts.map +1 -1
  227. package/daemon/dist/domain/gateway/channel-operations.js.map +1 -1
  228. package/daemon/dist/domain/gateway/connections-projection.d.ts +0 -5
  229. package/daemon/dist/domain/gateway/connections-projection.d.ts.map +1 -1
  230. package/daemon/dist/domain/gateway/connections-projection.js +3 -46
  231. package/daemon/dist/domain/gateway/connections-projection.js.map +1 -1
  232. package/daemon/dist/domain/gateway/delivery-rules-engine.d.ts +11 -1
  233. package/daemon/dist/domain/gateway/delivery-rules-engine.d.ts.map +1 -1
  234. package/daemon/dist/domain/gateway/delivery-rules-engine.js +12 -2
  235. package/daemon/dist/domain/gateway/delivery-rules-engine.js.map +1 -1
  236. package/daemon/dist/domain/gateway/dispatch-buffer.d.ts +4 -0
  237. package/daemon/dist/domain/gateway/dispatch-buffer.d.ts.map +1 -1
  238. package/daemon/dist/domain/gateway/dispatch-buffer.js +18 -0
  239. package/daemon/dist/domain/gateway/dispatch-buffer.js.map +1 -1
  240. package/daemon/dist/domain/gateway/human-mode-account.d.ts +61 -0
  241. package/daemon/dist/domain/gateway/human-mode-account.d.ts.map +1 -0
  242. package/daemon/dist/domain/gateway/human-mode-account.js +112 -0
  243. package/daemon/dist/domain/gateway/human-mode-account.js.map +1 -0
  244. package/daemon/dist/domain/gateway/human-operating-modes.d.ts +171 -0
  245. package/daemon/dist/domain/gateway/human-operating-modes.d.ts.map +1 -0
  246. package/daemon/dist/domain/gateway/human-operating-modes.js +422 -0
  247. package/daemon/dist/domain/gateway/human-operating-modes.js.map +1 -0
  248. package/daemon/dist/domain/gateway/human-quiet-windows.d.ts +121 -0
  249. package/daemon/dist/domain/gateway/human-quiet-windows.d.ts.map +1 -0
  250. package/daemon/dist/domain/gateway/human-quiet-windows.js +217 -0
  251. package/daemon/dist/domain/gateway/human-quiet-windows.js.map +1 -0
  252. package/daemon/dist/domain/gateway/human-registry.d.ts +23 -2
  253. package/daemon/dist/domain/gateway/human-registry.d.ts.map +1 -1
  254. package/daemon/dist/domain/gateway/human-registry.js +67 -5
  255. package/daemon/dist/domain/gateway/human-registry.js.map +1 -1
  256. package/daemon/dist/domain/gateway/operator-delivery-engine.d.ts.map +1 -1
  257. package/daemon/dist/domain/gateway/operator-delivery-engine.js +9 -0
  258. package/daemon/dist/domain/gateway/operator-delivery-engine.js.map +1 -1
  259. package/daemon/dist/domain/gateway/slack/inbound.d.ts +10 -2
  260. package/daemon/dist/domain/gateway/slack/inbound.d.ts.map +1 -1
  261. package/daemon/dist/domain/gateway/slack/inbound.js +24 -2
  262. package/daemon/dist/domain/gateway/slack/inbound.js.map +1 -1
  263. package/daemon/dist/domain/gateway/slack/message.d.ts +1 -0
  264. package/daemon/dist/domain/gateway/slack/message.d.ts.map +1 -1
  265. package/daemon/dist/domain/gateway/slack/message.js +5 -1
  266. package/daemon/dist/domain/gateway/slack/message.js.map +1 -1
  267. package/daemon/dist/domain/gateway/slack/outbound-driver.d.ts +9 -3
  268. package/daemon/dist/domain/gateway/slack/outbound-driver.d.ts.map +1 -1
  269. package/daemon/dist/domain/gateway/slack/outbound-driver.js +40 -6
  270. package/daemon/dist/domain/gateway/slack/outbound-driver.js.map +1 -1
  271. package/daemon/dist/domain/gateway/slack/slack-delivery.d.ts +19 -1
  272. package/daemon/dist/domain/gateway/slack/slack-delivery.d.ts.map +1 -1
  273. package/daemon/dist/domain/gateway/slack/slack-delivery.js +128 -41
  274. package/daemon/dist/domain/gateway/slack/slack-delivery.js.map +1 -1
  275. package/daemon/dist/domain/gateway/slack/slack-subsystem.d.ts +3 -2
  276. package/daemon/dist/domain/gateway/slack/slack-subsystem.d.ts.map +1 -1
  277. package/daemon/dist/domain/gateway/slack/slack-subsystem.js +268 -50
  278. package/daemon/dist/domain/gateway/slack/slack-subsystem.js.map +1 -1
  279. package/daemon/dist/domain/health-passive-ceremony.d.ts +4 -0
  280. package/daemon/dist/domain/health-passive-ceremony.d.ts.map +1 -1
  281. package/daemon/dist/domain/health-passive-ceremony.js +34 -4
  282. package/daemon/dist/domain/health-passive-ceremony.js.map +1 -1
  283. package/daemon/dist/domain/hosts/hosts-registry-reader.d.ts +3 -1
  284. package/daemon/dist/domain/hosts/hosts-registry-reader.d.ts.map +1 -1
  285. package/daemon/dist/domain/hosts/hosts-registry-reader.js +9 -9
  286. package/daemon/dist/domain/hosts/hosts-registry-reader.js.map +1 -1
  287. package/daemon/dist/domain/hosts/learned-host-bindings.d.ts +28 -0
  288. package/daemon/dist/domain/hosts/learned-host-bindings.d.ts.map +1 -0
  289. package/daemon/dist/domain/hosts/learned-host-bindings.js +77 -0
  290. package/daemon/dist/domain/hosts/learned-host-bindings.js.map +1 -0
  291. package/daemon/dist/domain/hot-potato-enforcer.d.ts +7 -5
  292. package/daemon/dist/domain/hot-potato-enforcer.d.ts.map +1 -1
  293. package/daemon/dist/domain/hot-potato-enforcer.js +19 -10
  294. package/daemon/dist/domain/hot-potato-enforcer.js.map +1 -1
  295. package/daemon/dist/domain/human-questions.d.ts +8 -1
  296. package/daemon/dist/domain/human-questions.d.ts.map +1 -1
  297. package/daemon/dist/domain/human-questions.js.map +1 -1
  298. package/daemon/dist/domain/kernel-boot-tracker.d.ts +17 -1
  299. package/daemon/dist/domain/kernel-boot-tracker.d.ts.map +1 -1
  300. package/daemon/dist/domain/kernel-boot-tracker.js +44 -3
  301. package/daemon/dist/domain/kernel-boot-tracker.js.map +1 -1
  302. package/daemon/dist/domain/kernel-boot.d.ts +21 -0
  303. package/daemon/dist/domain/kernel-boot.d.ts.map +1 -1
  304. package/daemon/dist/domain/kernel-boot.js +57 -2
  305. package/daemon/dist/domain/kernel-boot.js.map +1 -1
  306. package/daemon/dist/domain/model-divergence/current-generation-record.d.ts +2 -1
  307. package/daemon/dist/domain/model-divergence/current-generation-record.d.ts.map +1 -1
  308. package/daemon/dist/domain/model-divergence/current-generation-record.js +8 -3
  309. package/daemon/dist/domain/model-divergence/current-generation-record.js.map +1 -1
  310. package/daemon/dist/domain/native-process-lineage.d.ts.map +1 -1
  311. package/daemon/dist/domain/native-process-lineage.js +43 -15
  312. package/daemon/dist/domain/native-process-lineage.js.map +1 -1
  313. package/daemon/dist/domain/node-inventory.d.ts.map +1 -1
  314. package/daemon/dist/domain/node-inventory.js +26 -12
  315. package/daemon/dist/domain/node-inventory.js.map +1 -1
  316. package/daemon/dist/domain/node-launcher.d.ts +5 -3
  317. package/daemon/dist/domain/node-launcher.d.ts.map +1 -1
  318. package/daemon/dist/domain/node-launcher.js +29 -25
  319. package/daemon/dist/domain/node-launcher.js.map +1 -1
  320. package/daemon/dist/domain/outbox-handler.d.ts +3 -5
  321. package/daemon/dist/domain/outbox-handler.d.ts.map +1 -1
  322. package/daemon/dist/domain/outbox-handler.js +9 -19
  323. package/daemon/dist/domain/outbox-handler.js.map +1 -1
  324. package/daemon/dist/domain/park-wake-text.d.ts +11 -0
  325. package/daemon/dist/domain/park-wake-text.d.ts.map +1 -0
  326. package/daemon/dist/domain/park-wake-text.js +26 -0
  327. package/daemon/dist/domain/park-wake-text.js.map +1 -0
  328. package/daemon/dist/domain/plugin-vendor-service.d.ts +4 -0
  329. package/daemon/dist/domain/plugin-vendor-service.d.ts.map +1 -1
  330. package/daemon/dist/domain/plugin-vendor-service.js +29 -6
  331. package/daemon/dist/domain/plugin-vendor-service.js.map +1 -1
  332. package/daemon/dist/domain/policies/delivery-digest-flush.d.ts +1 -0
  333. package/daemon/dist/domain/policies/delivery-digest-flush.d.ts.map +1 -1
  334. package/daemon/dist/domain/policies/delivery-digest-flush.js +25 -4
  335. package/daemon/dist/domain/policies/delivery-digest-flush.js.map +1 -1
  336. package/daemon/dist/domain/policies/mode-scheduled-end.d.ts +37 -0
  337. package/daemon/dist/domain/policies/mode-scheduled-end.d.ts.map +1 -0
  338. package/daemon/dist/domain/policies/mode-scheduled-end.js +161 -0
  339. package/daemon/dist/domain/policies/mode-scheduled-end.js.map +1 -0
  340. package/daemon/dist/domain/policies/parked-owner-consumer.d.ts +11 -7
  341. package/daemon/dist/domain/policies/parked-owner-consumer.d.ts.map +1 -1
  342. package/daemon/dist/domain/policies/parked-owner-consumer.js +82 -113
  343. package/daemon/dist/domain/policies/parked-owner-consumer.js.map +1 -1
  344. package/daemon/dist/domain/policies/quiet-release.d.ts +109 -0
  345. package/daemon/dist/domain/policies/quiet-release.d.ts.map +1 -0
  346. package/daemon/dist/domain/policies/quiet-release.js +213 -0
  347. package/daemon/dist/domain/policies/quiet-release.js.map +1 -0
  348. package/daemon/dist/domain/profile-resolver.d.ts.map +1 -1
  349. package/daemon/dist/domain/profile-resolver.js +8 -3
  350. package/daemon/dist/domain/profile-resolver.js.map +1 -1
  351. package/daemon/dist/domain/proof/source-watch.js +2 -2
  352. package/daemon/dist/domain/proof/source-watch.js.map +1 -1
  353. package/daemon/dist/domain/queue-destination-check.d.ts +6 -0
  354. package/daemon/dist/domain/queue-destination-check.d.ts.map +1 -0
  355. package/daemon/dist/domain/queue-destination-check.js +35 -0
  356. package/daemon/dist/domain/queue-destination-check.js.map +1 -0
  357. package/daemon/dist/domain/queue-owner.d.ts.map +1 -1
  358. package/daemon/dist/domain/queue-owner.js +2 -1
  359. package/daemon/dist/domain/queue-owner.js.map +1 -1
  360. package/daemon/dist/domain/queue-recovery.d.ts +1 -1
  361. package/daemon/dist/domain/queue-recovery.d.ts.map +1 -1
  362. package/daemon/dist/domain/queue-recovery.js +3 -2
  363. package/daemon/dist/domain/queue-recovery.js.map +1 -1
  364. package/daemon/dist/domain/queue-repository.d.ts +108 -67
  365. package/daemon/dist/domain/queue-repository.d.ts.map +1 -1
  366. package/daemon/dist/domain/queue-repository.js +316 -140
  367. package/daemon/dist/domain/queue-repository.js.map +1 -1
  368. package/daemon/dist/domain/queue-stuck-sweep.d.ts +13 -1
  369. package/daemon/dist/domain/queue-stuck-sweep.d.ts.map +1 -1
  370. package/daemon/dist/domain/queue-stuck-sweep.js +95 -13
  371. package/daemon/dist/domain/queue-stuck-sweep.js.map +1 -1
  372. package/daemon/dist/domain/queue-transition-log.d.ts +5 -0
  373. package/daemon/dist/domain/queue-transition-log.d.ts.map +1 -1
  374. package/daemon/dist/domain/queue-transition-log.js +25 -8
  375. package/daemon/dist/domain/queue-transition-log.js.map +1 -1
  376. package/daemon/dist/domain/queue-wake-ladder.d.ts +2 -0
  377. package/daemon/dist/domain/queue-wake-ladder.d.ts.map +1 -1
  378. package/daemon/dist/domain/queue-wake-ladder.js +94 -11
  379. package/daemon/dist/domain/queue-wake-ladder.js.map +1 -1
  380. package/daemon/dist/domain/quiet-hold-custody.d.ts +24 -0
  381. package/daemon/dist/domain/quiet-hold-custody.d.ts.map +1 -0
  382. package/daemon/dist/domain/quiet-hold-custody.js +85 -0
  383. package/daemon/dist/domain/quiet-hold-custody.js.map +1 -0
  384. package/daemon/dist/domain/rehydrate-eligibility.d.ts +12 -1
  385. package/daemon/dist/domain/rehydrate-eligibility.d.ts.map +1 -1
  386. package/daemon/dist/domain/rehydrate-eligibility.js +47 -9
  387. package/daemon/dist/domain/rehydrate-eligibility.js.map +1 -1
  388. package/daemon/dist/domain/restore-orchestrator.d.ts +11 -0
  389. package/daemon/dist/domain/restore-orchestrator.d.ts.map +1 -1
  390. package/daemon/dist/domain/restore-orchestrator.js +144 -15
  391. package/daemon/dist/domain/restore-orchestrator.js.map +1 -1
  392. package/daemon/dist/domain/restore-plan-preview.d.ts +3 -1
  393. package/daemon/dist/domain/restore-plan-preview.d.ts.map +1 -1
  394. package/daemon/dist/domain/restore-plan-preview.js +30 -13
  395. package/daemon/dist/domain/restore-plan-preview.js.map +1 -1
  396. package/daemon/dist/domain/review/gather.d.ts.map +1 -1
  397. package/daemon/dist/domain/review/gather.js +8 -5
  398. package/daemon/dist/domain/review/gather.js.map +1 -1
  399. package/daemon/dist/domain/rig-mode/operating-posture.d.ts.map +1 -1
  400. package/daemon/dist/domain/rig-mode/operating-posture.js +3 -1
  401. package/daemon/dist/domain/rig-mode/operating-posture.js.map +1 -1
  402. package/daemon/dist/domain/rig-repository.d.ts +11 -1
  403. package/daemon/dist/domain/rig-repository.d.ts.map +1 -1
  404. package/daemon/dist/domain/rig-repository.js +27 -3
  405. package/daemon/dist/domain/rig-repository.js.map +1 -1
  406. package/daemon/dist/domain/rig-teardown.d.ts.map +1 -1
  407. package/daemon/dist/domain/rig-teardown.js +31 -4
  408. package/daemon/dist/domain/rig-teardown.js.map +1 -1
  409. package/daemon/dist/domain/rigspec-instantiator.d.ts +9 -0
  410. package/daemon/dist/domain/rigspec-instantiator.d.ts.map +1 -1
  411. package/daemon/dist/domain/rigspec-instantiator.js +59 -28
  412. package/daemon/dist/domain/rigspec-instantiator.js.map +1 -1
  413. package/daemon/dist/domain/rigspec-schema.d.ts +5 -0
  414. package/daemon/dist/domain/rigspec-schema.d.ts.map +1 -1
  415. package/daemon/dist/domain/rigspec-schema.js +30 -0
  416. package/daemon/dist/domain/rigspec-schema.js.map +1 -1
  417. package/daemon/dist/domain/runtime-adapter.d.ts +27 -2
  418. package/daemon/dist/domain/runtime-adapter.d.ts.map +1 -1
  419. package/daemon/dist/domain/runtime-adapter.js.map +1 -1
  420. package/daemon/dist/domain/seat-activity-service.d.ts +18 -3
  421. package/daemon/dist/domain/seat-activity-service.d.ts.map +1 -1
  422. package/daemon/dist/domain/seat-activity-service.js +124 -57
  423. package/daemon/dist/domain/seat-activity-service.js.map +1 -1
  424. package/daemon/dist/domain/seat-attention-reconciler.d.ts +8 -1
  425. package/daemon/dist/domain/seat-attention-reconciler.d.ts.map +1 -1
  426. package/daemon/dist/domain/seat-attention-reconciler.js +3 -1
  427. package/daemon/dist/domain/seat-attention-reconciler.js.map +1 -1
  428. package/daemon/dist/domain/seat-delivery-guard.d.ts.map +1 -1
  429. package/daemon/dist/domain/seat-delivery-guard.js +21 -5
  430. package/daemon/dist/domain/seat-delivery-guard.js.map +1 -1
  431. package/daemon/dist/domain/seat-handover-service.d.ts +2 -2
  432. package/daemon/dist/domain/seat-handover-service.d.ts.map +1 -1
  433. package/daemon/dist/domain/seat-handover-service.js +28 -2
  434. package/daemon/dist/domain/seat-handover-service.js.map +1 -1
  435. package/daemon/dist/domain/seat-identity-reconciler.js +1 -1
  436. package/daemon/dist/domain/seat-identity-reconciler.js.map +1 -1
  437. package/daemon/dist/domain/seat-identity-store.d.ts.map +1 -1
  438. package/daemon/dist/domain/seat-identity-store.js +5 -2
  439. package/daemon/dist/domain/seat-identity-store.js.map +1 -1
  440. package/daemon/dist/domain/seat-launch-environment.d.ts.map +1 -1
  441. package/daemon/dist/domain/seat-launch-environment.js +17 -1
  442. package/daemon/dist/domain/seat-launch-environment.js.map +1 -1
  443. package/daemon/dist/domain/seat-lifecycle-service.d.ts +4 -0
  444. package/daemon/dist/domain/seat-lifecycle-service.d.ts.map +1 -1
  445. package/daemon/dist/domain/seat-restart-in-place.d.ts +33 -14
  446. package/daemon/dist/domain/seat-restart-in-place.d.ts.map +1 -1
  447. package/daemon/dist/domain/seat-restart-in-place.js +102 -30
  448. package/daemon/dist/domain/seat-restart-in-place.js.map +1 -1
  449. package/daemon/dist/domain/self-attach-service.d.ts +3 -2
  450. package/daemon/dist/domain/self-attach-service.d.ts.map +1 -1
  451. package/daemon/dist/domain/self-attach-service.js +18 -1
  452. package/daemon/dist/domain/self-attach-service.js.map +1 -1
  453. package/daemon/dist/domain/services-readiness.d.ts.map +1 -1
  454. package/daemon/dist/domain/services-readiness.js +14 -3
  455. package/daemon/dist/domain/services-readiness.js.map +1 -1
  456. package/daemon/dist/domain/session-registry.d.ts +45 -0
  457. package/daemon/dist/domain/session-registry.d.ts.map +1 -1
  458. package/daemon/dist/domain/session-registry.js +124 -0
  459. package/daemon/dist/domain/session-registry.js.map +1 -1
  460. package/daemon/dist/domain/session-transport.d.ts +24 -6
  461. package/daemon/dist/domain/session-transport.d.ts.map +1 -1
  462. package/daemon/dist/domain/session-transport.js +58 -41
  463. package/daemon/dist/domain/session-transport.js.map +1 -1
  464. package/daemon/dist/domain/skill-discovery.d.ts +7 -1
  465. package/daemon/dist/domain/skill-discovery.d.ts.map +1 -1
  466. package/daemon/dist/domain/skill-discovery.js +41 -7
  467. package/daemon/dist/domain/skill-discovery.js.map +1 -1
  468. package/daemon/dist/domain/snapshot-repository.d.ts +1 -0
  469. package/daemon/dist/domain/snapshot-repository.d.ts.map +1 -1
  470. package/daemon/dist/domain/snapshot-repository.js +23 -10
  471. package/daemon/dist/domain/snapshot-repository.js.map +1 -1
  472. package/daemon/dist/domain/startup-orchestrator.d.ts +21 -3
  473. package/daemon/dist/domain/startup-orchestrator.d.ts.map +1 -1
  474. package/daemon/dist/domain/startup-orchestrator.js +66 -16
  475. package/daemon/dist/domain/startup-orchestrator.js.map +1 -1
  476. package/daemon/dist/domain/startup-submission-evidence.d.ts +4 -11
  477. package/daemon/dist/domain/startup-submission-evidence.d.ts.map +1 -1
  478. package/daemon/dist/domain/startup-submission-evidence.js +11 -17
  479. package/daemon/dist/domain/startup-submission-evidence.js.map +1 -1
  480. package/daemon/dist/domain/successor-session-launcher.d.ts +2 -1
  481. package/daemon/dist/domain/successor-session-launcher.d.ts.map +1 -1
  482. package/daemon/dist/domain/successor-session-launcher.js +3 -1
  483. package/daemon/dist/domain/successor-session-launcher.js.map +1 -1
  484. package/daemon/dist/domain/terminal/herdr-adapter.d.ts +1 -1
  485. package/daemon/dist/domain/terminal/herdr-adapter.d.ts.map +1 -1
  486. package/daemon/dist/domain/terminal/herdr-adapter.js +22 -4
  487. package/daemon/dist/domain/terminal/herdr-adapter.js.map +1 -1
  488. package/daemon/dist/domain/topology-converge.d.ts +1 -0
  489. package/daemon/dist/domain/topology-converge.d.ts.map +1 -1
  490. package/daemon/dist/domain/topology-converge.js +1 -0
  491. package/daemon/dist/domain/topology-converge.js.map +1 -1
  492. package/daemon/dist/domain/types.d.ts +15 -4
  493. package/daemon/dist/domain/types.d.ts.map +1 -1
  494. package/daemon/dist/domain/types.js.map +1 -1
  495. package/daemon/dist/domain/user-settings/settings-browser.d.ts.map +1 -1
  496. package/daemon/dist/domain/user-settings/settings-browser.js +2 -0
  497. package/daemon/dist/domain/user-settings/settings-browser.js.map +1 -1
  498. package/daemon/dist/domain/user-settings/settings-store.d.ts +1 -1
  499. package/daemon/dist/domain/user-settings/settings-store.d.ts.map +1 -1
  500. package/daemon/dist/domain/user-settings/settings-store.js +37 -7
  501. package/daemon/dist/domain/user-settings/settings-store.js.map +1 -1
  502. package/daemon/dist/domain/wake-resolve-service.d.ts +1 -0
  503. package/daemon/dist/domain/wake-resolve-service.d.ts.map +1 -1
  504. package/daemon/dist/domain/wake-resolve-service.js +10 -0
  505. package/daemon/dist/domain/wake-resolve-service.js.map +1 -1
  506. package/daemon/dist/domain/wake-resolver.d.ts.map +1 -1
  507. package/daemon/dist/domain/wake-resolver.js +7 -0
  508. package/daemon/dist/domain/wake-resolver.js.map +1 -1
  509. package/daemon/dist/domain/watchdog-delivery.d.ts +3 -23
  510. package/daemon/dist/domain/watchdog-delivery.d.ts.map +1 -1
  511. package/daemon/dist/domain/watchdog-delivery.js +12 -89
  512. package/daemon/dist/domain/watchdog-delivery.js.map +1 -1
  513. package/daemon/dist/domain/watchdog-history-log.d.ts +5 -2
  514. package/daemon/dist/domain/watchdog-history-log.d.ts.map +1 -1
  515. package/daemon/dist/domain/watchdog-history-log.js.map +1 -1
  516. package/daemon/dist/domain/watchdog-jobs-repository.d.ts +2 -2
  517. package/daemon/dist/domain/watchdog-jobs-repository.d.ts.map +1 -1
  518. package/daemon/dist/domain/watchdog-jobs-repository.js +4 -0
  519. package/daemon/dist/domain/watchdog-jobs-repository.js.map +1 -1
  520. package/daemon/dist/domain/watchdog-policy-engine.d.ts +16 -24
  521. package/daemon/dist/domain/watchdog-policy-engine.d.ts.map +1 -1
  522. package/daemon/dist/domain/watchdog-policy-engine.js +44 -43
  523. package/daemon/dist/domain/watchdog-policy-engine.js.map +1 -1
  524. package/daemon/dist/domain/whoami-service.d.ts +2 -0
  525. package/daemon/dist/domain/whoami-service.d.ts.map +1 -1
  526. package/daemon/dist/domain/whoami-service.js +23 -6
  527. package/daemon/dist/domain/whoami-service.js.map +1 -1
  528. package/daemon/dist/domain/workflow-boot-sweep.d.ts +2 -1
  529. package/daemon/dist/domain/workflow-boot-sweep.d.ts.map +1 -1
  530. package/daemon/dist/domain/workflow-boot-sweep.js +11 -5
  531. package/daemon/dist/domain/workflow-boot-sweep.js.map +1 -1
  532. package/daemon/dist/domain/workflow-exception-escalation.d.ts.map +1 -1
  533. package/daemon/dist/domain/workflow-exception-escalation.js +2 -1
  534. package/daemon/dist/domain/workflow-exception-escalation.js.map +1 -1
  535. package/daemon/dist/domain/workflow-projector.d.ts.map +1 -1
  536. package/daemon/dist/domain/workflow-projector.js +5 -2
  537. package/daemon/dist/domain/workflow-projector.js.map +1 -1
  538. package/daemon/dist/domain/workflow-role-context.js +2 -2
  539. package/daemon/dist/domain/workflow-role-context.js.map +1 -1
  540. package/daemon/dist/domain/workflow-runtime.d.ts +1 -1
  541. package/daemon/dist/domain/workflow-runtime.d.ts.map +1 -1
  542. package/daemon/dist/domain/workflow-runtime.js +2 -0
  543. package/daemon/dist/domain/workflow-runtime.js.map +1 -1
  544. package/daemon/dist/routes/activity.d.ts +13 -1
  545. package/daemon/dist/routes/activity.d.ts.map +1 -1
  546. package/daemon/dist/routes/activity.js +67 -2
  547. package/daemon/dist/routes/activity.js.map +1 -1
  548. package/daemon/dist/routes/agent-images.d.ts.map +1 -1
  549. package/daemon/dist/routes/agent-images.js +2 -0
  550. package/daemon/dist/routes/agent-images.js.map +1 -1
  551. package/daemon/dist/routes/compaction.d.ts.map +1 -1
  552. package/daemon/dist/routes/compaction.js +8 -3
  553. package/daemon/dist/routes/compaction.js.map +1 -1
  554. package/daemon/dist/routes/discovery.js +3 -0
  555. package/daemon/dist/routes/discovery.js.map +1 -1
  556. package/daemon/dist/routes/down.js +9 -1
  557. package/daemon/dist/routes/down.js.map +1 -1
  558. package/daemon/dist/routes/gateway.d.ts +2 -0
  559. package/daemon/dist/routes/gateway.d.ts.map +1 -1
  560. package/daemon/dist/routes/gateway.js +181 -1
  561. package/daemon/dist/routes/gateway.js.map +1 -1
  562. package/daemon/dist/routes/kernel-status.js +6 -1
  563. package/daemon/dist/routes/kernel-status.js.map +1 -1
  564. package/daemon/dist/routes/provider.d.ts.map +1 -1
  565. package/daemon/dist/routes/provider.js +0 -73
  566. package/daemon/dist/routes/provider.js.map +1 -1
  567. package/daemon/dist/routes/queue.d.ts.map +1 -1
  568. package/daemon/dist/routes/queue.js +73 -13
  569. package/daemon/dist/routes/queue.js.map +1 -1
  570. package/daemon/dist/routes/rigs.d.ts.map +1 -1
  571. package/daemon/dist/routes/rigs.js +29 -10
  572. package/daemon/dist/routes/rigs.js.map +1 -1
  573. package/daemon/dist/routes/rigspec.js +2 -3
  574. package/daemon/dist/routes/rigspec.js.map +1 -1
  575. package/daemon/dist/routes/seat.js +2 -2
  576. package/daemon/dist/routes/seat.js.map +1 -1
  577. package/daemon/dist/routes/sessions.js +35 -0
  578. package/daemon/dist/routes/sessions.js.map +1 -1
  579. package/daemon/dist/routes/skills.js +2 -2
  580. package/daemon/dist/routes/skills.js.map +1 -1
  581. package/daemon/dist/routes/transcripts.d.ts.map +1 -1
  582. package/daemon/dist/routes/transcripts.js +7 -3
  583. package/daemon/dist/routes/transcripts.js.map +1 -1
  584. package/daemon/dist/routes/transport.js +1 -1
  585. package/daemon/dist/routes/transport.js.map +1 -1
  586. package/daemon/dist/routes/up.js +36 -52
  587. package/daemon/dist/routes/up.js.map +1 -1
  588. package/daemon/dist/server.d.ts.map +1 -1
  589. package/daemon/dist/server.js +6 -4
  590. package/daemon/dist/server.js.map +1 -1
  591. package/daemon/dist/startup.d.ts.map +1 -1
  592. package/daemon/dist/startup.js +104 -65
  593. package/daemon/dist/startup.js.map +1 -1
  594. package/daemon/docs/reference/agent-state-taxonomy.md +17 -2
  595. package/daemon/docs/reference/getting-started.md +178 -35
  596. package/daemon/docs/reference/quickstart.md +200 -0
  597. package/daemon/docs/reference/refocus-channel.md +9 -3
  598. package/daemon/docs/reference/rig-spec.md +1 -1
  599. package/daemon/docs/reference/seat-delivery.md +57 -18
  600. package/daemon/docs/reference/slack-app-setup.md +49 -2
  601. package/daemon/docs/reference/whats-new.md +126 -100
  602. package/daemon/specs/agents/shared/skills/core/messaging-the-human/SKILL.md +24 -0
  603. package/daemon/specs/agents/shared/skills/core/openrig-skills/SKILL.md +2 -2
  604. package/daemon/specs/agents/shared/skills/core/openrig-upgrade/SKILL.md +11 -5
  605. package/daemon/specs/agents/shared/skills/pods/development-team/SKILL.md +2 -0
  606. package/daemon/specs/agents/shared/skills/pods/development-team/references/refactoring.md +11 -0
  607. package/daemon/specs/agents/shared/skills/pods/review-team/SKILL.md +46 -96
  608. package/daemon/specs/agents/shared/skills/process/verification-before-completion/SKILL.md +17 -80
  609. package/daemon/specs/agents/shared/skills/process/verification-before-completion/references/performance-claims.md +12 -0
  610. package/daemon/specs/rigs/launch/kernel/agents/operator/agent/guidance/role.md +93 -14
  611. package/dist/build-info.js +3 -3
  612. package/dist/cli-error.d.ts +4 -0
  613. package/dist/cli-error.d.ts.map +1 -1
  614. package/dist/cli-error.js +6 -0
  615. package/dist/cli-error.js.map +1 -1
  616. package/dist/client.d.ts +7 -1
  617. package/dist/client.d.ts.map +1 -1
  618. package/dist/client.js +28 -0
  619. package/dist/client.js.map +1 -1
  620. package/dist/commands/agent-image.d.ts.map +1 -1
  621. package/dist/commands/agent-image.js +15 -7
  622. package/dist/commands/agent-image.js.map +1 -1
  623. package/dist/commands/archive.d.ts.map +1 -1
  624. package/dist/commands/archive.js +17 -3
  625. package/dist/commands/archive.js.map +1 -1
  626. package/dist/commands/ask.d.ts.map +1 -1
  627. package/dist/commands/ask.js +13 -3
  628. package/dist/commands/ask.js.map +1 -1
  629. package/dist/commands/attach.d.ts.map +1 -1
  630. package/dist/commands/attach.js +6 -4
  631. package/dist/commands/attach.js.map +1 -1
  632. package/dist/commands/broadcast.js +2 -0
  633. package/dist/commands/broadcast.js.map +1 -1
  634. package/dist/commands/chatroom.d.ts.map +1 -1
  635. package/dist/commands/chatroom.js +1 -0
  636. package/dist/commands/chatroom.js.map +1 -1
  637. package/dist/commands/community-harness.d.ts.map +1 -1
  638. package/dist/commands/community-harness.js +2 -1
  639. package/dist/commands/community-harness.js.map +1 -1
  640. package/dist/commands/compact-plan.d.ts.map +1 -1
  641. package/dist/commands/compact-plan.js +2 -1
  642. package/dist/commands/compact-plan.js.map +1 -1
  643. package/dist/commands/compact.d.ts.map +1 -1
  644. package/dist/commands/compact.js +15 -7
  645. package/dist/commands/compact.js.map +1 -1
  646. package/dist/commands/config.d.ts.map +1 -1
  647. package/dist/commands/config.js +11 -2
  648. package/dist/commands/config.js.map +1 -1
  649. package/dist/commands/context.d.ts.map +1 -1
  650. package/dist/commands/context.js +16 -9
  651. package/dist/commands/context.js.map +1 -1
  652. package/dist/commands/doctor.d.ts +3 -0
  653. package/dist/commands/doctor.d.ts.map +1 -1
  654. package/dist/commands/doctor.js +39 -16
  655. package/dist/commands/doctor.js.map +1 -1
  656. package/dist/commands/expand.d.ts.map +1 -1
  657. package/dist/commands/expand.js +16 -2
  658. package/dist/commands/expand.js.map +1 -1
  659. package/dist/commands/export.d.ts.map +1 -1
  660. package/dist/commands/export.js +9 -2
  661. package/dist/commands/export.js.map +1 -1
  662. package/dist/commands/fork.d.ts.map +1 -1
  663. package/dist/commands/fork.js +3 -1
  664. package/dist/commands/fork.js.map +1 -1
  665. package/dist/commands/gateway.d.ts +39 -0
  666. package/dist/commands/gateway.d.ts.map +1 -1
  667. package/dist/commands/gateway.js +310 -3
  668. package/dist/commands/gateway.js.map +1 -1
  669. package/dist/commands/health.js +3 -2
  670. package/dist/commands/health.js.map +1 -1
  671. package/dist/commands/host.d.ts +1 -1
  672. package/dist/commands/host.d.ts.map +1 -1
  673. package/dist/commands/host.js +2 -2
  674. package/dist/commands/host.js.map +1 -1
  675. package/dist/commands/launch.d.ts.map +1 -1
  676. package/dist/commands/launch.js +9 -2
  677. package/dist/commands/launch.js.map +1 -1
  678. package/dist/commands/plugin.d.ts.map +1 -1
  679. package/dist/commands/plugin.js +2 -1
  680. package/dist/commands/plugin.js.map +1 -1
  681. package/dist/commands/provider.d.ts.map +1 -1
  682. package/dist/commands/provider.js +0 -73
  683. package/dist/commands/provider.js.map +1 -1
  684. package/dist/commands/ps.d.ts +4 -0
  685. package/dist/commands/ps.d.ts.map +1 -1
  686. package/dist/commands/ps.js +95 -5
  687. package/dist/commands/ps.js.map +1 -1
  688. package/dist/commands/queue.d.ts +4 -0
  689. package/dist/commands/queue.d.ts.map +1 -1
  690. package/dist/commands/queue.js +78 -3
  691. package/dist/commands/queue.js.map +1 -1
  692. package/dist/commands/reconcile-session.d.ts.map +1 -1
  693. package/dist/commands/reconcile-session.js +25 -4
  694. package/dist/commands/reconcile-session.js.map +1 -1
  695. package/dist/commands/release.d.ts.map +1 -1
  696. package/dist/commands/release.js +16 -2
  697. package/dist/commands/release.js.map +1 -1
  698. package/dist/commands/restore-check.d.ts.map +1 -1
  699. package/dist/commands/restore-check.js +2 -1
  700. package/dist/commands/restore-check.js.map +1 -1
  701. package/dist/commands/restore-packet.d.ts.map +1 -1
  702. package/dist/commands/restore-packet.js +2 -1
  703. package/dist/commands/restore-packet.js.map +1 -1
  704. package/dist/commands/restore.d.ts.map +1 -1
  705. package/dist/commands/restore.js +23 -6
  706. package/dist/commands/restore.js.map +1 -1
  707. package/dist/commands/scope.d.ts.map +1 -1
  708. package/dist/commands/scope.js +5 -2
  709. package/dist/commands/scope.js.map +1 -1
  710. package/dist/commands/seat.js +0 -4
  711. package/dist/commands/seat.js.map +1 -1
  712. package/dist/commands/send.d.ts.map +1 -1
  713. package/dist/commands/send.js +27 -3
  714. package/dist/commands/send.js.map +1 -1
  715. package/dist/commands/setup.d.ts +3 -0
  716. package/dist/commands/setup.d.ts.map +1 -1
  717. package/dist/commands/setup.js +29 -9
  718. package/dist/commands/setup.js.map +1 -1
  719. package/dist/commands/shrink.d.ts.map +1 -1
  720. package/dist/commands/shrink.js +16 -2
  721. package/dist/commands/shrink.js.map +1 -1
  722. package/dist/commands/slack.d.ts.map +1 -1
  723. package/dist/commands/slack.js +11 -24
  724. package/dist/commands/slack.js.map +1 -1
  725. package/dist/commands/snapshot.d.ts.map +1 -1
  726. package/dist/commands/snapshot.js +36 -10
  727. package/dist/commands/snapshot.js.map +1 -1
  728. package/dist/commands/specs.d.ts.map +1 -1
  729. package/dist/commands/specs.js +11 -5
  730. package/dist/commands/specs.js.map +1 -1
  731. package/dist/commands/start.d.ts.map +1 -1
  732. package/dist/commands/start.js +36 -10
  733. package/dist/commands/start.js.map +1 -1
  734. package/dist/commands/status.d.ts.map +1 -1
  735. package/dist/commands/status.js +4 -1
  736. package/dist/commands/status.js.map +1 -1
  737. package/dist/commands/transcript.d.ts.map +1 -1
  738. package/dist/commands/transcript.js +12 -7
  739. package/dist/commands/transcript.js.map +1 -1
  740. package/dist/commands/ui.d.ts.map +1 -1
  741. package/dist/commands/ui.js +8 -1
  742. package/dist/commands/ui.js.map +1 -1
  743. package/dist/commands/unarchive.d.ts.map +1 -1
  744. package/dist/commands/unarchive.js +16 -2
  745. package/dist/commands/unarchive.js.map +1 -1
  746. package/dist/commands/up.d.ts.map +1 -1
  747. package/dist/commands/up.js +33 -7
  748. package/dist/commands/up.js.map +1 -1
  749. package/dist/commands/walk.d.ts.map +1 -1
  750. package/dist/commands/walk.js +2 -1
  751. package/dist/commands/walk.js.map +1 -1
  752. package/dist/commands/whoami.d.ts.map +1 -1
  753. package/dist/commands/whoami.js +3 -0
  754. package/dist/commands/whoami.js.map +1 -1
  755. package/dist/config-store.d.ts +5 -2
  756. package/dist/config-store.d.ts.map +1 -1
  757. package/dist/config-store.js +39 -7
  758. package/dist/config-store.js.map +1 -1
  759. package/dist/daemon-lifecycle.d.ts +9 -4
  760. package/dist/daemon-lifecycle.d.ts.map +1 -1
  761. package/dist/daemon-lifecycle.js +38 -12
  762. package/dist/daemon-lifecycle.js.map +1 -1
  763. package/dist/daemon-reachability.d.ts +13 -0
  764. package/dist/daemon-reachability.d.ts.map +1 -1
  765. package/dist/daemon-reachability.js +28 -0
  766. package/dist/daemon-reachability.js.map +1 -1
  767. package/dist/fetch-with-timeout.d.ts.map +1 -1
  768. package/dist/fetch-with-timeout.js +19 -16
  769. package/dist/fetch-with-timeout.js.map +1 -1
  770. package/dist/front-door.d.ts.map +1 -1
  771. package/dist/front-door.js +3 -1
  772. package/dist/front-door.js.map +1 -1
  773. package/dist/host-bindings.d.ts +6 -0
  774. package/dist/host-bindings.d.ts.map +1 -1
  775. package/dist/host-bindings.js +7 -4
  776. package/dist/host-bindings.js.map +1 -1
  777. package/dist/lib/bundle-check.d.ts.map +1 -1
  778. package/dist/lib/bundle-check.js +13 -5
  779. package/dist/lib/bundle-check.js.map +1 -1
  780. package/dist/local-daemon-owner.d.ts +28 -0
  781. package/dist/local-daemon-owner.d.ts.map +1 -0
  782. package/dist/local-daemon-owner.js +98 -0
  783. package/dist/local-daemon-owner.js.map +1 -0
  784. package/dist/mcp-server.d.ts.map +1 -1
  785. package/dist/mcp-server.js +57 -14
  786. package/dist/mcp-server.js.map +1 -1
  787. package/dist/rig-handle.d.ts +18 -1
  788. package/dist/rig-handle.d.ts.map +1 -1
  789. package/dist/rig-handle.js +19 -2
  790. package/dist/rig-handle.js.map +1 -1
  791. package/package.json +1 -1
  792. package/tui/dist/config/config-model.js +1 -1
  793. package/tui/dist/config/config-model.js.map +1 -1
  794. package/tui/dist/connections/connections-model.d.ts +0 -5
  795. package/tui/dist/connections/connections-model.d.ts.map +1 -1
  796. package/tui/dist/connections/connections-model.js +1 -1
  797. package/tui/dist/connections/connections-model.js.map +1 -1
  798. package/tui/dist/daemon-client.d.ts +2 -0
  799. package/tui/dist/daemon-client.d.ts.map +1 -1
  800. package/tui/dist/daemon-client.js +23 -0
  801. package/tui/dist/daemon-client.js.map +1 -1
  802. package/tui/dist/hydrate.d.ts.map +1 -1
  803. package/tui/dist/hydrate.js +13 -1
  804. package/tui/dist/hydrate.js.map +1 -1
  805. package/tui/dist/live.d.ts +10 -1
  806. package/tui/dist/live.d.ts.map +1 -1
  807. package/tui/dist/live.js +56 -7
  808. package/tui/dist/live.js.map +1 -1
  809. package/tui/dist/main.js +35 -2
  810. package/tui/dist/main.js.map +1 -1
  811. package/tui/dist/render.d.ts.map +1 -1
  812. package/tui/dist/render.js +111 -7
  813. package/tui/dist/render.js.map +1 -1
  814. package/tui/dist/types.d.ts +53 -0
  815. package/tui/dist/types.d.ts.map +1 -1
  816. package/tui/dist/version-skew.d.ts +24 -0
  817. package/tui/dist/version-skew.d.ts.map +1 -0
  818. package/tui/dist/version-skew.js +37 -0
  819. package/tui/dist/version-skew.js.map +1 -0
  820. package/daemon/dist/domain/provider/subscription-moves.d.ts +0 -77
  821. package/daemon/dist/domain/provider/subscription-moves.d.ts.map +0 -1
  822. package/daemon/dist/domain/provider/subscription-moves.js +0 -140
  823. package/daemon/dist/domain/provider/subscription-moves.js.map +0 -1
@@ -280,6 +280,7 @@ decisions, and posts its own replies.
280
280
  and the machine checks it when it has `OPENRIG_AUTH_BEARER_TOKEN` set.
281
281
  - **What the receiving machine trusts:** a relayed event comes from whoever holds that machine's
282
282
  daemon token (or, with no token set, anything that can reach its daemon), not from Slack directly, and nothing checks Slack's own signature on it. The
283
+ credential issued by `rig host pair` is the daemon API bearer, not a relay-only credential; it also authorizes the other daemon write APIs that use that bearer. The
283
284
  machine still looks up the sender in its own list of people, but on a relayed event that's no
284
285
  proof a person just typed or clicked it in Slack: it trusts the caller for where the event came
285
286
  from.
@@ -297,16 +298,44 @@ decisions, and posts its own replies.
297
298
  that's down costs one attempt per retry: its other relays wait for the next one. A relay the
298
299
  machine keeps refusing is kept and retried with no limit, because dropping it would lose a
299
300
  person's message.
301
+ - **Changing forwarding entries is not a drain or cancellation:** relays already retained keep
302
+ their original host and remain visible in `rig slack status`, even after the last entry is
303
+ removed. An enabled connector retries them; disabling it pauses retry without deleting them.
304
+ Let relays finish before removing a forward entry. A zero dead-letter backlog alone does not
305
+ prove they have drained: it does not count relay HTTP requests still in flight.
300
306
  - **Who answered:** every post ends `from <seat> on <machine>`, using the machine's host id (set
301
307
  it with `host.name`).
302
308
  - **The hub's own channels** are handled on the hub, as before. A channel can be relayed to one
303
309
  machine only, and never the hub's own default channel.
310
+ Messages that match neither forwarding nor an existing thread or channel route fall back locally
311
+ to `inboundDestination`; `rig slack status` names that policy and destination. These lists do not
312
+ establish exclusive channel ownership: two machines can still both handle a channel.
304
313
  - **Missed messages:** each machine recovers the channels it owns: the hub its own channels, and
305
314
  every other machine its default channel and its channel map's (the hub never recovers a channel
306
315
  it relays). See [Reconnect recovery and status](#reconnect-recovery-and-status).
307
316
  - **Not covered yet:** `rig slack verify` on the hub doesn't check the app's membership in relayed
308
317
  channels.
309
318
 
319
+ ## Quiet hours for a person (optional)
320
+
321
+ Quiet hours hold a person's routine asks while they're on, and post them once they end.
322
+
323
+ - **Set them** with `rig gateway human quiet set <entityId> --daily 22:00-07:00` (every day) or `--until 07:00` (from now
324
+ until then), with `--tz` for the person's zone. `show` reports whether they're on, `end` ends tonight's early ("I'm back";
325
+ a daily rule stays for tomorrow), and `clear` removes the rule. A person's mode can set them too (`rig gateway human
326
+ mode save … --quiet`).
327
+ - **While quiet is on,** an ask that would post to the person isn't posted and doesn't mention them, whatever their delivery
328
+ class: it's held, and its row records the hold.
329
+ - **Not held:** an urgent ask, meaning one tagged `escalation` or `wake-escalation` that isn't an update, and the operator's
330
+ wake-ladder alerts. These reach the person exactly as they would outside quiet. An ask below the posting level is only
331
+ logged, as at any time.
332
+ - **When quiet ends,** each held ask that never started posts once, on its own, with no mention. One that no longer applies
333
+ isn't posted, and its row says why: it closed, a newer notification replaced it, its recipient changed, or it's now below
334
+ the posting level.
335
+ - **A post that may already be in Slack**, confirmed or only partly sent, isn't held: it finishes as itself, in its own
336
+ thread.
337
+ - **If quiet hours can't be read,** nothing is posted to that person until they can.
338
+
310
339
  ## Reconnect recovery and status
311
340
 
312
341
  The daemon scans available top-level messages and replies broadcast with **Also send to
@@ -372,9 +401,27 @@ channel, a thread line (tracked, scanned, waiting and why any are backing off or
372
401
  retry time and accepted/dead-lettered recovery counts since the connector last
373
402
  started, including threads that have since left the window (they reset when it is enabled or disabled, and when the daemon restarts).
374
403
  It also reports the durable dead-letter backlog: the retained records for inbound messages,
375
- reactions and click answers that await retry, counted from both dead-letter files so the number
376
- survives a restart, and shown as unknown with a reason (and no count) when a file cannot be read.
404
+ reactions and click answers that await retry, including retained relays, counted across all three
405
+ dead-letter files so the number survives a restart. Retry is paused while the connector is disabled.
406
+ If a file cannot be read, status shows unknown with a reason and no count.
377
407
  Human-readable coverage and pending bounds use ISO timestamps; JSON keeps Slack timestamps.
378
408
  The status read calls no Slack API and starts no scan. If the daemon cannot be
379
409
  observed, local configuration remains visible and live state is unknown. A
380
410
  connected socket or valid configuration alone does not prove end-to-end delivery.
411
+
412
+ ### Slack rejects a message with `invalid_blocks`
413
+
414
+ `rig queue show <qitemId> --json` records the failure as
415
+ `class=slack-invalid-blocks error=invalid_blocks` in the delivery transition.
416
+ Slack rejected that message's blocks, so OpenRig retains the notification as
417
+ undelivered and does not post the same payload again, including after a daemon
418
+ restart. The rejection is tied to the rendered payload: corrected content can
419
+ make a new attempt. Network failures, server errors and rate limits still retry
420
+ as before; a timed-out request remains uncertain until reconciliation.
421
+
422
+ The source seat gets a `slack-undeliverable` queue item explaining the failure.
423
+ Check the evidence links and message content, then send a corrected ask as a new
424
+ queue item. Close the original when you have handled it. If a long ask was split
425
+ into several messages, earlier parts may already be in Slack; the notice says
426
+ when only part of the ask was posted. A failed part never counts as delivery of
427
+ the whole ask.
@@ -1,7 +1,7 @@
1
- # What changed in OpenRig 0.6.13
1
+ # What changed in OpenRig 0.7.0
2
2
 
3
- This note is for an agent on an install that was just upgraded to 0.6.13. It lists only what behaves differently from
4
- 0.6.12 and what to do about it. For everything OpenRig can do, read the capability map:
3
+ This note is for an agent on an install that was just upgraded to 0.7.0. It lists only what behaves differently from
4
+ 0.6.14 and what to do about it. For everything OpenRig can do, read the capability map:
5
5
  `rig context get onboarding-width/public-what-you-can-do.md`. Each release replaces this file, so
6
6
  `rig context get reference/whats-new.md` describes the installed version once the upgraded daemon is running. Without
7
7
  a running daemon, read `$OPENRIG_HOME/reference/whats-new.md`. The daemon refreshes that copy when it starts, so right
@@ -9,108 +9,134 @@ after an upgrade it can still hold the previous version's note.
9
9
 
10
10
  ## After the upgrade
11
11
 
12
- - **Restart the daemon** (`rig daemon stop`, then `rig daemon start`). Migration `117` runs on every upgrade: it adds
13
- an empty, Codex-only `provider_account_readings` table. It fills only with `provider.usage_windows` on (off by
14
- default), and then keeps each resolved Codex account's readings across a restart. There's no migration `116`.
15
- Coming from 0.6.11 or earlier, 0.6.12's twelve migrations run first.
16
- - **The bundled openrig-core plugin goes from 0.1.13 to 0.1.14.** Generated Claude hook commands in a project's
17
- `.claude/settings.local.json` call the daemon's Node by its absolute path; existing bare-`node` entries refresh on
18
- their own, and a person's wrapper is kept. The plugin's own manifest hooks still call bare `node`.
19
- - **Seats pick up some changes only at their next launch:** a Pi seat's `effort` (sent as `--thinking`), a managed
20
- Claude seat's `EDITOR`, `VISUAL`, `DISPLAY`, `XAUTHORITY` and `WAYLAND_DISPLAY`, and the shipped agent specs' role
21
- file as the seat's role. Use `rig seat launch <seat> --fresh --stop --reason "<why>"` only when the person wants it
22
- now; don't relaunch a working team just to pick these up.
23
- - **Slack recovery's first pass after the upgrade** scans tracked threads inside the seven-day window once from their
24
- root. Replies that already landed aren't delivered twice; recovered ones land as late rows that never answer a
25
- decision.
26
-
27
- ## Output that changed shape
28
-
29
- - **`rig ps --nodes`** prints one line per seat after the table: `Model (<session>): configured <m>; last observed
30
- <model> (<source>; native record <time>)`, or `UNKNOWN (<reason>)`. JSON carries `modelObservation`; compact output
31
- is `[model, source, time]`, `{status: "unknown", reason}`, or `null` from an older daemon. Roster
32
- `live.observedModel` is now filled in.
33
- - **`rig capture`** writes `[rig capture: <seat>: input box: <hint>]` to stderr for a Claude Code or Codex seat; stdout
34
- is unchanged. `--json` and the MCP tool carry `inputBox` (`status`, `confidence`, `cursor`, regions, `evidence`,
35
- `hint`). It's a heuristic: `unknown` means unknown.
36
- - **`rig provider status`** rows carry a sign-in fact (`usable`, `needs sign-in`, `unknown`; JSON `signIn`). A
37
- signed-in Claude login never reads better than `unknown`. A signed-out Codex login reports `not_signed_in`, not
38
- `rpc_error`.
39
- - **`rig provider status`** (with `provider.usage_windows` on) Codex rows keep their last reading across a daemon
40
- restart as history (`retained: "before_restart"`), labelled "kept from before the daemon restarted; not a current
41
- reading", with availability unknown until a fresh read. Rows add `accountHistory` (`linked`, or `unknown`; every
42
- Claude row is `unknown`), `lastObservedExhausted`, `retained` and, on an inactive account, `savedProfile: "not
43
- linked"`. A window whose reset has passed gains `expectation`: planning, not a reading. Run `rig provider status
44
- --refresh` before telling anyone an account has room.
45
- - **`rig send`** can refuse with `caller_cancelled` (HTTP 409, `sent: false`, `inputPhase: "not_reached"`) when its
46
- caller went away before input started.
47
- - **`rig seat restart --keep-conversation`** reports name a Codex startup screen: `Codex startup gate (<kind>): …`, and
48
- JSON gains `codexNoDaemonFlag`, `processMode` (always `unknown` for now) and `account.startupGateKind`.
49
- - **`rig restore-check`**'s hook check can read `ready_with_caveats` where it read green; the exit code is still 0.
50
- - **`GET /api/attention`** adds `queue-update:<qitemId>` items and a `"queue updates"` source.
51
- - **The node-detail API's `targetPath`** names the file a guidance block is really in, or `""`; `declaredTarget` and
52
- `effectiveTarget` are new.
53
- - **`rig grow --json`'s `rigId`** is the resolved id, and `rig grow` and `rig remove` can return `rig_ambiguous`.
54
- - **The one-line installer** ends with `INSTALLED, SETUP NOT COMPLETE (exit N)` when `rig setup` isn't ready.
55
-
56
- ## Seats and restore
57
-
58
- - **A fresh in-place Claude handover** checks a ready result from the old pane's history against the current screen,
59
- so the packet waits for the successor. It can still admit early when the screen, pane or process can't be read or
60
- proven: check that the successor read its packet.
61
- - **A Claude launched through a wrapper script** is proven by its executable path; a restored auto-mode seat resumes
62
- ready.
63
- - **After a failed restore, a ready `rig seat launch --fresh`** clears the old restore warning, and `rig seat
64
- clear-attention` no longer refuses for it.
65
- - **A complete idle Claude Code or Codex screen** reads `idle` through terminal repaints.
66
- - **Claude Code's MCP-server approval menu** reads `mcp_gate` and needs input; a restore doesn't call it ready, and an
67
- ordinary send is refused instead of pasted. A fresh running hook still sends into it.
68
- - **Codex's "Trust this folder?" panel** reads `trust_gate` during launch, resume and restore.
69
- - **A rig name with a dot** is refused at launch, at adding a member and at a first-start retry.
70
-
71
- ## Sends, wakes and the queue
72
-
73
- - **A send whose caller went away** types nothing, then or later, if no input had started.
74
- - **An old numbered menu in a Codex pane's scrollback** no longer blocks a send when a complete empty input box sits
75
- below the status row.
76
- - **An OMP seat** whose turn ended with a typed transient provider failure (408, 429, 500, 502, 503, 504 or 529) can
77
- take an ordinary `rig send` retry; nothing retries on its own.
78
- - **Parked rows for one seat that fall due in the same pass** arrive as one message naming each row.
79
- - **A stuck-item finding on a person's item that an agent closed** goes to that agent, not the person.
80
- - **`rig queue list --state "pending, in-progress"`** matches both states.
12
+ - **Restart the daemon** (`rig daemon stop`, then `rig daemon start`). Six migrations run on the first start (116, 118,
13
+ 119, 121, 122 and 123). Two settings are added, `terminal.history_limit` (default 10000) and
14
+ `terminal.inherit_tmux_environment` (default false), and `provider.subscription_moves` is removed.
15
+ - **The bundled openrig-core plugin goes from 0.1.15 to 0.1.17.** Startup replaces installed copies of managed plugins and
16
+ marked global skills. It first copies every file it replaces under `$OPENRIG_HOME/backups/managed-refresh/<id>/`,
17
+ whether or not anyone edited it, and logs `[plugin-vendor] preserved previous contents of <file> at <copy> before
18
+ managed refresh` for each one. A stock upgrade from 0.6.14 copies about 22 files (about 250 KB), and a later start with
19
+ no new version copies none. The copies matter only for files someone changed: the copy keeps the bytes, but the change
20
+ may no longer be active after the refresh. Keep the log line, because it names the original file and the copy's folder
21
+ doesn't. If a copy fails, that plugin or skill isn't refreshed, its files are kept, and the log says so. Copies aren't
22
+ cleaned up.
23
+ - **If you gave new agents accounts or API keys through tmux's global environment** (`tmux set-environment -g …`), new
24
+ agents no longer inherit it (below). Put the values in the seat's `env`, pass `rig up --env KEY=VALUE`, or keep the old
25
+ behaviour with `rig config set terminal.inherit_tmux_environment true`. Running agents aren't affected.
26
+ - **If you write queue rows to another machine by its self-id** (`member@rig@<self-id>`), run `rig host doctor <alias>`
27
+ once per host: bindings learned before 0.7.0 have no address.
81
28
 
82
29
  ## New things you can do
83
30
 
84
- - **Move a seat to a new working folder:** `rig seat set-cwd <seat> --cwd <absolute-path> --reason <text>` saves it
85
- for the next fresh launch or rebuild handover; the running agent doesn't move. Switch promptly with `rig seat launch
86
- <seat> --fresh --stop --reason "<why>"` or a rebuild handover, and not after a `rig down`/`rig up` or fork handover.
87
- - **Set a Pi seat's effort:** `rig seat set-effort <seat> --effort <level> --reason "<why>"` and `rig seat effort
88
- <seat>` now work for Pi.
89
- - **See which model a seat was using:** `rig ps --nodes`, `rig roster show`, `rig roster find`.
90
- - **Use a rig name in `rig grow` and `rig remove`.**
91
- - **Slack:** missed messages in mapped channels, recent threads and relayed channels are recovered; `rig slack status`
92
- shows a line per channel and a thread line.
31
+ - **Hold a person's routine asks while they're away:** `rig gateway human quiet set <id> --daily HH:MM-HH:MM` or
32
+ `--until <time>` (`--tz`), and `end`, `clear` or `show`. A held ask posts once, without a mention, when quiet ends.
33
+ Asks tagged `escalation` or `wake-escalation` are not held.
34
+ - **Apply a person's mode** ("asleep", "out of office"): `rig gateway human mode save <id> <name>` (with
35
+ `--availability`, `--expected-back`, `--decision-room "<their words>"`, `--exclude`, `--quiet`), then `apply <id>
36
+ <name> [--until …]`, `current`, `end` and `account`. Never tell the person "back to normal" while the account shows an
37
+ effect `kept`, `pending` or `failed`.
38
+ - **Decide an ask inside a person's decision room:** check `rig gateway human mode room <id>`, then `rig gateway human
39
+ mode decide <qitemId> --application <id> --reason "…" --reversible|--irreversible`. It's recorded as delegated, never
40
+ as their answer, and only the agent that asked can decide. Permission prompts are refused (`permission-prompt`).
41
+ - **Pass a rig's name instead of its id** to `archive`, `unarchive`, `release`, `shrink`, `expand`, `snapshot`,
42
+ `export` and `restore --rig`. A name two rigs share is refused and the matching ids are named: with `--json`,
43
+ `archive`, `unarchive`, `release`, `shrink`, `expand` and `restore status --rig` return `rig_ambiguous`.
44
+ - **Stop a managed compaction's follow-up after `/compact` was sent:** `rig compact --cancel` now also disarms the
45
+ restore and audit prompts that would follow. It sends no input and can't undo the `/compact`.
46
+ - **See your work candidates:** `rig queue whoami` adds `currentWorkChoice` when current work isn't settled.
47
+ - **See why a wake didn't land:** `rig queue show --json` adds `lastNudgeInputBox`.
48
+ - **See each seat's configured effort:** the TUI agent table's `CFG EFF` column, and `effort` and `effortSource` in
49
+ `rig ps --nodes --full --json`. It's the configured level, not what the model ran.
50
+
51
+ ## Behaviour that changed
52
+
53
+ - **New agents start from a clean environment, not tmux's global one.** A new seat or handover successor gets:
54
+ - the launch environment: `PATH`, `HOME`, `USER`, `LOGNAME`, `CODEX_HOME`, `OPENRIG_HOME`, `OPENRIG_URL`,
55
+ `OPENRIG_PORT`, `OPENRIG_HOST`, the seat's own identity values (such as `OPENRIG_SESSION_NAME`) and the allowed
56
+ provider sign-in variables. Not `OPENRIG_DB` or `TMUX_TMPDIR` (see Known gaps);
57
+ - the daemon's `LANG`, `LC_ALL`, `LC_CTYPE`, `TZ`, `TMPDIR`, `XDG_CONFIG_HOME`, `XDG_DATA_HOME`, `XDG_CACHE_HOME` and
58
+ `CLAUDE_CONFIG_DIR`;
59
+ - the values named in tmux's `update-environment`;
60
+ - its own `env`.
61
+
62
+ Shell startup still runs. `rig setup` warns when it sees a custom tmux configuration.
63
+ - **After a reboot, the daemon restores a kernel whose seats are all detached** (and still bound to their sessions), in
64
+ the background, as `rig up kernel --existing` would. `OPENRIG_NO_KERNEL=1` still skips it, and `rig start --json` reports `kernelRestore`.
65
+ - **A seat missing a required startup file no longer blocks its rig's restore:** `rig up <rig> --existing` holds that
66
+ seat and restores the others (`partially_restored`).
67
+ - **Seats added to a running rig** with `rig expand`, `rig grow` or add-member get its culture file and rig-level
68
+ startup, for rigs created on 0.7.0 or later. Older rigs get no backfill.
69
+ - **A busy daemon gets the real request.** The CLI refuses only when the daemon is stopped or stale, the connection is
70
+ refused or blocked, or the daemon answering belongs to another OpenRig home. A slow daemon is no longer read as down.
71
+ - **A new seat's first startup message** says it's OpenRig's identity context, not a task. A seat whose startup sends
72
+ nothing else is asked to run `rig whoami --json` and say it's ready for an assignment.
73
+ - **A new Claude seat's first startup text** waits briefly (about five seconds) for Claude's input box before it's
74
+ sent.
75
+ - **Codex seats that select openrig-core get the plugin installed into Codex.** While Codex hooks are on
76
+ (`runtime.codex.hooks_enabled`, default on), OpenRig installs it with Codex's own marketplace and plugin commands at
77
+ daemon start and at a fresh launch, unless the person's Codex configuration disables it.
78
+ - **A first install only** (no earlier install or plugin cache): OpenRig checks the installed hook files against its own
79
+ copy, then trusts the plugin's six shipped hooks by their exact definitions, so the seat starts without Codex's hook
80
+ review.
81
+ The file check happens only when trust is granted: a later edit to the cached hook scripts keeps that trust, as with any hook trusted in Codex.
82
+ - **An existing install keeps the person's choices.** A plugin or hook they disabled stays disabled. One they left
83
+ untrusted stays under Codex's review: Codex records nothing for "continue without trusting", so OpenRig doesn't read a
84
+ missing trust record as permission.
85
+ - **What it adds:** the four managed inline hooks stay the only activity reporters; the plugin adds refocus and its
86
+ skills.
87
+ - **Watchdog delivery is recorded as it happened:** `rig watchdog status` outcomes are `sent`, `refused`, `failed`,
88
+ `skipped` or `terminal` (0.6.14 had `sent`, `skipped` or `terminal`). Every reminder carries "Delivery may repeat after
89
+ an unconfirmed attempt." under its header line, and two refusals in a row at one seat's prompt raise that seat's prompt
90
+ alert. A park wake shows the continuation its park recorded (`Recorded continuation: …`), so record one when you park.
91
+ - **Slack:** a thread reply answers a parked question only if it was written after the question posted, and a message
92
+ Slack rejects as `invalid_blocks` isn't posted again.
93
+ - **Claude Code team agents are asked for permission less often.** Housekeeping commands such as `archive`, `attach`,
94
+ `bind`, `release`, `reconcile-session`, `config set` and `seat continue` no longer prompt. `seat restart` and `policy
95
+ permissions apply` now do.
96
+ - **`rig up --plan` waits as long as an apply** (120 seconds). An unanswered plan exits 1 and is safe to run again.
97
+ - **`rig setup` keeps 10,000 rows of tmux history**, down from 50,000 (`terminal.history_limit`, 2000 to 1000000).
93
98
 
94
- ## Off by default
99
+ ## Output that changed shape
95
100
 
96
- - **The refocus work packet** stays off for Claude Code and Codex. With `OPENRIG_REFOCUS_WORK_PACKET=1`, its fields
97
- are bounded (about 160 characters per summary, 20 held and 10 next rows, about 1,500 characters per section).
101
+ - **`rig gateway human list`** shows each person's availability (`available`, `focus`, `away` or `off`) where it showed
102
+ `away` or `available`, plus a `quiet:` line; JSON adds `availability` and `quiet`.
103
+ - **`rig attach`** prints `Sender:` (and `Tmux:` when the names differ), and `rig whoami` adds `identity.senderAddress`.
104
+ A clashing member name is refused with `address_conflict`.
105
+ - **Send results** carry `managedCompaction`, and the CLI prints a `Notice:` line.
106
+ - **`rig ps --rig <unknown>`** exits 1, and `--host H --rig X` filters by rig.
98
107
 
99
108
  ## What to stop doing
100
109
 
101
- - **Don't read `FAILED [4/4]` from the installer as a failed install:** the script now says `INSTALLED, SETUP NOT
102
- COMPLETE`, and the fix is `rig setup` again, not a reinstall.
103
- - **Don't rely on Slack recovery for older open threads:** only threads whose root or close is within seven days are
104
- caught up.
105
-
106
- ## Known gaps in 0.6.13
107
-
108
- - **On a Mac with more than one user account,** a second user's `rig` commands can reach the first user's daemon on
109
- its default port (7433). Running each user's daemon on its own port lets both work but doesn't keep them apart.
110
- - **Managed compaction, refocus after a compaction and snapshot restore** behave as in 0.6.12: confirm a compaction by
111
- its restore request or the drop in context, and check that a restored seat is really working.
112
- - **A fresh in-place Claude handover** can still report ready early when the screen, pane or process can't be read or
113
- proven.
114
- - **One Slack app across machines** hasn't run on two real machines, and Slack recovery doesn't catch up older open
115
- threads.
116
- - **`rig seat set-cwd`** checks the new folder once; switch promptly.
110
+ - **Don't use `rig provider moves`:** it's gone with its setting. Report a subscription move as a queue item to whoever
111
+ asked.
112
+ - **Don't steer a new seat's account or keys through tmux globals.** Use the seat's `env` or `rig up --env`.
113
+ - **Don't close a row `done` with `--closure-reason blocked_on`.** It's refused with `invalid_closure_reason`; use `rig
114
+ queue block <id> --on <child>`.
115
+ - **Don't treat "daemon did not respond" as down.** Check the effect before any retry or restart.
116
+ - **Don't look up a rig id first** for the commands above; pass the name.
117
+ - **Don't restart the daemon to stop a managed compaction's follow-up prompts.** Use `rig compact --cancel`.
118
+ - **Don't run `rig up kernel --existing` by hand after a reboot** before checking `rig status`.
119
+ - **Don't reuse a `deliveryId` to deduplicate a send,** and don't pass `--reason` or `--actor` to `rig slack verify`.
120
+
121
+ ## Known gaps in 0.7.0
122
+
123
+ - **A new seat doesn't get the daemon's `OPENRIG_DB` or `TMUX_TMPDIR`.** A tool in the seat that reads `OPENRIG_DB`
124
+ directly can fall back to the default database. If you rely on either, pass it in the seat's `env` or with `rig up
125
+ --env`.
126
+ - **A launch that warns "Scoped tmux environment unavailable; retaining the previous environment"** didn't give that seat
127
+ the clean environment, and the seat may lack OpenRig's variables. Check `env` in the seat before relying on them.
128
+ - **A Slack channel-mapping change needs a daemon restart** (`rig daemon stop`, then `rig daemon start`). Don't use `rig
129
+ slack disable` then `enable` for it: enabling marks any alerts waiting to post to Slack as already seen, so open
130
+ exchanges miss them.
131
+
132
+ - **A new Claude seat's startup text can stay in its input box unsent.** If a fresh Claude seat sits idle with text at
133
+ its prompt, press Enter in its pane, or ask the person to.
134
+ - **The TUI's terminal button refuses inside a Herdr pane reached over SSH.** Start the TUI with `env -u SSH_CONNECTION
135
+ -u SSH_CLIENT -u SSH_TTY rig tui`, or run `rig terminal open '<view>' --provider herdr`.
136
+ - **Claude seats on a macOS native install can read as needing attention after a restore.** Check the pane before
137
+ acting on it.
138
+ - **Ubuntu 22.04's stock tmux 3.2a can crash its whole server** when OpenRig checks a pane that has just closed. Avoid
139
+ tmux 3.2a for OpenRig (`tmux -V`).
140
+ - **Delegated decisions:** the ask is created before the decision, so without quiet hours it can post to the person
141
+ first. Pair a decision room with quiet hours, or decide before asking.
142
+ - **`restore-check` still treats a missing startup file as rig-wide.** Trust `rig up --existing`'s per-seat result.
@@ -5,6 +5,8 @@ metadata:
5
5
  cli_surfaces_referenced:
6
6
  - gateway human list
7
7
  - gateway human show
8
+ - gateway human mode room
9
+ - gateway human mode decide
8
10
  - queue create
9
11
  - queue transitions
10
12
  - queue block
@@ -69,6 +71,28 @@ rig queue create --destination <entityId>@external \
69
71
  --evidence-ref <durable-evidence> --verify --json
70
72
  ```
71
73
 
74
+ Before asking a **decision**, check whether the person has a mode on with a
75
+ decision room: what they said the team may decide for them meanwhile.
76
+
77
+ ```bash
78
+ rig gateway human mode room <entityId>
79
+ ```
80
+
81
+ If it names a room and your decision is plainly inside their words (and none of
82
+ their exclusions), decide instead of waiting. Create the ask as above, then
83
+ record your choice on it straight away:
84
+
85
+ ```bash
86
+ rig gateway human mode decide <qitem-id> --application <applicationId> \
87
+ --choose <question>=<option> --reason "<why>" --reversible # or --irreversible
88
+ ```
89
+
90
+ It's recorded as decided on their behalf, never as their answer, the ask
91
+ closes, and it's in their account when they're back. Say honestly whether it
92
+ can be undone. A permission prompt or an approval is never decided this way.
93
+ With no room, a room that doesn't plainly cover it, or any doubt, ask and wait;
94
+ a recommended option is not a decision.
95
+
72
96
  An optional `--human-detail-file <path>` supplies one coherent supplemental
73
97
  reply in the same thread. Announce its purpose in the brief; the product also
74
98
  marks that a detail reply follows. The primary must already contain the complete
@@ -91,7 +91,7 @@ These ship in the OpenRig repo and reach a seat when its profile selects them. T
91
91
  Pod handbooks (load when you're in that pod):
92
92
  - **orchestration-team** — you're orchestrating a rig: dispatching, monitoring, keeping the loop moving.
93
93
  - **development-team** — you're on the dev pod: building and shipping product changes.
94
- - **review-team** — you're reviewing: fresh scrutiny, anti-slop, empirical verification.
94
+ - **review-team** — you're reviewing: fresh scrutiny, anti-slop, grounded findings.
95
95
  - **oversight-team** — you're in an oversight pod: monitor boundaries and route findings without taking over the work.
96
96
 
97
97
  Product-management craft (load when shaping/reviewing work):
@@ -106,7 +106,7 @@ Product-management craft (load when shaping/reviewing work):
106
106
  ### Vendored craft — load when you're coding (ships with upstream provenance)
107
107
  General engineering skills OpenRig ships as vendored copies. Open when the task matches; they carry "modified by OpenRig" provenance.
108
108
 
109
- - **verification-before-completion** — about to claim done / passing / fixed: run the check and read the output first.
109
+ - **verification-before-completion** — about to claim done / passing / fixed: have evidence that applies to the candidate you name first.
110
110
  - **systematic-debugging** — debugging: find the root cause before the fix.
111
111
  - **agent-browser** — driving a browser (screenshot / screencast) from an agent.
112
112
  - **frontend-design** — designing frontend / UI.
@@ -225,11 +225,17 @@ host in front of you.
225
225
  process are gone. If the command returns while either remains, stop: inspect
226
226
  identity and use the host's authorized recovery procedure. Do not blindly
227
227
  signal a PID.
228
- 7. Start the target with `rig daemon start` or the host's known wrapper. Verify
229
- daemon status, process path, listener, version, and database integrity.
230
- 8. Run the plugin refresh helper in plan mode. Apply safe writes only after the
231
- three roots and classifications make sense; resolve preserved paths one at a
232
- time when required.
228
+ 7. Before starting the target, account for its startup refresh of managed plugins
229
+ and marked global skills. This runtime preserves differing replaced files under
230
+ `$OPENRIG_HOME/backups/managed-refresh/` and reports each recovery path; if the
231
+ target lacks that preservation, copy those trees first. Start it with
232
+ `rig daemon start` or the host's known wrapper. Verify daemon status, process
233
+ path, listener, version, and database integrity. Recovery copies retain bytes;
234
+ they do not promise custom behaviour remains active after refresh.
235
+ 8. Run the plugin refresh helper in plan mode. Its plan governs only the helper's
236
+ later writes, not startup writes that already happened. Apply safe writes only
237
+ after the three roots and classifications make sense; resolve preserved paths
238
+ one at a time when required.
233
239
  9. Verify protected seats with `rig ps --nodes -A --json`, representative
234
240
  `rig capture`, and `rig restore-check` where applicable. `-A` is required:
235
241
  without it the node read is your CURRENT rig only, and a daemon upgrade
@@ -26,6 +26,8 @@ Clarify consequential uncertainty, inspect the existing seam, then complete one
26
26
  coherent outcome. Reproduce a defect before repairing it; use tests that distinguish
27
27
  the failure and verify through the public surface. Keep chunks as large as the
28
28
  outcome and file territory permit. TDD is a feedback loop, not a two-seat protocol.
29
+ When the work consolidates or refactors existing behavior, read
30
+ [references/refactoring.md](references/refactoring.md).
29
31
 
30
32
  The builder reports the exact candidate, changed behavior, commands and observed
31
33
  results, with remaining uncertainty. No universal pre-edit proposal, QA approval
@@ -0,0 +1,11 @@
1
+ # Refactoring and consolidation
2
+
3
+ Read this when a change consolidates duplicated logic or refactors existing behavior.
4
+
5
+ - Trace the callers before you consolidate.
6
+ - Tell shared policy apart from capture, parsing and harness adapters. Code that looks the same can serve different harnesses with different semantics.
7
+ - Name the observable behavior you preserve, and name any change you're making on purpose, separately.
8
+ - Reuse suitable checks, or add the smallest comparison that would detect a consequential difference.
9
+ - Keep compatibility where callers or persisted state need it. Remove an obsolete path once that's established.
10
+
11
+ Adapted from the blast-radius tracing method in Cursor's pstack plugin (https://github.com/cursor/plugins/tree/190d28736eff128ec94f502a22c7fe0c4b56cd37/pstack).