@openrig/cli 0.4.8 → 0.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (344) hide show
  1. package/daemon/assets/claude-statusline-context.cjs +40 -8
  2. package/daemon/assets/plugins/openrig-core/hooks/scripts/activity-relay.cjs +0 -0
  3. package/daemon/assets/plugins/openrig-core/skills/mission-slice-sop/SKILL.md +7 -4
  4. package/daemon/assets/plugins/openrig-core/skills/openrig-user/SKILL.md +68 -17
  5. package/daemon/assets/plugins/openrig-core/skills/queue-handoff/SKILL.md +2 -0
  6. package/daemon/assets/plugins/openrig-core/skills/seat-continuity-and-handover/SKILL.md +2 -1
  7. package/daemon/assets/plugins/openrig-core/skills/session-compaction-and-restore/SKILL.md +1 -0
  8. package/daemon/dist/adapters/claude-code-adapter.d.ts +36 -0
  9. package/daemon/dist/adapters/claude-code-adapter.d.ts.map +1 -1
  10. package/daemon/dist/adapters/claude-code-adapter.js +203 -3
  11. package/daemon/dist/adapters/claude-code-adapter.js.map +1 -1
  12. package/daemon/dist/adapters/codex-runtime-adapter.d.ts +12 -0
  13. package/daemon/dist/adapters/codex-runtime-adapter.d.ts.map +1 -1
  14. package/daemon/dist/adapters/codex-runtime-adapter.js +24 -2
  15. package/daemon/dist/adapters/codex-runtime-adapter.js.map +1 -1
  16. package/daemon/dist/build-info.js +3 -3
  17. package/daemon/dist/domain/agent-activity-store.d.ts +1 -0
  18. package/daemon/dist/domain/agent-activity-store.d.ts.map +1 -1
  19. package/daemon/dist/domain/agent-activity-store.js +2 -2
  20. package/daemon/dist/domain/agent-activity-store.js.map +1 -1
  21. package/daemon/dist/domain/claude-activity-hooks.d.ts +33 -0
  22. package/daemon/dist/domain/claude-activity-hooks.d.ts.map +1 -0
  23. package/daemon/dist/domain/claude-activity-hooks.js +60 -0
  24. package/daemon/dist/domain/claude-activity-hooks.js.map +1 -0
  25. package/daemon/dist/domain/context-packs/bundle-assembler.d.ts +30 -0
  26. package/daemon/dist/domain/context-packs/bundle-assembler.d.ts.map +1 -1
  27. package/daemon/dist/domain/context-packs/bundle-assembler.js +31 -1
  28. package/daemon/dist/domain/context-packs/bundle-assembler.js.map +1 -1
  29. package/daemon/dist/domain/context-packs/context-pack-library-service.d.ts +69 -14
  30. package/daemon/dist/domain/context-packs/context-pack-library-service.d.ts.map +1 -1
  31. package/daemon/dist/domain/context-packs/context-pack-library-service.js +263 -48
  32. package/daemon/dist/domain/context-packs/context-pack-library-service.js.map +1 -1
  33. package/daemon/dist/domain/context-packs/context-pack-types.d.ts +2 -2
  34. package/daemon/dist/domain/context-packs/context-pack-types.d.ts.map +1 -1
  35. package/daemon/dist/domain/context-packs/context-pack-types.js.map +1 -1
  36. package/daemon/dist/domain/context-packs/manifest-parser.d.ts.map +1 -1
  37. package/daemon/dist/domain/context-packs/manifest-parser.js +11 -0
  38. package/daemon/dist/domain/context-packs/manifest-parser.js.map +1 -1
  39. package/daemon/dist/domain/context-packs/ref-safety.d.ts +11 -0
  40. package/daemon/dist/domain/context-packs/ref-safety.d.ts.map +1 -0
  41. package/daemon/dist/domain/context-packs/ref-safety.js +46 -0
  42. package/daemon/dist/domain/context-packs/ref-safety.js.map +1 -0
  43. package/daemon/dist/domain/context-packs/token-estimate.d.ts +3 -0
  44. package/daemon/dist/domain/context-packs/token-estimate.d.ts.map +1 -0
  45. package/daemon/dist/domain/context-packs/token-estimate.js +5 -0
  46. package/daemon/dist/domain/context-packs/token-estimate.js.map +1 -0
  47. package/daemon/dist/domain/plugin-vendor-service.d.ts +14 -0
  48. package/daemon/dist/domain/plugin-vendor-service.d.ts.map +1 -1
  49. package/daemon/dist/domain/plugin-vendor-service.js +26 -2
  50. package/daemon/dist/domain/plugin-vendor-service.js.map +1 -1
  51. package/daemon/dist/domain/provider/claude-usage-reader.d.ts +44 -0
  52. package/daemon/dist/domain/provider/claude-usage-reader.d.ts.map +1 -0
  53. package/daemon/dist/domain/provider/claude-usage-reader.js +112 -0
  54. package/daemon/dist/domain/provider/claude-usage-reader.js.map +1 -0
  55. package/daemon/dist/domain/provider/codex-auth-reader.d.ts +18 -0
  56. package/daemon/dist/domain/provider/codex-auth-reader.d.ts.map +1 -0
  57. package/daemon/dist/domain/provider/codex-auth-reader.js +64 -0
  58. package/daemon/dist/domain/provider/codex-auth-reader.js.map +1 -0
  59. package/daemon/dist/domain/provider/host-usage-rollup.d.ts +51 -0
  60. package/daemon/dist/domain/provider/host-usage-rollup.d.ts.map +1 -0
  61. package/daemon/dist/domain/provider/host-usage-rollup.js +162 -0
  62. package/daemon/dist/domain/provider/host-usage-rollup.js.map +1 -0
  63. package/daemon/dist/domain/provider/provider-collect.d.ts +22 -0
  64. package/daemon/dist/domain/provider/provider-collect.d.ts.map +1 -0
  65. package/daemon/dist/domain/provider/provider-collect.js +74 -0
  66. package/daemon/dist/domain/provider/provider-collect.js.map +1 -0
  67. package/daemon/dist/domain/provider/provider-policy.d.ts +38 -0
  68. package/daemon/dist/domain/provider/provider-policy.d.ts.map +1 -0
  69. package/daemon/dist/domain/provider/provider-policy.js +76 -0
  70. package/daemon/dist/domain/provider/provider-policy.js.map +1 -0
  71. package/daemon/dist/domain/provider/provider-read-model.d.ts +28 -0
  72. package/daemon/dist/domain/provider/provider-read-model.d.ts.map +1 -0
  73. package/daemon/dist/domain/provider/provider-read-model.js +68 -0
  74. package/daemon/dist/domain/provider/provider-read-model.js.map +1 -0
  75. package/daemon/dist/domain/provider/provider-service-impl.d.ts +26 -0
  76. package/daemon/dist/domain/provider/provider-service-impl.d.ts.map +1 -0
  77. package/daemon/dist/domain/provider/provider-service-impl.js +83 -0
  78. package/daemon/dist/domain/provider/provider-service-impl.js.map +1 -0
  79. package/daemon/dist/domain/provider/provider-service.d.ts +33 -0
  80. package/daemon/dist/domain/provider/provider-service.d.ts.map +1 -0
  81. package/daemon/dist/domain/provider/provider-service.js +6 -0
  82. package/daemon/dist/domain/provider/provider-service.js.map +1 -0
  83. package/daemon/dist/domain/provider/provider-signals.d.ts +76 -0
  84. package/daemon/dist/domain/provider/provider-signals.d.ts.map +1 -0
  85. package/daemon/dist/domain/provider/provider-signals.js +144 -0
  86. package/daemon/dist/domain/provider/provider-signals.js.map +1 -0
  87. package/daemon/dist/domain/provider/provider-types.d.ts +101 -0
  88. package/daemon/dist/domain/provider/provider-types.d.ts.map +1 -0
  89. package/daemon/dist/domain/provider/provider-types.js +7 -0
  90. package/daemon/dist/domain/provider/provider-types.js.map +1 -0
  91. package/daemon/dist/domain/provider/reactive-tap.d.ts +29 -0
  92. package/daemon/dist/domain/provider/reactive-tap.d.ts.map +1 -0
  93. package/daemon/dist/domain/provider/reactive-tap.js +80 -0
  94. package/daemon/dist/domain/provider/reactive-tap.js.map +1 -0
  95. package/daemon/dist/domain/rigspec-instantiator.d.ts +7 -23
  96. package/daemon/dist/domain/rigspec-instantiator.d.ts.map +1 -1
  97. package/daemon/dist/domain/rigspec-instantiator.js +3 -61
  98. package/daemon/dist/domain/rigspec-instantiator.js.map +1 -1
  99. package/daemon/dist/domain/rigspec-preflight.d.ts +11 -0
  100. package/daemon/dist/domain/rigspec-preflight.d.ts.map +1 -1
  101. package/daemon/dist/domain/rigspec-preflight.js +43 -1
  102. package/daemon/dist/domain/rigspec-preflight.js.map +1 -1
  103. package/daemon/dist/domain/runtime-adapter.d.ts +2 -11
  104. package/daemon/dist/domain/runtime-adapter.d.ts.map +1 -1
  105. package/daemon/dist/domain/runtime-adapter.js.map +1 -1
  106. package/daemon/dist/domain/scope/attestation-lineage.generated.d.ts +14 -0
  107. package/daemon/dist/domain/scope/attestation-lineage.generated.d.ts.map +1 -0
  108. package/daemon/dist/domain/scope/attestation-lineage.generated.js +26 -0
  109. package/daemon/dist/domain/scope/attestation-lineage.generated.js.map +1 -0
  110. package/daemon/dist/domain/scope/scope-approve.d.ts +13 -0
  111. package/daemon/dist/domain/scope/scope-approve.d.ts.map +1 -1
  112. package/daemon/dist/domain/scope/scope-approve.js +50 -10
  113. package/daemon/dist/domain/scope/scope-approve.js.map +1 -1
  114. package/daemon/dist/domain/startup-validation.d.ts.map +1 -1
  115. package/daemon/dist/domain/startup-validation.js +18 -54
  116. package/daemon/dist/domain/startup-validation.js.map +1 -1
  117. package/daemon/dist/domain/stream-store.d.ts +4 -0
  118. package/daemon/dist/domain/stream-store.d.ts.map +1 -1
  119. package/daemon/dist/domain/stream-store.js +15 -2
  120. package/daemon/dist/domain/stream-store.js.map +1 -1
  121. package/daemon/dist/domain/types.d.ts +2 -9
  122. package/daemon/dist/domain/types.d.ts.map +1 -1
  123. package/daemon/dist/domain/types.js.map +1 -1
  124. package/daemon/dist/domain/workspace/default-workspace-scaffold.js +1 -1
  125. package/daemon/dist/routes/context-packs.d.ts.map +1 -1
  126. package/daemon/dist/routes/context-packs.js +157 -75
  127. package/daemon/dist/routes/context-packs.js.map +1 -1
  128. package/daemon/dist/routes/provider.d.ts +3 -0
  129. package/daemon/dist/routes/provider.d.ts.map +1 -0
  130. package/daemon/dist/routes/provider.js +124 -0
  131. package/daemon/dist/routes/provider.js.map +1 -0
  132. package/daemon/dist/routes/scope-approve.d.ts.map +1 -1
  133. package/daemon/dist/routes/scope-approve.js +6 -3
  134. package/daemon/dist/routes/scope-approve.js.map +1 -1
  135. package/daemon/dist/routes/scope-audit.d.ts.map +1 -1
  136. package/daemon/dist/routes/scope-audit.js +4 -1
  137. package/daemon/dist/routes/scope-audit.js.map +1 -1
  138. package/daemon/dist/routes/stream.d.ts.map +1 -1
  139. package/daemon/dist/routes/stream.js +71 -1
  140. package/daemon/dist/routes/stream.js.map +1 -1
  141. package/daemon/dist/server.d.ts +3 -0
  142. package/daemon/dist/server.d.ts.map +1 -1
  143. package/daemon/dist/server.js +5 -0
  144. package/daemon/dist/server.js.map +1 -1
  145. package/daemon/dist/startup.d.ts.map +1 -1
  146. package/daemon/dist/startup.js +21 -11
  147. package/daemon/dist/startup.js.map +1 -1
  148. package/daemon/docs/reference/developing.md +39 -0
  149. package/daemon/specs/agents/apps/vault-specialist/agent.yaml +1 -1
  150. package/daemon/specs/agents/conveyor/builder/agent.yaml +1 -1
  151. package/daemon/specs/agents/conveyor/lead/agent.yaml +1 -1
  152. package/daemon/specs/agents/conveyor/planner/agent.yaml +1 -1
  153. package/daemon/specs/agents/conveyor/reviewer/agent.yaml +1 -1
  154. package/daemon/specs/agents/design/product-designer/agent.yaml +1 -1
  155. package/daemon/specs/agents/development/implementer/agent.yaml +1 -1
  156. package/daemon/specs/agents/development/qa/agent.yaml +1 -1
  157. package/daemon/specs/agents/factory-rsi/dogfood/agent.yaml +1 -1
  158. package/daemon/specs/agents/factory-rsi/release-manager/agent.yaml +1 -1
  159. package/daemon/specs/agents/orchestration/orchestrator/agent.yaml +1 -1
  160. package/daemon/specs/agents/product-management/pm/agent.yaml +1 -0
  161. package/daemon/specs/agents/research/analyst/agent.yaml +1 -1
  162. package/daemon/specs/agents/research/synthesizer/agent.yaml +1 -1
  163. package/daemon/specs/agents/review/independent-reviewer/agent.yaml +1 -1
  164. package/daemon/specs/agents/shared/agent.yaml +6 -0
  165. package/daemon/specs/agents/shared/runtime/claude-activity-hooks.json +4 -0
  166. package/daemon/specs/agents/shared/skills/core/watchdog/SKILL.md +1 -0
  167. package/dist/bin-wrapper.d.ts.map +1 -1
  168. package/dist/bin-wrapper.js +7 -0
  169. package/dist/bin-wrapper.js.map +1 -1
  170. package/dist/build-info.js +3 -3
  171. package/dist/commands/agent-image.d.ts.map +1 -1
  172. package/dist/commands/agent-image.js +2 -1
  173. package/dist/commands/agent-image.js.map +1 -1
  174. package/dist/commands/broadcast.d.ts.map +1 -1
  175. package/dist/commands/broadcast.js +37 -2
  176. package/dist/commands/broadcast.js.map +1 -1
  177. package/dist/commands/context.d.ts +2 -7
  178. package/dist/commands/context.d.ts.map +1 -1
  179. package/dist/commands/context.js +391 -213
  180. package/dist/commands/context.js.map +1 -1
  181. package/dist/commands/provider.d.ts +4 -0
  182. package/dist/commands/provider.d.ts.map +1 -0
  183. package/dist/commands/provider.js +218 -0
  184. package/dist/commands/provider.js.map +1 -0
  185. package/dist/commands/ps.d.ts +7 -0
  186. package/dist/commands/ps.d.ts.map +1 -1
  187. package/dist/commands/ps.js +34 -4
  188. package/dist/commands/ps.js.map +1 -1
  189. package/dist/commands/queue.d.ts.map +1 -1
  190. package/dist/commands/queue.js +38 -8
  191. package/dist/commands/queue.js.map +1 -1
  192. package/dist/commands/scope.d.ts.map +1 -1
  193. package/dist/commands/scope.js +48 -4
  194. package/dist/commands/scope.js.map +1 -1
  195. package/dist/commands/send.d.ts.map +1 -1
  196. package/dist/commands/send.js +70 -11
  197. package/dist/commands/send.js.map +1 -1
  198. package/dist/commands/stream.d.ts +1 -0
  199. package/dist/commands/stream.d.ts.map +1 -1
  200. package/dist/commands/stream.js +93 -0
  201. package/dist/commands/stream.js.map +1 -1
  202. package/dist/commands/tui.d.ts +4 -0
  203. package/dist/commands/tui.d.ts.map +1 -0
  204. package/dist/commands/tui.js +29 -0
  205. package/dist/commands/tui.js.map +1 -0
  206. package/dist/commands/walk.d.ts +19 -0
  207. package/dist/commands/walk.d.ts.map +1 -0
  208. package/dist/commands/walk.js +139 -0
  209. package/dist/commands/walk.js.map +1 -0
  210. package/dist/context-resolve.d.ts +14 -0
  211. package/dist/context-resolve.d.ts.map +1 -0
  212. package/dist/context-resolve.js +40 -0
  213. package/dist/context-resolve.js.map +1 -0
  214. package/dist/front-door.d.ts +31 -0
  215. package/dist/front-door.d.ts.map +1 -0
  216. package/dist/front-door.js +114 -0
  217. package/dist/front-door.js.map +1 -0
  218. package/dist/index.d.ts +3 -1
  219. package/dist/index.d.ts.map +1 -1
  220. package/dist/index.js +19 -6
  221. package/dist/index.js.map +1 -1
  222. package/dist/lib/scope/attestation-lineage.d.ts +14 -0
  223. package/dist/lib/scope/attestation-lineage.d.ts.map +1 -0
  224. package/dist/lib/scope/attestation-lineage.js +34 -0
  225. package/dist/lib/scope/attestation-lineage.js.map +1 -0
  226. package/package.json +4 -2
  227. package/tui/dist/daemon-client.d.ts +56 -0
  228. package/tui/dist/daemon-client.d.ts.map +1 -0
  229. package/tui/dist/daemon-client.js +99 -0
  230. package/tui/dist/daemon-client.js.map +1 -0
  231. package/tui/dist/demo-data.d.ts +3 -0
  232. package/tui/dist/demo-data.d.ts.map +1 -0
  233. package/tui/dist/demo-data.js +52 -0
  234. package/tui/dist/demo-data.js.map +1 -0
  235. package/tui/dist/detail.d.ts +34 -0
  236. package/tui/dist/detail.d.ts.map +1 -0
  237. package/tui/dist/detail.js +47 -0
  238. package/tui/dist/detail.js.map +1 -0
  239. package/tui/dist/grammar.d.ts +3 -0
  240. package/tui/dist/grammar.d.ts.map +1 -0
  241. package/tui/dist/grammar.js +66 -0
  242. package/tui/dist/grammar.js.map +1 -0
  243. package/tui/dist/hydrate.d.ts +78 -0
  244. package/tui/dist/hydrate.d.ts.map +1 -0
  245. package/tui/dist/hydrate.js +294 -0
  246. package/tui/dist/hydrate.js.map +1 -0
  247. package/tui/dist/index.d.ts +12 -0
  248. package/tui/dist/index.d.ts.map +1 -0
  249. package/tui/dist/index.js +12 -0
  250. package/tui/dist/index.js.map +1 -0
  251. package/tui/dist/input.d.ts +21 -0
  252. package/tui/dist/input.d.ts.map +1 -0
  253. package/tui/dist/input.js +128 -0
  254. package/tui/dist/input.js.map +1 -0
  255. package/tui/dist/live.d.ts +20 -0
  256. package/tui/dist/live.d.ts.map +1 -0
  257. package/tui/dist/live.js +67 -0
  258. package/tui/dist/live.js.map +1 -0
  259. package/tui/dist/main.d.ts +3 -0
  260. package/tui/dist/main.d.ts.map +1 -0
  261. package/tui/dist/main.js +184 -0
  262. package/tui/dist/main.js.map +1 -0
  263. package/tui/dist/motion.d.ts +13 -0
  264. package/tui/dist/motion.d.ts.map +1 -0
  265. package/tui/dist/motion.js +31 -0
  266. package/tui/dist/motion.js.map +1 -0
  267. package/tui/dist/navigator.d.ts +21 -0
  268. package/tui/dist/navigator.d.ts.map +1 -0
  269. package/tui/dist/navigator.js +168 -0
  270. package/tui/dist/navigator.js.map +1 -0
  271. package/tui/dist/refresh.d.ts +3 -0
  272. package/tui/dist/refresh.d.ts.map +1 -0
  273. package/tui/dist/refresh.js +9 -0
  274. package/tui/dist/refresh.js.map +1 -0
  275. package/tui/dist/render.d.ts +21 -0
  276. package/tui/dist/render.d.ts.map +1 -0
  277. package/tui/dist/render.js +807 -0
  278. package/tui/dist/render.js.map +1 -0
  279. package/tui/dist/sections.d.ts +4 -0
  280. package/tui/dist/sections.d.ts.map +1 -0
  281. package/tui/dist/sections.js +19 -0
  282. package/tui/dist/sections.js.map +1 -0
  283. package/tui/dist/socket-server.d.ts +24 -0
  284. package/tui/dist/socket-server.d.ts.map +1 -0
  285. package/tui/dist/socket-server.js +85 -0
  286. package/tui/dist/socket-server.js.map +1 -0
  287. package/tui/dist/state.d.ts +51 -0
  288. package/tui/dist/state.d.ts.map +1 -0
  289. package/tui/dist/state.js +480 -0
  290. package/tui/dist/state.js.map +1 -0
  291. package/tui/dist/stylize.d.ts +4 -0
  292. package/tui/dist/stylize.d.ts.map +1 -0
  293. package/tui/dist/stylize.js +248 -0
  294. package/tui/dist/stylize.js.map +1 -0
  295. package/tui/dist/theme.d.ts +19 -0
  296. package/tui/dist/theme.d.ts.map +1 -0
  297. package/tui/dist/theme.js +86 -0
  298. package/tui/dist/theme.js.map +1 -0
  299. package/tui/dist/topology/canvas.d.ts +43 -0
  300. package/tui/dist/topology/canvas.d.ts.map +1 -0
  301. package/tui/dist/topology/canvas.js +131 -0
  302. package/tui/dist/topology/canvas.js.map +1 -0
  303. package/tui/dist/topology/fixture.d.ts +4 -0
  304. package/tui/dist/topology/fixture.d.ts.map +1 -0
  305. package/tui/dist/topology/fixture.js +71 -0
  306. package/tui/dist/topology/fixture.js.map +1 -0
  307. package/tui/dist/topology/glyphs.d.ts +21 -0
  308. package/tui/dist/topology/glyphs.d.ts.map +1 -0
  309. package/tui/dist/topology/glyphs.js +49 -0
  310. package/tui/dist/topology/glyphs.js.map +1 -0
  311. package/tui/dist/topology/graph-types.d.ts +39 -0
  312. package/tui/dist/topology/graph-types.d.ts.map +1 -0
  313. package/tui/dist/topology/graph-types.js +2 -0
  314. package/tui/dist/topology/graph-types.js.map +1 -0
  315. package/tui/dist/topology/layout.d.ts +52 -0
  316. package/tui/dist/topology/layout.d.ts.map +1 -0
  317. package/tui/dist/topology/layout.js +118 -0
  318. package/tui/dist/topology/layout.js.map +1 -0
  319. package/tui/dist/topology/render-graph.d.ts +8 -0
  320. package/tui/dist/topology/render-graph.d.ts.map +1 -0
  321. package/tui/dist/topology/render-graph.js +20 -0
  322. package/tui/dist/topology/render-graph.js.map +1 -0
  323. package/tui/dist/topology/runtime-marks.d.ts +53 -0
  324. package/tui/dist/topology/runtime-marks.d.ts.map +1 -0
  325. package/tui/dist/topology/runtime-marks.js +185 -0
  326. package/tui/dist/topology/runtime-marks.js.map +1 -0
  327. package/tui/dist/topology/styles/braille.d.ts +5 -0
  328. package/tui/dist/topology/styles/braille.d.ts.map +1 -0
  329. package/tui/dist/topology/styles/braille.js +84 -0
  330. package/tui/dist/topology/styles/braille.js.map +1 -0
  331. package/tui/dist/topology/styles/hatchet.d.ts +41 -0
  332. package/tui/dist/topology/styles/hatchet.d.ts.map +1 -0
  333. package/tui/dist/topology/styles/hatchet.js +146 -0
  334. package/tui/dist/topology/styles/hatchet.js.map +1 -0
  335. package/tui/dist/types.d.ts +362 -0
  336. package/tui/dist/types.d.ts.map +1 -0
  337. package/tui/dist/types.js +6 -0
  338. package/tui/dist/types.js.map +1 -0
  339. package/ui/dist/assets/{index-DkNi0RT8.js → index-Dv5VaLCN.js} +135 -135
  340. package/ui/dist/index.html +1 -1
  341. package/dist/commands/context-pack.d.ts +0 -4
  342. package/dist/commands/context-pack.d.ts.map +0 -1
  343. package/dist/commands/context-pack.js +0 -357
  344. package/dist/commands/context-pack.js.map +0 -1
