@openrig/cli 0.5.10 → 0.5.11

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 (568) hide show
  1. package/daemon/assets/plugins/openrig-core/README.md +24 -5
  2. package/daemon/assets/plugins/openrig-core/skills/agent-operated-workflows/SKILL.md +4 -2
  3. package/daemon/assets/plugins/openrig-core/skills/applying-a-permission-policy/SKILL.md +11 -14
  4. package/daemon/assets/plugins/openrig-core/skills/claude-compaction-restore/SKILL.md +51 -59
  5. package/daemon/assets/plugins/openrig-core/skills/forming-an-openrig-mental-model/SKILL.md +11 -10
  6. package/daemon/assets/plugins/openrig-core/skills/openrig-operating-model/SKILL.md +39 -50
  7. package/daemon/assets/plugins/openrig-core/skills/openrig-operating-model/scripts/trunk-diff.sh +1 -1
  8. package/daemon/assets/plugins/openrig-core/skills/openrig-operating-model/templates/LEARNED.md +7 -5
  9. package/daemon/assets/plugins/openrig-core/skills/openrig-operating-model/templates/PLAYBOOK.md +3 -4
  10. package/daemon/assets/plugins/openrig-core/skills/openrig-operating-model/templates/SPEC.md +7 -7
  11. package/daemon/assets/plugins/openrig-core/skills/openrig-user/SKILL.md +55 -64
  12. package/daemon/assets/plugins/openrig-core/skills/orienting-to-an-inherited-seat/CHANGELOG.md +14 -58
  13. package/daemon/assets/plugins/openrig-core/skills/queue-handoff/SKILL.md +8 -9
  14. package/daemon/assets/plugins/openrig-core/skills/retiring-and-inheriting-a-seat/CHANGELOG.md +20 -46
  15. package/daemon/assets/plugins/openrig-core/skills/retiring-and-inheriting-a-seat/SKILL.md +62 -76
  16. package/daemon/assets/plugins/openrig-core/skills/seat-continuity-and-handover/SKILL.md +28 -22
  17. package/daemon/assets/plugins/openrig-core/skills/session-compaction-and-restore/SKILL.md +13 -15
  18. package/daemon/context-packs/onboarding-width/manifest.yaml +1 -3
  19. package/daemon/context-packs/onboarding-width/public-reference-material.md +19 -24
  20. package/daemon/context-packs/onboarding-width/public-what-you-can-do.md +55 -24
  21. package/daemon/context-packs/skills/agent-operated-software/manifest.yaml +1 -1
  22. package/daemon/context-packs/skills/agent-operated-workflows/SKILL.md +4 -2
  23. package/daemon/context-packs/skills/agent-operated-workflows/manifest.yaml +1 -1
  24. package/daemon/context-packs/skills/applying-a-permission-policy/SKILL.md +11 -14
  25. package/daemon/context-packs/skills/applying-a-permission-policy/manifest.yaml +1 -1
  26. package/daemon/context-packs/skills/claude-compaction-restore/SKILL.md +51 -59
  27. package/daemon/context-packs/skills/claude-compaction-restore/manifest.yaml +1 -1
  28. package/daemon/context-packs/skills/core/agent-starters/SKILL.md +21 -19
  29. package/daemon/context-packs/skills/core/agent-starters/manifest.yaml +1 -1
  30. package/daemon/context-packs/skills/core/agent-startup-and-context-ingestion/SKILL.md +11 -10
  31. package/daemon/context-packs/skills/core/agent-startup-and-context-ingestion/manifest.yaml +1 -1
  32. package/daemon/context-packs/skills/core/cross-host-rig-commands/SKILL.md +84 -148
  33. package/daemon/context-packs/skills/core/cross-host-rig-commands/manifest.yaml +3 -3
  34. package/daemon/context-packs/skills/core/human-in-the-loop/manifest.yaml +1 -1
  35. package/daemon/context-packs/skills/core/messaging-the-human/manifest.yaml +1 -1
  36. package/daemon/context-packs/skills/core/openrig-architect/SKILL.md +40 -47
  37. package/daemon/context-packs/skills/core/openrig-architect/manifest.yaml +1 -1
  38. package/daemon/context-packs/skills/core/openrig-cmux/manifest.yaml +1 -1
  39. package/daemon/context-packs/skills/core/openrig-herdr/manifest.yaml +1 -1
  40. package/daemon/context-packs/skills/core/openrig-skills/manifest.yaml +1 -1
  41. package/daemon/context-packs/skills/core/openrig-upgrade/SKILL.md +16 -0
  42. package/daemon/context-packs/skills/core/openrig-upgrade/manifest.yaml +1 -1
  43. package/daemon/context-packs/skills/core/rig-bundles-and-shareable-artifacts/manifest.yaml +1 -1
  44. package/daemon/context-packs/skills/core/rig-lifecycle/manifest.yaml +1 -1
  45. package/daemon/context-packs/skills/core/session-source-fork/SKILL.md +12 -10
  46. package/daemon/context-packs/skills/core/session-source-fork/manifest.yaml +1 -1
  47. package/daemon/context-packs/skills/core/specification-system/manifest.yaml +1 -1
  48. package/daemon/context-packs/skills/core/topology-mutation-and-seat-management/SKILL.md +15 -13
  49. package/daemon/context-packs/skills/core/topology-mutation-and-seat-management/manifest.yaml +1 -1
  50. package/daemon/context-packs/skills/core/watchdog/manifest.yaml +1 -1
  51. package/daemon/context-packs/skills/delegating-work/manifest.yaml +1 -1
  52. package/daemon/context-packs/skills/forming-an-openrig-mental-model/SKILL.md +11 -10
  53. package/daemon/context-packs/skills/forming-an-openrig-mental-model/manifest.yaml +1 -1
  54. package/daemon/context-packs/skills/loading-addressable-markdown/manifest.yaml +1 -1
  55. package/daemon/context-packs/skills/mission-slice-sop/manifest.yaml +1 -1
  56. package/daemon/context-packs/skills/openrig-operating-model/SKILL.md +39 -50
  57. package/daemon/context-packs/skills/openrig-operating-model/manifest.yaml +1 -1
  58. package/daemon/context-packs/skills/openrig-operating-model/scripts/trunk-diff.sh +1 -1
  59. package/daemon/context-packs/skills/openrig-operating-model/templates/LEARNED.md +7 -5
  60. package/daemon/context-packs/skills/openrig-operating-model/templates/PLAYBOOK.md +3 -4
  61. package/daemon/context-packs/skills/openrig-operating-model/templates/SPEC.md +7 -7
  62. package/daemon/context-packs/skills/openrig-user/SKILL.md +55 -64
  63. package/daemon/context-packs/skills/openrig-user/manifest.yaml +1 -1
  64. package/daemon/context-packs/skills/orienting-to-an-inherited-seat/CHANGELOG.md +14 -58
  65. package/daemon/context-packs/skills/orienting-to-an-inherited-seat/manifest.yaml +1 -1
  66. package/daemon/context-packs/skills/pm/backlog-capture/manifest.yaml +1 -1
  67. package/daemon/context-packs/skills/pm/context-builder/manifest.yaml +1 -1
  68. package/daemon/context-packs/skills/pm/exec-summary/SKILL.md +1 -1
  69. package/daemon/context-packs/skills/pm/exec-summary/manifest.yaml +1 -1
  70. package/daemon/context-packs/skills/pm/office-hours/manifest.yaml +1 -1
  71. package/daemon/context-packs/skills/pm/plan-review/SKILL.md +2 -2
  72. package/daemon/context-packs/skills/pm/plan-review/manifest.yaml +1 -1
  73. package/daemon/context-packs/skills/pm/requirements-writer/SKILL.md +1 -1
  74. package/daemon/context-packs/skills/pm/requirements-writer/manifest.yaml +1 -1
  75. package/daemon/context-packs/skills/pm/ui-mockup/SKILL.md +3 -3
  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/SKILL.md +41 -59
  79. package/daemon/context-packs/skills/pods/orchestration-team/manifest.yaml +1 -1
  80. package/daemon/context-packs/skills/pods/oversight-team/manifest.yaml +1 -1
  81. package/daemon/context-packs/skills/pods/review-team/manifest.yaml +1 -1
  82. package/daemon/context-packs/skills/process/agent-browser/LOCAL-INSIGHTS.md +24 -53
  83. package/daemon/context-packs/skills/process/agent-browser/manifest.yaml +1 -1
  84. package/daemon/context-packs/skills/process/context-engineering/manifest.yaml +1 -1
  85. package/daemon/context-packs/skills/process/dogfood/manifest.yaml +1 -1
  86. package/daemon/context-packs/skills/process/frontend-design/manifest.yaml +1 -1
  87. package/daemon/context-packs/skills/process/systematic-debugging/find-polluter.sh +29 -15
  88. package/daemon/context-packs/skills/process/systematic-debugging/manifest.yaml +1 -1
  89. package/daemon/context-packs/skills/process/test-driven-development/SKILL.md +47 -40
  90. package/daemon/context-packs/skills/process/test-driven-development/manifest.yaml +1 -1
  91. package/daemon/context-packs/skills/process/verification-before-completion/SKILL.md +3 -3
  92. package/daemon/context-packs/skills/process/verification-before-completion/manifest.yaml +1 -1
  93. package/daemon/context-packs/skills/queue-handoff/SKILL.md +8 -9
  94. package/daemon/context-packs/skills/queue-handoff/manifest.yaml +1 -1
  95. package/daemon/context-packs/skills/refocusing/manifest.yaml +1 -1
  96. package/daemon/context-packs/skills/retiring-and-inheriting-a-seat/CHANGELOG.md +20 -46
  97. package/daemon/context-packs/skills/retiring-and-inheriting-a-seat/SKILL.md +62 -76
  98. package/daemon/context-packs/skills/retiring-and-inheriting-a-seat/manifest.yaml +1 -1
  99. package/daemon/context-packs/skills/seat-continuity-and-handover/SKILL.md +28 -22
  100. package/daemon/context-packs/skills/seat-continuity-and-handover/manifest.yaml +1 -1
  101. package/daemon/context-packs/skills/session-compaction-and-restore/SKILL.md +13 -15
  102. package/daemon/context-packs/skills/session-compaction-and-restore/manifest.yaml +1 -1
  103. package/daemon/context-packs/skills/software-for-agents/manifest.yaml +1 -1
  104. package/daemon/context-packs/world-example/manifest.yaml +1 -1
  105. package/daemon/context-packs/world-public/build-your-world.md +12 -7
  106. package/daemon/context-packs/world-public/manifest.yaml +1 -1
  107. package/daemon/dist/adapters/tmux.d.ts +7 -9
  108. package/daemon/dist/adapters/tmux.d.ts.map +1 -1
  109. package/daemon/dist/adapters/tmux.js +7 -35
  110. package/daemon/dist/adapters/tmux.js.map +1 -1
  111. package/daemon/dist/build-info.js +3 -3
  112. package/daemon/dist/daemon-shutdown.d.ts +27 -0
  113. package/daemon/dist/daemon-shutdown.d.ts.map +1 -0
  114. package/daemon/dist/daemon-shutdown.js +84 -0
  115. package/daemon/dist/daemon-shutdown.js.map +1 -0
  116. package/daemon/dist/domain/codex-thread-id.d.ts +1 -0
  117. package/daemon/dist/domain/codex-thread-id.d.ts.map +1 -1
  118. package/daemon/dist/domain/codex-thread-id.js +32 -23
  119. package/daemon/dist/domain/codex-thread-id.js.map +1 -1
  120. package/daemon/dist/domain/context-usage-store.d.ts +2 -0
  121. package/daemon/dist/domain/context-usage-store.d.ts.map +1 -1
  122. package/daemon/dist/domain/context-usage-store.js +7 -28
  123. package/daemon/dist/domain/context-usage-store.js.map +1 -1
  124. package/daemon/dist/domain/crash-cart-conductor.js +1 -1
  125. package/daemon/dist/domain/crash-cart-conductor.js.map +1 -1
  126. package/daemon/dist/domain/execution-view.d.ts.map +1 -1
  127. package/daemon/dist/domain/execution-view.js +24 -3
  128. package/daemon/dist/domain/execution-view.js.map +1 -1
  129. package/daemon/dist/domain/gateway/channel-operations.d.ts +1 -1
  130. package/daemon/dist/domain/gateway/channel-operations.d.ts.map +1 -1
  131. package/daemon/dist/domain/gateway/connections-projection.d.ts +61 -0
  132. package/daemon/dist/domain/gateway/connections-projection.d.ts.map +1 -0
  133. package/daemon/dist/domain/gateway/connections-projection.js +149 -0
  134. package/daemon/dist/domain/gateway/connections-projection.js.map +1 -0
  135. package/daemon/dist/domain/gateway/human-registry.d.ts +3 -1
  136. package/daemon/dist/domain/gateway/human-registry.d.ts.map +1 -1
  137. package/daemon/dist/domain/gateway/human-registry.js +3 -1
  138. package/daemon/dist/domain/gateway/human-registry.js.map +1 -1
  139. package/daemon/dist/domain/gateway/slack/slack-subsystem.d.ts.map +1 -1
  140. package/daemon/dist/domain/gateway/slack/slack-subsystem.js +3 -2
  141. package/daemon/dist/domain/gateway/slack/slack-subsystem.js.map +1 -1
  142. package/daemon/dist/domain/health-diagnosis.js +1 -1
  143. package/daemon/dist/domain/health-diagnosis.js.map +1 -1
  144. package/daemon/dist/domain/lifecycle-obligations.d.ts +18 -0
  145. package/daemon/dist/domain/lifecycle-obligations.d.ts.map +1 -0
  146. package/daemon/dist/domain/lifecycle-obligations.js +35 -0
  147. package/daemon/dist/domain/lifecycle-obligations.js.map +1 -0
  148. package/daemon/dist/domain/model-divergence/current-generation-record.d.ts.map +1 -1
  149. package/daemon/dist/domain/model-divergence/current-generation-record.js +6 -1
  150. package/daemon/dist/domain/model-divergence/current-generation-record.js.map +1 -1
  151. package/daemon/dist/domain/policies/workflow-keepalive.d.ts +1 -0
  152. package/daemon/dist/domain/policies/workflow-keepalive.d.ts.map +1 -1
  153. package/daemon/dist/domain/policies/workflow-keepalive.js +7 -4
  154. package/daemon/dist/domain/policies/workflow-keepalive.js.map +1 -1
  155. package/daemon/dist/domain/project-lifecycle-compiler.d.ts +7 -0
  156. package/daemon/dist/domain/project-lifecycle-compiler.d.ts.map +1 -1
  157. package/daemon/dist/domain/project-lifecycle-compiler.js +119 -23
  158. package/daemon/dist/domain/project-lifecycle-compiler.js.map +1 -1
  159. package/daemon/dist/domain/queue-stuck-sweep.d.ts.map +1 -1
  160. package/daemon/dist/domain/queue-stuck-sweep.js +1 -0
  161. package/daemon/dist/domain/queue-stuck-sweep.js.map +1 -1
  162. package/daemon/dist/domain/seat-lifecycle-service.d.ts.map +1 -1
  163. package/daemon/dist/domain/seat-lifecycle-service.js +8 -1
  164. package/daemon/dist/domain/seat-lifecycle-service.js.map +1 -1
  165. package/daemon/dist/domain/startup-orchestrator.d.ts.map +1 -1
  166. package/daemon/dist/domain/startup-orchestrator.js +27 -11
  167. package/daemon/dist/domain/startup-orchestrator.js.map +1 -1
  168. package/daemon/dist/domain/startup-proof.d.ts.map +1 -1
  169. package/daemon/dist/domain/startup-proof.js +10 -9
  170. package/daemon/dist/domain/startup-proof.js.map +1 -1
  171. package/daemon/dist/domain/startup-resolver.d.ts +3 -1
  172. package/daemon/dist/domain/startup-resolver.d.ts.map +1 -1
  173. package/daemon/dist/domain/startup-resolver.js +18 -0
  174. package/daemon/dist/domain/startup-resolver.js.map +1 -1
  175. package/daemon/dist/domain/startup-validation.d.ts.map +1 -1
  176. package/daemon/dist/domain/startup-validation.js +12 -1
  177. package/daemon/dist/domain/startup-validation.js.map +1 -1
  178. package/daemon/dist/domain/types.d.ts +13 -1
  179. package/daemon/dist/domain/types.d.ts.map +1 -1
  180. package/daemon/dist/domain/types.js.map +1 -1
  181. package/daemon/dist/domain/user-settings/settings-store.d.ts +1 -1
  182. package/daemon/dist/domain/user-settings/settings-store.d.ts.map +1 -1
  183. package/daemon/dist/domain/user-settings/settings-store.js +14 -0
  184. package/daemon/dist/domain/user-settings/settings-store.js.map +1 -1
  185. package/daemon/dist/domain/workflow-boot-sweep.d.ts +1 -0
  186. package/daemon/dist/domain/workflow-boot-sweep.d.ts.map +1 -1
  187. package/daemon/dist/domain/workflow-boot-sweep.js +3 -0
  188. package/daemon/dist/domain/workflow-boot-sweep.js.map +1 -1
  189. package/daemon/dist/domain/workflow-exception-escalation.d.ts +4 -3
  190. package/daemon/dist/domain/workflow-exception-escalation.d.ts.map +1 -1
  191. package/daemon/dist/domain/workflow-exception-escalation.js +22 -21
  192. package/daemon/dist/domain/workflow-exception-escalation.js.map +1 -1
  193. package/daemon/dist/domain/workflow-exception-router.d.ts +4 -3
  194. package/daemon/dist/domain/workflow-exception-router.d.ts.map +1 -1
  195. package/daemon/dist/domain/workflow-exception-router.js +7 -6
  196. package/daemon/dist/domain/workflow-exception-router.js.map +1 -1
  197. package/daemon/dist/domain/workflow-human-destination.d.ts +18 -0
  198. package/daemon/dist/domain/workflow-human-destination.d.ts.map +1 -0
  199. package/daemon/dist/domain/workflow-human-destination.js +40 -0
  200. package/daemon/dist/domain/workflow-human-destination.js.map +1 -0
  201. package/daemon/dist/domain/workflow-projector.d.ts +4 -3
  202. package/daemon/dist/domain/workflow-projector.d.ts.map +1 -1
  203. package/daemon/dist/domain/workflow-projector.js +26 -17
  204. package/daemon/dist/domain/workflow-projector.js.map +1 -1
  205. package/daemon/dist/domain/workflow-role-context.d.ts +4 -6
  206. package/daemon/dist/domain/workflow-role-context.d.ts.map +1 -1
  207. package/daemon/dist/domain/workflow-role-context.js +7 -14
  208. package/daemon/dist/domain/workflow-role-context.js.map +1 -1
  209. package/daemon/dist/domain/workflow-runtime.d.ts +12 -3
  210. package/daemon/dist/domain/workflow-runtime.d.ts.map +1 -1
  211. package/daemon/dist/domain/workflow-runtime.js +66 -14
  212. package/daemon/dist/domain/workflow-runtime.js.map +1 -1
  213. package/daemon/dist/domain/workflow-validator.d.ts.map +1 -1
  214. package/daemon/dist/domain/workflow-validator.js +39 -24
  215. package/daemon/dist/domain/workflow-validator.js.map +1 -1
  216. package/daemon/dist/index.d.ts.map +1 -1
  217. package/daemon/dist/index.js +37 -96
  218. package/daemon/dist/index.js.map +1 -1
  219. package/daemon/dist/project-lifecycle-surface.d.ts +1 -1
  220. package/daemon/dist/project-lifecycle-surface.d.ts.map +1 -1
  221. package/daemon/dist/routes/gateway.d.ts.map +1 -1
  222. package/daemon/dist/routes/gateway.js +10 -0
  223. package/daemon/dist/routes/gateway.js.map +1 -1
  224. package/daemon/dist/routes/queue.d.ts.map +1 -1
  225. package/daemon/dist/routes/queue.js +4 -3
  226. package/daemon/dist/routes/queue.js.map +1 -1
  227. package/daemon/dist/routes/require-sender-identity.d.ts +3 -1
  228. package/daemon/dist/routes/require-sender-identity.d.ts.map +1 -1
  229. package/daemon/dist/routes/require-sender-identity.js +11 -5
  230. package/daemon/dist/routes/require-sender-identity.js.map +1 -1
  231. package/daemon/dist/routes/sessions.d.ts.map +1 -1
  232. package/daemon/dist/routes/sessions.js +95 -27
  233. package/daemon/dist/routes/sessions.js.map +1 -1
  234. package/daemon/dist/routes/workflow.d.ts.map +1 -1
  235. package/daemon/dist/routes/workflow.js +6 -1
  236. package/daemon/dist/routes/workflow.js.map +1 -1
  237. package/daemon/dist/server.d.ts.map +1 -1
  238. package/daemon/dist/server.js +2 -1
  239. package/daemon/dist/server.js.map +1 -1
  240. package/daemon/dist/startup.d.ts.map +1 -1
  241. package/daemon/dist/startup.js +6 -3
  242. package/daemon/dist/startup.js.map +1 -1
  243. package/daemon/docs/reference/agent-spec.md +6 -0
  244. package/daemon/docs/reference/getting-started.md +134 -28
  245. package/daemon/docs/reference/health-diagnosis.md +26 -0
  246. package/daemon/docs/reference/mission-install.md +5 -0
  247. package/daemon/docs/reference/project-release-profile.yaml +82 -0
  248. package/daemon/docs/reference/release-boundary.md +5 -0
  249. package/daemon/docs/reference/rig-spec.md +43 -4
  250. package/daemon/specs/agents/conveyor/planner/guidance/role.md +5 -3
  251. package/daemon/specs/agents/conveyor/planner/startup/context.md +13 -4
  252. package/daemon/specs/agents/design/product-designer/agent.yaml +4 -3
  253. package/daemon/specs/agents/design/product-designer/guidance/role.md +12 -10
  254. package/daemon/specs/agents/product-management/pm/guidance/role.md +19 -17
  255. package/daemon/specs/agents/shared/skills/core/agent-starters/SKILL.md +21 -19
  256. package/daemon/specs/agents/shared/skills/core/agent-startup-and-context-ingestion/SKILL.md +11 -10
  257. package/daemon/specs/agents/shared/skills/core/cross-host-rig-commands/SKILL.md +84 -148
  258. package/daemon/specs/agents/shared/skills/core/openrig-architect/SKILL.md +40 -47
  259. package/daemon/specs/agents/shared/skills/core/openrig-upgrade/SKILL.md +16 -0
  260. package/daemon/specs/agents/shared/skills/core/session-source-fork/SKILL.md +12 -10
  261. package/daemon/specs/agents/shared/skills/core/topology-mutation-and-seat-management/SKILL.md +15 -13
  262. package/daemon/specs/agents/shared/skills/pm/exec-summary/SKILL.md +1 -1
  263. package/daemon/specs/agents/shared/skills/pm/plan-review/SKILL.md +2 -2
  264. package/daemon/specs/agents/shared/skills/pm/requirements-writer/SKILL.md +1 -1
  265. package/daemon/specs/agents/shared/skills/pm/ui-mockup/SKILL.md +3 -3
  266. package/daemon/specs/agents/shared/skills/pods/orchestration-team/SKILL.md +41 -59
  267. package/daemon/specs/agents/shared/skills/process/agent-browser/LOCAL-INSIGHTS.md +24 -53
  268. package/daemon/specs/agents/shared/skills/process/systematic-debugging/find-polluter.sh +29 -15
  269. package/daemon/specs/agents/shared/skills/process/test-driven-development/SKILL.md +47 -40
  270. package/daemon/specs/agents/shared/skills/process/verification-before-completion/SKILL.md +3 -3
  271. package/daemon/specs/rigs/launch/first-project/CULTURE.md +39 -0
  272. package/daemon/specs/rigs/launch/first-project/rig.yaml +31 -0
  273. package/daemon/specs/rigs/launch/kernel/agents/advisor/lead/startup/context.md +1 -1
  274. package/daemon/specs/rigs/launch/kernel/agents/operator/agent/guidance/role.md +21 -7
  275. package/daemon/specs/rigs/launch/kernel/agents/operator/agent/startup/context.md +2 -2
  276. package/daemon/specs/rigs/launch/kernel/agents/queue/worker/guidance/role.md +19 -11
  277. package/daemon/specs/rigs/launch/kernel/agents/queue/worker/startup/context.md +3 -2
  278. package/daemon/specs/rigs/launch/kernel/culture/CULTURE.md +15 -8
  279. package/daemon/specs/rigs/launch/kernel/rig-claude-only.yaml +7 -0
  280. package/daemon/specs/rigs/launch/kernel/rig-codex-only.yaml +7 -0
  281. package/daemon/specs/rigs/launch/kernel/rig.yaml +9 -4
  282. package/daemon/specs/rigs/preview/product-team/topology/seats/dev1-qa/CRAFT.md +6 -4
  283. package/dist/build-info.js +3 -3
  284. package/dist/client.d.ts +6 -20
  285. package/dist/client.d.ts.map +1 -1
  286. package/dist/client.js +53 -32
  287. package/dist/client.js.map +1 -1
  288. package/dist/commands/config.d.ts.map +1 -1
  289. package/dist/commands/config.js +1 -0
  290. package/dist/commands/config.js.map +1 -1
  291. package/dist/commands/context.d.ts.map +1 -1
  292. package/dist/commands/context.js +15 -13
  293. package/dist/commands/context.js.map +1 -1
  294. package/dist/commands/daemon.d.ts.map +1 -1
  295. package/dist/commands/daemon.js +31 -27
  296. package/dist/commands/daemon.js.map +1 -1
  297. package/dist/commands/destroy.js +1 -1
  298. package/dist/commands/destroy.js.map +1 -1
  299. package/dist/commands/health.d.ts.map +1 -1
  300. package/dist/commands/health.js +59 -7
  301. package/dist/commands/health.js.map +1 -1
  302. package/dist/commands/launch.d.ts.map +1 -1
  303. package/dist/commands/launch.js +2 -2
  304. package/dist/commands/launch.js.map +1 -1
  305. package/dist/commands/queue.d.ts.map +1 -1
  306. package/dist/commands/queue.js +9 -5
  307. package/dist/commands/queue.js.map +1 -1
  308. package/dist/commands/send.d.ts.map +1 -1
  309. package/dist/commands/send.js +4 -8
  310. package/dist/commands/send.js.map +1 -1
  311. package/dist/commands/setup.d.ts.map +1 -1
  312. package/dist/commands/setup.js +10 -9
  313. package/dist/commands/setup.js.map +1 -1
  314. package/dist/commands/tui.d.ts +2 -0
  315. package/dist/commands/tui.d.ts.map +1 -1
  316. package/dist/commands/tui.js +26 -10
  317. package/dist/commands/tui.js.map +1 -1
  318. package/dist/commands/walk.d.ts.map +1 -1
  319. package/dist/commands/walk.js +24 -48
  320. package/dist/commands/walk.js.map +1 -1
  321. package/dist/commands/workflow-render.d.ts +19 -0
  322. package/dist/commands/workflow-render.d.ts.map +1 -1
  323. package/dist/commands/workflow-render.js +12 -1
  324. package/dist/commands/workflow-render.js.map +1 -1
  325. package/dist/commands/workflow.d.ts.map +1 -1
  326. package/dist/commands/workflow.js +4 -2
  327. package/dist/commands/workflow.js.map +1 -1
  328. package/dist/config-store.d.ts +2 -1
  329. package/dist/config-store.d.ts.map +1 -1
  330. package/dist/config-store.js +15 -0
  331. package/dist/config-store.js.map +1 -1
  332. package/dist/cross-host-executor.d.ts +1 -1
  333. package/dist/cross-host-executor.js +2 -2
  334. package/dist/cross-host-executor.js.map +1 -1
  335. package/dist/daemon-lifecycle.d.ts +8 -11
  336. package/dist/daemon-lifecycle.d.ts.map +1 -1
  337. package/dist/daemon-lifecycle.js +281 -146
  338. package/dist/daemon-lifecycle.js.map +1 -1
  339. package/dist/daemon-start-lock.d.ts +9 -0
  340. package/dist/daemon-start-lock.d.ts.map +1 -0
  341. package/dist/daemon-start-lock.js +47 -0
  342. package/dist/daemon-start-lock.js.map +1 -0
  343. package/dist/front-door.d.ts.map +1 -1
  344. package/dist/front-door.js +8 -1
  345. package/dist/front-door.js.map +1 -1
  346. package/dist/lib/file-transfer.js +1 -1
  347. package/dist/lib/file-transfer.js.map +1 -1
  348. package/dist/lib/walk-consumption.d.ts +6 -0
  349. package/dist/lib/walk-consumption.d.ts.map +1 -0
  350. package/dist/lib/walk-consumption.js +78 -0
  351. package/dist/lib/walk-consumption.js.map +1 -0
  352. package/dist/local-origin.d.ts +3 -0
  353. package/dist/local-origin.d.ts.map +1 -0
  354. package/dist/local-origin.js +37 -0
  355. package/dist/local-origin.js.map +1 -0
  356. package/dist/read-view.d.ts +17 -0
  357. package/dist/read-view.d.ts.map +1 -0
  358. package/dist/read-view.js +17 -0
  359. package/dist/read-view.js.map +1 -0
  360. package/dist/shared-tui.d.ts +12 -0
  361. package/dist/shared-tui.d.ts.map +1 -0
  362. package/dist/shared-tui.js +37 -0
  363. package/dist/shared-tui.js.map +1 -0
  364. package/node_modules/@openrig/daemon/dist/adapters/tmux.d.ts +7 -9
  365. package/node_modules/@openrig/daemon/dist/adapters/tmux.d.ts.map +1 -1
  366. package/node_modules/@openrig/daemon/dist/adapters/tmux.js +7 -35
  367. package/node_modules/@openrig/daemon/dist/adapters/tmux.js.map +1 -1
  368. package/node_modules/@openrig/daemon/dist/build-info.js +3 -3
  369. package/node_modules/@openrig/daemon/dist/daemon-shutdown.d.ts +27 -0
  370. package/node_modules/@openrig/daemon/dist/daemon-shutdown.d.ts.map +1 -0
  371. package/node_modules/@openrig/daemon/dist/daemon-shutdown.js +84 -0
  372. package/node_modules/@openrig/daemon/dist/daemon-shutdown.js.map +1 -0
  373. package/node_modules/@openrig/daemon/dist/domain/codex-thread-id.d.ts +1 -0
  374. package/node_modules/@openrig/daemon/dist/domain/codex-thread-id.d.ts.map +1 -1
  375. package/node_modules/@openrig/daemon/dist/domain/codex-thread-id.js +32 -23
  376. package/node_modules/@openrig/daemon/dist/domain/codex-thread-id.js.map +1 -1
  377. package/node_modules/@openrig/daemon/dist/domain/context-usage-store.d.ts +2 -0
  378. package/node_modules/@openrig/daemon/dist/domain/context-usage-store.d.ts.map +1 -1
  379. package/node_modules/@openrig/daemon/dist/domain/context-usage-store.js +7 -28
  380. package/node_modules/@openrig/daemon/dist/domain/context-usage-store.js.map +1 -1
  381. package/node_modules/@openrig/daemon/dist/domain/crash-cart-conductor.js +1 -1
  382. package/node_modules/@openrig/daemon/dist/domain/crash-cart-conductor.js.map +1 -1
  383. package/node_modules/@openrig/daemon/dist/domain/execution-view.d.ts.map +1 -1
  384. package/node_modules/@openrig/daemon/dist/domain/execution-view.js +24 -3
  385. package/node_modules/@openrig/daemon/dist/domain/execution-view.js.map +1 -1
  386. package/node_modules/@openrig/daemon/dist/domain/gateway/channel-operations.d.ts +1 -1
  387. package/node_modules/@openrig/daemon/dist/domain/gateway/channel-operations.d.ts.map +1 -1
  388. package/node_modules/@openrig/daemon/dist/domain/gateway/connections-projection.d.ts +61 -0
  389. package/node_modules/@openrig/daemon/dist/domain/gateway/connections-projection.d.ts.map +1 -0
  390. package/node_modules/@openrig/daemon/dist/domain/gateway/connections-projection.js +149 -0
  391. package/node_modules/@openrig/daemon/dist/domain/gateway/connections-projection.js.map +1 -0
  392. package/node_modules/@openrig/daemon/dist/domain/gateway/human-registry.d.ts +3 -1
  393. package/node_modules/@openrig/daemon/dist/domain/gateway/human-registry.d.ts.map +1 -1
  394. package/node_modules/@openrig/daemon/dist/domain/gateway/human-registry.js +3 -1
  395. package/node_modules/@openrig/daemon/dist/domain/gateway/human-registry.js.map +1 -1
  396. package/node_modules/@openrig/daemon/dist/domain/gateway/slack/slack-subsystem.d.ts.map +1 -1
  397. package/node_modules/@openrig/daemon/dist/domain/gateway/slack/slack-subsystem.js +3 -2
  398. package/node_modules/@openrig/daemon/dist/domain/gateway/slack/slack-subsystem.js.map +1 -1
  399. package/node_modules/@openrig/daemon/dist/domain/health-diagnosis.js +1 -1
  400. package/node_modules/@openrig/daemon/dist/domain/health-diagnosis.js.map +1 -1
  401. package/node_modules/@openrig/daemon/dist/domain/lifecycle-obligations.d.ts +18 -0
  402. package/node_modules/@openrig/daemon/dist/domain/lifecycle-obligations.d.ts.map +1 -0
  403. package/node_modules/@openrig/daemon/dist/domain/lifecycle-obligations.js +35 -0
  404. package/node_modules/@openrig/daemon/dist/domain/lifecycle-obligations.js.map +1 -0
  405. package/node_modules/@openrig/daemon/dist/domain/model-divergence/current-generation-record.d.ts.map +1 -1
  406. package/node_modules/@openrig/daemon/dist/domain/model-divergence/current-generation-record.js +6 -1
  407. package/node_modules/@openrig/daemon/dist/domain/model-divergence/current-generation-record.js.map +1 -1
  408. package/node_modules/@openrig/daemon/dist/domain/policies/workflow-keepalive.d.ts +1 -0
  409. package/node_modules/@openrig/daemon/dist/domain/policies/workflow-keepalive.d.ts.map +1 -1
  410. package/node_modules/@openrig/daemon/dist/domain/policies/workflow-keepalive.js +7 -4
  411. package/node_modules/@openrig/daemon/dist/domain/policies/workflow-keepalive.js.map +1 -1
  412. package/node_modules/@openrig/daemon/dist/domain/project-lifecycle-compiler.d.ts +7 -0
  413. package/node_modules/@openrig/daemon/dist/domain/project-lifecycle-compiler.d.ts.map +1 -1
  414. package/node_modules/@openrig/daemon/dist/domain/project-lifecycle-compiler.js +119 -23
  415. package/node_modules/@openrig/daemon/dist/domain/project-lifecycle-compiler.js.map +1 -1
  416. package/node_modules/@openrig/daemon/dist/domain/queue-stuck-sweep.d.ts.map +1 -1
  417. package/node_modules/@openrig/daemon/dist/domain/queue-stuck-sweep.js +1 -0
  418. package/node_modules/@openrig/daemon/dist/domain/queue-stuck-sweep.js.map +1 -1
  419. package/node_modules/@openrig/daemon/dist/domain/seat-lifecycle-service.d.ts.map +1 -1
  420. package/node_modules/@openrig/daemon/dist/domain/seat-lifecycle-service.js +8 -1
  421. package/node_modules/@openrig/daemon/dist/domain/seat-lifecycle-service.js.map +1 -1
  422. package/node_modules/@openrig/daemon/dist/domain/startup-orchestrator.d.ts.map +1 -1
  423. package/node_modules/@openrig/daemon/dist/domain/startup-orchestrator.js +27 -11
  424. package/node_modules/@openrig/daemon/dist/domain/startup-orchestrator.js.map +1 -1
  425. package/node_modules/@openrig/daemon/dist/domain/startup-proof.d.ts.map +1 -1
  426. package/node_modules/@openrig/daemon/dist/domain/startup-proof.js +10 -9
  427. package/node_modules/@openrig/daemon/dist/domain/startup-proof.js.map +1 -1
  428. package/node_modules/@openrig/daemon/dist/domain/startup-resolver.d.ts +3 -1
  429. package/node_modules/@openrig/daemon/dist/domain/startup-resolver.d.ts.map +1 -1
  430. package/node_modules/@openrig/daemon/dist/domain/startup-resolver.js +18 -0
  431. package/node_modules/@openrig/daemon/dist/domain/startup-resolver.js.map +1 -1
  432. package/node_modules/@openrig/daemon/dist/domain/startup-validation.d.ts.map +1 -1
  433. package/node_modules/@openrig/daemon/dist/domain/startup-validation.js +12 -1
  434. package/node_modules/@openrig/daemon/dist/domain/startup-validation.js.map +1 -1
  435. package/node_modules/@openrig/daemon/dist/domain/types.d.ts +13 -1
  436. package/node_modules/@openrig/daemon/dist/domain/types.d.ts.map +1 -1
  437. package/node_modules/@openrig/daemon/dist/domain/types.js.map +1 -1
  438. package/node_modules/@openrig/daemon/dist/domain/user-settings/settings-store.d.ts +1 -1
  439. package/node_modules/@openrig/daemon/dist/domain/user-settings/settings-store.d.ts.map +1 -1
  440. package/node_modules/@openrig/daemon/dist/domain/user-settings/settings-store.js +14 -0
  441. package/node_modules/@openrig/daemon/dist/domain/user-settings/settings-store.js.map +1 -1
  442. package/node_modules/@openrig/daemon/dist/domain/workflow-boot-sweep.d.ts +1 -0
  443. package/node_modules/@openrig/daemon/dist/domain/workflow-boot-sweep.d.ts.map +1 -1
  444. package/node_modules/@openrig/daemon/dist/domain/workflow-boot-sweep.js +3 -0
  445. package/node_modules/@openrig/daemon/dist/domain/workflow-boot-sweep.js.map +1 -1
  446. package/node_modules/@openrig/daemon/dist/domain/workflow-exception-escalation.d.ts +4 -3
  447. package/node_modules/@openrig/daemon/dist/domain/workflow-exception-escalation.d.ts.map +1 -1
  448. package/node_modules/@openrig/daemon/dist/domain/workflow-exception-escalation.js +22 -21
  449. package/node_modules/@openrig/daemon/dist/domain/workflow-exception-escalation.js.map +1 -1
  450. package/node_modules/@openrig/daemon/dist/domain/workflow-exception-router.d.ts +4 -3
  451. package/node_modules/@openrig/daemon/dist/domain/workflow-exception-router.d.ts.map +1 -1
  452. package/node_modules/@openrig/daemon/dist/domain/workflow-exception-router.js +7 -6
  453. package/node_modules/@openrig/daemon/dist/domain/workflow-exception-router.js.map +1 -1
  454. package/node_modules/@openrig/daemon/dist/domain/workflow-human-destination.d.ts +18 -0
  455. package/node_modules/@openrig/daemon/dist/domain/workflow-human-destination.d.ts.map +1 -0
  456. package/node_modules/@openrig/daemon/dist/domain/workflow-human-destination.js +40 -0
  457. package/node_modules/@openrig/daemon/dist/domain/workflow-human-destination.js.map +1 -0
  458. package/node_modules/@openrig/daemon/dist/domain/workflow-projector.d.ts +4 -3
  459. package/node_modules/@openrig/daemon/dist/domain/workflow-projector.d.ts.map +1 -1
  460. package/node_modules/@openrig/daemon/dist/domain/workflow-projector.js +26 -17
  461. package/node_modules/@openrig/daemon/dist/domain/workflow-projector.js.map +1 -1
  462. package/node_modules/@openrig/daemon/dist/domain/workflow-role-context.d.ts +4 -6
  463. package/node_modules/@openrig/daemon/dist/domain/workflow-role-context.d.ts.map +1 -1
  464. package/node_modules/@openrig/daemon/dist/domain/workflow-role-context.js +7 -14
  465. package/node_modules/@openrig/daemon/dist/domain/workflow-role-context.js.map +1 -1
  466. package/node_modules/@openrig/daemon/dist/domain/workflow-runtime.d.ts +12 -3
  467. package/node_modules/@openrig/daemon/dist/domain/workflow-runtime.d.ts.map +1 -1
  468. package/node_modules/@openrig/daemon/dist/domain/workflow-runtime.js +66 -14
  469. package/node_modules/@openrig/daemon/dist/domain/workflow-runtime.js.map +1 -1
  470. package/node_modules/@openrig/daemon/dist/domain/workflow-validator.d.ts.map +1 -1
  471. package/node_modules/@openrig/daemon/dist/domain/workflow-validator.js +39 -24
  472. package/node_modules/@openrig/daemon/dist/domain/workflow-validator.js.map +1 -1
  473. package/node_modules/@openrig/daemon/dist/index.d.ts.map +1 -1
  474. package/node_modules/@openrig/daemon/dist/index.js +37 -96
  475. package/node_modules/@openrig/daemon/dist/index.js.map +1 -1
  476. package/node_modules/@openrig/daemon/dist/project-lifecycle-surface.d.ts +1 -1
  477. package/node_modules/@openrig/daemon/dist/project-lifecycle-surface.d.ts.map +1 -1
  478. package/node_modules/@openrig/daemon/dist/routes/gateway.d.ts.map +1 -1
  479. package/node_modules/@openrig/daemon/dist/routes/gateway.js +10 -0
  480. package/node_modules/@openrig/daemon/dist/routes/gateway.js.map +1 -1
  481. package/node_modules/@openrig/daemon/dist/routes/queue.d.ts.map +1 -1
  482. package/node_modules/@openrig/daemon/dist/routes/queue.js +4 -3
  483. package/node_modules/@openrig/daemon/dist/routes/queue.js.map +1 -1
  484. package/node_modules/@openrig/daemon/dist/routes/require-sender-identity.d.ts +3 -1
  485. package/node_modules/@openrig/daemon/dist/routes/require-sender-identity.d.ts.map +1 -1
  486. package/node_modules/@openrig/daemon/dist/routes/require-sender-identity.js +11 -5
  487. package/node_modules/@openrig/daemon/dist/routes/require-sender-identity.js.map +1 -1
  488. package/node_modules/@openrig/daemon/dist/routes/sessions.d.ts.map +1 -1
  489. package/node_modules/@openrig/daemon/dist/routes/sessions.js +95 -27
  490. package/node_modules/@openrig/daemon/dist/routes/sessions.js.map +1 -1
  491. package/node_modules/@openrig/daemon/dist/routes/workflow.d.ts.map +1 -1
  492. package/node_modules/@openrig/daemon/dist/routes/workflow.js +6 -1
  493. package/node_modules/@openrig/daemon/dist/routes/workflow.js.map +1 -1
  494. package/node_modules/@openrig/daemon/dist/server.d.ts.map +1 -1
  495. package/node_modules/@openrig/daemon/dist/server.js +2 -1
  496. package/node_modules/@openrig/daemon/dist/server.js.map +1 -1
  497. package/node_modules/@openrig/daemon/dist/startup.d.ts.map +1 -1
  498. package/node_modules/@openrig/daemon/dist/startup.js +6 -3
  499. package/node_modules/@openrig/daemon/dist/startup.js.map +1 -1
  500. package/node_modules/@openrig/daemon/package.json +5 -1
  501. package/package.json +1 -1
  502. package/tui/dist/commands/completion.d.ts +8 -0
  503. package/tui/dist/commands/completion.d.ts.map +1 -0
  504. package/tui/dist/commands/completion.js +37 -0
  505. package/tui/dist/commands/completion.js.map +1 -0
  506. package/tui/dist/commands/registry.d.ts +7 -1
  507. package/tui/dist/commands/registry.d.ts.map +1 -1
  508. package/tui/dist/commands/registry.js +47 -0
  509. package/tui/dist/commands/registry.js.map +1 -1
  510. package/tui/dist/connections/connections-model.d.ts +72 -0
  511. package/tui/dist/connections/connections-model.d.ts.map +1 -0
  512. package/tui/dist/connections/connections-model.js +64 -0
  513. package/tui/dist/connections/connections-model.js.map +1 -0
  514. package/tui/dist/daemon-client.d.ts +1 -0
  515. package/tui/dist/daemon-client.d.ts.map +1 -1
  516. package/tui/dist/daemon-client.js +1 -0
  517. package/tui/dist/daemon-client.js.map +1 -1
  518. package/tui/dist/detail.d.ts +3 -0
  519. package/tui/dist/detail.d.ts.map +1 -1
  520. package/tui/dist/detail.js +23 -0
  521. package/tui/dist/detail.js.map +1 -1
  522. package/tui/dist/execution/execution-model.d.ts +1 -1
  523. package/tui/dist/execution/execution-model.d.ts.map +1 -1
  524. package/tui/dist/execution/execution-model.js +46 -170
  525. package/tui/dist/execution/execution-model.js.map +1 -1
  526. package/tui/dist/execution/workflow-model.d.ts +6 -0
  527. package/tui/dist/execution/workflow-model.d.ts.map +1 -0
  528. package/tui/dist/execution/workflow-model.js +219 -0
  529. package/tui/dist/execution/workflow-model.js.map +1 -0
  530. package/tui/dist/grammar.d.ts.map +1 -1
  531. package/tui/dist/grammar.js +1 -2
  532. package/tui/dist/grammar.js.map +1 -1
  533. package/tui/dist/health/health-model.d.ts +1 -1
  534. package/tui/dist/health/health-model.d.ts.map +1 -1
  535. package/tui/dist/health/health-model.js +5 -4
  536. package/tui/dist/health/health-model.js.map +1 -1
  537. package/tui/dist/hydrate.d.ts.map +1 -1
  538. package/tui/dist/hydrate.js +45 -8
  539. package/tui/dist/hydrate.js.map +1 -1
  540. package/tui/dist/input.d.ts +2 -0
  541. package/tui/dist/input.d.ts.map +1 -1
  542. package/tui/dist/input.js +28 -6
  543. package/tui/dist/input.js.map +1 -1
  544. package/tui/dist/main.js +47 -10
  545. package/tui/dist/main.js.map +1 -1
  546. package/tui/dist/render.d.ts +4 -0
  547. package/tui/dist/render.d.ts.map +1 -1
  548. package/tui/dist/render.js +128 -74
  549. package/tui/dist/render.js.map +1 -1
  550. package/tui/dist/sections.d.ts.map +1 -1
  551. package/tui/dist/sections.js +1 -0
  552. package/tui/dist/sections.js.map +1 -1
  553. package/tui/dist/socket-server.d.ts +4 -0
  554. package/tui/dist/socket-server.d.ts.map +1 -1
  555. package/tui/dist/socket-server.js +4 -0
  556. package/tui/dist/socket-server.js.map +1 -1
  557. package/tui/dist/state.d.ts +3 -1
  558. package/tui/dist/state.d.ts.map +1 -1
  559. package/tui/dist/state.js +47 -9
  560. package/tui/dist/state.js.map +1 -1
  561. package/tui/dist/stylize.js +3 -3
  562. package/tui/dist/stylize.js.map +1 -1
  563. package/tui/dist/time.d.ts +9 -0
  564. package/tui/dist/time.d.ts.map +1 -0
  565. package/tui/dist/time.js +42 -0
  566. package/tui/dist/time.js.map +1 -0
  567. package/tui/dist/types.d.ts +36 -1
  568. package/tui/dist/types.d.ts.map +1 -1
