@openrig/cli 0.6.5 → 0.6.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1125) hide show
  1. package/README.md +151 -63
  2. package/daemon/assets/claude-team-permissions.cjs +262 -0
  3. package/daemon/assets/onboarding/02-self-and-competent-action.md +46 -2
  4. package/daemon/assets/plugins/openrig-core/.claude-plugin/plugin.json +1 -1
  5. package/daemon/assets/plugins/openrig-core/.codex-plugin/plugin.json +1 -1
  6. package/daemon/assets/plugins/openrig-core/hooks/scripts/refocus-health.cjs +41 -0
  7. package/daemon/assets/plugins/openrig-core/hooks/scripts/refocus.cjs +69 -12
  8. package/daemon/assets/plugins/openrig-core/skills/applying-a-permission-policy/SKILL.md +41 -21
  9. package/daemon/assets/plugins/openrig-core/skills/claude-compaction-restore/SKILL.md +24 -7
  10. package/daemon/assets/plugins/openrig-core/skills/claude-compaction-restore/scripts/precompact-hook.mjs +4 -0
  11. package/daemon/assets/plugins/openrig-core/skills/forming-an-openrig-mental-model/SKILL.md +1 -1
  12. package/daemon/assets/plugins/openrig-core/skills/openrig-skills/SKILL.md +4 -5
  13. package/daemon/assets/plugins/openrig-core/skills/openrig-user/SKILL.md +9 -4
  14. package/daemon/assets/plugins/openrig-core/skills/refocusing/SKILL.md +31 -4
  15. package/daemon/assets/plugins/openrig-core/skills/refocusing/scripts/trace-to-root.py +24 -13
  16. package/daemon/assets/plugins/openrig-core/skills/retiring-and-inheriting-a-seat/SKILL.md +3 -0
  17. package/daemon/assets/plugins/openrig-core/skills/seat-continuity-and-handover/SKILL.md +42 -0
  18. package/daemon/assets/plugins/openrig-core/skills/session-compaction-and-restore/SKILL.md +6 -0
  19. package/daemon/assets/skills/rigs/SKILL.md +133 -0
  20. package/daemon/context-packs/help/help.md +66 -12
  21. package/daemon/context-packs/help/manifest.yaml +1 -1
  22. package/daemon/context-packs/onboarding-width/manifest.yaml +1 -1
  23. package/daemon/context-packs/onboarding-width/public-what-you-can-do.md +218 -38
  24. package/daemon/context-packs/reference/getting-started.md +593 -139
  25. package/daemon/context-packs/reference/manifest.yaml +4 -1
  26. package/daemon/context-packs/reference/rig-spec.md +175 -26
  27. package/daemon/context-packs/reference/whats-new.md +134 -0
  28. package/daemon/context-packs/skills/agent-operated-software/manifest.yaml +1 -1
  29. package/daemon/context-packs/skills/agent-operated-workflows/manifest.yaml +1 -1
  30. package/daemon/context-packs/skills/applying-a-permission-policy/SKILL.md +41 -21
  31. package/daemon/context-packs/skills/applying-a-permission-policy/manifest.yaml +1 -1
  32. package/daemon/context-packs/skills/claude-compaction-restore/SKILL.md +24 -7
  33. package/daemon/context-packs/skills/claude-compaction-restore/manifest.yaml +1 -1
  34. package/daemon/context-packs/skills/claude-compaction-restore/scripts/precompact-hook.mjs +4 -0
  35. package/daemon/context-packs/skills/core/agent-starters/SKILL.md +0 -6
  36. package/daemon/context-packs/skills/core/agent-starters/manifest.yaml +1 -1
  37. package/daemon/context-packs/skills/core/agent-startup-and-context-ingestion/SKILL.md +1 -8
  38. package/daemon/context-packs/skills/core/agent-startup-and-context-ingestion/manifest.yaml +1 -1
  39. package/daemon/context-packs/skills/core/cross-host-rig-commands/manifest.yaml +1 -1
  40. package/daemon/context-packs/skills/core/human-in-the-loop/manifest.yaml +1 -1
  41. package/daemon/context-packs/skills/core/messaging-the-human/manifest.yaml +1 -1
  42. package/daemon/context-packs/skills/core/openrig-architect/SKILL.md +5 -5
  43. package/daemon/context-packs/skills/core/openrig-architect/manifest.yaml +3 -3
  44. package/daemon/context-packs/skills/core/openrig-cmux/manifest.yaml +1 -1
  45. package/daemon/context-packs/skills/core/openrig-herdr/manifest.yaml +1 -1
  46. package/daemon/context-packs/skills/core/openrig-skills/SKILL.md +4 -5
  47. package/daemon/context-packs/skills/core/openrig-skills/manifest.yaml +1 -1
  48. package/daemon/context-packs/skills/core/openrig-software-factory/SKILL.md +31 -21
  49. package/daemon/context-packs/skills/core/openrig-software-factory/manifest.yaml +1 -1
  50. package/daemon/context-packs/skills/core/openrig-software-factory/references/worked-example.md +31 -31
  51. package/daemon/context-packs/skills/core/openrig-upgrade/SKILL.md +2 -0
  52. package/daemon/context-packs/skills/core/openrig-upgrade/manifest.yaml +1 -1
  53. package/daemon/context-packs/skills/core/rig-bundles-and-shareable-artifacts/SKILL.md +0 -1
  54. package/daemon/context-packs/skills/core/rig-bundles-and-shareable-artifacts/manifest.yaml +1 -1
  55. package/daemon/context-packs/skills/core/rig-lifecycle/manifest.yaml +1 -1
  56. package/daemon/context-packs/skills/core/session-source-fork/SKILL.md +0 -5
  57. package/daemon/context-packs/skills/core/session-source-fork/manifest.yaml +1 -1
  58. package/daemon/context-packs/skills/core/specification-system/manifest.yaml +1 -1
  59. package/daemon/context-packs/skills/core/topology-mutation-and-seat-management/manifest.yaml +1 -1
  60. package/daemon/context-packs/skills/core/watchdog/manifest.yaml +1 -1
  61. package/daemon/context-packs/skills/delegating-work/manifest.yaml +1 -1
  62. package/daemon/context-packs/skills/forming-an-openrig-mental-model/SKILL.md +1 -1
  63. package/daemon/context-packs/skills/forming-an-openrig-mental-model/manifest.yaml +1 -1
  64. package/daemon/context-packs/skills/loading-addressable-markdown/manifest.yaml +1 -1
  65. package/daemon/context-packs/skills/mission-slice-sop/manifest.yaml +1 -1
  66. package/daemon/context-packs/skills/openrig-operating-model/manifest.yaml +1 -1
  67. package/daemon/context-packs/skills/openrig-user/SKILL.md +9 -4
  68. package/daemon/context-packs/skills/openrig-user/manifest.yaml +1 -1
  69. package/daemon/context-packs/skills/orienting-to-an-inherited-seat/manifest.yaml +1 -1
  70. package/daemon/context-packs/skills/pm/backlog-capture/manifest.yaml +1 -1
  71. package/daemon/context-packs/skills/pm/context-builder/manifest.yaml +1 -1
  72. package/daemon/context-packs/skills/pm/exec-summary/manifest.yaml +1 -1
  73. package/daemon/context-packs/skills/pm/office-hours/manifest.yaml +1 -1
  74. package/daemon/context-packs/skills/pm/plan-review/manifest.yaml +1 -1
  75. package/daemon/context-packs/skills/pm/requirements-writer/manifest.yaml +1 -1
  76. package/daemon/context-packs/skills/pm/ui-mockup/manifest.yaml +1 -1
  77. package/daemon/context-packs/skills/pods/development-team/manifest.yaml +1 -1
  78. package/daemon/context-packs/skills/pods/orchestration-team/manifest.yaml +1 -1
  79. package/daemon/context-packs/skills/pods/oversight-team/manifest.yaml +1 -1
  80. package/daemon/context-packs/skills/pods/review-team/manifest.yaml +1 -1
  81. package/daemon/context-packs/skills/process/agent-browser/OPENRIG.md +1 -1
  82. package/daemon/context-packs/skills/process/agent-browser/manifest.yaml +1 -1
  83. package/daemon/context-packs/skills/process/context-engineering/manifest.yaml +1 -1
  84. package/daemon/context-packs/skills/process/dogfood/manifest.yaml +1 -1
  85. package/daemon/context-packs/skills/process/frontend-design/manifest.yaml +1 -1
  86. package/daemon/context-packs/skills/process/systematic-debugging/SKILL.md +0 -2
  87. package/daemon/context-packs/skills/process/systematic-debugging/manifest.yaml +1 -1
  88. package/daemon/context-packs/skills/process/test-driven-development/manifest.yaml +1 -1
  89. package/daemon/context-packs/skills/process/verification-before-completion/manifest.yaml +1 -1
  90. package/daemon/context-packs/skills/queue-handoff/manifest.yaml +1 -1
  91. package/daemon/context-packs/skills/refocusing/SKILL.md +31 -4
  92. package/daemon/context-packs/skills/refocusing/manifest.yaml +1 -1
  93. package/daemon/context-packs/skills/refocusing/scripts/trace-to-root.py +24 -13
  94. package/daemon/context-packs/skills/retiring-and-inheriting-a-seat/SKILL.md +3 -0
  95. package/daemon/context-packs/skills/retiring-and-inheriting-a-seat/manifest.yaml +1 -1
  96. package/daemon/context-packs/skills/seat-continuity-and-handover/SKILL.md +42 -0
  97. package/daemon/context-packs/skills/seat-continuity-and-handover/manifest.yaml +1 -1
  98. package/daemon/context-packs/skills/session-compaction-and-restore/SKILL.md +6 -0
  99. package/daemon/context-packs/skills/session-compaction-and-restore/manifest.yaml +1 -1
  100. package/daemon/context-packs/skills/software-for-agents/manifest.yaml +1 -1
  101. package/daemon/context-packs/world-example/manifest.yaml +1 -1
  102. package/daemon/context-packs/world-public/manifest.yaml +1 -1
  103. package/daemon/dist/adapters/claude-code-adapter.d.ts +2 -2
  104. package/daemon/dist/adapters/claude-code-adapter.d.ts.map +1 -1
  105. package/daemon/dist/adapters/claude-code-adapter.js +48 -26
  106. package/daemon/dist/adapters/claude-code-adapter.js.map +1 -1
  107. package/daemon/dist/adapters/claude-resume.d.ts +1 -1
  108. package/daemon/dist/adapters/claude-resume.d.ts.map +1 -1
  109. package/daemon/dist/adapters/claude-resume.js +7 -4
  110. package/daemon/dist/adapters/claude-resume.js.map +1 -1
  111. package/daemon/dist/adapters/codex-resume.d.ts +3 -1
  112. package/daemon/dist/adapters/codex-resume.d.ts.map +1 -1
  113. package/daemon/dist/adapters/codex-resume.js +27 -4
  114. package/daemon/dist/adapters/codex-resume.js.map +1 -1
  115. package/daemon/dist/adapters/codex-runtime-adapter.d.ts +3 -0
  116. package/daemon/dist/adapters/codex-runtime-adapter.d.ts.map +1 -1
  117. package/daemon/dist/adapters/codex-runtime-adapter.js +61 -63
  118. package/daemon/dist/adapters/codex-runtime-adapter.js.map +1 -1
  119. package/daemon/dist/adapters/compose-services-adapter.js +1 -1
  120. package/daemon/dist/adapters/compose-services-adapter.js.map +1 -1
  121. package/daemon/dist/adapters/kernel-authority.d.ts +10 -0
  122. package/daemon/dist/adapters/kernel-authority.d.ts.map +1 -0
  123. package/daemon/dist/adapters/kernel-authority.js +71 -0
  124. package/daemon/dist/adapters/kernel-authority.js.map +1 -0
  125. package/daemon/dist/adapters/non-interruptive.d.ts +14 -0
  126. package/daemon/dist/adapters/non-interruptive.d.ts.map +1 -0
  127. package/daemon/dist/adapters/non-interruptive.js +38 -0
  128. package/daemon/dist/adapters/non-interruptive.js.map +1 -0
  129. package/daemon/dist/adapters/pi-readiness.d.ts +15 -0
  130. package/daemon/dist/adapters/pi-readiness.d.ts.map +1 -0
  131. package/daemon/dist/adapters/pi-readiness.js +90 -0
  132. package/daemon/dist/adapters/pi-readiness.js.map +1 -0
  133. package/daemon/dist/adapters/pi-resume.d.ts +3 -1
  134. package/daemon/dist/adapters/pi-resume.d.ts.map +1 -1
  135. package/daemon/dist/adapters/pi-resume.js +8 -1
  136. package/daemon/dist/adapters/pi-resume.js.map +1 -1
  137. package/daemon/dist/adapters/pi-runner-protocol.d.ts +15 -0
  138. package/daemon/dist/adapters/pi-runner-protocol.d.ts.map +1 -1
  139. package/daemon/dist/adapters/pi-runner-protocol.js +28 -0
  140. package/daemon/dist/adapters/pi-runner-protocol.js.map +1 -1
  141. package/daemon/dist/adapters/pi-runner.d.ts +3 -0
  142. package/daemon/dist/adapters/pi-runner.d.ts.map +1 -1
  143. package/daemon/dist/adapters/pi-runner.js +92 -15
  144. package/daemon/dist/adapters/pi-runner.js.map +1 -1
  145. package/daemon/dist/adapters/pi-runtime-adapter.d.ts +8 -0
  146. package/daemon/dist/adapters/pi-runtime-adapter.d.ts.map +1 -1
  147. package/daemon/dist/adapters/pi-runtime-adapter.js +37 -9
  148. package/daemon/dist/adapters/pi-runtime-adapter.js.map +1 -1
  149. package/daemon/dist/adapters/stub-runner-protocol.d.ts +1 -1
  150. package/daemon/dist/adapters/stub-runner-protocol.d.ts.map +1 -1
  151. package/daemon/dist/adapters/stub-runner.d.ts +1 -1
  152. package/daemon/dist/adapters/stub-runner.d.ts.map +1 -1
  153. package/daemon/dist/adapters/stub-runtime-adapter.d.ts.map +1 -1
  154. package/daemon/dist/adapters/stub-runtime-adapter.js +10 -7
  155. package/daemon/dist/adapters/stub-runtime-adapter.js.map +1 -1
  156. package/daemon/dist/adapters/tmux.d.ts +7 -3
  157. package/daemon/dist/adapters/tmux.d.ts.map +1 -1
  158. package/daemon/dist/adapters/tmux.js +20 -12
  159. package/daemon/dist/adapters/tmux.js.map +1 -1
  160. package/daemon/dist/adapters/yolo-mode.d.ts +1 -1
  161. package/daemon/dist/adapters/yolo-mode.d.ts.map +1 -1
  162. package/daemon/dist/adapters/yolo-mode.js +3 -0
  163. package/daemon/dist/adapters/yolo-mode.js.map +1 -1
  164. package/daemon/dist/build-info.js +3 -3
  165. package/daemon/dist/bundle-behaviour-surface.d.ts +2 -0
  166. package/daemon/dist/bundle-behaviour-surface.d.ts.map +1 -0
  167. package/daemon/dist/bundle-behaviour-surface.js +2 -0
  168. package/daemon/dist/bundle-behaviour-surface.js.map +1 -0
  169. package/daemon/dist/bundle-identity-surface.d.ts +2 -0
  170. package/daemon/dist/bundle-identity-surface.d.ts.map +1 -0
  171. package/daemon/dist/bundle-identity-surface.js +4 -0
  172. package/daemon/dist/bundle-identity-surface.js.map +1 -0
  173. package/daemon/dist/daemon-shutdown.d.ts +1 -1
  174. package/daemon/dist/daemon-shutdown.d.ts.map +1 -1
  175. package/daemon/dist/daemon-shutdown.js +5 -1
  176. package/daemon/dist/daemon-shutdown.js.map +1 -1
  177. package/daemon/dist/db/all-migrations.d.ts.map +1 -1
  178. package/daemon/dist/db/all-migrations.js +6 -0
  179. package/daemon/dist/db/all-migrations.js.map +1 -1
  180. package/daemon/dist/db/migrations/095_rig_non_interruptive.d.ts +3 -0
  181. package/daemon/dist/db/migrations/095_rig_non_interruptive.d.ts.map +1 -0
  182. package/daemon/dist/db/migrations/095_rig_non_interruptive.js +5 -0
  183. package/daemon/dist/db/migrations/095_rig_non_interruptive.js.map +1 -0
  184. package/daemon/dist/db/migrations/096_rig_install_root.d.ts +3 -0
  185. package/daemon/dist/db/migrations/096_rig_install_root.d.ts.map +1 -0
  186. package/daemon/dist/db/migrations/096_rig_install_root.js +5 -0
  187. package/daemon/dist/db/migrations/096_rig_install_root.js.map +1 -0
  188. package/daemon/dist/db/migrations/097_thread_part_map.d.ts +3 -0
  189. package/daemon/dist/db/migrations/097_thread_part_map.d.ts.map +1 -0
  190. package/daemon/dist/db/migrations/097_thread_part_map.js +20 -0
  191. package/daemon/dist/db/migrations/097_thread_part_map.js.map +1 -0
  192. package/daemon/dist/domain/activity-taxonomy.d.ts +7 -0
  193. package/daemon/dist/domain/activity-taxonomy.d.ts.map +1 -1
  194. package/daemon/dist/domain/activity-taxonomy.js.map +1 -1
  195. package/daemon/dist/domain/agent-activity-store.d.ts +12 -0
  196. package/daemon/dist/domain/agent-activity-store.d.ts.map +1 -1
  197. package/daemon/dist/domain/agent-activity-store.js +55 -30
  198. package/daemon/dist/domain/agent-activity-store.js.map +1 -1
  199. package/daemon/dist/domain/agent-images/agent-image-types.d.ts +1 -1
  200. package/daemon/dist/domain/agent-images/agent-image-types.d.ts.map +1 -1
  201. package/daemon/dist/domain/agent-manifest.d.ts.map +1 -1
  202. package/daemon/dist/domain/agent-manifest.js +4 -2
  203. package/daemon/dist/domain/agent-manifest.js.map +1 -1
  204. package/daemon/dist/domain/bootstrap-orchestrator.d.ts +10 -0
  205. package/daemon/dist/domain/bootstrap-orchestrator.d.ts.map +1 -1
  206. package/daemon/dist/domain/bootstrap-orchestrator.js +136 -32
  207. package/daemon/dist/domain/bootstrap-orchestrator.js.map +1 -1
  208. package/daemon/dist/domain/builtin-policy-reference.d.ts +1 -1
  209. package/daemon/dist/domain/builtin-policy-reference.d.ts.map +1 -1
  210. package/daemon/dist/domain/builtin-policy-reference.js +2 -2
  211. package/daemon/dist/domain/builtin-policy-reference.js.map +1 -1
  212. package/daemon/dist/domain/bundle-archive.d.ts +24 -0
  213. package/daemon/dist/domain/bundle-archive.d.ts.map +1 -1
  214. package/daemon/dist/domain/bundle-archive.js +52 -27
  215. package/daemon/dist/domain/bundle-archive.js.map +1 -1
  216. package/daemon/dist/domain/bundle-audit.d.ts +5 -0
  217. package/daemon/dist/domain/bundle-audit.d.ts.map +1 -1
  218. package/daemon/dist/domain/bundle-audit.js.map +1 -1
  219. package/daemon/dist/domain/bundle-behaviour-inspect.d.ts +4 -0
  220. package/daemon/dist/domain/bundle-behaviour-inspect.d.ts.map +1 -0
  221. package/daemon/dist/domain/bundle-behaviour-inspect.js +56 -0
  222. package/daemon/dist/domain/bundle-behaviour-inspect.js.map +1 -0
  223. package/daemon/dist/domain/bundle-behaviour.d.ts +118 -0
  224. package/daemon/dist/domain/bundle-behaviour.d.ts.map +1 -0
  225. package/daemon/dist/domain/bundle-behaviour.js +364 -0
  226. package/daemon/dist/domain/bundle-behaviour.js.map +1 -0
  227. package/daemon/dist/domain/bundle-carried-context-pack.d.ts +16 -0
  228. package/daemon/dist/domain/bundle-carried-context-pack.d.ts.map +1 -0
  229. package/daemon/dist/domain/bundle-carried-context-pack.js +67 -0
  230. package/daemon/dist/domain/bundle-carried-context-pack.js.map +1 -0
  231. package/daemon/dist/domain/bundle-carried-project.d.ts +13 -0
  232. package/daemon/dist/domain/bundle-carried-project.d.ts.map +1 -0
  233. package/daemon/dist/domain/bundle-carried-project.js +71 -0
  234. package/daemon/dist/domain/bundle-carried-project.js.map +1 -0
  235. package/daemon/dist/domain/bundle-conflict-detector.js +3 -3
  236. package/daemon/dist/domain/bundle-conflict-detector.js.map +1 -1
  237. package/daemon/dist/domain/bundle-content-routing.d.ts +49 -0
  238. package/daemon/dist/domain/bundle-content-routing.d.ts.map +1 -0
  239. package/daemon/dist/domain/bundle-content-routing.js +246 -0
  240. package/daemon/dist/domain/bundle-content-routing.js.map +1 -0
  241. package/daemon/dist/domain/bundle-context-packs-router.d.ts +7 -2
  242. package/daemon/dist/domain/bundle-context-packs-router.d.ts.map +1 -1
  243. package/daemon/dist/domain/bundle-context-packs-router.js +19 -0
  244. package/daemon/dist/domain/bundle-context-packs-router.js.map +1 -1
  245. package/daemon/dist/domain/bundle-identity.d.ts +27 -0
  246. package/daemon/dist/domain/bundle-identity.d.ts.map +1 -0
  247. package/daemon/dist/domain/bundle-identity.js +34 -0
  248. package/daemon/dist/domain/bundle-identity.js.map +1 -0
  249. package/daemon/dist/domain/bundle-install-context.d.ts +22 -0
  250. package/daemon/dist/domain/bundle-install-context.d.ts.map +1 -0
  251. package/daemon/dist/domain/bundle-install-context.js +64 -0
  252. package/daemon/dist/domain/bundle-install-context.js.map +1 -0
  253. package/daemon/dist/domain/bundle-integrity.d.ts +1 -0
  254. package/daemon/dist/domain/bundle-integrity.d.ts.map +1 -1
  255. package/daemon/dist/domain/bundle-integrity.js +1 -1
  256. package/daemon/dist/domain/bundle-integrity.js.map +1 -1
  257. package/daemon/dist/domain/bundle-source-resolver.d.ts +4 -1
  258. package/daemon/dist/domain/bundle-source-resolver.d.ts.map +1 -1
  259. package/daemon/dist/domain/bundle-source-resolver.js +73 -19
  260. package/daemon/dist/domain/bundle-source-resolver.js.map +1 -1
  261. package/daemon/dist/domain/bundle-types.d.ts +38 -1
  262. package/daemon/dist/domain/bundle-types.d.ts.map +1 -1
  263. package/daemon/dist/domain/bundle-types.js +78 -0
  264. package/daemon/dist/domain/bundle-types.js.map +1 -1
  265. package/daemon/dist/domain/chat-repository.d.ts +5 -0
  266. package/daemon/dist/domain/chat-repository.d.ts.map +1 -1
  267. package/daemon/dist/domain/chat-repository.js +8 -0
  268. package/daemon/dist/domain/chat-repository.js.map +1 -1
  269. package/daemon/dist/domain/claim-service.d.ts.map +1 -1
  270. package/daemon/dist/domain/claim-service.js +5 -4
  271. package/daemon/dist/domain/claim-service.js.map +1 -1
  272. package/daemon/dist/domain/claude-activity-hooks.d.ts +3 -0
  273. package/daemon/dist/domain/claude-activity-hooks.d.ts.map +1 -1
  274. package/daemon/dist/domain/claude-activity-hooks.js +8 -1
  275. package/daemon/dist/domain/claude-activity-hooks.js.map +1 -1
  276. package/daemon/dist/domain/claude-compaction-enforcer.d.ts +15 -1
  277. package/daemon/dist/domain/claude-compaction-enforcer.d.ts.map +1 -1
  278. package/daemon/dist/domain/claude-compaction-enforcer.js +87 -23
  279. package/daemon/dist/domain/claude-compaction-enforcer.js.map +1 -1
  280. package/daemon/dist/domain/codex-team-workspace.d.ts +8 -0
  281. package/daemon/dist/domain/codex-team-workspace.d.ts.map +1 -0
  282. package/daemon/dist/domain/codex-team-workspace.js +54 -0
  283. package/daemon/dist/domain/codex-team-workspace.js.map +1 -0
  284. package/daemon/dist/domain/codex-thread-id.d.ts.map +1 -1
  285. package/daemon/dist/domain/codex-thread-id.js +4 -2
  286. package/daemon/dist/domain/codex-thread-id.js.map +1 -1
  287. package/daemon/dist/domain/context-monitor.d.ts.map +1 -1
  288. package/daemon/dist/domain/context-monitor.js +9 -1
  289. package/daemon/dist/domain/context-monitor.js.map +1 -1
  290. package/daemon/dist/domain/daemon-version.d.ts +3 -1
  291. package/daemon/dist/domain/daemon-version.d.ts.map +1 -1
  292. package/daemon/dist/domain/daemon-version.js +6 -1
  293. package/daemon/dist/domain/daemon-version.js.map +1 -1
  294. package/daemon/dist/domain/event-loop-monitor.d.ts +6 -0
  295. package/daemon/dist/domain/event-loop-monitor.d.ts.map +1 -1
  296. package/daemon/dist/domain/event-loop-monitor.js +13 -0
  297. package/daemon/dist/domain/event-loop-monitor.js.map +1 -1
  298. package/daemon/dist/domain/execution-view.d.ts.map +1 -1
  299. package/daemon/dist/domain/execution-view.js +57 -11
  300. package/daemon/dist/domain/execution-view.js.map +1 -1
  301. package/daemon/dist/domain/finite-telemetry.d.ts +74 -0
  302. package/daemon/dist/domain/finite-telemetry.d.ts.map +1 -0
  303. package/daemon/dist/domain/finite-telemetry.js +236 -0
  304. package/daemon/dist/domain/finite-telemetry.js.map +1 -0
  305. package/daemon/dist/domain/gateway/connections-projection.d.ts +5 -1
  306. package/daemon/dist/domain/gateway/connections-projection.d.ts.map +1 -1
  307. package/daemon/dist/domain/gateway/connections-projection.js +2 -0
  308. package/daemon/dist/domain/gateway/connections-projection.js.map +1 -1
  309. package/daemon/dist/domain/gateway/destination-resolver.d.ts.map +1 -1
  310. package/daemon/dist/domain/gateway/destination-resolver.js +7 -4
  311. package/daemon/dist/domain/gateway/destination-resolver.js.map +1 -1
  312. package/daemon/dist/domain/gateway/gateway-subsystem.d.ts +2 -0
  313. package/daemon/dist/domain/gateway/gateway-subsystem.d.ts.map +1 -1
  314. package/daemon/dist/domain/gateway/gateway-subsystem.js +4 -0
  315. package/daemon/dist/domain/gateway/gateway-subsystem.js.map +1 -1
  316. package/daemon/dist/domain/gateway/human-readiness.d.ts.map +1 -1
  317. package/daemon/dist/domain/gateway/human-readiness.js +23 -6
  318. package/daemon/dist/domain/gateway/human-readiness.js.map +1 -1
  319. package/daemon/dist/domain/gateway/human-registry.d.ts +2 -2
  320. package/daemon/dist/domain/gateway/human-registry.d.ts.map +1 -1
  321. package/daemon/dist/domain/gateway/human-registry.js +2 -2
  322. package/daemon/dist/domain/gateway/human-registry.js.map +1 -1
  323. package/daemon/dist/domain/gateway/slack/capabilities.d.ts.map +1 -1
  324. package/daemon/dist/domain/gateway/slack/capabilities.js +3 -1
  325. package/daemon/dist/domain/gateway/slack/capabilities.js.map +1 -1
  326. package/daemon/dist/domain/gateway/slack/channel-map.d.ts +39 -0
  327. package/daemon/dist/domain/gateway/slack/channel-map.d.ts.map +1 -0
  328. package/daemon/dist/domain/gateway/slack/channel-map.js +114 -0
  329. package/daemon/dist/domain/gateway/slack/channel-map.js.map +1 -0
  330. package/daemon/dist/domain/gateway/slack/channel-recovery.d.ts +45 -0
  331. package/daemon/dist/domain/gateway/slack/channel-recovery.d.ts.map +1 -0
  332. package/daemon/dist/domain/gateway/slack/channel-recovery.js +176 -0
  333. package/daemon/dist/domain/gateway/slack/channel-recovery.js.map +1 -0
  334. package/daemon/dist/domain/gateway/slack/config.d.ts +7 -0
  335. package/daemon/dist/domain/gateway/slack/config.d.ts.map +1 -1
  336. package/daemon/dist/domain/gateway/slack/config.js +19 -2
  337. package/daemon/dist/domain/gateway/slack/config.js.map +1 -1
  338. package/daemon/dist/domain/gateway/slack/inbound.d.ts +27 -2
  339. package/daemon/dist/domain/gateway/slack/inbound.d.ts.map +1 -1
  340. package/daemon/dist/domain/gateway/slack/inbound.js +123 -11
  341. package/daemon/dist/domain/gateway/slack/inbound.js.map +1 -1
  342. package/daemon/dist/domain/gateway/slack/message.d.ts +7 -0
  343. package/daemon/dist/domain/gateway/slack/message.d.ts.map +1 -1
  344. package/daemon/dist/domain/gateway/slack/message.js +36 -0
  345. package/daemon/dist/domain/gateway/slack/message.js.map +1 -1
  346. package/daemon/dist/domain/gateway/slack/slack-api.d.ts +1 -0
  347. package/daemon/dist/domain/gateway/slack/slack-api.d.ts.map +1 -1
  348. package/daemon/dist/domain/gateway/slack/slack-api.js +3 -1
  349. package/daemon/dist/domain/gateway/slack/slack-api.js.map +1 -1
  350. package/daemon/dist/domain/gateway/slack/slack-delivery.d.ts +30 -7
  351. package/daemon/dist/domain/gateway/slack/slack-delivery.d.ts.map +1 -1
  352. package/daemon/dist/domain/gateway/slack/slack-delivery.js +253 -51
  353. package/daemon/dist/domain/gateway/slack/slack-delivery.js.map +1 -1
  354. package/daemon/dist/domain/gateway/slack/slack-subsystem.d.ts.map +1 -1
  355. package/daemon/dist/domain/gateway/slack/slack-subsystem.js +97 -11
  356. package/daemon/dist/domain/gateway/slack/slack-subsystem.js.map +1 -1
  357. package/daemon/dist/domain/gateway/slack/socket-inbound.d.ts +6 -0
  358. package/daemon/dist/domain/gateway/slack/socket-inbound.d.ts.map +1 -1
  359. package/daemon/dist/domain/gateway/slack/socket-inbound.js +51 -1
  360. package/daemon/dist/domain/gateway/slack/socket-inbound.js.map +1 -1
  361. package/daemon/dist/domain/gateway/slack/state-store.d.ts +24 -0
  362. package/daemon/dist/domain/gateway/slack/state-store.d.ts.map +1 -1
  363. package/daemon/dist/domain/gateway/slack/state-store.js +84 -1
  364. package/daemon/dist/domain/gateway/slack/state-store.js.map +1 -1
  365. package/daemon/dist/domain/gateway/slack/thread-routing.d.ts.map +1 -1
  366. package/daemon/dist/domain/gateway/slack/thread-routing.js +22 -2
  367. package/daemon/dist/domain/gateway/slack/thread-routing.js.map +1 -1
  368. package/daemon/dist/domain/gateway/slack/thread-seat-map.d.ts +14 -0
  369. package/daemon/dist/domain/gateway/slack/thread-seat-map.d.ts.map +1 -1
  370. package/daemon/dist/domain/gateway/slack/thread-seat-map.js +27 -0
  371. package/daemon/dist/domain/gateway/slack/thread-seat-map.js.map +1 -1
  372. package/daemon/dist/domain/generated-file-hygiene.d.ts +3 -0
  373. package/daemon/dist/domain/generated-file-hygiene.d.ts.map +1 -0
  374. package/daemon/dist/domain/generated-file-hygiene.js +145 -0
  375. package/daemon/dist/domain/generated-file-hygiene.js.map +1 -0
  376. package/daemon/dist/domain/install-planner.d.ts.map +1 -1
  377. package/daemon/dist/domain/install-planner.js +17 -0
  378. package/daemon/dist/domain/install-planner.js.map +1 -1
  379. package/daemon/dist/domain/managed-blocks.d.ts +1 -0
  380. package/daemon/dist/domain/managed-blocks.d.ts.map +1 -1
  381. package/daemon/dist/domain/managed-blocks.js +8 -2
  382. package/daemon/dist/domain/managed-blocks.js.map +1 -1
  383. package/daemon/dist/domain/markdown-address.d.ts.map +1 -1
  384. package/daemon/dist/domain/markdown-address.js +23 -6
  385. package/daemon/dist/domain/markdown-address.js.map +1 -1
  386. package/daemon/dist/domain/native-permission-store.d.ts +14 -0
  387. package/daemon/dist/domain/native-permission-store.d.ts.map +1 -1
  388. package/daemon/dist/domain/native-permission-store.js +168 -4
  389. package/daemon/dist/domain/native-permission-store.js.map +1 -1
  390. package/daemon/dist/domain/native-process-executable.d.ts +4 -0
  391. package/daemon/dist/domain/native-process-executable.d.ts.map +1 -0
  392. package/daemon/dist/domain/native-process-executable.js +53 -0
  393. package/daemon/dist/domain/native-process-executable.js.map +1 -0
  394. package/daemon/dist/domain/native-process-lineage.d.ts +2 -0
  395. package/daemon/dist/domain/native-process-lineage.d.ts.map +1 -1
  396. package/daemon/dist/domain/native-process-lineage.js +70 -8
  397. package/daemon/dist/domain/native-process-lineage.js.map +1 -1
  398. package/daemon/dist/domain/native-resume-probe.d.ts +3 -1
  399. package/daemon/dist/domain/native-resume-probe.d.ts.map +1 -1
  400. package/daemon/dist/domain/native-resume-probe.js +38 -7
  401. package/daemon/dist/domain/native-resume-probe.js.map +1 -1
  402. package/daemon/dist/domain/node-inventory.d.ts +2 -2
  403. package/daemon/dist/domain/node-inventory.d.ts.map +1 -1
  404. package/daemon/dist/domain/node-inventory.js +30 -4
  405. package/daemon/dist/domain/node-inventory.js.map +1 -1
  406. package/daemon/dist/domain/node-launcher.d.ts.map +1 -1
  407. package/daemon/dist/domain/node-launcher.js +1 -0
  408. package/daemon/dist/domain/node-launcher.js.map +1 -1
  409. package/daemon/dist/domain/pane-binding-observation.d.ts +1 -0
  410. package/daemon/dist/domain/pane-binding-observation.d.ts.map +1 -1
  411. package/daemon/dist/domain/pane-binding-observation.js +3 -1
  412. package/daemon/dist/domain/pane-binding-observation.js.map +1 -1
  413. package/daemon/dist/domain/permission-policy/policy-ref.d.ts +6 -1
  414. package/daemon/dist/domain/permission-policy/policy-ref.d.ts.map +1 -1
  415. package/daemon/dist/domain/permission-policy/policy-ref.js +16 -4
  416. package/daemon/dist/domain/permission-policy/policy-ref.js.map +1 -1
  417. package/daemon/dist/domain/permission-policy/policy-spec.d.ts +1 -1
  418. package/daemon/dist/domain/permission-policy/policy-spec.d.ts.map +1 -1
  419. package/daemon/dist/domain/permission-policy/policy-spec.js +2 -2
  420. package/daemon/dist/domain/permission-policy/policy-spec.js.map +1 -1
  421. package/daemon/dist/domain/plugin-vendor-service.d.ts +6 -0
  422. package/daemon/dist/domain/plugin-vendor-service.d.ts.map +1 -1
  423. package/daemon/dist/domain/plugin-vendor-service.js +12 -0
  424. package/daemon/dist/domain/plugin-vendor-service.js.map +1 -1
  425. package/daemon/dist/domain/profile-resolver.d.ts +3 -2
  426. package/daemon/dist/domain/profile-resolver.d.ts.map +1 -1
  427. package/daemon/dist/domain/profile-resolver.js +71 -9
  428. package/daemon/dist/domain/profile-resolver.js.map +1 -1
  429. package/daemon/dist/domain/projection-planner.d.ts +11 -0
  430. package/daemon/dist/domain/projection-planner.d.ts.map +1 -1
  431. package/daemon/dist/domain/projection-planner.js +1 -1
  432. package/daemon/dist/domain/projection-planner.js.map +1 -1
  433. package/daemon/dist/domain/ps-projection.d.ts +11 -9
  434. package/daemon/dist/domain/ps-projection.d.ts.map +1 -1
  435. package/daemon/dist/domain/ps-projection.js +15 -12
  436. package/daemon/dist/domain/ps-projection.js.map +1 -1
  437. package/daemon/dist/domain/queue-repository.d.ts +2 -0
  438. package/daemon/dist/domain/queue-repository.d.ts.map +1 -1
  439. package/daemon/dist/domain/queue-repository.js +75 -24
  440. package/daemon/dist/domain/queue-repository.js.map +1 -1
  441. package/daemon/dist/domain/queue-retention.d.ts +2 -2
  442. package/daemon/dist/domain/queue-retention.js +4 -4
  443. package/daemon/dist/domain/queue-transition-log.d.ts.map +1 -1
  444. package/daemon/dist/domain/queue-transition-log.js +12 -10
  445. package/daemon/dist/domain/queue-transition-log.js.map +1 -1
  446. package/daemon/dist/domain/queue-wait-backoff.d.ts.map +1 -1
  447. package/daemon/dist/domain/queue-wait-backoff.js +6 -2
  448. package/daemon/dist/domain/queue-wait-backoff.js.map +1 -1
  449. package/daemon/dist/domain/queue-waiting.d.ts.map +1 -1
  450. package/daemon/dist/domain/queue-waiting.js +7 -2
  451. package/daemon/dist/domain/queue-waiting.js.map +1 -1
  452. package/daemon/dist/domain/queue-wake-ladder.d.ts +15 -2
  453. package/daemon/dist/domain/queue-wake-ladder.d.ts.map +1 -1
  454. package/daemon/dist/domain/queue-wake-ladder.js +29 -6
  455. package/daemon/dist/domain/queue-wake-ladder.js.map +1 -1
  456. package/daemon/dist/domain/readiness-timeout.d.ts +7 -0
  457. package/daemon/dist/domain/readiness-timeout.d.ts.map +1 -0
  458. package/daemon/dist/domain/readiness-timeout.js +19 -0
  459. package/daemon/dist/domain/readiness-timeout.js.map +1 -0
  460. package/daemon/dist/domain/rehydrate-eligibility.d.ts.map +1 -1
  461. package/daemon/dist/domain/rehydrate-eligibility.js +5 -2
  462. package/daemon/dist/domain/rehydrate-eligibility.js.map +1 -1
  463. package/daemon/dist/domain/reply-to-choice.d.ts +6 -2
  464. package/daemon/dist/domain/reply-to-choice.d.ts.map +1 -1
  465. package/daemon/dist/domain/reply-to-choice.js +9 -6
  466. package/daemon/dist/domain/reply-to-choice.js.map +1 -1
  467. package/daemon/dist/domain/request-phase-observer.d.ts +69 -0
  468. package/daemon/dist/domain/request-phase-observer.d.ts.map +1 -0
  469. package/daemon/dist/domain/request-phase-observer.js +206 -0
  470. package/daemon/dist/domain/request-phase-observer.js.map +1 -0
  471. package/daemon/dist/domain/restore-check-service.d.ts +5 -1
  472. package/daemon/dist/domain/restore-check-service.d.ts.map +1 -1
  473. package/daemon/dist/domain/restore-check-service.js +17 -3
  474. package/daemon/dist/domain/restore-check-service.js.map +1 -1
  475. package/daemon/dist/domain/restore-orchestrator.d.ts +2 -0
  476. package/daemon/dist/domain/restore-orchestrator.d.ts.map +1 -1
  477. package/daemon/dist/domain/restore-orchestrator.js +58 -12
  478. package/daemon/dist/domain/restore-orchestrator.js.map +1 -1
  479. package/daemon/dist/domain/rig-mode/operating-posture.d.ts +17 -1
  480. package/daemon/dist/domain/rig-mode/operating-posture.d.ts.map +1 -1
  481. package/daemon/dist/domain/rig-mode/operating-posture.js +53 -15
  482. package/daemon/dist/domain/rig-mode/operating-posture.js.map +1 -1
  483. package/daemon/dist/domain/rig-repository.d.ts +15 -6
  484. package/daemon/dist/domain/rig-repository.d.ts.map +1 -1
  485. package/daemon/dist/domain/rig-repository.js +62 -10
  486. package/daemon/dist/domain/rig-repository.js.map +1 -1
  487. package/daemon/dist/domain/rig-teardown.d.ts.map +1 -1
  488. package/daemon/dist/domain/rig-teardown.js +12 -3
  489. package/daemon/dist/domain/rig-teardown.js.map +1 -1
  490. package/daemon/dist/domain/rigspec-codec.d.ts.map +1 -1
  491. package/daemon/dist/domain/rigspec-codec.js +2 -0
  492. package/daemon/dist/domain/rigspec-codec.js.map +1 -1
  493. package/daemon/dist/domain/rigspec-exporter.d.ts.map +1 -1
  494. package/daemon/dist/domain/rigspec-exporter.js +1 -0
  495. package/daemon/dist/domain/rigspec-exporter.js.map +1 -1
  496. package/daemon/dist/domain/rigspec-instantiator.d.ts +9 -3
  497. package/daemon/dist/domain/rigspec-instantiator.d.ts.map +1 -1
  498. package/daemon/dist/domain/rigspec-instantiator.js +46 -13
  499. package/daemon/dist/domain/rigspec-instantiator.js.map +1 -1
  500. package/daemon/dist/domain/rigspec-preflight.d.ts +3 -2
  501. package/daemon/dist/domain/rigspec-preflight.d.ts.map +1 -1
  502. package/daemon/dist/domain/rigspec-preflight.js +24 -12
  503. package/daemon/dist/domain/rigspec-preflight.js.map +1 -1
  504. package/daemon/dist/domain/rigspec-schema.d.ts.map +1 -1
  505. package/daemon/dist/domain/rigspec-schema.js +24 -5
  506. package/daemon/dist/domain/rigspec-schema.js.map +1 -1
  507. package/daemon/dist/domain/route-timing-recorder.d.ts.map +1 -1
  508. package/daemon/dist/domain/route-timing-recorder.js +2 -0
  509. package/daemon/dist/domain/route-timing-recorder.js.map +1 -1
  510. package/daemon/dist/domain/runtime-adapter.d.ts +12 -3
  511. package/daemon/dist/domain/runtime-adapter.d.ts.map +1 -1
  512. package/daemon/dist/domain/runtime-adapter.js +1 -0
  513. package/daemon/dist/domain/runtime-adapter.js.map +1 -1
  514. package/daemon/dist/domain/seat-activity-service.d.ts.map +1 -1
  515. package/daemon/dist/domain/seat-activity-service.js +16 -6
  516. package/daemon/dist/domain/seat-activity-service.js.map +1 -1
  517. package/daemon/dist/domain/seat-attention-reconciler.d.ts.map +1 -1
  518. package/daemon/dist/domain/seat-attention-reconciler.js +10 -4
  519. package/daemon/dist/domain/seat-attention-reconciler.js.map +1 -1
  520. package/daemon/dist/domain/seat-handover-service.d.ts +2 -0
  521. package/daemon/dist/domain/seat-handover-service.d.ts.map +1 -1
  522. package/daemon/dist/domain/seat-handover-service.js +14 -8
  523. package/daemon/dist/domain/seat-handover-service.js.map +1 -1
  524. package/daemon/dist/domain/seat-launch-environment.d.ts.map +1 -1
  525. package/daemon/dist/domain/seat-launch-environment.js +4 -0
  526. package/daemon/dist/domain/seat-launch-environment.js.map +1 -1
  527. package/daemon/dist/domain/seat-lifecycle-service.d.ts +4 -0
  528. package/daemon/dist/domain/seat-lifecycle-service.d.ts.map +1 -1
  529. package/daemon/dist/domain/seat-lifecycle-service.js +4 -0
  530. package/daemon/dist/domain/seat-lifecycle-service.js.map +1 -1
  531. package/daemon/dist/domain/seat-status-service.d.ts +2 -1
  532. package/daemon/dist/domain/seat-status-service.d.ts.map +1 -1
  533. package/daemon/dist/domain/seat-status-service.js +6 -4
  534. package/daemon/dist/domain/seat-status-service.js.map +1 -1
  535. package/daemon/dist/domain/service-orchestrator.d.ts +1 -0
  536. package/daemon/dist/domain/service-orchestrator.d.ts.map +1 -1
  537. package/daemon/dist/domain/service-orchestrator.js +4 -0
  538. package/daemon/dist/domain/service-orchestrator.js.map +1 -1
  539. package/daemon/dist/domain/session-jsonl.d.ts.map +1 -1
  540. package/daemon/dist/domain/session-jsonl.js +10 -4
  541. package/daemon/dist/domain/session-jsonl.js.map +1 -1
  542. package/daemon/dist/domain/session-transport.d.ts +9 -20
  543. package/daemon/dist/domain/session-transport.d.ts.map +1 -1
  544. package/daemon/dist/domain/session-transport.js +198 -44
  545. package/daemon/dist/domain/session-transport.js.map +1 -1
  546. package/daemon/dist/domain/skill-audit.d.ts +19 -0
  547. package/daemon/dist/domain/skill-audit.d.ts.map +1 -1
  548. package/daemon/dist/domain/skill-audit.js +97 -5
  549. package/daemon/dist/domain/skill-audit.js.map +1 -1
  550. package/daemon/dist/domain/skill-catalog.d.ts +19 -0
  551. package/daemon/dist/domain/skill-catalog.d.ts.map +1 -1
  552. package/daemon/dist/domain/skill-catalog.js +175 -17
  553. package/daemon/dist/domain/skill-catalog.js.map +1 -1
  554. package/daemon/dist/domain/skill-discovery.d.ts +1 -1
  555. package/daemon/dist/domain/skill-discovery.d.ts.map +1 -1
  556. package/daemon/dist/domain/skill-discovery.js +6 -0
  557. package/daemon/dist/domain/skill-discovery.js.map +1 -1
  558. package/daemon/dist/domain/skill-mirror-drift.d.ts +6 -1
  559. package/daemon/dist/domain/skill-mirror-drift.d.ts.map +1 -1
  560. package/daemon/dist/domain/skill-mirror-drift.js +23 -12
  561. package/daemon/dist/domain/skill-mirror-drift.js.map +1 -1
  562. package/daemon/dist/domain/slow-op-recorder.d.ts +5 -0
  563. package/daemon/dist/domain/slow-op-recorder.d.ts.map +1 -1
  564. package/daemon/dist/domain/slow-op-recorder.js +34 -1
  565. package/daemon/dist/domain/slow-op-recorder.js.map +1 -1
  566. package/daemon/dist/domain/snapshot-repository.d.ts.map +1 -1
  567. package/daemon/dist/domain/snapshot-repository.js +12 -32
  568. package/daemon/dist/domain/snapshot-repository.js.map +1 -1
  569. package/daemon/dist/domain/startup-orchestrator.d.ts +30 -5
  570. package/daemon/dist/domain/startup-orchestrator.d.ts.map +1 -1
  571. package/daemon/dist/domain/startup-orchestrator.js +143 -43
  572. package/daemon/dist/domain/startup-orchestrator.js.map +1 -1
  573. package/daemon/dist/domain/startup-proof.d.ts +7 -0
  574. package/daemon/dist/domain/startup-proof.d.ts.map +1 -1
  575. package/daemon/dist/domain/startup-proof.js +7 -0
  576. package/daemon/dist/domain/startup-proof.js.map +1 -1
  577. package/daemon/dist/domain/startup-submission-evidence.d.ts +5 -1
  578. package/daemon/dist/domain/startup-submission-evidence.d.ts.map +1 -1
  579. package/daemon/dist/domain/startup-submission-evidence.js +19 -2
  580. package/daemon/dist/domain/startup-submission-evidence.js.map +1 -1
  581. package/daemon/dist/domain/successor-session-launcher.d.ts +9 -3
  582. package/daemon/dist/domain/successor-session-launcher.d.ts.map +1 -1
  583. package/daemon/dist/domain/successor-session-launcher.js +12 -4
  584. package/daemon/dist/domain/successor-session-launcher.js.map +1 -1
  585. package/daemon/dist/domain/system-world.d.ts +3 -0
  586. package/daemon/dist/domain/system-world.d.ts.map +1 -1
  587. package/daemon/dist/domain/system-world.js +24 -21
  588. package/daemon/dist/domain/system-world.js.map +1 -1
  589. package/daemon/dist/domain/terminal/cmux-provider-adapter.d.ts.map +1 -1
  590. package/daemon/dist/domain/terminal/cmux-provider-adapter.js +2 -3
  591. package/daemon/dist/domain/terminal/cmux-provider-adapter.js.map +1 -1
  592. package/daemon/dist/domain/terminal/herdr-adapter.d.ts +23 -5
  593. package/daemon/dist/domain/terminal/herdr-adapter.d.ts.map +1 -1
  594. package/daemon/dist/domain/terminal/herdr-adapter.js +116 -15
  595. package/daemon/dist/domain/terminal/herdr-adapter.js.map +1 -1
  596. package/daemon/dist/domain/terminal/terminal-provider.d.ts +11 -0
  597. package/daemon/dist/domain/terminal/terminal-provider.d.ts.map +1 -1
  598. package/daemon/dist/domain/terminal/terminal-service.d.ts +14 -0
  599. package/daemon/dist/domain/terminal/terminal-service.d.ts.map +1 -1
  600. package/daemon/dist/domain/terminal/terminal-service.js +91 -10
  601. package/daemon/dist/domain/terminal/terminal-service.js.map +1 -1
  602. package/daemon/dist/domain/terminal/view-composer.d.ts +6 -0
  603. package/daemon/dist/domain/terminal/view-composer.d.ts.map +1 -1
  604. package/daemon/dist/domain/terminal/view-composer.js +4 -2
  605. package/daemon/dist/domain/terminal/view-composer.js.map +1 -1
  606. package/daemon/dist/domain/topology/remote-up-leaf.d.ts +1 -0
  607. package/daemon/dist/domain/topology/remote-up-leaf.d.ts.map +1 -1
  608. package/daemon/dist/domain/topology/remote-up-leaf.js.map +1 -1
  609. package/daemon/dist/domain/transcript-store.d.ts.map +1 -1
  610. package/daemon/dist/domain/transcript-store.js +24 -11
  611. package/daemon/dist/domain/transcript-store.js.map +1 -1
  612. package/daemon/dist/domain/types.d.ts +8 -0
  613. package/daemon/dist/domain/types.d.ts.map +1 -1
  614. package/daemon/dist/domain/types.js.map +1 -1
  615. package/daemon/dist/domain/usage-samples-store.js +2 -2
  616. package/daemon/dist/domain/usage-samples-store.js.map +1 -1
  617. package/daemon/dist/domain/usage-series.d.ts.map +1 -1
  618. package/daemon/dist/domain/usage-series.js +42 -10
  619. package/daemon/dist/domain/usage-series.js.map +1 -1
  620. package/daemon/dist/domain/user-settings/settings-browser.d.ts.map +1 -1
  621. package/daemon/dist/domain/user-settings/settings-browser.js +2 -0
  622. package/daemon/dist/domain/user-settings/settings-browser.js.map +1 -1
  623. package/daemon/dist/domain/user-settings/settings-store.d.ts +1 -1
  624. package/daemon/dist/domain/user-settings/settings-store.d.ts.map +1 -1
  625. package/daemon/dist/domain/user-settings/settings-store.js +14 -1
  626. package/daemon/dist/domain/user-settings/settings-store.js.map +1 -1
  627. package/daemon/dist/domain/watchdog-due.d.ts +17 -0
  628. package/daemon/dist/domain/watchdog-due.d.ts.map +1 -0
  629. package/daemon/dist/domain/watchdog-due.js +45 -0
  630. package/daemon/dist/domain/watchdog-due.js.map +1 -0
  631. package/daemon/dist/domain/watchdog-scheduler.d.ts.map +1 -1
  632. package/daemon/dist/domain/watchdog-scheduler.js +3 -7
  633. package/daemon/dist/domain/watchdog-scheduler.js.map +1 -1
  634. package/daemon/dist/domain/workflow-projector.d.ts.map +1 -1
  635. package/daemon/dist/domain/workflow-projector.js +15 -5
  636. package/daemon/dist/domain/workflow-projector.js.map +1 -1
  637. package/daemon/dist/domain/workflow-runtime.d.ts +1 -1
  638. package/daemon/dist/domain/workflow-runtime.js +1 -1
  639. package/daemon/dist/domain/workflow-runtime.js.map +1 -1
  640. package/daemon/dist/domain/workflow-step-trail-log.d.ts +6 -0
  641. package/daemon/dist/domain/workflow-step-trail-log.d.ts.map +1 -1
  642. package/daemon/dist/domain/workflow-step-trail-log.js +11 -0
  643. package/daemon/dist/domain/workflow-step-trail-log.js.map +1 -1
  644. package/daemon/dist/domain/workspace/project-catalog.d.ts +20 -0
  645. package/daemon/dist/domain/workspace/project-catalog.d.ts.map +1 -1
  646. package/daemon/dist/domain/workspace/project-catalog.js +92 -0
  647. package/daemon/dist/domain/workspace/project-catalog.js.map +1 -1
  648. package/daemon/dist/domain/workspace/project-registration.d.ts +49 -0
  649. package/daemon/dist/domain/workspace/project-registration.d.ts.map +1 -0
  650. package/daemon/dist/domain/workspace/project-registration.js +251 -0
  651. package/daemon/dist/domain/workspace/project-registration.js.map +1 -0
  652. package/daemon/dist/gateway-slack-surface.d.ts +1 -0
  653. package/daemon/dist/gateway-slack-surface.d.ts.map +1 -1
  654. package/daemon/dist/gateway-slack-surface.js +2 -1
  655. package/daemon/dist/gateway-slack-surface.js.map +1 -1
  656. package/daemon/dist/index.d.ts +1 -0
  657. package/daemon/dist/index.d.ts.map +1 -1
  658. package/daemon/dist/index.js +9 -8
  659. package/daemon/dist/index.js.map +1 -1
  660. package/daemon/dist/project-catalog-surface.d.ts +2 -1
  661. package/daemon/dist/project-catalog-surface.d.ts.map +1 -1
  662. package/daemon/dist/project-catalog-surface.js +1 -1
  663. package/daemon/dist/project-catalog-surface.js.map +1 -1
  664. package/daemon/dist/routes/agent-images.js +5 -5
  665. package/daemon/dist/routes/agent-images.js.map +1 -1
  666. package/daemon/dist/routes/bootstrap-failure-response.d.ts +13 -0
  667. package/daemon/dist/routes/bootstrap-failure-response.d.ts.map +1 -0
  668. package/daemon/dist/routes/bootstrap-failure-response.js +52 -0
  669. package/daemon/dist/routes/bootstrap-failure-response.js.map +1 -0
  670. package/daemon/dist/routes/bundles.d.ts.map +1 -1
  671. package/daemon/dist/routes/bundles.js +197 -449
  672. package/daemon/dist/routes/bundles.js.map +1 -1
  673. package/daemon/dist/routes/chat.d.ts.map +1 -1
  674. package/daemon/dist/routes/chat.js +16 -1
  675. package/daemon/dist/routes/chat.js.map +1 -1
  676. package/daemon/dist/routes/compaction.d.ts.map +1 -1
  677. package/daemon/dist/routes/compaction.js +14 -2
  678. package/daemon/dist/routes/compaction.js.map +1 -1
  679. package/daemon/dist/routes/env.d.ts.map +1 -1
  680. package/daemon/dist/routes/env.js +14 -4
  681. package/daemon/dist/routes/env.js.map +1 -1
  682. package/daemon/dist/routes/gateway.d.ts.map +1 -1
  683. package/daemon/dist/routes/gateway.js +5 -0
  684. package/daemon/dist/routes/gateway.js.map +1 -1
  685. package/daemon/dist/routes/projects.d.ts.map +1 -1
  686. package/daemon/dist/routes/projects.js +4 -2
  687. package/daemon/dist/routes/projects.js.map +1 -1
  688. package/daemon/dist/routes/restore-check.d.ts.map +1 -1
  689. package/daemon/dist/routes/restore-check.js +2 -0
  690. package/daemon/dist/routes/restore-check.js.map +1 -1
  691. package/daemon/dist/routes/rigs.d.ts.map +1 -1
  692. package/daemon/dist/routes/rigs.js +5 -4
  693. package/daemon/dist/routes/rigs.js.map +1 -1
  694. package/daemon/dist/routes/rigspec.js +4 -2
  695. package/daemon/dist/routes/rigspec.js.map +1 -1
  696. package/daemon/dist/routes/seat.js +23 -16
  697. package/daemon/dist/routes/seat.js.map +1 -1
  698. package/daemon/dist/routes/sessions.d.ts.map +1 -1
  699. package/daemon/dist/routes/sessions.js +12 -11
  700. package/daemon/dist/routes/sessions.js.map +1 -1
  701. package/daemon/dist/routes/skills.d.ts.map +1 -1
  702. package/daemon/dist/routes/skills.js +15 -7
  703. package/daemon/dist/routes/skills.js.map +1 -1
  704. package/daemon/dist/routes/telemetry.d.ts +2 -0
  705. package/daemon/dist/routes/telemetry.d.ts.map +1 -1
  706. package/daemon/dist/routes/telemetry.js +16 -0
  707. package/daemon/dist/routes/telemetry.js.map +1 -1
  708. package/daemon/dist/routes/terminal-ws.js +15 -2
  709. package/daemon/dist/routes/terminal-ws.js.map +1 -1
  710. package/daemon/dist/routes/terminal.d.ts.map +1 -1
  711. package/daemon/dist/routes/terminal.js +6 -4
  712. package/daemon/dist/routes/terminal.js.map +1 -1
  713. package/daemon/dist/routes/up.d.ts.map +1 -1
  714. package/daemon/dist/routes/up.js +12 -59
  715. package/daemon/dist/routes/up.js.map +1 -1
  716. package/daemon/dist/server.d.ts +1 -0
  717. package/daemon/dist/server.d.ts.map +1 -1
  718. package/daemon/dist/server.js +4 -1
  719. package/daemon/dist/server.js.map +1 -1
  720. package/daemon/dist/spec-validation-surface.d.ts +2 -0
  721. package/daemon/dist/spec-validation-surface.d.ts.map +1 -1
  722. package/daemon/dist/spec-validation-surface.js +2 -0
  723. package/daemon/dist/spec-validation-surface.js.map +1 -1
  724. package/daemon/dist/startup.d.ts.map +1 -1
  725. package/daemon/dist/startup.js +65 -18
  726. package/daemon/dist/startup.js.map +1 -1
  727. package/daemon/dist/system-world-surface.d.ts +1 -1
  728. package/daemon/dist/system-world-surface.d.ts.map +1 -1
  729. package/daemon/dist/system-world-surface.js +1 -1
  730. package/daemon/dist/system-world-surface.js.map +1 -1
  731. package/daemon/dist/terminal/TerminalSessionBroker.d.ts.map +1 -1
  732. package/daemon/dist/terminal/TerminalSessionBroker.js +9 -1
  733. package/daemon/dist/terminal/TerminalSessionBroker.js.map +1 -1
  734. package/daemon/docs/reference/agent-spec.md +114 -68
  735. package/daemon/docs/reference/agent-startup-guide.md +111 -33
  736. package/daemon/docs/reference/agent-state-taxonomy.md +44 -13
  737. package/daemon/docs/reference/browser-access.md +8 -7
  738. package/daemon/docs/reference/bundle-formats.md +209 -0
  739. package/daemon/docs/reference/chain-file-convention.md +18 -9
  740. package/daemon/docs/reference/developing.md +8 -1
  741. package/daemon/docs/reference/edge-types.md +18 -10
  742. package/daemon/docs/reference/getting-started.md +593 -139
  743. package/daemon/docs/reference/health-diagnosis.md +14 -6
  744. package/daemon/docs/reference/help.md +66 -12
  745. package/daemon/docs/reference/host-resources.md +3 -2
  746. package/daemon/docs/reference/inventory-request-diagnostics.md +75 -0
  747. package/daemon/docs/reference/knowledge-maturity.md +3 -1
  748. package/daemon/docs/reference/legacy-topology-migration.md +4 -2
  749. package/daemon/docs/reference/lore-routing.md +3 -1
  750. package/daemon/docs/reference/mission-install.md +3 -1
  751. package/daemon/docs/reference/non-interruptive-mode.md +63 -0
  752. package/daemon/docs/reference/planning-dial.md +2 -1
  753. package/daemon/docs/reference/product-journey-sdlc.md +11 -6
  754. package/daemon/docs/reference/product-management-pass.md +3 -1
  755. package/daemon/docs/reference/project-workspace.md +81 -4
  756. package/daemon/docs/reference/publishing-a-rig-bundle.md +147 -0
  757. package/daemon/docs/reference/refocus-channel.md +28 -7
  758. package/daemon/docs/reference/release-boundary.md +7 -3
  759. package/daemon/docs/reference/rig-bundle.md +292 -43
  760. package/daemon/docs/reference/rig-spec.md +175 -26
  761. package/daemon/docs/reference/rosters.md +61 -0
  762. package/daemon/docs/reference/schemas/bundle-behaviour.v1.schema.json +546 -0
  763. package/daemon/docs/reference/schemas/bundle-common.v1.schema.json +110 -0
  764. package/daemon/docs/reference/schemas/bundle-configurations.v1.schema.json +67 -0
  765. package/daemon/docs/reference/schemas/bundle-status.v1.schema.json +323 -0
  766. package/daemon/docs/reference/schemas/fixtures/identity-vectors.json +80 -0
  767. package/daemon/docs/reference/schemas/fixtures/invalid/behaviour/not-generated-with-sections.json +60 -0
  768. package/daemon/docs/reference/schemas/fixtures/invalid/configurations/spaced-member.configurations.yaml +6 -0
  769. package/daemon/docs/reference/schemas/fixtures/invalid/registry/listed-with-withdrawn-on.yaml +21 -0
  770. package/daemon/docs/reference/schemas/fixtures/invalid/registry/missing-source.yaml +16 -0
  771. package/daemon/docs/reference/schemas/fixtures/invalid/registry/parent-folder.yaml +20 -0
  772. package/daemon/docs/reference/schemas/fixtures/invalid/registry/short-commit.yaml +20 -0
  773. package/daemon/docs/reference/schemas/fixtures/invalid/registry/withdrawn-without-date.yaml +20 -0
  774. package/daemon/docs/reference/schemas/fixtures/invalid/run-record/harness-check-with-configuration.json +75 -0
  775. package/daemon/docs/reference/schemas/fixtures/invalid/run-record/unlabelable-platform.json +97 -0
  776. package/daemon/docs/reference/schemas/fixtures/invalid/status/hand-edited-notice.json +61 -0
  777. package/daemon/docs/reference/schemas/fixtures/invalid/status/tested-with-assistance.json +62 -0
  778. package/daemon/docs/reference/schemas/fixtures/invalid/status/tested-without-records.json +59 -0
  779. package/daemon/docs/reference/schemas/fixtures/invalid/status/unavailable-harness-with-result.json +61 -0
  780. package/daemon/docs/reference/schemas/fixtures/invalid/status/unavailable-listing-with-label.json +61 -0
  781. package/daemon/docs/reference/schemas/fixtures/valid/behaviour/custom-not-generated.json +22 -0
  782. package/daemon/docs/reference/schemas/fixtures/valid/behaviour/legacy-archive-unknown-identity.json +53 -0
  783. package/daemon/docs/reference/schemas/fixtures/valid/behaviour/mixed-runtimes-default.json +101 -0
  784. package/daemon/docs/reference/schemas/fixtures/valid/behaviour/mixed-runtimes-yolo.json +102 -0
  785. package/daemon/docs/reference/schemas/fixtures/valid/behaviour/openrig-dev.recommended.json +258 -0
  786. package/daemon/docs/reference/schemas/fixtures/valid/configurations/openrig-dev.configurations.yaml +12 -0
  787. package/daemon/docs/reference/schemas/fixtures/valid/registry/openrig-dev.yaml +20 -0
  788. package/daemon/docs/reference/schemas/fixtures/valid/registry/withdrawn.yaml +21 -0
  789. package/daemon/docs/reference/schemas/fixtures/valid/run-record/pi-harness-check-blocked.json +74 -0
  790. package/daemon/docs/reference/schemas/fixtures/valid/run-record/team-assisted-pass.json +97 -0
  791. package/daemon/docs/reference/schemas/fixtures/valid/run-record/team-pass.json +97 -0
  792. package/daemon/docs/reference/schemas/fixtures/valid/run-record/withdraws-earlier.json +99 -0
  793. package/daemon/docs/reference/schemas/fixtures/valid/status/status.json +61 -0
  794. package/daemon/docs/reference/schemas/registry-entry.v1.schema.json +139 -0
  795. package/daemon/docs/reference/schemas/run-record.v1.schema.json +315 -0
  796. package/daemon/docs/reference/scoped-operating-posture.md +17 -9
  797. package/daemon/docs/reference/sdlc-conventions.md +46 -28
  798. package/daemon/docs/reference/slack-app-setup.md +112 -11
  799. package/daemon/docs/reference/stream-classifier-worker.md +21 -8
  800. package/daemon/docs/reference/telemetry.md +114 -0
  801. package/daemon/docs/reference/whats-new.md +134 -0
  802. package/daemon/docs/reference/worktree-builds.md +12 -6
  803. package/daemon/policies/builtin/auto.policy.md +24 -0
  804. package/daemon/specs/agents/development/implementer/agent.yaml +2 -2
  805. package/daemon/specs/agents/development/qa/agent.yaml +1 -1
  806. package/daemon/specs/agents/product-management/pm/agent.yaml +10 -0
  807. package/daemon/specs/agents/shared/skills/core/agent-starters/SKILL.md +0 -6
  808. package/daemon/specs/agents/shared/skills/core/agent-startup-and-context-ingestion/SKILL.md +1 -8
  809. package/daemon/specs/agents/shared/skills/core/openrig-architect/SKILL.md +5 -5
  810. package/daemon/specs/agents/shared/skills/core/openrig-skills/SKILL.md +4 -5
  811. package/daemon/specs/agents/shared/skills/core/openrig-software-factory/SKILL.md +31 -21
  812. package/daemon/specs/agents/shared/skills/core/openrig-software-factory/references/worked-example.md +31 -31
  813. package/daemon/specs/agents/shared/skills/core/openrig-upgrade/SKILL.md +2 -0
  814. package/daemon/specs/agents/shared/skills/core/rig-bundles-and-shareable-artifacts/SKILL.md +0 -1
  815. package/daemon/specs/agents/shared/skills/core/session-source-fork/SKILL.md +0 -5
  816. package/daemon/specs/agents/shared/skills/process/agent-browser/OPENRIG.md +1 -1
  817. package/daemon/specs/agents/shared/skills/process/systematic-debugging/SKILL.md +0 -2
  818. package/daemon/specs/rigs/focused/{adversarial-review → code-review}/rig.yaml +1 -1
  819. package/daemon/specs/rigs/focused/pm/CULTURE.md +21 -0
  820. package/daemon/specs/rigs/focused/{pm-team → pm}/rig.yaml +5 -5
  821. package/daemon/specs/rigs/focused/{research-team → research}/rig.yaml +1 -1
  822. package/daemon/specs/rigs/launch/factory/CULTURE.md +96 -0
  823. package/daemon/specs/rigs/launch/factory/guidance/advisor-role.md +10 -0
  824. package/daemon/specs/rigs/launch/factory/guidance/lead-first-move.md +83 -0
  825. package/daemon/specs/rigs/launch/{demo → factory}/rig.yaml +46 -35
  826. package/daemon/specs/rigs/{preview/product-team → launch/factory}/topology/instance/CRAFT.md +1 -1
  827. package/daemon/specs/rigs/{preview/product-team → launch/factory}/topology/rig/CRAFT.md +2 -2
  828. package/daemon/specs/rigs/{preview/product-team → launch/factory}/topology/rig/ORCHESTRATION-CRAFT.md +2 -2
  829. package/daemon/specs/rigs/{preview/product-team/topology/seats/dev1-qa → launch/factory/topology/seats/dev-qa}/CRAFT.md +1 -1
  830. package/daemon/specs/rigs/{preview/product-team/topology/seats/orch1-lead → launch/factory/topology/seats/orch-lead}/CRAFT.md +1 -1
  831. package/daemon/specs/rigs/{preview/product-team/topology/seats/rev1-r1 → launch/factory/topology/seats/review-r1}/CRAFT.md +1 -1
  832. package/daemon/specs/rigs/{preview/product-team/topology/seats/rev1-r2 → launch/factory/topology/seats/review-r2}/CRAFT.md +1 -1
  833. package/daemon/specs/rigs/launch/kernel/agents/advisor/lead/guidance/role.md +37 -0
  834. package/daemon/specs/rigs/launch/kernel/agents/advisor/lead/startup/context.md +12 -13
  835. package/daemon/specs/rigs/launch/kernel/agents/operator/agent/guidance/role.md +258 -9
  836. package/daemon/specs/rigs/launch/kernel/agents/operator/agent/startup/context.md +30 -7
  837. package/daemon/specs/rigs/launch/kernel/agents/queue/worker/guidance/role.md +37 -0
  838. package/daemon/specs/rigs/launch/kernel/culture/CULTURE.md +46 -2
  839. package/daemon/specs/rigs/launch/starter/CULTURE.md +39 -0
  840. package/daemon/specs/rigs/launch/starter/guidance/lead-first-move.md +67 -0
  841. package/daemon/specs/rigs/launch/{first-project-mixed → starter}/rig.yaml +11 -8
  842. package/dist/build-info.js +3 -3
  843. package/dist/bundle-behaviour.d.ts +10 -0
  844. package/dist/bundle-behaviour.d.ts.map +1 -0
  845. package/dist/bundle-behaviour.js +72 -0
  846. package/dist/bundle-behaviour.js.map +1 -0
  847. package/dist/cli-error.d.ts.map +1 -1
  848. package/dist/cli-error.js +11 -3
  849. package/dist/cli-error.js.map +1 -1
  850. package/dist/client.d.ts +2 -0
  851. package/dist/client.d.ts.map +1 -1
  852. package/dist/client.js +2 -0
  853. package/dist/client.js.map +1 -1
  854. package/dist/commands/agent-image.js +2 -2
  855. package/dist/commands/agent-image.js.map +1 -1
  856. package/dist/commands/bootstrap.d.ts.map +1 -1
  857. package/dist/commands/bootstrap.js +30 -5
  858. package/dist/commands/bootstrap.js.map +1 -1
  859. package/dist/commands/bundle.d.ts +12 -0
  860. package/dist/commands/bundle.d.ts.map +1 -1
  861. package/dist/commands/bundle.js +288 -22
  862. package/dist/commands/bundle.js.map +1 -1
  863. package/dist/commands/capture.js +4 -4
  864. package/dist/commands/capture.js.map +1 -1
  865. package/dist/commands/chatroom.d.ts.map +1 -1
  866. package/dist/commands/chatroom.js +21 -1
  867. package/dist/commands/chatroom.js.map +1 -1
  868. package/dist/commands/compact-plan.js +2 -2
  869. package/dist/commands/compact-plan.js.map +1 -1
  870. package/dist/commands/config.d.ts.map +1 -1
  871. package/dist/commands/config.js +3 -0
  872. package/dist/commands/config.js.map +1 -1
  873. package/dist/commands/context.d.ts +3 -1
  874. package/dist/commands/context.d.ts.map +1 -1
  875. package/dist/commands/context.js +70 -20
  876. package/dist/commands/context.js.map +1 -1
  877. package/dist/commands/daemon.js +1 -1
  878. package/dist/commands/daemon.js.map +1 -1
  879. package/dist/commands/doctor.d.ts +3 -1
  880. package/dist/commands/doctor.d.ts.map +1 -1
  881. package/dist/commands/doctor.js +17 -5
  882. package/dist/commands/doctor.js.map +1 -1
  883. package/dist/commands/down.d.ts.map +1 -1
  884. package/dist/commands/down.js +49 -1
  885. package/dist/commands/down.js.map +1 -1
  886. package/dist/commands/env.js +1 -1
  887. package/dist/commands/env.js.map +1 -1
  888. package/dist/commands/gateway.d.ts.map +1 -1
  889. package/dist/commands/gateway.js +4 -3
  890. package/dist/commands/gateway.js.map +1 -1
  891. package/dist/commands/health.d.ts.map +1 -1
  892. package/dist/commands/health.js +4 -1
  893. package/dist/commands/health.js.map +1 -1
  894. package/dist/commands/host.d.ts +11 -0
  895. package/dist/commands/host.d.ts.map +1 -1
  896. package/dist/commands/host.js +25 -1
  897. package/dist/commands/host.js.map +1 -1
  898. package/dist/commands/import.d.ts.map +1 -1
  899. package/dist/commands/import.js +2 -0
  900. package/dist/commands/import.js.map +1 -1
  901. package/dist/commands/mcp.d.ts.map +1 -1
  902. package/dist/commands/mcp.js +25 -12
  903. package/dist/commands/mcp.js.map +1 -1
  904. package/dist/commands/package.d.ts.map +1 -1
  905. package/dist/commands/package.js +6 -3
  906. package/dist/commands/package.js.map +1 -1
  907. package/dist/commands/policy.d.ts.map +1 -1
  908. package/dist/commands/policy.js +9 -7
  909. package/dist/commands/policy.js.map +1 -1
  910. package/dist/commands/project-jev.js +1 -1
  911. package/dist/commands/project-jev.js.map +1 -1
  912. package/dist/commands/project.d.ts.map +1 -1
  913. package/dist/commands/project.js +5 -3
  914. package/dist/commands/project.js.map +1 -1
  915. package/dist/commands/ps.d.ts +1 -0
  916. package/dist/commands/ps.d.ts.map +1 -1
  917. package/dist/commands/ps.js +12 -2
  918. package/dist/commands/ps.js.map +1 -1
  919. package/dist/commands/queue.d.ts.map +1 -1
  920. package/dist/commands/queue.js +10 -5
  921. package/dist/commands/queue.js.map +1 -1
  922. package/dist/commands/restore-packet.d.ts.map +1 -1
  923. package/dist/commands/restore-packet.js +6 -4
  924. package/dist/commands/restore-packet.js.map +1 -1
  925. package/dist/commands/restore.d.ts.map +1 -1
  926. package/dist/commands/restore.js +5 -0
  927. package/dist/commands/restore.js.map +1 -1
  928. package/dist/commands/roster.d.ts +63 -0
  929. package/dist/commands/roster.d.ts.map +1 -0
  930. package/dist/commands/roster.js +169 -0
  931. package/dist/commands/roster.js.map +1 -0
  932. package/dist/commands/scope.js +5 -5
  933. package/dist/commands/scope.js.map +1 -1
  934. package/dist/commands/seat.d.ts.map +1 -1
  935. package/dist/commands/seat.js +57 -8
  936. package/dist/commands/seat.js.map +1 -1
  937. package/dist/commands/send.d.ts.map +1 -1
  938. package/dist/commands/send.js +20 -6
  939. package/dist/commands/send.js.map +1 -1
  940. package/dist/commands/setup.d.ts +7 -16
  941. package/dist/commands/setup.d.ts.map +1 -1
  942. package/dist/commands/setup.js +174 -338
  943. package/dist/commands/setup.js.map +1 -1
  944. package/dist/commands/skill.d.ts.map +1 -1
  945. package/dist/commands/skill.js +6 -1
  946. package/dist/commands/skill.js.map +1 -1
  947. package/dist/commands/slack.d.ts +6 -2
  948. package/dist/commands/slack.d.ts.map +1 -1
  949. package/dist/commands/slack.js +192 -10
  950. package/dist/commands/slack.js.map +1 -1
  951. package/dist/commands/specs.d.ts.map +1 -1
  952. package/dist/commands/specs.js +19 -2
  953. package/dist/commands/specs.js.map +1 -1
  954. package/dist/commands/start.js +1 -1
  955. package/dist/commands/start.js.map +1 -1
  956. package/dist/commands/stream.js +1 -1
  957. package/dist/commands/stream.js.map +1 -1
  958. package/dist/commands/telemetry.d.ts +5 -0
  959. package/dist/commands/telemetry.d.ts.map +1 -0
  960. package/dist/commands/telemetry.js +58 -0
  961. package/dist/commands/telemetry.js.map +1 -0
  962. package/dist/commands/terminal.d.ts +33 -0
  963. package/dist/commands/terminal.d.ts.map +1 -1
  964. package/dist/commands/terminal.js +30 -12
  965. package/dist/commands/terminal.js.map +1 -1
  966. package/dist/commands/tui.js +4 -4
  967. package/dist/commands/tui.js.map +1 -1
  968. package/dist/commands/up.d.ts.map +1 -1
  969. package/dist/commands/up.js +115 -68
  970. package/dist/commands/up.js.map +1 -1
  971. package/dist/commands/whoami.d.ts +3 -0
  972. package/dist/commands/whoami.d.ts.map +1 -1
  973. package/dist/commands/whoami.js +29 -2
  974. package/dist/commands/whoami.js.map +1 -1
  975. package/dist/commands/workflow-follow.d.ts +1 -1
  976. package/dist/commands/workflow-follow.d.ts.map +1 -1
  977. package/dist/commands/workflow-follow.js +4 -3
  978. package/dist/commands/workflow-follow.js.map +1 -1
  979. package/dist/commands/workflow.d.ts.map +1 -1
  980. package/dist/commands/workflow.js +30 -18
  981. package/dist/commands/workflow.js.map +1 -1
  982. package/dist/config-store.d.ts +5 -1
  983. package/dist/config-store.d.ts.map +1 -1
  984. package/dist/config-store.js +17 -2
  985. package/dist/config-store.js.map +1 -1
  986. package/dist/daemon-auto-start.d.ts +8 -0
  987. package/dist/daemon-auto-start.d.ts.map +1 -0
  988. package/dist/daemon-auto-start.js +39 -0
  989. package/dist/daemon-auto-start.js.map +1 -0
  990. package/dist/front-door.d.ts.map +1 -1
  991. package/dist/front-door.js +5 -2
  992. package/dist/front-door.js.map +1 -1
  993. package/dist/herdr-launch-config.d.ts +3 -0
  994. package/dist/herdr-launch-config.d.ts.map +1 -0
  995. package/dist/herdr-launch-config.js +37 -0
  996. package/dist/herdr-launch-config.js.map +1 -0
  997. package/dist/index.d.ts +1 -0
  998. package/dist/index.d.ts.map +1 -1
  999. package/dist/index.js +6 -1
  1000. package/dist/index.js.map +1 -1
  1001. package/dist/lib/bundle-check.d.ts +13 -0
  1002. package/dist/lib/bundle-check.d.ts.map +1 -0
  1003. package/dist/lib/bundle-check.js +191 -0
  1004. package/dist/lib/bundle-check.js.map +1 -0
  1005. package/dist/lib/bundle-configuration.d.ts +60 -0
  1006. package/dist/lib/bundle-configuration.d.ts.map +1 -0
  1007. package/dist/lib/bundle-configuration.js +198 -0
  1008. package/dist/lib/bundle-configuration.js.map +1 -0
  1009. package/dist/lib/bundle-source.d.ts +59 -0
  1010. package/dist/lib/bundle-source.d.ts.map +1 -0
  1011. package/dist/lib/bundle-source.js +366 -0
  1012. package/dist/lib/bundle-source.js.map +1 -0
  1013. package/dist/lib/context-git.d.ts +2 -0
  1014. package/dist/lib/context-git.d.ts.map +1 -1
  1015. package/dist/lib/context-git.js +55 -5
  1016. package/dist/lib/context-git.js.map +1 -1
  1017. package/dist/lib/context-install.d.ts.map +1 -1
  1018. package/dist/lib/context-install.js +2 -3
  1019. package/dist/lib/context-install.js.map +1 -1
  1020. package/dist/lib/permission-policy/policy-ref.d.ts +6 -1
  1021. package/dist/lib/permission-policy/policy-ref.d.ts.map +1 -1
  1022. package/dist/lib/permission-policy/policy-ref.js +16 -4
  1023. package/dist/lib/permission-policy/policy-ref.js.map +1 -1
  1024. package/dist/lib/permission-policy/policy-spec.d.ts +1 -1
  1025. package/dist/lib/permission-policy/policy-spec.d.ts.map +1 -1
  1026. package/dist/lib/permission-policy/policy-spec.js +2 -2
  1027. package/dist/lib/permission-policy/policy-spec.js.map +1 -1
  1028. package/dist/lib/scope/scope-fs.d.ts +3 -2
  1029. package/dist/lib/scope/scope-fs.d.ts.map +1 -1
  1030. package/dist/lib/scope/scope-fs.js +97 -9
  1031. package/dist/lib/scope/scope-fs.js.map +1 -1
  1032. package/dist/lib/scope/templates.d.ts.map +1 -1
  1033. package/dist/lib/scope/templates.js +28 -23
  1034. package/dist/lib/scope/templates.js.map +1 -1
  1035. package/dist/lib/scope-templates/notes.md +1 -1
  1036. package/dist/lib/work-install.d.ts +12 -0
  1037. package/dist/lib/work-install.d.ts.map +1 -1
  1038. package/dist/lib/work-install.js +55 -4
  1039. package/dist/lib/work-install.js.map +1 -1
  1040. package/dist/provider-auth.d.ts +32 -0
  1041. package/dist/provider-auth.d.ts.map +1 -0
  1042. package/dist/provider-auth.js +128 -0
  1043. package/dist/provider-auth.js.map +1 -0
  1044. package/dist/terminal-window.d.ts +19 -0
  1045. package/dist/terminal-window.d.ts.map +1 -0
  1046. package/dist/terminal-window.js +513 -0
  1047. package/dist/terminal-window.js.map +1 -0
  1048. package/package.json +1 -1
  1049. package/tui/dist/commands/registry.d.ts.map +1 -1
  1050. package/tui/dist/commands/registry.js +9 -4
  1051. package/tui/dist/commands/registry.js.map +1 -1
  1052. package/tui/dist/config/config-model.d.ts.map +1 -1
  1053. package/tui/dist/config/config-model.js +1 -0
  1054. package/tui/dist/config/config-model.js.map +1 -1
  1055. package/tui/dist/connections/connections-model.d.ts +5 -0
  1056. package/tui/dist/connections/connections-model.d.ts.map +1 -1
  1057. package/tui/dist/connections/connections-model.js +1 -1
  1058. package/tui/dist/connections/connections-model.js.map +1 -1
  1059. package/tui/dist/daemon-client.d.ts +6 -0
  1060. package/tui/dist/daemon-client.d.ts.map +1 -1
  1061. package/tui/dist/daemon-client.js +5 -2
  1062. package/tui/dist/daemon-client.js.map +1 -1
  1063. package/tui/dist/execution/workflow-model.d.ts.map +1 -1
  1064. package/tui/dist/execution/workflow-model.js +3 -1
  1065. package/tui/dist/execution/workflow-model.js.map +1 -1
  1066. package/tui/dist/hydrate.d.ts +1 -1
  1067. package/tui/dist/hydrate.d.ts.map +1 -1
  1068. package/tui/dist/hydrate.js +3 -1
  1069. package/tui/dist/hydrate.js.map +1 -1
  1070. package/tui/dist/main.js +53 -14
  1071. package/tui/dist/main.js.map +1 -1
  1072. package/tui/dist/page-read.js +1 -1
  1073. package/tui/dist/page-read.js.map +1 -1
  1074. package/tui/dist/pending-address.d.ts +7 -0
  1075. package/tui/dist/pending-address.d.ts.map +1 -0
  1076. package/tui/dist/pending-address.js +11 -0
  1077. package/tui/dist/pending-address.js.map +1 -0
  1078. package/tui/dist/render.d.ts.map +1 -1
  1079. package/tui/dist/render.js +74 -23
  1080. package/tui/dist/render.js.map +1 -1
  1081. package/tui/dist/socket-server.d.ts +3 -1
  1082. package/tui/dist/socket-server.d.ts.map +1 -1
  1083. package/tui/dist/socket-server.js +6 -0
  1084. package/tui/dist/socket-server.js.map +1 -1
  1085. package/tui/dist/specs/graph.d.ts +5 -0
  1086. package/tui/dist/specs/graph.d.ts.map +1 -0
  1087. package/tui/dist/specs/graph.js +16 -0
  1088. package/tui/dist/specs/graph.js.map +1 -0
  1089. package/tui/dist/specs/launch.d.ts +29 -0
  1090. package/tui/dist/specs/launch.d.ts.map +1 -0
  1091. package/tui/dist/specs/launch.js +64 -0
  1092. package/tui/dist/specs/launch.js.map +1 -0
  1093. package/tui/dist/startup.d.ts.map +1 -1
  1094. package/tui/dist/startup.js +15 -6
  1095. package/tui/dist/startup.js.map +1 -1
  1096. package/tui/dist/state.d.ts +2 -2
  1097. package/tui/dist/state.d.ts.map +1 -1
  1098. package/tui/dist/state.js +77 -27
  1099. package/tui/dist/state.js.map +1 -1
  1100. package/tui/dist/stylize.js +1 -1
  1101. package/tui/dist/stylize.js.map +1 -1
  1102. package/tui/dist/terminals/open-window.d.ts +5 -0
  1103. package/tui/dist/terminals/open-window.d.ts.map +1 -0
  1104. package/tui/dist/terminals/open-window.js +55 -0
  1105. package/tui/dist/terminals/open-window.js.map +1 -0
  1106. package/tui/dist/terminals/terminal-model.d.ts +1 -0
  1107. package/tui/dist/terminals/terminal-model.d.ts.map +1 -1
  1108. package/tui/dist/terminals/terminal-model.js +21 -5
  1109. package/tui/dist/terminals/terminal-model.js.map +1 -1
  1110. package/tui/dist/types.d.ts +32 -0
  1111. package/tui/dist/types.d.ts.map +1 -1
  1112. package/ui/dist/assets/{index-HHSvwF97.js → index-D5n8EwkG.js} +1 -1
  1113. package/ui/dist/index.html +1 -1
  1114. package/daemon/specs/rigs/launch/conveyor/README.md +0 -33
  1115. package/daemon/specs/rigs/launch/conveyor/rig.yaml +0 -72
  1116. package/daemon/specs/rigs/launch/demo/project-example/README.md +0 -25
  1117. package/daemon/specs/rigs/launch/demo/project-example/missions/improve-onboarding/SPEC.md +0 -19
  1118. package/daemon/specs/rigs/launch/demo/project-example/missions/improve-onboarding/slices/01-shorten-first-run/PROGRESS.md +0 -6
  1119. package/daemon/specs/rigs/launch/demo/project-example/missions/improve-onboarding/slices/01-shorten-first-run/PROOF.md +0 -7
  1120. package/daemon/specs/rigs/launch/demo/project-example/missions/improve-onboarding/slices/01-shorten-first-run/SPEC.md +0 -31
  1121. package/daemon/specs/rigs/launch/first-project/rig.yaml +0 -31
  1122. package/daemon/specs/rigs/launch/first-project-claude/rig.yaml +0 -30
  1123. package/daemon/specs/rigs/launch/implementation-pair/rig.yaml +0 -27
  1124. package/daemon/specs/rigs/preview/product-team/rig.yaml +0 -90
  1125. /package/daemon/specs/rigs/launch/factory-rsi/{rig.yaml → world-bundle.yaml} +0 -0
