@openrig/cli 0.4.6 → 0.4.8

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 (472) hide show
  1. package/daemon/assets/guidance/CULTURE-default.md +19 -0
  2. package/daemon/assets/guidance/openrig-start.md +20 -5
  3. package/daemon/assets/plugins/openrig-core/README.md +1 -1
  4. package/daemon/assets/plugins/openrig-core/skills/applying-a-permission-policy/SKILL.md +120 -0
  5. package/daemon/assets/plugins/openrig-core/skills/claude-compaction-restore/SKILL.md +9 -6
  6. package/daemon/assets/plugins/openrig-core/skills/claude-compaction-restore/scripts/precompact-hook.mjs +11 -72
  7. package/daemon/assets/plugins/openrig-core/skills/claude-compaction-restore/scripts/restore-from-jsonl.mjs +0 -0
  8. package/daemon/assets/plugins/openrig-core/skills/delegating-work/SKILL.md +43 -0
  9. package/daemon/assets/plugins/openrig-core/skills/forming-an-openrig-mental-model/SKILL.md +36 -22
  10. package/daemon/assets/plugins/openrig-core/skills/messaging-the-human/SKILL.md +108 -0
  11. package/daemon/assets/plugins/openrig-core/skills/mission-slice-sop/SKILL.md +7 -13
  12. package/daemon/assets/plugins/openrig-core/skills/openrig-skills/SKILL.md +88 -0
  13. package/daemon/assets/plugins/openrig-core/skills/openrig-user/SKILL.md +189 -105
  14. package/daemon/assets/plugins/openrig-core/skills/queue-handoff/SKILL.md +26 -9
  15. package/daemon/assets/plugins/openrig-core/skills/seat-continuity-and-handover/SKILL.md +11 -9
  16. package/daemon/assets/plugins/openrig-core/skills/session-compaction-and-restore/SKILL.md +162 -0
  17. package/daemon/assets/plugins/openrig-core/skills/software-for-agents/SKILL.md +165 -0
  18. package/daemon/dist/adapters/claude-code-adapter.d.ts +0 -9
  19. package/daemon/dist/adapters/claude-code-adapter.d.ts.map +1 -1
  20. package/daemon/dist/adapters/claude-code-adapter.js +13 -46
  21. package/daemon/dist/adapters/claude-code-adapter.js.map +1 -1
  22. package/daemon/dist/adapters/claude-resume.d.ts +1 -1
  23. package/daemon/dist/adapters/claude-resume.d.ts.map +1 -1
  24. package/daemon/dist/adapters/claude-resume.js +8 -2
  25. package/daemon/dist/adapters/claude-resume.js.map +1 -1
  26. package/daemon/dist/adapters/cmux-transport.d.ts.map +1 -1
  27. package/daemon/dist/adapters/cmux-transport.js +8 -1
  28. package/daemon/dist/adapters/cmux-transport.js.map +1 -1
  29. package/daemon/dist/adapters/cmux.d.ts +9 -0
  30. package/daemon/dist/adapters/cmux.d.ts.map +1 -1
  31. package/daemon/dist/adapters/cmux.js +21 -0
  32. package/daemon/dist/adapters/cmux.js.map +1 -1
  33. package/daemon/dist/adapters/codex-resume.d.ts +1 -1
  34. package/daemon/dist/adapters/codex-resume.d.ts.map +1 -1
  35. package/daemon/dist/adapters/codex-resume.js +4 -2
  36. package/daemon/dist/adapters/codex-resume.js.map +1 -1
  37. package/daemon/dist/adapters/codex-runtime-adapter.d.ts +3 -0
  38. package/daemon/dist/adapters/codex-runtime-adapter.d.ts.map +1 -1
  39. package/daemon/dist/adapters/codex-runtime-adapter.js +30 -9
  40. package/daemon/dist/adapters/codex-runtime-adapter.js.map +1 -1
  41. package/daemon/dist/adapters/pi-resume.d.ts +1 -1
  42. package/daemon/dist/adapters/pi-resume.d.ts.map +1 -1
  43. package/daemon/dist/adapters/pi-resume.js +7 -2
  44. package/daemon/dist/adapters/pi-resume.js.map +1 -1
  45. package/daemon/dist/adapters/pi-runtime-adapter.d.ts.map +1 -1
  46. package/daemon/dist/adapters/pi-runtime-adapter.js +4 -1
  47. package/daemon/dist/adapters/pi-runtime-adapter.js.map +1 -1
  48. package/daemon/dist/adapters/yolo-mode.d.ts +23 -0
  49. package/daemon/dist/adapters/yolo-mode.d.ts.map +1 -0
  50. package/daemon/dist/adapters/yolo-mode.js +49 -0
  51. package/daemon/dist/adapters/yolo-mode.js.map +1 -0
  52. package/daemon/dist/build-info.js +3 -3
  53. package/daemon/dist/db/migrations/055_node_permission_policy.d.ts +13 -0
  54. package/daemon/dist/db/migrations/055_node_permission_policy.d.ts.map +1 -0
  55. package/daemon/dist/db/migrations/055_node_permission_policy.js +17 -0
  56. package/daemon/dist/db/migrations/055_node_permission_policy.js.map +1 -0
  57. package/daemon/dist/db/migrations/056_rig_permission_policy.d.ts +13 -0
  58. package/daemon/dist/db/migrations/056_rig_permission_policy.d.ts.map +1 -0
  59. package/daemon/dist/db/migrations/056_rig_permission_policy.js +17 -0
  60. package/daemon/dist/db/migrations/056_rig_permission_policy.js.map +1 -0
  61. package/daemon/dist/db/migrations/057_node_policy_provenance.d.ts +19 -0
  62. package/daemon/dist/db/migrations/057_node_policy_provenance.d.ts.map +1 -0
  63. package/daemon/dist/db/migrations/057_node_policy_provenance.js +26 -0
  64. package/daemon/dist/db/migrations/057_node_policy_provenance.js.map +1 -0
  65. package/daemon/dist/db/migrations/058_rig_policy_provenance.d.ts +15 -0
  66. package/daemon/dist/db/migrations/058_rig_policy_provenance.d.ts.map +1 -0
  67. package/daemon/dist/db/migrations/058_rig_policy_provenance.js +22 -0
  68. package/daemon/dist/db/migrations/058_rig_policy_provenance.js.map +1 -0
  69. package/daemon/dist/domain/builtin-policy-reference.d.ts +13 -0
  70. package/daemon/dist/domain/builtin-policy-reference.d.ts.map +1 -0
  71. package/daemon/dist/domain/builtin-policy-reference.js +58 -0
  72. package/daemon/dist/domain/builtin-policy-reference.js.map +1 -0
  73. package/daemon/dist/domain/claude-compaction-enforcer.d.ts +3 -0
  74. package/daemon/dist/domain/claude-compaction-enforcer.d.ts.map +1 -1
  75. package/daemon/dist/domain/claude-compaction-enforcer.js +19 -3
  76. package/daemon/dist/domain/claude-compaction-enforcer.js.map +1 -1
  77. package/daemon/dist/domain/cmux-layout-service.d.ts +36 -0
  78. package/daemon/dist/domain/cmux-layout-service.d.ts.map +1 -1
  79. package/daemon/dist/domain/cmux-layout-service.js +100 -28
  80. package/daemon/dist/domain/cmux-layout-service.js.map +1 -1
  81. package/daemon/dist/domain/context-monitor.d.ts +2 -0
  82. package/daemon/dist/domain/context-monitor.d.ts.map +1 -1
  83. package/daemon/dist/domain/context-monitor.js +14 -0
  84. package/daemon/dist/domain/context-monitor.js.map +1 -1
  85. package/daemon/dist/domain/feed/attention-aggregator.js +1 -1
  86. package/daemon/dist/domain/feed/attention-aggregator.js.map +1 -1
  87. package/daemon/dist/domain/hosts/hosts-registry-reader.d.ts.map +1 -1
  88. package/daemon/dist/domain/hosts/hosts-registry-reader.js +12 -10
  89. package/daemon/dist/domain/hosts/hosts-registry-reader.js.map +1 -1
  90. package/daemon/dist/domain/hosts/hosts-registry-writer.d.ts.map +1 -1
  91. package/daemon/dist/domain/hosts/hosts-registry-writer.js +3 -2
  92. package/daemon/dist/domain/hosts/hosts-registry-writer.js.map +1 -1
  93. package/daemon/dist/domain/hosts/read-through.js +1 -1
  94. package/daemon/dist/domain/hosts/read-through.js.map +1 -1
  95. package/daemon/dist/domain/hosts/remote-daemon-http.d.ts.map +1 -1
  96. package/daemon/dist/domain/hosts/remote-daemon-http.js +8 -5
  97. package/daemon/dist/domain/hosts/remote-daemon-http.js.map +1 -1
  98. package/daemon/dist/domain/native-resume-probe.d.ts +1 -1
  99. package/daemon/dist/domain/native-resume-probe.d.ts.map +1 -1
  100. package/daemon/dist/domain/native-resume-probe.js +11 -4
  101. package/daemon/dist/domain/native-resume-probe.js.map +1 -1
  102. package/daemon/dist/domain/node-inventory.d.ts +3 -12
  103. package/daemon/dist/domain/node-inventory.d.ts.map +1 -1
  104. package/daemon/dist/domain/node-inventory.js +57 -15
  105. package/daemon/dist/domain/node-inventory.js.map +1 -1
  106. package/daemon/dist/domain/permission-policy/policy-ref.d.ts +89 -0
  107. package/daemon/dist/domain/permission-policy/policy-ref.d.ts.map +1 -0
  108. package/daemon/dist/domain/permission-policy/policy-ref.js +171 -0
  109. package/daemon/dist/domain/permission-policy/policy-ref.js.map +1 -0
  110. package/daemon/dist/domain/permission-policy/policy-spec.d.ts +34 -0
  111. package/daemon/dist/domain/permission-policy/policy-spec.d.ts.map +1 -0
  112. package/daemon/dist/domain/permission-policy/policy-spec.js +106 -0
  113. package/daemon/dist/domain/permission-policy/policy-spec.js.map +1 -0
  114. package/daemon/dist/domain/plugin-vendor-service.d.ts +2 -0
  115. package/daemon/dist/domain/plugin-vendor-service.d.ts.map +1 -1
  116. package/daemon/dist/domain/plugin-vendor-service.js +23 -0
  117. package/daemon/dist/domain/plugin-vendor-service.js.map +1 -1
  118. package/daemon/dist/domain/projection-lane.d.ts +7 -0
  119. package/daemon/dist/domain/projection-lane.d.ts.map +1 -0
  120. package/daemon/dist/domain/projection-lane.js +28 -0
  121. package/daemon/dist/domain/projection-lane.js.map +1 -0
  122. package/daemon/dist/domain/ps-projection.d.ts +19 -0
  123. package/daemon/dist/domain/ps-projection.d.ts.map +1 -1
  124. package/daemon/dist/domain/ps-projection.js +46 -6
  125. package/daemon/dist/domain/ps-projection.js.map +1 -1
  126. package/daemon/dist/domain/queue-repository.d.ts +14 -10
  127. package/daemon/dist/domain/queue-repository.d.ts.map +1 -1
  128. package/daemon/dist/domain/queue-repository.js +33 -12
  129. package/daemon/dist/domain/queue-repository.js.map +1 -1
  130. package/daemon/dist/domain/restore-orchestrator.d.ts +14 -0
  131. package/daemon/dist/domain/restore-orchestrator.d.ts.map +1 -1
  132. package/daemon/dist/domain/restore-orchestrator.js +90 -6
  133. package/daemon/dist/domain/restore-orchestrator.js.map +1 -1
  134. package/daemon/dist/domain/review/compose.d.ts +77 -4
  135. package/daemon/dist/domain/review/compose.d.ts.map +1 -1
  136. package/daemon/dist/domain/review/compose.js +152 -16
  137. package/daemon/dist/domain/review/compose.js.map +1 -1
  138. package/daemon/dist/domain/review/fleet-compose.js +1 -1
  139. package/daemon/dist/domain/review/fleet-compose.js.map +1 -1
  140. package/daemon/dist/domain/review/gather.d.ts +1 -1
  141. package/daemon/dist/domain/review/gather.d.ts.map +1 -1
  142. package/daemon/dist/domain/review/gather.js +92 -67
  143. package/daemon/dist/domain/review/gather.js.map +1 -1
  144. package/daemon/dist/domain/review/proof-io.d.ts +2 -0
  145. package/daemon/dist/domain/review/proof-io.d.ts.map +1 -0
  146. package/daemon/dist/domain/review/proof-io.js +38 -0
  147. package/daemon/dist/domain/review/proof-io.js.map +1 -0
  148. package/daemon/dist/domain/rig-expansion-service.d.ts.map +1 -1
  149. package/daemon/dist/domain/rig-expansion-service.js +10 -1
  150. package/daemon/dist/domain/rig-expansion-service.js.map +1 -1
  151. package/daemon/dist/domain/rig-repository.d.ts +45 -0
  152. package/daemon/dist/domain/rig-repository.d.ts.map +1 -1
  153. package/daemon/dist/domain/rig-repository.js +75 -1
  154. package/daemon/dist/domain/rig-repository.js.map +1 -1
  155. package/daemon/dist/domain/rigspec-codec.d.ts.map +1 -1
  156. package/daemon/dist/domain/rigspec-codec.js +6 -0
  157. package/daemon/dist/domain/rigspec-codec.js.map +1 -1
  158. package/daemon/dist/domain/rigspec-exporter.d.ts.map +1 -1
  159. package/daemon/dist/domain/rigspec-exporter.js +8 -0
  160. package/daemon/dist/domain/rigspec-exporter.js.map +1 -1
  161. package/daemon/dist/domain/rigspec-instantiator.d.ts +18 -1
  162. package/daemon/dist/domain/rigspec-instantiator.d.ts.map +1 -1
  163. package/daemon/dist/domain/rigspec-instantiator.js +202 -10
  164. package/daemon/dist/domain/rigspec-instantiator.js.map +1 -1
  165. package/daemon/dist/domain/rigspec-preflight.d.ts +11 -0
  166. package/daemon/dist/domain/rigspec-preflight.d.ts.map +1 -1
  167. package/daemon/dist/domain/rigspec-preflight.js +35 -1
  168. package/daemon/dist/domain/rigspec-preflight.js.map +1 -1
  169. package/daemon/dist/domain/rigspec-schema.d.ts.map +1 -1
  170. package/daemon/dist/domain/rigspec-schema.js +25 -0
  171. package/daemon/dist/domain/rigspec-schema.js.map +1 -1
  172. package/daemon/dist/domain/runtime-adapter.d.ts +5 -0
  173. package/daemon/dist/domain/runtime-adapter.d.ts.map +1 -1
  174. package/daemon/dist/domain/runtime-adapter.js.map +1 -1
  175. package/daemon/dist/domain/scope/plan-lock-artifacts.d.ts +8 -0
  176. package/daemon/dist/domain/scope/plan-lock-artifacts.d.ts.map +1 -0
  177. package/daemon/dist/domain/scope/plan-lock-artifacts.js +57 -0
  178. package/daemon/dist/domain/scope/plan-lock-artifacts.js.map +1 -0
  179. package/daemon/dist/domain/scope/scaffold-placeholder.d.ts +38 -0
  180. package/daemon/dist/domain/scope/scaffold-placeholder.d.ts.map +1 -0
  181. package/daemon/dist/domain/scope/scaffold-placeholder.js +98 -0
  182. package/daemon/dist/domain/scope/scaffold-placeholder.js.map +1 -0
  183. package/daemon/dist/domain/scope/scope-approve.d.ts.map +1 -1
  184. package/daemon/dist/domain/scope/scope-approve.js +22 -1
  185. package/daemon/dist/domain/scope/scope-approve.js.map +1 -1
  186. package/daemon/dist/domain/scope/scope-audit.d.ts.map +1 -1
  187. package/daemon/dist/domain/scope/scope-audit.js +57 -20
  188. package/daemon/dist/domain/scope/scope-audit.js.map +1 -1
  189. package/daemon/dist/domain/seat-handover-service.d.ts.map +1 -1
  190. package/daemon/dist/domain/seat-handover-service.js +7 -1
  191. package/daemon/dist/domain/seat-handover-service.js.map +1 -1
  192. package/daemon/dist/domain/session-transport.d.ts +17 -0
  193. package/daemon/dist/domain/session-transport.d.ts.map +1 -1
  194. package/daemon/dist/domain/session-transport.js +44 -0
  195. package/daemon/dist/domain/session-transport.js.map +1 -1
  196. package/daemon/dist/domain/slices/qitem-membership.d.ts +17 -0
  197. package/daemon/dist/domain/slices/qitem-membership.d.ts.map +1 -0
  198. package/daemon/dist/domain/slices/qitem-membership.js +60 -0
  199. package/daemon/dist/domain/slices/qitem-membership.js.map +1 -0
  200. package/daemon/dist/domain/slices/slice-detail-projector.d.ts +5 -0
  201. package/daemon/dist/domain/slices/slice-detail-projector.d.ts.map +1 -1
  202. package/daemon/dist/domain/slices/slice-detail-projector.js +157 -11
  203. package/daemon/dist/domain/slices/slice-detail-projector.js.map +1 -1
  204. package/daemon/dist/domain/slices/slice-indexer.d.ts +86 -0
  205. package/daemon/dist/domain/slices/slice-indexer.d.ts.map +1 -1
  206. package/daemon/dist/domain/slices/slice-indexer.js +422 -45
  207. package/daemon/dist/domain/slices/slice-indexer.js.map +1 -1
  208. package/daemon/dist/domain/startup-orchestrator.d.ts +9 -0
  209. package/daemon/dist/domain/startup-orchestrator.d.ts.map +1 -1
  210. package/daemon/dist/domain/startup-orchestrator.js +71 -3
  211. package/daemon/dist/domain/startup-orchestrator.js.map +1 -1
  212. package/daemon/dist/domain/successor-session-launcher.d.ts +4 -0
  213. package/daemon/dist/domain/successor-session-launcher.d.ts.map +1 -1
  214. package/daemon/dist/domain/successor-session-launcher.js +2 -0
  215. package/daemon/dist/domain/successor-session-launcher.js.map +1 -1
  216. package/daemon/dist/domain/terminal/cmux-provider-adapter.d.ts +12 -11
  217. package/daemon/dist/domain/terminal/cmux-provider-adapter.d.ts.map +1 -1
  218. package/daemon/dist/domain/terminal/cmux-provider-adapter.js +61 -28
  219. package/daemon/dist/domain/terminal/cmux-provider-adapter.js.map +1 -1
  220. package/daemon/dist/domain/terminal/herdr-adapter.d.ts +27 -10
  221. package/daemon/dist/domain/terminal/herdr-adapter.d.ts.map +1 -1
  222. package/daemon/dist/domain/terminal/herdr-adapter.js +74 -33
  223. package/daemon/dist/domain/terminal/herdr-adapter.js.map +1 -1
  224. package/daemon/dist/domain/transcript-capture.d.ts +3 -0
  225. package/daemon/dist/domain/transcript-capture.d.ts.map +1 -1
  226. package/daemon/dist/domain/transcript-capture.js +28 -0
  227. package/daemon/dist/domain/transcript-capture.js.map +1 -1
  228. package/daemon/dist/domain/transcript-store.d.ts +10 -0
  229. package/daemon/dist/domain/transcript-store.d.ts.map +1 -1
  230. package/daemon/dist/domain/transcript-store.js +26 -0
  231. package/daemon/dist/domain/transcript-store.js.map +1 -1
  232. package/daemon/dist/domain/types.d.ts +21 -0
  233. package/daemon/dist/domain/types.d.ts.map +1 -1
  234. package/daemon/dist/domain/types.js.map +1 -1
  235. package/daemon/dist/domain/workspace/default-workspace-scaffold.d.ts.map +1 -1
  236. package/daemon/dist/domain/workspace/default-workspace-scaffold.js +9 -4
  237. package/daemon/dist/domain/workspace/default-workspace-scaffold.js.map +1 -1
  238. package/daemon/dist/domain/workspace/workspace-doctor.js +1 -1
  239. package/daemon/dist/domain/workspace/workspace-doctor.js.map +1 -1
  240. package/daemon/dist/routes/agent-images.d.ts.map +1 -1
  241. package/daemon/dist/routes/agent-images.js +2 -0
  242. package/daemon/dist/routes/agent-images.js.map +1 -1
  243. package/daemon/dist/routes/mission-control.js +1 -1
  244. package/daemon/dist/routes/mission-control.js.map +1 -1
  245. package/daemon/dist/routes/missions.d.ts +7 -0
  246. package/daemon/dist/routes/missions.d.ts.map +1 -1
  247. package/daemon/dist/routes/missions.js +6 -1
  248. package/daemon/dist/routes/missions.js.map +1 -1
  249. package/daemon/dist/routes/ps.d.ts.map +1 -1
  250. package/daemon/dist/routes/ps.js +5 -1
  251. package/daemon/dist/routes/ps.js.map +1 -1
  252. package/daemon/dist/routes/queue.d.ts.map +1 -1
  253. package/daemon/dist/routes/queue.js +9 -2
  254. package/daemon/dist/routes/queue.js.map +1 -1
  255. package/daemon/dist/routes/rigs.d.ts.map +1 -1
  256. package/daemon/dist/routes/rigs.js +29 -10
  257. package/daemon/dist/routes/rigs.js.map +1 -1
  258. package/daemon/dist/routes/scope-audit.d.ts.map +1 -1
  259. package/daemon/dist/routes/scope-audit.js +141 -135
  260. package/daemon/dist/routes/scope-audit.js.map +1 -1
  261. package/daemon/dist/routes/sessions.js +2 -1
  262. package/daemon/dist/routes/sessions.js.map +1 -1
  263. package/daemon/dist/routes/slices.d.ts.map +1 -1
  264. package/daemon/dist/routes/slices.js +48 -38
  265. package/daemon/dist/routes/slices.js.map +1 -1
  266. package/daemon/dist/routes/transcripts.d.ts.map +1 -1
  267. package/daemon/dist/routes/transcripts.js +62 -33
  268. package/daemon/dist/routes/transcripts.js.map +1 -1
  269. package/daemon/dist/startup.d.ts.map +1 -1
  270. package/daemon/dist/startup.js +42 -12
  271. package/daemon/dist/startup.js.map +1 -1
  272. package/daemon/docs/reference/agent-startup-guide.md +1 -0
  273. package/daemon/docs/reference/rig-spec.md +19 -0
  274. package/daemon/policies/builtin/locked.policy.md +24 -0
  275. package/daemon/policies/builtin/open.policy.md +24 -0
  276. package/daemon/policies/builtin/standard.policy.md +25 -0
  277. package/daemon/policies/builtin/yolo.policy.md +20 -0
  278. package/daemon/policies/examples/my-cautious-dev.policy.md +40 -0
  279. package/daemon/specs/agents/apps/vault-specialist/agent.yaml +2 -1
  280. package/daemon/specs/agents/conveyor/builder/agent.yaml +2 -1
  281. package/daemon/specs/agents/conveyor/lead/agent.yaml +2 -1
  282. package/daemon/specs/agents/conveyor/planner/agent.yaml +2 -1
  283. package/daemon/specs/agents/conveyor/reviewer/agent.yaml +2 -1
  284. package/daemon/specs/agents/design/product-designer/agent.yaml +12 -2
  285. package/daemon/specs/agents/development/implementer/agent.yaml +12 -2
  286. package/daemon/specs/agents/development/qa/agent.yaml +12 -2
  287. package/daemon/specs/agents/development/qa/guidance/role.md +1 -0
  288. package/daemon/specs/agents/factory-rsi/dogfood/agent.yaml +2 -1
  289. package/daemon/specs/agents/factory-rsi/release-manager/agent.yaml +2 -1
  290. package/daemon/specs/agents/orchestration/orchestrator/agent.yaml +12 -2
  291. package/daemon/specs/agents/product-management/pm/agent.yaml +1 -2
  292. package/daemon/specs/agents/research/analyst/agent.yaml +2 -1
  293. package/daemon/specs/agents/research/synthesizer/agent.yaml +2 -1
  294. package/daemon/specs/agents/review/independent-reviewer/agent.yaml +12 -2
  295. package/daemon/specs/agents/shared/agent.yaml +5 -8
  296. package/daemon/specs/agents/shared/runtime/claude-settings.fragment.json +1 -8
  297. package/daemon/specs/agents/shared/skills/core/agent-starters/SKILL.md +132 -0
  298. package/daemon/{assets/plugins/openrig-core/skills → specs/agents/shared/skills/core}/agent-startup-and-context-ingestion/SKILL.md +27 -19
  299. package/daemon/specs/agents/shared/skills/core/attention-queue/SKILL.md +264 -0
  300. package/daemon/specs/agents/shared/skills/core/cross-host-rig-commands/SKILL.md +190 -0
  301. package/daemon/specs/agents/shared/skills/core/human-in-the-loop/SKILL.md +104 -0
  302. package/daemon/specs/agents/shared/skills/core/openrig-architect/SKILL.md +23 -8
  303. package/daemon/specs/agents/shared/skills/core/openrig-cmux/SKILL.md +0 -5
  304. package/daemon/specs/agents/shared/skills/core/openrig-herdr/SKILL.md +1 -6
  305. package/daemon/specs/agents/shared/skills/core/openrig-upgrade/SKILL.md +460 -0
  306. package/daemon/specs/agents/shared/skills/core/rig-bundles-and-shareable-artifacts/SKILL.md +101 -0
  307. package/daemon/specs/agents/shared/skills/core/rig-lifecycle/SKILL.md +22 -11
  308. package/daemon/specs/agents/shared/skills/core/session-source-fork/SKILL.md +160 -0
  309. package/daemon/specs/agents/shared/skills/core/specification-system/SKILL.md +103 -0
  310. package/daemon/specs/agents/shared/skills/core/topology-mutation-and-seat-management/SKILL.md +118 -0
  311. package/daemon/specs/agents/shared/skills/core/watchdog/SKILL.md +125 -0
  312. package/daemon/specs/agents/shared/skills/process/brainstorming/OPENRIG.md +3 -3
  313. package/daemon/specs/agents/shared/skills/process/executing-plans/OPENRIG.md +1 -1
  314. package/daemon/specs/agents/shared/skills/process/frontend-design/SKILL.md +6 -3
  315. package/daemon/specs/agents/shared/skills/process/systematic-debugging/find-polluter.sh +0 -0
  316. package/daemon/specs/agents/shared/skills/process/test-driven-development/SKILL.md +1 -1
  317. package/daemon/specs/agents/shared/skills/process/using-superpowers/OPENRIG.md +1 -1
  318. package/daemon/specs/agents/shared/skills/process/verification-before-completion/SKILL.md +13 -2
  319. package/daemon/specs/agents/shared/skills/process/writing-plans/OPENRIG.md +1 -1
  320. package/daemon/specs/rigs/focused/pm-team/CULTURE.md +1 -1
  321. package/daemon/specs/rigs/launch/kernel/agents/advisor/lead/agent.yaml +2 -2
  322. package/daemon/specs/rigs/launch/kernel/agents/advisor/lead/guidance/role.md +5 -4
  323. package/daemon/specs/rigs/launch/kernel/agents/operator/agent/agent.yaml +2 -2
  324. package/daemon/specs/rigs/launch/kernel/agents/operator/agent/guidance/role.md +3 -5
  325. package/daemon/specs/rigs/launch/kernel/agents/queue/worker/agent.yaml +2 -2
  326. package/daemon/specs/rigs/launch/kernel/culture/CULTURE.md +3 -4
  327. package/daemon/specs/rigs/preview/product-team/CULTURE.md +1 -1
  328. package/dist/bin-wrapper.d.ts.map +1 -1
  329. package/dist/bin-wrapper.js +3 -1
  330. package/dist/bin-wrapper.js.map +1 -1
  331. package/dist/build-info.js +3 -3
  332. package/dist/cli-error.d.ts +33 -0
  333. package/dist/cli-error.d.ts.map +1 -0
  334. package/dist/cli-error.js +94 -0
  335. package/dist/cli-error.js.map +1 -0
  336. package/dist/commands/config-init-workspace.js +1 -1
  337. package/dist/commands/doctor.d.ts +1 -1
  338. package/dist/commands/doctor.d.ts.map +1 -1
  339. package/dist/commands/doctor.js +17 -11
  340. package/dist/commands/doctor.js.map +1 -1
  341. package/dist/commands/host.d.ts.map +1 -1
  342. package/dist/commands/host.js +24 -10
  343. package/dist/commands/host.js.map +1 -1
  344. package/dist/commands/proof.js +1 -1
  345. package/dist/commands/proof.js.map +1 -1
  346. package/dist/commands/ps.d.ts.map +1 -1
  347. package/dist/commands/ps.js +16 -2
  348. package/dist/commands/ps.js.map +1 -1
  349. package/dist/commands/queue.d.ts.map +1 -1
  350. package/dist/commands/queue.js +103 -24
  351. package/dist/commands/queue.js.map +1 -1
  352. package/dist/commands/rig.d.ts.map +1 -1
  353. package/dist/commands/rig.js +122 -0
  354. package/dist/commands/rig.js.map +1 -1
  355. package/dist/commands/scope.js +2 -2
  356. package/dist/commands/scope.js.map +1 -1
  357. package/dist/commands/send.d.ts.map +1 -1
  358. package/dist/commands/send.js +118 -24
  359. package/dist/commands/send.js.map +1 -1
  360. package/dist/commands/setup.d.ts +14 -0
  361. package/dist/commands/setup.d.ts.map +1 -1
  362. package/dist/commands/setup.js +131 -8
  363. package/dist/commands/setup.js.map +1 -1
  364. package/dist/commands/slack.d.ts +37 -0
  365. package/dist/commands/slack.d.ts.map +1 -0
  366. package/dist/commands/slack.js +274 -0
  367. package/dist/commands/slack.js.map +1 -0
  368. package/dist/commands/ui.d.ts +1 -0
  369. package/dist/commands/ui.d.ts.map +1 -1
  370. package/dist/commands/ui.js +2 -0
  371. package/dist/commands/ui.js.map +1 -1
  372. package/dist/commands/up.js +1 -1
  373. package/dist/commands/up.js.map +1 -1
  374. package/dist/commands/whoami.d.ts.map +1 -1
  375. package/dist/commands/whoami.js +3 -3
  376. package/dist/commands/whoami.js.map +1 -1
  377. package/dist/daemon-lifecycle.d.ts.map +1 -1
  378. package/dist/daemon-lifecycle.js +45 -14
  379. package/dist/daemon-lifecycle.js.map +1 -1
  380. package/dist/host-registry.d.ts +6 -1
  381. package/dist/host-registry.d.ts.map +1 -1
  382. package/dist/host-registry.js +15 -6
  383. package/dist/host-registry.js.map +1 -1
  384. package/dist/index.d.ts +3 -0
  385. package/dist/index.d.ts.map +1 -1
  386. package/dist/index.js +6 -1
  387. package/dist/index.js.map +1 -1
  388. package/dist/lib/scope/scaffold-placeholder.d.ts +38 -0
  389. package/dist/lib/scope/scaffold-placeholder.d.ts.map +1 -0
  390. package/dist/lib/scope/scaffold-placeholder.js +98 -0
  391. package/dist/lib/scope/scaffold-placeholder.js.map +1 -0
  392. package/dist/lib/scope/scope-audit.d.ts.map +1 -1
  393. package/dist/lib/scope/scope-audit.js +57 -20
  394. package/dist/lib/scope/scope-audit.js.map +1 -1
  395. package/dist/lib/scope-templates/backlog-deprecation.md +1 -1
  396. package/dist/lib/scope-templates/backlog-tech-debt.md +1 -1
  397. package/dist/lib/scope-templates/bug-fix.md +1 -1
  398. package/dist/lib/scope-templates/implementation-prd.md +1 -1
  399. package/dist/lib/scope-templates/mission-notes.md +7 -2
  400. package/dist/lib/scope-templates/mission-placeholder.md +1 -1
  401. package/dist/lib/scope-templates/mission-progress.md +1 -1
  402. package/dist/lib/scope-templates/mission-release.md +1 -1
  403. package/dist/lib/scope-templates/placeholder.md +1 -1
  404. package/dist/lib/scope-templates/proof.md +1 -1
  405. package/dist/lib/scope-templates/release-feature.md +1 -1
  406. package/dist/lib/scope-templates/research.md +1 -1
  407. package/dist/lib/scope-templates/slice-progress.md +1 -1
  408. package/dist/remote-host-ops.d.ts.map +1 -1
  409. package/dist/remote-host-ops.js +2 -2
  410. package/dist/remote-host-ops.js.map +1 -1
  411. package/dist/slack/config.d.ts +41 -0
  412. package/dist/slack/config.d.ts.map +1 -0
  413. package/dist/slack/config.js +60 -0
  414. package/dist/slack/config.js.map +1 -0
  415. package/dist/slack/inbound.d.ts +75 -0
  416. package/dist/slack/inbound.d.ts.map +1 -0
  417. package/dist/slack/inbound.js +133 -0
  418. package/dist/slack/inbound.js.map +1 -0
  419. package/dist/slack/message.d.ts +26 -0
  420. package/dist/slack/message.d.ts.map +1 -0
  421. package/dist/slack/message.js +60 -0
  422. package/dist/slack/message.js.map +1 -0
  423. package/dist/slack/outbound.d.ts +39 -0
  424. package/dist/slack/outbound.d.ts.map +1 -0
  425. package/dist/slack/outbound.js +52 -0
  426. package/dist/slack/outbound.js.map +1 -0
  427. package/dist/slack/queue-bridge.d.ts +56 -0
  428. package/dist/slack/queue-bridge.d.ts.map +1 -0
  429. package/dist/slack/queue-bridge.js +114 -0
  430. package/dist/slack/queue-bridge.js.map +1 -0
  431. package/dist/slack/secrets.d.ts +21 -0
  432. package/dist/slack/secrets.d.ts.map +1 -0
  433. package/dist/slack/secrets.js +73 -0
  434. package/dist/slack/secrets.js.map +1 -0
  435. package/dist/slack/slack-api.d.ts +49 -0
  436. package/dist/slack/slack-api.d.ts.map +1 -0
  437. package/dist/slack/slack-api.js +110 -0
  438. package/dist/slack/slack-api.js.map +1 -0
  439. package/dist/slack/state-store.d.ts +62 -0
  440. package/dist/slack/state-store.d.ts.map +1 -0
  441. package/dist/slack/state-store.js +132 -0
  442. package/dist/slack/state-store.js.map +1 -0
  443. package/package.json +1 -1
  444. package/ui/dist/assets/{index-zrFqS7gL.js → index-DkNi0RT8.js} +184 -184
  445. package/ui/dist/assets/index-N-SdPj-I.css +32 -0
  446. package/ui/dist/index.html +2 -2
  447. package/daemon/assets/plugins/openrig-core/skills/openrig-architect/SKILL.md +0 -361
  448. package/daemon/assets/plugins/openrig-core/skills/openrig-cmux/SKILL.md +0 -86
  449. package/daemon/assets/plugins/openrig-core/skills/openrig-herdr/SKILL.md +0 -158
  450. package/daemon/assets/plugins/openrig-core/skills/openrig-operator/SKILL.md +0 -222
  451. package/daemon/docs/reference/product-factory-vps-runbook.md +0 -132
  452. package/daemon/specs/agents/shared/skills/core/mission-slice-sop/SKILL.md +0 -113
  453. package/daemon/specs/agents/shared/skills/core/openrig-installer/SKILL.md +0 -142
  454. package/daemon/specs/agents/shared/skills/core/openrig-operator/SKILL.md +0 -110
  455. package/daemon/specs/agents/shared/skills/core/openrig-user/SKILL.md +0 -1245
  456. package/daemon/specs/agents/shared/skills/core/openrig-user-settings/SKILL.md +0 -153
  457. package/daemon/specs/agents/shared/skills/pm/backlog-capture/SKILL.md +0 -43
  458. package/daemon/specs/agents/shared/skills/pm/context-builder/SKILL.md +0 -87
  459. package/daemon/specs/agents/shared/skills/pm/exec-summary/SKILL.md +0 -84
  460. package/daemon/specs/agents/shared/skills/pm/office-hours/SKILL.md +0 -129
  461. package/daemon/specs/agents/shared/skills/pm/plan-review/SKILL.md +0 -98
  462. package/daemon/specs/agents/shared/skills/pm/requirements-writer/SKILL.md +0 -113
  463. package/daemon/specs/agents/shared/skills/pm/ui-mockup/SKILL.md +0 -76
  464. package/daemon/specs/agents/shared/skills/pods/development-team/SKILL.md +0 -148
  465. package/daemon/specs/agents/shared/skills/pods/orchestration-team/SKILL.md +0 -266
  466. package/daemon/specs/agents/shared/skills/pods/review-team/SKILL.md +0 -210
  467. package/daemon/specs/agents/shared/skills/process/systematic-debugging/CREATION-LOG.md +0 -119
  468. package/daemon/specs/agents/shared/skills/process/systematic-debugging/test-academic.md +0 -14
  469. package/daemon/specs/agents/shared/skills/process/systematic-debugging/test-pressure-1.md +0 -58
  470. package/daemon/specs/agents/shared/skills/process/systematic-debugging/test-pressure-2.md +0 -68
  471. package/daemon/specs/agents/shared/skills/process/systematic-debugging/test-pressure-3.md +0 -69
  472. package/ui/dist/assets/index-CFqxa0zW.css +0 -32