@@ -11,7 +11,7 @@ not know exists.** So the point of what follows is not skill. It is recognition:
11
11
  lands, something rhymes, and you go check instead of building.
12
12
 
13
13
  Eighty-one-plus top-level verbs ship (capability canon refreshed through
14
- `capability-delta-v0.5.10`). Read this once for shape, and let it make you suspicious that a thing
14
+ `capability-delta-v0.5.11`). Read this once for shape, and let it make you suspicious that a thing
15
15
  already exists. Model-divergence proclamations are live product (trust them; pins use canonical
16
16
  model IDs).
17
17
 
@@ -63,9 +63,10 @@ unseen — which makes messages the one delivery channel that never gets skipped
63
63
  consequential delivery gets an effect check at the far end rather than a blind retry. A
64
64
  producer-link advisory reading `no_activity_signal` means activity could not be determined;
65
65
  confirm by effect, never relaunch on it.
66
- - **`rig send --raw`** / **`--dangerously-interact --reason "<why>"`** — a seat is frozen on an
67
- interactive prompt or a permission block. Normal `send` *refuses* to answer a prompt on purpose;
68
- this is the deliberate override, and it is how you unblock a peer who cannot unblock itself.
66
+ - **`rig send --raw`** — send exact text or keystrokes without the From/To envelope;
67
+ the interactive-prompt guard still applies. To deliberately drive an interactive prompt,
68
+ **`--dangerously-interact --reason "<why>"`** is the explicit override and implies raw text.
69
+ Inspect the prompt and establish authority for its effect before using that override.
69
70
  - **`rig broadcast`** — one fact to everyone at once, rather than relaying it N times and getting
