@openrig/cli 0.6.11 → 0.6.13

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 (1322) hide show
  1. package/README.md +23 -13
  2. package/daemon/assets/claude-statusline-context.cjs +2 -0
  3. package/daemon/assets/guidance/openrig-start.md +2 -1
  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 +37 -7
  7. package/daemon/assets/plugins/openrig-core/hooks/claude.json +7 -7
  8. package/daemon/assets/plugins/openrig-core/hooks/codex.json +2 -2
  9. package/daemon/assets/plugins/openrig-core/hooks/scripts/activity-relay.cjs +93 -0
  10. package/daemon/assets/plugins/openrig-core/hooks/scripts/compaction-restore-bridge.cjs +23 -0
  11. package/daemon/assets/plugins/openrig-core/hooks/scripts/refocus-health.cjs +4 -2
  12. package/daemon/assets/plugins/openrig-core/hooks/scripts/refocus.cjs +76 -20
  13. package/daemon/assets/plugins/openrig-core/skills/claude-compaction-restore/scripts/precompact-hook.mjs +24 -0
  14. package/daemon/assets/plugins/openrig-core/skills/delegating-work/SKILL.md +25 -5
  15. package/daemon/assets/plugins/openrig-core/skills/forming-an-openrig-mental-model/SKILL.md +4 -2
  16. package/daemon/assets/plugins/openrig-core/skills/mission-slice-sop/SKILL.md +15 -1
  17. package/daemon/assets/plugins/openrig-core/skills/openrig-skills/SKILL.md +1 -1
  18. package/daemon/assets/plugins/openrig-core/skills/openrig-user/SKILL.md +172 -11
  19. package/daemon/assets/plugins/openrig-core/skills/orienting-to-an-inherited-seat/SKILL.md +7 -4
  20. package/daemon/assets/plugins/openrig-core/skills/queue-handoff/SKILL.md +8 -0
  21. package/daemon/assets/plugins/openrig-core/skills/refocusing/scripts/trace-to-root.py +61 -16
  22. package/daemon/assets/plugins/openrig-core/skills/retiring-and-inheriting-a-seat/SKILL.md +5 -2
  23. package/daemon/assets/plugins/openrig-core/skills/session-compaction-and-restore/SKILL.md +19 -0
  24. package/daemon/assets/skills/rigs/SKILL.md +63 -13
  25. package/daemon/context-packs/help/manifest.yaml +1 -1
  26. package/daemon/context-packs/onboarding-width/manifest.yaml +1 -1
  27. package/daemon/context-packs/onboarding-width/public-what-you-can-do.md +160 -43
  28. package/daemon/context-packs/reference/getting-started.md +81 -18
  29. package/daemon/context-packs/reference/manifest.yaml +1 -1
  30. package/daemon/context-packs/reference/rig-spec.md +67 -6
  31. package/daemon/context-packs/reference/whats-new.md +99 -151
  32. package/daemon/context-packs/skills/agent-operated-software/manifest.yaml +1 -1
  33. package/daemon/context-packs/skills/agent-operated-workflows/manifest.yaml +1 -1
  34. package/daemon/context-packs/skills/applying-a-permission-policy/manifest.yaml +1 -1
  35. package/daemon/context-packs/skills/claude-compaction-restore/manifest.yaml +1 -1
  36. package/daemon/context-packs/skills/claude-compaction-restore/scripts/precompact-hook.mjs +24 -0
  37. package/daemon/context-packs/skills/core/agent-starters/manifest.yaml +1 -1
  38. package/daemon/context-packs/skills/core/agent-startup-and-context-ingestion/manifest.yaml +1 -1
  39. package/daemon/context-packs/skills/core/cross-host-rig-commands/manifest.yaml +1 -1
  40. package/daemon/context-packs/skills/core/human-in-the-loop/manifest.yaml +1 -1
  41. package/daemon/context-packs/skills/core/messaging-the-human/manifest.yaml +1 -1
  42. package/daemon/context-packs/skills/core/openrig-architect/manifest.yaml +1 -1
  43. package/daemon/context-packs/skills/core/openrig-cmux/manifest.yaml +1 -1
  44. package/daemon/context-packs/skills/core/openrig-herdr/manifest.yaml +1 -1
  45. package/daemon/context-packs/skills/core/openrig-skills/SKILL.md +1 -1
  46. package/daemon/context-packs/skills/core/openrig-skills/manifest.yaml +1 -1
  47. package/daemon/context-packs/skills/core/openrig-software-factory/SKILL.md +0 -1
  48. package/daemon/context-packs/skills/core/openrig-software-factory/manifest.yaml +1 -1
  49. package/daemon/context-packs/skills/core/openrig-software-factory/references/worked-example.md +7 -4
  50. package/daemon/context-packs/skills/core/openrig-upgrade/manifest.yaml +1 -1
  51. package/daemon/context-packs/skills/core/rig-bundles-and-shareable-artifacts/manifest.yaml +1 -1
  52. package/daemon/context-packs/skills/core/rig-lifecycle/manifest.yaml +1 -1
  53. package/daemon/context-packs/skills/core/session-source-fork/manifest.yaml +1 -1
  54. package/daemon/context-packs/skills/core/specification-system/manifest.yaml +1 -1
  55. package/daemon/context-packs/skills/core/topology-mutation-and-seat-management/SKILL.md +1 -1
  56. package/daemon/context-packs/skills/core/topology-mutation-and-seat-management/manifest.yaml +1 -1
  57. package/daemon/context-packs/skills/core/watchdog/manifest.yaml +1 -1
  58. package/daemon/context-packs/skills/delegating-work/SKILL.md +25 -5
  59. package/daemon/context-packs/skills/delegating-work/manifest.yaml +3 -3
  60. package/daemon/context-packs/skills/forming-an-openrig-mental-model/SKILL.md +4 -2
  61. package/daemon/context-packs/skills/forming-an-openrig-mental-model/manifest.yaml +1 -1
  62. package/daemon/context-packs/skills/loading-addressable-markdown/manifest.yaml +1 -1
  63. package/daemon/context-packs/skills/mission-slice-sop/SKILL.md +15 -1
  64. package/daemon/context-packs/skills/mission-slice-sop/manifest.yaml +1 -1
  65. package/daemon/context-packs/skills/openrig-operating-model/manifest.yaml +1 -1
  66. package/daemon/context-packs/skills/openrig-user/SKILL.md +172 -11
  67. package/daemon/context-packs/skills/openrig-user/manifest.yaml +1 -1
  68. package/daemon/context-packs/skills/orienting-to-an-inherited-seat/SKILL.md +7 -4
  69. package/daemon/context-packs/skills/orienting-to-an-inherited-seat/manifest.yaml +1 -1
  70. package/daemon/context-packs/skills/pm/backlog-capture/manifest.yaml +1 -1
  71. package/daemon/context-packs/skills/pm/context-builder/manifest.yaml +1 -1
  72. package/daemon/context-packs/skills/pm/exec-summary/manifest.yaml +1 -1
  73. package/daemon/context-packs/skills/pm/office-hours/manifest.yaml +1 -1
  74. package/daemon/context-packs/skills/pm/plan-review/manifest.yaml +1 -1
  75. package/daemon/context-packs/skills/pm/requirements-writer/manifest.yaml +1 -1
  76. package/daemon/context-packs/skills/pm/ui-mockup/manifest.yaml +1 -1
  77. package/daemon/context-packs/skills/pods/development-team/manifest.yaml +1 -1
  78. package/daemon/context-packs/skills/pods/orchestration-team/SKILL.md +1 -1
  79. package/daemon/context-packs/skills/pods/orchestration-team/manifest.yaml +1 -1
  80. package/daemon/context-packs/skills/pods/oversight-team/manifest.yaml +1 -1
  81. package/daemon/context-packs/skills/pods/review-team/manifest.yaml +1 -1
  82. package/daemon/context-packs/skills/process/agent-browser/manifest.yaml +1 -1
  83. package/daemon/context-packs/skills/process/context-engineering/manifest.yaml +1 -1
  84. package/daemon/context-packs/skills/process/dogfood/manifest.yaml +1 -1
  85. package/daemon/context-packs/skills/process/frontend-design/manifest.yaml +1 -1
  86. package/daemon/context-packs/skills/process/systematic-debugging/manifest.yaml +1 -1
  87. package/daemon/context-packs/skills/process/test-driven-development/manifest.yaml +1 -1
  88. package/daemon/context-packs/skills/process/verification-before-completion/manifest.yaml +1 -1
  89. package/daemon/context-packs/skills/queue-handoff/SKILL.md +8 -0
  90. package/daemon/context-packs/skills/queue-handoff/manifest.yaml +1 -1
  91. package/daemon/context-packs/skills/refocusing/manifest.yaml +1 -1
  92. package/daemon/context-packs/skills/refocusing/scripts/trace-to-root.py +61 -16
  93. package/daemon/context-packs/skills/retiring-and-inheriting-a-seat/SKILL.md +5 -2
  94. package/daemon/context-packs/skills/retiring-and-inheriting-a-seat/manifest.yaml +1 -1
  95. package/daemon/context-packs/skills/seat-continuity-and-handover/manifest.yaml +1 -1
  96. package/daemon/context-packs/skills/session-compaction-and-restore/SKILL.md +19 -0
  97. package/daemon/context-packs/skills/session-compaction-and-restore/manifest.yaml +1 -1
  98. package/daemon/context-packs/skills/software-for-agents/manifest.yaml +1 -1
  99. package/daemon/context-packs/world-example/manifest.yaml +1 -1
  100. package/daemon/context-packs/world-public/manifest.yaml +1 -1
  101. package/daemon/dist/adapters/bounded-probe-exec.d.ts +45 -0
  102. package/daemon/dist/adapters/bounded-probe-exec.d.ts.map +1 -0
  103. package/daemon/dist/adapters/bounded-probe-exec.js +204 -0
  104. package/daemon/dist/adapters/bounded-probe-exec.js.map +1 -0
  105. package/daemon/dist/adapters/claude-code-adapter.d.ts +26 -2
  106. package/daemon/dist/adapters/claude-code-adapter.d.ts.map +1 -1
  107. package/daemon/dist/adapters/claude-code-adapter.js +275 -76
  108. package/daemon/dist/adapters/claude-code-adapter.js.map +1 -1
  109. package/daemon/dist/adapters/claude-resume.d.ts.map +1 -1
  110. package/daemon/dist/adapters/claude-resume.js +14 -3
  111. package/daemon/dist/adapters/claude-resume.js.map +1 -1
  112. package/daemon/dist/adapters/codex-resume.d.ts +5 -0
  113. package/daemon/dist/adapters/codex-resume.d.ts.map +1 -1
  114. package/daemon/dist/adapters/codex-resume.js +17 -3
  115. package/daemon/dist/adapters/codex-resume.js.map +1 -1
  116. package/daemon/dist/adapters/codex-runtime-adapter.d.ts +38 -1
  117. package/daemon/dist/adapters/codex-runtime-adapter.d.ts.map +1 -1
  118. package/daemon/dist/adapters/codex-runtime-adapter.js +184 -11
  119. package/daemon/dist/adapters/codex-runtime-adapter.js.map +1 -1
  120. package/daemon/dist/adapters/community-harness-runtime-adapter.d.ts +46 -0
  121. package/daemon/dist/adapters/community-harness-runtime-adapter.d.ts.map +1 -0
  122. package/daemon/dist/adapters/community-harness-runtime-adapter.js +102 -0
  123. package/daemon/dist/adapters/community-harness-runtime-adapter.js.map +1 -0
  124. package/daemon/dist/adapters/compose-services-adapter.d.ts.map +1 -1
  125. package/daemon/dist/adapters/compose-services-adapter.js +2 -1
  126. package/daemon/dist/adapters/compose-services-adapter.js.map +1 -1
  127. package/daemon/dist/adapters/kernel-authority.d.ts +8 -1
  128. package/daemon/dist/adapters/kernel-authority.d.ts.map +1 -1
  129. package/daemon/dist/adapters/kernel-authority.js +35 -10
  130. package/daemon/dist/adapters/kernel-authority.js.map +1 -1
  131. package/daemon/dist/adapters/omp-rpc-frame.d.ts +51 -0
  132. package/daemon/dist/adapters/omp-rpc-frame.d.ts.map +1 -0
  133. package/daemon/dist/adapters/omp-rpc-frame.js +153 -0
  134. package/daemon/dist/adapters/omp-rpc-frame.js.map +1 -0
  135. package/daemon/dist/adapters/pi-openrouter-charge.d.ts +67 -0
  136. package/daemon/dist/adapters/pi-openrouter-charge.d.ts.map +1 -0
  137. package/daemon/dist/adapters/pi-openrouter-charge.js +228 -0
  138. package/daemon/dist/adapters/pi-openrouter-charge.js.map +1 -0
  139. package/daemon/dist/adapters/pi-readiness.d.ts +81 -5
  140. package/daemon/dist/adapters/pi-readiness.d.ts.map +1 -1
  141. package/daemon/dist/adapters/pi-readiness.js +193 -27
  142. package/daemon/dist/adapters/pi-readiness.js.map +1 -1
  143. package/daemon/dist/adapters/pi-resume.d.ts +5 -1
  144. package/daemon/dist/adapters/pi-resume.d.ts.map +1 -1
  145. package/daemon/dist/adapters/pi-resume.js +6 -1
  146. package/daemon/dist/adapters/pi-resume.js.map +1 -1
  147. package/daemon/dist/adapters/pi-runner-protocol.d.ts +13 -0
  148. package/daemon/dist/adapters/pi-runner-protocol.d.ts.map +1 -1
  149. package/daemon/dist/adapters/pi-runner-protocol.js +21 -0
  150. package/daemon/dist/adapters/pi-runner-protocol.js.map +1 -1
  151. package/daemon/dist/adapters/pi-runner.d.ts +72 -4
  152. package/daemon/dist/adapters/pi-runner.d.ts.map +1 -1
  153. package/daemon/dist/adapters/pi-runner.js +405 -28
  154. package/daemon/dist/adapters/pi-runner.js.map +1 -1
  155. package/daemon/dist/adapters/pi-runtime-adapter.d.ts +16 -1
  156. package/daemon/dist/adapters/pi-runtime-adapter.d.ts.map +1 -1
  157. package/daemon/dist/adapters/pi-runtime-adapter.js +19 -0
  158. package/daemon/dist/adapters/pi-runtime-adapter.js.map +1 -1
  159. package/daemon/dist/adapters/preflight-exec.d.ts +3 -0
  160. package/daemon/dist/adapters/preflight-exec.d.ts.map +1 -1
  161. package/daemon/dist/adapters/preflight-exec.js +15 -7
  162. package/daemon/dist/adapters/preflight-exec.js.map +1 -1
  163. package/daemon/dist/adapters/replace-file.d.ts +8 -0
  164. package/daemon/dist/adapters/replace-file.d.ts.map +1 -0
  165. package/daemon/dist/adapters/replace-file.js +32 -0
  166. package/daemon/dist/adapters/replace-file.js.map +1 -0
  167. package/daemon/dist/adapters/stub-compaction.d.ts +1 -0
  168. package/daemon/dist/adapters/stub-compaction.d.ts.map +1 -1
  169. package/daemon/dist/adapters/stub-compaction.js +2 -0
  170. package/daemon/dist/adapters/stub-compaction.js.map +1 -1
  171. package/daemon/dist/adapters/stub-refocus.d.ts +6 -0
  172. package/daemon/dist/adapters/stub-refocus.d.ts.map +1 -0
  173. package/daemon/dist/adapters/stub-refocus.js +22 -0
  174. package/daemon/dist/adapters/stub-refocus.js.map +1 -0
  175. package/daemon/dist/adapters/stub-runner.d.ts +6 -0
  176. package/daemon/dist/adapters/stub-runner.d.ts.map +1 -1
  177. package/daemon/dist/adapters/stub-runner.js +18 -1
  178. package/daemon/dist/adapters/stub-runner.js.map +1 -1
  179. package/daemon/dist/adapters/stub-script.d.ts +2 -2
  180. package/daemon/dist/adapters/stub-script.d.ts.map +1 -1
  181. package/daemon/dist/adapters/stub-script.js +2 -2
  182. package/daemon/dist/adapters/stub-script.js.map +1 -1
  183. package/daemon/dist/adapters/tmux-control.d.ts +119 -0
  184. package/daemon/dist/adapters/tmux-control.d.ts.map +1 -0
  185. package/daemon/dist/adapters/tmux-control.js +547 -0
  186. package/daemon/dist/adapters/tmux-control.js.map +1 -0
  187. package/daemon/dist/adapters/tmux-exec.d.ts +18 -4
  188. package/daemon/dist/adapters/tmux-exec.d.ts.map +1 -1
  189. package/daemon/dist/adapters/tmux-exec.js +98 -17
  190. package/daemon/dist/adapters/tmux-exec.js.map +1 -1
  191. package/daemon/dist/adapters/tmux.d.ts +52 -15
  192. package/daemon/dist/adapters/tmux.d.ts.map +1 -1
  193. package/daemon/dist/adapters/tmux.js +232 -58
  194. package/daemon/dist/adapters/tmux.js.map +1 -1
  195. package/daemon/dist/build-info.js +3 -3
  196. package/daemon/dist/composer-prompts-surface.d.ts +2 -0
  197. package/daemon/dist/composer-prompts-surface.d.ts.map +1 -0
  198. package/daemon/dist/composer-prompts-surface.js +2 -0
  199. package/daemon/dist/composer-prompts-surface.js.map +1 -0
  200. package/daemon/dist/db/all-migrations.d.ts.map +1 -1
  201. package/daemon/dist/db/all-migrations.js +26 -0
  202. package/daemon/dist/db/all-migrations.js.map +1 -1
  203. package/daemon/dist/db/migrations/100_typing_guard_modes.d.ts +3 -0
  204. package/daemon/dist/db/migrations/100_typing_guard_modes.d.ts.map +1 -0
  205. package/daemon/dist/db/migrations/100_typing_guard_modes.js +10 -0
  206. package/daemon/dist/db/migrations/100_typing_guard_modes.js.map +1 -0
  207. package/daemon/dist/db/migrations/104_node_effort_choice.d.ts +3 -0
  208. package/daemon/dist/db/migrations/104_node_effort_choice.d.ts.map +1 -0
  209. package/daemon/dist/db/migrations/104_node_effort_choice.js +10 -0
  210. package/daemon/dist/db/migrations/104_node_effort_choice.js.map +1 -0
  211. package/daemon/dist/db/migrations/105_usage_samples_client_cost.d.ts +9 -0
  212. package/daemon/dist/db/migrations/105_usage_samples_client_cost.d.ts.map +1 -0
  213. package/daemon/dist/db/migrations/105_usage_samples_client_cost.js +14 -0
  214. package/daemon/dist/db/migrations/105_usage_samples_client_cost.js.map +1 -0
  215. package/daemon/dist/db/migrations/107_pi_usage_entries.d.ts +10 -0
  216. package/daemon/dist/db/migrations/107_pi_usage_entries.d.ts.map +1 -0
  217. package/daemon/dist/db/migrations/107_pi_usage_entries.js +38 -0
  218. package/daemon/dist/db/migrations/107_pi_usage_entries.js.map +1 -0
  219. package/daemon/dist/db/migrations/108_pi_usage_charges.d.ts +12 -0
  220. package/daemon/dist/db/migrations/108_pi_usage_charges.d.ts.map +1 -0
  221. package/daemon/dist/db/migrations/108_pi_usage_charges.js +39 -0
  222. package/daemon/dist/db/migrations/108_pi_usage_charges.js.map +1 -0
  223. package/daemon/dist/db/migrations/109_mode_posture_coexist.d.ts +5 -0
  224. package/daemon/dist/db/migrations/109_mode_posture_coexist.d.ts.map +1 -0
  225. package/daemon/dist/db/migrations/109_mode_posture_coexist.js +11 -0
  226. package/daemon/dist/db/migrations/109_mode_posture_coexist.js.map +1 -0
  227. package/daemon/dist/db/migrations/110_workflow_instance_scope.d.ts +10 -0
  228. package/daemon/dist/db/migrations/110_workflow_instance_scope.d.ts.map +1 -0
  229. package/daemon/dist/db/migrations/110_workflow_instance_scope.js +14 -0
  230. package/daemon/dist/db/migrations/110_workflow_instance_scope.js.map +1 -0
  231. package/daemon/dist/db/migrations/111_seat_env.d.ts +6 -0
  232. package/daemon/dist/db/migrations/111_seat_env.d.ts.map +1 -0
  233. package/daemon/dist/db/migrations/111_seat_env.js +11 -0
  234. package/daemon/dist/db/migrations/111_seat_env.js.map +1 -0
  235. package/daemon/dist/db/migrations/112_queue_transitions_ts_qitem.d.ts +3 -0
  236. package/daemon/dist/db/migrations/112_queue_transitions_ts_qitem.d.ts.map +1 -0
  237. package/daemon/dist/db/migrations/112_queue_transitions_ts_qitem.js +14 -0
  238. package/daemon/dist/db/migrations/112_queue_transitions_ts_qitem.js.map +1 -0
  239. package/daemon/dist/db/migrations/113_applied_launch_daemon_opt_out.d.ts +3 -0
  240. package/daemon/dist/db/migrations/113_applied_launch_daemon_opt_out.d.ts.map +1 -0
  241. package/daemon/dist/db/migrations/113_applied_launch_daemon_opt_out.js +9 -0
  242. package/daemon/dist/db/migrations/113_applied_launch_daemon_opt_out.js.map +1 -0
  243. package/daemon/dist/db/migrations/114_session_agent_app.d.ts +3 -0
  244. package/daemon/dist/db/migrations/114_session_agent_app.d.ts.map +1 -0
  245. package/daemon/dist/db/migrations/114_session_agent_app.js +11 -0
  246. package/daemon/dist/db/migrations/114_session_agent_app.js.map +1 -0
  247. package/daemon/dist/db/migrations/115_thread_seat_map_channel_key.d.ts +3 -0
  248. package/daemon/dist/db/migrations/115_thread_seat_map_channel_key.d.ts.map +1 -0
  249. package/daemon/dist/db/migrations/115_thread_seat_map_channel_key.js +28 -0
  250. package/daemon/dist/db/migrations/115_thread_seat_map_channel_key.js.map +1 -0
  251. package/daemon/dist/db/migrations/117_provider_account_readings.d.ts +3 -0
  252. package/daemon/dist/db/migrations/117_provider_account_readings.d.ts.map +1 -0
  253. package/daemon/dist/db/migrations/117_provider_account_readings.js +32 -0
  254. package/daemon/dist/db/migrations/117_provider_account_readings.js.map +1 -0
  255. package/daemon/dist/domain/activity-taxonomy.d.ts +13 -5
  256. package/daemon/dist/domain/activity-taxonomy.d.ts.map +1 -1
  257. package/daemon/dist/domain/activity-taxonomy.js +14 -2
  258. package/daemon/dist/domain/activity-taxonomy.js.map +1 -1
  259. package/daemon/dist/domain/agent-activity-store.d.ts +2 -0
  260. package/daemon/dist/domain/agent-activity-store.d.ts.map +1 -1
  261. package/daemon/dist/domain/agent-activity-store.js +14 -8
  262. package/daemon/dist/domain/agent-activity-store.js.map +1 -1
  263. package/daemon/dist/domain/agent-images/agent-image-library-service.js +1 -1
  264. package/daemon/dist/domain/agent-images/agent-image-library-service.js.map +1 -1
  265. package/daemon/dist/domain/agent-images/manifest-parser.js +1 -1
  266. package/daemon/dist/domain/agent-images/manifest-parser.js.map +1 -1
  267. package/daemon/dist/domain/agent-manifest.d.ts.map +1 -1
  268. package/daemon/dist/domain/agent-manifest.js +21 -3
  269. package/daemon/dist/domain/agent-manifest.js.map +1 -1
  270. package/daemon/dist/domain/applied-launch-observation-store.d.ts +2 -0
  271. package/daemon/dist/domain/applied-launch-observation-store.d.ts.map +1 -1
  272. package/daemon/dist/domain/applied-launch-observation-store.js +27 -3
  273. package/daemon/dist/domain/applied-launch-observation-store.js.map +1 -1
  274. package/daemon/dist/domain/bootstrap-orchestrator.d.ts +3 -0
  275. package/daemon/dist/domain/bootstrap-orchestrator.d.ts.map +1 -1
  276. package/daemon/dist/domain/bootstrap-orchestrator.js +49 -16
  277. package/daemon/dist/domain/bootstrap-orchestrator.js.map +1 -1
  278. package/daemon/dist/domain/built-in-runtimes.d.ts +10 -0
  279. package/daemon/dist/domain/built-in-runtimes.d.ts.map +1 -0
  280. package/daemon/dist/domain/built-in-runtimes.js +14 -0
  281. package/daemon/dist/domain/built-in-runtimes.js.map +1 -0
  282. package/daemon/dist/domain/bundle-archive.d.ts +3 -1
  283. package/daemon/dist/domain/bundle-archive.d.ts.map +1 -1
  284. package/daemon/dist/domain/bundle-archive.js +5 -3
  285. package/daemon/dist/domain/bundle-archive.js.map +1 -1
  286. package/daemon/dist/domain/bundle-behaviour.d.ts +20 -0
  287. package/daemon/dist/domain/bundle-behaviour.d.ts.map +1 -1
  288. package/daemon/dist/domain/bundle-behaviour.js +57 -1
  289. package/daemon/dist/domain/bundle-behaviour.js.map +1 -1
  290. package/daemon/dist/domain/bundle-integrity.d.ts +5 -2
  291. package/daemon/dist/domain/bundle-integrity.d.ts.map +1 -1
  292. package/daemon/dist/domain/bundle-integrity.js +39 -8
  293. package/daemon/dist/domain/bundle-integrity.js.map +1 -1
  294. package/daemon/dist/domain/bundle-source-resolver.d.ts +3 -1
  295. package/daemon/dist/domain/bundle-source-resolver.d.ts.map +1 -1
  296. package/daemon/dist/domain/bundle-source-resolver.js +7 -2
  297. package/daemon/dist/domain/bundle-source-resolver.js.map +1 -1
  298. package/daemon/dist/domain/bundle-types.d.ts +6 -0
  299. package/daemon/dist/domain/bundle-types.d.ts.map +1 -1
  300. package/daemon/dist/domain/bundle-types.js +26 -0
  301. package/daemon/dist/domain/bundle-types.js.map +1 -1
  302. package/daemon/dist/domain/chat-repository.d.ts.map +1 -1
  303. package/daemon/dist/domain/chat-repository.js +3 -2
  304. package/daemon/dist/domain/chat-repository.js.map +1 -1
  305. package/daemon/dist/domain/claim-service.d.ts +6 -0
  306. package/daemon/dist/domain/claim-service.d.ts.map +1 -1
  307. package/daemon/dist/domain/claim-service.js +20 -1
  308. package/daemon/dist/domain/claim-service.js.map +1 -1
  309. package/daemon/dist/domain/claude-activity-hooks.d.ts +6 -0
  310. package/daemon/dist/domain/claude-activity-hooks.d.ts.map +1 -1
  311. package/daemon/dist/domain/claude-activity-hooks.js +19 -1
  312. package/daemon/dist/domain/claude-activity-hooks.js.map +1 -1
  313. package/daemon/dist/domain/claude-compaction-enforcer.d.ts +63 -2
  314. package/daemon/dist/domain/claude-compaction-enforcer.d.ts.map +1 -1
  315. package/daemon/dist/domain/claude-compaction-enforcer.js +154 -16
  316. package/daemon/dist/domain/claude-compaction-enforcer.js.map +1 -1
  317. package/daemon/dist/domain/claude-core-plugin-env.d.ts +28 -0
  318. package/daemon/dist/domain/claude-core-plugin-env.d.ts.map +1 -0
  319. package/daemon/dist/domain/claude-core-plugin-env.js +90 -0
  320. package/daemon/dist/domain/claude-core-plugin-env.js.map +1 -0
  321. package/daemon/dist/domain/claude-managed-launch.d.ts +18 -6
  322. package/daemon/dist/domain/claude-managed-launch.d.ts.map +1 -1
  323. package/daemon/dist/domain/claude-managed-launch.js +104 -10
  324. package/daemon/dist/domain/claude-managed-launch.js.map +1 -1
  325. package/daemon/dist/domain/claude-mcp-menu.d.ts +5 -0
  326. package/daemon/dist/domain/claude-mcp-menu.d.ts.map +1 -0
  327. package/daemon/dist/domain/claude-mcp-menu.js +25 -0
  328. package/daemon/dist/domain/claude-mcp-menu.js.map +1 -0
  329. package/daemon/dist/domain/codex-thread-id.d.ts +22 -3
  330. package/daemon/dist/domain/codex-thread-id.d.ts.map +1 -1
  331. package/daemon/dist/domain/codex-thread-id.js +65 -16
  332. package/daemon/dist/domain/codex-thread-id.js.map +1 -1
  333. package/daemon/dist/domain/community-harness-presets.d.ts +38 -0
  334. package/daemon/dist/domain/community-harness-presets.d.ts.map +1 -0
  335. package/daemon/dist/domain/community-harness-presets.js +155 -0
  336. package/daemon/dist/domain/community-harness-presets.js.map +1 -0
  337. package/daemon/dist/domain/composer-prompts.d.ts +118 -0
  338. package/daemon/dist/domain/composer-prompts.d.ts.map +1 -0
  339. package/daemon/dist/domain/composer-prompts.js +165 -0
  340. package/daemon/dist/domain/composer-prompts.js.map +1 -0
  341. package/daemon/dist/domain/context-monitor.d.ts +3 -0
  342. package/daemon/dist/domain/context-monitor.d.ts.map +1 -1
  343. package/daemon/dist/domain/context-monitor.js +14 -2
  344. package/daemon/dist/domain/context-monitor.js.map +1 -1
  345. package/daemon/dist/domain/context-packs/context-pack-library-service.js +2 -2
  346. package/daemon/dist/domain/context-packs/context-pack-library-service.js.map +1 -1
  347. package/daemon/dist/domain/context-packs/manifest-parser.js +1 -1
  348. package/daemon/dist/domain/context-packs/manifest-parser.js.map +1 -1
  349. package/daemon/dist/domain/context-usage-store.d.ts +4 -0
  350. package/daemon/dist/domain/context-usage-store.d.ts.map +1 -1
  351. package/daemon/dist/domain/context-usage-store.js +1 -0
  352. package/daemon/dist/domain/context-usage-store.js.map +1 -1
  353. package/daemon/dist/domain/current-work.js +2 -2
  354. package/daemon/dist/domain/current-work.js.map +1 -1
  355. package/daemon/dist/domain/draft-aware-delivery.d.ts +32 -0
  356. package/daemon/dist/domain/draft-aware-delivery.d.ts.map +1 -0
  357. package/daemon/dist/domain/draft-aware-delivery.js +156 -0
  358. package/daemon/dist/domain/draft-aware-delivery.js.map +1 -0
  359. package/daemon/dist/domain/event-bus.d.ts +10 -1
  360. package/daemon/dist/domain/event-bus.d.ts.map +1 -1
  361. package/daemon/dist/domain/event-bus.js +25 -0
  362. package/daemon/dist/domain/event-bus.js.map +1 -1
  363. package/daemon/dist/domain/execution-view.d.ts.map +1 -1
  364. package/daemon/dist/domain/execution-view.js +76 -10
  365. package/daemon/dist/domain/execution-view.js.map +1 -1
  366. package/daemon/dist/domain/fresh-occupant-relation.d.ts +7 -0
  367. package/daemon/dist/domain/fresh-occupant-relation.d.ts.map +1 -1
  368. package/daemon/dist/domain/fresh-occupant-relation.js +44 -0
  369. package/daemon/dist/domain/fresh-occupant-relation.js.map +1 -1
  370. package/daemon/dist/domain/frontmatter.d.ts +11 -0
  371. package/daemon/dist/domain/frontmatter.d.ts.map +1 -0
  372. package/daemon/dist/domain/frontmatter.js +20 -0
  373. package/daemon/dist/domain/frontmatter.js.map +1 -0
  374. package/daemon/dist/domain/gateway/gateway-subsystem.d.ts +11 -0
  375. package/daemon/dist/domain/gateway/gateway-subsystem.d.ts.map +1 -1
  376. package/daemon/dist/domain/gateway/gateway-subsystem.js +7 -0
  377. package/daemon/dist/domain/gateway/gateway-subsystem.js.map +1 -1
  378. package/daemon/dist/domain/gateway/human-registry.d.ts +6 -1
  379. package/daemon/dist/domain/gateway/human-registry.d.ts.map +1 -1
  380. package/daemon/dist/domain/gateway/human-registry.js +7 -0
  381. package/daemon/dist/domain/gateway/human-registry.js.map +1 -1
  382. package/daemon/dist/domain/gateway/slack/bot-inbox.d.ts +54 -0
  383. package/daemon/dist/domain/gateway/slack/bot-inbox.d.ts.map +1 -0
  384. package/daemon/dist/domain/gateway/slack/bot-inbox.js +86 -0
  385. package/daemon/dist/domain/gateway/slack/bot-inbox.js.map +1 -0
  386. package/daemon/dist/domain/gateway/slack/capabilities.d.ts.map +1 -1
  387. package/daemon/dist/domain/gateway/slack/capabilities.js +1 -0
  388. package/daemon/dist/domain/gateway/slack/capabilities.js.map +1 -1
  389. package/daemon/dist/domain/gateway/slack/channel-map.d.ts +11 -1
  390. package/daemon/dist/domain/gateway/slack/channel-map.d.ts.map +1 -1
  391. package/daemon/dist/domain/gateway/slack/channel-map.js +31 -6
  392. package/daemon/dist/domain/gateway/slack/channel-map.js.map +1 -1
  393. package/daemon/dist/domain/gateway/slack/channel-recovery.d.ts +14 -2
  394. package/daemon/dist/domain/gateway/slack/channel-recovery.d.ts.map +1 -1
  395. package/daemon/dist/domain/gateway/slack/channel-recovery.js +128 -89
  396. package/daemon/dist/domain/gateway/slack/channel-recovery.js.map +1 -1
  397. package/daemon/dist/domain/gateway/slack/config.d.ts +14 -0
  398. package/daemon/dist/domain/gateway/slack/config.d.ts.map +1 -1
  399. package/daemon/dist/domain/gateway/slack/config.js +28 -0
  400. package/daemon/dist/domain/gateway/slack/config.js.map +1 -1
  401. package/daemon/dist/domain/gateway/slack/forwarding.d.ts +32 -0
  402. package/daemon/dist/domain/gateway/slack/forwarding.d.ts.map +1 -0
  403. package/daemon/dist/domain/gateway/slack/forwarding.js +76 -0
  404. package/daemon/dist/domain/gateway/slack/forwarding.js.map +1 -0
  405. package/daemon/dist/domain/gateway/slack/inbound.d.ts +103 -1
  406. package/daemon/dist/domain/gateway/slack/inbound.d.ts.map +1 -1
  407. package/daemon/dist/domain/gateway/slack/inbound.js +329 -9
  408. package/daemon/dist/domain/gateway/slack/inbound.js.map +1 -1
  409. package/daemon/dist/domain/gateway/slack/message.d.ts +28 -0
  410. package/daemon/dist/domain/gateway/slack/message.d.ts.map +1 -1
  411. package/daemon/dist/domain/gateway/slack/message.js +105 -4
  412. package/daemon/dist/domain/gateway/slack/message.js.map +1 -1
  413. package/daemon/dist/domain/gateway/slack/outbound-driver.d.ts +3 -0
  414. package/daemon/dist/domain/gateway/slack/outbound-driver.d.ts.map +1 -1
  415. package/daemon/dist/domain/gateway/slack/outbound-driver.js +1 -0
  416. package/daemon/dist/domain/gateway/slack/outbound-driver.js.map +1 -1
  417. package/daemon/dist/domain/gateway/slack/queue-access.d.ts +1 -1
  418. package/daemon/dist/domain/gateway/slack/queue-access.d.ts.map +1 -1
  419. package/daemon/dist/domain/gateway/slack/recovery-budget.d.ts +24 -0
  420. package/daemon/dist/domain/gateway/slack/recovery-budget.d.ts.map +1 -0
  421. package/daemon/dist/domain/gateway/slack/recovery-budget.js +18 -0
  422. package/daemon/dist/domain/gateway/slack/recovery-budget.js.map +1 -0
  423. package/daemon/dist/domain/gateway/slack/slack-api.d.ts +10 -0
  424. package/daemon/dist/domain/gateway/slack/slack-api.d.ts.map +1 -1
  425. package/daemon/dist/domain/gateway/slack/slack-api.js +13 -0
  426. package/daemon/dist/domain/gateway/slack/slack-api.js.map +1 -1
  427. package/daemon/dist/domain/gateway/slack/slack-delivery.d.ts +2 -0
  428. package/daemon/dist/domain/gateway/slack/slack-delivery.d.ts.map +1 -1
  429. package/daemon/dist/domain/gateway/slack/slack-delivery.js +12 -2
  430. package/daemon/dist/domain/gateway/slack/slack-delivery.js.map +1 -1
  431. package/daemon/dist/domain/gateway/slack/slack-recovery.d.ts +104 -0
  432. package/daemon/dist/domain/gateway/slack/slack-recovery.d.ts.map +1 -0
  433. package/daemon/dist/domain/gateway/slack/slack-recovery.js +236 -0
  434. package/daemon/dist/domain/gateway/slack/slack-recovery.js.map +1 -0
  435. package/daemon/dist/domain/gateway/slack/slack-subsystem.d.ts +3 -0
  436. package/daemon/dist/domain/gateway/slack/slack-subsystem.d.ts.map +1 -1
  437. package/daemon/dist/domain/gateway/slack/slack-subsystem.js +157 -21
  438. package/daemon/dist/domain/gateway/slack/slack-subsystem.js.map +1 -1
  439. package/daemon/dist/domain/gateway/slack/state-store.d.ts +43 -2
  440. package/daemon/dist/domain/gateway/slack/state-store.d.ts.map +1 -1
  441. package/daemon/dist/domain/gateway/slack/state-store.js +91 -2
  442. package/daemon/dist/domain/gateway/slack/state-store.js.map +1 -1
  443. package/daemon/dist/domain/gateway/slack/thread-recovery.d.ts +37 -0
  444. package/daemon/dist/domain/gateway/slack/thread-recovery.d.ts.map +1 -0
  445. package/daemon/dist/domain/gateway/slack/thread-recovery.js +173 -0
  446. package/daemon/dist/domain/gateway/slack/thread-recovery.js.map +1 -0
  447. package/daemon/dist/domain/gateway/slack/thread-routing.d.ts +3 -0
  448. package/daemon/dist/domain/gateway/slack/thread-routing.d.ts.map +1 -1
  449. package/daemon/dist/domain/gateway/slack/thread-routing.js +18 -7
  450. package/daemon/dist/domain/gateway/slack/thread-routing.js.map +1 -1
  451. package/daemon/dist/domain/gateway/slack/thread-seat-map.d.ts +25 -6
  452. package/daemon/dist/domain/gateway/slack/thread-seat-map.d.ts.map +1 -1
  453. package/daemon/dist/domain/gateway/slack/thread-seat-map.js +52 -23
  454. package/daemon/dist/domain/gateway/slack/thread-seat-map.js.map +1 -1
  455. package/daemon/dist/domain/history-query.d.ts.map +1 -1
  456. package/daemon/dist/domain/history-query.js +2 -1
  457. package/daemon/dist/domain/history-query.js.map +1 -1
  458. package/daemon/dist/domain/home-isolation.d.ts +18 -0
  459. package/daemon/dist/domain/home-isolation.d.ts.map +1 -0
  460. package/daemon/dist/domain/home-isolation.js +75 -0
  461. package/daemon/dist/domain/home-isolation.js.map +1 -0
  462. package/daemon/dist/domain/hosts/remote-daemon-http.d.ts +22 -0
  463. package/daemon/dist/domain/hosts/remote-daemon-http.d.ts.map +1 -1
  464. package/daemon/dist/domain/hosts/remote-daemon-http.js +43 -3
  465. package/daemon/dist/domain/hosts/remote-daemon-http.js.map +1 -1
  466. package/daemon/dist/domain/inbox-handler.d.ts.map +1 -1
  467. package/daemon/dist/domain/inbox-handler.js +34 -32
  468. package/daemon/dist/domain/inbox-handler.js.map +1 -1
  469. package/daemon/dist/domain/mission-control/notification-adapter-ntfy.js +12 -2
  470. package/daemon/dist/domain/mission-control/notification-adapter-ntfy.js.map +1 -1
  471. package/daemon/dist/domain/mission-control/notification-dispatcher.d.ts.map +1 -1
  472. package/daemon/dist/domain/mission-control/notification-dispatcher.js +2 -1
  473. package/daemon/dist/domain/mission-control/notification-dispatcher.js.map +1 -1
  474. package/daemon/dist/domain/model-divergence/current-generation-record.d.ts +68 -0
  475. package/daemon/dist/domain/model-divergence/current-generation-record.d.ts.map +1 -1
  476. package/daemon/dist/domain/model-divergence/current-generation-record.js +133 -1
  477. package/daemon/dist/domain/model-divergence/current-generation-record.js.map +1 -1
  478. package/daemon/dist/domain/model-divergence/current-model-reader.d.ts +74 -0
  479. package/daemon/dist/domain/model-divergence/current-model-reader.d.ts.map +1 -0
  480. package/daemon/dist/domain/model-divergence/current-model-reader.js +246 -0
  481. package/daemon/dist/domain/model-divergence/current-model-reader.js.map +1 -0
  482. package/daemon/dist/domain/model-divergence/effective-model-readers.d.ts +60 -0
  483. package/daemon/dist/domain/model-divergence/effective-model-readers.d.ts.map +1 -1
  484. package/daemon/dist/domain/model-divergence/effective-model-readers.js +182 -11
  485. package/daemon/dist/domain/model-divergence/effective-model-readers.js.map +1 -1
  486. package/daemon/dist/domain/model-divergence/model-divergence-monitor.d.ts +8 -2
  487. package/daemon/dist/domain/model-divergence/model-divergence-monitor.d.ts.map +1 -1
  488. package/daemon/dist/domain/model-divergence/model-divergence-monitor.js +10 -5
  489. package/daemon/dist/domain/model-divergence/model-divergence-monitor.js.map +1 -1
  490. package/daemon/dist/domain/native-process-lineage.d.ts +57 -1
  491. package/daemon/dist/domain/native-process-lineage.d.ts.map +1 -1
  492. package/daemon/dist/domain/native-process-lineage.js +169 -41
  493. package/daemon/dist/domain/native-process-lineage.js.map +1 -1
  494. package/daemon/dist/domain/native-resume-probe.d.ts +3 -1
  495. package/daemon/dist/domain/native-resume-probe.d.ts.map +1 -1
  496. package/daemon/dist/domain/native-resume-probe.js +77 -14
  497. package/daemon/dist/domain/native-resume-probe.js.map +1 -1
  498. package/daemon/dist/domain/node-inventory.d.ts +1 -1
  499. package/daemon/dist/domain/node-inventory.d.ts.map +1 -1
  500. package/daemon/dist/domain/node-inventory.js +110 -27
  501. package/daemon/dist/domain/node-inventory.js.map +1 -1
  502. package/daemon/dist/domain/node-launcher.d.ts +18 -0
  503. package/daemon/dist/domain/node-launcher.d.ts.map +1 -1
  504. package/daemon/dist/domain/node-launcher.js +60 -2
  505. package/daemon/dist/domain/node-launcher.js.map +1 -1
  506. package/daemon/dist/domain/openrouter-charge.d.ts +42 -0
  507. package/daemon/dist/domain/openrouter-charge.d.ts.map +1 -0
  508. package/daemon/dist/domain/openrouter-charge.js +57 -0
  509. package/daemon/dist/domain/openrouter-charge.js.map +1 -0
  510. package/daemon/dist/domain/parked-query.d.ts +5 -0
  511. package/daemon/dist/domain/parked-query.d.ts.map +1 -1
  512. package/daemon/dist/domain/parked-query.js +9 -2
  513. package/daemon/dist/domain/parked-query.js.map +1 -1
  514. package/daemon/dist/domain/periodic-snapshot-scheduler.d.ts.map +1 -1
  515. package/daemon/dist/domain/periodic-snapshot-scheduler.js +27 -3
  516. package/daemon/dist/domain/periodic-snapshot-scheduler.js.map +1 -1
  517. package/daemon/dist/domain/permission-drift.d.ts +2 -0
  518. package/daemon/dist/domain/permission-drift.d.ts.map +1 -1
  519. package/daemon/dist/domain/permission-drift.js.map +1 -1
  520. package/daemon/dist/domain/permission-policy/policy-spec.d.ts.map +1 -1
  521. package/daemon/dist/domain/permission-policy/policy-spec.js +5 -7
  522. package/daemon/dist/domain/permission-policy/policy-spec.js.map +1 -1
  523. package/daemon/dist/domain/pi-usage-entries-store.d.ts +41 -0
  524. package/daemon/dist/domain/pi-usage-entries-store.d.ts.map +1 -0
  525. package/daemon/dist/domain/pi-usage-entries-store.js +173 -0
  526. package/daemon/dist/domain/pi-usage-entries-store.js.map +1 -0
  527. package/daemon/dist/domain/pi-usage-facts.d.ts +90 -0
  528. package/daemon/dist/domain/pi-usage-facts.d.ts.map +1 -0
  529. package/daemon/dist/domain/pi-usage-facts.js +165 -0
  530. package/daemon/dist/domain/pi-usage-facts.js.map +1 -0
  531. package/daemon/dist/domain/pod-bundle-assembler.d.ts +2 -0
  532. package/daemon/dist/domain/pod-bundle-assembler.d.ts.map +1 -1
  533. package/daemon/dist/domain/pod-bundle-assembler.js +4 -0
  534. package/daemon/dist/domain/pod-bundle-assembler.js.map +1 -1
  535. package/daemon/dist/domain/policies/artifact-pool-helpers.d.ts.map +1 -1
  536. package/daemon/dist/domain/policies/artifact-pool-helpers.js +6 -4
  537. package/daemon/dist/domain/policies/artifact-pool-helpers.js.map +1 -1
  538. package/daemon/dist/domain/process-census.d.ts +1 -1
  539. package/daemon/dist/domain/process-census.d.ts.map +1 -1
  540. package/daemon/dist/domain/process-table.d.ts +26 -0
  541. package/daemon/dist/domain/process-table.d.ts.map +1 -0
  542. package/daemon/dist/domain/process-table.js +185 -0
  543. package/daemon/dist/domain/process-table.js.map +1 -0
  544. package/daemon/dist/domain/profile-resolver.d.ts +10 -0
  545. package/daemon/dist/domain/profile-resolver.d.ts.map +1 -1
  546. package/daemon/dist/domain/profile-resolver.js +15 -0
  547. package/daemon/dist/domain/profile-resolver.js.map +1 -1
  548. package/daemon/dist/domain/progress/progress-indexer.js +1 -1
  549. package/daemon/dist/domain/progress/progress-indexer.js.map +1 -1
  550. package/daemon/dist/domain/project-lifecycle-compiler.d.ts +4 -0
  551. package/daemon/dist/domain/project-lifecycle-compiler.d.ts.map +1 -1
  552. package/daemon/dist/domain/project-lifecycle-compiler.js +63 -3
  553. package/daemon/dist/domain/project-lifecycle-compiler.js.map +1 -1
  554. package/daemon/dist/domain/projection-planner.js +1 -1
  555. package/daemon/dist/domain/projection-planner.js.map +1 -1
  556. package/daemon/dist/domain/proof/judgments.d.ts.map +1 -1
  557. package/daemon/dist/domain/proof/judgments.js +31 -2
  558. package/daemon/dist/domain/proof/judgments.js.map +1 -1
  559. package/daemon/dist/domain/provider/claude-auth-status-reader.d.ts +33 -0
  560. package/daemon/dist/domain/provider/claude-auth-status-reader.d.ts.map +1 -0
  561. package/daemon/dist/domain/provider/claude-auth-status-reader.js +195 -0
  562. package/daemon/dist/domain/provider/claude-auth-status-reader.js.map +1 -0
  563. package/daemon/dist/domain/provider/claude-usage-windows.d.ts +70 -0
  564. package/daemon/dist/domain/provider/claude-usage-windows.d.ts.map +1 -0
  565. package/daemon/dist/domain/provider/claude-usage-windows.js +305 -0
  566. package/daemon/dist/domain/provider/claude-usage-windows.js.map +1 -0
  567. package/daemon/dist/domain/provider/codex-auth-reader.d.ts +14 -0
  568. package/daemon/dist/domain/provider/codex-auth-reader.d.ts.map +1 -1
  569. package/daemon/dist/domain/provider/codex-auth-reader.js +41 -12
  570. package/daemon/dist/domain/provider/codex-auth-reader.js.map +1 -1
  571. package/daemon/dist/domain/provider/codex-usage-reader.d.ts +6 -1
  572. package/daemon/dist/domain/provider/codex-usage-reader.d.ts.map +1 -1
  573. package/daemon/dist/domain/provider/codex-usage-reader.js +6 -1
  574. package/daemon/dist/domain/provider/codex-usage-reader.js.map +1 -1
  575. package/daemon/dist/domain/provider/codex-usage-windows.d.ts +12 -49
  576. package/daemon/dist/domain/provider/codex-usage-windows.d.ts.map +1 -1
  577. package/daemon/dist/domain/provider/codex-usage-windows.js +16 -173
  578. package/daemon/dist/domain/provider/codex-usage-windows.js.map +1 -1
  579. package/daemon/dist/domain/provider/provider-account-readings.d.ts +42 -0
  580. package/daemon/dist/domain/provider/provider-account-readings.d.ts.map +1 -0
  581. package/daemon/dist/domain/provider/provider-account-readings.js +132 -0
  582. package/daemon/dist/domain/provider/provider-account-readings.js.map +1 -0
  583. package/daemon/dist/domain/provider/provider-seat-accounts.d.ts +18 -0
  584. package/daemon/dist/domain/provider/provider-seat-accounts.d.ts.map +1 -0
  585. package/daemon/dist/domain/provider/provider-seat-accounts.js +159 -0
  586. package/daemon/dist/domain/provider/provider-seat-accounts.js.map +1 -0
  587. package/daemon/dist/domain/provider/provider-service-impl.d.ts +7 -2
  588. package/daemon/dist/domain/provider/provider-service-impl.d.ts.map +1 -1
  589. package/daemon/dist/domain/provider/provider-service-impl.js +20 -2
  590. package/daemon/dist/domain/provider/provider-service-impl.js.map +1 -1
  591. package/daemon/dist/domain/provider/provider-service.d.ts +4 -2
  592. package/daemon/dist/domain/provider/provider-service.d.ts.map +1 -1
  593. package/daemon/dist/domain/provider/provider-types.d.ts +101 -4
  594. package/daemon/dist/domain/provider/provider-types.d.ts.map +1 -1
  595. package/daemon/dist/domain/provider/reactive-tap.js +2 -0
  596. package/daemon/dist/domain/provider/reactive-tap.js.map +1 -1
  597. package/daemon/dist/domain/provider/subscription-moves.d.ts +77 -0
  598. package/daemon/dist/domain/provider/subscription-moves.d.ts.map +1 -0
  599. package/daemon/dist/domain/provider/subscription-moves.js +140 -0
  600. package/daemon/dist/domain/provider/subscription-moves.js.map +1 -0
  601. package/daemon/dist/domain/provider/usage-across-hosts.d.ts +162 -0
  602. package/daemon/dist/domain/provider/usage-across-hosts.d.ts.map +1 -0
  603. package/daemon/dist/domain/provider/usage-across-hosts.js +569 -0
  604. package/daemon/dist/domain/provider/usage-across-hosts.js.map +1 -0
  605. package/daemon/dist/domain/provider/usage-windows.d.ts +113 -0
  606. package/daemon/dist/domain/provider/usage-windows.d.ts.map +1 -0
  607. package/daemon/dist/domain/provider/usage-windows.js +285 -0
  608. package/daemon/dist/domain/provider/usage-windows.js.map +1 -0
  609. package/daemon/dist/domain/queue-owner.d.ts +6 -0
  610. package/daemon/dist/domain/queue-owner.d.ts.map +1 -1
  611. package/daemon/dist/domain/queue-owner.js +22 -0
  612. package/daemon/dist/domain/queue-owner.js.map +1 -1
  613. package/daemon/dist/domain/queue-repository.d.ts +112 -14
  614. package/daemon/dist/domain/queue-repository.d.ts.map +1 -1
  615. package/daemon/dist/domain/queue-repository.js +390 -87
  616. package/daemon/dist/domain/queue-repository.js.map +1 -1
  617. package/daemon/dist/domain/queue-stuck-sweep.d.ts.map +1 -1
  618. package/daemon/dist/domain/queue-stuck-sweep.js +53 -22
  619. package/daemon/dist/domain/queue-stuck-sweep.js.map +1 -1
  620. package/daemon/dist/domain/queue-transition-log.d.ts +23 -2
  621. package/daemon/dist/domain/queue-transition-log.d.ts.map +1 -1
  622. package/daemon/dist/domain/queue-transition-log.js +98 -39
  623. package/daemon/dist/domain/queue-transition-log.js.map +1 -1
  624. package/daemon/dist/domain/queue-wake-ladder.d.ts +2 -2
  625. package/daemon/dist/domain/queue-wake-ladder.d.ts.map +1 -1
  626. package/daemon/dist/domain/queue-wake-ladder.js +27 -8
  627. package/daemon/dist/domain/queue-wake-ladder.js.map +1 -1
  628. package/daemon/dist/domain/queue-wake-repository.d.ts +7 -1
  629. package/daemon/dist/domain/queue-wake-repository.d.ts.map +1 -1
  630. package/daemon/dist/domain/queue-wake-repository.js +54 -5
  631. package/daemon/dist/domain/queue-wake-repository.js.map +1 -1
  632. package/daemon/dist/domain/reply-to-choice.d.ts +2 -0
  633. package/daemon/dist/domain/reply-to-choice.d.ts.map +1 -1
  634. package/daemon/dist/domain/reply-to-choice.js +2 -0
  635. package/daemon/dist/domain/reply-to-choice.js.map +1 -1
  636. package/daemon/dist/domain/restore-check-service.d.ts +10 -0
  637. package/daemon/dist/domain/restore-check-service.d.ts.map +1 -1
  638. package/daemon/dist/domain/restore-check-service.js +76 -12
  639. package/daemon/dist/domain/restore-check-service.js.map +1 -1
  640. package/daemon/dist/domain/restore-guidance.d.ts +6 -0
  641. package/daemon/dist/domain/restore-guidance.d.ts.map +1 -1
  642. package/daemon/dist/domain/restore-guidance.js +21 -5
  643. package/daemon/dist/domain/restore-guidance.js.map +1 -1
  644. package/daemon/dist/domain/restore-orchestrator.d.ts.map +1 -1
  645. package/daemon/dist/domain/restore-orchestrator.js +79 -15
  646. package/daemon/dist/domain/restore-orchestrator.js.map +1 -1
  647. package/daemon/dist/domain/restore-plan-preview.d.ts.map +1 -1
  648. package/daemon/dist/domain/restore-plan-preview.js +23 -19
  649. package/daemon/dist/domain/restore-plan-preview.js.map +1 -1
  650. package/daemon/dist/domain/restore-policy.d.ts +26 -0
  651. package/daemon/dist/domain/restore-policy.d.ts.map +1 -0
  652. package/daemon/dist/domain/restore-policy.js +22 -0
  653. package/daemon/dist/domain/restore-policy.js.map +1 -0
  654. package/daemon/dist/domain/restore-preconditions.d.ts +2 -0
  655. package/daemon/dist/domain/restore-preconditions.d.ts.map +1 -1
  656. package/daemon/dist/domain/restore-preconditions.js +6 -1
  657. package/daemon/dist/domain/restore-preconditions.js.map +1 -1
  658. package/daemon/dist/domain/restore-runtime-compatibility.d.ts +3 -0
  659. package/daemon/dist/domain/restore-runtime-compatibility.d.ts.map +1 -0
  660. package/daemon/dist/domain/restore-runtime-compatibility.js +7 -0
  661. package/daemon/dist/domain/restore-runtime-compatibility.js.map +1 -0
  662. package/daemon/dist/domain/resume-metadata-refresher.d.ts +10 -5
  663. package/daemon/dist/domain/resume-metadata-refresher.d.ts.map +1 -1
  664. package/daemon/dist/domain/resume-metadata-refresher.js +115 -50
  665. package/daemon/dist/domain/resume-metadata-refresher.js.map +1 -1
  666. package/daemon/dist/domain/resume-token-capture.d.ts +1 -1
  667. package/daemon/dist/domain/resume-token-capture.d.ts.map +1 -1
  668. package/daemon/dist/domain/resume-token-capture.js +7 -1
  669. package/daemon/dist/domain/resume-token-capture.js.map +1 -1
  670. package/daemon/dist/domain/review/compose.d.ts.map +1 -1
  671. package/daemon/dist/domain/review/compose.js +5 -4
  672. package/daemon/dist/domain/review/compose.js.map +1 -1
  673. package/daemon/dist/domain/review/gather.d.ts +2 -1
  674. package/daemon/dist/domain/review/gather.d.ts.map +1 -1
  675. package/daemon/dist/domain/review/gather.js +25 -17
  676. package/daemon/dist/domain/review/gather.js.map +1 -1
  677. package/daemon/dist/domain/rig-lifecycle-service.d.ts +31 -8
  678. package/daemon/dist/domain/rig-lifecycle-service.d.ts.map +1 -1
  679. package/daemon/dist/domain/rig-lifecycle-service.js +253 -98
  680. package/daemon/dist/domain/rig-lifecycle-service.js.map +1 -1
  681. package/daemon/dist/domain/rig-mode/rig-mode-store.d.ts +11 -1
  682. package/daemon/dist/domain/rig-mode/rig-mode-store.d.ts.map +1 -1
  683. package/daemon/dist/domain/rig-mode/rig-mode-store.js +69 -48
  684. package/daemon/dist/domain/rig-mode/rig-mode-store.js.map +1 -1
  685. package/daemon/dist/domain/rig-repository.d.ts +21 -0
  686. package/daemon/dist/domain/rig-repository.d.ts.map +1 -1
  687. package/daemon/dist/domain/rig-repository.js +58 -1
  688. package/daemon/dist/domain/rig-repository.js.map +1 -1
  689. package/daemon/dist/domain/rig-teardown.d.ts +4 -1
  690. package/daemon/dist/domain/rig-teardown.d.ts.map +1 -1
  691. package/daemon/dist/domain/rig-teardown.js +40 -2
  692. package/daemon/dist/domain/rig-teardown.js.map +1 -1
  693. package/daemon/dist/domain/rigspec-codec.d.ts.map +1 -1
  694. package/daemon/dist/domain/rigspec-codec.js +7 -0
  695. package/daemon/dist/domain/rigspec-codec.js.map +1 -1
  696. package/daemon/dist/domain/rigspec-exporter.d.ts.map +1 -1
  697. package/daemon/dist/domain/rigspec-exporter.js +4 -0
  698. package/daemon/dist/domain/rigspec-exporter.js.map +1 -1
  699. package/daemon/dist/domain/rigspec-instantiator.d.ts +3 -0
  700. package/daemon/dist/domain/rigspec-instantiator.d.ts.map +1 -1
  701. package/daemon/dist/domain/rigspec-instantiator.js +32 -7
  702. package/daemon/dist/domain/rigspec-instantiator.js.map +1 -1
  703. package/daemon/dist/domain/rigspec-preflight.d.ts +4 -0
  704. package/daemon/dist/domain/rigspec-preflight.d.ts.map +1 -1
  705. package/daemon/dist/domain/rigspec-preflight.js +30 -7
  706. package/daemon/dist/domain/rigspec-preflight.js.map +1 -1
  707. package/daemon/dist/domain/rigspec-schema.d.ts.map +1 -1
  708. package/daemon/dist/domain/rigspec-schema.js +35 -2
  709. package/daemon/dist/domain/rigspec-schema.js.map +1 -1
  710. package/daemon/dist/domain/runtime-adapter.d.ts +24 -0
  711. package/daemon/dist/domain/runtime-adapter.d.ts.map +1 -1
  712. package/daemon/dist/domain/runtime-adapter.js.map +1 -1
  713. package/daemon/dist/domain/runtime-verifier.d.ts +15 -1
  714. package/daemon/dist/domain/runtime-verifier.d.ts.map +1 -1
  715. package/daemon/dist/domain/runtime-verifier.js +28 -4
  716. package/daemon/dist/domain/runtime-verifier.js.map +1 -1
  717. package/daemon/dist/domain/scope/logical-checkbox.js +1 -1
  718. package/daemon/dist/domain/scope/logical-checkbox.js.map +1 -1
  719. package/daemon/dist/domain/scope/scope-view-projection.d.ts.map +1 -1
  720. package/daemon/dist/domain/scope/scope-view-projection.js +23 -10
  721. package/daemon/dist/domain/scope/scope-view-projection.js.map +1 -1
  722. package/daemon/dist/domain/seat-activity-service.d.ts +9 -2
  723. package/daemon/dist/domain/seat-activity-service.d.ts.map +1 -1
  724. package/daemon/dist/domain/seat-activity-service.js +100 -15
  725. package/daemon/dist/domain/seat-activity-service.js.map +1 -1
  726. package/daemon/dist/domain/seat-attention-reconciler.d.ts +3 -0
  727. package/daemon/dist/domain/seat-attention-reconciler.d.ts.map +1 -1
  728. package/daemon/dist/domain/seat-attention-reconciler.js +129 -8
  729. package/daemon/dist/domain/seat-attention-reconciler.js.map +1 -1
  730. package/daemon/dist/domain/seat-cwd-preparation.d.ts +22 -0
  731. package/daemon/dist/domain/seat-cwd-preparation.d.ts.map +1 -0
  732. package/daemon/dist/domain/seat-cwd-preparation.js +107 -0
  733. package/daemon/dist/domain/seat-cwd-preparation.js.map +1 -0
  734. package/daemon/dist/domain/seat-delivery-guard.d.ts +36 -1
  735. package/daemon/dist/domain/seat-delivery-guard.d.ts.map +1 -1
  736. package/daemon/dist/domain/seat-delivery-guard.js +255 -22
  737. package/daemon/dist/domain/seat-delivery-guard.js.map +1 -1
  738. package/daemon/dist/domain/seat-effort.d.ts +116 -0
  739. package/daemon/dist/domain/seat-effort.d.ts.map +1 -0
  740. package/daemon/dist/domain/seat-effort.js +251 -0
  741. package/daemon/dist/domain/seat-effort.js.map +1 -0
  742. package/daemon/dist/domain/seat-env.d.ts +37 -0
  743. package/daemon/dist/domain/seat-env.d.ts.map +1 -0
  744. package/daemon/dist/domain/seat-env.js +94 -0
  745. package/daemon/dist/domain/seat-env.js.map +1 -0
  746. package/daemon/dist/domain/seat-handover-service.d.ts +5 -0
  747. package/daemon/dist/domain/seat-handover-service.d.ts.map +1 -1
  748. package/daemon/dist/domain/seat-handover-service.js +22 -4
  749. package/daemon/dist/domain/seat-handover-service.js.map +1 -1
  750. package/daemon/dist/domain/seat-identity-reconciler.d.ts.map +1 -1
  751. package/daemon/dist/domain/seat-identity-reconciler.js +19 -2
  752. package/daemon/dist/domain/seat-identity-reconciler.js.map +1 -1
  753. package/daemon/dist/domain/seat-lifecycle-service.d.ts +153 -5
  754. package/daemon/dist/domain/seat-lifecycle-service.d.ts.map +1 -1
  755. package/daemon/dist/domain/seat-lifecycle-service.js +509 -23
  756. package/daemon/dist/domain/seat-lifecycle-service.js.map +1 -1
  757. package/daemon/dist/domain/seat-restart-in-place.d.ts +27 -2
  758. package/daemon/dist/domain/seat-restart-in-place.d.ts.map +1 -1
  759. package/daemon/dist/domain/seat-restart-in-place.js +82 -7
  760. package/daemon/dist/domain/seat-restart-in-place.js.map +1 -1
  761. package/daemon/dist/domain/seat-status-service.d.ts +2 -0
  762. package/daemon/dist/domain/seat-status-service.d.ts.map +1 -1
  763. package/daemon/dist/domain/seat-status-service.js +1 -0
  764. package/daemon/dist/domain/seat-status-service.js.map +1 -1
  765. package/daemon/dist/domain/seat-structural-activity-service.d.ts +12 -2
  766. package/daemon/dist/domain/seat-structural-activity-service.d.ts.map +1 -1
  767. package/daemon/dist/domain/seat-structural-activity-service.js +51 -9
  768. package/daemon/dist/domain/seat-structural-activity-service.js.map +1 -1
  769. package/daemon/dist/domain/session-name.d.ts +8 -0
  770. package/daemon/dist/domain/session-name.d.ts.map +1 -1
  771. package/daemon/dist/domain/session-name.js +12 -0
  772. package/daemon/dist/domain/session-name.js.map +1 -1
  773. package/daemon/dist/domain/session-registry.d.ts +13 -1
  774. package/daemon/dist/domain/session-registry.d.ts.map +1 -1
  775. package/daemon/dist/domain/session-registry.js +29 -2
  776. package/daemon/dist/domain/session-registry.js.map +1 -1
  777. package/daemon/dist/domain/session-transport.d.ts +186 -4
  778. package/daemon/dist/domain/session-transport.d.ts.map +1 -1
  779. package/daemon/dist/domain/session-transport.js +1421 -143
  780. package/daemon/dist/domain/session-transport.js.map +1 -1
  781. package/daemon/dist/domain/slices/slice-detail-projector.d.ts +2 -0
  782. package/daemon/dist/domain/slices/slice-detail-projector.d.ts.map +1 -1
  783. package/daemon/dist/domain/slices/slice-detail-projector.js +16 -4
  784. package/daemon/dist/domain/slices/slice-detail-projector.js.map +1 -1
  785. package/daemon/dist/domain/slices/slice-indexer.d.ts +10 -0
  786. package/daemon/dist/domain/slices/slice-indexer.d.ts.map +1 -1
  787. package/daemon/dist/domain/slices/slice-indexer.js +84 -4
  788. package/daemon/dist/domain/slices/slice-indexer.js.map +1 -1
  789. package/daemon/dist/domain/snapshot-repository.d.ts +3 -0
  790. package/daemon/dist/domain/snapshot-repository.d.ts.map +1 -1
  791. package/daemon/dist/domain/snapshot-repository.js +19 -2
  792. package/daemon/dist/domain/snapshot-repository.js.map +1 -1
  793. package/daemon/dist/domain/spec-library-workflow-scanner.d.ts +1 -1
  794. package/daemon/dist/domain/spec-library-workflow-scanner.d.ts.map +1 -1
  795. package/daemon/dist/domain/spec-library-workflow-scanner.js +24 -21
  796. package/daemon/dist/domain/spec-library-workflow-scanner.js.map +1 -1
  797. package/daemon/dist/domain/spec-validation-advisory.js +1 -1
  798. package/daemon/dist/domain/spec-validation-advisory.js.map +1 -1
  799. package/daemon/dist/domain/startup-orchestrator.d.ts +31 -3
  800. package/daemon/dist/domain/startup-orchestrator.d.ts.map +1 -1
  801. package/daemon/dist/domain/startup-orchestrator.js +218 -60
  802. package/daemon/dist/domain/startup-orchestrator.js.map +1 -1
  803. package/daemon/dist/domain/startup-submission-evidence.d.ts +13 -3
  804. package/daemon/dist/domain/startup-submission-evidence.d.ts.map +1 -1
  805. package/daemon/dist/domain/startup-submission-evidence.js +34 -25
  806. package/daemon/dist/domain/startup-submission-evidence.js.map +1 -1
  807. package/daemon/dist/domain/startup-validation.d.ts.map +1 -1
  808. package/daemon/dist/domain/startup-validation.js +3 -0
  809. package/daemon/dist/domain/startup-validation.js.map +1 -1
  810. package/daemon/dist/domain/successor-session-launcher.d.ts +7 -1
  811. package/daemon/dist/domain/successor-session-launcher.d.ts.map +1 -1
  812. package/daemon/dist/domain/successor-session-launcher.js +6 -2
  813. package/daemon/dist/domain/successor-session-launcher.js.map +1 -1
  814. package/daemon/dist/domain/text-cut.d.ts +4 -0
  815. package/daemon/dist/domain/text-cut.d.ts.map +1 -0
  816. package/daemon/dist/domain/text-cut.js +7 -0
  817. package/daemon/dist/domain/text-cut.js.map +1 -0
  818. package/daemon/dist/domain/time-bound-advisory.d.ts +5 -0
  819. package/daemon/dist/domain/time-bound-advisory.d.ts.map +1 -0
  820. package/daemon/dist/domain/time-bound-advisory.js +25 -0
  821. package/daemon/dist/domain/time-bound-advisory.js.map +1 -0
  822. package/daemon/dist/domain/transcript-capture.d.ts +7 -0
  823. package/daemon/dist/domain/transcript-capture.d.ts.map +1 -1
  824. package/daemon/dist/domain/transcript-capture.js +22 -1
  825. package/daemon/dist/domain/transcript-capture.js.map +1 -1
  826. package/daemon/dist/domain/transcript-rotation.d.ts +12 -4
  827. package/daemon/dist/domain/transcript-rotation.d.ts.map +1 -1
  828. package/daemon/dist/domain/transcript-rotation.js +185 -23
  829. package/daemon/dist/domain/transcript-rotation.js.map +1 -1
  830. package/daemon/dist/domain/transcript-store.d.ts +1 -1
  831. package/daemon/dist/domain/transcript-store.d.ts.map +1 -1
  832. package/daemon/dist/domain/transcript-store.js +8 -4
  833. package/daemon/dist/domain/transcript-store.js.map +1 -1
  834. package/daemon/dist/domain/types.d.ts +67 -3
  835. package/daemon/dist/domain/types.d.ts.map +1 -1
  836. package/daemon/dist/domain/types.js.map +1 -1
  837. package/daemon/dist/domain/usage-samples-store.d.ts +8 -0
  838. package/daemon/dist/domain/usage-samples-store.d.ts.map +1 -1
  839. package/daemon/dist/domain/usage-samples-store.js +24 -5
  840. package/daemon/dist/domain/usage-samples-store.js.map +1 -1
  841. package/daemon/dist/domain/usage-series.d.ts +154 -2
  842. package/daemon/dist/domain/usage-series.d.ts.map +1 -1
  843. package/daemon/dist/domain/usage-series.js +208 -9
  844. package/daemon/dist/domain/usage-series.js.map +1 -1
  845. package/daemon/dist/domain/user-settings/settings-store.d.ts +1 -1
  846. package/daemon/dist/domain/user-settings/settings-store.d.ts.map +1 -1
  847. package/daemon/dist/domain/user-settings/settings-store.js +37 -1
  848. package/daemon/dist/domain/user-settings/settings-store.js.map +1 -1
  849. package/daemon/dist/domain/watchdog-delivery.d.ts +29 -0
  850. package/daemon/dist/domain/watchdog-delivery.d.ts.map +1 -0
  851. package/daemon/dist/domain/watchdog-delivery.js +113 -0
  852. package/daemon/dist/domain/watchdog-delivery.js.map +1 -0
  853. package/daemon/dist/domain/watchdog-jobs-repository.d.ts +3 -1
  854. package/daemon/dist/domain/watchdog-jobs-repository.d.ts.map +1 -1
  855. package/daemon/dist/domain/watchdog-jobs-repository.js +13 -1
  856. package/daemon/dist/domain/watchdog-jobs-repository.js.map +1 -1
  857. package/daemon/dist/domain/watchdog-policy-engine.d.ts +61 -1
  858. package/daemon/dist/domain/watchdog-policy-engine.d.ts.map +1 -1
  859. package/daemon/dist/domain/watchdog-policy-engine.js +185 -30
  860. package/daemon/dist/domain/watchdog-policy-engine.js.map +1 -1
  861. package/daemon/dist/domain/watchdog-scheduler.d.ts.map +1 -1
  862. package/daemon/dist/domain/watchdog-scheduler.js +6 -1
  863. package/daemon/dist/domain/watchdog-scheduler.js.map +1 -1
  864. package/daemon/dist/domain/workflow-exception-escalation.d.ts.map +1 -1
  865. package/daemon/dist/domain/workflow-exception-escalation.js +3 -1
  866. package/daemon/dist/domain/workflow-exception-escalation.js.map +1 -1
  867. package/daemon/dist/domain/workflow-exception-readiness.d.ts.map +1 -1
  868. package/daemon/dist/domain/workflow-exception-readiness.js +7 -3
  869. package/daemon/dist/domain/workflow-exception-readiness.js.map +1 -1
  870. package/daemon/dist/domain/workflow-instance-store.d.ts +11 -0
  871. package/daemon/dist/domain/workflow-instance-store.d.ts.map +1 -1
  872. package/daemon/dist/domain/workflow-instance-store.js +24 -6
  873. package/daemon/dist/domain/workflow-instance-store.js.map +1 -1
  874. package/daemon/dist/domain/workflow-projector.d.ts.map +1 -1
  875. package/daemon/dist/domain/workflow-projector.js +5 -3
  876. package/daemon/dist/domain/workflow-projector.js.map +1 -1
  877. package/daemon/dist/domain/workflow-rig-placeholder.d.ts +24 -0
  878. package/daemon/dist/domain/workflow-rig-placeholder.d.ts.map +1 -0
  879. package/daemon/dist/domain/workflow-rig-placeholder.js +43 -0
  880. package/daemon/dist/domain/workflow-rig-placeholder.js.map +1 -0
  881. package/daemon/dist/domain/workflow-runtime.d.ts +10 -1
  882. package/daemon/dist/domain/workflow-runtime.d.ts.map +1 -1
  883. package/daemon/dist/domain/workflow-runtime.js +26 -13
  884. package/daemon/dist/domain/workflow-runtime.js.map +1 -1
  885. package/daemon/dist/domain/workflow-scope.d.ts +50 -0
  886. package/daemon/dist/domain/workflow-scope.d.ts.map +1 -0
  887. package/daemon/dist/domain/workflow-scope.js +129 -0
  888. package/daemon/dist/domain/workflow-scope.js.map +1 -0
  889. package/daemon/dist/domain/workflow-spec-cache.d.ts +10 -0
  890. package/daemon/dist/domain/workflow-spec-cache.d.ts.map +1 -1
  891. package/daemon/dist/domain/workflow-spec-cache.js +13 -0
  892. package/daemon/dist/domain/workflow-spec-cache.js.map +1 -1
  893. package/daemon/dist/domain/workflow-types.d.ts +4 -0
  894. package/daemon/dist/domain/workflow-types.d.ts.map +1 -1
  895. package/daemon/dist/domain/workflow-types.js.map +1 -1
  896. package/daemon/dist/domain/workflow-validator.d.ts.map +1 -1
  897. package/daemon/dist/domain/workflow-validator.js +3 -1
  898. package/daemon/dist/domain/workflow-validator.js.map +1 -1
  899. package/daemon/dist/domain/workspace/project-read.d.ts +2 -0
  900. package/daemon/dist/domain/workspace/project-read.d.ts.map +1 -1
  901. package/daemon/dist/domain/workspace/project-read.js +4 -0
  902. package/daemon/dist/domain/workspace/project-read.js.map +1 -1
  903. package/daemon/dist/index.d.ts.map +1 -1
  904. package/daemon/dist/index.js +10 -0
  905. package/daemon/dist/index.js.map +1 -1
  906. package/daemon/dist/lib/pane-envelope.js +1 -1
  907. package/daemon/dist/lib/pane-envelope.js.map +1 -1
  908. package/daemon/dist/middleware/json-body-error.d.ts +4 -3
  909. package/daemon/dist/middleware/json-body-error.d.ts.map +1 -1
  910. package/daemon/dist/middleware/json-body-error.js +18 -4
  911. package/daemon/dist/middleware/json-body-error.js.map +1 -1
  912. package/daemon/dist/routes/activity.d.ts.map +1 -1
  913. package/daemon/dist/routes/activity.js +78 -0
  914. package/daemon/dist/routes/activity.js.map +1 -1
  915. package/daemon/dist/routes/attention.d.ts.map +1 -1
  916. package/daemon/dist/routes/attention.js +41 -1
  917. package/daemon/dist/routes/attention.js.map +1 -1
  918. package/daemon/dist/routes/bundles.d.ts.map +1 -1
  919. package/daemon/dist/routes/bundles.js +39 -16
  920. package/daemon/dist/routes/bundles.js.map +1 -1
  921. package/daemon/dist/routes/community-harnesses.d.ts +3 -0
  922. package/daemon/dist/routes/community-harnesses.d.ts.map +1 -0
  923. package/daemon/dist/routes/community-harnesses.js +18 -0
  924. package/daemon/dist/routes/community-harnesses.js.map +1 -0
  925. package/daemon/dist/routes/compaction.d.ts +3 -0
  926. package/daemon/dist/routes/compaction.d.ts.map +1 -1
  927. package/daemon/dist/routes/compaction.js +14 -2
  928. package/daemon/dist/routes/compaction.js.map +1 -1
  929. package/daemon/dist/routes/events.js +26 -12
  930. package/daemon/dist/routes/events.js.map +1 -1
  931. package/daemon/dist/routes/gateway.d.ts +3 -0
  932. package/daemon/dist/routes/gateway.d.ts.map +1 -1
  933. package/daemon/dist/routes/gateway.js +15 -0
  934. package/daemon/dist/routes/gateway.js.map +1 -1
  935. package/daemon/dist/routes/hosts.d.ts.map +1 -1
  936. package/daemon/dist/routes/hosts.js +2 -1
  937. package/daemon/dist/routes/hosts.js.map +1 -1
  938. package/daemon/dist/routes/provider.d.ts +11 -1
  939. package/daemon/dist/routes/provider.d.ts.map +1 -1
  940. package/daemon/dist/routes/provider.js +182 -10
  941. package/daemon/dist/routes/provider.js.map +1 -1
  942. package/daemon/dist/routes/query-limit.d.ts +1 -0
  943. package/daemon/dist/routes/query-limit.d.ts.map +1 -1
  944. package/daemon/dist/routes/query-limit.js +1 -1
  945. package/daemon/dist/routes/query-limit.js.map +1 -1
  946. package/daemon/dist/routes/queue.d.ts.map +1 -1
  947. package/daemon/dist/routes/queue.js +47 -4
  948. package/daemon/dist/routes/queue.js.map +1 -1
  949. package/daemon/dist/routes/restore-check.d.ts.map +1 -1
  950. package/daemon/dist/routes/restore-check.js +19 -1
  951. package/daemon/dist/routes/restore-check.js.map +1 -1
  952. package/daemon/dist/routes/rig-mode.d.ts.map +1 -1
  953. package/daemon/dist/routes/rig-mode.js +66 -11
  954. package/daemon/dist/routes/rig-mode.js.map +1 -1
  955. package/daemon/dist/routes/scope-audit.d.ts.map +1 -1
  956. package/daemon/dist/routes/scope-audit.js +10 -0
  957. package/daemon/dist/routes/scope-audit.js.map +1 -1
  958. package/daemon/dist/routes/seat.d.ts.map +1 -1
  959. package/daemon/dist/routes/seat.js +76 -12
  960. package/daemon/dist/routes/seat.js.map +1 -1
  961. package/daemon/dist/routes/sessions.d.ts.map +1 -1
  962. package/daemon/dist/routes/sessions.js +8 -2
  963. package/daemon/dist/routes/sessions.js.map +1 -1
  964. package/daemon/dist/routes/startup.d.ts.map +1 -1
  965. package/daemon/dist/routes/startup.js +9 -2
  966. package/daemon/dist/routes/startup.js.map +1 -1
  967. package/daemon/dist/routes/telemetry.d.ts.map +1 -1
  968. package/daemon/dist/routes/telemetry.js +13 -3
  969. package/daemon/dist/routes/telemetry.js.map +1 -1
  970. package/daemon/dist/routes/transcripts.d.ts.map +1 -1
  971. package/daemon/dist/routes/transcripts.js +14 -5
  972. package/daemon/dist/routes/transcripts.js.map +1 -1
  973. package/daemon/dist/routes/transport.d.ts.map +1 -1
  974. package/daemon/dist/routes/transport.js +26 -4
  975. package/daemon/dist/routes/transport.js.map +1 -1
  976. package/daemon/dist/routes/up.d.ts.map +1 -1
  977. package/daemon/dist/routes/up.js +4 -0
  978. package/daemon/dist/routes/up.js.map +1 -1
  979. package/daemon/dist/routes/workflow.d.ts.map +1 -1
  980. package/daemon/dist/routes/workflow.js +50 -1
  981. package/daemon/dist/routes/workflow.js.map +1 -1
  982. package/daemon/dist/server.d.ts +1 -0
  983. package/daemon/dist/server.d.ts.map +1 -1
  984. package/daemon/dist/server.js +5 -1
  985. package/daemon/dist/server.js.map +1 -1
  986. package/daemon/dist/spec-validation-surface.d.ts +1 -1
  987. package/daemon/dist/spec-validation-surface.d.ts.map +1 -1
  988. package/daemon/dist/spec-validation-surface.js +1 -1
  989. package/daemon/dist/spec-validation-surface.js.map +1 -1
  990. package/daemon/dist/startup.d.ts +3 -1
  991. package/daemon/dist/startup.d.ts.map +1 -1
  992. package/daemon/dist/startup.js +160 -148
  993. package/daemon/dist/startup.js.map +1 -1
  994. package/daemon/dist/workflow-scope-surface.d.ts +2 -0
  995. package/daemon/dist/workflow-scope-surface.d.ts.map +1 -0
  996. package/daemon/dist/workflow-scope-surface.js +2 -0
  997. package/daemon/dist/workflow-scope-surface.js.map +1 -0
  998. package/daemon/docs/reference/agent-spec.md +5 -3
  999. package/daemon/docs/reference/agent-startup-guide.md +179 -6
  1000. package/daemon/docs/reference/claude-status-line.md +69 -0
  1001. package/daemon/docs/reference/getting-started.md +81 -18
  1002. package/daemon/docs/reference/keeping-a-watch.md +102 -5
  1003. package/daemon/docs/reference/project-workspace.md +70 -1
  1004. package/daemon/docs/reference/publishing-a-rig-bundle.md +11 -3
  1005. package/daemon/docs/reference/refocus-channel.md +52 -6
  1006. package/daemon/docs/reference/rig-bundle.md +26 -2
  1007. package/daemon/docs/reference/rig-spec.md +67 -6
  1008. package/daemon/docs/reference/rosters.md +29 -2
  1009. package/daemon/docs/reference/schemas/bundle-behaviour.v1.schema.json +105 -2
  1010. package/daemon/docs/reference/scoped-operating-posture.md +12 -2
  1011. package/daemon/docs/reference/sdlc-conventions.md +39 -1
  1012. package/daemon/docs/reference/seat-delivery.md +127 -0
  1013. package/daemon/docs/reference/slack-app-setup.md +187 -29
  1014. package/daemon/docs/reference/topology-naming.md +9 -0
  1015. package/daemon/docs/reference/whats-new.md +99 -151
  1016. package/daemon/specs/agents/apps/vault-specialist/agent.yaml +1 -0
  1017. package/daemon/specs/agents/conveyor/builder/agent.yaml +1 -0
  1018. package/daemon/specs/agents/conveyor/lead/agent.yaml +1 -0
  1019. package/daemon/specs/agents/conveyor/planner/agent.yaml +1 -0
  1020. package/daemon/specs/agents/conveyor/reviewer/agent.yaml +1 -0
  1021. package/daemon/specs/agents/design/product-designer/agent.yaml +1 -0
  1022. package/daemon/specs/agents/development/implementer/agent.yaml +1 -0
  1023. package/daemon/specs/agents/development/qa/agent.yaml +1 -0
  1024. package/daemon/specs/agents/factory-rsi/dogfood/agent.yaml +1 -0
  1025. package/daemon/specs/agents/factory-rsi/release-manager/agent.yaml +1 -0
  1026. package/daemon/specs/agents/orchestration/orchestrator/agent.yaml +1 -0
  1027. package/daemon/specs/agents/product-management/pm/agent.yaml +1 -0
  1028. package/daemon/specs/agents/research/analyst/agent.yaml +1 -0
  1029. package/daemon/specs/agents/research/synthesizer/agent.yaml +1 -0
  1030. package/daemon/specs/agents/review/independent-reviewer/agent.yaml +1 -0
  1031. package/daemon/specs/agents/shared/skills/core/openrig-skills/SKILL.md +1 -1
  1032. package/daemon/specs/agents/shared/skills/core/openrig-software-factory/SKILL.md +0 -1
  1033. package/daemon/specs/agents/shared/skills/core/openrig-software-factory/references/worked-example.md +7 -4
  1034. package/daemon/specs/agents/shared/skills/core/topology-mutation-and-seat-management/SKILL.md +1 -1
  1035. package/daemon/specs/agents/shared/skills/pods/orchestration-team/SKILL.md +1 -1
  1036. package/daemon/specs/rigs/launch/demo/CULTURE.md +1 -1
  1037. package/daemon/specs/rigs/launch/factory/CULTURE.md +1 -1
  1038. package/daemon/specs/rigs/launch/factory/topology/rig/CRAFT.md +2 -2
  1039. package/daemon/specs/rigs/launch/first-project/CULTURE.md +2 -1
  1040. package/daemon/specs/rigs/launch/first-project-claude/CULTURE.md +2 -1
  1041. package/daemon/specs/rigs/launch/first-project-mixed/CULTURE.md +2 -1
  1042. package/daemon/specs/rigs/launch/kernel/agents/operator/agent/guidance/role.md +9 -2
  1043. package/daemon/specs/rigs/launch/starter/CULTURE.md +2 -1
  1044. package/daemon/specs/rigs/preview/product-team/CULTURE.md +1 -1
  1045. package/dist/bin-wrapper.d.ts +2 -1
  1046. package/dist/bin-wrapper.d.ts.map +1 -1
  1047. package/dist/bin-wrapper.js +61 -4
  1048. package/dist/bin-wrapper.js.map +1 -1
  1049. package/dist/build-info.js +3 -3
  1050. package/dist/bundle-behaviour.d.ts.map +1 -1
  1051. package/dist/bundle-behaviour.js +22 -0
  1052. package/dist/bundle-behaviour.js.map +1 -1
  1053. package/dist/client.d.ts.map +1 -1
  1054. package/dist/client.js +3 -3
  1055. package/dist/client.js.map +1 -1
  1056. package/dist/commands/add.d.ts.map +1 -1
  1057. package/dist/commands/add.js +1 -1
  1058. package/dist/commands/add.js.map +1 -1
  1059. package/dist/commands/ask.d.ts.map +1 -1
  1060. package/dist/commands/ask.js +16 -5
  1061. package/dist/commands/ask.js.map +1 -1
  1062. package/dist/commands/bootstrap.d.ts.map +1 -1
  1063. package/dist/commands/bootstrap.js +9 -5
  1064. package/dist/commands/bootstrap.js.map +1 -1
  1065. package/dist/commands/bundle.d.ts.map +1 -1
  1066. package/dist/commands/bundle.js +8 -0
  1067. package/dist/commands/bundle.js.map +1 -1
  1068. package/dist/commands/capture.d.ts +4 -0
  1069. package/dist/commands/capture.d.ts.map +1 -1
  1070. package/dist/commands/capture.js +29 -2
  1071. package/dist/commands/capture.js.map +1 -1
  1072. package/dist/commands/community-harness.d.ts +4 -0
  1073. package/dist/commands/community-harness.d.ts.map +1 -0
  1074. package/dist/commands/community-harness.js +48 -0
  1075. package/dist/commands/community-harness.js.map +1 -0
  1076. package/dist/commands/compact.d.ts.map +1 -1
  1077. package/dist/commands/compact.js +8 -4
  1078. package/dist/commands/compact.js.map +1 -1
  1079. package/dist/commands/config.d.ts.map +1 -1
  1080. package/dist/commands/config.js +9 -2
  1081. package/dist/commands/config.js.map +1 -1
  1082. package/dist/commands/crash-cart.d.ts.map +1 -1
  1083. package/dist/commands/crash-cart.js +3 -5
  1084. package/dist/commands/crash-cart.js.map +1 -1
  1085. package/dist/commands/create.d.ts.map +1 -1
  1086. package/dist/commands/create.js +7 -5
  1087. package/dist/commands/create.js.map +1 -1
  1088. package/dist/commands/doctor.d.ts.map +1 -1
  1089. package/dist/commands/doctor.js +8 -7
  1090. package/dist/commands/doctor.js.map +1 -1
  1091. package/dist/commands/down.d.ts.map +1 -1
  1092. package/dist/commands/down.js +2 -1
  1093. package/dist/commands/down.js.map +1 -1
  1094. package/dist/commands/grow.d.ts.map +1 -1
  1095. package/dist/commands/grow.js +24 -7
  1096. package/dist/commands/grow.js.map +1 -1
  1097. package/dist/commands/launch.d.ts +1 -0
  1098. package/dist/commands/launch.d.ts.map +1 -1
  1099. package/dist/commands/launch.js +61 -10
  1100. package/dist/commands/launch.js.map +1 -1
  1101. package/dist/commands/policy.d.ts +2 -1
  1102. package/dist/commands/policy.d.ts.map +1 -1
  1103. package/dist/commands/policy.js +66 -7
  1104. package/dist/commands/policy.js.map +1 -1
  1105. package/dist/commands/provider.d.ts +2 -0
  1106. package/dist/commands/provider.d.ts.map +1 -1
  1107. package/dist/commands/provider.js +372 -49
  1108. package/dist/commands/provider.js.map +1 -1
  1109. package/dist/commands/ps.d.ts +13 -0
  1110. package/dist/commands/ps.d.ts.map +1 -1
  1111. package/dist/commands/ps.js +52 -7
  1112. package/dist/commands/ps.js.map +1 -1
  1113. package/dist/commands/queue.d.ts.map +1 -1
  1114. package/dist/commands/queue.js +59 -10
  1115. package/dist/commands/queue.js.map +1 -1
  1116. package/dist/commands/remove.d.ts.map +1 -1
  1117. package/dist/commands/remove.js +20 -1
  1118. package/dist/commands/remove.js.map +1 -1
  1119. package/dist/commands/requirements.d.ts.map +1 -1
  1120. package/dist/commands/requirements.js +8 -5
  1121. package/dist/commands/requirements.js.map +1 -1
  1122. package/dist/commands/restore.js +1 -1
  1123. package/dist/commands/restore.js.map +1 -1
  1124. package/dist/commands/rig-mode.d.ts.map +1 -1
  1125. package/dist/commands/rig-mode.js +106 -18
  1126. package/dist/commands/rig-mode.js.map +1 -1
  1127. package/dist/commands/roster.d.ts +2 -1
  1128. package/dist/commands/roster.d.ts.map +1 -1
  1129. package/dist/commands/roster.js +10 -5
  1130. package/dist/commands/roster.js.map +1 -1
  1131. package/dist/commands/scope.d.ts.map +1 -1
  1132. package/dist/commands/scope.js +47 -9
  1133. package/dist/commands/scope.js.map +1 -1
  1134. package/dist/commands/seat.d.ts.map +1 -1
  1135. package/dist/commands/seat.js +203 -25
  1136. package/dist/commands/seat.js.map +1 -1
  1137. package/dist/commands/send.d.ts +2 -2
  1138. package/dist/commands/send.d.ts.map +1 -1
  1139. package/dist/commands/send.js +79 -12
  1140. package/dist/commands/send.js.map +1 -1
  1141. package/dist/commands/slack.d.ts.map +1 -1
  1142. package/dist/commands/slack.js +23 -5
  1143. package/dist/commands/slack.js.map +1 -1
  1144. package/dist/commands/start.d.ts +11 -0
  1145. package/dist/commands/start.d.ts.map +1 -1
  1146. package/dist/commands/start.js +77 -3
  1147. package/dist/commands/start.js.map +1 -1
  1148. package/dist/commands/status.d.ts.map +1 -1
  1149. package/dist/commands/status.js +60 -2
  1150. package/dist/commands/status.js.map +1 -1
  1151. package/dist/commands/up.d.ts.map +1 -1
  1152. package/dist/commands/up.js +58 -0
  1153. package/dist/commands/up.js.map +1 -1
  1154. package/dist/commands/usage.d.ts +12 -0
  1155. package/dist/commands/usage.d.ts.map +1 -1
  1156. package/dist/commands/usage.js +108 -0
  1157. package/dist/commands/usage.js.map +1 -1
  1158. package/dist/commands/watchdog.d.ts.map +1 -1
  1159. package/dist/commands/watchdog.js +20 -7
  1160. package/dist/commands/watchdog.js.map +1 -1
  1161. package/dist/commands/whoami.d.ts +36 -0
  1162. package/dist/commands/whoami.d.ts.map +1 -1
  1163. package/dist/commands/whoami.js +125 -7
  1164. package/dist/commands/whoami.js.map +1 -1
  1165. package/dist/commands/workflow.d.ts.map +1 -1
  1166. package/dist/commands/workflow.js +53 -5
  1167. package/dist/commands/workflow.js.map +1 -1
  1168. package/dist/config-store.d.ts +14 -1
  1169. package/dist/config-store.d.ts.map +1 -1
  1170. package/dist/config-store.js +50 -1
  1171. package/dist/config-store.js.map +1 -1
  1172. package/dist/daemon-lifecycle.d.ts +2 -2
  1173. package/dist/daemon-lifecycle.d.ts.map +1 -1
  1174. package/dist/daemon-lifecycle.js +5 -4
  1175. package/dist/daemon-lifecycle.js.map +1 -1
  1176. package/dist/host-registry.d.ts.map +1 -1
  1177. package/dist/host-registry.js +6 -3
  1178. package/dist/host-registry.js.map +1 -1
  1179. package/dist/index.d.ts +1 -0
  1180. package/dist/index.d.ts.map +1 -1
  1181. package/dist/index.js +4 -7
  1182. package/dist/index.js.map +1 -1
  1183. package/dist/lazy-program.d.ts +9 -0
  1184. package/dist/lazy-program.d.ts.map +1 -0
  1185. package/dist/lazy-program.js +111 -0
  1186. package/dist/lazy-program.js.map +1 -0
  1187. package/dist/lib/bundle-check.js +2 -2
  1188. package/dist/lib/bundle-check.js.map +1 -1
  1189. package/dist/lib/bundle-source.d.ts +1 -0
  1190. package/dist/lib/bundle-source.d.ts.map +1 -1
  1191. package/dist/lib/bundle-source.js +1 -0
  1192. package/dist/lib/bundle-source.js.map +1 -1
  1193. package/dist/lib/codex-auth.d.ts.map +1 -1
  1194. package/dist/lib/codex-auth.js +17 -1
  1195. package/dist/lib/codex-auth.js.map +1 -1
  1196. package/dist/lib/context-install.js +1 -1
  1197. package/dist/lib/context-install.js.map +1 -1
  1198. package/dist/lib/file-transfer.js +1 -1
  1199. package/dist/lib/file-transfer.js.map +1 -1
  1200. package/dist/lib/frontmatter.d.ts +11 -0
  1201. package/dist/lib/frontmatter.d.ts.map +1 -0
  1202. package/dist/lib/frontmatter.js +20 -0
  1203. package/dist/lib/frontmatter.js.map +1 -0
  1204. package/dist/lib/model-observation.d.ts +13 -0
  1205. package/dist/lib/model-observation.d.ts.map +1 -0
  1206. package/dist/lib/model-observation.js +25 -0
  1207. package/dist/lib/model-observation.js.map +1 -0
  1208. package/dist/lib/permission-policy/policy-spec.d.ts.map +1 -1
  1209. package/dist/lib/permission-policy/policy-spec.js +5 -7
  1210. package/dist/lib/permission-policy/policy-spec.js.map +1 -1
  1211. package/dist/lib/scope/logical-checkbox.js +1 -1
  1212. package/dist/lib/scope/logical-checkbox.js.map +1 -1
  1213. package/dist/lib/scope/scope-fs.d.ts +8 -0
  1214. package/dist/lib/scope/scope-fs.d.ts.map +1 -1
  1215. package/dist/lib/scope/scope-fs.js +50 -1
  1216. package/dist/lib/scope/scope-fs.js.map +1 -1
  1217. package/dist/lib/work-install.d.ts.map +1 -1
  1218. package/dist/lib/work-install.js +3 -13
  1219. package/dist/lib/work-install.js.map +1 -1
  1220. package/dist/mcp-server.d.ts.map +1 -1
  1221. package/dist/mcp-server.js +114 -0
  1222. package/dist/mcp-server.js.map +1 -1
  1223. package/dist/program-root.d.ts +5 -0
  1224. package/dist/program-root.d.ts.map +1 -0
  1225. package/dist/program-root.js +11 -0
  1226. package/dist/program-root.js.map +1 -0
  1227. package/dist/queue-read-compact.d.ts +29 -0
  1228. package/dist/queue-read-compact.d.ts.map +1 -0
  1229. package/dist/queue-read-compact.js +74 -0
  1230. package/dist/queue-read-compact.js.map +1 -0
  1231. package/dist/remote-host-ops.d.ts +21 -0
  1232. package/dist/remote-host-ops.d.ts.map +1 -1
  1233. package/dist/remote-host-ops.js +25 -12
  1234. package/dist/remote-host-ops.js.map +1 -1
  1235. package/package.json +1 -1
  1236. package/tui/dist/attention/attention-model.js +6 -5
  1237. package/tui/dist/attention/attention-model.js.map +1 -1
  1238. package/tui/dist/attention/source-continuity.d.ts.map +1 -1
  1239. package/tui/dist/attention/source-continuity.js +2 -0
  1240. package/tui/dist/attention/source-continuity.js.map +1 -1
  1241. package/tui/dist/commands/registry.d.ts.map +1 -1
  1242. package/tui/dist/commands/registry.js +3 -0
  1243. package/tui/dist/commands/registry.js.map +1 -1
  1244. package/tui/dist/config/config-model.d.ts.map +1 -1
  1245. package/tui/dist/config/config-model.js +6 -1
  1246. package/tui/dist/config/config-model.js.map +1 -1
  1247. package/tui/dist/cost/cost-model.d.ts +12 -0
  1248. package/tui/dist/cost/cost-model.d.ts.map +1 -0
  1249. package/tui/dist/cost/cost-model.js +141 -0
  1250. package/tui/dist/cost/cost-model.js.map +1 -0
  1251. package/tui/dist/cost/cost-read.d.ts +19 -0
  1252. package/tui/dist/cost/cost-read.d.ts.map +1 -0
  1253. package/tui/dist/cost/cost-read.js +4 -0
  1254. package/tui/dist/cost/cost-read.js.map +1 -0
  1255. package/tui/dist/daemon-client.d.ts +13 -0
  1256. package/tui/dist/daemon-client.d.ts.map +1 -1
  1257. package/tui/dist/daemon-client.js +77 -1
  1258. package/tui/dist/daemon-client.js.map +1 -1
  1259. package/tui/dist/detail.d.ts +2 -0
  1260. package/tui/dist/detail.d.ts.map +1 -1
  1261. package/tui/dist/detail.js +5 -0
  1262. package/tui/dist/detail.js.map +1 -1
  1263. package/tui/dist/execution/execution-model.d.ts.map +1 -1
  1264. package/tui/dist/execution/execution-model.js +38 -18
  1265. package/tui/dist/execution/execution-model.js.map +1 -1
  1266. package/tui/dist/helper-cwd.d.ts +3 -0
  1267. package/tui/dist/helper-cwd.d.ts.map +1 -0
  1268. package/tui/dist/helper-cwd.js +16 -0
  1269. package/tui/dist/helper-cwd.js.map +1 -0
  1270. package/tui/dist/hydrate.d.ts.map +1 -1
  1271. package/tui/dist/hydrate.js +32 -1
  1272. package/tui/dist/hydrate.js.map +1 -1
  1273. package/tui/dist/input.d.ts.map +1 -1
  1274. package/tui/dist/input.js +2 -1
  1275. package/tui/dist/input.js.map +1 -1
  1276. package/tui/dist/local-reading.d.ts.map +1 -1
  1277. package/tui/dist/local-reading.js +2 -1
  1278. package/tui/dist/local-reading.js.map +1 -1
  1279. package/tui/dist/main.js +6 -5
  1280. package/tui/dist/main.js.map +1 -1
  1281. package/tui/dist/pulse/render-pulse.d.ts.map +1 -1
  1282. package/tui/dist/pulse/render-pulse.js +7 -1
  1283. package/tui/dist/pulse/render-pulse.js.map +1 -1
  1284. package/tui/dist/reading.js +1 -1
  1285. package/tui/dist/reading.js.map +1 -1
  1286. package/tui/dist/render.d.ts.map +1 -1
  1287. package/tui/dist/render.js +10 -1
  1288. package/tui/dist/render.js.map +1 -1
  1289. package/tui/dist/scopes/scopes-model.d.ts +6 -1
  1290. package/tui/dist/scopes/scopes-model.d.ts.map +1 -1
  1291. package/tui/dist/scopes/scopes-model.js +33 -13
  1292. package/tui/dist/scopes/scopes-model.js.map +1 -1
  1293. package/tui/dist/sections.d.ts.map +1 -1
  1294. package/tui/dist/sections.js +4 -1
  1295. package/tui/dist/sections.js.map +1 -1
  1296. package/tui/dist/socket-server.d.ts.map +1 -1
  1297. package/tui/dist/socket-server.js +2 -1
  1298. package/tui/dist/socket-server.js.map +1 -1
  1299. package/tui/dist/specs/launch.d.ts.map +1 -1
  1300. package/tui/dist/specs/launch.js +2 -1
  1301. package/tui/dist/specs/launch.js.map +1 -1
  1302. package/tui/dist/startup.js +1 -1
  1303. package/tui/dist/startup.js.map +1 -1
  1304. package/tui/dist/state.d.ts.map +1 -1
  1305. package/tui/dist/state.js +8 -4
  1306. package/tui/dist/state.js.map +1 -1
  1307. package/tui/dist/terminals/open-window.d.ts +11 -1
  1308. package/tui/dist/terminals/open-window.d.ts.map +1 -1
  1309. package/tui/dist/terminals/open-window.js +48 -2
  1310. package/tui/dist/terminals/open-window.js.map +1 -1
  1311. package/tui/dist/types.d.ts +9 -0
  1312. package/tui/dist/types.d.ts.map +1 -1
  1313. package/tui/dist/usage/usage-hosts-model.d.ts +17 -0
  1314. package/tui/dist/usage/usage-hosts-model.d.ts.map +1 -0
  1315. package/tui/dist/usage/usage-hosts-model.js +73 -0
  1316. package/tui/dist/usage/usage-hosts-model.js.map +1 -0
  1317. package/tui/dist/usage/usage-model.d.ts +41 -0
  1318. package/tui/dist/usage/usage-model.d.ts.map +1 -0
  1319. package/tui/dist/usage/usage-model.js +196 -0
  1320. package/tui/dist/usage/usage-model.js.map +1 -0
  1321. package/ui/dist/assets/{index-DhmxKuZf.js → index-CVgod3Pm.js} +2 -2
  1322. package/ui/dist/index.html +1 -1