@@ -174,12 +174,31 @@ edges:
174
174
  | `name` | string | yes | — | Rig name. Used in session naming (`{pod}-{member}@{name}`), snapshot identification, and spec library lookup. |
175
175
  | `summary` | string | no | — | Human-readable description. Shown in spec library, review surfaces, and `rig specs show`. |
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:operator`) 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. |
177
178
  | `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. |
178
179
  | `startup` | StartupBlock | no | — | Rig-level startup files and actions. Applied to all members via the startup layering model. |
179
180
  | `services` | ServicesBlock | no | — | Optional managed services (Docker Compose). When present, services boot before any agent launches. |
180
181
  | `pods` | Pod[] | yes | — | At least one pod required. Each pod is a bounded context containing members and pod-local edges. |
181
182
  | `edges` | CrossPodEdge[] | no | `[]` | Cross-pod edges connecting members in different pods. Must use fully-qualified `pod.member` IDs. |
182
183
 
184
+ ### Attaching a permission policy
185
+
186
+ Attach a policy to a rig with `permission_policy`, either at the rig level or on a member:
187
+
188
+ ```yaml
189
+ # a built-in, by name:
190
+ permission_policy: builtin:standard
191
+
192
+ # or a custom policy file, by relative path (resolved from this spec's directory):
193
+ permission_policy: policies/my-cautious-dev.policy.md
194
+ ```
195
+
196
+ Built-in policies (`locked` / `standard` / `open` / `operator`) are read-only and are
197
+ referenced as `builtin:<name>`. A custom policy lives in your own project and is
198
+ referenced by a safe relative path (no `..`, no absolute). A shipped example of the
199
+ custom shape is `packages/daemon/policies/examples/my-cautious-dev.policy.md` — copy it
200
+ into your project and edit it to taste.
201
+
183
202
  ---