70
71
  the wording wrong on the fourth. **Blast radius is real** — on a large rig this lands in every
71
72
  seat's turn.
@@ -88,11 +89,12 @@ unseen — which makes messages the one delivery channel that never gets skipped
88
89
  someone lists the stream before starting.
89
90
  - **`rig terminal open <view>`** — bring every live agent in a rig, mission or slice up as real
90
91
  typeable tiles at once.
91
- - **`rig walk <seat> --through <files> --pace <n>`** — deliver a *sequence* of context into a seat
92
- one piece at a time, with a gap between pieces. **This is how you hand somebody a large amount of
93
- material without dumping it**: absorption between pieces is the whole mechanism, and sending
94
- faster than the receiver thinks merges everything into one turn and destroys it. It is also how
95
- you were onboarded, and how you would onboard someone else.
92
+ - **`rig walk <seat> --through <files> --pace <n>`** — deliver context pieces through
93
+ file-backed terminal paste. When the current native generation record resolves, the complete
94
+ piece and its matching Claude/Codex turn closure must arrive before pacing onward, including
95
+ the last piece. Initial missing evidence is explicitly unverified; a record lost or replaced
96
+ during verification stops the walk. Use `rig walk --help` for those receipts and bounds.
97
+ Delivery and turn completion do not prove comprehension.
96
98
  - **`rig slack`** — inspect and manage one connector implementation. Use registered-human