@@ -0,0 +1,144 @@
1
+ // Slice-04 (OPR.0.5.0.4) — signals[] normalization (the §2 detection design, encoded).
2
+ // Authority: locked packet 3ffa3c22 IMPLEMENTATION-PRD §2 + the 2026-07-31 RESEARCH verdict.
3
+ // Honesty rules enforced here: feature-probe-negative and empty reads become EXPLICIT
4
+ // `unknown` rows (never silent zeros, never missing rows); only a real structured read is
5
+ // `allow_switch_decision` (BR-2).
6
+ export const CODEX_UNKNOWN_REASON = {
7
+ probe_unsupported: "codex_app_server_unavailable",
8
+ empty_reading: "codex_read_returned_no_windows",
9
+ };
10
+ function codexUnknownSignal(accountRef, asOf, unknownReason, supportsNotification, staleAfter) {
11
+ return {
12
+ provider: "codex",
13
+ accountRef,
14
+ sourceClass: "unknown",
15
+ authority: "unknown",
16
+ asOf,
17
+ staleAfter,
18
+ unknownReason,
19
+ // Unknown DATA must not erase KNOWN transport capability: when the app-server is present
20
+ // (supported-but-empty) `account/rateLimits/updated` still exists, so the notification
21
+ // capability is true; only an absent app-server (probe unsupported) is false.
22
+ supportsNotification,
23
+ automationUse: "do_not_automate",
24
+ // usedPercent / resetsAt / window deliberately OMITTED — an unknown row never carries a
25
+ // fabricated zero (the BR-2 silent-zero trap). A genuine 0 only ever comes from a real read.
26
+ };
27
+ }
28
+ /**
29
+ * Normalize a Codex app-server rate-limit read into `signals[]` rows.
30
+ * - probe unsupported → one explicit `unknown` row.
31
+ * - supported but no windows → one explicit `unknown` row (never fabricated zeros).
32
+ * - supported with windows → one `provider_structured_read` row per provider-native window,
33
+ * preserving the native primary/secondary distinction.
34
+ */
35
+ export function codexRateLimitSignals(input) {
36
+ const { accountRef, probe, reading, asOf, staleAfter } = input;
37
+ if (!probe.supported) {
38
+ // App-server absent → no notification transport.
39
+ return [codexUnknownSignal(accountRef, asOf, CODEX_UNKNOWN_REASON.probe_unsupported, false, staleAfter)];
40
+ }
41
+ const windows = [
42
+ ["primary", reading?.primary],
43
+ ["secondary", reading?.secondary],
44
+ ];
45
+ const rows = [];
46
+ for (const [window, w] of windows) {
47
+ if (!w)
48
+ continue;
49
+ rows.push({
50
+ provider: "codex",
51
+ accountRef,
52
+ sourceClass: "provider_structured_read",
53
+ authority: "account_cross_device",
54
+ window,
55
+ usedPercent: w.usedPercent,
56
+ resetsAt: w.resetsAt,
57
+ windowDurationMins: w.windowDurationMins,
58
+ asOf,
59
+ staleAfter,
60
+ supportsNotification: true, // Codex app-server carries account/rateLimits/updated
61
+ automationUse: "allow_switch_decision",
62
+ });
63
+ }
64
+ if (rows.length === 0) {
65
+ // App-server present but returned no windows → unknown DATA, but the transport capability
66
+ // (account/rateLimits/updated) is still KNOWN present → supportsNotification stays true.
67
+ return [codexUnknownSignal(accountRef, asOf, CODEX_UNKNOWN_REASON.empty_reading, true, staleAfter)];
68
+ }
69
+ return rows;
70
+ }
71
+ export const CLAUDE_UNKNOWN_REASON = {
72
+ no_statusline_cache_yet: "claude_no_statusline_cache_yet",
73
+ empty_reading: "claude_statusline_cache_had_no_windows",
74
+ };
75
+ function claudeUnknownSignal(seatSession, asOf, unknownReason, staleAfter) {
76
+ return {
77
+ provider: "claude",
78
+ seatSession,
79
+ sourceClass: "unknown",
80
+ authority: "unknown",
81
+ asOf,
82
+ staleAfter,
83
+ unknownReason,
84
+ supportsNotification: false, // Claude statusline has no push transport
85
+ automationUse: "do_not_automate",
86
+ // usedPercent / resetsAt / window OMITTED — never a fabricated zero.
87
+ };
88
+ }
89
+ /**
90
+ * Normalize a Claude statusline `rate_limits` reading into `signals[]` rows.
91
+ * - seat before first response (no cache) → explicit unknown row.
92
+ * - seat with subscription windows → one `provider_statusline` row per window (five_hour, and
93
+ * seven_day normalized to "weekly"); a genuine 0 survives as 0.
94
+ * - subscription with cache but no windows → explicit unknown row (never fabricated zeros).
95
+ */
96
+ export function claudeStatuslineSignals(input) {
97
+ const { seatSession, cachePresent, reading, asOf, staleAfter } = input;
98
+ if (!cachePresent) {
99
+ return [claudeUnknownSignal(seatSession, asOf, CLAUDE_UNKNOWN_REASON.no_statusline_cache_yet, staleAfter)];
100
+ }
101
+ const windows = [
102
+ ["five_hour", reading?.five_hour],
103
+ ["weekly", reading?.seven_day],
104
+ ];
105
+ const rows = [];
106
+ for (const [window, w] of windows) {
107
+ if (!w)
108
+ continue;
109
+ rows.push({
110
+ provider: "claude",
111
+ seatSession,
112
+ sourceClass: "provider_statusline",
113
+ authority: "account_cross_device", // Claude.ai Pro/Max subscription windows are account-level
114
+ window,
115
+ usedPercent: w.usedPercent,
116
+ resetsAt: w.resetsAt,
117
+ asOf,
118
+ staleAfter,
119
+ supportsNotification: false, // no push unless OpenRig later supplies a cache-update event
120
+ automationUse: "allow_switch_decision",
121
+ });
122
+ }
123
+ if (rows.length === 0) {
124
+ return [claudeUnknownSignal(seatSession, asOf, CLAUDE_UNKNOWN_REASON.empty_reading, staleAfter)];
125
+ }
126
+ return rows;
127
+ }
128
+ export function reactiveEventSignal(input) {
129
+ return {
130
+ provider: input.provider,
131
+ accountRef: input.accountRef,
132
+ sourceClass: "provider_event",
133
+ authority: "reactive_error",
134
+ asOf: input.asOf,
135
+ staleAfter: input.staleAfter,
136
+ // supportsNotification is OMITTED: it describes a per-account transport capability (true for
137
+ // Codex account/rateLimits/updated, false/unknown for Claude statusline). A generic reactive
138
+ // event does not establish that capability — hard-coding false would fabricate it.
139
+ // At-limit exhaustion is an actionable switch trigger; stream/stop errors are advisory.
140
+ automationUse: input.kind === "at_limit" ? "allow_switch_decision" : "advisory_only",
141
+ // No usedPercent — a reactive event is exhaustion evidence, not a remaining meter.
142
+ };
143
+ }
144
+ //# sourceMappingURL=provider-signals.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"provider-signals.js","sourceRoot":"","sources":["../../../src/domain/provider/provider-signals.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,101 @@
1
+ export type ProviderKind = "codex" | "claude";
2
+ export type AccountAuthState = "active" | "needs_reauth" | "unknown";
3
+ /** accounts[] — one row per known provider account. */
4
+ export interface ProviderAccount {
5
+ accountId: string;
6
+ label: string;
7
+ provider: ProviderKind;
8
+ authState: AccountAuthState;
9
+ profileRef: string | null;
10
+ asOf: string;
11
+ }
12
+ import type { HostUsageRow } from "./host-usage-rollup.js";
13
+ export type BindingAnomalyKind = "same_account_on_n_seats" | "seat_with_no_account";
14
+ /**
15
+ * First-class binding anomalies — server-computed, not derived client-side. A discriminated
16
+ * union carrying EXACTLY the locked §1 fields for each variant (nothing added).
17
+ */
18
+ export type SameAccountOnNSeatsAnomaly = {
19
+ kind: "same_account_on_n_seats";
20
+ count: number;
21
+ seats: string[];
22
+ evidence: string;
23
+ asOf: string;
24
+ };
25
+ export type SeatWithNoAccountAnomaly = {
26
+ kind: "seat_with_no_account";
27
+ seat: string;
28
+ evidence: string;
29
+ asOf: string;
30
+ };
31
+ export type BindingAnomaly = SameAccountOnNSeatsAnomaly | SeatWithNoAccountAnomaly;
32
+ /**
33
+ * A `bindings[]` row — a discriminated bound/unbound union over the SAME locked §1 field names
34
+ * (`accountId`, `seatSession`, `rigName`, `boundAt`, `bindingSource`, `anomalies`). A bound row
35
+ * has a non-null `accountId` (+ `boundAt`/`bindingSource`); an unbound seat keeps the same field
36
+ * names but `null` for the absent BINDING data and MUST carry a `seat_with_no_account` anomaly —
37
+ * never a fabricated/sentinel account. Discriminant: `accountId` (string vs null).
38
+ */
39
+ export type ProviderBinding = {
40
+ accountId: string;
41
+ seatSession: string;
42
+ rigName: string;
43
+ boundAt: string;
44
+ bindingSource: string;
45
+ anomalies: BindingAnomaly[];
46
+ } | {
47
+ accountId: null;
48
+ seatSession: string;
49
+ rigName: string;
50
+ boundAt: null;
51
+ bindingSource: null;
52
+ anomalies: [SeatWithNoAccountAnomaly, ...BindingAnomaly[]];
53
+ };
54
+ export type SignalSourceClass = "provider_structured_read" | "provider_statusline" | "provider_event" | "local_usage_attribution" | "community_probe" | "capture_fallback" | "unknown";
55
+ export type SignalAuthority = "account_cross_device" | "device_local" | "api_workspace" | "reactive_error" | "unknown";
56
+ export type SignalWindow = "five_hour" | "weekly" | "primary" | "secondary" | "monthly_credit" | (string & {});
57
+ export type AutomationUse = "allow_switch_decision" | "advisory_only" | "do_not_automate";
58
+ /**
59
+ * signals[] — the research verdict's normalization. An absent/unknown reading is an EXPLICIT
60
+ * row (`sourceClass`/`authority` = "unknown", `unknownReason` set), never a missing row and
61
+ * never a fabricated zero (`usedPercent` is OMITTED when unknown).
62
+ */
63
+ export interface ProviderSignal {
64
+ provider: ProviderKind;
65
+ /** Opaque account ref (BR-6). Claude statusline rows omit it: that surface exposes no account identity. */
66
+ accountRef?: string;
67
+ /** Runtime seat identity for seat-keyed lanes such as Claude statusline provider_usage. */
68
+ seatSession?: string;
69
+ sourceClass: SignalSourceClass;
70
+ authority: SignalAuthority;
71
+ window?: SignalWindow;
72
+ usedPercent?: number;
73
+ remaining?: number;
74
+ resetsAt?: string;
75
+ windowDurationMins?: number;
76
+ asOf: string;
77
+ staleAfter?: string;
78
+ unknownReason?: string;
79
+ supportsNotification?: boolean;
80
+ automationUse: AutomationUse;
81
+ }
82
+ export type PrecheckReason = "would_strand_live_conversation" | "target_needs_reauth" | "target_auth_unknown" | "signal_unknown_or_stale" | "rebind_unsupported_for_runtime";
83
+ export type PrecheckResult = {
84
+ safe: true;
85
+ } | {
86
+ safe: false;
87
+ reasons: PrecheckReason[];
88
+ };
89
+ export type SwitchOutcome = "succeeded" | "rebind_in_progress" | "failed_safely";
90
+ /** The whole four-block read model, emitted by `rig provider status --json`. */
91
+ export interface FourBlockReadModel {
92
+ accounts: ProviderAccount[];
93
+ bindings: ProviderBinding[];
94
+ signals: ProviderSignal[];
95
+ asOf: string;
96
+ /** Slice-04 S-A (A2 amendment) — the host-level usage rollup, ADDITIVE: one honest state
97
+ * row per (host, provider) aggregated from the seat-sourced signal rows. Optional so the
98
+ * sealed assembler stays untouched; the collect layer always populates it. */
99
+ hostUsage?: HostUsageRow[];
100
+ }
101
+ //# sourceMappingURL=provider-types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"provider-types.d.ts","sourceRoot":"","sources":["../../../src/domain/provider/provider-types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ // Slice-04 (OPR.0.5.0.4) provider-interruption-automation — the §1 four-block read model.
2
+ // Schema authority: locked packet 3ffa3c22 IMPLEMENTATION-PRD §1 + the 2026-07-31 RESEARCH
3
+ // verdict's signals[] normalization (adopted verbatim). Field names ARE the contract —
4
+ // additive evolution only after schema lock. BR-6: accountId/profileRef are opaque refs,
5
+ // NEVER a token/header/auth-file content.
6
+ export {};
7
+ //# sourceMappingURL=provider-types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"provider-types.js","sourceRoot":"","sources":["../../../src/domain/provider/provider-types.ts"],"names":[],"mappings":"AAAA,0FAA0F;AAC1F,2FAA2F;AAC3F,uFAAuF;AACvF,yFAAyF;AACzF,0CAA0C"}
@@ -0,0 +1,29 @@
1
+ import type { AgentActivity } from "../types.js";
2
+ import type { CodexAuthMetadata } from "./codex-auth-reader.js";
3
+ import type { ProviderSignal } from "./provider-types.js";
4
+ interface ReactiveSeat {
5
+ seatSession: string;
6
+ runtime: string;
7
+ }
8
+ interface ReactiveActivityReader {
9
+ getLatestForNode(input: {
10
+ sessionName: string;
11
+ now: Date;
12
+ }): AgentActivity | null;
13
+ }
14
+ export interface ReactiveTapDeps {
15
+ seats: readonly ReactiveSeat[];
16
+ auth: CodexAuthMetadata;
17
+ activity: ReactiveActivityReader;
18
+ now: string;
19
+ freshnessMs: number;
20
+ }
21
+ /**
22
+ * Map the current structured activity for each honestly identified Codex seat into reactive
23
+ * provider rows. Generic needs-input activity is deliberately insufficient: permission prompts
24
+ * are blocked seats too, but are not provider interruptions. Only the exact typed vocabulary above
25
+ * is accepted, with raw subtype taking precedence over raw event and normalized reason.
26
+ */
27
+ export declare function collectReactiveEventSignals(deps: ReactiveTapDeps): ProviderSignal[];
28
+ export {};
29
+ //# sourceMappingURL=reactive-tap.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reactive-tap.d.ts","sourceRoot":"","sources":["../../../src/domain/provider/reactive-tap.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AACjD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAEhE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAE1D,UAAU,YAAY;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,UAAU,sBAAsB;IAC9B,gBAAgB,CAAC,KAAK,EAAE;QAAE,WAAW,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,IAAI,CAAA;KAAE,GAAG,aAAa,GAAG,IAAI,CAAC;CACnF;AAED,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,SAAS,YAAY,EAAE,CAAC;IAC/B,IAAI,EAAE,iBAAiB,CAAC;IACxB,QAAQ,EAAE,sBAAsB,CAAC;IACjC,GAAG,EAAE,MAAM,CAAC;IACZ,WAAW,EAAE,MAAM,CAAC;CACrB;AAWD;;;;;GAKG;AACH,wBAAgB,2BAA2B,CAAC,IAAI,EAAE,eAAe,GAAG,cAAc,EAAE,CAkDnF"}
@@ -0,0 +1,80 @@
1
+ import { reactiveEventSignal } from "./provider-signals.js";
2
+ const EVENT_KINDS = {
3
+ at_limit: "at_limit",
4
+ rate_limit: "at_limit",
5
+ rate_limited: "at_limit",
6
+ stream_failure: "stream_failure",
7
+ stream_fail: "stream_failure",
8
+ stop_error: "stop_error",
9
+ };
10
+ /**
11
+ * Map the current structured activity for each honestly identified Codex seat into reactive
12
+ * provider rows. Generic needs-input activity is deliberately insufficient: permission prompts
13
+ * are blocked seats too, but are not provider interruptions. Only the exact typed vocabulary above
14
+ * is accepted, with raw subtype taking precedence over raw event and normalized reason.
15
+ */
16
+ export function collectReactiveEventSignals(deps) {
17
+ const nowMs = Date.parse(deps.now);
18
+ if (!Number.isFinite(nowMs) || !Number.isFinite(deps.freshnessMs) || deps.freshnessMs <= 0)
19
+ return [];
20
+ // Honest reactive eligibility, centralized. The account ref must name a KNOWN auth
21
+ // profile (a file in auth-profiles/), not merely a nonempty registry token: a registry
22
+ // row that points at an absent profile has no account identity and must produce NO
23
+ // actionable row (explicit-unknown honesty, never a fabricated account).
24
+ const knownProfiles = new Set(deps.auth.profiles);
25
+ const accountBySeat = new Map(deps.auth.seats
26
+ .filter((seat) => seat.runtime === "codex" && knownProfiles.has(seat.authProfile.trim()))
27
+ .map((seat) => [seat.seat, seat.authProfile]));
28
+ const signals = [];
29
+ for (const seat of deps.seats) {
30
+ if (seat.runtime !== "codex")
31
+ continue;
32
+ const accountRef = accountBySeat.get(seat.seatSession);
33
+ if (!accountRef)
34
+ continue;
35
+ const event = deps.activity.getLatestForNode({
36
+ sessionName: seat.seatSession,
37
+ now: new Date(nowMs),
38
+ });
39
+ if (!event || event.stale)
40
+ continue;
41
+ // The PERSISTED activity runtime must itself be Codex. A claude-code activity attached
42
+ // to a Codex inventory/registry seat is NOT Codex provider evidence and must never be
43
+ // relabeled as one — eligibility follows the event, not just the seat.
44
+ if (event.runtime !== "codex")
45
+ continue;
46
+ const kind = eventKind(event);
47
+ const eventAt = event.eventAt;
48
+ if (!kind || typeof eventAt !== "string")
49
+ continue;
50
+ const eventAtMs = Date.parse(eventAt);
51
+ if (!Number.isFinite(eventAtMs))
52
+ continue;
53
+ const staleAfterMs = eventAtMs + deps.freshnessMs;
54
+ // BR-2 expiry is inclusive: at the bound, the event is already stale.
55
+ if (nowMs >= staleAfterMs)
56
+ continue;
57
+ signals.push(reactiveEventSignal({
58
+ provider: "codex",
59
+ accountRef,
60
+ kind,
61
+ asOf: eventAt,
62
+ staleAfter: new Date(staleAfterMs).toISOString(),
63
+ }));
64
+ }
65
+ return signals;
66
+ }
67
+ // Classification binds to the structured provider-interruption PRODUCER CLASS — the
68
+ // event class itself (`rawEvent`), matched exactly against the declared interruption
69
+ // vocabulary. The managed hook relay maps a tool_name into `rawSubtype`, so a generic
70
+ // lifecycle event (e.g. a `PermissionRequest` with a `rate_limit` tool-name subtype) is a
71
+ // permission block, never exhaustion; and a normalized `reason` is a derived field, not a
72
+ // producer. Only an event whose class is an explicit interruption producer is actionable —
73
+ // an unproven producer yields no row (fail-visible, never fabricated).
74
+ function eventKind(activity) {
75
+ const eventClass = activity.rawEvent;
76
+ if (typeof eventClass !== "string")
77
+ return null;
78
+ return EVENT_KINDS[eventClass] ?? null;
79
+ }
80
+ //# sourceMappingURL=reactive-tap.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reactive-tap.js","sourceRoot":"","sources":["../../../src/domain/provider/reactive-tap.ts"],"names":[],"mappings":"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"}
@@ -41,13 +41,15 @@ interface PodInstantiatorDeps {
41
41
  nodeLauncher: NodeLauncher;
42
42
  startupOrchestrator: StartupOrchestrator;
43
43
  fsOps: AgentResolverFsOps;
44
+ /** §6 reconciliation: main's managed Claude activity-hook delivery asset paths, forwarded to
45
+ * preflight (defaults to daemon-shipped assets; tests inject fixtures). Restores main's proven
46
+ * threading, dropped when the restacked 4.8 instantiator won the warnings-site conflicts. */
47
+ claudeActivityAssets?: {
48
+ relayPath?: string;
49
+ manifestPath?: string;
50
+ };
44
51
  adapters: Record<string, RuntimeAdapter>;
45
52
  tmuxAdapter?: TmuxAdapter;
46
- /** PL-014 Item 6: optional context-pack library so AgentSpec
47
- * startup_files entries with `kind: context_pack` can resolve to
48
- * the pack's assembled bundle. Optional — when absent, context_pack
49
- * startup files surface a structured error at instantiation time. */
50
- contextPackLibrary?: import("./context-packs/context-pack-library-service.js").ContextPackLibraryService;
51
53
  /** PL-016 Item 4: optional agent-image library so AgentSpec
52
54
  * session_source: mode: agent_image entries can resolve to the
53
55
  * image's resume token. Optional — when absent, agent_image session
@@ -335,24 +337,6 @@ export declare class PodRigInstantiator {
335
337
  private updateNodeResolvedConfig;
336
338
  private buildTerminalResolvedStartupFiles;
337
339
  private buildResolvedStartupFiles;
338
- /**
339
- * PL-014 Item 6: expand any startup_files entries with `kind:
340
- * "context_pack"` into a real file on disk + adjust the
341
- * ResolvedStartupFile entry to point to it. Operates in place.
342
- *
343
- * Strategy:
344
- * 1. Look up the pack via the daemon-side ContextPackLibraryService.
345
- * 2. Assemble the pack into a single coherent paste-ready string.
346
- * 3. Write the bundle to <rigRoot>/.openrig/resolved-context-packs/
347
- * <name>-<version>.md.
348
- * 4. Replace the entry's path/absolutePath/ownerRoot with that
349
- * written path so the rest of the pipeline (resolveAutoHints +
350
- * adapter.deliverStartup) treats it as a normal file.
351
- *
352
- * Throws on missing pack or absent library service so the
353
- * materialize path surfaces the failure honestly.
354
- */
355
- private expandContextPacks;
356
340
  private dedupeProjectedManagedStartupFiles;
357
341
  private buildSessionIdentityAction;
358
342
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"rigspec-instantiator.d.ts","sourceRoot":"","sources":["../../src/domain/rigspec-instantiator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"rigspec-instantiator.d.ts","sourceRoot":"","sources":["../../src/domain/rigspec-instantiator.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,4 @@
1
1
  import nodePath from "node:path";
2
- import { mkdirSync, writeFileSync } from "node:fs";
3
- import { assembleBundle } from "./context-packs/bundle-assembler.js";
4
2
  import { resolvePermissionPolicyAttachment, resolvePermissionPolicyRefValue, } from "./permission-policy/policy-ref.js";
5
3
  import { deriveCanonicalSessionName, validateSessionComponents } from "./session-name.js";
6
4
  import { LegacyRigSpecSchema as RigSpecSchema } from "./rigspec-schema.js"; // TODO: AS-T08b — migrate to pod-aware RigSpec
@@ -320,6 +318,7 @@ export class PodRigInstantiator {
320
318
  externalQualifiedIds: targetRig?.nodes.map((node) => node.logicalId),
321
319
  inheritedPermissionPolicy: this.inheritedPermissionPolicy(opts?.targetRigId),
322
320
  exec: this.deps.exec,
321
+ claudeActivityAssets: this.deps.claudeActivityAssets, // §6: restore main's activity-hook asset threading
323
322
  });
324
323
  if (!preflight.ready) {
325
324
  return { ok: false, code: "preflight_failed", errors: preflight.errors, warnings: preflight.warnings };
@@ -360,6 +359,7 @@ export class PodRigInstantiator {
360
359
  rigNameOverride: targetRig?.rig.name,
361
360
  inheritedPermissionPolicy: this.inheritedPermissionPolicy(opts?.targetRigId),
362
361
  exec: this.deps.exec,
362
+ claudeActivityAssets: this.deps.claudeActivityAssets, // §6: restore main's activity-hook asset threading
363
363
  });
364
364
  if (!preflight.ready) {
365
365
  return { ok: false, code: "preflight_failed", errors: preflight.errors, warnings: preflight.warnings };
@@ -828,7 +828,7 @@ export class PodRigInstantiator {
828
828
  return { ok: false, code: "validation_failed", errors: [err.message] };
829
829
  }
830
830
  // 2. Preflight
831
- const preflight = await rigPreflight({ rigSpecYaml, rigRoot, cwdOverride: opts?.cwdOverride, fsOps: this.deps.fsOps, exec: this.deps.exec });
831
+ const preflight = await rigPreflight({ rigSpecYaml, rigRoot, cwdOverride: opts?.cwdOverride, fsOps: this.deps.fsOps, exec: this.deps.exec, claudeActivityAssets: this.deps.claudeActivityAssets });
832
832
  if (!preflight.ready) {
833
833
  return { ok: false, code: "preflight_failed", errors: preflight.errors, warnings: preflight.warnings };
834
834
  }
@@ -1713,7 +1713,6 @@ export class PodRigInstantiator {
1713
1713
  files.push({ ...f, absolutePath: nodePath.resolve(rigRoot, f.path), ownerRoot: rigRoot });
1714
1714
  }
1715
1715
  }
1716
- this.expandContextPacks(files, rigRoot);
1717
1716
  return this.resolveAutoHints(files);
1718
1717
  }