184
203
 
185
204
  ## Pod
@@ -0,0 +1,24 @@
1
+ ---
2
+ source: builtin
3
+ name: locked
4
+ surface: config
5
+ policy_schema_version: 1
6
+ description: Whitelist posture for untrusted or sensitive work — implicit deny-all plus a minimal explicit allow. Tight, but far more usable than raw harness-default.
7
+ default_posture: deny
8
+ allow: [run_toolchain, rig_up, rig_down]
9
+ ask: []
10
+ deny: []
11
+ destructive_class: [delete_everything, drop_persistent_store, reset_or_discard_vcs, delete_files, force_push]
12
+ ---
13
+
14
+ # Locked (built-in policy)
15
+
16
+ The tightest built-in. Everything is denied unless explicitly allowed. Use for untrusted rigs, sensitive repos, or work where the blast radius must be minimal.
17
+
18
+ - **default_posture: deny** — any semantic action not in `allow` is denied.
19
+ - **allow** — only the dev toolchain (`run_toolchain`: npm/node/tsc/test/lint) and rig lifecycle (`rig_up`/`rig_down`). No push, no PR, no publish, no arbitrary shell, no network egress beyond what the toolchain needs, no secret reads.
20
+ - **destructive_class** — listed for completeness; moot here (default-deny already blocks them).
21
+
22
+ **The usability FLOOR is separate and always on** (flag surface, not a config knob): Claude `acceptEdits` + Codex `workspace-write` (the edit/sandbox floor); Pi `--no-approve` is a resource-TRUST posture, not a permission floor (Pi has no permission surface). So a Locked seat can still edit files — it just can't reach beyond the minimal allow-set without an explicit grant.
23
+
24
+ **Translation is the skill's job.** This spec is harness-neutral semantic intent; the `applying-a-permission-policy` skill translates it to each harness (Claude prefix rules / Codex posture / Pi bit) with the version-stamped caveats. Grounded in schema `a8dba0d9`.
@@ -0,0 +1,24 @@
1
+ ---
2
+ source: builtin
3
+ name: open
4
+ surface: config
5
+ policy_schema_version: 1
6
+ description: High-trust denylist posture — everything allowed except the explicitly-destructive class, which asks. Just below YOLO.
7
+ default_posture: allow
8
+ allow: []
9
+ ask: []
10
+ deny: []
11
+ destructive_class: [delete_everything, drop_persistent_store, reset_or_discard_vcs]
12
+ ---
13
+
14
+ # Open (built-in policy)
15
+
16
+ High-trust posture: everything runs without a prompt except the catastrophic-destructive class. Use for trusted autonomous fleets that still want a backstop on disk-destroy-class acts. One step below YOLO.
17
+
18
+ - **default_posture: allow** — everything, including push, PR, publish, merge/release, force_push, arbitrary shell, network, secrets, topology.
19
+ - **destructive_class → ask** — `delete_everything`, `drop_persistent_store`, `reset_or_discard_vcs` ASK, never silent-block (best-effort-safe). This is the only carve-out.
20
+ - Difference from Standard: Standard ASKs the release-class (PR/publish/merge/force_push); Open ALLOWs them and asks only the destructive class.
21
+
22
+ **Autonomous note:** the destructive-class `ask` will freeze a fully-autonomous seat if such an action is attempted — which is the intended backstop. An autonomous fleet that must never pause even on a disk-destroy-class act uses YOLO (flag-surface full-bypass), not Open.
23
+
24
+ **FLOOR (always on, flag surface):** Claude `acceptEdits` + Codex `workspace-write` (the edit/sandbox floor); Pi `--no-approve` is a resource-TRUST posture, not a permission floor (Pi has no permission surface). **Translation is the skill's job.** Grounded in schema `a8dba0d9`.
@@ -0,0 +1,25 @@
1
+ ---
2
+ source: builtin
3
+ name: standard
4
+ surface: config
5
+ policy_schema_version: 1
6
+ description: The recommended default — the 80% software-factory interactive-dev posture. Routine dev including push; the outward/release/history-rewriting acts ask the human.
7
+ default_posture: allow
8
+ allow: [push_to_remote]
9
+ ask: [create_pr, publish_package, merge_or_release, force_push]
10
+ deny: []
11
+ destructive_class: [delete_everything, drop_persistent_store, reset_or_discard_vcs]
12
+ ---
13
+
14
+ # Standard ⭐ (built-in policy — recommended default)
15
+
16
+ The everyday software-factory posture for INTERACTIVE dev. Routine work runs without prompts; the consequential outward and history-rewriting acts defer to the human.
17
+
18
+ - **default_posture: allow** — routine dev (toolchain, arbitrary shell, install deps, scoped file deletion, network, topology) runs without a prompt.
19
+ - **allow: [push_to_remote]** — routine `git push` is allowed (pinned explicitly; the founder rejected gating push as a default).
20
+ - **ask: [create_pr, publish_package, merge_or_release, force_push]** — outward/release/history-rewriting acts ASK the human. **ASK ≠ deny**: OpenRig bakes no block; ASK = defer to the human, the founder's explicit beyond-floor default. `force_push` is additionally best-effort on Claude (prefix rules can't reliably split `git push --force`), so ASK is the honest disposition, not a can't-enforce deny.
21
+ - **destructive_class → ask** — `delete_everything`, `drop_persistent_store`, `reset_or_discard_vcs` default to ASK, never a silent block (best-effort-safe).
22
+
23
+ **INTERACTIVE-dev posture:** an `ask` freezes an autonomous seat by design — autonomous fleets use Open or YOLO, not Standard.
24
+
25
+ **FLOOR (always on, flag surface):** Claude `acceptEdits` + Codex `workspace-write` (the edit/sandbox floor); Pi `--no-approve` is a resource-TRUST posture, not a permission floor (Pi has no permission surface). **Translation is the skill's job** (harness-neutral intent → per-harness format, caveated). Grounded in schema `a8dba0d9`; the ask-set is pinned per cold-transfer `627abbb6`.
@@ -0,0 +1,20 @@
1
+ ---
2
+ source: builtin
3
+ name: yolo
4
+ surface: flag
5
+ launch_posture: full_bypass
6
+ policy_schema_version: 1
7
+ description: Full-bypass posture — the flag-surface YOLO opt-in. Everything runs, nothing prompts. Guardrailed by skills and starter markdown, not by permission-blocking.
8
+ ---
9
+
10
+ # YOLO (built-in policy — flag surface)
11
+
12
+ The maximum-permissive built-in. The seat runs the harness with its full-bypass launch flag: Claude `--dangerously-skip-permissions`, Codex full-bypass, Pi `--approve`. Nothing prompts; nothing is denied. Use only for fully-trusted autonomous work where any pause is unacceptable.
13
+
14
+ **APPLICATION is deterministic, NOT skill-translated.** YOLO is a `surface: flag` policy: it resolves to a stable launch flag, so it is applied by the deterministic flag-surface opt-in — the rip-out slice's YOLO setting (OPR.0.4.8.2). The `applying-a-permission-policy` skill does **NOT** translate this policy; it simply points at that setting. This is the two-surface distinction: the flag surface is stable enough for deterministic code, so it does not pay the skill-indirection tax.
15
+
16
+ **Config policies are MOOT when YOLO is on.** The full-bypass launch flag overrides any Claude prefix rules / Codex posture, so an attached config-surface policy (Locked/Standard/Open) has no effect while YOLO is active. Pick YOLO OR a config policy, not both.
17
+
18
+ **Guardrails come from skills + starter markdown, not permission-blocking** — a YOLO seat is bounded by what its skills and operating context tell it to do, since the permission layer imposes nothing.
19
+
20
+ **Naming lineage:** the founder's FINAL DESIGN named the fourth built-in **Operator**. The two-surface refinement (2026-08-03) subsumed Operator into this flag-surface full-bypass built-in and renamed it **YOLO** to name the posture plainly; the picker presents all four named postures (Locked / Standard / Open / YOLO) uniformly. Grounded in schema `a8dba0d9`.
@@ -0,0 +1,40 @@
1
+ ---
2
+ source: custom
3
+ name: my-cautious-dev
4
+ surface: config
5
+ policy_schema_version: 1
6
+ description: An example personal policy — everyday development runs freely, but anything that leaves this machine (push, publish, network) checks with you first.
7
+ default_posture: allow
8
+ allow: []
9
+ ask: [push_to_remote, create_pr, publish_package, merge_or_release, force_push, network_egress]
10
+ deny: []
11
+ destructive_class: [delete_everything, drop_persistent_store, reset_or_discard_vcs]
12
+ ---
13
+
14
+ # my-cautious-dev (example custom policy)
15
+
16
+ A starting point you can copy and adjust. It shows the shape of a personal policy you
17
+ keep in your own project and attach by path — it is **not** one of the built-ins.
18
+
19
+ - **default_posture: allow** — everyday development (editing, building, running the
20
+ toolchain, scoped file changes) runs without a prompt.
21
+ - **ask** — anything that leaves this machine checks with you first: pushing to a remote,
22
+ opening a pull request, publishing a package, merging or releasing, force-pushing, and
23
+ network access. "Ask" means *check with me*, not *blocked*.
24
+ - **destructive_class → ask** — wide-blast-radius actions (wiping a workspace, dropping a
25
+ data store, discarding version-control state) ask before they run.
26
+
27
+ ## Using it
28
+
29
+ Keep a policy like this in your own project, then point a rig at it by **relative path**
30
+ — resolved from the directory of the rig spec that references it:
31
+
32
+ ```yaml
33
+ # rig.yaml
34
+ permission_policy: policies/my-cautious-dev.policy.md
35
+ ```
36
+
37
+ Copy it, rename it, and edit the lists to taste — it's yours to change. The built-in
38
+ policies (locked / standard / open / operator) stay read-only and are referenced as
39
+ `builtin:<name>`; a custom policy like this one lives in your project and is referenced
40
+ by path.
@@ -11,9 +11,10 @@ imports:
11
11
  profiles:
12
12
  default:
13
13
  uses:
14
- skills: [using-superpowers, openrig-user, systematic-debugging, verification-before-completion, vault-user]
14
+ skills: [using-superpowers, systematic-debugging, verification-before-completion, vault-user]
15
15
  guidance: []
16
16
  subagents: []
17
+ plugins: [shared:openrig-core]
17
18
  runtime_resources: [shared:claude-default-settings, shared:claude-default-mcp, shared:codex-default-config]
18
19
 
19
20
  resources:
@@ -11,9 +11,10 @@ imports:
11
11
  profiles:
12
12
  default:
13
13
  uses:
14
- skills: [openrig-user, mission-slice-sop, development-team, test-driven-development, systematic-debugging, executing-plans, verification-before-completion]
14
+ skills: [development-team, test-driven-development, systematic-debugging, executing-plans, verification-before-completion]
15
15
  guidance: []
16
16
  subagents: []
17
+ plugins: [shared:openrig-core]
17
18
  runtime_resources: [shared:claude-default-settings, shared:claude-default-mcp, shared:codex-default-config]
18
19
 
19
20
  resources:
@@ -11,9 +11,10 @@ imports:
11
11
  profiles:
12
12
  default:
13
13
  uses:
14
- skills: [openrig-user, mission-slice-sop, orchestration-team, backlog-capture, writing-plans, executing-plans, verification-before-completion, brainstorming]
14
+ skills: [orchestration-team, backlog-capture, writing-plans, executing-plans, verification-before-completion, brainstorming]
15
15
  guidance: []