97
99
  readiness for the delivery decision and `queue create --verify` for its receipt; connector
98
100
  setup or verification is not an outbound human message.
@@ -162,10 +164,16 @@ cheaper than being it.
162
164
  from `project.yaml` → `mission.yaml` → `slice.yaml`, inspect it without writing, then start an
163
165
  eligible graph with an opaque replay key. Typed acceptance candidate, verdict, and evidence
164
166
  travel through `workflow project`; workflow completion alone is never release acceptance.
167
+ A project-owned release profile carries required obligations across missions; explicit
168
+ extensions/overrides preserve them. Reach for `docs/reference/project-release-profile.yaml`
169
+ when release graphs keep being copied or losing stages. The release ceremony and post-release
170
+ boundary remain distinct; no successor is required to finish. Agents judge the evidence.
165
171
  - **`rig workflow instantiate`** — start a multi-step, multi-seat run as one governed instance with
166
172
  an entry packet that lands on a real owner.
167
- - **`rig workflow status`** — **which instances need *you*, right now**, with the reason and next
168
- action. This is the "what is waiting on me" surface.
173
+ - **`rig workflow status`** — which instances need attention, with reason and next action.
174
+ Inspect the exact exception occurrence and packet: resolved overdue work is reconciled without
175
+ closing an overdue sibling. Registered-human fallback reports missing or ambiguous selection
176
+ instead of inventing a recipient. Follow the state/error and `workflow show`/`trace` before retrying.
169
177
  - **`rig workflow show` / `trace`** — what this instance is, and every step, actor and exit that