1719
1718
  buildResolvedStartupFiles(agentSpec, agentSourcePath, profile, rigSpec, rigRoot, pod, member) {
@@ -1769,65 +1768,8 @@ export class PodRigInstantiator {
1769
1768
  required: false,
1770
1769
  appliesOn: ["fresh_start", "restore"],
1771
1770
  });
1772
- this.expandContextPacks(files, rigRoot);
1773
1771
  return this.resolveAutoHints(files);
1774
1772
  }
1775
- /**
1776
- * PL-014 Item 6: expand any startup_files entries with `kind:
1777
- * "context_pack"` into a real file on disk + adjust the
1778
- * ResolvedStartupFile entry to point to it. Operates in place.
1779
- *
1780
- * Strategy:
1781
- * 1. Look up the pack via the daemon-side ContextPackLibraryService.
1782
- * 2. Assemble the pack into a single coherent paste-ready string.
1783
- * 3. Write the bundle to <rigRoot>/.openrig/resolved-context-packs/
1784
- * <name>-<version>.md.
1785
- * 4. Replace the entry's path/absolutePath/ownerRoot with that
1786
- * written path so the rest of the pipeline (resolveAutoHints +
1787
- * adapter.deliverStartup) treats it as a normal file.
1788
- *
1789
- * Throws on missing pack or absent library service so the
1790
- * materialize path surfaces the failure honestly.
1791
- */
1792
- expandContextPacks(files, rigRoot) {
1793
- const library = this.deps.contextPackLibrary;
1794
- const targetDir = nodePath.join(rigRoot, ".openrig", "resolved-context-packs");
1795
- let madeDir = false;
1796
- for (let i = 0; i < files.length; i++) {
1797
- const f = files[i];
1798
- if (f.kind !== "context_pack")
1799
- continue;
1800
- if (!library) {
1801
- throw new Error(`startup_files entry references kind: context_pack '${f.contextPackName ?? "(missing-name)"}' v${f.contextPackVersion ?? "1"}, but the daemon ContextPackLibraryService is not wired.`);
1802
- }
1803
- const name = f.contextPackName;
1804
- const version = f.contextPackVersion ?? "1";
1805
- if (!name) {
1806
- throw new Error(`startup_files entry kind: context_pack is missing 'name'`);
1807
- }
1808
- const pack = library.getByNameVersion(name, version);
1809
- if (!pack) {
1810
- throw new Error(`Context pack '${name}' v${version} not found in library. Run 'rig context-pack list' to see what's installed.`);
1811
- }
1812
- const bundle = assembleBundle({ packEntry: pack });
1813
- if (!madeDir) {
1814
- mkdirSync(targetDir, { recursive: true });
1815
- madeDir = true;
1816
- }
1817
- const targetPath = nodePath.join(targetDir, `${name}-${version}.md`);
1818
- writeFileSync(targetPath, bundle.text, "utf-8");
1819
- files[i] = {
1820
- ...f,
1821
- kind: "file",
1822
- path: nodePath.relative(rigRoot, targetPath),
1823
- absolutePath: targetPath,
1824
- ownerRoot: rigRoot,
1825
- deliveryHint: f.deliveryHint === "auto" ? "send_text" : f.deliveryHint,
1826
- contextPackName: undefined,
1827
- contextPackVersion: undefined,
1828
- };
1829
- }
1830
- }
1831
1773
  dedupeProjectedManagedStartupFiles(plan, files) {
1832
1774
  const projectedManagedGuidancePaths = new Set(plan.entries
1833
1775
  .filter((entry) => entry.category === "guidance" && entry.mergeStrategy === "managed_block")