@@ -189,7 +189,11 @@ ambiguity.
189
189
  ## Queue Mapping
190
190
 
191
191
  A `slice:<id>` tag is the authoritative way to attach a queue item to a slice;
192
- with a project selected, typed rows also need the `project:<id>` tag. As a
192
+ with a project selected, typed rows also need the `project:<id>` tag. The tag
193
+ value is either the slice's frontmatter `id` (a dot-ID such as `CUS.9775.1.1`)
194
+ or its directory name (`01-custody-funds`); both resolve to the same slice on
195
+ the Queue tab, the ownership lanes and the agents band. A row that carries both
196
+ forms counts once. As a
193
197
  fallback, for slices with no typed rows, items attach when their body or tags
194
198
  mention one of:
195
199
 
@@ -210,6 +214,71 @@ Slice: capture-product-ideas
210
214
  This makes Story, Queue, Tests, and Topology tabs line up with the filesystem
211
215
  slice without adding a separate project database schema.
212
216
 
217
+ ### Workflow packets
218
+
219
+ Packets that `rig workflow` projects carry the scope of their instance. Pass the
220
+ scope when the instance is created and every packet it creates (the entry, each
221
+ hand-off and gate, exception items, and resume packets) is tagged, so they show
222
+ on the slice's Queue tab:
223
+
224
+ ```bash
225
+ rig workflow instantiate ./spec.workflow.md \
226
+ --root-objective "Build the capture flow" --created-by orch@my-rig \
227
+ --project my-project --mission idea-ledger --slice capture-product-ideas \
228
+ --tags ticket-7
229
+ ```
230
+
231
+ - `--project` should name a project in the workspace catalog. `--mission` and
232
+ `--slice` take the same ids as the slice routes. `rig workflow run` takes the
233
+ same flags. The CLI refuses what it can check itself (an id of the wrong shape,
234
+ a reserved tag, a tag that contradicts a flag) as a usage error, before
235
+ anything is sent. Only the daemon knows the catalog, so a mistyped `--project`
236
+ is **not refused**: the daemon creates the instance unscoped, its packets carry
237
+ no scope tags, and the CLI prints a warning on stderr (also with `--json`)
238
+ that names the instance and says the scope was not applied. The CLI does not
239
+ retry; instantiating again creates a second instance.
240
+ - Packets carry `project:<id>`, `mission:<id>` and `slice:<id>` for the parts
241
+ you set, then your `--tags`, after the tags the workflow system writes. Tags
242
+ compose as in `rig queue create`: duplicates collapse, so `--slice S --tags
243
+ slice:S` is one tag.
244
+ - `--tags` is refused locally when it carries what the workflow runtime reads
245
+ back to route packets: `workflow`, `handoff`, `gate`, `entry`, `resume`,
246
+ `re-route`, `workflow-exception`, and the `workflow:`, `instance:`, `step:`,
247
+ `exception:`, `occurrence:` and `recovery-for:` prefixes, a `project:`,
248
+ `mission:` or `slice:` tag that contradicts its flag, or a second value of
249
+ the same key.
250
+ - `rig workflow instantiate-lifecycle` needs no flags: it takes the project and
251
+ mission from the lifecycle identity it compiles. A compiled step's packets
252
+ carry the `slice:<directory>` of the slice that step was compiled from, even
253
+ when another slice's directory has the same name as its `metadata.id`. A step
254
+ an authored graph names carries `slice:<directory>` when it names an active
255
+ slice: by its exact directory name, else by a `metadata.id` that exactly one
256
+ active slice claims (an id two slices claim maps to nothing, with a compile
257
+ advisory). A step that names no slice, such as an authored closing step,
258
+ carries only `project:` and `mission:`, so it appears on no slice's Queue tab.
259
+ A project id or mission name the compiler reads from the manifests that cannot
260
+ be a tag (a space, a `:`, a leading `.`, `_` or `-`, or too long) is left off
261
+ the packets with a compile advisory; the lifecycle still instantiates. Slice
262
+ metadata the lifecycle does not run is read only leniently, for step names, and
263
+ never fails compile or instantiate.
264
+ - Over HTTP, `POST /api/workflow/instantiate` reads the scope from a `scope`
265
+ object (`{ project, mission, slice, tags }`). A scope that is valid and names
266
+ a catalogued project is applied as above. A scope the route cannot apply (a
267
+ project the catalog does not declare, a conflicting, reserved or malformed tag
268
+ or id, or a `scope` that is not an object) is ignored: the route does what it
269
+ did before the field existed and creates one unscoped instance, records
270
+ nothing the scope named, and never lets a rejected tag reach a packet. The
271
+ response `advisories` then carry a `Scope not applied (...)` note that names
272
+ the instance (`scopeIgnored` repeats it); `rig workflow run` prints
273
+ `advisories`. Bare `project`, `mission`, `slice` or `tags` fields in the body
274
+ are ignored the same way, with a note. A failure unrelated to the scope still
275
+ fails the request.
276
+ - A Projects view scoped to a project lists a slice's packets only when they
277
+ carry `project:<id>` as well as `slice:<id>`, so pass `--project` with
278
+ `--slice`.
279
+ - The scope is stored on the instance when it is created and does not change.
280
+ Instances created without it behave as before.
281
+
213
282
  ## Compatibility
