@openrig/cli 0.4.6 → 0.4.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (352) 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/claude-compaction-restore/SKILL.md +9 -6
  5. package/daemon/assets/plugins/openrig-core/skills/claude-compaction-restore/scripts/precompact-hook.mjs +11 -72
  6. package/daemon/assets/plugins/openrig-core/skills/forming-an-openrig-mental-model/SKILL.md +34 -22
  7. package/daemon/assets/plugins/openrig-core/skills/messaging-the-human/SKILL.md +108 -0
  8. package/daemon/assets/plugins/openrig-core/skills/mission-slice-sop/SKILL.md +11 -14
  9. package/daemon/assets/plugins/openrig-core/skills/openrig-skills/SKILL.md +95 -0
  10. package/daemon/assets/plugins/openrig-core/skills/openrig-user/SKILL.md +175 -105
  11. package/daemon/assets/plugins/openrig-core/skills/queue-handoff/SKILL.md +26 -9
  12. package/daemon/assets/plugins/openrig-core/skills/seat-continuity-and-handover/SKILL.md +11 -9
  13. package/daemon/assets/plugins/openrig-core/skills/session-compaction-and-restore/SKILL.md +162 -0
  14. package/daemon/assets/plugins/openrig-core/skills/software-for-agents/SKILL.md +165 -0
  15. package/daemon/dist/adapters/cmux-transport.d.ts.map +1 -1
  16. package/daemon/dist/adapters/cmux-transport.js +8 -1
  17. package/daemon/dist/adapters/cmux-transport.js.map +1 -1
  18. package/daemon/dist/adapters/cmux.d.ts +9 -0
  19. package/daemon/dist/adapters/cmux.d.ts.map +1 -1
  20. package/daemon/dist/adapters/cmux.js +21 -0
  21. package/daemon/dist/adapters/cmux.js.map +1 -1
  22. package/daemon/dist/adapters/codex-runtime-adapter.d.ts +3 -0
  23. package/daemon/dist/adapters/codex-runtime-adapter.d.ts.map +1 -1
  24. package/daemon/dist/adapters/codex-runtime-adapter.js +20 -4
  25. package/daemon/dist/adapters/codex-runtime-adapter.js.map +1 -1
  26. package/daemon/dist/build-info.js +3 -3
  27. package/daemon/dist/domain/claude-compaction-enforcer.d.ts +3 -0
  28. package/daemon/dist/domain/claude-compaction-enforcer.d.ts.map +1 -1
  29. package/daemon/dist/domain/claude-compaction-enforcer.js +19 -3
  30. package/daemon/dist/domain/claude-compaction-enforcer.js.map +1 -1
  31. package/daemon/dist/domain/cmux-layout-service.d.ts +36 -0
  32. package/daemon/dist/domain/cmux-layout-service.d.ts.map +1 -1
  33. package/daemon/dist/domain/cmux-layout-service.js +100 -28
  34. package/daemon/dist/domain/cmux-layout-service.js.map +1 -1
  35. package/daemon/dist/domain/context-monitor.d.ts +2 -0
  36. package/daemon/dist/domain/context-monitor.d.ts.map +1 -1
  37. package/daemon/dist/domain/context-monitor.js +14 -0
  38. package/daemon/dist/domain/context-monitor.js.map +1 -1
  39. package/daemon/dist/domain/feed/attention-aggregator.js +1 -1
  40. package/daemon/dist/domain/feed/attention-aggregator.js.map +1 -1
  41. package/daemon/dist/domain/hosts/hosts-registry-reader.d.ts.map +1 -1
  42. package/daemon/dist/domain/hosts/hosts-registry-reader.js +12 -10
  43. package/daemon/dist/domain/hosts/hosts-registry-reader.js.map +1 -1
  44. package/daemon/dist/domain/hosts/hosts-registry-writer.d.ts.map +1 -1
  45. package/daemon/dist/domain/hosts/hosts-registry-writer.js +3 -2
  46. package/daemon/dist/domain/hosts/hosts-registry-writer.js.map +1 -1
  47. package/daemon/dist/domain/hosts/read-through.js +1 -1
  48. package/daemon/dist/domain/hosts/read-through.js.map +1 -1
  49. package/daemon/dist/domain/hosts/remote-daemon-http.d.ts.map +1 -1
  50. package/daemon/dist/domain/hosts/remote-daemon-http.js +8 -5
  51. package/daemon/dist/domain/hosts/remote-daemon-http.js.map +1 -1
  52. package/daemon/dist/domain/node-inventory.d.ts +3 -12
  53. package/daemon/dist/domain/node-inventory.d.ts.map +1 -1
  54. package/daemon/dist/domain/node-inventory.js +55 -13
  55. package/daemon/dist/domain/node-inventory.js.map +1 -1
  56. package/daemon/dist/domain/plugin-vendor-service.d.ts +2 -0
  57. package/daemon/dist/domain/plugin-vendor-service.d.ts.map +1 -1
  58. package/daemon/dist/domain/plugin-vendor-service.js +23 -0
  59. package/daemon/dist/domain/plugin-vendor-service.js.map +1 -1
  60. package/daemon/dist/domain/projection-lane.d.ts +7 -0
  61. package/daemon/dist/domain/projection-lane.d.ts.map +1 -0
  62. package/daemon/dist/domain/projection-lane.js +28 -0
  63. package/daemon/dist/domain/projection-lane.js.map +1 -0
  64. package/daemon/dist/domain/ps-projection.d.ts +19 -0
  65. package/daemon/dist/domain/ps-projection.d.ts.map +1 -1
  66. package/daemon/dist/domain/ps-projection.js +46 -6
  67. package/daemon/dist/domain/ps-projection.js.map +1 -1
  68. package/daemon/dist/domain/queue-repository.d.ts +14 -10
  69. package/daemon/dist/domain/queue-repository.d.ts.map +1 -1
  70. package/daemon/dist/domain/queue-repository.js +33 -12
  71. package/daemon/dist/domain/queue-repository.js.map +1 -1
  72. package/daemon/dist/domain/review/compose.d.ts +77 -4
  73. package/daemon/dist/domain/review/compose.d.ts.map +1 -1
  74. package/daemon/dist/domain/review/compose.js +152 -16
  75. package/daemon/dist/domain/review/compose.js.map +1 -1
  76. package/daemon/dist/domain/review/fleet-compose.js +1 -1
  77. package/daemon/dist/domain/review/fleet-compose.js.map +1 -1
  78. package/daemon/dist/domain/review/gather.d.ts +1 -1
  79. package/daemon/dist/domain/review/gather.d.ts.map +1 -1
  80. package/daemon/dist/domain/review/gather.js +92 -67
  81. package/daemon/dist/domain/review/gather.js.map +1 -1
  82. package/daemon/dist/domain/review/proof-io.d.ts +2 -0
  83. package/daemon/dist/domain/review/proof-io.d.ts.map +1 -0
  84. package/daemon/dist/domain/review/proof-io.js +38 -0
  85. package/daemon/dist/domain/review/proof-io.js.map +1 -0
  86. package/daemon/dist/domain/rigspec-instantiator.d.ts.map +1 -1
  87. package/daemon/dist/domain/rigspec-instantiator.js +15 -2
  88. package/daemon/dist/domain/rigspec-instantiator.js.map +1 -1
  89. package/daemon/dist/domain/scope/plan-lock-artifacts.d.ts +8 -0
  90. package/daemon/dist/domain/scope/plan-lock-artifacts.d.ts.map +1 -0
  91. package/daemon/dist/domain/scope/plan-lock-artifacts.js +57 -0
  92. package/daemon/dist/domain/scope/plan-lock-artifacts.js.map +1 -0
  93. package/daemon/dist/domain/scope/scaffold-placeholder.d.ts +38 -0
  94. package/daemon/dist/domain/scope/scaffold-placeholder.d.ts.map +1 -0
  95. package/daemon/dist/domain/scope/scaffold-placeholder.js +98 -0
  96. package/daemon/dist/domain/scope/scaffold-placeholder.js.map +1 -0
  97. package/daemon/dist/domain/scope/scope-approve.d.ts.map +1 -1
  98. package/daemon/dist/domain/scope/scope-approve.js +22 -1
  99. package/daemon/dist/domain/scope/scope-approve.js.map +1 -1
  100. package/daemon/dist/domain/scope/scope-audit.d.ts.map +1 -1
  101. package/daemon/dist/domain/scope/scope-audit.js +57 -20
  102. package/daemon/dist/domain/scope/scope-audit.js.map +1 -1
  103. package/daemon/dist/domain/session-transport.d.ts +17 -0
  104. package/daemon/dist/domain/session-transport.d.ts.map +1 -1
  105. package/daemon/dist/domain/session-transport.js +44 -0
  106. package/daemon/dist/domain/session-transport.js.map +1 -1
  107. package/daemon/dist/domain/slices/qitem-membership.d.ts +17 -0
  108. package/daemon/dist/domain/slices/qitem-membership.d.ts.map +1 -0
  109. package/daemon/dist/domain/slices/qitem-membership.js +60 -0
  110. package/daemon/dist/domain/slices/qitem-membership.js.map +1 -0
  111. package/daemon/dist/domain/slices/slice-detail-projector.d.ts +5 -0
  112. package/daemon/dist/domain/slices/slice-detail-projector.d.ts.map +1 -1
  113. package/daemon/dist/domain/slices/slice-detail-projector.js +157 -11
  114. package/daemon/dist/domain/slices/slice-detail-projector.js.map +1 -1
  115. package/daemon/dist/domain/slices/slice-indexer.d.ts +86 -0
  116. package/daemon/dist/domain/slices/slice-indexer.d.ts.map +1 -1
  117. package/daemon/dist/domain/slices/slice-indexer.js +422 -45
  118. package/daemon/dist/domain/slices/slice-indexer.js.map +1 -1
  119. package/daemon/dist/domain/startup-orchestrator.d.ts +9 -0
  120. package/daemon/dist/domain/startup-orchestrator.d.ts.map +1 -1
  121. package/daemon/dist/domain/startup-orchestrator.js +71 -3
  122. package/daemon/dist/domain/startup-orchestrator.js.map +1 -1
  123. package/daemon/dist/domain/terminal/cmux-provider-adapter.d.ts +12 -11
  124. package/daemon/dist/domain/terminal/cmux-provider-adapter.d.ts.map +1 -1
  125. package/daemon/dist/domain/terminal/cmux-provider-adapter.js +61 -28
  126. package/daemon/dist/domain/terminal/cmux-provider-adapter.js.map +1 -1
  127. package/daemon/dist/domain/terminal/herdr-adapter.d.ts +27 -10
  128. package/daemon/dist/domain/terminal/herdr-adapter.d.ts.map +1 -1
  129. package/daemon/dist/domain/terminal/herdr-adapter.js +74 -33
  130. package/daemon/dist/domain/terminal/herdr-adapter.js.map +1 -1
  131. package/daemon/dist/domain/transcript-capture.d.ts +3 -0
  132. package/daemon/dist/domain/transcript-capture.d.ts.map +1 -1
  133. package/daemon/dist/domain/transcript-capture.js +28 -0
  134. package/daemon/dist/domain/transcript-capture.js.map +1 -1
  135. package/daemon/dist/domain/transcript-store.d.ts +10 -0
  136. package/daemon/dist/domain/transcript-store.d.ts.map +1 -1
  137. package/daemon/dist/domain/transcript-store.js +26 -0
  138. package/daemon/dist/domain/transcript-store.js.map +1 -1
  139. package/daemon/dist/domain/types.d.ts +4 -0
  140. package/daemon/dist/domain/types.d.ts.map +1 -1
  141. package/daemon/dist/domain/types.js.map +1 -1
  142. package/daemon/dist/domain/workspace/default-workspace-scaffold.d.ts.map +1 -1
  143. package/daemon/dist/domain/workspace/default-workspace-scaffold.js +9 -4
  144. package/daemon/dist/domain/workspace/default-workspace-scaffold.js.map +1 -1
  145. package/daemon/dist/domain/workspace/workspace-doctor.js +1 -1
  146. package/daemon/dist/domain/workspace/workspace-doctor.js.map +1 -1
  147. package/daemon/dist/routes/mission-control.js +1 -1
  148. package/daemon/dist/routes/mission-control.js.map +1 -1
  149. package/daemon/dist/routes/missions.d.ts +7 -0
  150. package/daemon/dist/routes/missions.d.ts.map +1 -1
  151. package/daemon/dist/routes/missions.js +6 -1
  152. package/daemon/dist/routes/missions.js.map +1 -1
  153. package/daemon/dist/routes/ps.d.ts.map +1 -1
  154. package/daemon/dist/routes/ps.js +5 -1
  155. package/daemon/dist/routes/ps.js.map +1 -1
  156. package/daemon/dist/routes/queue.d.ts.map +1 -1
  157. package/daemon/dist/routes/queue.js +9 -2
  158. package/daemon/dist/routes/queue.js.map +1 -1
  159. package/daemon/dist/routes/rigs.d.ts.map +1 -1
  160. package/daemon/dist/routes/rigs.js +21 -10
  161. package/daemon/dist/routes/rigs.js.map +1 -1
  162. package/daemon/dist/routes/scope-audit.d.ts.map +1 -1
  163. package/daemon/dist/routes/scope-audit.js +141 -135
  164. package/daemon/dist/routes/scope-audit.js.map +1 -1
  165. package/daemon/dist/routes/sessions.js +2 -1
  166. package/daemon/dist/routes/sessions.js.map +1 -1
  167. package/daemon/dist/routes/slices.d.ts.map +1 -1
  168. package/daemon/dist/routes/slices.js +48 -38
  169. package/daemon/dist/routes/slices.js.map +1 -1
  170. package/daemon/dist/routes/transcripts.d.ts.map +1 -1
  171. package/daemon/dist/routes/transcripts.js +62 -33
  172. package/daemon/dist/routes/transcripts.js.map +1 -1
  173. package/daemon/dist/startup.d.ts.map +1 -1
  174. package/daemon/dist/startup.js +25 -11
  175. package/daemon/dist/startup.js.map +1 -1
  176. package/daemon/docs/reference/agent-startup-guide.md +1 -0
  177. package/daemon/specs/agents/apps/vault-specialist/agent.yaml +2 -1
  178. package/daemon/specs/agents/conveyor/builder/agent.yaml +2 -1
  179. package/daemon/specs/agents/conveyor/lead/agent.yaml +2 -1
  180. package/daemon/specs/agents/conveyor/planner/agent.yaml +2 -1
  181. package/daemon/specs/agents/conveyor/reviewer/agent.yaml +2 -1
  182. package/daemon/specs/agents/design/product-designer/agent.yaml +12 -2
  183. package/daemon/specs/agents/development/implementer/agent.yaml +12 -2
  184. package/daemon/specs/agents/development/qa/agent.yaml +12 -2
  185. package/daemon/specs/agents/development/qa/guidance/role.md +1 -0
  186. package/daemon/specs/agents/factory-rsi/dogfood/agent.yaml +2 -1
  187. package/daemon/specs/agents/factory-rsi/release-manager/agent.yaml +2 -1
  188. package/daemon/specs/agents/orchestration/orchestrator/agent.yaml +12 -2
  189. package/daemon/specs/agents/product-management/pm/agent.yaml +1 -2
  190. package/daemon/specs/agents/research/analyst/agent.yaml +2 -1
  191. package/daemon/specs/agents/research/synthesizer/agent.yaml +2 -1
  192. package/daemon/specs/agents/review/independent-reviewer/agent.yaml +12 -2
  193. package/daemon/specs/agents/shared/agent.yaml +5 -8
  194. package/daemon/specs/agents/shared/runtime/claude-settings.fragment.json +13 -1
  195. package/daemon/specs/agents/shared/skills/core/agent-starters/SKILL.md +132 -0
  196. package/daemon/{assets/plugins/openrig-core/skills → specs/agents/shared/skills/core}/agent-startup-and-context-ingestion/SKILL.md +27 -19
  197. package/daemon/specs/agents/shared/skills/core/attention-queue/SKILL.md +264 -0
  198. package/daemon/specs/agents/shared/skills/core/cross-host-rig-commands/SKILL.md +190 -0
  199. package/daemon/specs/agents/shared/skills/core/human-in-the-loop/SKILL.md +104 -0
  200. package/daemon/specs/agents/shared/skills/core/openrig-architect/SKILL.md +25 -8
  201. package/daemon/specs/agents/shared/skills/core/openrig-cmux/SKILL.md +0 -5
  202. package/daemon/specs/agents/shared/skills/core/openrig-herdr/SKILL.md +1 -6
  203. package/daemon/specs/agents/shared/skills/core/openrig-upgrade/SKILL.md +460 -0
  204. package/daemon/specs/agents/shared/skills/core/rig-bundles-and-shareable-artifacts/SKILL.md +101 -0
  205. package/daemon/specs/agents/shared/skills/core/rig-lifecycle/SKILL.md +22 -11
  206. package/daemon/specs/agents/shared/skills/core/session-source-fork/SKILL.md +160 -0
  207. package/daemon/specs/agents/shared/skills/core/specification-system/SKILL.md +103 -0
  208. package/daemon/specs/agents/shared/skills/core/topology-mutation-and-seat-management/SKILL.md +118 -0
  209. package/daemon/specs/agents/shared/skills/core/watchdog/SKILL.md +125 -0
  210. package/daemon/specs/agents/shared/skills/pods/orchestration-team/SKILL.md +4 -4
  211. package/daemon/specs/agents/shared/skills/pods/review-team/SKILL.md +3 -0
  212. package/daemon/specs/agents/shared/skills/process/brainstorming/OPENRIG.md +3 -3
  213. package/daemon/specs/agents/shared/skills/process/executing-plans/OPENRIG.md +1 -1
  214. package/daemon/specs/agents/shared/skills/process/frontend-design/SKILL.md +6 -3
  215. package/daemon/specs/agents/shared/skills/process/test-driven-development/SKILL.md +1 -1
  216. package/daemon/specs/agents/shared/skills/process/using-superpowers/OPENRIG.md +1 -1
  217. package/daemon/specs/agents/shared/skills/process/verification-before-completion/SKILL.md +12 -2
  218. package/daemon/specs/agents/shared/skills/process/writing-plans/OPENRIG.md +1 -1
  219. package/daemon/specs/rigs/focused/pm-team/CULTURE.md +1 -1
  220. package/daemon/specs/rigs/launch/kernel/agents/advisor/lead/agent.yaml +2 -2
  221. package/daemon/specs/rigs/launch/kernel/agents/advisor/lead/guidance/role.md +5 -4
  222. package/daemon/specs/rigs/launch/kernel/agents/operator/agent/agent.yaml +2 -2
  223. package/daemon/specs/rigs/launch/kernel/agents/operator/agent/guidance/role.md +3 -5
  224. package/daemon/specs/rigs/launch/kernel/agents/queue/worker/agent.yaml +2 -2
  225. package/daemon/specs/rigs/launch/kernel/culture/CULTURE.md +3 -4
  226. package/daemon/specs/rigs/preview/product-team/CULTURE.md +1 -1
  227. package/dist/bin-wrapper.d.ts.map +1 -1
  228. package/dist/bin-wrapper.js +3 -1
  229. package/dist/bin-wrapper.js.map +1 -1
  230. package/dist/build-info.js +3 -3
  231. package/dist/cli-error.d.ts +33 -0
  232. package/dist/cli-error.d.ts.map +1 -0
  233. package/dist/cli-error.js +94 -0
  234. package/dist/cli-error.js.map +1 -0
  235. package/dist/commands/config-init-workspace.js +1 -1
  236. package/dist/commands/doctor.d.ts +1 -1
  237. package/dist/commands/doctor.d.ts.map +1 -1
  238. package/dist/commands/doctor.js +17 -11
  239. package/dist/commands/doctor.js.map +1 -1
  240. package/dist/commands/host.d.ts.map +1 -1
  241. package/dist/commands/host.js +24 -10
  242. package/dist/commands/host.js.map +1 -1
  243. package/dist/commands/proof.js +1 -1
  244. package/dist/commands/proof.js.map +1 -1
  245. package/dist/commands/ps.d.ts.map +1 -1
  246. package/dist/commands/ps.js +16 -2
  247. package/dist/commands/ps.js.map +1 -1
  248. package/dist/commands/queue.d.ts.map +1 -1
  249. package/dist/commands/queue.js +103 -24
  250. package/dist/commands/queue.js.map +1 -1
  251. package/dist/commands/rig.d.ts.map +1 -1
  252. package/dist/commands/rig.js +122 -0
  253. package/dist/commands/rig.js.map +1 -1
  254. package/dist/commands/scope.js +2 -2
  255. package/dist/commands/scope.js.map +1 -1
  256. package/dist/commands/send.d.ts.map +1 -1
  257. package/dist/commands/send.js +118 -24
  258. package/dist/commands/send.js.map +1 -1
  259. package/dist/commands/slack.d.ts +37 -0
  260. package/dist/commands/slack.d.ts.map +1 -0
  261. package/dist/commands/slack.js +274 -0
  262. package/dist/commands/slack.js.map +1 -0
  263. package/dist/commands/ui.d.ts +1 -0
  264. package/dist/commands/ui.d.ts.map +1 -1
  265. package/dist/commands/ui.js +2 -0
  266. package/dist/commands/ui.js.map +1 -1
  267. package/dist/commands/up.js +1 -1
  268. package/dist/commands/up.js.map +1 -1
  269. package/dist/commands/whoami.d.ts.map +1 -1
  270. package/dist/commands/whoami.js +3 -3
  271. package/dist/commands/whoami.js.map +1 -1
  272. package/dist/daemon-lifecycle.d.ts.map +1 -1
  273. package/dist/daemon-lifecycle.js +45 -14
  274. package/dist/daemon-lifecycle.js.map +1 -1
  275. package/dist/host-registry.d.ts +6 -1
  276. package/dist/host-registry.d.ts.map +1 -1
  277. package/dist/host-registry.js +15 -6
  278. package/dist/host-registry.js.map +1 -1
  279. package/dist/index.d.ts +3 -0
  280. package/dist/index.d.ts.map +1 -1
  281. package/dist/index.js +6 -1
  282. package/dist/index.js.map +1 -1
  283. package/dist/lib/scope/scaffold-placeholder.d.ts +38 -0
  284. package/dist/lib/scope/scaffold-placeholder.d.ts.map +1 -0
  285. package/dist/lib/scope/scaffold-placeholder.js +98 -0
  286. package/dist/lib/scope/scaffold-placeholder.js.map +1 -0
  287. package/dist/lib/scope/scope-audit.d.ts.map +1 -1
  288. package/dist/lib/scope/scope-audit.js +57 -20
  289. package/dist/lib/scope/scope-audit.js.map +1 -1
  290. package/dist/lib/scope-templates/backlog-deprecation.md +1 -1
  291. package/dist/lib/scope-templates/backlog-tech-debt.md +1 -1
  292. package/dist/lib/scope-templates/bug-fix.md +1 -1
  293. package/dist/lib/scope-templates/implementation-prd.md +1 -1
  294. package/dist/lib/scope-templates/mission-notes.md +7 -2
  295. package/dist/lib/scope-templates/mission-placeholder.md +1 -1
  296. package/dist/lib/scope-templates/mission-progress.md +1 -1
  297. package/dist/lib/scope-templates/mission-release.md +1 -1
  298. package/dist/lib/scope-templates/placeholder.md +1 -1
  299. package/dist/lib/scope-templates/proof.md +1 -1
  300. package/dist/lib/scope-templates/release-feature.md +1 -1
  301. package/dist/lib/scope-templates/research.md +1 -1
  302. package/dist/lib/scope-templates/slice-progress.md +1 -1
  303. package/dist/remote-host-ops.d.ts.map +1 -1
  304. package/dist/remote-host-ops.js +2 -2
  305. package/dist/remote-host-ops.js.map +1 -1
  306. package/dist/slack/config.d.ts +41 -0
  307. package/dist/slack/config.d.ts.map +1 -0
  308. package/dist/slack/config.js +60 -0
  309. package/dist/slack/config.js.map +1 -0
  310. package/dist/slack/inbound.d.ts +75 -0
  311. package/dist/slack/inbound.d.ts.map +1 -0
  312. package/dist/slack/inbound.js +133 -0
  313. package/dist/slack/inbound.js.map +1 -0
  314. package/dist/slack/message.d.ts +26 -0
  315. package/dist/slack/message.d.ts.map +1 -0
  316. package/dist/slack/message.js +60 -0
  317. package/dist/slack/message.js.map +1 -0
  318. package/dist/slack/outbound.d.ts +39 -0
  319. package/dist/slack/outbound.d.ts.map +1 -0
  320. package/dist/slack/outbound.js +52 -0
  321. package/dist/slack/outbound.js.map +1 -0
  322. package/dist/slack/queue-bridge.d.ts +56 -0
  323. package/dist/slack/queue-bridge.d.ts.map +1 -0
  324. package/dist/slack/queue-bridge.js +114 -0
  325. package/dist/slack/queue-bridge.js.map +1 -0
  326. package/dist/slack/secrets.d.ts +21 -0
  327. package/dist/slack/secrets.d.ts.map +1 -0
  328. package/dist/slack/secrets.js +73 -0
  329. package/dist/slack/secrets.js.map +1 -0
  330. package/dist/slack/slack-api.d.ts +49 -0
  331. package/dist/slack/slack-api.d.ts.map +1 -0
  332. package/dist/slack/slack-api.js +110 -0
  333. package/dist/slack/slack-api.js.map +1 -0
  334. package/dist/slack/state-store.d.ts +62 -0
  335. package/dist/slack/state-store.d.ts.map +1 -0
  336. package/dist/slack/state-store.js +132 -0
  337. package/dist/slack/state-store.js.map +1 -0
  338. package/package.json +1 -1
  339. package/ui/dist/assets/{index-zrFqS7gL.js → index-DkNi0RT8.js} +184 -184
  340. package/ui/dist/assets/index-N-SdPj-I.css +32 -0
  341. package/ui/dist/index.html +2 -2
  342. package/daemon/assets/plugins/openrig-core/skills/openrig-architect/SKILL.md +0 -361
  343. package/daemon/assets/plugins/openrig-core/skills/openrig-cmux/SKILL.md +0 -86
  344. package/daemon/assets/plugins/openrig-core/skills/openrig-herdr/SKILL.md +0 -158
  345. package/daemon/assets/plugins/openrig-core/skills/openrig-operator/SKILL.md +0 -222
  346. package/daemon/docs/reference/product-factory-vps-runbook.md +0 -132
  347. package/daemon/specs/agents/shared/skills/core/mission-slice-sop/SKILL.md +0 -113
  348. package/daemon/specs/agents/shared/skills/core/openrig-installer/SKILL.md +0 -142
  349. package/daemon/specs/agents/shared/skills/core/openrig-operator/SKILL.md +0 -110
  350. package/daemon/specs/agents/shared/skills/core/openrig-user/SKILL.md +0 -1245
  351. package/daemon/specs/agents/shared/skills/core/openrig-user-settings/SKILL.md +0 -153
  352. package/ui/dist/assets/index-CFqxa0zW.css +0 -32