@@ -1,7 +1,7 @@
1
1
  # Reference guides the help pack links to, loaded one file or section at a time by address
2
2
  # (rig context get reference/<file>#<section>). Each file is a symlink to docs/reference/.
3
3
  name: reference
4
- version: "0.6.5"
4
+ version: "0.6.7"
5
5
  taxonomy: world
6
6
  purpose: "Version-matched reference guides the help guide links to. Load a single file or section by address; don't load the whole pack."
7
7
  files:
@@ -14,3 +14,6 @@ files:
14
14
  - path: rig-spec.md
15
15
  role: reference
16
16
  summary: "The rig specification format."
17
+ - path: whats-new.md
18
+ role: reference
19
+ summary: "What changed in the installed version, for an agent on an upgraded install."
@@ -1,8 +1,8 @@
1
1
  # RigSpec Reference
2
2
 
3
3
  Version: 0.2 (pod-aware)
4
- Last validated against code: 2026-04-11
5
- Source of truth: `packages/daemon/src/domain/rigspec-schema.ts`, `packages/daemon/src/domain/types.ts`
4
+ Last validated against code: 2026-10-07, at the 0.6.6 cut `2620dea8` (whole document at `fcaf1f8e`; changes to its sources since then checked)
5
+ Source of truth: `packages/daemon/src/domain/rigspec-schema.ts`, `packages/daemon/src/domain/types.ts`, `packages/daemon/src/domain/startup-validation.ts`, `packages/daemon/src/domain/permission-policy/policy-ref.ts`, `packages/daemon/src/domain/profile-resolver.ts`, `packages/daemon/src/domain/rigspec-preflight.ts`, `packages/daemon/src/adapters/kernel-authority.ts`, `packages/daemon/src/domain/native-permission-store.ts`, `packages/daemon/src/domain/codex-team-workspace.ts`
6
6
 