214
283
 
215
284
  The default discovery root is `workspace.slices_root=<workspace.root>/missions`.
@@ -21,7 +21,12 @@ Two rules matter most for strangers:
21
21
  - **Keep everything inside the folder.** Every `agent_ref` should be `local:` and point inside it. A path that exists on
22
22
  your machine won't exist on anyone else's.
23
23
  - **Never put credentials in it.** No tokens, keys or `.env` files. `rig bundle create` refuses well-known sensitive
24
- file names (such as `.env`, `.pem` and `.key`) anyway.
24
+ file names (such as `.env`, `.pem` and `.key`) anyway. It also refuses contained `.claude/.credentials.json`,
25
+ `.codex/auth.json` and `.pi/agent/auth.json`, including nested copies in agents or a carried project. Remove them
26
+ and rebuild. Only if recipients should have these logins (for example, your own internal test bundle) and their
27
+ owner agrees, `rig bundle create --include-login-files` records the exact included login-file paths in the
28
+ manifest and consumers show a notice; anyone with the bundle could read those files.
29
+ Unrecorded login files and other sensitive paths still fail. See [harness login files](rig-bundle.md#harness-login-files).
25
30
 
26
31
  Two optional files sit beside `rig.yaml`:
27
32
  - **`bundle.yaml`** declares what people need before installing: setup steps (`preconditions`, shown before install
@@ -111,8 +116,11 @@ an issue there with the same three things. A maintainer then writes the full ent
111
116
  defined in the [bundle formats reference](bundle-formats.md), with the parts only a review can produce, such as the
112
117
  pinned commit and each configuration's package digest.
113
118
 
114
- Rig names are unique on the site. If `registry/<your-team>.yaml` already exists, openrig-registry's registry check says the name is taken;
115
- choose a distinct one, for example `<taken-name>-<your-name>`.
119
+ Rig names are unique on the site. If `registry/<your-team>.yaml` already exists, openrig-registry's registry check
120
+ still replies that your submission was received, and says the name is taken; choose a distinct one, for example
121
+ `<taken-name>-<your-name>`. A team whose `rig.yaml` name matches a listed team's, such as an unchanged copy of one,
122
+ passes the checks with a notice for the maintainer about the shared name. Whether it's listed is the maintainer's
123
+ review decision, not the checks'.
116
124
 
117
125
  What happens next:
118
126
  - a maintainer pins your link to an exact commit, runs the same check, and reads everything your bundle gives to an
@@ -16,6 +16,30 @@ it is the mechanism that makes shipped chain files (see
16
16
  | Stop | ✓ | — | catch a long Claude turn crossing the growth threshold |
17
17
  | PostCompact | ✓ | ✓ | retain exact compaction due-state; deliver on the next actionable prompt |
18
18
 
19
+ **How the hooks reach a seat.** A Claude seat whose resolved plugin selection includes the shipped `openrig-core` plugin
20
+ (for example `plugins: [shared:openrig-core]`, or the same plugin under another name) starts with `CLAUDE_CODE_PLUGIN_DIRS`
21
+ set to the vendored plugin (`$OPENRIG_HOME/plugins/openrig-core`), so Claude loads `hooks/claude.json` with no setup step, on a
22
+ fresh launch, a restore, a handover successor and a launch with a permission mode. A seat that didn't select the plugin is
23
+ launched as before and doesn't load these hooks. The folder a spec's plugin selection projects into the seat's workspace is
24
+ not what Claude loads. A list the seat declares itself in `CLAUDE_CODE_PLUGIN_DIRS` keeps working, with the vendored plugin
25
+ added after it.
26
+ Claude Code reads this variable from v2.1.280. OpenRig doesn't check the Claude version at launch: an older Claude ignores the
27
+ variable, starts normally, and doesn't load these hooks. The behaviour was checked on Claude Code 2.1.296 and not on
28
+ earlier versions.
29
+ A Claude started from inside a seat (its shell or Bash tool) inherits the seat's environment and so loads the plugin as well.
30
+ A seat that loads the plugin is also given `OPENRIG_SEAT_PROJECT_DIR`, its launch project, and the plugin's seat effects (the
31
+ activity and session-identity posts, the compaction hooks, refocus, and the first-launch marker) run only when that Claude's
32
+ `CLAUDE_PROJECT_DIR` names the same folder (compared by real path, so a trailing slash or symlink doesn't matter). A nested
33
+ Claude in another project, or in a subfolder of the seat's project, therefore changes nothing for the seat, and a `cd` inside
34
+ the seat's own session keeps working because `CLAUDE_PROJECT_DIR` is fixed when Claude starts. A nested Claude in the seat's
35
+ own project folder is the same project and still acts as the seat, as before this change. Without either variable (a seat
36
+ launched before this change, a manual run) the hooks do what they always did. The plugin's activity relay stays quiet next to
37
+ the seat's own `settings.local.json` copy only when that entry is exactly OpenRig's and the script it names is the same
38
+ script; an entry from an older install doesn't match, so both report until the seat's next launch refreshes it.
39
+ Codex has no way to load a plugin from a directory; its hooks come from the daemon's
40
+ managed block in `config.toml`, which today carries the activity relay only, so the Codex column above describes
41
+ `hooks/codex.json`'s registration and not a hook a Codex seat currently runs.
42
+
19
43
  Claude's additional firing signal is **transcript growth** — not turns (one turn
20
44
  can burn 200k tokens across fifty tool calls) and not wall-clock (the failure is
21
45
  sustained work, not elapsed time). Its default threshold is ~2.6MB of JSONL
@@ -33,11 +57,23 @@ that request asks the seat to read the refocusing skill and consume the delivere
33
57
  traces rather than rerun them, and the read-depth audit accounts for them. Otherwise the hook
34
58
  is a no-op (it writes a stderr advisory when the transcript shrinks or the
35
59
  session has no identity), and it degrades to silence on unrelated hook errors.
36
- Both runtimes stop the hook after 5 seconds, and the content REF lookup gets 2;
37
- a slow REF shows as `REFOCUS CONTENT REF FAILED`. A
38
- configured REF resolution failure instead degrades
39
- loudly in the delivered payload while still completing the hook — a refocus
40
- must never break a seat's turn.
60
+ **Time budget.** By default each lookup (the trace, the content REF, `rig queue whoami`, `rig config`) gets 2 seconds,
61
+ as before, and a slow one ends as a reported gap (`TRACE GAP`, `REFOCUS CONTENT REF FAILED`, or a role marked
62
+ unknown). Set `OPENRIG_REFOCUS_BUDGET_MS` in a seat's environment to give a slow trace more time, up to 52000 (52 s).
63
+ Each lookup's cap then grows in proportion (at 45000 the trace may take 20 seconds; at 52000, about 23), and every lookup
64
+ is also cut to what is left of that budget, so the attempt delivers what it has and counts as failed. After a failed
65
+ attempt, the issue report gets its own 1.5 seconds once the lookups are done. Both registrations allow `refocus.cjs` 60
66
+ seconds, where they used to stop it at 5; the other OpenRig hooks keep theirs. So a default fire whose lookups together
67
+ pass 5 seconds now completes instead of being stopped with nothing delivered, and a hook that hangs outside its lookups
68
+ can hold a prompt for up to those 60 seconds.
69
+
70
+ A configured REF resolution failure degrades loudly in the delivered payload while still completing the hook — a
71
+ refocus must never break a seat's turn.
72
+
73
+ **Overlapping events (unresolved).** Two hook runs for the same seat and occupant are not serialized. If they overlap,
74
+ a `PostCompact` recorded while a prompt is delivering can be lost, and one refocus can be delivered twice. This is
75
+ reproduced between hook processes; whether a harness overlaps these events for one session is not established, so it is
76
+ an open gap, not one shown to be safe.
41
77
 
42
78
  Failed trace or configured-content resolution keeps refocus due. After three
43
79
  consecutive failed attempts for the same seat and occupant, the hook emits one
@@ -89,10 +125,14 @@ reports broken links as gaps rather than following pointers.
89
125
  This automatic hook path is additive to one-shot manual injection through
90
126
  `rig send --context`; neither mode substitutes for the other.
91
127
 
92
- ## The work packet (switched off by default)
128
+ ## The work packet (off by default on every runtime, for now)
93
129
 
94
130
  Set `OPENRIG_REFOCUS_WORK_PACKET=1` in a seat's harness environment so its
95
131
  refocus carries the work it is actually doing as text rather than as pointers.
132
+ `=0` (or `off`, `false`, `no`) turns it off. Unset, each runtime's default
133
+ applies. A runtime's default becomes on only after a native run shows the
134
+ packet reaching the agent and leading to the right next action. No runtime has
135
+ been shown that yet, so today both Claude Code and Codex default to off.
96
136
  With the switch on:
97
137
 
98
138
  - The hook asks `rig queue whoami --work-candidates` for labelled evidence.
@@ -118,6 +158,12 @@ With the switch on:
118
158
  `OPENRIG_REFOCUS_NOTES_MAX_AGE_DAYS` (default 14) is named with its age, the
119
159
  age's source (`updated:` frontmatter, else mtime) and the threshold: a cue
120
160
  for judgment, not a staleness verdict.
161
+ - Each field is bounded on its own, with no total cap. A held or next row's
162
+ summary and continuation are one line each (about 160 characters), with
163
+ `rig queue show <id>` named when one was shortened. At most 20 held and 10
164
+ next rows are shown, with how many there are and the `rig queue list` command
165
+ for the rest. A matched section's body is cut at about 1,500 characters,
166
+ pointing to `--depth full`.
121
167
 
122
168
  `trace-to-root.py --packet --work-candidates <path|->` renders the same packet
123
169
  by hand.
@@ -191,6 +191,7 @@ integrity:
191
191
  | `rig_spec` | string | yes | Relative path to the rig spec within the archive. Safe relative path. |
192
192
  | `agents` | AgentEntry[] | yes | Array of vendored agent entries. |
193
193
  | `culture_file` | string | no | Relative path to the culture file if present. |
194
+ | `included_login_files` | string[] | no | Exact archive-relative harness login files deliberately included by the producer. Only these paths are exempt from the login-file refusal; this unsigned declaration is not authentication or receiver approval. |
194
195
  | `integrity` | Integrity | no | Per-file SHA-256 checksums for content verification. Validation doesn't require it, but install refuses an archive without it and inspect reports integrity FAIL. |
195
196
  | `provenance` | object | no | Stated, not verified: `created_at`, `daemon_version`, `cli_version`, `source_host`, `author_session`, `source_rig_id`, `source_rig_name`, `notes`, and `source` for a GitHub link build. |
196
197
  | `assembler` | object | no | `openrigVersion` of the OpenRig that built the archive. |
@@ -221,6 +222,28 @@ integrity:
221
222
  | `original_ref` | string | yes | The original import ref before rewriting. |
222
223
  | `hash` | string | yes | SHA-256 hash of the imported agent.yaml. |
223
224
 
225
+ ### Harness login files
226
+
227
+ By default, create refuses `.claude/.credentials.json`, `.codex/auth.json` and `.pi/agent/auth.json`
228
+ at the root or nested anywhere in selected bundle content, including agents and an explicitly carried project.
229
+ The author check reports them too. Messages name paths, never contents, and explain both remedies:
230
+ remove the file from the agent folder or carried project and build again; or, only if recipients should have this
231
+ login (for example, your own internal test bundle) and its owner agrees, recreate with
232
+ `rig bundle create <spec> -o <archive.rigbundle> --include-login-files`.
233
+ Anyone with that archive could read the included login files.
234
+
235
+ The flag applies to this create only. The generated `included_login_files` manifest list names only the actual,
236
+ exact archive-relative login files included. Inspect, unpack, install and bootstrap honour those paths without
237
+ another flag and show a credential-bearing notice. An additional unrecorded login file still fails, as do malformed
238
+ records, directory or wildcard exemptions, and unrelated sensitive files. There is no machine setting or `--force`
239
+ bypass. The unsigned record states the producer's choice; it does not authenticate the producer, establish trust,
240
+ or constitute a fresh recipient approval. Review the source and files before using a bundle.
241
+
242
+ Compatibility change: previously accepted bundles containing these files now fail default creation and downstream
243
+ verification/install unless deliberately rebuilt with the record. Inspection remains diagnostic: it reports failed
244
+ integrity. Ordinary `auth.json` elsewhere and non-login harness files are unchanged. Filename checks do not scan
245
+ arbitrary contents for secrets.
246
+
224
247
  ### Integrity Section
225
248
 
226
249
  | Field | Type | Required | Description |
@@ -272,7 +295,7 @@ where the daemon runs.
272
295
  ### Create a bundle
273
296
 
274
297
  ```bash
275
- rig bundle create <spec-path-or-github-link> -o <output.rigbundle> [--rig-root <dir>] [--preset <name>] [--seat <pod.member=runtime>]... [--context-pack <dir>]... [--project-dir <dir>] [--name <name>] [--bundle-version <ver>] [--min-cli-version <ver>] [--min-daemon-version <ver>] [--notes <text>] [--include-packages <refs...>] [--allow-drift] [--json]
298
+ rig bundle create <spec-path-or-github-link> -o <output.rigbundle> [--rig-root <dir>] [--preset <name>] [--seat <pod.member=runtime>]... [--context-pack <dir>]... [--project-dir <dir>] [--name <name>] [--bundle-version <ver>] [--min-cli-version <ver>] [--min-daemon-version <ver>] [--notes <text>] [--include-packages <refs...>] [--allow-drift] [--include-login-files] [--json]
276
299
  ```
277
300
 
278
301
  | Flag | Required | Default | Description |
@@ -289,6 +312,7 @@ rig bundle create <spec-path-or-github-link> -o <output.rigbundle> [--rig-root <
289
312
  | `--min-cli-version`, `--min-daemon-version` | no | — | The oldest OpenRig CLI or daemon that may install the bundle, checked on install. For a link they override the author's `bundle.yaml` minimums. |
290
313
  | `--notes <text>` | no | — | Notes stored in the manifest's provenance. |
291
314
  | `--include-packages <refs...>` | no | all from the spec | Legacy (schema 1) specs only: the package refs to include. |
315
+ | `--include-login-files` | no | off | Only if recipients should have these logins and their owner agrees (for example, an internal test bundle), include them and record their exact archive-relative paths. Create and consumers show a credential-bearing notice. Does not exempt other sensitive files. |
292
316
  | `--allow-drift` | no | off | Build a spec that differs from the running rig of the same name. Without it, create refuses; with it, the difference is written into the manifest's provenance notes. |
293
317
  | `--json` | no | off | Machine-readable output. |
294
318
 
@@ -537,7 +561,7 @@ When an agent spec has `imports`, each import is resolved, vendored into the bun
537
561
  7. Each agent must have `name`, `path` (safe relative), and `hash`
538
562
  8. Optional blocks, when present, must be well formed: `provenance`, `compatibility`, `skills`, `plugins`,
539
563
  `workflow_specs`, `context_packs`, `agent_images`, and `project` (an `id` made of letters, digits, `.`, `_` and `-`,
540
- and a safe relative `path`)
564
+ and a safe relative `path`), plus `included_login_files` (unique safe relative paths)
541
565
 
542
566
  The manifest validator doesn't check `integrity`; unpack does (below).
543
567
 
@@ -179,6 +179,7 @@ edges:
179
179
  | `culture_file` | string | no | — | Relative path to a rig-wide culture/constitution file. Must be a safe relative path (no `..`, no absolute). |
180
180
  | `non_interruptive` | boolean | no | — | Pod-aware rig launch-warning default. With full-bypass Claude/Codex seats, true accepts or hides supported harness warnings using launch flags. Explicit CLI choices override this field; this field overrides the machine default. It does not grant permissions, change native settings files, or bypass login. |
181
181
  | `permission_policy` | string | no | — | Permission policy attached to the rig. Either a built-in (`builtin:locked`, `builtin:standard`, `builtin:open`, `builtin:yolo`, `builtin:auto`) or a safe relative path to a custom policy file (resolved from this spec's directory; no `..`, no absolute, no empty segments, each segment `[A-Za-z0-9][A-Za-z0-9._-]*`), or `none`, a recorded choice of the floor. Absent uses the default floor with the scoped team launch allowances described below. A bare built-in name such as `yolo` is refused ("use 'builtin:yolo'"), and so is an explicit `null`. A custom file that is missing, unreadable or invalid isn't a validation error: it resolves to the floor, and preflight warns. A member may set its own `permission_policy` (not on a terminal member), which takes precedence over the rig-level one; there is no pod level. See "Attaching a permission policy" below. |
182
+ | `env` | map | no | — | Launch environment for every seat in the rig: `NAME: value` pairs. A member's own `env` overrides it name by name. Names match `^[A-Z_][A-Z0-9_]*$`, names starting `OPENRIG_` are reserved, and values must be non-empty strings (quote numbers and booleans). Values are not secret. See "Launch environment" below. |
182
183
  | `managed_blocks` | map | no | `CLAUDE.md` | File that receives OpenRig's managed instruction blocks for Claude Code members. Only the `claude-code` key is accepted, with `CLAUDE.md` or `CLAUDE.local.md`. Codex, Pi and OMP members use `AGENTS.md`. See "Choosing the Claude instruction file" below. |
183
184
  | `workspace` | object | no | — | The rig's workspace: `workspace_root` (required), `repos[]` of `{name, path, kind}` with `kind` one of `user`, `project`, `knowledge`, `lab` or `delivery` and unique names, an optional `default_repo` naming one of them, and an optional `knowledge_root`. Relative repo paths resolve against `workspace_root`. |
184
185
  | `docs` | Doc[] | no | — | Documentation files that should travel with the rig. Included in rig bundles. Each entry has a `path` field (safe relative path). The engine does not consume these — they are for humans and agents setting up the environment before launch. |
@@ -334,6 +335,44 @@ context for `rig seat continue`; `rig up --non-interruptive` or `rig bundle inst
334
335
  except inside a recognized sandbox. See Claude Code's
335
336
  [Choose a permission mode](https://code.claude.com/docs/en/permission-modes#skip-all-checks-with-bypasspermissions-mode).
336
337
 
338
+ ### Launch environment
339
+
340
+ `env:` sets environment variables for the seats of a rig, so a team can share a setting such as a feature flag, a region or a log level without every member hand-editing a shell profile. Declare it on the rig, on a member, or both:
341
+
342
+ ```yaml
343
+ env:
344
+ LOG_LEVEL: info
345
+ REGION: eu
346
+ pods:
347
+ - id: dev
348
+ members:
349
+ - id: impl
350
+ runtime: claude-code
351
+ env:
352
+ LOG_LEVEL: debug # overrides the rig's value for this seat only
353
+ ```
354
+
355
+ - A seat gets the rig's `env` with its own `env` laid over it, name by name.
356
+ - The same environment is applied on first launch, on `rig up <rig-name>` restore, and to the successor of a seat handover.
357
+ - `rig up <spec> --env KEY=VALUE` (repeatable) adds or overrides a value for one launch. A one-off value belongs to the terminal that launch creates: it stays in that terminal's environment for as long as the terminal lives, and OpenRig removes it from the tmux session's environment as soon as the terminal has started, so a terminal started later in that session does not get it. A restore, a handover successor or any later launch starts from the spec's `env:` alone, so the value is not saved and does not carry forward. To keep a value, put it in `env:`. One exception to "does not carry forward", for a managed Claude seat (see below): a one-off name that the seat's spec does not declare stays on the session's list of names, `OPENRIG_SEAT_ENV_KEYS` (names only, no values), because the first launch and an in-place restart of the same terminal read that list. So if a later pane in that session gets a value for that name from the tmux server's own environment, its managed Claude launch can forward that value, where a launch without `--env` would leave it out. The first launch's one-off value itself is not passed on to that pane. This comes from reading the code and has not been measured. `--env` does not apply to `rig up <rig-name>` (a restore) or to a topology (several rigs from their own specs); the CLI refuses both. For a topology, put `env:` in each rig's spec.
358
+ - Names starting `OPENRIG_` are reserved for OpenRig and refused. Empty values are refused, because the launch omits empty variables.
359
+ - `rig export` writes the rig and member `env:` back out.
360
+
361
+ **Where the declared names reach, by runtime.** Declared values are handed to the seat's terminal as tmux environment, so most seats take them as given:
362
+
363
+ - Plain Claude Code (no permission mode selected), Codex and terminal seats take a spec `HOME`, `PATH` or `CLAUDE_CONFIG_DIR` as given.
364
+ - The cleared environment (`env -i`) belongs only to a managed Claude launch, which is the one used when a permission mode is selected for the seat (for example `permission_policy: builtin:auto`). It forwards the declared names through the cleared environment, except `PATH`, `HOME` and `CLAUDE_CONFIG_DIR`, which OpenRig sets for that launch itself, and `CLAUDE_CODE_DISABLE_ALTERNATE_SCREEN`, for which it sets its own renderer setting. A spec value for any of those four is not forwarded. A seat that selected the shipped `openrig-core` plugin also has `CLAUDE_CODE_PLUGIN_DIRS` (the vendored plugin, added after a list the seat declares itself) among its declared names, so it is forwarded like the others and the plugin's hooks load in a seat with a permission mode as in one without; a seat that didn't select the plugin has no such name added. Beyond the declared names, the launch also forwards, by name and only when the seat's terminal has them set, the terminal and locale variables (`TERM`, `COLORTERM`, `TERM_PROGRAM`, `TERM_PROGRAM_VERSION`, `LANG` and the `LC_*` names) and the person's editor and display session: `EDITOR`, `VISUAL`, `DISPLAY`, `XAUTHORITY` and `WAYLAND_DISPLAY`. They let Claude's external-editor action open the person's editor and let image paste reach the clipboard, without a value in a spec. `WAYLAND_DISPLAY` is passed as an absolute path: an absolute value is kept, and a relative one is joined to the terminal's `XDG_RUNTIME_DIR`; if the terminal has no `XDG_RUNTIME_DIR` for it, the name is left out. `XDG_RUNTIME_DIR` itself is not forwarded, because D-Bus clients look for the session bus at `$XDG_RUNTIME_DIR/bus` and would reach the keyring and `systemctl --user`. `DBUS_SESSION_BUS_ADDRESS`, `XDG_SESSION_TYPE`, `XDG_CURRENT_DESKTOP` and `SSH_AUTH_SOCK` are not forwarded either. A running seat picks the names up at its next managed Claude launch, not before: `rig seat launch <seat> --fresh --stop --reason "<why>"` for that seat alone (a new conversation), or a restore of the whole rig (`rig down <rig>`, then `rig up <rig> --existing`, which resumes each conversation but restarts every seat in the rig), or a handover. A seat that is up keeps the environment it started with.
365
+ - Codex seats run OpenRig's own Codex executable whatever a spec `PATH` says, and use the daemon's `CODEX_HOME` when the daemon has one.
366
+ - On Pi and OMP seats the values reach the terminal. The agent process gets only what the runner passes on, so a spec or one-off value reaches it only for the names the runner always passes: `PATH`, `HOME`, `USER`, `LOGNAME`, `TERM`, `LANG`, `LC_ALL`, `SHELL` and `TMPDIR`. Pi's agent process receives the runner's `HOME`, so a spec or one-off `HOME` value that reaches the runner is passed to Pi; OMP's agent process gets its seat state directory (`$OPENRIG_HOME/state/omp/<seat>`, see Oh My Pi below) as `HOME`, so a `HOME` value does not reach it. The selected provider's variables are passed separately, as described under each runtime.
367
+
368
+ **Do not put secrets in `env:` or `--env`.** The values are not secret, and nothing here encrypts or hides them (see #306):
369
+
370
+ - Spec values are stored in OpenRig's database and in rig snapshots, and `rig export` and bundles copy them, so a secret put there by mistake travels with the rig.
371
+ - While a seat launches, the values are passed to tmux as command arguments, so other users and processes on the same machine can see them for that time. They then sit in the seat's process environment. Only the managed Claude launch command is value-free: it forwards names, and the terminal supplies the values.
372
+ - A one-off `--env` value is not stored in the database or in snapshots, but it reaches tmux the same way, so it is visible in the same ways while that launch runs.
373
+
374
+ Use `env:` for settings only. Credentials belong in the provider's own login or a secret store the seat reads at run time.
375
+
337
376
  ### Choosing the Claude instruction file
338
377
 
339
378
  OpenRig writes its instructions for Claude Code members into managed blocks in
@@ -397,14 +436,15 @@ directory's `CLAUDE.md`, including blocks written by other rigs.
397
436
  | `profile` | string | yes | — | Profile name from the referenced AgentSpec. Use `default` for the default profile. Exception: `none` for terminal nodes. |
398
437
  | `codex_config_profile` | string | no | — | Codex-only native profile passed as `-p <name>`; letters, numbers, `_`, `.`, `-`. Separate from the AgentSpec `profile`. With the normal launch mode, this replaces OpenRig's explicit workspace-write sandbox flag. A full-bypass policy instead emits danger-full-access and omits this profile argument. |
399
438
  | `runtime` | string | yes | — | Agent runtime. Current supported values: `claude-code`, `codex`, `pi`, `omp`, `terminal`, `stub`. `stub` is a deterministic test harness, not an agent: a Node runner in the seat's tmux pane goes through the normal launch, skill projection, startup-file and readiness path, follows `<cwd>/.openrig/stub/script.json` when present, and calls no model. See "What a stub can and cannot prove" in `docs/as-built/test-layers.md`. |
400
- | `cwd` | string | yes | — | Working directory for the agent. A relative path resolves against the rig root (the directory containing the rig spec). If that path exists as written, it is used. Otherwise a leading `~` or `~/` expands to the home directory (`~user` does not) and `$VAR` / `${VAR}` expand from the daemon host's environment; a relative result still resolves against the rig root. A reference to an unset variable stays as written, so the cwd is that literal path and works only if it exists. Use `"."` for the rig root itself. Can be overridden at launch time with `rig up --cwd`. A cwd inside the OpenRig installation fails preflight unless `--cwd` is given. |
439
+ | `cwd` | string | yes | — | Working directory for the agent. A relative path resolves against the rig root (the directory containing the rig spec). If that path exists as written, it is used. Otherwise a leading `~` or `~/` expands to the home directory (`~user` does not) and `$VAR` / `${VAR}` expand from the daemon host's environment; a relative result still resolves against the rig root. A reference to an unset variable stays as written, so the cwd is that literal path and works only if it exists. Use `"."` for the rig root itself. Can be overridden at launch time with `rig up --cwd`. A cwd inside the OpenRig installation fails preflight unless `--cwd` is given. Editing this declaration does not update an existing seat; use [`rig seat set-cwd`](agent-startup-guide.md#change-an-existing-seats-working-directory) to save its future launch directory. |
401
440
  | `label` | string | no | — | Human-readable member name. Shown in UI when present. |
402
441
  | `model` | string | no | — | Model override. Runtime-specific (e.g., `claude-opus-4-6` for Claude Code). |
403
- | `effort` | string | no | — | Reasoning effort override, trimmed. A non-string value is ignored with an advisory. |
442
+ | `effort` | string | no | — | Reasoning effort override, trimmed. Claude gets `--effort`, Codex `-c model_reasoning_effort=…`, Pi `--thinking` (see "Pi" below). A non-string value is ignored with an advisory. |
404
443
  | `permission_policy` | string | no | — | Member-level permission policy; overrides the rig's. Not valid on terminal members. |
444
+ | `env` | map | no | — | Launch environment for this seat, laid over the rig's `env`. Same rules as the rig-level field. Valid on terminal members too. See "Launch environment" below. |
405
445
  | `role` | string | no | — | The seat's role, letters, digits, `_`, `.` and `-`. Not valid on terminal members. |
406
446
  | `restore_policy` | string | no | the AgentSpec's | Restore behavior. One of: `resume_if_possible`, `relaunch_fresh`, `checkpoint_only`. The default comes from the AgentSpec's `defaults.lifecycle` (else `resume_if_possible`) as narrowed by its profile; a member value may only narrow it further, in that order. |
407
- | `compaction_strategy` | string | no | — | `default-compaction`, `managed-compaction`, `handover` or `apprentice-handover`; `harness_native` and `pod_continuity` are accepted as deprecated aliases, and `custom_prompt` is refused. |
447
+ | `compaction_strategy` | string | no | — | `default-compaction`, `managed-compaction`, `handover` or `apprentice-handover`; `harness_native` and `pod_continuity` are accepted as deprecated aliases, and `custom_prompt` is refused. `managed-compaction` and `apprentice-handover` create their jobs only for `claude-code` seats; see [Codex compaction and sizing](agent-startup-guide.md#codex-compaction-and-sizing). |
408
448
  | `mechanic` | string | no | — | A canonical `seat@rig` session address, for `apprentice-handover`. |
409
449
  | `session_source` | object | no | — | Start the seat from an existing session: `fork` with `native_id`, `rebuild` with `artifact_set`, or `agent_image` with `image_name`. A Claude Code `fork` needs Claude Code 2.0.73 or later. Not valid on terminal members. |
410
450
  | `starter_ref` | object | no | — | `{ name }` of an agent starter (`^[a-zA-Z0-9][a-zA-Z0-9_-]*$`) whose files lead the seat's startup. Not valid on terminal members or with a fork. |
@@ -415,6 +455,7 @@ directory's `CLAUDE.md`, including blocks written by other rigs.
415
455
  `runtime: pi` launches the Pi coding agent (`pi --mode rpc`) through OpenRig's RPC runner.
416
456
 
417
457
  - **State:** Each seat uses `$OPENRIG_HOME/state/pi/<session>/agent` as its Pi agent directory, with `sessions/` beside it, instead of your default `~/.pi/agent`. The runner sets `PI_CODING_AGENT_DIR` to that directory. `<session>` is the seat's session name, unchanged; for a pod member it is `{podId}-{memberId}@{rigName}`. `$OPENRIG_HOME` defaults to `~/.openrig`. OpenRig creates these directories at launch and does not copy anything from `~/.pi/agent`.
458
+ - **Thinking level:** A Pi seat's effort (the choice saved with `rig seat set-effort`, else the spec's `effort`) is sent to Pi as `--thinking <level>` on every managed launch and resume: fresh launch, successor and restore. Pi accepts `off`, `minimal`, `low`, `medium`, `high`, `xhigh` and `max`; OpenRig passes the value as written and does not translate it, so Codex's `none` is not mapped to `off`. Only a value of the shape `set-effort` accepts (a letter, then up to 31 letters, digits, `-` or `_`) is sent; any other spec value, such as one with a space or one that starts with `--`, is left out, and `rig seat effort` says so. An unfamiliar level gets an advisory (a warning from `set-effort`), never a refusal, and Pi itself ignores an unknown level with a warning and keeps the level it would use without the flag: a model suffix, the resumed session's level, or its default. With no effort resolved, no flag is sent. The effort wins over a model suffix, and the model string is never changed. `rig seat effort` reports the level sent at launch and, on Pi 0.99.0 or later, the `thinkingLevel` Pi records on this launch's latest successful assistant turn (error and aborted turns are skipped); that is the session's level after Pi's own cap, not proof the provider applied it, and it is shown apart from the level sent when they differ. On older Pi it is NOT VERIFIED. Without an effort, you can still set the level as a model suffix, for example `model: openrouter/x-ai/grok-4:high`. Pi first looks for a model whose id is the whole pin, and uses it when there is one, suffix included. Only when there is none does Pi read the suffix as the level and record the model without it. Any other suffix, such as OpenRouter's `:free`, stays part of the model id. The model-divergence check reads the pin literally when the seat's `models.json` defines a model with that exact id; otherwise it accepts the model with or without the suffix. If the seat's `models.json` can't be read, a pin with a suffix stays unchecked, with the usual warning, when the recorded model matches the whole pin or the pin without its suffix. A record that matches neither is reported.
418
459
  - **Custom models:** Pi reads `models.json` from its agent directory, so a seat reads `$OPENRIG_HOME/state/pi/<session>/agent/models.json`, not `~/.pi/agent/models.json`. Custom provider and model definitions for a seat go in that file. A seat that uses only providers Pi already includes does not need one. OpenRig does not create or write `models.json`.
419
460
  - **Credentials:** The Pi process receives only `PATH`, `HOME`, `USER`, `LOGNAME`, `TERM`, `LANG`, `LC_ALL`, `SHELL`, `TMPDIR`, a fixed set of OpenRig seat and instance variables, `PI_CODING_AGENT_DIR`, `PI_CODING_AGENT_SESSION_DIR`, and at most one provider key. That key is `OPENROUTER_API_KEY`, `ZAI_API_KEY`, `KIMI_API_KEY` or `MINIMAX_API_KEY`, passed only when it is set in the seat's environment and the seat's `model` is written as `openrouter/<id>`, `zai/<id>`, `kimi-coding/<id>` or `minimax/<id>`. Naming that variable in `recovery.provider_auth_env_allowlist` (empty by default) makes the daemon add it, when set in the daemon's environment, to the seat's launch environment. No other variable reaches Pi, including other providers' keys and a custom provider's own key variable.
420
461
 
@@ -425,7 +466,7 @@ directory's `CLAUDE.md`, including blocks written by other rigs.
425
466
  - **State:** Each seat uses `$OPENRIG_HOME/state/omp/<seat>/agent` and `sessions/` instead of your default `~/.omp` profile, and runs with that seat directory as `HOME`. OpenRig does not copy OMP credentials. The runner finds the real `omp` binary before switching `HOME`, so a version-manager shim such as mise on the daemon's `PATH` still works.
426
467
  - **Credentials:** Provision each seat separately, or put the provider's key variable in `recovery.provider_auth_env_allowlist` (for example `ANTHROPIC_API_KEY` or `MISTRAL_API_KEY`). The allowlist accepts the key variable of every provider in OpenRig's OMP provider map, from `anthropic` through `litellm`. A seat receives a key only when its `model` is written as `provider/id`, such as `anthropic/claude-sonnet-4-5`. Short names such as `opus` pass no key. A provider whose key is scoped to one endpoint also accepts that endpoint's variable: `anthropic`, `openai` and `litellm` each take their `<PROVIDER>_BASE_URL` — `ANTHROPIC_BASE_URL`, `OPENAI_BASE_URL`, `LITELLM_BASE_URL`. The allowlist admits each variable on its own, so an endpoint named without its key is admitted too, which suits a keyless local proxy. The launch gate admits these endpoint names for OMP seats; the match against the seat's declared `provider/id` happens at the OMP child, which forwards a matching endpoint already in the runner's environment just as it forwards a key. OMP also reads the launch directory's `.env`, so use a trusted working directory.
427
468
  - **Approval posture:** The default floor is `--approval-mode always-ask`. Because the runner is headless, OMP approval requests are cancelled and the seat stays in needing-attention after the turn ends, until the next agent run starts. A `full_bypass` permission policy selects `--approval-mode yolo`.
428
- - **Model errors:** A rejected prompt, a provider or authentication error during a turn, or exhausted automatic retries is printed in the pane and keeps the seat in needing-attention until the next agent run starts.
469
+ - **Model errors:** Errors are printed in the pane. A completed assistant failure with a numeric `errorStatus` of 408, 429, 500, 502, 503, 504, or 529 returns to idle at terminal `agent_end`, allowing an ordinary retry. Until that terminal boundary it stays in needing-attention. Intermediate `agent_end(isTerminal:false)` events do not release attention. A statusless failed retry summary retains that classification only when its attempt matches an announced retry and its final error exactly matches the latest typed transient assistant failure in that attempt. New assistant/turn boundaries invalidate the previous failure; unmatched summaries remain runtime errors. Rejected prompts, auth/configuration failures, exhausted retries without a typed transient status, and untyped errors (including text such as `529 overloaded`) retain attention until the next agent run starts. The runner does not classify diagnostic text. A transient failure does not clear a denied approval or another unresolved runtime failure in the same turn.
429
470
  - **Restore:** OMP creates its session file after the first persisted turn. A new seat with no persisted turn has no resume token; restoring it requires `rig up --existing <rig> --fresh <seat>`. After that file exists, OpenRig restores that exact session file. If a full rig restore leaves an OMP seat in `attention_required` or `failed`, `rig seat clear-attention` cannot yet reconcile it to `operator_recovered`, even with `--reason`, because restore reconciliation only verifies Claude Code and Codex processes ([#41](https://github.com/mvschwarz/openrig/issues/41)). Relaunch that seat with `rig up --existing <rig> --fresh <seat>`, or restore it manually.
430
471
 
431
472
  ### Terminal Nodes
@@ -440,6 +481,8 @@ profile: none
440
481
 
441
482
  All three must be present together. Any partial combination is a validation error.
442
483
 
484
+ A terminal seat no longer waits for a `--fresh` decision just because it has no resume token: on restore it relaunches fresh and re-runs its startup actions. The runtime, identity and replay prerequisites still apply. A runtime mismatch still waits for a decision, an ambiguous occupant still fails, and a missing required replay file still blocks.
485
+
443
486
  ### agent_ref Rules
444
487
 
445
488
  - Must start with `local:` or `path:`
@@ -588,8 +631,26 @@ The harness readiness window defaults to 30 seconds. On a loaded machine, set
588
631
  `rig config set runtime.readiness_timeout_seconds 60` to give new seats and
589
632
  handover successors longer to become interactive. The setting accepts 1–600
590
633
  seconds, applies to the next launch without a daemon restart, and can also be
591
- set with `OPENRIG_RUNTIME_READINESS_TIMEOUT_SECONDS`. It does not change the
592
- time spent by the runtime adapter before readiness polling starts.
634
+ set with `OPENRIG_RUNTIME_READINESS_TIMEOUT_SECONDS`. It also bounds how long a
635
+ restore keeps watching a Claude seat whose resume is still starting, so raising
636
+ it for slow fresh launches lengthens that wait too. The wait is about the
637
+ setting in total per seat, counting the usual 3.2-second check: the adapter polls
638
+ for the rest of it (nominally: it counts polls, and each poll's tmux and process
639
+ reads add a little). A restore
640
+ starts seats one after another, so each seat that never starts Claude adds up to
641
+ about this much, minus the 3.2 seconds, to the restore; the time adds up seat by
642
+ seat, and a longer setting means a longer wait before a stuck seat is reported.
643
+ A seat that is still not interactive then ends `attention_required` with its
644
+ launch and resume token kept, and the later readiness wait is skipped for it.
645
+ That holds at every setting: at 1–3 seconds there are no extra polls, but an
646
+ unresolved boot is still kept rather than failed. A pane that shows a Codex or
647
+ another conversation's Claude is not waited for. `rig up` and
648
+ `rig launch` wait 120 seconds for the daemon, so a restore of several stuck
649
+ seats can pass that (in one measurement, about 31 seconds a seat at the
650
+ default, 95 for three). A client timeout and exit code 1 do not mean the
651
+ restore was rolled back or that it should be run again; check the real state
652
+ first with `rig ps`. Apart from this, the setting does not change the time
653
+ spent by the runtime adapter before readiness polling starts.
593
654
 
594
655
  ---
595
656
 
@@ -49,8 +49,22 @@ Authored files contain recommendations, not runtime facts. Extra fields are igno
49
49
  any authored runtime, model or activity. At read time the command joins by exact host self-id
50
50
  and seat. Unmatched or conflicting observations are `unknown`; a seat not reported running is
51
51
  `stale`, with current runtime/model unknown. The configured model is the registry declaration.
52
- The observed native model remains unknown: these commands do not open native histories or verify
53
- what model the provider is running. Activity includes its sample time when the daemon supplies it;
52
+ Daemon node listings, `rig ps --nodes --full` and roster members also carry the full
53
+ `modelObservation`: `status`, `model`, `source`, `observedAt`, `generation` and `reason`.
54
+ Compact JSON uses the smaller shape described below. The configured `model` stays separate; roster's
55
+ `live.observedModel` is the observation's model or null. Human output says **last observed**.
56
+ Claude (`claude-assistant-response`) and Pi (`pi-assistant-response`) name response evidence;
57
+ Codex (`codex-turn-context` or `codex-world-state`) names recorded turn configuration, not a
58
+ verified backend response. The timestamp is the native record's time, never file mtime or inventory
59
+ read time. None promises the model that will answer the next turn.
60
+
61
+ The daemon reuses the current-occupant record selectors and bounded readers used by divergence
62
+ monitoring, sharing a process census. Reporting does not need a configured model or comparator.
63
+ A changed or unverified occupant, a record predating its tenure, missing or invalid record time,
64
+ unreadable or ambiguous records, unsupported runtimes and older daemons report **UNKNOWN** with
65
+ a reason, never the configured value as a fallback. An older record from the same verified occupant
66
+ remains labelled last observed at its original time; this is not a freshness guarantee. No record
67
+ contents, transcript paths or credentials are returned. Activity includes its own sample time;
54
68
  activity and running status do not promise that someone is available for new work.
55
69
 
56
70
  The JSON `observations.readAt` is when the inventory read completed, not a native observation
@@ -59,3 +73,16 @@ valid rosters remain usable; duplicate IDs make `show` report ambiguity instead
59
73
  Non-regular file targets, such as FIFOs and directories, are skipped with a warning; links to
60
74
  regular files remain readable. Inventory uses `ps --no-cleanup` to preserve even stale local
61
75
  daemon state files. Ordinary `rig ps` keeps its existing cleanup behavior unless given that flag.
76
+
77
+ The daemon reuses model facts only while the selected record's identity, size and
78
+ modification time and the occupant generation remain unchanged. Inventory reads
79
+ share two bulk pane snapshots and one process census; identity is checked after
80
+ the final snapshot. A different observation from duplicate host routes makes
81
+ only that observation UNKNOWN, preserving agreed registry fields.
82
+
83
+ `rig ps --nodes --json` keeps an observed model compact as
84
+ `modelObservation: ["literal-model-id", "evidence-source", "native-record-time"]`.
85
+ UNKNOWN is `{ "status": "unknown", "reason": "..." }`; older daemons may yield
86
+ `null`. `--full` and `--fields modelObservation` retain the full object, including
87
+ its status and occupant generation. Human output and roster reports use the full
88
+ labelled observation.
@@ -212,7 +212,11 @@
212
212
  "description": "Host settings (for example OPENRIG_YOLO, persisted or native settings) decide the effective permission at launch."
213
213
  },
214
214
  "permissionPrompts": {
215
- "enum": ["off", "on", "default"],
215
+ "enum": [
216
+ "off",
217
+ "on",
218
+ "default"
219
+ ],
216
220
  "description": "Archive declaration per seat: off for full_bypass (including builtin:yolo) on any runtime; on for a Claude/Codex flag-surface floor policy, or Codex under auto; default for Claude/Codex with no declared policy. Omitted for Claude under auto, config-surface policies, host-resolved Codex profiles, and Pi except declared full bypass. Absent means not stated, never on. Host settings may differ; nativeEffect remains unknown."
217
221
  },
218
222
  "sourceRefs": {
@@ -417,7 +421,10 @@
417
421
  "commands": {
418
422
  "type": "array",
419
423
  "description": "Unexecuted author setup lines, in order in one shell; the install command follows in the resulting working directory.",
420
- "items": { "type": "string", "minLength": 1 }
424
+ "items": {
425
+ "type": "string",
426
+ "minLength": 1
427
+ }
421
428
  },
422
429
  "status": {
423
430
  "const": "not_checked"
@@ -459,6 +466,102 @@
459
466
  }
460
467
  }
461
468
  }
469
+ },
470
+ "services": {
471
+ "type": "array",
472
+ "description": "Optional opt-in service declarations from archived Compose YAML. Host-resolved values remain unresolved; no Compose or health probe ran.",
473
+ "items": {
474
+ "type": "object",
475
+ "required": [
476
+ "name",
477
+ "composeFile",
478
+ "image",
479
+ "ports",
480
+ "privileged",
481
+ "capAdd",
482
+ "securityOpt",
483
+ "devices",
484
+ "environment",
485
+ "mounts",
486
+ "healthcheck",
487
+ "waitFor",
488
+ "downPolicy",
489
+ "unresolved",
490
+ "notes"
491
+ ],
492
+ "properties": {
493
+ "name": {
494
+ "type": "string"
495
+ },
496
+ "composeFile": {
497
+ "type": "string"
498
+ },
499
+ "image": {
500
+ "type": "string"
501
+ },
502
+ "ports": {
503
+ "type": "array",
504
+ "items": {
505
+ "type": "string"
506
+ }
507
+ },
508
+ "privileged": {
509
+ "type": [
510
+ "boolean",
511
+ "string"
512
+ ]
513
+ },
514
+ "capAdd": {
515
+ "type": "array",
516
+ "items": {
517
+ "type": "string"
518
+ }
519
+ },
520
+ "securityOpt": {
521
+ "type": "array",
522
+ "items": {
523
+ "type": "string"
524
+ }
525
+ },
526
+ "devices": {
527
+ "type": "array",
528
+ "items": {
529
+ "type": "string"
530
+ }
531
+ },
532
+ "environment": {
533
+ "type": "array",
534
+ "items": {
535
+ "type": "string"
536
+ }
537
+ },
538
+ "mounts": {
539
+ "type": "array",
540
+ "items": {
541
+ "type": "string"
542
+ }
543
+ },
544
+ "healthcheck": {},
545
+ "waitFor": {
546
+ "type": "array"
547
+ },
548
+ "downPolicy": {
549
+ "type": "string"
550
+ },
551
+ "unresolved": {
552
+ "type": "array",
553
+ "items": {
554
+ "type": "string"
555
+ }
556
+ },
557
+ "notes": {
558
+ "type": "array",
559
+ "items": {
560
+ "type": "string"
561
+ }
562
+ }
563
+ }
564
+ }
462
565
  }
463
566
  },
464
567
  "allOf": [
@@ -81,8 +81,18 @@ their bindings and ten-field records. They do not imply either operating posture
81
81
  Only human-led/delegated bindings participate in posture precedence. The legacy
82
82
  `effective` and `posture: known|unknown_posture` fields remain for compatibility;
83
83
  `unknown_posture` there means no legacy mode binding and does not override the
84
- new `operatingPosture.source: product-default` result. Setting another mode at the
85
- same scope replaces that row; inspect effective posture after any mode change.
84
+ new `operatingPosture.source: product-default` result. A saved legacy mode and a
85
+ posture are kept side by side at the same target: a write replaces only the
86
+ binding of its own kind. Inspect effective posture after any mode change.
87
+
88
+ Eight of the record's fields are stored, validated and shown, but nothing in
89
+ OpenRig acts on them yet: `autonomy_scope`, `heartbeat_cadence`,
90
+ `inspection_depth`, `update_detail`, `escalation_threshold`, `concurrency_limit`,
91
+ `permission_prompt_posture` and `expiry_or_stale_rule`. `rig mode effective`,
92
+ `rig mode defaults` and the `rig mode set` preview mark them `(stored; not applied)`.
93
+ `scope` is the binding's key, and the posture reads `evidence_citation` into its
94
+ `binding.evidence`. `permission_prompt_posture` never changes a native permission
95
+ prompt.
86
96
 
87
97
  ## Diagnosis effects
88
98