@@ -1,5 +1,6 @@
1
1
  import * as YAML from "yaml";
2
2
  import { isMissionDotId, isSliceDotId } from "./dot-id.js";
3
+ import { isScaffoldPlaceholderText, hasAuthoredNumberedItem, isPristineScaffoldSection } from "./scaffold-placeholder.js";
3
4
  // OPR.0.4.4.20 FR-8: exported so the review brief-spine writer conforms to
4
5
  // the SAME pinned exact-order schema this audit enforces (parity by
5
6
  // construction — the generated output can never trip malformed_mission_brief
@@ -307,37 +308,73 @@ export function classifyScopeItem(input) {
307
308
  severity: "low",
308
309
  path: childPath(input.path, "README.md"),
309
310
  message: "Slice README has no `## Intent` section, so the Living Notes UI cannot project its INTENT section.",
310
- remediation: "Add `## Intent` carrying the recorded intent verbatim (conventions SSOT: docs/reference/sdlc-conventions.md; `rig scope slice create` scaffolds it).",
311
+ remediation: "Add `## Intent` carrying the recorded intent verbatim (conventions SSOT: docs/reference/sdlc-conventions.md (installed: $OPENRIG_HOME/reference/sdlc-conventions.md); `rig scope slice create` scaffolds it).",
311
312
  });