16
16
  subagents: []
17
+ plugins: [shared:openrig-core]
17
18
  runtime_resources: [shared:claude-default-settings, shared:claude-default-mcp, shared:codex-default-config]
18
19
 
19
20
  resources:
@@ -11,9 +11,10 @@ imports:
11
11
  profiles:
12
12
  default:
13
13
  uses:
14
- skills: [openrig-user, mission-slice-sop, requirements-writer, context-builder, writing-plans, verification-before-completion]
14
+ skills: [requirements-writer, context-builder, writing-plans, verification-before-completion]
15
15
  guidance: []
16
16
  subagents: []
17
+ plugins: [shared:openrig-core]
17
18
  runtime_resources: [shared:claude-default-settings, shared:claude-default-mcp, shared:codex-default-config]
18
19
 
19
20
  resources:
@@ -11,9 +11,10 @@ imports:
11
11
  profiles:
12
12
  default:
13
13
  uses:
14
- skills: [openrig-user, mission-slice-sop, review-team, plan-review, systematic-debugging, verification-before-completion]
14
+ skills: [review-team, plan-review, systematic-debugging, verification-before-completion]
15
15
  guidance: []
16
16
  subagents: []
17
+ plugins: [shared:openrig-core]
17
18
  runtime_resources: [shared:claude-default-settings, shared:claude-default-mcp, shared:codex-default-config]