170
178
  got it here.
171
179
  - **`rig workflow continue`** — where you are in a run you have been handed. **It is read-only. It
@@ -179,6 +187,12 @@ cheaper than being it.
179
187
 
180
188
  ## Bringing things into and out of existence
181
189
 
190
+ **For a first useful repository change**, preview `first-project`, inspect
191
+ `rig up first-project --cwd . --plan`, and follow `docs/reference/getting-started.md`.
192
+ Its native Codex owner/checker team is the focused starting point; verify prerequisites and
193
+ actual runtime readiness before work. Existing Herdr/cmux terminals can present the managed team
194
+ through `rig terminal open`.
195
+
182
196
  **Need a small team now, without authoring YAML?** Start with `rig create`, then use `rig grow`
183
197
  (including `--new-pod`) while it runs. A working topology can become a reusable spec later; you do
184
198
  not have to tear one down to change it, and you rarely have to start from nothing.
@@ -223,8 +237,11 @@ because someone lost work once.
223
237
  - **`rig start`** — the box rebooted and everything is gone: bring the whole topology back in one
224
238
  move, rather than hand-restoring rig by rig. Selected-rig recovery now demands positive runtime
225
239
  evidence and refuses stale identity by name rather than substituting an occupant.
226
- - **`rig daemon start` / `stop` / `status` / `logs`** — bounce the control plane, or read what it
227
- actually tried and refused, in its own voice.
240
+ - **`rig daemon start` / `stop` / `status` / `logs`** — startup reserves the local instance and
241
+ verifies its own child on required listeners. Inspect a retained reservation before retrying.
242
+ Stop distinguishes process/listener exit from a clean asynchronous drain: inspect the matching
243
+ `daemon-shutdown.json` and log when completion is incomplete or unverified. No target is a
244
+ distinct no-op, and a timeout never proves down. Use command help for exact limits and recovery.
228
245
  - **`rig doctor`** — is the *installation* wired up correctly, or are you chasing a bug that is
229
246
  really a broken install. **`rig preflight`** asks whether this machine can run OpenRig at all.
230
247
  - **`rig crash-cart`** — the daemon is down or not answering: what was running before it died, and
@@ -251,9 +268,9 @@ because someone lost work once.
251
268
  managed seat with the `context-usage-threshold` watchdog above so continuity is arranged while
252
269
  the seat can still act.
253
270
  - **`rig handover <seat>`** — replace the **occupant** of a seat while the seat, its name, its
254
- edges and its inbound work stay exactly where they are. **`rig seat handover` is the PLANNING
255
- half** — it shows you what would happen; the top-level verb performs it. Two commands, similar
256
- names, different blast radius.
271
+ edges and its inbound work stay exactly where they are. **`rig seat handover` uses the same
272
+ effectful handover path.** Both forms perform the operation by default; pass `--dry-run`
273
+ to plan without changing the seat. Check the selected source and continuity evidence first.
257
274
  - **`rig seat clear-attention` / `set-resume-token`** — clear a stale attention flag, or repair a
258
275
  lost resume handle so restore works next time.
259
276
  - **`rig seat set-model` / `stop` / `clean`** — persist the model for later managed resumes, stop
@@ -317,6 +334,9 @@ scheme, and nothing downstream can see it.
317
334
  loadout, `--apply-skills` to reconcile its owned harness projection, or `--deliver` to emit the
318
335
  exact extant files in order while marking absent pieces visibly. Without the flags it remains
319
336
  plan-only.
337
+ `context profile` and `context work-install` both accept `--runtime claude-code` (alias
338
+ `claude`) or `codex`; explicit invalid values refuse before projection. This does not rename
339
+ every other command's runtime vocabulary.
320
340
  - **`rig context show` / `sync` / `rm`** — what is inside a context pack before you prime a seat
321
341
  with it, and how to make the library catch up when you edit one.
322
342
  - **`rig context get <name-or-ref>`** — pull exact context by address instead of reading files:
@@ -397,6 +417,9 @@ reaching them is ordinary work rather than an escalation.
397
417
  to the external participant, not a separate outbound route.
398
418
  - **`rig gateway human add`** — register a person and their connector binding. Registration or
399
419
  connector changes do not themselves authorize a message.
420
+ - **During local-daemon outage, remote HTTP sender attribution still uses the originating
421
+ instance's durable identity.** A selected remote or forwarded endpoint never becomes the origin.
422
+ Missing local identity remains explicitly unknown; transport success is not operation success.
400
423
  - **Across a host boundary, "it didn't work" has four distinct shapes** — unreachable machine,
401
424
  permission gate, remote runtime down, or the remote command itself failed. Collapsing them throws
402
425
  away a diagnosis you already had. **And a transport that succeeded says nothing about whether the
@@ -435,12 +458,18 @@ your circumstances is configuration, and the ones that are not, another agent ca
435
458
  - **`rig setup`** — what OpenRig would change about this machine, shown before it touches anything.
436
459
  - **`rig usage series`** — what a seat's token curve has looked like over time: climbing steadily,
437
460
  reset, or stopped reporting entirely. The last one is a signal, not a gap.
438
- - **`rig tui`** — the interactive view over rigs, pods, seats and specs. **`rig tui commands`**
439
- lists everything it can do without launching it. Open the instance row for one continuous
440
- cross-rig agent table with pod separators and material `RECENT` transitions; drill into a rig,
441
- mission, slice, or agent without losing the owning identity. **`rig ui open`** is unmaintained,
442
- best-effort, and replaced by the TUI, so never diagnose product behaviour from the web UI. The
443
- TUI plus Slack are the human surface; the CLI plus terminal are the agent surface.
461
+ - **`rig tui`** — the interactive view over rigs, pods, seats and specs. `rig tui --shared`
462
+ attaches to the existing kernel terminal; Ctrl-b then d detaches, and no missing seat or
463
+ terminal is implicitly launched. Plain `rig tui` remains a separate view.
464
+ Open the instance row for one continuous cross-rig agent table with pod separators and material
465
+ `RECENT` transitions; drill into a rig, mission, slice, or agent without losing the owning
466
+ identity. Use the mission's workflow/packet view and Specs purpose/source to understand work.
467
+ Tab completes commands and snapshot arguments; Recent opens original events. `connections`
468
+ compares effective config with running services and human bindings, passively; dated
469
+ verification does not prove delivery. `timezone` gives persistent local-time guidance.
470
+ **`rig tui commands`** lists everything it can do without launching it. **`rig ui open`** is
471
+ unmaintained, best-effort, and replaced by the TUI, so never diagnose product behaviour from
472
+ the web UI. The TUI plus Slack are the human surface; the CLI plus terminal are the agent surface.
444
473
  - **`rig mcp serve`** — how an agent that speaks MCP rather than shell drives OpenRig, and which
