@openrig/cli 0.5.17 → 0.6.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 (399) hide show
  1. package/daemon/context-packs/onboarding-width/manifest.yaml +1 -1
  2. package/daemon/context-packs/skills/agent-operated-software/manifest.yaml +1 -1
  3. package/daemon/context-packs/skills/agent-operated-workflows/manifest.yaml +1 -1
  4. package/daemon/context-packs/skills/applying-a-permission-policy/manifest.yaml +1 -1
  5. package/daemon/context-packs/skills/claude-compaction-restore/manifest.yaml +1 -1
  6. package/daemon/context-packs/skills/core/agent-starters/manifest.yaml +1 -1
  7. package/daemon/context-packs/skills/core/agent-startup-and-context-ingestion/manifest.yaml +1 -1
  8. package/daemon/context-packs/skills/core/cross-host-rig-commands/manifest.yaml +1 -1
  9. package/daemon/context-packs/skills/core/human-in-the-loop/manifest.yaml +1 -1
  10. package/daemon/context-packs/skills/core/messaging-the-human/manifest.yaml +1 -1
  11. package/daemon/context-packs/skills/core/openrig-architect/manifest.yaml +1 -1
  12. package/daemon/context-packs/skills/core/openrig-cmux/manifest.yaml +1 -1
  13. package/daemon/context-packs/skills/core/openrig-herdr/manifest.yaml +1 -1
  14. package/daemon/context-packs/skills/core/openrig-skills/manifest.yaml +1 -1
  15. package/daemon/context-packs/skills/core/openrig-software-factory/manifest.yaml +1 -1
  16. package/daemon/context-packs/skills/core/openrig-upgrade/manifest.yaml +1 -1
  17. package/daemon/context-packs/skills/core/rig-bundles-and-shareable-artifacts/manifest.yaml +1 -1
  18. package/daemon/context-packs/skills/core/rig-lifecycle/manifest.yaml +1 -1
  19. package/daemon/context-packs/skills/core/session-source-fork/manifest.yaml +1 -1
  20. package/daemon/context-packs/skills/core/specification-system/manifest.yaml +1 -1
  21. package/daemon/context-packs/skills/core/topology-mutation-and-seat-management/manifest.yaml +1 -1
  22. package/daemon/context-packs/skills/core/watchdog/manifest.yaml +1 -1
  23. package/daemon/context-packs/skills/delegating-work/manifest.yaml +1 -1
  24. package/daemon/context-packs/skills/forming-an-openrig-mental-model/manifest.yaml +1 -1
  25. package/daemon/context-packs/skills/loading-addressable-markdown/manifest.yaml +1 -1
  26. package/daemon/context-packs/skills/mission-slice-sop/manifest.yaml +1 -1
  27. package/daemon/context-packs/skills/openrig-operating-model/manifest.yaml +1 -1
  28. package/daemon/context-packs/skills/openrig-user/manifest.yaml +1 -1
  29. package/daemon/context-packs/skills/orienting-to-an-inherited-seat/manifest.yaml +1 -1
  30. package/daemon/context-packs/skills/pm/backlog-capture/manifest.yaml +1 -1
  31. package/daemon/context-packs/skills/pm/context-builder/manifest.yaml +1 -1
  32. package/daemon/context-packs/skills/pm/exec-summary/manifest.yaml +1 -1
  33. package/daemon/context-packs/skills/pm/office-hours/manifest.yaml +1 -1
  34. package/daemon/context-packs/skills/pm/plan-review/manifest.yaml +1 -1
  35. package/daemon/context-packs/skills/pm/requirements-writer/manifest.yaml +1 -1
  36. package/daemon/context-packs/skills/pm/ui-mockup/manifest.yaml +1 -1
  37. package/daemon/context-packs/skills/pods/development-team/manifest.yaml +1 -1
  38. package/daemon/context-packs/skills/pods/orchestration-team/manifest.yaml +1 -1
  39. package/daemon/context-packs/skills/pods/oversight-team/manifest.yaml +1 -1
  40. package/daemon/context-packs/skills/pods/review-team/manifest.yaml +1 -1
  41. package/daemon/context-packs/skills/process/agent-browser/manifest.yaml +1 -1
  42. package/daemon/context-packs/skills/process/context-engineering/manifest.yaml +1 -1
  43. package/daemon/context-packs/skills/process/dogfood/manifest.yaml +1 -1
  44. package/daemon/context-packs/skills/process/frontend-design/manifest.yaml +1 -1
  45. package/daemon/context-packs/skills/process/systematic-debugging/manifest.yaml +1 -1
  46. package/daemon/context-packs/skills/process/test-driven-development/manifest.yaml +1 -1
  47. package/daemon/context-packs/skills/process/verification-before-completion/manifest.yaml +1 -1
  48. package/daemon/context-packs/skills/queue-handoff/manifest.yaml +1 -1
  49. package/daemon/context-packs/skills/refocusing/manifest.yaml +1 -1
  50. package/daemon/context-packs/skills/retiring-and-inheriting-a-seat/manifest.yaml +1 -1
  51. package/daemon/context-packs/skills/seat-continuity-and-handover/manifest.yaml +1 -1
  52. package/daemon/context-packs/skills/session-compaction-and-restore/manifest.yaml +1 -1
  53. package/daemon/context-packs/skills/software-for-agents/manifest.yaml +1 -1
  54. package/daemon/context-packs/world-example/manifest.yaml +1 -1
  55. package/daemon/context-packs/world-public/manifest.yaml +1 -1
  56. package/daemon/dist/adapters/claude-code-adapter.d.ts +3 -0
  57. package/daemon/dist/adapters/claude-code-adapter.d.ts.map +1 -1
  58. package/daemon/dist/adapters/claude-code-adapter.js +36 -14
  59. package/daemon/dist/adapters/claude-code-adapter.js.map +1 -1
  60. package/daemon/dist/adapters/claude-resume.d.ts +3 -1
  61. package/daemon/dist/adapters/claude-resume.d.ts.map +1 -1
  62. package/daemon/dist/adapters/claude-resume.js +20 -6
  63. package/daemon/dist/adapters/claude-resume.js.map +1 -1
  64. package/daemon/dist/adapters/codex-resume.d.ts +4 -1
  65. package/daemon/dist/adapters/codex-resume.d.ts.map +1 -1
  66. package/daemon/dist/adapters/codex-resume.js +8 -2
  67. package/daemon/dist/adapters/codex-resume.js.map +1 -1
  68. package/daemon/dist/adapters/codex-runtime-adapter.d.ts +3 -0
  69. package/daemon/dist/adapters/codex-runtime-adapter.d.ts.map +1 -1
  70. package/daemon/dist/adapters/codex-runtime-adapter.js +16 -3
  71. package/daemon/dist/adapters/codex-runtime-adapter.js.map +1 -1
  72. package/daemon/dist/adapters/pi-runner.d.ts +1 -0
  73. package/daemon/dist/adapters/pi-runner.d.ts.map +1 -1
  74. package/daemon/dist/adapters/pi-runner.js +7 -1
  75. package/daemon/dist/adapters/pi-runner.js.map +1 -1
  76. package/daemon/dist/adapters/tmux.d.ts +21 -1
  77. package/daemon/dist/adapters/tmux.d.ts.map +1 -1
  78. package/daemon/dist/adapters/tmux.js +141 -3
  79. package/daemon/dist/adapters/tmux.js.map +1 -1
  80. package/daemon/dist/adapters/yolo-mode.d.ts +3 -2
  81. package/daemon/dist/adapters/yolo-mode.d.ts.map +1 -1
  82. package/daemon/dist/adapters/yolo-mode.js +10 -2
  83. package/daemon/dist/adapters/yolo-mode.js.map +1 -1
  84. package/daemon/dist/build-info.js +3 -3
  85. package/daemon/dist/db/all-migrations.d.ts +1 -1
  86. package/daemon/dist/db/all-migrations.d.ts.map +1 -1
  87. package/daemon/dist/db/all-migrations.js +10 -2
  88. package/daemon/dist/db/all-migrations.js.map +1 -1
  89. package/daemon/dist/db/migrations/086_classification_fields_and_attempts.d.ts +26 -0
  90. package/daemon/dist/db/migrations/086_classification_fields_and_attempts.d.ts.map +1 -0
  91. package/daemon/dist/db/migrations/086_classification_fields_and_attempts.js +66 -0
  92. package/daemon/dist/db/migrations/086_classification_fields_and_attempts.js.map +1 -0
  93. package/daemon/dist/db/migrations/087_seat_delivery_guard.d.ts +3 -0
  94. package/daemon/dist/db/migrations/087_seat_delivery_guard.d.ts.map +1 -0
  95. package/daemon/dist/db/migrations/087_seat_delivery_guard.js +31 -0
  96. package/daemon/dist/db/migrations/087_seat_delivery_guard.js.map +1 -0
  97. package/daemon/dist/db/migrations/088_node_permission_selections.d.ts +3 -0
  98. package/daemon/dist/db/migrations/088_node_permission_selections.d.ts.map +1 -0
  99. package/daemon/dist/db/migrations/088_node_permission_selections.js +16 -0
  100. package/daemon/dist/db/migrations/088_node_permission_selections.js.map +1 -0
  101. package/daemon/dist/db/migrations/089_classification_identity_provenance.d.ts +3 -0
  102. package/daemon/dist/db/migrations/089_classification_identity_provenance.d.ts.map +1 -0
  103. package/daemon/dist/db/migrations/089_classification_identity_provenance.js +6 -0
  104. package/daemon/dist/db/migrations/089_classification_identity_provenance.js.map +1 -0
  105. package/daemon/dist/domain/applied-launch-observation-store.d.ts +1 -1
  106. package/daemon/dist/domain/applied-launch-observation-store.d.ts.map +1 -1
  107. package/daemon/dist/domain/applied-launch-observation-store.js +6 -4
  108. package/daemon/dist/domain/applied-launch-observation-store.js.map +1 -1
  109. package/daemon/dist/domain/capture-observer.d.ts +130 -0
  110. package/daemon/dist/domain/capture-observer.d.ts.map +1 -0
  111. package/daemon/dist/domain/capture-observer.js +113 -0
  112. package/daemon/dist/domain/capture-observer.js.map +1 -0
  113. package/daemon/dist/domain/claim-service.d.ts.map +1 -1
  114. package/daemon/dist/domain/claim-service.js +24 -3
  115. package/daemon/dist/domain/claim-service.js.map +1 -1
  116. package/daemon/dist/domain/classification-attempts.d.ts +143 -0
  117. package/daemon/dist/domain/classification-attempts.d.ts.map +1 -0
  118. package/daemon/dist/domain/classification-attempts.js +316 -0
  119. package/daemon/dist/domain/classification-attempts.js.map +1 -0
  120. package/daemon/dist/domain/classification-sources.d.ts +44 -0
  121. package/daemon/dist/domain/classification-sources.d.ts.map +1 -0
  122. package/daemon/dist/domain/classification-sources.js +102 -0
  123. package/daemon/dist/domain/classification-sources.js.map +1 -0
  124. package/daemon/dist/domain/classifier-lease-manager.d.ts +15 -4
  125. package/daemon/dist/domain/classifier-lease-manager.d.ts.map +1 -1
  126. package/daemon/dist/domain/classifier-lease-manager.js +63 -21
  127. package/daemon/dist/domain/classifier-lease-manager.js.map +1 -1
  128. package/daemon/dist/domain/claude-compaction-enforcer.d.ts +3 -1
  129. package/daemon/dist/domain/claude-compaction-enforcer.d.ts.map +1 -1
  130. package/daemon/dist/domain/claude-compaction-enforcer.js +36 -7
  131. package/daemon/dist/domain/claude-compaction-enforcer.js.map +1 -1
  132. package/daemon/dist/domain/claude-managed-launch.d.ts +28 -0
  133. package/daemon/dist/domain/claude-managed-launch.d.ts.map +1 -0
  134. package/daemon/dist/domain/claude-managed-launch.js +111 -0
  135. package/daemon/dist/domain/claude-managed-launch.js.map +1 -0
  136. package/daemon/dist/domain/codex-daemon-support.d.ts +16 -0
  137. package/daemon/dist/domain/codex-daemon-support.d.ts.map +1 -0
  138. package/daemon/dist/domain/codex-daemon-support.js +52 -0
  139. package/daemon/dist/domain/codex-daemon-support.js.map +1 -0
  140. package/daemon/dist/domain/gateway/connections-projection.d.ts.map +1 -1
  141. package/daemon/dist/domain/gateway/connections-projection.js +6 -3
  142. package/daemon/dist/domain/gateway/connections-projection.js.map +1 -1
  143. package/daemon/dist/domain/gateway/slack/capabilities.d.ts +19 -0
  144. package/daemon/dist/domain/gateway/slack/capabilities.d.ts.map +1 -0
  145. package/daemon/dist/domain/gateway/slack/capabilities.js +24 -0
  146. package/daemon/dist/domain/gateway/slack/capabilities.js.map +1 -0
  147. package/daemon/dist/domain/gateway/slack/config.d.ts.map +1 -1
  148. package/daemon/dist/domain/gateway/slack/config.js +2 -1
  149. package/daemon/dist/domain/gateway/slack/config.js.map +1 -1
  150. package/daemon/dist/domain/gateway/slack/inbound.d.ts.map +1 -1
  151. package/daemon/dist/domain/gateway/slack/inbound.js +2 -1
  152. package/daemon/dist/domain/gateway/slack/inbound.js.map +1 -1
  153. package/daemon/dist/domain/gateway/slack/manifest.d.ts +54 -0
  154. package/daemon/dist/domain/gateway/slack/manifest.d.ts.map +1 -0
  155. package/daemon/dist/domain/gateway/slack/manifest.js +55 -0
  156. package/daemon/dist/domain/gateway/slack/manifest.js.map +1 -0
  157. package/daemon/dist/domain/model-divergence/model-divergence-monitor.d.ts +3 -2
  158. package/daemon/dist/domain/model-divergence/model-divergence-monitor.d.ts.map +1 -1
  159. package/daemon/dist/domain/model-divergence/model-divergence-monitor.js +9 -5
  160. package/daemon/dist/domain/model-divergence/model-divergence-monitor.js.map +1 -1
  161. package/daemon/dist/domain/native-permission-selection.d.ts +13 -0
  162. package/daemon/dist/domain/native-permission-selection.d.ts.map +1 -0
  163. package/daemon/dist/domain/native-permission-selection.js +30 -0
  164. package/daemon/dist/domain/native-permission-selection.js.map +1 -0
  165. package/daemon/dist/domain/native-permission-store.d.ts +17 -0
  166. package/daemon/dist/domain/native-permission-store.d.ts.map +1 -0
  167. package/daemon/dist/domain/native-permission-store.js +36 -0
  168. package/daemon/dist/domain/native-permission-store.js.map +1 -0
  169. package/daemon/dist/domain/native-resume-probe.d.ts +3 -1
  170. package/daemon/dist/domain/native-resume-probe.d.ts.map +1 -1
  171. package/daemon/dist/domain/native-resume-probe.js +5 -2
  172. package/daemon/dist/domain/native-resume-probe.js.map +1 -1
  173. package/daemon/dist/domain/node-inventory.d.ts +3 -0
  174. package/daemon/dist/domain/node-inventory.d.ts.map +1 -1
  175. package/daemon/dist/domain/node-inventory.js +2 -0
  176. package/daemon/dist/domain/node-inventory.js.map +1 -1
  177. package/daemon/dist/domain/node-launcher.d.ts.map +1 -1
  178. package/daemon/dist/domain/node-launcher.js +6 -0
  179. package/daemon/dist/domain/node-launcher.js.map +1 -1
  180. package/daemon/dist/domain/outbox-handler.d.ts +25 -2
  181. package/daemon/dist/domain/outbox-handler.d.ts.map +1 -1
  182. package/daemon/dist/domain/outbox-handler.js +70 -1
  183. package/daemon/dist/domain/outbox-handler.js.map +1 -1
  184. package/daemon/dist/domain/permission-drift-observer.d.ts +1 -0
  185. package/daemon/dist/domain/permission-drift-observer.d.ts.map +1 -1
  186. package/daemon/dist/domain/permission-drift-observer.js +1 -1
  187. package/daemon/dist/domain/permission-drift-observer.js.map +1 -1
  188. package/daemon/dist/domain/permission-drift.d.ts +10 -0
  189. package/daemon/dist/domain/permission-drift.d.ts.map +1 -1
  190. package/daemon/dist/domain/permission-drift.js +29 -18
  191. package/daemon/dist/domain/permission-drift.js.map +1 -1
  192. package/daemon/dist/domain/project-classifier.d.ts +43 -0
  193. package/daemon/dist/domain/project-classifier.d.ts.map +1 -1
  194. package/daemon/dist/domain/project-classifier.js +141 -25
  195. package/daemon/dist/domain/project-classifier.js.map +1 -1
  196. package/daemon/dist/domain/proof/judgments.d.ts +16 -0
  197. package/daemon/dist/domain/proof/judgments.d.ts.map +1 -1
  198. package/daemon/dist/domain/proof/judgments.js +17 -1
  199. package/daemon/dist/domain/proof/judgments.js.map +1 -1
  200. package/daemon/dist/domain/queue-repository.d.ts +8 -0
  201. package/daemon/dist/domain/queue-repository.d.ts.map +1 -1
  202. package/daemon/dist/domain/queue-repository.js +41 -14
  203. package/daemon/dist/domain/queue-repository.js.map +1 -1
  204. package/daemon/dist/domain/restore-orchestrator.d.ts.map +1 -1
  205. package/daemon/dist/domain/restore-orchestrator.js +28 -1
  206. package/daemon/dist/domain/restore-orchestrator.js.map +1 -1
  207. package/daemon/dist/domain/resume-metadata-refresher.d.ts.map +1 -1
  208. package/daemon/dist/domain/resume-metadata-refresher.js +3 -1
  209. package/daemon/dist/domain/resume-metadata-refresher.js.map +1 -1
  210. package/daemon/dist/domain/rig-lifecycle-service.d.ts.map +1 -1
  211. package/daemon/dist/domain/rig-lifecycle-service.js +7 -0
  212. package/daemon/dist/domain/rig-lifecycle-service.js.map +1 -1
  213. package/daemon/dist/domain/rig-teardown.d.ts.map +1 -1
  214. package/daemon/dist/domain/rig-teardown.js +4 -0
  215. package/daemon/dist/domain/rig-teardown.js.map +1 -1
  216. package/daemon/dist/domain/rigspec-instantiator.d.ts.map +1 -1
  217. package/daemon/dist/domain/rigspec-instantiator.js +36 -22
  218. package/daemon/dist/domain/rigspec-instantiator.js.map +1 -1
  219. package/daemon/dist/domain/runtime-adapter.d.ts +6 -0
  220. package/daemon/dist/domain/runtime-adapter.d.ts.map +1 -1
  221. package/daemon/dist/domain/runtime-adapter.js.map +1 -1
  222. package/daemon/dist/domain/seat-delivery-guard.d.ts +64 -0
  223. package/daemon/dist/domain/seat-delivery-guard.d.ts.map +1 -0
  224. package/daemon/dist/domain/seat-delivery-guard.js +224 -0
  225. package/daemon/dist/domain/seat-delivery-guard.js.map +1 -0
  226. package/daemon/dist/domain/seat-handover-service.d.ts.map +1 -1
  227. package/daemon/dist/domain/seat-handover-service.js +19 -1
  228. package/daemon/dist/domain/seat-handover-service.js.map +1 -1
  229. package/daemon/dist/domain/seat-lifecycle-service.d.ts +16 -2
  230. package/daemon/dist/domain/seat-lifecycle-service.d.ts.map +1 -1
  231. package/daemon/dist/domain/seat-lifecycle-service.js +70 -0
  232. package/daemon/dist/domain/seat-lifecycle-service.js.map +1 -1
  233. package/daemon/dist/domain/seat-status-service.d.ts +10 -0
  234. package/daemon/dist/domain/seat-status-service.d.ts.map +1 -1
  235. package/daemon/dist/domain/seat-status-service.js +13 -0
  236. package/daemon/dist/domain/seat-status-service.js.map +1 -1
  237. package/daemon/dist/domain/session-transport.d.ts +19 -1
  238. package/daemon/dist/domain/session-transport.d.ts.map +1 -1
  239. package/daemon/dist/domain/session-transport.js +221 -23
  240. package/daemon/dist/domain/session-transport.js.map +1 -1
  241. package/daemon/dist/domain/shadow-capture.d.ts +97 -0
  242. package/daemon/dist/domain/shadow-capture.d.ts.map +1 -0
  243. package/daemon/dist/domain/shadow-capture.js +147 -0
  244. package/daemon/dist/domain/shadow-capture.js.map +1 -0
  245. package/daemon/dist/domain/startup-orchestrator.d.ts.map +1 -1
  246. package/daemon/dist/domain/startup-orchestrator.js +11 -0
  247. package/daemon/dist/domain/startup-orchestrator.js.map +1 -1
  248. package/daemon/dist/domain/stream-classification-worker.d.ts +106 -0
  249. package/daemon/dist/domain/stream-classification-worker.d.ts.map +1 -0
  250. package/daemon/dist/domain/stream-classification-worker.js +265 -0
  251. package/daemon/dist/domain/stream-classification-worker.js.map +1 -0
  252. package/daemon/dist/domain/successor-session-launcher.d.ts +1 -0
  253. package/daemon/dist/domain/successor-session-launcher.d.ts.map +1 -1
  254. package/daemon/dist/domain/successor-session-launcher.js +4 -2
  255. package/daemon/dist/domain/successor-session-launcher.js.map +1 -1
  256. package/daemon/dist/domain/terminal/herdr-adapter.d.ts +7 -0
  257. package/daemon/dist/domain/terminal/herdr-adapter.d.ts.map +1 -1
  258. package/daemon/dist/domain/terminal/herdr-adapter.js +119 -12
  259. package/daemon/dist/domain/terminal/herdr-adapter.js.map +1 -1
  260. package/daemon/dist/domain/terminal/terminal-provider.d.ts +5 -0
  261. package/daemon/dist/domain/terminal/terminal-provider.d.ts.map +1 -1
  262. package/daemon/dist/domain/terminal/terminal-service.js +6 -6
  263. package/daemon/dist/domain/terminal/terminal-service.js.map +1 -1
  264. package/daemon/dist/domain/terminal/view-composer.d.ts +6 -4
  265. package/daemon/dist/domain/terminal/view-composer.d.ts.map +1 -1
  266. package/daemon/dist/domain/terminal/view-composer.js +5 -5
  267. package/daemon/dist/domain/terminal/view-composer.js.map +1 -1
  268. package/daemon/dist/domain/types.d.ts +10 -0
  269. package/daemon/dist/domain/types.d.ts.map +1 -1
  270. package/daemon/dist/domain/types.js.map +1 -1
  271. package/daemon/dist/domain/watchdog-policy-engine.d.ts +3 -1
  272. package/daemon/dist/domain/watchdog-policy-engine.d.ts.map +1 -1
  273. package/daemon/dist/domain/watchdog-policy-engine.js +5 -3
  274. package/daemon/dist/domain/watchdog-policy-engine.js.map +1 -1
  275. package/daemon/dist/gateway-slack-surface.d.ts +2 -0
  276. package/daemon/dist/gateway-slack-surface.d.ts.map +1 -1
  277. package/daemon/dist/gateway-slack-surface.js +2 -0
  278. package/daemon/dist/gateway-slack-surface.js.map +1 -1
  279. package/daemon/dist/routes/activity.d.ts.map +1 -1
  280. package/daemon/dist/routes/activity.js +28 -2
  281. package/daemon/dist/routes/activity.js.map +1 -1
  282. package/daemon/dist/routes/down.d.ts.map +1 -1
  283. package/daemon/dist/routes/down.js +3 -0
  284. package/daemon/dist/routes/down.js.map +1 -1
  285. package/daemon/dist/routes/gateway.d.ts.map +1 -1
  286. package/daemon/dist/routes/gateway.js +3 -0
  287. package/daemon/dist/routes/gateway.js.map +1 -1
  288. package/daemon/dist/routes/projects.d.ts.map +1 -1
  289. package/daemon/dist/routes/projects.js +205 -18
  290. package/daemon/dist/routes/projects.js.map +1 -1
  291. package/daemon/dist/routes/rigs.d.ts.map +1 -1
  292. package/daemon/dist/routes/rigs.js +13 -5
  293. package/daemon/dist/routes/rigs.js.map +1 -1
  294. package/daemon/dist/routes/seat.d.ts.map +1 -1
  295. package/daemon/dist/routes/seat.js +78 -1
  296. package/daemon/dist/routes/seat.js.map +1 -1
  297. package/daemon/dist/routes/sessions.d.ts.map +1 -1
  298. package/daemon/dist/routes/sessions.js +4 -1
  299. package/daemon/dist/routes/sessions.js.map +1 -1
  300. package/daemon/dist/routes/transport.d.ts.map +1 -1
  301. package/daemon/dist/routes/transport.js +9 -1
  302. package/daemon/dist/routes/transport.js.map +1 -1
  303. package/daemon/dist/server.d.ts +5 -0
  304. package/daemon/dist/server.d.ts.map +1 -1
  305. package/daemon/dist/server.js +3 -0
  306. package/daemon/dist/server.js.map +1 -1
  307. package/daemon/dist/startup.d.ts.map +1 -1
  308. package/daemon/dist/startup.js +32 -8
  309. package/daemon/dist/startup.js.map +1 -1
  310. package/daemon/dist/stream-classifier-surface.d.ts +6 -0
  311. package/daemon/dist/stream-classifier-surface.d.ts.map +1 -0
  312. package/daemon/dist/stream-classifier-surface.js +6 -0
  313. package/daemon/dist/stream-classifier-surface.js.map +1 -0
  314. package/daemon/dist/terminal/TerminalSessionBroker.d.ts +1 -0
  315. package/daemon/dist/terminal/TerminalSessionBroker.d.ts.map +1 -1
  316. package/daemon/dist/terminal/TerminalSessionBroker.js +10 -6
  317. package/daemon/dist/terminal/TerminalSessionBroker.js.map +1 -1
  318. package/daemon/docs/reference/getting-started.md +63 -5
  319. package/daemon/docs/reference/rig-spec.md +6 -1
  320. package/daemon/docs/reference/slack-app-setup.md +90 -0
  321. package/daemon/docs/reference/stream-classifier-worker.md +244 -0
  322. package/daemon/policies/builtin/yolo.policy.md +5 -5
  323. package/daemon/specs/rigs/launch/kernel/rig.yaml +4 -0
  324. package/dist/build-info.js +3 -3
  325. package/dist/commands/doctor.d.ts.map +1 -1
  326. package/dist/commands/doctor.js +9 -6
  327. package/dist/commands/doctor.js.map +1 -1
  328. package/dist/commands/policy.d.ts.map +1 -1
  329. package/dist/commands/policy.js +8 -1
  330. package/dist/commands/policy.js.map +1 -1
  331. package/dist/commands/preflight.d.ts.map +1 -1
  332. package/dist/commands/preflight.js +2 -0
  333. package/dist/commands/preflight.js.map +1 -1
  334. package/dist/commands/project-jev.d.ts +115 -0
  335. package/dist/commands/project-jev.d.ts.map +1 -0
  336. package/dist/commands/project-jev.js +239 -0
  337. package/dist/commands/project-jev.js.map +1 -0
  338. package/dist/commands/project-worker.d.ts +96 -0
  339. package/dist/commands/project-worker.d.ts.map +1 -0
  340. package/dist/commands/project-worker.js +125 -0
  341. package/dist/commands/project-worker.js.map +1 -0
  342. package/dist/commands/project.d.ts +5 -1
  343. package/dist/commands/project.d.ts.map +1 -1
  344. package/dist/commands/project.js +161 -0
  345. package/dist/commands/project.js.map +1 -1
  346. package/dist/commands/seat.d.ts.map +1 -1
  347. package/dist/commands/seat.js +79 -0
  348. package/dist/commands/seat.js.map +1 -1
  349. package/dist/commands/send.d.ts.map +1 -1
  350. package/dist/commands/send.js +18 -5
  351. package/dist/commands/send.js.map +1 -1
  352. package/dist/commands/slack.d.ts +4 -1
  353. package/dist/commands/slack.d.ts.map +1 -1
  354. package/dist/commands/slack.js +41 -2
  355. package/dist/commands/slack.js.map +1 -1
  356. package/dist/commands/terminal.d.ts.map +1 -1
  357. package/dist/commands/terminal.js +2 -0
  358. package/dist/commands/terminal.js.map +1 -1
  359. package/dist/commands/walk.d.ts.map +1 -1
  360. package/dist/commands/walk.js +6 -0
  361. package/dist/commands/walk.js.map +1 -1
  362. package/dist/node-support.d.ts +12 -0
  363. package/dist/node-support.d.ts.map +1 -0
  364. package/dist/node-support.js +37 -0
  365. package/dist/node-support.js.map +1 -0
  366. package/dist/system-preflight.d.ts +2 -0
  367. package/dist/system-preflight.d.ts.map +1 -1
  368. package/dist/system-preflight.js +9 -10
  369. package/dist/system-preflight.js.map +1 -1
  370. package/package.json +3 -3
  371. package/scripts/check-abi.mjs +119 -65
  372. package/tui/dist/commands/registry.d.ts.map +1 -1
  373. package/tui/dist/commands/registry.js +3 -0
  374. package/tui/dist/commands/registry.js.map +1 -1
  375. package/tui/dist/connections/connections-model.d.ts +11 -1
  376. package/tui/dist/connections/connections-model.d.ts.map +1 -1
  377. package/tui/dist/connections/connections-model.js +28 -1
  378. package/tui/dist/connections/connections-model.js.map +1 -1
  379. package/tui/dist/daemon-client.d.ts +2 -0
  380. package/tui/dist/daemon-client.d.ts.map +1 -1
  381. package/tui/dist/daemon-client.js +1 -0
  382. package/tui/dist/daemon-client.js.map +1 -1
  383. package/tui/dist/hydrate.d.ts.map +1 -1
  384. package/tui/dist/hydrate.js +5 -0
  385. package/tui/dist/hydrate.js.map +1 -1
  386. package/tui/dist/main.js +16 -2
  387. package/tui/dist/main.js.map +1 -1
  388. package/tui/dist/print-for-copy.d.ts +36 -0
  389. package/tui/dist/print-for-copy.d.ts.map +1 -0
  390. package/tui/dist/print-for-copy.js +92 -0
  391. package/tui/dist/print-for-copy.js.map +1 -0
  392. package/tui/dist/render.d.ts.map +1 -1
  393. package/tui/dist/render.js +4 -1
  394. package/tui/dist/render.js.map +1 -1
  395. package/tui/dist/state.d.ts.map +1 -1
  396. package/tui/dist/state.js +2 -0
  397. package/tui/dist/state.js.map +1 -1
  398. package/tui/dist/types.d.ts +8 -0
  399. package/tui/dist/types.d.ts.map +1 -1