18
19
 
19
20
  resources:
@@ -11,9 +11,10 @@ imports:
11
11
  profiles:
12
12
  default:
13
13
  uses:
14
- skills: [using-superpowers, openrig-user, mission-slice-sop, development-team, frontend-design, verification-before-completion, writing-plans, brainstorming]
14
+ skills: [using-superpowers, development-team, frontend-design, verification-before-completion, writing-plans, brainstorming]
15
15
  guidance: []
16
16
  subagents: []
17
+ plugins: [shared:openrig-core]
17
18
  runtime_resources: [shared:claude-default-settings, shared:claude-default-mcp, shared:codex-default-config]
18
19
 
19
20
  resources:
@@ -26,4 +27,13 @@ startup:
26
27
  - path: guidance/role.md
27
28
  delivery_hint: send_text
28
29
  required: true
29
- actions: []
30
+ actions:
31
+ - type: send_text
32
+ value: >-
33
+ A task is coming. BEFORE you do anything else, load and invoke your process skills NOW
34
+ using your runtime's supported skill mechanism: using-superpowers, frontend-design,
35
+ verification-before-completion, writing-plans, brainstorming. Load them first, then begin
36
+ the work.
37
+ phase: after_ready
38
+ applies_on: [fresh_start, restore]
39
+ idempotent: true
@@ -11,9 +11,10 @@ imports:
11
11
  profiles:
12
12
  default:
13
13
  uses:
14
- skills: [using-superpowers, openrig-user, mission-slice-sop, development-team, test-driven-development, systematic-debugging, verification-before-completion, writing-plans, executing-plans]
14
+ skills: [using-superpowers, development-team, test-driven-development, systematic-debugging, verification-before-completion, writing-plans, executing-plans]
15
15
  guidance: []
16
16
  subagents: []
17
+ plugins: [shared:openrig-core]
17
18
  runtime_resources: [shared:claude-default-settings, shared:claude-default-mcp, shared:codex-default-config]
18
19
 
19
20
  resources:
@@ -26,4 +27,13 @@ startup:
26
27
  - path: guidance/role.md
27
28
  delivery_hint: send_text
28
29
  required: true
29
- actions: []
30
+ actions:
31
+ - type: send_text
32
+ value: >-
33
+ A task is coming. BEFORE you do anything else, load and invoke your process skills NOW
34
+ using your runtime's supported skill mechanism: using-superpowers, test-driven-development,
35
+ systematic-debugging, verification-before-completion, writing-plans, executing-plans. Load
36
+ them first, then begin the work.
37
+ phase: after_ready
38
+ applies_on: [fresh_start, restore]
39
+ idempotent: true
@@ -11,9 +11,10 @@ imports:
11
11
  profiles:
12
12
  default:
13
13
  uses:
14
- skills: [using-superpowers, openrig-user, mission-slice-sop, development-team, systematic-debugging, verification-before-completion, agent-browser, dogfood, writing-plans, executing-plans]
14
+ skills: [using-superpowers, test-driven-development, development-team, systematic-debugging, verification-before-completion, agent-browser, dogfood, writing-plans, executing-plans]
15
15
  guidance: []
16
16
  subagents: []
17
+ plugins: [shared:openrig-core]
17
18
  runtime_resources: [shared:claude-default-settings, shared:claude-default-mcp, shared:codex-default-config]
18
19
 
19
20
  resources:
@@ -26,4 +27,13 @@ startup:
26
27
  - path: guidance/role.md
27
28
  delivery_hint: send_text
28
29
  required: true
29
- actions: []
30
+ actions:
31
+ - type: send_text
32
+ value: >-
33
+ A task is coming. BEFORE you do anything else, load and invoke your process skills NOW
34
+ using your runtime's supported skill mechanism: using-superpowers, test-driven-development,
35
+ systematic-debugging, verification-before-completion, agent-browser, dogfood, writing-plans,
36
+ executing-plans. Load them first, then begin the work.
37
+ phase: after_ready
38
+ applies_on: [fresh_start, restore]
39
+ idempotent: true
@@ -6,6 +6,7 @@ You are the quality assurance side of a dev pair. You gate every edit the implem
6
6
 
7
7
  Load these packaged skills now before reviewing work or dogfooding:
8
8
  - `using-superpowers`
9
+ - `test-driven-development`
9
10
  - `openrig-user`
10
11
  - `mission-slice-sop`
11
12
  - `development-team`
@@ -11,9 +11,10 @@ imports:
11
11
  profiles:
12
12
  default:
13
13
  uses:
14
- skills: [using-superpowers, openrig-user, mission-slice-sop, dogfood, systematic-debugging, verification-before-completion]
14
+ skills: [using-superpowers, dogfood, systematic-debugging, verification-before-completion]
15
15
  guidance: []
16
16
  subagents: []
17
+ plugins: [shared:openrig-core]
17
18
  runtime_resources: [shared:claude-default-settings, shared:claude-default-mcp, shared:codex-default-config]
18
19
 
19
20
  resources:
@@ -11,9 +11,10 @@ imports:
11
11
  profiles:
12
12
  default:
13
13
  uses:
14
- skills: [using-superpowers, openrig-user, mission-slice-sop, verification-before-completion]
14
+ skills: [using-superpowers, verification-before-completion]
15
15
  guidance: []
16
16
  subagents: []
17
+ plugins: [shared:openrig-core]
17
18
  runtime_resources: [shared:claude-default-settings, shared:claude-default-mcp, shared:codex-default-config]
18
19
 
19
20
  resources:
@@ -11,9 +11,10 @@ imports:
11
11
  profiles:
12
12
  default:
13
13
  uses:
14
- skills: [using-superpowers, openrig-user, mission-slice-sop, orchestration-team, systematic-debugging, verification-before-completion, writing-plans, executing-plans, brainstorming]
14
+ skills: [using-superpowers, orchestration-team, systematic-debugging, verification-before-completion, writing-plans, executing-plans, brainstorming]
15
15
  guidance: []
16
16
  subagents: []
17
+ plugins: [shared:openrig-core]
17
18
  runtime_resources: [shared:claude-default-settings, shared:claude-default-mcp, shared:codex-default-config]
18
19
 
19
20
  resources:
@@ -26,4 +27,13 @@ startup:
26
27
  - path: guidance/role.md
27
28
  delivery_hint: send_text
28
29
  required: true
29
- actions: []
30
+ actions:
31
+ - type: send_text
32
+ value: >-
33
+ A task is coming. BEFORE you do anything else, load and invoke your process skills NOW
34
+ using your runtime's supported skill mechanism: using-superpowers, systematic-debugging,
35
+ verification-before-completion, writing-plans, executing-plans, brainstorming. Load them
36
+ first, then begin the work.
37
+ phase: after_ready
38
+ applies_on: [fresh_start, restore]
39
+ idempotent: true
@@ -15,8 +15,6 @@ profiles:
15
15
  default:
16
16
  uses:
17
17
  skills:
18
- - openrig-user
19
- - mission-slice-sop
20
18
  - office-hours
21
19
  - context-builder
22
20
  - requirements-writer
@@ -24,6 +22,7 @@ profiles:
24
22
  - plan-review
25
23
  - exec-summary
26
24
  - backlog-capture
25
+ plugins: [shared:openrig-core]
27
26
  runtime_resources:
28
27
  - shared:claude-default-settings
29
28
  - shared:claude-default-mcp
@@ -11,9 +11,10 @@ imports:
11
11
  profiles:
12
12
  default:
13
13
  uses:
14
- skills: [openrig-user]
14
+ skills: []
15
15
  guidance: []
16
16
  subagents: []
17
+ plugins: [shared:openrig-core]
17
18
  runtime_resources: [shared:claude-default-settings, shared:claude-default-mcp, shared:codex-default-config]
18
19
 
19
20
  resources:
@@ -11,9 +11,10 @@ imports:
11
11
  profiles:
12
12
  default:
13
13
  uses:
14
- skills: [openrig-user]
14
+ skills: []
15
15
  guidance: []
16
16
  subagents: []
17
+ plugins: [shared:openrig-core]
17
18
  runtime_resources: [shared:claude-default-settings, shared:claude-default-mcp, shared:codex-default-config]