445
474
  operations are exposed that way. Relevant the moment a tool you are integrating cannot run a
446
475
  shell command.
@@ -448,8 +477,10 @@ your circumstances is configuration, and the ones that are not, another agent ca
448
477
  selectors, target, and current/missing/shadowed/conflicting state for one working directory.
449
478
  `--apply` writes only the managed ownership set, is idempotent, and refuses local edits or
450
479
  unowned collisions.
451
- - **`rig startup-proof submit`** — prove you actually oriented at boot, rather than claiming you
452
- read the prompt.
480
+ - **`rig startup-proof submit`** — answer an explicitly selected authenticated startup challenge.
481
+ Startup adds no proof exercise by default. Declare `startup_proof` with `authenticated` or
482
+ `none` in the applicable startup layers; see `docs/reference/rig-spec.md#startup-block/startup-proof-selection`.
483
+ Terminal nodes never challenge, and resume/adoption does not create a new challenge.
453
484
 
454
485
  ---
455
486
 
@@ -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.5.10"
4
+ version: "0.5.11"
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:
@@ -75,5 +75,7 @@ knowledge.
75
75
  A capability composition is a reusable recipe; this is the execution architecture that operates
76
76
  capabilities toward an outcome. Promote a proven workflow to the composition shelf only after use.
77
77
 
78
- **Reference implementation:** Release 0.5.9 Slice 05 is the first **Agent-Operated Migration**. Its
79
- runbook and helpers remain there; this skill carries the reusable contract, not a duplicate procedure.
78
+ **Public example:** load `skills/core/openrig-upgrade/SKILL.md` with
79
+ `rig context get` for the upgrade runbook. Its adjacent `scripts/` directory
80
+ contains the bounded inspection, backup, plugin-refresh and migration helpers.
81
+ Follow that runbook for the procedure; this skill carries the reusable contract.
@@ -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.5.10"
4
+ version: "0.5.11"
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:
@@ -3,12 +3,12 @@ name: applying-a-permission-policy
3
3
  description: "Use when a permission policy is attached to a rig/seat (rig.yaml permission_policy:), or a user asks you to apply one, and you must translate that harness-neutral policy into the target harness's LIVE permission config — Claude settings.json / Codex config.toml / Pi run flags. Agent-driven and interactive: you read the policy, ground yourself in YOUR harness version, show the diff, and ask before writing. NOT for defining policies (that's the policy spec) and NOT a set-and-forget updater."
4
4
  metadata:
5
5
  openrig:
6
- stage: established # config cells VM-verified + cold-transfer PASSING (rerun #2) + built-in SPEC FILES landed → skill translates FROM the spec (POINT-not-COPY). The two established criteria met 2026-08-04. Reviewed at push.
6
+ stage: established
7
7
  tested_against: # VERSION STAMP — the whole point; re-verify at every harness bump
8
8
  claude_code: "2.1.220 — VM-CONFIRMED 2026-08-03 (all cells)"
9
9
  codex: "0.120.0 — VM-CONFIRMED 2026-08-03 (sandbox_mode/approval_policy; on-failure deprecated-but-accepted)"
10
10
  pi: "0.83.0 — VM-CONFIRMED 2026-08-03: --approve/--no-approve govern PROJECT-RESOURCE TRUST, NOT tool permissions; Pi has NO permission surface (see Pi leg)"
11
- verification_status: "Live-verified 2026-08-03/04. Claude 2.1.220 + Codex 0.120.0 config cells CONFIRMED live. Pi 0.83.0 divergence folded (flags = project-resource trust, not a permission gate). Cold-transfer rerun #1 blocked on the force_push/push_to_remote prefix collision → added the PREFIX-COLLISION rule. Cold-transfer rerun #2: TRANSFERS — all 5 gate checks pass (collision resolved deterministically without asking; single ordinary write confirmation; defaultMode floor written; Codex workspace-write/on-request; Pi compute-nothing). Blocking collision/floor defect CLOSED → gate cleared, 4.8-shippable (provisional-with-passing-cold-transfer). Non-blocking seam closed: the built-in SPEC FILES landed (arch-accepted, source:builtin) → skill translates FROM the spec, interim in-skill pinned summary retired (POINT-not-COPY). stage:ESTABLISHED 2026-08-04 — both criteria met."
11
+ verification_status: "Historical compatibility checks on the versions and dates in tested_against. These observations do not establish behavior on a later harness; verify its current format before applying the mapping."
12
12
  ---
13
13
 
14
14
  # Applying a permission policy
@@ -30,17 +30,17 @@ Harness permission formats are a **moving target**. The exact fact this skill is
30
30
  - NOT for authoring policies (that's the policy spec) and NOT for daemon-level enforcement (OpenRig is agnostic — it injects nothing).
31
31
 
32
32
  ## What you're translating (the boundary)
33
- INPUT = a **harness-neutral policy spec** (arch's schema): `default_posture`, `floor`, `allow`/`ask`/`deny` as **semantic actions** (`push_to_remote`, `delete_files`, …), `destructive_class`, `source: builtin|custom`. You TRANSLATE that intent → the harness's live config. You never invent policy; you never pre-bake harness config into the spec.
33
+ INPUT = a **harness-neutral policy spec** (semantic action schema): `default_posture`, `floor`, `allow`/`ask`/`deny` as **semantic actions** (`push_to_remote`, `delete_files`, …), `destructive_class`, `source: builtin|custom`. You TRANSLATE that intent → the harness's live config. You never invent policy; you never pre-bake harness config into the spec.
34
34
 
35
35
  ## The apply flow (interactive — the interactive-ask IS the product)
36
36
  1. **Read the policy spec** + its `source:` marker (built-in read-only from the package = copy-to-customize before editing; custom = user space).
37
37
  2. **PREFLIGHT (mandatory) — ground yourself in THIS environment:**
38
- - **daemon-HOME must equal seat-HOME**, or a user-level Claude write never reaches the seat (assessment iv). Check; if they differ, **stop and ask** — do not write into the wrong HOME.
38
+ - **daemon-HOME must equal seat-HOME**, or a user-level Claude write never reaches the seat. Check; if they differ, **stop and ask** — do not write into the wrong HOME.
39
39
  - Read the harness's **actual current config file** + confirm its schema against your installed version (`claude --version`, the live settings.json shape, codex/pi versions). If the format differs from this skill's `tested_against`, trust the LIVE format and flag the drift.
40
40
  3. **Derive the per-harness config** from the semantic actions (see the three legs below). Compute the Codex posture-collapse + Pi bit.
41
41
  4. **Show the concrete DIFF before writing** (old → new, per file). Never a blind write.
42
- 5. **Resolve best-effort actions by the built-in's rule FIRST, then ask only on genuine ambiguity.** Best-effort destructive actions (`force_push`, `delete_files`, `delete_everything`, `read_secrets`) default to **`ask`** (never a `deny` that can't be enforced) — apply that default rather than stopping to question-back. Surface a question only when the policy is genuinely ambiguous or the seat is interactive. **For a same-prefix collision (`push_to_remote` vs `force_push`, both `Bash(git push:*)`), NEVER ask — apply the deterministic PREFIX-COLLISION rule in the Claude leg.** (Live cold-transfers caught fresh agents *question-backing* — first on the `force_push` default, then on the prefix collision — instead of applying the fixed rule; both freeze an autonomous seat.) On a Claude-only fleet, if the policy denies `network_egress`, **say so explicitly**: it is NOT enforceable — Claude has no network gate, a `Bash(curl:*)`/`Bash(wget:*)` deny is best-effort, and `python`/`node` fetch bypasses it (live-verified: `urllib` reached HTTPS 200 under a curl/wget deny). Route real egress-gating to the Codex sandbox, or record it as advisory on Claude.
43
- 6. **Back up the current config**, then write. Prefer the **user-level** file (`~/.claude/settings.json`) for durable policy — it's the clobber-resistant tier (deny wins across the union). **ALWAYS include `defaultMode: "acceptEdits"` in the Claude settings.json you write** — the floor key must be PRESENT in the file, or the config policy strips the floor. (This is the exact gap a live cold-transfer test FAILED on: the fresh agent wrote allow/deny lists but omitted `defaultMode`, leaving the seat below the floor.)
42
+ 5. **Resolve best-effort actions by the built-in's rule FIRST, then ask only on genuine ambiguity.** Best-effort destructive actions (`force_push`, `delete_files`, `delete_everything`, `read_secrets`) default to **`ask`** (never a `deny` that can't be enforced) — apply that default rather than stopping to question-back. Surface a question only when the policy is genuinely ambiguous or the seat is interactive. **For a same-prefix collision (`push_to_remote` vs `force_push`, both `Bash(git push:*)`), NEVER ask — apply the deterministic PREFIX-COLLISION rule in the Claude leg.** On a Claude-only fleet, if the policy denies `network_egress`, **say so explicitly**: it is NOT enforceable — Claude has no network gate, a `Bash(curl:*)`/`Bash(wget:*)` deny is best-effort, and `python`/`node` fetch bypasses it (live-verified: `urllib` reached HTTPS 200 under a curl/wget deny). Route real egress-gating to the Codex sandbox, or record it as advisory on Claude.
43
+ 6. **Back up the current config**, then write. Prefer the **user-level** file (`~/.claude/settings.json`) for durable policy — it's the clobber-resistant tier (deny wins across the union). **ALWAYS include `defaultMode: "acceptEdits"` in the Claude settings.json you write** — the floor key must be PRESENT in the file, or the config policy strips the floor.
44
44
  7. **Verify** the write landed and the seat can see it (re-read; confirm `defaultMode: "acceptEdits"` is present; for an autonomous seat, confirm no `ask` will freeze it).
45
45
 
46
46
  ## Two surfaces — and this skill writes only ONE of them
@@ -48,7 +48,7 @@ Permissions live on two surfaces with opposite stability — which is the whole
48
48
  - **LAUNCH-FLAG surface — STABLE (>1yr) → OpenRig sets it DETERMINISTICALLY, NOT this skill.** The flags OpenRig passes at boot: Claude `--permission-mode` / `--dangerously-skip-permissions`; Codex sandbox/bypass flags; Pi `--approve`/`--no-approve`. **Two things live here, both OpenRig-owned: the FLOOR (minimum, by default) and YOLO (full bypass, opt-in).**
49
49
  - **CONFIG-FILE surface — CHAOTIC → NEVER deterministic → THIS SKILL'S DOMAIN.** Claude `settings.json` allow/ask/deny + defaultMode; Codex `config.toml` approval rules. This is where the Locked / Standard / Open policies get applied — agent-driven, version-stamped, caveated. (Pi has **no permission surface at all** — its `--approve`/`--no-approve` flags govern project-resource trust, not tool permissions (VM-confirmed Pi 0.83.0); a permission policy does not translate to Pi. See the Pi leg.)
50
50
 