312
313
  }
313
- const contractSource = typeof input.implementationPrdContent === "string"
314
- ? { content: input.implementationPrdContent, path: childPath(input.path, "IMPLEMENTATION-PRD.md") }
315
- : typeof input.readmeContent === "string"
316
- ? { content: input.readmeContent, path: childPath(input.path, "README.md") }
317
- : null;
318
- if (contractSource) {
314
+ // PM dogfood #1 (qitem-20260720015700-630eef64) per-SECTION source
315
+ // selection, decided independently for `## Mini-requirements` and
316
+ // `## Proof contract`: an authored PRD section is canonical, but a
317
+ // PRESENT-and-PRISTINE scaffold-only PRD section yields to an authored
318
+ // (non-pristine) README section. Missing / prose-malformed / mixed-
319
+ // authored PRD sections stay PRD-canonical and visible. Status-blind by
320
+ // construction (lifecycle status is never read here). PRD absent keeps
321
+ // the file-level README fallback byte-identically.
322
+ const prdContentStr = typeof input.implementationPrdContent === "string" ? input.implementationPrdContent : null;
323
+ const readmeContentStr = typeof input.readmeContent === "string" ? input.readmeContent : null;
324
+ const pickSectionSource = (heading) => {
325
+ if (prdContentStr !== null) {
326
+ const prdBody = h2Body(prdContentStr, heading);
327
+ if (isPristineScaffoldSection(prdBody) && readmeContentStr !== null) {
328
+ const readmeBody = h2Body(readmeContentStr, heading);
329
+ if (readmeBody !== null && !isPristineScaffoldSection(readmeBody)) {
330
+ return { body: readmeBody, path: childPath(input.path, "README.md") };
331
+ }
332
+ }
333
+ return { body: prdBody, path: childPath(input.path, "IMPLEMENTATION-PRD.md") };
334
+ }
335
+ if (readmeContentStr !== null) {
336
+ return { body: h2Body(readmeContentStr, heading), path: childPath(input.path, "README.md") };
337
+ }
338
+ return null;
339
+ };
340
+ const miniSource = pickSectionSource("Mini-requirements");
341
+ const contractSource = pickSectionSource("Proof contract");
342
+ if (miniSource) {
319
343
  // OPR.0.4.4.23 rev1-r2 B1 (PRD L34 guard F-3): well-formed
320
344
  // `## Mini-requirements` — the PLAN leg of the Living Notes
321
- // projection. Same source-selection policy as the proof contract
322
- // (PRD preferred, README fallback). Well-formed = the heading plus
323
- // at least one numbered list item; a heading over prose-only is
324
- // malformed (no usable requirements projection).
325
- const miniBody = h2Body(contractSource.content, "Mini-requirements");
326
- const hasNumberedItem = miniBody !== null && /^\s*\d+\.\s+\S/m.test(miniBody);
345
+ // projection, checked on this section's SELECTED source. Well-formed =
346
+ // the heading plus at least one numbered list item; a heading over
347
+ // prose-only is malformed (no usable requirements projection).
348
+ const miniBody = miniSource.body;
349
+ // release-0.4.7 micro-bundle A: an AUTHORED numbered item — the twin
350
+ // module's ONE authored-numbered-item grammar, shared with review
351
+ // compose (heals the dot/paren grammar split AND the placeholder
352
+ // blindness in one predicate; the finding message below already reads
353
+ // honestly for both and stays unchanged).
354
+ const hasNumberedItem = hasAuthoredNumberedItem(miniBody);
327
355
  if (!hasNumberedItem) {
328
356
  findings.push({
329
357
  kind: "mini_requirements_missing_or_malformed",
330
358
  severity: "low",
331
- path: contractSource.path,
359
+ path: miniSource.path,
332
360
  message: miniBody === null
333
361
  ? "No `## Mini-requirements` section — the Living Notes PLAN section has no concise requirements tier to project."
334
362
  : "`## Mini-requirements` carries no numbered items (`1. …`) — the one-glance requirement tier is where approval starts.",
335
- remediation: "Add `## Mini-requirements` with a numbered list of observable outcomes (conventions SSOT: docs/reference/sdlc-conventions.md; for a small slice this may BE the whole PRD).",
363
+ remediation: "Add `## Mini-requirements` with a numbered list of observable outcomes (conventions SSOT: docs/reference/sdlc-conventions.md (installed: $OPENRIG_HOME/reference/sdlc-conventions.md); for a small slice this may BE the whole PRD).",
336
364
  });
337
365
  }
338
- const contractBody = h2Body(contractSource.content, "Proof contract");
339
- const hasCheckboxItem = contractBody !== null && /^\s*-\s*\[[ xX]\]/m.test(contractBody);
340
- if (!hasCheckboxItem) {
366
+ }
367
+ if (contractSource) {
368
+ const contractBody = contractSource.body;
369
+ // release-0.4.7 intent-stage: an AUTHORED checkbox item — a scaffold
370
+ // placeholder row is not a contract (shared grammar:
371
+ // ./scaffold-placeholder.js — the same helper review compose and the
372
+ // slice-detail projector consume; the R3 pin). A text-less checkbox row
373
+ // still counts, exactly as before. Checked on this section's SELECTED
374
+ // source (independent of the mini-reqs decision).
375
+ const hasAuthoredCheckboxItem = contractBody !== null &&
376
+ [...contractBody.matchAll(/^\s*-\s*\[[ xX]\]\s*(.*)$/gm)].some((m) => !isScaffoldPlaceholderText((m[1] ?? "").trim()));
377
+ if (!hasAuthoredCheckboxItem) {
341
378
  findings.push({
342
379
  kind: "proof_contract_missing_or_malformed",
343
380
  severity: "low",
@@ -345,7 +382,7 @@ export function classifyScopeItem(input) {
345
382
  message: contractBody === null
346
383
  ? "No `## Proof contract` section — the DELIVERED pairing has no promised-deliverables source to join proof against."
347
384
  : "`## Proof contract` carries no checkbox deliverables (`- [ ] …`) — the DELIVERED pairing joins proof against those items.",
348
- remediation: "Add `## Proof contract` with one checkbox line per promised deliverable, written as an observable outcome (conventions SSOT: docs/reference/sdlc-conventions.md).",
385
+ remediation: "Add `## Proof contract` with one checkbox line per promised deliverable, written as an observable outcome (conventions SSOT: docs/reference/sdlc-conventions.md (installed: $OPENRIG_HOME/reference/sdlc-conventions.md)).",
349
386
  });
350
387
  }
351
388
  if (typeof input.readmeContent === "string") {
@@ -365,7 +402,7 @@ export function classifyScopeItem(input) {
365
402
  severity: "info",
366
403
  path: childPath(input.path, "README.md"),
367
404
  message: "Slice declares an Intent visual (UI slice) but no mockup reference is present — a UI slice with no mockup in its locked set is an incomplete plan.",
368
- remediation: "Attach the planned mockup: an image ref in `## Intent visual` or a plannedRef on the proof-contract deliverable (conventions SSOT: docs/reference/sdlc-conventions.md §3).",
405
+ remediation: "Attach the planned mockup: an image ref in `## Intent visual` or a plannedRef on the proof-contract deliverable (conventions SSOT: docs/reference/sdlc-conventions.md §3 (installed: $OPENRIG_HOME/reference/sdlc-conventions.md §3)).",
369
406
  });
370
407
  }
371
408
  }
@@ -1 +1 @@
1
- {"version":3,"file":"scope-audit.js","sourceRoot":"","sources":["../../../src/lib/scope/scope-audit.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"scope-audit.js","sourceRoot":"","sources":["../../../src/lib/scope/scope-audit.ts"],"names":[],"mappings":"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"}
@@ -40,4 +40,4 @@ created: {{created_date}}
40
40
 
41
41
  ---
42
42
 
43
- > **How you work this slice (SOP):** conventions SSOT: `docs/reference/sdlc-conventions.md`; full flow: the `mission-slice-sop` skill. Author intent → mini-requirements + proof contract (→ mockups for UI slices) → plan-lock (`rig scope slice approve --scope spec`) → build the locked set → QA visual compare → `rig proof add … --evidences --media` drops into `proof/` (never hand-place evidence without the drop) → proof-lock (`--scope delivery`). Track on PROGRESS.md; a slice is **not done** until every proof-contract item has evidence. Verify with `rig scope audit`.
43
+ > **How you work this slice (SOP):** conventions SSOT: `docs/reference/sdlc-conventions.md` (installed: `$OPENRIG_HOME/reference/sdlc-conventions.md`); full flow: the `mission-slice-sop` skill. Author intent → mini-requirements + proof contract (→ mockups for UI slices) → plan-lock (`rig scope slice approve --scope spec`) → build the locked set → QA visual compare → `rig proof add … --evidences --media` drops into `proof/` (never hand-place evidence without the drop) → proof-lock (`--scope delivery`). Track on PROGRESS.md; a slice is **not done** until every proof-contract item has evidence. Verify with `rig scope audit`.
@@ -36,4 +36,4 @@ created: {{created_date}}
36
36
 
37
37
  ---
38
38
 
39
- > **How you work this slice (SOP):** conventions SSOT: `docs/reference/sdlc-conventions.md`; full flow: the `mission-slice-sop` skill. Author intent → mini-requirements + proof contract (→ mockups for UI slices) → plan-lock (`rig scope slice approve --scope spec`) → build the locked set → QA visual compare → `rig proof add … --evidences --media` drops into `proof/` (never hand-place evidence without the drop) → proof-lock (`--scope delivery`). Track on PROGRESS.md; a slice is **not done** until every proof-contract item has evidence. Verify with `rig scope audit`.
39
+ > **How you work this slice (SOP):** conventions SSOT: `docs/reference/sdlc-conventions.md` (installed: `$OPENRIG_HOME/reference/sdlc-conventions.md`); full flow: the `mission-slice-sop` skill. Author intent → mini-requirements + proof contract (→ mockups for UI slices) → plan-lock (`rig scope slice approve --scope spec`) → build the locked set → QA visual compare → `rig proof add … --evidences --media` drops into `proof/` (never hand-place evidence without the drop) → proof-lock (`--scope delivery`). Track on PROGRESS.md; a slice is **not done** until every proof-contract item has evidence. Verify with `rig scope audit`.
@@ -44,4 +44,4 @@ created: {{created_date}}
44
44
 
45
45
  ---
46
46
 
47
- > **How you work this slice (SOP):** conventions SSOT: `docs/reference/sdlc-conventions.md`; full flow: the `mission-slice-sop` skill. Author intent → mini-requirements + proof contract (→ mockups for UI slices) → plan-lock (`rig scope slice approve --scope spec`) → build the locked set → QA visual compare → `rig proof add … --evidences --media` drops into `proof/` (never hand-place evidence without the drop) → proof-lock (`--scope delivery`). Track on PROGRESS.md; a slice is **not done** until every proof-contract item has evidence. Verify with `rig scope audit`.
47
+ > **How you work this slice (SOP):** conventions SSOT: `docs/reference/sdlc-conventions.md` (installed: `$OPENRIG_HOME/reference/sdlc-conventions.md`); full flow: the `mission-slice-sop` skill. Author intent → mini-requirements + proof contract (→ mockups for UI slices) → plan-lock (`rig scope slice approve --scope spec`) → build the locked set → QA visual compare → `rig proof add … --evidences --media` drops into `proof/` (never hand-place evidence without the drop) → proof-lock (`--scope delivery`). Track on PROGRESS.md; a slice is **not done** until every proof-contract item has evidence. Verify with `rig scope audit`.
@@ -12,7 +12,7 @@ created: {{created_date}}
12
12
  proof. Everything between is ELASTIC. For a small slice the
13
13
  mini-requirements below may BE the whole PRD; add depth only where the
14
14
  work demands it. The scaffold must not mint ceremony.
15
- Conventions SSOT: docs/reference/sdlc-conventions.md -->
15
+ Conventions SSOT: docs/reference/sdlc-conventions.md (installed: $OPENRIG_HOME/reference/sdlc-conventions.md) -->
16
16
 
17
17
  # Slice {{slice_number}} — {{title}}
18
18
 
@@ -71,8 +71,13 @@ restore-needs evolve.)
71
71
  2. Read this file's §1 + your §A-§X section + this §9
72
72
  3. Read `missions/{{mission_id}}/README.md` for mission scope
73
73
  4. Read `missions/{{mission_id}}/PROGRESS.md` for delivery state
74
- 5. `rig queue list --destination <your-session>` — your durable inbox
75
- 6. State "restored from {{mission_id}}; resumed at <action>" before acting
74
+ 5. `rig queue list --mine --full --json` triage your durable inbox from full
75
+ bodies; use `rig queue show <id> --full --json` for individual items. Never
76
+ use the bare compact queue list for triage.
77
+ 6. Optionally check `rig transcript <your-session> --tail 100` as secondary
78
+ evidence. It may be unavailable or incomplete for some runtimes; little or
79
+ no output does not prove the session was quiet.
80
+ 7. State "restored from {{mission_id}}; resumed at <action>" before acting
76
81
 
77
82
  ## §10. What NOT to reconstruct
78
83
 
@@ -24,7 +24,7 @@ created: {{created_date}}
24
24
 
25
25
  ## Mission/Slice SOP — how you work this mission & slice
26
26
 
27
- > The canonical files below are the **operating surface of the work** — you track on them, prove on them, hand off through them, and survive compaction on them. They are NOT side-artifacts to "maintain"; keeping them current *is* the work. Load the `mission-slice-sop` skill for the full operating procedure. **Conventions SSOT: `docs/reference/sdlc-conventions.md`** — the slice section names (`## Intent` / `## Mini-requirements` / `## Proof contract`), the proof-contract format, the two locks (`rig scope slice approve --scope spec|delivery`), and the C1 proof headers all live there.
27
+ > The canonical files below are the **operating surface of the work** — you track on them, prove on them, hand off through them, and survive compaction on them. They are NOT side-artifacts to "maintain"; keeping them current *is* the work. Load the `mission-slice-sop` skill for the full operating procedure. **Conventions SSOT: `docs/reference/sdlc-conventions.md`** (installed: `$OPENRIG_HOME/reference/sdlc-conventions.md`) — the slice section names (`## Intent` / `## Mini-requirements` / `## Proof contract`), the proof-contract format, the two locks (`rig scope slice approve --scope spec|delivery`), and the C1 proof headers all live there.
28
28
 
29
29
  ### The canonical files (the operating surface)
30
30
 
@@ -1,6 +1,6 @@
1
1
  # Progress — {{missionName}}
2
2
 
3
- > **WHO/WHEN:** the orchestrator owns the current-state summary; every agent logs its own outcomes here after every slice-done AND every commit. One line per outcome, link down for detail. See the `mission-slice-sop` skill + the conventions SSOT (`docs/reference/sdlc-conventions.md`).
3
+ > **WHO/WHEN:** the orchestrator owns the current-state summary; every agent logs its own outcomes here after every slice-done AND every commit. One line per outcome, link down for detail. See the `mission-slice-sop` skill + the conventions SSOT (`docs/reference/sdlc-conventions.md` in the repo, `$OPENRIG_HOME/reference/sdlc-conventions.md` on an installed package).
4
4
 
5
5
  ## Milestones
6
6
 
@@ -29,7 +29,7 @@ created: {{created_date}}
29
29
 
30
30
  ## Mission/Slice SOP — how you work this mission & slice
31
31
 
32
- > The canonical files below are the **operating surface of the work** — you track on them, prove on them, hand off through them, and survive compaction on them. They are NOT side-artifacts to "maintain"; keeping them current *is* the work. Load the `mission-slice-sop` skill for the full operating procedure. **Conventions SSOT: `docs/reference/sdlc-conventions.md`** — the slice section names (`## Intent` / `## Mini-requirements` / `## Proof contract`), the proof-contract format, the two locks (`rig scope slice approve --scope spec|delivery`), and the C1 proof headers all live there.
32
+ > The canonical files below are the **operating surface of the work** — you track on them, prove on them, hand off through them, and survive compaction on them. They are NOT side-artifacts to "maintain"; keeping them current *is* the work. Load the `mission-slice-sop` skill for the full operating procedure. **Conventions SSOT: `docs/reference/sdlc-conventions.md`** (installed: `$OPENRIG_HOME/reference/sdlc-conventions.md`) — the slice section names (`## Intent` / `## Mini-requirements` / `## Proof contract`), the proof-contract format, the two locks (`rig scope slice approve --scope spec|delivery`), and the C1 proof headers all live there.
33
33
 
34
34
  ### The canonical files (the operating surface)
35
35
 
@@ -44,4 +44,4 @@ Non-visual slices: mark this section N/A.
44
44
 
45
45
  ---
46
46
 
47
- > **How you work this slice (SOP):** conventions SSOT: `docs/reference/sdlc-conventions.md`; full flow: the `mission-slice-sop` skill. Author intent → mini-requirements + proof contract (→ mockups for UI slices) → plan-lock (`rig scope slice approve --scope spec`) → build the locked set → QA visual compare → `rig proof add … --evidences --media` drops into `proof/` (never hand-place evidence without the drop) → proof-lock (`--scope delivery`). Track on PROGRESS.md; a slice is **not done** until every proof-contract item has evidence. Verify with `rig scope audit`.
47
+ > **How you work this slice (SOP):** conventions SSOT: `docs/reference/sdlc-conventions.md` (installed: `$OPENRIG_HOME/reference/sdlc-conventions.md`); full flow: the `mission-slice-sop` skill. Author intent → mini-requirements + proof contract (→ mockups for UI slices) → plan-lock (`rig scope slice approve --scope spec`) → build the locked set → QA visual compare → `rig proof add … --evidences --media` drops into `proof/` (never hand-place evidence without the drop) → proof-lock (`--scope delivery`). Track on PROGRESS.md; a slice is **not done** until every proof-contract item has evidence. Verify with `rig scope audit`.
@@ -1,6 +1,6 @@
1
1
  # PROOF — {{id}} {{title}}
2
2
 
3
- > **WHO/WHEN:** the impl/QA pair that worked the slice, at slice-close — a slice is NOT done until this file exists and every proof-contract item has evidence (mapped 1:1, artifacts under `proof/`). See the `mission-slice-sop` skill + the conventions SSOT (`docs/reference/sdlc-conventions.md`).
3
+ > **WHO/WHEN:** the impl/QA pair that worked the slice, at slice-close — a slice is NOT done until this file exists and every proof-contract item has evidence (mapped 1:1, artifacts under `proof/`). See the `mission-slice-sop` skill + the conventions SSOT (`docs/reference/sdlc-conventions.md` in the repo, `$OPENRIG_HOME/reference/sdlc-conventions.md` on an installed package).
4
4
  >
5
5
  > **HOW (the drop verb, not hand-placement):** put media files under `proof/`, then ATTACH them with `rig proof add {{id}} --artifact-type qa --verdict PASS --candidate-sha <tip> --money-evidence "<one line>" --evidences "1" --media "screenshot-01.png"` — the drop writes the C1 header the Living Notes DELIVERED pairing joins on. Hand-placing files without a drop leaves the deliverable unpaired and `unverified`.
6
6
 
@@ -32,4 +32,4 @@ created: {{created_date}}
32
32
 
33
33
  ---
34
34
 
35
- > **How you work this slice (SOP):** conventions SSOT: `docs/reference/sdlc-conventions.md`; full flow: the `mission-slice-sop` skill. Author intent → mini-requirements + proof contract (→ mockups for UI slices) → plan-lock (`rig scope slice approve --scope spec`) → build the locked set → QA visual compare → `rig proof add … --evidences --media` drops into `proof/` (never hand-place evidence without the drop) → proof-lock (`--scope delivery`). Track on PROGRESS.md; a slice is **not done** until every proof-contract item has evidence. Verify with `rig scope audit`.
35
+ > **How you work this slice (SOP):** conventions SSOT: `docs/reference/sdlc-conventions.md` (installed: `$OPENRIG_HOME/reference/sdlc-conventions.md`); full flow: the `mission-slice-sop` skill. Author intent → mini-requirements + proof contract (→ mockups for UI slices) → plan-lock (`rig scope slice approve --scope spec`) → build the locked set → QA visual compare → `rig proof add … --evidences --media` drops into `proof/` (never hand-place evidence without the drop) → proof-lock (`--scope delivery`). Track on PROGRESS.md; a slice is **not done** until every proof-contract item has evidence. Verify with `rig scope audit`.
@@ -36,4 +36,4 @@ created: {{created_date}}
36
36
 
37
37
  ---
38
38
 
39
- > **How you work this slice (SOP):** conventions SSOT: `docs/reference/sdlc-conventions.md`; full flow: the `mission-slice-sop` skill. Author intent → mini-requirements + proof contract (→ mockups for UI slices) → plan-lock (`rig scope slice approve --scope spec`) → build the locked set → QA visual compare → `rig proof add … --evidences --media` drops into `proof/` (never hand-place evidence without the drop) → proof-lock (`--scope delivery`). Track on PROGRESS.md; a slice is **not done** until every proof-contract item has evidence. Verify with `rig scope audit`.
39
+ > **How you work this slice (SOP):** conventions SSOT: `docs/reference/sdlc-conventions.md` (installed: `$OPENRIG_HOME/reference/sdlc-conventions.md`); full flow: the `mission-slice-sop` skill. Author intent → mini-requirements + proof contract (→ mockups for UI slices) → plan-lock (`rig scope slice approve --scope spec`) → build the locked set → QA visual compare → `rig proof add … --evidences --media` drops into `proof/` (never hand-place evidence without the drop) → proof-lock (`--scope delivery`). Track on PROGRESS.md; a slice is **not done** until every proof-contract item has evidence. Verify with `rig scope audit`.
@@ -1,6 +1,6 @@
1
1
  # Progress — {{sliceName}}
2
2
 
3
- > **WHO/WHEN:** every agent working this slice logs its own outcomes here after every slice-done AND every commit. One line per outcome, link down for detail. See the `mission-slice-sop` skill + the conventions SSOT (`docs/reference/sdlc-conventions.md`).
3
+ > **WHO/WHEN:** every agent working this slice logs its own outcomes here after every slice-done AND every commit. One line per outcome, link down for detail. See the `mission-slice-sop` skill + the conventions SSOT (`docs/reference/sdlc-conventions.md` in the repo, `$OPENRIG_HOME/reference/sdlc-conventions.md` on an installed package).
4
4
 
5
5
  ## Acceptance
6
6
 
@@ -1 +1 @@
1
- {"version":3,"file":"remote-host-ops.d.ts","sourceRoot":"","sources":["../src/remote-host-ops.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAE,gBAAgB,EAAmG,MAAM,oBAAoB,CAAC;AACvJ,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAExD,MAAM,WAAW,cAAc;IAC7B,aAAa,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,YAAY,CAAC;IAC7C,kBAAkB,CAAC,EAAE,MAAM,UAAU,CAAC,OAAO,gBAAgB,CAAC,CAAC;CAChE;AAED,MAAM,WAAW,cAAc;IAC7B,EAAE,EAAE,OAAO,CAAC;IACZ,UAAU,EAAE,UAAU,CAAC;IACvB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,wBAAsB,eAAe,CACnC,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,KAAK,GAAG,MAAM,EACtB,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,OAAO,GAAG,SAAS,EACzB,IAAI,EAAE,cAAc,EAGpB,IAAI,EAAE;IAAE,IAAI,CAAC,EAAE,OAAO,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE,GAC3C,OAAO,CAAC,cAAc,CAAC,CA0CzB;AAED,wBAAsB,kBAAkB,CACtC,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,cAAc,GACnB,OAAO,CAAC;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GAAG;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC,CAerE"}
1
+ {"version":3,"file":"remote-host-ops.d.ts","sourceRoot":"","sources":["../src/remote-host-ops.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAE,gBAAgB,EAAsH,MAAM,oBAAoB,CAAC;AAC1K,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAExD,MAAM,WAAW,cAAc;IAC7B,aAAa,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,YAAY,CAAC;IAC7C,kBAAkB,CAAC,EAAE,MAAM,UAAU,CAAC,OAAO,gBAAgB,CAAC,CAAC;CAChE;AAED,MAAM,WAAW,cAAc;IAC7B,EAAE,EAAE,OAAO,CAAC;IACZ,UAAU,EAAE,UAAU,CAAC;IACvB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,wBAAsB,eAAe,CACnC,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,KAAK,GAAG,MAAM,EACtB,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,OAAO,GAAG,SAAS,EACzB,IAAI,EAAE,cAAc,EAGpB,IAAI,EAAE;IAAE,IAAI,CAAC,EAAE,OAAO,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE,GAC3C,OAAO,CAAC,cAAc,CAAC,CA0CzB;AAED,wBAAsB,kBAAkB,CACtC,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,cAAc,GACnB,OAAO,CAAC;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GAAG;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC,CAerE"}
@@ -1,4 +1,4 @@
1
- import { loadHostRegistry, resolveHost, resolveRemoteBearer, classifyHttpFailedStep, classifyHttpError } from "./host-registry.js";
1
+ import { loadHostRegistry, resolveHost, resolveRemoteBearer, bearerAuthHeaders, classifyHttpFailedStep, classifyHttpError } from "./host-registry.js";
2
2
  export async function runRemoteHttpOp(hostId, method, apiPath, body, deps,
3
3
  // OPR.0.4.6.MH4 — optional per-call deadline (additive; absent = the
4
4
  // DaemonClient default). Every remote call site names its own budget.
@@ -22,7 +22,7 @@ opts) {
22
22
  return { ok: false, failedStep: bearerResult.failedStep, error: bearerResult.error };
23
23
  }
24
24
  const client = deps.clientFactory(httpHost.url);
25
- const headers = { Authorization: `Bearer ${bearerResult.token}` };
25
+ const headers = bearerAuthHeaders(bearerResult.token);
26
26
  const requestOptions = opts.timeoutMs !== undefined ? { headers, timeoutMs: opts.timeoutMs } : { headers };
27
27
  try {
28
28
  const res = method === "POST"
@@ -1 +1 @@
1
- {"version":3,"file":"remote-host-ops.js","sourceRoot":"","sources":["../src/remote-host-ops.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"remote-host-ops.js","sourceRoot":"","sources":["../src/remote-host-ops.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,41 @@
1
+ export interface SlackConnectorConfig {
2
+ enabled: boolean;
3
+ /** Inbound: human Slack messages land here. First-class + overridable (T1075). */
4
+ inboundDestination: string;
5
+ /** Outbound: qitems with this tag destined to a human seat alert to Slack. */
6
+ alertTag: string;
7
+ /** Optional explicit human-seat allow-list for outbound (empty = any human-seat/human-gate). */
8
+ outboundDestinations: string[];
9
+ /** Where the queue lives, shown in the posted message footer (never hardcoded). */
10
+ sourceLabel: string;
11
+ /** Slack channel the connector app must be a member of (verified live, item 5). */
12
+ channel: string | null;
13
+ /** Bot scopes the connector requires; verified against GRANTED header, not config (item 5). */
14
+ requiredScopes: string[];
15
+ /** Path to the 0600 env file holding secrets (webhook URL, bot/app tokens). */
16
+ secretsEnvFile: string | null;
17
+ /**
18
+ * Optional explicit queue-daemon URL (OPENRIG_URL) for a REMOTE queue when the
19
+ * connector host differs from the queue/alert host (item 10). Unlike `--host`
20
+ * (which `queue list`/`show` reject), OPENRIG_URL targets ALL queue verbs.
21
+ * Null = use the connector's ambient OPENRIG_URL / local daemon.
22
+ */
23
+ queueUrl: string | null;
24
+ }
25
+ export declare const DEFAULT_CONFIG: SlackConnectorConfig;
26
+ export declare function configPathFor(home?: string): string;
27
+ export declare function loadConfig(home?: string): SlackConnectorConfig;
28
+ export declare function saveConfig(cfg: SlackConnectorConfig, home?: string): string;
29
+ export declare function configFileExists(home?: string): boolean;
30
+ export interface ReadinessItem {
31
+ ok: boolean;
32
+ label: string;
33
+ detail: string;
34
+ }
35
+ /**
36
+ * HONEST unconfigured state (item 5): a static (no-network) readiness checklist
37
+ * from config + secret RESOLVABILITY (not values). Live scope/membership checks
38
+ * are `rig slack verify`. Never throws; reports what's missing.
39
+ */
40
+ export declare function staticReadiness(cfg: SlackConnectorConfig, hasWebhook: boolean, hasBotToken: boolean, hasAppToken: boolean): ReadinessItem[];
41
+ //# sourceMappingURL=config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/slack/config.ts"],"names":[],"mappings":"AAWA,MAAM,WAAW,oBAAoB;IACnC,OAAO,EAAE,OAAO,CAAC;IACjB,kFAAkF;IAClF,kBAAkB,EAAE,MAAM,CAAC;IAC3B,8EAA8E;IAC9E,QAAQ,EAAE,MAAM,CAAC;IACjB,gGAAgG;IAChG,oBAAoB,EAAE,MAAM,EAAE,CAAC;IAC/B,mFAAmF;IACnF,WAAW,EAAE,MAAM,CAAC;IACpB,mFAAmF;IACnF,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,+FAA+F;IAC/F,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,+EAA+E;IAC/E,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B;;;;;OAKG;IACH,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;CACzB;AAED,eAAO,MAAM,cAAc,EAAE,oBAU5B,CAAC;AAEF,wBAAgB,aAAa,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,CAEnD;AAED,wBAAgB,UAAU,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,oBAAoB,CAQ9D;AAED,wBAAgB,UAAU,CAAC,GAAG,EAAE,oBAAoB,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,CAK3E;AAED,wBAAgB,gBAAgB,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAEvD;AAED,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,OAAO,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CAChB;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,GAAG,EAAE,oBAAoB,EAAE,UAAU,EAAE,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,WAAW,EAAE,OAAO,GAAG,aAAa,EAAE,CAU3I"}
@@ -0,0 +1,60 @@
1
+ // Slice-11 slack-connector — first-class connector config (item 5 + T1075).
2
+ //
3
+ // Config is a first-class JSON file (NOT env-only): inbound destination,
4
+ // watched channel, alert tag, source label, required scopes, and POINTERS to
5
+ // secrets (never secret VALUES — those live in the 0600 env file / env vars).
6
+ // An unset/partial config yields an HONEST unconfigured state (no throw, no
7
+ // silent nothing) so `rig slack status` can tell the operator exactly what's left.
8
+ import fs from "node:fs";
9
+ import path from "node:path";
10
+ import { getOpenRigHome } from "../openrig-compat.js";
11
+ export const DEFAULT_CONFIG = {
12
+ enabled: false,
13
+ inboundDestination: "operator-agent@kernel",
14
+ alertTag: "founder-alert",
15
+ outboundDestinations: [],
16
+ sourceLabel: "openrig",
17
+ channel: null,
18
+ requiredScopes: ["chat:write", "channels:history", "channels:read"],
19
+ secretsEnvFile: null,
20
+ queueUrl: null,
21
+ };
22
+ export function configPathFor(home) {
23
+ return path.join(home ?? getOpenRigHome(), "slack-connector.json");
24
+ }
25
+ export function loadConfig(home) {
26
+ const p = configPathFor(home);
27
+ try {
28
+ const raw = JSON.parse(fs.readFileSync(p, "utf8"));
29
+ return { ...DEFAULT_CONFIG, ...raw };
30
+ }
31
+ catch {
32
+ return { ...DEFAULT_CONFIG };
33
+ }
34
+ }
35
+ export function saveConfig(cfg, home) {
36
+ const p = configPathFor(home);
37
+ fs.mkdirSync(path.dirname(p), { recursive: true });
38
+ fs.writeFileSync(p, JSON.stringify(cfg, null, 2) + "\n");
39
+ return p;
40
+ }
41
+ export function configFileExists(home) {
42
+ return fs.existsSync(configPathFor(home));
43
+ }
44
+ /**
45
+ * HONEST unconfigured state (item 5): a static (no-network) readiness checklist
46
+ * from config + secret RESOLVABILITY (not values). Live scope/membership checks
47
+ * are `rig slack verify`. Never throws; reports what's missing.
48
+ */
49
+ export function staticReadiness(cfg, hasWebhook, hasBotToken, hasAppToken) {
50
+ return [
51
+ { ok: cfg.secretsEnvFile !== null || hasWebhook || hasBotToken, label: "secrets-source", detail: cfg.secretsEnvFile ? `env file ${cfg.secretsEnvFile}` : "env vars only" },
52
+ { ok: hasWebhook, label: "outbound-webhook", detail: hasWebhook ? "resolved" : "unset (outbound alerts cannot post)" },
53
+ { ok: hasBotToken, label: "bot-token", detail: hasBotToken ? "resolved" : "unset (scope/membership verify unavailable)" },
54
+ { ok: hasAppToken, label: "app-token (Socket Mode)", detail: hasAppToken ? "resolved" : "unset (inbound cannot connect)" },
55
+ { ok: cfg.channel !== null, label: "channel", detail: cfg.channel ?? "unset" },
56
+ { ok: Boolean(cfg.inboundDestination), label: "inbound-destination", detail: cfg.inboundDestination },
57
+ { ok: cfg.enabled, label: "enabled", detail: cfg.enabled ? "yes" : "no (run `rig slack enable`)" },
58
+ ];
59
+ }
60
+ //# sourceMappingURL=config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/slack/config.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,75 @@
1
+ import type { SeenStore, DeadLetterStore } from "./state-store.js";
2
+ import type { QueueRunner } from "./queue-bridge.js";
3
+ export interface SlackEvent {
4
+ type?: string;
5
+ subtype?: string;
6
+ user?: string;
7
+ bot_id?: string;
8
+ text?: string;
9
+ ts?: string;
10
+ channel?: string;
11
+ files?: unknown[];
12
+ }
13
+ /**
14
+ * Loop-safety + non-text ignore. Ingest ONLY genuine human text messages:
15
+ * reject bot posts (our own loop), message subtypes (edits/joins/file_share),
16
+ * and — T1076 — anything carrying files/images. v1 ignores non-text CLEANLY:
17
+ * a false return is a clean skip, never a crash or partial ingestion.
18
+ */
19
+ export declare function shouldIngest(ev: SlackEvent): boolean;
20
+ export interface InboundDeps {
21
+ runner: QueueRunner;
22
+ seen: SeenStore;
23
+ deadLetter: DeadLetterStore<SlackEvent>;
24
+ destination: string;
25
+ sourceLabel?: string;
26
+ log?: (msg: string) => void;
27
+ }
28
+ export declare class InboundRouter {
29
+ private readonly deps;
30
+ private readonly inflight;
31
+ constructor(deps: InboundDeps);
32
+ private summaryOf;
33
+ /**
34
+ * Core landing attempt — NO dead-letter side effect. Dedup by ts (in-flight +
35
+ * durable seen). `reason` distinguishes a dedup skip from a genuine create
36
+ * failure so callers dead-letter ONLY real failures. On success, marks seen
37
+ * (durable qitem exists → safe).
38
+ */
39
+ private attemptLand;
40
+ /**
41
+ * LIVE path: attempt to land; on a genuine create failure, dead-letter the
42
+ * event (attempt-counted) BEFORE returning — NOT marked seen (item 8).
43
+ */
44
+ route(ev: SlackEvent, attempts?: number): Promise<{
45
+ landed: boolean;
46
+ qitemId?: string;
47
+ }>;
48
+ /**
49
+ * INTERRUPTION-SAFE retry (item 8): read the durable set NON-destructively,
50
+ * attempt each, then ATOMICALLY replace the file with only the still-failing
51
+ * entries. The original file stays intact until the atomic replace, so a crash
52
+ * at any point loses nothing (a since-landed event is skipped via the seen-set).
53
+ * Does NOT go through route() (which would double-append) — uses attemptLand.
54
+ */
55
+ retryDeadLetters(): Promise<{
56
+ retried: number;
57
+ landed: number;
58
+ }>;
59
+ }
60
+ export interface SocketEnvelope {
61
+ envelope_id?: string;
62
+ type?: string;
63
+ reason?: string;
64
+ payload?: {
65
+ event?: SlackEvent;
66
+ };
67
+ }
68
+ /**
69
+ * Handle one Socket Mode envelope. FAST-ACK first, ALWAYS (item 8: Socket Mode
70
+ * punishes slow acks; transport redelivery is not the safety net). Then filter
71
+ * and route. Ack happens even if routing later fails — the dead-letter, not
72
+ * transport redelivery, is the zero-drop net.
73
+ */
74
+ export declare function handleEnvelope(env: SocketEnvelope, ack: () => void, router: InboundRouter, log?: (m: string) => void): Promise<void>;
75
+ //# sourceMappingURL=inbound.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"inbound.d.ts","sourceRoot":"","sources":["../../src/slack/inbound.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,SAAS,EAAE,eAAe,EAAmB,MAAM,kBAAkB,CAAC;AACpF,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAGrD,MAAM,WAAW,UAAU;IACzB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,OAAO,EAAE,CAAC;CACnB;AAED;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,EAAE,EAAE,UAAU,GAAG,OAAO,CAOpD;AAED,MAAM,WAAW,WAAW;IAC1B,MAAM,EAAE,WAAW,CAAC;IACpB,IAAI,EAAE,SAAS,CAAC;IAChB,UAAU,EAAE,eAAe,CAAC,UAAU,CAAC,CAAC;IACxC,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;CAC7B;AAED,qBAAa,aAAa;IAEZ,OAAO,CAAC,QAAQ,CAAC,IAAI;IADjC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAqB;gBACjB,IAAI,EAAE,WAAW;IAE9C,OAAO,CAAC,SAAS;IASjB;;;;;OAKG;YACW,WAAW;IA4BzB;;;OAGG;IACG,KAAK,CAAC,EAAE,EAAE,UAAU,EAAE,QAAQ,SAAI,GAAG,OAAO,CAAC;QAAE,MAAM,EAAE,OAAO,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IASzF;;;;;;OAMG;IACG,gBAAgB,IAAI,OAAO,CAAC;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;CAiBvE;AAED,MAAM,WAAW,cAAc;IAC7B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,UAAU,CAAA;KAAE,CAAC;CAClC;AAED;;;;;GAKG;AACH,wBAAsB,cAAc,CAAC,GAAG,EAAE,cAAc,EAAE,GAAG,EAAE,MAAM,IAAI,EAAE,MAAM,EAAE,aAAa,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAU1I"}