18
19
 
19
20
  resources:
@@ -11,9 +11,10 @@ imports:
11
11
  profiles:
12
12
  default:
13
13
  uses:
14
- skills: [using-superpowers, openrig-user, mission-slice-sop, review-team, systematic-debugging, verification-before-completion, writing-plans, brainstorming]
14
+ skills: [using-superpowers, review-team, systematic-debugging, verification-before-completion, writing-plans, brainstorming]
15
15
  guidance: []
16
16
  subagents: []
17
+ plugins: [shared:openrig-core]
17
18
  runtime_resources: [shared:claude-default-settings, shared:claude-default-mcp, shared:codex-default-config]
18
19
 
19
20
  resources:
@@ -26,4 +27,13 @@ startup:
26
27
  - path: guidance/role.md
27
28
  delivery_hint: send_text
28
29
  required: true
29
- actions: []
30
+ actions:
31
+ - type: send_text
32
+ value: >-
33
+ A task is coming. BEFORE you do anything else, load and invoke your process skills NOW
34
+ using your runtime's supported skill mechanism: using-superpowers, systematic-debugging,
35
+ verification-before-completion, writing-plans, brainstorming. Load them first, then begin
36
+ the work.
37
+ phase: after_ready
38
+ applies_on: [fresh_start, restore]
39
+ idempotent: true
@@ -16,18 +16,10 @@ resources:
16
16
  path: skills/process/frontend-design
17
17
  - id: using-superpowers
18
18
  path: skills/process/using-superpowers
19
- - id: openrig-user
20
- path: skills/core/openrig-user
21
- - id: openrig-operator
22
- path: skills/core/openrig-operator
23
- - id: openrig-installer
24
- path: skills/core/openrig-installer
25
19
  - id: openrig-architect
26
20
  path: skills/core/openrig-architect
27
21
  - id: rig-lifecycle
28
22
  path: skills/core/rig-lifecycle
29
- - id: mission-slice-sop
30
- path: skills/core/mission-slice-sop
31
23
  - id: systematic-debugging
32
24
  path: skills/process/systematic-debugging
33
25
  - id: test-driven-development
@@ -57,6 +49,11 @@ resources:
57
49
  path: skills/pm/exec-summary
58
50
  - id: backlog-capture
59
51
  path: skills/pm/backlog-capture
52
+ plugins:
53
+ - id: openrig-core
54
+ source:
55
+ kind: local
56
+ path: ~/.openrig/plugins/openrig-core
60
57
  runtime_resources:
61
58
  - id: claude-default-settings
62
59
  path: runtime/claude-settings.fragment.json
@@ -1,13 +1,6 @@
1
1
  {
2
2
  "permissions": {
3
- "defaultMode": "acceptEdits",
4
- "allow": [
5
- "Bash(rig:*)"
6
- ],
7
- "ask": [
8
- "Bash(rig up:*)",
9
- "Bash(rig down:*)"
10
- ]
3
+ "defaultMode": "acceptEdits"
11
4
  },
12
5
  "enabledMcpjsonServers": [
13
6
  "exa",
@@ -0,0 +1,132 @@
1
+ ---
2
+ name: agent-starters
3
+ description: 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.
4
+ metadata:
5
+ openrig:
6
+ stage: factory-approved
7
+ sibling_skills:
8
+ - claude-compaction-restore
9
+ - mental-model-ha
10
+ - scope-recovery
11
+ - session-compaction-and-restore
12
+ - agent-startup-and-context-ingestion
13
+ - composable-priming-packs
14
+ - session-source-fork
15
+ - seat-continuity-and-handover
16
+ - claude-compact-in-place
17
+ - pre-maintenance-agent-preservation
18
+ ---
19
+
20
+ # Agent Starters
21
+
22
+ A named, reusable per-seat starting point. Composes an agent role, startup
23
+ context, optional native session source, and provenance into something a
24
+ user or rig can choose when creating, refreshing, or packaging a seat.
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.
29
+
30
+ ## Use this when
31
+
32
+ - Creating a new seat from a known-good starting context.
33
+ - Refreshing a seat with `rig expand` and `starter_ref`.
34
+ - Authoring a new starter (registry entry).
35
+ - Inspecting an existing starter's provenance, freshness, or recommended status.
36
+ - Promoting / deprecating starters in the registry.
37
+ - Composing a starter with a Composable Priming Pack (record manifest id/version, runtime, source session id or transcript path, ready-check evidence, freshness state).
38
+
39
+ ## Don't use this when
40
+
41
+ - You want VM-style deterministic state capture. Starters don't capture VM state.
42
+ - You want to copy provider auth material into a starter. **Starters refer to session sources and context; they do NOT copy credentials.**
43
+
44
+ ## What makes a starter valuable
45
+
46
+ A starter is valuable when it is **functional** — it carries the context the seat needs to do its task well. Functional is the *only* measure of a good starter. Size is not: a smaller starter is not a better one, and a bigger one is not worse. Whatever it took for the seat to become genuinely capable at its job is the right starter — 80K tokens or 800K.
47
+
48
+ Capture the seat as it naturally is at a functional, proven point. Don't pad it with context the seat doesn't use, and — just as important — don't strip context out to make it smaller. Size is an *outcome* of what the seat needed, never a target.
49
+
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
+
52
+ ## State model — 6 states
53
+
54
+ 1. **Captured** — a useful seat/session/context pattern is identified.
55
+ 2. **Named** — it becomes an Agent Starter with stable id and owner.
56
+ 3. **Inspectable** — runtime, context inputs, session source, and provenance are visible.
57
+ 4. **Used** — a rig member or `rig expand` operation starts from it.
58
+ 5. **Promoted** — evidence shows it is recommended for a role or bundle.
59
+ 6. **Deprecated** — replaced, stale, unsafe, or incompatible.
60
+
61
+ ## Failure modes (5)
62
+
63
+ 1. **Overclaiming image semantics** — UI/docs imply deterministic VM-style state capture. Say "starter," name what's included, show provenance.
64
+ 2. **Hidden provenance** — users can't tell what session, context, or spec a starter came from. **Refuse promotion until provenance is inspectable.**
65
+ 3. **Stale starter** — points at outdated doctrine, missing files, or invalid native session source. **Inspect must report staleness honestly.**
66
+ 4. **Secret leakage** — starter packages or displays provider auth material. **Refuse.** Refer to session sources and context, never copy credentials.
67
+ 5. **Runtime mismatch** — starter used with unsupported runtime. **Refuse with a clear error.**
68
+
69
+ ## Manifest shape (v0+v1 shipped)
70
+
71
+ ```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>"
84
+ ```
85
+
86
+ Member usage:
87
+
88
+ ```yaml
89
+ members:
90
+ - id: reviewer
91
+ starter_ref:
92
+ name: velocity-reviewer-v1
93
+ ```
94
+
95
+ When a starter points at a primed session produced from a Composable
96
+ Priming Pack, record:
97
+ - manifest id/version
98
+ - runtime
99
+ - source session id or transcript path
100
+ - ready-check evidence
101
+ - freshness state
102
+
103
+ ## Proof matrix
104
+
105
+ | Surface | Test type | Authority |
106
+ |---|---|---|
107
+ | Registry schema accepts minimal starter | unit | daemon or config-layer prototype |
108
+ | Inspect shows provenance and included context | unit / snapshot | daemon or CLI |
109
+ | Member can use `starter_ref` | integration | daemon |
110
+ | Unsupported runtime or stale source refuses honestly | unit + integration | daemon |
111
+ | No secret material copied into starter artifact | grep / fixture | tester |
112
+ | Bundle can include or reference starter | package inspection | bundle layer |
113
+
114
+ ## Dependencies on other primitives
115
+
116
+ - **Firm**: `session-source-fork` — native conversation-source continuity for fork-based starters
117
+ - **Firm**: `specification-system` — declarative starter and member references
118
+ - **Soft**: `rig-bundles-and-shareable-artifacts` — shareable starter packaging
119
+ - **Soft**: `context-engineering-and-retrieval` — richer declarative context assembly
120
+ - **Soft**: `seat-continuity-and-handover` — refresh and swap workflows over starters
121
+
122
+ ## Required-before-RSI
123
+
124
+ Agent Starters need queryable provenance and honest inspect output before
125
+ RSI loops can rely on them for seat refresh. A workflow must be able to
126
+ answer: "what starter did this seat use, what source session or context was
127
+ included, and is that starter still recommended?"
128
+
129
+ ## See also
130
+
131
+ - `session-source-fork` skill — low-level fork primitive that makes native session-based starters possible
132
+ - `composable-priming-packs` skill — manifest-driven layer for producing primed sessions starters reference