51
- **THE FLOOR (launch-flag, OpenRig-set — this skill KNOWS it, never WRITES it):** Claude `--permission-mode acceptEdits` (keep it); **Codex workspace-only** (stop forcing `danger-full-access` — ≈ Codex's own default ≈ setting-nothing = agnostic); Pi `--no-approve` (a project-resource-trust floor — Pi has no permission gate; see the Pi leg). **One consistent unconditional minimum** (no by-context switching — that mode idea is parked 5.0). A chosen config-file policy layers ON TOP of the floor.
51
+ **THE FLOOR (launch-flag, OpenRig-set — this skill KNOWS it, never WRITES it):** Claude `--permission-mode acceptEdits` (keep it); **Codex workspace-only** (stop forcing `danger-full-access` — ≈ Codex's own default ≈ setting-nothing = agnostic); Pi `--no-approve` (a project-resource-trust floor — Pi has no permission gate; see the Pi leg). **One consistent unconditional minimum**. A chosen config-file policy layers ON TOP of the floor.
52
52
 
53
53
  **YOLO MODE (launch-flag, OpenRig-set, opt-in — for people done with permissions):** OpenRig boots every seat with the full-bypass flag (Claude `--dangerously-skip-permissions`; Codex full-bypass). **When YOLO is on, CONFIG-FILE POLICY IS MOOT** — this skill does NOT apply a config policy (or explicitly notes it's overridden by the flag); don't fight the bypass. YOLO is OpenRig's deterministic job, not this skill's. (**Operator = YOLO mode** — subsumed.)
54
54
 
@@ -79,10 +79,10 @@ Permissions live on two surfaces with opposite stability — which is the whole
79
79
  - **PREFIX-COLLISION resolution (deterministic — resolve it, NEVER ask).** When two actions collapse to the SAME base prefix with different dispositions — the canonical case is `push_to_remote`=allow + `force_push`=ask, both basing to `Bash(git push:*)` — you cannot put that base prefix in both `allow` and `ask`. Resolve without a question-back:
80
80
  - **Push allowed + force asked (Standard / Open):** put the base `Bash(git push:*)` per push's disposition (`allow`), AND add the flag-first force forms to `ask` (`Bash(git push --force:*)`, `Bash(git push -f:*)`, `Bash(git push --force-with-lease:*)`). RECORD in your diff that this is best-effort — flag-LAST force (`git push origin main --force`) leaks past the flag-first ask rules and runs under the allow. Don't block on it.
81
81
  - **Push denied (Locked):** `Bash(git push:*)` in `deny` already covers force — no conflict.
82
- This is a FIXED rule, not a user decision — apply it and note the leak. (A live cold-transfer FAILED because a fresh agent *blocked asking* "how to resolve the force_push/push_to_remote collision" instead of applying this default.)
83
- - **`defaultMode: "acceptEdits"` is the FLOOR and MUST be written into every Claude settings.json you produce.** It is not a knob you tune, but it IS a key you must always include — a config policy that omits it strips the floor (the cold-transfer failure). Live-confirmed schema: `{"permissions":{"allow":[],"ask":[],"deny":[],"defaultMode":"acceptEdits"}}`.
82
+ This is a FIXED rule, not a user decision — apply it and note the leak.
83
+ - **`defaultMode: "acceptEdits"` is the FLOOR and MUST be written into every Claude settings.json you produce.** It is not a knob you tune, but it IS a key you must always include — a config policy that omits it strips the floor. Live-confirmed schema: `{"permissions":{"allow":[],"ask":[],"deny":[],"defaultMode":"acceptEdits"}}`.
84
84
 
85
- ### Codex — `~/.codex/config.toml` (via the existing X10 `codex_config_fragment` splice path — reuse, don't invent)
85
+ ### Codex — `~/.codex/config.toml` (via the existing `codex_config_fragment` splice path — reuse, don't invent)
86
86
  - Codex is **per-posture, not per-action**: the whole action set **collapses** to the nearest `{sandbox_mode, approval_policy}` pair. **Built-in → posture** (VM-CONFIRMED @ Codex 0.120.0, 2026-08-03 — each posture applied to a real seat: read-only blocked writes+egress, workspace-write allowed writes/blocked egress, danger-full-access allowed both):
87
87
 
88
88
  | Built-in | `sandbox_mode` | `approval_policy` | Collapse note (surface this to the user) |
@@ -107,7 +107,7 @@ Permissions live on two surfaces with opposite stability — which is the whole
107
107
  - **daemon-HOME ≠ seat-HOME** silently voids user-level writes — always the preflight check above.
108
108
 
109
109
  ## The built-ins — DEFINED by the shipped policy spec files (translate FROM the spec; POINT, don't COPY)
110
- The four built-in policies ship as read-only spec files (`source: builtin`, `policy_schema_version: 1`) — they are the AUTHORITATIVE definitions. **Do NOT restate their action-sets here.** An earlier in-skill copy drifted (it under-asked `publish_package`/`merge_or_release`, which the spec ASKs) — the exact reason POINT-don't-COPY is the rule. Read the attached/selected spec and translate its semantic-action sets (`default_posture` / `allow` / `ask` / `deny` / `destructive_class`) per the three legs above.
110
+ The four built-in policies ship as read-only spec files (`source: builtin`, `policy_schema_version: 1`) — they are the AUTHORITATIVE definitions. **Do NOT restate their action-sets here.** The selected spec supplies the action sets; a second copy in this skill can diverge. Read the attached/selected spec and translate its semantic-action sets (`default_posture` / `allow` / `ask` / `deny` / `destructive_class`) per the three legs above.
111
111
  - **Locked / Standard ⭐ / Open** — `surface: config`. Translate to the Claude / Codex config surface. **Standard ⭐** is the recommended default: routine dev incl. push allowed, the outward/release/history-rewriting acts (`create_pr`, `publish_package`, `merge_or_release`, `force_push`) ASK, destructive_class ASKs. Standard has live `ask` gates → not for a headless-autonomous Claude seat (use Open or YOLO). Locked = deny-default whitelist; Open = allow-default, destructive_class asks only.
112
112
  - **YOLO** — `surface: flag`, `launch_posture: full_bypass`. This skill does **NOT** translate it — it points at OpenRig's deterministic flag-surface opt-in (the rip-out YOLO setting). When YOLO is on, any config-surface policy is MOOT (the bypass overrides it). (Subsumes the former "Operator".)
113
113
 
@@ -115,6 +115,3 @@ Built-ins ship read-only in the package (canonical names); copy-to-customize int
115
115
 
116
116
  ## Boundary (keeps this the only maintained piece)
117
117
  This skill TRANSLATES + APPLIES only. It does **not** define policies (the policy spec does) and does **not** enforce at the daemon (OpenRig is agnostic). Spec = *what* (neutral intent); this skill = *how, on this harness version* (the caveated, version-stamped translation).
118
-
119
- ---
120
- *Stage: ESTABLISHED (2026-08-04) — both criteria met: (1) cold-transfer PASSING (rerun #2, all 5 gate checks TRANSFER); (2) the built-in policy SPEC FILES landed (`source: builtin`, arch-accepted) as the authoritative source — the skill now translates FROM the spec and the interim in-skill pinned summary is retired (POINT-not-COPY). Config cells VM-CONFIRMED (Claude 2.1.220 / Codex 0.120.0); Pi has no permission surface (compute-nothing). Reviewed at push. feedback.md maintained.*
@@ -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: "applying-a-permission-policy"
4
- version: "0.5.10"
4
+ version: "0.5.11"
5
5
  taxonomy: "skills"
6
6
  purpose: "Use when a permission policy is attached to a rig/seat (rig.yaml permission_policy:), or a user asks you to apply one, and you must translate that harness-neutral policy into the target harness's LIVE permission config — Claude settings.json / Codex config.toml / Pi run flags. Agent-driven and interactive: you read the policy, ground yourself in YOUR harness version, show the diff, and ask before writing. NOT for defining policies (that's the policy spec) and NOT a set-and-forget updater."
7
7
  files:
@@ -3,7 +3,6 @@ name: claude-compaction-restore
3
3
  description: Use when a Claude Code session has just compacted, is about to compact, reached context limit, resumed after /compact, or needs to rebuild its working mental model from Claude JSONL transcripts and touched files.
4
4
  metadata:
5
5
  openrig:
6
- stage: factory-approved
7
6
  sibling_skills:
8
7
  - mental-model-ha
9
8
  - scope-recovery
@@ -20,8 +19,9 @@ metadata:
20
19
  # Claude Compaction Restore
21
20
 
22
21
  Use this skill to preserve continuity before Claude Code compacts and to
23
- restore continuity after compaction. Do the work described here; do not merely
24
- explain the protocol.
22
+ restore continuity after compaction. Follow the active restore request or
23
+ configured continuity policy. A hook notice identifies available evidence; it
24
+ does not by itself request a seat restoration.
25
25
 
26
26
  ## If You Are About To Compact
27
27
 
@@ -55,68 +55,60 @@ Prepare durable continuity before the context boundary.
55
55
 
56
56
  ## If You Just Compacted
57
57
 
58
- Treat your memory as unreliable until you restore from durable evidence.
59
- Restoration is your current task. Do not wait for a future user request or a
60
- new task assignment before reading the required files.
61
-
62
- 1. Read any restore prompt, marker path, packet path, transcript path, restore
63
- map, or extra instruction file named by the operator or OpenRig.
64
- 2. Run the restore script from this skill:
65
-
66
- ```bash
67
- node ~/.claude/skills/claude-compaction-restore/scripts/restore-from-jsonl.mjs --out /tmp/claude-compaction-restore
68
- ```
69
-
70
- If the prompt names a specific Claude JSONL transcript, pass it explicitly:
58
+ Restore from the evidence for this session before relying on remembered task state.
59
+
60
+ 1. Inspect the restore request and any named marker, packet, transcript, restore
61
+ map, or extra instruction file. Check recorded seat/session/transcript identity
62
+ against the current request, and verify that the referenced packet is readable.
63
+ A marker path alone does not prove a usable packet; do not substitute another
64
+ seat's packet or select one only because it is the newest.
65
+ 2. **Use the existing packet when usable.** Read its `restore-instructions.md`,
66
+ `touched-files.md`, and any named restore map. A packet already prepared for this
67
+ session does not need rebuilding merely because compaction occurred.
68
+ 3. **Fall back when the packet is absent or unusable.** Record what is missing or
69
+ mismatched. Resolve this skill's installed directory and run its
70
+ `scripts/restore-from-jsonl.mjs` with the matching Claude JSONL transcript and a
71
+ separate output directory. For a skill installed in the global Claude skill root:
71
72
 
72
73
  ```bash
73
74
  node ~/.claude/skills/claude-compaction-restore/scripts/restore-from-jsonl.mjs /path/to/session.jsonl --out /tmp/claude-compaction-restore
74
75
  ```
75
76
 
76
- 3. Read the generated `restore-instructions.md`.
77
- 4. Read the generated `touched-files.md`.
78
- 5. Find and read the mental-model restore map if one exists. Treat it as the
79
- highest-value guide to which memory files, mission files, source files, and
80
- docs mattered before compaction.
81
- 6. Identify the important files for the active task. The touched-file list is
82
- a triage aid, not a complete inventory.
83
- 7. Read every important file in full. Prioritize the restore map, Claude memory
84
- files named in the map, Markdown state/planning files, queue/mission packets,
85
- source files with active edits, root instruction files, and as-built or
86
- codemap docs.
87
- 8. After the required reads are complete, state:
77
+ If no transcript was named, identify the current session's transcript first.
78
+ The script can discover a transcript from a working directory, but inspect that
79
+ selection before relying on it. If the session cannot be identified, report
80
+ the missing input instead of reconstructing from an unrelated conversation.
81
+ Read the resulting `restore-instructions.md` and `touched-files.md`.
82
+ 4. Inspect the actual packet and transcript sizes before choosing how much to read.
83
+ The generated instructions report estimated token cost. State a read budget
84
+ and stopping rule that leave room for the task. For a large transcript, begin
85
+ with the most recent task-relevant unique narrative; read earlier material when
86
+ a specific missing decision or dependency requires it. Report ranges actually
87
+ read rather than treating a chosen budget as completed coverage.
88
+ 5. Use the restore map and touched-file list to identify current task files.
89
+ The list is a triage aid, not an exhaustive inventory. Prioritize the active
90
+ queue/mission packet, decisions and memory named in the map, files with active
91
+ edits, root instructions, and relevant as-built docs or codemaps. Read required
92
+ task files in full within the stated budget; record any remaining gaps.
93
+ 6. Re-establish the task's purpose and operating context from the current project,
94
+ mission and seat files. A transcript summary alone does not establish current
95
+ scope or obligations. Use the shipped `refocusing` skill for the path-only
96
+ topology/work trace when operating inside OpenRig.
97
+ 7. Report the read-depth audit below. Once the required context is restored, use
98
+ the packet's requested acknowledgment, normally:
88
99
 
89
100
  ```text
90
101
  restored from packet at <path>; resumed at step <X>
91
102
  ```
92
103
 
93
- Include the main files you read in full when you make that statement.
94
-
95
- 9. **REFOCUS BEFORE YOU RESUME — the restore returns your TASK, not your BEARINGS.** Everything
96
- above rebuilds *what you were doing*. None of it rebuilds *what the work is for* or *how this
97
- rig operates* — those live in the chains, and nothing in steps 1–8 walks them. Invoke the
98
- `refocus` skill and do its reads before your next substantive move.
99
-
100
- **Measured 2026-08-13, and this step exists because of it:** a seat completed this protocol
101
- faithfully — packet built, narrative read tail-first, read-depth audit reported honestly — and
102
- resumed with a perfect picture of its atom and *zero* work-tree context. It had never opened
103
- the mission or project nodes, and could only paraphrase the release's intent second-hand from
104
- a peer's message. It then produced a technically-correct trace concluding *"I hold nothing"*
105
- while holding 18 pending rows. **A restore that returns you to your task without your bearings
106
- is how a confidently-wrong agent gets back to work.**
107
-
108
- **On the marker and the packet's size (measured across restores, 2026-08):** two realities the restore
109
- must handle honestly —
110
-
111
- - **The per-seat marker (`restore-pending/<session>.json`) is frequently absent** — in five observed
112
- restores it was never present. Treat the JSONL rebuild via `restore-from-jsonl.mjs` as the **primary**
113
- path, not a fallback: run it regardless of whether a marker exists. (When product-infra reliably writes
114
- the marker for tmux-launched seats, it becomes a fast-path upgrade — not a prerequisite that keeps failing.)
115
- - **The generated transcript can be very large** (measured at ~346k tokens in one restore). Do **not**
116
- read it front-to-back or claim to. `restore-instructions.md` declares its token cost up front; default
117
- to the **most recent ~50k tokens of unique narrative first** (recency is what a restore needs — the
118
- thread that produced the current frontier, not the boot handshake), and go earlier only if a specific
119
- question requires it. A restore must leave room for the work it was restored to do.
104
+ Include the main files actually read in full. If essential context remains
105
+ missing, report partial restoration and the next recovery action instead of
106
+ claiming completion.
107
+
108
+ The packaged PreCompact writer can prepare a packet and a per-seat pending marker;
109
+ the restore bridge can deliver its pointer once for a matching session. Inspect
110
+ those actual artifacts. Their creation or delivery is not proof that a provider
111
+ restored its context, that the files were read, or that task understanding returned.
120
112
 
121
113
  ## Required Read-Depth Audit
122
114
 
@@ -125,8 +117,8 @@ After the first restore pass, audit yourself before continuing.
125
117
  1. List every file, packet, marker, restore map, instruction file, and source
126
118
  document you were asked to read during restore.
127
119
  2. Mark each item as `FULL`, `PARTIAL`, or `NOT_READ`.
128
- 3. You will be given a task where all of these files are required reading in
129
- order to understand the task.
120
+ 3. Distinguish essential current-task context from supplementary history, using
121
+ the actual restore request and active task.
130
122
  4. Read `PARTIAL`/`NOT_READ` items in full — but **to a declared budget with a stopping rule**, not
131
123
  unbounded. Prioritize by relevance to the active task; for a large transcript read the most recent
132
124
  unique narrative first (see *If You Just Compacted*), not front-to-back.
@@ -156,8 +148,8 @@ After the first restore pass, audit yourself before continuing.
156
148
 
157
149
  1. **Confidently-wrong restoration**: claiming restoration after reading only
158
150
  the touched-file list or summary.
159
- 2. **Partial restore**: reading the first few files, then continuing before the
160
- full reading list is complete.
151
+ 2. **Unreported partial restore**: continuing without essential task context or
152
+ claiming full coverage after a budget-limited read.
161
153
  3. **Skipping project instructions**: missing `AGENTS.md`, `CLAUDE.md`,
162
154
  `README.md`, as-built docs, or codemaps that govern the task.
163
155
  4. **Treating the packet as exhaustive**: ignoring mission or workspace 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: "claude-compaction-restore"
4
- version: "0.5.10"
4
+ version: "0.5.11"
5
5
  taxonomy: "skills"
6
6
  purpose: "Use when a Claude Code session has just compacted, is about to compact, reached context limit, resumed after /compact, or needs to rebuild its working mental model from Claude JSONL transcripts and touched files."
7
7
  files:
@@ -23,9 +23,9 @@ A named, reusable per-seat starting point. Composes an agent role, startup
23
23
  context, optional native session source, and provenance into something a
24
24
  user or rig can choose when creating, refreshing, or packaging a seat.
25
25
 
26
- "Agent image" is the analogy. **Agent Starter is the cleaner product
27
- noun.** This is NOT a VM image — it is a managed starting point for an
28
- agent seat, with provenance you can inspect.
26
+ This registry-backed startup context is distinct from the `rig agent-image`
27
+ surface and from a VM image. See the current behavior below before treating
28
+ optional session provenance as an executable native session source.
29
29
 
30
30
  ## Use this when
31
31
 
@@ -49,7 +49,7 @@ Capture the seat as it naturally is at a functional, proven point. Don't pad it
49
49
 
50
50
  Never compact, summarize, or shrink a seat in order to make or "lean" a starter. There is nothing valuable in "smaller," and compaction is lossy — you would trade away the exact capability the starter exists to preserve. (Compaction is a separate last-resort step for a seat genuinely near its context limit, with its own before/after plan — never part of capturing a starter.)
51
51
 
52
- ## State model — 6 states
52
+ ## Authoring lifecycle — 6 conceptual states
53
53
 
54
54
  1. **Captured** — a useful seat/session/context pattern is identified.
55
55
  2. **Named** — it becomes an Agent Starter with stable id and owner.
@@ -66,30 +66,32 @@ Never compact, summarize, or shrink a seat in order to make or "lean" a starter.
66
66
  4. **Secret leakage** — starter packages or displays provider auth material. **Refuse.** Refer to session sources and context, never copy credentials.
67
67
  5. **Runtime mismatch** — starter used with unsupported runtime. **Refuse with a clear error.**
68
68
 
69
- ## Manifest shape (v0+v1 shipped)
69
+ ## Registry entry and current behavior
70
+
71
+ Save one entry as `<registry-root>/reviewer-v1.yaml`. The resolver selects an
72
+ explicit root or `OPENRIG_AGENT_STARTER_ROOT`; absent those, it checks the home
73
+ registry `~/.openrig/agent-starters` and a configured fallback.
70
74
 
71
75
  ```yaml
72
- agent_starters:
73
- - id: velocity-reviewer-v1
74
- runtime: claude-code
75
- agent_ref: local:reviewer
76
- context_refs:
77
- - doctrine:advisor-orchestrator-mode-judgment
78
- - convention:workstream-continuity
79
- session_source:
80
- mode: fork
81
- ref:
82
- kind: native_id
83
- value: "<prior-native-session-id>"
76
+ starter_id: reviewer-v1
77
+ role: Review the assigned change against its stated outcome.
78
+ context: Read the current task and the source needed to judge it.
84
79
  ```
85
80
 
81
+ The current resolver checks the entry shape and credential boundary, then
82
+ delivers this YAML itself as one required `guidance_merge` startup file on a
83
+ fresh start. It does not interpret arbitrary context refs, load a native
84
+ conversation from this example, or seal an image. A RigSpec member combining
85
+ `starter_ref` with `session_source.mode: fork` is currently rejected; use a
86
+ separate supported session-source path when native continuity is the outcome.
87
+
86
88
  Member usage:
87
89
 
88
90
  ```yaml
89
91
  members:
90
92
  - id: reviewer
91
93
  starter_ref:
92
- name: velocity-reviewer-v1
94
+ name: reviewer-v1
93
95
  ```
94
96
 
95
97
  When a starter points at a primed session produced from a Composable
@@ -113,7 +115,7 @@ Priming Pack, record:
113
115
 
114
116
  ## Dependencies on other primitives
115
117
 
116
- - **Firm**: `session-source-fork` — native conversation-source continuity for fork-based starters
118
+ - **Separate path**: `session-source-fork` — native conversation-source continuity; currently not composable with `starter_ref`
117
119
  - **Firm**: `specification-system` — declarative starter and member references
118
120
  - **Soft**: `rig-bundles-and-shareable-artifacts` — shareable starter packaging
119
121
  - **Soft**: `context-engineering-and-retrieval` — richer declarative context assembly
@@ -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-starters"
4
- version: "0.5.10"
4
+ version: "0.5.11"
5
5
  taxonomy: "skills"
6
6
  purpose: "Use when creating, refreshing, packaging, inspecting, promoting, or deprecating a named per-seat starting point — Agent Starter manifest authoring, the 6-state lifecycle (captured → named → inspectable → used → promoted → deprecated), provenance honesty, and refusal rules. NOT a VM image; a managed starting point composed from agent role + startup context + optional native session source + provenance."
7
7
  files:
@@ -24,8 +24,7 @@ metadata:
24
24
 
25
25
  How an agent becomes useful after launch: **AGENTS.md overlays, role
26
26
  files, skills, rig specs, workflow specs, startup checklists, refocus
27
- messages**, and any future "rig context" command or skill-librarian
28
- surface.
27
+ messages**, and the current `rig context` retrieval and profile surface.
29
28
 
30
29
  It is the current concrete startup path inside the broader
31
30
  context-engineering-and-retrieval primitive. Startup gets a seat into
@@ -91,14 +90,16 @@ reentry case, distinct from reusable Agent Starters / priming packs):
91
90
 
92
91
  ## Memory surfaces consumed at startup
93
92
 
94
- Per the externalized-memory-surfaces convention's 13-row inventory:
93
+ Inventory the selected startup inputs: AGENTS/role/CULTURE overlays, replay
94
+ context, and any declared restore packet or starter. Record where each comes
95
+ from, whether it is current, and why this task needs it. An available skill or
96
+ old packet does not select the work.
95
97
 
96
- - **Row 7** — AGENTS/role/CULTURE/startup overlays (primary)
97
- - **Row 3** — startup replay context (primary)
98
- - **Row 12** — restore/reentry packets and Agent Starters (cross-runtime startup path)
99
-
100
- The umbrella's authority-rank + permission-posture columns govern which
101
- surfaces a startup ingestion path can write vs only read.
98
+ Use the task-scoped startup path above to resolve current authority. Permission
99
+ to read an input is not permission to rewrite its source; writes follow the
100
+ active project/rig policy and assignment. Load
101
+ `skills/openrig-operating-model/SKILL.md` with `rig context get` when deciding
102
+ where durable context belongs.
102
103
 
103
104
  ## Startup files vs skills (the distinction)
104
105
 
@@ -123,5 +124,5 @@ culture / pod / member / operator) handles the layering.
123
124
  - `session-compaction-and-restore` skill — restore-time startup ingestion
124
125
  - `agent-starters` skill — reusable starter manifests that compose startup context
125
126
  - `composable-priming-packs` skill — manifests that produce primed sessions
126
- - `externalized-memory-surfaces` skill — umbrella convention for memory surfaces this primitive consumes
127
+ - `openrig-operating-model` skill — placement and authority of durable context
127
128
  - `openrig/docs/reference/agent-startup-guide.md` (product reference doc; not a skill) — the 7-layer additive startup model + delivery hints