7
7
  This is the canonical reference for the pod-aware RigSpec YAML format. Every field, validation rule, and default documented here was traced from the actual parser and validator code, not from prior documentation.
8
8
 
@@ -121,7 +121,7 @@ pods:
121
121
  applies_on: [fresh_start]
122
122
  actions:
123
123
  - type: send_text
124
- value: "Load the implementation-pair skill and begin."
124
+ value: "Read your guidance and begin."
125
125
  phase: after_ready
126
126
  idempotent: true
127
127
  - id: qa
@@ -170,15 +170,17 @@ edges:
170
170
 
171
171
  | Field | Type | Required | Default | Description |
172
172
  |-------|------|----------|---------|-------------|
173
- | `version` | string | yes | — | Must be `"0.2"` for pod-aware specs. |
173
+ | `version` | string | yes | — | Use `"0.2"`. Any non-empty string validates; a spec is treated as pod-aware because `pods` is an array. |
174
174
  | `name` | string | yes | — | Rig name. Used in session naming (`{pod}-{member}@{name}`), snapshot identification, and spec library lookup. |
175
- | `summary` | string | no | — | Human-readable description. Shown in spec library, review surfaces, and `rig specs show`. |
175
+ | `summary` | string | no | — | Human-readable description. Shown in the spec library, review surfaces and `rig specs preview` (in `rig specs show` only with `--json`). |
176
176
  | `culture_file` | string | no | — | Relative path to a rig-wide culture/constitution file. Must be a safe relative path (no `..`, no absolute). |