@@ -5,6 +5,12 @@ Start with a repository and one bounded change you can exercise. The shipped
5
5
  an independent checker. It uses your installed Codex executable and login;
6
6
  terminal-provider support does not change the harness or account being used.
7
7
 
8
+ You need Node.js 22 or 24 and tmux, on macOS or Linux. On a Mac with Apple
9
+ silicon, use Node.js 22 (see the [compatibility
10
+ history](../releases/v0.5.15.md#known-compatibility-limitation)). Native
11
+ Windows is not supported yet, and WSL2 has not been tested. Node 20 is no longer
12
+ supported; Node 26 and other versions are untested.
13
+
8
14
  **Choose permissions before starting the team.** The unchanged starter launches
9
15
  Codex with `-s workspace-write`; it leaves approval policy to your native Codex
10
16
  configuration. Network access is normally off in that sandbox, including access
@@ -314,11 +320,12 @@ rig up ./openrig-specs/rigs/launch/first-project/rig.yaml --cwd . --plan
314
320
  rig up ./openrig-specs/rigs/launch/first-project/rig.yaml --cwd .
315
321
  ```
316
322
 
317
- OpenRig's separate `permission_policy: builtin:yolo` setting passes only
318
- `-s danger-full-access` to Codex, **without an approval flag**, and replaces the
319
- named-profile argument. It does not mean `approval_policy = "never"`. A standalone
320
- `codex --yolo` command is not an OpenRig launch setting. Use the profile recipe
321
- above when you want to choose both controls explicitly.
323
+ OpenRig's `permission_policy: builtin:yolo` setting selects
324
+ `-s danger-full-access -a never` on fresh, resume and fork launches, replacing
325
+ the named-profile argument. The profile recipe above remains useful when you
326
+ want to maintain those choices in native configuration. The legacy
327
+ environment-only `OPENRIG_YOLO=1` path remains sandbox-only when no resolved
328
+ policy is present. A standalone `codex --yolo` command is not an OpenRig setting.
322
329
 
323
330
  To return to a restricted next launch, change the selected profile to:
324
331
 
@@ -330,6 +337,57 @@ approval_policy = "on-request"
330
337
  network_access = false
331
338
  ```
332
339
 
340
+ ### Per-seat permission mode
341
+
342
+ Permission mode is the native execution choice; work posture is project guidance.
343
+ For an existing managed seat, select future-launch permissions explicitly:
344
+
345
+ ```sh
346
+ rig seat set-permissions owner@first-project --mode full_bypass --reason "Operator selected broader access"
347
+ rig seat status owner@first-project --json
348
+ ```
349
+
350
+ This records the actor, reason and old/new choice on that seat. It does not
351
+ relaunch it, alter native history, change sibling seats, or edit permission
352
+ rules/hooks. A later lifecycle action remains a separate decision. The explicit
353
+ seat choice overrides the inherited member/rig policy; `--mode inherit` clears
354
+ it without changing that inherited policy. `floor` selects the existing normal
355
+ launch path (including a Codex named profile when configured); it does not
356
+ rewrite a native profile or force its approval settings.
357
+
358
+ Codex and Claude accept `floor` and `full_bypass`. Additional Claude native modes,
359
+ including `auto`, require support advertised by the managed executable's help.
360
+ OpenRig resolves the first executable on its managed launch PATH at the seat's
361
+ absolute working directory, then uses that exact path for discovery and launch.
362
+ It does not use interactive shell aliases or a shell's modified PATH. Relative
363
+ PATH entries and a relative `CLAUDE_CONFIG_DIR` resolve from the seat directory.
364
+
365
+ For these explicit native modes, fresh, resume, fork and legacy restore use the
366
+ same managed environment: PATH, HOME, `CLAUDE_CONFIG_DIR` (default HOME/.claude)
367
+ and the configured classic-renderer setting. Other shell customizations are
368
+ excluded. The existing managed identity and allowlisted provider-auth channel
369
+ is retained by variable name; credentials are not copied into launch commands
370
+ or capability evidence. Help runs without that credential channel. Existing
371
+ login files remain under the managed home. Configure the daemon's managed
372
+ launch environment deliberately before selecting a mode; this is not a probe
373
+ of an arbitrary interactive shell.
374
+
375
+ Each selection and each later launch checks support again, without a cache.
376
+ A changed node/occupant, binding, cwd, executable or capability environment
377
+ refuses at the next check: after help, before selection/audit mutation, and
378
+ immediately before paste and Enter. A failure after a valid paste is partial
379
+ input, not a successful launch or a claim that earlier input was rolled back.
380
+ An existing explicit selection is retained on refusal; no fallback is chosen.
381
+ Ordinary and inherited launch paths are unchanged. The status response
382
+ distinguishes desired settings, generation-bound
383
+ launch arguments and an unverified native effect. Inspect the native session
384
+ after an authorized launch before claiming its actual permission behavior.
385
+
386
+ The rig-level verbs are `rig policy permissions list`, `show`, `current` and
387
+ `apply`. Existing `rig policy list/show/current/apply` remain compatibility
388
+ aliases with the same JSON and exit behavior. Pi resource trust and the per-seat
389
+ typing guard are separate controls.
390
+
333
391
  ### Claude Code: a different launch flag
334
392
 
335
393
  The shipped `first-project` uses Codex. For a user-owned **Claude Code** rig,
@@ -203,9 +203,14 @@ into your project and edit it to taste.
203
203
  This records a selection, not a live permission change. Flag-surface policies
204
204
  select launch flags; config-surface policies still need native configuration
205
205
  application and inspection. In particular, `builtin:yolo` selects Codex's
206
- `danger-full-access` sandbox without forcing its approval policy, and replaces
206
+ `danger-full-access` sandbox and `never` approval policy, and replaces
207
207
  any `codex_config_profile` argument. See [practical permission choices](getting-started.md#opt-in-permissive-operation).
208
208
 
209
+ An explicit `rig seat set-permissions` choice overrides member/rig policy for
210
+ future managed launches of that stable seat; it does not rewrite this spec or
211
+ its inherited policy provenance. `inherit` removes that override. See
212
+ [per-seat permission mode](getting-started.md#per-seat-permission-mode).
213
+
209
214
  ### Choosing the Claude instruction file
210
215
 
211
216
  OpenRig writes its instructions for Claude Code members into managed blocks in
@@ -0,0 +1,90 @@
1
+ # Create your own Slack app for OpenRig (experimental)
2
+
3
+ > **Experimental in 0.6.0.** The manifest (`rig slack manifest`) and this setup guide are new
4
+ > and have not been confirmed against a real app creation. The Slack connector itself and its
5
+ > `setup`, `verify`, `enable`, `disable` and `status` commands are not experimental. If a step
6
+ > here does not match what Slack shows you, please
7
+ > [open an issue](https://github.com/mvschwarz/openrig/issues/new/choose) or send a pull request
8
+ > ([CONTRIBUTING.md](../../CONTRIBUTING.md)).
9
+
10
+ OpenRig's Slack connector talks to a Slack app that you create in your own workspace. OpenRig
11
+ ships the app's manifest; it does not host an app, run an install endpoint, or publish anything
12
+ to the Slack Marketplace. The app is a Socket Mode app, so it lives in the one workspace you
13
+ create it in.
14
+
15
+ `rig slack manifest` prints the manifest. It works offline, before any daemon or token exists:
16
+
17
+ ```bash
18
+ rig slack manifest # the manifest as YAML
19
+ rig slack manifest --url # Slack's create-app link with the manifest prefilled
20
+ rig slack manifest --json # the manifest, its scopes and events, and why each scope is requested
21
+ ```
22
+
23
+ The TUI shows the same link on the Connections page while Slack is not configured. Neither the
24
+ CLI nor the TUI opens a browser, accepts tokens, or creates an app.
25
+
26
+ ## Steps
27
+
28
+ These are the expected steps, based on Slack's app-manifest documentation. They have not yet
29
+ been confirmed against a real creation run. Slack's form may ask for something the prefill did
30
+ not fill in; if so, follow the form.
31
+
32
+ 1. Open the link from `rig slack manifest --url` in a browser.
33
+ 2. Sign in to Slack if asked, pick the workspace, review the prefilled manifest, and click
34
+ **Create**.
35
+ 3. Under **Socket Mode**, confirm it is enabled. Enable it if it is not.
36
+ 4. Under **Basic Information → App-Level Tokens**, generate a token with the
37
+ `connections:write` scope and copy it (it starts with `xapp-`).
38
+ 5. Install the app to the workspace and approve the requested scopes.
39
+ 6. Under **OAuth & Permissions**, copy the **Bot User OAuth Token** (it starts with `xoxb-`).
40
+ 7. Put both tokens in a private env file readable only by you (`chmod 600`):
41
+
42
+ ```bash
43
+ SLACK_BOT_TOKEN=xoxb-...
44
+ SLACK_APP_TOKEN=xapp-...
45
+ ```
46
+
47
+ 8. Run `rig slack setup --channel <channel-id> --secrets-env-file <path>`, then
48
+ `rig slack verify`, then `rig slack enable`.
49
+ 9. Invite the bot to the channel you configured (`/invite @OpenRig` in that channel).
50
+
51
+ ## What the app asks for
52
+
53
+ Run `rig slack manifest --json` for the exact list and the reason for each scope. There are two
54
+ groups:
55
+
56
+ - **Baseline scopes**: posting messages, reading message history in public channels the app is
57
+ a member of, and reading channel details.
58
+ `rig slack verify` checks these.
59
+ - **Feature scopes**: `files:read` (download attachments people send), `files:write` (upload
60
+ attachments to Slack), and `app_mentions:read` (receive @-mentions of the app). `rig slack verify`
61
+ does **not** check these, so a READY from verify does not prove attachments or mentions will
62
+ work.
63
+
64
+ If a feature scope was not granted, the effect differs by feature:
65
+
66
+ - **Attachments** (`files:read`, `files:write`): the file download or upload call fails. A
67
+ message with an attachment that could not be downloaded is still delivered, with the failed
68
+ file named in it. A post whose attachment could not be uploaded still delivers its text, and
69
+ the failure appears only in the daemon log (`rig daemon logs`).
70
+ - **Mentions** (`app_mentions:read`): Slack does not deliver `app_mention` events to the app, and
71
+ nothing in OpenRig reports that they are missing.
72
+
73
+ So after installing, compare the granted scopes Slack shows for the app with all six scopes that
74
+ `rig slack manifest --json` lists.
75
+
76
+ The app subscribes to messages in public channels it is a member of (`message.channels`) and to
77
+ mentions of the app (`app_mention`). It does not request direct-message or private-channel access.
78
+
79
+ ## What the connector does with the tokens
80
+
81
+ The tokens stay in the env file you created. The connector reads them from that file and uses them
82
+ to authenticate to Slack: it opens an outbound Socket Mode connection with the app-level token and
83
+ calls Slack's Web API with the bot token. This connector has no OpenRig-hosted component and
84
+ makes outbound connections only. That statement is about this Slack connector, not about every
85
+ part of OpenRig.
86
+
87
+ ## Next
88
+
89
+ - `rig slack status` shows what is still missing, without contacting Slack.
90
+ - `rig slack verify` checks the granted baseline scopes and channel membership with Slack.
@@ -0,0 +1,244 @@
1
+ # Occupant-owned stream classification and shadow capture (experimental)
2
+
3
+ > **Experimental in 0.6.0, optional and off by default.** The Jev classification path and shadow
4
+ > capture may be incomplete or not work, and no accuracy or production-reliability claim is
5
+ > made. OpenRig's delivery, watchdog and routing decisions do not use their output. If they do
6
+ > not behave as described here, please
7
+ > [open an issue](https://github.com/mvschwarz/openrig/issues/new/choose) or send a pull request
8
+ > ([CONTRIBUTING.md](../../CONTRIBUTING.md)).
9
+
10
+ This source provides a bounded receiver for one real classifier occupant. It does
11
+ not start an agent, register a watchdog job, or enable capture by default.
12
+ Taxonomy, questions and decisions belong to the occupant; the daemon supplies
13
+ source facts and enforces its existing lease, execution and idempotency fences.
14
+ An explicit optional Jev mode supplies advisory decisions through the same worker.
15
+ Experimental labels have no demonstrated accuracy or calibrated confidence and
16
+ do not replace delivery, watchdog, or routing decisions.
17
+
18
+ ## Optional foreground Jev experiment
19
+
20
+ With no configuration, the experiment is off. Choose an explicit local JSON path
21
+ in an existing private directory; the file contains only enabled state and bounds:
22
+
23
+ ```sh
24
+ rig project experimental status --config ./experiment.json --json
25
+ rig project experimental enable --config ./experiment.json --max-requests 3 --timeout-ms 10000 --json
26
+ rig project experimental disable --config ./experiment.json --json
27
+ ```
28
+
29
+ Enable does not start processing, capture, a daemon or an agent. Status and disable
30
+ make no provider request. The invoking process needs `OPENROUTER_API_KEY` in its
31
+ environment for an enabled run; this entry never searches credential files or
32
+ copies credentials into configuration. Missing credentials fail before attempts
33
+ or provider work. Normal key provisioning remains with the operator.
34
+
35
+ The selected route is `https://openrouter.ai/api/alpha/decisions`, pinned to
36
+ `typesafe/jev-1.13`, without provider fallback or HTTP redirects. A request declares
37
+ maximum provider prices of $0.05 per million prompt tokens, zero completion and
38
+ request price. These are admission ceilings, not a price quote, spend estimate or
39
+ credential-access claim. Each foreground run allows 1–20 requests (default 3),
40
+ each with a 1–30 second deadline (default 10), 24 KiB request and 256 KiB response
41
+ limits. Failed requests consume their count. Nothing retries in the background.
42
+
43
+ To process stream items from the actual selected occupant:
44
+
45
+ ```sh
46
+ rig project wake --project PROJECT --taxonomy ./taxonomy.yaml \
47
+ --classifier-version experimental-jev-1.13 --evidence-epoch OWNER_EPOCH \
48
+ --limit 3 --experiment ./experiment.json --json
49
+ ```
50
+
51
+ Use the taxonomy format described below. Each criterion must have a nonempty
52
+ string description; `__unknown__` is reserved. Questions stay outside the daemon.
53
+ The request sends the selected item's body, supplied taxonomy questions/criteria,
54
+ canonical scope IDs and current roster destinations to OpenRouter. Select inputs
55
+ appropriate for that external processing. It does not transmit the credential
56
+ in evidence or store it in the classification. The output binds current source,
57
+ taxonomy, candidate version, lease, occupant generation and attempt execution.
58
+ No action or confidence label is inferred. Duplicate judgment remains manual.
59
+
60
+ The smaller of `--limit` and the configured request maximum bounds the wake.
61
+ Unknown answers remain null; a wholly unknown answer abstains. Invalid model,
62
+ provider, answer keys, choices, probabilities or response bytes reject the whole
63
+ answer. Probability sums retain the strict 0.001 tolerance; there is no rounding
64
+ repair or partial salvage. Unavailable/invalid provider work stops that run with
65
+ no classification write. Inspect the returned attempt state: terminal abstentions
66
+ are not reopened, and failed/unknown daemon writes must be reconciled through the
67
+ existing ledger. Never change the evidence epoch merely to retry an experiment.
68
+
69
+ Disable is checked before each call and before applying its result. A separate
70
+ disable command cannot cancel an already forwarded remote request; its late
71
+ result is discarded, with the existing deadline bounding the wait. Ctrl-C or
72
+ SIGTERM requests immediate cancellation of the foreground run. An uncooperative
73
+ request remains reported pending and cannot cause a late write or a second call
74
+ in that run. Remote cancellation or refund is not proven by local cancellation.
75
+ The command registers no wake, returns no automatic continuation, and requires
76
+ an explicit later invocation to do more work.
77
+
78
+ For selected observations from an existing shadow archive:
79
+
80
+ ```sh
81
+ rig project experimental capture --config ./experiment.json \
82
+ --input ./selected-shadow.jsonl --output ./new-advisory-results.jsonl --json
83
+ ```
84
+
85
+ This reads at most 8 MiB and considers only the first configured maximum number
86
+ of records. It never captures a terminal. The input remains unchanged; output is
87
+ exclusively created at mode 0600. Keep prior output and choose another filename
88
+ only for a deliberately selected new run. It sends captured post-screen text to
89
+ the same provider, and retains the original attempt/node/occupant/pane binding and
90
+ capture hash beside the answer. Missing capture or binding is unavailable and
91
+ makes no provider call. State answers are experimental hints; delivery remains
92
+ `INDETERMINATE` because screen text cannot prove submitted/consumed/effect and the
93
+ archive does not retain the original sent text. No result feeds back into live
94
+ transport or inventory. Failed runs preserve already written output; inspect
95
+ `unavailable`, `remaining`, call count and stop reason rather than treating a file
96
+ as proof of success.
97
+
98
+ ## One bounded wake
99
+
100
+ From the selected occupant, read candidates using the configured project ID:
101
+
102
+ ```sh
103
+ rig project candidates --project PROJECT --taxonomy /private/taxonomy.yaml \
104
+ --classifier-version VERSION --evidence-epoch OWNER_EPOCH --limit 20 --json
105
+ ```
106
+
107
+ The result includes eligible stream IDs, authored scope IDs with exact source
108
+ paths/hashes, the current running roster of the occupant's rig, observation time,
109
+ and a candidate version. Taxonomy YAML supplies `version` and
110
+ `fields.{kind,urgency,maturity,area}` with a `question` and `values` mapping. These
111
+ questions are returned to the occupant; draft values are not verified truth.
112
+ Confidence has no selectable values until calibration selects that contract.
113
+ Destination choices are the current roster sessions plus explicit `pool`.
114
+ Null/omitted destination remains unknown; it is not converted into `pool`.
115
+ The candidate hash binds the selectable values as well as source and taxonomy
116
+ hashes. Packets prepared before this pool correction require fresh preparation;
117
+ it does not reopen historical attempts or change the evidence epoch.
118
+
119
+ Read each eligible item with `rig stream show ITEM --json`. Duplicate candidates
120
+ are the latest 100 nonarchived items with exact body-hash evidence references;
121
+ their preview is capped at 2,000 characters and marked when truncated. Read the
122
+ complete candidate before selecting a duplicate. A retrieval miss means unknown.
123
+ Directory names, issue IDs and bare membership never supply scope IDs. Source
124
+ errors are explicit, and partial source snapshots cause abstention.
125
+
126
+ Write an occupant-owned decision file (at most 100 unique item IDs, at most 1 MiB):
127
+
128
+ ```json
129
+ {
130
+ "candidateSetVersion": "sha256:<version returned by candidates>",
131
+ "decisions": [{
132
+ "streamItemId": "<eligible ID>",
133
+ "bodyHash": "sha256:<SHA256 of the exact UTF-8 item body>",
134
+ "decision": { "kind": "classify", "labels": {
135
+ "classificationType": "<selected taxonomy value>",
136
+ "scopeRef": "<selected canonical mission or slice ID>",
137
+ "needsHuman": null
138
+ }}
139
+ }]
140
+ }
141
+ ```
142
+
143
+ An explicit abstention is `{"kind":"abstain","reason":"why unknown"}`. Other
144
+ label keys are `classificationUrgency`, `classificationMaturity`,
145
+ `classificationDestination`, `area`, and `classificationConfidence`. Omitted or
146
+ null labels stay unknown. A duplicate needs both `duplicateOfStreamItemId` and
147
+ the matching `duplicateEvidenceRef` from the candidates, plus occupant judgment
148
+ that it really is a duplicate. An existing item alone is not that judgment.
149
+
150
+ ```sh
151
+ rig project wake --project PROJECT --taxonomy /private/taxonomy.yaml \
152
+ --classifier-version VERSION --evidence-epoch OWNER_EPOCH --limit 20 \
153
+ --decisions /private/decisions.json --json
154
+ ```
155
+
156
+ This command actually invokes one `StreamClassificationWorker.wake()` through
157
+ the existing HTTP services. It derives sender identity through `DaemonClient`,
158
+ requires a current running occupant, and carries the captured generation through
159
+ each lease/attempt/classification request. It never invents a daemon holder.
160
+ Existing direct HTTP callers keep their documented sender-provenance behavior.
161
+
162
+ The command refreshes source candidates before acquiring a lease. Missing or
163
+ stale decision packets return unavailable without starting attempts; refresh
164
+ preparation if the roster, scopes, taxonomy or recent stream changed. During a
165
+ wake, an item with no exact body-bound decision, missing sources, or a selected
166
+ candidate that is unavailable abstains. This is deliberately strict; continuous
167
+ source churn can require repeated preparation and is not a throughput claim.
168
+
169
+ Each wake processes at most `--limit` items (1–100; default 20), starting with the
170
+ oldest eligible work rather than relying on a lossy notification cursor. Durable
171
+ terminal attempts stay excluded. A new candidate version does **not** authorize
172
+ another pass: only an owner-selected evidence epoch changes that attempt identity.
173
+ Retain the candidates output beside the decisions and result so its version is
174
+ reproducible. The CLI does not keep a second local ledger.
175
+
176
+ The result carries per-item outcomes, `moreEligible`, `nextWakeAt`, and a watchdog
177
+ `wakeRequest` descriptor with the real session/generation and a receiving
178
+ instruction. `registered:false` is literal. A periodic-reminder message asks the
179
+ occupant to prepare and run this entry; delivery of that message is not execution.
180
+ Registration/placement remains an explicit later action. Honor `nextWakeAt`:
181
+ lease maintenance uses TTL/3 opportunities; lease loss or an unavailable service
182
+ backs off 60 seconds. The daemon's retry/exhaustion ledger remains authoritative.
183
+ The ordinary client bounds each request at five seconds; a timed-out write has
184
+ an unknown outcome until the ledger is read, and is never reported as written.
185
+
186
+ There is no provider in the manual-decision path. The reusable asynchronous worker has one
187
+ pending classifier slot; timeout requests cancellation but cannot force it. An
188
+ uncooperative classifier blocks further calls in that instance and late results
189
+ cannot write. That in-memory pending slot is not cross-process cancellation.
190
+
191
+ ## Separate bounded shadow drain
192
+
193
+ The production transport and inventory probes accept the same optional observer.
194
+ They record only captures already taken, with the node, occupant, pane and capture
195
+ target bound before awaits. The ordinary cheap inventory path still takes no
196
+ capture. Retained-no-write is a separate event, never delivery evidence.
197
+
198
+ Activation requires explicitly supplied `OPENRIG_SHADOW_CAPTURE` JSON at a later
199
+ authorized daemon start. Absence or invalid configuration leaves capture disabled.
200
+ This document supplies no live destination or activation instruction. Required
201
+ fields and engineering ceilings are:
202
+
203
+ | Field | Meaning | Maximum |
204
+ |---|---|---|
205
+ | `destination` | New absolute JSONL file in a canonical, current-user-owned 0700 directory | Explicit path |
206
+ | `maxRecords` | Total reserved sink records | 100,000 |
207
+ | `maxBytes` | Total reserved sink bytes, including newlines | 1 GiB |
208
+ | `capacity` | Queued observation count | 1,000 |
209
+ | `maxQueuedBytes` | Serialized bytes waiting in the queue | 8 MiB |
210
+ | `maxObservationBytes` | Serialized bytes per observation | 1 MiB |
211
+
212
+ All numeric fields are required positive safe integers. These are engineering
213
+ capacity limits, not approved corpus sizes or classification thresholds. One
214
+ in-flight drain can hold up to 64 additional observations, bounded by the queue's
215
+ byte allowance; queue plus drain can therefore retain up to twice that allowance.
216
+ The standalone observer defaults are 256 entries, 4 MiB queued and 256 KiB per
217
+ observation; explicit production configuration supplies each value.
218
+
219
+ `rig project shadow-status` only inspects configuration/counters.
220
+ `rig project shadow-drain` asks the existing HTTP service to drain up to 64 rows;
221
+ it requires an actor and never enables capture. No background drain timer is added.
222
+ `rig project shadow-stop` disables new enqueueing immediately, finishes any active
223
+ drain and the finite retained queue, then closes the sink. Repeated stop is
224
+ idempotent; it cannot enable capture or delete the existing archive. Existing
225
+ quota and sink-failure losses remain counted. A slow disk can leave stop pending;
226
+ inspect status after a client timeout instead of assuming the flush completed.
227
+ Enabling capture again requires a separately authorized daemon start with a new
228
+ destination; enabling the local provider experiment does not enable capture.
229
+ The file is exclusively created with mode 0600. An existing file is refused,
230
+ never overwritten, appended, rotated or deleted. A restart requires a new selected
231
+ destination. Private-file creation currently requires POSIX ownership support.
232
+
233
+ The hot path only performs bounded synchronous enqueue work; it never awaits disk
234
+ or drain completion. Slow sinks leave one drain pending; concurrent drains do not
235
+ start another writer. Overflow drops new observations. Capacity exhaustion stops
236
+ the sink. Errors stop writes, count losses and preserve any partial file; failed
237
+ batches are not replayed. `reservedRecords/Bytes` include attempted writes, while
238
+ `completedRecords/Bytes` count successful appends. `drained` means removed from
239
+ the observer, not necessarily persisted. Queue count drops, byte-bound drops,
240
+ record errors, missing/unavailable captures and sink failures remain separate.
241
+
242
+ Live collection, private destination/retention selection, corpus labels, hosted
243
+ calibration, native placement, package/install proof and independent visible /
244
+ submitted / consumed / effect evidence remain outside this source entry.
@@ -4,16 +4,16 @@ name: yolo
4
4
  surface: flag
5
5
  launch_posture: full_bypass
6
6
  policy_schema_version: 1
7
- description: Permissive launch opt-in. Claude skips permission prompts; Codex selects danger-full-access but retains native approval policy. Pi enables resource trust.
7
+ description: Permissive launch opt-in. Claude skips permission prompts; Codex selects danger-full-access and never approval policy. Pi enables resource trust.
8
8
  ---
9
9
 
10
10
  # YOLO (built-in policy — flag surface)
11
11
 
12
12
  This built-in selects Claude `--dangerously-skip-permissions`, Codex
13
- `-s danger-full-access`, or Pi `--approve` (resource trust). Codex receives no
14
- approval flag and no named-profile argument on this path: its native approval
15
- settings still apply. This is not a universal promise that nothing prompts or
16
- is denied. Use only for work and an environment you deliberately trust.
13
+ `-s danger-full-access -a never`, or Pi `--approve` (resource trust). Codex receives
14
+ no named-profile argument on this path. These are launch arguments; native
15
+ managed restrictions still matter. Use only for work and an environment you
16
+ deliberately trust.
17
17
 
18
18
  **APPLICATION is deterministic, NOT skill-translated.** YOLO is a `surface: flag`
19
19
  policy: it resolves to a stable launch flag and is applied directly by the runtime
@@ -1,6 +1,10 @@
1
1
  version: "0.2"
2
2
  name: kernel
3
3
  summary: >
4
+ Library preview of the default dual-runtime template, not the running kernel.
5
+ Automatic first boot selects the Claude-only, Codex-only or dual-runtime variant
6
+ from available authenticated runtimes. Check the current seats with
7
+ `rig ps --nodes --rig kernel`; the managed rig's spec shows its selected topology.
4
8
  Class-of-one always-on rig: advisor pilots user intent, operator runs
5
9
  OpenRig itself, queue worker classifies stream-to-queue substrate.
6
10
  Auto-boots on first rig daemon start (V0.3.1 slice 05). On
@@ -1,9 +1,9 @@
1
1
  // GENERATED by scripts/build-package.sh — the packaged build-identity stamp.
2
2
  export const BUILD_INFO = {
3
- semver: "0.5.17",
4
- commit: "f137f11bef9188f7b8e78764ba3643af7153efaf",
3
+ semver: "0.6.0",
4
+ commit: "57380a250e797c182a336e97afe2e0edb841ba9c",
5
5
  dirty: false,
6
- builtAt: "2026-09-27T06:28:37Z",
6
+ builtAt: "2026-09-28T21:18:35Z",
7
7
  };
8
8
  export function stampFields(info = BUILD_INFO) {
9
9
  if (!info.commit) return {};
@@ -1 +1 @@
1
- {"version":3,"file":"doctor.d.ts","sourceRoot":"","sources":["../../src/commands/doctor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAMpC,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAYjD,UAAU,WAAW;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;IAC7C,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,UAAU;IACzB,MAAM,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC;IAC/B,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,GAAG,IAAI,CAAC;IAC1C,IAAI,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,MAAM,CAAC;IAC9B,SAAS,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IAC5D,WAAW,EAAE,IAAI,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;IAC1C,QAAQ,CAAC,EAAE,MAAM,CAAC,QAAQ,CAAC;IAC3B,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAChC,aAAa,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACvC,KAAK,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC;QAAE,EAAE,EAAE,OAAO,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,CAAA;KAAE,CAAC,CAAC;IACjF;;;;;;;OAOG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,kGAAkG;IAClG,mBAAmB,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,CAAC;CACrE;AAgBD,wBAAgB,eAAe,CAAC,IAAI,EAAE,UAAU,GAAG;IAAE,MAAM,EAAE,WAAW,EAAE,CAAC;IAAC,SAAS,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC;IAAC,WAAW,EAAE,OAAO,CAAC,WAAW,CAAC,EAAE,CAAA;CAAE,CA0MjJ;AAsHD,wBAAgB,aAAa,CAAC,YAAY,CAAC,EAAE,UAAU,GAAG,OAAO,CA8DhE"}
1
+ {"version":3,"file":"doctor.d.ts","sourceRoot":"","sources":["../../src/commands/doctor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAMpC,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAajD,UAAU,WAAW;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;IAC7C,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,UAAU;IACzB,MAAM,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC;IAC/B,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,GAAG,IAAI,CAAC;IAC1C,IAAI,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,MAAM,CAAC;IAC9B,SAAS,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IAC5D,WAAW,EAAE,IAAI,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;IAC1C,QAAQ,CAAC,EAAE,MAAM,CAAC,QAAQ,CAAC;IAC3B,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAChC,aAAa,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACvC,KAAK,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC;QAAE,EAAE,EAAE,OAAO,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,CAAA;KAAE,CAAC,CAAC;IACjF;;;;;;;OAOG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,kGAAkG;IAClG,mBAAmB,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,CAAC;CACrE;AAeD,wBAAgB,eAAe,CAAC,IAAI,EAAE,UAAU,GAAG;IAAE,MAAM,EAAE,WAAW,EAAE,CAAC;IAAC,SAAS,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC;IAAC,WAAW,EAAE,OAAO,CAAC,WAAW,CAAC,EAAE,CAAA;CAAE,CA4MjJ;AAsHD,wBAAgB,aAAa,CAAC,YAAY,CAAC,EAAE,UAAU,GAAG,OAAO,CA8DhE"}
@@ -10,7 +10,7 @@ import { CMUX_SETTINGS_DISCLOSURE_PATH, isCmuxSocketControlCompatible, readCmuxS
10
10
  import { buildTmuxControlFailure, probeTmuxControl } from "../tmux-health.js";
11
11
  import { parse as parseYaml } from "yaml";
12
12
  import { compareSpecToLive, topologyFromRigSpec, topologyFromLiveLogicalIds } from "../../daemon/dist/spec-conformance-surface.js";
13
- const MIN_NODE_MAJOR = 20;
13
+ import { classifyNodeVersion } from "../node-support.js";
14
14
  const DEFAULT_PORT = 7433;
15
15
  function defaultCheckPort(port, host) {
16
16
  return new Promise((resolve) => {
@@ -55,17 +55,20 @@ export function runDoctorChecks(deps) {
55
55
  });
56
56
  }
57
57
  // 3. Node version
58
- const major = parseInt(process.version.replace(/^v/, ""), 10);
59
- if (major >= MIN_NODE_MAJOR) {
58
+ const nodeSupport = classifyNodeVersion(process.version);
59
+ if (nodeSupport.kind === "supported") {
60
60
  checks.push({ name: "node_version", status: "pass", message: `Node ${process.version}` });
61
61
  }
62
+ else if (nodeSupport.kind === "untested") {
63
+ checks.push({ name: "node_version", status: "warn", message: nodeSupport.message });
64
+ }
62
65
  else {
63
66
  checks.push({
64
67
  name: "node_version",
65
68
  status: "fail",
66
- message: `Node ${process.version} is below minimum (v${MIN_NODE_MAJOR}).`,
67
- reason: "OpenRig requires Node 20+ for built-in fetch, ESM, and stable API support.",
68
- fix: "Install Node 20+ via nvm, fnm, or your package manager.",
69
+ message: nodeSupport.message,
70
+ reason: nodeSupport.reason,
71
+ fix: nodeSupport.fix,
69
72
  });
70
73
  }
71
74
  // 4. tmux
@@ -1 +1 @@
1
- {"version":3,"file":"doctor.js","sourceRoot":"","sources":["../../src/commands/doctor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"doctor.js","sourceRoot":"","sources":["../../src/commands/doctor.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"policy.d.ts","sourceRoot":"","sources":["../../src/commands/policy.ts"],"names":[],"mappings":"AAwBA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAUpC,OAAO,EACL,oBAAoB,EAIrB,MAAM,wCAAwC,CAAC;AA8EhD,wBAAgB,aAAa,IAAI,OAAO,CAuMvC;AAGD,OAAO,EAAE,oBAAoB,EAAE,CAAC"}
1
+ {"version":3,"file":"policy.d.ts","sourceRoot":"","sources":["../../src/commands/policy.ts"],"names":[],"mappings":"AAwBA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAUpC,OAAO,EACL,oBAAoB,EAIrB,MAAM,wCAAwC,CAAC;AA8EhD,wBAAgB,aAAa,IAAI,OAAO,CAavC;AAwMD,OAAO,EAAE,oBAAoB,EAAE,CAAC"}
@@ -90,6 +90,14 @@ function describeAttachment(a) {
90
90
  }
91
91
  export function policyCommand() {
92
92
  const cmd = new Command("policy").description(`Teach and record the rig-level permission policy. ${HONESTY_PIN} (The context-mode verb formerly at this name is now: rig mode.)`);
93
+ const permissions = new Command("permissions").description("Native permission policy: list, show, current and apply. Work posture is separate; this does not relaunch seats.");
94
+ registerPermissionCommands(permissions);
95
+ cmd.addCommand(permissions);
96
+ // Compatibility aliases share the exact actions and output, including JSON and exit codes.
97
+ registerPermissionCommands(cmd);
98
+ return cmd;
99
+ }
100
+ function registerPermissionCommands(cmd) {
93
101
  cmd
94
102
  .command("list")
95
103
  .description(`List the built-in permission-policy templates, plus the custom policies visible in a spec context. ${HONESTY_PIN}`)
@@ -300,7 +308,6 @@ export function policyCommand() {
300
308
  if (step.status === "fail")
301
309
  process.exitCode = 1;
302
310
  });
303
- return cmd;
304
311
  }
305
312
  // Re-exported so the parity test can assert the twin surface without deep-importing.
306
313
  export { BUILTIN_POLICY_NAMES };