@openrig/cli 0.6.14 → 0.7.1

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 (1366) hide show
  1. package/README.md +14 -12
  2. package/daemon/assets/claude-statusline-context.cjs +13 -3
  3. package/daemon/assets/guidance/openrig-seat-skills.md +1 -0
  4. package/daemon/assets/plugins/openrig-core/.claude-plugin/plugin.json +1 -1
  5. package/daemon/assets/plugins/openrig-core/.codex-plugin/plugin.json +1 -1
  6. package/daemon/assets/plugins/openrig-core/README.md +11 -4
  7. package/daemon/assets/plugins/openrig-core/hooks/claude.json +11 -11
  8. package/daemon/assets/plugins/openrig-core/hooks/codex.json +6 -6
  9. package/daemon/assets/plugins/openrig-core/hooks/scripts/activity-relay.cjs +22 -9
  10. package/daemon/assets/plugins/openrig-core/hooks/scripts/codex-hook-trust.cjs +49 -0
  11. package/daemon/assets/plugins/openrig-core/hooks/scripts/refocus-health.cjs +2 -2
  12. package/daemon/assets/plugins/openrig-core/hooks/scripts/refocus.cjs +35 -11
  13. package/daemon/assets/plugins/openrig-core/skills/claude-compaction-restore/SKILL.md +9 -2
  14. package/daemon/assets/plugins/openrig-core/skills/claude-compaction-restore/scripts/precompact-hook.mjs +1 -1
  15. package/daemon/assets/plugins/openrig-core/skills/forming-an-openrig-mental-model/SKILL.md +16 -10
  16. package/daemon/assets/plugins/openrig-core/skills/messaging-the-human/SKILL.md +43 -4
  17. package/daemon/assets/plugins/openrig-core/skills/openrig-skills/SKILL.md +2 -2
  18. package/daemon/assets/plugins/openrig-core/skills/openrig-user/SKILL.md +192 -61
  19. package/daemon/assets/plugins/openrig-core/skills/queue-handoff/SKILL.md +10 -4
  20. package/daemon/assets/skills/rigs/SKILL.md +26 -6
  21. package/daemon/context-packs/help/manifest.yaml +1 -1
  22. package/daemon/context-packs/onboarding-width/manifest.yaml +1 -1
  23. package/daemon/context-packs/onboarding-width/public-what-you-can-do.md +209 -33
  24. package/daemon/context-packs/reference/getting-started.md +148 -23
  25. package/daemon/context-packs/reference/manifest.yaml +1 -1
  26. package/daemon/context-packs/reference/rig-spec.md +83 -3
  27. package/daemon/context-packs/reference/whats-new.md +173 -69
  28. package/daemon/context-packs/skills/agent-operated-software/manifest.yaml +1 -1
  29. package/daemon/context-packs/skills/agent-operated-workflows/manifest.yaml +1 -1
  30. package/daemon/context-packs/skills/applying-a-permission-policy/manifest.yaml +1 -1
  31. package/daemon/context-packs/skills/claude-compaction-restore/SKILL.md +9 -2
  32. package/daemon/context-packs/skills/claude-compaction-restore/manifest.yaml +1 -1
  33. package/daemon/context-packs/skills/claude-compaction-restore/scripts/precompact-hook.mjs +1 -1
  34. package/daemon/context-packs/skills/core/agent-starters/manifest.yaml +1 -1
  35. package/daemon/context-packs/skills/core/agent-startup-and-context-ingestion/manifest.yaml +1 -1
  36. package/daemon/context-packs/skills/core/cross-host-rig-commands/manifest.yaml +1 -1
  37. package/daemon/context-packs/skills/core/human-in-the-loop/manifest.yaml +1 -1
  38. package/daemon/context-packs/skills/core/messaging-the-human/SKILL.md +43 -4
  39. package/daemon/context-packs/skills/core/messaging-the-human/manifest.yaml +1 -1
  40. package/daemon/context-packs/skills/core/openrig-architect/manifest.yaml +1 -1
  41. package/daemon/context-packs/skills/core/openrig-cmux/manifest.yaml +1 -1
  42. package/daemon/context-packs/skills/core/openrig-herdr/SKILL.md +3 -0
  43. package/daemon/context-packs/skills/core/openrig-herdr/manifest.yaml +1 -1
  44. package/daemon/context-packs/skills/core/openrig-skills/SKILL.md +2 -2
  45. package/daemon/context-packs/skills/core/openrig-skills/manifest.yaml +1 -1
  46. package/daemon/context-packs/skills/core/openrig-software-factory/manifest.yaml +1 -1
  47. package/daemon/context-packs/skills/core/openrig-software-factory/references/worked-example.md +2 -2
  48. package/daemon/context-packs/skills/core/openrig-upgrade/SKILL.md +11 -5
  49. package/daemon/context-packs/skills/core/openrig-upgrade/manifest.yaml +1 -1
  50. package/daemon/context-packs/skills/core/rig-bundles-and-shareable-artifacts/manifest.yaml +1 -1
  51. package/daemon/context-packs/skills/core/rig-lifecycle/manifest.yaml +1 -1
  52. package/daemon/context-packs/skills/core/session-source-fork/manifest.yaml +1 -1
  53. package/daemon/context-packs/skills/core/specification-system/manifest.yaml +1 -1
  54. package/daemon/context-packs/skills/core/topology-mutation-and-seat-management/manifest.yaml +1 -1
  55. package/daemon/context-packs/skills/core/watchdog/manifest.yaml +1 -1
  56. package/daemon/context-packs/skills/delegating-work/manifest.yaml +1 -1
  57. package/daemon/context-packs/skills/forming-an-openrig-mental-model/SKILL.md +16 -10
  58. package/daemon/context-packs/skills/forming-an-openrig-mental-model/manifest.yaml +1 -1
  59. package/daemon/context-packs/skills/loading-addressable-markdown/manifest.yaml +1 -1
  60. package/daemon/context-packs/skills/mission-slice-sop/manifest.yaml +1 -1
  61. package/daemon/context-packs/skills/openrig-operating-model/manifest.yaml +1 -1
  62. package/daemon/context-packs/skills/openrig-user/SKILL.md +192 -61
  63. package/daemon/context-packs/skills/openrig-user/manifest.yaml +1 -1
  64. package/daemon/context-packs/skills/orienting-to-an-inherited-seat/manifest.yaml +1 -1
  65. package/daemon/context-packs/skills/pm/backlog-capture/manifest.yaml +1 -1
  66. package/daemon/context-packs/skills/pm/context-builder/manifest.yaml +1 -1
  67. package/daemon/context-packs/skills/pm/exec-summary/manifest.yaml +1 -1
  68. package/daemon/context-packs/skills/pm/office-hours/manifest.yaml +1 -1
  69. package/daemon/context-packs/skills/pm/plan-review/manifest.yaml +1 -1
  70. package/daemon/context-packs/skills/pm/requirements-writer/manifest.yaml +1 -1
  71. package/daemon/context-packs/skills/pm/ui-mockup/manifest.yaml +1 -1
  72. package/daemon/context-packs/skills/pods/development-team/SKILL.md +2 -0
  73. package/daemon/context-packs/skills/pods/development-team/manifest.yaml +3 -1
  74. package/daemon/context-packs/skills/pods/development-team/references/refactoring.md +11 -0
  75. package/daemon/context-packs/skills/pods/orchestration-team/manifest.yaml +1 -1
  76. package/daemon/context-packs/skills/pods/oversight-team/manifest.yaml +1 -1
  77. package/daemon/context-packs/skills/pods/review-team/SKILL.md +46 -96
  78. package/daemon/context-packs/skills/pods/review-team/manifest.yaml +1 -1
  79. package/daemon/context-packs/skills/process/agent-browser/manifest.yaml +1 -1
  80. package/daemon/context-packs/skills/process/context-engineering/manifest.yaml +1 -1
  81. package/daemon/context-packs/skills/process/dogfood/manifest.yaml +1 -1
  82. package/daemon/context-packs/skills/process/frontend-design/manifest.yaml +1 -1
  83. package/daemon/context-packs/skills/process/systematic-debugging/manifest.yaml +1 -1
  84. package/daemon/context-packs/skills/process/test-driven-development/manifest.yaml +1 -1
  85. package/daemon/context-packs/skills/process/verification-before-completion/SKILL.md +17 -80
  86. package/daemon/context-packs/skills/process/verification-before-completion/manifest.yaml +5 -3
  87. package/daemon/context-packs/skills/process/verification-before-completion/references/performance-claims.md +12 -0
  88. package/daemon/context-packs/skills/queue-handoff/SKILL.md +10 -4
  89. package/daemon/context-packs/skills/queue-handoff/manifest.yaml +1 -1
  90. package/daemon/context-packs/skills/refocusing/manifest.yaml +1 -1
  91. package/daemon/context-packs/skills/retiring-and-inheriting-a-seat/manifest.yaml +1 -1
  92. package/daemon/context-packs/skills/seat-continuity-and-handover/manifest.yaml +1 -1
  93. package/daemon/context-packs/skills/session-compaction-and-restore/manifest.yaml +1 -1
  94. package/daemon/context-packs/skills/software-for-agents/manifest.yaml +1 -1
  95. package/daemon/context-packs/world-example/manifest.yaml +1 -1
  96. package/daemon/context-packs/world-public/manifest.yaml +1 -1
  97. package/daemon/dist/adapters/claude-code-adapter.d.ts +6 -2
  98. package/daemon/dist/adapters/claude-code-adapter.d.ts.map +1 -1
  99. package/daemon/dist/adapters/claude-code-adapter.js +127 -32
  100. package/daemon/dist/adapters/claude-code-adapter.js.map +1 -1
  101. package/daemon/dist/adapters/claude-resume.d.ts +2 -1
  102. package/daemon/dist/adapters/claude-resume.d.ts.map +1 -1
  103. package/daemon/dist/adapters/claude-resume.js +10 -3
  104. package/daemon/dist/adapters/claude-resume.js.map +1 -1
  105. package/daemon/dist/adapters/codex-resume.d.ts.map +1 -1
  106. package/daemon/dist/adapters/codex-resume.js +2 -7
  107. package/daemon/dist/adapters/codex-resume.js.map +1 -1
  108. package/daemon/dist/adapters/codex-runtime-adapter.d.ts +75 -3
  109. package/daemon/dist/adapters/codex-runtime-adapter.d.ts.map +1 -1
  110. package/daemon/dist/adapters/codex-runtime-adapter.js +592 -91
  111. package/daemon/dist/adapters/codex-runtime-adapter.js.map +1 -1
  112. package/daemon/dist/adapters/community-harness-runtime-adapter.d.ts +21 -2
  113. package/daemon/dist/adapters/community-harness-runtime-adapter.d.ts.map +1 -1
  114. package/daemon/dist/adapters/community-harness-runtime-adapter.js +90 -8
  115. package/daemon/dist/adapters/community-harness-runtime-adapter.js.map +1 -1
  116. package/daemon/dist/adapters/compose-services-adapter.d.ts +16 -0
  117. package/daemon/dist/adapters/compose-services-adapter.d.ts.map +1 -1
  118. package/daemon/dist/adapters/compose-services-adapter.js +52 -9
  119. package/daemon/dist/adapters/compose-services-adapter.js.map +1 -1
  120. package/daemon/dist/adapters/kernel-authority.d.ts.map +1 -1
  121. package/daemon/dist/adapters/kernel-authority.js +9 -5
  122. package/daemon/dist/adapters/kernel-authority.js.map +1 -1
  123. package/daemon/dist/adapters/pi-runner.d.ts +13 -0
  124. package/daemon/dist/adapters/pi-runner.d.ts.map +1 -1
  125. package/daemon/dist/adapters/pi-runner.js +64 -16
  126. package/daemon/dist/adapters/pi-runner.js.map +1 -1
  127. package/daemon/dist/adapters/pi-runtime-adapter.d.ts.map +1 -1
  128. package/daemon/dist/adapters/pi-runtime-adapter.js +9 -6
  129. package/daemon/dist/adapters/pi-runtime-adapter.js.map +1 -1
  130. package/daemon/dist/adapters/runtime-probe-exec.d.ts +11 -0
  131. package/daemon/dist/adapters/runtime-probe-exec.d.ts.map +1 -0
  132. package/daemon/dist/adapters/runtime-probe-exec.js +25 -0
  133. package/daemon/dist/adapters/runtime-probe-exec.js.map +1 -0
  134. package/daemon/dist/adapters/stub-runner.d.ts.map +1 -1
  135. package/daemon/dist/adapters/stub-runner.js +2 -0
  136. package/daemon/dist/adapters/stub-runner.js.map +1 -1
  137. package/daemon/dist/adapters/stub-runtime-adapter.d.ts.map +1 -1
  138. package/daemon/dist/adapters/stub-runtime-adapter.js +9 -5
  139. package/daemon/dist/adapters/stub-runtime-adapter.js.map +1 -1
  140. package/daemon/dist/adapters/tmux.d.ts +36 -5
  141. package/daemon/dist/adapters/tmux.d.ts.map +1 -1
  142. package/daemon/dist/adapters/tmux.js +162 -33
  143. package/daemon/dist/adapters/tmux.js.map +1 -1
  144. package/daemon/dist/attention-surface.d.ts +14 -0
  145. package/daemon/dist/attention-surface.d.ts.map +1 -1
  146. package/daemon/dist/attention-surface.js.map +1 -1
  147. package/daemon/dist/build-info.js +3 -3
  148. package/daemon/dist/daemon-db-path.d.ts +6 -0
  149. package/daemon/dist/daemon-db-path.d.ts.map +1 -1
  150. package/daemon/dist/daemon-db-path.js +65 -1
  151. package/daemon/dist/daemon-db-path.js.map +1 -1
  152. package/daemon/dist/daemon-shutdown.d.ts.map +1 -1
  153. package/daemon/dist/daemon-shutdown.js +4 -2
  154. package/daemon/dist/daemon-shutdown.js.map +1 -1
  155. package/daemon/dist/db/all-migrations.d.ts.map +1 -1
  156. package/daemon/dist/db/all-migrations.js +28 -0
  157. package/daemon/dist/db/all-migrations.js.map +1 -1
  158. package/daemon/dist/db/migrations/116_queue_item_wake_input_box.d.ts +3 -0
  159. package/daemon/dist/db/migrations/116_queue_item_wake_input_box.d.ts.map +1 -0
  160. package/daemon/dist/db/migrations/116_queue_item_wake_input_box.js +8 -0
  161. package/daemon/dist/db/migrations/116_queue_item_wake_input_box.js.map +1 -0
  162. package/daemon/dist/db/migrations/118_human_quiet_windows.d.ts +3 -0
  163. package/daemon/dist/db/migrations/118_human_quiet_windows.d.ts.map +1 -0
  164. package/daemon/dist/db/migrations/118_human_quiet_windows.js +30 -0
  165. package/daemon/dist/db/migrations/118_human_quiet_windows.js.map +1 -0
  166. package/daemon/dist/db/migrations/119_seat_identity_pane_pid.d.ts +3 -0
  167. package/daemon/dist/db/migrations/119_seat_identity_pane_pid.d.ts.map +1 -0
  168. package/daemon/dist/db/migrations/119_seat_identity_pane_pid.js +7 -0
  169. package/daemon/dist/db/migrations/119_seat_identity_pane_pid.js.map +1 -0
  170. package/daemon/dist/db/migrations/121_rig_startup_layers.d.ts +13 -0
  171. package/daemon/dist/db/migrations/121_rig_startup_layers.d.ts.map +1 -0
  172. package/daemon/dist/db/migrations/121_rig_startup_layers.js +17 -0
  173. package/daemon/dist/db/migrations/121_rig_startup_layers.js.map +1 -0
  174. package/daemon/dist/db/migrations/122_human_operating_modes.d.ts +3 -0
  175. package/daemon/dist/db/migrations/122_human_operating_modes.d.ts.map +1 -0
  176. package/daemon/dist/db/migrations/122_human_operating_modes.js +55 -0
  177. package/daemon/dist/db/migrations/122_human_operating_modes.js.map +1 -0
  178. package/daemon/dist/db/migrations/123_queue_delegated_decision.d.ts +3 -0
  179. package/daemon/dist/db/migrations/123_queue_delegated_decision.d.ts.map +1 -0
  180. package/daemon/dist/db/migrations/123_queue_delegated_decision.js +10 -0
  181. package/daemon/dist/db/migrations/123_queue_delegated_decision.js.map +1 -0
  182. package/daemon/dist/db/migrations/124_context_usage_watchdog_units.d.ts +4 -0
  183. package/daemon/dist/db/migrations/124_context_usage_watchdog_units.d.ts.map +1 -0
  184. package/daemon/dist/db/migrations/124_context_usage_watchdog_units.js +9 -0
  185. package/daemon/dist/db/migrations/124_context_usage_watchdog_units.js.map +1 -0
  186. package/daemon/dist/db/migrations/125_node_advisor.d.ts +3 -0
  187. package/daemon/dist/db/migrations/125_node_advisor.d.ts.map +1 -0
  188. package/daemon/dist/db/migrations/125_node_advisor.js +8 -0
  189. package/daemon/dist/db/migrations/125_node_advisor.js.map +1 -0
  190. package/daemon/dist/db/migrations/127_operation_correlation.d.ts +3 -0
  191. package/daemon/dist/db/migrations/127_operation_correlation.d.ts.map +1 -0
  192. package/daemon/dist/db/migrations/127_operation_correlation.js +10 -0
  193. package/daemon/dist/db/migrations/127_operation_correlation.js.map +1 -0
  194. package/daemon/dist/db/migrations/128_terminal_policy.d.ts +3 -0
  195. package/daemon/dist/db/migrations/128_terminal_policy.d.ts.map +1 -0
  196. package/daemon/dist/db/migrations/128_terminal_policy.js +37 -0
  197. package/daemon/dist/db/migrations/128_terminal_policy.js.map +1 -0
  198. package/daemon/dist/db/migrations/129_stream_dispositions.d.ts +10 -0
  199. package/daemon/dist/db/migrations/129_stream_dispositions.d.ts.map +1 -0
  200. package/daemon/dist/db/migrations/129_stream_dispositions.js +35 -0
  201. package/daemon/dist/db/migrations/129_stream_dispositions.js.map +1 -0
  202. package/daemon/dist/db/migrations/130_stream_subscriptions.d.ts +11 -0
  203. package/daemon/dist/db/migrations/130_stream_subscriptions.d.ts.map +1 -0
  204. package/daemon/dist/db/migrations/130_stream_subscriptions.js +33 -0
  205. package/daemon/dist/db/migrations/130_stream_subscriptions.js.map +1 -0
  206. package/daemon/dist/db/migrations/131_stream_retention_floor.d.ts +8 -0
  207. package/daemon/dist/db/migrations/131_stream_retention_floor.d.ts.map +1 -0
  208. package/daemon/dist/db/migrations/131_stream_retention_floor.js +20 -0
  209. package/daemon/dist/db/migrations/131_stream_retention_floor.js.map +1 -0
  210. package/daemon/dist/db/migrations/135_seat_identity_process_evidence.d.ts +3 -0
  211. package/daemon/dist/db/migrations/135_seat_identity_process_evidence.d.ts.map +1 -0
  212. package/daemon/dist/db/migrations/135_seat_identity_process_evidence.js +16 -0
  213. package/daemon/dist/db/migrations/135_seat_identity_process_evidence.js.map +1 -0
  214. package/daemon/dist/domain/active-occupant.d.ts +8 -3
  215. package/daemon/dist/domain/active-occupant.d.ts.map +1 -1
  216. package/daemon/dist/domain/active-occupant.js +8 -4
  217. package/daemon/dist/domain/active-occupant.js.map +1 -1
  218. package/daemon/dist/domain/activity-taxonomy.d.ts +19 -1
  219. package/daemon/dist/domain/activity-taxonomy.d.ts.map +1 -1
  220. package/daemon/dist/domain/activity-taxonomy.js +21 -0
  221. package/daemon/dist/domain/activity-taxonomy.js.map +1 -1
  222. package/daemon/dist/domain/agent-activity-store.d.ts +24 -0
  223. package/daemon/dist/domain/agent-activity-store.d.ts.map +1 -1
  224. package/daemon/dist/domain/agent-activity-store.js +50 -5
  225. package/daemon/dist/domain/agent-activity-store.js.map +1 -1
  226. package/daemon/dist/domain/agent-images/evidence-guard.js +3 -3
  227. package/daemon/dist/domain/agent-images/evidence-guard.js.map +1 -1
  228. package/daemon/dist/domain/agent-images/resume-token-discovery.d.ts.map +1 -1
  229. package/daemon/dist/domain/agent-images/resume-token-discovery.js +2 -10
  230. package/daemon/dist/domain/agent-images/resume-token-discovery.js.map +1 -1
  231. package/daemon/dist/domain/agent-manifest.d.ts.map +1 -1
  232. package/daemon/dist/domain/agent-manifest.js +14 -2
  233. package/daemon/dist/domain/agent-manifest.js.map +1 -1
  234. package/daemon/dist/domain/ask-service.d.ts +1 -0
  235. package/daemon/dist/domain/ask-service.d.ts.map +1 -1
  236. package/daemon/dist/domain/ask-service.js +7 -1
  237. package/daemon/dist/domain/ask-service.js.map +1 -1
  238. package/daemon/dist/domain/bootstrap-orchestrator.d.ts +5 -0
  239. package/daemon/dist/domain/bootstrap-orchestrator.d.ts.map +1 -1
  240. package/daemon/dist/domain/bootstrap-orchestrator.js +25 -12
  241. package/daemon/dist/domain/bootstrap-orchestrator.js.map +1 -1
  242. package/daemon/dist/domain/builtin-startup-files.d.ts.map +1 -1
  243. package/daemon/dist/domain/builtin-startup-files.js +2 -0
  244. package/daemon/dist/domain/builtin-startup-files.js.map +1 -1
  245. package/daemon/dist/domain/bundle-behaviour.d.ts.map +1 -1
  246. package/daemon/dist/domain/bundle-behaviour.js +28 -1
  247. package/daemon/dist/domain/bundle-behaviour.js.map +1 -1
  248. package/daemon/dist/domain/claim-service.d.ts +20 -2
  249. package/daemon/dist/domain/claim-service.d.ts.map +1 -1
  250. package/daemon/dist/domain/claim-service.js +74 -19
  251. package/daemon/dist/domain/claim-service.js.map +1 -1
  252. package/daemon/dist/domain/classification-attempts.d.ts +4 -1
  253. package/daemon/dist/domain/classification-attempts.d.ts.map +1 -1
  254. package/daemon/dist/domain/classification-attempts.js +10 -1
  255. package/daemon/dist/domain/classification-attempts.js.map +1 -1
  256. package/daemon/dist/domain/classification-sources.d.ts +38 -0
  257. package/daemon/dist/domain/classification-sources.d.ts.map +1 -1
  258. package/daemon/dist/domain/classification-sources.js +26 -1
  259. package/daemon/dist/domain/classification-sources.js.map +1 -1
  260. package/daemon/dist/domain/claude-activity-hooks.d.ts +2 -2
  261. package/daemon/dist/domain/claude-activity-hooks.d.ts.map +1 -1
  262. package/daemon/dist/domain/claude-activity-hooks.js +8 -7
  263. package/daemon/dist/domain/claude-activity-hooks.js.map +1 -1
  264. package/daemon/dist/domain/claude-compaction-enforcer.d.ts +126 -11
  265. package/daemon/dist/domain/claude-compaction-enforcer.d.ts.map +1 -1
  266. package/daemon/dist/domain/claude-compaction-enforcer.js +527 -68
  267. package/daemon/dist/domain/claude-compaction-enforcer.js.map +1 -1
  268. package/daemon/dist/domain/claude-core-plugin-env.d.ts +14 -0
  269. package/daemon/dist/domain/claude-core-plugin-env.d.ts.map +1 -1
  270. package/daemon/dist/domain/claude-core-plugin-env.js +37 -11
  271. package/daemon/dist/domain/claude-core-plugin-env.js.map +1 -1
  272. package/daemon/dist/domain/claude-managed-launch.d.ts +1 -1
  273. package/daemon/dist/domain/claude-managed-launch.d.ts.map +1 -1
  274. package/daemon/dist/domain/claude-managed-launch.js +33 -15
  275. package/daemon/dist/domain/claude-managed-launch.js.map +1 -1
  276. package/daemon/dist/domain/codex-core-plugin-install.d.ts +41 -0
  277. package/daemon/dist/domain/codex-core-plugin-install.d.ts.map +1 -0
  278. package/daemon/dist/domain/codex-core-plugin-install.js +126 -0
  279. package/daemon/dist/domain/codex-core-plugin-install.js.map +1 -0
  280. package/daemon/dist/domain/codex-owned-plugin-trust.d.ts +26 -0
  281. package/daemon/dist/domain/codex-owned-plugin-trust.d.ts.map +1 -0
  282. package/daemon/dist/domain/codex-owned-plugin-trust.js +187 -0
  283. package/daemon/dist/domain/codex-owned-plugin-trust.js.map +1 -0
  284. package/daemon/dist/domain/codex-rebuild-permissions.d.ts +54 -0
  285. package/daemon/dist/domain/codex-rebuild-permissions.d.ts.map +1 -0
  286. package/daemon/dist/domain/codex-rebuild-permissions.js +134 -0
  287. package/daemon/dist/domain/codex-rebuild-permissions.js.map +1 -0
  288. package/daemon/dist/domain/codex-thread-id.d.ts +23 -1
  289. package/daemon/dist/domain/codex-thread-id.d.ts.map +1 -1
  290. package/daemon/dist/domain/codex-thread-id.js +58 -17
  291. package/daemon/dist/domain/codex-thread-id.js.map +1 -1
  292. package/daemon/dist/domain/community-harness-launch-result.d.ts +33 -0
  293. package/daemon/dist/domain/community-harness-launch-result.d.ts.map +1 -0
  294. package/daemon/dist/domain/community-harness-launch-result.js +93 -0
  295. package/daemon/dist/domain/community-harness-launch-result.js.map +1 -0
  296. package/daemon/dist/domain/community-harness-presets.d.ts +27 -2
  297. package/daemon/dist/domain/community-harness-presets.d.ts.map +1 -1
  298. package/daemon/dist/domain/community-harness-presets.js +49 -5
  299. package/daemon/dist/domain/community-harness-presets.js.map +1 -1
  300. package/daemon/dist/domain/composer-prompts.d.ts +5 -2
  301. package/daemon/dist/domain/composer-prompts.d.ts.map +1 -1
  302. package/daemon/dist/domain/composer-prompts.js +2 -2
  303. package/daemon/dist/domain/composer-prompts.js.map +1 -1
  304. package/daemon/dist/domain/context-monitor.d.ts +13 -5
  305. package/daemon/dist/domain/context-monitor.d.ts.map +1 -1
  306. package/daemon/dist/domain/context-monitor.js +49 -14
  307. package/daemon/dist/domain/context-monitor.js.map +1 -1
  308. package/daemon/dist/domain/context-usage-store.d.ts.map +1 -1
  309. package/daemon/dist/domain/context-usage-store.js +3 -0
  310. package/daemon/dist/domain/context-usage-store.js.map +1 -1
  311. package/daemon/dist/domain/continuity-policy-materializer.d.ts +1 -0
  312. package/daemon/dist/domain/continuity-policy-materializer.d.ts.map +1 -1
  313. package/daemon/dist/domain/continuity-policy-materializer.js +2 -0
  314. package/daemon/dist/domain/continuity-policy-materializer.js.map +1 -1
  315. package/daemon/dist/domain/current-work.d.ts +18 -0
  316. package/daemon/dist/domain/current-work.d.ts.map +1 -1
  317. package/daemon/dist/domain/current-work.js +17 -3
  318. package/daemon/dist/domain/current-work.js.map +1 -1
  319. package/daemon/dist/domain/draft-aware-delivery.d.ts +7 -7
  320. package/daemon/dist/domain/draft-aware-delivery.d.ts.map +1 -1
  321. package/daemon/dist/domain/draft-aware-delivery.js +61 -82
  322. package/daemon/dist/domain/draft-aware-delivery.js.map +1 -1
  323. package/daemon/dist/domain/execution-view.d.ts.map +1 -1
  324. package/daemon/dist/domain/execution-view.js +9 -7
  325. package/daemon/dist/domain/execution-view.js.map +1 -1
  326. package/daemon/dist/domain/existing-rig-restore.d.ts +110 -0
  327. package/daemon/dist/domain/existing-rig-restore.d.ts.map +1 -0
  328. package/daemon/dist/domain/existing-rig-restore.js +254 -0
  329. package/daemon/dist/domain/existing-rig-restore.js.map +1 -0
  330. package/daemon/dist/domain/footprint-choice.d.ts +41 -0
  331. package/daemon/dist/domain/footprint-choice.d.ts.map +1 -0
  332. package/daemon/dist/domain/footprint-choice.js +42 -0
  333. package/daemon/dist/domain/footprint-choice.js.map +1 -0
  334. package/daemon/dist/domain/fresh-occupant-relation.d.ts.map +1 -1
  335. package/daemon/dist/domain/fresh-occupant-relation.js +9 -2
  336. package/daemon/dist/domain/fresh-occupant-relation.js.map +1 -1
  337. package/daemon/dist/domain/gateway/channel-operations.d.ts +3 -4
  338. package/daemon/dist/domain/gateway/channel-operations.d.ts.map +1 -1
  339. package/daemon/dist/domain/gateway/channel-operations.js.map +1 -1
  340. package/daemon/dist/domain/gateway/connections-projection.d.ts +0 -5
  341. package/daemon/dist/domain/gateway/connections-projection.d.ts.map +1 -1
  342. package/daemon/dist/domain/gateway/connections-projection.js +3 -46
  343. package/daemon/dist/domain/gateway/connections-projection.js.map +1 -1
  344. package/daemon/dist/domain/gateway/delivery-rules-engine.d.ts +14 -1
  345. package/daemon/dist/domain/gateway/delivery-rules-engine.d.ts.map +1 -1
  346. package/daemon/dist/domain/gateway/delivery-rules-engine.js +13 -3
  347. package/daemon/dist/domain/gateway/delivery-rules-engine.js.map +1 -1
  348. package/daemon/dist/domain/gateway/dispatch-buffer.d.ts +4 -0
  349. package/daemon/dist/domain/gateway/dispatch-buffer.d.ts.map +1 -1
  350. package/daemon/dist/domain/gateway/dispatch-buffer.js +18 -0
  351. package/daemon/dist/domain/gateway/dispatch-buffer.js.map +1 -1
  352. package/daemon/dist/domain/gateway/human-mode-account.d.ts +61 -0
  353. package/daemon/dist/domain/gateway/human-mode-account.d.ts.map +1 -0
  354. package/daemon/dist/domain/gateway/human-mode-account.js +112 -0
  355. package/daemon/dist/domain/gateway/human-mode-account.js.map +1 -0
  356. package/daemon/dist/domain/gateway/human-operating-modes.d.ts +171 -0
  357. package/daemon/dist/domain/gateway/human-operating-modes.d.ts.map +1 -0
  358. package/daemon/dist/domain/gateway/human-operating-modes.js +422 -0
  359. package/daemon/dist/domain/gateway/human-operating-modes.js.map +1 -0
  360. package/daemon/dist/domain/gateway/human-quiet-windows.d.ts +121 -0
  361. package/daemon/dist/domain/gateway/human-quiet-windows.d.ts.map +1 -0
  362. package/daemon/dist/domain/gateway/human-quiet-windows.js +217 -0
  363. package/daemon/dist/domain/gateway/human-quiet-windows.js.map +1 -0
  364. package/daemon/dist/domain/gateway/human-registry.d.ts +55 -2
  365. package/daemon/dist/domain/gateway/human-registry.d.ts.map +1 -1
  366. package/daemon/dist/domain/gateway/human-registry.js +137 -8
  367. package/daemon/dist/domain/gateway/human-registry.js.map +1 -1
  368. package/daemon/dist/domain/gateway/operator-delivery-engine.d.ts.map +1 -1
  369. package/daemon/dist/domain/gateway/operator-delivery-engine.js +9 -0
  370. package/daemon/dist/domain/gateway/operator-delivery-engine.js.map +1 -1
  371. package/daemon/dist/domain/gateway/slack/inbound.d.ts +10 -2
  372. package/daemon/dist/domain/gateway/slack/inbound.d.ts.map +1 -1
  373. package/daemon/dist/domain/gateway/slack/inbound.js +76 -6
  374. package/daemon/dist/domain/gateway/slack/inbound.js.map +1 -1
  375. package/daemon/dist/domain/gateway/slack/message.d.ts +4 -0
  376. package/daemon/dist/domain/gateway/slack/message.d.ts.map +1 -1
  377. package/daemon/dist/domain/gateway/slack/message.js +13 -2
  378. package/daemon/dist/domain/gateway/slack/message.js.map +1 -1
  379. package/daemon/dist/domain/gateway/slack/outbound-driver.d.ts +9 -3
  380. package/daemon/dist/domain/gateway/slack/outbound-driver.d.ts.map +1 -1
  381. package/daemon/dist/domain/gateway/slack/outbound-driver.js +40 -6
  382. package/daemon/dist/domain/gateway/slack/outbound-driver.js.map +1 -1
  383. package/daemon/dist/domain/gateway/slack/queue-access.d.ts +7 -0
  384. package/daemon/dist/domain/gateway/slack/queue-access.d.ts.map +1 -1
  385. package/daemon/dist/domain/gateway/slack/queue-access.js +14 -2
  386. package/daemon/dist/domain/gateway/slack/queue-access.js.map +1 -1
  387. package/daemon/dist/domain/gateway/slack/slack-delivery.d.ts +17 -1
  388. package/daemon/dist/domain/gateway/slack/slack-delivery.d.ts.map +1 -1
  389. package/daemon/dist/domain/gateway/slack/slack-delivery.js +143 -56
  390. package/daemon/dist/domain/gateway/slack/slack-delivery.js.map +1 -1
  391. package/daemon/dist/domain/gateway/slack/slack-subsystem.d.ts +3 -2
  392. package/daemon/dist/domain/gateway/slack/slack-subsystem.d.ts.map +1 -1
  393. package/daemon/dist/domain/gateway/slack/slack-subsystem.js +266 -51
  394. package/daemon/dist/domain/gateway/slack/slack-subsystem.js.map +1 -1
  395. package/daemon/dist/domain/generated-file-hygiene.js +1 -1
  396. package/daemon/dist/domain/generated-file-hygiene.js.map +1 -1
  397. package/daemon/dist/domain/graph-projection.d.ts +3 -0
  398. package/daemon/dist/domain/graph-projection.d.ts.map +1 -1
  399. package/daemon/dist/domain/graph-projection.js +2 -0
  400. package/daemon/dist/domain/graph-projection.js.map +1 -1
  401. package/daemon/dist/domain/health-diagnosis.d.ts.map +1 -1
  402. package/daemon/dist/domain/health-diagnosis.js +14 -6
  403. package/daemon/dist/domain/health-diagnosis.js.map +1 -1
  404. package/daemon/dist/domain/health-passive-ceremony.d.ts +4 -0
  405. package/daemon/dist/domain/health-passive-ceremony.d.ts.map +1 -1
  406. package/daemon/dist/domain/health-passive-ceremony.js +34 -4
  407. package/daemon/dist/domain/health-passive-ceremony.js.map +1 -1
  408. package/daemon/dist/domain/hosts/hosts-registry-reader.d.ts +3 -1
  409. package/daemon/dist/domain/hosts/hosts-registry-reader.d.ts.map +1 -1
  410. package/daemon/dist/domain/hosts/hosts-registry-reader.js +9 -9
  411. package/daemon/dist/domain/hosts/hosts-registry-reader.js.map +1 -1
  412. package/daemon/dist/domain/hosts/learned-host-bindings.d.ts +28 -0
  413. package/daemon/dist/domain/hosts/learned-host-bindings.d.ts.map +1 -0
  414. package/daemon/dist/domain/hosts/learned-host-bindings.js +77 -0
  415. package/daemon/dist/domain/hosts/learned-host-bindings.js.map +1 -0
  416. package/daemon/dist/domain/hot-potato-enforcer.d.ts +7 -5
  417. package/daemon/dist/domain/hot-potato-enforcer.d.ts.map +1 -1
  418. package/daemon/dist/domain/hot-potato-enforcer.js +19 -10
  419. package/daemon/dist/domain/hot-potato-enforcer.js.map +1 -1
  420. package/daemon/dist/domain/human-questions.d.ts +10 -1
  421. package/daemon/dist/domain/human-questions.d.ts.map +1 -1
  422. package/daemon/dist/domain/human-questions.js +5 -0
  423. package/daemon/dist/domain/human-questions.js.map +1 -1
  424. package/daemon/dist/domain/kernel-boot-tracker.d.ts +17 -1
  425. package/daemon/dist/domain/kernel-boot-tracker.d.ts.map +1 -1
  426. package/daemon/dist/domain/kernel-boot-tracker.js +44 -3
  427. package/daemon/dist/domain/kernel-boot-tracker.js.map +1 -1
  428. package/daemon/dist/domain/kernel-boot.d.ts +26 -1
  429. package/daemon/dist/domain/kernel-boot.d.ts.map +1 -1
  430. package/daemon/dist/domain/kernel-boot.js +91 -6
  431. package/daemon/dist/domain/kernel-boot.js.map +1 -1
  432. package/daemon/dist/domain/managed-blocks.d.ts +32 -1
  433. package/daemon/dist/domain/managed-blocks.d.ts.map +1 -1
  434. package/daemon/dist/domain/managed-blocks.js +109 -11
  435. package/daemon/dist/domain/managed-blocks.js.map +1 -1
  436. package/daemon/dist/domain/mission-control/mission-control-action-log.d.ts +1 -1
  437. package/daemon/dist/domain/mission-control/mission-control-action-log.d.ts.map +1 -1
  438. package/daemon/dist/domain/mission-control/mission-control-action-log.js +3 -0
  439. package/daemon/dist/domain/mission-control/mission-control-action-log.js.map +1 -1
  440. package/daemon/dist/domain/mission-control/mission-control-write-contract.d.ts +21 -0
  441. package/daemon/dist/domain/mission-control/mission-control-write-contract.d.ts.map +1 -1
  442. package/daemon/dist/domain/mission-control/mission-control-write-contract.js +110 -0
  443. package/daemon/dist/domain/mission-control/mission-control-write-contract.js.map +1 -1
  444. package/daemon/dist/domain/model-divergence/current-generation-record.d.ts +2 -1
  445. package/daemon/dist/domain/model-divergence/current-generation-record.d.ts.map +1 -1
  446. package/daemon/dist/domain/model-divergence/current-generation-record.js +8 -3
  447. package/daemon/dist/domain/model-divergence/current-generation-record.js.map +1 -1
  448. package/daemon/dist/domain/model-divergence/current-model-reader.d.ts +2 -0
  449. package/daemon/dist/domain/model-divergence/current-model-reader.d.ts.map +1 -1
  450. package/daemon/dist/domain/model-divergence/current-model-reader.js +7 -0
  451. package/daemon/dist/domain/model-divergence/current-model-reader.js.map +1 -1
  452. package/daemon/dist/domain/model-divergence/model-divergence-monitor.d.ts +10 -1
  453. package/daemon/dist/domain/model-divergence/model-divergence-monitor.d.ts.map +1 -1
  454. package/daemon/dist/domain/model-divergence/model-divergence-monitor.js +24 -5
  455. package/daemon/dist/domain/model-divergence/model-divergence-monitor.js.map +1 -1
  456. package/daemon/dist/domain/native-process-lineage.d.ts +3 -0
  457. package/daemon/dist/domain/native-process-lineage.d.ts.map +1 -1
  458. package/daemon/dist/domain/native-process-lineage.js +103 -17
  459. package/daemon/dist/domain/native-process-lineage.js.map +1 -1
  460. package/daemon/dist/domain/native-resume-probe-evidence.d.ts +19 -0
  461. package/daemon/dist/domain/native-resume-probe-evidence.d.ts.map +1 -0
  462. package/daemon/dist/domain/native-resume-probe-evidence.js +37 -0
  463. package/daemon/dist/domain/native-resume-probe-evidence.js.map +1 -0
  464. package/daemon/dist/domain/native-resume-probe.d.ts +7 -0
  465. package/daemon/dist/domain/native-resume-probe.d.ts.map +1 -1
  466. package/daemon/dist/domain/native-resume-probe.js +12 -9
  467. package/daemon/dist/domain/native-resume-probe.js.map +1 -1
  468. package/daemon/dist/domain/node-inventory.d.ts +49 -1
  469. package/daemon/dist/domain/node-inventory.d.ts.map +1 -1
  470. package/daemon/dist/domain/node-inventory.js +145 -57
  471. package/daemon/dist/domain/node-inventory.js.map +1 -1
  472. package/daemon/dist/domain/node-launcher.d.ts +5 -3
  473. package/daemon/dist/domain/node-launcher.d.ts.map +1 -1
  474. package/daemon/dist/domain/node-launcher.js +36 -26
  475. package/daemon/dist/domain/node-launcher.js.map +1 -1
  476. package/daemon/dist/domain/occupant-invalidator.d.ts +16 -4
  477. package/daemon/dist/domain/occupant-invalidator.d.ts.map +1 -1
  478. package/daemon/dist/domain/occupant-invalidator.js +25 -5
  479. package/daemon/dist/domain/occupant-invalidator.js.map +1 -1
  480. package/daemon/dist/domain/operation-correlation.d.ts +78 -0
  481. package/daemon/dist/domain/operation-correlation.d.ts.map +1 -0
  482. package/daemon/dist/domain/operation-correlation.js +54 -0
  483. package/daemon/dist/domain/operation-correlation.js.map +1 -0
  484. package/daemon/dist/domain/outbox-handler.d.ts +3 -5
  485. package/daemon/dist/domain/outbox-handler.d.ts.map +1 -1
  486. package/daemon/dist/domain/outbox-handler.js +9 -19
  487. package/daemon/dist/domain/outbox-handler.js.map +1 -1
  488. package/daemon/dist/domain/park-wake-text.d.ts +11 -0
  489. package/daemon/dist/domain/park-wake-text.d.ts.map +1 -0
  490. package/daemon/dist/domain/park-wake-text.js +26 -0
  491. package/daemon/dist/domain/park-wake-text.js.map +1 -0
  492. package/daemon/dist/domain/permission-account.d.ts +28 -0
  493. package/daemon/dist/domain/permission-account.d.ts.map +1 -0
  494. package/daemon/dist/domain/permission-account.js +102 -0
  495. package/daemon/dist/domain/permission-account.js.map +1 -0
  496. package/daemon/dist/domain/permission-drift.d.ts.map +1 -1
  497. package/daemon/dist/domain/permission-drift.js +11 -7
  498. package/daemon/dist/domain/permission-drift.js.map +1 -1
  499. package/daemon/dist/domain/plugin-vendor-service.d.ts +4 -0
  500. package/daemon/dist/domain/plugin-vendor-service.d.ts.map +1 -1
  501. package/daemon/dist/domain/plugin-vendor-service.js +29 -6
  502. package/daemon/dist/domain/plugin-vendor-service.js.map +1 -1
  503. package/daemon/dist/domain/pod-bundle-assembler.d.ts +1 -0
  504. package/daemon/dist/domain/pod-bundle-assembler.d.ts.map +1 -1
  505. package/daemon/dist/domain/pod-bundle-assembler.js +25 -0
  506. package/daemon/dist/domain/pod-bundle-assembler.js.map +1 -1
  507. package/daemon/dist/domain/policies/artifact-pool-helpers.d.ts +7 -0
  508. package/daemon/dist/domain/policies/artifact-pool-helpers.d.ts.map +1 -1
  509. package/daemon/dist/domain/policies/artifact-pool-helpers.js +8 -4
  510. package/daemon/dist/domain/policies/artifact-pool-helpers.js.map +1 -1
  511. package/daemon/dist/domain/policies/context-usage-threshold.d.ts.map +1 -1
  512. package/daemon/dist/domain/policies/context-usage-threshold.js +109 -21
  513. package/daemon/dist/domain/policies/context-usage-threshold.js.map +1 -1
  514. package/daemon/dist/domain/policies/delivery-digest-flush.d.ts +1 -0
  515. package/daemon/dist/domain/policies/delivery-digest-flush.d.ts.map +1 -1
  516. package/daemon/dist/domain/policies/delivery-digest-flush.js +25 -4
  517. package/daemon/dist/domain/policies/delivery-digest-flush.js.map +1 -1
  518. package/daemon/dist/domain/policies/edge-artifact-required.d.ts +6 -1
  519. package/daemon/dist/domain/policies/edge-artifact-required.d.ts.map +1 -1
  520. package/daemon/dist/domain/policies/edge-artifact-required.js +18 -13
  521. package/daemon/dist/domain/policies/edge-artifact-required.js.map +1 -1
  522. package/daemon/dist/domain/policies/mode-scheduled-end.d.ts +39 -0
  523. package/daemon/dist/domain/policies/mode-scheduled-end.d.ts.map +1 -0
  524. package/daemon/dist/domain/policies/mode-scheduled-end.js +165 -0
  525. package/daemon/dist/domain/policies/mode-scheduled-end.js.map +1 -0
  526. package/daemon/dist/domain/policies/parked-owner-consumer.d.ts +11 -7
  527. package/daemon/dist/domain/policies/parked-owner-consumer.d.ts.map +1 -1
  528. package/daemon/dist/domain/policies/parked-owner-consumer.js +82 -113
  529. package/daemon/dist/domain/policies/parked-owner-consumer.js.map +1 -1
  530. package/daemon/dist/domain/policies/periodic-reminder.d.ts +10 -0
  531. package/daemon/dist/domain/policies/periodic-reminder.d.ts.map +1 -1
  532. package/daemon/dist/domain/policies/periodic-reminder.js +11 -6
  533. package/daemon/dist/domain/policies/periodic-reminder.js.map +1 -1
  534. package/daemon/dist/domain/policies/quiet-release.d.ts +109 -0
  535. package/daemon/dist/domain/policies/quiet-release.d.ts.map +1 -0
  536. package/daemon/dist/domain/policies/quiet-release.js +213 -0
  537. package/daemon/dist/domain/policies/quiet-release.js.map +1 -0
  538. package/daemon/dist/domain/policies/types.d.ts +25 -0
  539. package/daemon/dist/domain/policies/types.d.ts.map +1 -1
  540. package/daemon/dist/domain/policies/workflow-keepalive.d.ts +6 -1
  541. package/daemon/dist/domain/policies/workflow-keepalive.d.ts.map +1 -1
  542. package/daemon/dist/domain/policies/workflow-keepalive.js +11 -5
  543. package/daemon/dist/domain/policies/workflow-keepalive.js.map +1 -1
  544. package/daemon/dist/domain/profile-resolution-worker.d.ts +7 -0
  545. package/daemon/dist/domain/profile-resolution-worker.d.ts.map +1 -0
  546. package/daemon/dist/domain/profile-resolution-worker.js +83 -0
  547. package/daemon/dist/domain/profile-resolution-worker.js.map +1 -0
  548. package/daemon/dist/domain/profile-resolver.d.ts +6 -0
  549. package/daemon/dist/domain/profile-resolver.d.ts.map +1 -1
  550. package/daemon/dist/domain/profile-resolver.js +20 -3
  551. package/daemon/dist/domain/profile-resolver.js.map +1 -1
  552. package/daemon/dist/domain/project-classifier.d.ts +7 -0
  553. package/daemon/dist/domain/project-classifier.d.ts.map +1 -1
  554. package/daemon/dist/domain/project-classifier.js +26 -0
  555. package/daemon/dist/domain/project-classifier.js.map +1 -1
  556. package/daemon/dist/domain/proof/source-watch.js +2 -2
  557. package/daemon/dist/domain/proof/source-watch.js.map +1 -1
  558. package/daemon/dist/domain/provider/subscription-move-report.d.ts +86 -0
  559. package/daemon/dist/domain/provider/subscription-move-report.d.ts.map +1 -0
  560. package/daemon/dist/domain/provider/subscription-move-report.js +227 -0
  561. package/daemon/dist/domain/provider/subscription-move-report.js.map +1 -0
  562. package/daemon/dist/domain/ps-projection.d.ts +6 -35
  563. package/daemon/dist/domain/ps-projection.d.ts.map +1 -1
  564. package/daemon/dist/domain/ps-projection.js +14 -55
  565. package/daemon/dist/domain/ps-projection.js.map +1 -1
  566. package/daemon/dist/domain/queue-destination-check.d.ts +6 -0
  567. package/daemon/dist/domain/queue-destination-check.d.ts.map +1 -0
  568. package/daemon/dist/domain/queue-destination-check.js +35 -0
  569. package/daemon/dist/domain/queue-destination-check.js.map +1 -0
  570. package/daemon/dist/domain/queue-owner.d.ts +6 -3
  571. package/daemon/dist/domain/queue-owner.d.ts.map +1 -1
  572. package/daemon/dist/domain/queue-owner.js +12 -6
  573. package/daemon/dist/domain/queue-owner.js.map +1 -1
  574. package/daemon/dist/domain/queue-pickup.d.ts +5 -2
  575. package/daemon/dist/domain/queue-pickup.d.ts.map +1 -1
  576. package/daemon/dist/domain/queue-pickup.js +19 -2
  577. package/daemon/dist/domain/queue-pickup.js.map +1 -1
  578. package/daemon/dist/domain/queue-recovery.d.ts +1 -1
  579. package/daemon/dist/domain/queue-recovery.d.ts.map +1 -1
  580. package/daemon/dist/domain/queue-recovery.js +3 -2
  581. package/daemon/dist/domain/queue-recovery.js.map +1 -1
  582. package/daemon/dist/domain/queue-repository.d.ts +146 -72
  583. package/daemon/dist/domain/queue-repository.d.ts.map +1 -1
  584. package/daemon/dist/domain/queue-repository.js +505 -169
  585. package/daemon/dist/domain/queue-repository.js.map +1 -1
  586. package/daemon/dist/domain/queue-retention.d.ts +18 -0
  587. package/daemon/dist/domain/queue-retention.d.ts.map +1 -1
  588. package/daemon/dist/domain/queue-retention.js +74 -0
  589. package/daemon/dist/domain/queue-retention.js.map +1 -1
  590. package/daemon/dist/domain/queue-stuck-sweep.d.ts +15 -1
  591. package/daemon/dist/domain/queue-stuck-sweep.d.ts.map +1 -1
  592. package/daemon/dist/domain/queue-stuck-sweep.js +132 -16
  593. package/daemon/dist/domain/queue-stuck-sweep.js.map +1 -1
  594. package/daemon/dist/domain/queue-transition-log.d.ts +5 -0
  595. package/daemon/dist/domain/queue-transition-log.d.ts.map +1 -1
  596. package/daemon/dist/domain/queue-transition-log.js +25 -8
  597. package/daemon/dist/domain/queue-transition-log.js.map +1 -1
  598. package/daemon/dist/domain/queue-wait-backoff.d.ts +3 -0
  599. package/daemon/dist/domain/queue-wait-backoff.d.ts.map +1 -1
  600. package/daemon/dist/domain/queue-wait-backoff.js +9 -0
  601. package/daemon/dist/domain/queue-wait-backoff.js.map +1 -1
  602. package/daemon/dist/domain/queue-waiting.d.ts +2 -0
  603. package/daemon/dist/domain/queue-waiting.d.ts.map +1 -1
  604. package/daemon/dist/domain/queue-waiting.js.map +1 -1
  605. package/daemon/dist/domain/queue-wake-ladder.d.ts +2 -0
  606. package/daemon/dist/domain/queue-wake-ladder.d.ts.map +1 -1
  607. package/daemon/dist/domain/queue-wake-ladder.js +112 -17
  608. package/daemon/dist/domain/queue-wake-ladder.js.map +1 -1
  609. package/daemon/dist/domain/quiet-hold-custody.d.ts +24 -0
  610. package/daemon/dist/domain/quiet-hold-custody.d.ts.map +1 -0
  611. package/daemon/dist/domain/quiet-hold-custody.js +85 -0
  612. package/daemon/dist/domain/quiet-hold-custody.js.map +1 -0
  613. package/daemon/dist/domain/reconciler.d.ts +23 -0
  614. package/daemon/dist/domain/reconciler.d.ts.map +1 -1
  615. package/daemon/dist/domain/reconciler.js +44 -1
  616. package/daemon/dist/domain/reconciler.js.map +1 -1
  617. package/daemon/dist/domain/rehydrate-eligibility.d.ts +12 -1
  618. package/daemon/dist/domain/rehydrate-eligibility.d.ts.map +1 -1
  619. package/daemon/dist/domain/rehydrate-eligibility.js +47 -10
  620. package/daemon/dist/domain/rehydrate-eligibility.js.map +1 -1
  621. package/daemon/dist/domain/restore-guidance.d.ts +7 -0
  622. package/daemon/dist/domain/restore-guidance.d.ts.map +1 -1
  623. package/daemon/dist/domain/restore-guidance.js +20 -8
  624. package/daemon/dist/domain/restore-guidance.js.map +1 -1
  625. package/daemon/dist/domain/restore-orchestrator.d.ts +24 -1
  626. package/daemon/dist/domain/restore-orchestrator.d.ts.map +1 -1
  627. package/daemon/dist/domain/restore-orchestrator.js +295 -41
  628. package/daemon/dist/domain/restore-orchestrator.js.map +1 -1
  629. package/daemon/dist/domain/restore-plan-preview.d.ts +10 -3
  630. package/daemon/dist/domain/restore-plan-preview.d.ts.map +1 -1
  631. package/daemon/dist/domain/restore-plan-preview.js +56 -18
  632. package/daemon/dist/domain/restore-plan-preview.js.map +1 -1
  633. package/daemon/dist/domain/restore-policy.d.ts +4 -0
  634. package/daemon/dist/domain/restore-policy.d.ts.map +1 -1
  635. package/daemon/dist/domain/restore-policy.js +11 -0
  636. package/daemon/dist/domain/restore-policy.js.map +1 -1
  637. package/daemon/dist/domain/review/gather.d.ts.map +1 -1
  638. package/daemon/dist/domain/review/gather.js +8 -5
  639. package/daemon/dist/domain/review/gather.js.map +1 -1
  640. package/daemon/dist/domain/rig-edge-ops.d.ts +58 -0
  641. package/daemon/dist/domain/rig-edge-ops.d.ts.map +1 -0
  642. package/daemon/dist/domain/rig-edge-ops.js +113 -0
  643. package/daemon/dist/domain/rig-edge-ops.js.map +1 -0
  644. package/daemon/dist/domain/rig-mode/operating-posture.d.ts.map +1 -1
  645. package/daemon/dist/domain/rig-mode/operating-posture.js +3 -1
  646. package/daemon/dist/domain/rig-mode/operating-posture.js.map +1 -1
  647. package/daemon/dist/domain/rig-name-override.d.ts +14 -0
  648. package/daemon/dist/domain/rig-name-override.d.ts.map +1 -0
  649. package/daemon/dist/domain/rig-name-override.js +38 -0
  650. package/daemon/dist/domain/rig-name-override.js.map +1 -0
  651. package/daemon/dist/domain/rig-repository.d.ts +19 -1
  652. package/daemon/dist/domain/rig-repository.d.ts.map +1 -1
  653. package/daemon/dist/domain/rig-repository.js +41 -3
  654. package/daemon/dist/domain/rig-repository.js.map +1 -1
  655. package/daemon/dist/domain/rig-status-compose.d.ts +1 -1
  656. package/daemon/dist/domain/rig-status-compose.d.ts.map +1 -1
  657. package/daemon/dist/domain/rig-status-compose.js +3 -1
  658. package/daemon/dist/domain/rig-status-compose.js.map +1 -1
  659. package/daemon/dist/domain/rig-teardown.d.ts +19 -0
  660. package/daemon/dist/domain/rig-teardown.d.ts.map +1 -1
  661. package/daemon/dist/domain/rig-teardown.js +109 -12
  662. package/daemon/dist/domain/rig-teardown.js.map +1 -1
  663. package/daemon/dist/domain/rigspec-codec.d.ts.map +1 -1
  664. package/daemon/dist/domain/rigspec-codec.js +10 -0
  665. package/daemon/dist/domain/rigspec-codec.js.map +1 -1
  666. package/daemon/dist/domain/rigspec-exporter.d.ts +3 -0
  667. package/daemon/dist/domain/rigspec-exporter.d.ts.map +1 -1
  668. package/daemon/dist/domain/rigspec-exporter.js +22 -0
  669. package/daemon/dist/domain/rigspec-exporter.js.map +1 -1
  670. package/daemon/dist/domain/rigspec-instantiator.d.ts +39 -2
  671. package/daemon/dist/domain/rigspec-instantiator.d.ts.map +1 -1
  672. package/daemon/dist/domain/rigspec-instantiator.js +319 -73
  673. package/daemon/dist/domain/rigspec-instantiator.js.map +1 -1
  674. package/daemon/dist/domain/rigspec-preflight.d.ts.map +1 -1
  675. package/daemon/dist/domain/rigspec-preflight.js +15 -2
  676. package/daemon/dist/domain/rigspec-preflight.js.map +1 -1
  677. package/daemon/dist/domain/rigspec-schema.d.ts +8 -0
  678. package/daemon/dist/domain/rigspec-schema.d.ts.map +1 -1
  679. package/daemon/dist/domain/rigspec-schema.js +97 -3
  680. package/daemon/dist/domain/rigspec-schema.js.map +1 -1
  681. package/daemon/dist/domain/runtime-adapter.d.ts +47 -3
  682. package/daemon/dist/domain/runtime-adapter.d.ts.map +1 -1
  683. package/daemon/dist/domain/runtime-adapter.js +5 -1
  684. package/daemon/dist/domain/runtime-adapter.js.map +1 -1
  685. package/daemon/dist/domain/scope/scope-view-projection.d.ts +6 -0
  686. package/daemon/dist/domain/scope/scope-view-projection.d.ts.map +1 -1
  687. package/daemon/dist/domain/scope/scope-view-projection.js +26 -10
  688. package/daemon/dist/domain/scope/scope-view-projection.js.map +1 -1
  689. package/daemon/dist/domain/seat-activity-service.d.ts +22 -5
  690. package/daemon/dist/domain/seat-activity-service.d.ts.map +1 -1
  691. package/daemon/dist/domain/seat-activity-service.js +137 -62
  692. package/daemon/dist/domain/seat-activity-service.js.map +1 -1
  693. package/daemon/dist/domain/seat-attention-reconciler.d.ts +27 -1
  694. package/daemon/dist/domain/seat-attention-reconciler.d.ts.map +1 -1
  695. package/daemon/dist/domain/seat-attention-reconciler.js +63 -7
  696. package/daemon/dist/domain/seat-attention-reconciler.js.map +1 -1
  697. package/daemon/dist/domain/seat-delivery-guard.d.ts +20 -1
  698. package/daemon/dist/domain/seat-delivery-guard.d.ts.map +1 -1
  699. package/daemon/dist/domain/seat-delivery-guard.js +87 -16
  700. package/daemon/dist/domain/seat-delivery-guard.js.map +1 -1
  701. package/daemon/dist/domain/seat-handover-service.d.ts +10 -2
  702. package/daemon/dist/domain/seat-handover-service.d.ts.map +1 -1
  703. package/daemon/dist/domain/seat-handover-service.js +100 -4
  704. package/daemon/dist/domain/seat-handover-service.js.map +1 -1
  705. package/daemon/dist/domain/seat-identity-reconciler.js +1 -1
  706. package/daemon/dist/domain/seat-identity-reconciler.js.map +1 -1
  707. package/daemon/dist/domain/seat-identity-store.d.ts +11 -1
  708. package/daemon/dist/domain/seat-identity-store.d.ts.map +1 -1
  709. package/daemon/dist/domain/seat-identity-store.js +32 -4
  710. package/daemon/dist/domain/seat-identity-store.js.map +1 -1
  711. package/daemon/dist/domain/seat-launch-additions.d.ts +115 -0
  712. package/daemon/dist/domain/seat-launch-additions.d.ts.map +1 -0
  713. package/daemon/dist/domain/seat-launch-additions.js +439 -0
  714. package/daemon/dist/domain/seat-launch-additions.js.map +1 -0
  715. package/daemon/dist/domain/seat-launch-environment.d.ts +1 -1
  716. package/daemon/dist/domain/seat-launch-environment.d.ts.map +1 -1
  717. package/daemon/dist/domain/seat-launch-environment.js +18 -2
  718. package/daemon/dist/domain/seat-launch-environment.js.map +1 -1
  719. package/daemon/dist/domain/seat-lifecycle-service.d.ts +83 -4
  720. package/daemon/dist/domain/seat-lifecycle-service.d.ts.map +1 -1
  721. package/daemon/dist/domain/seat-lifecycle-service.js +202 -12
  722. package/daemon/dist/domain/seat-lifecycle-service.js.map +1 -1
  723. package/daemon/dist/domain/seat-restart-in-place.d.ts +33 -14
  724. package/daemon/dist/domain/seat-restart-in-place.d.ts.map +1 -1
  725. package/daemon/dist/domain/seat-restart-in-place.js +102 -30
  726. package/daemon/dist/domain/seat-restart-in-place.js.map +1 -1
  727. package/daemon/dist/domain/seat-skill-apply.d.ts +139 -0
  728. package/daemon/dist/domain/seat-skill-apply.d.ts.map +1 -0
  729. package/daemon/dist/domain/seat-skill-apply.js +221 -0
  730. package/daemon/dist/domain/seat-skill-apply.js.map +1 -0
  731. package/daemon/dist/domain/seat-skill-storage.d.ts +295 -0
  732. package/daemon/dist/domain/seat-skill-storage.d.ts.map +1 -0
  733. package/daemon/dist/domain/seat-skill-storage.js +850 -0
  734. package/daemon/dist/domain/seat-skill-storage.js.map +1 -0
  735. package/daemon/dist/domain/seat-status-service.d.ts +9 -0
  736. package/daemon/dist/domain/seat-status-service.d.ts.map +1 -1
  737. package/daemon/dist/domain/seat-status-service.js +15 -3
  738. package/daemon/dist/domain/seat-status-service.js.map +1 -1
  739. package/daemon/dist/domain/self-attach-service.d.ts +3 -2
  740. package/daemon/dist/domain/self-attach-service.d.ts.map +1 -1
  741. package/daemon/dist/domain/self-attach-service.js +18 -1
  742. package/daemon/dist/domain/self-attach-service.js.map +1 -1
  743. package/daemon/dist/domain/services-readiness.d.ts.map +1 -1
  744. package/daemon/dist/domain/services-readiness.js +14 -3
  745. package/daemon/dist/domain/services-readiness.js.map +1 -1
  746. package/daemon/dist/domain/session-registry.d.ts +49 -0
  747. package/daemon/dist/domain/session-registry.d.ts.map +1 -1
  748. package/daemon/dist/domain/session-registry.js +137 -0
  749. package/daemon/dist/domain/session-registry.js.map +1 -1
  750. package/daemon/dist/domain/session-transport.d.ts +76 -27
  751. package/daemon/dist/domain/session-transport.d.ts.map +1 -1
  752. package/daemon/dist/domain/session-transport.js +202 -82
  753. package/daemon/dist/domain/session-transport.js.map +1 -1
  754. package/daemon/dist/domain/skill-catalog.d.ts +16 -0
  755. package/daemon/dist/domain/skill-catalog.d.ts.map +1 -1
  756. package/daemon/dist/domain/skill-catalog.js +15 -6
  757. package/daemon/dist/domain/skill-catalog.js.map +1 -1
  758. package/daemon/dist/domain/skill-discovery.d.ts +24 -3
  759. package/daemon/dist/domain/skill-discovery.d.ts.map +1 -1
  760. package/daemon/dist/domain/skill-discovery.js +85 -12
  761. package/daemon/dist/domain/skill-discovery.js.map +1 -1
  762. package/daemon/dist/domain/snapshot-repository.d.ts +1 -0
  763. package/daemon/dist/domain/snapshot-repository.d.ts.map +1 -1
  764. package/daemon/dist/domain/snapshot-repository.js +23 -10
  765. package/daemon/dist/domain/snapshot-repository.js.map +1 -1
  766. package/daemon/dist/domain/startup-orchestrator.d.ts +47 -5
  767. package/daemon/dist/domain/startup-orchestrator.d.ts.map +1 -1
  768. package/daemon/dist/domain/startup-orchestrator.js +291 -29
  769. package/daemon/dist/domain/startup-orchestrator.js.map +1 -1
  770. package/daemon/dist/domain/startup-submission-evidence.d.ts +4 -11
  771. package/daemon/dist/domain/startup-submission-evidence.d.ts.map +1 -1
  772. package/daemon/dist/domain/startup-submission-evidence.js +11 -17
  773. package/daemon/dist/domain/startup-submission-evidence.js.map +1 -1
  774. package/daemon/dist/domain/stream-dispositions.d.ts +51 -0
  775. package/daemon/dist/domain/stream-dispositions.d.ts.map +1 -0
  776. package/daemon/dist/domain/stream-dispositions.js +112 -0
  777. package/daemon/dist/domain/stream-dispositions.js.map +1 -0
  778. package/daemon/dist/domain/stream-store.d.ts +22 -0
  779. package/daemon/dist/domain/stream-store.d.ts.map +1 -1
  780. package/daemon/dist/domain/stream-store.js +49 -6
  781. package/daemon/dist/domain/stream-store.js.map +1 -1
  782. package/daemon/dist/domain/stream-subscriptions.d.ts +94 -0
  783. package/daemon/dist/domain/stream-subscriptions.d.ts.map +1 -0
  784. package/daemon/dist/domain/stream-subscriptions.js +160 -0
  785. package/daemon/dist/domain/stream-subscriptions.js.map +1 -0
  786. package/daemon/dist/domain/successor-session-launcher.d.ts +8 -1
  787. package/daemon/dist/domain/successor-session-launcher.d.ts.map +1 -1
  788. package/daemon/dist/domain/successor-session-launcher.js +6 -1
  789. package/daemon/dist/domain/successor-session-launcher.js.map +1 -1
  790. package/daemon/dist/domain/terminal/herdr-adapter.d.ts +3 -1
  791. package/daemon/dist/domain/terminal/herdr-adapter.d.ts.map +1 -1
  792. package/daemon/dist/domain/terminal/herdr-adapter.js +125 -4
  793. package/daemon/dist/domain/terminal/herdr-adapter.js.map +1 -1
  794. package/daemon/dist/domain/terminal/herdr-sessions.d.ts +9 -0
  795. package/daemon/dist/domain/terminal/herdr-sessions.d.ts.map +1 -0
  796. package/daemon/dist/domain/terminal/herdr-sessions.js +23 -0
  797. package/daemon/dist/domain/terminal/herdr-sessions.js.map +1 -0
  798. package/daemon/dist/domain/terminal/terminal-provider.d.ts +4 -0
  799. package/daemon/dist/domain/terminal/terminal-provider.d.ts.map +1 -1
  800. package/daemon/dist/domain/terminal/terminal-service.d.ts +12 -3
  801. package/daemon/dist/domain/terminal/terminal-service.d.ts.map +1 -1
  802. package/daemon/dist/domain/terminal/terminal-service.js +42 -17
  803. package/daemon/dist/domain/terminal/terminal-service.js.map +1 -1
  804. package/daemon/dist/domain/terminal/view-composer.d.ts.map +1 -1
  805. package/daemon/dist/domain/terminal/view-composer.js +1 -0
  806. package/daemon/dist/domain/terminal/view-composer.js.map +1 -1
  807. package/daemon/dist/domain/terminal-policy.d.ts +80 -0
  808. package/daemon/dist/domain/terminal-policy.d.ts.map +1 -0
  809. package/daemon/dist/domain/terminal-policy.js +117 -0
  810. package/daemon/dist/domain/terminal-policy.js.map +1 -0
  811. package/daemon/dist/domain/terminal-seat.d.ts +9 -0
  812. package/daemon/dist/domain/terminal-seat.d.ts.map +1 -0
  813. package/daemon/dist/domain/terminal-seat.js +37 -0
  814. package/daemon/dist/domain/terminal-seat.js.map +1 -0
  815. package/daemon/dist/domain/topology-converge.d.ts +25 -2
  816. package/daemon/dist/domain/topology-converge.d.ts.map +1 -1
  817. package/daemon/dist/domain/topology-converge.js +14 -1
  818. package/daemon/dist/domain/topology-converge.js.map +1 -1
  819. package/daemon/dist/domain/types.d.ts +73 -6
  820. package/daemon/dist/domain/types.d.ts.map +1 -1
  821. package/daemon/dist/domain/types.js.map +1 -1
  822. package/daemon/dist/domain/urgent-line.d.ts +4 -0
  823. package/daemon/dist/domain/urgent-line.d.ts.map +1 -0
  824. package/daemon/dist/domain/urgent-line.js +7 -0
  825. package/daemon/dist/domain/urgent-line.js.map +1 -0
  826. package/daemon/dist/domain/usage-series.d.ts.map +1 -1
  827. package/daemon/dist/domain/usage-series.js +6 -2
  828. package/daemon/dist/domain/usage-series.js.map +1 -1
  829. package/daemon/dist/domain/user-settings/settings-browser.d.ts.map +1 -1
  830. package/daemon/dist/domain/user-settings/settings-browser.js +4 -2
  831. package/daemon/dist/domain/user-settings/settings-browser.js.map +1 -1
  832. package/daemon/dist/domain/user-settings/settings-store.d.ts +3 -1
  833. package/daemon/dist/domain/user-settings/settings-store.d.ts.map +1 -1
  834. package/daemon/dist/domain/user-settings/settings-store.js +106 -8
  835. package/daemon/dist/domain/user-settings/settings-store.js.map +1 -1
  836. package/daemon/dist/domain/view-projector.d.ts.map +1 -1
  837. package/daemon/dist/domain/view-projector.js +2 -1
  838. package/daemon/dist/domain/view-projector.js.map +1 -1
  839. package/daemon/dist/domain/watchdog-delivery.d.ts +3 -23
  840. package/daemon/dist/domain/watchdog-delivery.d.ts.map +1 -1
  841. package/daemon/dist/domain/watchdog-delivery.js +12 -89
  842. package/daemon/dist/domain/watchdog-delivery.js.map +1 -1
  843. package/daemon/dist/domain/watchdog-history-log.d.ts +5 -2
  844. package/daemon/dist/domain/watchdog-history-log.d.ts.map +1 -1
  845. package/daemon/dist/domain/watchdog-history-log.js.map +1 -1
  846. package/daemon/dist/domain/watchdog-job-update.d.ts +21 -0
  847. package/daemon/dist/domain/watchdog-job-update.d.ts.map +1 -0
  848. package/daemon/dist/domain/watchdog-job-update.js +143 -0
  849. package/daemon/dist/domain/watchdog-job-update.js.map +1 -0
  850. package/daemon/dist/domain/watchdog-jobs-repository.d.ts +65 -9
  851. package/daemon/dist/domain/watchdog-jobs-repository.d.ts.map +1 -1
  852. package/daemon/dist/domain/watchdog-jobs-repository.js +194 -21
  853. package/daemon/dist/domain/watchdog-jobs-repository.js.map +1 -1
  854. package/daemon/dist/domain/watchdog-policy-engine.d.ts +39 -24
  855. package/daemon/dist/domain/watchdog-policy-engine.d.ts.map +1 -1
  856. package/daemon/dist/domain/watchdog-policy-engine.js +89 -55
  857. package/daemon/dist/domain/watchdog-policy-engine.js.map +1 -1
  858. package/daemon/dist/domain/whoami-service.d.ts +2 -0
  859. package/daemon/dist/domain/whoami-service.d.ts.map +1 -1
  860. package/daemon/dist/domain/whoami-service.js +23 -6
  861. package/daemon/dist/domain/whoami-service.js.map +1 -1
  862. package/daemon/dist/domain/workflow-boot-sweep.d.ts +2 -1
  863. package/daemon/dist/domain/workflow-boot-sweep.d.ts.map +1 -1
  864. package/daemon/dist/domain/workflow-boot-sweep.js +11 -5
  865. package/daemon/dist/domain/workflow-boot-sweep.js.map +1 -1
  866. package/daemon/dist/domain/workflow-exception-escalation.d.ts.map +1 -1
  867. package/daemon/dist/domain/workflow-exception-escalation.js +9 -4
  868. package/daemon/dist/domain/workflow-exception-escalation.js.map +1 -1
  869. package/daemon/dist/domain/workflow-projector.d.ts +5 -2
  870. package/daemon/dist/domain/workflow-projector.d.ts.map +1 -1
  871. package/daemon/dist/domain/workflow-projector.js +21 -9
  872. package/daemon/dist/domain/workflow-projector.js.map +1 -1
  873. package/daemon/dist/domain/workflow-role-context.js +2 -2
  874. package/daemon/dist/domain/workflow-role-context.js.map +1 -1
  875. package/daemon/dist/domain/workflow-runtime.d.ts +8 -2
  876. package/daemon/dist/domain/workflow-runtime.d.ts.map +1 -1
  877. package/daemon/dist/domain/workflow-runtime.js +32 -7
  878. package/daemon/dist/domain/workflow-runtime.js.map +1 -1
  879. package/daemon/dist/domain/workspace/project-read.d.ts +2 -0
  880. package/daemon/dist/domain/workspace/project-read.d.ts.map +1 -1
  881. package/daemon/dist/domain/workspace/project-read.js +10 -1
  882. package/daemon/dist/domain/workspace/project-read.js.map +1 -1
  883. package/daemon/dist/index.d.ts.map +1 -1
  884. package/daemon/dist/index.js +2 -0
  885. package/daemon/dist/index.js.map +1 -1
  886. package/daemon/dist/router-line-surface.d.ts +2 -0
  887. package/daemon/dist/router-line-surface.d.ts.map +1 -0
  888. package/daemon/dist/router-line-surface.js +3 -0
  889. package/daemon/dist/router-line-surface.js.map +1 -0
  890. package/daemon/dist/routes/activity.d.ts +13 -1
  891. package/daemon/dist/routes/activity.d.ts.map +1 -1
  892. package/daemon/dist/routes/activity.js +70 -2
  893. package/daemon/dist/routes/activity.js.map +1 -1
  894. package/daemon/dist/routes/agent-images.d.ts.map +1 -1
  895. package/daemon/dist/routes/agent-images.js +12 -2
  896. package/daemon/dist/routes/agent-images.js.map +1 -1
  897. package/daemon/dist/routes/attention.d.ts.map +1 -1
  898. package/daemon/dist/routes/attention.js +30 -3
  899. package/daemon/dist/routes/attention.js.map +1 -1
  900. package/daemon/dist/routes/bootstrap-failure-response.js +2 -2
  901. package/daemon/dist/routes/bootstrap-failure-response.js.map +1 -1
  902. package/daemon/dist/routes/bundles.js +1 -1
  903. package/daemon/dist/routes/bundles.js.map +1 -1
  904. package/daemon/dist/routes/compaction.d.ts.map +1 -1
  905. package/daemon/dist/routes/compaction.js +38 -12
  906. package/daemon/dist/routes/compaction.js.map +1 -1
  907. package/daemon/dist/routes/discovery.js +3 -0
  908. package/daemon/dist/routes/discovery.js.map +1 -1
  909. package/daemon/dist/routes/down.js +9 -1
  910. package/daemon/dist/routes/down.js.map +1 -1
  911. package/daemon/dist/routes/gateway.d.ts +2 -0
  912. package/daemon/dist/routes/gateway.d.ts.map +1 -1
  913. package/daemon/dist/routes/gateway.js +181 -1
  914. package/daemon/dist/routes/gateway.js.map +1 -1
  915. package/daemon/dist/routes/hosts.d.ts.map +1 -1
  916. package/daemon/dist/routes/hosts.js +2 -0
  917. package/daemon/dist/routes/hosts.js.map +1 -1
  918. package/daemon/dist/routes/kernel-status.js +6 -1
  919. package/daemon/dist/routes/kernel-status.js.map +1 -1
  920. package/daemon/dist/routes/mission-control.d.ts.map +1 -1
  921. package/daemon/dist/routes/mission-control.js +5 -1
  922. package/daemon/dist/routes/mission-control.js.map +1 -1
  923. package/daemon/dist/routes/projects.d.ts.map +1 -1
  924. package/daemon/dist/routes/projects.js +59 -12
  925. package/daemon/dist/routes/projects.js.map +1 -1
  926. package/daemon/dist/routes/proof.js +2 -2
  927. package/daemon/dist/routes/proof.js.map +1 -1
  928. package/daemon/dist/routes/provider.d.ts.map +1 -1
  929. package/daemon/dist/routes/provider.js +87 -73
  930. package/daemon/dist/routes/provider.js.map +1 -1
  931. package/daemon/dist/routes/queue.d.ts.map +1 -1
  932. package/daemon/dist/routes/queue.js +125 -16
  933. package/daemon/dist/routes/queue.js.map +1 -1
  934. package/daemon/dist/routes/rigs.d.ts.map +1 -1
  935. package/daemon/dist/routes/rigs.js +104 -20
  936. package/daemon/dist/routes/rigs.js.map +1 -1
  937. package/daemon/dist/routes/rigspec.d.ts.map +1 -1
  938. package/daemon/dist/routes/rigspec.js +40 -15
  939. package/daemon/dist/routes/rigspec.js.map +1 -1
  940. package/daemon/dist/routes/scopes.d.ts.map +1 -1
  941. package/daemon/dist/routes/scopes.js +30 -7
  942. package/daemon/dist/routes/scopes.js.map +1 -1
  943. package/daemon/dist/routes/seat.d.ts.map +1 -1
  944. package/daemon/dist/routes/seat.js +21 -5
  945. package/daemon/dist/routes/seat.js.map +1 -1
  946. package/daemon/dist/routes/sessions.js +5 -0
  947. package/daemon/dist/routes/sessions.js.map +1 -1
  948. package/daemon/dist/routes/skills.d.ts.map +1 -1
  949. package/daemon/dist/routes/skills.js +55 -2
  950. package/daemon/dist/routes/skills.js.map +1 -1
  951. package/daemon/dist/routes/stream.d.ts.map +1 -1
  952. package/daemon/dist/routes/stream.js +62 -13
  953. package/daemon/dist/routes/stream.js.map +1 -1
  954. package/daemon/dist/routes/terminal.d.ts.map +1 -1
  955. package/daemon/dist/routes/terminal.js +20 -11
  956. package/daemon/dist/routes/terminal.js.map +1 -1
  957. package/daemon/dist/routes/transcripts.d.ts.map +1 -1
  958. package/daemon/dist/routes/transcripts.js +7 -3
  959. package/daemon/dist/routes/transcripts.js.map +1 -1
  960. package/daemon/dist/routes/transport.d.ts.map +1 -1
  961. package/daemon/dist/routes/transport.js +25 -3
  962. package/daemon/dist/routes/transport.js.map +1 -1
  963. package/daemon/dist/routes/up.js +41 -52
  964. package/daemon/dist/routes/up.js.map +1 -1
  965. package/daemon/dist/routes/watchdog.d.ts +1 -0
  966. package/daemon/dist/routes/watchdog.d.ts.map +1 -1
  967. package/daemon/dist/routes/watchdog.js +52 -3
  968. package/daemon/dist/routes/watchdog.js.map +1 -1
  969. package/daemon/dist/routes/workflow.d.ts.map +1 -1
  970. package/daemon/dist/routes/workflow.js +24 -13
  971. package/daemon/dist/routes/workflow.js.map +1 -1
  972. package/daemon/dist/server.d.ts +2 -0
  973. package/daemon/dist/server.d.ts.map +1 -1
  974. package/daemon/dist/server.js +4 -1
  975. package/daemon/dist/server.js.map +1 -1
  976. package/daemon/dist/skill-loadout-surface.d.ts +2 -0
  977. package/daemon/dist/skill-loadout-surface.d.ts.map +1 -1
  978. package/daemon/dist/skill-loadout-surface.js +2 -0
  979. package/daemon/dist/skill-loadout-surface.js.map +1 -1
  980. package/daemon/dist/startup.d.ts.map +1 -1
  981. package/daemon/dist/startup.js +156 -81
  982. package/daemon/dist/startup.js.map +1 -1
  983. package/daemon/dist/terminal/TerminalSessionBroker.d.ts.map +1 -1
  984. package/daemon/dist/terminal/TerminalSessionBroker.js +9 -2
  985. package/daemon/dist/terminal/TerminalSessionBroker.js.map +1 -1
  986. package/daemon/docs/reference/a2a-agents.md +343 -0
  987. package/daemon/docs/reference/acp-agents.md +77 -0
  988. package/daemon/docs/reference/agent-spec.md +7 -5
  989. package/daemon/docs/reference/agent-startup-guide.md +46 -0
  990. package/daemon/docs/reference/agent-state-taxonomy.md +43 -3
  991. package/daemon/docs/reference/checked-seat-stop.md +11 -0
  992. package/daemon/docs/reference/community-harness-examples/cursor/cursor.yaml +13 -0
  993. package/daemon/docs/reference/community-harness-examples/cursor/openrig-cursor-launch +61 -0
  994. package/daemon/docs/reference/community-harness-examples/hermes/config.yaml.example +18 -0
  995. package/daemon/docs/reference/community-harness-examples/hermes/hermes.yaml +12 -0
  996. package/daemon/docs/reference/community-harness-examples/hermes/openrig-hermes-launch +34 -0
  997. package/daemon/docs/reference/community-harness-examples/openclaw/openclaw.yaml +13 -0
  998. package/daemon/docs/reference/community-harness-examples/openclaw/openrig-openclaw-launch +38 -0
  999. package/daemon/docs/reference/community-harness-presets.md +179 -0
  1000. package/daemon/docs/reference/getting-started.md +148 -23
  1001. package/daemon/docs/reference/operation-correlation.md +9 -0
  1002. package/daemon/docs/reference/project-workspace.md +6 -0
  1003. package/daemon/docs/reference/quickstart.md +33 -20
  1004. package/daemon/docs/reference/refocus-channel.md +11 -3
  1005. package/daemon/docs/reference/rig-spec.md +83 -3
  1006. package/daemon/docs/reference/seat-delivery.md +130 -20
  1007. package/daemon/docs/reference/slack-app-setup.md +52 -3
  1008. package/daemon/docs/reference/stream-classifier-worker.md +28 -0
  1009. package/daemon/docs/reference/telemetry.md +3 -0
  1010. package/daemon/docs/reference/terminal-sessions.md +90 -0
  1011. package/daemon/docs/reference/topology-naming.md +1 -1
  1012. package/daemon/docs/reference/whats-new.md +173 -69
  1013. package/daemon/specs/agents/shared/runtime/claude-settings.fragment.json +0 -3
  1014. package/daemon/specs/agents/shared/skills/core/messaging-the-human/SKILL.md +43 -4
  1015. package/daemon/specs/agents/shared/skills/core/openrig-herdr/SKILL.md +3 -0
  1016. package/daemon/specs/agents/shared/skills/core/openrig-skills/SKILL.md +2 -2
  1017. package/daemon/specs/agents/shared/skills/core/openrig-software-factory/references/worked-example.md +2 -2
  1018. package/daemon/specs/agents/shared/skills/core/openrig-upgrade/SKILL.md +11 -5
  1019. package/daemon/specs/agents/shared/skills/pods/development-team/SKILL.md +2 -0
  1020. package/daemon/specs/agents/shared/skills/pods/development-team/references/refactoring.md +11 -0
  1021. package/daemon/specs/agents/shared/skills/pods/review-team/SKILL.md +46 -96
  1022. package/daemon/specs/agents/shared/skills/process/verification-before-completion/SKILL.md +17 -80
  1023. package/daemon/specs/agents/shared/skills/process/verification-before-completion/references/performance-claims.md +12 -0
  1024. package/daemon/specs/rigs/launch/kernel/agents/operator/agent/guidance/role.md +129 -24
  1025. package/daemon/specs/rigs/launch/kernel/agents/queue/worker/guidance/role.md +11 -0
  1026. package/daemon/specs/rigs/launch/kernel/agents/queue/worker/startup/context.md +3 -1
  1027. package/daemon/specs/rigs/launch/secrets-manager/secrets-manager.compose.yaml +1 -1
  1028. package/dist/acp/connector.d.ts +72 -0
  1029. package/dist/acp/connector.d.ts.map +1 -0
  1030. package/dist/acp/connector.js +218 -0
  1031. package/dist/acp/connector.js.map +1 -0
  1032. package/dist/acp/json-rpc-stdio.d.ts +53 -0
  1033. package/dist/acp/json-rpc-stdio.d.ts.map +1 -0
  1034. package/dist/acp/json-rpc-stdio.js +141 -0
  1035. package/dist/acp/json-rpc-stdio.js.map +1 -0
  1036. package/dist/acp/run-processes.d.ts +10 -0
  1037. package/dist/acp/run-processes.d.ts.map +1 -0
  1038. package/dist/acp/run-processes.js +33 -0
  1039. package/dist/acp/run-processes.js.map +1 -0
  1040. package/dist/build-info.js +3 -3
  1041. package/dist/cli-error.d.ts +4 -0
  1042. package/dist/cli-error.d.ts.map +1 -1
  1043. package/dist/cli-error.js +6 -0
  1044. package/dist/cli-error.js.map +1 -1
  1045. package/dist/client.d.ts +7 -2
  1046. package/dist/client.d.ts.map +1 -1
  1047. package/dist/client.js +14 -7
  1048. package/dist/client.js.map +1 -1
  1049. package/dist/commands/acp.d.ts +11 -0
  1050. package/dist/commands/acp.d.ts.map +1 -0
  1051. package/dist/commands/acp.js +198 -0
  1052. package/dist/commands/acp.js.map +1 -0
  1053. package/dist/commands/agent-image.d.ts.map +1 -1
  1054. package/dist/commands/agent-image.js +15 -7
  1055. package/dist/commands/agent-image.js.map +1 -1
  1056. package/dist/commands/archive.d.ts.map +1 -1
  1057. package/dist/commands/archive.js +17 -3
  1058. package/dist/commands/archive.js.map +1 -1
  1059. package/dist/commands/attach.d.ts.map +1 -1
  1060. package/dist/commands/attach.js +7 -5
  1061. package/dist/commands/attach.js.map +1 -1
  1062. package/dist/commands/auth.d.ts +3 -0
  1063. package/dist/commands/auth.d.ts.map +1 -1
  1064. package/dist/commands/auth.js +39 -10
  1065. package/dist/commands/auth.js.map +1 -1
  1066. package/dist/commands/broadcast.js +2 -0
  1067. package/dist/commands/broadcast.js.map +1 -1
  1068. package/dist/commands/community-harness.d.ts.map +1 -1
  1069. package/dist/commands/community-harness.js +2 -1
  1070. package/dist/commands/community-harness.js.map +1 -1
  1071. package/dist/commands/compact-plan.d.ts +2 -0
  1072. package/dist/commands/compact-plan.d.ts.map +1 -1
  1073. package/dist/commands/compact-plan.js +40 -4
  1074. package/dist/commands/compact-plan.js.map +1 -1
  1075. package/dist/commands/compact.d.ts.map +1 -1
  1076. package/dist/commands/compact.js +11 -4
  1077. package/dist/commands/compact.js.map +1 -1
  1078. package/dist/commands/config.d.ts.map +1 -1
  1079. package/dist/commands/config.js +17 -3
  1080. package/dist/commands/config.js.map +1 -1
  1081. package/dist/commands/context.d.ts.map +1 -1
  1082. package/dist/commands/context.js +16 -9
  1083. package/dist/commands/context.js.map +1 -1
  1084. package/dist/commands/create.js +2 -2
  1085. package/dist/commands/create.js.map +1 -1
  1086. package/dist/commands/daemon.d.ts.map +1 -1
  1087. package/dist/commands/daemon.js +2 -0
  1088. package/dist/commands/daemon.js.map +1 -1
  1089. package/dist/commands/down.d.ts +5 -1
  1090. package/dist/commands/down.d.ts.map +1 -1
  1091. package/dist/commands/down.js +87 -3
  1092. package/dist/commands/down.js.map +1 -1
  1093. package/dist/commands/edge.d.ts +4 -0
  1094. package/dist/commands/edge.d.ts.map +1 -0
  1095. package/dist/commands/edge.js +135 -0
  1096. package/dist/commands/edge.js.map +1 -0
  1097. package/dist/commands/expand.d.ts.map +1 -1
  1098. package/dist/commands/expand.js +16 -2
  1099. package/dist/commands/expand.js.map +1 -1
  1100. package/dist/commands/export.d.ts +1 -0
  1101. package/dist/commands/export.d.ts.map +1 -1
  1102. package/dist/commands/export.js +60 -2
  1103. package/dist/commands/export.js.map +1 -1
  1104. package/dist/commands/fork.d.ts.map +1 -1
  1105. package/dist/commands/fork.js +22 -3
  1106. package/dist/commands/fork.js.map +1 -1
  1107. package/dist/commands/gateway.d.ts +39 -0
  1108. package/dist/commands/gateway.d.ts.map +1 -1
  1109. package/dist/commands/gateway.js +311 -3
  1110. package/dist/commands/gateway.js.map +1 -1
  1111. package/dist/commands/grow.js +2 -2
  1112. package/dist/commands/grow.js.map +1 -1
  1113. package/dist/commands/health.js +3 -2
  1114. package/dist/commands/health.js.map +1 -1
  1115. package/dist/commands/host.d.ts +1 -1
  1116. package/dist/commands/host.d.ts.map +1 -1
  1117. package/dist/commands/host.js +2 -2
  1118. package/dist/commands/host.js.map +1 -1
  1119. package/dist/commands/launch.d.ts.map +1 -1
  1120. package/dist/commands/launch.js +10 -3
  1121. package/dist/commands/launch.js.map +1 -1
  1122. package/dist/commands/mcp.d.ts.map +1 -1
  1123. package/dist/commands/mcp.js +113 -1
  1124. package/dist/commands/mcp.js.map +1 -1
  1125. package/dist/commands/plugin.d.ts.map +1 -1
  1126. package/dist/commands/plugin.js +2 -1
  1127. package/dist/commands/plugin.js.map +1 -1
  1128. package/dist/commands/project-worker.d.ts +25 -1
  1129. package/dist/commands/project-worker.d.ts.map +1 -1
  1130. package/dist/commands/project-worker.js +9 -7
  1131. package/dist/commands/project-worker.js.map +1 -1
  1132. package/dist/commands/project.d.ts +2 -0
  1133. package/dist/commands/project.d.ts.map +1 -1
  1134. package/dist/commands/project.js +64 -1
  1135. package/dist/commands/project.js.map +1 -1
  1136. package/dist/commands/provider.d.ts.map +1 -1
  1137. package/dist/commands/provider.js +72 -44
  1138. package/dist/commands/provider.js.map +1 -1
  1139. package/dist/commands/ps.d.ts +16 -1
  1140. package/dist/commands/ps.d.ts.map +1 -1
  1141. package/dist/commands/ps.js +145 -52
  1142. package/dist/commands/ps.js.map +1 -1
  1143. package/dist/commands/queue.d.ts +7 -1
  1144. package/dist/commands/queue.d.ts.map +1 -1
  1145. package/dist/commands/queue.js +97 -13
  1146. package/dist/commands/queue.js.map +1 -1
  1147. package/dist/commands/reconcile-session.d.ts.map +1 -1
  1148. package/dist/commands/reconcile-session.js +6 -0
  1149. package/dist/commands/reconcile-session.js.map +1 -1
  1150. package/dist/commands/release.d.ts.map +1 -1
  1151. package/dist/commands/release.js +16 -2
  1152. package/dist/commands/release.js.map +1 -1
  1153. package/dist/commands/restore-check.d.ts.map +1 -1
  1154. package/dist/commands/restore-check.js +2 -1
  1155. package/dist/commands/restore-check.js.map +1 -1
  1156. package/dist/commands/restore-packet.d.ts.map +1 -1
  1157. package/dist/commands/restore-packet.js +2 -1
  1158. package/dist/commands/restore-packet.js.map +1 -1
  1159. package/dist/commands/restore.d.ts.map +1 -1
  1160. package/dist/commands/restore.js +23 -6
  1161. package/dist/commands/restore.js.map +1 -1
  1162. package/dist/commands/scope.d.ts.map +1 -1
  1163. package/dist/commands/scope.js +5 -2
  1164. package/dist/commands/scope.js.map +1 -1
  1165. package/dist/commands/seat.d.ts +2 -0
  1166. package/dist/commands/seat.d.ts.map +1 -1
  1167. package/dist/commands/seat.js +124 -10
  1168. package/dist/commands/seat.js.map +1 -1
  1169. package/dist/commands/send.d.ts.map +1 -1
  1170. package/dist/commands/send.js +87 -56
  1171. package/dist/commands/send.js.map +1 -1
  1172. package/dist/commands/setup.d.ts +27 -0
  1173. package/dist/commands/setup.d.ts.map +1 -1
  1174. package/dist/commands/setup.js +189 -16
  1175. package/dist/commands/setup.js.map +1 -1
  1176. package/dist/commands/shrink.d.ts.map +1 -1
  1177. package/dist/commands/shrink.js +16 -2
  1178. package/dist/commands/shrink.js.map +1 -1
  1179. package/dist/commands/skill.d.ts.map +1 -1
  1180. package/dist/commands/skill.js +116 -3
  1181. package/dist/commands/skill.js.map +1 -1
  1182. package/dist/commands/slack.d.ts.map +1 -1
  1183. package/dist/commands/slack.js +11 -24
  1184. package/dist/commands/slack.js.map +1 -1
  1185. package/dist/commands/snapshot.d.ts.map +1 -1
  1186. package/dist/commands/snapshot.js +36 -10
  1187. package/dist/commands/snapshot.js.map +1 -1
  1188. package/dist/commands/specs.d.ts.map +1 -1
  1189. package/dist/commands/specs.js +11 -5
  1190. package/dist/commands/specs.js.map +1 -1
  1191. package/dist/commands/start.d.ts.map +1 -1
  1192. package/dist/commands/start.js +54 -35
  1193. package/dist/commands/start.js.map +1 -1
  1194. package/dist/commands/status.d.ts.map +1 -1
  1195. package/dist/commands/status.js +8 -2
  1196. package/dist/commands/status.js.map +1 -1
  1197. package/dist/commands/stream-outcome.d.ts +157 -0
  1198. package/dist/commands/stream-outcome.d.ts.map +1 -0
  1199. package/dist/commands/stream-outcome.js +81 -0
  1200. package/dist/commands/stream-outcome.js.map +1 -0
  1201. package/dist/commands/stream.d.ts.map +1 -1
  1202. package/dist/commands/stream.js +64 -2
  1203. package/dist/commands/stream.js.map +1 -1
  1204. package/dist/commands/terminal.d.ts +1 -0
  1205. package/dist/commands/terminal.d.ts.map +1 -1
  1206. package/dist/commands/terminal.js +35 -6
  1207. package/dist/commands/terminal.js.map +1 -1
  1208. package/dist/commands/topology-default-agent.d.ts +2 -2
  1209. package/dist/commands/topology-default-agent.d.ts.map +1 -1
  1210. package/dist/commands/topology-default-agent.js +5 -3
  1211. package/dist/commands/topology-default-agent.js.map +1 -1
  1212. package/dist/commands/transcript.d.ts.map +1 -1
  1213. package/dist/commands/transcript.js +12 -7
  1214. package/dist/commands/transcript.js.map +1 -1
  1215. package/dist/commands/unarchive.d.ts.map +1 -1
  1216. package/dist/commands/unarchive.js +16 -2
  1217. package/dist/commands/unarchive.js.map +1 -1
  1218. package/dist/commands/up.d.ts.map +1 -1
  1219. package/dist/commands/up.js +106 -35
  1220. package/dist/commands/up.js.map +1 -1
  1221. package/dist/commands/walk.d.ts.map +1 -1
  1222. package/dist/commands/walk.js +2 -1
  1223. package/dist/commands/walk.js.map +1 -1
  1224. package/dist/commands/watchdog.d.ts.map +1 -1
  1225. package/dist/commands/watchdog.js +80 -5
  1226. package/dist/commands/watchdog.js.map +1 -1
  1227. package/dist/commands/whoami.d.ts.map +1 -1
  1228. package/dist/commands/whoami.js +3 -0
  1229. package/dist/commands/whoami.js.map +1 -1
  1230. package/dist/commands/workflow-errors.js +1 -1
  1231. package/dist/commands/workflow-errors.js.map +1 -1
  1232. package/dist/commands/workflow-render.js +4 -4
  1233. package/dist/commands/workflow-render.js.map +1 -1
  1234. package/dist/commands/workflow.d.ts.map +1 -1
  1235. package/dist/commands/workflow.js +34 -15
  1236. package/dist/commands/workflow.js.map +1 -1
  1237. package/dist/config-store.d.ts +18 -2
  1238. package/dist/config-store.d.ts.map +1 -1
  1239. package/dist/config-store.js +120 -11
  1240. package/dist/config-store.js.map +1 -1
  1241. package/dist/daemon-lifecycle.d.ts +13 -4
  1242. package/dist/daemon-lifecycle.d.ts.map +1 -1
  1243. package/dist/daemon-lifecycle.js +100 -30
  1244. package/dist/daemon-lifecycle.js.map +1 -1
  1245. package/dist/daemon-reachability.d.ts +13 -0
  1246. package/dist/daemon-reachability.d.ts.map +1 -1
  1247. package/dist/daemon-reachability.js +28 -0
  1248. package/dist/daemon-reachability.js.map +1 -1
  1249. package/dist/decisions/decisions.d.ts +203 -0
  1250. package/dist/decisions/decisions.d.ts.map +1 -0
  1251. package/dist/decisions/decisions.js +374 -0
  1252. package/dist/decisions/decisions.js.map +1 -0
  1253. package/dist/decisions/stream-consumer.d.ts +255 -0
  1254. package/dist/decisions/stream-consumer.d.ts.map +1 -0
  1255. package/dist/decisions/stream-consumer.js +282 -0
  1256. package/dist/decisions/stream-consumer.js.map +1 -0
  1257. package/dist/decisions/templates.d.ts +8 -0
  1258. package/dist/decisions/templates.d.ts.map +1 -0
  1259. package/dist/decisions/templates.js +34 -0
  1260. package/dist/decisions/templates.js.map +1 -0
  1261. package/dist/fetch-with-timeout.d.ts.map +1 -1
  1262. package/dist/fetch-with-timeout.js +19 -16
  1263. package/dist/fetch-with-timeout.js.map +1 -1
  1264. package/dist/fresh-seat-command.d.ts +18 -0
  1265. package/dist/fresh-seat-command.d.ts.map +1 -0
  1266. package/dist/fresh-seat-command.js +36 -0
  1267. package/dist/fresh-seat-command.js.map +1 -0
  1268. package/dist/front-door.d.ts +4 -0
  1269. package/dist/front-door.d.ts.map +1 -1
  1270. package/dist/front-door.js +8 -4
  1271. package/dist/front-door.js.map +1 -1
  1272. package/dist/host-bindings.d.ts +6 -0
  1273. package/dist/host-bindings.d.ts.map +1 -1
  1274. package/dist/host-bindings.js +23 -13
  1275. package/dist/host-bindings.js.map +1 -1
  1276. package/dist/index.d.ts +2 -0
  1277. package/dist/index.d.ts.map +1 -1
  1278. package/dist/index.js +4 -0
  1279. package/dist/index.js.map +1 -1
  1280. package/dist/lazy-program.d.ts.map +1 -1
  1281. package/dist/lazy-program.js +2 -0
  1282. package/dist/lazy-program.js.map +1 -1
  1283. package/dist/lib/bundle-check.d.ts.map +1 -1
  1284. package/dist/lib/bundle-check.js +13 -5
  1285. package/dist/lib/bundle-check.js.map +1 -1
  1286. package/dist/lib/run-on-host.d.ts +29 -0
  1287. package/dist/lib/run-on-host.d.ts.map +1 -0
  1288. package/dist/lib/run-on-host.js +69 -0
  1289. package/dist/lib/run-on-host.js.map +1 -0
  1290. package/dist/lib/seat-activity.d.ts +17 -0
  1291. package/dist/lib/seat-activity.d.ts.map +1 -0
  1292. package/dist/lib/seat-activity.js +29 -0
  1293. package/dist/lib/seat-activity.js.map +1 -0
  1294. package/dist/local-daemon-owner.d.ts +4 -0
  1295. package/dist/local-daemon-owner.d.ts.map +1 -1
  1296. package/dist/local-daemon-owner.js +1 -1
  1297. package/dist/local-daemon-owner.js.map +1 -1
  1298. package/dist/mcp-http.d.ts +42 -0
  1299. package/dist/mcp-http.d.ts.map +1 -0
  1300. package/dist/mcp-http.js +232 -0
  1301. package/dist/mcp-http.js.map +1 -0
  1302. package/dist/mcp-server.d.ts +30 -2
  1303. package/dist/mcp-server.d.ts.map +1 -1
  1304. package/dist/mcp-server.js +1126 -407
  1305. package/dist/mcp-server.js.map +1 -1
  1306. package/dist/rig-handle.d.ts +18 -1
  1307. package/dist/rig-handle.d.ts.map +1 -1
  1308. package/dist/rig-handle.js +19 -2
  1309. package/dist/rig-handle.js.map +1 -1
  1310. package/dist/seat-launch-additions-lines.d.ts +11 -0
  1311. package/dist/seat-launch-additions-lines.d.ts.map +1 -0
  1312. package/dist/seat-launch-additions-lines.js +14 -0
  1313. package/dist/seat-launch-additions-lines.js.map +1 -0
  1314. package/dist/terminal-window.d.ts +1 -1
  1315. package/dist/terminal-window.d.ts.map +1 -1
  1316. package/dist/terminal-window.js +50 -22
  1317. package/dist/terminal-window.js.map +1 -1
  1318. package/package.json +1 -1
  1319. package/tui/dist/attention/attention-model.d.ts +3 -1
  1320. package/tui/dist/attention/attention-model.d.ts.map +1 -1
  1321. package/tui/dist/attention/attention-model.js +68 -1
  1322. package/tui/dist/attention/attention-model.js.map +1 -1
  1323. package/tui/dist/commands/registry.d.ts.map +1 -1
  1324. package/tui/dist/commands/registry.js +2 -0
  1325. package/tui/dist/commands/registry.js.map +1 -1
  1326. package/tui/dist/config/config-model.d.ts.map +1 -1
  1327. package/tui/dist/config/config-model.js +3 -1
  1328. package/tui/dist/config/config-model.js.map +1 -1
  1329. package/tui/dist/connections/connections-model.d.ts +0 -5
  1330. package/tui/dist/connections/connections-model.d.ts.map +1 -1
  1331. package/tui/dist/connections/connections-model.js +1 -1
  1332. package/tui/dist/connections/connections-model.js.map +1 -1
  1333. package/tui/dist/daemon-client.d.ts +20 -0
  1334. package/tui/dist/daemon-client.d.ts.map +1 -1
  1335. package/tui/dist/daemon-client.js +27 -0
  1336. package/tui/dist/daemon-client.js.map +1 -1
  1337. package/tui/dist/hydrate.d.ts.map +1 -1
  1338. package/tui/dist/hydrate.js +22 -7
  1339. package/tui/dist/hydrate.js.map +1 -1
  1340. package/tui/dist/live.d.ts +10 -1
  1341. package/tui/dist/live.d.ts.map +1 -1
  1342. package/tui/dist/live.js +56 -7
  1343. package/tui/dist/live.js.map +1 -1
  1344. package/tui/dist/main.js +50 -3
  1345. package/tui/dist/main.js.map +1 -1
  1346. package/tui/dist/render.d.ts.map +1 -1
  1347. package/tui/dist/render.js +121 -10
  1348. package/tui/dist/render.js.map +1 -1
  1349. package/tui/dist/topology/fixture.js +1 -1
  1350. package/tui/dist/topology/fixture.js.map +1 -1
  1351. package/tui/dist/topology/glyphs.js +1 -1
  1352. package/tui/dist/topology/glyphs.js.map +1 -1
  1353. package/tui/dist/topology/graph-types.d.ts +1 -0
  1354. package/tui/dist/topology/graph-types.d.ts.map +1 -1
  1355. package/tui/dist/types.d.ts +78 -0
  1356. package/tui/dist/types.d.ts.map +1 -1
  1357. package/tui/dist/version-skew.d.ts +24 -0
  1358. package/tui/dist/version-skew.d.ts.map +1 -0
  1359. package/tui/dist/version-skew.js +37 -0
  1360. package/tui/dist/version-skew.js.map +1 -0
  1361. package/ui/dist/assets/{index-CVgod3Pm.js → index-Blg-p32B.js} +92 -92
  1362. package/ui/dist/index.html +1 -1
  1363. package/daemon/dist/domain/provider/subscription-moves.d.ts +0 -77
  1364. package/daemon/dist/domain/provider/subscription-moves.d.ts.map +0 -1
  1365. package/daemon/dist/domain/provider/subscription-moves.js +0 -140
  1366. package/daemon/dist/domain/provider/subscription-moves.js.map +0 -1