177
- | `permission_policy` | string | no | — | Permission policy attached to the rig. Either a built-in (`builtin:locked`, `builtin:standard`, `builtin:open`, `builtin:yolo`) or a safe relative path to a custom policy file (resolved from this spec's directory; no `..`, no absolute). Absent leaves the default floor. A member may set its own `permission_policy`, which takes precedence over the rig-level one. See "Attaching a permission policy" below. |
178
- | `managed_blocks` | map | no | `CLAUDE.md` | File that receives OpenRig's managed instruction blocks for Claude Code members. Only the `claude-code` key is accepted, with `CLAUDE.md` or `CLAUDE.local.md`. Codex members always use `AGENTS.md`. See "Choosing the Claude instruction file" below. |
177
+ | `non_interruptive` | boolean | no | — | Pod-aware rig launch-warning default. With full-bypass Claude/Codex seats, true accepts or hides supported harness warnings using launch flags. Explicit CLI choices override this field; this field overrides the machine default. It does not grant permissions, change native settings files, or bypass login. |
178
+ | `permission_policy` | string | no | — | Permission policy attached to the rig. Either a built-in (`builtin:locked`, `builtin:standard`, `builtin:open`, `builtin:yolo`, `builtin:auto`) or a safe relative path to a custom policy file (resolved from this spec's directory; no `..`, no absolute, no empty segments, each segment `[A-Za-z0-9][A-Za-z0-9._-]*`), or `none`, a recorded choice of the floor. Absent uses the default floor with the scoped team launch allowances described below. A bare built-in name such as `yolo` is refused ("use 'builtin:yolo'"), and so is an explicit `null`. A custom file that is missing, unreadable or invalid isn't a validation error: it resolves to the floor, and preflight warns. A member may set its own `permission_policy` (not on a terminal member), which takes precedence over the rig-level one; there is no pod level. See "Attaching a permission policy" below. |
179
+ | `managed_blocks` | map | no | `CLAUDE.md` | File that receives OpenRig's managed instruction blocks for Claude Code members. Only the `claude-code` key is accepted, with `CLAUDE.md` or `CLAUDE.local.md`. Codex, Pi and OMP members use `AGENTS.md`. See "Choosing the Claude instruction file" below. |
180
+ | `workspace` | object | no | — | The rig's workspace: `workspace_root` (required), `repos[]` of `{name, path, kind}` with `kind` one of `user`, `project`, `knowledge`, `lab` or `delivery` and unique names, an optional `default_repo` naming one of them, and an optional `knowledge_root`. Relative repo paths resolve against `workspace_root`. |
179
181
  | `docs` | Doc[] | no | — | Documentation files that should travel with the rig. Included in rig bundles. Each entry has a `path` field (safe relative path). The engine does not consume these — they are for humans and agents setting up the environment before launch. |
180
182
  | `startup` | StartupBlock | no | — | Rig-level startup files and actions. Applied to all members via the startup layering model. |
181
- | `services` | ServicesBlock | no | — | Optional managed services (Docker Compose). When present, services boot before any agent launches. |
183
+ | `services` | ServicesBlock | no | — | Optional managed services (Docker Compose). When present, `rig up` boots them before any agent launches; `rig import` doesn't boot them. |
182
184
  | `pods` | Pod[] | yes | — | At least one pod required. Each pod is a bounded context containing members and pod-local edges. |
183
185
  | `edges` | CrossPodEdge[] | no | `[]` | Cross-pod edges connecting members in different pods. Must use fully-qualified `pod.member` IDs. |
184
186
 
@@ -194,7 +196,7 @@ permission_policy: builtin:standard
194
196
  permission_policy: policies/my-cautious-dev.policy.md
195
197
  ```
196
198
 
197
- Built-in policies (`locked` / `standard` / `open` / `yolo`) are read-only and are
199
+ Built-in policies (`locked` / `standard` / `open` / `yolo` / `auto`) are read-only and are
198
200
  referenced as `builtin:<name>`. A custom policy lives in your own project and is
199
201
  referenced by a safe relative path (no `..`, no absolute). A shipped example of the
200
202
  custom shape is `packages/daemon/policies/examples/my-cautious-dev.policy.md` — copy it
@@ -211,6 +213,124 @@ future managed launches of that stable seat; it does not rewrite this spec or
211
213
  its inherited policy provenance. `inherit` removes that override. See
212
214
  [per-seat permission mode](getting-started.md#per-seat-permission-mode).
213
215
 
216
+ ### Team launch defaults
217
+
218
+ A non-kernel Claude or Codex seat with no authored permission policy, explicit
219
+ seat permission selection, or named Codex profile receives the team launch
220
+ default. An explicit policy, including `none` or `builtin:locked`, keeps its
221
+ existing meaning. The default is derived again for fresh launch, resume, fork
222
+ and handover; it is not saved as a user choice. Kernel, Pi and terminal behavior
223
+ is unchanged.
224
+
225
+ Claude keeps `acceptEdits` and receives inline session settings allowing ordinary
226
+ `rig` commands, project reads and common project test commands (for example,
227
+ `npm test`, `pnpm test`, `pytest`, `go test` and `cargo test`). Lifecycle commands
228
+ such as `rig up`, `rig down`, `rig restore`, `rig bundle install` and seat stop or
229
+ handover ask through a session `PreToolUse` hook. Their literal help forms, such
230
+ as `rig down --help`, `rig bundle install -h` and `rig help down`, run without
231
+ that lifecycle prompt. Native personal, project and managed deny/ask rules still
232
+ apply; OpenRig does not remove or override them.
233
+
234
+ For allowances, the hook recognizes literal command words (including quoted or absolute paths),
235
+ leading environment assignments that do not change executable lookup or startup,
236
+ and `env`, `command` and `exec` wrappers without options other than `--`.
237
+ Relative executable paths and assignments such as `PATH` or `NODE_OPTIONS` stay
238
+ with native checks. The same existing team allowances apply after spelling
239
+ normalization; project `node_modules/.bin/vitest` and `jest` paths match their
240
+ existing `npx` allowances. It does not automatically allow pipelines, command
241
+ substitutions, redirects, heredocs, shell functions or other unrecognized syntax.
242
+ Lifecycle prefixes are checked at every word position, including after wrappers,
243
+ control-flow words and CLI argument separators. A `--` separator before or after
244
+ the subcommand ends option parsing, so a later `--help` is an operand and still
245
+ asks. Ask detection also scans with comment text retained, so a `#` inside a
246
+ substitution does not hide a later lifecycle command. Unquoted prose or comments
247
+ containing a lifecycle command may also ask; ordinary trailing comments do not
248
+ change allowance matching. Quoted messages and quoted heredoc bodies remain data.
249
+ Arithmetic shifts are not treated as heredoc operators. These are command
250
+ allowances, not containment: a project's test command can execute code. The
251
+ hook and allowances are passed with `--settings` at launch, including resume
252
+ and fork; nothing is written to personal or project permission files.
253
+
254
+ If the helper asset is missing at launch, OpenRig falls back to the native lifecycle
255
+ ask rules; help can prompt in that fallback. A helper that disappears or times out
256
+ after launch cannot supply a decision, leaving Claude's remaining native rules
257
+ in effect. The hook is a convenience policy, not a containment boundary.
258
+
259
+ Codex keeps `workspace-write` with its existing approval policy and receives the
260
+ configured OpenRig workspace root plus its pod's shared state directory as
261
+ additional writable directories. The team workspace preparer creates missing
262
+ directory ancestors and excludes the home directory and its ancestors from its
263
+ prepared scopes. Unavailable optional directories are warned about and omitted
264
+ from that list without blocking launch. When no prepared scopes remain, the
265
+ runtime adapter retains its existing pod-state `--add-dir` fallback, which this
266
+ step does not prepare. This does not modify Codex permission files or enable
267
+ non-interruptive mode.
268
+
269
+ **Codex lifecycle commands do not gain a new approval rule.** With Codex's
270
+ existing `on-request` policy, non-escalated sandboxed commands, including
271
+ `rig up` and `rig down`, can run without asking. This default addresses writable
272
+ workspace access; it does not promise a lifecycle confirmation prompt.
273
+
274
+ ### Built-in permission policies
275
+
276
+ The five built-ins live in `packages/daemon/policies/builtin/`. Action names are the
277
+ policies' own semantic classes.
278
+
279
+ | Policy | Surface | Runs without asking | Asks a person | Denied |
280
+ |--------|---------|---------------------|---------------|--------|
281
+ | `builtin:locked` | config | `run_toolchain` (npm, node, tsc, tests, lint), `rig_up`, `rig_down` | nothing | everything else (`default_posture: deny`) |
282
+ | `builtin:standard` | config | everything not listed, including `push_to_remote` (`default_posture: allow`) | `create_pr`, `publish_package`, `merge_or_release`, `force_push`, and the destructive class | nothing |
283
+ | `builtin:open` | config | everything, including PRs, publishing, merges and force pushes (`default_posture: allow`) | the destructive class only | nothing |
284
+ | `builtin:yolo` | flag (`launch_posture: full_bypass`) | everything; the runtime's permission prompts are bypassed at launch | nothing | nothing |
285
+ | `builtin:auto` | flag (`launch_posture: auto`) | Claude runs with `--permission-mode auto`; Codex, Pi and OMP launch at the floor | Claude: decided by auto mode; others: as at the floor | Claude: decided by auto mode; others: as at the floor |
286
+
287
+ The destructive class is `delete_everything`, `drop_persistent_store` and
288
+ `reset_or_discard_vcs`; `builtin:locked`'s list also names `delete_files` and `force_push`.
289
+
290
+ **At launch.** `builtin:yolo` selects Claude `--dangerously-skip-permissions`, Codex
291
+ `-s danger-full-access -a never`, and Pi `--approve`. `builtin:auto` selects Claude
292
+ `--permission-mode auto`, while Codex and Pi do not have an auto mode and launch at the floor.
293
+ Every other seat launches at the floor (a non-kernel seat with no policy also gets the
294
+ [team launch default](#team-launch-defaults) above):
295
+ - Claude `--permission-mode acceptEdits`;
296
+ - Codex `-s workspace-write`, or `-p <profile>` when the member sets
297
+ `codex_config_profile`, in which case the profile governs its own sandbox;
298
+ - Pi `--no-approve` by default.
299
+
300
+ Seats of the rig named `kernel` are the exception. With no member or rig policy, no
301
+ per-seat choice and (for Codex) no named profile, Claude launches in `acceptEdits` with a
302
+ per-launch `--settings` allow list for its file tools and operational commands, and Codex
303
+ launches with `-s danger-full-access -a never`, plus per-launch `-c` overrides that hide its
304
+ full-access and GPT-5.1 migration notices, whatever the rig's non-interruptive choice.
305
+
306
+ **Config-surface policies are recorded, not applied at launch.** The seat still starts at
307
+ the floor. The `allow`, `ask` and `deny` rules take effect once they are translated into the
308
+ runtime's native settings. The `applying-a-permission-policy` skill in `openrig-core` does
309
+ that translation, with per-runtime limits. For example, Claude's prefix rules can't
310
+ reliably tell `git push --force` from `git push`. An `ask` waits for a person, so it pauses
311
+ an autonomous seat. Standard suits interactive work, and the policy files point
312
+ autonomous teams to Open or YOLO.
313
+
314
+ **Pi has no permission policy.** `--approve` and `--no-approve` set Pi's resource trust. The
315
+ OMP variant maps that trust to its approval mode: `yolo` under `--approve`, otherwise
316
+ `always-ask`.
317
+
318
+ **A custom policy file** is Markdown with frontmatter: `policy_schema_version: 1`, `name`,
319
+ `source: custom`, `description`, and `surface`.
320
+ - `surface: flag` adds `launch_posture` (`floor`, `full_bypass` or `auto`).
321
+ - `surface: config` adds `default_posture` (`allow`, `ask` or `deny`) and the `allow`, `ask`,
322
+ `deny` and `destructive_class` lists (`[]` for none).
323
+
324
+ **Claude Code's own checks.** The first time Claude Code starts an interactive session
325
+ with permissions bypassed, it shows a warning dialog asking you to accept responsibility;
326
+ declining exits. OpenRig reports such a seat as `attention_required` and holds its startup
327
+ context for `rig seat continue`; `rig up --non-interruptive` or `rig bundle install
328
+ --non-interruptive` accepts the warning with a launch flag instead (see
329
+ [non-interruptive mode](non-interruptive-mode.md)). That choice is saved on the rig, not in
330
+ `rig.yaml`. On Linux and macOS Claude Code refuses that mode when run as root or under `sudo`,
331
+ except inside a recognized sandbox. See Claude Code's
332
+ [Choose a permission mode](https://code.claude.com/docs/en/permission-modes#skip-all-checks-with-bypasspermissions-mode).
333
+
214
334
  ### Choosing the Claude instruction file
215
335
 
216
336
  OpenRig writes its instructions for Claude Code members into managed blocks in
@@ -250,9 +370,9 @@ directory's `CLAUDE.md`, including blocks written by other rigs.
250
370
  | `id` | string | yes | — | Pod identifier. Must not contain dots or `@`. Must be unique within the rig. Used as the first segment of session names and logical IDs. |
251
371
  | `label` | string | yes | — | Human-readable pod name. Shown in UI explorer, graph groupings, and detail surfaces. |
252
372
  | `summary` | string | no | — | Pod description. |
253
- | `continuity_policy` | ContinuityPolicy | no | — | Pod-level continuity/restore policy. Controls compaction recovery, artifact management, and peer-driven restoration. |
373
+ | `continuity_policy` | ContinuityPolicy | no | — | Pod-level continuity/restore policy, validated and stored with the pod (see "Continuity Policy"). |
254
374
  | `startup` | StartupBlock | no | — | Pod-level startup files and actions. Applied to all members in this pod via the startup layering model. |
255
- | `members` | Member[] | yes | — | At least one member required (enforced by pods needing content). |
375
+ | `members` | Member[] | yes | — | The pod's members. It must be an array; validation doesn't refuse an empty one. |
256
376
  | `edges` | PodLocalEdge[] | no | `[]` | Edges between members within this pod. Must use unqualified member IDs (not `pod.member`). |
257
377
 
258
378
  ### Pod ID Rules
@@ -274,10 +394,17 @@ directory's `CLAUDE.md`, including blocks written by other rigs.
274
394
  | `profile` | string | yes | — | Profile name from the referenced AgentSpec. Use `default` for the default profile. Exception: `none` for terminal nodes. |
275
395
  | `codex_config_profile` | string | no | — | Codex-only native profile passed as `-p <name>`; letters, numbers, `_`, `.`, `-`. Separate from the AgentSpec `profile`. With the normal launch mode, this replaces OpenRig's explicit workspace-write sandbox flag. A full-bypass policy instead emits danger-full-access and omits this profile argument. |
276
396
  | `runtime` | string | yes | — | Agent runtime. Current supported values: `claude-code`, `codex`, `pi`, `omp`, `terminal`, `stub`. `stub` is a deterministic test harness, not an agent: a Node runner in the seat's tmux pane goes through the normal launch, skill projection, startup-file and readiness path, follows `<cwd>/.openrig/stub/script.json` when present, and calls no model. See "What a stub can and cannot prove" in `docs/as-built/test-layers.md`. |
277
- | `cwd` | string | yes | — | Working directory for the agent. Resolved relative to the rig root (the directory containing the rig spec). Use `"."` for the rig root itself. Can be overridden at launch time with `rig up --cwd`. |
397
+ | `cwd` | string | yes | — | Working directory for the agent. A relative path resolves against the rig root (the directory containing the rig spec); an absolute path is used as is. Use `"."` for the rig root itself. Can be overridden at launch time with `rig up --cwd`. A cwd inside the OpenRig installation fails preflight unless `--cwd` is given. |
278
398
  | `label` | string | no | — | Human-readable member name. Shown in UI when present. |
279
399
  | `model` | string | no | — | Model override. Runtime-specific (e.g., `claude-opus-4-6` for Claude Code). |
280
- | `restore_policy` | string | no | `resume_if_possible` | Restore behavior. One of: `resume_if_possible`, `relaunch_fresh`, `checkpoint_only`. |
400
+ | `effort` | string | no | — | Reasoning effort override, trimmed. A non-string value is ignored with an advisory. |
401
+ | `permission_policy` | string | no | — | Member-level permission policy; overrides the rig's. Not valid on terminal members. |
402
+ | `role` | string | no | — | The seat's role, letters, digits, `_`, `.` and `-`. Not valid on terminal members. |
403
+ | `restore_policy` | string | no | the AgentSpec's | Restore behavior. One of: `resume_if_possible`, `relaunch_fresh`, `checkpoint_only`. The default comes from the AgentSpec's `defaults.lifecycle` (else `resume_if_possible`) as narrowed by its profile; a member value may only narrow it further, in that order. |
404
+ | `compaction_strategy` | string | no | — | `default-compaction`, `managed-compaction`, `handover` or `apprentice-handover`; `harness_native` and `pod_continuity` are accepted as deprecated aliases, and `custom_prompt` is refused. |
405
+ | `mechanic` | string | no | — | A canonical `seat@rig` session address, for `apprentice-handover`. |
406
+ | `session_source` | object | no | — | Start the seat from an existing session: `fork` with `native_id`, `rebuild` with `artifact_set`, or `agent_image` with `image_name`. Not valid on terminal members. |
407
+ | `starter_ref` | object | no | — | `{ name }` of an agent starter (`^[a-zA-Z0-9][a-zA-Z0-9_-]*$`) whose files lead the seat's startup. Not valid on terminal members or with a fork. |
281
408
  | `startup` | StartupBlock | no | — | Member-level startup files and actions. Applied only to this member. |
282
409
 
283
410
  ### Pi (`runtime: pi`)
@@ -286,14 +413,14 @@ directory's `CLAUDE.md`, including blocks written by other rigs.
286
413
 
287
414
  - **State:** Each seat uses `$OPENRIG_HOME/state/pi/<session>/agent` as its Pi agent directory, with `sessions/` beside it, instead of your default `~/.pi/agent`. The runner sets `PI_CODING_AGENT_DIR` to that directory. `<session>` is the seat's session name, unchanged; for a pod member it is `{podId}-{memberId}@{rigName}`. `$OPENRIG_HOME` defaults to `~/.openrig`. OpenRig creates these directories at launch and does not copy anything from `~/.pi/agent`.
288
415
  - **Custom models:** Pi reads `models.json` from its agent directory, so a seat reads `$OPENRIG_HOME/state/pi/<session>/agent/models.json`, not `~/.pi/agent/models.json`. Custom provider and model definitions for a seat go in that file. A seat that uses only providers Pi already includes does not need one. OpenRig does not create or write `models.json`.
289
- - **Credentials:** The Pi process receives only `PATH`, `HOME`, `TERM`, `LANG`, `LC_ALL`, `SHELL`, `TMPDIR`, a fixed set of OpenRig seat and instance variables, `PI_CODING_AGENT_DIR`, `PI_CODING_AGENT_SESSION_DIR`, and at most one provider key. That key is `OPENROUTER_API_KEY`, `ZAI_API_KEY` or `KIMI_API_KEY`, passed only when it is set in the seat's environment and the seat's `model` is written as `openrouter/<id>`, `zai/<id>` or `kimi-coding/<id>`. Naming that variable in `recovery.provider_auth_env_allowlist` (empty by default) makes the daemon add it, when set in the daemon's environment, to the seat's launch environment. No other variable reaches Pi, including other providers' keys and a custom provider's own key variable.
416
+ - **Credentials:** The Pi process receives only `PATH`, `HOME`, `USER`, `LOGNAME`, `TERM`, `LANG`, `LC_ALL`, `SHELL`, `TMPDIR`, a fixed set of OpenRig seat and instance variables, `PI_CODING_AGENT_DIR`, `PI_CODING_AGENT_SESSION_DIR`, and at most one provider key. That key is `OPENROUTER_API_KEY`, `ZAI_API_KEY`, `KIMI_API_KEY` or `MINIMAX_API_KEY`, passed only when it is set in the seat's environment and the seat's `model` is written as `openrouter/<id>`, `zai/<id>`, `kimi-coding/<id>` or `minimax/<id>`. Naming that variable in `recovery.provider_auth_env_allowlist` (empty by default) makes the daemon add it, when set in the daemon's environment, to the seat's launch environment. No other variable reaches Pi, including other providers' keys and a custom provider's own key variable.
290
417
 
291
418
  ### Oh My Pi (`runtime: omp`)
292
419
 
293
420
  `runtime: omp` launches Oh My Pi through OpenRig's RPC runner. It is separate from `runtime: pi`; OMP does not use Pi's `--name` or `--approve` flags.
294
421
 
295
422
  - **State:** Each seat uses `$OPENRIG_HOME/state/omp/<seat>/agent` and `sessions/` instead of your default `~/.omp` profile, and runs with that seat directory as `HOME`. OpenRig does not copy OMP credentials. The runner finds the real `omp` binary before switching `HOME`, so a version-manager shim such as mise on the daemon's `PATH` still works.
296
- - **Credentials:** Provision each seat separately, or put the provider's key variable in `recovery.provider_auth_env_allowlist` (for example `ANTHROPIC_API_KEY` or `MISTRAL_API_KEY`). The allowlist accepts the key variable of every provider in OpenRig's OMP provider map, from `anthropic` through `litellm`. A seat receives a key only when its `model` is written as `provider/id`, such as `anthropic/claude-sonnet-4-5`. Short names such as `opus` pass no key. OMP also reads the launch directory's `.env`, so use a trusted working directory.
423
+ - **Credentials:** Provision each seat separately, or put the provider's key variable in `recovery.provider_auth_env_allowlist` (for example `ANTHROPIC_API_KEY` or `MISTRAL_API_KEY`). The allowlist accepts the key variable of every provider in OpenRig's OMP provider map, from `anthropic` through `litellm`. A seat receives a key only when its `model` is written as `provider/id`, such as `anthropic/claude-sonnet-4-5`. Short names such as `opus` pass no key. A provider whose key is scoped to one endpoint also accepts that endpoint's variable: `anthropic`, `openai` and `litellm` each take their `<PROVIDER>_BASE_URL` — `ANTHROPIC_BASE_URL`, `OPENAI_BASE_URL`, `LITELLM_BASE_URL`. The allowlist admits each variable on its own, so an endpoint named without its key is admitted too, which suits a keyless local proxy. The launch gate admits these endpoint names for OMP seats; the match against the seat's declared `provider/id` happens at the OMP child, which forwards a matching endpoint already in the runner's environment just as it forwards a key. OMP also reads the launch directory's `.env`, so use a trusted working directory.
297
424
  - **Approval posture:** The default floor is `--approval-mode always-ask`. Because the runner is headless, OMP approval requests are cancelled and the seat stays in needing-attention after the turn ends, until the next agent run starts. A `full_bypass` permission policy selects `--approval-mode yolo`.
298
425
  - **Model errors:** A rejected prompt, a provider or authentication error during a turn, or exhausted automatic retries is printed in the pane and keeps the seat in needing-attention until the next agent run starts.
299
426
  - **Restore:** OMP creates its session file after the first persisted turn. A new seat with no persisted turn has no resume token; restoring it requires `rig up --existing <rig> --fresh <seat>`. After that file exists, OpenRig restores that exact session file. If a full rig restore leaves an OMP seat in `attention_required` or `failed`, `rig seat clear-attention` cannot yet reconcile it to `operator_recovered`, even with `--reason`, because restore reconciliation only verifies Claude Code and Codex processes ([#41](https://github.com/mvschwarz/openrig/issues/41)). Relaunch that seat with `rig up --existing <rig> --fresh <seat>`, or restore it manually.
@@ -342,7 +469,7 @@ This is human-authored (you choose the pod/member IDs) and system-validated (the
342
469
  | Kind | Meaning | Use When |
343
470
  |------|---------|----------|
344
471
  | `delegates_to` | Source delegates work to target. Constrains launch order. | Orchestrator → implementer, lead → worker |
345
- | `spawned_by` | Target was spawned by source. Constrains launch order. | Parent → child in hierarchical topologies |
472
+ | `spawned_by` | Source was spawned by target; the target launches first. Constrains launch order. | Child → parent in hierarchical topologies |
346
473
  | `can_observe` | Source can observe target's output. Does NOT constrain launch order. | Reviewer → implementer, monitor → worker |
347
474
  | `collaborates_with` | Peer collaboration relationship. Does NOT constrain launch order. | Co-equal peers working together |
348
475
  | `escalates_to` | Source escalates to target for decisions. Does NOT constrain launch order. | Worker → lead for escalation |
@@ -384,7 +511,7 @@ Cross-pod edges must reference different pods. An edge where both `from` and `to
384
511
 
385
512
  ## Startup Block
386
513
 
387
- Startup blocks can appear at three levels: rig, pod, and member. They are merged additively via the startup layering model (see `docs/reference/startup-layering.md`).
514
+ Startup blocks can appear at three levels: rig, pod, and member. They are merged additively via the startup layering model (see [the layering model](agent-startup-guide.md#the-layering-model)). The rig's `culture_file` joins as a required file with the `auto` hint in the culture layer, on both fresh start and restore.
388
515
 
389
516
  ### Files
390
517
 
@@ -401,7 +528,7 @@ Startup blocks can appear at three levels: rig, pod, and member. They are merged
401
528
  | Hint | Behavior |
402
529
  |------|----------|
403
530
  | `auto` | System chooses based on file type and context. |
404
- | `guidance_merge` | Merged into the runtime's guidance file (`CLAUDE.md` or `AGENTS.md`) as a managed block. Delivered before harness boot. |
531
+ | `guidance_merge` | Merged as a managed block into the runtime's guidance file: for Claude, the `managed_blocks` file (`CLAUDE.md` or `CLAUDE.local.md`); for Codex, Pi and OMP, `AGENTS.md`. Delivered before harness boot. |
405
532
  | `skill_install` | Installed as a skill in the runtime's skill directory. Delivered before harness boot. |
406
533
  | `send_text` | Sent as text to the agent's terminal after the harness is ready. Requires the agent TUI to be active. |
407
534
 
@@ -454,6 +581,13 @@ the current proof; resume/adoption also preserves existing proof history.
454
581
  The effective selection is recorded on `node.startup_pending`; actions are
455
582
  persisted in startup context for restore and fresh relaunch.
456
583
 
584
+ The harness readiness window defaults to 30 seconds. On a loaded machine, set
585
+ `rig config set runtime.readiness_timeout_seconds 60` to give new seats and
586
+ handover successors longer to become interactive. The setting accepts 1–600
587
+ seconds, applies to the next launch without a daemon restart, and can also be
588
+ set with `OPENRIG_RUNTIME_READINESS_TIMEOUT_SECONDS`. It does not change the
589
+ time spent by the runtime adapter before readiness polling starts.
590
+
457
591
  ---
458
592
 
459
593
  ## Services Block
@@ -464,7 +598,7 @@ The services block is optional. When present, services boot before any agent nod
464
598
  |-------|------|----------|---------|-------------|
465
599
  | `kind` | string | yes | — | Service backend. Only `compose` is supported in v1. |
466
600
  | `compose_file` | string | yes | — | Relative path to the Docker Compose file. Must be a safe relative path. Resolved relative to rig root. |
467
- | `project_name` | string | no | derived from rig name | Docker Compose project name. Must match `[a-z0-9][a-z0-9_-]*`. If omitted, derived by sanitizing the rig name. |
601
+ | `project_name` | string | no | stored predecessor project or unique rig-ID default | Docker Compose project name. Must match `[a-z0-9][a-z0-9_-]*`. An explicit value takes precedence. A new rig uses a stable, unique rig-ID-derived name. A same-name replacement inherits the stored project of the exact generations it replaces; conflicting predecessor projects require an explicit value. Existing stored names remain unchanged. |
468
602
  | `profiles` | string[] | no | — | Compose profiles to activate. |
469
603
  | `down_policy` | string | no | `down` | What happens on `rig down`. One of: `leave_running`, `down`, `down_and_volumes`. |
470
604
  | `wait_for` | WaitTarget[] | no | — | Health targets that must pass before agent launch. |
@@ -508,7 +642,7 @@ surfaces:
508
642
  command: "vault status -address=http://127.0.0.1:8200"
509
643
  ```
510
644
 
511
- Surfaces are metadata only. They are displayed in the UI and in `rig env status` output but are NOT executed by OpenRig.
645
+ Surfaces are metadata only. They are displayed in the UI and in `rig env status --json` output (the text output lists only services) but are NOT executed by OpenRig.
512
646
 
513
647
  ### Checkpoint Hooks
514
648
 
@@ -522,10 +656,10 @@ checkpoints:
522
656
  | Field | Type | Required | Description |
523
657
  |-------|------|----------|-------------|
524
658
  | `id` | string | yes | Unique identifier for this checkpoint. |
525
- | `export` | string | yes | Shell command to export state. `{{artifacts_dir}}` is replaced with a daemon-managed path. |
659
+ | `export` | string | yes | Shell command to export state. |
526
660
  | `import` | string | no | Shell command to import state on restore. |
527
661
 
528
- Checkpoint hooks are shell commands run by the daemon. They are best-effort — a failed export does not block snapshot, but continuity is classified as `receipt_only` instead of `checkpointed`.
662
+ Checkpoint hooks are validated and stored with the spec. In this version the daemon doesn't run them during snapshot or restore, and doesn't substitute `{{artifacts_dir}}`.
529
663
 
530
664
  ---
531
665
 
@@ -556,10 +690,20 @@ continuity_policy:
556
690
  | `restore_protocol.peer_driven` | boolean | no | — | Whether peers drive the restore process. |
557
691
  | `restore_protocol.verify_via_quiz` | boolean | no | — | Whether to verify restoration via quiz. |
558
692
 
693
+ These fields are validated, stored on the pod and written back on export. In this version nothing acts on
694
+ `sync_triggers`, `artifacts` or `restore_protocol`.
695
+
559
696
  ---
560
697
 
561
698
  ## Validation Rules Summary
562
699
 
700
+ Unknown keys at the rig, pod, member and edge levels are refused ("unknown key … refusing the spec because
701
+ normalization would otherwise discard it"). Keys inside `startup`, `services`, `continuity_policy` and `workspace` are
702
+ not checked this way. Some rules are enforced at preflight rather than validation: the runtime must be one of the
703
+ supported values, rig, pod and member names may use only letters, digits, `-`, `_`, `.` and `@` where allowed above,
704
+ each `agent_ref` must have an `agent.yaml`, Codex profiles must load, and a cwd may not be inside the OpenRig
705
+ installation.
706
+
563
707
  Schema validation checks the structural rules below. Pod and member IDs containing
564
708
  `@` are additionally rejected during preflight and member creation or launch; a
565
709
  spec can pass `rig spec validate` and then fail at preflight or import. Run
@@ -600,8 +744,13 @@ These are the built-in specs shipped with OpenRig. Read them as worked examples.
600
744
 
601
745
  | Spec | Location | Pods | Members | Services |
602
746
  |------|----------|------|---------|----------|
603
- | `product-team` | `packages/daemon/specs/rigs/preview/product-team/rig.yaml` | orch1, dev1, rev1 | 7 (lead, peer, impl, qa, design, r1, r2) | no |
604
- | `implementation-pair` | `packages/daemon/specs/rigs/launch/implementation-pair/rig.yaml` | dev | 2 (impl, qa) | no |
605
- | `adversarial-review` | `packages/daemon/specs/rigs/focused/adversarial-review/rig.yaml` | orch, review | 3 (lead, r1, r2) | no |
606
- | `research-team` | `packages/daemon/specs/rigs/focused/research-team/rig.yaml` | orch, research | 3 (lead, analyst, synthesizer) | no |
747
+ | `starter` | `packages/daemon/specs/rigs/launch/starter/rig.yaml` | dev | 2 (build, review) | no |
748
+ | `factory` | `packages/daemon/specs/rigs/launch/factory/rig.yaml` | orch, dev, review | 7 (lead, advisor, build, qa, design, r1, r2) | no |
749
+ | `code-review` | `packages/daemon/specs/rigs/focused/code-review/rig.yaml` | orch, review | 3 (lead, r1, r2) | no |
750
+ | `research` | `packages/daemon/specs/rigs/focused/research/rig.yaml` | orch, research | 3 (lead, analyst, synthesizer) | no |
751
+ | `pm` | `packages/daemon/specs/rigs/focused/pm/rig.yaml` | pm, dev | 3 (lead, researcher, build) | no |
607
752
  | `secrets-manager` | `packages/daemon/specs/rigs/launch/secrets-manager/rig.yaml` | vault | 1 (specialist) | yes (Vault) |
753
+
754
+ Also shipped, in the same tree: `launch/kernel`, OpenRig's own team, which starts automatically. `first-project` is
755
+ starter's old name and still resolves to it. `workshop`, the four-agent middle team, is a rig bundle rather than a
756
+ built-in. List the built-ins with `rig specs ls --kind rig`.
@@ -0,0 +1,134 @@
1
+ # What changed in OpenRig 0.6.7
2
+
3
+ This note is for an agent on an install that was just upgraded to 0.6.7. It lists only what behaves differently from
4
+ 0.6.6 and what to do about it. For everything OpenRig can do, read the capability map:
5
+ `rig context get onboarding-width/public-what-you-can-do.md`. Each release replaces this file, so
6
+ `rig context get reference/whats-new.md` describes the installed version once the upgraded daemon is running. Without
7
+ a running daemon, read `$OPENRIG_HOME/reference/whats-new.md`. The daemon refreshes that copy when it starts, so right
8
+ after an upgrade it can still hold the previous version's note.
9
+
10
+ ## The OpenRig view is now the handoff
11
+
12
+ - **Open the view as the step after install or start; don't wait to be asked.** Say you're opening it, run
13
+ `rig terminal open saved:kernel --window`, then tell the person where it opened. Don't ask "Open the OpenRig view
14
+ now?", don't wait for a phrase like "show me my agents", and don't finish by printing a command for them to copy. The
15
+ same command brings their agents back later.
16
+ - **The layout follows the person's terminal width.** On a narrow terminal the operator gets the first tab. On a wide
17
+ one the dashboard and operator sit side by side and the advisor has its own tab. Inside herdr it opens a focused
18
+ `openrig kernel` space. A `kernel` view the person saved themselves still wins.
19
+ - **It opens where the caller is.** Terminal gets a window and Ghostty a tab. From Claude Desktop, iTerm or VS Code on a
20
+ Mac it opens a new Ghostty or Terminal window, and macOS may ask to allow it: mention that clicking Allow is fine only
21
+ in that case. Over SSH, in CI or with no display, it returns a definite no-window result with the reason. Relay the
22
+ `run:` command it prints exactly, or give `env -u TMUX tmux attach-session -t '=<canonicalSessionName>'` for the
23
+ operator.
24
+ - **`rig terminal open <view>` opens a window by default.** Pass `--provider herdr` or `--provider cmux` only to add
25
+ tiles to a workspace that's already visible. With `--json`, `reusedWorkspace` and `opened: []` mean an existing view
26
+ was reused, which is success.
27
+ - **The TUI's action is now "Open terminals ▸"** (it was `term ▸`). It opens a desktop window through the same
28
+ launcher, so the TUI must run on the daemon's desktop.
29
+ - **The `rigs` skill is installed for the person's own agent.** The daemon writes it to `~/.claude/skills/rigs` and
30
+ `~/.agents/skills/rigs` and refreshes it on every upgrade. It now triggers on any mention of OpenRig, rigs or a team
31
+ of coding agents. A copy added earlier with skills.sh is left alone and never refreshed.
32
+
33
+ ## Installing and setting up
34
+
35
+ - **Show the install preview first.** The published install command has a `--dry-run` preview
36
+ (`rig context get reference/getting-started.md` has both forms). Run the install when the person agrees. If the only
37
+ failures left are provider sign-ins, have them sign in and continue at "Start the kernel".
38
+ - **If your own harness refuses a tool call while installing,** say so and show the refusal: Claude Code's auto mode can
39
+ deny calls as well as approve them. Let the person review it in their harness or run that step themselves. A refused
40
+ call doesn't prove the OpenRig command failed.
41
+ - **`rig setup` installs herdr by default** on macOS and Linux; `--no-herdr` declines it. On a Mac, ask once about
42
+ Ghostty and on yes rerun `rig setup --ghostty`, keeping `--no-herdr` if it was chosen. Setup no longer installs cmux,
43
+ and an existing cmux still works. In `--json` output the `cmux_install` step is gone and `herdr_install` and
44
+ `ghostty_install` appear.
45
+ - **`rig doctor` checks Claude and Codex installs, and a login or configured provider credential,** the way setup does.
46
+ It exits 1 when either harness is missing or has neither, including one the person doesn't use, so ignore a failure
47
+ on an unused harness. A pass means a login or configured provider credential is available locally, not that a
48
+ provider accepts the credential or that an agent can work; no provider request or agent work is tested.
49
+ - **When setting up permissions,** recommend keeping the team default and offer remembered allowances only if the
50
+ person wants fewer prompts. People slowed by prompts can be pointed to the workshop listing.
51
+ - **Windows users go through WSL2.** For Pi seats there, offer either credential route; a global Pi login still isn't
52
+ shared with managed seats.
53
+
54
+ ## Fewer prompts
55
+
56
+ - **In Claude team seats, help on lifecycle commands runs without a prompt.** `rig down --help` and `-h` forms run;
57
+ the lifecycle actions themselves still ask. Pipelines, command substitutions, redirects and heredocs aren't allowed
58
+ automatically.
59
+ - **The kernel operator's Claude session runs routine inspection without prompts:** Python, command lookup, `cd`, text
60
+ helpers and WebFetch. Compound commands and redirects still go to Claude's own permission check.
61
+ - **Managed Codex seats no longer stop at the update menu on start.** Updating Codex is the operator's job: if a Codex
62
+ seat says its model needs a newer Codex, offer to update Codex and restart that seat, without stopping the team. If a
63
+ Codex seat shows a model-switch menu near a rate limit, ask the person; don't change the team's model.
64
+
65
+ ## Messages, wakes and Slack
66
+
67
+ - **A send or wake no longer answers a question that's waiting for a person.** It's refused with
68
+ `target_needs_input`, and the reason ends `; latest hook, pane unrecognized` when the screen can't be read, even if
69
+ the hook is minutes old. Read the seat with `rig capture` and get the question answered by whoever should answer it.
70
+ Don't retry the send.
71
+ - **Slack can post to a channel per rig or seat:** `rig slack channel-map list`, `set <match> <channel>` and
72
+ `remove <match>`. After a change, invite the app to each channel, run `rig slack verify`, then `rig slack disable`
73
+ and `rig slack enable` (or restart the daemon). Thread replies still reach the seat in any channel.
74
+ - **A reaction on any part of a Slack ask reaches the seat that asked,** as a task tagged `human-reaction`. Treat it as
75
+ a signal to interpret, not an answer; the ask stays open. An existing app needs the `reactions:read` scope, the
76
+ `reaction_added` event and a reinstall, and `rig slack verify` warns when the scope is missing.
77
+ - **A long Slack ask is posted in parts.** If it still can't be posted, you get a task `<ask id>-undeliverable`, tagged
78
+ `slack-undeliverable`: shorten the ask or link a file for the long part, and send it as a new ask.
79
+ - **Replies sent with "Also send to #channel" now arrive** at the seat that asked, like any other thread reply.
80
+
81
+ ## Running teams
82
+
83
+ - **`rig down` prints what each agent seemed to be doing before it stops them,** on one stderr line, or "unknown". It's
84
+ a best-effort snapshot, not a record of what was interrupted. `rig down --host` now exits 2 when the remote teardown
85
+ reports errors.
86
+ - **Before a handover or compaction, write the seat's recap** with
87
+ `rig context recap-write --rig <rig> --seat <seat> --file <draft.md>`, not a file tool, so earlier recaps are kept.
88
+ `rig seat handover <seat>` now works on the same seat again and again; a seat left half-handed-over recovers by
89
+ running it again.
90
+ - **After a managed compaction, read the `refocusing` skill and consume the current topology and work traces
91
+ delivered with the restore.** Don't rerun them just to duplicate the delivery; name a missing trace. For a new trace
92
+ outside that context, use the skill's one-command form. The daemon now installs the skill globally.
93
+ - **The built-in starter and factory leads publish their team's roster** at first start, so `rig roster list` and
94
+ `rig roster find <topic>` know those teams.
95
+ - **Claiming a parked queue item clears its `blocked_on`.** To park it again on the same gate, run
96
+ `rig queue update <id> --state blocked` without `--blocked-on`: it reuses the previous gate. Add the usual wake when
97
+ one is required.
98
+ - **A periodic reminder first fires one interval after you register it,** not immediately.
99
+ - **Workflows:** `rig workflow run` and `rig workflow watch` exit 3 for an aborted instance. When a step that was sent
100
+ back completes again, the steps that depend on it run again too, including ones that had passed.
101
+ - **Sharing teams:** `rig bundle create` and `rig up <link>` name the bundle after `rig.yaml`'s `name`, and
102
+ `rig bundle check` names the file in each finding. Submissions go to `mvschwarz/openrig-registry`. The bundle safety
103
+ check always runs, even with `--skip-version-check --force`.
104
+ - **`rig context add <url> --git` retrieves shallowly by default:** the initial retrieval fetches only the current
105
+ commit, and a server that refuses shallow retrieval falls back to a full clone with a warning. Use
106
+ `rig context source update` for later revisions.
107
+ - **Values that used to fail quietly are refused:** a bad `rig chatroom history --since` (fix the value; the room isn't
108
+ empty) and a `--wake-after` such as `7d` (use hours, for example `168h`).
109
+ - **Pi seats print a `[pi-runner] seat …:` line at start** saying whether a credential was found and, if not, how to
110
+ fix it. A MiniMax model gets `MINIMAX_API_KEY` when that name is in `recovery.provider_auth_env_allowlist`.
111
+ - **`agents.advisor_session` defaults to the kernel's advisor seat.**
112
+
113
+ ## What to stop doing
114
+
115
+ - **Stop asking whether to open the OpenRig view, or waiting for a phrase.** Open it after install or start.
116
+ - **Stop using `--provider herdr` for the first view,** and stop pre-warning about macOS prompts from Terminal or
117
+ Ghostty.
118
+ - **Stop suggesting `--skip-version-check --force` to get past a bundle pre-check failure.** The check always runs.
119
+ - **Stop retrying a send refused with `target_needs_input`.** Get the question answered instead.
120
+ - **Stop telling people to untick "Also send to #channel" when they answer in Slack.** Those replies now arrive.
121
+
122
+ ## Known gaps in 0.6.7
123
+
124
+ - **Not yet checked on a real machine:** opening the view from Claude Desktop, and the plain-tmux layout without herdr.
125
+ The full first install from nothing and a Linux run come after this release.
126
+ - **Only one selected lifecycle-help command has been checked in a live Claude session;** source and parser coverage
127
+ is broader. If a help command still asks, report it.
128
+ - **Codex team seats aren't asked before lifecycle commands yet.**
129
+ - **The send gate trusts the most recently recorded hook.** If hooks are recorded out of order, it can hold a send for
130
+ a question that's already answered, or miss one that's waiting. `rig capture` shows the real screen.
131
+ - **A Codex seat whose permission request was approved automatically can still read "needs input".**
132
+ - **A launched team still writes its skills into its working folder.**
133
+ - **After a restart, `rig status` shows `Kernel: skipped` whatever the kernel seats' state.** Read them with
134
+ `rig ps --nodes --rig kernel --full`.
@@ -1,7 +1,7 @@
1
1
  # GENERATED by scripts/generate-context-packs.mjs — DO NOT EDIT.
2
2
  # Package-time projection of a canonical skill; regenerated every build.
3
3
  name: "agent-operated-software"
4
- version: "0.6.5"
4
+ version: "0.6.7"
5
5
  taxonomy: "skills"
6
6
  purpose: "Use when designing, building, operating, or diagnosing an ongoing application whose live backend or control loop includes OpenRig agents, including applications with a Markdown, YAML, or JSON agent control plane or a thin surface over specialist agent roles."
7
7
  files:
@@ -1,7 +1,7 @@
1
1
  # GENERATED by scripts/generate-context-packs.mjs — DO NOT EDIT.
2
2
  # Package-time projection of a canonical skill; regenerated every build.
3
3
  name: "agent-operated-workflows"
4
- version: "0.6.5"
4
+ version: "0.6.7"
5
5
  taxonomy: "skills"
6
6
  purpose: "Use when a bounded real-world procedure has a deterministic happy path but brownfield, variable, or partially knowable state; when an operation must resume from verified evidence; or when deciding whether agent judgment or ordinary code should own a procedure's control loop."
7
7
  files:
@@ -23,22 +23,34 @@ to invent tasks, publish work or change another host.
23
23
  Reuse an existing explicit choice for these harnesses and this scope from the
24
24
  user's onboarding context; do not ask again. Existing rules are configuration,
25
25
  not evidence of consent to expand their scope. Preserve them without expansion.
26
- If the choice is unknown, briefly explain:
27
-
28
- > This allows the whole `rig` command family, including starting/stopping agents,
29
- > changing OpenRig configuration and launching processes. It is not global YOLO
30
- > or permission to invent work. The scope is your personal settings for this
31
- > project unless you explicitly choose your user-wide sessions instead.
32
- >
33
- > Allow your agents to run OpenRig commands without repeated permission prompts?
34
- > **Yes — recommended** / **No — keep prompts**
35
-
36
- - **Yes:** require an actual affirmative answer, then apply the procedure below
37
- at that scope for the selected harnesses. Never substitute user-wide rules
38
- when project rules are unsupported. Native restrictions still apply.
39
- - **No:** leave permission settings unchanged and continue with existing prompts.
40
- - **No answer:** make no settings change, infer no consent and continue with
41
- existing prompts. Do not keep asking during this setup.
26
+
27
+ For a team with no explicit policy, recommend keeping the team default. Claude
28
+ already allows ordinary `rig` commands, project reads and common tests, while
29
+ lifecycle commands ask. Codex already has writable workspace and pod state;
30
+ its `on-request` policy does **not** guarantee lifecycle prompts. Explicit
31
+ policies, seat choices and named Codex profiles keep their existing meaning.
32
+
33
+ Native restrictions can still prompt for installs, commits, other shell
34
+ commands and writes outside writable roots. With the Claude team default, an
35
+ allow does **not** override lifecycle ask rules: `rig up`, `rig down` and the other listed
36
+ lifecycle commands still ask even after Yes. Do not promise prompt-free operation.
37
+
38
+ Only offer additional persistent allowances when wanted, for the selected
39
+ project or explicitly user-wide scope, or to adjust an explicit seat policy:
40
+
41
+ > Remember these selected OpenRig commands in your native settings for this
42
+ > project? This is separate from the team launch default; stricter rules and
43
+ > Claude lifecycle asks remain. **Yes / No — keep the team default**
44
+
45
+ - **Yes:** require an affirmative answer, then apply the procedure below only
46
+ at the agreed scope. Do not replace ask/deny rules or substitute user-wide
47
+ settings when project rules are unsupported.
48
+ - **No / no answer:** leave settings and any existing explicit choice unchanged.
49
+ With no policy selected, keep it unset; never record `none` to mean keeping
50
+ the team default. Do not repeat the question during this setup.
51
+
52
+ A recommendation is not consent. Broader filesystem/network access requires
53
+ its own explicit choice; permission consent is separate from launch approval.
42
54
 
43
55
  Remember an explicit Yes or No in the existing onboarding/project context the
44
56
  agent already reads: choice, harnesses and scope. For Yes, record the exact files
@@ -55,14 +67,20 @@ an answered setup question or ask again for routine steps already authorized.
55
67
 
56
68
  | Choice | What the agent configures |
57
69
  | --- | --- |
58
- | Keep prompts | Preserve current native settings and handle requests when they arise. |
70
+ | Keep the team default | Leave an unset policy unset and preserve current native settings; Claude lifecycle asks and other native restrictions remain. Preserve any existing explicit choice. |
71
+ | “Prompt for everything” (`none`) | Only on an explicit request, opt out of the team allowances. Native rules still decide each prompt; `none` does not guarantee a prompt for every command. |
59
72
  | Remember selected commands | Add native allow rules for the chosen family or narrower verbs, leaving other rules and sandbox settings intact. |
60
73
  | Broader permissive operation | Explain filesystem/network exposure and configure only the explicitly selected native mode and compatible launch settings. |
61
74
 
62
- **Allowing the whole `rig` family covers all its verbs**, including lifecycle,
75
+ If repeated approvals later interrupt the work, name the actual commands and
76
+ offer a scoped adjustment then. Keep the existing choice until the person
77
+ accepts a change; do not promise to adjust later and silently leave the burden
78
+ with them. Do not reopen an answered choice for each routine operation.
79
+
80
+ **A whole-family allow matches all `rig` verbs**, including lifecycle,
63
81
  topology/config changes and commands that can launch other processes. It is not
64
- a read-only grant. Offer narrower prefixes such as `rig ps` or `rig queue list`
65
- when that better fits the request. Do not widen a choice to arbitrary shell
82
+ a read-only grant, but stricter ask/deny rules still win. Offer narrower prefixes
83
+ such as `rig ps` or `rig queue list` when that better fits the request. Do not widen a choice to arbitrary shell
66
84
  execution, an entire interpreter or a generic shell wrapper.
67
85
 
68
86
  ## Apply the choice for the user
@@ -95,7 +113,9 @@ execution, an entire interpreter or a generic shell wrapper.
95
113
  existing conversation loaded it.
96
114
  6. Verify an ordinary matching operation twice in the target conversation and
97
115
  check that an unrelated command gained no matching rule. Use harmless reads,
98
- not destructive probes. Report effective settings and remaining prompts.
116
+ not destructive probes. Report effective settings, their source and remaining
117
+ prompts; a command already allowed by the launch default does not prove a new
118
+ persistent rule loaded.
99
119
  A parser match alone does not establish native behavior.
100
120
 
101
121
  Give the user this short undo: **“Undo the OpenRig command allowances added by