@@ -81,6 +81,7 @@ export class RigInstantiator {
81
81
  const txn = this.db.transaction(() => {
82
82
  const rig = this.rigRepo.createRig(spec.name);
83
83
  rigId = rig.id;
84
+ opts?.recordCreated?.(rig.id);
84
85
  if (opts?.nonInterruptive !== undefined)
85
86
  this.rigRepo.setRigNonInterruptive(rig.id, opts.nonInterruptive);
86
87
  for (const specNode of spec.nodes) {
@@ -89,6 +90,7 @@ export class RigInstantiator {
89
90
  runtime: specNode.runtime,
90
91
  model: specNode.model,
91
92
  effort: specNode.effort,
93
+ advisor: specNode.advisor,
92
94
  cwd: specNode.cwd,
93
95
  surfaceHint: specNode.surfaceHint,
94
96
  workspace: specNode.workspace,
@@ -96,6 +98,7 @@ export class RigInstantiator {
96
98
  packageRefs: specNode.packageRefs,
97
99
  });
98
100
  nodeIdMap[specNode.id] = node.id;
101
+ opts?.recordCreated?.(rig.id, node.id);
99
102
  }
100
103
  for (const specEdge of spec.edges) {
101
104
  this.rigRepo.addEdge(rig.id, nodeIdMap[specEdge.from], nodeIdMap[specEdge.to], specEdge.kind);
@@ -115,7 +118,7 @@ export class RigInstantiator {
115
118
  const launchedSessionNames = [];
116
119
  const instantiateWarnings = [];
117
120
  for (const logicalId of launchOrder) {
118
- const result = await this.nodeLauncher.launchNode(rigId, logicalId);
121
+ const result = await this.nodeLauncher.launchNode(rigId, logicalId, opts?.env ? { env: opts.env } : undefined);
119
122
  if (result.ok) {
120
123
  nodeResults.push({ logicalId, status: "launched" });
121
124
  launchedSessionNames.push(result.sessionName);
@@ -263,13 +266,30 @@ import { RigSpecCodec as PodRigSpecCodec } from "./rigspec-codec.js";
263
266
  import { RigSpecSchema as PodRigSpecSchema, VALID_EDGE_KINDS } from "./rigspec-schema.js";
264
267
  import { rigPreflight, preflightValidatedSpec } from "./rigspec-preflight.js";
265
268
  import { resolveAgentRef } from "./agent-resolver.js";
266
- import { resolveNodeConfig, selectedPluginPaths } from "./profile-resolver.js";
269
+ import { resolveAdvisorModel, resolveNodeConfig, selectedPluginPaths } from "./profile-resolver.js";
267
270
  import { resolveStartup } from "./startup-resolver.js";
271
+ import { isCommunityHarnessRuntime } from "./built-in-runtimes.js";
268
272
  import { planProjection, claudeConflictTargetPath, projectionConflictWarnings, filterProtectedProjections } from "./projection-planner.js";
269
273
  import { ProjectionManifestStore } from "./projection-manifest-store.js";
270
274
  import { resolveConcreteHint } from "./runtime-adapter.js";
271
275
  import { installTopologyDefaults } from "./topology-defaults-installer.js";
272
276
  import { isKeptPluginSkill } from "./skill-catalog.js";
277
+ import { claudeSeatSkillsNote, ensureSeatSkillPlugin, seatCatalogKeptNote, migrateLegacyProjectSkills, refusedSeatSkillsRootForNode, seatSkillLocation, seatSkillPaths, seatSkillPathsForNode, seatSkillPluginDirForNode, writeSeatSkillCatalog } from "./seat-skill-storage.js";
278
+ import { carrySeatLaunchAdditions, prepareSeatLaunchAdditions } from "./seat-launch-additions.js";
279
+ /** OPR.0.7.0.13: the constant seat-skills pointer, merged into the project's managed guidance for a Codex seat. It
280
+ * names no seat, path or skill, so pod-mates share one identical block, and it tells a non-OpenRig agent it doesn't
281
+ * apply. Each seat reads its own list with `rig skill loadout --seat self`. */
282
+ function seatSkillsPointerStartupFile() {
283
+ const assetsRoot = nodePath.resolve(import.meta.dirname, "../../assets");
284
+ return {
285
+ path: "openrig-seat-skills.md",
286
+ absolutePath: nodePath.join(assetsRoot, "guidance/openrig-seat-skills.md"),
287
+ ownerRoot: assetsRoot,
288
+ deliveryHint: "guidance_merge",
289
+ required: false,
290
+ appliesOn: ["fresh_start", "restore"],
291
+ };
292
+ }
273
293
  function defaultCultureStartupFile() {
274
294
  const assetsRoot = nodePath.resolve(import.meta.dirname, "../../assets");
275
295
  return {
@@ -414,6 +434,14 @@ export class PodRigInstantiator {
414
434
  if (!preflight.ready) {
415
435
  return { ok: false, code: "preflight_failed", errors: preflight.errors, warnings: preflight.warnings };
416
436
  }
437
+ // A pod added to a running rig inherits the rig's layers; stop before it exists if a required one is gone,
438
+ // when at least one added member reads startup files.
439
+ if (opts?.targetRigId && targetRig && rigSpec.pods.some((pod) => pod.members.some((m) => this.runtimeTakesStartupFiles(m.runtime)))) {
440
+ const missingInherited = this.inheritedStartupFileErrors(opts.targetRigId, targetRig.rig.name);
441
+ if (missingInherited.length > 0) {
442
+ return { ok: false, code: "preflight_failed", errors: missingInherited, warnings: preflight.warnings };
443
+ }
444
+ }
417
445
  return this.materializeValidatedSpec(rigSpec, rigRoot, preflight.warnings, opts);
418
446
  }
419
447
  /**
@@ -446,6 +474,7 @@ export class PodRigInstantiator {
446
474
  if (!materializedRigId) {
447
475
  const rig = this.deps.rigRepo.createRig(rigSpec.name);
448
476
  materializedRigId = rig.id;
477
+ opts?.recordCreated?.(rig.id);
449
478
  persistedEvents.push(this.deps.eventBus.persistWithinTransaction({ type: "rig.created", rigId: materializedRigId }));
450
479
  }
451
480
  // PL-007: persist the rig's typed workspace block when declared.
@@ -456,6 +485,9 @@ export class PodRigInstantiator {
456
485
  if (rigSpec.managedBlocks?.["claude-code"]) {
457
486
  this.deps.rigRepo.setRigClaudeManagedBlockFile(materializedRigId, rigSpec.managedBlocks["claude-code"]);
458
487
  }
488
+ // The rig's culture and startup layers, for seats added later (both rig-create sites; an expansion keeps them).
489
+ if (!opts?.targetRigId)
490
+ this.persistRigStartupLayers(materializedRigId, rigSpec, rigRoot);
459
491
  // OPR.0.4.8.3 Seam B: persist the rig-level permission_policy REF (raw, like role) —
460
492
  // this is ONE of TWO rig-persist sites (materializeValidatedSpec + instantiate); missing
461
493
  // either drops the rig ref on that path (map correction, independently verified).
@@ -488,7 +520,8 @@ export class PodRigInstantiator {
488
520
  for (const member of pod.members) {
489
521
  const qualifiedId = `${pod.id}.${member.id}`;
490
522
  if (logicalIdToNodeId.has(qualifiedId)) {
491
- throw { code: "materialize_conflict", message: `Logical ID '${qualifiedId}' already exists in rig '${currentRig.rig.name}'` };
523
+ throw { code: "materialize_conflict", message: `Logical ID '${qualifiedId}' already exists in rig '${currentRig.rig.name}'`,
524
+ ...(opts?.recordCreated ? { existingNodeId: logicalIdToNodeId.get(qualifiedId) } : {}) };
492
525
  }
493
526
  }
494
527
  }
@@ -524,6 +557,7 @@ export class PodRigInstantiator {
524
557
  rigRoot,
525
558
  cwdOverride: opts?.cwdOverride,
526
559
  });
560
+ opts?.recordCreated?.(materializedRigId, node.id);
527
561
  logicalIdToNodeId.set(qualifiedId, node.id);
528
562
  // Seam B R2: restart-stable provenance persists AT MATERIALIZE (a
529
563
  // materialized-but-never-launched seat must still restore its posture).
@@ -617,7 +651,7 @@ export class PodRigInstantiator {
617
651
  if (err && typeof err === "object" && "code" in err && "message" in err) {
618
652
  const typed = err;
619
653
  if (typed.code === "materialize_conflict") {
620
- return { ok: false, code: "materialize_conflict", message: typed.message };
654
+ return { ok: false, code: "materialize_conflict", message: typed.message, ...(typed.existingNodeId ? { existingNodeId: typed.existingNodeId } : {}) };
621
655
  }
622
656
  }
623
657
  return { ok: false, code: "materialize_error", message: err instanceof Error ? err.message : String(err) };
@@ -652,7 +686,7 @@ export class PodRigInstantiator {
652
686
  * round-trip; launchMaterialized(yaml) is the parse/validate/normalize front
653
687
  * over it. Behaviour identical (loop body relocated verbatim).
654
688
  */
655
- async launchValidatedSpec(rigSpec, rigRoot, targetRigId, cwdOverride) {
689
+ async launchValidatedSpec(rigSpec, rigRoot, targetRigId, cwdOverride, launchOpts) {
656
690
  const launchOrder = this.computePodLaunchOrder(rigSpec);
657
691
  const podWarnings = [];
658
692
  const nodeResults = [];
@@ -686,6 +720,7 @@ export class PodRigInstantiator {
686
720
  qualifiedId: logicalId,
687
721
  nodeId: node.id,
688
722
  cwdOverride,
723
+ ...(launchOpts?.keepRecordedAdditions ? { keepRecordedAdditions: true } : {}),
689
724
  });
690
725
  if (launched.warnings?.length) {
691
726
  podWarnings.push(...launched.warnings);
@@ -770,10 +805,12 @@ export class PodRigInstantiator {
770
805
  // colliding logical id would be a real seat collision — reject it honestly.
771
806
  // (validate's externalQualifiedIds only resolves edge targets; it does NOT
772
807
  // reject a member colliding with an existing node, so this guard is load-bearing.)
773
- if (rig.nodes.some((node) => node.logicalId === qualifiedId)) {
808
+ const existingNode = rig.nodes.find((node) => node.logicalId === qualifiedId);
809
+ if (existingNode) {
774
810
  return {
775
811
  ok: false,
776
812
  code: "member_conflict",
813
+ ...(opts?.recordCreated ? { existingNodeId: existingNode.id } : {}),
777
814
  message: `Member "${qualifiedId}" already exists in rig "${rig.rig.name}". Pick a different member id, or remove the existing seat first.`,
778
815
  };
779
816
  }
@@ -794,6 +831,13 @@ export class PodRigInstantiator {
794
831
  if (!preflight.ready) {
795
832
  return { ok: false, code: "preflight_failed", errors: preflight.errors, warnings: preflight.warnings };
796
833
  }
834
+ // 6b. Stop before a seat exists if a required file the rig or this pod declared is gone, for a runtime that reads startup files.
835
+ const missingInherited = this.runtimeTakesStartupFiles(member.runtime)
836
+ ? this.inheritedStartupFileErrors(rigId, rig.rig.name, podNamespace)
837
+ : [];
838
+ if (missingInherited.length > 0) {
839
+ return { ok: false, code: "preflight_failed", errors: missingInherited, warnings: preflight.warnings };
840
+ }
797
841
  // 7. Validate + resolve any declared pod-local edges BEFORE creating the
798
842
  // node, so a bad edge fails fast with no orphan seat. Two honest failure
799
843
  // classes: (a) DECLARATION validity (non-array / empty fields / a kind
@@ -841,6 +885,7 @@ export class PodRigInstantiator {
841
885
  suppressSummaryEvent: true,
842
886
  cwdOverride: opts?.cwdOverride,
843
887
  existingPodNamespace: podNamespace,
888
+ recordCreated: opts?.recordCreated,
844
889
  });
845
890
  if (!materialized.ok) {
846
891
  const message = "message" in materialized
@@ -849,13 +894,17 @@ export class PodRigInstantiator {
849
894
  ? materialized.errors.join("; ")
850
895
  : "member materialization failed";
851
896
  if (materialized.code === "materialize_conflict") {
852
- return { ok: false, code: "member_conflict", message };
897
+ return { ok: false, code: "member_conflict", message, ...(opts?.recordCreated && materialized.existingNodeId ? { existingNodeId: materialized.existingNodeId } : {}) };
853
898
  }
854
899
  return { ok: false, code: "materialize_error", message };
855
900
  }
901
+ // A fork's launch additions go only into the seat just validated and created above (OPR.0.7.0.9).
902
+ const launchAdditions = opts?.launchAdditionsFrom && member.runtime === "claude-code"
903
+ ? carrySeatLaunchAdditions(opts.launchAdditionsFrom, seatSkillPaths({ rigId, logicalId: qualifiedId, runtime: member.runtime }))
904
+ : undefined;
856
905
  // 9. The shared launch effect owns startup projection + delivery +
857
906
  // readiness + `@rigged_*` for both expansion and ordinary growth.
858
- const launchOutcome = await this.launchValidatedSpec(rigSpec, rigRoot, rigId, opts?.cwdOverride);
907
+ const launchOutcome = await this.launchValidatedSpec(rigSpec, rigRoot, rigId, opts?.cwdOverride, launchAdditions?.kept ? { keepRecordedAdditions: true } : undefined);
859
908
  if (!launchOutcome.ok) {
860
909
  const message = "message" in launchOutcome
861
910
  ? launchOutcome.message
@@ -882,6 +931,7 @@ export class PodRigInstantiator {
882
931
  },
883
932
  edges: resolvedEdges,
884
933
  warnings: [...(materialized.result.warnings ?? []), ...(launchOutcome.result.warnings ?? [])],
934
+ ...(launchAdditions ? { launchAdditions } : {}),
885
935
  },
886
936
  };
887
937
  }
@@ -939,7 +989,7 @@ export class PodRigInstantiator {
939
989
  const initialRefusal = eligible();
940
990
  if (initialRefusal)
941
991
  return refuse(initialRefusal);
942
- const retainedFields = new Set(["id", "label", "agent_ref", "profile", "runtime", "model", "effort", "cwd", "role", "codex_config_profile", "permission_policy", "restore_policy"]);
992
+ const retainedFields = new Set(["id", "label", "agent_ref", "profile", "runtime", "model", "effort", "advisor", "cwd", "role", "codex_config_profile", "permission_policy", "restore_policy"]);
943
993
  if (Object.keys(memberFragment).some(key => !retainedFields.has(key)))
944
994
  return refuse("Retry accepts only retained member fields; topology and startup overrides require a separate change.");
945
995
  const rawSpec = { version: "0.2", name: rig.rig.name, pods: [{ id: podRow.namespace, label: podRow.label, members: [memberFragment], edges: [] }], edges: [] };
@@ -965,11 +1015,17 @@ export class PodRigInstantiator {
965
1015
  if (!node.resolvedSpecHash || resolved.resolved.hash !== node.resolvedSpecHash)
966
1016
  return refuse("Agent source hash differs from the failed first start.");
967
1017
  const config = resolveNodeConfig({ baseSpec: resolved.resolved, importedSpecs: resolved.imports, collisions: resolved.collisions,
968
- profileName: member.profile, specRoot: rigRoot, member, pod, rig: rigSpec, skillsRoot: this.resolveSkillsRoot(), ...this.systemWorldResolutionContext() });
1018
+ profileName: member.profile, specRoot: rigRoot, member, pod, rig: this.withRigStartupLayers(rigSpec, this.rigStartupLayers(rigSpec, rigRoot, rigId)),
1019
+ skillsRoot: this.resolveSkillsRoot(), ...this.systemWorldResolutionContext() });
969
1020
  if (!config.ok)
970
1021
  return refuse(config.errors.join("; "));
971
- if (!same(config.config.model, node.model) || !same(config.config.effort, node.effort) || !same(config.config.cwd, node.cwd) || !same(config.config.restorePolicy, node.restorePolicy)) {
972
- return refuse("Resolved model, effort, cwd or restore policy differs from the failed first start.");
1022
+ // A seat whose first start failed before Advisor support recorded no Advisor, though its unchanged agent spec (the
1023
+ // hash above) may name one. Its retry keeps the launch it recorded: no Advisor, stored and launched alike. Any
1024
+ // other Advisor difference changes the launch and is refused below.
1025
+ const launchConfig = node.advisor == null && member.advisor === undefined && config.config.advisor != null
1026
+ ? { ...config, config: { ...config.config, advisor: undefined } } : config;
1027
+ if (!same(launchConfig.config.model, node.model) || !same(launchConfig.config.effort, node.effort) || !same(launchConfig.config.advisor, node.advisor) || !same(launchConfig.config.cwd, node.cwd) || !same(launchConfig.config.restorePolicy, node.restorePolicy)) {
1028
+ return refuse("Resolved model, effort, advisor, cwd or restore policy differs from the failed first start.");
973
1029
  }
974
1030
  const preflight = await preflightValidatedSpec(rigSpec, { rigRoot, fsOps: this.deps.fsOps, skillsRoot: this.resolveSkillsRoot(),
975
1031
  ...this.systemWorldResolutionContext(), rigNameOverride: rig.rig.name, inheritedPermissionPolicy: this.inheritedPermissionPolicy(rigId), exec: this.deps.exec });
@@ -990,7 +1046,7 @@ export class PodRigInstantiator {
990
1046
  if (finalRefusal)
991
1047
  return refuse(finalRefusal);
992
1048
  const result = await this.launchExistingAgentMember({ rigId, nodeId, qualifiedId: node.logicalId, rigSpec, rigRoot, pod, member,
993
- resolveResult: resolved, configResult: config });
1049
+ resolveResult: resolved, configResult: launchConfig, keepRecordedAdditions: true });
994
1050
  if (result.status !== "launched")
995
1051
  return { ok: false, code: result.status, message: result.error ?? "First-start retry did not reach readiness." };
996
1052
  return { ok: true, rigId, nodeId, logicalId: node.logicalId, status: "launched", sessionName: result.sessionName, warnings: result.warnings };
@@ -1104,7 +1160,9 @@ export class PodRigInstantiator {
1104
1160
  throw new GenerationChanged(rigSpec.name);
1105
1161
  }
1106
1162
  }
1107
- return this.deps.rigRepo.createRig(rigSpec.name, opts?.installRoot);
1163
+ const rig = this.deps.rigRepo.createRig(rigSpec.name, opts?.installRoot);
1164
+ opts?.recordCreated?.(rig.id);
1165
+ return rig;
1108
1166
  });
1109
1167
  const rig = create();
1110
1168
  rigId = rig.id;
@@ -1121,6 +1179,7 @@ export class PodRigInstantiator {
1121
1179
  if (rigSpec.managedBlocks?.["claude-code"]) {
1122
1180
  this.deps.rigRepo.setRigClaudeManagedBlockFile(rigId, rigSpec.managedBlocks["claude-code"]);
1123
1181
  }
1182
+ this.persistRigStartupLayers(rigId, rigSpec, rigRoot);
1124
1183
  // OPR.0.4.8.3 Seam B: the SECOND rig-persist site (bootstrap instantiate path) —
1125
1184
  // both sites must write or the rig ref silently drops on one instantiate path.
1126
1185
  // Guard-F1: resolved rig attachment persists here too (declaringDir = rigRoot).
@@ -1228,7 +1287,7 @@ export class PodRigInstantiator {
1228
1287
  for (const { pod, member, podId, qualifiedId } of memberEntries) {
1229
1288
  // Terminal fast-path: skip agent resolution and profile resolution
1230
1289
  if (member.agentRef === "builtin:terminal") {
1231
- const termResult = await this.processTerminalMember(rigId, rigSpec, rigRoot, pod, member, podId, qualifiedId, nodeIdMap, launchedSessionNames, podInstantiateWarnings, opts?.cwdOverride, opts?.env);
1290
+ const termResult = await this.processTerminalMember(rigId, rigSpec, rigRoot, pod, member, podId, qualifiedId, nodeIdMap, launchedSessionNames, podInstantiateWarnings, opts?.cwdOverride, opts?.env, opts?.recordCreated);
1232
1291
  nodeResults.push(termResult);
1233
1292
  continue;
1234
1293
  }
@@ -1275,6 +1334,7 @@ export class PodRigInstantiator {
1275
1334
  runtime: member.runtime,
1276
1335
  model: member.model ?? configResult.config.model,
1277
1336
  effort: member.effort ?? configResult.config.effort,
1337
+ advisor: configResult.config.advisor,
1278
1338
  codexConfigProfile: member.codexConfigProfile,
1279
1339
  // OPR.0.4.8.3 Seam B: bootstrap inline addNode is the FOURTH node-creation
1280
1340
  // site (see the role wire note above) — same member-ref persistence as
@@ -1301,6 +1361,7 @@ export class PodRigInstantiator {
1301
1361
  const bootstrapAttachment = this.resolveMemberPolicyAttachment(member.permissionPolicy, rigSpec.permissionPolicy, rigRoot);
1302
1362
  if (bootstrapAttachment)
1303
1363
  this.persistNodePolicyProvenanceStrict(node.id, bootstrapAttachment);
1364
+ opts?.recordCreated?.(rigId, node.id);
1304
1365
  return node.id;
1305
1366
  });
1306
1367
  let nodeId;
@@ -1336,6 +1397,7 @@ export class PodRigInstantiator {
1336
1397
  nodeResults.push({
1337
1398
  logicalId: qualifiedId,
1338
1399
  status: launched.status,
1400
+ code: launched.code,
1339
1401
  error: launched.error,
1340
1402
  evidence: launched.evidence,
1341
1403
  sessionName: launched.sessionName,
@@ -1420,7 +1482,10 @@ export class PodRigInstantiator {
1420
1482
  else
1421
1483
  await cleanup();
1422
1484
  const details = nodeResults.map((n) => `${n.logicalId}: ${n.error ?? "unknown"}`).join("; ");
1423
- return { ok: false, code: "instantiate_error", message: `all node launches/startups failed — ${details}${serviceCleanupError ? `; ${serviceCleanupError}` : ""}` };
1485
+ return {
1486
+ ok: false, code: "instantiate_error",
1487
+ message: `all node launches/startups failed — ${details}${serviceCleanupError ? `; ${serviceCleanupError}` : ""}`,
1488
+ };
1424
1489
  }
1425
1490
  if (hasAttention && !hasLaunched) {
1426
1491
  // All-attention_required path — rig + sessions PRESERVED; no
@@ -1453,8 +1518,9 @@ export class PodRigInstantiator {
1453
1518
  message: `${attentionNodes.length} node${attentionNodes.length === 1 ? " requires" : "s require"} attention before becoming interactive. Inspect the affected sessions and reasons before choosing recovery.`,
1454
1519
  rigId,
1455
1520
  attentionNodes,
1456
- // #141: the replacement is kept on this path, so its archive notice must reach the user too.
1457
- ...(archivedGenerations.length > 0 ? { warnings: podInstantiateWarnings } : {}),
1521
+ // The seats are kept on this path, so their warnings reach the person too: a replacement's archive notice (#141)
1522
+ // and a one-off --env setting that stayed in a session.
1523
+ ...(podInstantiateWarnings.length > 0 ? { warnings: podInstantiateWarnings } : {}),
1458
1524
  };
1459
1525
  }
1460
1526
  // Emit rig.imported
@@ -1550,24 +1616,28 @@ export class PodRigInstantiator {
1550
1616
  }
1551
1617
  return order;
1552
1618
  }
1553
- async processTerminalMember(rigId, rigSpec, rigRoot, pod, member, podId, qualifiedId, nodeIdMap, launchedSessionNames, warnings, cwdOverride, envOverride) {
1619
+ async processTerminalMember(rigId, rigSpec, rigRoot, pod, member, podId, qualifiedId, nodeIdMap, launchedSessionNames, warnings, cwdOverride, envOverride, recordCreated) {
1554
1620
  const effectiveCwd = resolveLaunchCwd(member.cwd, rigRoot, cwdOverride);
1555
1621
  // Create node with sentinel values
1556
1622
  let nodeId;
1557
1623
  try {
1558
- const node = this.deps.rigRepo.addNode(rigId, qualifiedId, {
1559
- runtime: member.runtime,
1560
- model: member.model,
1561
- effort: member.effort,
1562
- env: member.env,
1563
- cwd: effectiveCwd,
1564
- restorePolicy: "checkpoint_only",
1565
- podId,
1566
- agentRef: member.agentRef,
1567
- profile: member.profile,
1568
- label: member.label,
1569
- });
1570
- nodeId = node.id;
1624
+ nodeId = this.db.transaction(() => {
1625
+ const node = this.deps.rigRepo.addNode(rigId, qualifiedId, {
1626
+ runtime: member.runtime,
1627
+ model: member.model,
1628
+ effort: member.effort,
1629
+ advisor: member.advisor,
1630
+ env: member.env,
1631
+ cwd: effectiveCwd,
1632
+ restorePolicy: "checkpoint_only",
1633
+ podId,
1634
+ agentRef: member.agentRef,
1635
+ profile: member.profile,
1636
+ label: member.label,
1637
+ });
1638
+ recordCreated?.(rigId, node.id);
1639
+ return node.id;
1640
+ })();
1571
1641
  nodeIdMap[qualifiedId] = nodeId;
1572
1642
  }
1573
1643
  catch (err) {
@@ -1593,6 +1663,7 @@ export class PodRigInstantiator {
1593
1663
  return {
1594
1664
  logicalId: qualifiedId,
1595
1665
  status: launched.status,
1666
+ code: launched.code,
1596
1667
  error: launched.error,
1597
1668
  };
1598
1669
  }
@@ -1615,11 +1686,26 @@ export class PodRigInstantiator {
1615
1686
  */
1616
1687
  createMemberNode(input) {
1617
1688
  const effectiveCwd = resolveLaunchCwd(input.member.cwd, input.rigRoot, input.cwdOverride);
1689
+ // Export and snapshot can run before launch. Resolve inherited Advisor values
1690
+ // during creation; launch still re-resolves the original spec for later edits.
1691
+ let advisor = resolveAdvisorModel(input.member.advisor);
1692
+ if (advisor === undefined && input.member.agentRef !== "builtin:terminal") {
1693
+ const resolved = resolveAgentRef(input.member.agentRef, input.rigRoot, this.deps.fsOps);
1694
+ if (!resolved.ok) {
1695
+ throw new Error(resolved.code === "validation_failed" ? resolved.errors.join("; ") : resolved.error);
1696
+ }
1697
+ const spec = resolved.resolved.spec;
1698
+ const profile = spec.profiles[input.member.profile];
1699
+ if (!profile)
1700
+ throw new Error(`Profile "${input.member.profile}" not found in spec "${spec.name}"`);
1701
+ advisor = resolveAdvisorModel(undefined, profile.preferences?.advisor, spec.defaults?.advisor);
1702
+ }
1618
1703
  const node = this.deps.rigRepo.addNode(input.rigId, input.qualifiedId, {
1619
1704
  role: input.member.role,
1620
1705
  runtime: input.member.runtime,
1621
1706
  model: input.member.model,
1622
1707
  effort: input.member.effort,
1708
+ advisor,
1623
1709
  codexConfigProfile: input.member.codexConfigProfile,
1624
1710
  // OPR.0.4.8.3 Seam B: the member's OWN raw ref persists on the node (like role);
1625
1711
  // rig-level lives on the rig row; precedence applies at RESOLUTION, not storage.
@@ -1669,6 +1755,86 @@ export class PodRigInstantiator {
1669
1755
  readFile: (p) => this.deps.fsOps.readFile(p),
1670
1756
  });
1671
1757
  }
1758
+ /** Store the rig culture file and rig startup block the spec declares, with the absolute root they resolve against. */
1759
+ persistRigStartupLayers(rigId, rigSpec, rigRoot) {
1760
+ const podStartupFiles = {};
1761
+ for (const pod of rigSpec.pods) {
1762
+ if (pod.startup?.files.length)
1763
+ podStartupFiles[pod.id] = pod.startup.files;
1764
+ }
1765
+ const hasPodFiles = Object.keys(podStartupFiles).length > 0;
1766
+ if (!rigSpec.cultureFile && !rigSpec.startup && !hasPodFiles)
1767
+ return;
1768
+ this.deps.rigRepo.setRigStartupLayers(rigId, {
1769
+ root: nodePath.resolve(rigRoot),
1770
+ cultureFile: rigSpec.cultureFile,
1771
+ startup: rigSpec.startup,
1772
+ ...(hasPodFiles ? { podStartupFiles } : {}),
1773
+ });
1774
+ }
1775
+ /** Whether a runtime reads startup files at all. A terminal seat's adapter delivers nothing, and a community harness
1776
+ * takes none (it only warns), so a missing file can't fail either; main adds them today and keeps doing so. */
1777
+ runtimeTakesStartupFiles(runtime) {
1778
+ return runtime !== "terminal" && !isCommunityHarnessRuntime(runtime);
1779
+ }
1780
+ /** Why an add must stop: a startup file the rig or the pod declared as required, or the rig's declared `culture_file`,
1781
+ * that the add would inherit but cannot read. Empty when nothing is recorded (a rig created before the record, or
1782
+ * one that declared nothing) or every such file reads. Optional files and files that apply only on restore are not checked. */
1783
+ inheritedStartupFileErrors(rigId, rigName, podId) {
1784
+ const layers = this.deps.rigRepo.getRigStartupLayers(rigId);
1785
+ if (!layers)
1786
+ return [];
1787
+ const readable = (absolutePath) => {
1788
+ try {
1789
+ this.deps.fsOps.readFile(absolutePath);
1790
+ return true;
1791
+ }
1792
+ catch {
1793
+ return false;
1794
+ }
1795
+ };
1796
+ const errors = [];
1797
+ const check = (path, owner, what) => {
1798
+ const absolutePath = nodePath.resolve(layers.root, path);
1799
+ if (!readable(absolutePath)) {
1800
+ errors.push(`${what} "${path}" (${absolutePath}), declared by ${owner}, is missing or unreadable.`);
1801
+ }
1802
+ };
1803
+ const rigOwner = `rig "${rigName}"`;
1804
+ if (layers.cultureFile)
1805
+ check(layers.cultureFile, rigOwner, "The rig's culture_file");
1806
+ for (const f of layers.startup?.files ?? []) {
1807
+ if (f.required && f.appliesOn.includes("fresh_start"))
1808
+ check(f.path, rigOwner, "Required startup file");
1809
+ }
1810
+ for (const f of (podId ? layers.podStartupFiles?.[podId] : undefined) ?? []) {
1811
+ if (f.required && f.appliesOn.includes("fresh_start"))
1812
+ check(f.path, `pod "${podId}" of ${rigOwner}`, "Required startup file");
1813
+ }
1814
+ if (errors.length > 0)
1815
+ errors.push("No seat was added. Restore the file, then run the command again.");
1816
+ return errors;
1817
+ }
1818
+ /** The files a seat's pod contributes: the pod's own startup when the launching spec declares it (a declared seat),
1819
+ * else the pod files recorded when the rig was created (a seat added to that pod), resolved against the rig's stored root. */
1820
+ podStartupResolvedFiles(pod, rigLayers, rigRoot) {
1821
+ if (pod.startup) {
1822
+ return pod.startup.files.map((f) => ({ ...f, absolutePath: nodePath.resolve(rigRoot, f.path), ownerRoot: rigRoot }));
1823
+ }
1824
+ return (rigLayers.podStartupFiles?.[pod.id] ?? []).map((f) => ({ ...f, absolutePath: nodePath.resolve(rigLayers.root, f.path), ownerRoot: rigLayers.root }));
1825
+ }
1826
+ /** The rig culture file and rig startup block a seat launches with, and the root they resolve against: the spec's
1827
+ * own when it declares them, else those stored when the rig was created. Expand, add-member and first-start retry
1828
+ * launch from a synthetic spec that declares neither, so an added seat gets the rig's layers as an original seat did. */
1829
+ rigStartupLayers(rigSpec, rigRoot, rigId) {
1830
+ if (rigSpec.cultureFile || rigSpec.startup)
1831
+ return { root: rigRoot, cultureFile: rigSpec.cultureFile, startup: rigSpec.startup };
1832
+ return this.deps.rigRepo.getRigStartupLayers(rigId) ?? { root: rigRoot };
1833
+ }
1834
+ /** The spec as the startup layering sees it: carrying the rig layers the seat launches with. */
1835
+ withRigStartupLayers(rigSpec, layers) {
1836
+ return { ...rigSpec, cultureFile: layers.cultureFile, startup: layers.startup };
1837
+ }
1672
1838
  /** Seam B Guard-F2: the STRICT materialize/add-member persist — provenance here is
1673
1839
  * LOAD-BEARING restart state; a real write failure must fail the surrounding
1674
1840
  * transaction, never commit a node without it. (The repository setter itself still
@@ -1701,6 +1867,7 @@ export class PodRigInstantiator {
1701
1867
  : resolveResult.error;
1702
1868
  return { status: "failed", error: msg };
1703
1869
  }
1870
+ const rigLayers = this.rigStartupLayers(input.rigSpec, input.rigRoot, input.rigId);
1704
1871
  const configResult = input.configResult ?? resolveNodeConfig({
1705
1872
  baseSpec: resolveResult.resolved,
1706
1873
  importedSpecs: resolveResult.imports,
@@ -1710,7 +1877,7 @@ export class PodRigInstantiator {
1710
1877
  cwdOverride: input.cwdOverride,
1711
1878
  member: input.member,
1712
1879
  pod: input.pod,
1713
- rig: input.rigSpec,
1880
+ rig: this.withRigStartupLayers(input.rigSpec, rigLayers),
1714
1881
  skillsRoot: this.resolveSkillsRoot(),
1715
1882
  ...this.systemWorldResolutionContext(),
1716
1883
  });
@@ -1742,6 +1909,45 @@ export class PodRigInstantiator {
1742
1909
  }
1743
1910
  const canonicalSessionName = deriveCanonicalSessionName(input.pod.id, input.member.id, input.rigSpec.name);
1744
1911
  const keptSkillWarnings = [];
1912
+ // OPR.0.7.0.13 — a team seat's skills go to storage OpenRig owns for this rig and logical seat, not into the
1913
+ // person's project: for Claude, reached through the seat's own plugin; for Codex, through the catalog its per-seat
1914
+ // startup text delivers. Made for every Claude and Codex seat, so profile skills land there even with no loadout.
1915
+ const seatRuntime = configResult.config.runtime === "claude-code" || configResult.config.runtime === "codex" ? configResult.config.runtime : undefined;
1916
+ const seatSkills = seatRuntime ? seatSkillPaths({ rigId: input.rigId, logicalId: input.qualifiedId, runtime: seatRuntime }) : undefined;
1917
+ let loadoutReceipts = 0;
1918
+ if (seatSkills && seatRuntime === "claude-code") {
1919
+ keptSkillWarnings.push(...ensureSeatSkillPlugin(seatSkills));
1920
+ // OPR.0.7.0.9 — the member's own agent, prompt file and plugin folders, copied into the seat's storage. Asking for
1921
+ // none removes an earlier request. A missing or refused source fails this seat by name; the rest still launch.
1922
+ const beside = (path) => nodePath.resolve(input.rigRoot, path);
1923
+ const prepared = input.keepRecordedAdditions ? { ok: true, notes: [] } : prepareSeatLaunchAdditions(seatSkills, {
1924
+ ...(input.member.agentFile ? { agentFile: beside(input.member.agentFile) } : {}),
1925
+ ...(input.member.appendSystemPromptFile ? { appendSystemPromptFile: beside(input.member.appendSystemPromptFile) } : {}),
1926
+ ...(input.member.pluginDirs?.length ? { pluginDirs: input.member.pluginDirs.map(beside) } : {}),
1927
+ });
1928
+ // A linked seat-storage ancestor: the seat starts without its additions, each named; nothing goes through the link.
1929
+ // A missing or refused source still fails the seat.
1930
+ const linked = !prepared.ok && prepared.code === "seat_storage_refused" ? seatSkillLocation(seatSkills).refuseMutation?.() : undefined;
1931
+ if (!prepared.ok && !linked)
1932
+ return { status: "failed", error: prepared.message, sessionName: canonicalSessionName };
1933
+ if (linked) {
1934
+ const asked = [input.member.agentFile, input.member.appendSystemPromptFile, ...(input.member.pluginDirs ?? [])].filter((ref) => !!ref);
1935
+ for (const ref of asked)
1936
+ keptSkillWarnings.push(`seat_launch_addition_not_delivered: ${ref}: ${linked}; the seat starts without it`);
1937
+ }
1938
+ keptSkillWarnings.push(...(prepared.ok ? prepared.notes ?? [] : []));
1939
+ }
1940
+ if (seatSkills && seatRuntime === "codex") {
1941
+ // A catalog that can't be written is this seat's named result, never an error that escapes the rig's launch.
1942
+ try {
1943
+ const catalog = writeSeatSkillCatalog(seatSkills);
1944
+ if (catalog.kept)
1945
+ keptSkillWarnings.push(seatCatalogKeptNote(catalog));
1946
+ }
1947
+ catch (error) {
1948
+ keptSkillWarnings.push(`seat_catalog_not_written: ${seatSkills.catalogPath}: ${error.message}`);
1949
+ }
1950
+ }
1745
1951
  if (configResult.config.skillLoadout
1746
1952
  && this.deps.skillReconciler
1747
1953
  && (configResult.config.runtime === "claude-code" || configResult.config.runtime === "codex")) {
@@ -1751,6 +1957,7 @@ export class PodRigInstantiator {
1751
1957
  cwd: configResult.config.cwd,
1752
1958
  apply: true,
1753
1959
  topologyOwner: canonicalSessionName,
1960
+ ...(seatSkills ? { location: seatSkillLocation(seatSkills, seatRuntime) } : {}),
1754
1961
  });
1755
1962
  const loadout = configResult.config.skillLoadout;
1756
1963
  let projection = reconcile(loadout);
@@ -1763,14 +1970,28 @@ export class PodRigInstantiator {
1763
1970
  projection = withoutPlugins;
1764
1971
  }
1765
1972
  }
1766
- if (!projection.ok) {
1973
+ // A seat whose storage a link refuses starts without its seat skills, and says what it lost: nothing is written
1974
+ // through the link and nothing falls back into the project. Any other reconciliation error still fails the seat.
1975
+ const refusedOnly = !projection.ok && projection.errors.every((error) => error.code === "seat_storage_refused");
1976
+ if (refusedOnly) {
1977
+ keptSkillWarnings.push(`seat_skills_not_delivered: ${loadout.entries.map((entry) => entry.id).join(", ")}: ${projection.errors.map((error) => `${error.code}: ${error.message}`).join("; ")}; the seat starts without these selected skills`);
1978
+ }
1979
+ else if (!projection.ok) {
1767
1980
  return {
1768
1981
  status: "failed",
1769
1982
  error: projection.errors.map((error) => `${error.code}: ${error.message}`).join("; "),
1770
1983
  sessionName: canonicalSessionName,
1771
1984
  };
1772
1985
  }
1773
- for (const receipt of projection.receipts.filter(isKeptPluginSkill)) {
1986
+ // OPR.0.7.0.13: copies this seat's earlier launches put in the project. They go only when the project's own
1987
+ // loadout record names this seat as their sole owner and they are unchanged (the reconciler's own rule for a
1988
+ // deselected skill); a skill the person installed for the project stays selected. While another seat still
1989
+ // shares those copies, nothing is removed and the note says why.
1990
+ if (seatSkills && seatRuntime === "claude-code" && projection.ok) {
1991
+ keptSkillWarnings.push(...migrateLegacyProjectSkills({ reconcile: this.deps.skillReconciler, loadout, cwd: configResult.config.cwd, owner: canonicalSessionName }));
1992
+ }
1993
+ loadoutReceipts = projection.ok ? projection.receipts.length : 0;
1994
+ for (const receipt of projection.ok ? projection.receipts.filter(isKeptPluginSkill) : []) {
1774
1995
  keptSkillWarnings.push(`plugin_skill_kept: ${receipt.id}: ${receipt.detail.slice("kept: ".length)} (${receipt.target})`);
1775
1996
  }
1776
1997
  }
@@ -1784,7 +2005,7 @@ export class PodRigInstantiator {
1784
2005
  pluginPaths: selectedPluginPaths(configResult.config.selectedResources),
1785
2006
  });
1786
2007
  if (!launchResult.ok) {
1787
- return { status: "failed", error: launchResult.message };
2008
+ return { status: "failed", code: launchResult.code, error: launchResult.message };
1788
2009
  }
1789
2010
  try {
1790
2011
  this.db.prepare("UPDATE sessions SET restore_policy = ? WHERE id = ?")
@@ -1800,6 +2021,13 @@ export class PodRigInstantiator {
1800
2021
  // overwrite). REAL store-backed lookup on this.db (never a mock/null — the
1801
2022
  // uninjected-service dead-invalidator class the P17 comment below records).
1802
2023
  const projectionManifest = new ProjectionManifestStore(this.db);
2024
+ const claudeSeatPlugin = input.member.runtime === "claude-code" ? seatSkillPluginDirForNode(this.db, input.nodeId) : undefined;
2025
+ const claudeSeatSkillsRoot = claudeSeatPlugin ? nodePath.join(claudeSeatPlugin, "skills") : undefined;
2026
+ const codexSeatSkillsRoot = input.member.runtime === "codex" ? seatSkillPathsForNode(this.db, input.nodeId)?.skillsRoot : undefined;
2027
+ // Where a link refused this seat's storage, its skills are planned (and refused) there, not in the project.
2028
+ const refusedSeatSkillsRoot = claudeSeatSkillsRoot || codexSeatSkillsRoot ? undefined : refusedSeatSkillsRootForNode(this.db, input.nodeId)?.skillsRoot;
2029
+ const claudeSkillTargetRoot = input.member.runtime === "claude-code" ? claudeSeatSkillsRoot ?? refusedSeatSkillsRoot : undefined;
2030
+ const codexSkillTargetRoot = input.member.runtime === "codex" ? codexSeatSkillsRoot ?? refusedSeatSkillsRoot : undefined;
1803
2031
  const planResult = planProjection({
1804
2032
  config: configResult.config,
1805
2033
  collisions: resolveResult.collisions,
@@ -1811,10 +2039,13 @@ export class PodRigInstantiator {
1811
2039
  // the same source startNode binds for the write). An adapter that writes skills
1812
2040
  // outside the project tree (OMP's seat agent dir) names its own skill target.
1813
2041
  resolveTargetPath: (category, effectiveId, cwd, sourcePath) => input.member.runtime === "codex" && category === "skill"
1814
- ? nodePath.join(cwd, ".agents", "skills", effectiveId, "SKILL.md")
1815
- : category === "skill" && adapter.skillTargetPath
1816
- ? adapter.skillTargetPath(launchResult.binding.tmuxSession, effectiveId)
1817
- : claudeConflictTargetPath(category, effectiveId, cwd, sourcePath, input.member.runtime === "claude-code" ? this.deps.rigRepo.getRigClaudeManagedBlockFile(input.rigId) ?? undefined : undefined),
2042
+ ? nodePath.join(codexSkillTargetRoot ?? nodePath.join(cwd, ".agents", "skills"), effectiveId, "SKILL.md")
2043
+ // OPR.0.7.0.13: a Claude seat's skills are written to its own storage, so an edit there is what to protect.
2044
+ : input.member.runtime === "claude-code" && category === "skill" && claudeSkillTargetRoot
2045
+ ? nodePath.join(claudeSkillTargetRoot, effectiveId, "SKILL.md")
2046
+ : category === "skill" && adapter.skillTargetPath
2047
+ ? adapter.skillTargetPath(launchResult.binding.tmuxSession, effectiveId)
2048
+ : claudeConflictTargetPath(category, effectiveId, cwd, sourcePath, input.member.runtime === "claude-code" ? this.deps.rigRepo.getRigClaudeManagedBlockFile(input.rigId) ?? undefined : undefined),
1818
2049
  lastHashLookup: (targetPath) => projectionManifest.lastHash(targetPath),
1819
2050
  });
1820
2051
  if (!planResult.ok) {
@@ -1828,12 +2059,31 @@ export class PodRigInstantiator {
1828
2059
  if (input.member.runtime === "codex" && !input.force) {
1829
2060
  planResult.plan.entries = planResult.plan.entries.filter(entry => entry.category !== "skill" || entry.classification !== "operator_conflict");
1830
2061
  }
1831
- const resolvedFiles = this.buildResolvedStartupFiles(resolveResult.resolved.spec, resolveResult.resolved.sourcePath, resolveResult.resolved.spec.profiles[input.member.profile], input.rigSpec, input.rigRoot, input.pod, input.member);
2062
+ const resolvedFiles = this.buildResolvedStartupFiles(resolveResult.resolved.spec, resolveResult.resolved.sourcePath, resolveResult.resolved.spec.profiles[input.member.profile], rigLayers, input.rigRoot, input.pod, input.member);
1832
2063
  const managedDedupedFiles = this.dedupeProjectedManagedStartupFiles(planResult.plan, resolvedFiles);
1833
2064
  // P20 atom-4 PROTECT: hold back operator-edited skill targets (operator_conflict)
1834
2065
  // so the adapter never overwrites an operator's edit unless an internal caller sets
1835
2066
  // input.force. The warning names the source-edit/move-aside remedies available to users.
1836
- const dedupedResolvedFiles = filterProtectedProjections(managedDedupedFiles, planResult.plan, { force: input.force }).delivered;
2067
+ const protectedFiltered = filterProtectedProjections(managedDedupedFiles, planResult.plan, { force: input.force }).delivered;
2068
+ // OPR.0.7.0.13 (Codex C2): the seat's own catalog, through its per-seat startup text (the route role material takes,
2069
+ // never the shared AGENTS.md). Fresh starts and fresh-primed restores send it; native resume and in-place restart
2070
+ // replay nothing. The startup orchestrator rebuilds the file after this launch's projection.
2071
+ // OPR.0.7.0.13: the compatibility limit, named rather than silent, whichever writer puts a skill in a Claude seat's
2072
+ // storage (its loadout, a profile skill, a startup skill file). Nothing falls back to the project.
2073
+ const versionNote = claudeSeatSkillsRoot
2074
+ ? claudeSeatSkillsNote({ loadoutReceipts, planEntries: planResult.plan.entries, startupFiles: protectedFiltered }) : undefined;
2075
+ if (versionNote)
2076
+ (launchResult.warnings ??= []).push(`${canonicalSessionName}: ${versionNote}`);
2077
+ // OPR.0.7.0.13 (router, R1.1): the one-line seat-skills bootstrap is part of a seat's saved startup files whenever it
2078
+ // has its own skill storage. Each start decides from the person's saved answer whether to deliver it (startup
2079
+ // orchestrator), so a later yes or no applies to restores too; a Codex seat's startup catalog below is unchanged.
2080
+ const bootstrapLine = seatSkills && (codexSeatSkillsRoot || claudeSeatSkillsRoot) ? [seatSkillsPointerStartupFile()] : [];
2081
+ const dedupedResolvedFiles = codexSeatSkillsRoot && seatSkills
2082
+ ? [...protectedFiltered, ...bootstrapLine, {
2083
+ path: "openrig-seat-skills.md", absolutePath: seatSkills.catalogPath, ownerRoot: seatSkills.root,
2084
+ deliveryHint: "send_text", required: false, appliesOn: ["fresh_start", "restore"],
2085
+ }]
2086
+ : [...protectedFiltered, ...bootstrapLine];
1837
2087
  const binding = {
1838
2088
  id: launchResult.binding.id,
1839
2089
  nodeId: input.nodeId,
@@ -1848,6 +2098,7 @@ export class PodRigInstantiator {
1848
2098
  // The seat's saved effort choice wins over the authored value just written by
1849
2099
  // updateNodeResolvedConfig; a seat without one launches with exactly that authored value.
1850
2100
  effort: (readSeatEffort(this.deps.rigRepo.db, input.nodeId) ?? { effective: configResult.config.effort ?? null }).effective ?? undefined,
2101
+ advisor: configResult.config.advisor,
1851
2102
  codexConfigProfile: input.member.codexConfigProfile,
1852
2103
  // OPR.0.4.8.3 Seam B: resolved launch posture (member > rig > persisted > FLOOR)
1853
2104
  // binds per-seat explicitly; adapters thread it into the yolo-mode helpers.
@@ -2046,7 +2297,7 @@ export class PodRigInstantiator {
2046
2297
  const canonicalSessionName = deriveCanonicalSessionName(input.pod.id, input.member.id, input.rigSpec.name);
2047
2298
  const launchResult = await this.deps.nodeLauncher.launchNode(input.rigId, input.qualifiedId, { sessionName: canonicalSessionName, env: input.envOverride });
2048
2299
  if (!launchResult.ok) {
2049
- return { status: "failed", error: launchResult.message };
2300
+ return { status: "failed", code: launchResult.code, error: launchResult.message };
2050
2301
  }
2051
2302
  try {
2052
2303
  this.db.prepare("UPDATE nodes SET restore_policy = ? WHERE id = ?")
@@ -2058,16 +2309,17 @@ export class PodRigInstantiator {
2058
2309
  .run("checkpoint_only", launchResult.session.id);
2059
2310
  }
2060
2311
  catch { /* best-effort */ }
2312
+ const terminalRigLayers = this.rigStartupLayers(input.rigSpec, input.rigRoot, input.rigId);
2061
2313
  const startup = resolveStartup({
2062
2314
  specStartup: { files: [], actions: [] },
2063
2315
  profileStartup: undefined,
2064
- rigCultureFile: input.rigSpec.cultureFile,
2065
- rigStartup: input.rigSpec.startup,
2316
+ rigCultureFile: terminalRigLayers.cultureFile,
2317
+ rigStartup: terminalRigLayers.startup,
2066
2318
  podStartup: input.pod.startup,
2067
2319
  memberStartup: input.member.startup,
2068
2320
  operatorStartup: undefined,
2069
2321
  });
2070
- const resolvedFiles = this.buildTerminalResolvedStartupFiles(input.rigSpec, input.rigRoot, input.pod, input.member);
2322
+ const resolvedFiles = this.buildTerminalResolvedStartupFiles(terminalRigLayers, input.rigRoot, input.pod, input.member);
2071
2323
  const binding = {
2072
2324
  id: launchResult.binding.id,
2073
2325
  nodeId: input.nodeId,
@@ -2136,38 +2388,36 @@ export class PodRigInstantiator {
2136
2388
  else {
2137
2389
  this.deps.rigRepo.clearNodeEffort(nodeId);
2138
2390
  }
2391
+ // Removing Advisor from the resolved spec must also remove its persisted launch flag.
2392
+ this.deps.rigRepo.setNodeAdvisor(nodeId, config.advisor ?? null);
2139
2393
  }
2140
2394
  catch {
2141
2395
  /* best-effort */
2142
2396
  }
2143
2397
  }
2144
- buildTerminalResolvedStartupFiles(rigSpec, rigRoot, pod, member) {
2398
+ buildTerminalResolvedStartupFiles(rigLayers, rigRoot, pod, member) {
2145
2399
  const files = [];
2146
2400
  // Skip layers 1-2 (agent base, profile) — terminal nodes have no agent spec
2147
2401
  // Layer 3: OpenRig culture floor, then the rig-specific overlay.
2148
2402
  files.push(defaultCultureStartupFile());
2149
- if (rigSpec.cultureFile) {
2403
+ if (rigLayers.cultureFile) {
2150
2404
  files.push({
2151
- path: rigSpec.cultureFile,
2152
- absolutePath: nodePath.resolve(rigRoot, rigSpec.cultureFile),
2153
- ownerRoot: rigRoot,
2405
+ path: rigLayers.cultureFile,
2406
+ absolutePath: nodePath.resolve(rigLayers.root, rigLayers.cultureFile),
2407
+ ownerRoot: rigLayers.root,
2154
2408
  deliveryHint: "auto",
2155
2409
  required: true,
2156
2410
  appliesOn: ["fresh_start", "restore"],
2157
2411
  });
2158
2412
  }
2159
2413
  // Layer 4: Rig startup
2160
- if (rigSpec.startup) {
2161
- for (const f of rigSpec.startup.files) {
2162
- files.push({ ...f, absolutePath: nodePath.resolve(rigRoot, f.path), ownerRoot: rigRoot });
2414
+ if (rigLayers.startup) {
2415
+ for (const f of rigLayers.startup.files) {
2416
+ files.push({ ...f, absolutePath: nodePath.resolve(rigLayers.root, f.path), ownerRoot: rigLayers.root });
2163
2417
  }
2164
2418
  }
2165
2419
  // Layer 5: Pod startup
2166
- if (pod.startup) {
2167
- for (const f of pod.startup.files) {
2168
- files.push({ ...f, absolutePath: nodePath.resolve(rigRoot, f.path), ownerRoot: rigRoot });
2169
- }
2170
- }
2420
+ files.push(...this.podStartupResolvedFiles(pod, rigLayers, rigRoot));
2171
2421
  // Layer 6: Member startup
2172
2422
  if (member.startup) {
2173
2423
  for (const f of member.startup.files) {
@@ -2176,7 +2426,7 @@ export class PodRigInstantiator {
2176
2426
  }
2177
2427
  return this.resolveAutoHints(files);
2178
2428
  }
2179
- buildResolvedStartupFiles(agentSpec, agentSourcePath, profile, rigSpec, rigRoot, pod, member) {
2429
+ buildResolvedStartupFiles(agentSpec, agentSourcePath, profile, rigLayers, rigRoot, pod, member) {
2180
2430
  const files = [];
2181
2431
  // nodePath imported at top level (ESM)
2182
2432
  // 1. Agent base startup
@@ -2191,28 +2441,24 @@ export class PodRigInstantiator {
2191
2441
  }
2192
2442
  // 3. OpenRig culture floor, then the rig-specific overlay.
2193
2443
  files.push(defaultCultureStartupFile());
2194
- if (rigSpec.cultureFile) {
2444
+ if (rigLayers.cultureFile) {
2195
2445
  files.push({
2196
- path: rigSpec.cultureFile,
2197
- absolutePath: nodePath.resolve(rigRoot, rigSpec.cultureFile),
2198
- ownerRoot: rigRoot,
2446
+ path: rigLayers.cultureFile,
2447
+ absolutePath: nodePath.resolve(rigLayers.root, rigLayers.cultureFile),
2448
+ ownerRoot: rigLayers.root,
2199
2449
  deliveryHint: "auto",
2200
2450
  required: true,
2201
2451
  appliesOn: ["fresh_start", "restore"],
2202
2452
  });
2203
2453
  }
2204
2454
  // 4. Rig startup
2205
- if (rigSpec.startup) {
2206
- for (const f of rigSpec.startup.files) {
2207
- files.push({ ...f, absolutePath: nodePath.resolve(rigRoot, f.path), ownerRoot: rigRoot });
2455
+ if (rigLayers.startup) {
2456
+ for (const f of rigLayers.startup.files) {
2457
+ files.push({ ...f, absolutePath: nodePath.resolve(rigLayers.root, f.path), ownerRoot: rigLayers.root });
2208
2458
  }
2209
2459
  }
2210
2460
  // 5. Pod startup
2211
- if (pod.startup) {
2212
- for (const f of pod.startup.files) {
2213
- files.push({ ...f, absolutePath: nodePath.resolve(rigRoot, f.path), ownerRoot: rigRoot });
2214
- }
2215
- }
2461
+ files.push(...this.podStartupResolvedFiles(pod, rigLayers, rigRoot));
2216
2462
  // 6. Member startup
2217
2463
  if (member.startup) {
2218
2464
  for (const f of member.startup.files) {
@@ -2298,7 +2544,7 @@ export class PodRigInstantiator {
2298
2544
  return f;
2299
2545
  try {
2300
2546
  const content = this.deps.fsOps.readFile(f.absolutePath);
2301
- return { ...f, deliveryHint: resolveConcreteHint(f.path, content) };
2547
+ return { ...f, deliveryHint: resolveConcreteHint(f.path, content, f.orientation) };
2302
2548
  }
2303
2549
  catch {
2304
2550
  // If file can't be read, default to send_text (safest — delivered after harness ready)